TSIC Support for Visual TrueType

TSIC is a source table for Visual TrueType to maintain sources for the cvar variation table.
This commit is contained in:
Paul Linnerud 2018-08-22 16:48:42 -07:00
parent c895f4f4a2
commit df429df9ec
3 changed files with 35 additions and 1 deletions

View File

@ -0,0 +1,7 @@
from __future__ import print_function, division, absolute_import
from fontTools.misc.py23 import *
from .otBase import BaseTTXConverter
class table_T_S_I_C_(BaseTTXConverter):
pass

View File

@ -130,7 +130,7 @@ class BaseConverter(object):
self.tableClass = tableClass
self.isCount = name.endswith("Count") or name in ['DesignAxisRecordSize', 'ValueRecordSize']
self.isLookupType = name.endswith("LookupType") or name == "MorphType"
self.isPropagated = name in ["ClassCount", "Class2Count", "FeatureTag", "SettingsCount", "VarRegionCount", "MappingCount", "RegionAxisCount", 'DesignAxisCount', 'DesignAxisRecordSize', 'AxisValueCount', 'ValueRecordSize']
self.isPropagated = name in ["ClassCount", "Class2Count", "FeatureTag", "SettingsCount", "VarRegionCount", "MappingCount", "RegionAxisCount", 'DesignAxisCount', 'DesignAxisRecordSize', 'AxisValueCount', 'ValueRecordSize', 'AxisCount']
def readArray(self, reader, font, tableDict, count):
"""Read an array of values from the reader."""

View File

@ -1513,4 +1513,31 @@ otData = [
('int16', 'Bottom', None, None, 'Control point index for the bottom-side optical edge, or -1 if this glyph has none.'),
]),
#
# TSIC
#
('TSIC', [
('Version', 'Version', None, None, 'Version of table initially set to 0x00010000.'),
('uint16', 'Flags', None, None, 'TSIC flags - set to 0'),
('uint16', 'AxisCount', None, None, 'Axis count from fvar'),
('uint16', 'RecordCount', None, None, 'TSIC record count'),
('uint16', 'Reserved', None, None, 'Set to 0'),
('Tag', 'AxisArray', 'AxisCount', 0, 'Array of axis tags in fvar order'),
('LocationRecord', 'RecordLocations', 'RecordCount', 0, 'Location in variation space of TSIC record'),
('TSICRecord', 'Record', 'RecordCount', 0, 'Array of TSIC records'),
]),
('LocationRecord', [
('F2Dot14', 'Axis', 'AxisCount', 0, 'Axis record'),
]),
('TSICRecord', [
('uint16', 'Flags', None, None, 'Record flags - set to 0'),
('uint16', 'NumCVTEntries', None, None, 'Number of CVT number value pairs'),
('uint16', 'NameLength', None, None, 'Length of optional user record name'),
('uint16', 'NameArray', 'NameLength', 0, 'Unicode 16 name'),
('uint16', 'CVTArray', 'NumCVTEntries', 0, 'CVT number array'),
('int16', 'CVTValueArray', 'NumCVTEntries', 0, 'CVT value'),
]),
]