Class: Fontisan::Variation::VariableSvgGenerator::InstanceFontWrapper
- Inherits:
-
Object
- Object
- Fontisan::Variation::VariableSvgGenerator::InstanceFontWrapper
- Defined in:
- lib/fontisan/variation/variable_svg_generator.rb
Overview
Wrapper class for instance font tables
Provides minimal interface needed by SvgGenerator while using instance tables instead of original font tables.
Instance Attribute Summary collapse
-
#table_data ⇒ Hash<String, String>
readonly
Font tables.
Instance Method Summary collapse
-
#has_table?(tag) ⇒ Boolean
Check if table exists.
-
#initialize(original_font, instance_tables) ⇒ InstanceFontWrapper
constructor
Initialize wrapper.
-
#method_missing(method) ⇒ Object
Forward other methods to original font.
- #respond_to_missing?(method, include_private = false) ⇒ Boolean
-
#table(tag) ⇒ Object?
Get table by tag.
Constructor Details
#initialize(original_font, instance_tables) ⇒ InstanceFontWrapper
Initialize wrapper
230 231 232 233 |
# File 'lib/fontisan/variation/variable_svg_generator.rb', line 230 def initialize(original_font, instance_tables) @original_font = original_font @table_data = instance_tables end |
Dynamic Method Handling
This class handles dynamic methods through the method_missing method
#method_missing(method) ⇒ Object
Forward other methods to original font
255 256 257 |
# File 'lib/fontisan/variation/variable_svg_generator.rb', line 255 def method_missing(method, ...) @original_font.send(method, ...) end |
Instance Attribute Details
#table_data ⇒ Hash<String, String> (readonly)
Returns Font tables.
224 225 226 |
# File 'lib/fontisan/variation/variable_svg_generator.rb', line 224 def table_data @table_data end |
Instance Method Details
#has_table?(tag) ⇒ Boolean
Check if table exists
250 251 252 |
# File 'lib/fontisan/variation/variable_svg_generator.rb', line 250 def has_table?(tag) @table_data.key?(tag) || @original_font.has_table?(tag) end |
#respond_to_missing?(method, include_private = false) ⇒ Boolean
259 260 261 |
# File 'lib/fontisan/variation/variable_svg_generator.rb', line 259 def respond_to_missing?(method, include_private = false) @original_font.respond_to?(method, include_private) || super end |
#table(tag) ⇒ Object?
Get table by tag
239 240 241 242 243 244 |
# File 'lib/fontisan/variation/variable_svg_generator.rb', line 239 def table(tag) # Use instance table if available, otherwise fall back to original if @table_data.key?(tag) end @original_font.table(tag) end |