Esempio n. 1
0
    def ttinstrs(self):
        """Return truetype instruction info of the font."""
        txt = []
        glyph = self.glyph
        if glyph.ttinstrs:
            instrs = fontforge.unParseTTInstrs(glyph.ttinstrs).strip()
            txt.append("TtInstrs:")
            txt.append(instrs)
            txt.append("EndTTInstrs")

        if glyph.anchorPoints:
            for pts in glyph.anchorPoints:
                if len(pts) == 5:
                    lig = pts[4]
                else:
                    lig = 0
                coord = "%s %s" % float2str(pts[2:4])
                aname = pts[0].decode("utf8").encode("utf-7")
                atype = pts[1]
                if atype == "base":
                    atype = "basechar"
                elif atype == "ligature":
                    atype = "baselig"
                atxt = 'AnchorPoint: "%s" %s %s %s' % (aname, coord, atype,
                                                       lig)
                txt.append(atxt)
        return "\n".join(txt)
Esempio n. 2
0
    def hinting_level(self):
        if filter(lambda fn: os.path.basename(fn) == '.ttfautohint', self.files):
            return '4'

        for ottf in self.ottffiles:
            # Searches for .ttfautohint glyph inside. If glyph exists
            # then returns hinting_level to '3'
            is_glyph_existed = self.check_for_ttfautohint_glyph(ottf)
            if is_glyph_existed:
                return '4'
            ttfont = TTFont(ottf)
            try:
                if ttfont.getTableData("prep") is None:
                    return '2'
            except KeyError:
                return '2'
            prepAsm = ttfont.getTableData("prep")
            prepText = fontforge.unParseTTInstrs(prepAsm)
            prepMagic = "PUSHW_1\n 511\nSCANCTRL\nPUSHB_1\n 4\nSCANTYPE"
            if prepText.strip() == prepMagic:
                return '2'
        return '1'
Esempio n. 3
0
    def hinting_level(self):
        if filter(lambda fn: os.path.basename(fn) == '.ttfautohint',
                  self.files):
            return '4'

        for ottf in self.ottffiles:
            # Searches for .ttfautohint glyph inside. If glyph exists
            # then returns hinting_level to '3'
            is_glyph_existed = self.check_for_ttfautohint_glyph(ottf)
            if is_glyph_existed:
                return '4'
            ttfont = TTFont(ottf)
            try:
                if ttfont.getTableData("prep") is None:
                    return '2'
            except KeyError:
                return '2'
            prepAsm = ttfont.getTableData("prep")
            prepText = fontforge.unParseTTInstrs(prepAsm)
            prepMagic = "PUSHW_1\n 511\nSCANCTRL\nPUSHB_1\n 4\nSCANTYPE"
            if prepText.strip() == prepMagic:
                return '2'
        return '1'
Esempio n. 4
0
# fontforge.loadNamelist()
# fontforge.loadNamelistDir()
# fontforge.preloadCidmap()

fontforge.printSetup("lpr")

if (fontforge.unicodeFromName("A")!=65) or (fontforge.unicodeFromName("uni030D")!=0x30D):
  raise ValueError("Wrong return from unicodeFromName")

foo = fontforge.version()

ambrosia = sys.argv[1]

fonts = fontforge.fonts()
if ( len(fonts)!=0 ) :
  raise ValueError("Wrong return from fontforge.fonts")

fontforge.activeFont()
fontforge.activeGlyph()
fontforge.activeLayer()
fontnames= fontforge.fontsInFile(ambrosia)
if len(fontnames)!=1 or fontnames[0]!='Ambrosia':
  raise ValueError("Wrong return from fontforge.fontsInFile")
font = fontforge.open(ambrosia)
morefonts = fontforge.fonts()
if len(morefonts)!=1:
  raise ValueError("Wrong return from fontforge.fonts")

instrs = fontforge.parseTTInstrs("SRP0\nMIRP[min,rnd,black]")
print(fontforge.unParseTTInstrs(instrs))
def main(argv):
    font_in = argv[0]
    font = fontforge.open(font_in)
    prepAsm = font.getTableData("prep")
    prepText = fontforge.unParseTTInstrs(prepAsm)
    print prepText
def getprep(font):
    prepAsm = font.getTableData("prep")
    prepText = fontforge.unParseTTInstrs(prepAsm)
    return prepText