Class: Idml::Elements::CharacterStyleRange

Inherits:
Lutaml::Model::Serializable
  • Object
show all
Defined in:
lib/idml/elements/character_style_range.rb

Overview

Typed model of <CharacterStyleRange>. Every attribute from CharacterStyleRange_Object in reference-docs/schemas/package/Stories/Story.rnc is declared (284 attributes), generated by scripts/rnc_to_lutaml.rb.

Instance Method Summary collapse

Instance Method Details

#attributed_textObject

Returns an array of source_self: tuples. Plain Content chars have source_self == nil; chars inside a HyperlinkTextSource carry the source's Self attribute. Used by HyperlinkEmitter to compute per-source link rects.



669
670
671
672
673
674
675
# File 'lib/idml/elements/character_style_range.rb', line 669

def attributed_text
  result = []
  append_plain_content(result)
  append_hyperlink_content(result)
  append_nested_csr(result)
  result
end

#each_xml_element(&block) ⇒ Object



698
699
700
701
702
703
704
# File 'lib/idml/elements/character_style_range.rb', line 698

def each_xml_element(&block)
  xml_element.each do |e|
    yield e
    e.each_xml_element(&block)
  end
  character_style_range.each { |c| c.each_xml_element(&block) }
end

#text_contentObject



658
659
660
661
662
663
# File 'lib/idml/elements/character_style_range.rb', line 658

def text_content
  parts = content.map(&:text)
  hyperlink_text_source.each { |s| parts << s.text_content }
  character_style_range.each { |c| parts << c.text_content }
  parts.join
end