├── .gitignore
├── LICENSE.md
├── README.md
├── goadbWriter.py
├── kernFeatureWriter.py
├── markFeatureWriter.py
├── setup.py
├── tests
├── goadb_full
├── goadb_full.ufo
│ ├── fontinfo.plist
│ ├── glyphs
│ │ ├── 2cents.glif
│ │ ├── 666.glif
│ │ ├── 667.glif
│ │ ├── 668.glif
│ │ ├── 669.glif
│ │ ├── A_.glif
│ │ ├── A__B_.glif
│ │ ├── B_.glif
│ │ ├── C_.glif
│ │ ├── Z_-glibber.glif
│ │ ├── Z_acute.glif
│ │ ├── Z_glibber.01.glif
│ │ ├── Z_glibber.02.glif
│ │ ├── Z_glibber.alt.glif
│ │ ├── Z_glibber.glif
│ │ ├── _illegal.glif
│ │ ├── _notdef.glif
│ │ ├── asd.glif
│ │ ├── asdasd.glif
│ │ ├── beyondF_F_F_F_.glif
│ │ ├── contents.plist
│ │ ├── eiurwoue.glif
│ │ ├── f_f_i.glif
│ │ ├── f_f_idieresistonos.glif
│ │ ├── idieresistonos.alt.glif
│ │ ├── idieresistonos.alt_idieresistonos.glif
│ │ ├── idieresistonos.glif
│ │ ├── layerinfo.plist
│ │ ├── multitude.glif
│ │ ├── u10000.glif
│ │ ├── uni6666.glif
│ │ ├── uni6667.glif
│ │ ├── uni6669.glif
│ │ ├── uniF_F_F_F_.glif
│ │ ├── wät.glif
│ │ ├── zero.glif
│ │ ├── zero.sups.glif
│ │ └── 🥳.glif
│ ├── layercontents.plist
│ ├── lib.plist
│ └── metainfo.plist
├── goadb_no_glyphorder
├── goadb_no_glyphorder.ufo
│ ├── fontinfo.plist
│ ├── glyphs
│ │ ├── A_.glif
│ │ ├── B_.glif
│ │ ├── C_.glif
│ │ ├── D_.glif
│ │ ├── E_.glif
│ │ ├── F_.glif
│ │ ├── G_.glif
│ │ ├── H_.alt.glif
│ │ ├── H_.glif
│ │ ├── I_.alt.glif
│ │ ├── I_.alt1.glif
│ │ ├── I_.glif
│ │ ├── J_.glif
│ │ ├── K_.alt.glif
│ │ ├── K_.alt1.glif
│ │ ├── K_.glif
│ │ ├── L_.glif
│ │ ├── M_.glif
│ │ ├── N_.glif
│ │ ├── O_.glif
│ │ ├── P_.alt.glif
│ │ ├── P_.alt1.glif
│ │ ├── P_.glif
│ │ ├── Q_.alt.glif
│ │ ├── Q_.glif
│ │ ├── R_.glif
│ │ ├── S_.glif
│ │ ├── T_.glif
│ │ ├── U_.glif
│ │ ├── V_.glif
│ │ ├── W_.glif
│ │ ├── X_.glif
│ │ ├── Y_.alt.glif
│ │ ├── Y_.glif
│ │ ├── Z_.glif
│ │ ├── a.glif
│ │ ├── ampersand.glif
│ │ ├── any.glif
│ │ ├── asciicircum.alt.glif
│ │ ├── asciicircum.glif
│ │ ├── asciitilde.alt.glif
│ │ ├── asciitilde.glif
│ │ ├── asterisk.alt.glif
│ │ ├── asterisk.glif
│ │ ├── at.glif
│ │ ├── b.glif
│ │ ├── backslash.glif
│ │ ├── bar.glif
│ │ ├── bold.glif
│ │ ├── braceleft.glif
│ │ ├── braceright.glif
│ │ ├── bracketleft.glif
│ │ ├── bracketright.glif
│ │ ├── c.glif
│ │ ├── clever.glif
│ │ ├── colon.alt.glif
│ │ ├── colon.alt1.glif
│ │ ├── colon.glif
│ │ ├── comma.alt.glif
│ │ ├── comma.glif
│ │ ├── contents.plist
│ │ ├── d.glif
│ │ ├── daring.glif
│ │ ├── dollar.alt.glif
│ │ ├── dollar.alt1.glif
│ │ ├── dollar.glif
│ │ ├── e.glif
│ │ ├── eight.alt.glif
│ │ ├── eight.glif
│ │ ├── equal.glif
│ │ ├── exclam.glif
│ │ ├── explorer.glif
│ │ ├── f.glif
│ │ ├── faces.glif
│ │ ├── five.alt.glif
│ │ ├── five.glif
│ │ ├── four.glif
│ │ ├── g.glif
│ │ ├── grave.alt.glif
│ │ ├── grave.glif
│ │ ├── great.glif
│ │ ├── greater.glif
│ │ ├── h.glif
│ │ ├── hurdles.glif
│ │ ├── hyphen.glif
│ │ ├── i.alt.glif
│ │ ├── i.alt1.glif
│ │ ├── i.glif
│ │ ├── j.alt.glif
│ │ ├── j.glif
│ │ ├── k.glif
│ │ ├── l.glif
│ │ ├── layerinfo.plist
│ │ ├── less.glif
│ │ ├── m.glif
│ │ ├── n.glif
│ │ ├── nine.glif
│ │ ├── numbersign.glif
│ │ ├── o.alt.glif
│ │ ├── o.alt1.glif
│ │ ├── o.glif
│ │ ├── one.alt.glif
│ │ ├── one.alt1.glif
│ │ ├── one.glif
│ │ ├── p.glif
│ │ ├── parenleft.glif
│ │ ├── parenright.glif
│ │ ├── percent.glif
│ │ ├── period.alt.glif
│ │ ├── period.alt1.glif
│ │ ├── period.glif
│ │ ├── plus.glif
│ │ ├── q.glif
│ │ ├── question.alt.glif
│ │ ├── question.alt1.glif
│ │ ├── question.glif
│ │ ├── quotedbl.glif
│ │ ├── quotesingle.glif
│ │ ├── r.alt.glif
│ │ ├── r.glif
│ │ ├── s.alt.glif
│ │ ├── s.glif
│ │ ├── semicolon.alt.glif
│ │ ├── semicolon.glif
│ │ ├── seven.glif
│ │ ├── six.alt.glif
│ │ ├── six.alt1.glif
│ │ ├── six.glif
│ │ ├── slash.glif
│ │ ├── space.glif
│ │ ├── t.glif
│ │ ├── three.alt.glif
│ │ ├── three.alt1.glif
│ │ ├── three.glif
│ │ ├── two.alt.glif
│ │ ├── two.glif
│ │ ├── u.alt.glif
│ │ ├── u.glif
│ │ ├── underscore.glif
│ │ ├── v.glif
│ │ ├── w.alt.glif
│ │ ├── w.alt1.glif
│ │ ├── w.glif
│ │ ├── x.alt.glif
│ │ ├── x.glif
│ │ ├── y.glif
│ │ ├── z.glif
│ │ └── zero.glif
│ ├── layercontents.plist
│ └── metainfo.plist
├── goadb_template_glyphs
├── goadb_template_glyphs.ufo
│ ├── fontinfo.plist
│ ├── glyphs
│ │ ├── contents.plist
│ │ └── layerinfo.plist
│ ├── layercontents.plist
│ ├── lib.plist
│ └── metainfo.plist
├── kern_AV.ufo
│ ├── fontinfo.plist
│ ├── glyphs
│ │ ├── A_.glif
│ │ ├── V_.glif
│ │ └── contents.plist
│ ├── groups.plist
│ ├── kerning.plist
│ ├── layercontents.plist
│ ├── lib.plist
│ └── metainfo.plist
├── kern_AV_dissolved.fea
├── kern_AV_singletons.fea
├── kern_all_zero_value.ufo
│ ├── features.fea
│ ├── fontinfo.plist
│ ├── glyphs
│ │ ├── A_.glif
│ │ ├── B_.glif
│ │ ├── C_.glif
│ │ ├── _notdef.glif
│ │ ├── contents.plist
│ │ ├── layerinfo.plist
│ │ └── space.glif
│ ├── groups.plist
│ ├── kerning.plist
│ ├── layercontents.plist
│ ├── lib.plist
│ └── metainfo.plist
├── kern_example.fea
├── kern_example.ufo
│ ├── fontinfo.plist
│ ├── glyphs
│ │ ├── A_.glif
│ │ ├── A_dieresis.glif
│ │ ├── L_.glif
│ │ ├── L_caron.glif
│ │ ├── O_.glif
│ │ ├── O_dieresis.glif
│ │ ├── V_.glif
│ │ ├── Y_.glif
│ │ ├── Y_dieresis.glif
│ │ ├── contents.plist
│ │ ├── i.glif
│ │ ├── igrave.glif
│ │ ├── layerinfo.plist
│ │ ├── quotedbl.glif
│ │ ├── quotesingle.glif
│ │ ├── v.glif
│ │ └── w.glif
│ ├── groups.plist
│ ├── kerning.plist
│ ├── layercontents.plist
│ ├── lib.plist
│ └── metainfo.plist
├── kern_example_rtl.fea
├── kern_example_rtl.ufo
│ ├── fontinfo.plist
│ ├── glyphs
│ │ ├── F_.glif
│ │ ├── arA_e.glif
│ │ ├── arA_lef.glif
│ │ ├── arA_lefM_adda.glif
│ │ ├── arB_eh.i.glif
│ │ ├── arC_olon.glif
│ │ ├── arE_.i.glif
│ │ ├── arH_eh.glif
│ │ ├── arH_ehG_oalH_amza.glif
│ │ ├── arH_ehY_eh.glif
│ │ ├── arJ_eh.glif
│ │ ├── arP_eh.i.glif
│ │ ├── arR_eh.glif
│ │ ├── arR_reh.glif
│ │ ├── arT_ehM_arbuta.glif
│ │ ├── arY_eh.i.glif
│ │ ├── arY_ehB_arree.f.glif
│ │ ├── arY_ehB_arree.fa.glif
│ │ ├── arY_ehB_arreeH_amza.f.glif
│ │ ├── arY_ehB_arreeH_amza.fa.glif
│ │ ├── arZ_ain.glif
│ │ ├── contents.plist
│ │ ├── dotlessi.glif
│ │ ├── i.glif
│ │ ├── iacute.glif
│ │ ├── icircumflex.glif
│ │ ├── idieresis.glif
│ │ ├── igrave.glif
│ │ └── imacron.glif
│ ├── groups.plist
│ ├── kerning.plist
│ ├── layercontents.plist
│ ├── lib.plist
│ └── metainfo.plist
├── kern_example_rtl_subs.fea
├── kern_example_subs.fea
├── kern_example_trim.fea
├── kern_example_ufo2.fea
├── kern_example_ufo2.ufo
│ ├── fontinfo.plist
│ ├── glyphs
│ │ ├── A_.glif
│ │ ├── A_dieresis.glif
│ │ ├── L_.glif
│ │ ├── L_caron.glif
│ │ ├── O_.glif
│ │ ├── O_dieresis.glif
│ │ ├── V_.glif
│ │ ├── Y_.glif
│ │ ├── Y_dieresis.glif
│ │ ├── contents.plist
│ │ ├── i.glif
│ │ ├── igrave.glif
│ │ ├── quotedbl.glif
│ │ ├── quotesingle.glif
│ │ ├── v.glif
│ │ └── w.glif
│ ├── groups.plist
│ ├── kerning.plist
│ ├── layercontents.plist
│ ├── lib.plist
│ └── metainfo.plist
├── kern_ignored_groups.fea
├── kern_ignored_groups.ufo
│ ├── features.fea
│ ├── fontinfo.plist
│ ├── glyphs
│ │ ├── A_.glif
│ │ ├── B_.glif
│ │ ├── C_.glif
│ │ ├── D_.glif
│ │ ├── _notdef.glif
│ │ ├── contents.plist
│ │ ├── layerinfo.plist
│ │ └── space.glif
│ ├── groups.plist
│ ├── kerning.plist
│ ├── layercontents.plist
│ ├── lib.plist
│ └── metainfo.plist
├── kern_left_side_exception.fea
├── kern_left_side_exception.ufo
│ ├── fontinfo.plist
│ ├── glyphs
│ │ ├── A_.glif
│ │ ├── A_acute.glif
│ │ ├── A_breve.glif
│ │ ├── A_circumflex.glif
│ │ ├── A_dieresis.glif
│ │ ├── A_grave.glif
│ │ ├── A_macron.glif
│ │ ├── A_ogonek.glif
│ │ ├── A_ring.glif
│ │ ├── A_tilde.glif
│ │ ├── O_.glif
│ │ ├── O_acute.glif
│ │ ├── O_circumflex.glif
│ │ ├── O_dieresis.glif
│ │ ├── O_grave.glif
│ │ ├── O_hungarumlaut.glif
│ │ ├── O_macron.glif
│ │ ├── O_slash.glif
│ │ ├── O_tilde.glif
│ │ ├── _notdef.glif
│ │ ├── contents.plist
│ │ ├── layerinfo.plist
│ │ ├── parenleft.glif
│ │ ├── parenright.glif
│ │ ├── question.glif
│ │ └── space.glif
│ ├── groups.plist
│ ├── kerning.plist
│ ├── layercontents.plist
│ ├── lib.plist
│ └── metainfo.plist
├── kern_mock_rtl.fea
├── kern_mock_rtl.ufo
│ ├── features.fea
│ ├── fontinfo.plist
│ ├── glyphs
│ │ ├── L_.glif
│ │ ├── L_acute.glif
│ │ ├── L_caron.glif
│ │ ├── L_commaaccent.glif
│ │ ├── L_dot.glif
│ │ ├── L_dotbelow.glif
│ │ ├── L_dotbelowmacron.glif
│ │ ├── L_linebelow.glif
│ │ ├── L_slash.glif
│ │ ├── V_.glif
│ │ ├── a.glif
│ │ ├── aacute.glif
│ │ ├── acircumflex.glif
│ │ ├── adieresis.glif
│ │ ├── agrave.glif
│ │ ├── amacron.glif
│ │ ├── atilde.glif
│ │ ├── backslash.glif
│ │ ├── contents.plist
│ │ ├── dotlessi.glif
│ │ ├── i.glif
│ │ ├── iacute.glif
│ │ ├── icircumflex.glif
│ │ ├── idieresis.glif
│ │ ├── igrave.glif
│ │ ├── iota.glif
│ │ ├── iotadieresistonos.glif
│ │ ├── lambda.glif
│ │ ├── layerinfo.plist
│ │ ├── t.glif
│ │ ├── tcaron.glif
│ │ ├── tcedilla.glif
│ │ └── tcommaaccent.glif
│ ├── groups.plist
│ ├── kerning.plist
│ ├── layercontents.plist
│ ├── lib.plist
│ └── metainfo.plist
├── kern_nightmare.fea
├── kern_nightmare.ufo
│ ├── features.fea
│ ├── fontinfo.plist
│ ├── glyphs
│ │ ├── A_.glif
│ │ ├── B_.glif
│ │ ├── C_.glif
│ │ ├── D_.glif
│ │ ├── E_.glif
│ │ ├── F_.glif
│ │ ├── G_.glif
│ │ ├── H_.glif
│ │ ├── I_.glif
│ │ ├── J_.glif
│ │ ├── K_.glif
│ │ ├── L_.glif
│ │ ├── M_.glif
│ │ ├── N_.glif
│ │ ├── O_.glif
│ │ ├── P_.glif
│ │ ├── Q_.glif
│ │ ├── R_.glif
│ │ ├── S_.glif
│ │ ├── T_.glif
│ │ ├── U_.glif
│ │ ├── V_.glif
│ │ ├── W_.glif
│ │ ├── X_.glif
│ │ ├── Y_.glif
│ │ ├── Z_.glif
│ │ ├── contents.plist
│ │ └── layerinfo.plist
│ ├── groups.plist
│ ├── kerning.plist
│ ├── layercontents.plist
│ ├── lib.plist
│ └── metainfo.plist
├── kern_no_groups.fea
├── kern_no_groups.ufo
│ ├── features.fea
│ ├── fontinfo.plist
│ ├── glyphs
│ │ ├── A_.glif
│ │ ├── B_.glif
│ │ ├── C_.glif
│ │ ├── _notdef.glif
│ │ ├── contents.plist
│ │ ├── layerinfo.plist
│ │ └── space.glif
│ ├── groups.plist
│ ├── kerning.plist
│ ├── layercontents.plist
│ ├── lib.plist
│ └── metainfo.plist
├── kern_ss4_exceptions.fea
├── kern_ss4_exceptions.ufo
│ ├── features.fea
│ ├── fontinfo.plist
│ ├── glyphs
│ │ ├── L_.glif
│ │ ├── L_acute.glif
│ │ ├── L_caron.glif
│ │ ├── L_commaaccent.glif
│ │ ├── L_dot.glif
│ │ ├── L_dotbelow.glif
│ │ ├── L_dotbelowmacron.glif
│ │ ├── L_linebelow.glif
│ │ ├── L_slash.glif
│ │ ├── V_.glif
│ │ ├── a.glif
│ │ ├── aacute.glif
│ │ ├── acircumflex.glif
│ │ ├── adieresis.glif
│ │ ├── agrave.glif
│ │ ├── amacron.glif
│ │ ├── atilde.glif
│ │ ├── backslash.glif
│ │ ├── contents.plist
│ │ ├── dotlessi.glif
│ │ ├── i.glif
│ │ ├── iacute.glif
│ │ ├── icircumflex.glif
│ │ ├── idieresis.glif
│ │ ├── igrave.glif
│ │ ├── iota.glif
│ │ ├── iotadieresistonos.glif
│ │ ├── lambda.glif
│ │ ├── layerinfo.plist
│ │ ├── t.glif
│ │ ├── tcaron.glif
│ │ ├── tcedilla.glif
│ │ └── tcommaaccent.glif
│ ├── groups.plist
│ ├── kerning.plist
│ ├── layercontents.plist
│ ├── lib.plist
│ └── metainfo.plist
├── kern_suffix.ufo
│ ├── fontinfo.plist
│ ├── glyphs
│ │ ├── A_.glif
│ │ ├── A_dieresis.glif
│ │ ├── L_.glif
│ │ ├── L_caron.glif
│ │ ├── O_.glif
│ │ ├── O_dieresis.glif
│ │ ├── V_.cxt.glif
│ │ ├── Y_.glif
│ │ ├── Y_dieresis.glif
│ │ ├── contents.plist
│ │ ├── i.glif
│ │ ├── igrave.glif
│ │ ├── layerinfo.plist
│ │ ├── quotedbl.glif
│ │ ├── quotesingle.glif
│ │ ├── v.glif
│ │ └── w.glif
│ ├── groups.plist
│ ├── kerning.plist
│ ├── layercontents.plist
│ ├── lib.plist
│ └── metainfo.plist
├── kern_suffix_ignored.fea
├── kern_suffix_present.fea
├── kern_unused_groups.fea
├── kern_unused_groups.ufo
│ ├── features.fea
│ ├── fontinfo.plist
│ ├── glyphs
│ │ ├── A_.glif
│ │ ├── B_.glif
│ │ ├── C_.glif
│ │ ├── _notdef.glif
│ │ ├── contents.plist
│ │ ├── layerinfo.plist
│ │ └── space.glif
│ ├── groups.plist
│ ├── kerning.plist
│ ├── layercontents.plist
│ ├── lib.plist
│ └── metainfo.plist
├── mark_deva_simple.ufo
│ ├── features.fea
│ ├── fontinfo.plist
│ ├── glyphs
│ │ ├── _notdef.glif
│ │ ├── a.glif
│ │ ├── acutecmb.glif
│ │ ├── contents.plist
│ │ ├── dvA_nusvara.glif
│ │ ├── dvC_andrabindu.glif
│ │ ├── dvK_a.glif
│ │ ├── dvK_ha.glif
│ │ ├── dvN_ukta.glif
│ │ ├── dvQ_a.glif
│ │ ├── dvR_eph.glif
│ │ ├── dvV_irama.glif
│ │ └── space.glif
│ ├── groups.plist
│ ├── kerning.plist
│ ├── layercontents.plist
│ ├── lib.plist
│ └── metainfo.plist
├── mark_deva_simple_abvm.fea
├── mark_deva_simple_blwm.fea
├── mark_deva_simple_mark.fea
├── mark_no_group.ufo
│ ├── fontinfo.plist
│ ├── glyphs
│ │ ├── _notdef.glif
│ │ ├── acutecmb.glif
│ │ ├── cedillacmb.glif
│ │ ├── circumflexcmb.glif
│ │ ├── commabelowcmb.glif
│ │ ├── contents.plist
│ │ ├── dotbelowcmb.glif
│ │ ├── gravecmb.glif
│ │ ├── layerinfo.plist
│ │ ├── o.glif
│ │ └── space.glif
│ ├── groups.plist
│ ├── layercontents.plist
│ ├── lib.plist
│ └── metainfo.plist
├── mark_rtl_liga.fea
├── mark_rtl_liga.ufo
│ ├── fontinfo.plist
│ ├── glyphs
│ │ ├── arF_atha.glif
│ │ ├── arF_athatan.glif
│ │ ├── arK_afA_lefM_aksura.glif
│ │ ├── arK_asra.glif
│ │ ├── arK_asratan.glif
│ │ ├── contents.plist
│ │ └── layerinfo.plist
│ ├── groups.plist
│ ├── layercontents.plist
│ ├── lib.plist
│ └── metainfo.plist
├── mark_simple.fea
├── mark_simple.ufo
│ ├── fontinfo.plist
│ ├── glyphs
│ │ ├── _notdef.glif
│ │ ├── a.glif
│ │ ├── acutecmb.glif
│ │ ├── cedillacmb.glif
│ │ ├── circumflexcmb.glif
│ │ ├── commabelowcmb.glif
│ │ ├── contents.plist
│ │ ├── dotbelowcmb.glif
│ │ ├── gravecmb.glif
│ │ ├── o.glif
│ │ ├── oslash.glif
│ │ └── space.glif
│ ├── groups.plist
│ ├── layercontents.plist
│ ├── lib.plist
│ └── metainfo.plist
├── mark_simple_classes.fea
├── mark_simple_noclasses.fea
├── mark_trim.fea
├── mark_trim.ufo
│ ├── features.fea
│ ├── fontinfo.plist
│ ├── glyphs
│ │ ├── O_.glif
│ │ ├── _notdef.glif
│ │ ├── acutecmb.cap.glif
│ │ ├── acutecmb.glif
│ │ ├── brevecmb.cap.glif
│ │ ├── brevecmb.glif
│ │ ├── caroncmb.cap.glif
│ │ ├── caroncmb.glif
│ │ ├── cedillacmb.glif
│ │ ├── circumflexcmb.cap.glif
│ │ ├── circumflexcmb.glif
│ │ ├── commabelowcmb.glif
│ │ ├── contents.plist
│ │ ├── dieresiscmb.cap.glif
│ │ ├── dieresiscmb.glif
│ │ ├── dotaccentcmb.cap.glif
│ │ ├── dotaccentcmb.glif
│ │ ├── gravecmb.cap.glif
│ │ ├── gravecmb.glif
│ │ ├── hungarumlautcmb.cap.glif
│ │ ├── hungarumlautcmb.glif
│ │ ├── layerinfo.plist
│ │ ├── macroncmb.cap.glif
│ │ ├── macroncmb.glif
│ │ ├── o.glif
│ │ ├── ringcmb.cap.glif
│ │ ├── ringcmb.glif
│ │ ├── space.glif
│ │ ├── tildecmb.cap.glif
│ │ └── tildecmb.glif
│ ├── groups.plist
│ ├── kerning.plist
│ ├── layercontents.plist
│ ├── lib.plist
│ └── metainfo.plist
├── mkmk_simple.fea
├── project_mark_liga_ltr
│ ├── GSUB.fea
│ ├── GlyphOrderAndAliasDB
│ ├── LigaLTR-Light.otf
│ ├── README.md
│ ├── collateral
│ │ └── make_ligatures_ltr.py
│ ├── features.fea
│ ├── kern.fea
│ ├── liga_ltr.ufo
│ │ ├── fontinfo.plist
│ │ ├── glyphs
│ │ │ ├── _notdef.glif
│ │ │ ├── a.glif
│ │ │ ├── acutecmb.cap.glif
│ │ │ ├── acutecmb.glif
│ │ │ ├── b.glif
│ │ │ ├── c.glif
│ │ │ ├── contents.plist
│ │ │ ├── d.glif
│ │ │ ├── dotaccentcmb.cap.glif
│ │ │ ├── dotaccentcmb.glif
│ │ │ ├── dotbelowcmb.glif
│ │ │ ├── dotlessi.glif
│ │ │ ├── dotlessi.liga.glif
│ │ │ ├── e.glif
│ │ │ ├── f.glif
│ │ │ ├── f.liga.glif
│ │ │ ├── f_i.glif
│ │ │ ├── f_i_i.glif
│ │ │ ├── f_i_i_i.glif
│ │ │ ├── f_i_i_i_i.glif
│ │ │ ├── f_i_i_i_i_i.glif
│ │ │ ├── f_i_i_i_i_i_i.glif
│ │ │ ├── f_i_i_i_i_i_i_i.glif
│ │ │ ├── f_i_i_i_i_i_i_i_i.glif
│ │ │ ├── g.glif
│ │ │ ├── h.glif
│ │ │ ├── i.glif
│ │ │ ├── j.glif
│ │ │ ├── k.glif
│ │ │ ├── l.glif
│ │ │ ├── layerinfo.plist
│ │ │ ├── m.glif
│ │ │ ├── n.glif
│ │ │ ├── o.glif
│ │ │ ├── p.glif
│ │ │ ├── q.glif
│ │ │ ├── r.glif
│ │ │ ├── s.glif
│ │ │ ├── space.glif
│ │ │ ├── t.glif
│ │ │ ├── u.glif
│ │ │ ├── v.glif
│ │ │ ├── w.glif
│ │ │ ├── x.glif
│ │ │ ├── y.glif
│ │ │ └── z.glif
│ │ ├── groups.plist
│ │ ├── kerning.plist
│ │ ├── layercontents.plist
│ │ ├── lib.plist
│ │ └── metainfo.plist
│ └── mark.fea
├── project_mark_liga_rtl
│ ├── GSUB.fea
│ ├── LigaRTL-Light.otf
│ ├── README.md
│ ├── features.fea
│ ├── kern.fea
│ ├── liga_rtl.ufo
│ │ ├── data
│ │ │ └── com.adobe.type.processedHashMap
│ │ ├── fontinfo.plist
│ │ ├── glyphs
│ │ │ ├── _notdef.glif
│ │ │ ├── arF_atha.glif
│ │ │ ├── arF_athatan.glif
│ │ │ ├── arH_eh.f.glif
│ │ │ ├── arH_eh.glif
│ │ │ ├── arH_eh.i.glif
│ │ │ ├── arH_eh.m.glif
│ │ │ ├── arH_eh.mc.glif
│ │ │ ├── arH_eh.s.glif
│ │ │ ├── arH_ehY_ehB_arree.f.glif
│ │ │ ├── arH_ehY_ehB_arree.glif
│ │ │ ├── arK_asra.glif
│ │ │ ├── arK_asratan.glif
│ │ │ ├── arY_ehB_arree.f.glif
│ │ │ ├── arY_ehB_arree.glif
│ │ │ ├── contents.plist
│ │ │ ├── layerinfo.plist
│ │ │ └── space.glif
│ │ ├── groups.plist
│ │ ├── kerning.plist
│ │ ├── layercontents.plist
│ │ ├── lib.plist
│ │ └── metainfo.plist
│ ├── mark.fea
│ ├── markclasses.fea
│ └── mkmk.fea
├── test_goadbWriter.py
├── test_kernFeatureWriter.py
├── test_markFeatureWriter.py
├── tmp_example_trim.fea
└── tmp_kern_example_ufo2.fea
├── utilities
├── README.md
└── flKernExport.py
└── vintage
├── AdobeFontLabUtils.py
├── BezChar.py
├── WriteFeaturesKernFDK.py
└── WriteFeaturesMarkFDK.py
/.gitignore:
--------------------------------------------------------------------------------
1 | .coverage
2 | coverage.xml
3 | htmlcov/*
4 |
5 | build/*
6 | .eggs/*
7 | *.egg-info/*
8 | *.pyc
9 |
--------------------------------------------------------------------------------
/tests/goadb_full.ufo/fontinfo.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | ascender
6 | 750
7 | capHeight
8 | 750
9 | descender
10 | -250
11 | postscriptBlueValues
12 |
13 |
14 | postscriptFamilyBlues
15 |
16 |
17 | postscriptFamilyOtherBlues
18 |
19 |
20 | postscriptOtherBlues
21 |
22 |
23 | postscriptStemSnapH
24 |
25 |
26 | postscriptStemSnapV
27 |
28 |
29 | unitsPerEm
30 | 1000
31 | xHeight
32 | 500
33 |
34 |
35 |
--------------------------------------------------------------------------------
/tests/goadb_full.ufo/glyphs/2cents.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/tests/goadb_full.ufo/glyphs/666.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/tests/goadb_full.ufo/glyphs/667.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/tests/goadb_full.ufo/glyphs/668.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/tests/goadb_full.ufo/glyphs/669.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/tests/goadb_full.ufo/glyphs/A_.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/tests/goadb_full.ufo/glyphs/A__B_.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/tests/goadb_full.ufo/glyphs/B_.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/tests/goadb_full.ufo/glyphs/C_.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/tests/goadb_full.ufo/glyphs/Z_-glibber.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/tests/goadb_full.ufo/glyphs/Z_acute.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/tests/goadb_full.ufo/glyphs/Z_glibber.01.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/tests/goadb_full.ufo/glyphs/Z_glibber.02.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/tests/goadb_full.ufo/glyphs/Z_glibber.alt.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/tests/goadb_full.ufo/glyphs/Z_glibber.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/tests/goadb_full.ufo/glyphs/_illegal.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/tests/goadb_full.ufo/glyphs/_notdef.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/tests/goadb_full.ufo/glyphs/asd.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/tests/goadb_full.ufo/glyphs/asdasd.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/tests/goadb_full.ufo/glyphs/beyondF_F_F_F_.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/tests/goadb_full.ufo/glyphs/eiurwoue.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/tests/goadb_full.ufo/glyphs/f_f_i.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/tests/goadb_full.ufo/glyphs/f_f_idieresistonos.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/tests/goadb_full.ufo/glyphs/idieresistonos.alt.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/tests/goadb_full.ufo/glyphs/idieresistonos.alt_idieresistonos.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/tests/goadb_full.ufo/glyphs/idieresistonos.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/tests/goadb_full.ufo/glyphs/layerinfo.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | color
6 | 1,0,1,0.7
7 |
8 |
9 |
--------------------------------------------------------------------------------
/tests/goadb_full.ufo/glyphs/multitude.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
--------------------------------------------------------------------------------
/tests/goadb_full.ufo/glyphs/u10000.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/tests/goadb_full.ufo/glyphs/uni6666.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/tests/goadb_full.ufo/glyphs/uni6667.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/tests/goadb_full.ufo/glyphs/uni6669.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/tests/goadb_full.ufo/glyphs/uniF_F_F_F_.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/tests/goadb_full.ufo/glyphs/wät.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/tests/goadb_full.ufo/glyphs/zero.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/tests/goadb_full.ufo/glyphs/zero.sups.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/tests/goadb_full.ufo/glyphs/🥳.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/tests/goadb_full.ufo/layercontents.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | foreground
7 | glyphs
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/tests/goadb_full.ufo/metainfo.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | creator
6 | com.github.fonttools.ufoLib
7 | formatVersion
8 | 3
9 |
10 |
11 |
--------------------------------------------------------------------------------
/tests/goadb_no_glyphorder.ufo/fontinfo.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | ascender
6 | 750
7 | capHeight
8 | 750
9 | descender
10 | -250
11 | postscriptBlueValues
12 |
13 |
14 | postscriptFamilyBlues
15 |
16 |
17 | postscriptFamilyOtherBlues
18 |
19 |
20 | postscriptOtherBlues
21 |
22 |
23 | postscriptStemSnapH
24 |
25 |
26 | postscriptStemSnapV
27 |
28 |
29 | unitsPerEm
30 | 1000
31 | xHeight
32 | 500
33 |
34 |
35 |
--------------------------------------------------------------------------------
/tests/goadb_no_glyphorder.ufo/glyphs/A_.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/tests/goadb_no_glyphorder.ufo/glyphs/B_.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/tests/goadb_no_glyphorder.ufo/glyphs/C_.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/tests/goadb_no_glyphorder.ufo/glyphs/D_.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/tests/goadb_no_glyphorder.ufo/glyphs/E_.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/tests/goadb_no_glyphorder.ufo/glyphs/F_.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/tests/goadb_no_glyphorder.ufo/glyphs/G_.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/tests/goadb_no_glyphorder.ufo/glyphs/H_.alt.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/tests/goadb_no_glyphorder.ufo/glyphs/H_.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/tests/goadb_no_glyphorder.ufo/glyphs/I_.alt.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/tests/goadb_no_glyphorder.ufo/glyphs/I_.alt1.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/tests/goadb_no_glyphorder.ufo/glyphs/I_.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/tests/goadb_no_glyphorder.ufo/glyphs/J_.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/tests/goadb_no_glyphorder.ufo/glyphs/K_.alt.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/tests/goadb_no_glyphorder.ufo/glyphs/K_.alt1.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/tests/goadb_no_glyphorder.ufo/glyphs/K_.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/tests/goadb_no_glyphorder.ufo/glyphs/L_.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/tests/goadb_no_glyphorder.ufo/glyphs/M_.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/tests/goadb_no_glyphorder.ufo/glyphs/N_.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/tests/goadb_no_glyphorder.ufo/glyphs/O_.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/tests/goadb_no_glyphorder.ufo/glyphs/P_.alt.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/tests/goadb_no_glyphorder.ufo/glyphs/P_.alt1.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/tests/goadb_no_glyphorder.ufo/glyphs/P_.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/tests/goadb_no_glyphorder.ufo/glyphs/Q_.alt.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/tests/goadb_no_glyphorder.ufo/glyphs/Q_.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/tests/goadb_no_glyphorder.ufo/glyphs/R_.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/tests/goadb_no_glyphorder.ufo/glyphs/S_.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/tests/goadb_no_glyphorder.ufo/glyphs/T_.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/tests/goadb_no_glyphorder.ufo/glyphs/U_.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/tests/goadb_no_glyphorder.ufo/glyphs/V_.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/tests/goadb_no_glyphorder.ufo/glyphs/W_.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/tests/goadb_no_glyphorder.ufo/glyphs/X_.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/tests/goadb_no_glyphorder.ufo/glyphs/Y_.alt.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/tests/goadb_no_glyphorder.ufo/glyphs/Y_.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/tests/goadb_no_glyphorder.ufo/glyphs/Z_.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/tests/goadb_no_glyphorder.ufo/glyphs/a.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/tests/goadb_no_glyphorder.ufo/glyphs/ampersand.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/tests/goadb_no_glyphorder.ufo/glyphs/any.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/tests/goadb_no_glyphorder.ufo/glyphs/asciicircum.alt.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/tests/goadb_no_glyphorder.ufo/glyphs/asciicircum.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/tests/goadb_no_glyphorder.ufo/glyphs/asciitilde.alt.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/tests/goadb_no_glyphorder.ufo/glyphs/asciitilde.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/tests/goadb_no_glyphorder.ufo/glyphs/asterisk.alt.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/tests/goadb_no_glyphorder.ufo/glyphs/asterisk.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/tests/goadb_no_glyphorder.ufo/glyphs/at.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/tests/goadb_no_glyphorder.ufo/glyphs/b.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/tests/goadb_no_glyphorder.ufo/glyphs/backslash.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/tests/goadb_no_glyphorder.ufo/glyphs/bar.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/tests/goadb_no_glyphorder.ufo/glyphs/bold.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/tests/goadb_no_glyphorder.ufo/glyphs/braceleft.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/tests/goadb_no_glyphorder.ufo/glyphs/braceright.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/tests/goadb_no_glyphorder.ufo/glyphs/bracketleft.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/tests/goadb_no_glyphorder.ufo/glyphs/bracketright.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/tests/goadb_no_glyphorder.ufo/glyphs/c.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/tests/goadb_no_glyphorder.ufo/glyphs/clever.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/tests/goadb_no_glyphorder.ufo/glyphs/colon.alt.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/tests/goadb_no_glyphorder.ufo/glyphs/colon.alt1.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/tests/goadb_no_glyphorder.ufo/glyphs/colon.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/tests/goadb_no_glyphorder.ufo/glyphs/comma.alt.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/tests/goadb_no_glyphorder.ufo/glyphs/comma.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/tests/goadb_no_glyphorder.ufo/glyphs/d.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/tests/goadb_no_glyphorder.ufo/glyphs/daring.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/tests/goadb_no_glyphorder.ufo/glyphs/dollar.alt.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/tests/goadb_no_glyphorder.ufo/glyphs/dollar.alt1.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/tests/goadb_no_glyphorder.ufo/glyphs/dollar.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/tests/goadb_no_glyphorder.ufo/glyphs/e.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/tests/goadb_no_glyphorder.ufo/glyphs/eight.alt.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/tests/goadb_no_glyphorder.ufo/glyphs/eight.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/tests/goadb_no_glyphorder.ufo/glyphs/equal.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/tests/goadb_no_glyphorder.ufo/glyphs/exclam.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/tests/goadb_no_glyphorder.ufo/glyphs/explorer.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/tests/goadb_no_glyphorder.ufo/glyphs/f.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/tests/goadb_no_glyphorder.ufo/glyphs/faces.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/tests/goadb_no_glyphorder.ufo/glyphs/five.alt.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/tests/goadb_no_glyphorder.ufo/glyphs/five.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/tests/goadb_no_glyphorder.ufo/glyphs/four.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/tests/goadb_no_glyphorder.ufo/glyphs/g.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/tests/goadb_no_glyphorder.ufo/glyphs/grave.alt.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/tests/goadb_no_glyphorder.ufo/glyphs/grave.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/tests/goadb_no_glyphorder.ufo/glyphs/great.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/tests/goadb_no_glyphorder.ufo/glyphs/greater.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/tests/goadb_no_glyphorder.ufo/glyphs/h.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/tests/goadb_no_glyphorder.ufo/glyphs/hurdles.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/tests/goadb_no_glyphorder.ufo/glyphs/hyphen.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/tests/goadb_no_glyphorder.ufo/glyphs/i.alt.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/tests/goadb_no_glyphorder.ufo/glyphs/i.alt1.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/tests/goadb_no_glyphorder.ufo/glyphs/i.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/tests/goadb_no_glyphorder.ufo/glyphs/j.alt.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/tests/goadb_no_glyphorder.ufo/glyphs/j.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/tests/goadb_no_glyphorder.ufo/glyphs/k.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/tests/goadb_no_glyphorder.ufo/glyphs/l.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/tests/goadb_no_glyphorder.ufo/glyphs/layerinfo.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | color
6 | 1,0,1,0.7
7 |
8 |
9 |
--------------------------------------------------------------------------------
/tests/goadb_no_glyphorder.ufo/glyphs/less.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/tests/goadb_no_glyphorder.ufo/glyphs/m.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/tests/goadb_no_glyphorder.ufo/glyphs/n.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/tests/goadb_no_glyphorder.ufo/glyphs/nine.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/tests/goadb_no_glyphorder.ufo/glyphs/numbersign.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/tests/goadb_no_glyphorder.ufo/glyphs/o.alt.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/tests/goadb_no_glyphorder.ufo/glyphs/o.alt1.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/tests/goadb_no_glyphorder.ufo/glyphs/o.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/tests/goadb_no_glyphorder.ufo/glyphs/one.alt.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/tests/goadb_no_glyphorder.ufo/glyphs/one.alt1.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/tests/goadb_no_glyphorder.ufo/glyphs/one.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/tests/goadb_no_glyphorder.ufo/glyphs/p.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/tests/goadb_no_glyphorder.ufo/glyphs/parenleft.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/tests/goadb_no_glyphorder.ufo/glyphs/parenright.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/tests/goadb_no_glyphorder.ufo/glyphs/percent.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/tests/goadb_no_glyphorder.ufo/glyphs/period.alt.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/tests/goadb_no_glyphorder.ufo/glyphs/period.alt1.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/tests/goadb_no_glyphorder.ufo/glyphs/period.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/tests/goadb_no_glyphorder.ufo/glyphs/plus.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/tests/goadb_no_glyphorder.ufo/glyphs/q.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/tests/goadb_no_glyphorder.ufo/glyphs/question.alt.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/tests/goadb_no_glyphorder.ufo/glyphs/question.alt1.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/tests/goadb_no_glyphorder.ufo/glyphs/question.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/tests/goadb_no_glyphorder.ufo/glyphs/quotedbl.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/tests/goadb_no_glyphorder.ufo/glyphs/quotesingle.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/tests/goadb_no_glyphorder.ufo/glyphs/r.alt.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/tests/goadb_no_glyphorder.ufo/glyphs/r.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/tests/goadb_no_glyphorder.ufo/glyphs/s.alt.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/tests/goadb_no_glyphorder.ufo/glyphs/s.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/tests/goadb_no_glyphorder.ufo/glyphs/semicolon.alt.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/tests/goadb_no_glyphorder.ufo/glyphs/semicolon.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/tests/goadb_no_glyphorder.ufo/glyphs/seven.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/tests/goadb_no_glyphorder.ufo/glyphs/six.alt.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/tests/goadb_no_glyphorder.ufo/glyphs/six.alt1.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/tests/goadb_no_glyphorder.ufo/glyphs/six.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/tests/goadb_no_glyphorder.ufo/glyphs/slash.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/tests/goadb_no_glyphorder.ufo/glyphs/space.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/tests/goadb_no_glyphorder.ufo/glyphs/t.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/tests/goadb_no_glyphorder.ufo/glyphs/three.alt.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/tests/goadb_no_glyphorder.ufo/glyphs/three.alt1.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/tests/goadb_no_glyphorder.ufo/glyphs/three.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/tests/goadb_no_glyphorder.ufo/glyphs/two.alt.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/tests/goadb_no_glyphorder.ufo/glyphs/two.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/tests/goadb_no_glyphorder.ufo/glyphs/u.alt.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/tests/goadb_no_glyphorder.ufo/glyphs/u.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/tests/goadb_no_glyphorder.ufo/glyphs/underscore.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/tests/goadb_no_glyphorder.ufo/glyphs/v.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/tests/goadb_no_glyphorder.ufo/glyphs/w.alt.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/tests/goadb_no_glyphorder.ufo/glyphs/w.alt1.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/tests/goadb_no_glyphorder.ufo/glyphs/w.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/tests/goadb_no_glyphorder.ufo/glyphs/x.alt.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/tests/goadb_no_glyphorder.ufo/glyphs/x.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/tests/goadb_no_glyphorder.ufo/glyphs/y.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/tests/goadb_no_glyphorder.ufo/glyphs/z.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/tests/goadb_no_glyphorder.ufo/glyphs/zero.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/tests/goadb_no_glyphorder.ufo/layercontents.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | foreground
7 | glyphs
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/tests/goadb_no_glyphorder.ufo/metainfo.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | creator
6 | com.github.fonttools.ufoLib
7 | formatVersion
8 | 3
9 |
10 |
11 |
--------------------------------------------------------------------------------
/tests/goadb_template_glyphs:
--------------------------------------------------------------------------------
1 | .notdef .notdef
2 | A A
3 | B B
4 | C C
--------------------------------------------------------------------------------
/tests/goadb_template_glyphs.ufo/fontinfo.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | ascender
6 | 750
7 | capHeight
8 | 750
9 | descender
10 | -250
11 | postscriptBlueValues
12 |
13 |
14 | postscriptFamilyBlues
15 |
16 |
17 | postscriptFamilyOtherBlues
18 |
19 |
20 | postscriptOtherBlues
21 |
22 |
23 | postscriptStemSnapH
24 |
25 |
26 | postscriptStemSnapV
27 |
28 |
29 | unitsPerEm
30 | 1000
31 | xHeight
32 | 500
33 |
34 |
35 |
--------------------------------------------------------------------------------
/tests/goadb_template_glyphs.ufo/glyphs/contents.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/tests/goadb_template_glyphs.ufo/glyphs/layerinfo.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | color
6 | 1,0,1,0.7
7 |
8 |
9 |
--------------------------------------------------------------------------------
/tests/goadb_template_glyphs.ufo/layercontents.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | foreground
7 | glyphs
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/tests/goadb_template_glyphs.ufo/lib.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | public.glyphOrder
6 |
7 | .notdef
8 | A
9 | B
10 | C
11 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/tests/goadb_template_glyphs.ufo/metainfo.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | creator
6 | com.github.fonttools.ufoLib
7 | formatVersion
8 | 3
9 |
10 |
11 |
--------------------------------------------------------------------------------
/tests/kern_AV.ufo/glyphs/contents.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | A
6 | A_.glif
7 | V
8 | V_.glif
9 |
10 |
11 |
--------------------------------------------------------------------------------
/tests/kern_AV.ufo/groups.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | LATIN
6 |
7 | A
8 | V
9 |
10 | public.kern1.LAT_A
11 |
12 | A
13 |
14 | public.kern1.LAT_V
15 |
16 | V
17 |
18 | public.kern2.LAT_A
19 |
20 | A
21 |
22 | public.kern2.LAT_V
23 |
24 | V
25 |
26 | uc
27 |
28 | A
29 | V
30 |
31 |
32 |
33 |
--------------------------------------------------------------------------------
/tests/kern_AV.ufo/kerning.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | public.kern1.LAT_A
6 |
7 | public.kern2.LAT_A
8 | 10
9 | public.kern2.LAT_V
10 | -119
11 |
12 | public.kern1.LAT_V
13 |
14 | public.kern2.LAT_A
15 | -120
16 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/tests/kern_AV.ufo/layercontents.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | public.default
7 | glyphs
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/tests/kern_AV.ufo/lib.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | public.glyphOrder
6 |
7 | A
8 | V
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/tests/kern_AV.ufo/metainfo.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | creator
6 | com.github.fonttools.ufoLib
7 | formatVersion
8 | 3
9 |
10 |
11 |
--------------------------------------------------------------------------------
/tests/kern_AV_dissolved.fea:
--------------------------------------------------------------------------------
1 | # PS Name: SourceSerif4-Regular
2 | # MinKern: +/- 3 inclusive
3 |
4 |
5 | # glyph, glyph:
6 | pos A A 10;
7 | pos A V -119;
8 | pos V A -120;
9 |
--------------------------------------------------------------------------------
/tests/kern_AV_singletons.fea:
--------------------------------------------------------------------------------
1 | # PS Name: SourceSerif4-Regular
2 | # MinKern: +/- 3 inclusive
3 |
4 | @MMK_L_LAT_A = [A];
5 | @MMK_L_LAT_V = [V];
6 | @MMK_R_LAT_A = [A];
7 | @MMK_R_LAT_V = [V];
8 |
9 | # group, group/glyph:
10 | pos @MMK_L_LAT_A @MMK_R_LAT_A 10;
11 | pos @MMK_L_LAT_A @MMK_R_LAT_V -119;
12 | pos @MMK_L_LAT_V @MMK_R_LAT_A -120;
13 |
--------------------------------------------------------------------------------
/tests/kern_all_zero_value.ufo/features.fea:
--------------------------------------------------------------------------------
1 | include(../../../../../features.fea);
2 |
--------------------------------------------------------------------------------
/tests/kern_all_zero_value.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/kern_all_zero_value.ufo/glyphs/layerinfo.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | color
6 | 1,0,1,0.7
7 |
8 |
9 |
--------------------------------------------------------------------------------
/tests/kern_all_zero_value.ufo/glyphs/space.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/tests/kern_all_zero_value.ufo/kerning.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | B
6 |
7 | public.kern2.LAT_A
8 | 0
9 | public.kern2.LAT_E
10 | 0
11 | public.kern2.LAT_O
12 | 0
13 |
14 | public.kern1.LAT_A
15 |
16 | public.kern2.LAT_A
17 | 0
18 | public.kern2.LAT_E
19 | 0
20 | public.kern2.LAT_O
21 | 0
22 |
23 |
24 |
25 |
--------------------------------------------------------------------------------
/tests/kern_all_zero_value.ufo/layercontents.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | public.default
7 | glyphs
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/tests/kern_all_zero_value.ufo/lib.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | public.glyphOrder
6 |
7 | .notdef
8 | space
9 | A
10 | B
11 | C
12 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/tests/kern_all_zero_value.ufo/metainfo.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | creator
6 | com.github.fonttools.ufoLib
7 | formatVersion
8 | 3
9 |
10 |
11 |
--------------------------------------------------------------------------------
/tests/kern_example.ufo/glyphs/layerinfo.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | color
6 | 1,0.75,0,0.7
7 |
8 |
9 |
--------------------------------------------------------------------------------
/tests/kern_example.ufo/glyphs/quotedbl.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 | public.markColor
12 | 0,1,0.8,0.2
13 |
14 |
15 |
16 |
--------------------------------------------------------------------------------
/tests/kern_example.ufo/glyphs/quotesingle.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
--------------------------------------------------------------------------------
/tests/kern_example.ufo/layercontents.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | foreground
7 | glyphs
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/tests/kern_example.ufo/lib.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | public.glyphOrder
6 |
7 | A
8 | L
9 | O
10 | V
11 | Y
12 | i
13 | v
14 | w
15 | Adieresis
16 | Lcaron
17 | Odieresis
18 | Ydieresis
19 | igrave
20 | quotesingle
21 | quotedbl
22 |
23 |
24 |
25 |
--------------------------------------------------------------------------------
/tests/kern_example.ufo/metainfo.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | creator
6 | com.github.fonttools.ufoLib
7 | formatVersion
8 | 3
9 |
10 |
11 |
--------------------------------------------------------------------------------
/tests/kern_example_rtl.ufo/glyphs/F_.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
--------------------------------------------------------------------------------
/tests/kern_example_rtl.ufo/glyphs/arA_e.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/tests/kern_example_rtl.ufo/glyphs/arA_lef.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
--------------------------------------------------------------------------------
/tests/kern_example_rtl.ufo/glyphs/arZ_ain.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
--------------------------------------------------------------------------------
/tests/kern_example_rtl.ufo/glyphs/dotlessi.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
--------------------------------------------------------------------------------
/tests/kern_example_rtl.ufo/glyphs/iacute.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/tests/kern_example_rtl.ufo/glyphs/icircumflex.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/tests/kern_example_rtl.ufo/glyphs/igrave.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/tests/kern_example_rtl.ufo/glyphs/imacron.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/tests/kern_example_rtl.ufo/layercontents.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | public.default
7 | glyphs
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/tests/kern_example_rtl.ufo/metainfo.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | creator
6 | com.github.fonttools.ufoLib
7 | formatVersion
8 | 3
9 |
10 |
11 |
--------------------------------------------------------------------------------
/tests/kern_example_ufo2.ufo/glyphs/quotedbl.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 | public.markColor
12 | 0,1,0.8,0.2
13 |
14 |
15 |
16 |
--------------------------------------------------------------------------------
/tests/kern_example_ufo2.ufo/glyphs/quotesingle.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
--------------------------------------------------------------------------------
/tests/kern_example_ufo2.ufo/layercontents.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | public.default
7 | glyphs
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/tests/kern_example_ufo2.ufo/lib.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | public.glyphOrder
6 |
7 | A
8 | L
9 | O
10 | V
11 | Y
12 | i
13 | v
14 | w
15 | Adieresis
16 | Lcaron
17 | Odieresis
18 | Ydieresis
19 | igrave
20 | quotesingle
21 | quotedbl
22 |
23 |
24 |
25 |
--------------------------------------------------------------------------------
/tests/kern_example_ufo2.ufo/metainfo.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | creator
6 | com.github.fonttools.ufoLib
7 | formatVersion
8 | 3
9 |
10 |
11 |
--------------------------------------------------------------------------------
/tests/kern_ignored_groups.fea:
--------------------------------------------------------------------------------
1 | # PS Name: SourceSerif4-Regular
2 | # MinKern: +/- 3 inclusive
3 |
4 | @MMK_L_LAT_ABC = [A B C];
5 | @MMK_R_LAT_ABC = [A B C];
6 |
7 | # glyph, glyph exceptions:
8 | pos A A 20;
9 | pos A B 0;
10 | pos A C 25;
11 | pos B A -10;
12 | pos B B 5;
13 | pos B C -25;
14 | pos C A 15;
15 | pos C B -50;
16 | pos C C 5;
17 | pos D A 20;
18 | pos D B 10;
19 | pos D C -5;
20 |
--------------------------------------------------------------------------------
/tests/kern_ignored_groups.ufo/features.fea:
--------------------------------------------------------------------------------
1 | include(../../../../../features.fea);
2 |
--------------------------------------------------------------------------------
/tests/kern_ignored_groups.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 | D
14 | D_.glif
15 | space
16 | space.glif
17 |
18 |
19 |
--------------------------------------------------------------------------------
/tests/kern_ignored_groups.ufo/glyphs/layerinfo.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | color
6 | 1,0,1,0.7
7 |
8 |
9 |
--------------------------------------------------------------------------------
/tests/kern_ignored_groups.ufo/glyphs/space.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/tests/kern_ignored_groups.ufo/groups.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | LATIN
6 |
7 | A
8 | B
9 | C
10 |
11 | public.kern1.LAT_ABC
12 |
13 | A
14 | B
15 | C
16 |
17 | public.kern2.LAT_ABC
18 |
19 | A
20 | B
21 | C
22 |
23 | uc
24 |
25 | A
26 | B
27 | C
28 |
29 |
30 |
31 |
--------------------------------------------------------------------------------
/tests/kern_ignored_groups.ufo/layercontents.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | public.default
7 | glyphs
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/tests/kern_ignored_groups.ufo/lib.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | public.glyphOrder
6 |
7 | .notdef
8 | space
9 | A
10 | B
11 | C
12 | D
13 |
14 |
15 |
16 |
--------------------------------------------------------------------------------
/tests/kern_ignored_groups.ufo/metainfo.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | creator
6 | com.github.fonttools.ufoLib
7 | formatVersion
8 | 3
9 |
10 |
11 |
--------------------------------------------------------------------------------
/tests/kern_left_side_exception.ufo/glyphs/A_.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
--------------------------------------------------------------------------------
/tests/kern_left_side_exception.ufo/glyphs/A_acute.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/tests/kern_left_side_exception.ufo/glyphs/A_breve.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/tests/kern_left_side_exception.ufo/glyphs/A_circumflex.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
--------------------------------------------------------------------------------
/tests/kern_left_side_exception.ufo/glyphs/A_grave.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/tests/kern_left_side_exception.ufo/glyphs/A_macron.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
--------------------------------------------------------------------------------
/tests/kern_left_side_exception.ufo/glyphs/A_ogonek.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
--------------------------------------------------------------------------------
/tests/kern_left_side_exception.ufo/glyphs/A_ring.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
--------------------------------------------------------------------------------
/tests/kern_left_side_exception.ufo/glyphs/O_.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
--------------------------------------------------------------------------------
/tests/kern_left_side_exception.ufo/glyphs/O_acute.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/tests/kern_left_side_exception.ufo/glyphs/O_circumflex.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
--------------------------------------------------------------------------------
/tests/kern_left_side_exception.ufo/glyphs/O_grave.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/tests/kern_left_side_exception.ufo/glyphs/O_hungarumlaut.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
--------------------------------------------------------------------------------
/tests/kern_left_side_exception.ufo/glyphs/O_macron.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
--------------------------------------------------------------------------------
/tests/kern_left_side_exception.ufo/glyphs/O_slash.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
--------------------------------------------------------------------------------
/tests/kern_left_side_exception.ufo/glyphs/layerinfo.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | color
6 | 1,0.75,0,0.7
7 |
8 |
9 |
--------------------------------------------------------------------------------
/tests/kern_left_side_exception.ufo/glyphs/parenleft.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/tests/kern_left_side_exception.ufo/glyphs/parenright.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/tests/kern_left_side_exception.ufo/glyphs/question.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
--------------------------------------------------------------------------------
/tests/kern_left_side_exception.ufo/glyphs/space.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/tests/kern_left_side_exception.ufo/layercontents.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | public.default
7 | glyphs
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/tests/kern_left_side_exception.ufo/metainfo.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | creator
6 | com.github.fonttools.ufoLib
7 | formatVersion
8 | 3
9 |
10 |
11 |
--------------------------------------------------------------------------------
/tests/kern_mock_rtl.ufo/features.fea:
--------------------------------------------------------------------------------
1 | include(../../../../../features.fea);
2 |
--------------------------------------------------------------------------------
/tests/kern_mock_rtl.ufo/glyphs/L_acute.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/tests/kern_mock_rtl.ufo/glyphs/L_caron.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
--------------------------------------------------------------------------------
/tests/kern_mock_rtl.ufo/glyphs/L_dot.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
--------------------------------------------------------------------------------
/tests/kern_mock_rtl.ufo/glyphs/L_dotbelow.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
--------------------------------------------------------------------------------
/tests/kern_mock_rtl.ufo/glyphs/L_dotbelowmacron.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/tests/kern_mock_rtl.ufo/glyphs/L_linebelow.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/tests/kern_mock_rtl.ufo/glyphs/L_slash.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
--------------------------------------------------------------------------------
/tests/kern_mock_rtl.ufo/glyphs/aacute.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/tests/kern_mock_rtl.ufo/glyphs/acircumflex.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/tests/kern_mock_rtl.ufo/glyphs/agrave.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/tests/kern_mock_rtl.ufo/glyphs/amacron.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/tests/kern_mock_rtl.ufo/glyphs/backslash.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/tests/kern_mock_rtl.ufo/glyphs/iacute.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/tests/kern_mock_rtl.ufo/glyphs/icircumflex.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/tests/kern_mock_rtl.ufo/glyphs/igrave.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/tests/kern_mock_rtl.ufo/glyphs/layerinfo.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | color
6 | 1,0,1,0.7
7 |
8 |
9 |
--------------------------------------------------------------------------------
/tests/kern_mock_rtl.ufo/glyphs/tcaron.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
--------------------------------------------------------------------------------
/tests/kern_mock_rtl.ufo/layercontents.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | public.default
7 | glyphs
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/tests/kern_mock_rtl.ufo/metainfo.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | creator
6 | com.github.fonttools.ufoLib
7 | formatVersion
8 | 3
9 |
10 |
11 |
--------------------------------------------------------------------------------
/tests/kern_nightmare.ufo/features.fea:
--------------------------------------------------------------------------------
1 | include(../../../../../features.fea);
2 |
--------------------------------------------------------------------------------
/tests/kern_nightmare.ufo/glyphs/Q_.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/tests/kern_nightmare.ufo/glyphs/layerinfo.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | color
6 | 1,0,1,0.7
7 |
8 |
9 |
--------------------------------------------------------------------------------
/tests/kern_nightmare.ufo/layercontents.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | public.default
7 | glyphs
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/tests/kern_nightmare.ufo/metainfo.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | creator
6 | com.github.fonttools.ufoLib
7 | formatVersion
8 | 3
9 |
10 |
11 |
--------------------------------------------------------------------------------
/tests/kern_no_groups.fea:
--------------------------------------------------------------------------------
1 | # PS Name: SourceSerif4-Regular
2 | # MinKern: +/- 3 inclusive
3 |
4 |
5 | # glyph, glyph:
6 | pos A A 20;
7 | pos A C 25;
8 | pos B A -10;
9 | pos B B 5;
10 | pos B C -25;
11 | pos C A 15;
12 | pos C B -50;
13 | pos C C 5;
14 |
--------------------------------------------------------------------------------
/tests/kern_no_groups.ufo/features.fea:
--------------------------------------------------------------------------------
1 | include(../../../../../features.fea);
2 |
--------------------------------------------------------------------------------
/tests/kern_no_groups.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/kern_no_groups.ufo/glyphs/layerinfo.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | color
6 | 1,0,1,0.7
7 |
8 |
9 |
--------------------------------------------------------------------------------
/tests/kern_no_groups.ufo/glyphs/space.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/tests/kern_no_groups.ufo/kerning.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | A
6 |
7 | A
8 | 20
9 | B
10 | 0
11 | C
12 | 25
13 |
14 | B
15 |
16 | A
17 | -10
18 | B
19 | 5
20 | C
21 | -25
22 |
23 | C
24 |
25 | A
26 | 15
27 | B
28 | -50
29 | C
30 | 5
31 |
32 |
33 |
34 |
--------------------------------------------------------------------------------
/tests/kern_no_groups.ufo/layercontents.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | public.default
7 | glyphs
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/tests/kern_no_groups.ufo/lib.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | public.glyphOrder
6 |
7 | .notdef
8 | space
9 | A
10 | B
11 | C
12 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/tests/kern_no_groups.ufo/metainfo.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | creator
6 | com.github.fonttools.ufoLib
7 | formatVersion
8 | 3
9 |
10 |
11 |
--------------------------------------------------------------------------------
/tests/kern_ss4_exceptions.ufo/features.fea:
--------------------------------------------------------------------------------
1 | include(../../../../../features.fea);
2 |
--------------------------------------------------------------------------------
/tests/kern_ss4_exceptions.ufo/glyphs/L_acute.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/tests/kern_ss4_exceptions.ufo/glyphs/L_caron.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
--------------------------------------------------------------------------------
/tests/kern_ss4_exceptions.ufo/glyphs/L_dot.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
--------------------------------------------------------------------------------
/tests/kern_ss4_exceptions.ufo/glyphs/L_dotbelow.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
--------------------------------------------------------------------------------
/tests/kern_ss4_exceptions.ufo/glyphs/L_dotbelowmacron.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/tests/kern_ss4_exceptions.ufo/glyphs/L_linebelow.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/tests/kern_ss4_exceptions.ufo/glyphs/L_slash.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
--------------------------------------------------------------------------------
/tests/kern_ss4_exceptions.ufo/glyphs/aacute.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/tests/kern_ss4_exceptions.ufo/glyphs/acircumflex.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/tests/kern_ss4_exceptions.ufo/glyphs/agrave.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/tests/kern_ss4_exceptions.ufo/glyphs/amacron.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/tests/kern_ss4_exceptions.ufo/glyphs/backslash.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/tests/kern_ss4_exceptions.ufo/glyphs/iacute.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/tests/kern_ss4_exceptions.ufo/glyphs/icircumflex.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/tests/kern_ss4_exceptions.ufo/glyphs/igrave.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/tests/kern_ss4_exceptions.ufo/glyphs/layerinfo.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | color
6 | 1,0,1,0.7
7 |
8 |
9 |
--------------------------------------------------------------------------------
/tests/kern_ss4_exceptions.ufo/glyphs/tcaron.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
--------------------------------------------------------------------------------
/tests/kern_ss4_exceptions.ufo/layercontents.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | public.default
7 | glyphs
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/tests/kern_ss4_exceptions.ufo/metainfo.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | creator
6 | com.github.fonttools.ufoLib
7 | formatVersion
8 | 3
9 |
10 |
11 |
--------------------------------------------------------------------------------
/tests/kern_suffix.ufo/glyphs/layerinfo.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | color
6 | 1,0.75,0,0.7
7 |
8 |
9 |
--------------------------------------------------------------------------------
/tests/kern_suffix.ufo/glyphs/quotedbl.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 | public.markColor
12 | 0,1,0.8,0.2
13 |
14 |
15 |
16 |
--------------------------------------------------------------------------------
/tests/kern_suffix.ufo/glyphs/quotesingle.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
--------------------------------------------------------------------------------
/tests/kern_suffix.ufo/layercontents.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | foreground
7 | glyphs
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/tests/kern_suffix.ufo/lib.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | public.glyphOrder
6 |
7 | A
8 | L
9 | O
10 | V.cxt
11 | Y
12 | i
13 | v
14 | w
15 | Adieresis
16 | Lcaron
17 | Odieresis
18 | Ydieresis
19 | igrave
20 | quotesingle
21 | quotedbl
22 |
23 |
24 |
25 |
--------------------------------------------------------------------------------
/tests/kern_suffix.ufo/metainfo.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | creator
6 | com.github.fonttools.ufoLib
7 | formatVersion
8 | 3
9 |
10 |
11 |
--------------------------------------------------------------------------------
/tests/kern_unused_groups.fea:
--------------------------------------------------------------------------------
1 | # PS Name: SourceSerif4-Regular
2 | # MinKern: +/- 3 inclusive
3 |
4 |
5 | # glyph, glyph:
6 | pos A A 20;
7 | pos A C 25;
8 | pos B A -10;
9 | pos B B 5;
10 | pos B C -25;
11 | pos C A 15;
12 | pos C B -50;
13 | pos C C 5;
14 |
--------------------------------------------------------------------------------
/tests/kern_unused_groups.ufo/features.fea:
--------------------------------------------------------------------------------
1 | include(../../../../../features.fea);
2 |
--------------------------------------------------------------------------------
/tests/kern_unused_groups.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/kern_unused_groups.ufo/glyphs/layerinfo.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | color
6 | 1,0,1,0.7
7 |
8 |
9 |
--------------------------------------------------------------------------------
/tests/kern_unused_groups.ufo/glyphs/space.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/tests/kern_unused_groups.ufo/kerning.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | A
6 |
7 | A
8 | 20
9 | B
10 | 0
11 | C
12 | 25
13 |
14 | B
15 |
16 | A
17 | -10
18 | B
19 | 5
20 | C
21 | -25
22 |
23 | C
24 |
25 | A
26 | 15
27 | B
28 | -50
29 | C
30 | 5
31 |
32 |
33 |
34 |
--------------------------------------------------------------------------------
/tests/kern_unused_groups.ufo/layercontents.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | public.default
7 | glyphs
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/tests/kern_unused_groups.ufo/lib.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | public.glyphOrder
6 |
7 | .notdef
8 | space
9 | A
10 | B
11 | C
12 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/tests/kern_unused_groups.ufo/metainfo.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | creator
6 | com.github.fonttools.ufoLib
7 | formatVersion
8 | 3
9 |
10 |
11 |
--------------------------------------------------------------------------------
/tests/mark_deva_simple.ufo/features.fea:
--------------------------------------------------------------------------------
1 | include (../../../../features.fea);
2 |
--------------------------------------------------------------------------------
/tests/mark_deva_simple.ufo/glyphs/acutecmb.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/tests/mark_deva_simple.ufo/glyphs/dvA_nusvara.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
--------------------------------------------------------------------------------
/tests/mark_deva_simple.ufo/glyphs/dvN_ukta.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
--------------------------------------------------------------------------------
/tests/mark_deva_simple.ufo/glyphs/dvQ_a.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/tests/mark_deva_simple.ufo/glyphs/dvV_irama.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
--------------------------------------------------------------------------------
/tests/mark_deva_simple.ufo/glyphs/space.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/tests/mark_deva_simple.ufo/kerning.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | public.kern1.Ka
6 |
7 | public.kern2.Ra
8 | -7
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/tests/mark_deva_simple.ufo/layercontents.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | public.default
7 | glyphs
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/tests/mark_deva_simple.ufo/lib.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | public.glyphOrder
6 |
7 | .notdef
8 | space
9 | dvKa
10 | dvKha
11 | dvQa
12 | dvCandrabindu
13 | dvAnusvara
14 | dvNukta
15 | dvVirama
16 | dvReph
17 | a
18 | acutecmb
19 |
20 |
21 |
22 |
--------------------------------------------------------------------------------
/tests/mark_deva_simple.ufo/metainfo.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | creator
6 | com.github.fonttools.ufoLib
7 | formatVersion
8 | 3
9 |
10 |
11 |
--------------------------------------------------------------------------------
/tests/mark_deva_simple_abvm.fea:
--------------------------------------------------------------------------------
1 | lookup MARK_BASE_abvmBINDU {
2 | @bGC_dvKa_abvmBINDU = [ dvKa dvQa ];
3 | pos base @bGC_dvKa_abvmBINDU mark @MC_abvmBINDU;
4 | pos base dvKha mark @MC_abvmBINDU;
5 | } MARK_BASE_abvmBINDU;
6 |
7 |
8 | lookup MARK_BASE_abvmCANDRABINDU {
9 | @bGC_dvKa_abvmCANDRABINDU = [ dvKa dvQa ];
10 | pos base @bGC_dvKa_abvmCANDRABINDU mark @MC_abvmCANDRABINDU;
11 | pos base dvKha mark @MC_abvmCANDRABINDU;
12 | } MARK_BASE_abvmCANDRABINDU;
13 |
14 |
15 | lookup MARK_BASE_abvmTOP {
16 | @bGC_dvKa_abvmTOP = [ dvKa dvQa ];
17 | pos base @bGC_dvKa_abvmTOP mark @MC_abvmTOP;
18 | pos base dvKha mark @MC_abvmTOP;
19 | } MARK_BASE_abvmTOP;
20 |
21 |
--------------------------------------------------------------------------------
/tests/mark_deva_simple_blwm.fea:
--------------------------------------------------------------------------------
1 | lookup MARK_BASE_blwmBOTTOM {
2 | pos base dvKa mark @MC_blwmBOTTOM;
3 | pos base dvKha mark @MC_blwmBOTTOM;
4 | pos base dvQa mark @MC_blwmBOTTOM;
5 | } MARK_BASE_blwmBOTTOM;
6 |
7 |
8 | lookup MARK_BASE_blwmNUKTA {
9 | pos base dvKa mark @MC_blwmNUKTA;
10 | pos base dvKha mark @MC_blwmNUKTA;
11 | } MARK_BASE_blwmNUKTA;
12 |
13 |
--------------------------------------------------------------------------------
/tests/mark_deva_simple_mark.fea:
--------------------------------------------------------------------------------
1 | markClass acutecmb @MC_aboveLC;
2 | markClass dvAnusvara @MC_abvmBINDU;
3 | markClass dvCandrabindu @MC_abvmCANDRABINDU;
4 | markClass dvNukta @MC_blwmNUKTA;
5 | markClass dvReph @MC_abvmTOP;
6 | markClass dvVirama @MC_blwmBOTTOM;
7 |
8 | lookup MARK_BASE_aboveLC {
9 | pos base a mark @MC_aboveLC;
10 | } MARK_BASE_aboveLC;
11 |
12 |
--------------------------------------------------------------------------------
/tests/mark_no_group.ufo/glyphs/acutecmb.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/tests/mark_no_group.ufo/glyphs/circumflexcmb.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/tests/mark_no_group.ufo/glyphs/contents.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | .notdef
6 | _notdef.glif
7 | acutecmb
8 | acutecmb.glif
9 | cedillacmb
10 | cedillacmb.glif
11 | circumflexcmb
12 | circumflexcmb.glif
13 | commabelowcmb
14 | commabelowcmb.glif
15 | dotbelowcmb
16 | dotbelowcmb.glif
17 | gravecmb
18 | gravecmb.glif
19 | o
20 | o.glif
21 | space
22 | space.glif
23 |
24 |
25 |
--------------------------------------------------------------------------------
/tests/mark_no_group.ufo/glyphs/dotbelowcmb.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
--------------------------------------------------------------------------------
/tests/mark_no_group.ufo/glyphs/gravecmb.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/tests/mark_no_group.ufo/glyphs/layerinfo.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | color
6 | 1,0,1,0.7
7 |
8 |
9 |
--------------------------------------------------------------------------------
/tests/mark_no_group.ufo/glyphs/space.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/tests/mark_no_group.ufo/groups.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | LATIN
6 |
7 | o
8 |
9 | lc
10 |
11 | o
12 |
13 | public.kern1.LAT_b
14 |
15 | o
16 |
17 | public.kern2.LAT_o
18 |
19 | o
20 |
21 |
22 |
23 |
--------------------------------------------------------------------------------
/tests/mark_no_group.ufo/layercontents.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | public.default
7 | glyphs
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/tests/mark_no_group.ufo/lib.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | public.glyphOrder
6 |
7 | .notdef
8 | space
9 | o
10 | gravecmb
11 | acutecmb
12 | circumflexcmb
13 | commabelowcmb
14 | cedillacmb
15 | dotbelowcmb
16 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/tests/mark_no_group.ufo/metainfo.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | creator
6 | com.github.fonttools.ufoLib
7 | formatVersion
8 | 3
9 |
10 |
11 |
--------------------------------------------------------------------------------
/tests/mark_rtl_liga.fea:
--------------------------------------------------------------------------------
1 | @mGC_aboveAR_85_770 = [ arFatha arFathatan ];
2 | @mGC_belowAR_0_0 = [ arKasra arKasratan ];
3 |
4 | markClass @mGC_aboveAR_85_770 @MC_aboveAR;
5 | markClass @mGC_belowAR_0_0 @MC_belowAR;
6 |
7 | lookup MARK_LIGATURE_aboveAR {
8 | lookupflag RightToLeft;
9 |
10 | pos ligature arKafAlefMaksura mark @MC_aboveAR ligComponent mark @MC_aboveAR;
11 | } MARK_LIGATURE_aboveAR;
12 |
13 |
14 | lookup MARK_LIGATURE_belowAR {
15 | lookupflag RightToLeft;
16 |
17 | pos ligature arKafAlefMaksura mark @MC_belowAR ligComponent mark @MC_belowAR;
18 | } MARK_LIGATURE_belowAR;
19 |
20 |
--------------------------------------------------------------------------------
/tests/mark_rtl_liga.ufo/glyphs/arF_atha.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 | public.markColor
21 | 0.952,0.6552,0.648,1
22 |
23 |
24 |
25 |
--------------------------------------------------------------------------------
/tests/mark_rtl_liga.ufo/glyphs/arK_asra.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 | public.markColor
20 | 0.952,0.6552,0.648,1
21 |
22 |
23 |
24 |
--------------------------------------------------------------------------------
/tests/mark_rtl_liga.ufo/glyphs/contents.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | arFatha
6 | arF_atha.glif
7 | arFathatan
8 | arF_athatan.glif
9 | arKafAlefMaksura
10 | arK_afA_lefM_aksura.glif
11 | arKasra
12 | arK_asra.glif
13 | arKasratan
14 | arK_asratan.glif
15 |
16 |
17 |
--------------------------------------------------------------------------------
/tests/mark_rtl_liga.ufo/glyphs/layerinfo.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | color
6 | 1,0,1,0.7
7 |
8 |
9 |
--------------------------------------------------------------------------------
/tests/mark_rtl_liga.ufo/groups.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | COMBINING_MARKS
6 |
7 | arFatha
8 | arFathatan
9 | arKasra
10 | arKasratan
11 |
12 | LIGATURES_WITH_2_COMPONENTS
13 |
14 | arKafAlefMaksura
15 |
16 | public.kern1.ALEFMAKSURA_1ST_ARA
17 |
18 | arKafAlefMaksura
19 |
20 | public.kern2.KAFALEFMAKSURA_2ND_ARA
21 |
22 | arKafAlefMaksura
23 |
24 |
25 |
26 |
--------------------------------------------------------------------------------
/tests/mark_rtl_liga.ufo/layercontents.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | public.default
7 | glyphs
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/tests/mark_rtl_liga.ufo/lib.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | public.glyphOrder
6 |
7 | arKafAlefMaksura
8 | arFatha
9 | arFathatan
10 | arKasra
11 | arKasratan
12 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/tests/mark_rtl_liga.ufo/metainfo.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | creator
6 | com.github.fonttools.ufoLib
7 | formatVersion
8 | 3
9 |
10 |
11 |
--------------------------------------------------------------------------------
/tests/mark_simple.fea:
--------------------------------------------------------------------------------
1 | @mGC_aboveLC_0_495 = [ gravecmb acutecmb circumflexcmb ];
2 | @mGC_belowLC_0_n20 = [ commabelowcmb dotbelowcmb ];
3 |
4 | markClass @mGC_aboveLC_0_495 @MC_aboveLC;
5 | markClass @mGC_belowLC_0_n20 @MC_belowLC;
6 |
7 | lookup MARK_BASE_aboveLC {
8 | @bGC_o_aboveLC = [ o oslash ];
9 | pos base @bGC_o_aboveLC mark @MC_aboveLC;
10 | pos base a mark @MC_aboveLC;
11 | } MARK_BASE_aboveLC;
12 |
13 |
14 | lookup MARK_BASE_belowLC {
15 | pos base a mark @MC_belowLC;
16 | pos base o mark @MC_belowLC;
17 | } MARK_BASE_belowLC;
18 |
19 |
--------------------------------------------------------------------------------
/tests/mark_simple.ufo/glyphs/acutecmb.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/tests/mark_simple.ufo/glyphs/circumflexcmb.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/tests/mark_simple.ufo/glyphs/contents.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | .notdef
6 | _notdef.glif
7 | a
8 | a.glif
9 | acutecmb
10 | acutecmb.glif
11 | cedillacmb
12 | cedillacmb.glif
13 | circumflexcmb
14 | circumflexcmb.glif
15 | commabelowcmb
16 | commabelowcmb.glif
17 | dotbelowcmb
18 | dotbelowcmb.glif
19 | gravecmb
20 | gravecmb.glif
21 | o
22 | o.glif
23 | oslash
24 | oslash.glif
25 | space
26 | space.glif
27 |
28 |
29 |
--------------------------------------------------------------------------------
/tests/mark_simple.ufo/glyphs/dotbelowcmb.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
--------------------------------------------------------------------------------
/tests/mark_simple.ufo/glyphs/gravecmb.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/tests/mark_simple.ufo/glyphs/space.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/tests/mark_simple.ufo/layercontents.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | public.default
7 | glyphs
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/tests/mark_simple.ufo/lib.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | public.glyphOrder
6 |
7 | .notdef
8 | space
9 | a
10 | o
11 | oslash
12 | gravecmb
13 | acutecmb
14 | circumflexcmb
15 | commabelowcmb
16 | cedillacmb
17 | dotbelowcmb
18 |
19 |
20 |
21 |
--------------------------------------------------------------------------------
/tests/mark_simple.ufo/metainfo.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | creator
6 | com.github.fonttools.ufoLib
7 | formatVersion
8 | 3
9 |
10 |
11 |
--------------------------------------------------------------------------------
/tests/mark_simple_classes.fea:
--------------------------------------------------------------------------------
1 | @mGC_aboveLC_0_495 = [ gravecmb acutecmb circumflexcmb ];
2 | @mGC_belowLC_0_n20 = [ commabelowcmb dotbelowcmb ];
3 |
4 | markClass @mGC_aboveLC_0_495 @MC_aboveLC;
5 | markClass @mGC_belowLC_0_n20 @MC_belowLC;
6 |
--------------------------------------------------------------------------------
/tests/mark_simple_noclasses.fea:
--------------------------------------------------------------------------------
1 | lookup MARK_BASE_aboveLC {
2 | @bGC_o_aboveLC = [ o oslash ];
3 | pos base @bGC_o_aboveLC mark @MC_aboveLC;
4 | pos base a mark @MC_aboveLC;
5 | } MARK_BASE_aboveLC;
6 |
7 |
8 | lookup MARK_BASE_belowLC {
9 | pos base a mark @MC_belowLC;
10 | pos base o mark @MC_belowLC;
11 | } MARK_BASE_belowLC;
12 |
13 |
--------------------------------------------------------------------------------
/tests/mark_trim.fea:
--------------------------------------------------------------------------------
1 | @mGC_above_0_495 = [ gravecmb acutecmb circumflexcmb tildecmb macroncmb brevecmb dotaccentcmb dieresiscmb ringcmb hungarumlautcmb caroncmb ];
2 | @mGC_above_0_690 = [ gravecmb.cap acutecmb.cap circumflexcmb.cap tildecmb.cap macroncmb.cap brevecmb.cap dotaccentcmb.cap dieresiscmb.cap ringcmb.cap hungarumlautcmb.cap caroncmb.cap ];
3 |
4 | markClass @mGC_above_0_495 @MC_above;
5 | markClass @mGC_above_0_690 @MC_above;
6 |
7 | markClass commabelowcmb @MC_below;
8 |
9 | lookup MARK_BASE_above {
10 | pos base O mark @MC_above;
11 | pos base o mark @MC_above;
12 | } MARK_BASE_above;
13 |
14 |
15 | lookup MARK_BASE_below {
16 | pos base O mark @MC_below;
17 | pos base o mark @MC_below;
18 | } MARK_BASE_below;
19 |
20 |
--------------------------------------------------------------------------------
/tests/mark_trim.ufo/features.fea:
--------------------------------------------------------------------------------
1 | include (../../../../featuresVar.fea);
2 |
3 | table OS/2 {
4 | include (../../../Instances/Text/Regular/os2.fea);
5 | include (../../../../familyOS2.fea);
6 | } OS/2;
7 |
8 | # GPOS -----------------------------------
9 | feature mark {
10 | include (../../../Instances/Text/Regular/mark.fea);
11 | } mark;
12 |
13 | feature mkmk {
14 | include (../../../Instances/Text/Regular/mkmk.fea);
15 | } mkmk;
16 |
17 | feature kern {
18 | lookupflag IgnoreMarks;
19 | lookup KERN useExtension {
20 | include (../../../Instances/Text/Regular/kern.fea);
21 | } KERN;
22 |
23 | include (../../../Instances/Text/Regular/kern_ctxt.fea);
24 | } kern;
25 |
--------------------------------------------------------------------------------
/tests/mark_trim.ufo/glyphs/acutecmb.cap.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
--------------------------------------------------------------------------------
/tests/mark_trim.ufo/glyphs/acutecmb.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/tests/mark_trim.ufo/glyphs/brevecmb.cap.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
--------------------------------------------------------------------------------
/tests/mark_trim.ufo/glyphs/brevecmb.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
--------------------------------------------------------------------------------
/tests/mark_trim.ufo/glyphs/caroncmb.cap.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/tests/mark_trim.ufo/glyphs/caroncmb.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/tests/mark_trim.ufo/glyphs/circumflexcmb.cap.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/tests/mark_trim.ufo/glyphs/circumflexcmb.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/tests/mark_trim.ufo/glyphs/dotaccentcmb.cap.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
--------------------------------------------------------------------------------
/tests/mark_trim.ufo/glyphs/dotaccentcmb.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
--------------------------------------------------------------------------------
/tests/mark_trim.ufo/glyphs/gravecmb.cap.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
--------------------------------------------------------------------------------
/tests/mark_trim.ufo/glyphs/gravecmb.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/tests/mark_trim.ufo/glyphs/layerinfo.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | color
6 | 1,0.75,0,0.7
7 |
8 |
9 |
--------------------------------------------------------------------------------
/tests/mark_trim.ufo/glyphs/macroncmb.cap.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/tests/mark_trim.ufo/glyphs/macroncmb.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/tests/mark_trim.ufo/glyphs/space.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/tests/mark_trim.ufo/kerning.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | public.kern1.LAT_O
6 |
7 | public.kern2.LAT_O
8 | 10
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/tests/mark_trim.ufo/layercontents.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | foreground
7 | glyphs
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/tests/mark_trim.ufo/metainfo.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | creator
6 | com.github.fonttools.ufoLib
7 | formatVersion
8 | 3
9 |
10 |
11 |
--------------------------------------------------------------------------------
/tests/mkmk_simple.fea:
--------------------------------------------------------------------------------
1 | lookup MKMK_MARK_aboveLC {
2 | lookupflag MarkAttachmentType @MC_aboveLC;
3 |
4 | pos mark gravecmb mark @MC_aboveLC;
5 | pos mark acutecmb mark @MC_aboveLC;
6 | pos mark circumflexcmb mark @MC_aboveLC;
7 | } MKMK_MARK_aboveLC;
8 |
9 |
10 | lookup MKMK_MARK_belowLC {
11 | lookupflag MarkAttachmentType @MC_belowLC;
12 |
13 | pos mark commabelowcmb mark @MC_belowLC;
14 | pos mark dotbelowcmb mark @MC_belowLC;
15 | } MKMK_MARK_belowLC;
16 |
17 |
--------------------------------------------------------------------------------
/tests/project_mark_liga_ltr/GlyphOrderAndAliasDB:
--------------------------------------------------------------------------------
1 | .notdef .notdef
2 | space space
3 | a a
4 | b b
5 | c c
6 | d d
7 | e e
8 | f f
9 | g g
10 | h h
11 | i i
12 | j j
13 | k k
14 | l l
15 | m m
16 | n n
17 | o o
18 | p p
19 | q q
20 | r r
21 | s s
22 | t t
23 | u u
24 | v v
25 | w w
26 | x x
27 | y y
28 | z z
29 | dotlessi dotlessi
30 | uni0301 acutecmb
31 | uni0301.cap acutecmb.cap
32 | uni0307 dotaccentcmb
33 | uni0307.cap dotaccentcmb.cap
34 | uni0323 dotbelowcmb
35 | f_i f_i
36 | f_i_i f_i_i
37 | f_i_i_i f_i_i_i
38 | f_i_i_i_i f_i_i_i_i
39 | f_i_i_i_i_i f_i_i_i_i_i
40 | f_i_i_i_i_i_i f_i_i_i_i_i_i
41 | f_i_i_i_i_i_i_i f_i_i_i_i_i_i_i
42 | f_i_i_i_i_i_i_i_i f_i_i_i_i_i_i_i_i
43 |
--------------------------------------------------------------------------------
/tests/project_mark_liga_ltr/LigaLTR-Light.otf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/adobe-type-tools/python-modules/406ca5fcdaa41ecd820cadff659cab4e9ff78dc0/tests/project_mark_liga_ltr/LigaLTR-Light.otf
--------------------------------------------------------------------------------
/tests/project_mark_liga_ltr/README.md:
--------------------------------------------------------------------------------
1 | # Liga LTR
2 |
3 | This is a test project for mark-to-ligature attachment in left-to-right context.
4 | The `f_i` (`f_i_i`, `f_i_i_i`, etc.) ligatures within the UFO file are created using a [Python script](collateral/make_ligatures_ltr.py). They contain up to 9 anchor attachment points per role (above, below, etc.), which is the maximum supported by the FDK’s mark feature writer.
5 |
6 | The mark feature within this projects exercises ligature marks, as well as trimming anchor names for upper- and lowercase distinction – plus a random anchor to be skipped.
7 |
8 | markfeaturewriter -t liga_ltr.ufo
9 |
10 |
--------------------------------------------------------------------------------
/tests/project_mark_liga_ltr/features.fea:
--------------------------------------------------------------------------------
1 | languagesystem DFLT dflt;
2 |
3 | include(GSUB.fea);
4 |
5 | feature kern {
6 | include(kern.fea);
7 | } kern;
8 |
9 | feature mark {
10 | include(mark.fea);
11 | } mark;
12 |
13 |
14 |
--------------------------------------------------------------------------------
/tests/project_mark_liga_ltr/liga_ltr.ufo/glyphs/acutecmb.cap.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
--------------------------------------------------------------------------------
/tests/project_mark_liga_ltr/liga_ltr.ufo/glyphs/dotaccentcmb.cap.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
--------------------------------------------------------------------------------
/tests/project_mark_liga_ltr/liga_ltr.ufo/glyphs/dotaccentcmb.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
--------------------------------------------------------------------------------
/tests/project_mark_liga_ltr/liga_ltr.ufo/glyphs/dotbelowcmb.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/tests/project_mark_liga_ltr/liga_ltr.ufo/glyphs/dotlessi.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
--------------------------------------------------------------------------------
/tests/project_mark_liga_ltr/liga_ltr.ufo/glyphs/dotlessi.liga.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 | public.markColor
21 | 0.5,0.5,0.5,0.5
22 |
23 |
24 |
25 |
--------------------------------------------------------------------------------
/tests/project_mark_liga_ltr/liga_ltr.ufo/glyphs/f_i.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/tests/project_mark_liga_ltr/liga_ltr.ufo/glyphs/f_i_i.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
--------------------------------------------------------------------------------
/tests/project_mark_liga_ltr/liga_ltr.ufo/glyphs/f_i_i_i.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/tests/project_mark_liga_ltr/liga_ltr.ufo/glyphs/f_i_i_i_i.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
--------------------------------------------------------------------------------
/tests/project_mark_liga_ltr/liga_ltr.ufo/glyphs/l.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
--------------------------------------------------------------------------------
/tests/project_mark_liga_ltr/liga_ltr.ufo/glyphs/layerinfo.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | color
6 | 1,0,1,0.7
7 |
8 |
9 |
--------------------------------------------------------------------------------
/tests/project_mark_liga_ltr/liga_ltr.ufo/glyphs/space.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/tests/project_mark_liga_ltr/liga_ltr.ufo/layercontents.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | public.default
7 | glyphs
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/tests/project_mark_liga_ltr/liga_ltr.ufo/metainfo.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | creator
6 | com.github.fonttools.ufoLib
7 | formatVersion
8 | 3
9 |
10 |
11 |
--------------------------------------------------------------------------------
/tests/project_mark_liga_rtl/LigaRTL-Light.otf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/adobe-type-tools/python-modules/406ca5fcdaa41ecd820cadff659cab4e9ff78dc0/tests/project_mark_liga_rtl/LigaRTL-Light.otf
--------------------------------------------------------------------------------
/tests/project_mark_liga_rtl/README.md:
--------------------------------------------------------------------------------
1 | # Liga RTL
2 |
3 | This is a test project for mark-to-ligature attachment in right-to-left context.
4 | The mark feature within this projects exercises RTL ligature marks, as well as writing a mkmk feature, and writing groups to a markclasses.fea file.
5 |
6 | markfeaturewriter -mc liga_rtl.ufo
7 |
8 |
--------------------------------------------------------------------------------
/tests/project_mark_liga_rtl/features.fea:
--------------------------------------------------------------------------------
1 | include (GSUB.fea);
2 |
3 | feature kern {
4 | include (kern.fea);
5 | } kern;
6 |
7 | include (markclasses.fea);
8 | feature mark {
9 | include (mark.fea);
10 | } mark;
11 |
12 | feature mkmk {
13 | include (mkmk.fea);
14 | } mkmk;
15 |
16 |
--------------------------------------------------------------------------------
/tests/project_mark_liga_rtl/kern.fea:
--------------------------------------------------------------------------------
1 | # PS Name: MyriadArabic-Light
2 | # MinKern: +/- 3 inclusive
3 |
4 | @MMK_L_HEH_1ST_ARA = [arHeh];
5 | @MMK_L_SPACE = [space];
6 | @MMK_L_YEHBARREE_LIGS_1ST_ARA = [arHehYehBarree arHehYehBarree.f];
7 | @MMK_R_SPACE = [space];
8 |
9 |
10 | lookup RTL_kerning {
11 | lookupflag RightToLeft IgnoreMarks;
12 |
13 |
14 | # RTL group, group/glyph:
15 | pos @MMK_L_SPACE arHehYehBarree <300 0 300 0>;
16 | pos @MMK_L_YEHBARREE_LIGS_1ST_ARA arHehYehBarree <360 0 360 0>;
17 |
18 |
19 | } RTL_kerning;
20 |
21 |
--------------------------------------------------------------------------------
/tests/project_mark_liga_rtl/liga_rtl.ufo/glyphs/arF_atha.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/tests/project_mark_liga_rtl/liga_rtl.ufo/glyphs/arK_asra.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/tests/project_mark_liga_rtl/liga_rtl.ufo/glyphs/layerinfo.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | color
6 | 1,0,1,0.7
7 |
8 |
9 |
--------------------------------------------------------------------------------
/tests/project_mark_liga_rtl/liga_rtl.ufo/glyphs/space.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/tests/project_mark_liga_rtl/liga_rtl.ufo/layercontents.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | public.default
7 | glyphs
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/tests/project_mark_liga_rtl/liga_rtl.ufo/lib.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | public.glyphOrder
6 |
7 | .notdef
8 | space
9 | arHeh
10 | arHeh.s
11 | arHeh.i
12 | arHeh.m
13 | arHeh.f
14 | arHeh.mc
15 | arYehBarree
16 | arYehBarree.f
17 | arHehYehBarree
18 | arHehYehBarree.f
19 | arFatha
20 | arFathatan
21 | arKasra
22 | arKasratan
23 |
24 |
25 |
26 |
--------------------------------------------------------------------------------
/tests/project_mark_liga_rtl/liga_rtl.ufo/metainfo.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | creator
6 | com.github.fonttools.ufoLib
7 | formatVersion
8 | 3
9 |
10 |
11 |
--------------------------------------------------------------------------------
/tests/project_mark_liga_rtl/markclasses.fea:
--------------------------------------------------------------------------------
1 | @mGC_aboveAR_85_770 = [ arFatha arFathatan ];
2 | @mGC_belowAR_0_0 = [ arKasra arKasratan ];
3 |
4 | markClass @mGC_aboveAR_85_770 @MC_aboveAR;
5 | markClass @mGC_belowAR_0_0 @MC_belowAR;
6 |
--------------------------------------------------------------------------------
/tests/project_mark_liga_rtl/mkmk.fea:
--------------------------------------------------------------------------------
1 | lookup MKMK_MARK_aboveAR {
2 | lookupflag RightToLeft MarkAttachmentType @MC_aboveAR;
3 |
4 | pos mark arFatha mark @MC_aboveAR;
5 | pos mark arFathatan mark @MC_aboveAR;
6 | } MKMK_MARK_aboveAR;
7 |
8 |
9 | lookup MKMK_MARK_belowAR {
10 | lookupflag RightToLeft MarkAttachmentType @MC_belowAR;
11 |
12 | pos mark arKasra mark @MC_belowAR;
13 | pos mark arKasratan mark @MC_belowAR;
14 | } MKMK_MARK_belowAR;
15 |
16 |
--------------------------------------------------------------------------------