summaryrefslogtreecommitdiff
path: root/misc/pylib/extractor/formats/ttx.py
blob: fac4a98a0aaf08e00f3c3adee5f6cb55e2e00cc2 (plain)
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
27
28
from extractor.formats.opentype import extractOpenTypeInfo, extractOpenTypeGlyphs, extractOpenTypeKerning

def isTTX(pathOrFile):
    from fontTools.ttLib import TTFont, TTLibError
    try:
        font = TTFont()
        font.importXML(pathOrFile)
        del font
    except TTLibError:
        return False
    return True

def extractFontFromTTX(pathOrFile, destination, doGlyphs=True, doInfo=True, doKerning=True, customFunctions=[]):
    from fontTools.ttLib import TTFont, TTLibError
    source = TTFont()
    source.importXML(pathOrFile)
    if doInfo:
        extractOpenTypeInfo(source, destination)
    if doGlyphs:
        extractOpenTypeGlyphs(source, destination)
    if doKerning:
        kerning, groups = extractOpenTypeKerning(source, destination)
        destination.groups.update(groups)
        destination.kerning.clear()
        destination.kerning.update(kerning)
    for function in customFunctions:
        function(source, destination)
    source.close()