aboutsummaryrefslogtreecommitdiffstats
path: root/contrib/python/fonttools/fontTools/ttLib/tables/C_F_F__2.py
blob: ff07682d24f0399b6579f529ae70cf4fd87abf21 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
from io import BytesIO
from fontTools.ttLib.tables.C_F_F_ import table_C_F_F_


class table_C_F_F__2(table_C_F_F_):
    """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
    """

    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()