def convert(self, theme): fontname = self.options.fontname if not fontname: fontname = theme file_prefix = path.join(self.options.output, theme) # create empty font self.font = font = fontforge.font() #file_prefix = 'icons' # set font names font.fontname = fontname font.familyname = self.options.familyname font.fullname = ' '.join([ self.options.familyname, fontname ]) # import svgs files = self.collect_glyphs(theme) for f in files: self.import_glyph(f) #font.generate("fonts/%s.pfb" % file_prefix, flags=["tfm", "afm"]) # type1 with tfm/afm #font.generate("fonts/%s.otf" % file_prefix) # opentype font.generate("%s.ttf" % file_prefix) # truetype font.generate("%s.svg" % file_prefix) # svg font.generate("%s.woff" % file_prefix) # svg fontforge.printSetup('pdf-file', '%s-preview.pdf' % file_prefix) font.printSample('fontdisplay', 14)
foo = fontforge.getPrefs("DetectDiagonalStems") fontforge.setPrefs("DetectDiagonalStems",~foo) fontforge.loadPrefs() # fontforge.savePrefs() fontforge.defaultOtherSubrs() # fontforge.readOtherSubrsFile() foo = fontforge.hasSpiro() # fontforge.loadEncodingFile() # 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()
## RUN ME VIA `fontforge -script build.py` ## import fontforge, psMat import math fontforge.printSetup("pdf-file") ## regular base_font = fontforge.open("sfd/14seg.sfd") base_font.selection.all() base_font.removeOverlap() base_font.fontname = "LCD14" base_font.save("sfd/14seg-gen.sfd") base_font.generate("otf/" + base_font.fontname + ".otf") base_font.printSample("fontdisplay", 24, "", "specimens/" + base_font.fontname + ".pdf") print("Generated regular") base_font.close() ## condensed base_font = fontforge.open("sfd/14seg-gen.sfd")
## RUN ME VIA `fontforge -script build.py` ## import fontforge, psMat import math fontforge.printSetup("pdf-file") ## regular base_font = fontforge.open("sfd/14seg.sfd") base_font.selection.all() base_font.removeOverlap() base_font.fontname = "LCD14" base_font.save("sfd/14seg-gen.sfd") base_font.generate("otf/"+base_font.fontname+".otf") base_font.printSample("fontdisplay", 24, "", "specimens/"+base_font.fontname+".pdf") print("Generated regular") base_font.close() ## condensed base_font = fontforge.open("sfd/14seg-gen.sfd") base_font.selection.all()
import fontforge from glob import glob for fontname in glob("./*.ttf"): font = fontforge.open (fontname) fontforge.printSetup ("pdf-file", fontname + ".pdf") font.printSample ("fontdisplay",12, "", fontname + ".pdf")
def print_pdf(_font, _path): fontforge.printSetup('pdf-file') _font.printSample('fontdisplay', 18, '', _path)