Class: Idml::Render::FontReferenceResolver
- Inherits:
-
Object
- Object
- Idml::Render::FontReferenceResolver
- Defined in:
- lib/idml/render/font_reference_resolver.rb
Overview
Resolves IDML font references (family names, font Self IDs, or CharacterStyleRange#applied_font values) to PostScriptNames. Built from the document's Fonts.xml (FontFamily → Font entries). Used by TextFrameRenderer to select per-run fonts.
Class Method Summary collapse
Instance Method Summary collapse
-
#initialize(table) ⇒ FontReferenceResolver
constructor
A new instance of FontReferenceResolver.
-
#resolve(reference) ⇒ Object
Resolve a font reference (family name, font name, or Self ID).
Constructor Details
#initialize(table) ⇒ FontReferenceResolver
Returns a new instance of FontReferenceResolver.
38 39 40 |
# File 'lib/idml/render/font_reference_resolver.rb', line 38 def initialize(table) @table = table end |
Class Method Details
.build(package) ⇒ Object
10 11 12 |
# File 'lib/idml/render/font_reference_resolver.rb', line 10 def self.build(package) new(build_table(package)) end |
.build_table(package) ⇒ Object
14 15 16 17 18 19 20 21 22 |
# File 'lib/idml/render/font_reference_resolver.rb', line 14 def self.build_table(package) return {} unless package&.fonts table = {} package.fonts.font_family.each do |family| register_family(table, family) end table end |
Instance Method Details
#resolve(reference) ⇒ Object
Resolve a font reference (family name, font name, or Self ID). Returns the PostScriptName or nil if not found.
44 45 46 47 48 |
# File 'lib/idml/render/font_reference_resolver.rb', line 44 def resolve(reference) return nil unless reference @table[reference] end |