def test_compatibility_cli(data_dir, caplog): ds = str(data_dir / "IncompatibleSans" / "IncompatibleSans.designspace") with pytest.raises(SystemExit): main(["-o", "variable", "-m", ds]) main(["-o", "ttf", "-m", ds]) with pytest.raises(SystemExit): main(["--check-compatibility", "-o", "ttf", "-m", ds]) # We stopped things before they got to the cu2qu level assert "cu2qu.ufo" not in caplog.text with pytest.raises(SystemExit): main(["--no-check-compatibility", "-o", "variable", "-m", ds]) # Things got to the cu2qu level (i.e. compatibility checker did not run) assert "cu2qu.ufo" in caplog.text
def test_run_from_glyphs(self, mock): self.assertFalse(mock.called) entry.main(['-g', 'someGlyphs.glyph']) self.assertTrue(mock.called)
from fontmake import __main__ from fontTools.ttLib import TTFont, newTable import shutil __main__.main(("-g","sources/ShizuruFont.glyphs", "-o","ttf",)) path = "master_ttf/ShizuruFont-Regular.ttf" modifiedFont = TTFont(path) print ("Adding additional tables") modifiedFont["DSIG"] = newTable("DSIG") #need that stub dsig print ("Making other changes") modifiedFont["DSIG"].ulVersion = 1 modifiedFont["DSIG"].usFlag = 0 modifiedFont["DSIG"].usNumSigs = 0 modifiedFont["DSIG"].signatureRecords = [] modifiedFont["gasp"] = newTable("gasp") modifiedFont["gasp"].gaspRange = {65535: 0x000A} #Font is shipping UNHINTED :D modifiedFont.save("fonts/ttf/ShizuruFont-Regular.ttf") shutil.rmtree("instance_ufo") shutil.rmtree("master_ufo") shutil.rmtree("master_ttf")
from fontmake import __main__ from fontTools.ttLib import TTFont, newTable import shutil __main__.main(( "-g", "sources/NewTegomin.glyphs", "-o", "ttf", )) path = "master_ttf/NewTegomin-Regular.ttf" modifiedFont = TTFont(path) print("Adding additional tables") modifiedFont["DSIG"] = newTable("DSIG") #need that stub dsig print("Making other changes") modifiedFont["DSIG"].ulVersion = 1 modifiedFont["DSIG"].usFlag = 0 modifiedFont["DSIG"].usNumSigs = 0 modifiedFont["DSIG"].signatureRecords = [] modifiedFont["gasp"] = newTable("gasp") modifiedFont["gasp"].gaspRange = {65535: 0x000A} #Font is shipping UNHINTED :D modifiedFont["name"].addMultilingualName({'ja': 'ニューテゴミン'}, modifiedFont, nameID=1, windows=True, mac=False) modifiedFont["name"].addMultilingualName({'ja': 'Regular'},
from fontTools.ttLib.ttFont import newTable from fontmake import __main__ from fontTools.ttLib import TTFont, newTable import shutil, subprocess, glob from pathlib import Path print ("[Train One] Generating TTFs") __main__.main(("-g","sources/TrainOne.glyphs", "-o","ttf",)) for font in Path("master_ttf").glob("*.ttf"): modifiedFont = TTFont(font) print ("["+str(font).split("/")[1][:-4]+"] Adding stub DSIG") modifiedFont["DSIG"] = newTable("DSIG") #need that stub dsig modifiedFont["DSIG"].ulVersion = 1 modifiedFont["DSIG"].usFlag = 0 modifiedFont["DSIG"].usNumSigs = 0 modifiedFont["DSIG"].signatureRecords = [] print ("["+str(font).split("/")[1][:-4]+"] Making other changes") modifiedFont["name"].addMultilingualName({'ja':'トレイン One'}, modifiedFont, nameID = 1, windows=True, mac=False) modifiedFont["name"].addMultilingualName({'ja':'Regular'}, modifiedFont, nameID = 2, windows=True, mac=False) modifiedFont["head"].flags |= 1 << 3 #sets flag to always round PPEM to integer modifiedFont.save("fonts/ttf/"+str(font).split("/")[1]) shutil.rmtree("instance_ufo") shutil.rmtree("master_ufo") shutil.rmtree("master_ttf") for font in Path("fonts/ttf/").glob("*.ttf"): print ("["+str(font).split("/")[2][:-4]+"] Autohinting")
from fontTools.ttLib.ttFont import newTable from fontmake import __main__ from fontTools.ttLib import TTFont, newTable import shutil, subprocess, glob, sys from pathlib import Path print ("[Rampart] Generating TTF") __main__.main(("-g","sources/RampartOne.glyphs", "-o","ttf",)) def GASP_set(font:TTFont): if "gasp" not in font: font["gasp"] = newTable("gasp") font["gasp"].gaspRange = {} if font["gasp"].gaspRange != {65535: 0x000A}: font["gasp"].gaspRange = {65535: 0x000A} for font in Path("master_ttf").glob("*.ttf"): modifiedFont = TTFont(font) print ("["+str(font).split("/")[1][:-4]+"] Adding stub DSIG") modifiedFont["DSIG"] = newTable("DSIG") #need that stub dsig modifiedFont["DSIG"].ulVersion = 1 modifiedFont["DSIG"].usFlag = 0 modifiedFont["DSIG"].usNumSigs = 0 modifiedFont["DSIG"].signatureRecords = [] print ("["+str(font).split("/")[1][:-4]+"] Making other changes") modifiedFont["name"].addMultilingualName({'ja':'ランパート One'}, modifiedFont, nameID = 1, windows=True, mac=False) modifiedFont["name"].addMultilingualName({'ja':'Regular'}, modifiedFont, nameID = 2, windows=True, mac=False) modifiedFont["head"].flags |= 1 << 3 #sets flag to always round PPEM to integer GASP_set(modifiedFont)
def test_run_from_ufos(self, mock): self.assertFalse(mock.called) entry.main(['-u', 'someUfo.ufo']) self.assertTrue(mock.called)
def test_run_from_glyphs(self, mock): self.assertFalse(mock.called) entry.main(['-g', 'someGlyphs.glyph']) self.assertTrue(mock.called)
from fontTools.ttLib.ttFont import newTable from fontmake import __main__ from fontTools.ttLib import TTFont, newTable import shutil, subprocess, glob from pathlib import Path print ("[Stick] Generating TTFs") __main__.main(("-g","sources/Stick.glyphs", "-o","ttf",)) for font in Path("master_ttf").glob("*.ttf"): modifiedFont = TTFont(font) print ("["+str(font).split("/")[1][:-4]+"] Adding stub DSIG") modifiedFont["DSIG"] = newTable("DSIG") #need that stub dsig modifiedFont["DSIG"].ulVersion = 1 modifiedFont["DSIG"].usFlag = 0 modifiedFont["DSIG"].usNumSigs = 0 modifiedFont["DSIG"].signatureRecords = [] print ("["+str(font).split("/")[1][:-4]+"] Making other changes") modifiedFont["name"].addMultilingualName({'ja':'ステッキ'}, modifiedFont, nameID = 1, windows=True, mac=False) modifiedFont["name"].addMultilingualName({'ja':'Regular'}, modifiedFont, nameID = 2, windows=True, mac=False) modifiedFont["head"].flags |= 1 << 3 #sets flag to always round PPEM to integer modifiedFont.save("fonts/ttf/"+str(font).split("/")[1]) shutil.rmtree("instance_ufo") shutil.rmtree("master_ufo") shutil.rmtree("master_ttf") for font in Path("fonts/ttf/").glob("*.ttf"): print ("["+str(font).split("/")[2][:-4]+"] Autohinting")
from fontmake import __main__ from fontTools.ttLib import TTFont, newTable import shutil import subprocess __main__.main(( "-g", "sources/Otomanopee.glyphs", "-o", "ttf", )) path = "master_ttf/OtomanopeeOne-Regular.ttf" modifiedFont = TTFont(path) print("Adding additional tables") modifiedFont["DSIG"] = newTable("DSIG") #need that stub dsig print("Making other changes") modifiedFont["DSIG"].ulVersion = 1 modifiedFont["DSIG"].usFlag = 0 modifiedFont["DSIG"].usNumSigs = 0 modifiedFont["DSIG"].signatureRecords = [] modifiedFont[ "head"].flags |= 1 << 3 #sets flag to always round PPEM to integer modifiedFont.save("fonts/ttf/OtomanopeeOne-Regular.ttf") shutil.rmtree("instance_ufo") shutil.rmtree("master_ufo") shutil.rmtree("master_ttf")
from fontTools.ttLib.ttFont import newTable from fontmake import __main__ from fontTools.ttLib import TTFont, newTable import shutil, subprocess, glob from pathlib import Path print("[RocknRoll] Generating TTFs") __main__.main(( "-g", "sources/RocknRollOne.glyphs", "-o", "ttf", )) def GASP_set(font: TTFont): if "gasp" not in font: font["gasp"] = newTable("gasp") font["gasp"].gaspRange = {} if font["gasp"].gaspRange != {65535: 0x000A}: font["gasp"].gaspRange = {65535: 0x000A} for font in Path("master_ttf").glob("*.ttf"): modifiedFont = TTFont(font) print("[" + str(font).split("/")[1][:-4] + "] Adding stub DSIG") modifiedFont["DSIG"] = newTable("DSIG") #need that stub dsig modifiedFont["DSIG"].ulVersion = 1 modifiedFont["DSIG"].usFlag = 0 modifiedFont["DSIG"].usNumSigs = 0 modifiedFont["DSIG"].signatureRecords = []
from fontmake import __main__ from fontTools.ttLib import TTFont, newTable import shutil __main__.main(( "-g", "sources/Rock3DFont.glyphs", "-o", "ttf", )) path = "master_ttf/Rock3DFont-Regular.ttf" modifiedFont = TTFont(path) print("Adding additional tables") modifiedFont["DSIG"] = newTable("DSIG") #need that stub dsig print("Making other changes") modifiedFont["DSIG"].ulVersion = 1 modifiedFont["DSIG"].usFlag = 0 modifiedFont["DSIG"].usNumSigs = 0 modifiedFont["DSIG"].signatureRecords = [] modifiedFont["gasp"] = newTable("gasp") modifiedFont["gasp"].gaspRange = {65535: 0x000A} #Font is shipping UNHINTED :D modifiedFont.save("fonts/ttf/Rock3DFont-Regular.ttf") shutil.rmtree("instance_ufo") shutil.rmtree("master_ufo") shutil.rmtree("master_ttf")
from fontmake import __main__ from fontTools.ttLib import TTFont, newTable import shutil __main__.main(( "-g", "sources/Potta.glyphs", "-o", "ttf", )) path = "master_ttf/PottaOne-Regular.ttf" modifiedFont = TTFont(path) print("Adding additional tables") modifiedFont["DSIG"] = newTable("DSIG") #need that stub dsig print("Making other changes") modifiedFont["DSIG"].ulVersion = 1 modifiedFont["DSIG"].usFlag = 0 modifiedFont["DSIG"].usNumSigs = 0 modifiedFont["DSIG"].signatureRecords = [] modifiedFont["gasp"] = newTable("gasp") modifiedFont["gasp"].gaspRange = {65535: 0x000A} #Font is shipping UNHINTED :D modifiedFont["name"].addMultilingualName({'ja': 'ポッタ'}, modifiedFont, nameID=1, windows=True, mac=False) modifiedFont["name"].addMultilingualName({'ja': 'Regular'},
from fontmake import __main__ from fontTools.ttLib import TTFont, newTable import shutil import subprocess __main__.main(("-g","sources/HachiMaruPop.glyphs", "-o","ttf",)) path = "master_ttf/HachiMaruPop-Regular.ttf" modifiedFont = TTFont(path) print ("Adding additional tables") modifiedFont["DSIG"] = newTable("DSIG") #need that stub dsig print ("Making other changes") modifiedFont["DSIG"].ulVersion = 1 modifiedFont["DSIG"].usFlag = 0 modifiedFont["DSIG"].usNumSigs = 0 modifiedFont["DSIG"].signatureRecords = [] modifiedFont["head"].flags |= 1 << 3 #sets flag to always round PPEM to integer modifiedFont["name"].addMultilingualName({'ja':'はちまるポップ'}, modifiedFont, nameID = 1, windows=True, mac=False) modifiedFont["name"].addMultilingualName({'ja':'Regular'}, modifiedFont, nameID = 2, windows=True, mac=False) modifiedFont.save("fonts/ttf/HachiMaruPop-Regular.ttf") shutil.rmtree("instance_ufo") shutil.rmtree("master_ufo") shutil.rmtree("master_ttf") subprocess.check_call( [
def test_run_from_designspace(self, mock): self.assertFalse(mock.called) entry.main(['-m', 'someDesignspace.designspace']) self.assertTrue(mock.called)
from fontTools.ttLib.ttFont import newTable from fontmake import __main__ from fontTools.ttLib import TTFont, newTable import shutil, subprocess, glob from pathlib import Path print("[Klee One] Generating TTFs") for source in Path("sources").glob("*.glyphs"): __main__.main(( "-g", str(source), "-o", "ttf", )) for font in Path("master_ttf").glob("*.ttf"): modifiedFont = TTFont(font) print("[" + str(font).split("/")[1][:-4] + "] Adding stub DSIG") modifiedFont["DSIG"] = newTable("DSIG") #need that stub dsig modifiedFont["DSIG"].ulVersion = 1 modifiedFont["DSIG"].usFlag = 0 modifiedFont["DSIG"].usNumSigs = 0 modifiedFont["DSIG"].signatureRecords = [] if "SemiBold" in str(font): modifiedFont[ "OS/2"].usWeightClass = 600 #it is not being set correctly in the SemiBold weight :/ print("[" + str(font).split("/")[1][:-4] + "] Making other changes") modifiedFont[ "head"].flags |= 1 << 3 #sets flag to always round PPEM to integer modifiedFont["name"].addMultilingualName({'ja': 'クレー One'},
def test_run_from_ufos(self, mock): self.assertFalse(mock.called) entry.main(['-u', 'someUfo.ufo']) self.assertTrue(mock.called)
from fontmake import __main__ from fontTools.ttLib import TTFont, newTable import shutil __main__.main(("-g","sources/PaletteMosaicOne.glyphs", "-o","ttf",)) path = "master_ttf/PaletteMosaicFontOne-Regular.ttf" modifiedFont = TTFont(path) print ("Adding additional tables") modifiedFont["DSIG"] = newTable("DSIG") #need that stub dsig print ("Making other changes") modifiedFont["DSIG"].ulVersion = 1 modifiedFont["DSIG"].usFlag = 0 modifiedFont["DSIG"].usNumSigs = 0 modifiedFont["DSIG"].signatureRecords = [] modifiedFont["gasp"] = newTable("gasp") modifiedFont["gasp"].gaspRange = {65535: 0x000A} #Font is shipping UNHINTED :D modifiedFont.save("fonts/ttf/PaletteMosaicFontOne-Regular.ttf") shutil.rmtree("instance_ufo") shutil.rmtree("master_ufo") shutil.rmtree("master_ttf")
def test_run_from_designspace(self, mock): self.assertFalse(mock.called) entry.main(['-m', 'someDesignspace.designspace']) self.assertTrue(mock.called)
from fontTools.ttLib.ttFont import newTable from fontmake import __main__ from fontTools.ttLib import TTFont, newTable import shutil, subprocess, glob, sys from pathlib import Path print ("[DotGothic16] Generating TTF") __main__.main(("-g","sources/DotGothic16.glyphs", "-o","ttf",)) def GASP_set(font:TTFont): if "gasp" not in font: font["gasp"] = newTable("gasp") font["gasp"].gaspRange = {} if font["gasp"].gaspRange != {65535: 0x000A}: font["gasp"].gaspRange = {65535: 0x000A} for font in Path("master_ttf").glob("*.ttf"): modifiedFont = TTFont(font) print ("["+str(font).split("/")[1][:-4]+"] Adding stub DSIG") modifiedFont["DSIG"] = newTable("DSIG") #need that stub dsig modifiedFont["DSIG"].ulVersion = 1 modifiedFont["DSIG"].usFlag = 0 modifiedFont["DSIG"].usNumSigs = 0 modifiedFont["DSIG"].signatureRecords = [] print ("["+str(font).split("/")[1][:-4]+"] Modifying 'OS/2' table") modifiedFont["OS/2"].xAvgCharWidth = 500 #Monospaced print ("["+str(font).split("/")[1][:-4]+"] Modifying 'name' table") modifiedFont["name"].addMultilingualName({'ja':'ドットゴシック16'}, modifiedFont, nameID = 1, windows=True, mac=False) modifiedFont["name"].addMultilingualName({'ja':'Regular'}, modifiedFont, nameID = 2, windows=True, mac=False)
from fontTools.ttLib.ttFont import newTable from fontmake import __main__ from fontTools.ttLib import TTFont, newTable import os, shutil, subprocess, sys from pathlib import Path print("[Reggae One] Generating TTF") __main__.main(( "-g", "sources/ReggaeOne.glyphs", "-o", "ttf", )) path = "master_ttf/ReggaeOne-Regular.ttf" def GASP_set(font: TTFont): if "gasp" not in font: font["gasp"] = newTable("gasp") font["gasp"].gaspRange = {} if font["gasp"].gaspRange != {65535: 0x000A}: font["gasp"].gaspRange = {65535: 0x000A} modifiedFont = TTFont(path) print("[Reggae One] Adding stub DSIG") modifiedFont["DSIG"] = newTable("DSIG") #need that stub dsig modifiedFont["DSIG"].ulVersion = 1 modifiedFont["DSIG"].usFlag = 0 modifiedFont["DSIG"].usNumSigs = 0
def test_run_from_glyphs(self, mock): self.assertFalse(mock.called) entry.main(["-g", "someGlyphs.glyph"]) self.assertTrue(mock.called)
from fontmake import __main__ from fontTools.ttLib import TTFont, newTable import shutil, glob import subprocess from pathlib import Path __main__.main(( "-g", "sources/KiwiMaru-Light.glyphs", "-o", "ttf", )) __main__.main(( "-g", "sources/KiwiMaru-Medium.glyphs", "-o", "ttf", )) __main__.main(( "-g", "sources/KiwiMaru-Regular.glyphs", "-o", "ttf", )) path = Path("master_ttf") def GASP_set(font: TTFont): if "gasp" not in font: font["gasp"] = newTable("gasp")
def test_run_from_ufos(self, mock): self.assertFalse(mock.called) entry.main(["-u", "someUfo.ufo"]) self.assertTrue(mock.called)
from fontmake import __main__ from fontTools.ttLib import TTFont, newTable import shutil __main__.main(( "-g", "source/DarumaDropOne.glyphs", "-o", "ttf", )) path = "master_ttf/DarumaDropOne-Regular.ttf" modifiedFont = TTFont(path) print("Adding additional tables") modifiedFont["DSIG"] = newTable("DSIG") #need that stub dsig print("Making other changes") modifiedFont["DSIG"].ulVersion = 1 modifiedFont["DSIG"].usFlag = 0 modifiedFont["DSIG"].usNumSigs = 0 modifiedFont["DSIG"].signatureRecords = [] modifiedFont["gasp"] = newTable("gasp") modifiedFont["gasp"].gaspRange = {65535: 0x000A} #Font is shipping UNHINTED :D modifiedFont.save("fonts/ttf/DarumaDropOne-Regular.ttf") shutil.rmtree("instance_ufo") shutil.rmtree("master_ufo") shutil.rmtree("master_ttf")
def GASP_set(font: TTFont): if "gasp" not in font: font["gasp"] = newTable("gasp") font["gasp"].gaspRange = {} if font["gasp"].gaspRange != {65535: 0x000A}: font["gasp"].gaspRange = {65535: 0x000A} print("[Klee One] Generating TTFs") for source in Path("sources").glob("*.glyphs"): __main__.main(( "-g", str(source), "--keep-overlaps", "-o", "ttf", )) for font in Path("master_ttf").glob("*.ttf"): modifiedFont = TTFont(font) print("[" + str(font).split("/")[1][:-4] + "] Adding stub DSIG") modifiedFont["DSIG"] = newTable("DSIG") #need that stub dsig modifiedFont["DSIG"].ulVersion = 1 modifiedFont["DSIG"].usFlag = 0 modifiedFont["DSIG"].usNumSigs = 0 modifiedFont["DSIG"].signatureRecords = [] if "SemiBold" in str(font): modifiedFont[ "OS/2"].usWeightClass = 600 #it is not being set correctly in the SemiBold weight :/