summaryrefslogtreecommitdiffstats
path: root/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs
diff options
context:
space:
mode:
Diffstat (limited to 'tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs')
-rw-r--r--tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/A_mpersand.glif61
-rw-r--r--tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/A_pos.glif17
-rw-r--r--tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/A_sterisk.glif51
-rw-r--r--tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/A_tS_gn.glif104
-rw-r--r--tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/C_ircumA_ccent.glif17
-rw-r--r--tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/C_olon.glif35
-rw-r--r--tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/C_ombA_cute.glif14
-rw-r--r--tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/C_ombC_ircum.glif17
-rw-r--r--tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/C_ombD_iaer.glif36
-rw-r--r--tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/C_ombG_rave.glif14
-rw-r--r--tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/C_ombR_ingA_bv.glif36
-rw-r--r--tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/C_ombT_ilde.glif36
-rw-r--r--tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/C_omma.glif24
-rw-r--r--tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/D_igitE_ight.glif63
-rw-r--r--tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/D_igitF_ive.glif44
-rw-r--r--tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/D_igitF_our.glif27
-rw-r--r--tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/D_igitN_ine.glif49
-rw-r--r--tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/D_igitO_ne.glif22
-rw-r--r--tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/D_igitS_even.glif25
-rw-r--r--tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/D_igitS_ix.glif49
-rw-r--r--tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/D_igitT_hree.glif52
-rw-r--r--tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/D_igitT_wo.glif37
-rw-r--r--tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/D_igitZ_ero.glif49
-rw-r--r--tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/D_ollarS_gn.glif57
-rw-r--r--tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/D_ottedC_irc.glif235
-rw-r--r--tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/E_qS_gn.glif19
-rw-r--r--tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/E_xclamationM_rk.glif31
-rw-r--r--tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/F_ullS_top.glif21
-rw-r--r--tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/G_T_S_gn.glif16
-rw-r--r--tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/G_raveA_ccent.glif14
-rw-r--r--tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/H_yphen.glif14
-rw-r--r--tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/H_yphenM_inus.glif14
-rw-r--r--tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/H_yphen_S_oft.glif9
-rw-r--r--tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_T_S_gn.glif16
-rw-r--r--tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_ftC_urlyB_rac.glif50
-rw-r--r--tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_ftP_aren.glif29
-rw-r--r--tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_ftS_qrB_rac.glif17
-rw-r--r--tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_owL_ine.glif13
-rw-r--r--tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_tnC_apA_.glif32
-rw-r--r--tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_tnC_apA_D_iaer.glif13
-rw-r--r--tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_tnC_apB_.glif62
-rw-r--r--tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_tnC_apC_.glif38
-rw-r--r--tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_tnC_apD_.glif51
-rw-r--r--tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_tnC_apE_.glif35
-rw-r--r--tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_tnC_apF_.glif30
-rw-r--r--tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_tnC_apG_.glif48
-rw-r--r--tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_tnC_apH_.glif40
-rw-r--r--tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_tnC_apI_.glif26
-rw-r--r--tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_tnC_apJ_.glif32
-rw-r--r--tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_tnC_apK_.glif35
-rw-r--r--tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_tnC_apL_.glif28
-rw-r--r--tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_tnC_apM_.glif38
-rw-r--r--tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_tnC_apN_.glif37
-rw-r--r--tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_tnC_apO_.glif40
-rw-r--r--tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_tnC_apP_.glif50
-rw-r--r--tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_tnC_apQ_.glif52
-rw-r--r--tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_tnC_apR_.glif55
-rw-r--r--tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_tnC_apS_.glif50
-rw-r--r--tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_tnC_apT_.glif32
-rw-r--r--tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_tnC_apU_.glif44
-rw-r--r--tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_tnC_apV_.glif26
-rw-r--r--tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_tnC_apW_.glif45
-rw-r--r--tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_tnC_apX_.glif39
-rw-r--r--tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_tnC_apY_.glif39
-rw-r--r--tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_tnS_mA_.glif79
-rw-r--r--tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_tnS_mA_A_cute.glif14
-rw-r--r--tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_tnS_mA_C_ircum.glif14
-rw-r--r--tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_tnS_mA_D_iaer.glif14
-rw-r--r--tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_tnS_mA_G_rave.glif14
-rw-r--r--tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_tnS_mA_R_ingA_bv.glif14
-rw-r--r--tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_tnS_mA_T_ilde.glif14
-rw-r--r--tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_tnS_mB_.glif55
-rw-r--r--tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_tnS_mC_.glif39
-rw-r--r--tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_tnS_mD_.glif65
-rw-r--r--tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_tnS_mE_.glif52
-rw-r--r--tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_tnS_mF_.glif44
-rw-r--r--tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_tnS_mG_.glif91
-rw-r--r--tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_tnS_mH_.glif54
-rw-r--r--tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_tnS_mI_.glif50
-rw-r--r--tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_tnS_mJ_.glif45
-rw-r--r--tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_tnS_mK_.glif45
-rw-r--r--tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_tnS_mL_.glif35
-rw-r--r--tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_tnS_mM_.glif80
-rw-r--r--tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_tnS_mN_.glif57
-rw-r--r--tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_tnS_mO_.glif40
-rw-r--r--tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_tnS_mP_.glif66
-rw-r--r--tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_tnS_mQ_.glif54
-rw-r--r--tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_tnS_mR_.glif42
-rw-r--r--tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_tnS_mS_.glif50
-rw-r--r--tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_tnS_mT_.glif45
-rw-r--r--tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_tnS_mU_.glif57
-rw-r--r--tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_tnS_mV_.glif34
-rw-r--r--tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_tnS_mW_.glif50
-rw-r--r--tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_tnS_mX_.glif40
-rw-r--r--tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_tnS_mY_.glif45
-rw-r--r--tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/N_onB_reakingH_yphen.glif9
-rw-r--r--tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/N_umS_gn.glif31
-rw-r--r--tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/P_ercentS_gn.glif93
-rw-r--r--tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/P_lusS_gn.glif19
-rw-r--r--tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/Q_stnM_rk.glif49
-rw-r--r--tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/Q_uotM_rk.glif27
-rw-r--r--tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/R_everseS_olidus.glif13
-rw-r--r--tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/R_tC_urlyB_rac.glif47
-rw-r--r--tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/R_tP_aren.glif29
-rw-r--r--tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/R_tS_qrB_rac.glif17
-rw-r--r--tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/S_emicolon.glif38
-rw-r--r--tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/S_olidus.glif13
-rw-r--r--tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/S_pace.glif6
-rw-r--r--tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/T_ilde.glif29
-rw-r--r--tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/V_ertL_ine.glif13
-rw-r--r--tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/_notdef.glif18
-rw-r--r--tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/_null.glif4
-rw-r--r--tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/contents.plist232
-rw-r--r--tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/nonmarkingreturn.glif5
114 files changed, 4541 insertions, 0 deletions
diff --git a/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/A_mpersand.glif b/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/A_mpersand.glif
new file mode 100644
index 0000000..f3fb1c7
--- /dev/null
+++ b/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/A_mpersand.glif
@@ -0,0 +1,61 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<glyph name="Ampersand" format="2">
+ <advance width="1333"/>
+ <unicode hex="0026"/>
+ <outline>
+ <contour>
+ <point x="1146" y="594" type="line"/>
+ <point x="1040" y="429"/>
+ <point x="712" y="198"/>
+ <point x="537" y="198" type="curve" smooth="yes"/>
+ <point x="437" y="198"/>
+ <point x="363" y="257"/>
+ <point x="363" y="345" type="curve" smooth="yes"/>
+ <point x="363" y="490"/>
+ <point x="474" y="535"/>
+ <point x="695" y="693" type="curve" smooth="yes"/>
+ <point x="940" y="868"/>
+ <point x="1160" y="1032"/>
+ <point x="1160" y="1213" type="curve" smooth="yes"/>
+ <point x="1160" y="1361"/>
+ <point x="1026" y="1470"/>
+ <point x="849" y="1470" type="curve" smooth="yes"/>
+ <point x="637" y="1470"/>
+ <point x="414" y="1364"/>
+ <point x="414" y="1124" type="curve" smooth="yes"/>
+ <point x="414" y="968"/>
+ <point x="552" y="751"/>
+ <point x="661" y="535" type="curve" smooth="yes"/>
+ <point x="842" y="177"/>
+ <point x="969" y="-25"/>
+ <point x="1021" y="-25" type="curve" smooth="yes"/>
+ <point x="1056" y="-25"/>
+ <point x="1205" y="57"/>
+ <point x="1250" y="89" type="curve"/>
+ <point x="1165" y="129"/>
+ <point x="1073" y="302"/>
+ <point x="890" y="673" type="curve" smooth="yes"/>
+ <point x="788" y="881"/>
+ <point x="651" y="1063"/>
+ <point x="651" y="1163" type="curve" smooth="yes"/>
+ <point x="651" y="1245"/>
+ <point x="729" y="1307"/>
+ <point x="803" y="1307" type="curve" smooth="yes"/>
+ <point x="873" y="1307"/>
+ <point x="926" y="1250"/>
+ <point x="926" y="1184" type="curve" smooth="yes"/>
+ <point x="926" y="1081"/>
+ <point x="821" y="997"/>
+ <point x="600" y="832" type="curve" smooth="yes"/>
+ <point x="392" y="677"/>
+ <point x="108" y="540"/>
+ <point x="108" y="268" type="curve" smooth="yes"/>
+ <point x="108" y="98"/>
+ <point x="229" y="-25"/>
+ <point x="466" y="-25" type="curve" smooth="yes"/>
+ <point x="749" y="-25"/>
+ <point x="1120" y="261"/>
+ <point x="1237" y="421" type="curve"/>
+ </contour>
+ </outline>
+</glyph>
diff --git a/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/A_pos.glif b/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/A_pos.glif
new file mode 100644
index 0000000..68b000e
--- /dev/null
+++ b/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/A_pos.glif
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<glyph name="Apos" format="2">
+ <advance width="605"/>
+ <unicode hex="0027"/>
+ <outline>
+ <contour>
+ <point x="598" y="1035" type="line"/>
+ <point x="637" y="1174"/>
+ <point x="676" y="1326"/>
+ <point x="766" y="1569" type="curve"/>
+ <point x="521" y="1569" type="line"/>
+ <point x="491" y="1326"/>
+ <point x="453" y="1174"/>
+ <point x="423" y="1035" type="curve"/>
+ </contour>
+ </outline>
+</glyph>
diff --git a/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/A_sterisk.glif b/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/A_sterisk.glif
new file mode 100644
index 0000000..a36131c
--- /dev/null
+++ b/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/A_sterisk.glif
@@ -0,0 +1,51 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<glyph name="Asterisk" format="2">
+ <advance width="1020"/>
+ <unicode hex="002A"/>
+ <outline>
+ <contour>
+ <point x="1135" y="1478" type="line"/>
+ <point x="1039" y="1412"/>
+ <point x="956" y="1353"/>
+ <point x="856" y="1295" type="curve"/>
+ <point x="885" y="1391"/>
+ <point x="915" y="1471"/>
+ <point x="958" y="1584" type="curve"/>
+ <point x="759" y="1584" type="line"/>
+ <point x="753" y="1482"/>
+ <point x="748" y="1398"/>
+ <point x="730" y="1295" type="curve"/>
+ <point x="658" y="1346"/>
+ <point x="599" y="1394"/>
+ <point x="532" y="1461" type="curve"/>
+ <point x="388" y="1293" type="line"/>
+ <point x="484" y="1258"/>
+ <point x="575" y="1222"/>
+ <point x="647" y="1184" type="curve"/>
+ <point x="552" y="1141"/>
+ <point x="459" y="1109"/>
+ <point x="341" y="1066" type="curve"/>
+ <point x="398" y="888" type="line"/>
+ <point x="494" y="958"/>
+ <point x="575" y="1016"/>
+ <point x="674" y="1076" type="curve"/>
+ <point x="641" y="973"/>
+ <point x="610" y="887"/>
+ <point x="566" y="785" type="curve"/>
+ <point x="767" y="785" type="line"/>
+ <point x="773" y="897"/>
+ <point x="785" y="977"/>
+ <point x="800" y="1073" type="curve"/>
+ <point x="875" y="1017"/>
+ <point x="929" y="971"/>
+ <point x="995" y="905" type="curve"/>
+ <point x="1144" y="1078" type="line"/>
+ <point x="1045" y="1116"/>
+ <point x="967" y="1143"/>
+ <point x="886" y="1184" type="curve"/>
+ <point x="984" y="1229"/>
+ <point x="1075" y="1264"/>
+ <point x="1190" y="1308" type="curve"/>
+ </contour>
+ </outline>
+</glyph>
diff --git a/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/A_tS_gn.glif b/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/A_tS_gn.glif
new file mode 100644
index 0000000..e2233cf
--- /dev/null
+++ b/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/A_tS_gn.glif
@@ -0,0 +1,104 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<glyph name="AtSgn" format="2">
+ <advance width="1693"/>
+ <unicode hex="0040"/>
+ <outline>
+ <contour>
+ <point x="1082" y="10" type="line"/>
+ <point x="1008" y="-34"/>
+ <point x="933" y="-59"/>
+ <point x="840" y="-59" type="curve" smooth="yes"/>
+ <point x="540" y="-59"/>
+ <point x="362" y="143"/>
+ <point x="362" y="434" type="curve" smooth="yes"/>
+ <point x="362" y="498"/>
+ <point x="371" y="567"/>
+ <point x="389" y="639" type="curve" smooth="yes"/>
+ <point x="480" y="1003"/>
+ <point x="783" y="1228"/>
+ <point x="1121" y="1228" type="curve" smooth="yes"/>
+ <point x="1424" y="1228"/>
+ <point x="1581" y="1069"/>
+ <point x="1581" y="813" type="curve" smooth="yes"/>
+ <point x="1581" y="753"/>
+ <point x="1572" y="688"/>
+ <point x="1555" y="619" type="curve" smooth="yes"/>
+ <point x="1506" y="418"/>
+ <point x="1400" y="331"/>
+ <point x="1340" y="331" type="curve" smooth="yes"/>
+ <point x="1307" y="331"/>
+ <point x="1287" y="362"/>
+ <point x="1287" y="432" type="curve" smooth="yes"/>
+ <point x="1287" y="482"/>
+ <point x="1297" y="551"/>
+ <point x="1320" y="643" type="curve" smooth="yes"/>
+ <point x="1401" y="970" type="line"/>
+ <point x="1323" y="1005"/>
+ <point x="1182" y="1030"/>
+ <point x="1101" y="1030" type="curve" smooth="yes"/>
+ <point x="937" y="1030"/>
+ <point x="822" y="974"/>
+ <point x="710" y="862" type="curve" smooth="yes"/>
+ <point x="637" y="789"/>
+ <point x="569" y="677"/>
+ <point x="539" y="556" type="curve" smooth="yes"/>
+ <point x="529" y="518"/>
+ <point x="525" y="481"/>
+ <point x="525" y="447" type="curve" smooth="yes"/>
+ <point x="525" y="279"/>
+ <point x="629" y="161"/>
+ <point x="740" y="161" type="curve" smooth="yes"/>
+ <point x="867" y="161"/>
+ <point x="1034" y="328"/>
+ <point x="1117" y="450" type="curve"/>
+ <point x="1112" y="422"/>
+ <point x="1110" y="394"/>
+ <point x="1110" y="367" type="curve" smooth="yes"/>
+ <point x="1110" y="252"/>
+ <point x="1157" y="155"/>
+ <point x="1291" y="155" type="curve" smooth="yes"/>
+ <point x="1454" y="155"/>
+ <point x="1674" y="332"/>
+ <point x="1752" y="646" type="curve" smooth="yes"/>
+ <point x="1768" y="710"/>
+ <point x="1775" y="771"/>
+ <point x="1775" y="829" type="curve" smooth="yes"/>
+ <point x="1775" y="1169"/>
+ <point x="1520" y="1411"/>
+ <point x="1156" y="1411" type="curve" smooth="yes"/>
+ <point x="731" y="1411"/>
+ <point x="322" y="1180"/>
+ <point x="183" y="624" type="curve" smooth="yes"/>
+ <point x="163" y="544"/>
+ <point x="154" y="469"/>
+ <point x="154" y="398" type="curve" smooth="yes"/>
+ <point x="154" y="-1"/>
+ <point x="448" y="-243"/>
+ <point x="789" y="-243" type="curve" smooth="yes"/>
+ <point x="924" y="-243"/>
+ <point x="1076" y="-206"/>
+ <point x="1193" y="-137" type="curve"/>
+ </contour>
+ <contour>
+ <point x="1135" y="703" type="line"/>
+ <point x="1069" y="566"/>
+ <point x="899" y="346"/>
+ <point x="809" y="346" type="curve" smooth="yes"/>
+ <point x="757" y="346"/>
+ <point x="726" y="386"/>
+ <point x="726" y="463" type="curve" smooth="yes"/>
+ <point x="726" y="493"/>
+ <point x="731" y="528"/>
+ <point x="741" y="569" type="curve" smooth="yes"/>
+ <point x="760" y="645"/>
+ <point x="803" y="731"/>
+ <point x="853" y="778" type="curve" smooth="yes"/>
+ <point x="901" y="824"/>
+ <point x="957" y="846"/>
+ <point x="1025" y="846" type="curve" smooth="yes"/>
+ <point x="1099" y="846"/>
+ <point x="1133" y="828"/>
+ <point x="1162" y="812" type="curve"/>
+ </contour>
+ </outline>
+</glyph>
diff --git a/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/C_ircumA_ccent.glif b/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/C_ircumA_ccent.glif
new file mode 100644
index 0000000..b60b998
--- /dev/null
+++ b/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/C_ircumA_ccent.glif
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<glyph name="CircumAccent" format="2">
+ <advance width="860"/>
+ <unicode hex="005E"/>
+ <anchor x="788" y="1635" name="U"/>
+ <outline>
+ <contour>
+ <point x="1056" y="1188" type="line"/>
+ <point x="845" y="1584" type="line"/>
+ <point x="545" y="1584" type="line"/>
+ <point x="177" y="1188" type="line"/>
+ <point x="417" y="1188" type="line"/>
+ <point x="674" y="1416" type="line"/>
+ <point x="817" y="1188" type="line"/>
+ </contour>
+ </outline>
+</glyph>
diff --git a/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/C_olon.glif b/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/C_olon.glif
new file mode 100644
index 0000000..37f30d8
--- /dev/null
+++ b/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/C_olon.glif
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<glyph name="Colon" format="2">
+ <advance width="690"/>
+ <unicode hex="003A"/>
+ <outline>
+ <contour>
+ <point x="171" y="116" type="curve" smooth="yes"/>
+ <point x="171" y="35"/>
+ <point x="232" y="-25"/>
+ <point x="318" y="-25" type="curve" smooth="yes"/>
+ <point x="436" y="-25"/>
+ <point x="531" y="71"/>
+ <point x="531" y="181" type="curve" smooth="yes"/>
+ <point x="531" y="261"/>
+ <point x="472" y="322"/>
+ <point x="385" y="322" type="curve" smooth="yes"/>
+ <point x="268" y="322"/>
+ <point x="171" y="226"/>
+ </contour>
+ <contour>
+ <point x="319" y="710" type="curve" smooth="yes"/>
+ <point x="319" y="629"/>
+ <point x="380" y="569"/>
+ <point x="466" y="569" type="curve" smooth="yes"/>
+ <point x="584" y="569"/>
+ <point x="679" y="665"/>
+ <point x="679" y="775" type="curve" smooth="yes"/>
+ <point x="679" y="855"/>
+ <point x="620" y="916"/>
+ <point x="533" y="916" type="curve" smooth="yes"/>
+ <point x="416" y="916"/>
+ <point x="319" y="820"/>
+ </contour>
+ </outline>
+</glyph>
diff --git a/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/C_ombA_cute.glif b/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/C_ombA_cute.glif
new file mode 100644
index 0000000..f3ea065
--- /dev/null
+++ b/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/C_ombA_cute.glif
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<glyph name="CombAcute" format="2">
+ <unicode hex="0301"/>
+ <anchor x="-251" y="1635" name="U"/>
+ <anchor x="-325" y="1100" name="_U"/>
+ <outline>
+ <contour>
+ <point x="-165" y="1584" type="line"/>
+ <point x="-523" y="1188" type="line"/>
+ <point x="-283" y="1188" type="line"/>
+ <point x="204" y="1584" type="line"/>
+ </contour>
+ </outline>
+</glyph>
diff --git a/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/C_ombC_ircum.glif b/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/C_ombC_ircum.glif
new file mode 100644
index 0000000..9dc18ac
--- /dev/null
+++ b/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/C_ombC_ircum.glif
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<glyph name="CombCircum" format="2">
+ <unicode hex="0302"/>
+ <anchor x="-239" y="1635" name="U"/>
+ <anchor x="-330" y="1100" name="_U"/>
+ <outline>
+ <contour>
+ <point x="88" y="1188" type="line"/>
+ <point x="-123" y="1584" type="line"/>
+ <point x="-423" y="1584" type="line"/>
+ <point x="-791" y="1188" type="line"/>
+ <point x="-551" y="1188" type="line"/>
+ <point x="-294" y="1416" type="line"/>
+ <point x="-151" y="1188" type="line"/>
+ </contour>
+ </outline>
+</glyph>
diff --git a/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/C_ombD_iaer.glif b/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/C_ombD_iaer.glif
new file mode 100644
index 0000000..490587d
--- /dev/null
+++ b/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/C_ombD_iaer.glif
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<glyph name="CombDiaer" format="2">
+ <unicode hex="0308"/>
+ <anchor x="-243" y="1585" name="U"/>
+ <anchor x="-365" y="1100" name="_U"/>
+ <outline>
+ <contour>
+ <point x="-233" y="1338" type="curve" smooth="yes"/>
+ <point x="-233" y="1256"/>
+ <point x="-172" y="1198"/>
+ <point x="-86" y="1198" type="curve" smooth="yes"/>
+ <point x="32" y="1198"/>
+ <point x="126" y="1294"/>
+ <point x="126" y="1404" type="curve" smooth="yes"/>
+ <point x="126" y="1484"/>
+ <point x="66" y="1544"/>
+ <point x="-21" y="1544" type="curve" smooth="yes"/>
+ <point x="-139" y="1544"/>
+ <point x="-233" y="1447"/>
+ </contour>
+ <contour>
+ <point x="-723" y="1338" type="curve" smooth="yes"/>
+ <point x="-723" y="1256"/>
+ <point x="-662" y="1198"/>
+ <point x="-576" y="1198" type="curve" smooth="yes"/>
+ <point x="-457" y="1198"/>
+ <point x="-363" y="1293"/>
+ <point x="-363" y="1404" type="curve" smooth="yes"/>
+ <point x="-363" y="1484"/>
+ <point x="-423" y="1544"/>
+ <point x="-510" y="1544" type="curve" smooth="yes"/>
+ <point x="-628" y="1544"/>
+ <point x="-723" y="1448"/>
+ </contour>
+ </outline>
+</glyph>
diff --git a/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/C_ombG_rave.glif b/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/C_ombG_rave.glif
new file mode 100644
index 0000000..49617c2
--- /dev/null
+++ b/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/C_ombG_rave.glif
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<glyph name="CombGrave" format="2">
+ <unicode hex="0300"/>
+ <anchor x="-241" y="1635" name="U"/>
+ <anchor x="-415" y="1100" name="_U"/>
+ <outline>
+ <contour>
+ <point x="-725" y="1584" type="line"/>
+ <point x="-403" y="1188" type="line"/>
+ <point x="-173" y="1188" type="line"/>
+ <point x="-395" y="1584" type="line"/>
+ </contour>
+ </outline>
+</glyph>
diff --git a/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/C_ombR_ingA_bv.glif b/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/C_ombR_ingA_bv.glif
new file mode 100644
index 0000000..27f9832
--- /dev/null
+++ b/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/C_ombR_ingA_bv.glif
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<glyph name="CombRingAbv" format="2">
+ <unicode hex="030A"/>
+ <anchor x="-221" y="1635" name="U"/>
+ <anchor x="-357" y="1100" name="_U"/>
+ <outline>
+ <contour>
+ <point x="-358" y="1292" type="curve" smooth="yes"/>
+ <point x="-406" y="1292"/>
+ <point x="-442" y="1330"/>
+ <point x="-442" y="1375" type="curve" smooth="yes"/>
+ <point x="-442" y="1440"/>
+ <point x="-385" y="1480"/>
+ <point x="-331" y="1480" type="curve" smooth="yes"/>
+ <point x="-283" y="1480"/>
+ <point x="-247" y="1443"/>
+ <point x="-247" y="1398" type="curve" smooth="yes"/>
+ <point x="-247" y="1335"/>
+ <point x="-301" y="1292"/>
+ </contour>
+ <contour>
+ <point x="-598" y="1348" type="curve" smooth="yes"/>
+ <point x="-598" y="1238"/>
+ <point x="-504" y="1148"/>
+ <point x="-384" y="1148" type="curve" smooth="yes"/>
+ <point x="-223" y="1148"/>
+ <point x="-92" y="1271"/>
+ <point x="-92" y="1424" type="curve" smooth="yes"/>
+ <point x="-92" y="1534"/>
+ <point x="-186" y="1624"/>
+ <point x="-306" y="1624" type="curve" smooth="yes"/>
+ <point x="-467" y="1624"/>
+ <point x="-598" y="1501"/>
+ </contour>
+ </outline>
+</glyph>
diff --git a/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/C_ombT_ilde.glif b/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/C_ombT_ilde.glif
new file mode 100644
index 0000000..1aa1b62
--- /dev/null
+++ b/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/C_ombT_ilde.glif
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<glyph name="CombTilde" format="2">
+ <unicode hex="0303"/>
+ <anchor x="-355" y="1490" name="U"/>
+ <anchor x="-390" y="1100" name="_U"/>
+ <outline>
+ <contour>
+ <point x="-687" y="1178" type="line"/>
+ <point x="-673" y="1232"/>
+ <point x="-628" y="1271"/>
+ <point x="-584" y="1271" type="curve" smooth="yes"/>
+ <point x="-546" y="1271"/>
+ <point x="-498" y="1247"/>
+ <point x="-437" y="1217" type="curve" smooth="yes"/>
+ <point x="-375" y="1187"/>
+ <point x="-327" y="1168"/>
+ <point x="-265" y="1168" type="curve" smooth="yes"/>
+ <point x="-129" y="1168"/>
+ <point x="-13" y="1294"/>
+ <point x="30" y="1465" type="curve"/>
+ <point x="-125" y="1465" type="line"/>
+ <point x="-138" y="1415"/>
+ <point x="-190" y="1373"/>
+ <point x="-235" y="1373" type="curve" smooth="yes"/>
+ <point x="-272" y="1373"/>
+ <point x="-306" y="1399"/>
+ <point x="-366" y="1423" type="curve" smooth="yes"/>
+ <point x="-438" y="1452"/>
+ <point x="-498" y="1475"/>
+ <point x="-563" y="1475" type="curve" smooth="yes"/>
+ <point x="-695" y="1475"/>
+ <point x="-802" y="1336"/>
+ <point x="-842" y="1178" type="curve"/>
+ </contour>
+ </outline>
+</glyph>
diff --git a/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/C_omma.glif b/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/C_omma.glif
new file mode 100644
index 0000000..4105316
--- /dev/null
+++ b/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/C_omma.glif
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<glyph name="Comma" format="2">
+ <advance width="645"/>
+ <unicode hex="002C"/>
+ <outline>
+ <contour>
+ <point x="137" y="49" type="line"/>
+ <point x="297" y="49" type="line"/>
+ <point x="276" y="-34"/>
+ <point x="192" y="-151"/>
+ <point x="59" y="-262" type="curve"/>
+ <point x="187" y="-332" type="line"/>
+ <point x="337" y="-222"/>
+ <point x="539" y="-11"/>
+ <point x="539" y="165" type="curve" smooth="yes"/>
+ <point x="539" y="262"/>
+ <point x="495" y="337"/>
+ <point x="379" y="337" type="curve" smooth="yes"/>
+ <point x="266" y="337"/>
+ <point x="187" y="252"/>
+ <point x="169" y="178" type="curve" smooth="yes"/>
+ </contour>
+ </outline>
+</glyph>
diff --git a/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/D_igitE_ight.glif b/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/D_igitE_ight.glif
new file mode 100644
index 0000000..9272dc9
--- /dev/null
+++ b/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/D_igitE_ight.glif
@@ -0,0 +1,63 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<glyph name="DigitEight" format="2">
+ <advance width="1180"/>
+ <unicode hex="0038"/>
+ <anchor x="515" y="-100" name="L"/>
+ <anchor x="922" y="1530" name="U"/>
+ <outline>
+ <contour>
+ <point x="543" y="-25" type="curve" smooth="yes"/>
+ <point x="860" y="-25"/>
+ <point x="1182" y="176"/>
+ <point x="1182" y="498" type="curve" smooth="yes"/>
+ <point x="1182" y="642"/>
+ <point x="1090" y="742"/>
+ <point x="1011" y="787" type="curve"/>
+ <point x="1159" y="866"/>
+ <point x="1279" y="994"/>
+ <point x="1279" y="1163" type="curve" smooth="yes"/>
+ <point x="1279" y="1342"/>
+ <point x="1123" y="1470"/>
+ <point x="906" y="1470" type="curve" smooth="yes"/>
+ <point x="632" y="1470"/>
+ <point x="349" y="1310"/>
+ <point x="349" y="1028" type="curve" smooth="yes"/>
+ <point x="349" y="904"/>
+ <point x="412" y="821"/>
+ <point x="466" y="787" type="curve"/>
+ <point x="270" y="703"/>
+ <point x="108" y="563"/>
+ <point x="108" y="341" type="curve" smooth="yes"/>
+ <point x="108" y="123"/>
+ <point x="301" y="-25"/>
+ </contour>
+ <contour>
+ <point x="760" y="886" type="curve" smooth="yes"/>
+ <point x="651" y="886"/>
+ <point x="593" y="939"/>
+ <point x="593" y="1038" type="curve" smooth="yes"/>
+ <point x="593" y="1175"/>
+ <point x="721" y="1277"/>
+ <point x="858" y="1277" type="curve" smooth="yes"/>
+ <point x="976" y="1277"/>
+ <point x="1028" y="1221"/>
+ <point x="1028" y="1127" type="curve" smooth="yes"/>
+ <point x="1028" y="993"/>
+ <point x="898" y="886"/>
+ </contour>
+ <contour>
+ <point x="595" y="183" type="curve" smooth="yes"/>
+ <point x="458" y="183"/>
+ <point x="375" y="267"/>
+ <point x="375" y="384" type="curve" smooth="yes"/>
+ <point x="375" y="549"/>
+ <point x="549" y="673"/>
+ <point x="707" y="673" type="curve" smooth="yes"/>
+ <point x="833" y="673"/>
+ <point x="920" y="602"/>
+ <point x="920" y="477" type="curve" smooth="yes"/>
+ <point x="920" y="317"/>
+ <point x="759" y="183"/>
+ </contour>
+ </outline>
+</glyph>
diff --git a/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/D_igitF_ive.glif b/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/D_igitF_ive.glif
new file mode 100644
index 0000000..1c4dd99
--- /dev/null
+++ b/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/D_igitF_ive.glif
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<glyph name="DigitFive" format="2">
+ <advance width="1180"/>
+ <unicode hex="0035"/>
+ <anchor x="515" y="-100" name="L"/>
+ <anchor x="922" y="1530" name="U"/>
+ <outline>
+ <contour>
+ <point x="1330" y="1445" type="line"/>
+ <point x="475" y="1445" type="line"/>
+ <point x="274" y="639" type="line"/>
+ <point x="410" y="686"/>
+ <point x="519" y="703"/>
+ <point x="625" y="703" type="curve" smooth="yes"/>
+ <point x="763" y="703"/>
+ <point x="867" y="630"/>
+ <point x="867" y="507" type="curve" smooth="yes"/>
+ <point x="867" y="318"/>
+ <point x="680" y="213"/>
+ <point x="503" y="213" type="curve" smooth="yes"/>
+ <point x="363" y="213"/>
+ <point x="255" y="260"/>
+ <point x="168" y="356" type="curve"/>
+ <point x="59" y="79" type="line"/>
+ <point x="165" y="2"/>
+ <point x="308" y="-25"/>
+ <point x="483" y="-25" type="curve" smooth="yes"/>
+ <point x="841" y="-25"/>
+ <point x="1155" y="204"/>
+ <point x="1155" y="564" type="curve" smooth="yes"/>
+ <point x="1155" y="774"/>
+ <point x="1007" y="921"/>
+ <point x="774" y="921" type="curve" smooth="yes"/>
+ <point x="712" y="921"/>
+ <point x="632" y="902"/>
+ <point x="595" y="886" type="curve"/>
+ <point x="674" y="1203" type="line"/>
+ <point x="1004" y="1203" type="line" smooth="yes"/>
+ <point x="1088" y="1203"/>
+ <point x="1193" y="1199"/>
+ <point x="1264" y="1183" type="curve"/>
+ </contour>
+ </outline>
+</glyph>
diff --git a/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/D_igitF_our.glif b/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/D_igitF_our.glif
new file mode 100644
index 0000000..617709f
--- /dev/null
+++ b/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/D_igitF_our.glif
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<glyph name="DigitFour" format="2">
+ <advance width="1180"/>
+ <unicode hex="0034"/>
+ <anchor x="522" y="-100" name="L"/>
+ <anchor x="929" y="1530" name="U"/>
+ <outline>
+ <contour>
+ <point x="1180" y="342" type="line"/>
+ <point x="1235" y="564" type="line"/>
+ <point x="1075" y="564" type="line"/>
+ <point x="1295" y="1445" type="line"/>
+ <point x="945" y="1445" type="line"/>
+ <point x="120" y="564" type="line"/>
+ <point x="65" y="342" type="line"/>
+ <point x="755" y="342" type="line"/>
+ <point x="670" y="0" type="line"/>
+ <point x="935" y="0" type="line"/>
+ <point x="1020" y="342" type="line"/>
+ </contour>
+ <contour>
+ <point x="954" y="1143" type="line"/>
+ <point x="810" y="564" type="line"/>
+ <point x="385" y="564" type="line"/>
+ </contour>
+ </outline>
+</glyph>
diff --git a/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/D_igitN_ine.glif b/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/D_igitN_ine.glif
new file mode 100644
index 0000000..85e36a0
--- /dev/null
+++ b/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/D_igitN_ine.glif
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<glyph name="DigitNine" format="2">
+ <advance width="1180"/>
+ <unicode hex="0039"/>
+ <anchor x="515" y="-100" name="L"/>
+ <anchor x="922" y="1530" name="U"/>
+ <outline>
+ <contour>
+ <point x="119" y="84" type="line"/>
+ <point x="199" y="25"/>
+ <point x="327" y="-25"/>
+ <point x="455" y="-25" type="curve" smooth="yes"/>
+ <point x="979" y="-25"/>
+ <point x="1289" y="533"/>
+ <point x="1289" y="979" type="curve" smooth="yes"/>
+ <point x="1289" y="1248"/>
+ <point x="1164" y="1470"/>
+ <point x="833" y="1470" type="curve" smooth="yes"/>
+ <point x="554" y="1470"/>
+ <point x="255" y="1239"/>
+ <point x="255" y="932" type="curve" smooth="yes"/>
+ <point x="255" y="736"/>
+ <point x="399" y="570"/>
+ <point x="644" y="570" type="curve" smooth="yes"/>
+ <point x="833" y="570"/>
+ <point x="1027" y="700"/>
+ <point x="1164" y="859" type="curve"/>
+ <point x="1123" y="981" type="line"/>
+ <point x="1021" y="868"/>
+ <point x="863" y="782"/>
+ <point x="728" y="782" type="curve" smooth="yes"/>
+ <point x="589" y="782"/>
+ <point x="519" y="845"/>
+ <point x="519" y="955" type="curve" smooth="yes"/>
+ <point x="519" y="1133"/>
+ <point x="653" y="1237"/>
+ <point x="801" y="1237" type="curve" smooth="yes"/>
+ <point x="951" y="1237"/>
+ <point x="1029" y="1136"/>
+ <point x="1029" y="965" type="curve" smooth="yes"/>
+ <point x="1029" y="476"/>
+ <point x="710" y="208"/>
+ <point x="513" y="208" type="curve" smooth="yes"/>
+ <point x="417" y="208"/>
+ <point x="301" y="252"/>
+ <point x="237" y="337" type="curve"/>
+ </contour>
+ </outline>
+</glyph>
diff --git a/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/D_igitO_ne.glif b/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/D_igitO_ne.glif
new file mode 100644
index 0000000..df3633d
--- /dev/null
+++ b/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/D_igitO_ne.glif
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<glyph name="DigitOne" format="2">
+ <advance width="1180"/>
+ <unicode hex="0031"/>
+ <anchor x="515" y="-100" name="L"/>
+ <anchor x="922" y="1530" name="U"/>
+ <outline>
+ <contour>
+ <point x="490" y="233" type="line"/>
+ <point x="183" y="233" type="line"/>
+ <point x="125" y="0" type="line"/>
+ <point x="1015" y="0" type="line"/>
+ <point x="1073" y="233" type="line"/>
+ <point x="765" y="233" type="line"/>
+ <point x="1067" y="1445" type="line"/>
+ <point x="792" y="1445" type="line"/>
+ <point x="432" y="1265" type="line"/>
+ <point x="403" y="1008" type="line"/>
+ <point x="720" y="1158" type="line"/>
+ </contour>
+ </outline>
+</glyph>
diff --git a/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/D_igitS_even.glif b/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/D_igitS_even.glif
new file mode 100644
index 0000000..23ac13b
--- /dev/null
+++ b/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/D_igitS_even.glif
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<glyph name="DigitSeven" format="2">
+ <advance width="1180"/>
+ <unicode hex="0037"/>
+ <anchor x="515" y="-100" name="L"/>
+ <anchor x="922" y="1530" name="U"/>
+ <outline>
+ <contour>
+ <point x="480" y="0" type="line"/>
+ <point x="722" y="454"/>
+ <point x="1004" y="846"/>
+ <point x="1400" y="1247" type="curve"/>
+ <point x="1450" y="1445" type="line"/>
+ <point x="390" y="1445" type="line"/>
+ <point x="324" y="1178" type="line"/>
+ <point x="404" y="1194"/>
+ <point x="521" y="1198"/>
+ <point x="709" y="1198" type="curve" smooth="yes"/>
+ <point x="1039" y="1198" type="line"/>
+ <point x="689" y="829"/>
+ <point x="488" y="560"/>
+ <point x="175" y="0" type="curve"/>
+ </contour>
+ </outline>
+</glyph>
diff --git a/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/D_igitS_ix.glif b/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/D_igitS_ix.glif
new file mode 100644
index 0000000..5fad278
--- /dev/null
+++ b/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/D_igitS_ix.glif
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<glyph name="DigitSix" format="2">
+ <advance width="1180"/>
+ <unicode hex="0036"/>
+ <anchor x="525" y="-100" name="L"/>
+ <anchor x="932" y="1530" name="U"/>
+ <outline>
+ <contour>
+ <point x="1347" y="1371" type="line"/>
+ <point x="1260" y="1440"/>
+ <point x="1149" y="1470"/>
+ <point x="1011" y="1470" type="curve" smooth="yes"/>
+ <point x="493" y="1470"/>
+ <point x="181" y="971"/>
+ <point x="181" y="500" type="curve" smooth="yes"/>
+ <point x="181" y="188"/>
+ <point x="368" y="-25"/>
+ <point x="635" y="-25" type="curve" smooth="yes"/>
+ <point x="954" y="-25"/>
+ <point x="1207" y="192"/>
+ <point x="1207" y="498" type="curve" smooth="yes"/>
+ <point x="1207" y="714"/>
+ <point x="1058" y="916"/>
+ <point x="813" y="916" type="curve" smooth="yes"/>
+ <point x="622" y="916"/>
+ <point x="477" y="802"/>
+ <point x="326" y="648" type="curve"/>
+ <point x="363" y="525" type="line"/>
+ <point x="470" y="637"/>
+ <point x="595" y="703"/>
+ <point x="750" y="703" type="curve" smooth="yes"/>
+ <point x="882" y="703"/>
+ <point x="954" y="586"/>
+ <point x="954" y="466" type="curve" smooth="yes"/>
+ <point x="954" y="325"/>
+ <point x="828" y="208"/>
+ <point x="677" y="208" type="curve" smooth="yes"/>
+ <point x="526" y="208"/>
+ <point x="447" y="350"/>
+ <point x="447" y="533" type="curve" smooth="yes"/>
+ <point x="447" y="978"/>
+ <point x="738" y="1237"/>
+ <point x="953" y="1237" type="curve" smooth="yes"/>
+ <point x="1049" y="1237"/>
+ <point x="1155" y="1204"/>
+ <point x="1220" y="1119" type="curve"/>
+ </contour>
+ </outline>
+</glyph>
diff --git a/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/D_igitT_hree.glif b/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/D_igitT_hree.glif
new file mode 100644
index 0000000..5be951b
--- /dev/null
+++ b/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/D_igitT_hree.glif
@@ -0,0 +1,52 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<glyph name="DigitThree" format="2">
+ <advance width="1180"/>
+ <unicode hex="0033"/>
+ <anchor x="515" y="-100" name="L"/>
+ <anchor x="922" y="1530" name="U"/>
+ <outline>
+ <contour>
+ <point x="548" y="876" type="line"/>
+ <point x="489" y="639" type="line"/>
+ <point x="579" y="639" type="line" smooth="yes"/>
+ <point x="778" y="639"/>
+ <point x="880" y="555"/>
+ <point x="880" y="452" type="curve" smooth="yes"/>
+ <point x="880" y="295"/>
+ <point x="726" y="208"/>
+ <point x="576" y="208" type="curve" smooth="yes"/>
+ <point x="386" y="208"/>
+ <point x="253" y="279"/>
+ <point x="174" y="401" type="curve"/>
+ <point x="72" y="129" type="line"/>
+ <point x="162" y="32"/>
+ <point x="321" y="-25"/>
+ <point x="518" y="-25" type="curve" smooth="yes"/>
+ <point x="867" y="-25"/>
+ <point x="1163" y="169"/>
+ <point x="1163" y="471" type="curve" smooth="yes"/>
+ <point x="1163" y="644"/>
+ <point x="999" y="751"/>
+ <point x="882" y="772" type="curve"/>
+ <point x="1076" y="817"/>
+ <point x="1296" y="963"/>
+ <point x="1296" y="1172" type="curve" smooth="yes"/>
+ <point x="1296" y="1348"/>
+ <point x="1112" y="1470"/>
+ <point x="856" y="1470" type="curve" smooth="yes"/>
+ <point x="689" y="1470"/>
+ <point x="529" y="1402"/>
+ <point x="427" y="1312" type="curve"/>
+ <point x="405" y="1084" type="line"/>
+ <point x="546" y="1199"/>
+ <point x="664" y="1237"/>
+ <point x="818" y="1237" type="curve" smooth="yes"/>
+ <point x="928" y="1237"/>
+ <point x="1001" y="1178"/>
+ <point x="1001" y="1100" type="curve" smooth="yes"/>
+ <point x="1001" y="975"/>
+ <point x="819" y="876"/>
+ <point x="638" y="876" type="curve" smooth="yes"/>
+ </contour>
+ </outline>
+</glyph>
diff --git a/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/D_igitT_wo.glif b/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/D_igitT_wo.glif
new file mode 100644
index 0000000..001d438
--- /dev/null
+++ b/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/D_igitT_wo.glif
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<glyph name="DigitTwo" format="2">
+ <advance width="1180"/>
+ <unicode hex="0032"/>
+ <anchor x="515" y="-100" name="L"/>
+ <anchor x="882" y="1530" name="U"/>
+ <outline>
+ <contour>
+ <point x="1094" y="257" type="line"/>
+ <point x="1010" y="244"/>
+ <point x="942" y="243"/>
+ <point x="745" y="243" type="curve" smooth="yes"/>
+ <point x="480" y="243" type="line"/>
+ <point x="875" y="492"/>
+ <point x="1255" y="786"/>
+ <point x="1255" y="1125" type="curve" smooth="yes"/>
+ <point x="1255" y="1324"/>
+ <point x="1106" y="1470"/>
+ <point x="846" y="1470" type="curve" smooth="yes"/>
+ <point x="667" y="1470"/>
+ <point x="472" y="1388"/>
+ <point x="363" y="1277" type="curve"/>
+ <point x="374" y="1039" type="line"/>
+ <point x="489" y="1146"/>
+ <point x="646" y="1223"/>
+ <point x="762" y="1223" type="curve" smooth="yes"/>
+ <point x="890" y="1223"/>
+ <point x="949" y="1138"/>
+ <point x="949" y="1040" type="curve" smooth="yes"/>
+ <point x="949" y="805"/>
+ <point x="500" y="440"/>
+ <point x="104" y="218" type="curve"/>
+ <point x="50" y="0" type="line"/>
+ <point x="1030" y="0" type="line"/>
+ </contour>
+ </outline>
+</glyph>
diff --git a/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/D_igitZ_ero.glif b/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/D_igitZ_ero.glif
new file mode 100644
index 0000000..895a8e4
--- /dev/null
+++ b/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/D_igitZ_ero.glif
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<glyph name="DigitZero" format="2">
+ <advance width="1180"/>
+ <unicode hex="0030"/>
+ <anchor x="520" y="-100" name="L"/>
+ <anchor x="927" y="1530" name="U"/>
+ <outline>
+ <contour>
+ <point x="959" y="683" type="curve" smooth="yes"/>
+ <point x="873" y="339"/>
+ <point x="762" y="203"/>
+ <point x="600" y="203" type="curve" smooth="yes"/>
+ <point x="469" y="203"/>
+ <point x="432" y="294"/>
+ <point x="432" y="454" type="curve" smooth="yes"/>
+ <point x="432" y="537"/>
+ <point x="447" y="630"/>
+ <point x="478" y="755" type="curve" smooth="yes"/>
+ <point x="564" y="1099"/>
+ <point x="676" y="1242"/>
+ <point x="839" y="1242" type="curve" smooth="yes"/>
+ <point x="971" y="1242"/>
+ <point x="1010" y="1140"/>
+ <point x="1010" y="992" type="curve" smooth="yes"/>
+ <point x="1010" y="907"/>
+ <point x="991" y="811"/>
+ </contour>
+ <contour>
+ <point x="1246" y="689" type="curve" smooth="yes"/>
+ <point x="1281" y="828"/>
+ <point x="1298" y="927"/>
+ <point x="1298" y="1028" type="curve" smooth="yes"/>
+ <point x="1298" y="1317"/>
+ <point x="1158" y="1470"/>
+ <point x="906" y="1470" type="curve" smooth="yes"/>
+ <point x="587" y="1470"/>
+ <point x="329" y="1302"/>
+ <point x="190" y="745" type="curve" smooth="yes"/>
+ <point x="157" y="611"/>
+ <point x="141" y="516"/>
+ <point x="141" y="420" type="curve" smooth="yes"/>
+ <point x="141" y="131"/>
+ <point x="292" y="-25"/>
+ <point x="533" y="-25" type="curve" smooth="yes"/>
+ <point x="854" y="-25"/>
+ <point x="1103" y="115"/>
+ </contour>
+ </outline>
+</glyph>
diff --git a/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/D_ollarS_gn.glif b/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/D_ollarS_gn.glif
new file mode 100644
index 0000000..0b8bdfc
--- /dev/null
+++ b/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/D_ollarS_gn.glif
@@ -0,0 +1,57 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<glyph name="DollarSgn" format="2">
+ <advance width="1180"/>
+ <unicode hex="0024"/>
+ <outline>
+ <contour>
+ <point x="879" y="1584" type="line"/>
+ <point x="679" y="780" type="line"/>
+ <point x="634" y="719" type="line"/>
+ <point x="400" y="-218" type="line"/>
+ <point x="576" y="-218" type="line"/>
+ <point x="795" y="661" type="line"/>
+ <point x="842" y="727" type="line"/>
+ <point x="1055" y="1584" type="line"/>
+ </contour>
+ <contour>
+ <point x="1250" y="1303" type="line"/>
+ <point x="1145" y="1355"/>
+ <point x="1026" y="1375"/>
+ <point x="885" y="1375" type="curve" smooth="yes"/>
+ <point x="537" y="1375"/>
+ <point x="345" y="1216"/>
+ <point x="345" y="984" type="curve" smooth="yes"/>
+ <point x="345" y="841"/>
+ <point x="441" y="726"/>
+ <point x="638" y="622" type="curve" smooth="yes"/>
+ <point x="832" y="519"/>
+ <point x="881" y="451"/>
+ <point x="881" y="381" type="curve" smooth="yes"/>
+ <point x="881" y="274"/>
+ <point x="817" y="209"/>
+ <point x="613" y="209" type="curve" smooth="yes"/>
+ <point x="462" y="209"/>
+ <point x="336" y="298"/>
+ <point x="259" y="389" type="curve"/>
+ <point x="133" y="143" type="line"/>
+ <point x="243" y="56"/>
+ <point x="378" y="0"/>
+ <point x="566" y="0" type="curve" smooth="yes"/>
+ <point x="879" y="0"/>
+ <point x="1120" y="142"/>
+ <point x="1120" y="396" type="curve" smooth="yes"/>
+ <point x="1120" y="562"/>
+ <point x="1028" y="682"/>
+ <point x="817" y="803" type="curve" smooth="yes"/>
+ <point x="635" y="908"/>
+ <point x="592" y="958"/>
+ <point x="592" y="1016" type="curve" smooth="yes"/>
+ <point x="592" y="1113"/>
+ <point x="649" y="1176"/>
+ <point x="826" y="1176" type="curve" smooth="yes"/>
+ <point x="954" y="1176"/>
+ <point x="1048" y="1135"/>
+ <point x="1134" y="1066" type="curve"/>
+ </contour>
+ </outline>
+</glyph>
diff --git a/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/D_ottedC_irc.glif b/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/D_ottedC_irc.glif
new file mode 100644
index 0000000..f7581b6
--- /dev/null
+++ b/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/D_ottedC_irc.glif
@@ -0,0 +1,235 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<glyph name="DottedCirc" format="2">
+ <advance width="1086"/>
+ <unicode hex="25CC"/>
+ <anchor x="493" y="0" name="H"/>
+ <anchor x="545" y="-100" name="L"/>
+ <anchor x="750" y="0" name="O"/>
+ <anchor x="645" y="1000" name="U"/>
+ <outline>
+ <contour>
+ <point x="443" y="837" type="curve" smooth="yes"/>
+ <point x="443" y="864"/>
+ <point x="423" y="885"/>
+ <point x="398" y="885" type="curve" smooth="yes"/>
+ <point x="371" y="885"/>
+ <point x="348" y="861"/>
+ <point x="348" y="837" type="curve" smooth="yes"/>
+ <point x="348" y="809"/>
+ <point x="372" y="789"/>
+ <point x="398" y="789" type="curve" smooth="yes"/>
+ <point x="425" y="789"/>
+ <point x="443" y="812"/>
+ </contour>
+ <contour>
+ <point x="758" y="79" type="curve" smooth="yes"/>
+ <point x="758" y="106"/>
+ <point x="736" y="127"/>
+ <point x="710" y="127" type="curve" smooth="yes"/>
+ <point x="685" y="127"/>
+ <point x="662" y="103"/>
+ <point x="662" y="80" type="curve" smooth="yes"/>
+ <point x="662" y="52"/>
+ <point x="686" y="31"/>
+ <point x="710" y="31" type="curve" smooth="yes"/>
+ <point x="737" y="31"/>
+ <point x="758" y="55"/>
+ </contour>
+ <contour>
+ <point x="310" y="749" type="curve" smooth="yes"/>
+ <point x="310" y="775"/>
+ <point x="288" y="796"/>
+ <point x="263" y="796" type="curve" smooth="yes"/>
+ <point x="238" y="796"/>
+ <point x="215" y="774"/>
+ <point x="215" y="747" type="curve" smooth="yes"/>
+ <point x="215" y="722"/>
+ <point x="236" y="701"/>
+ <point x="263" y="701" type="curve" smooth="yes"/>
+ <point x="291" y="701"/>
+ <point x="310" y="720"/>
+ </contour>
+ <contour>
+ <point x="891" y="168" type="curve" smooth="yes"/>
+ <point x="891" y="197"/>
+ <point x="870" y="215"/>
+ <point x="843" y="215" type="curve" smooth="yes"/>
+ <point x="817" y="215"/>
+ <point x="795" y="194"/>
+ <point x="795" y="168" type="curve" smooth="yes"/>
+ <point x="795" y="143"/>
+ <point x="816" y="121"/>
+ <point x="843" y="121" type="curve" smooth="yes"/>
+ <point x="871" y="121"/>
+ <point x="891" y="143"/>
+ </contour>
+ <contour>
+ <point x="222" y="613" type="curve" smooth="yes"/>
+ <point x="222" y="640"/>
+ <point x="199" y="663"/>
+ <point x="173" y="663" type="curve" smooth="yes"/>
+ <point x="149" y="663"/>
+ <point x="126" y="642"/>
+ <point x="126" y="615" type="curve" smooth="yes"/>
+ <point x="126" y="591"/>
+ <point x="145" y="567"/>
+ <point x="173" y="567" type="curve" smooth="yes"/>
+ <point x="197" y="567"/>
+ <point x="222" y="587"/>
+ </contour>
+ <contour>
+ <point x="980" y="301" type="curve" smooth="yes"/>
+ <point x="980" y="327"/>
+ <point x="957" y="348"/>
+ <point x="932" y="348" type="curve" smooth="yes"/>
+ <point x="908" y="348"/>
+ <point x="884" y="332"/>
+ <point x="884" y="301" type="curve" smooth="yes"/>
+ <point x="884" y="277"/>
+ <point x="902" y="254"/>
+ <point x="932" y="254" type="curve" smooth="yes"/>
+ <point x="957" y="254"/>
+ <point x="980" y="274"/>
+ </contour>
+ <contour>
+ <point x="191" y="459" type="curve" smooth="yes"/>
+ <point x="191" y="484"/>
+ <point x="168" y="505"/>
+ <point x="143" y="505" type="curve" smooth="yes"/>
+ <point x="116" y="505"/>
+ <point x="95" y="484"/>
+ <point x="95" y="458" type="curve" smooth="yes"/>
+ <point x="95" y="433"/>
+ <point x="115" y="410"/>
+ <point x="143" y="410" type="curve" smooth="yes"/>
+ <point x="167" y="410"/>
+ <point x="191" y="432"/>
+ </contour>
+ <contour>
+ <point x="1011" y="458" type="curve" smooth="yes"/>
+ <point x="1011" y="484"/>
+ <point x="990" y="506"/>
+ <point x="964" y="506" type="curve" smooth="yes"/>
+ <point x="940" y="506"/>
+ <point x="915" y="484"/>
+ <point x="915" y="457" type="curve" smooth="yes"/>
+ <point x="915" y="433"/>
+ <point x="936" y="411"/>
+ <point x="964" y="411" type="curve" smooth="yes"/>
+ <point x="990" y="411"/>
+ <point x="1011" y="433"/>
+ </contour>
+ <contour>
+ <point x="222" y="302" type="curve" smooth="yes"/>
+ <point x="222" y="328"/>
+ <point x="200" y="348"/>
+ <point x="174" y="348" type="curve" smooth="yes"/>
+ <point x="147" y="348"/>
+ <point x="126" y="326"/>
+ <point x="126" y="302" type="curve" smooth="yes"/>
+ <point x="126" y="275"/>
+ <point x="149" y="253"/>
+ <point x="174" y="253" type="curve" smooth="yes"/>
+ <point x="201" y="253"/>
+ <point x="222" y="277"/>
+ </contour>
+ <contour>
+ <point x="980" y="615" type="curve" smooth="yes"/>
+ <point x="980" y="642"/>
+ <point x="955" y="663"/>
+ <point x="931" y="663" type="curve" smooth="yes"/>
+ <point x="904" y="663"/>
+ <point x="885" y="638"/>
+ <point x="885" y="614" type="curve" smooth="yes"/>
+ <point x="885" y="588"/>
+ <point x="907" y="567"/>
+ <point x="931" y="567" type="curve" smooth="yes"/>
+ <point x="959" y="567"/>
+ <point x="980" y="591"/>
+ </contour>
+ <contour>
+ <point x="310" y="168" type="curve" smooth="yes"/>
+ <point x="310" y="195"/>
+ <point x="291" y="215"/>
+ <point x="263" y="215" type="curve" smooth="yes"/>
+ <point x="238" y="215"/>
+ <point x="215" y="190"/>
+ <point x="215" y="168" type="curve" smooth="yes"/>
+ <point x="215" y="143"/>
+ <point x="238" y="120"/>
+ <point x="263" y="120" type="curve" smooth="yes"/>
+ <point x="289" y="120"/>
+ <point x="310" y="143"/>
+ </contour>
+ <contour>
+ <point x="890" y="748" type="curve" smooth="yes"/>
+ <point x="890" y="774"/>
+ <point x="870" y="796"/>
+ <point x="843" y="796" type="curve" smooth="yes"/>
+ <point x="815" y="796"/>
+ <point x="796" y="773"/>
+ <point x="796" y="748" type="curve" smooth="yes"/>
+ <point x="796" y="724"/>
+ <point x="817" y="700"/>
+ <point x="843" y="700" type="curve" smooth="yes"/>
+ <point x="869" y="700"/>
+ <point x="890" y="722"/>
+ </contour>
+ <contour>
+ <point x="444" y="78" type="curve" smooth="yes"/>
+ <point x="444" y="102"/>
+ <point x="423" y="126"/>
+ <point x="396" y="126" type="curve" smooth="yes"/>
+ <point x="370" y="126"/>
+ <point x="348" y="102"/>
+ <point x="348" y="78" type="curve" smooth="yes"/>
+ <point x="348" y="55"/>
+ <point x="370" y="31"/>
+ <point x="396" y="31" type="curve" smooth="yes"/>
+ <point x="420" y="31"/>
+ <point x="444" y="51"/>
+ </contour>
+ <contour>
+ <point x="758" y="836" type="curve" smooth="yes"/>
+ <point x="758" y="861"/>
+ <point x="737" y="885"/>
+ <point x="710" y="885" type="curve" smooth="yes"/>
+ <point x="684" y="885"/>
+ <point x="663" y="862"/>
+ <point x="663" y="838" type="curve" smooth="yes"/>
+ <point x="663" y="814"/>
+ <point x="683" y="789"/>
+ <point x="710" y="789" type="curve" smooth="yes"/>
+ <point x="734" y="789"/>
+ <point x="758" y="809"/>
+ </contour>
+ <contour>
+ <point x="601" y="47" type="curve" smooth="yes"/>
+ <point x="601" y="73"/>
+ <point x="579" y="95"/>
+ <point x="553" y="95" type="curve" smooth="yes"/>
+ <point x="527" y="95"/>
+ <point x="506" y="73"/>
+ <point x="506" y="47" type="curve" smooth="yes"/>
+ <point x="506" y="21"/>
+ <point x="527" y="0"/>
+ <point x="553" y="0" type="curve" smooth="yes"/>
+ <point x="579" y="0"/>
+ <point x="601" y="21"/>
+ </contour>
+ <contour>
+ <point x="601" y="868" type="curve" smooth="yes"/>
+ <point x="601" y="894"/>
+ <point x="579" y="916"/>
+ <point x="553" y="916" type="curve" smooth="yes"/>
+ <point x="527" y="916"/>
+ <point x="506" y="894"/>
+ <point x="506" y="868" type="curve" smooth="yes"/>
+ <point x="506" y="842"/>
+ <point x="527" y="821"/>
+ <point x="553" y="821" type="curve" smooth="yes"/>
+ <point x="579" y="821"/>
+ <point x="601" y="842"/>
+ </contour>
+ </outline>
+</glyph>
diff --git a/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/E_qS_gn.glif b/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/E_qS_gn.glif
new file mode 100644
index 0000000..0461eab
--- /dev/null
+++ b/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/E_qS_gn.glif
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<glyph name="EqSgn" format="2">
+ <advance width="1180"/>
+ <unicode hex="003D"/>
+ <outline>
+ <contour>
+ <point x="168" y="436" type="line"/>
+ <point x="1128" y="436" type="line"/>
+ <point x="1180" y="643" type="line"/>
+ <point x="220" y="643" type="line"/>
+ </contour>
+ <contour>
+ <point x="259" y="802" type="line"/>
+ <point x="1219" y="802" type="line"/>
+ <point x="1271" y="1010" type="line"/>
+ <point x="311" y="1010" type="line"/>
+ </contour>
+ </outline>
+</glyph>
diff --git a/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/E_xclamationM_rk.glif b/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/E_xclamationM_rk.glif
new file mode 100644
index 0000000..167f45e
--- /dev/null
+++ b/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/E_xclamationM_rk.glif
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<glyph name="ExclamationMrk" format="2">
+ <advance width="760"/>
+ <unicode hex="0021"/>
+ <outline>
+ <contour>
+ <point x="593" y="495" type="line"/>
+ <point x="670" y="782"/>
+ <point x="736" y="1065"/>
+ <point x="882" y="1495" type="curve"/>
+ <point x="547" y="1495" type="line"/>
+ <point x="478" y="1065"/>
+ <point x="402" y="782"/>
+ <point x="338" y="495" type="curve"/>
+ </contour>
+ <contour>
+ <point x="201" y="116" type="curve" smooth="yes"/>
+ <point x="201" y="35"/>
+ <point x="262" y="-25"/>
+ <point x="348" y="-25" type="curve" smooth="yes"/>
+ <point x="466" y="-25"/>
+ <point x="561" y="71"/>
+ <point x="561" y="181" type="curve" smooth="yes"/>
+ <point x="561" y="261"/>
+ <point x="502" y="322"/>
+ <point x="415" y="322" type="curve" smooth="yes"/>
+ <point x="298" y="322"/>
+ <point x="201" y="226"/>
+ </contour>
+ </outline>
+</glyph>
diff --git a/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/F_ullS_top.glif b/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/F_ullS_top.glif
new file mode 100644
index 0000000..cfedcd4
--- /dev/null
+++ b/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/F_ullS_top.glif
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<glyph name="FullStop" format="2">
+ <advance width="690"/>
+ <unicode hex="002E"/>
+ <outline>
+ <contour>
+ <point x="171" y="116" type="curve" smooth="yes"/>
+ <point x="171" y="35"/>
+ <point x="232" y="-25"/>
+ <point x="318" y="-25" type="curve" smooth="yes"/>
+ <point x="436" y="-25"/>
+ <point x="531" y="71"/>
+ <point x="531" y="181" type="curve" smooth="yes"/>
+ <point x="531" y="261"/>
+ <point x="472" y="322"/>
+ <point x="385" y="322" type="curve" smooth="yes"/>
+ <point x="268" y="322"/>
+ <point x="171" y="226"/>
+ </contour>
+ </outline>
+</glyph>
diff --git a/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/G_T_S_gn.glif b/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/G_T_S_gn.glif
new file mode 100644
index 0000000..6dab866
--- /dev/null
+++ b/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/G_T_S_gn.glif
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<glyph name="GTSgn" format="2">
+ <advance width="1180"/>
+ <unicode hex="003E"/>
+ <outline>
+ <contour>
+ <point x="130" y="243" type="line"/>
+ <point x="1186" y="629" type="line"/>
+ <point x="1233" y="817" type="line"/>
+ <point x="369" y="1203" type="line"/>
+ <point x="313" y="975" type="line"/>
+ <point x="930" y="733" type="line"/>
+ <point x="187" y="470" type="line"/>
+ </contour>
+ </outline>
+</glyph>
diff --git a/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/G_raveA_ccent.glif b/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/G_raveA_ccent.glif
new file mode 100644
index 0000000..f745b6a
--- /dev/null
+++ b/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/G_raveA_ccent.glif
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<glyph name="GraveAccent" format="2">
+ <advance width="620"/>
+ <unicode hex="0060"/>
+ <anchor x="848" y="1635" name="U"/>
+ <outline>
+ <contour>
+ <point x="265" y="1584" type="line"/>
+ <point x="587" y="1188" type="line"/>
+ <point x="817" y="1188" type="line"/>
+ <point x="595" y="1584" type="line"/>
+ </contour>
+ </outline>
+</glyph>
diff --git a/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/H_yphen.glif b/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/H_yphen.glif
new file mode 100644
index 0000000..810f855
--- /dev/null
+++ b/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/H_yphen.glif
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<glyph name="Hyphen" format="2">
+ <advance width="860"/>
+ <unicode hex="2010"/>
+ <anchor x="655" y="1100" name="U"/>
+ <outline>
+ <contour>
+ <point x="139" y="520" type="line"/>
+ <point x="879" y="520" type="line"/>
+ <point x="931" y="728" type="line"/>
+ <point x="191" y="728" type="line"/>
+ </contour>
+ </outline>
+</glyph>
diff --git a/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/H_yphenM_inus.glif b/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/H_yphenM_inus.glif
new file mode 100644
index 0000000..d8ce949
--- /dev/null
+++ b/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/H_yphenM_inus.glif
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<glyph name="HyphenMinus" format="2">
+ <advance width="875"/>
+ <unicode hex="002D"/>
+ <anchor x="665" y="1100" name="U"/>
+ <outline>
+ <contour>
+ <point x="149" y="520" type="line"/>
+ <point x="884" y="520" type="line"/>
+ <point x="936" y="728" type="line"/>
+ <point x="201" y="728" type="line"/>
+ </contour>
+ </outline>
+</glyph>
diff --git a/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/H_yphen_S_oft.glif b/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/H_yphen_S_oft.glif
new file mode 100644
index 0000000..2f651fa
--- /dev/null
+++ b/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/H_yphen_S_oft.glif
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<glyph name="Hyphen_Soft" format="2">
+ <advance width="875"/>
+ <unicode hex="00AD"/>
+ <anchor x="665" y="1100" name="U"/>
+ <outline>
+ <component base="HyphenMinus"/>
+ </outline>
+</glyph>
diff --git a/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_T_S_gn.glif b/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_T_S_gn.glif
new file mode 100644
index 0000000..b2883d3
--- /dev/null
+++ b/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_T_S_gn.glif
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<glyph name="LTSgn" format="2">
+ <advance width="1180"/>
+ <unicode hex="003C"/>
+ <outline>
+ <contour>
+ <point x="1127" y="470" type="line"/>
+ <point x="510" y="713" type="line"/>
+ <point x="1253" y="975" type="line"/>
+ <point x="1309" y="1203" type="line"/>
+ <point x="253" y="817" type="line"/>
+ <point x="206" y="629" type="line"/>
+ <point x="1070" y="243" type="line"/>
+ </contour>
+ </outline>
+</glyph>
diff --git a/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_ftC_urlyB_rac.glif b/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_ftC_urlyB_rac.glif
new file mode 100644
index 0000000..c92f889
--- /dev/null
+++ b/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_ftC_urlyB_rac.glif
@@ -0,0 +1,50 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<glyph name="LftCurlyBrac" format="2">
+ <advance width="1020"/>
+ <unicode hex="007B"/>
+ <outline>
+ <contour>
+ <point x="790" y="-177" type="line"/>
+ <point x="717" y="-149"/>
+ <point x="597" y="-129"/>
+ <point x="597" y="-79" type="curve" smooth="yes"/>
+ <point x="597" y="16"/>
+ <point x="695" y="378"/>
+ <point x="695" y="435" type="curve" smooth="yes"/>
+ <point x="695" y="476"/>
+ <point x="574" y="568"/>
+ <point x="574" y="605" type="curve" smooth="yes"/>
+ <point x="574" y="644"/>
+ <point x="742" y="733"/>
+ <point x="776" y="777" type="curve" smooth="yes"/>
+ <point x="803" y="812"/>
+ <point x="908" y="1276"/>
+ <point x="953" y="1317" type="curve" smooth="yes"/>
+ <point x="975" y="1337"/>
+ <point x="1090" y="1376"/>
+ <point x="1157" y="1395" type="curve"/>
+ <point x="1165" y="1624" type="line"/>
+ <point x="1031" y="1597"/>
+ <point x="827" y="1546"/>
+ <point x="768" y="1500" type="curve" smooth="yes"/>
+ <point x="677" y="1428"/>
+ <point x="542" y="843"/>
+ <point x="512" y="812" type="curve" smooth="yes"/>
+ <point x="472" y="770"/>
+ <point x="260" y="659"/>
+ <point x="260" y="601" type="curve" smooth="yes"/>
+ <point x="260" y="540"/>
+ <point x="412" y="434"/>
+ <point x="412" y="399" type="curve" smooth="yes"/>
+ <point x="412" y="337"/>
+ <point x="311" y="-52"/>
+ <point x="311" y="-216" type="curve" smooth="yes"/>
+ <point x="311" y="-248"/>
+ <point x="315" y="-271"/>
+ <point x="324" y="-282" type="curve" smooth="yes"/>
+ <point x="362" y="-330"/>
+ <point x="554" y="-379"/>
+ <point x="683" y="-406" type="curve"/>
+ </contour>
+ </outline>
+</glyph>
diff --git a/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_ftP_aren.glif b/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_ftP_aren.glif
new file mode 100644
index 0000000..42e4531
--- /dev/null
+++ b/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_ftP_aren.glif
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<glyph name="LftParen" format="2">
+ <advance width="840"/>
+ <unicode hex="0028"/>
+ <outline>
+ <contour>
+ <point x="899" y="1624" type="line"/>
+ <point x="586" y="1430"/>
+ <point x="317" y="1081"/>
+ <point x="209" y="649" type="curve" smooth="yes"/>
+ <point x="177" y="521"/>
+ <point x="161" y="397"/>
+ <point x="161" y="277" type="curve" smooth="yes"/>
+ <point x="161" y="20"/>
+ <point x="234" y="-214"/>
+ <point x="373" y="-406" type="curve"/>
+ <point x="565" y="-198" type="line"/>
+ <point x="479" y="-42"/>
+ <point x="436" y="130"/>
+ <point x="436" y="315" type="curve" smooth="yes"/>
+ <point x="436" y="422"/>
+ <point x="450" y="534"/>
+ <point x="479" y="649" type="curve" smooth="yes"/>
+ <point x="559" y="972"/>
+ <point x="715" y="1216"/>
+ <point x="966" y="1411" type="curve"/>
+ </contour>
+ </outline>
+</glyph>
diff --git a/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_ftS_qrB_rac.glif b/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_ftS_qrB_rac.glif
new file mode 100644
index 0000000..db76a2d
--- /dev/null
+++ b/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_ftS_qrB_rac.glif
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<glyph name="LftSqrBrac" format="2">
+ <advance width="830"/>
+ <unicode hex="005B"/>
+ <outline>
+ <contour>
+ <point x="553" y="-406" type="line"/>
+ <point x="605" y="-198" type="line"/>
+ <point x="365" y="-198" type="line"/>
+ <point x="753" y="1376" type="line"/>
+ <point x="993" y="1376" type="line"/>
+ <point x="1044" y="1584" type="line"/>
+ <point x="524" y="1584" type="line"/>
+ <point x="33" y="-406" type="line"/>
+ </contour>
+ </outline>
+</glyph>
diff --git a/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_owL_ine.glif b/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_owL_ine.glif
new file mode 100644
index 0000000..de8a991
--- /dev/null
+++ b/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_owL_ine.glif
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<glyph name="LowLine" format="2">
+ <advance width="1254"/>
+ <unicode hex="005F"/>
+ <outline>
+ <contour>
+ <point x="-146" y="-347" type="line"/>
+ <point x="1127" y="-347" type="line"/>
+ <point x="1179" y="-139" type="line"/>
+ <point x="-94" y="-139" type="line"/>
+ </contour>
+ </outline>
+</glyph>
diff --git a/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_tnC_apA_.glif b/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_tnC_apA_.glif
new file mode 100644
index 0000000..592502c
--- /dev/null
+++ b/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_tnC_apA_.glif
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<glyph name="LtnCapA" format="2">
+ <advance width="1465"/>
+ <unicode hex="0041"/>
+ <anchor x="1215" y="0" name="H"/>
+ <anchor x="647" y="-100" name="L"/>
+ <anchor x="1435" y="0" name="O"/>
+ <anchor x="1054" y="1530" name="U"/>
+ <outline>
+ <contour>
+ <point x="1055" y="0" type="line"/>
+ <point x="1338" y="0" type="line"/>
+ <point x="1322" y="79"/>
+ <point x="1312" y="166"/>
+ <point x="1295" y="351" type="curve" smooth="yes"/>
+ <point x="1198" y="1445" type="line"/>
+ <point x="842" y="1445" type="line"/>
+ <point x="199" y="351" type="line" smooth="yes"/>
+ <point x="89" y="164"/>
+ <point x="37" y="80"/>
+ <point x="-18" y="0" type="curve"/>
+ <point x="290" y="0" type="line"/>
+ <point x="487" y="351" type="line"/>
+ <point x="1031" y="351" type="line"/>
+ </contour>
+ <contour>
+ <point x="973" y="1216" type="line"/>
+ <point x="1016" y="564" type="line"/>
+ <point x="606" y="564" type="line"/>
+ </contour>
+ </outline>
+</glyph>
diff --git a/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_tnC_apA_D_iaer.glif b/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_tnC_apA_D_iaer.glif
new file mode 100644
index 0000000..17600b4
--- /dev/null
+++ b/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_tnC_apA_D_iaer.glif
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<glyph name="LtnCapADiaer" format="2">
+ <advance width="1465"/>
+ <unicode hex="00C4"/>
+ <anchor x="1215" y="0" name="H"/>
+ <anchor x="647" y="-100" name="L"/>
+ <anchor x="1435" y="0" name="O"/>
+ <anchor x="1176" y="2015" name="U"/>
+ <outline>
+ <component base="LtnCapA"/>
+ <component base="CombDiaer" xOffset="1419" yOffset="430"/>
+ </outline>
+</glyph>
diff --git a/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_tnC_apB_.glif b/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_tnC_apB_.glif
new file mode 100644
index 0000000..2b14150
--- /dev/null
+++ b/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_tnC_apB_.glif
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<glyph name="LtnCapB" format="2">
+ <advance width="1367"/>
+ <unicode hex="0042"/>
+ <anchor x="585" y="-100" name="L"/>
+ <anchor x="992" y="1530" name="U"/>
+ <outline>
+ <contour>
+ <point x="698" y="1236" type="line"/>
+ <point x="735" y="1237"/>
+ <point x="791" y="1240"/>
+ <point x="860" y="1240" type="curve" smooth="yes"/>
+ <point x="1021" y="1240"/>
+ <point x="1101" y="1179"/>
+ <point x="1101" y="1087" type="curve" smooth="yes"/>
+ <point x="1101" y="932"/>
+ <point x="962" y="866"/>
+ <point x="770" y="866" type="curve" smooth="yes"/>
+ <point x="605" y="866" type="line"/>
+ </contour>
+ <contour>
+ <point x="217" y="450" type="line"/>
+ <point x="168" y="254"/>
+ <point x="124" y="79"/>
+ <point x="90" y="0" type="curve"/>
+ <point x="161" y="-3"/>
+ <point x="368" y="-10"/>
+ <point x="598" y="-10" type="curve" smooth="yes"/>
+ <point x="1055" y="-10"/>
+ <point x="1298" y="206"/>
+ <point x="1298" y="508" type="curve" smooth="yes"/>
+ <point x="1298" y="673"/>
+ <point x="1188" y="759"/>
+ <point x="1072" y="792" type="curve"/>
+ <point x="1254" y="848"/>
+ <point x="1388" y="956"/>
+ <point x="1388" y="1155" type="curve" smooth="yes"/>
+ <point x="1388" y="1359"/>
+ <point x="1181" y="1455"/>
+ <point x="897" y="1455" type="curve" smooth="yes"/>
+ <point x="704" y="1455"/>
+ <point x="549" y="1451"/>
+ <point x="450" y="1445" type="curve"/>
+ <point x="445" y="1366"/>
+ <point x="399" y="1182"/>
+ <point x="351" y="990" type="curve" smooth="yes"/>
+ </contour>
+ <contour>
+ <point x="552" y="651" type="line"/>
+ <point x="745" y="651" type="line" smooth="yes"/>
+ <point x="927" y="651"/>
+ <point x="1019" y="577"/>
+ <point x="1019" y="468" type="curve" smooth="yes"/>
+ <point x="1019" y="295"/>
+ <point x="879" y="213"/>
+ <point x="675" y="213" type="curve" smooth="yes"/>
+ <point x="575" y="213"/>
+ <point x="476" y="216"/>
+ <point x="444" y="218" type="curve"/>
+ </contour>
+ </outline>
+</glyph>
diff --git a/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_tnC_apC_.glif b/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_tnC_apC_.glif
new file mode 100644
index 0000000..569eba9
--- /dev/null
+++ b/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_tnC_apC_.glif
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<glyph name="LtnCapC" format="2">
+ <advance width="1357"/>
+ <unicode hex="0043"/>
+ <anchor x="685" y="0" name="H"/>
+ <anchor x="660" y="-100" name="L"/>
+ <anchor x="1067" y="1530" name="U"/>
+ <outline>
+ <contour>
+ <point x="1286" y="391" type="line"/>
+ <point x="1149" y="280"/>
+ <point x="966" y="218"/>
+ <point x="816" y="218" type="curve" smooth="yes"/>
+ <point x="594" y="218"/>
+ <point x="472" y="349"/>
+ <point x="472" y="588" type="curve" smooth="yes"/>
+ <point x="472" y="922"/>
+ <point x="690" y="1230"/>
+ <point x="1039" y="1230" type="curve" smooth="yes"/>
+ <point x="1170" y="1230"/>
+ <point x="1298" y="1188"/>
+ <point x="1385" y="1093" type="curve"/>
+ <point x="1515" y="1331" type="line"/>
+ <point x="1408" y="1418"/>
+ <point x="1247" y="1470"/>
+ <point x="1073" y="1470" type="curve" smooth="yes"/>
+ <point x="545" y="1470"/>
+ <point x="191" y="1032"/>
+ <point x="191" y="544" type="curve" smooth="yes"/>
+ <point x="191" y="210"/>
+ <point x="404" y="-25"/>
+ <point x="750" y="-25" type="curve" smooth="yes"/>
+ <point x="921" y="-25"/>
+ <point x="1124" y="27"/>
+ <point x="1271" y="124" type="curve"/>
+ </contour>
+ </outline>
+</glyph>
diff --git a/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_tnC_apD_.glif b/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_tnC_apD_.glif
new file mode 100644
index 0000000..093d346
--- /dev/null
+++ b/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_tnC_apD_.glif
@@ -0,0 +1,51 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<glyph name="LtnCapD" format="2">
+ <advance width="1465"/>
+ <unicode hex="0044"/>
+ <anchor x="690" y="-100" name="L"/>
+ <anchor x="1122" y="1530" name="U"/>
+ <outline>
+ <contour>
+ <point x="217" y="450" type="line" smooth="yes"/>
+ <point x="167" y="251"/>
+ <point x="124" y="79"/>
+ <point x="90" y="0" type="curve"/>
+ <point x="90" y="0"/>
+ <point x="431" y="-10"/>
+ <point x="566" y="-10" type="curve" smooth="yes"/>
+ <point x="1036" y="-10"/>
+ <point x="1361" y="195"/>
+ <point x="1471" y="648" type="curve" smooth="yes"/>
+ <point x="1494" y="742"/>
+ <point x="1505" y="827"/>
+ <point x="1505" y="902" type="curve" smooth="yes"/>
+ <point x="1505" y="1325"/>
+ <point x="1172" y="1455"/>
+ <point x="912" y="1455" type="curve" smooth="yes"/>
+ <point x="769" y="1455"/>
+ <point x="540" y="1451"/>
+ <point x="450" y="1445" type="curve"/>
+ <point x="445" y="1371"/>
+ <point x="404" y="1205"/>
+ <point x="359" y="1024" type="curve" smooth="yes"/>
+ </contour>
+ <contour>
+ <point x="696" y="1229" type="line"/>
+ <point x="738" y="1231"/>
+ <point x="809" y="1234"/>
+ <point x="864" y="1234" type="curve" smooth="yes"/>
+ <point x="1077" y="1234"/>
+ <point x="1212" y="1104"/>
+ <point x="1212" y="871" type="curve" smooth="yes"/>
+ <point x="1212" y="805"/>
+ <point x="1201" y="731"/>
+ <point x="1181" y="647" type="curve" smooth="yes"/>
+ <point x="1108" y="346"/>
+ <point x="930" y="219"/>
+ <point x="647" y="219" type="curve" smooth="yes"/>
+ <point x="568" y="219"/>
+ <point x="485" y="225"/>
+ <point x="447" y="229" type="curve"/>
+ </contour>
+ </outline>
+</glyph>
diff --git a/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_tnC_apE_.glif b/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_tnC_apE_.glif
new file mode 100644
index 0000000..8e7a0a1
--- /dev/null
+++ b/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_tnC_apE_.glif
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<glyph name="LtnCapE" format="2">
+ <advance width="1192"/>
+ <unicode hex="0045"/>
+ <anchor x="550" y="0" name="H"/>
+ <anchor x="525" y="-100" name="L"/>
+ <anchor x="944" y="0" name="O"/>
+ <anchor x="1487" y="1200" name="R"/>
+ <anchor x="932" y="1530" name="U"/>
+ <outline>
+ <contour>
+ <point x="605" y="866" type="line"/>
+ <point x="693" y="1217" type="line"/>
+ <point x="1315" y="1217" type="line"/>
+ <point x="1372" y="1445" type="line"/>
+ <point x="450" y="1445" type="line"/>
+ <point x="444" y="1366"/>
+ <point x="406" y="1210"/>
+ <point x="358" y="1015" type="curve" smooth="yes"/>
+ <point x="212" y="431" type="line" smooth="yes"/>
+ <point x="163" y="236"/>
+ <point x="123" y="79"/>
+ <point x="90" y="0" type="curve"/>
+ <point x="1042" y="0" type="line"/>
+ <point x="1102" y="243" type="line"/>
+ <point x="1021" y="229"/>
+ <point x="895" y="228"/>
+ <point x="704" y="228" type="curve" smooth="yes"/>
+ <point x="446" y="228" type="line"/>
+ <point x="550" y="644" type="line"/>
+ <point x="1097" y="644" type="line"/>
+ <point x="1152" y="866" type="line"/>
+ </contour>
+ </outline>
+</glyph>
diff --git a/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_tnC_apF_.glif b/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_tnC_apF_.glif
new file mode 100644
index 0000000..df3370c
--- /dev/null
+++ b/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_tnC_apF_.glif
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<glyph name="LtnCapF" format="2">
+ <advance width="1180"/>
+ <unicode hex="0046"/>
+ <anchor x="545" y="-100" name="L"/>
+ <anchor x="952" y="1530" name="U"/>
+ <outline>
+ <contour>
+ <point x="602" y="851" type="line"/>
+ <point x="693" y="1217" type="line"/>
+ <point x="1333" y="1217" type="line"/>
+ <point x="1390" y="1445" type="line"/>
+ <point x="450" y="1445" type="line"/>
+ <point x="445" y="1366"/>
+ <point x="405" y="1205"/>
+ <point x="356" y="1010" type="curve" smooth="yes"/>
+ <point x="212" y="431" type="line" smooth="yes"/>
+ <point x="163" y="236"/>
+ <point x="123" y="79"/>
+ <point x="90" y="0" type="curve"/>
+ <point x="405" y="0" type="line"/>
+ <point x="407" y="72"/>
+ <point x="444" y="220"/>
+ <point x="490" y="404" type="curve" smooth="yes"/>
+ <point x="546" y="629" type="line"/>
+ <point x="1101" y="629" type="line"/>
+ <point x="1157" y="851" type="line"/>
+ </contour>
+ </outline>
+</glyph>
diff --git a/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_tnC_apG_.glif b/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_tnC_apG_.glif
new file mode 100644
index 0000000..7d36953
--- /dev/null
+++ b/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_tnC_apG_.glif
@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<glyph name="LtnCapG" format="2">
+ <advance width="1452"/>
+ <unicode hex="0047"/>
+ <anchor x="747" y="0" name="H"/>
+ <anchor x="722" y="-100" name="L"/>
+ <anchor x="1129" y="1530" name="U"/>
+ <outline>
+ <contour>
+ <point x="1480" y="767" type="line"/>
+ <point x="910" y="767" type="line"/>
+ <point x="855" y="544" type="line"/>
+ <point x="1170" y="544" type="line"/>
+ <point x="1104" y="271" type="line"/>
+ <point x="1015" y="231"/>
+ <point x="916" y="218"/>
+ <point x="805" y="218" type="curve" smooth="yes"/>
+ <point x="593" y="218"/>
+ <point x="475" y="352"/>
+ <point x="475" y="567" type="curve" smooth="yes"/>
+ <point x="475" y="633"/>
+ <point x="484" y="708"/>
+ <point x="505" y="789" type="curve" smooth="yes"/>
+ <point x="581" y="1079"/>
+ <point x="802" y="1230"/>
+ <point x="1067" y="1230" type="curve" smooth="yes"/>
+ <point x="1220" y="1230"/>
+ <point x="1334" y="1193"/>
+ <point x="1449" y="1096" type="curve"/>
+ <point x="1594" y="1332" type="line"/>
+ <point x="1447" y="1437"/>
+ <point x="1275" y="1470"/>
+ <point x="1094" y="1470" type="curve" smooth="yes"/>
+ <point x="709" y="1470"/>
+ <point x="345" y="1257"/>
+ <point x="227" y="783" type="curve" smooth="yes"/>
+ <point x="205" y="694"/>
+ <point x="194" y="611"/>
+ <point x="194" y="534" type="curve" smooth="yes"/>
+ <point x="194" y="176"/>
+ <point x="419" y="-25"/>
+ <point x="768" y="-25" type="curve" smooth="yes"/>
+ <point x="940" y="-25"/>
+ <point x="1105" y="10"/>
+ <point x="1325" y="133" type="curve"/>
+ </contour>
+ </outline>
+</glyph>
diff --git a/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_tnC_apH_.glif b/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_tnC_apH_.glif
new file mode 100644
index 0000000..a49f5fb
--- /dev/null
+++ b/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_tnC_apH_.glif
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<glyph name="LtnCapH" format="2">
+ <advance width="1495"/>
+ <unicode hex="0048"/>
+ <anchor x="245" y="0" name="H"/>
+ <anchor x="660" y="-100" name="L"/>
+ <anchor x="1067" y="1530" name="U"/>
+ <outline>
+ <contour>
+ <point x="1340" y="1445" type="line"/>
+ <point x="1192" y="851" type="line"/>
+ <point x="602" y="851" type="line"/>
+ <point x="750" y="1445" type="line"/>
+ <point x="450" y="1445" type="line"/>
+ <point x="445" y="1366"/>
+ <point x="408" y="1215"/>
+ <point x="359" y="1020" type="curve" smooth="yes"/>
+ <point x="211" y="426" type="line" smooth="yes"/>
+ <point x="162" y="231"/>
+ <point x="124" y="79"/>
+ <point x="90" y="0" type="curve"/>
+ <point x="90" y="0"/>
+ <point x="390" y="0"/>
+ <point x="390" y="0" type="curve"/>
+ <point x="546" y="629" type="line"/>
+ <point x="1136" y="629" type="line"/>
+ <point x="980" y="0" type="line"/>
+ <point x="980" y="0"/>
+ <point x="1280" y="0"/>
+ <point x="1280" y="0" type="curve"/>
+ <point x="1284" y="79"/>
+ <point x="1322" y="231"/>
+ <point x="1371" y="426" type="curve" smooth="yes"/>
+ <point x="1519" y="1020" type="line" smooth="yes"/>
+ <point x="1567" y="1215"/>
+ <point x="1605" y="1366"/>
+ <point x="1640" y="1445" type="curve"/>
+ </contour>
+ </outline>
+</glyph>
diff --git a/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_tnC_apI_.glif b/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_tnC_apI_.glif
new file mode 100644
index 0000000..fc059de
--- /dev/null
+++ b/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_tnC_apI_.glif
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<glyph name="LtnCapI" format="2">
+ <advance width="1025"/>
+ <unicode hex="0049"/>
+ <anchor x="460" y="0" name="H"/>
+ <anchor x="431" y="-100" name="L"/>
+ <anchor x="652" y="0" name="O"/>
+ <anchor x="1254" y="1200" name="R"/>
+ <anchor x="842" y="1530" name="U"/>
+ <outline>
+ <contour>
+ <point x="430" y="1445" type="line"/>
+ <point x="379" y="1242" type="line"/>
+ <point x="619" y="1242" type="line"/>
+ <point x="360" y="203" type="line"/>
+ <point x="120" y="203" type="line"/>
+ <point x="70" y="0" type="line"/>
+ <point x="835" y="0" type="line"/>
+ <point x="885" y="203" type="line"/>
+ <point x="645" y="203" type="line"/>
+ <point x="904" y="1242" type="line"/>
+ <point x="1144" y="1242" type="line"/>
+ <point x="1195" y="1445" type="line"/>
+ </contour>
+ </outline>
+</glyph>
diff --git a/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_tnC_apJ_.glif b/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_tnC_apJ_.glif
new file mode 100644
index 0000000..6a3a604
--- /dev/null
+++ b/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_tnC_apJ_.glif
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<glyph name="LtnCapJ" format="2">
+ <advance width="1010"/>
+ <unicode hex="004A"/>
+ <anchor x="330" y="-100" name="L"/>
+ <anchor x="1027" y="1530" name="U"/>
+ <outline>
+ <contour>
+ <point x="855" y="1445" type="line"/>
+ <point x="842" y="1340"/>
+ <point x="799" y="1163"/>
+ <point x="751" y="970" type="curve" smooth="yes"/>
+ <point x="647" y="552" type="line" smooth="yes"/>
+ <point x="602" y="370"/>
+ <point x="516" y="225"/>
+ <point x="341" y="225" type="curve" smooth="yes"/>
+ <point x="260" y="225"/>
+ <point x="159" y="267"/>
+ <point x="104" y="344" type="curve"/>
+ <point x="-8" y="89" type="line"/>
+ <point x="51" y="19"/>
+ <point x="191" y="-25"/>
+ <point x="326" y="-25" type="curve" smooth="yes"/>
+ <point x="611" y="-25"/>
+ <point x="826" y="128"/>
+ <point x="927" y="530" type="curve" smooth="yes"/>
+ <point x="947" y="612"/>
+ <point x="1155" y="1445"/>
+ <point x="1155" y="1445" type="curve"/>
+ </contour>
+ </outline>
+</glyph>
diff --git a/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_tnC_apK_.glif b/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_tnC_apK_.glif
new file mode 100644
index 0000000..44d4d68
--- /dev/null
+++ b/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_tnC_apK_.glif
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<glyph name="LtnCapK" format="2">
+ <advance width="1410"/>
+ <unicode hex="004B"/>
+ <anchor x="260" y="0" name="H"/>
+ <anchor x="655" y="-100" name="L"/>
+ <anchor x="1047" y="1530" name="U"/>
+ <outline>
+ <contour>
+ <point x="750" y="1445" type="line"/>
+ <point x="450" y="1445" type="line"/>
+ <point x="444" y="1366"/>
+ <point x="406" y="1210"/>
+ <point x="358" y="1015" type="curve" smooth="yes"/>
+ <point x="212" y="431" type="line" smooth="yes"/>
+ <point x="163" y="236"/>
+ <point x="123" y="79"/>
+ <point x="90" y="0" type="curve"/>
+ <point x="390" y="0" type="line"/>
+ </contour>
+ <contour>
+ <point x="1244" y="1445" type="line"/>
+ <point x="461" y="697" type="line"/>
+ <point x="634" y="738" type="line"/>
+ <point x="758" y="724" type="line"/>
+ <point x="1580" y="1445" type="line"/>
+ </contour>
+ <contour>
+ <point x="509" y="724" type="line"/>
+ <point x="950" y="0" type="line"/>
+ <point x="1300" y="0" type="line"/>
+ <point x="738" y="801" type="line"/>
+ </contour>
+ </outline>
+</glyph>
diff --git a/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_tnC_apL_.glif b/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_tnC_apL_.glif
new file mode 100644
index 0000000..f8d6959
--- /dev/null
+++ b/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_tnC_apL_.glif
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<glyph name="LtnCapL" format="2">
+ <advance width="1110"/>
+ <unicode hex="004C"/>
+ <anchor x="560" y="0" name="H"/>
+ <anchor x="535" y="-100" name="L"/>
+ <anchor x="890" y="1200" name="R"/>
+ <anchor x="942" y="1530" name="U"/>
+ <outline>
+ <contour>
+ <point x="446" y="228" type="line"/>
+ <point x="750" y="1445" type="line"/>
+ <point x="450" y="1445" type="line"/>
+ <point x="444" y="1366"/>
+ <point x="406" y="1210"/>
+ <point x="358" y="1015" type="curve" smooth="yes"/>
+ <point x="212" y="431" type="line" smooth="yes"/>
+ <point x="163" y="236"/>
+ <point x="123" y="79"/>
+ <point x="90" y="0" type="curve"/>
+ <point x="1025" y="0" type="line"/>
+ <point x="1085" y="243" type="line"/>
+ <point x="1005" y="229"/>
+ <point x="851" y="228"/>
+ <point x="662" y="228" type="curve" smooth="yes"/>
+ </contour>
+ </outline>
+</glyph>
diff --git a/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_tnC_apM_.glif b/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_tnC_apM_.glif
new file mode 100644
index 0000000..67d1463
--- /dev/null
+++ b/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_tnC_apM_.glif
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<glyph name="LtnCapM" format="2">
+ <advance width="1835"/>
+ <unicode hex="004D"/>
+ <anchor x="830" y="-100" name="L"/>
+ <anchor x="1237" y="1530" name="U"/>
+ <outline>
+ <contour>
+ <point x="919" y="272" type="line"/>
+ <point x="865" y="1445" type="line"/>
+ <point x="615" y="1445" type="line"/>
+ <point x="664" y="1158" type="line"/>
+ <point x="710" y="0" type="line"/>
+ <point x="1005" y="0" type="line"/>
+ <point x="1625" y="1158" type="line"/>
+ <point x="1817" y="1445" type="line"/>
+ <point x="1550" y="1445" type="line"/>
+ </contour>
+ <contour>
+ <point x="520" y="1445" type="line"/>
+ <point x="520" y="1445"/>
+ <point x="164" y="196"/>
+ <point x="90" y="0" type="curve"/>
+ <point x="360" y="0" type="line"/>
+ <point x="686" y="1193" type="line"/>
+ <point x="785" y="1445" type="line"/>
+ </contour>
+ <contour>
+ <point x="1630" y="0" type="line"/>
+ <point x="1649" y="196"/>
+ <point x="1910" y="1445"/>
+ <point x="1910" y="1445" type="curve"/>
+ <point x="1640" y="1445" type="line"/>
+ <point x="1622" y="1193" type="line"/>
+ <point x="1360" y="0" type="line"/>
+ </contour>
+ </outline>
+</glyph>
diff --git a/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_tnC_apN_.glif b/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_tnC_apN_.glif
new file mode 100644
index 0000000..838490a
--- /dev/null
+++ b/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_tnC_apN_.glif
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<glyph name="LtnCapN" format="2">
+ <advance width="1525"/>
+ <unicode hex="004E"/>
+ <anchor x="1180" y="0" name="H"/>
+ <anchor x="680" y="-100" name="L"/>
+ <anchor x="1087" y="1530" name="U"/>
+ <outline>
+ <contour>
+ <point x="506" y="1297" type="line"/>
+ <point x="1035" y="0" type="line"/>
+ <point x="1253" y="148" type="line"/>
+ <point x="725" y="1445" type="line"/>
+ </contour>
+ <contour>
+ <point x="1035" y="0" type="line"/>
+ <point x="1305" y="0" type="line"/>
+ <point x="1558" y="1015" type="line" smooth="yes"/>
+ <point x="1606" y="1210"/>
+ <point x="1646" y="1366"/>
+ <point x="1680" y="1445" type="curve"/>
+ <point x="1395" y="1445" type="line"/>
+ </contour>
+ <contour>
+ <point x="725" y="1445" type="line"/>
+ <point x="440" y="1445" type="line"/>
+ <point x="434" y="1366"/>
+ <point x="396" y="1210"/>
+ <point x="348" y="1015" type="curve" smooth="yes"/>
+ <point x="202" y="431" type="line" smooth="yes"/>
+ <point x="153" y="236"/>
+ <point x="113" y="79"/>
+ <point x="80" y="0" type="curve"/>
+ <point x="365" y="0" type="line"/>
+ </contour>
+ </outline>
+</glyph>
diff --git a/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_tnC_apO_.glif b/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_tnC_apO_.glif
new file mode 100644
index 0000000..4410e20
--- /dev/null
+++ b/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_tnC_apO_.glif
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<glyph name="LtnCapO" format="2">
+ <advance width="1480"/>
+ <unicode hex="004F"/>
+ <anchor x="680" y="0" name="H"/>
+ <anchor x="655" y="-100" name="L"/>
+ <anchor x="916" y="0" name="O"/>
+ <anchor x="1720" y="1200" name="R"/>
+ <anchor x="1062" y="1530" name="U"/>
+ <outline>
+ <contour>
+ <point x="754" y="218" type="curve" smooth="yes"/>
+ <point x="580" y="218"/>
+ <point x="471" y="345"/>
+ <point x="471" y="568" type="curve" smooth="yes"/>
+ <point x="471" y="922"/>
+ <point x="664" y="1228"/>
+ <point x="966" y="1228" type="curve" smooth="yes"/>
+ <point x="1134" y="1228"/>
+ <point x="1237" y="1106"/>
+ <point x="1237" y="891" type="curve" smooth="yes"/>
+ <point x="1237" y="540"/>
+ <point x="1060" y="218"/>
+ </contour>
+ <contour>
+ <point x="1519" y="911" type="curve" smooth="yes"/>
+ <point x="1519" y="1249"/>
+ <point x="1350" y="1470"/>
+ <point x="1026" y="1470" type="curve" smooth="yes"/>
+ <point x="510" y="1470"/>
+ <point x="191" y="1010"/>
+ <point x="191" y="539" type="curve" smooth="yes"/>
+ <point x="191" y="199"/>
+ <point x="401" y="-25"/>
+ <point x="693" y="-25" type="curve" smooth="yes"/>
+ <point x="1121" y="-25"/>
+ <point x="1519" y="337"/>
+ </contour>
+ </outline>
+</glyph>
diff --git a/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_tnC_apP_.glif b/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_tnC_apP_.glif
new file mode 100644
index 0000000..b0d40c0
--- /dev/null
+++ b/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_tnC_apP_.glif
@@ -0,0 +1,50 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<glyph name="LtnCapP" format="2">
+ <advance width="1255"/>
+ <unicode hex="0050"/>
+ <anchor x="600" y="-100" name="L"/>
+ <anchor x="970" y="1530" name="U"/>
+ <outline>
+ <contour>
+ <point x="519" y="518" type="line"/>
+ <point x="582" y="511"/>
+ <point x="661" y="508"/>
+ <point x="734" y="508" type="curve" smooth="yes"/>
+ <point x="1118" y="508"/>
+ <point x="1393" y="718"/>
+ <point x="1393" y="1076" type="curve" smooth="yes"/>
+ <point x="1393" y="1306"/>
+ <point x="1215" y="1455"/>
+ <point x="940" y="1455" type="curve" smooth="yes"/>
+ <point x="727" y="1455"/>
+ <point x="450" y="1445"/>
+ <point x="450" y="1445" type="curve"/>
+ <point x="445" y="1366"/>
+ <point x="400" y="1184"/>
+ <point x="351" y="990" type="curve" smooth="yes"/>
+ <point x="212" y="431" type="line" smooth="yes"/>
+ <point x="164" y="237"/>
+ <point x="124" y="79"/>
+ <point x="90" y="0" type="curve"/>
+ <point x="405" y="0" type="line"/>
+ <point x="410" y="77"/>
+ <point x="448" y="235"/>
+ <point x="497" y="431" type="curve" smooth="yes"/>
+ </contour>
+ <contour>
+ <point x="696" y="1228" type="line"/>
+ <point x="752" y="1231"/>
+ <point x="781" y="1233"/>
+ <point x="849" y="1233" type="curve" smooth="yes"/>
+ <point x="1020" y="1233"/>
+ <point x="1103" y="1135"/>
+ <point x="1103" y="1020" type="curve" smooth="yes"/>
+ <point x="1103" y="827"/>
+ <point x="965" y="723"/>
+ <point x="758" y="723" type="curve" smooth="yes"/>
+ <point x="696" y="723"/>
+ <point x="614" y="726"/>
+ <point x="572" y="733" type="curve"/>
+ </contour>
+ </outline>
+</glyph>
diff --git a/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_tnC_apQ_.glif b/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_tnC_apQ_.glif
new file mode 100644
index 0000000..7013e5f
--- /dev/null
+++ b/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_tnC_apQ_.glif
@@ -0,0 +1,52 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<glyph name="LtnCapQ" format="2">
+ <advance width="1488"/>
+ <unicode hex="0051"/>
+ <anchor x="619" y="-270" name="L"/>
+ <anchor x="1069" y="1530" name="U"/>
+ <outline>
+ <contour>
+ <point x="1527" y="922" type="curve" smooth="yes"/>
+ <point x="1527" y="1259"/>
+ <point x="1324" y="1470"/>
+ <point x="1029" y="1470" type="curve" smooth="yes"/>
+ <point x="663" y="1470"/>
+ <point x="339" y="1229"/>
+ <point x="221" y="755" type="curve" smooth="yes"/>
+ <point x="201" y="673"/>
+ <point x="191" y="597"/>
+ <point x="191" y="526" type="curve" smooth="yes"/>
+ <point x="191" y="185"/>
+ <point x="410" y="-25"/>
+ <point x="696" y="-25" type="curve" smooth="yes"/>
+ <point x="743" y="-25"/>
+ <point x="787" y="-23"/>
+ <point x="838" y="-15" type="curve"/>
+ <point x="907" y="-15"/>
+ <point x="1162" y="-221"/>
+ <point x="1246" y="-221" type="curve" smooth="yes"/>
+ <point x="1310" y="-221"/>
+ <point x="1422" y="-74"/>
+ <point x="1468" y="-22" type="curve"/>
+ <point x="1331" y="-6"/>
+ <point x="1227" y="60"/>
+ <point x="1115" y="134" type="curve"/>
+ <point x="1312" y="242"/>
+ <point x="1527" y="566"/>
+ </contour>
+ <contour>
+ <point x="757" y="218" type="curve" smooth="yes"/>
+ <point x="563" y="218"/>
+ <point x="471" y="355"/>
+ <point x="471" y="558" type="curve" smooth="yes"/>
+ <point x="471" y="912"/>
+ <point x="677" y="1228"/>
+ <point x="969" y="1228" type="curve" smooth="yes"/>
+ <point x="1147" y="1228"/>
+ <point x="1246" y="1106"/>
+ <point x="1246" y="891" type="curve" smooth="yes"/>
+ <point x="1246" y="560"/>
+ <point x="1053" y="218"/>
+ </contour>
+ </outline>
+</glyph>
diff --git a/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_tnC_apR_.glif b/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_tnC_apR_.glif
new file mode 100644
index 0000000..9133fd2
--- /dev/null
+++ b/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_tnC_apR_.glif
@@ -0,0 +1,55 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<glyph name="LtnCapR" format="2">
+ <advance width="1360"/>
+ <unicode hex="0052"/>
+ <anchor x="630" y="0" name="H"/>
+ <anchor x="605" y="-100" name="L"/>
+ <anchor x="982" y="1530" name="U"/>
+ <outline>
+ <contour>
+ <point x="534" y="579" type="line"/>
+ <point x="749" y="579" type="line" smooth="yes"/>
+ <point x="1071" y="579"/>
+ <point x="1378" y="761"/>
+ <point x="1378" y="1117" type="curve" smooth="yes"/>
+ <point x="1378" y="1332"/>
+ <point x="1199" y="1455"/>
+ <point x="932" y="1455" type="curve" smooth="yes"/>
+ <point x="698" y="1455"/>
+ <point x="450" y="1445"/>
+ <point x="450" y="1445" type="curve"/>
+ <point x="445" y="1366"/>
+ <point x="400" y="1184"/>
+ <point x="351" y="990" type="curve" smooth="yes"/>
+ <point x="212" y="431" type="line"/>
+ <point x="164" y="236"/>
+ <point x="124" y="79"/>
+ <point x="90" y="0" type="curve"/>
+ <point x="405" y="0" type="line"/>
+ <point x="410" y="77"/>
+ <point x="448" y="236"/>
+ <point x="497" y="431" type="curve"/>
+ </contour>
+ <contour>
+ <point x="696" y="1228" type="line"/>
+ <point x="749" y="1231"/>
+ <point x="764" y="1233"/>
+ <point x="842" y="1233" type="curve" smooth="yes"/>
+ <point x="995" y="1233"/>
+ <point x="1089" y="1167"/>
+ <point x="1089" y="1060" type="curve" smooth="yes"/>
+ <point x="1089" y="899"/>
+ <point x="956" y="792"/>
+ <point x="782" y="792" type="curve" smooth="yes"/>
+ <point x="587" y="792" type="line"/>
+ </contour>
+ <contour>
+ <point x="652" y="629" type="line"/>
+ <point x="915" y="0" type="line"/>
+ <point x="1270" y="0" type="line"/>
+ <point x="1220" y="72"/>
+ <point x="962" y="623"/>
+ <point x="936" y="680" type="curve"/>
+ </contour>
+ </outline>
+</glyph>
diff --git a/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_tnC_apS_.glif b/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_tnC_apS_.glif
new file mode 100644
index 0000000..79fe933
--- /dev/null
+++ b/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_tnC_apS_.glif
@@ -0,0 +1,50 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<glyph name="LtnCapS" format="2">
+ <advance width="1223"/>
+ <unicode hex="0053"/>
+ <anchor x="556" y="0" name="H"/>
+ <anchor x="531" y="-100" name="L"/>
+ <anchor x="938" y="1530" name="U"/>
+ <outline>
+ <contour>
+ <point x="1339" y="1361" type="line"/>
+ <point x="1232" y="1430"/>
+ <point x="1086" y="1470"/>
+ <point x="916" y="1470" type="curve" smooth="yes"/>
+ <point x="600" y="1470"/>
+ <point x="332" y="1333"/>
+ <point x="332" y="1053" type="curve" smooth="yes"/>
+ <point x="332" y="889"/>
+ <point x="413" y="800"/>
+ <point x="621" y="658" type="curve" smooth="yes"/>
+ <point x="829" y="516"/>
+ <point x="885" y="448"/>
+ <point x="885" y="374" type="curve" smooth="yes"/>
+ <point x="885" y="276"/>
+ <point x="772" y="218"/>
+ <point x="624" y="218" type="curve" smooth="yes"/>
+ <point x="463" y="218"/>
+ <point x="270" y="340"/>
+ <point x="184" y="461" type="curve"/>
+ <point x="67" y="189" type="line"/>
+ <point x="147" y="91"/>
+ <point x="394" y="-25"/>
+ <point x="573" y="-25" type="curve" smooth="yes"/>
+ <point x="923" y="-25"/>
+ <point x="1182" y="124"/>
+ <point x="1182" y="419" type="curve" smooth="yes"/>
+ <point x="1182" y="584"/>
+ <point x="1077" y="682"/>
+ <point x="881" y="831" type="curve" smooth="yes"/>
+ <point x="728" y="947"/>
+ <point x="628" y="1010"/>
+ <point x="628" y="1082" type="curve" smooth="yes"/>
+ <point x="628" y="1198"/>
+ <point x="790" y="1230"/>
+ <point x="877" y="1230" type="curve" smooth="yes"/>
+ <point x="1018" y="1230"/>
+ <point x="1119" y="1189"/>
+ <point x="1228" y="1099" type="curve"/>
+ </contour>
+ </outline>
+</glyph>
diff --git a/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_tnC_apT_.glif b/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_tnC_apT_.glif
new file mode 100644
index 0000000..b7aa4cd
--- /dev/null
+++ b/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_tnC_apT_.glif
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<glyph name="LtnCapT" format="2">
+ <advance width="1255"/>
+ <unicode hex="0054"/>
+ <anchor x="572" y="0" name="H"/>
+ <anchor x="547" y="-100" name="L"/>
+ <anchor x="954" y="1530" name="U"/>
+ <outline>
+ <contour>
+ <point x="345" y="1445" type="line"/>
+ <point x="283" y="1198" type="line"/>
+ <point x="359" y="1215"/>
+ <point x="439" y="1218"/>
+ <point x="519" y="1218" type="curve" smooth="yes"/>
+ <point x="731" y="1218" type="line"/>
+ <point x="529" y="409" type="line" smooth="yes"/>
+ <point x="483" y="224"/>
+ <point x="443" y="75"/>
+ <point x="408" y="0" type="curve"/>
+ <point x="733" y="0" type="line"/>
+ <point x="734" y="75"/>
+ <point x="768" y="224"/>
+ <point x="814" y="409" type="curve" smooth="yes"/>
+ <point x="1016" y="1218" type="line"/>
+ <point x="1232" y="1218" type="line" smooth="yes"/>
+ <point x="1313" y="1218"/>
+ <point x="1390" y="1215"/>
+ <point x="1458" y="1198" type="curve"/>
+ <point x="1520" y="1445" type="line"/>
+ </contour>
+ </outline>
+</glyph>
diff --git a/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_tnC_apU_.glif b/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_tnC_apU_.glif
new file mode 100644
index 0000000..a01a283
--- /dev/null
+++ b/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_tnC_apU_.glif
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<glyph name="LtnCapU" format="2">
+ <advance width="1470"/>
+ <unicode hex="0055"/>
+ <anchor x="672" y="0" name="H"/>
+ <anchor x="647" y="-100" name="L"/>
+ <anchor x="890" y="0" name="O"/>
+ <anchor x="1720" y="1200" name="R"/>
+ <anchor x="1054" y="1530" name="U"/>
+ <outline>
+ <contour>
+ <point x="1315" y="1445" type="line"/>
+ <point x="1093" y="554" type="line" smooth="yes"/>
+ <point x="1040" y="341"/>
+ <point x="952" y="202"/>
+ <point x="735" y="202" type="curve" smooth="yes"/>
+ <point x="572" y="202"/>
+ <point x="515" y="305"/>
+ <point x="515" y="435" type="curve" smooth="yes"/>
+ <point x="515" y="482"/>
+ <point x="523" y="533"/>
+ <point x="535" y="583" type="curve" smooth="yes"/>
+ <point x="750" y="1445" type="line"/>
+ <point x="450" y="1445" type="line"/>
+ <point x="444" y="1366"/>
+ <point x="406" y="1210"/>
+ <point x="358" y="1015" type="curve" smooth="yes"/>
+ <point x="249" y="570" type="line" smooth="yes"/>
+ <point x="235" y="512"/>
+ <point x="228" y="457"/>
+ <point x="228" y="404" type="curve" smooth="yes"/>
+ <point x="228" y="155"/>
+ <point x="385" y="-25"/>
+ <point x="698" y="-25" type="curve" smooth="yes"/>
+ <point x="1063" y="-25"/>
+ <point x="1275" y="148"/>
+ <point x="1356" y="470" type="curve" smooth="yes"/>
+ <point x="1493" y="1015" type="line" smooth="yes"/>
+ <point x="1544" y="1220"/>
+ <point x="1582" y="1366"/>
+ <point x="1615" y="1445" type="curve"/>
+ </contour>
+ </outline>
+</glyph>
diff --git a/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_tnC_apV_.glif b/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_tnC_apV_.glif
new file mode 100644
index 0000000..07a71af
--- /dev/null
+++ b/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_tnC_apV_.glif
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<glyph name="LtnCapV" format="2">
+ <advance width="1445"/>
+ <unicode hex="0056"/>
+ <anchor x="670" y="0" name="H"/>
+ <anchor x="637" y="-100" name="L"/>
+ <anchor x="870" y="0" name="O"/>
+ <anchor x="1044" y="1530" name="U"/>
+ <outline>
+ <contour>
+ <point x="1405" y="1445" type="line"/>
+ <point x="721" y="257" type="line"/>
+ <point x="620" y="1445" type="line"/>
+ <point x="325" y="1445" type="line"/>
+ <point x="339" y="1364"/>
+ <point x="354" y="1275"/>
+ <point x="375" y="1084" type="curve" smooth="yes"/>
+ <point x="495" y="0" type="line"/>
+ <point x="830" y="0" type="line"/>
+ <point x="1490" y="1084" type="line" smooth="yes"/>
+ <point x="1606" y="1276"/>
+ <point x="1664" y="1364"/>
+ <point x="1720" y="1445" type="curve"/>
+ </contour>
+ </outline>
+</glyph>
diff --git a/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_tnC_apW_.glif b/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_tnC_apW_.glif
new file mode 100644
index 0000000..f0e3607
--- /dev/null
+++ b/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_tnC_apW_.glif
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<glyph name="LtnCapW" format="2">
+ <advance width="2115"/>
+ <unicode hex="0057"/>
+ <anchor x="967" y="-100" name="L"/>
+ <anchor x="1374" y="1530" name="U"/>
+ <outline>
+ <contour>
+ <point x="1430" y="0" type="line"/>
+ <point x="1595" y="0" type="line"/>
+ <point x="2165" y="1084" type="line" smooth="yes"/>
+ <point x="2266" y="1277"/>
+ <point x="2318" y="1364"/>
+ <point x="2370" y="1445" type="curve"/>
+ <point x="2050" y="1445" type="line"/>
+ <point x="1432" y="129" type="line"/>
+ </contour>
+ <contour>
+ <point x="1470" y="1445" type="line"/>
+ <point x="1220" y="1445" type="line"/>
+ <point x="1257" y="1292" type="line"/>
+ <point x="1280" y="0" type="line"/>
+ <point x="1450" y="0" type="line"/>
+ <point x="1492" y="129" type="line"/>
+ </contour>
+ <contour>
+ <point x="540" y="0" type="line"/>
+ <point x="705" y="0" type="line"/>
+ <point x="1367" y="1292" type="line"/>
+ <point x="1470" y="1445" type="line"/>
+ <point x="1210" y="1445" type="line"/>
+ <point x="542" y="129" type="line"/>
+ </contour>
+ <contour>
+ <point x="630" y="1445" type="line"/>
+ <point x="330" y="1445" type="line"/>
+ <point x="341" y="1367"/>
+ <point x="349" y="1273"/>
+ <point x="355" y="1084" type="curve" smooth="yes"/>
+ <point x="390" y="0" type="line"/>
+ <point x="560" y="0" type="line"/>
+ <point x="602" y="129" type="line"/>
+ </contour>
+ </outline>
+</glyph>
diff --git a/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_tnC_apX_.glif b/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_tnC_apX_.glif
new file mode 100644
index 0000000..633303c
--- /dev/null
+++ b/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_tnC_apX_.glif
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<glyph name="LtnCapX" format="2">
+ <advance width="1345"/>
+ <unicode hex="0058"/>
+ <anchor x="585" y="-100" name="L"/>
+ <anchor x="992" y="1530" name="U"/>
+ <outline>
+ <contour>
+ <point x="930" y="0" type="line"/>
+ <point x="1240" y="0" type="line"/>
+ <point x="1199" y="81"/>
+ <point x="1172" y="125"/>
+ <point x="1096" y="333" type="curve" smooth="yes"/>
+ <point x="690" y="1445" type="line"/>
+ <point x="375" y="1445" type="line"/>
+ <point x="418" y="1362"/>
+ <point x="454" y="1304"/>
+ <point x="529" y="1099" type="curve" smooth="yes"/>
+ </contour>
+ <contour>
+ <point x="768" y="938" type="line"/>
+ <point x="269" y="337" type="line" smooth="yes"/>
+ <point x="94" y="126"/>
+ <point x="44" y="85"/>
+ <point x="-40" y="0" type="curve"/>
+ <point x="290" y="0" type="line"/>
+ <point x="790" y="603" type="line"/>
+ </contour>
+ <contour>
+ <point x="830" y="603" type="line"/>
+ <point x="1251" y="1099" type="line" smooth="yes"/>
+ <point x="1423" y="1302"/>
+ <point x="1492" y="1369"/>
+ <point x="1575" y="1445" type="curve"/>
+ <point x="1240" y="1445" type="line"/>
+ <point x="808" y="938" type="line"/>
+ </contour>
+ </outline>
+</glyph>
diff --git a/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_tnC_apY_.glif b/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_tnC_apY_.glif
new file mode 100644
index 0000000..49af854
--- /dev/null
+++ b/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_tnC_apY_.glif
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<glyph name="LtnCapY" format="2">
+ <advance width="1344"/>
+ <unicode hex="0059"/>
+ <anchor x="587" y="-100" name="L"/>
+ <anchor x="994" y="1530" name="U"/>
+ <outline>
+ <contour>
+ <point x="325" y="1445" type="line"/>
+ <point x="400" y="1298"/>
+ <point x="438" y="1185"/>
+ <point x="482" y="1054" type="curve" smooth="yes"/>
+ <point x="653" y="554" type="line"/>
+ <point x="868" y="668" type="line"/>
+ <point x="637" y="1445" type="line"/>
+ </contour>
+ <contour>
+ <point x="1282" y="1445" type="line"/>
+ <point x="668" y="668" type="line"/>
+ <point x="848" y="554" type="line"/>
+ <point x="1271" y="1054" type="line" smooth="yes"/>
+ <point x="1379" y="1183"/>
+ <point x="1459" y="1278"/>
+ <point x="1619" y="1445" type="curve"/>
+ </contour>
+ <contour>
+ <point x="770" y="0" type="line"/>
+ <point x="774" y="79"/>
+ <point x="813" y="236"/>
+ <point x="862" y="431" type="curve" smooth="yes"/>
+ <point x="926" y="688" type="line"/>
+ <point x="641" y="688" type="line"/>
+ <point x="577" y="431" type="line" smooth="yes"/>
+ <point x="528" y="236"/>
+ <point x="488" y="79"/>
+ <point x="455" y="0" type="curve"/>
+ </contour>
+ </outline>
+</glyph>
diff --git a/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_tnS_mA_.glif b/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_tnS_mA_.glif
new file mode 100644
index 0000000..0208140
--- /dev/null
+++ b/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_tnS_mA_.glif
@@ -0,0 +1,79 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<glyph name="LtnSmA" format="2">
+ <advance width="1185"/>
+ <unicode hex="0061"/>
+ <anchor x="925" y="0" name="H"/>
+ <anchor x="525" y="-100" name="L"/>
+ <anchor x="1125" y="0" name="O"/>
+ <anchor x="1335" y="1000" name="R"/>
+ <anchor x="825" y="1100" name="U"/>
+ <outline>
+ <contour>
+ <point x="1060" y="0" type="line"/>
+ <point x="1054" y="44"/>
+ <point x="1051" y="87"/>
+ <point x="1051" y="133" type="curve" smooth="yes"/>
+ <point x="1051" y="204"/>
+ <point x="1059" y="280"/>
+ <point x="1081" y="366" type="curve"/>
+ <point x="1128" y="557"/>
+ <point x="1156" y="665"/>
+ <point x="1170" y="722" type="curve"/>
+ <point x="1174" y="738"/>
+ <point x="1176" y="754"/>
+ <point x="1176" y="770" type="curve" smooth="yes"/>
+ <point x="1176" y="909"/>
+ <point x="1026" y="1030"/>
+ <point x="791" y="1030" type="curve" smooth="yes"/>
+ <point x="632" y="1030"/>
+ <point x="514" y="994"/>
+ <point x="389" y="940" type="curve"/>
+ <point x="363" y="859"/>
+ <point x="327" y="728"/>
+ <point x="315" y="684" type="curve"/>
+ <point x="452" y="765"/>
+ <point x="565" y="808"/>
+ <point x="673" y="808" type="curve" smooth="yes"/>
+ <point x="809" y="808"/>
+ <point x="885" y="760"/>
+ <point x="885" y="709" type="curve" smooth="yes"/>
+ <point x="885" y="705"/>
+ <point x="884" y="700"/>
+ <point x="883" y="696" type="curve" smooth="yes"/>
+ <point x="872" y="653" type="line"/>
+ <point x="831" y="652"/>
+ <point x="669" y="643"/>
+ <point x="598" y="636" type="curve" smooth="yes"/>
+ <point x="367" y="614"/>
+ <point x="109" y="474"/>
+ <point x="109" y="236" type="curve" smooth="yes"/>
+ <point x="109" y="97"/>
+ <point x="215" y="-25"/>
+ <point x="388" y="-25" type="curve" smooth="yes"/>
+ <point x="505" y="-25"/>
+ <point x="633" y="23"/>
+ <point x="773" y="134" type="curve"/>
+ <point x="773" y="78"/>
+ <point x="784" y="28"/>
+ <point x="790" y="0" type="curve"/>
+ </contour>
+ <contour>
+ <point x="797" y="351" type="line"/>
+ <point x="669" y="223"/>
+ <point x="590" y="203"/>
+ <point x="508" y="203" type="curve" smooth="yes"/>
+ <point x="438" y="203"/>
+ <point x="398" y="246"/>
+ <point x="398" y="299" type="curve" smooth="yes"/>
+ <point x="398" y="308"/>
+ <point x="399" y="317"/>
+ <point x="401" y="326" type="curve" smooth="yes"/>
+ <point x="417" y="391"/>
+ <point x="471" y="438"/>
+ <point x="612" y="452" type="curve" smooth="yes"/>
+ <point x="665" y="458"/>
+ <point x="786" y="469"/>
+ <point x="827" y="470" type="curve"/>
+ </contour>
+ </outline>
+</glyph>
diff --git a/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_tnS_mA_A_cute.glif b/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_tnS_mA_A_cute.glif
new file mode 100644
index 0000000..a91e18b
--- /dev/null
+++ b/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_tnS_mA_A_cute.glif
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<glyph name="LtnSmAAcute" format="2">
+ <advance width="1185"/>
+ <unicode hex="00E1"/>
+ <anchor x="925" y="0" name="H"/>
+ <anchor x="525" y="-100" name="L"/>
+ <anchor x="1125" y="0" name="O"/>
+ <anchor x="1335" y="1000" name="R"/>
+ <anchor x="899" y="1635" name="U"/>
+ <outline>
+ <component base="LtnSmA"/>
+ <component base="CombAcute" xOffset="1150"/>
+ </outline>
+</glyph>
diff --git a/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_tnS_mA_C_ircum.glif b/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_tnS_mA_C_ircum.glif
new file mode 100644
index 0000000..c17afb1
--- /dev/null
+++ b/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_tnS_mA_C_ircum.glif
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<glyph name="LtnSmACircum" format="2">
+ <advance width="1185"/>
+ <unicode hex="00E2"/>
+ <anchor x="925" y="0" name="H"/>
+ <anchor x="525" y="-100" name="L"/>
+ <anchor x="1125" y="0" name="O"/>
+ <anchor x="1335" y="1000" name="R"/>
+ <anchor x="916" y="1635" name="U"/>
+ <outline>
+ <component base="LtnSmA"/>
+ <component base="CombCircum" xOffset="1155"/>
+ </outline>
+</glyph>
diff --git a/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_tnS_mA_D_iaer.glif b/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_tnS_mA_D_iaer.glif
new file mode 100644
index 0000000..af45db4
--- /dev/null
+++ b/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_tnS_mA_D_iaer.glif
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<glyph name="LtnSmADiaer" format="2">
+ <advance width="1185"/>
+ <unicode hex="00E4"/>
+ <anchor x="925" y="0" name="H"/>
+ <anchor x="525" y="-100" name="L"/>
+ <anchor x="1125" y="0" name="O"/>
+ <anchor x="1335" y="1000" name="R"/>
+ <anchor x="947" y="1585" name="U"/>
+ <outline>
+ <component base="LtnSmA"/>
+ <component base="CombDiaer" xOffset="1190"/>
+ </outline>
+</glyph>
diff --git a/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_tnS_mA_G_rave.glif b/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_tnS_mA_G_rave.glif
new file mode 100644
index 0000000..2374c69
--- /dev/null
+++ b/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_tnS_mA_G_rave.glif
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<glyph name="LtnSmAGrave" format="2">
+ <advance width="1185"/>
+ <unicode hex="00E0"/>
+ <anchor x="925" y="0" name="H"/>
+ <anchor x="525" y="-100" name="L"/>
+ <anchor x="1125" y="0" name="O"/>
+ <anchor x="1335" y="1000" name="R"/>
+ <anchor x="999" y="1635" name="U"/>
+ <outline>
+ <component base="LtnSmA"/>
+ <component base="CombGrave" xOffset="1240"/>
+ </outline>
+</glyph>
diff --git a/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_tnS_mA_R_ingA_bv.glif b/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_tnS_mA_R_ingA_bv.glif
new file mode 100644
index 0000000..f8a7dcc
--- /dev/null
+++ b/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_tnS_mA_R_ingA_bv.glif
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<glyph name="LtnSmARingAbv" format="2">
+ <advance width="1185"/>
+ <unicode hex="00E5"/>
+ <anchor x="925" y="0" name="H"/>
+ <anchor x="525" y="-100" name="L"/>
+ <anchor x="1125" y="0" name="O"/>
+ <anchor x="1335" y="1000" name="R"/>
+ <anchor x="961" y="1635" name="U"/>
+ <outline>
+ <component base="LtnSmA"/>
+ <component base="CombRingAbv" xOffset="1182"/>
+ </outline>
+</glyph>
diff --git a/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_tnS_mA_T_ilde.glif b/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_tnS_mA_T_ilde.glif
new file mode 100644
index 0000000..4a46027
--- /dev/null
+++ b/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_tnS_mA_T_ilde.glif
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<glyph name="LtnSmATilde" format="2">
+ <advance width="1185"/>
+ <unicode hex="00E3"/>
+ <anchor x="925" y="0" name="H"/>
+ <anchor x="525" y="-100" name="L"/>
+ <anchor x="1125" y="0" name="O"/>
+ <anchor x="1335" y="1000" name="R"/>
+ <anchor x="860" y="1490" name="U"/>
+ <outline>
+ <component base="LtnSmA"/>
+ <component base="CombTilde" xOffset="1215"/>
+ </outline>
+</glyph>
diff --git a/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_tnS_mB_.glif b/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_tnS_mB_.glif
new file mode 100644
index 0000000..92bd16b
--- /dev/null
+++ b/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_tnS_mB_.glif
@@ -0,0 +1,55 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<glyph name="LtnSmB" format="2">
+ <advance width="1229"/>
+ <unicode hex="0062"/>
+ <anchor x="550" y="0" name="H"/>
+ <anchor x="525" y="-100" name="L"/>
+ <anchor x="1405" y="1000" name="R"/>
+ <anchor x="958" y="1635" name="U"/>
+ <outline>
+ <contour>
+ <point x="482" y="432" type="line"/>
+ <point x="576" y="610"/>
+ <point x="726" y="787"/>
+ <point x="829" y="787" type="curve" smooth="yes"/>
+ <point x="911" y="787"/>
+ <point x="946" y="705"/>
+ <point x="946" y="590" type="curve" smooth="yes"/>
+ <point x="946" y="465"/>
+ <point x="897" y="350"/>
+ <point x="823" y="275" type="curve" smooth="yes"/>
+ <point x="769" y="221"/>
+ <point x="703" y="188"/>
+ <point x="631" y="188" type="curve" smooth="yes"/>
+ <point x="564" y="188"/>
+ <point x="502" y="202"/>
+ <point x="434" y="238" type="curve"/>
+ </contour>
+ <contour>
+ <point x="445" y="1585" type="line"/>
+ <point x="445" y="1439"/>
+ <point x="404" y="1242"/>
+ <point x="367" y="1095" type="curve" smooth="yes"/>
+ <point x="110" y="64" type="line"/>
+ <point x="252" y="16"/>
+ <point x="400" y="-25"/>
+ <point x="593" y="-25" type="curve" smooth="yes"/>
+ <point x="727" y="-25"/>
+ <point x="845" y="19"/>
+ <point x="942" y="91" type="curve" smooth="yes"/>
+ <point x="1122" y="224"/>
+ <point x="1229" y="453"/>
+ <point x="1229" y="672" type="curve" smooth="yes"/>
+ <point x="1229" y="906"/>
+ <point x="1138" y="1030"/>
+ <point x="985" y="1030" type="curve" smooth="yes"/>
+ <point x="822" y="1030"/>
+ <point x="684" y="906"/>
+ <point x="562" y="756" type="curve"/>
+ <point x="646" y="1095" type="line" smooth="yes"/>
+ <point x="686" y="1255"/>
+ <point x="725" y="1474"/>
+ <point x="725" y="1585" type="curve"/>
+ </contour>
+ </outline>
+</glyph>
diff --git a/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_tnS_mC_.glif b/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_tnS_mC_.glif
new file mode 100644
index 0000000..62c096c
--- /dev/null
+++ b/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_tnS_mC_.glif
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<glyph name="LtnSmC" format="2">
+ <advance width="1019"/>
+ <unicode hex="0063"/>
+ <anchor x="495" y="0" name="H"/>
+ <anchor x="490" y="-100" name="L"/>
+ <anchor x="1210" y="1000" name="R"/>
+ <anchor x="790" y="1100" name="U"/>
+ <outline>
+ <contour>
+ <point x="1099" y="959" type="line"/>
+ <point x="1035" y="997"/>
+ <point x="928" y="1030"/>
+ <point x="796" y="1030" type="curve" smooth="yes"/>
+ <point x="446" y="1030"/>
+ <point x="150" y="774"/>
+ <point x="150" y="386" type="curve" smooth="yes"/>
+ <point x="150" y="137"/>
+ <point x="341" y="-25"/>
+ <point x="569" y="-25" type="curve" smooth="yes"/>
+ <point x="718" y="-25"/>
+ <point x="835" y="11"/>
+ <point x="927" y="69" type="curve"/>
+ <point x="937" y="311" type="line"/>
+ <point x="840" y="238"/>
+ <point x="755" y="203"/>
+ <point x="625" y="203" type="curve" smooth="yes"/>
+ <point x="494" y="203"/>
+ <point x="417" y="302"/>
+ <point x="417" y="416" type="curve" smooth="yes"/>
+ <point x="417" y="661"/>
+ <point x="588" y="802"/>
+ <point x="754" y="802" type="curve" smooth="yes"/>
+ <point x="857" y="802"/>
+ <point x="918" y="781"/>
+ <point x="993" y="720" type="curve"/>
+ </contour>
+ </outline>
+</glyph>
diff --git a/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_tnS_mD_.glif b/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_tnS_mD_.glif
new file mode 100644
index 0000000..fa38d37
--- /dev/null
+++ b/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_tnS_mD_.glif
@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<glyph name="LtnSmD" format="2">
+ <advance width="1265"/>
+ <unicode hex="0064"/>
+ <anchor x="535" y="0" name="H"/>
+ <anchor x="540" y="-100" name="L"/>
+ <anchor x="1475" y="1000" name="R"/>
+ <anchor x="958" y="1635" name="U"/>
+ <outline>
+ <contour>
+ <point x="913" y="558" type="line"/>
+ <point x="861" y="438"/>
+ <point x="666" y="200"/>
+ <point x="560" y="200" type="curve" smooth="yes"/>
+ <point x="470" y="200"/>
+ <point x="427" y="263"/>
+ <point x="427" y="367" type="curve" smooth="yes"/>
+ <point x="427" y="480"/>
+ <point x="469" y="626"/>
+ <point x="554" y="714" type="curve" smooth="yes"/>
+ <point x="599" y="761"/>
+ <point x="657" y="792"/>
+ <point x="727" y="792" type="curve" smooth="yes"/>
+ <point x="820" y="792"/>
+ <point x="876" y="775"/>
+ <point x="957" y="731" type="curve"/>
+ </contour>
+ <contour>
+ <point x="1144" y="1585" type="line"/>
+ <point x="1144" y="1471"/>
+ <point x="1116" y="1327"/>
+ <point x="1079" y="1175" type="curve" smooth="yes"/>
+ <point x="1020" y="935" type="line"/>
+ <point x="949" y="989"/>
+ <point x="845" y="1030"/>
+ <point x="756" y="1030" type="curve" smooth="yes"/>
+ <point x="630" y="1030"/>
+ <point x="518" y="987"/>
+ <point x="426" y="917" type="curve" smooth="yes"/>
+ <point x="250" y="784"/>
+ <point x="145" y="553"/>
+ <point x="145" y="341" type="curve" smooth="yes"/>
+ <point x="145" y="130"/>
+ <point x="258" y="-25"/>
+ <point x="448" y="-25" type="curve" smooth="yes"/>
+ <point x="597" y="-25"/>
+ <point x="785" y="145"/>
+ <point x="867" y="267" type="curve"/>
+ <point x="855" y="181"/>
+ <point x="855" y="72"/>
+ <point x="855" y="0" type="curve"/>
+ <point x="1130" y="0" type="line"/>
+ <point x="1126" y="23"/>
+ <point x="1125" y="63"/>
+ <point x="1125" y="100" type="curve" smooth="yes"/>
+ <point x="1125" y="200"/>
+ <point x="1142" y="340"/>
+ <point x="1185" y="520" type="curve" smooth="yes"/>
+ <point x="1345" y="1190" type="line" smooth="yes"/>
+ <point x="1387" y="1366"/>
+ <point x="1415" y="1490"/>
+ <point x="1415" y="1585" type="curve"/>
+ </contour>
+ </outline>
+</glyph>
diff --git a/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_tnS_mE_.glif b/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_tnS_mE_.glif
new file mode 100644
index 0000000..49f5856
--- /dev/null
+++ b/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_tnS_mE_.glif
@@ -0,0 +1,52 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<glyph name="LtnSmE" format="2">
+ <advance width="1087"/>
+ <unicode hex="0065"/>
+ <anchor x="509" y="0" name="H"/>
+ <anchor x="555" y="-100" name="L"/>
+ <anchor x="840" y="0" name="O"/>
+ <anchor x="1320" y="1000" name="R"/>
+ <anchor x="752" y="1100" name="U"/>
+ <outline>
+ <contour>
+ <point x="1013" y="303" type="line"/>
+ <point x="871" y="230"/>
+ <point x="739" y="198"/>
+ <point x="608" y="198" type="curve" smooth="yes"/>
+ <point x="459" y="198"/>
+ <point x="401" y="297"/>
+ <point x="401" y="428" type="curve" smooth="yes"/>
+ <point x="401" y="683"/>
+ <point x="552" y="822"/>
+ <point x="713" y="822" type="curve" smooth="yes"/>
+ <point x="811" y="822"/>
+ <point x="869" y="782"/>
+ <point x="869" y="720" type="curve" smooth="yes"/>
+ <point x="869" y="635"/>
+ <point x="777" y="580"/>
+ <point x="533" y="580" type="curve" smooth="yes"/>
+ <point x="461" y="580"/>
+ <point x="385" y="589"/>
+ <point x="283" y="610" type="curve"/>
+ <point x="283" y="437" type="line"/>
+ <point x="353" y="422"/>
+ <point x="487" y="413"/>
+ <point x="569" y="413" type="curve" smooth="yes"/>
+ <point x="935" y="413"/>
+ <point x="1125" y="583"/>
+ <point x="1125" y="774" type="curve" smooth="yes"/>
+ <point x="1125" y="922"/>
+ <point x="993" y="1030"/>
+ <point x="769" y="1030" type="curve" smooth="yes"/>
+ <point x="435" y="1030"/>
+ <point x="148" y="775"/>
+ <point x="148" y="388" type="curve" smooth="yes"/>
+ <point x="148" y="135"/>
+ <point x="332" y="-25"/>
+ <point x="556" y="-25" type="curve" smooth="yes"/>
+ <point x="712" y="-25"/>
+ <point x="835" y="2"/>
+ <point x="997" y="74" type="curve"/>
+ </contour>
+ </outline>
+</glyph>
diff --git a/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_tnS_mF_.glif b/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_tnS_mF_.glif
new file mode 100644
index 0000000..fd86bf3
--- /dev/null
+++ b/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_tnS_mF_.glif
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<glyph name="LtnSmF" format="2">
+ <advance width="859"/>
+ <unicode hex="0066"/>
+ <anchor x="320" y="0" name="H"/>
+ <anchor x="400" y="-100" name="L"/>
+ <anchor x="948" y="1635" name="U"/>
+ <outline>
+ <contour>
+ <point x="180" y="797" type="line"/>
+ <point x="915" y="797" type="line"/>
+ <point x="965" y="995" type="line"/>
+ <point x="230" y="995" type="line"/>
+ </contour>
+ <contour>
+ <point x="1189" y="1534" type="line"/>
+ <point x="1139" y="1572"/>
+ <point x="1040" y="1604"/>
+ <point x="966" y="1604" type="curve" smooth="yes"/>
+ <point x="719" y="1604"/>
+ <point x="535" y="1455"/>
+ <point x="460" y="1158" type="curve" smooth="yes"/>
+ <point x="416" y="983"/>
+ <point x="253" y="334"/>
+ <point x="232" y="0" type="curve"/>
+ <point x="542" y="0" type="line"/>
+ <point x="536" y="28"/>
+ <point x="533" y="66"/>
+ <point x="533" y="110" type="curve" smooth="yes"/>
+ <point x="533" y="213"/>
+ <point x="550" y="356"/>
+ <point x="581" y="489" type="curve" smooth="yes"/>
+ <point x="649" y="784"/>
+ <point x="682" y="926"/>
+ <point x="735" y="1147" type="curve" smooth="yes"/>
+ <point x="774" y="1309"/>
+ <point x="836" y="1373"/>
+ <point x="932" y="1373" type="curve" smooth="yes"/>
+ <point x="981" y="1373"/>
+ <point x="1043" y="1348"/>
+ <point x="1076" y="1309" type="curve"/>
+ </contour>
+ </outline>
+</glyph>
diff --git a/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_tnS_mG_.glif b/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_tnS_mG_.glif
new file mode 100644
index 0000000..c651c04
--- /dev/null
+++ b/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_tnS_mG_.glif
@@ -0,0 +1,91 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<glyph name="LtnSmG" format="2">
+ <advance width="1120"/>
+ <unicode hex="0067"/>
+ <anchor x="420" y="-465" name="H"/>
+ <anchor x="403" y="-535" name="L"/>
+ <anchor x="1360" y="1000" name="R"/>
+ <anchor x="782" y="1100" name="U"/>
+ <outline>
+ <contour>
+ <point x="1027" y="-117" type="curve" smooth="yes"/>
+ <point x="1027" y="8"/>
+ <point x="938" y="114"/>
+ <point x="702" y="163" type="curve" smooth="yes"/>
+ <point x="473" y="210"/>
+ <point x="402" y="217"/>
+ <point x="402" y="249" type="curve" smooth="yes"/>
+ <point x="402" y="279"/>
+ <point x="493" y="321"/>
+ <point x="584" y="346" type="curve"/>
+ <point x="359" y="391" type="line"/>
+ <point x="263" y="354"/>
+ <point x="161" y="283"/>
+ <point x="161" y="188" type="curve" smooth="yes"/>
+ <point x="161" y="101"/>
+ <point x="230" y="4"/>
+ <point x="451" y="-23" type="curve" smooth="yes"/>
+ <point x="669" y="-50"/>
+ <point x="740" y="-97"/>
+ <point x="740" y="-157" type="curve" smooth="yes"/>
+ <point x="740" y="-245"/>
+ <point x="591" y="-299"/>
+ <point x="457" y="-299" type="curve" smooth="yes"/>
+ <point x="286" y="-299"/>
+ <point x="197" y="-233"/>
+ <point x="197" y="-180" type="curve" smooth="yes"/>
+ <point x="197" y="-74"/>
+ <point x="405" y="-4"/>
+ <point x="476" y="20" type="curve"/>
+ <point x="476" y="49"/>
+ <point x="250" y="74"/>
+ <point x="250" y="74" type="curve"/>
+ <point x="103" y="20"/>
+ <point x="-91" y="-65"/>
+ <point x="-91" y="-233" type="curve" smooth="yes"/>
+ <point x="-91" y="-409"/>
+ <point x="166" y="-500"/>
+ <point x="392" y="-500" type="curve" smooth="yes"/>
+ <point x="690" y="-500"/>
+ <point x="1027" y="-380"/>
+ </contour>
+ <contour>
+ <point x="1268" y="1030" type="line"/>
+ <point x="1168" y="1023"/>
+ <point x="1027" y="987"/>
+ <point x="924" y="931" type="curve"/>
+ <point x="946" y="762" type="line"/>
+ <point x="1048" y="800"/>
+ <point x="1132" y="815"/>
+ <point x="1205" y="817" type="curve"/>
+ </contour>
+ <contour>
+ <point x="198" y="627" type="curve" smooth="yes"/>
+ <point x="198" y="450"/>
+ <point x="353" y="302"/>
+ <point x="572" y="302" type="curve" smooth="yes"/>
+ <point x="824" y="302"/>
+ <point x="1087" y="444"/>
+ <point x="1087" y="702" type="curve" smooth="yes"/>
+ <point x="1087" y="874"/>
+ <point x="955" y="1030"/>
+ <point x="703" y="1030" type="curve" smooth="yes"/>
+ <point x="454" y="1030"/>
+ <point x="198" y="881"/>
+ </contour>
+ <contour>
+ <point x="663" y="829" type="curve" smooth="yes"/>
+ <point x="761" y="829"/>
+ <point x="842" y="762"/>
+ <point x="842" y="675" type="curve" smooth="yes"/>
+ <point x="842" y="559"/>
+ <point x="733" y="496"/>
+ <point x="620" y="496" type="curve" smooth="yes"/>
+ <point x="524" y="496"/>
+ <point x="450" y="569"/>
+ <point x="450" y="653" type="curve" smooth="yes"/>
+ <point x="450" y="769"/>
+ <point x="560" y="829"/>
+ </contour>
+ </outline>
+</glyph>
diff --git a/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_tnS_mH_.glif b/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_tnS_mH_.glif
new file mode 100644
index 0000000..7160c61
--- /dev/null
+++ b/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_tnS_mH_.glif
@@ -0,0 +1,54 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<glyph name="LtnSmH" format="2">
+ <advance width="1273"/>
+ <unicode hex="0068"/>
+ <anchor x="220" y="0" name="H"/>
+ <anchor x="635" y="-100" name="L"/>
+ <anchor x="968" y="1635" name="U"/>
+ <outline>
+ <contour>
+ <point x="1140" y="0" type="line"/>
+ <point x="1135" y="29"/>
+ <point x="1129" y="60"/>
+ <point x="1129" y="90" type="curve" smooth="yes"/>
+ <point x="1129" y="135"/>
+ <point x="1134" y="170"/>
+ <point x="1141" y="215" type="curve" smooth="yes"/>
+ <point x="1171" y="400"/>
+ <point x="1253" y="590"/>
+ <point x="1253" y="725" type="curve" smooth="yes"/>
+ <point x="1253" y="900"/>
+ <point x="1183" y="1030"/>
+ <point x="990" y="1030" type="curve" smooth="yes"/>
+ <point x="849" y="1030"/>
+ <point x="694" y="902"/>
+ <point x="566" y="740" type="curve"/>
+ <point x="656" y="1095" type="line" smooth="yes"/>
+ <point x="696" y="1255"/>
+ <point x="735" y="1474"/>
+ <point x="735" y="1585" type="curve"/>
+ <point x="455" y="1585" type="line"/>
+ <point x="455" y="1439"/>
+ <point x="413" y="1242"/>
+ <point x="377" y="1095" type="curve" smooth="yes"/>
+ <point x="105" y="0" type="line"/>
+ <point x="385" y="0" type="line"/>
+ <point x="485" y="400" type="line"/>
+ <point x="580" y="596"/>
+ <point x="745" y="787"/>
+ <point x="850" y="787" type="curve" smooth="yes"/>
+ <point x="937" y="787"/>
+ <point x="953" y="722"/>
+ <point x="953" y="625" type="curve" smooth="yes"/>
+ <point x="953" y="529"/>
+ <point x="889" y="374"/>
+ <point x="863" y="213" type="curve" smooth="yes"/>
+ <point x="857" y="174"/>
+ <point x="853" y="134"/>
+ <point x="853" y="95" type="curve" smooth="yes"/>
+ <point x="853" y="63"/>
+ <point x="854" y="31"/>
+ <point x="860" y="0" type="curve"/>
+ </contour>
+ </outline>
+</glyph>
diff --git a/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_tnS_mI_.glif b/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_tnS_mI_.glif
new file mode 100644
index 0000000..c19769e
--- /dev/null
+++ b/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_tnS_mI_.glif
@@ -0,0 +1,50 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<glyph name="LtnSmI" format="2">
+ <advance width="625"/>
+ <unicode hex="0069"/>
+ <anchor x="260" y="0" name="H"/>
+ <anchor x="335" y="-100" name="L"/>
+ <anchor x="520" y="0" name="O"/>
+ <anchor x="830" y="1000" name="R"/>
+ <anchor x="535" y="1100" name="U"/>
+ <outline>
+ <contour>
+ <point x="341" y="1010" type="line"/>
+ <point x="341" y="877"/>
+ <point x="290" y="698"/>
+ <point x="252" y="547" type="curve" smooth="yes"/>
+ <point x="213" y="390" type="line" smooth="yes"/>
+ <point x="193" y="309"/>
+ <point x="170" y="191"/>
+ <point x="170" y="88" type="curve" smooth="yes"/>
+ <point x="170" y="57"/>
+ <point x="172" y="27"/>
+ <point x="177" y="0" type="curve"/>
+ <point x="472" y="0" type="line"/>
+ <point x="463" y="39"/>
+ <point x="459" y="82"/>
+ <point x="459" y="126" type="curve" smooth="yes"/>
+ <point x="459" y="217"/>
+ <point x="475" y="310"/>
+ <point x="486" y="358" type="curve" smooth="yes"/>
+ <point x="531" y="546" type="line" smooth="yes"/>
+ <point x="572" y="719"/>
+ <point x="621" y="875"/>
+ <point x="625" y="1010" type="curve"/>
+ </contour>
+ <contour>
+ <point x="404" y="1341" type="curve" smooth="yes"/>
+ <point x="404" y="1259"/>
+ <point x="462" y="1197"/>
+ <point x="548" y="1197" type="curve" smooth="yes"/>
+ <point x="668" y="1197"/>
+ <point x="759" y="1292"/>
+ <point x="759" y="1403" type="curve" smooth="yes"/>
+ <point x="759" y="1483"/>
+ <point x="701" y="1544"/>
+ <point x="614" y="1544" type="curve" smooth="yes"/>
+ <point x="496" y="1544"/>
+ <point x="404" y="1451"/>
+ </contour>
+ </outline>
+</glyph>
diff --git a/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_tnS_mJ_.glif b/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_tnS_mJ_.glif
new file mode 100644
index 0000000..a454f7a
--- /dev/null
+++ b/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_tnS_mJ_.glif
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<glyph name="LtnSmJ" format="2">
+ <advance width="695"/>
+ <unicode hex="006A"/>
+ <anchor x="-45" y="-500" name="L"/>
+ <anchor x="565" y="1100" name="U"/>
+ <outline>
+ <contour>
+ <point x="361" y="1010" type="line"/>
+ <point x="361" y="866"/>
+ <point x="284" y="395"/>
+ <point x="205" y="87" type="curve" smooth="yes"/>
+ <point x="148" y="-136"/>
+ <point x="54" y="-221"/>
+ <point x="-56" y="-221" type="curve" smooth="yes"/>
+ <point x="-137" y="-221"/>
+ <point x="-217" y="-187"/>
+ <point x="-252" y="-150" type="curve"/>
+ <point x="-355" y="-385" type="line"/>
+ <point x="-321" y="-417"/>
+ <point x="-172" y="-465"/>
+ <point x="-79" y="-465" type="curve" smooth="yes"/>
+ <point x="170" y="-465"/>
+ <point x="388" y="-295"/>
+ <point x="481" y="75" type="curve" smooth="yes"/>
+ <point x="501" y="157"/>
+ <point x="646" y="882"/>
+ <point x="646" y="1010" type="curve"/>
+ </contour>
+ <contour>
+ <point x="395" y="1341" type="curve" smooth="yes"/>
+ <point x="395" y="1259"/>
+ <point x="453" y="1197"/>
+ <point x="539" y="1197" type="curve" smooth="yes"/>
+ <point x="659" y="1197"/>
+ <point x="750" y="1292"/>
+ <point x="750" y="1403" type="curve" smooth="yes"/>
+ <point x="750" y="1483"/>
+ <point x="692" y="1544"/>
+ <point x="605" y="1544" type="curve" smooth="yes"/>
+ <point x="487" y="1544"/>
+ <point x="395" y="1451"/>
+ </contour>
+ </outline>
+</glyph>
diff --git a/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_tnS_mK_.glif b/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_tnS_mK_.glif
new file mode 100644
index 0000000..ed9d720
--- /dev/null
+++ b/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_tnS_mK_.glif
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<glyph name="LtnSmK" format="2">
+ <advance width="1209"/>
+ <unicode hex="006B"/>
+ <anchor x="880" y="0" name="H"/>
+ <anchor x="600" y="-100" name="L"/>
+ <anchor x="1330" y="1000" name="R"/>
+ <anchor x="943" y="1635" name="U"/>
+ <outline>
+ <contour>
+ <point x="964" y="1010" type="line"/>
+ <point x="920" y="864"/>
+ <point x="682" y="702"/>
+ <point x="483" y="576" type="curve"/>
+ <point x="676" y="518" type="line"/>
+ <point x="915" y="662"/>
+ <point x="1289" y="867"/>
+ <point x="1289" y="1010" type="curve"/>
+ </contour>
+ <contour>
+ <point x="1168" y="0" type="line"/>
+ <point x="992" y="302"/>
+ <point x="856" y="620"/>
+ <point x="633" y="620" type="curve"/>
+ <point x="442" y="529" type="line"/>
+ <point x="606" y="529"/>
+ <point x="722" y="252"/>
+ <point x="831" y="0" type="curve"/>
+ </contour>
+ <contour>
+ <point x="394" y="0" type="line"/>
+ <point x="669" y="1105" type="line" smooth="yes"/>
+ <point x="713" y="1280"/>
+ <point x="744" y="1497"/>
+ <point x="744" y="1585" type="curve"/>
+ <point x="462" y="1585" type="line"/>
+ <point x="462" y="1471"/>
+ <point x="431" y="1274"/>
+ <point x="393" y="1122" type="curve" smooth="yes"/>
+ <point x="345" y="928"/>
+ <point x="115" y="0"/>
+ <point x="115" y="0" type="curve"/>
+ </contour>
+ </outline>
+</glyph>
diff --git a/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_tnS_mL_.glif b/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_tnS_mL_.glif
new file mode 100644
index 0000000..3ecb48c
--- /dev/null
+++ b/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_tnS_mL_.glif
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<glyph name="LtnSmL" format="2">
+ <advance width="641"/>
+ <unicode hex="006C"/>
+ <anchor x="275" y="0" name="H"/>
+ <anchor x="350" y="-100" name="L"/>
+ <anchor x="850" y="1000" name="R"/>
+ <anchor x="630" y="1635" name="U"/>
+ <outline>
+ <contour>
+ <point x="461" y="1585" type="line"/>
+ <point x="461" y="1439"/>
+ <point x="420" y="1242"/>
+ <point x="383" y="1095" type="curve" smooth="yes"/>
+ <point x="232" y="488" type="line" smooth="yes"/>
+ <point x="208" y="394"/>
+ <point x="175" y="269"/>
+ <point x="175" y="116" type="curve" smooth="yes"/>
+ <point x="175" y="89"/>
+ <point x="178" y="30"/>
+ <point x="180" y="0" type="curve"/>
+ <point x="470" y="0" type="line"/>
+ <point x="464" y="39"/>
+ <point x="461" y="80"/>
+ <point x="461" y="121" type="curve" smooth="yes"/>
+ <point x="461" y="277"/>
+ <point x="498" y="434"/>
+ <point x="518" y="515" type="curve" smooth="yes"/>
+ <point x="662" y="1095" type="line" smooth="yes"/>
+ <point x="702" y="1255"/>
+ <point x="741" y="1474"/>
+ <point x="741" y="1585" type="curve"/>
+ </contour>
+ </outline>
+</glyph>
diff --git a/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_tnS_mM_.glif b/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_tnS_mM_.glif
new file mode 100644
index 0000000..6f5967a
--- /dev/null
+++ b/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_tnS_mM_.glif
@@ -0,0 +1,80 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<glyph name="LtnSmM" format="2">
+ <advance width="1770"/>
+ <unicode hex="006D"/>
+ <anchor x="830" y="0" name="H"/>
+ <anchor x="805" y="-100" name="L"/>
+ <anchor x="1105" y="1100" name="U"/>
+ <outline>
+ <contour>
+ <point x="1609" y="0" type="line"/>
+ <point x="1604" y="29"/>
+ <point x="1602" y="60"/>
+ <point x="1602" y="90" type="curve" smooth="yes"/>
+ <point x="1602" y="136"/>
+ <point x="1606" y="181"/>
+ <point x="1613" y="228" type="curve" smooth="yes"/>
+ <point x="1628" y="333"/>
+ <point x="1747" y="670"/>
+ <point x="1747" y="822" type="curve" smooth="yes"/>
+ <point x="1747" y="958"/>
+ <point x="1681" y="1030"/>
+ <point x="1547" y="1030" type="curve" smooth="yes"/>
+ <point x="1391" y="1030"/>
+ <point x="1227" y="876"/>
+ <point x="1120" y="705" type="curve"/>
+ <point x="1125" y="738"/>
+ <point x="1127" y="769"/>
+ <point x="1127" y="798" type="curve" smooth="yes"/>
+ <point x="1127" y="944"/>
+ <point x="1067" y="1030"/>
+ <point x="941" y="1030" type="curve" smooth="yes"/>
+ <point x="815" y="1030"/>
+ <point x="664" y="911"/>
+ <point x="537" y="715" type="curve"/>
+ <point x="553" y="840"/>
+ <point x="556" y="911"/>
+ <point x="556" y="955" type="curve" smooth="yes"/>
+ <point x="556" y="981"/>
+ <point x="554" y="998"/>
+ <point x="551" y="1010" type="curve"/>
+ <point x="291" y="1010" type="line"/>
+ <point x="293" y="999"/>
+ <point x="294" y="975"/>
+ <point x="294" y="942" type="curve" smooth="yes"/>
+ <point x="294" y="855"/>
+ <point x="286" y="710"/>
+ <point x="261" y="609" type="curve" smooth="yes"/>
+ <point x="110" y="0" type="line"/>
+ <point x="390" y="0" type="line"/>
+ <point x="479" y="370" type="line"/>
+ <point x="541" y="552"/>
+ <point x="711" y="787"/>
+ <point x="791" y="787" type="curve" smooth="yes"/>
+ <point x="843" y="787"/>
+ <point x="857" y="741"/>
+ <point x="857" y="688" type="curve" smooth="yes"/>
+ <point x="857" y="625"/>
+ <point x="832" y="535"/>
+ <point x="819" y="483" type="curve" smooth="yes"/>
+ <point x="695" y="0" type="line"/>
+ <point x="975" y="0" type="line"/>
+ <point x="1067" y="370" type="line"/>
+ <point x="1139" y="556"/>
+ <point x="1300" y="787"/>
+ <point x="1381" y="787" type="curve" smooth="yes"/>
+ <point x="1434" y="787"/>
+ <point x="1450" y="762"/>
+ <point x="1450" y="706" type="curve" smooth="yes"/>
+ <point x="1450" y="592"/>
+ <point x="1350" y="331"/>
+ <point x="1330" y="205" type="curve" smooth="yes"/>
+ <point x="1324" y="168"/>
+ <point x="1321" y="132"/>
+ <point x="1321" y="95" type="curve" smooth="yes"/>
+ <point x="1321" y="63"/>
+ <point x="1323" y="31"/>
+ <point x="1329" y="0" type="curve"/>
+ </contour>
+ </outline>
+</glyph>
diff --git a/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_tnS_mN_.glif b/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_tnS_mN_.glif
new file mode 100644
index 0000000..009224e
--- /dev/null
+++ b/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_tnS_mN_.glif
@@ -0,0 +1,57 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<glyph name="LtnSmN" format="2">
+ <advance width="1281"/>
+ <unicode hex="006E"/>
+ <anchor x="560" y="0" name="H"/>
+ <anchor x="635" y="-100" name="L"/>
+ <anchor x="835" y="1100" name="U"/>
+ <outline>
+ <contour>
+ <point x="1145" y="0" type="line"/>
+ <point x="1140" y="29"/>
+ <point x="1138" y="60"/>
+ <point x="1138" y="90" type="curve" smooth="yes"/>
+ <point x="1138" y="136"/>
+ <point x="1141" y="182"/>
+ <point x="1149" y="228" type="curve" smooth="yes"/>
+ <point x="1173" y="366"/>
+ <point x="1258" y="591"/>
+ <point x="1258" y="725" type="curve" smooth="yes"/>
+ <point x="1258" y="890"/>
+ <point x="1188" y="1030"/>
+ <point x="995" y="1030" type="curve" smooth="yes"/>
+ <point x="844" y="1030"/>
+ <point x="685" y="903"/>
+ <point x="546" y="715" type="curve"/>
+ <point x="555" y="771"/>
+ <point x="569" y="875"/>
+ <point x="569" y="933" type="curve" smooth="yes"/>
+ <point x="569" y="962"/>
+ <point x="568" y="988"/>
+ <point x="565" y="1010" type="curve"/>
+ <point x="290" y="1010" type="line"/>
+ <point x="290" y="962" type="line" smooth="yes"/>
+ <point x="290" y="859"/>
+ <point x="280" y="685"/>
+ <point x="261" y="609" type="curve" smooth="yes"/>
+ <point x="110" y="0" type="line"/>
+ <point x="388" y="0" type="line"/>
+ <point x="490" y="405" type="line"/>
+ <point x="569" y="569"/>
+ <point x="740" y="787"/>
+ <point x="835" y="787" type="curve" smooth="yes"/>
+ <point x="922" y="787"/>
+ <point x="958" y="732"/>
+ <point x="958" y="625" type="curve" smooth="yes"/>
+ <point x="958" y="527"/>
+ <point x="891" y="369"/>
+ <point x="866" y="205" type="curve" smooth="yes"/>
+ <point x="860" y="168"/>
+ <point x="857" y="132"/>
+ <point x="857" y="95" type="curve" smooth="yes"/>
+ <point x="857" y="63"/>
+ <point x="859" y="31"/>
+ <point x="865" y="0" type="curve"/>
+ </contour>
+ </outline>
+</glyph>
diff --git a/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_tnS_mO_.glif b/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_tnS_mO_.glif
new file mode 100644
index 0000000..d21fb58
--- /dev/null
+++ b/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_tnS_mO_.glif
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<glyph name="LtnSmO" format="2">
+ <advance width="1139"/>
+ <unicode hex="006F"/>
+ <anchor x="518" y="0" name="H"/>
+ <anchor x="530" y="-100" name="L"/>
+ <anchor x="730" y="0" name="O"/>
+ <anchor x="1350" y="1000" name="R"/>
+ <anchor x="795" y="1100" name="U"/>
+ <outline>
+ <contour>
+ <point x="140" y="370" type="curve" smooth="yes"/>
+ <point x="140" y="128"/>
+ <point x="289" y="-25"/>
+ <point x="520" y="-25" type="curve" smooth="yes"/>
+ <point x="906" y="-25"/>
+ <point x="1144" y="295"/>
+ <point x="1144" y="641" type="curve" smooth="yes"/>
+ <point x="1144" y="880"/>
+ <point x="1003" y="1030"/>
+ <point x="773" y="1030" type="curve" smooth="yes"/>
+ <point x="390" y="1030"/>
+ <point x="140" y="718"/>
+ </contour>
+ <contour>
+ <point x="718" y="807" type="curve" smooth="yes"/>
+ <point x="826" y="807"/>
+ <point x="879" y="737"/>
+ <point x="879" y="612" type="curve" smooth="yes"/>
+ <point x="879" y="413"/>
+ <point x="764" y="198"/>
+ <point x="566" y="198" type="curve" smooth="yes"/>
+ <point x="464" y="198"/>
+ <point x="404" y="264"/>
+ <point x="404" y="385" type="curve" smooth="yes"/>
+ <point x="404" y="570"/>
+ <point x="512" y="807"/>
+ </contour>
+ </outline>
+</glyph>
diff --git a/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_tnS_mP_.glif b/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_tnS_mP_.glif
new file mode 100644
index 0000000..55c6e8b
--- /dev/null
+++ b/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_tnS_mP_.glif
@@ -0,0 +1,66 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<glyph name="LtnSmP" format="2">
+ <advance width="1272"/>
+ <unicode hex="0070"/>
+ <anchor x="121" y="-435" name="H"/>
+ <anchor x="555" y="-500" name="L"/>
+ <anchor x="1425" y="1000" name="R"/>
+ <anchor x="855" y="1100" name="U"/>
+ <outline>
+ <contour>
+ <point x="523" y="500" type="line"/>
+ <point x="605" y="650"/>
+ <point x="765" y="794"/>
+ <point x="854" y="794" type="curve" smooth="yes"/>
+ <point x="932" y="794"/>
+ <point x="975" y="719"/>
+ <point x="975" y="609" type="curve" smooth="yes"/>
+ <point x="975" y="478"/>
+ <point x="924" y="334"/>
+ <point x="823" y="258" type="curve" smooth="yes"/>
+ <point x="778" y="224"/>
+ <point x="723" y="204"/>
+ <point x="658" y="204" type="curve" smooth="yes"/>
+ <point x="589" y="204"/>
+ <point x="517" y="243"/>
+ <point x="473" y="297" type="curve"/>
+ </contour>
+ <contour>
+ <point x="300" y="1010" type="line"/>
+ <point x="300" y="962" type="line" smooth="yes"/>
+ <point x="300" y="859"/>
+ <point x="290" y="685"/>
+ <point x="271" y="609" type="curve" smooth="yes"/>
+ <point x="75" y="-180" type="line" smooth="yes"/>
+ <point x="49" y="-286"/>
+ <point x="25" y="-403"/>
+ <point x="25" y="-485" type="curve"/>
+ <point x="314" y="-485" type="line"/>
+ <point x="314" y="-393"/>
+ <point x="328" y="-287"/>
+ <point x="362" y="-149" type="curve" smooth="yes"/>
+ <point x="415" y="64" type="line"/>
+ <point x="495" y="10"/>
+ <point x="562" y="-25"/>
+ <point x="667" y="-25" type="curve" smooth="yes"/>
+ <point x="750" y="-25"/>
+ <point x="833" y="-2"/>
+ <point x="909" y="40" type="curve" smooth="yes"/>
+ <point x="1112" y="152"/>
+ <point x="1267" y="398"/>
+ <point x="1267" y="685" type="curve" smooth="yes"/>
+ <point x="1267" y="884"/>
+ <point x="1176" y="1030"/>
+ <point x="1004" y="1030" type="curve" smooth="yes"/>
+ <point x="849" y="1030"/>
+ <point x="677" y="901"/>
+ <point x="565" y="752" type="curve"/>
+ <point x="574" y="808"/>
+ <point x="579" y="875"/>
+ <point x="579" y="933" type="curve" smooth="yes"/>
+ <point x="579" y="962"/>
+ <point x="578" y="988"/>
+ <point x="575" y="1010" type="curve"/>
+ </contour>
+ </outline>
+</glyph>
diff --git a/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_tnS_mQ_.glif b/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_tnS_mQ_.glif
new file mode 100644
index 0000000..d3068d2
--- /dev/null
+++ b/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_tnS_mQ_.glif
@@ -0,0 +1,54 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<glyph name="LtnSmQ" format="2">
+ <advance width="1206"/>
+ <unicode hex="0071"/>
+ <anchor x="415" y="-500" name="L"/>
+ <anchor x="1400" y="1000" name="R"/>
+ <anchor x="815" y="1100" name="U"/>
+ <outline>
+ <contour>
+ <point x="889" y="583" type="line"/>
+ <point x="832" y="467"/>
+ <point x="615" y="211"/>
+ <point x="520" y="211" type="curve" smooth="yes"/>
+ <point x="457" y="211"/>
+ <point x="429" y="263"/>
+ <point x="429" y="362" type="curve" smooth="yes"/>
+ <point x="429" y="484"/>
+ <point x="469" y="616"/>
+ <point x="551" y="702" type="curve" smooth="yes"/>
+ <point x="605" y="758"/>
+ <point x="676" y="794"/>
+ <point x="765" y="794" type="curve" smooth="yes"/>
+ <point x="806" y="794"/>
+ <point x="897" y="781"/>
+ <point x="933" y="762" type="curve"/>
+ </contour>
+ <contour>
+ <point x="936" y="-485" type="line"/>
+ <point x="936" y="-396"/>
+ <point x="951" y="-299"/>
+ <point x="978" y="-190" type="curve" smooth="yes"/>
+ <point x="1261" y="955" type="line"/>
+ <point x="1134" y="991"/>
+ <point x="972" y="1030"/>
+ <point x="819" y="1030" type="curve" smooth="yes"/>
+ <point x="678" y="1030"/>
+ <point x="516" y="969"/>
+ <point x="403" y="874" type="curve" smooth="yes"/>
+ <point x="244" y="739"/>
+ <point x="145" y="535"/>
+ <point x="145" y="331" type="curve" smooth="yes"/>
+ <point x="145" y="105"/>
+ <point x="275" y="-25"/>
+ <point x="391" y="-25" type="curve" smooth="yes"/>
+ <point x="529" y="-25"/>
+ <point x="729" y="134"/>
+ <point x="838" y="300" type="curve"/>
+ <point x="706" y="-185" type="line" smooth="yes"/>
+ <point x="675" y="-299"/>
+ <point x="661" y="-419"/>
+ <point x="661" y="-485" type="curve"/>
+ </contour>
+ </outline>
+</glyph>
diff --git a/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_tnS_mR_.glif b/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_tnS_mR_.glif
new file mode 100644
index 0000000..48a3cc8
--- /dev/null
+++ b/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_tnS_mR_.glif
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<glyph name="LtnSmR" format="2">
+ <advance width="1021"/>
+ <unicode hex="0072"/>
+ <anchor x="225" y="0" name="H"/>
+ <anchor x="255" y="-100" name="L"/>
+ <anchor x="765" y="1100" name="U"/>
+ <outline>
+ <contour>
+ <point x="390" y="0" type="line"/>
+ <point x="494" y="420" type="line"/>
+ <point x="555" y="557"/>
+ <point x="727" y="773"/>
+ <point x="810" y="773" type="curve" smooth="yes"/>
+ <point x="864" y="773"/>
+ <point x="887" y="737"/>
+ <point x="887" y="678" type="curve" smooth="yes"/>
+ <point x="887" y="662"/>
+ <point x="885" y="644"/>
+ <point x="882" y="624" type="curve"/>
+ <point x="1114" y="658" type="line"/>
+ <point x="1123" y="706"/>
+ <point x="1136" y="752"/>
+ <point x="1136" y="794" type="curve" smooth="yes"/>
+ <point x="1136" y="931"/>
+ <point x="1084" y="1030"/>
+ <point x="963" y="1030" type="curve" smooth="yes"/>
+ <point x="828" y="1030"/>
+ <point x="670" y="883"/>
+ <point x="544" y="716" type="curve"/>
+ <point x="555" y="787"/>
+ <point x="570" y="960"/>
+ <point x="570" y="1010" type="curve"/>
+ <point x="295" y="1010" type="line"/>
+ <point x="295" y="962" type="line" smooth="yes"/>
+ <point x="295" y="894"/>
+ <point x="281" y="689"/>
+ <point x="261" y="609" type="curve" smooth="yes"/>
+ <point x="110" y="0" type="line"/>
+ </contour>
+ </outline>
+</glyph>
diff --git a/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_tnS_mS_.glif b/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_tnS_mS_.glif
new file mode 100644
index 0000000..568c40a
--- /dev/null
+++ b/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_tnS_mS_.glif
@@ -0,0 +1,50 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<glyph name="LtnSmS" format="2">
+ <advance width="1015"/>
+ <unicode hex="0073"/>
+ <anchor x="455" y="0" name="H"/>
+ <anchor x="530" y="-100" name="L"/>
+ <anchor x="745" y="1100" name="U"/>
+ <outline>
+ <contour>
+ <point x="1058" y="952" type="line"/>
+ <point x="990" y="990"/>
+ <point x="854" y="1030"/>
+ <point x="691" y="1030" type="curve" smooth="yes"/>
+ <point x="457" y="1030"/>
+ <point x="217" y="936"/>
+ <point x="217" y="722" type="curve" smooth="yes"/>
+ <point x="217" y="593"/>
+ <point x="306" y="517"/>
+ <point x="501" y="430" type="curve" smooth="yes"/>
+ <point x="648" y="364"/>
+ <point x="710" y="345"/>
+ <point x="710" y="288" type="curve" smooth="yes"/>
+ <point x="710" y="224"/>
+ <point x="649" y="197"/>
+ <point x="549" y="197" type="curve" smooth="yes"/>
+ <point x="392" y="197"/>
+ <point x="276" y="280"/>
+ <point x="197" y="371" type="curve"/>
+ <point x="72" y="129" type="line"/>
+ <point x="143" y="68"/>
+ <point x="319" y="-25"/>
+ <point x="498" y="-25" type="curve" smooth="yes"/>
+ <point x="767" y="-25"/>
+ <point x="979" y="104"/>
+ <point x="979" y="315" type="curve" smooth="yes"/>
+ <point x="979" y="440"/>
+ <point x="884" y="513"/>
+ <point x="695" y="600" type="curve" smooth="yes"/>
+ <point x="581" y="652"/>
+ <point x="477" y="688"/>
+ <point x="477" y="743" type="curve" smooth="yes"/>
+ <point x="477" y="785"/>
+ <point x="548" y="808"/>
+ <point x="646" y="808" type="curve" smooth="yes"/>
+ <point x="785" y="808"/>
+ <point x="895" y="764"/>
+ <point x="961" y="716" type="curve"/>
+ </contour>
+ </outline>
+</glyph>
diff --git a/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_tnS_mT_.glif b/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_tnS_mT_.glif
new file mode 100644
index 0000000..c6a02c1
--- /dev/null
+++ b/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_tnS_mT_.glif
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<glyph name="LtnSmT" format="2">
+ <advance width="900"/>
+ <unicode hex="0074"/>
+ <anchor x="470" y="0" name="H"/>
+ <anchor x="520" y="-100" name="L"/>
+ <anchor x="1075" y="1000" name="R"/>
+ <anchor x="640" y="1360" name="U"/>
+ <outline>
+ <contour>
+ <point x="831" y="278" type="line"/>
+ <point x="740" y="230"/>
+ <point x="670" y="204"/>
+ <point x="619" y="204" type="curve" smooth="yes"/>
+ <point x="556" y="204"/>
+ <point x="536" y="250"/>
+ <point x="536" y="318" type="curve" smooth="yes"/>
+ <point x="536" y="347"/>
+ <point x="539" y="380"/>
+ <point x="545" y="415" type="curve" smooth="yes"/>
+ <point x="567" y="549"/>
+ <point x="700" y="1039"/>
+ <point x="767" y="1307" type="curve"/>
+ <point x="487" y="1307" type="line"/>
+ <point x="419" y="1038"/>
+ <point x="265" y="471"/>
+ <point x="243" y="328" type="curve" smooth="yes"/>
+ <point x="239" y="302"/>
+ <point x="237" y="277"/>
+ <point x="237" y="253" type="curve" smooth="yes"/>
+ <point x="237" y="73"/>
+ <point x="351" y="-25"/>
+ <point x="518" y="-25" type="curve" smooth="yes"/>
+ <point x="590" y="-25"/>
+ <point x="703" y="-4"/>
+ <point x="812" y="55" type="curve"/>
+ </contour>
+ <contour>
+ <point x="945" y="797" type="line"/>
+ <point x="995" y="995" type="line"/>
+ <point x="220" y="995" type="line"/>
+ <point x="170" y="797" type="line"/>
+ </contour>
+ </outline>
+</glyph>
diff --git a/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_tnS_mU_.glif b/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_tnS_mU_.glif
new file mode 100644
index 0000000..5067d38
--- /dev/null
+++ b/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_tnS_mU_.glif
@@ -0,0 +1,57 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<glyph name="LtnSmU" format="2">
+ <advance width="1257"/>
+ <unicode hex="0075"/>
+ <anchor x="455" y="0" name="H"/>
+ <anchor x="530" y="-100" name="L"/>
+ <anchor x="630" y="0" name="O"/>
+ <anchor x="1448" y="1000" name="R"/>
+ <anchor x="830" y="1100" name="U"/>
+ <outline>
+ <contour>
+ <point x="1117" y="0" type="line"/>
+ <point x="1113" y="29"/>
+ <point x="1112" y="62"/>
+ <point x="1112" y="100" type="curve" smooth="yes"/>
+ <point x="1112" y="206"/>
+ <point x="1131" y="341"/>
+ <point x="1157" y="455" type="curve" smooth="yes"/>
+ <point x="1212" y="689"/>
+ <point x="1274" y="905"/>
+ <point x="1282" y="1010" type="curve"/>
+ <point x="993" y="1010" type="line"/>
+ <point x="981" y="889"/>
+ <point x="992" y="918"/>
+ <point x="910" y="595" type="curve"/>
+ <point x="835" y="427"/>
+ <point x="618" y="205"/>
+ <point x="537" y="205" type="curve" smooth="yes"/>
+ <point x="491" y="205"/>
+ <point x="462" y="236"/>
+ <point x="462" y="308" type="curve" smooth="yes"/>
+ <point x="462" y="405"/>
+ <point x="536" y="663"/>
+ <point x="549" y="712" type="curve" smooth="yes"/>
+ <point x="583" y="847"/>
+ <point x="605" y="935"/>
+ <point x="610" y="1010" type="curve"/>
+ <point x="323" y="1010" type="line"/>
+ <point x="312" y="891"/>
+ <point x="296" y="819"/>
+ <point x="264" y="693" type="curve" smooth="yes"/>
+ <point x="191" y="401" type="line" smooth="yes"/>
+ <point x="173" y="330"/>
+ <point x="165" y="267"/>
+ <point x="165" y="214" type="curve" smooth="yes"/>
+ <point x="165" y="55"/>
+ <point x="252" y="-25"/>
+ <point x="381" y="-25" type="curve" smooth="yes"/>
+ <point x="545" y="-25"/>
+ <point x="769" y="160"/>
+ <point x="860" y="295" type="curve"/>
+ <point x="850" y="227"/>
+ <point x="842" y="53"/>
+ <point x="842" y="0" type="curve"/>
+ </contour>
+ </outline>
+</glyph>
diff --git a/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_tnS_mV_.glif b/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_tnS_mV_.glif
new file mode 100644
index 0000000..d7ceb46
--- /dev/null
+++ b/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_tnS_mV_.glif
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<glyph name="LtnSmV" format="2">
+ <advance width="1049"/>
+ <unicode hex="0076"/>
+ <anchor x="505" y="0" name="H"/>
+ <anchor x="410" y="-100" name="L"/>
+ <anchor x="690" y="0" name="O"/>
+ <anchor x="695" y="1100" name="U"/>
+ <outline>
+ <contour>
+ <point x="881" y="1010" type="line"/>
+ <point x="881" y="788"/>
+ <point x="719" y="534"/>
+ <point x="507" y="270" type="curve"/>
+ <point x="516" y="353"/>
+ <point x="521" y="457"/>
+ <point x="521" y="564" type="curve" smooth="yes"/>
+ <point x="521" y="730"/>
+ <point x="507" y="903"/>
+ <point x="472" y="1010" type="curve"/>
+ <point x="195" y="1010" type="line"/>
+ <point x="259" y="758"/>
+ <point x="282" y="509"/>
+ <point x="282" y="262" type="curve" smooth="yes"/>
+ <point x="282" y="174"/>
+ <point x="279" y="87"/>
+ <point x="274" y="0" type="curve"/>
+ <point x="535" y="0" type="line"/>
+ <point x="823" y="314"/>
+ <point x="1159" y="766"/>
+ <point x="1159" y="1010" type="curve"/>
+ </contour>
+ </outline>
+</glyph>
diff --git a/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_tnS_mW_.glif b/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_tnS_mW_.glif
new file mode 100644
index 0000000..02f3211
--- /dev/null
+++ b/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_tnS_mW_.glif
@@ -0,0 +1,50 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<glyph name="LtnSmW" format="2">
+ <advance width="1620"/>
+ <unicode hex="0077"/>
+ <anchor x="700" y="-100" name="L"/>
+ <anchor x="1000" y="1100" name="U"/>
+ <outline>
+ <contour>
+ <point x="850" y="1010" type="line"/>
+ <point x="758" y="793"/>
+ <point x="592" y="496"/>
+ <point x="438" y="242" type="curve"/>
+ <point x="459" y="351"/>
+ <point x="476" y="509"/>
+ <point x="476" y="669" type="curve" smooth="yes"/>
+ <point x="476" y="788"/>
+ <point x="468" y="908"/>
+ <point x="448" y="1010" type="curve"/>
+ <point x="190" y="1010" type="line"/>
+ <point x="230" y="831"/>
+ <point x="236" y="678"/>
+ <point x="236" y="494" type="curve" smooth="yes"/>
+ <point x="236" y="364"/>
+ <point x="228" y="211"/>
+ <point x="209" y="0" type="curve"/>
+ <point x="499" y="0" type="line"/>
+ <point x="624" y="181"/>
+ <point x="838" y="560"/>
+ <point x="901" y="690" type="curve"/>
+ <point x="919" y="477"/>
+ <point x="919" y="212"/>
+ <point x="919" y="0" type="curve"/>
+ <point x="1179" y="0" type="line"/>
+ <point x="1430" y="328"/>
+ <point x="1710" y="775"/>
+ <point x="1710" y="1010" type="curve"/>
+ <point x="1432" y="1010" type="line"/>
+ <point x="1432" y="995" type="line" smooth="yes"/>
+ <point x="1432" y="797"/>
+ <point x="1245" y="435"/>
+ <point x="1106" y="242" type="curve"/>
+ <point x="1108" y="298"/>
+ <point x="1108" y="355"/>
+ <point x="1108" y="411" type="curve" smooth="yes"/>
+ <point x="1108" y="637"/>
+ <point x="1096" y="860"/>
+ <point x="1070" y="1010" type="curve"/>
+ </contour>
+ </outline>
+</glyph>
diff --git a/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_tnS_mX_.glif b/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_tnS_mX_.glif
new file mode 100644
index 0000000..2e620de
--- /dev/null
+++ b/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_tnS_mX_.glif
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<glyph name="LtnSmX" format="2">
+ <advance width="1104"/>
+ <unicode hex="0078"/>
+ <anchor x="900" y="0" name="H"/>
+ <anchor x="505" y="-100" name="L"/>
+ <anchor x="730" y="1100" name="U"/>
+ <outline>
+ <contour>
+ <point x="1040" y="0" type="line"/>
+ <point x="860" y="133"/>
+ <point x="655" y="882"/>
+ <point x="524" y="1010" type="curve"/>
+ <point x="186" y="1010" type="line"/>
+ <point x="425" y="832"/>
+ <point x="593" y="141"/>
+ <point x="713" y="0" type="curve"/>
+ </contour>
+ <contour>
+ <point x="509" y="572" type="line"/>
+ <point x="291" y="463"/>
+ <point x="62" y="230"/>
+ <point x="35" y="0" type="curve"/>
+ <point x="335" y="0" type="line"/>
+ <point x="336" y="156"/>
+ <point x="470" y="390"/>
+ <point x="658" y="477" type="curve"/>
+ </contour>
+ <contour>
+ <point x="764" y="471" type="line"/>
+ <point x="943" y="591"/>
+ <point x="1197" y="808"/>
+ <point x="1204" y="1010" type="curve"/>
+ <point x="894" y="1010" type="line"/>
+ <point x="894" y="852"/>
+ <point x="773" y="665"/>
+ <point x="616" y="571" type="curve"/>
+ </contour>
+ </outline>
+</glyph>
diff --git a/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_tnS_mY_.glif b/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_tnS_mY_.glif
new file mode 100644
index 0000000..f2ae46b
--- /dev/null
+++ b/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/L_tnS_mY_.glif
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<glyph name="LtnSmY" format="2">
+ <advance width="1041"/>
+ <unicode hex="0079"/>
+ <anchor x="810" y="-100" name="L"/>
+ <anchor x="1325" y="1000" name="R"/>
+ <anchor x="640" y="1100" name="U"/>
+ <outline>
+ <contour>
+ <point x="847" y="1010" type="line"/>
+ <point x="851" y="994"/>
+ <point x="852" y="977"/>
+ <point x="852" y="958" type="curve" smooth="yes"/>
+ <point x="852" y="786"/>
+ <point x="713" y="473"/>
+ <point x="596" y="260" type="curve"/>
+ <point x="596" y="478"/>
+ <point x="503" y="877"/>
+ <point x="403" y="1010" type="curve"/>
+ <point x="120" y="1010" type="line"/>
+ <point x="259" y="811"/>
+ <point x="401" y="401"/>
+ <point x="409" y="-18" type="curve"/>
+ <point x="283" y="-207"/>
+ <point x="183" y="-250"/>
+ <point x="114" y="-250" type="curve" smooth="yes"/>
+ <point x="48" y="-250"/>
+ <point x="-33" y="-201"/>
+ <point x="-63" y="-165" type="curve"/>
+ <point x="-195" y="-381" type="line"/>
+ <point x="-136" y="-435"/>
+ <point x="-13" y="-465"/>
+ <point x="78" y="-465" type="curve" smooth="yes"/>
+ <point x="260" y="-465"/>
+ <point x="447" y="-385"/>
+ <point x="684" y="0" type="curve" smooth="yes"/>
+ <point x="919" y="381"/>
+ <point x="1116" y="766"/>
+ <point x="1116" y="960" type="curve" smooth="yes"/>
+ <point x="1116" y="978"/>
+ <point x="1114" y="995"/>
+ <point x="1110" y="1010" type="curve"/>
+ </contour>
+ </outline>
+</glyph>
diff --git a/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/N_onB_reakingH_yphen.glif b/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/N_onB_reakingH_yphen.glif
new file mode 100644
index 0000000..cd90adf
--- /dev/null
+++ b/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/N_onB_reakingH_yphen.glif
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<glyph name="NonBreakingHyphen" format="2">
+ <advance width="875"/>
+ <unicode hex="2011"/>
+ <anchor x="665" y="1100" name="U"/>
+ <outline>
+ <component base="HyphenMinus"/>
+ </outline>
+</glyph>
diff --git a/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/N_umS_gn.glif b/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/N_umS_gn.glif
new file mode 100644
index 0000000..1d3e5e9
--- /dev/null
+++ b/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/N_umS_gn.glif
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<glyph name="NumSgn" format="2">
+ <advance width="1180"/>
+ <unicode hex="0023"/>
+ <outline>
+ <contour>
+ <point x="667" y="1346" type="line"/>
+ <point x="16" y="99" type="line"/>
+ <point x="256" y="99" type="line"/>
+ <point x="907" y="1346" type="line"/>
+ </contour>
+ <contour>
+ <point x="54" y="421" type="line"/>
+ <point x="1145" y="421" type="line"/>
+ <point x="1197" y="629" type="line"/>
+ <point x="106" y="629" type="line"/>
+ </contour>
+ <contour>
+ <point x="218" y="841" type="line"/>
+ <point x="1309" y="841" type="line"/>
+ <point x="1361" y="1049" type="line"/>
+ <point x="270" y="1049" type="line"/>
+ </contour>
+ <contour>
+ <point x="1142" y="1346" type="line"/>
+ <point x="491" y="99" type="line"/>
+ <point x="731" y="99" type="line"/>
+ <point x="1382" y="1346" type="line"/>
+ </contour>
+ </outline>
+</glyph>
diff --git a/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/P_ercentS_gn.glif b/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/P_ercentS_gn.glif
new file mode 100644
index 0000000..f87ea9f
--- /dev/null
+++ b/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/P_ercentS_gn.glif
@@ -0,0 +1,93 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<glyph name="PercentSgn" format="2">
+ <advance width="1545"/>
+ <unicode hex="0025"/>
+ <outline>
+ <contour>
+ <point x="1375" y="1465" type="line"/>
+ <point x="221" y="-25" type="line"/>
+ <point x="435" y="-25" type="line"/>
+ <point x="1587" y="1465" type="line"/>
+ </contour>
+ <contour>
+ <point x="714" y="1043" type="curve" smooth="yes"/>
+ <point x="669" y="861"/>
+ <point x="611" y="807"/>
+ <point x="535" y="807" type="curve" smooth="yes"/>
+ <point x="486" y="807"/>
+ <point x="461" y="843"/>
+ <point x="461" y="917" type="curve" smooth="yes"/>
+ <point x="461" y="963"/>
+ <point x="471" y="1023"/>
+ <point x="490" y="1099" type="curve" smooth="yes"/>
+ <point x="535" y="1281"/>
+ <point x="580" y="1336"/>
+ <point x="657" y="1336" type="curve" smooth="yes"/>
+ <point x="710" y="1336"/>
+ <point x="739" y="1296"/>
+ <point x="739" y="1212" type="curve" smooth="yes"/>
+ <point x="739" y="1168"/>
+ <point x="731" y="1111"/>
+ </contour>
+ <contour>
+ <point x="926" y="1054" type="curve" smooth="yes"/>
+ <point x="939" y="1107"/>
+ <point x="946" y="1156"/>
+ <point x="946" y="1199" type="curve" smooth="yes"/>
+ <point x="946" y="1374"/>
+ <point x="842" y="1465"/>
+ <point x="694" y="1465" type="curve" smooth="yes"/>
+ <point x="510" y="1465"/>
+ <point x="346" y="1369"/>
+ <point x="277" y="1090" type="curve" smooth="yes"/>
+ <point x="262" y="1031"/>
+ <point x="255" y="979"/>
+ <point x="255" y="933" type="curve" smooth="yes"/>
+ <point x="255" y="761"/>
+ <point x="353" y="678"/>
+ <point x="499" y="678" type="curve" smooth="yes"/>
+ <point x="684" y="678"/>
+ <point x="853" y="762"/>
+ </contour>
+ <contour>
+ <point x="1314" y="337" type="curve" smooth="yes"/>
+ <point x="1268" y="155"/>
+ <point x="1220" y="104"/>
+ <point x="1144" y="104" type="curve" smooth="yes"/>
+ <point x="1093" y="104"/>
+ <point x="1065" y="144"/>
+ <point x="1065" y="227" type="curve" smooth="yes"/>
+ <point x="1065" y="272"/>
+ <point x="1073" y="329"/>
+ <point x="1090" y="398" type="curve" smooth="yes"/>
+ <point x="1136" y="580"/>
+ <point x="1190" y="634"/>
+ <point x="1267" y="634" type="curve" smooth="yes"/>
+ <point x="1317" y="634"/>
+ <point x="1342" y="596"/>
+ <point x="1342" y="520" type="curve" smooth="yes"/>
+ <point x="1342" y="473"/>
+ <point x="1333" y="412"/>
+ </contour>
+ <contour>
+ <point x="1526" y="350" type="curve" smooth="yes"/>
+ <point x="1540" y="406"/>
+ <point x="1546" y="456"/>
+ <point x="1546" y="501" type="curve" smooth="yes"/>
+ <point x="1546" y="673"/>
+ <point x="1450" y="762"/>
+ <point x="1303" y="762" type="curve" smooth="yes"/>
+ <point x="1119" y="762"/>
+ <point x="946" y="665"/>
+ <point x="876" y="386" type="curve" smooth="yes"/>
+ <point x="862" y="331"/>
+ <point x="856" y="281"/>
+ <point x="856" y="237" type="curve" smooth="yes"/>
+ <point x="856" y="60"/>
+ <point x="960" y="-25"/>
+ <point x="1108" y="-25" type="curve" smooth="yes"/>
+ <point x="1293" y="-25"/>
+ <point x="1453" y="58"/>
+ </contour>
+ </outline>
+</glyph>
diff --git a/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/P_lusS_gn.glif b/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/P_lusS_gn.glif
new file mode 100644
index 0000000..bb54e70
--- /dev/null
+++ b/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/P_lusS_gn.glif
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<glyph name="PlusSgn" format="2">
+ <advance width="1180"/>
+ <unicode hex="002B"/>
+ <outline>
+ <contour>
+ <point x="722" y="1168" type="line"/>
+ <point x="500" y="282" type="line"/>
+ <point x="715" y="282" type="line"/>
+ <point x="936" y="1168" type="line"/>
+ </contour>
+ <contour>
+ <point x="250" y="624" type="line"/>
+ <point x="1140" y="624" type="line"/>
+ <point x="1192" y="832" type="line"/>
+ <point x="302" y="832" type="line"/>
+ </contour>
+ </outline>
+</glyph>
diff --git a/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/Q_stnM_rk.glif b/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/Q_stnM_rk.glif
new file mode 100644
index 0000000..5acaded
--- /dev/null
+++ b/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/Q_stnM_rk.glif
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<glyph name="QstnMrk" format="2">
+ <advance width="1070"/>
+ <unicode hex="003F"/>
+ <outline>
+ <contour>
+ <point x="703" y="495" type="line"/>
+ <point x="745" y="664"/>
+ <point x="787" y="792"/>
+ <point x="931" y="933" type="curve" smooth="yes"/>
+ <point x="1034" y="1033"/>
+ <point x="1143" y="1118"/>
+ <point x="1143" y="1256" type="curve" smooth="yes"/>
+ <point x="1143" y="1404"/>
+ <point x="1022" y="1525"/>
+ <point x="800" y="1525" type="curve" smooth="yes"/>
+ <point x="675" y="1525"/>
+ <point x="508" y="1455"/>
+ <point x="427" y="1393" type="curve"/>
+ <point x="413" y="1156" type="line"/>
+ <point x="508" y="1235"/>
+ <point x="621" y="1282"/>
+ <point x="721" y="1282" type="curve" smooth="yes"/>
+ <point x="811" y="1282"/>
+ <point x="846" y="1238"/>
+ <point x="846" y="1189" type="curve" smooth="yes"/>
+ <point x="846" y="1109"/>
+ <point x="760" y="1086"/>
+ <point x="650" y="956" type="curve" smooth="yes"/>
+ <point x="564" y="855"/>
+ <point x="490" y="703"/>
+ <point x="438" y="495" type="curve"/>
+ </contour>
+ <contour>
+ <point x="306" y="116" type="curve" smooth="yes"/>
+ <point x="306" y="35"/>
+ <point x="367" y="-25"/>
+ <point x="453" y="-25" type="curve" smooth="yes"/>
+ <point x="571" y="-25"/>
+ <point x="666" y="71"/>
+ <point x="666" y="181" type="curve" smooth="yes"/>
+ <point x="666" y="261"/>
+ <point x="607" y="322"/>
+ <point x="520" y="322" type="curve" smooth="yes"/>
+ <point x="403" y="322"/>
+ <point x="306" y="226"/>
+ </contour>
+ </outline>
+</glyph>
diff --git a/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/Q_uotM_rk.glif b/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/Q_uotM_rk.glif
new file mode 100644
index 0000000..f33fd18
--- /dev/null
+++ b/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/Q_uotM_rk.glif
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<glyph name="QuotMrk" format="2">
+ <advance width="1065"/>
+ <unicode hex="0022"/>
+ <outline>
+ <contour>
+ <point x="648" y="1035" type="line"/>
+ <point x="687" y="1174"/>
+ <point x="726" y="1326"/>
+ <point x="816" y="1569" type="curve"/>
+ <point x="571" y="1569" type="line"/>
+ <point x="541" y="1326"/>
+ <point x="503" y="1174"/>
+ <point x="473" y="1035" type="curve"/>
+ </contour>
+ <contour>
+ <point x="1008" y="1035" type="line"/>
+ <point x="1047" y="1174"/>
+ <point x="1086" y="1326"/>
+ <point x="1176" y="1569" type="curve"/>
+ <point x="931" y="1569" type="line"/>
+ <point x="901" y="1326"/>
+ <point x="863" y="1174"/>
+ <point x="833" y="1035" type="curve"/>
+ </contour>
+ </outline>
+</glyph>
diff --git a/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/R_everseS_olidus.glif b/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/R_everseS_olidus.glif
new file mode 100644
index 0000000..0068c20
--- /dev/null
+++ b/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/R_everseS_olidus.glif
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<glyph name="ReverseSolidus" format="2">
+ <advance width="1060"/>
+ <unicode hex="005C"/>
+ <outline>
+ <contour>
+ <point x="344" y="1584" type="line"/>
+ <point x="719" y="-243" type="line"/>
+ <point x="949" y="-243" type="line"/>
+ <point x="574" y="1584" type="line"/>
+ </contour>
+ </outline>
+</glyph>
diff --git a/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/R_tC_urlyB_rac.glif b/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/R_tC_urlyB_rac.glif
new file mode 100644
index 0000000..726adad
--- /dev/null
+++ b/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/R_tC_urlyB_rac.glif
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<glyph name="RtCurlyBrac" format="2">
+ <advance width="1020"/>
+ <unicode hex="007D"/>
+ <outline>
+ <contour>
+ <point x="442" y="1395" type="line"/>
+ <point x="513" y="1366"/>
+ <point x="611" y="1344"/>
+ <point x="611" y="1296" type="curve" smooth="yes"/>
+ <point x="611" y="1200"/>
+ <point x="515" y="837"/>
+ <point x="515" y="782" type="curve" smooth="yes"/>
+ <point x="515" y="743"/>
+ <point x="633" y="649"/>
+ <point x="633" y="613" type="curve" smooth="yes"/>
+ <point x="633" y="573"/>
+ <point x="465" y="486"/>
+ <point x="429" y="441" type="curve" smooth="yes"/>
+ <point x="403" y="407"/>
+ <point x="300" y="-59"/>
+ <point x="255" y="-99" type="curve" smooth="yes"/>
+ <point x="230" y="-121"/>
+ <point x="97" y="-158"/>
+ <point x="25" y="-177" type="curve"/>
+ <point x="17" y="-406" type="line"/>
+ <point x="160" y="-379"/>
+ <point x="377" y="-330"/>
+ <point x="439" y="-282" type="curve" smooth="yes"/>
+ <point x="532" y="-211"/>
+ <point x="666" y="374"/>
+ <point x="696" y="406" type="curve" smooth="yes"/>
+ <point x="734" y="446"/>
+ <point x="947" y="559"/>
+ <point x="947" y="616" type="curve" smooth="yes"/>
+ <point x="947" y="676"/>
+ <point x="796" y="783"/>
+ <point x="796" y="819" type="curve" smooth="yes"/>
+ <point x="796" y="880"/>
+ <point x="896" y="1288"/>
+ <point x="896" y="1453" type="curve" smooth="yes"/>
+ <point x="896" y="1529"/>
+ <point x="709" y="1591"/>
+ <point x="549" y="1624" type="curve"/>
+ </contour>
+ </outline>
+</glyph>
diff --git a/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/R_tP_aren.glif b/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/R_tP_aren.glif
new file mode 100644
index 0000000..544faff
--- /dev/null
+++ b/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/R_tP_aren.glif
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<glyph name="RtParen" format="2">
+ <advance width="840"/>
+ <unicode hex="0029"/>
+ <outline>
+ <contour>
+ <point x="476" y="1411" type="line"/>
+ <point x="572" y="1290"/>
+ <point x="616" y="1127"/>
+ <point x="616" y="944" type="curve" smooth="yes"/>
+ <point x="616" y="832"/>
+ <point x="599" y="712"/>
+ <point x="569" y="589" type="curve" smooth="yes"/>
+ <point x="491" y="275"/>
+ <point x="333" y="48"/>
+ <point x="75" y="-198" type="curve"/>
+ <point x="163" y="-406" type="line"/>
+ <point x="509" y="-124"/>
+ <point x="743" y="206"/>
+ <point x="844" y="609" type="curve" smooth="yes"/>
+ <point x="876" y="735"/>
+ <point x="891" y="858"/>
+ <point x="891" y="973" type="curve" smooth="yes"/>
+ <point x="891" y="1252"/>
+ <point x="803" y="1487"/>
+ <point x="649" y="1624" type="curve"/>
+ </contour>
+ </outline>
+</glyph>
diff --git a/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/R_tS_qrB_rac.glif b/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/R_tS_qrB_rac.glif
new file mode 100644
index 0000000..804527d
--- /dev/null
+++ b/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/R_tS_qrB_rac.glif
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<glyph name="RtSqrBrac" format="2">
+ <advance width="830"/>
+ <unicode hex="005D"/>
+ <outline>
+ <contour>
+ <point x="503" y="-406" type="line"/>
+ <point x="994" y="1584" type="line"/>
+ <point x="474" y="1584" type="line"/>
+ <point x="423" y="1376" type="line"/>
+ <point x="663" y="1376" type="line"/>
+ <point x="275" y="-198" type="line"/>
+ <point x="35" y="-198" type="line"/>
+ <point x="-17" y="-406" type="line"/>
+ </contour>
+ </outline>
+</glyph>
diff --git a/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/S_emicolon.glif b/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/S_emicolon.glif
new file mode 100644
index 0000000..1c9af02
--- /dev/null
+++ b/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/S_emicolon.glif
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<glyph name="Semicolon" format="2">
+ <advance width="690"/>
+ <unicode hex="003B"/>
+ <outline>
+ <contour>
+ <point x="137" y="49" type="line"/>
+ <point x="297" y="49" type="line"/>
+ <point x="276" y="-34"/>
+ <point x="192" y="-151"/>
+ <point x="59" y="-262" type="curve"/>
+ <point x="187" y="-332" type="line"/>
+ <point x="337" y="-222"/>
+ <point x="539" y="-11"/>
+ <point x="539" y="165" type="curve" smooth="yes"/>
+ <point x="539" y="262"/>
+ <point x="495" y="337"/>
+ <point x="379" y="337" type="curve" smooth="yes"/>
+ <point x="266" y="337"/>
+ <point x="187" y="252"/>
+ <point x="169" y="178" type="curve" smooth="yes"/>
+ </contour>
+ <contour>
+ <point x="319" y="710" type="curve" smooth="yes"/>
+ <point x="319" y="629"/>
+ <point x="380" y="569"/>
+ <point x="466" y="569" type="curve" smooth="yes"/>
+ <point x="584" y="569"/>
+ <point x="679" y="665"/>
+ <point x="679" y="775" type="curve" smooth="yes"/>
+ <point x="679" y="855"/>
+ <point x="620" y="916"/>
+ <point x="533" y="916" type="curve" smooth="yes"/>
+ <point x="416" y="916"/>
+ <point x="319" y="820"/>
+ </contour>
+ </outline>
+</glyph>
diff --git a/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/S_olidus.glif b/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/S_olidus.glif
new file mode 100644
index 0000000..0bac67c
--- /dev/null
+++ b/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/S_olidus.glif
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<glyph name="Solidus" format="2">
+ <advance width="1060"/>
+ <unicode hex="002F"/>
+ <outline>
+ <contour>
+ <point x="1164" y="1584" type="line"/>
+ <point x="-120" y="-243" type="line"/>
+ <point x="129" y="-243" type="line"/>
+ <point x="1414" y="1584" type="line"/>
+ </contour>
+ </outline>
+</glyph>
diff --git a/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/S_pace.glif b/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/S_pace.glif
new file mode 100644
index 0000000..c49f0f2
--- /dev/null
+++ b/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/S_pace.glif
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<glyph name="Space" format="2">
+ <advance width="530"/>
+ <unicode hex="0020"/>
+ <outline/>
+</glyph>
diff --git a/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/T_ilde.glif b/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/T_ilde.glif
new file mode 100644
index 0000000..26c105f
--- /dev/null
+++ b/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/T_ilde.glif
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<glyph name="Tilde" format="2">
+ <advance width="1155"/>
+ <unicode hex="007E"/>
+ <outline>
+ <contour>
+ <point x="190" y="342" type="line"/>
+ <point x="207" y="390"/>
+ <point x="249" y="431"/>
+ <point x="327" y="431" type="curve" smooth="yes"/>
+ <point x="502" y="431"/>
+ <point x="676" y="327"/>
+ <point x="906" y="327" type="curve" smooth="yes"/>
+ <point x="1065" y="327"/>
+ <point x="1206" y="507"/>
+ <point x="1238" y="634" type="curve"/>
+ <point x="1093" y="634" type="line"/>
+ <point x="1074" y="588"/>
+ <point x="1031" y="535"/>
+ <point x="948" y="535" type="curve" smooth="yes"/>
+ <point x="712" y="535"/>
+ <point x="580" y="639"/>
+ <point x="359" y="639" type="curve" smooth="yes"/>
+ <point x="203" y="639"/>
+ <point x="75" y="462"/>
+ <point x="45" y="342" type="curve"/>
+ </contour>
+ </outline>
+</glyph>
diff --git a/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/V_ertL_ine.glif b/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/V_ertL_ine.glif
new file mode 100644
index 0000000..204ac86
--- /dev/null
+++ b/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/V_ertL_ine.glif
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<glyph name="VertLine" format="2">
+ <advance width="670"/>
+ <unicode hex="007C"/>
+ <outline>
+ <contour>
+ <point x="574" y="1594" type="line"/>
+ <point x="83" y="-396" type="line"/>
+ <point x="293" y="-396" type="line"/>
+ <point x="784" y="1594" type="line"/>
+ </contour>
+ </outline>
+</glyph>
diff --git a/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/_notdef.glif b/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/_notdef.glif
new file mode 100644
index 0000000..a3e9354
--- /dev/null
+++ b/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/_notdef.glif
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<glyph name=".notdef" format="2">
+ <advance width="1400"/>
+ <outline>
+ <contour>
+ <point x="100" y="0" type="line"/>
+ <point x="1300" y="0" type="line"/>
+ <point x="1300" y="1800" type="line"/>
+ <point x="100" y="1800" type="line"/>
+ </contour>
+ <contour>
+ <point x="150" y="1750" type="line"/>
+ <point x="1250" y="1750" type="line"/>
+ <point x="1250" y="50" type="line"/>
+ <point x="150" y="50" type="line"/>
+ </contour>
+ </outline>
+</glyph>
diff --git a/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/_null.glif b/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/_null.glif
new file mode 100644
index 0000000..0b9caa6
--- /dev/null
+++ b/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/_null.glif
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<glyph name=".null" format="2">
+ <outline/>
+</glyph>
diff --git a/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/contents.plist b/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/contents.plist
new file mode 100644
index 0000000..ad2aa41
--- /dev/null
+++ b/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/contents.plist
@@ -0,0 +1,232 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>.notdef</key>
+ <string>_notdef.glif</string>
+ <key>.null</key>
+ <string>_null.glif</string>
+ <key>Ampersand</key>
+ <string>A_mpersand.glif</string>
+ <key>Apos</key>
+ <string>A_pos.glif</string>
+ <key>Asterisk</key>
+ <string>A_sterisk.glif</string>
+ <key>AtSgn</key>
+ <string>A_tS_gn.glif</string>
+ <key>CircumAccent</key>
+ <string>C_ircumA_ccent.glif</string>
+ <key>Colon</key>
+ <string>C_olon.glif</string>
+ <key>CombAcute</key>
+ <string>C_ombA_cute.glif</string>
+ <key>CombCircum</key>
+ <string>C_ombC_ircum.glif</string>
+ <key>CombDiaer</key>
+ <string>C_ombD_iaer.glif</string>
+ <key>CombGrave</key>
+ <string>C_ombG_rave.glif</string>
+ <key>CombRingAbv</key>
+ <string>C_ombR_ingA_bv.glif</string>
+ <key>CombTilde</key>
+ <string>C_ombT_ilde.glif</string>
+ <key>Comma</key>
+ <string>C_omma.glif</string>
+ <key>DigitEight</key>
+ <string>D_igitE_ight.glif</string>
+ <key>DigitFive</key>
+ <string>D_igitF_ive.glif</string>
+ <key>DigitFour</key>
+ <string>D_igitF_our.glif</string>
+ <key>DigitNine</key>
+ <string>D_igitN_ine.glif</string>
+ <key>DigitOne</key>
+ <string>D_igitO_ne.glif</string>
+ <key>DigitSeven</key>
+ <string>D_igitS_even.glif</string>
+ <key>DigitSix</key>
+ <string>D_igitS_ix.glif</string>
+ <key>DigitThree</key>
+ <string>D_igitT_hree.glif</string>
+ <key>DigitTwo</key>
+ <string>D_igitT_wo.glif</string>
+ <key>DigitZero</key>
+ <string>D_igitZ_ero.glif</string>
+ <key>DollarSgn</key>
+ <string>D_ollarS_gn.glif</string>
+ <key>DottedCirc</key>
+ <string>D_ottedC_irc.glif</string>
+ <key>EqSgn</key>
+ <string>E_qS_gn.glif</string>
+ <key>ExclamationMrk</key>
+ <string>E_xclamationM_rk.glif</string>
+ <key>FullStop</key>
+ <string>F_ullS_top.glif</string>
+ <key>GTSgn</key>
+ <string>G_T_S_gn.glif</string>
+ <key>GraveAccent</key>
+ <string>G_raveA_ccent.glif</string>
+ <key>Hyphen</key>
+ <string>H_yphen.glif</string>
+ <key>HyphenMinus</key>
+ <string>H_yphenM_inus.glif</string>
+ <key>Hyphen_Soft</key>
+ <string>H_yphen_S_oft.glif</string>
+ <key>LTSgn</key>
+ <string>L_T_S_gn.glif</string>
+ <key>LftCurlyBrac</key>
+ <string>L_ftC_urlyB_rac.glif</string>
+ <key>LftParen</key>
+ <string>L_ftP_aren.glif</string>
+ <key>LftSqrBrac</key>
+ <string>L_ftS_qrB_rac.glif</string>
+ <key>LowLine</key>
+ <string>L_owL_ine.glif</string>
+ <key>LtnCapA</key>
+ <string>L_tnC_apA_.glif</string>
+ <key>LtnCapADiaer</key>
+ <string>L_tnC_apA_D_iaer.glif</string>
+ <key>LtnCapB</key>
+ <string>L_tnC_apB_.glif</string>
+ <key>LtnCapC</key>
+ <string>L_tnC_apC_.glif</string>
+ <key>LtnCapD</key>
+ <string>L_tnC_apD_.glif</string>
+ <key>LtnCapE</key>
+ <string>L_tnC_apE_.glif</string>
+ <key>LtnCapF</key>
+ <string>L_tnC_apF_.glif</string>
+ <key>LtnCapG</key>
+ <string>L_tnC_apG_.glif</string>
+ <key>LtnCapH</key>
+ <string>L_tnC_apH_.glif</string>
+ <key>LtnCapI</key>
+ <string>L_tnC_apI_.glif</string>
+ <key>LtnCapJ</key>
+ <string>L_tnC_apJ_.glif</string>
+ <key>LtnCapK</key>
+ <string>L_tnC_apK_.glif</string>
+ <key>LtnCapL</key>
+ <string>L_tnC_apL_.glif</string>
+ <key>LtnCapM</key>
+ <string>L_tnC_apM_.glif</string>
+ <key>LtnCapN</key>
+ <string>L_tnC_apN_.glif</string>
+ <key>LtnCapO</key>
+ <string>L_tnC_apO_.glif</string>
+ <key>LtnCapP</key>
+ <string>L_tnC_apP_.glif</string>
+ <key>LtnCapQ</key>
+ <string>L_tnC_apQ_.glif</string>
+ <key>LtnCapR</key>
+ <string>L_tnC_apR_.glif</string>
+ <key>LtnCapS</key>
+ <string>L_tnC_apS_.glif</string>
+ <key>LtnCapT</key>
+ <string>L_tnC_apT_.glif</string>
+ <key>LtnCapU</key>
+ <string>L_tnC_apU_.glif</string>
+ <key>LtnCapV</key>
+ <string>L_tnC_apV_.glif</string>
+ <key>LtnCapW</key>
+ <string>L_tnC_apW_.glif</string>
+ <key>LtnCapX</key>
+ <string>L_tnC_apX_.glif</string>
+ <key>LtnCapY</key>
+ <string>L_tnC_apY_.glif</string>
+ <key>LtnSmA</key>
+ <string>L_tnS_mA_.glif</string>
+ <key>LtnSmAAcute</key>
+ <string>L_tnS_mA_A_cute.glif</string>
+ <key>LtnSmACircum</key>
+ <string>L_tnS_mA_C_ircum.glif</string>
+ <key>LtnSmADiaer</key>
+ <string>L_tnS_mA_D_iaer.glif</string>
+ <key>LtnSmAGrave</key>
+ <string>L_tnS_mA_G_rave.glif</string>
+ <key>LtnSmARingAbv</key>
+ <string>L_tnS_mA_R_ingA_bv.glif</string>
+ <key>LtnSmATilde</key>
+ <string>L_tnS_mA_T_ilde.glif</string>
+ <key>LtnSmB</key>
+ <string>L_tnS_mB_.glif</string>
+ <key>LtnSmC</key>
+ <string>L_tnS_mC_.glif</string>
+ <key>LtnSmD</key>
+ <string>L_tnS_mD_.glif</string>
+ <key>LtnSmE</key>
+ <string>L_tnS_mE_.glif</string>
+ <key>LtnSmF</key>
+ <string>L_tnS_mF_.glif</string>
+ <key>LtnSmG</key>
+ <string>L_tnS_mG_.glif</string>
+ <key>LtnSmH</key>
+ <string>L_tnS_mH_.glif</string>
+ <key>LtnSmI</key>
+ <string>L_tnS_mI_.glif</string>
+ <key>LtnSmJ</key>
+ <string>L_tnS_mJ_.glif</string>
+ <key>LtnSmK</key>
+ <string>L_tnS_mK_.glif</string>
+ <key>LtnSmL</key>
+ <string>L_tnS_mL_.glif</string>
+ <key>LtnSmM</key>
+ <string>L_tnS_mM_.glif</string>
+ <key>LtnSmN</key>
+ <string>L_tnS_mN_.glif</string>
+ <key>LtnSmO</key>
+ <string>L_tnS_mO_.glif</string>
+ <key>LtnSmP</key>
+ <string>L_tnS_mP_.glif</string>
+ <key>LtnSmQ</key>
+ <string>L_tnS_mQ_.glif</string>
+ <key>LtnSmR</key>
+ <string>L_tnS_mR_.glif</string>
+ <key>LtnSmS</key>
+ <string>L_tnS_mS_.glif</string>
+ <key>LtnSmT</key>
+ <string>L_tnS_mT_.glif</string>
+ <key>LtnSmU</key>
+ <string>L_tnS_mU_.glif</string>
+ <key>LtnSmV</key>
+ <string>L_tnS_mV_.glif</string>
+ <key>LtnSmW</key>
+ <string>L_tnS_mW_.glif</string>
+ <key>LtnSmX</key>
+ <string>L_tnS_mX_.glif</string>
+ <key>LtnSmY</key>
+ <string>L_tnS_mY_.glif</string>
+ <key>NonBreakingHyphen</key>
+ <string>N_onB_reakingH_yphen.glif</string>
+ <key>NumSgn</key>
+ <string>N_umS_gn.glif</string>
+ <key>PercentSgn</key>
+ <string>P_ercentS_gn.glif</string>
+ <key>PlusSgn</key>
+ <string>P_lusS_gn.glif</string>
+ <key>QstnMrk</key>
+ <string>Q_stnM_rk.glif</string>
+ <key>QuotMrk</key>
+ <string>Q_uotM_rk.glif</string>
+ <key>ReverseSolidus</key>
+ <string>R_everseS_olidus.glif</string>
+ <key>RtCurlyBrac</key>
+ <string>R_tC_urlyB_rac.glif</string>
+ <key>RtParen</key>
+ <string>R_tP_aren.glif</string>
+ <key>RtSqrBrac</key>
+ <string>R_tS_qrB_rac.glif</string>
+ <key>Semicolon</key>
+ <string>S_emicolon.glif</string>
+ <key>Solidus</key>
+ <string>S_olidus.glif</string>
+ <key>Space</key>
+ <string>S_pace.glif</string>
+ <key>Tilde</key>
+ <string>T_ilde.glif</string>
+ <key>VertLine</key>
+ <string>V_ertL_ine.glif</string>
+ <key>nonmarkingreturn</key>
+ <string>nonmarkingreturn.glif</string>
+</dict>
+</plist>
diff --git a/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/nonmarkingreturn.glif b/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/nonmarkingreturn.glif
new file mode 100644
index 0000000..9a63f06
--- /dev/null
+++ b/tests/input/font-psf-test/source/PsfTest-BoldItalic.ufo/glyphs/nonmarkingreturn.glif
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<glyph name="nonmarkingreturn" format="2">
+ <advance width="1004"/>
+ <outline/>
+</glyph>