2021-03-29 11:45:58 +02:00
|
|
|
from io import BytesIO
|
2017-05-09 11:20:07 -07:00
|
|
|
from fontTools.ttLib.tables.C_F_F_ import table_C_F_F_
|
2017-01-12 15:23:12 -08:00
|
|
|
|
|
|
|
|
2017-05-09 11:20:07 -07:00
|
|
|
class table_C_F_F__2(table_C_F_F_):
|
2024-12-04 15:58:46 +00:00
|
|
|
"""Compact Font Format version 2 table
|
|
|
|
|
|
|
|
The ``CFF2`` table contains glyph data for a CFF2-flavored OpenType
|
|
|
|
font.
|
|
|
|
|
|
|
|
.. note::
|
|
|
|
``CFF2`` is the successor to ``CFF``, and eliminates much of
|
|
|
|
the redundancy incurred by embedding CFF version 1 in an OpenType
|
|
|
|
font.
|
|
|
|
|
|
|
|
See also https://learn.microsoft.com/en-us/typography/opentype/spec/cff2
|
|
|
|
"""
|
|
|
|
|
2017-07-19 18:18:58 +01:00
|
|
|
def decompile(self, data, otFont):
|
|
|
|
self.cff.decompile(BytesIO(data), otFont, isCFF2=True)
|
|
|
|
assert len(self.cff) == 1, "can't deal with multi-font CFF tables."
|
|
|
|
|
|
|
|
def compile(self, otFont):
|
|
|
|
f = BytesIO()
|
|
|
|
self.cff.compile(f, otFont, isCFF2=True)
|
|
|
|
return f.getvalue()
|