Class: Fontisan::Tables::VariationCommon::VariationRegionList
- Inherits:
-
Binary::BaseRecord
- Object
- BinData::Record
- Binary::BaseRecord
- Fontisan::Tables::VariationCommon::VariationRegionList
- Defined in:
- lib/fontisan/tables/variation_common.rb
Overview
Variation region list
Contains the regions used by variation data. Multiple variation tables can reference the same region list.
Instance Method Summary collapse
-
#regions ⇒ Array<Array<RegionAxisCoordinates>>
Parse all variation regions.
Methods inherited from Binary::BaseRecord
Instance Method Details
#regions ⇒ Array<Array<RegionAxisCoordinates>>
Parse all variation regions
96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 |
# File 'lib/fontisan/tables/variation_common.rb', line 96 def regions return @regions if @regions return @regions = [] if region_count.zero? data = raw_data offset = 4 # After axis_count and region_count @regions = Array.new(region_count) do |i| region_offset = offset + (i * axis_count * 6) region_size = axis_count * 6 next nil if region_offset + region_size > data.bytesize region_data = data.byteslice(region_offset, region_size) VariationRegion.parse_coordinates(region_data, axis_count) end.compact end |