├── .codecov.yml ├── .coveragerc ├── .gitattributes ├── .github └── workflows │ └── ci.yml ├── .gitignore ├── .pyup.yml ├── LICENSE ├── Lib └── ufo2ft │ ├── __init__.py │ ├── _compilers │ ├── __init__.py │ ├── baseCompiler.py │ ├── interpolatableOTFCompiler.py │ ├── interpolatableTTFCompiler.py │ ├── otfCompiler.py │ ├── ttfCompiler.py │ ├── variableCFF2sCompiler.py │ └── variableTTFsCompiler.py │ ├── constants.py │ ├── errors.py │ ├── featureCompiler.py │ ├── featureWriters │ ├── __init__.py │ ├── __main__.py │ ├── ast.py │ ├── baseFeatureWriter.py │ ├── cursFeatureWriter.py │ ├── gdefFeatureWriter.py │ ├── kernFeatureWriter.py │ ├── kernFeatureWriter2.py │ └── markFeatureWriter.py │ ├── filters │ ├── __init__.py │ ├── __main__.py │ ├── base.py │ ├── cubicToQuadratic.py │ ├── decomposeComponents.py │ ├── decomposeTransformedComponents.py │ ├── dottedCircle.py │ ├── dottedCircleFilter.py │ ├── explodeColorLayerGlyphs.py │ ├── flattenComponents.py │ ├── propagateAnchors.py │ ├── removeOverlaps.py │ ├── reverseContourDirection.py │ ├── skipExportGlyphs.py │ ├── sortContours.py │ └── transformations.py │ ├── fontInfoData.py │ ├── infoCompiler.py │ ├── instantiator.py │ ├── instructionCompiler.py │ ├── maxContextCalc.py │ ├── outlineCompiler.py │ ├── postProcessor.py │ ├── preProcessor.py │ └── util.py ├── MANIFEST.in ├── README.rst ├── dev-requirements.txt ├── requirements.txt ├── setup.cfg ├── setup.py ├── tests ├── __init__.py ├── conftest.py ├── data │ ├── Alternates-Regular.ufo │ │ ├── features.fea │ │ ├── fontinfo.plist │ │ ├── glyphs │ │ │ ├── contents.plist │ │ │ ├── ka-oriya.B_R_A_C_K_E_T_.varA_lt01.glif │ │ │ ├── ka-oriya.below.glif │ │ │ ├── ka-oriya.glif │ │ │ ├── lV_ocalicM_atra-oriya.B_R_A_C_K_E_T_.varA_lt01.glif │ │ │ ├── lV_ocalicM_atra-oriya.glif │ │ │ ├── layerinfo.plist │ │ │ ├── uuM_atra-oriya.B_R_A_C_K_E_T_.varA_lt01.glif │ │ │ └── uuM_atra-oriya.glif │ │ ├── layercontents.plist │ │ ├── lib.plist │ │ └── metainfo.plist │ ├── Bug108.ttx │ ├── Bug108.ufo │ │ ├── features.fea │ │ ├── fontinfo.plist │ │ ├── glyphs │ │ │ ├── _notdef.glif │ │ │ ├── a.glif │ │ │ ├── b.glif │ │ │ ├── c.glif │ │ │ ├── contents.plist │ │ │ └── space.glif │ │ ├── groups.plist │ │ ├── layercontents.plist │ │ ├── lib.plist │ │ └── metainfo.plist │ ├── Bug108_included.fea │ ├── Bug908.ufo │ │ ├── fontinfo.plist │ │ ├── glyphs │ │ │ ├── _notdef.glif │ │ │ ├── contents.plist │ │ │ └── u2F_803.glif │ │ ├── groups.plist │ │ ├── layercontents.plist │ │ ├── lib.plist │ │ └── metainfo.plist │ ├── COLRv1Test.ufo │ │ ├── fontinfo.plist │ │ ├── glyphs │ │ │ ├── a.color1.glif │ │ │ ├── a.color2.glif │ │ │ ├── a.glif │ │ │ ├── contents.plist │ │ │ └── layerinfo.plist │ │ ├── layercontents.plist │ │ ├── lib.plist │ │ └── metainfo.plist │ ├── CantarellAnchorPropagation.ufo │ │ ├── fontinfo.plist │ │ ├── glyphs │ │ │ ├── circumflexcomb.loclV_I_E_T_.glif │ │ │ ├── circumflexcomb_tildecomb.glif │ │ │ ├── contents.plist │ │ │ ├── o.glif │ │ │ ├── ocircumflextilde.glif │ │ │ └── tildecomb.loclV_I_E_T_.glif │ │ ├── layercontents.plist │ │ ├── lib.plist │ │ └── metainfo.plist │ ├── ColorTest.ufo │ │ ├── fontinfo.plist │ │ ├── glyphs.color1 │ │ │ ├── a.glif │ │ │ ├── b.glif │ │ │ ├── c.glif │ │ │ ├── contents.plist │ │ │ └── layerinfo.plist │ │ ├── glyphs.color2 │ │ │ ├── a.glif │ │ │ ├── b.glif │ │ │ ├── c.glif │ │ │ ├── contents.plist │ │ │ └── layerinfo.plist │ │ ├── glyphs │ │ │ ├── a.glif │ │ │ ├── b.glif │ │ │ ├── c.glif │ │ │ ├── contents.plist │ │ │ ├── layerinfo.plist │ │ │ └── space.glif │ │ ├── layercontents.plist │ │ ├── lib.plist │ │ └── metainfo.plist │ ├── ColorTestRaw.ufo │ │ ├── fontinfo.plist │ │ ├── glyphs │ │ │ ├── a.color1.glif │ │ │ ├── a.color2.glif │ │ │ ├── a.glif │ │ │ ├── contents.plist │ │ │ ├── layerinfo.plist │ │ │ └── space.glif │ │ ├── layercontents.plist │ │ ├── lib.plist │ │ └── metainfo.plist │ ├── ComponentTransformTest-Bold.ufo │ │ ├── fontinfo.plist │ │ ├── glyphs │ │ │ ├── component_different_transform.glif │ │ │ ├── component_no_transform.glif │ │ │ ├── component_same_transform.glif │ │ │ ├── contents.plist │ │ │ └── no_component.glif │ │ ├── layercontents.plist │ │ ├── lib.plist │ │ └── metainfo.plist │ ├── ComponentTransformTest-Regular.ufo │ │ ├── fontinfo.plist │ │ ├── glyphs │ │ │ ├── component_different_transform.glif │ │ │ ├── component_no_transform.glif │ │ │ ├── component_same_transform.glif │ │ │ ├── contents.plist │ │ │ └── no_component.glif │ │ ├── layercontents.plist │ │ ├── lib.plist │ │ └── metainfo.plist │ ├── ContextualAnchorsTest-Regular.ufo │ │ ├── features.fea │ │ ├── fontinfo.plist │ │ ├── glyphs │ │ │ ├── beh-ar.glif │ │ │ ├── behD_otless-ar.fina.glif │ │ │ ├── behD_otless-ar.glif │ │ │ ├── behD_otless-ar.init.alt.glif │ │ │ ├── behD_otless-ar.init.glif │ │ │ ├── behD_otless-ar.medi.glif │ │ │ ├── behT_wodotsbelowD_otabove-ar.glif │ │ │ ├── contents.plist │ │ │ ├── dotabove-ar.glif │ │ │ ├── dotbelow-ar.glif │ │ │ ├── layerinfo.plist │ │ │ ├── reh-ar.glif │ │ │ ├── twodotshorizontalbelow-ar.glif │ │ │ └── twodotsverticalbelow-ar.glif │ │ ├── layercontents.plist │ │ ├── lib.plist │ │ └── metainfo.plist │ ├── ContourOrderTest.ufo │ │ ├── fontinfo.plist │ │ ├── glyphs │ │ │ ├── contents.plist │ │ │ ├── graphemejoinercomb.glif │ │ │ ├── layerinfo.plist │ │ │ ├── uniF_F_F_C_.glif │ │ │ └── xxx.glif │ │ ├── layercontents.plist │ │ ├── lib.plist │ │ └── metainfo.plist │ ├── DSv5 │ │ ├── MutatorSansVariable_Weight-CFF2.ttx │ │ ├── MutatorSansVariable_Weight-TTF.ttx │ │ ├── MutatorSansVariable_Weight_Width-CFF2.ttx │ │ ├── MutatorSansVariable_Weight_Width-TTF.ttx │ │ ├── MutatorSansVariable_Width-CFF2.ttx │ │ ├── MutatorSansVariable_Width-TTF.ttx │ │ ├── MutatorSerifVariable_Width-CFF2.ttx │ │ ├── MutatorSerifVariable_Width-TTF.ttx │ │ └── test_v5_MutatorSans_and_Serif.designspace │ ├── DesignspaceBrokenTest │ │ ├── Designspace-MastersAsInstances.designspace │ │ ├── DesignspaceTest.designspace │ │ ├── MyFont-Bold.ufo │ │ │ ├── fontinfo.plist │ │ │ ├── glyphs │ │ │ │ ├── asas.glif │ │ │ │ ├── contents.plist │ │ │ │ └── l.glif │ │ │ ├── layercontents.plist │ │ │ ├── lib.plist │ │ │ └── metainfo.plist │ │ └── MyFont-Light.ufo │ │ │ ├── fontinfo.plist │ │ │ ├── glyphs │ │ │ ├── asas.glif │ │ │ ├── contents.plist │ │ │ └── l.glif │ │ │ ├── layercontents.plist │ │ │ ├── lib.plist │ │ │ └── metainfo.plist │ ├── DesignspaceRuleOrder │ │ ├── MyFont.designspace │ │ ├── MyFont_Black.ufo │ │ │ ├── fontinfo.plist │ │ │ ├── glyphs │ │ │ │ ├── Q_.alt.glif │ │ │ │ ├── Q_.glif │ │ │ │ ├── Q_.ss01.alt.glif │ │ │ │ ├── Q_.ss01.glif │ │ │ │ └── contents.plist │ │ │ ├── layercontents.plist │ │ │ ├── lib.plist │ │ │ └── metainfo.plist │ │ └── MyFont_Hair.ufo │ │ │ ├── fontinfo.plist │ │ │ ├── glyphs │ │ │ ├── Q_.alt.glif │ │ │ ├── Q_.glif │ │ │ ├── Q_.ss01.alt.glif │ │ │ ├── Q_.ss01.glif │ │ │ └── contents.plist │ │ │ ├── layercontents.plist │ │ │ ├── lib.plist │ │ │ └── metainfo.plist │ ├── DesignspaceTest │ │ ├── DesignspaceTest-bare.designspace │ │ ├── DesignspaceTest-instance-attrs.designspace │ │ ├── DesignspaceTest-lib.designspace │ │ ├── DesignspaceTest-opsz.designspace │ │ ├── DesignspaceTest-slnt.designspace │ │ ├── DesignspaceTest-wght-wdth.designspace │ │ ├── DesignspaceTest.designspace │ │ ├── MyFont-Bold.ufo │ │ │ ├── fontinfo.plist │ │ │ ├── glyphs │ │ │ │ ├── contents.plist │ │ │ │ └── l.glif │ │ │ ├── layercontents.plist │ │ │ └── metainfo.plist │ │ ├── MyFont-Bold.ufoz │ │ ├── MyFont-Light.ufo │ │ │ ├── fontinfo.plist │ │ │ ├── glyphs │ │ │ │ ├── contents.plist │ │ │ │ └── l.glif │ │ │ ├── groups.plist │ │ │ ├── layercontents.plist │ │ │ ├── lib.plist │ │ │ └── metainfo.plist │ │ ├── MyFont-Light.ufoz │ │ └── MyFont-Regular.ufo │ │ │ ├── fontinfo.plist │ │ │ ├── glyphs │ │ │ ├── contents.plist │ │ │ └── l.glif │ │ │ ├── groups.plist │ │ │ ├── layercontents.plist │ │ │ ├── lib.plist │ │ │ └── metainfo.plist │ ├── DottedCircleTest.ufo │ │ ├── fontinfo.plist │ │ ├── glyphs │ │ │ ├── a.glif │ │ │ ├── acutecomb.glif │ │ │ ├── c.glif │ │ │ ├── contents.plist │ │ │ └── dotbelowcomb.glif │ │ ├── layercontents.plist │ │ ├── lib.plist │ │ └── metainfo.plist │ ├── IgnoreAnchorsTest-Thin.ufo │ │ ├── features.fea │ │ ├── fontinfo.plist │ │ ├── glyphs │ │ │ ├── A_.glif │ │ │ ├── A_dieresis.glif │ │ │ ├── a.glif │ │ │ ├── adieresis.glif │ │ │ ├── contents.plist │ │ │ ├── dieresiscomb.glif │ │ │ └── layerinfo.plist │ │ ├── groups.plist │ │ ├── layercontents.plist │ │ ├── lib.plist │ │ └── metainfo.plist │ ├── IncompatibleMasters │ │ ├── IncompatibleMasters.designspace │ │ ├── NewFont-Bold.ufo │ │ │ ├── fontinfo.plist │ │ │ ├── glyphs │ │ │ │ ├── a.glif │ │ │ │ ├── b.glif │ │ │ │ ├── c.glif │ │ │ │ ├── contents.plist │ │ │ │ ├── d.glif │ │ │ │ ├── e.glif │ │ │ │ ├── f.glif │ │ │ │ └── layerinfo.plist │ │ │ ├── groups.plist │ │ │ ├── kerning.plist │ │ │ ├── layercontents.plist │ │ │ ├── lib.plist │ │ │ └── metainfo.plist │ │ └── NewFont-Regular.ufo │ │ │ ├── fontinfo.plist │ │ │ ├── glyphs │ │ │ ├── a.glif │ │ │ ├── b.glif │ │ │ ├── c.glif │ │ │ ├── contents.plist │ │ │ ├── d.glif │ │ │ ├── e.glif │ │ │ ├── f.glif │ │ │ └── layerinfo.plist │ │ │ ├── groups.plist │ │ │ ├── kerning.plist │ │ │ ├── layercontents.plist │ │ │ ├── lib.plist │ │ │ └── metainfo.plist │ ├── InstantiatorStrictMathGlyph │ │ ├── SquareOne.ufo │ │ │ ├── fontinfo.plist │ │ │ ├── glyphs │ │ │ │ ├── contents.plist │ │ │ │ ├── layerinfo.plist │ │ │ │ └── test.glif │ │ │ ├── layercontents.plist │ │ │ ├── lib.plist │ │ │ └── metainfo.plist │ │ ├── SquareTwo.ufo │ │ │ ├── fontinfo.plist │ │ │ ├── glyphs │ │ │ │ ├── contents.plist │ │ │ │ ├── layerinfo.plist │ │ │ │ └── test.glif │ │ │ ├── layercontents.plist │ │ │ ├── lib.plist │ │ │ └── metainfo.plist │ │ └── StrictMathGlyph.designspace │ ├── LayerFont-Bold.ufo │ │ ├── features.fea │ │ ├── fontinfo.plist │ │ ├── glyphs │ │ │ ├── _notdef.glif │ │ │ ├── a.glif │ │ │ ├── contents.plist │ │ │ ├── dotabovecomb.glif │ │ │ ├── e.glif │ │ │ ├── edotabove.glif │ │ │ └── s.glif │ │ ├── layercontents.plist │ │ ├── lib.plist │ │ └── metainfo.plist │ ├── LayerFont-Regular.ufo │ │ ├── features.fea │ │ ├── fontinfo.plist │ │ ├── glyphs.M_edium │ │ │ ├── contents.plist │ │ │ └── e.glif │ │ ├── glyphs │ │ │ ├── _notdef.glif │ │ │ ├── a.glif │ │ │ ├── contents.plist │ │ │ ├── dotabovecomb.glif │ │ │ ├── e.glif │ │ │ ├── edotabove.glif │ │ │ └── s.glif │ │ ├── layercontents.plist │ │ ├── lib.plist │ │ └── metainfo.plist │ ├── MTIFeatures.ttx │ ├── MTIFeatures.ufo │ │ ├── data │ │ │ └── com.github.googlei18n.ufo2ft.mtiFeatures │ │ │ │ └── GSUB.mti │ │ ├── fontinfo.plist │ │ ├── glyphs │ │ │ ├── _notdef.glif │ │ │ ├── a.glif │ │ │ ├── b.glif │ │ │ ├── c.glif │ │ │ ├── contents.plist │ │ │ └── space.glif │ │ ├── groups.plist │ │ ├── kerning.plist │ │ ├── layercontents.plist │ │ ├── lib.plist │ │ └── metainfo.plist │ ├── MultipleAnchorClasses.ufo │ │ ├── fontinfo.plist │ │ ├── glyphs │ │ │ ├── _notdef.glif │ │ │ ├── a.glif │ │ │ ├── acutecomb.glif │ │ │ ├── contents.plist │ │ │ ├── e.glif │ │ │ └── layerinfo.plist │ │ ├── layercontents.plist │ │ ├── lib.plist │ │ └── metainfo.plist │ ├── MultipleAnchorClassesConflict.ufo │ │ ├── fontinfo.plist │ │ ├── glyphs │ │ │ ├── _notdef.glif │ │ │ ├── acutecomb.glif │ │ │ ├── ae.glif │ │ │ ├── contents.plist │ │ │ └── layerinfo.plist │ │ ├── layercontents.plist │ │ ├── lib.plist │ │ └── metainfo.plist │ ├── MutatorSans │ │ ├── LICENSE │ │ ├── MutatorSans-non-default-layer.designspace │ │ ├── MutatorSans-weight-only.designspace │ │ ├── MutatorSans-width-only.designspace │ │ ├── MutatorSans-with-openNodes.designspace │ │ ├── MutatorSans.designspace │ │ ├── MutatorSansBoldCondensed.ufo │ │ │ ├── features.fea │ │ │ ├── fontinfo.plist │ │ │ ├── glyphs.background │ │ │ │ ├── S_.closed.glif │ │ │ │ ├── contents.plist │ │ │ │ └── layerinfo.plist │ │ │ ├── glyphs │ │ │ │ ├── A_.glif │ │ │ │ ├── A_acute.glif │ │ │ │ ├── A_dieresis.glif │ │ │ │ ├── B_.glif │ │ │ │ ├── C_.glif │ │ │ │ ├── D_.glif │ │ │ │ ├── E_.glif │ │ │ │ ├── F_.glif │ │ │ │ ├── G_.glif │ │ │ │ ├── H_.glif │ │ │ │ ├── I_.glif │ │ │ │ ├── I_.narrow.glif │ │ │ │ ├── I_J_.glif │ │ │ │ ├── J_.glif │ │ │ │ ├── J_.narrow.glif │ │ │ │ ├── K_.glif │ │ │ │ ├── L_.glif │ │ │ │ ├── M_.glif │ │ │ │ ├── N_.glif │ │ │ │ ├── O_.glif │ │ │ │ ├── P_.glif │ │ │ │ ├── Q_.glif │ │ │ │ ├── R_.glif │ │ │ │ ├── S_.closed.glif │ │ │ │ ├── S_.glif │ │ │ │ ├── T_.glif │ │ │ │ ├── U_.glif │ │ │ │ ├── V_.glif │ │ │ │ ├── W_.glif │ │ │ │ ├── X_.glif │ │ │ │ ├── Y_.glif │ │ │ │ ├── Z_.glif │ │ │ │ ├── acute.glif │ │ │ │ ├── arrowdown.glif │ │ │ │ ├── arrowleft.glif │ │ │ │ ├── arrowright.glif │ │ │ │ ├── arrowup.glif │ │ │ │ ├── colon.glif │ │ │ │ ├── comma.glif │ │ │ │ ├── contents.plist │ │ │ │ ├── dieresis.glif │ │ │ │ ├── dot.glif │ │ │ │ ├── layerinfo.plist │ │ │ │ ├── period.glif │ │ │ │ ├── quotedblbase.glif │ │ │ │ ├── quotedblleft.glif │ │ │ │ ├── quotedblright.glif │ │ │ │ ├── quotesinglbase.glif │ │ │ │ ├── semicolon.glif │ │ │ │ └── space.glif │ │ │ ├── groups.plist │ │ │ ├── kerning.plist │ │ │ ├── layercontents.plist │ │ │ ├── lib.plist │ │ │ └── metainfo.plist │ │ ├── MutatorSansBoldWide.ufo │ │ │ ├── features.fea │ │ │ ├── fontinfo.plist │ │ │ ├── glyphs.background │ │ │ │ ├── S_.closed.glif │ │ │ │ ├── S_.glif │ │ │ │ ├── contents.plist │ │ │ │ └── layerinfo.plist │ │ │ ├── glyphs │ │ │ │ ├── A_.glif │ │ │ │ ├── A_acute.glif │ │ │ │ ├── A_dieresis.glif │ │ │ │ ├── B_.glif │ │ │ │ ├── C_.glif │ │ │ │ ├── D_.glif │ │ │ │ ├── E_.glif │ │ │ │ ├── F_.glif │ │ │ │ ├── G_.glif │ │ │ │ ├── H_.glif │ │ │ │ ├── I_.glif │ │ │ │ ├── I_.narrow.glif │ │ │ │ ├── I_J_.glif │ │ │ │ ├── J_.glif │ │ │ │ ├── J_.narrow.glif │ │ │ │ ├── K_.glif │ │ │ │ ├── L_.glif │ │ │ │ ├── M_.glif │ │ │ │ ├── N_.glif │ │ │ │ ├── O_.glif │ │ │ │ ├── P_.glif │ │ │ │ ├── Q_.glif │ │ │ │ ├── R_.glif │ │ │ │ ├── S_.closed.glif │ │ │ │ ├── S_.glif │ │ │ │ ├── T_.glif │ │ │ │ ├── U_.glif │ │ │ │ ├── V_.glif │ │ │ │ ├── W_.glif │ │ │ │ ├── X_.glif │ │ │ │ ├── Y_.glif │ │ │ │ ├── Z_.glif │ │ │ │ ├── acute.glif │ │ │ │ ├── arrowdown.glif │ │ │ │ ├── arrowleft.glif │ │ │ │ ├── arrowright.glif │ │ │ │ ├── arrowup.glif │ │ │ │ ├── colon.glif │ │ │ │ ├── comma.glif │ │ │ │ ├── contents.plist │ │ │ │ ├── dieresis.glif │ │ │ │ ├── dot.glif │ │ │ │ ├── layerinfo.plist │ │ │ │ ├── period.glif │ │ │ │ ├── quotedblbase.glif │ │ │ │ ├── quotedblleft.glif │ │ │ │ ├── quotedblright.glif │ │ │ │ ├── quotesinglbase.glif │ │ │ │ ├── semicolon.glif │ │ │ │ └── space.glif │ │ │ ├── groups.plist │ │ │ ├── kerning.plist │ │ │ ├── layercontents.plist │ │ │ ├── lib.plist │ │ │ └── metainfo.plist │ │ ├── MutatorSansIntermediateCondensed.ufo │ │ │ ├── features.fea │ │ │ ├── fontinfo.plist │ │ │ ├── glyphs.background │ │ │ │ ├── S_.glif │ │ │ │ ├── contents.plist │ │ │ │ └── layerinfo.plist │ │ │ ├── glyphs.interpolation │ │ │ │ ├── E_.glif │ │ │ │ ├── contents.plist │ │ │ │ └── layerinfo.plist │ │ │ ├── glyphs.reference.interpolation │ │ │ │ ├── E_.glif │ │ │ │ ├── S_.glif │ │ │ │ ├── contents.plist │ │ │ │ └── layerinfo.plist │ │ │ ├── glyphs │ │ │ │ ├── B_.glif │ │ │ │ ├── E_.glif │ │ │ │ ├── F_.glif │ │ │ │ ├── G_.glif │ │ │ │ ├── S_.glif │ │ │ │ ├── contents.plist │ │ │ │ └── layerinfo.plist │ │ │ ├── layercontents.plist │ │ │ ├── lib.plist │ │ │ └── metainfo.plist │ │ ├── MutatorSansIntermediateWide.ufo │ │ │ ├── features.fea │ │ │ ├── fontinfo.plist │ │ │ ├── glyphs.background │ │ │ │ ├── S_.glif │ │ │ │ ├── contents.plist │ │ │ │ └── layerinfo.plist │ │ │ ├── glyphs │ │ │ │ ├── B_.glif │ │ │ │ ├── E_.glif │ │ │ │ ├── F_.glif │ │ │ │ ├── G_.glif │ │ │ │ ├── contents.plist │ │ │ │ └── layerinfo.plist │ │ │ ├── kerning.plist │ │ │ ├── layercontents.plist │ │ │ ├── lib.plist │ │ │ └── metainfo.plist │ │ ├── MutatorSansLightCondensed.ufo │ │ │ ├── features.fea │ │ │ ├── fontinfo.plist │ │ │ ├── glyphs.background │ │ │ │ ├── S_.closed.glif │ │ │ │ ├── S_.glif │ │ │ │ ├── contents.plist │ │ │ │ └── layerinfo.plist │ │ │ ├── glyphs.support.S_.middle │ │ │ │ ├── S_.closed.glif │ │ │ │ ├── contents.plist │ │ │ │ └── layerinfo.plist │ │ │ ├── glyphs.support.S_.wide │ │ │ │ ├── S_.closed.glif │ │ │ │ ├── S_.glif │ │ │ │ ├── contents.plist │ │ │ │ └── layerinfo.plist │ │ │ ├── glyphs.support.crossbar │ │ │ │ ├── B_.glif │ │ │ │ ├── E_.glif │ │ │ │ ├── F_.glif │ │ │ │ ├── G_.glif │ │ │ │ ├── S_.closed.glif │ │ │ │ ├── S_.glif │ │ │ │ ├── contents.plist │ │ │ │ └── layerinfo.plist │ │ │ ├── glyphs.support.crossbars │ │ │ │ ├── E_.glif │ │ │ │ ├── contents.plist │ │ │ │ └── layerinfo.plist │ │ │ ├── glyphs.support │ │ │ │ ├── A_.glif │ │ │ │ ├── S_.glif │ │ │ │ ├── W_.glif │ │ │ │ ├── contents.plist │ │ │ │ └── layerinfo.plist │ │ │ ├── glyphs │ │ │ │ ├── A_.glif │ │ │ │ ├── A_acute.glif │ │ │ │ ├── A_dieresis.glif │ │ │ │ ├── B_.glif │ │ │ │ ├── C_.glif │ │ │ │ ├── D_.glif │ │ │ │ ├── E_.glif │ │ │ │ ├── F_.glif │ │ │ │ ├── G_.glif │ │ │ │ ├── H_.glif │ │ │ │ ├── I_.glif │ │ │ │ ├── I_.narrow.glif │ │ │ │ ├── I_J_.glif │ │ │ │ ├── J_.glif │ │ │ │ ├── J_.narrow.glif │ │ │ │ ├── K_.glif │ │ │ │ ├── L_.glif │ │ │ │ ├── M_.glif │ │ │ │ ├── N_.glif │ │ │ │ ├── O_.glif │ │ │ │ ├── P_.glif │ │ │ │ ├── Q_.glif │ │ │ │ ├── R_.glif │ │ │ │ ├── S_.closed.glif │ │ │ │ ├── S_.glif │ │ │ │ ├── T_.glif │ │ │ │ ├── U_.glif │ │ │ │ ├── V_.glif │ │ │ │ ├── W_.glif │ │ │ │ ├── X_.glif │ │ │ │ ├── Y_.glif │ │ │ │ ├── Z_.glif │ │ │ │ ├── acute.glif │ │ │ │ ├── arrowdown.glif │ │ │ │ ├── arrowleft.glif │ │ │ │ ├── arrowright.glif │ │ │ │ ├── arrowup.glif │ │ │ │ ├── colon.glif │ │ │ │ ├── comma.glif │ │ │ │ ├── contents.plist │ │ │ │ ├── dieresis.glif │ │ │ │ ├── dot.glif │ │ │ │ ├── layerinfo.plist │ │ │ │ ├── period.glif │ │ │ │ ├── quotedblbase.glif │ │ │ │ ├── quotedblleft.glif │ │ │ │ ├── quotedblright.glif │ │ │ │ ├── quotesinglbase.glif │ │ │ │ ├── semicolon.glif │ │ │ │ └── space.glif │ │ │ ├── groups.plist │ │ │ ├── kerning.plist │ │ │ ├── layercontents.plist │ │ │ ├── lib.plist │ │ │ └── metainfo.plist │ │ ├── MutatorSansLightWide.ufo │ │ │ ├── features.fea │ │ │ ├── fontinfo.plist │ │ │ ├── glyphs.background │ │ │ │ ├── S_.closed.glif │ │ │ │ ├── contents.plist │ │ │ │ └── layerinfo.plist │ │ │ ├── glyphs.master_width_0.00_weight_0.00 │ │ │ │ ├── contents.plist │ │ │ │ └── layerinfo.plist │ │ │ ├── glyphs.master_width_500.00_weight_500.00 │ │ │ │ ├── S_.glif │ │ │ │ ├── contents.plist │ │ │ │ └── layerinfo.plist │ │ │ ├── glyphs.master_width_695.65_weight_166.38 │ │ │ │ ├── contents.plist │ │ │ │ └── layerinfo.plist │ │ │ ├── glyphs.master_width_720.00_weight_645.00 │ │ │ │ ├── S_.glif │ │ │ │ ├── contents.plist │ │ │ │ └── layerinfo.plist │ │ │ ├── glyphs │ │ │ │ ├── A_.glif │ │ │ │ ├── A_acute.glif │ │ │ │ ├── A_dieresis.glif │ │ │ │ ├── B_.glif │ │ │ │ ├── C_.glif │ │ │ │ ├── D_.glif │ │ │ │ ├── E_.glif │ │ │ │ ├── F_.glif │ │ │ │ ├── G_.glif │ │ │ │ ├── H_.glif │ │ │ │ ├── I_.glif │ │ │ │ ├── I_.narrow.glif │ │ │ │ ├── I_J_.glif │ │ │ │ ├── J_.glif │ │ │ │ ├── J_.narrow.glif │ │ │ │ ├── K_.glif │ │ │ │ ├── L_.glif │ │ │ │ ├── M_.glif │ │ │ │ ├── N_.glif │ │ │ │ ├── O_.glif │ │ │ │ ├── P_.glif │ │ │ │ ├── Q_.glif │ │ │ │ ├── R_.glif │ │ │ │ ├── S_.closed.glif │ │ │ │ ├── S_.glif │ │ │ │ ├── T_.glif │ │ │ │ ├── U_.glif │ │ │ │ ├── V_.glif │ │ │ │ ├── W_.glif │ │ │ │ ├── X_.glif │ │ │ │ ├── Y_.glif │ │ │ │ ├── Z_.glif │ │ │ │ ├── acute.glif │ │ │ │ ├── arrowdown.glif │ │ │ │ ├── arrowleft.glif │ │ │ │ ├── arrowright.glif │ │ │ │ ├── arrowup.glif │ │ │ │ ├── colon.glif │ │ │ │ ├── comma.glif │ │ │ │ ├── contents.plist │ │ │ │ ├── dieresis.glif │ │ │ │ ├── dot.glif │ │ │ │ ├── layerinfo.plist │ │ │ │ ├── period.glif │ │ │ │ ├── quotedblbase.glif │ │ │ │ ├── quotedblleft.glif │ │ │ │ ├── quotedblright.glif │ │ │ │ ├── quotesinglbase.glif │ │ │ │ ├── semicolon.glif │ │ │ │ └── space.glif │ │ │ ├── groups.plist │ │ │ ├── kerning.plist │ │ │ ├── layercontents.plist │ │ │ ├── lib.plist │ │ │ └── metainfo.plist │ │ ├── MutatorSans_missing.designspace │ │ └── MutatorSans_no_default.designspace │ ├── MutatorSansLite │ │ ├── LICENSE │ │ ├── MutatorFamily_v5_discrete_axis.designspace │ │ ├── MutatorSansBoldCondensed.ufo │ │ │ ├── features.fea │ │ │ ├── fontinfo.plist │ │ │ ├── glyphs.background │ │ │ │ ├── S_.closed.glif │ │ │ │ ├── contents.plist │ │ │ │ └── layerinfo.plist │ │ │ ├── glyphs │ │ │ │ ├── A_.glif │ │ │ │ ├── I_.glif │ │ │ │ ├── I_.narrow.glif │ │ │ │ ├── I_J_.glif │ │ │ │ ├── S_.closed.glif │ │ │ │ ├── S_.glif │ │ │ │ ├── contents.plist │ │ │ │ └── layerinfo.plist │ │ │ ├── layercontents.plist │ │ │ ├── lib.plist │ │ │ └── metainfo.plist │ │ ├── MutatorSansBoldWide.ufo │ │ │ ├── features.fea │ │ │ ├── fontinfo.plist │ │ │ ├── glyphs.background │ │ │ │ ├── S_.closed.glif │ │ │ │ ├── S_.glif │ │ │ │ ├── contents.plist │ │ │ │ └── layerinfo.plist │ │ │ ├── glyphs │ │ │ │ ├── A_.glif │ │ │ │ ├── I_.glif │ │ │ │ ├── I_.narrow.glif │ │ │ │ ├── I_J_.glif │ │ │ │ ├── S_.closed.glif │ │ │ │ ├── S_.glif │ │ │ │ ├── contents.plist │ │ │ │ └── layerinfo.plist │ │ │ ├── layercontents.plist │ │ │ ├── lib.plist │ │ │ └── metainfo.plist │ │ ├── MutatorSansLightCondensed.ufo │ │ │ ├── features.fea │ │ │ ├── fontinfo.plist │ │ │ ├── glyphs.background │ │ │ │ ├── S_.closed.glif │ │ │ │ ├── S_.glif │ │ │ │ ├── contents.plist │ │ │ │ └── layerinfo.plist │ │ │ ├── glyphs.support.S_.middle │ │ │ │ ├── S_.closed.glif │ │ │ │ ├── contents.plist │ │ │ │ └── layerinfo.plist │ │ │ ├── glyphs.support.S_.wide │ │ │ │ ├── S_.closed.glif │ │ │ │ ├── S_.glif │ │ │ │ ├── contents.plist │ │ │ │ └── layerinfo.plist │ │ │ ├── glyphs.support.crossbar │ │ │ │ ├── S_.glif │ │ │ │ ├── contents.plist │ │ │ │ └── layerinfo.plist │ │ │ ├── glyphs.support.crossbars │ │ │ │ ├── E_.glif │ │ │ │ ├── contents.plist │ │ │ │ └── layerinfo.plist │ │ │ ├── glyphs.support │ │ │ │ ├── A_.glif │ │ │ │ ├── S_.glif │ │ │ │ ├── contents.plist │ │ │ │ └── layerinfo.plist │ │ │ ├── glyphs │ │ │ │ ├── A_.glif │ │ │ │ ├── I_.glif │ │ │ │ ├── I_.narrow.glif │ │ │ │ ├── I_J_.glif │ │ │ │ ├── S_.closed.glif │ │ │ │ ├── S_.glif │ │ │ │ ├── contents.plist │ │ │ │ └── layerinfo.plist │ │ │ ├── layercontents.plist │ │ │ ├── lib.plist │ │ │ └── metainfo.plist │ │ ├── MutatorSansLightWide.ufo │ │ │ ├── features.fea │ │ │ ├── fontinfo.plist │ │ │ ├── glyphs.background │ │ │ │ ├── S_.closed.glif │ │ │ │ ├── contents.plist │ │ │ │ └── layerinfo.plist │ │ │ ├── glyphs.master_width_0.00_weight_0.00 │ │ │ │ ├── contents.plist │ │ │ │ └── layerinfo.plist │ │ │ ├── glyphs.master_width_500.00_weight_500.00 │ │ │ │ ├── S_.glif │ │ │ │ ├── contents.plist │ │ │ │ └── layerinfo.plist │ │ │ ├── glyphs.master_width_695.65_weight_166.38 │ │ │ │ ├── contents.plist │ │ │ │ └── layerinfo.plist │ │ │ ├── glyphs.master_width_720.00_weight_645.00 │ │ │ │ ├── S_.glif │ │ │ │ ├── contents.plist │ │ │ │ └── layerinfo.plist │ │ │ ├── glyphs │ │ │ │ ├── A_.glif │ │ │ │ ├── I_.glif │ │ │ │ ├── I_.narrow.glif │ │ │ │ ├── I_J_.glif │ │ │ │ ├── S_.closed.glif │ │ │ │ ├── S_.glif │ │ │ │ ├── contents.plist │ │ │ │ └── layerinfo.plist │ │ │ ├── layercontents.plist │ │ │ ├── lib.plist │ │ │ └── metainfo.plist │ │ ├── MutatorSans_v5_implicit_one_vf.designspace │ │ ├── MutatorSans_v5_several_vfs.designspace │ │ ├── MutatorSans_v5_several_vfs_discrete_axis.designspace │ │ ├── MutatorSerifLightCondensed.ufo │ │ │ ├── features.fea │ │ │ ├── fontinfo.plist │ │ │ ├── glyphs │ │ │ │ ├── A_.glif │ │ │ │ └── contents.plist │ │ │ ├── layercontents.plist │ │ │ ├── lib.plist │ │ │ └── metainfo.plist │ │ └── MutatorSerifLightWide.ufo │ │ │ ├── features.fea │ │ │ ├── fontinfo.plist │ │ │ ├── glyphs │ │ │ ├── A_.glif │ │ │ └── contents.plist │ │ │ ├── layercontents.plist │ │ │ ├── lib.plist │ │ │ └── metainfo.plist │ ├── NestedComponents-Bold.ufo │ │ ├── fontinfo.plist │ │ ├── glyphs │ │ │ ├── _notdef.glif │ │ │ ├── a.glif │ │ │ ├── b.glif │ │ │ ├── c.glif │ │ │ ├── contents.plist │ │ │ ├── d.glif │ │ │ ├── e.glif │ │ │ └── space.glif │ │ ├── layercontents.plist │ │ ├── lib.plist │ │ └── metainfo.plist │ ├── NestedComponents-Regular.ufo │ │ ├── fontinfo.plist │ │ ├── glyphs.M_edium │ │ │ ├── a.glif │ │ │ ├── contents.plist │ │ │ └── e.glif │ │ ├── glyphs │ │ │ ├── _notdef.glif │ │ │ ├── a.glif │ │ │ ├── b.glif │ │ │ ├── c.glif │ │ │ ├── contents.plist │ │ │ ├── d.glif │ │ │ ├── e.glif │ │ │ └── space.glif │ │ ├── layercontents.plist │ │ ├── lib.plist │ │ └── metainfo.plist │ ├── NestedComponents.designspace │ ├── OTestFont-Bold.ufo │ │ ├── fontinfo.plist │ │ ├── glyphs │ │ │ ├── contents.plist │ │ │ ├── o.glif │ │ │ └── space.glif │ │ ├── layercontents.plist │ │ └── metainfo.plist │ ├── OTestFont-Regular.ufo │ │ ├── fontinfo.plist │ │ ├── glyphs │ │ │ ├── contents.plist │ │ │ ├── o.glif │ │ │ └── space.glif │ │ ├── layercontents.plist │ │ └── metainfo.plist │ ├── OTestFont.designspace │ ├── SkipExportGlyphsTest-Bold.ufo │ │ ├── fontinfo.plist │ │ ├── glyphs │ │ │ ├── A_.glif │ │ │ ├── A_stroke.glif │ │ │ ├── _stroke.glif │ │ │ └── contents.plist │ │ ├── layercontents.plist │ │ ├── lib.plist │ │ └── metainfo.plist │ ├── SkipExportGlyphsTest-Regular.ufo │ │ ├── fontinfo.plist │ │ ├── glyphs.{151} │ │ │ ├── _stroke.glif │ │ │ └── contents.plist │ │ ├── glyphs.{170} │ │ │ ├── A_stroke.glif │ │ │ └── contents.plist │ │ ├── glyphs │ │ │ ├── A_.glif │ │ │ ├── A_stroke.glif │ │ │ ├── _stroke.glif │ │ │ └── contents.plist │ │ ├── layercontents.plist │ │ ├── lib.plist │ │ └── metainfo.plist │ ├── SkipExportGlyphsTest.designspace │ ├── SpacingCombiningTest-Regular.ufo │ │ ├── fontinfo.plist │ │ ├── glyphs │ │ │ ├── contents.plist │ │ │ ├── highspacingdot-deva.glif │ │ │ ├── ka-deva.glif │ │ │ ├── layerinfo.plist │ │ │ ├── ra-deva.glif │ │ │ └── space.glif │ │ ├── kerning.plist │ │ ├── layercontents.plist │ │ ├── lib.plist │ │ └── metainfo.plist │ ├── SwapGlyphNames │ │ ├── A.ufo │ │ │ ├── fontinfo.plist │ │ │ ├── glyphs │ │ │ │ ├── a.glif │ │ │ │ ├── a.swap.glif │ │ │ │ ├── aaa.glif │ │ │ │ ├── aaa.swap.glif │ │ │ │ ├── contents.plist │ │ │ │ ├── space.glif │ │ │ │ ├── x.glif │ │ │ │ └── y.glif │ │ │ ├── groups.plist │ │ │ ├── kerning.plist │ │ │ ├── layercontents.plist │ │ │ ├── lib.plist │ │ │ └── metainfo.plist │ │ └── B.ufo │ │ │ ├── fontinfo.plist │ │ │ ├── glyphs │ │ │ ├── a.alt.glif │ │ │ ├── a.glif │ │ │ ├── adieresis.alt.glif │ │ │ ├── adieresis.glif │ │ │ ├── contents.plist │ │ │ └── dieresiscomb.glif │ │ │ ├── layercontents.plist │ │ │ ├── lib.plist │ │ │ └── metainfo.plist │ ├── TestFont-CFF-compreffor.ttx │ ├── TestFont-CFF.ttx │ ├── TestFont-CFF2-cffsubr.ttx │ ├── TestFont-CFF2-compreffor.ttx │ ├── TestFont-CFF2-post3.ttx │ ├── TestFont-NoOptimize-CFF.ttx │ ├── TestFont-NoOptimize-CFF2.ttx │ ├── TestFont-NoOverlaps-CFF-pathops.ttx │ ├── TestFont-NoOverlaps-CFF.ttx │ ├── TestFont-NoOverlaps-TTF-pathops.ttx │ ├── TestFont-NoOverlaps-TTF.ttx │ ├── TestFont-Specialized-CFF.ttx │ ├── TestFont-Specialized-CFF2.ttx │ ├── TestFont-TTF-post3.ttx │ ├── TestFont-not-allQuadratic.ttx │ ├── TestFont.ttx │ ├── TestFont.ufo │ │ ├── data │ │ │ └── com.github.fonttools.ttx │ │ │ │ └── CUST.ttx │ │ ├── features.fea │ │ ├── fontinfo.plist │ │ ├── glyphs │ │ │ ├── _notdef.glif │ │ │ ├── a.glif │ │ │ ├── b.glif │ │ │ ├── c.glif │ │ │ ├── contents.plist │ │ │ ├── d.glif │ │ │ ├── e.glif │ │ │ ├── f.glif │ │ │ ├── g.glif │ │ │ ├── h.glif │ │ │ ├── i.glif │ │ │ ├── j.glif │ │ │ ├── k.glif │ │ │ ├── l.glif │ │ │ └── space.glif │ │ ├── kerning.plist │ │ ├── layercontents.plist │ │ ├── lib.plist │ │ └── metainfo.plist │ ├── TestMathFont-Regular.ufo │ │ ├── features.fea │ │ ├── fontinfo.plist │ │ ├── glyphs │ │ │ ├── contents.plist │ │ │ ├── parenleft.bot.glif │ │ │ ├── parenleft.ext.glif │ │ │ ├── parenleft.glif │ │ │ ├── parenleft.size1.glif │ │ │ ├── parenleft.size2.glif │ │ │ ├── parenleft.size3.glif │ │ │ ├── parenleft.size4.glif │ │ │ ├── parenleft.top.glif │ │ │ ├── parenright.bot.glif │ │ │ ├── parenright.ext.glif │ │ │ ├── parenright.glif │ │ │ ├── parenright.size1.glif │ │ │ ├── parenright.size2.glif │ │ │ ├── parenright.size3.glif │ │ │ ├── parenright.size4.glif │ │ │ └── parenright.top.glif │ │ ├── layercontents.plist │ │ ├── lib.plist │ │ └── metainfo.plist │ ├── TestVarFont-Bold.ufo │ │ ├── fontinfo.plist │ │ ├── glyphs │ │ │ ├── alef-ar.fina.glif │ │ │ ├── contents.plist │ │ │ └── space.glif │ │ ├── layercontents.plist │ │ ├── lib.plist │ │ └── metainfo.plist │ ├── TestVarFont-MyFontVF1.ttx │ ├── TestVarFont-MyFontVF2.ttx │ ├── TestVarFont-Regular.ufo │ │ ├── fontinfo.plist │ │ ├── glyphs │ │ │ ├── alef-ar.fina.glif │ │ │ ├── contents.plist │ │ │ └── space.glif │ │ ├── layercontents.plist │ │ ├── lib.plist │ │ └── metainfo.plist │ ├── TestVarFont.designspace │ ├── TestVarfea-Bold.ufo │ │ ├── fontinfo.plist │ │ ├── glyphs │ │ │ ├── alef-ar.fina.glif │ │ │ ├── contents.plist │ │ │ ├── dotabove-ar.glif │ │ │ ├── layerinfo.plist │ │ │ ├── peh-ar.init.B_R_A_C_K_E_T_.varA_lt01.glif │ │ │ ├── peh-ar.init.glif │ │ │ └── space.glif │ │ ├── kerning.plist │ │ ├── layercontents.plist │ │ ├── lib.plist │ │ └── metainfo.plist │ ├── TestVarfea-Regular.ufo │ │ ├── fontinfo.plist │ │ ├── glyphs │ │ │ ├── a.glif │ │ │ ├── alef-ar.fina.glif │ │ │ ├── contents.plist │ │ │ ├── dotabove-ar.glif │ │ │ ├── gravecmb.glif │ │ │ ├── layerinfo.plist │ │ │ ├── peh-ar.init.B_R_A_C_K_E_T_.varA_lt01.glif │ │ │ ├── peh-ar.init.glif │ │ │ └── space.glif │ │ ├── groups.plist │ │ ├── kerning.plist │ │ ├── layercontents.plist │ │ ├── lib.plist │ │ └── metainfo.plist │ ├── TestVarfea.designspace │ ├── TestVarfea.glyphs │ ├── TestVariableFont-CFF2-cffsubr.ttx │ ├── TestVariableFont-CFF2-post3.ttx │ ├── TestVariableFont-CFF2-sparse-notdefGlyph.ttx │ ├── TestVariableFont-CFF2-useProductionNames.ttx │ ├── TestVariableFont-CFF2.ttx │ ├── TestVariableFont-TTF-not-allQuadratic.ttx │ ├── TestVariableFont-TTF-post3.ttx │ ├── TestVariableFont-TTF-useProductionNames.ttx │ ├── TestVariableFont-TTF.ttx │ └── UseMyMetrics.ufo │ │ ├── fontinfo.plist │ │ ├── glyphs │ │ ├── I_.glif │ │ ├── I_acute.glif │ │ ├── acute.glif │ │ ├── contents.plist │ │ └── romanthree.glif │ │ ├── layercontents.plist │ │ └── metainfo.plist ├── featureCompiler_test.py ├── featureWriters │ ├── __init__.py │ ├── __snapshots__ │ │ └── kernFeatureWriter2_test.ambr │ ├── ast_test.py │ ├── cursFeatureWriter_test.py │ ├── featureWriters_test.py │ ├── gdefFeatureWriter_test.py │ ├── kernFeatureWriter2_test.py │ ├── kernFeatureWriter_test.py │ ├── markFeatureWriter_test.py │ └── variableFeatureWriter_test.py ├── filters │ ├── __init__.py │ ├── decomposeComponents_test.py │ ├── decomposeTransformedComponents_test.py │ ├── dottedCircle_test.py │ ├── explodeColorLayerGlyphs_test.py │ ├── filters_test.py │ ├── flattenComponents_test.py │ ├── propagateAnchors_test.py │ ├── sortContours_test.py │ └── transformations_test.py ├── fontInfoData_test.py ├── infoCompiler_test.py ├── instantiator_test.py ├── instructionCompiler_test.py ├── integration_test.py ├── outlineCompiler_test.py ├── preProcessor_test.py ├── testSupport.py └── util_test.py └── tox.ini /.codecov.yml: -------------------------------------------------------------------------------- 1 | comment: false 2 | coverage: 3 | status: 4 | project: false 5 | patch: false 6 | -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- 1 | # Set the default behavior, in case people don't have core.autocrlf set. 2 | * text=lf 3 | 4 | # Explicitly declare text files you want to always be normalized and converted 5 | # to native line endings on checkout. 6 | *.cfg text 7 | *.ini text 8 | *.md text 9 | *.py text 10 | *.toml text 11 | *.txt text 12 | *.yaml text 13 | *.yml text 14 | -------------------------------------------------------------------------------- /.pyup.yml: -------------------------------------------------------------------------------- 1 | # controls the frequency of updates (undocumented beta feature) 2 | schedule: every week 3 | 4 | # do not pin dependencies unless they have explicit version specifiers 5 | pin: False 6 | -------------------------------------------------------------------------------- /Lib/ufo2ft/_compilers/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/googlefonts/ufo2ft/f5ede24091e4dcd1863188a0c45aa072c10b1578/Lib/ufo2ft/_compilers/__init__.py -------------------------------------------------------------------------------- /Lib/ufo2ft/errors.py: -------------------------------------------------------------------------------- 1 | class Error(Exception): 2 | """Base exception class for all ufo2ft errors.""" 3 | 4 | pass 5 | 6 | 7 | class InvalidFontData(Error): 8 | """Raised when input font contains invalid data.""" 9 | 10 | pass 11 | 12 | 13 | class InvalidFeaturesData(Error): 14 | """Raised when input font contains invalid features data.""" 15 | 16 | pass 17 | 18 | 19 | class InvalidDesignSpaceData(Error): 20 | """Raised when input DesignSpace document contains invalid data.""" 21 | 22 | pass 23 | -------------------------------------------------------------------------------- /Lib/ufo2ft/filters/dottedCircleFilter.py: -------------------------------------------------------------------------------- 1 | """This is a redirection stub, because the original module was 2 | misnamed.""" 3 | 4 | import warnings 5 | 6 | from .dottedCircle import DottedCircleFilter # noqa 7 | 8 | warnings.warn( 9 | "The dottedCircleFilter module is deprecated, please import dottedCircle instead.", 10 | UserWarning, 11 | stacklevel=1, 12 | ) 13 | -------------------------------------------------------------------------------- /Lib/ufo2ft/filters/reverseContourDirection.py: -------------------------------------------------------------------------------- 1 | from fontTools.pens.pointPen import ReverseContourPointPen 2 | 3 | from ufo2ft.filters import BaseFilter 4 | 5 | 6 | class ReverseContourDirectionFilter(BaseFilter): 7 | def filter(self, glyph): 8 | if not len(glyph): 9 | return False 10 | pen = ReverseContourPointPen(glyph.getPointPen()) 11 | contours = list(glyph) 12 | glyph.clearContours() 13 | for contour in contours: 14 | contour.drawPoints(pen) 15 | return True 16 | -------------------------------------------------------------------------------- /Lib/ufo2ft/maxContextCalc.py: -------------------------------------------------------------------------------- 1 | """NOTE: this module was moved to fonttools, it is kept here only for backward 2 | compatibility. Please import it from the new location. 3 | """ 4 | 5 | from fontTools.otlLib.maxContextCalc import maxCtxFont 6 | 7 | __all__ = ["maxCtxFont"] 8 | -------------------------------------------------------------------------------- /MANIFEST.in: -------------------------------------------------------------------------------- 1 | include README.rst 2 | include LICENSE 3 | 4 | include tox.ini 5 | include *requirements.txt 6 | 7 | recursive-include tests *.py 8 | recursive-include tests/data *.glif *.plist *.fea *.ttx 9 | -------------------------------------------------------------------------------- /dev-requirements.txt: -------------------------------------------------------------------------------- 1 | coverage 2 | pytest 3 | black 4 | isort 5 | flake8-bugbear 6 | syrupy -------------------------------------------------------------------------------- /requirements.txt: -------------------------------------------------------------------------------- 1 | fonttools[lxml,ufo]==4.55.0 2 | defcon==0.10.3 3 | compreffor==0.5.6 4 | booleanOperations==0.9.0 5 | cffsubr==0.3.0 6 | skia-pathops==0.8.0.post2 7 | fontMath==0.9.4 8 | 9 | # alternative UFO implementation 10 | ufoLib2==0.17.0 11 | -------------------------------------------------------------------------------- /setup.cfg: -------------------------------------------------------------------------------- 1 | [wheel] 2 | universal = 1 3 | 4 | [sdist] 5 | formats = zip 6 | 7 | [aliases] 8 | test = pytest 9 | 10 | [metadata] 11 | license_file = LICENSE 12 | 13 | [tool:pytest] 14 | minversion = 2.8 15 | testpaths = 16 | tests 17 | python_files = 18 | *_test.py 19 | python_classes = 20 | *Test 21 | addopts = 22 | -r a 23 | filterwarnings: 24 | ignore:tostring:DeprecationWarning 25 | ignore:fromstring:DeprecationWarning 26 | ignore:.*bytes:DeprecationWarning:fs.base 27 | ignore::DeprecationWarning:fs 28 | ignore::DeprecationWarning:pkg_resources -------------------------------------------------------------------------------- /tests/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/googlefonts/ufo2ft/f5ede24091e4dcd1863188a0c45aa072c10b1578/tests/__init__.py -------------------------------------------------------------------------------- /tests/data/Alternates-Regular.ufo/features.fea: -------------------------------------------------------------------------------- 1 | # Prefix: Languagesystems 2 | languagesystem DFLT dflt; 3 | 4 | languagesystem ory2 dflt; 5 | languagesystem latn dflt; # This is needed in our full builds because we use feature variations 6 | 7 | -------------------------------------------------------------------------------- /tests/data/Alternates-Regular.ufo/fontinfo.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | ascender 6 | 1069 7 | capHeight 8 | 714 9 | descender 10 | -293 11 | familyName 12 | Alternates 13 | 14 | 15 | -------------------------------------------------------------------------------- /tests/data/Alternates-Regular.ufo/layercontents.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | public.default 7 | glyphs 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /tests/data/Alternates-Regular.ufo/lib.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | public.glyphOrder 6 | 7 | ka-oriya 8 | uuMatra-oriya 9 | lVocalicMatra-oriya 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /tests/data/Alternates-Regular.ufo/metainfo.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | creator 6 | com.github.fonttools.ufoLib 7 | formatVersion 8 | 3 9 | 10 | 11 | -------------------------------------------------------------------------------- /tests/data/Bug108.ufo/features.fea: -------------------------------------------------------------------------------- 1 | include(Bug108_included.fea) 2 | -------------------------------------------------------------------------------- /tests/data/Bug108.ufo/glyphs/a.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /tests/data/Bug108.ufo/glyphs/b.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /tests/data/Bug108.ufo/glyphs/c.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /tests/data/Bug108.ufo/glyphs/contents.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | .notdef 6 | _notdef.glif 7 | a 8 | a.glif 9 | b 10 | b.glif 11 | c 12 | c.glif 13 | space 14 | space.glif 15 | 16 | 17 | -------------------------------------------------------------------------------- /tests/data/Bug108.ufo/glyphs/space.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /tests/data/Bug108.ufo/groups.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /tests/data/Bug108.ufo/layercontents.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | public.default 7 | glyphs 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /tests/data/Bug108.ufo/metainfo.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | creator 6 | copy-paste 7 | formatVersion 8 | 3 9 | 10 | 11 | -------------------------------------------------------------------------------- /tests/data/Bug108_included.fea: -------------------------------------------------------------------------------- 1 | feature kern { 2 | pos a b -10; 3 | } kern; 4 | -------------------------------------------------------------------------------- /tests/data/Bug908.ufo/glyphs/contents.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | .notdef 6 | _notdef.glif 7 | u2F803 8 | u2F_803.glif 9 | 10 | 11 | -------------------------------------------------------------------------------- /tests/data/Bug908.ufo/groups.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /tests/data/Bug908.ufo/layercontents.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | public.default 7 | glyphs 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /tests/data/Bug908.ufo/metainfo.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | creator 6 | copy-paste 7 | formatVersion 8 | 3 9 | 10 | 11 | -------------------------------------------------------------------------------- /tests/data/COLRv1Test.ufo/glyphs/a.color2.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /tests/data/COLRv1Test.ufo/glyphs/a.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /tests/data/COLRv1Test.ufo/glyphs/contents.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | a 6 | a.glif 7 | a.color1 8 | a.color1.glif 9 | a.color2 10 | a.color2.glif 11 | 12 | 13 | -------------------------------------------------------------------------------- /tests/data/COLRv1Test.ufo/glyphs/layerinfo.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | color 6 | 1,0.75,0,0.7 7 | 8 | 9 | -------------------------------------------------------------------------------- /tests/data/COLRv1Test.ufo/layercontents.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | foreground 7 | glyphs 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /tests/data/COLRv1Test.ufo/metainfo.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | creator 6 | com.github.fonttools.ufoLib 7 | formatVersion 8 | 3 9 | 10 | 11 | -------------------------------------------------------------------------------- /tests/data/CantarellAnchorPropagation.ufo/glyphs/circumflexcomb_tildecomb.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | com.schriftgestaltung.Glyphs.originalWidth 10 | 432.0 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /tests/data/CantarellAnchorPropagation.ufo/glyphs/ocircumflextilde.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /tests/data/CantarellAnchorPropagation.ufo/layercontents.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | public.default 7 | glyphs 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /tests/data/CantarellAnchorPropagation.ufo/metainfo.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | creator 6 | com.github.fonttools.ufoLib 7 | formatVersion 8 | 3 9 | 10 | 11 | -------------------------------------------------------------------------------- /tests/data/ColorTest.ufo/glyphs.color1/contents.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | a 6 | a.glif 7 | b 8 | b.glif 9 | c 10 | c.glif 11 | 12 | 13 | -------------------------------------------------------------------------------- /tests/data/ColorTest.ufo/glyphs.color1/layerinfo.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | color 6 | 0,1,0.25,0.7 7 | 8 | 9 | -------------------------------------------------------------------------------- /tests/data/ColorTest.ufo/glyphs.color2/a.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /tests/data/ColorTest.ufo/glyphs.color2/b.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /tests/data/ColorTest.ufo/glyphs.color2/c.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /tests/data/ColorTest.ufo/glyphs.color2/contents.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | a 6 | a.glif 7 | b 8 | b.glif 9 | c 10 | c.glif 11 | 12 | 13 | -------------------------------------------------------------------------------- /tests/data/ColorTest.ufo/glyphs.color2/layerinfo.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | color 6 | 0,1,1,0.7 7 | 8 | 9 | -------------------------------------------------------------------------------- /tests/data/ColorTest.ufo/glyphs/a.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /tests/data/ColorTest.ufo/glyphs/contents.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | a 6 | a.glif 7 | b 8 | b.glif 9 | c 10 | c.glif 11 | space 12 | space.glif 13 | 14 | 15 | -------------------------------------------------------------------------------- /tests/data/ColorTest.ufo/glyphs/layerinfo.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | color 6 | 1,0.75,0,0.7 7 | 8 | 9 | -------------------------------------------------------------------------------- /tests/data/ColorTest.ufo/glyphs/space.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /tests/data/ColorTest.ufo/metainfo.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | creator 6 | com.github.fonttools.ufoLib 7 | formatVersion 8 | 3 9 | 10 | 11 | -------------------------------------------------------------------------------- /tests/data/ColorTestRaw.ufo/glyphs/a.color2.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /tests/data/ColorTestRaw.ufo/glyphs/a.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /tests/data/ColorTestRaw.ufo/glyphs/contents.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | a 6 | a.glif 7 | a.color1 8 | a.color1.glif 9 | a.color2 10 | a.color2.glif 11 | space 12 | space.glif 13 | 14 | 15 | -------------------------------------------------------------------------------- /tests/data/ColorTestRaw.ufo/glyphs/layerinfo.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | color 6 | 1,0.75,0,0.7 7 | 8 | 9 | -------------------------------------------------------------------------------- /tests/data/ColorTestRaw.ufo/glyphs/space.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /tests/data/ColorTestRaw.ufo/layercontents.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | foreground 7 | glyphs 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /tests/data/ColorTestRaw.ufo/metainfo.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | creator 6 | com.github.fonttools.ufoLib 7 | formatVersion 8 | 3 9 | 10 | 11 | -------------------------------------------------------------------------------- /tests/data/ComponentTransformTest-Bold.ufo/glyphs/component_no_transform.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /tests/data/ComponentTransformTest-Bold.ufo/glyphs/no_component.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /tests/data/ComponentTransformTest-Bold.ufo/layercontents.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | public.default 7 | glyphs 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /tests/data/ComponentTransformTest-Bold.ufo/metainfo.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | creator 6 | com.github.fonttools.ufoLib 7 | formatVersion 8 | 3 9 | 10 | 11 | -------------------------------------------------------------------------------- /tests/data/ComponentTransformTest-Regular.ufo/glyphs/component_different_transform.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /tests/data/ComponentTransformTest-Regular.ufo/glyphs/component_no_transform.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /tests/data/ComponentTransformTest-Regular.ufo/glyphs/component_same_transform.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /tests/data/ComponentTransformTest-Regular.ufo/glyphs/no_component.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /tests/data/ComponentTransformTest-Regular.ufo/layercontents.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | public.default 7 | glyphs 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /tests/data/ComponentTransformTest-Regular.ufo/metainfo.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | creator 6 | com.github.fonttools.ufoLib 7 | formatVersion 8 | 3 9 | 10 | 11 | -------------------------------------------------------------------------------- /tests/data/ContextualAnchorsTest-Regular.ufo/glyphs/beh-ar.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /tests/data/ContextualAnchorsTest-Regular.ufo/glyphs/behT_wodotsbelowD_otabove-ar.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /tests/data/ContextualAnchorsTest-Regular.ufo/layercontents.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | public.default 7 | glyphs 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /tests/data/ContextualAnchorsTest-Regular.ufo/metainfo.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | creator 6 | com.github.fonttools.ufoLib 7 | formatVersion 8 | 3 9 | 10 | 11 | -------------------------------------------------------------------------------- /tests/data/ContourOrderTest.ufo/glyphs/contents.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | graphemejoinercomb 6 | graphemejoinercomb.glif 7 | uniFFFC 8 | uniF_F_F_C_.glif 9 | xxx 10 | xxx.glif 11 | 12 | 13 | -------------------------------------------------------------------------------- /tests/data/ContourOrderTest.ufo/glyphs/xxx.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /tests/data/ContourOrderTest.ufo/layercontents.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | public.default 7 | glyphs 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /tests/data/ContourOrderTest.ufo/metainfo.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | creator 6 | com.github.fonttools.ufoLib 7 | formatVersion 8 | 3 9 | 10 | 11 | -------------------------------------------------------------------------------- /tests/data/DesignspaceBrokenTest/MyFont-Bold.ufo/glyphs/asas.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /tests/data/DesignspaceBrokenTest/MyFont-Bold.ufo/glyphs/contents.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | asas 6 | asas.glif 7 | l 8 | l.glif 9 | 10 | 11 | -------------------------------------------------------------------------------- /tests/data/DesignspaceBrokenTest/MyFont-Bold.ufo/glyphs/l.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /tests/data/DesignspaceBrokenTest/MyFont-Bold.ufo/layercontents.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | public.default 7 | glyphs 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /tests/data/DesignspaceBrokenTest/MyFont-Bold.ufo/lib.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | public.glyphOrder 6 | 7 | l 8 | asas 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /tests/data/DesignspaceBrokenTest/MyFont-Bold.ufo/metainfo.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | creator 6 | com.github.fonttools.ufoLib 7 | formatVersion 8 | 3 9 | 10 | 11 | -------------------------------------------------------------------------------- /tests/data/DesignspaceBrokenTest/MyFont-Light.ufo/glyphs/contents.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | asas 6 | asas.glif 7 | l 8 | l.glif 9 | 10 | 11 | -------------------------------------------------------------------------------- /tests/data/DesignspaceBrokenTest/MyFont-Light.ufo/glyphs/l.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /tests/data/DesignspaceBrokenTest/MyFont-Light.ufo/layercontents.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | public.default 7 | glyphs 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /tests/data/DesignspaceBrokenTest/MyFont-Light.ufo/lib.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | public.glyphOrder 6 | 7 | l 8 | asas 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /tests/data/DesignspaceBrokenTest/MyFont-Light.ufo/metainfo.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | creator 6 | com.github.fonttools.ufoLib 7 | formatVersion 8 | 3 9 | 10 | 11 | -------------------------------------------------------------------------------- /tests/data/DesignspaceRuleOrder/MyFont_Black.ufo/glyphs/contents.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Q 6 | Q_.glif 7 | Q.alt 8 | Q_.alt.glif 9 | Q.ss01 10 | Q_.ss01.glif 11 | Q.ss01.alt 12 | Q_.ss01.alt.glif 13 | 14 | 15 | -------------------------------------------------------------------------------- /tests/data/DesignspaceRuleOrder/MyFont_Black.ufo/layercontents.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | public.default 7 | glyphs 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /tests/data/DesignspaceRuleOrder/MyFont_Black.ufo/lib.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | public.glyphOrder 6 | 7 | Q 8 | Q.alt 9 | Q.ss01 10 | Q.ss01.alt 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /tests/data/DesignspaceRuleOrder/MyFont_Black.ufo/metainfo.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | creator 6 | com.github.fonttools.ufoLib 7 | formatVersion 8 | 3 9 | 10 | 11 | -------------------------------------------------------------------------------- /tests/data/DesignspaceRuleOrder/MyFont_Hair.ufo/glyphs/contents.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Q 6 | Q_.glif 7 | Q.alt 8 | Q_.alt.glif 9 | Q.ss01 10 | Q_.ss01.glif 11 | Q.ss01.alt 12 | Q_.ss01.alt.glif 13 | 14 | 15 | -------------------------------------------------------------------------------- /tests/data/DesignspaceRuleOrder/MyFont_Hair.ufo/layercontents.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | public.default 7 | glyphs 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /tests/data/DesignspaceRuleOrder/MyFont_Hair.ufo/lib.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | public.glyphOrder 6 | 7 | Q 8 | Q.alt 9 | Q.ss01 10 | Q.ss01.alt 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /tests/data/DesignspaceRuleOrder/MyFont_Hair.ufo/metainfo.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | creator 6 | com.github.fonttools.ufoLib 7 | formatVersion 8 | 3 9 | 10 | 11 | -------------------------------------------------------------------------------- /tests/data/DesignspaceTest/MyFont-Bold.ufo/glyphs/contents.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | l 6 | l.glif 7 | 8 | 9 | -------------------------------------------------------------------------------- /tests/data/DesignspaceTest/MyFont-Bold.ufo/glyphs/l.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /tests/data/DesignspaceTest/MyFont-Bold.ufo/layercontents.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | public.default 7 | glyphs 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /tests/data/DesignspaceTest/MyFont-Bold.ufo/metainfo.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | creator 6 | com.github.fonttools.ufoLib 7 | formatVersion 8 | 3 9 | 10 | 11 | -------------------------------------------------------------------------------- /tests/data/DesignspaceTest/MyFont-Bold.ufoz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/googlefonts/ufo2ft/f5ede24091e4dcd1863188a0c45aa072c10b1578/tests/data/DesignspaceTest/MyFont-Bold.ufoz -------------------------------------------------------------------------------- /tests/data/DesignspaceTest/MyFont-Light.ufo/glyphs/contents.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | l 6 | l.glif 7 | 8 | 9 | -------------------------------------------------------------------------------- /tests/data/DesignspaceTest/MyFont-Light.ufo/glyphs/l.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /tests/data/DesignspaceTest/MyFont-Light.ufo/groups.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | nonkerning_group 6 | 7 | A 8 | 9 | public.kern2.asdf 10 | 11 | A 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /tests/data/DesignspaceTest/MyFont-Light.ufo/layercontents.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | public.default 7 | glyphs 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /tests/data/DesignspaceTest/MyFont-Light.ufo/lib.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | blorb 6 | asasa 7 | 8 | 9 | -------------------------------------------------------------------------------- /tests/data/DesignspaceTest/MyFont-Light.ufo/metainfo.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | creator 6 | com.github.fonttools.ufoLib 7 | formatVersion 8 | 3 9 | 10 | 11 | -------------------------------------------------------------------------------- /tests/data/DesignspaceTest/MyFont-Light.ufoz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/googlefonts/ufo2ft/f5ede24091e4dcd1863188a0c45aa072c10b1578/tests/data/DesignspaceTest/MyFont-Light.ufoz -------------------------------------------------------------------------------- /tests/data/DesignspaceTest/MyFont-Regular.ufo/glyphs/contents.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | l 6 | l.glif 7 | 8 | 9 | -------------------------------------------------------------------------------- /tests/data/DesignspaceTest/MyFont-Regular.ufo/glyphs/l.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /tests/data/DesignspaceTest/MyFont-Regular.ufo/groups.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | nonkerning_group 6 | 7 | A 8 | 9 | public.kern2.asdf 10 | 11 | A 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /tests/data/DesignspaceTest/MyFont-Regular.ufo/layercontents.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | public.default 7 | glyphs 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /tests/data/DesignspaceTest/MyFont-Regular.ufo/lib.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | blorb 6 | asasa 7 | designspace.location 8 | 9 | 10 | weight 11 | 100.0 12 | 13 | 14 | public.skipExportGlyphs 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /tests/data/DesignspaceTest/MyFont-Regular.ufo/metainfo.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | creator 6 | com.github.fonttools.ufoLib 7 | formatVersion 8 | 3 9 | 10 | 11 | -------------------------------------------------------------------------------- /tests/data/DottedCircleTest.ufo/glyphs/contents.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | a 6 | a.glif 7 | acutecomb 8 | acutecomb.glif 9 | c 10 | c.glif 11 | dotbelowcomb 12 | dotbelowcomb.glif 13 | 14 | 15 | -------------------------------------------------------------------------------- /tests/data/DottedCircleTest.ufo/layercontents.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | public.default 7 | glyphs 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /tests/data/DottedCircleTest.ufo/metainfo.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | creator 6 | com.schriftgestaltung.GlyphsUFOExport 7 | formatVersion 8 | 3 9 | 10 | 11 | -------------------------------------------------------------------------------- /tests/data/IgnoreAnchorsTest-Thin.ufo/features.fea: -------------------------------------------------------------------------------- 1 | # Prefix: Languagesystems 2 | languagesystem DFLT dflt; 3 | languagesystem latn dflt; 4 | 5 | -------------------------------------------------------------------------------- /tests/data/IgnoreAnchorsTest-Thin.ufo/glyphs/A_.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /tests/data/IgnoreAnchorsTest-Thin.ufo/glyphs/A_dieresis.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /tests/data/IgnoreAnchorsTest-Thin.ufo/glyphs/adieresis.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /tests/data/IgnoreAnchorsTest-Thin.ufo/layercontents.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | public.default 7 | glyphs 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /tests/data/IgnoreAnchorsTest-Thin.ufo/metainfo.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | creator 6 | com.github.fonttools.ufoLib 7 | formatVersion 8 | 3 9 | 10 | 11 | -------------------------------------------------------------------------------- /tests/data/IncompatibleMasters/NewFont-Bold.ufo/glyphs/f.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /tests/data/IncompatibleMasters/NewFont-Bold.ufo/layercontents.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | public.default 7 | glyphs 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /tests/data/IncompatibleMasters/NewFont-Bold.ufo/metainfo.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | creator 6 | com.github.fonttools.ufoLib 7 | formatVersion 8 | 3 9 | 10 | 11 | -------------------------------------------------------------------------------- /tests/data/IncompatibleMasters/NewFont-Regular.ufo/glyphs/f.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /tests/data/IncompatibleMasters/NewFont-Regular.ufo/layercontents.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | public.default 7 | glyphs 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /tests/data/IncompatibleMasters/NewFont-Regular.ufo/metainfo.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | creator 6 | com.github.fonttools.ufoLib 7 | formatVersion 8 | 3 9 | 10 | 11 | -------------------------------------------------------------------------------- /tests/data/InstantiatorStrictMathGlyph/SquareOne.ufo/glyphs/contents.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | test 6 | test.glif 7 | 8 | 9 | -------------------------------------------------------------------------------- /tests/data/InstantiatorStrictMathGlyph/SquareOne.ufo/glyphs/layerinfo.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | color 6 | 1,0.75,0,0.7 7 | 8 | 9 | -------------------------------------------------------------------------------- /tests/data/InstantiatorStrictMathGlyph/SquareOne.ufo/layercontents.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | foreground 7 | glyphs 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /tests/data/InstantiatorStrictMathGlyph/SquareOne.ufo/metainfo.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | creator 6 | com.github.fonttools.ufoLib 7 | formatVersion 8 | 3 9 | 10 | 11 | -------------------------------------------------------------------------------- /tests/data/InstantiatorStrictMathGlyph/SquareTwo.ufo/glyphs/contents.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | test 6 | test.glif 7 | 8 | 9 | -------------------------------------------------------------------------------- /tests/data/InstantiatorStrictMathGlyph/SquareTwo.ufo/glyphs/layerinfo.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | color 6 | 1,0.75,0,0.7 7 | 8 | 9 | -------------------------------------------------------------------------------- /tests/data/InstantiatorStrictMathGlyph/SquareTwo.ufo/layercontents.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | foreground 7 | glyphs 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /tests/data/InstantiatorStrictMathGlyph/SquareTwo.ufo/metainfo.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | creator 6 | com.github.fonttools.ufoLib 7 | formatVersion 8 | 3 9 | 10 | 11 | -------------------------------------------------------------------------------- /tests/data/LayerFont-Bold.ufo/features.fea: -------------------------------------------------------------------------------- 1 | feature liga { 2 | sub a e s s by s; 3 | } liga; 4 | -------------------------------------------------------------------------------- /tests/data/LayerFont-Bold.ufo/glyphs/dotabovecomb.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /tests/data/LayerFont-Bold.ufo/glyphs/edotabove.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /tests/data/LayerFont-Bold.ufo/layercontents.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | public.default 7 | glyphs 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /tests/data/LayerFont-Bold.ufo/lib.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | public.glyphOrder 6 | 7 | a 8 | e 9 | s 10 | dotabovecomb 11 | edotabove 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /tests/data/LayerFont-Bold.ufo/metainfo.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | creator 6 | com.github.fonttools.ufoLib 7 | formatVersion 8 | 3 9 | 10 | 11 | -------------------------------------------------------------------------------- /tests/data/LayerFont-Regular.ufo/features.fea: -------------------------------------------------------------------------------- 1 | feature liga { 2 | sub a e s s by s; 3 | } liga; 4 | -------------------------------------------------------------------------------- /tests/data/LayerFont-Regular.ufo/glyphs.M_edium/contents.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | e 6 | e.glif 7 | 8 | 9 | -------------------------------------------------------------------------------- /tests/data/LayerFont-Regular.ufo/glyphs/dotabovecomb.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /tests/data/LayerFont-Regular.ufo/glyphs/edotabove.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /tests/data/LayerFont-Regular.ufo/layercontents.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | public.default 7 | glyphs 8 | 9 | 10 | Medium 11 | glyphs.M_edium 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /tests/data/LayerFont-Regular.ufo/lib.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | public.glyphOrder 6 | 7 | a 8 | e 9 | s 10 | dotabovecomb 11 | edotabove 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /tests/data/LayerFont-Regular.ufo/metainfo.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | creator 6 | com.github.fonttools.ufoLib 7 | formatVersion 8 | 3 9 | 10 | 11 | -------------------------------------------------------------------------------- /tests/data/MTIFeatures.ufo/data/com.github.googlei18n.ufo2ft.mtiFeatures/GSUB.mti: -------------------------------------------------------------------------------- 1 | FontDame GSUB table 2 | 3 | script table begin 4 | latn default 0 5 | script table end 6 | 7 | feature table begin 8 | 0 ccmp 0 9 | feature table end 10 | 11 | lookup 0 ligature 12 | RightToLeft no 13 | IgnoreBaseGlyphs no 14 | IgnoreLigatures no 15 | IgnoreMarks no 16 | a b c 17 | lookup end 18 | -------------------------------------------------------------------------------- /tests/data/MTIFeatures.ufo/glyphs/a.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /tests/data/MTIFeatures.ufo/glyphs/b.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /tests/data/MTIFeatures.ufo/glyphs/c.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /tests/data/MTIFeatures.ufo/glyphs/contents.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | .notdef 6 | _notdef.glif 7 | a 8 | a.glif 9 | b 10 | b.glif 11 | c 12 | c.glif 13 | space 14 | space.glif 15 | 16 | 17 | -------------------------------------------------------------------------------- /tests/data/MTIFeatures.ufo/glyphs/space.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /tests/data/MTIFeatures.ufo/groups.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /tests/data/MTIFeatures.ufo/kerning.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | a 6 | 7 | a 8 | -666 9 | b 10 | -666 11 | 12 | b 13 | 14 | a 15 | -666 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /tests/data/MTIFeatures.ufo/layercontents.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | public.default 7 | glyphs 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /tests/data/MTIFeatures.ufo/metainfo.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | creator 6 | copy-paste 7 | formatVersion 8 | 3 9 | 10 | 11 | -------------------------------------------------------------------------------- /tests/data/MultipleAnchorClasses.ufo/glyphs/_notdef.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /tests/data/MultipleAnchorClasses.ufo/glyphs/contents.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | .notdef 6 | _notdef.glif 7 | a 8 | a.glif 9 | acutecomb 10 | acutecomb.glif 11 | e 12 | e.glif 13 | 14 | 15 | -------------------------------------------------------------------------------- /tests/data/MultipleAnchorClasses.ufo/glyphs/layerinfo.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /tests/data/MultipleAnchorClasses.ufo/layercontents.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | public.default 7 | glyphs 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /tests/data/MultipleAnchorClasses.ufo/lib.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | public.glyphOrder 6 | 7 | .notdef 8 | a 9 | e 10 | acutecomb 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /tests/data/MultipleAnchorClasses.ufo/metainfo.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | creator 6 | com.fontlab.ufoLib 7 | formatVersion 8 | 3 9 | 10 | 11 | -------------------------------------------------------------------------------- /tests/data/MultipleAnchorClassesConflict.ufo/glyphs/_notdef.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /tests/data/MultipleAnchorClassesConflict.ufo/glyphs/contents.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | .notdef 6 | _notdef.glif 7 | acutecomb 8 | acutecomb.glif 9 | ae 10 | ae.glif 11 | 12 | 13 | -------------------------------------------------------------------------------- /tests/data/MultipleAnchorClassesConflict.ufo/glyphs/layerinfo.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /tests/data/MultipleAnchorClassesConflict.ufo/layercontents.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | public.default 7 | glyphs 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /tests/data/MultipleAnchorClassesConflict.ufo/lib.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | public.glyphOrder 6 | 7 | .notdef 8 | acutecomb 9 | ae 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /tests/data/MultipleAnchorClassesConflict.ufo/metainfo.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | creator 6 | com.fontlab.ufoLib 7 | formatVersion 8 | 3 9 | 10 | 11 | -------------------------------------------------------------------------------- /tests/data/MutatorSans/MutatorSansBoldCondensed.ufo/features.fea: -------------------------------------------------------------------------------- 1 | # this is the feature from boldcondensed. 2 | -------------------------------------------------------------------------------- /tests/data/MutatorSans/MutatorSansBoldCondensed.ufo/glyphs.background/contents.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | S.closed 6 | S_.closed.glif 7 | 8 | 9 | -------------------------------------------------------------------------------- /tests/data/MutatorSans/MutatorSansBoldCondensed.ufo/glyphs.background/layerinfo.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | color 6 | 0.5,1,0,0.7 7 | 8 | 9 | -------------------------------------------------------------------------------- /tests/data/MutatorSans/MutatorSansBoldCondensed.ufo/glyphs/A_acute.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | public.markColor 12 | 0.6567,0.6903,1,1 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /tests/data/MutatorSans/MutatorSansBoldCondensed.ufo/glyphs/A_dieresis.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | public.markColor 12 | 0.6567,0.6903,1,1 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /tests/data/MutatorSans/MutatorSansBoldCondensed.ufo/glyphs/Q_.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /tests/data/MutatorSans/MutatorSansBoldCondensed.ufo/glyphs/acute.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /tests/data/MutatorSans/MutatorSansBoldCondensed.ufo/glyphs/colon.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /tests/data/MutatorSans/MutatorSansBoldCondensed.ufo/glyphs/dieresis.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | public.markColor 12 | 0.6567,0.6903,1,1 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /tests/data/MutatorSans/MutatorSansBoldCondensed.ufo/glyphs/dot.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /tests/data/MutatorSans/MutatorSansBoldCondensed.ufo/glyphs/layerinfo.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | color 6 | 1,0.75,0,0.7 7 | lib 8 | 9 | com.typemytype.robofont.segmentType 10 | curve 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /tests/data/MutatorSans/MutatorSansBoldCondensed.ufo/glyphs/period.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /tests/data/MutatorSans/MutatorSansBoldCondensed.ufo/glyphs/quotedblleft.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /tests/data/MutatorSans/MutatorSansBoldCondensed.ufo/glyphs/quotedblright.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /tests/data/MutatorSans/MutatorSansBoldCondensed.ufo/glyphs/semicolon.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /tests/data/MutatorSans/MutatorSansBoldCondensed.ufo/glyphs/space.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /tests/data/MutatorSans/MutatorSansBoldCondensed.ufo/groups.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | public.kern1.@MMK_L_A 6 | 7 | A 8 | 9 | public.kern2.@MMK_R_A 10 | 11 | A 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /tests/data/MutatorSans/MutatorSansBoldCondensed.ufo/layercontents.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | foreground 7 | glyphs 8 | 9 | 10 | background 11 | glyphs.background 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /tests/data/MutatorSans/MutatorSansBoldCondensed.ufo/metainfo.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | creator 6 | com.github.fonttools.ufoLib 7 | formatVersion 8 | 3 9 | 10 | 11 | -------------------------------------------------------------------------------- /tests/data/MutatorSans/MutatorSansBoldWide.ufo/features.fea: -------------------------------------------------------------------------------- 1 | # this is the feature from BoldWide 2 | -------------------------------------------------------------------------------- /tests/data/MutatorSans/MutatorSansBoldWide.ufo/glyphs.background/contents.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | S 6 | S_.glif 7 | S.closed 8 | S_.closed.glif 9 | 10 | 11 | -------------------------------------------------------------------------------- /tests/data/MutatorSans/MutatorSansBoldWide.ufo/glyphs.background/layerinfo.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | color 6 | 0.5,1,0,0.7 7 | 8 | 9 | -------------------------------------------------------------------------------- /tests/data/MutatorSans/MutatorSansBoldWide.ufo/glyphs/A_acute.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | public.markColor 12 | 0.6567,0.6903,1,1 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /tests/data/MutatorSans/MutatorSansBoldWide.ufo/glyphs/A_dieresis.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | public.markColor 12 | 0.6567,0.6903,1,1 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /tests/data/MutatorSans/MutatorSansBoldWide.ufo/glyphs/Q_.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /tests/data/MutatorSans/MutatorSansBoldWide.ufo/glyphs/acute.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /tests/data/MutatorSans/MutatorSansBoldWide.ufo/glyphs/colon.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /tests/data/MutatorSans/MutatorSansBoldWide.ufo/glyphs/dieresis.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | public.markColor 12 | 0.6567,0.6903,1,1 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /tests/data/MutatorSans/MutatorSansBoldWide.ufo/glyphs/dot.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /tests/data/MutatorSans/MutatorSansBoldWide.ufo/glyphs/layerinfo.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | color 6 | 1,0.75,0,0.7 7 | lib 8 | 9 | com.typemytype.robofont.segmentType 10 | curve 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /tests/data/MutatorSans/MutatorSansBoldWide.ufo/glyphs/period.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /tests/data/MutatorSans/MutatorSansBoldWide.ufo/glyphs/quotedblbase.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /tests/data/MutatorSans/MutatorSansBoldWide.ufo/glyphs/quotedblleft.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /tests/data/MutatorSans/MutatorSansBoldWide.ufo/glyphs/quotedblright.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /tests/data/MutatorSans/MutatorSansBoldWide.ufo/glyphs/quotesinglbase.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /tests/data/MutatorSans/MutatorSansBoldWide.ufo/glyphs/semicolon.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /tests/data/MutatorSans/MutatorSansBoldWide.ufo/glyphs/space.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /tests/data/MutatorSans/MutatorSansBoldWide.ufo/groups.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | public.kern1.@MMK_L_A 6 | 7 | A 8 | 9 | public.kern2.@MMK_R_A 10 | 11 | A 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /tests/data/MutatorSans/MutatorSansBoldWide.ufo/kerning.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | T 6 | 7 | public.kern2.@MMK_R_A 8 | -150 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /tests/data/MutatorSans/MutatorSansBoldWide.ufo/layercontents.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | foreground 7 | glyphs 8 | 9 | 10 | background 11 | glyphs.background 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /tests/data/MutatorSans/MutatorSansBoldWide.ufo/metainfo.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | creator 6 | com.github.fonttools.ufoLib 7 | formatVersion 8 | 3 9 | 10 | 11 | -------------------------------------------------------------------------------- /tests/data/MutatorSans/MutatorSansIntermediateCondensed.ufo/features.fea: -------------------------------------------------------------------------------- 1 | # this is the feature from lightCondensed 2 | # Hi_this_is_the_feature. 3 | -------------------------------------------------------------------------------- /tests/data/MutatorSans/MutatorSansIntermediateCondensed.ufo/glyphs.background/contents.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | S 6 | S_.glif 7 | 8 | 9 | -------------------------------------------------------------------------------- /tests/data/MutatorSans/MutatorSansIntermediateCondensed.ufo/glyphs.background/layerinfo.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | color 6 | 0.5,1,0,0.7 7 | lib 8 | 9 | com.typemytype.robofont.segmentType 10 | curve 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /tests/data/MutatorSans/MutatorSansIntermediateCondensed.ufo/glyphs.interpolation/contents.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | E 6 | E_.glif 7 | 8 | 9 | -------------------------------------------------------------------------------- /tests/data/MutatorSans/MutatorSansIntermediateCondensed.ufo/glyphs.interpolation/layerinfo.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | color 6 | 0,1,0.25,0.7 7 | lib 8 | 9 | com.typemytype.robofont.segmentType 10 | curve 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /tests/data/MutatorSans/MutatorSansIntermediateCondensed.ufo/glyphs.reference.interpolation/contents.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | E 6 | E_.glif 7 | S 8 | S_.glif 9 | 10 | 11 | -------------------------------------------------------------------------------- /tests/data/MutatorSans/MutatorSansIntermediateCondensed.ufo/glyphs.reference.interpolation/layerinfo.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | color 6 | 0,1,1,0.7 7 | lib 8 | 9 | com.typemytype.robofont.segmentType 10 | curve 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /tests/data/MutatorSans/MutatorSansIntermediateCondensed.ufo/glyphs/layerinfo.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | color 6 | 1,0.75,0,0.7 7 | lib 8 | 9 | com.typemytype.robofont.segmentType 10 | curve 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /tests/data/MutatorSans/MutatorSansIntermediateCondensed.ufo/metainfo.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | creator 6 | com.github.fonttools.ufoLib 7 | formatVersion 8 | 3 9 | 10 | 11 | -------------------------------------------------------------------------------- /tests/data/MutatorSans/MutatorSansIntermediateWide.ufo/features.fea: -------------------------------------------------------------------------------- 1 | # this is the feature from lightCondensed 2 | # Hi_this_is_the_feature. 3 | -------------------------------------------------------------------------------- /tests/data/MutatorSans/MutatorSansIntermediateWide.ufo/glyphs.background/contents.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | S 6 | S_.glif 7 | 8 | 9 | -------------------------------------------------------------------------------- /tests/data/MutatorSans/MutatorSansIntermediateWide.ufo/glyphs.background/layerinfo.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | color 6 | 0.5,1,0,0.7 7 | lib 8 | 9 | com.typemytype.robofont.segmentType 10 | curve 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /tests/data/MutatorSans/MutatorSansIntermediateWide.ufo/glyphs/contents.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | B 6 | B_.glif 7 | E 8 | E_.glif 9 | F 10 | F_.glif 11 | G 12 | G_.glif 13 | 14 | 15 | -------------------------------------------------------------------------------- /tests/data/MutatorSans/MutatorSansIntermediateWide.ufo/glyphs/layerinfo.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | color 6 | 1,0.75,0,0.7 7 | lib 8 | 9 | com.typemytype.robofont.segmentType 10 | curve 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /tests/data/MutatorSans/MutatorSansIntermediateWide.ufo/layercontents.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | foreground 7 | glyphs 8 | 9 | 10 | background 11 | glyphs.background 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /tests/data/MutatorSans/MutatorSansIntermediateWide.ufo/metainfo.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | creator 6 | com.github.fonttools.ufoLib 7 | formatVersion 8 | 3 9 | 10 | 11 | -------------------------------------------------------------------------------- /tests/data/MutatorSans/MutatorSansLightCondensed.ufo/features.fea: -------------------------------------------------------------------------------- 1 | # this is the feature from lightCondensed 2 | # Hi_this_is_the_feature. 3 | -------------------------------------------------------------------------------- /tests/data/MutatorSans/MutatorSansLightCondensed.ufo/glyphs.background/contents.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | S 6 | S_.glif 7 | S.closed 8 | S_.closed.glif 9 | 10 | 11 | -------------------------------------------------------------------------------- /tests/data/MutatorSans/MutatorSansLightCondensed.ufo/glyphs.background/layerinfo.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | color 6 | 0,1,1,0.7 7 | 8 | 9 | -------------------------------------------------------------------------------- /tests/data/MutatorSans/MutatorSansLightCondensed.ufo/glyphs.support.S_.middle/contents.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | S.closed 6 | S_.closed.glif 7 | 8 | 9 | -------------------------------------------------------------------------------- /tests/data/MutatorSans/MutatorSansLightCondensed.ufo/glyphs.support.S_.middle/layerinfo.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | color 6 | 0.5,0,1,0.7 7 | 8 | 9 | -------------------------------------------------------------------------------- /tests/data/MutatorSans/MutatorSansLightCondensed.ufo/glyphs.support.S_.wide/contents.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | S 6 | S_.glif 7 | S.closed 8 | S_.closed.glif 9 | 10 | 11 | -------------------------------------------------------------------------------- /tests/data/MutatorSans/MutatorSansLightCondensed.ufo/glyphs.support.S_.wide/layerinfo.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | color 6 | 0,0.25,1,0.7 7 | 8 | 9 | -------------------------------------------------------------------------------- /tests/data/MutatorSans/MutatorSansLightCondensed.ufo/glyphs.support.crossbar/layerinfo.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | color 6 | 0,1,0.25,0.7 7 | 8 | 9 | -------------------------------------------------------------------------------- /tests/data/MutatorSans/MutatorSansLightCondensed.ufo/glyphs.support.crossbars/contents.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | E 6 | E_.glif 7 | 8 | 9 | -------------------------------------------------------------------------------- /tests/data/MutatorSans/MutatorSansLightCondensed.ufo/glyphs.support.crossbars/layerinfo.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /tests/data/MutatorSans/MutatorSansLightCondensed.ufo/glyphs.support/contents.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | A 6 | A_.glif 7 | S 8 | S_.glif 9 | W 10 | W_.glif 11 | 12 | 13 | -------------------------------------------------------------------------------- /tests/data/MutatorSans/MutatorSansLightCondensed.ufo/glyphs.support/layerinfo.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | color 6 | 0,1,0.25,0.7 7 | lib 8 | 9 | com.typemytype.robofont.segmentType 10 | curve 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /tests/data/MutatorSans/MutatorSansLightCondensed.ufo/glyphs/A_acute.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | public.markColor 12 | 0.6567,0.6903,1,1 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /tests/data/MutatorSans/MutatorSansLightCondensed.ufo/glyphs/A_dieresis.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | public.markColor 12 | 0.6567,0.6903,1,1 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /tests/data/MutatorSans/MutatorSansLightCondensed.ufo/glyphs/Q_.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /tests/data/MutatorSans/MutatorSansLightCondensed.ufo/glyphs/acute.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /tests/data/MutatorSans/MutatorSansLightCondensed.ufo/glyphs/colon.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /tests/data/MutatorSans/MutatorSansLightCondensed.ufo/glyphs/dieresis.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | public.markColor 12 | 0.6567,0.6903,1,1 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /tests/data/MutatorSans/MutatorSansLightCondensed.ufo/glyphs/dot.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /tests/data/MutatorSans/MutatorSansLightCondensed.ufo/glyphs/layerinfo.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | color 6 | 1,0.75,0,0.7 7 | lib 8 | 9 | com.typemytype.robofont.segmentType 10 | curve 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /tests/data/MutatorSans/MutatorSansLightCondensed.ufo/glyphs/period.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /tests/data/MutatorSans/MutatorSansLightCondensed.ufo/glyphs/quotedblbase.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /tests/data/MutatorSans/MutatorSansLightCondensed.ufo/glyphs/quotedblleft.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /tests/data/MutatorSans/MutatorSansLightCondensed.ufo/glyphs/quotedblright.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /tests/data/MutatorSans/MutatorSansLightCondensed.ufo/glyphs/quotesinglbase.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /tests/data/MutatorSans/MutatorSansLightCondensed.ufo/glyphs/semicolon.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /tests/data/MutatorSans/MutatorSansLightCondensed.ufo/glyphs/space.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /tests/data/MutatorSans/MutatorSansLightCondensed.ufo/metainfo.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | creator 6 | com.github.fonttools.ufoLib 7 | formatVersion 8 | 3 9 | 10 | 11 | -------------------------------------------------------------------------------- /tests/data/MutatorSans/MutatorSansLightWide.ufo/features.fea: -------------------------------------------------------------------------------- 1 | # this is the feature from lightWide 2 | -------------------------------------------------------------------------------- /tests/data/MutatorSans/MutatorSansLightWide.ufo/glyphs.background/contents.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | S.closed 6 | S_.closed.glif 7 | 8 | 9 | -------------------------------------------------------------------------------- /tests/data/MutatorSans/MutatorSansLightWide.ufo/glyphs.background/layerinfo.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | color 6 | 0.5,1,0,0.7 7 | 8 | 9 | -------------------------------------------------------------------------------- /tests/data/MutatorSans/MutatorSansLightWide.ufo/glyphs.master_width_0.00_weight_0.00/contents.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /tests/data/MutatorSans/MutatorSansLightWide.ufo/glyphs.master_width_0.00_weight_0.00/layerinfo.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | color 6 | 0,0.25,1,0.7 7 | 8 | 9 | -------------------------------------------------------------------------------- /tests/data/MutatorSans/MutatorSansLightWide.ufo/glyphs.master_width_500.00_weight_500.00/contents.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | S 6 | S_.glif 7 | 8 | 9 | -------------------------------------------------------------------------------- /tests/data/MutatorSans/MutatorSansLightWide.ufo/glyphs.master_width_500.00_weight_500.00/layerinfo.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | color 6 | 0,1,0.25,0.7 7 | lib 8 | 9 | com.typemytype.robofont.segmentType 10 | curve 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /tests/data/MutatorSans/MutatorSansLightWide.ufo/glyphs.master_width_695.65_weight_166.38/contents.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /tests/data/MutatorSans/MutatorSansLightWide.ufo/glyphs.master_width_695.65_weight_166.38/layerinfo.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | color 6 | 0.5,0,1,0.7 7 | 8 | 9 | -------------------------------------------------------------------------------- /tests/data/MutatorSans/MutatorSansLightWide.ufo/glyphs.master_width_720.00_weight_645.00/contents.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | S 6 | S_.glif 7 | 8 | 9 | -------------------------------------------------------------------------------- /tests/data/MutatorSans/MutatorSansLightWide.ufo/glyphs.master_width_720.00_weight_645.00/layerinfo.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | color 6 | 0,1,1,0.7 7 | lib 8 | 9 | com.typemytype.robofont.segmentType 10 | curve 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /tests/data/MutatorSans/MutatorSansLightWide.ufo/glyphs/A_acute.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | public.markColor 12 | 0.6567,0.6903,1,1 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /tests/data/MutatorSans/MutatorSansLightWide.ufo/glyphs/A_dieresis.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | public.markColor 12 | 0.6567,0.6903,1,1 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /tests/data/MutatorSans/MutatorSansLightWide.ufo/glyphs/Q_.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /tests/data/MutatorSans/MutatorSansLightWide.ufo/glyphs/acute.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /tests/data/MutatorSans/MutatorSansLightWide.ufo/glyphs/colon.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /tests/data/MutatorSans/MutatorSansLightWide.ufo/glyphs/dieresis.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | public.markColor 12 | 0.6567,0.6903,1,1 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /tests/data/MutatorSans/MutatorSansLightWide.ufo/glyphs/dot.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /tests/data/MutatorSans/MutatorSansLightWide.ufo/glyphs/layerinfo.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | color 6 | 1,0.75,0,0.7 7 | lib 8 | 9 | com.typemytype.robofont.segmentType 10 | curve 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /tests/data/MutatorSans/MutatorSansLightWide.ufo/glyphs/period.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /tests/data/MutatorSans/MutatorSansLightWide.ufo/glyphs/quotedblbase.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /tests/data/MutatorSans/MutatorSansLightWide.ufo/glyphs/quotedblleft.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /tests/data/MutatorSans/MutatorSansLightWide.ufo/glyphs/quotedblright.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /tests/data/MutatorSans/MutatorSansLightWide.ufo/glyphs/quotesinglbase.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /tests/data/MutatorSans/MutatorSansLightWide.ufo/glyphs/semicolon.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /tests/data/MutatorSans/MutatorSansLightWide.ufo/glyphs/space.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /tests/data/MutatorSans/MutatorSansLightWide.ufo/groups.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | public.kern1.@MMK_L_A 6 | 7 | A 8 | 9 | public.kern2.@MMK_R_A 10 | 11 | A 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /tests/data/MutatorSans/MutatorSansLightWide.ufo/layercontents.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | foreground 7 | glyphs 8 | 9 | 10 | background 11 | glyphs.background 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /tests/data/MutatorSans/MutatorSansLightWide.ufo/metainfo.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | creator 6 | com.github.fonttools.ufoLib 7 | formatVersion 8 | 3 9 | 10 | 11 | -------------------------------------------------------------------------------- /tests/data/MutatorSansLite/MutatorSansBoldCondensed.ufo/features.fea: -------------------------------------------------------------------------------- 1 | # this is the feature from boldcondensed. 2 | -------------------------------------------------------------------------------- /tests/data/MutatorSansLite/MutatorSansBoldCondensed.ufo/glyphs.background/contents.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | S.closed 6 | S_.closed.glif 7 | 8 | 9 | -------------------------------------------------------------------------------- /tests/data/MutatorSansLite/MutatorSansBoldCondensed.ufo/glyphs.background/layerinfo.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | color 6 | 0.5,1,0,0.7 7 | 8 | 9 | -------------------------------------------------------------------------------- /tests/data/MutatorSansLite/MutatorSansBoldCondensed.ufo/glyphs/layerinfo.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | color 6 | 1,0.75,0,0.7 7 | lib 8 | 9 | com.typemytype.robofont.segmentType 10 | curve 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /tests/data/MutatorSansLite/MutatorSansBoldCondensed.ufo/layercontents.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | foreground 7 | glyphs 8 | 9 | 10 | background 11 | glyphs.background 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /tests/data/MutatorSansLite/MutatorSansBoldCondensed.ufo/metainfo.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | creator 6 | com.github.fonttools.ufoLib 7 | formatVersion 8 | 3 9 | 10 | 11 | -------------------------------------------------------------------------------- /tests/data/MutatorSansLite/MutatorSansBoldWide.ufo/features.fea: -------------------------------------------------------------------------------- 1 | # this is the feature from BoldWide 2 | -------------------------------------------------------------------------------- /tests/data/MutatorSansLite/MutatorSansBoldWide.ufo/glyphs.background/contents.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | S 6 | S_.glif 7 | S.closed 8 | S_.closed.glif 9 | 10 | 11 | -------------------------------------------------------------------------------- /tests/data/MutatorSansLite/MutatorSansBoldWide.ufo/glyphs.background/layerinfo.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | color 6 | 0.5,1,0,0.7 7 | 8 | 9 | -------------------------------------------------------------------------------- /tests/data/MutatorSansLite/MutatorSansBoldWide.ufo/glyphs/layerinfo.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | color 6 | 1,0.75,0,0.7 7 | lib 8 | 9 | com.typemytype.robofont.segmentType 10 | curve 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /tests/data/MutatorSansLite/MutatorSansBoldWide.ufo/layercontents.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | foreground 7 | glyphs 8 | 9 | 10 | background 11 | glyphs.background 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /tests/data/MutatorSansLite/MutatorSansBoldWide.ufo/metainfo.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | creator 6 | com.github.fonttools.ufoLib 7 | formatVersion 8 | 3 9 | 10 | 11 | -------------------------------------------------------------------------------- /tests/data/MutatorSansLite/MutatorSansLightCondensed.ufo/features.fea: -------------------------------------------------------------------------------- 1 | # this is the feature from lightCondensed 2 | # Hi_this_is_the_feature. 3 | -------------------------------------------------------------------------------- /tests/data/MutatorSansLite/MutatorSansLightCondensed.ufo/glyphs.background/contents.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | S 6 | S_.glif 7 | S.closed 8 | S_.closed.glif 9 | 10 | 11 | -------------------------------------------------------------------------------- /tests/data/MutatorSansLite/MutatorSansLightCondensed.ufo/glyphs.background/layerinfo.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | color 6 | 0,1,1,0.7 7 | 8 | 9 | -------------------------------------------------------------------------------- /tests/data/MutatorSansLite/MutatorSansLightCondensed.ufo/glyphs.support.S_.middle/contents.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | S.closed 6 | S_.closed.glif 7 | 8 | 9 | -------------------------------------------------------------------------------- /tests/data/MutatorSansLite/MutatorSansLightCondensed.ufo/glyphs.support.S_.middle/layerinfo.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | color 6 | 0.5,0,1,0.7 7 | 8 | 9 | -------------------------------------------------------------------------------- /tests/data/MutatorSansLite/MutatorSansLightCondensed.ufo/glyphs.support.S_.wide/contents.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | S 6 | S_.glif 7 | S.closed 8 | S_.closed.glif 9 | 10 | 11 | -------------------------------------------------------------------------------- /tests/data/MutatorSansLite/MutatorSansLightCondensed.ufo/glyphs.support.S_.wide/layerinfo.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | color 6 | 0,0.25,1,0.7 7 | 8 | 9 | -------------------------------------------------------------------------------- /tests/data/MutatorSansLite/MutatorSansLightCondensed.ufo/glyphs.support.crossbar/contents.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | S 6 | S_.glif 7 | 8 | 9 | -------------------------------------------------------------------------------- /tests/data/MutatorSansLite/MutatorSansLightCondensed.ufo/glyphs.support.crossbar/layerinfo.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | color 6 | 0,1,0.25,0.7 7 | 8 | 9 | -------------------------------------------------------------------------------- /tests/data/MutatorSansLite/MutatorSansLightCondensed.ufo/glyphs.support.crossbars/contents.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | E 6 | E_.glif 7 | 8 | 9 | -------------------------------------------------------------------------------- /tests/data/MutatorSansLite/MutatorSansLightCondensed.ufo/glyphs.support.crossbars/layerinfo.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /tests/data/MutatorSansLite/MutatorSansLightCondensed.ufo/glyphs.support/contents.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | A 6 | A_.glif 7 | S 8 | S_.glif 9 | 10 | 11 | -------------------------------------------------------------------------------- /tests/data/MutatorSansLite/MutatorSansLightCondensed.ufo/glyphs.support/layerinfo.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | color 6 | 0,1,0.25,0.7 7 | lib 8 | 9 | com.typemytype.robofont.segmentType 10 | curve 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /tests/data/MutatorSansLite/MutatorSansLightCondensed.ufo/glyphs/layerinfo.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | color 6 | 1,0.75,0,0.7 7 | lib 8 | 9 | com.typemytype.robofont.segmentType 10 | curve 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /tests/data/MutatorSansLite/MutatorSansLightCondensed.ufo/metainfo.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | creator 6 | com.github.fonttools.ufoLib 7 | formatVersion 8 | 3 9 | 10 | 11 | -------------------------------------------------------------------------------- /tests/data/MutatorSansLite/MutatorSansLightWide.ufo/features.fea: -------------------------------------------------------------------------------- 1 | # this is the feature from lightWide 2 | -------------------------------------------------------------------------------- /tests/data/MutatorSansLite/MutatorSansLightWide.ufo/glyphs.background/contents.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | S.closed 6 | S_.closed.glif 7 | 8 | 9 | -------------------------------------------------------------------------------- /tests/data/MutatorSansLite/MutatorSansLightWide.ufo/glyphs.background/layerinfo.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | color 6 | 0.5,1,0,0.7 7 | 8 | 9 | -------------------------------------------------------------------------------- /tests/data/MutatorSansLite/MutatorSansLightWide.ufo/glyphs.master_width_0.00_weight_0.00/contents.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /tests/data/MutatorSansLite/MutatorSansLightWide.ufo/glyphs.master_width_0.00_weight_0.00/layerinfo.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | color 6 | 0,0.25,1,0.7 7 | 8 | 9 | -------------------------------------------------------------------------------- /tests/data/MutatorSansLite/MutatorSansLightWide.ufo/glyphs.master_width_500.00_weight_500.00/contents.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | S 6 | S_.glif 7 | 8 | 9 | -------------------------------------------------------------------------------- /tests/data/MutatorSansLite/MutatorSansLightWide.ufo/glyphs.master_width_500.00_weight_500.00/layerinfo.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | color 6 | 0,1,0.25,0.7 7 | lib 8 | 9 | com.typemytype.robofont.segmentType 10 | curve 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /tests/data/MutatorSansLite/MutatorSansLightWide.ufo/glyphs.master_width_695.65_weight_166.38/contents.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /tests/data/MutatorSansLite/MutatorSansLightWide.ufo/glyphs.master_width_695.65_weight_166.38/layerinfo.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | color 6 | 0.5,0,1,0.7 7 | 8 | 9 | -------------------------------------------------------------------------------- /tests/data/MutatorSansLite/MutatorSansLightWide.ufo/glyphs.master_width_720.00_weight_645.00/contents.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | S 6 | S_.glif 7 | 8 | 9 | -------------------------------------------------------------------------------- /tests/data/MutatorSansLite/MutatorSansLightWide.ufo/glyphs.master_width_720.00_weight_645.00/layerinfo.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | color 6 | 0,1,1,0.7 7 | lib 8 | 9 | com.typemytype.robofont.segmentType 10 | curve 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /tests/data/MutatorSansLite/MutatorSansLightWide.ufo/glyphs/layerinfo.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | color 6 | 1,0.75,0,0.7 7 | lib 8 | 9 | com.typemytype.robofont.segmentType 10 | curve 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /tests/data/MutatorSansLite/MutatorSansLightWide.ufo/layercontents.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | foreground 7 | glyphs 8 | 9 | 10 | background 11 | glyphs.background 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /tests/data/MutatorSansLite/MutatorSansLightWide.ufo/metainfo.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | creator 6 | com.github.fonttools.ufoLib 7 | formatVersion 8 | 3 9 | 10 | 11 | -------------------------------------------------------------------------------- /tests/data/MutatorSansLite/MutatorSerifLightCondensed.ufo/features.fea: -------------------------------------------------------------------------------- 1 | # this is the feature from lightCondensed 2 | # Hi_this_is_the_feature. 3 | -------------------------------------------------------------------------------- /tests/data/MutatorSansLite/MutatorSerifLightCondensed.ufo/glyphs/contents.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | A 6 | A_.glif 7 | 8 | 9 | -------------------------------------------------------------------------------- /tests/data/MutatorSansLite/MutatorSerifLightCondensed.ufo/layercontents.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | foreground 7 | glyphs 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /tests/data/MutatorSansLite/MutatorSerifLightCondensed.ufo/metainfo.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | creator 6 | com.github.fonttools.ufoLib 7 | formatVersion 8 | 3 9 | 10 | 11 | -------------------------------------------------------------------------------- /tests/data/MutatorSansLite/MutatorSerifLightWide.ufo/features.fea: -------------------------------------------------------------------------------- 1 | # this is the feature from lightWide 2 | -------------------------------------------------------------------------------- /tests/data/MutatorSansLite/MutatorSerifLightWide.ufo/glyphs/contents.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | A 6 | A_.glif 7 | 8 | 9 | -------------------------------------------------------------------------------- /tests/data/MutatorSansLite/MutatorSerifLightWide.ufo/layercontents.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | foreground 7 | glyphs 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /tests/data/MutatorSansLite/MutatorSerifLightWide.ufo/metainfo.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | creator 6 | com.github.fonttools.ufoLib 7 | formatVersion 8 | 3 9 | 10 | 11 | -------------------------------------------------------------------------------- /tests/data/NestedComponents-Bold.ufo/glyphs/a.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /tests/data/NestedComponents-Bold.ufo/glyphs/space.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /tests/data/NestedComponents-Bold.ufo/layercontents.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | public.default 7 | glyphs 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /tests/data/NestedComponents-Bold.ufo/metainfo.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | creator 6 | com.schriftgestaltung.GlyphsUFOExport 7 | formatVersion 8 | 3 9 | 10 | 11 | -------------------------------------------------------------------------------- /tests/data/NestedComponents-Regular.ufo/glyphs.M_edium/a.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /tests/data/NestedComponents-Regular.ufo/glyphs.M_edium/contents.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | a 6 | a.glif 7 | e 8 | e.glif 9 | 10 | 11 | -------------------------------------------------------------------------------- /tests/data/NestedComponents-Regular.ufo/glyphs.M_edium/e.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /tests/data/NestedComponents-Regular.ufo/glyphs/space.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /tests/data/NestedComponents-Regular.ufo/layercontents.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | public.default 7 | glyphs 8 | 9 | 10 | Medium 11 | glyphs.M_edium 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /tests/data/NestedComponents-Regular.ufo/metainfo.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | creator 6 | com.schriftgestaltung.GlyphsUFOExport 7 | formatVersion 8 | 3 9 | 10 | 11 | -------------------------------------------------------------------------------- /tests/data/OTestFont-Bold.ufo/glyphs/contents.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | o 6 | o.glif 7 | space 8 | space.glif 9 | 10 | 11 | -------------------------------------------------------------------------------- /tests/data/OTestFont-Bold.ufo/glyphs/space.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /tests/data/OTestFont-Bold.ufo/layercontents.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | public.default 7 | glyphs 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /tests/data/OTestFont-Bold.ufo/metainfo.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | creator 6 | com.github.fonttools.ufoLib 7 | formatVersion 8 | 3 9 | 10 | 11 | -------------------------------------------------------------------------------- /tests/data/OTestFont-Regular.ufo/glyphs/contents.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | o 6 | o.glif 7 | space 8 | space.glif 9 | 10 | 11 | -------------------------------------------------------------------------------- /tests/data/OTestFont-Regular.ufo/glyphs/space.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /tests/data/OTestFont-Regular.ufo/layercontents.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | public.default 7 | glyphs 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /tests/data/OTestFont-Regular.ufo/metainfo.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | creator 6 | com.github.fonttools.ufoLib 7 | formatVersion 8 | 3 9 | 10 | 11 | -------------------------------------------------------------------------------- /tests/data/SkipExportGlyphsTest-Bold.ufo/glyphs/A_stroke.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /tests/data/SkipExportGlyphsTest-Bold.ufo/glyphs/_stroke.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /tests/data/SkipExportGlyphsTest-Bold.ufo/glyphs/contents.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | A 6 | A_.glif 7 | Astroke 8 | A_stroke.glif 9 | _stroke 10 | _stroke.glif 11 | 12 | 13 | -------------------------------------------------------------------------------- /tests/data/SkipExportGlyphsTest-Bold.ufo/layercontents.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | public.default 7 | glyphs 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /tests/data/SkipExportGlyphsTest-Bold.ufo/metainfo.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | creator 6 | com.github.fonttools.ufoLib 7 | formatVersion 8 | 3 9 | 10 | 11 | -------------------------------------------------------------------------------- /tests/data/SkipExportGlyphsTest-Regular.ufo/glyphs.{151}/_stroke.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /tests/data/SkipExportGlyphsTest-Regular.ufo/glyphs.{151}/contents.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | _stroke 6 | _stroke.glif 7 | 8 | 9 | -------------------------------------------------------------------------------- /tests/data/SkipExportGlyphsTest-Regular.ufo/glyphs.{170}/A_stroke.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /tests/data/SkipExportGlyphsTest-Regular.ufo/glyphs.{170}/contents.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Astroke 6 | A_stroke.glif 7 | 8 | 9 | -------------------------------------------------------------------------------- /tests/data/SkipExportGlyphsTest-Regular.ufo/glyphs/A_stroke.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /tests/data/SkipExportGlyphsTest-Regular.ufo/glyphs/_stroke.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /tests/data/SkipExportGlyphsTest-Regular.ufo/glyphs/contents.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | A 6 | A_.glif 7 | Astroke 8 | A_stroke.glif 9 | _stroke 10 | _stroke.glif 11 | 12 | 13 | -------------------------------------------------------------------------------- /tests/data/SkipExportGlyphsTest-Regular.ufo/metainfo.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | creator 6 | com.github.fonttools.ufoLib 7 | formatVersion 8 | 3 9 | 10 | 11 | -------------------------------------------------------------------------------- /tests/data/SpacingCombiningTest-Regular.ufo/glyphs/contents.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | highspacingdot-deva 6 | highspacingdot-deva.glif 7 | ka-deva 8 | ka-deva.glif 9 | ra-deva 10 | ra-deva.glif 11 | space 12 | space.glif 13 | 14 | 15 | -------------------------------------------------------------------------------- /tests/data/SpacingCombiningTest-Regular.ufo/glyphs/space.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /tests/data/SpacingCombiningTest-Regular.ufo/layercontents.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | public.default 7 | glyphs 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /tests/data/SpacingCombiningTest-Regular.ufo/metainfo.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | creator 6 | com.github.fonttools.ufoLib 7 | formatVersion 8 | 3 9 | 10 | 11 | -------------------------------------------------------------------------------- /tests/data/SwapGlyphNames/A.ufo/glyphs/a.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /tests/data/SwapGlyphNames/A.ufo/glyphs/aaa.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /tests/data/SwapGlyphNames/A.ufo/glyphs/aaa.swap.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /tests/data/SwapGlyphNames/A.ufo/glyphs/space.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /tests/data/SwapGlyphNames/A.ufo/layercontents.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | public.default 7 | glyphs 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /tests/data/SwapGlyphNames/A.ufo/lib.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | public.glyphOrder 6 | 7 | space 8 | a 9 | a.swap 10 | aaa 11 | aaa.swap 12 | x 13 | y 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /tests/data/SwapGlyphNames/A.ufo/metainfo.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | creator 6 | com.github.fonttools.ufoLib 7 | formatVersion 8 | 3 9 | 10 | 11 | -------------------------------------------------------------------------------- /tests/data/SwapGlyphNames/B.ufo/glyphs/adieresis.alt.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /tests/data/SwapGlyphNames/B.ufo/glyphs/adieresis.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /tests/data/SwapGlyphNames/B.ufo/layercontents.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | public.default 7 | glyphs 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /tests/data/SwapGlyphNames/B.ufo/lib.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | public.glyphOrder 6 | 7 | a 8 | a.alt 9 | adieresis 10 | dieresiscomb 11 | adieresis.alt 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /tests/data/SwapGlyphNames/B.ufo/metainfo.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | creator 6 | com.github.fonttools.ufoLib 7 | formatVersion 8 | 3 9 | 10 | 11 | -------------------------------------------------------------------------------- /tests/data/TestFont.ufo/data/com.github.fonttools.ttx/CUST.ttx: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 0001beef 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /tests/data/TestFont.ufo/features.fea: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/googlefonts/ufo2ft/f5ede24091e4dcd1863188a0c45aa072c10b1578/tests/data/TestFont.ufo/features.fea -------------------------------------------------------------------------------- /tests/data/TestFont.ufo/glyphs/a.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /tests/data/TestFont.ufo/glyphs/b.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /tests/data/TestFont.ufo/glyphs/c.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /tests/data/TestFont.ufo/glyphs/g.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /tests/data/TestFont.ufo/glyphs/h.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /tests/data/TestFont.ufo/glyphs/i.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /tests/data/TestFont.ufo/glyphs/k.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /tests/data/TestFont.ufo/glyphs/l.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /tests/data/TestFont.ufo/glyphs/space.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /tests/data/TestFont.ufo/kerning.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | a 6 | 7 | a 8 | 5 9 | b 10 | -10 11 | space 12 | 1 13 | 14 | b 15 | 16 | a 17 | -7 18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /tests/data/TestFont.ufo/layercontents.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | public.default 7 | glyphs 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /tests/data/TestFont.ufo/metainfo.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | creator 6 | org.robofab.ufoLib 7 | formatVersion 8 | 3 9 | 10 | 11 | -------------------------------------------------------------------------------- /tests/data/TestMathFont-Regular.ufo/features.fea: -------------------------------------------------------------------------------- 1 | # Prefix: Languagesystems 2 | languagesystem DFLT dflt; 3 | languagesystem math dflt; 4 | 5 | -------------------------------------------------------------------------------- /tests/data/TestMathFont-Regular.ufo/glyphs/parenleft.ext.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /tests/data/TestMathFont-Regular.ufo/glyphs/parenleft.top.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /tests/data/TestMathFont-Regular.ufo/glyphs/parenright.bot.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /tests/data/TestMathFont-Regular.ufo/glyphs/parenright.ext.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /tests/data/TestMathFont-Regular.ufo/glyphs/parenright.size1.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /tests/data/TestMathFont-Regular.ufo/glyphs/parenright.size2.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /tests/data/TestMathFont-Regular.ufo/glyphs/parenright.size3.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /tests/data/TestMathFont-Regular.ufo/glyphs/parenright.size4.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /tests/data/TestMathFont-Regular.ufo/glyphs/parenright.top.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /tests/data/TestMathFont-Regular.ufo/layercontents.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | public.default 7 | glyphs 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /tests/data/TestMathFont-Regular.ufo/metainfo.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | creator 6 | com.github.fonttools.ufoLib 7 | formatVersion 8 | 3 9 | 10 | 11 | -------------------------------------------------------------------------------- /tests/data/TestVarFont-Bold.ufo/glyphs/alef-ar.fina.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /tests/data/TestVarFont-Bold.ufo/glyphs/contents.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | alef-ar.fina 6 | alef-ar.fina.glif 7 | space 8 | space.glif 9 | 10 | 11 | -------------------------------------------------------------------------------- /tests/data/TestVarFont-Bold.ufo/glyphs/space.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /tests/data/TestVarFont-Bold.ufo/layercontents.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | public.default 7 | glyphs 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /tests/data/TestVarFont-Bold.ufo/lib.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | public.glyphOrder 6 | 7 | space 8 | alef-ar.fina 9 | 10 | public.postscriptNames 11 | 12 | alef-ar.fina 13 | uniFE8E 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /tests/data/TestVarFont-Bold.ufo/metainfo.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | creator 6 | com.github.fonttools.ufoLib 7 | formatVersion 8 | 3 9 | 10 | 11 | -------------------------------------------------------------------------------- /tests/data/TestVarFont-Regular.ufo/glyphs/contents.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | alef-ar.fina 6 | alef-ar.fina.glif 7 | space 8 | space.glif 9 | 10 | 11 | -------------------------------------------------------------------------------- /tests/data/TestVarFont-Regular.ufo/glyphs/space.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /tests/data/TestVarFont-Regular.ufo/layercontents.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | public.default 7 | glyphs 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /tests/data/TestVarFont-Regular.ufo/lib.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | public.glyphOrder 6 | 7 | space 8 | alef-ar.fina 9 | 10 | public.postscriptNames 11 | 12 | alef-ar.fina 13 | uniFE8E 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /tests/data/TestVarFont-Regular.ufo/metainfo.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | creator 6 | com.github.fonttools.ufoLib 7 | formatVersion 8 | 3 9 | 10 | 11 | -------------------------------------------------------------------------------- /tests/data/TestVarfea-Bold.ufo/glyphs/space.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | com.schriftgestaltung.Glyphs.lastChange 10 | 2022/07/26 15:00:45 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /tests/data/TestVarfea-Bold.ufo/kerning.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | alef-ar.fina 6 | 7 | alef-ar.fina 8 | 35 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /tests/data/TestVarfea-Bold.ufo/layercontents.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | public.default 7 | glyphs 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /tests/data/TestVarfea-Bold.ufo/metainfo.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | creator 6 | com.github.fonttools.ufoLib 7 | formatVersion 8 | 3 9 | 10 | 11 | -------------------------------------------------------------------------------- /tests/data/TestVarfea-Regular.ufo/glyphs/a.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | public.markColor 11 | 0.5955,0.7484,1,1 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /tests/data/TestVarfea-Regular.ufo/glyphs/gravecmb.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | public.markColor 11 | 0.5955,0.7484,1,1 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /tests/data/TestVarfea-Regular.ufo/glyphs/space.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | com.schriftgestaltung.Glyphs.lastChange 10 | 2022/07/26 15:00:45 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /tests/data/TestVarfea-Regular.ufo/groups.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | public.kern1.a 6 | 7 | a 8 | 9 | public.kern2.a 10 | 11 | a 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /tests/data/TestVarfea-Regular.ufo/kerning.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | alef-ar.fina 6 | 7 | alef-ar.fina 8 | 15 9 | 10 | public.kern1.a 11 | 12 | public.kern2.a 13 | 0 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /tests/data/TestVarfea-Regular.ufo/layercontents.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | public.default 7 | glyphs 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /tests/data/TestVarfea-Regular.ufo/metainfo.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | creator 6 | com.github.fonttools.ufoLib 7 | formatVersion 8 | 3 9 | 10 | 11 | -------------------------------------------------------------------------------- /tests/data/UseMyMetrics.ufo/glyphs/I_.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /tests/data/UseMyMetrics.ufo/glyphs/I_acute.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /tests/data/UseMyMetrics.ufo/glyphs/acute.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /tests/data/UseMyMetrics.ufo/glyphs/contents.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | I 6 | I_.glif 7 | Iacute 8 | I_acute.glif 9 | acute 10 | acute.glif 11 | romanthree 12 | romanthree.glif 13 | 14 | 15 | -------------------------------------------------------------------------------- /tests/data/UseMyMetrics.ufo/glyphs/romanthree.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /tests/data/UseMyMetrics.ufo/layercontents.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | foreground 7 | glyphs 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /tests/data/UseMyMetrics.ufo/metainfo.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | creator 6 | org.robofab.ufoLib 7 | formatVersion 8 | 3 9 | 10 | 11 | -------------------------------------------------------------------------------- /tests/filters/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/googlefonts/ufo2ft/f5ede24091e4dcd1863188a0c45aa072c10b1578/tests/filters/__init__.py --------------------------------------------------------------------------------