How to use the defcon.objects.font.Font function in defcon

To help you get started, we’ve selected a few defcon examples, based on popular ways it is used in public projects.

Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.

github LettError / designSpaceRoboFontExtension / DesignSpaceEditor.roboFontExt / lib / local_ufoProcessor.py View on Github external
def makeTestFonts(rootPath):
        """ Make some test fonts that have the kerning problem."""
        path1 = os.path.join(rootPath, "geometryMaster1.ufo")
        path2 = os.path.join(rootPath, "geometryMaster2.ufo")
        path3 = os.path.join(rootPath, "my_test_instance_dir_one", "geometryInstance%3.3f.ufo")
        path4 = os.path.join(rootPath, "my_test_instance_dir_two", "geometryInstanceAnisotropic1.ufo")
        path5 = os.path.join(rootPath, "my_test_instance_dir_two", "geometryInstanceAnisotropic2.ufo")
        f1 = Font()
        fillInfo(f1)
        addGlyphs(f1, 100)
        f1.features.text = u"# features text from master 1"
        f2 = Font()
        fillInfo(f2)
        addGlyphs(f2, 500)
        f2.features.text = u"# features text from master 2"
        f1.info.ascender = 400
        f1.info.descender = -200
        f2.info.ascender = 600
        f2.info.descender = -100
        f1.info.copyright = u"This is the copyright notice from master 1"
        f2.info.copyright = u"This is the copyright notice from master 2"
        f1.lib['ufoProcessor.test.lib.entry'] = "Lib entry for master 1"
        f2.lib['ufoProcessor.test.lib.entry'] = "Lib entry for master 2"
        f1.save(path1, 2)
        f2.save(path2, 2)
        return path1, path2, path3, path4, path5
github fonttools / fonttools / Lib / fontTools / designspaceLib / ufoProcessor.py View on Github external
def makeTestFonts(rootPath):
        """ Make some test fonts that have the kerning problem."""
        path1 = os.path.join(rootPath, "geometryMaster1.ufo")
        path2 = os.path.join(rootPath, "geometryMaster2.ufo")
        path3 = os.path.join(rootPath, "my_test_instance_dir_one", "geometryInstance%3.3f.ufo")
        path4 = os.path.join(rootPath, "my_test_instance_dir_two", "geometryInstanceAnisotropic1.ufo")
        path5 = os.path.join(rootPath, "my_test_instance_dir_two", "geometryInstanceAnisotropic2.ufo")
        f1 = Font()
        fillInfo(f1)
        addGlyphs(f1, 100)
        f1.features.text = u"# features text from master 1"
        f2 = Font()
        fillInfo(f2)
        addGlyphs(f2, 500)
        f2.features.text = u"# features text from master 2"
        f1.info.ascender = 400
        f1.info.descender = -200
        f2.info.ascender = 600
        f2.info.descender = -100
        f1.info.copyright = u"This is the copyright notice from master 1"
        f2.info.copyright = u"This is the copyright notice from master 2"
        f1.lib['ufoProcessor.test.lib.entry'] = "Lib entry for master 1"
        f2.lib['ufoProcessor.test.lib.entry'] = "Lib entry for master 2"
        f1.save(path1, 2)
        f2.save(path2, 2)
        return path1, path2, path3, path4, path5
github LettError / designSpaceDocument / Lib / designSpaceDocument / ufoProcessor.py View on Github external
def makeSwapFonts(rootPath):
        """ Make some test fonts that have the kerning problem."""
        path1 = os.path.join(rootPath, "Swap.ufo")
        path2 = os.path.join(rootPath, "Swapped.ufo")
        f1 = Font()
        fillInfo(f1)
        addGlyphs(f1, 100)
        f1.features.text = u"# features text from master 1"
        f1.info.ascender = 800
        f1.info.descender = -200
        f1.kerning[('glyphOne', 'glyphOne')] = -10
        f1.kerning[('glyphTwo', 'glyphTwo')] = 10
        f1.save(path1, 2)
        return path1, path2
github LettError / designSpaceDocument / Lib / designSpaceDocument / ufoProcessor.py View on Github external
def testSwap(docPath):
        srcPath, dstPath = makeSwapFonts(os.path.dirname(docPath))
        
        f = Font(srcPath)
        swapGlyphNames(f, "narrow", "wide")
        f.info.styleName = "Swapped"
        f.save(dstPath)
        
        # test the results in newly opened fonts
        old = Font(srcPath)
        new = Font(dstPath)
        assert new.kerning.get(("narrow", "narrow")) == old.kerning.get(("wide","wide"))
        assert new.kerning.get(("wide", "wide")) == old.kerning.get(("narrow","narrow"))
        # after the swap these widths should be the same
        assert old['narrow'].width == new['wide'].width
        assert old['wide'].width == new['narrow'].width
        # The following test may be a bit counterintuitive:
        # the rule swaps the glyphs, but we do not want glyphs that are not
        # specifically affected by the rule to *appear* any different.
        # So, components have to be remapped. 
        assert new['wide.component'].components[0].baseGlyph == "narrow"
        assert new['narrow.component'].components[0].baseGlyph == "wide"
github LettError / designSpaceDocument / Lib / designSpaceDocument / ufoProcessor.py View on Github external
def testSwap(docPath):
        srcPath, dstPath = makeSwapFonts(os.path.dirname(docPath))
        
        f = Font(srcPath)
        swapGlyphNames(f, "narrow", "wide")
        f.info.styleName = "Swapped"
        f.save(dstPath)
        
        # test the results in newly opened fonts
        old = Font(srcPath)
        new = Font(dstPath)
        assert new.kerning.get(("narrow", "narrow")) == old.kerning.get(("wide","wide"))
        assert new.kerning.get(("wide", "wide")) == old.kerning.get(("narrow","narrow"))
        # after the swap these widths should be the same
        assert old['narrow'].width == new['wide'].width
        assert old['wide'].width == new['narrow'].width
        # The following test may be a bit counterintuitive:
        # the rule swaps the glyphs, but we do not want glyphs that are not
        # specifically affected by the rule to *appear* any different.
        # So, components have to be remapped. 
        assert new['wide.component'].components[0].baseGlyph == "narrow"
        assert new['narrow.component'].components[0].baseGlyph == "wide"
github fonttools / fonttools / Lib / fontTools / designspaceLib / ufoProcessor.py View on Github external
def makeTestFonts(rootPath):
        """ Make some test fonts that have the kerning problem."""
        path1 = os.path.join(rootPath, "geometryMaster1.ufo")
        path2 = os.path.join(rootPath, "geometryMaster2.ufo")
        path3 = os.path.join(rootPath, "my_test_instance_dir_one", "geometryInstance%3.3f.ufo")
        path4 = os.path.join(rootPath, "my_test_instance_dir_two", "geometryInstanceAnisotropic1.ufo")
        path5 = os.path.join(rootPath, "my_test_instance_dir_two", "geometryInstanceAnisotropic2.ufo")
        f1 = Font()
        fillInfo(f1)
        addGlyphs(f1, 100)
        f1.features.text = u"# features text from master 1"
        f2 = Font()
        fillInfo(f2)
        addGlyphs(f2, 500)
        f2.features.text = u"# features text from master 2"
        f1.info.ascender = 400
        f1.info.descender = -200
        f2.info.ascender = 600
        f2.info.descender = -100
        f1.info.copyright = u"This is the copyright notice from master 1"
        f2.info.copyright = u"This is the copyright notice from master 2"
        f1.lib['ufoProcessor.test.lib.entry'] = "Lib entry for master 1"
        f2.lib['ufoProcessor.test.lib.entry'] = "Lib entry for master 2"
        f1.save(path1, 2)
github fonttools / fonttools / Lib / fontTools / designspaceLib / ufoProcessor.py View on Github external
def makeSwapFonts(rootPath):
        """ Make some test fonts that have the kerning problem."""
        path1 = os.path.join(rootPath, "Swap.ufo")
        path2 = os.path.join(rootPath, "Swapped.ufo")
        f1 = Font()
        fillInfo(f1)
        addGlyphs(f1, 100)
        f1.features.text = u"# features text from master 1"
        f1.info.ascender = 800
        f1.info.descender = -200
        f1.kerning[('glyphOne', 'glyphOne')] = -10
        f1.kerning[('glyphTwo', 'glyphTwo')] = 10
        f1.save(path1, 2)
        return path1, path2
github LettError / designSpaceRoboFontExtension / DesignSpaceEditor.roboFontExt / lib / local_ufoProcessor.py View on Github external
def makeSwapFonts(rootPath):
        """ Make some test fonts that have the kerning problem."""
        path1 = os.path.join(rootPath, "Swap.ufo")
        path2 = os.path.join(rootPath, "Swapped.ufo")
        f1 = Font()
        fillInfo(f1)
        addGlyphs(f1, 100)
        f1.features.text = u"# features text from master 1"
        f1.info.ascender = 800
        f1.info.descender = -200
        f1.kerning[('glyphOne', 'glyphOne')] = -10
        f1.kerning[('glyphTwo', 'glyphTwo')] = 10
        f1.save(path1, 2)
        return path1, path2