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.



689
690
691
692
693
694
695
# File 'lib/idml/elements/character_style_range.rb', line 689

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

#each_xml_element(&block) ⇒ Object



718
719
720
721
722
723
724
# File 'lib/idml/elements/character_style_range.rb', line 718

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



678
679
680
681
682
683
# File 'lib/idml/elements/character_style_range.rb', line 678

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