Module: Fontisan::Ufo::Compile::Fvar
- Defined in:
- lib/fontisan/ufo/compile/fvar.rb
Overview
Builds the OpenType fvar (Font Variations) table from a
list of axis definitions and named instances.
Constant Summary collapse
- VERSION_MAJOR =
1- VERSION_MINOR =
0- AXIS_SIZE =
20- INSTANCE_SIZE =
- 4 per axis
4- FIXED_SHIFT =
16- FIXED_ONE =
1 << FIXED_SHIFT
Class Method Summary collapse
-
.build(font, axes: nil, instances: nil) ⇒ String?
Fvar table bytes, or nil if no axes.
Class Method Details
.build(font, axes: nil, instances: nil) ⇒ String?
Returns fvar table bytes, or nil if no axes.
22 23 24 25 26 27 28 29 30 31 32 33 |
# File 'lib/fontisan/ufo/compile/fvar.rb', line 22 def self.build(font, axes: nil, instances: nil) axes ||= font.info.respond_to?(:axes) ? font.info.axes : nil instances ||= font.info.respond_to?(:named_instances) ? font.info.named_instances : nil axes ||= [] return nil if axes.empty? axes_bytes = build_axes(axes) instances_bytes = build_instances(instances || [], axes.size) header = build_header(axes.size, axes_bytes, instances_bytes, instances) header + axes_bytes + instances_bytes end |