Class: Fontisan::Variation::TupleVariationHeader

Inherits:
Binary::BaseRecord show all
Defined in:
lib/fontisan/variation/tuple_variation_header.rb

Overview

Tuple variation header structure

Used by both gvar and cvar tables to describe variation tuples. Each tuple header contains metadata about peak coordinates, intermediate regions, and point number handling.

Constant Summary collapse

EMBEDDED_PEAK_TUPLE =

Tuple index flags

0x8000
INTERMEDIATE_REGION =
0x4000
PRIVATE_POINT_NUMBERS =
0x2000
TUPLE_INDEX_MASK =
0x0FFF

Instance Method Summary collapse

Methods inherited from Binary::BaseRecord

#raw_data, read, #valid?

Instance Method Details

#embedded_peak_tuple?Boolean

Check if tuple has embedded peak coordinates

Returns:

  • (Boolean)

    True if embedded



23
24
25
# File 'lib/fontisan/variation/tuple_variation_header.rb', line 23

def embedded_peak_tuple?
  (tuple_index & EMBEDDED_PEAK_TUPLE) != 0
end

#intermediate_region?Boolean

Check if tuple has intermediate region

Returns:

  • (Boolean)

    True if intermediate region



30
31
32
# File 'lib/fontisan/variation/tuple_variation_header.rb', line 30

def intermediate_region?
  (tuple_index & INTERMEDIATE_REGION) != 0
end

#private_point_numbers?Boolean

Check if tuple has private point numbers

Returns:

  • (Boolean)

    True if private points



37
38
39
# File 'lib/fontisan/variation/tuple_variation_header.rb', line 37

def private_point_numbers?
  (tuple_index & PRIVATE_POINT_NUMBERS) != 0
end

#shared_tuple_indexInteger

Get shared tuple index

Returns:

  • (Integer)

    Tuple index



44
45
46
# File 'lib/fontisan/variation/tuple_variation_header.rb', line 44

def shared_tuple_index
  tuple_index & TUPLE_INDEX_MASK
end