summaryrefslogtreecommitdiffstats
path: root/tests/reference/fontparts
diff options
context:
space:
mode:
Diffstat (limited to 'tests/reference/fontparts')
-rw-r--r--tests/reference/fontparts/psfbuildcompgc.lg2
-rw-r--r--tests/reference/fontparts/psfbuildcompgc.ufo/fontinfo.plist266
-rw-r--r--tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/A_mpersand.glif61
-rw-r--r--tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/A_pos.glif17
-rw-r--r--tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/A_sterisk.glif51
-rw-r--r--tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/A_tS_gn.glif80
-rw-r--r--tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/C_ircumA_ccent.glif8
-rw-r--r--tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/C_olon.glif35
-rw-r--r--tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/C_ombA_cute.glif14
-rw-r--r--tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/C_ombC_ircum.glif17
-rw-r--r--tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/C_ombD_iaer.glif36
-rw-r--r--tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/C_ombG_rave.glif14
-rw-r--r--tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/C_ombR_ingA_bv.glif36
-rw-r--r--tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/C_ombT_ilde.glif36
-rw-r--r--tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/C_omma.glif24
-rw-r--r--tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/D_igitE_ight.glif63
-rw-r--r--tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/D_igitF_ive.glif44
-rw-r--r--tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/D_igitF_our.glif27
-rw-r--r--tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/D_igitN_ine.glif49
-rw-r--r--tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/D_igitO_ne.glif22
-rw-r--r--tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/D_igitS_even.glif25
-rw-r--r--tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/D_igitS_ix.glif49
-rw-r--r--tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/D_igitT_hree.glif52
-rw-r--r--tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/D_igitT_wo.glif37
-rw-r--r--tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/D_igitZ_ero.glif37
-rw-r--r--tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/D_ollarS_gn.glif53
-rw-r--r--tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/D_ottedC_irc.glif235
-rw-r--r--tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/E_qS_gn.glif19
-rw-r--r--tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/E_xclamationM_rk.glif31
-rw-r--r--tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/F_ullS_top.glif21
-rw-r--r--tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/G_T_S_gn.glif16
-rw-r--r--tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/G_raveA_ccent.glif8
-rw-r--r--tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/H_yphen.glif14
-rw-r--r--tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/H_yphenM_inus.glif14
-rw-r--r--tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/H_yphen_S_oft.glif9
-rw-r--r--tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_T_S_gn.glif16
-rw-r--r--tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_ftC_urlyB_rac.glif47
-rw-r--r--tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_ftP_aren.glif23
-rw-r--r--tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_ftS_qrB_rac.glif17
-rw-r--r--tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_owL_ine.glif13
-rw-r--r--tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnC_apA_.alt.glif31
-rw-r--r--tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnC_apA_.glif32
-rw-r--r--tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnC_apA_D_iaer.glif13
-rw-r--r--tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnC_apB_.glif62
-rw-r--r--tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnC_apC_.glif38
-rw-r--r--tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnC_apC_A_cute.glif9
-rw-r--r--tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnC_apC_A_cuteC_edilla.glif10
-rw-r--r--tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnC_apC_C_ircum.glif9
-rw-r--r--tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnC_apD_.glif45
-rw-r--r--tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnC_apE_.glif35
-rw-r--r--tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnC_apF_.glif30
-rw-r--r--tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnC_apG_.glif42
-rw-r--r--tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnC_apH_.glif36
-rw-r--r--tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnC_apI_.glif26
-rw-r--r--tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnC_apI_J_.glif9
-rw-r--r--tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnC_apJ_.glif30
-rw-r--r--tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnC_apK_.glif35
-rw-r--r--tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnC_apL_.glif28
-rw-r--r--tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnC_apM_.glif37
-rw-r--r--tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnC_apN_.glif37
-rw-r--r--tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnC_apO_.glif40
-rw-r--r--tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnC_apP_.glif50
-rw-r--r--tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnC_apQ_.glif49
-rw-r--r--tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnC_apR_.glif55
-rw-r--r--tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnC_apS_.glif50
-rw-r--r--tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnC_apT_.glif32
-rw-r--r--tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnC_apU_.glif38
-rw-r--r--tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnC_apV_.glif26
-rw-r--r--tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnC_apW_.glif45
-rw-r--r--tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnC_apX_.glif35
-rw-r--r--tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnC_apY_.glif32
-rw-r--r--tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnS_mA_.glif68
-rw-r--r--tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnS_mA_A_cute.glif14
-rw-r--r--tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnS_mA_C_ircum.glif14
-rw-r--r--tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnS_mA_D_iaer.glif14
-rw-r--r--tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnS_mA_G_rave.glif14
-rw-r--r--tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnS_mA_R_ingA_bv.glif41
-rw-r--r--tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnS_mA_T_ilde.glif41
-rw-r--r--tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnS_mB_.glif50
-rw-r--r--tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnS_mC_.glif39
-rw-r--r--tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnS_mC_A_cute.glif9
-rw-r--r--tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnS_mC_A_cuteC_edilla.glif10
-rw-r--r--tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnS_mC_C_ircum.glif9
-rw-r--r--tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnS_mD_.glif53
-rw-r--r--tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnS_mE_.glif45
-rw-r--r--tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnS_mF_.glif39
-rw-r--r--tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnS_mG_.glif91
-rw-r--r--tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnS_mH_.glif43
-rw-r--r--tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnS_mI_.glif40
-rw-r--r--tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnS_mI_J_.glif9
-rw-r--r--tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnS_mI_T_ilde.glif9
-rw-r--r--tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnS_mI_T_ildeG_rave.glif9
-rw-r--r--tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnS_mI_T_ildeG_raveC_edilla.glif14
-rw-r--r--tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnS_mJ_.glif44
-rw-r--r--tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnS_mK_.glif35
-rw-r--r--tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnS_mL_.glif24
-rw-r--r--tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnS_mM_.glif52
-rw-r--r--tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnS_mN_.glif43
-rw-r--r--tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnS_mO_.glif40
-rw-r--r--tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnS_mP_.glif56
-rw-r--r--tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnS_mQ_.glif47
-rw-r--r--tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnS_mR_.glif36
-rw-r--r--tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnS_mS_.glif50
-rw-r--r--tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnS_mT_.glif39
-rw-r--r--tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnS_mU_.glif51
-rw-r--r--tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnS_mV_.glif30
-rw-r--r--tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnS_mW_.glif30
-rw-r--r--tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnS_mX_.glif40
-rw-r--r--tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnS_mY_.glif42
-rw-r--r--tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/N_onB_reakingH_yphen.glif9
-rw-r--r--tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/N_umS_gn.glif31
-rw-r--r--tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/P_ercentS_gn.glif69
-rw-r--r--tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/P_lusS_gn.glif19
-rw-r--r--tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/Q_stnM_rk.glif49
-rw-r--r--tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/Q_uotM_rk.glif27
-rw-r--r--tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/R_everseS_olidus.glif13
-rw-r--r--tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/R_tC_urlyB_rac.glif47
-rw-r--r--tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/R_tP_aren.glif23
-rw-r--r--tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/R_tS_qrB_rac.glif17
-rw-r--r--tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/S_emicolon.glif38
-rw-r--r--tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/S_olidus.glif13
-rw-r--r--tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/S_pace.glif7
-rw-r--r--tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/T_ilde.glif29
-rw-r--r--tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/V_ertL_ine.glif13
-rw-r--r--tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/_notdef.glif18
-rw-r--r--tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/_null.glif5
-rw-r--r--tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/contents.plist256
-rw-r--r--tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/nonmarkingreturn.glif6
-rw-r--r--tests/reference/fontparts/psfbuildcompgc.ufo/layercontents.plist10
-rw-r--r--tests/reference/fontparts/psfbuildcompgc.ufo/lib.plist547
-rw-r--r--tests/reference/fontparts/psfbuildcompgc.ufo/metainfo.plist10
131 files changed, 5274 insertions, 0 deletions
diff --git a/tests/reference/fontparts/psfbuildcompgc.lg b/tests/reference/fontparts/psfbuildcompgc.lg
new file mode 100644
index 0000000..601efdc
--- /dev/null
+++ b/tests/reference/fontparts/psfbuildcompgc.lg
@@ -0,0 +1,2 @@
+2020-07-28 14:48:16 Progress: Running: psfbuildcompgc tests/input/font-psf-test/source/PsfTest-Regular.ufo -i tests/input/psfbuildcomp.txt -l local/testresults/fontparts/psfbuildcompgc.log
+2020-07-28 14:48:16 Progress: Opening file for input: tests/input/psfbuildcomp.txt
diff --git a/tests/reference/fontparts/psfbuildcompgc.ufo/fontinfo.plist b/tests/reference/fontparts/psfbuildcompgc.ufo/fontinfo.plist
new file mode 100644
index 0000000..f68e491
--- /dev/null
+++ b/tests/reference/fontparts/psfbuildcompgc.ufo/fontinfo.plist
@@ -0,0 +1,266 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+ <dict>
+ <key>ascender</key>
+ <integer>2100</integer>
+ <key>capHeight</key>
+ <real>1485.0</real>
+ <key>copyright</key>
+ <string>Copyright (c) 2004-2021 SIL International</string>
+ <key>descender</key>
+ <integer>-550</integer>
+ <key>familyName</key>
+ <string>Psf Test</string>
+ <key>guidelines</key>
+ <array>
+ <dict>
+ <key>angle</key>
+ <integer>0</integer>
+ <key>x</key>
+ <integer>1084</integer>
+ <key>y</key>
+ <integer>1040</integer>
+ </dict>
+ <dict>
+ <key>y</key>
+ <integer>1250</integer>
+ </dict>
+ </array>
+ <key>note</key>
+ <string>Test note
+Second line
+
+Third line
+</string>
+ <key>openTypeHeadCreated</key>
+ <string>2021/01/01 11:00:00</string>
+ <key>openTypeHheaAscender</key>
+ <integer>2100</integer>
+ <key>openTypeHheaDescender</key>
+ <integer>-550</integer>
+ <key>openTypeHheaLineGap</key>
+ <integer>0</integer>
+ <key>openTypeNameDescription</key>
+ <string>Copyright (c) 2004-2021 SIL International</string>
+ <key>openTypeNameDesigner</key>
+ <string>Victor Gaultney, Annie Olsen, Julie Remington, Don Collingsworth, Eric Hays, Becca Hirsbrunner</string>
+ <key>openTypeNameDesignerURL</key>
+ <string>http://scripts.sil.org/</string>
+ <key>openTypeNameLicense</key>
+ <string>Copyright (c) 2004-2021 SIL International (http://www.sil.org/) with Reserved Font Names "Andika" and "SIL".
+
+This Font Software is licensed under the SIL Open Font License, Version 1.1. This license is copied below, and is also available with a FAQ at: http://scripts.sil.org/OFL
+
+
+-----------------------------------------------------------
+SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
+-----------------------------------------------------------
+
+PREAMBLE
+The goals of the Open Font License (OFL) are to stimulate worldwide development of collaborative font projects, to support the font creation efforts of academic and linguistic communities, and to provide a free and open framework in which fonts may be shared and improved in partnership with others.
+
+The OFL allows the licensed fonts to be used, studied, modified and redistributed freely as long as they are not sold by themselves. The fonts, including any derivative works, can be bundled, embedded, redistributed and/or sold with any software provided that any reserved names are not used by derivative works. The fonts and derivatives, however, cannot be released under any other type of license. The requirement for fonts to remain under this license does not apply to any document created using the fonts or their derivatives.
+
+DEFINITIONS
+"Font Software" refers to the set of files released by the Copyright Holder(s) under this license and clearly marked as such. This may include source files, build scripts and documentation.
+
+"Reserved Font Name" refers to any names specified as such after the copyright statement(s).
+
+"Original Version" refers to the collection of Font Software components as distributed by the Copyright Holder(s).
+
+"Modified Version" refers to any derivative made by adding to, deleting, or substituting -- in part or in whole -- any of the components of the Original Version, by changing formats or by porting the Font Software to a new environment.
+
+"Author" refers to any designer, engineer, programmer, technical writer or other person who contributed to the Font Software.
+
+PERMISSION &amp; CONDITIONS
+Permission is hereby granted, free of charge, to any person obtaining a copy of the Font Software, to use, study, copy, merge, embed, modify, redistribute, and sell modified and unmodified copies of the Font Software, subject to the following conditions:
+
+1) Neither the Font Software nor any of its individual components, in Original or Modified Versions, may be sold by itself.
+
+2) Original or Modified Versions of the Font Software may be bundled, redistributed and/or sold with any software, provided that each copy contains the above copyright notice and this license. These can be included either as stand-alone text files, human-readable headers or in the appropriate machine-readable metadata fields within text or binary files as long as those fields can be easily viewed by the user.
+
+3) No Modified Version of the Font Software may use the Reserved Font Name(s) unless explicit written permission is granted by the corresponding Copyright Holder. This restriction only applies to the primary font name as presented to the users.
+
+4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font Software shall not be used to promote, endorse or advertise any Modified Version, except to acknowledge the contribution(s) of the Copyright Holder(s) and the Author(s) or with their explicit written permission.
+
+5) The Font Software, modified or unmodified, in part or in whole, must be distributed entirely under this license, and must not be distributed under any other license. The requirement for fonts to remain under this license does not apply to any document created using the Font Software.
+
+TERMINATION
+This license becomes null and void if any of the above conditions are not met.
+
+DISCLAIMER
+THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM OTHER DEALINGS IN THE FONT SOFTWARE.</string>
+ <key>openTypeNameLicenseURL</key>
+ <string>http://scripts.sil.org/OFL</string>
+ <key>openTypeNameManufacturer</key>
+ <string>SIL International</string>
+ <key>openTypeNameManufacturerURL</key>
+ <string>http://scripts.sil.org</string>
+ <key>openTypeNamePreferredFamilyName</key>
+ <string>Psf Test</string>
+ <key>openTypeNamePreferredSubfamilyName</key>
+ <string>Regular</string>
+ <key>openTypeNameUniqueID</key>
+ <string>SIL International: Psf Test Regular: 2022</string>
+ <key>openTypeNameVersion</key>
+ <string>Version 5.550</string>
+ <key>openTypeOS2CodePageRanges</key>
+ <array>
+ <integer>0</integer>
+ <integer>1</integer>
+ <integer>2</integer>
+ <integer>4</integer>
+ <integer>7</integer>
+ <integer>8</integer>
+ </array>
+ <key>openTypeOS2FamilyClass</key>
+ <array>
+ <integer>0</integer>
+ <integer>0</integer>
+ </array>
+ <key>openTypeOS2Panose</key>
+ <array>
+ <integer>2</integer>
+ <integer>0</integer>
+ <integer>0</integer>
+ <integer>0</integer>
+ <integer>0</integer>
+ <integer>0</integer>
+ <integer>0</integer>
+ <integer>0</integer>
+ <integer>0</integer>
+ <integer>0</integer>
+ </array>
+ <key>openTypeOS2StrikeoutPosition</key>
+ <integer>700</integer>
+ <key>openTypeOS2StrikeoutSize</key>
+ <integer>100</integer>
+ <key>openTypeOS2SubscriptXOffset</key>
+ <integer>0</integer>
+ <key>openTypeOS2SubscriptXSize</key>
+ <integer>1433</integer>
+ <key>openTypeOS2SubscriptYOffset</key>
+ <integer>286</integer>
+ <key>openTypeOS2SubscriptYSize</key>
+ <integer>1331</integer>
+ <key>openTypeOS2SuperscriptXOffset</key>
+ <integer>0</integer>
+ <key>openTypeOS2SuperscriptXSize</key>
+ <integer>1433</integer>
+ <key>openTypeOS2SuperscriptYOffset</key>
+ <integer>976</integer>
+ <key>openTypeOS2SuperscriptYSize</key>
+ <integer>1331</integer>
+ <key>openTypeOS2Type</key>
+ <array/>
+ <key>openTypeOS2TypoAscender</key>
+ <integer>2100</integer>
+ <key>openTypeOS2TypoDescender</key>
+ <integer>-550</integer>
+ <key>openTypeOS2TypoLineGap</key>
+ <integer>0</integer>
+ <key>openTypeOS2UnicodeRanges</key>
+ <array>
+ <integer>0</integer>
+ <integer>1</integer>
+ <integer>6</integer>
+ <integer>7</integer>
+ <integer>31</integer>
+ <integer>33</integer>
+ <integer>35</integer>
+ <integer>36</integer>
+ <integer>37</integer>
+ <integer>38</integer>
+ <integer>39</integer>
+ <integer>40</integer>
+ <integer>45</integer>
+ <integer>46</integer>
+ <integer>47</integer>
+ <integer>57</integer>
+ <integer>60</integer>
+ <integer>62</integer>
+ <integer>64</integer>
+ <integer>67</integer>
+ <integer>69</integer>
+ <integer>89</integer>
+ </array>
+ <key>openTypeOS2VendorID</key>
+ <string>SIL</string>
+ <key>openTypeOS2WeightClass</key>
+ <integer>400</integer>
+ <key>openTypeOS2WidthClass</key>
+ <integer>5</integer>
+ <key>openTypeOS2WinAscent</key>
+ <integer>2100</integer>
+ <key>openTypeOS2WinDescent</key>
+ <integer>550</integer>
+ <key>postscriptBlueValues</key>
+ <array>
+ <integer>-490</integer>
+ <integer>-490</integer>
+ <integer>-25</integer>
+ <integer>0</integer>
+ <integer>1020</integer>
+ <integer>1040</integer>
+ <integer>1455</integer>
+ <integer>1485</integer>
+ <integer>1600</integer>
+ <integer>1620</integer>
+ </array>
+ <key>postscriptFamilyBlues</key>
+ <array/>
+ <key>postscriptFamilyOtherBlues</key>
+ <array/>
+ <key>postscriptFontName</key>
+ <string>PsfTest-Regular</string>
+ <key>postscriptFullName</key>
+ <string>Psf Test Regular</string>
+ <key>postscriptOtherBlues</key>
+ <array/>
+ <key>postscriptStemSnapH</key>
+ <array>
+ <integer>140</integer>
+ <integer>145</integer>
+ <integer>150</integer>
+ <integer>155</integer>
+ <integer>160</integer>
+ <integer>165</integer>
+ <integer>170</integer>
+ <integer>175</integer>
+ <integer>185</integer>
+ <integer>270</integer>
+ </array>
+ <key>postscriptStemSnapV</key>
+ <array>
+ <integer>165</integer>
+ <integer>180</integer>
+ <integer>185</integer>
+ <integer>190</integer>
+ <integer>195</integer>
+ <integer>200</integer>
+ <integer>205</integer>
+ <integer>270</integer>
+ </array>
+ <key>postscriptUnderlinePosition</key>
+ <integer>-110</integer>
+ <key>postscriptUnderlineThickness</key>
+ <integer>80</integer>
+ <key>styleMapFamilyName</key>
+ <string>Psf Test</string>
+ <key>styleMapStyleName</key>
+ <string>regular</string>
+ <key>styleName</key>
+ <string>Regular</string>
+ <key>trademark</key>
+ <string>Andika is a trademark of SIL International.</string>
+ <key>unitsPerEm</key>
+ <integer>2048</integer>
+ <key>versionMajor</key>
+ <integer>5</integer>
+ <key>versionMinor</key>
+ <integer>550</integer>
+ <key>xHeight</key>
+ <integer>1040</integer>
+ </dict>
+</plist>
diff --git a/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/A_mpersand.glif b/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/A_mpersand.glif
new file mode 100644
index 0000000..921c81b
--- /dev/null
+++ b/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/A_mpersand.glif
@@ -0,0 +1,61 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<glyph name="Ampersand" format="2">
+ <advance width="1222"/>
+ <unicode hex="0026"/>
+ <outline>
+ <contour>
+ <point x="490" y="1485" type="curve" smooth="yes"/>
+ <point x="331" y="1485"/>
+ <point x="155" y="1412"/>
+ <point x="155" y="1190" type="curve" smooth="yes"/>
+ <point x="155" y="1010"/>
+ <point x="362" y="815"/>
+ <point x="535" y="570" type="curve" smooth="yes"/>
+ <point x="794" y="202"/>
+ <point x="973" y="-25"/>
+ <point x="1025" y="-25" type="curve" smooth="yes"/>
+ <point x="1060" y="-25"/>
+ <point x="1138" y="38"/>
+ <point x="1175" y="70" type="curve"/>
+ <point x="1080" y="110"/>
+ <point x="914" y="297"/>
+ <point x="650" y="680" type="curve" smooth="yes"/>
+ <point x="494" y="906"/>
+ <point x="315" y="1075"/>
+ <point x="315" y="1200" type="curve" smooth="yes"/>
+ <point x="315" y="1291"/>
+ <point x="398" y="1350"/>
+ <point x="475" y="1350" type="curve" smooth="yes"/>
+ <point x="555" y="1350"/>
+ <point x="630" y="1294"/>
+ <point x="630" y="1205" type="curve" smooth="yes"/>
+ <point x="630" y="1116"/>
+ <point x="523" y="1001"/>
+ <point x="350" y="840" type="curve" smooth="yes"/>
+ <point x="146" y="651"/>
+ <point x="55" y="527"/>
+ <point x="55" y="375" type="curve" smooth="yes"/>
+ <point x="55" y="151"/>
+ <point x="217" y="-25"/>
+ <point x="440" y="-25" type="curve" smooth="yes"/>
+ <point x="713" y="-25"/>
+ <point x="1002" y="274"/>
+ <point x="1080" y="435" type="curve"/>
+ <point x="975" y="570" type="line"/>
+ <point x="911" y="403"/>
+ <point x="630" y="150"/>
+ <point x="455" y="150" type="curve" smooth="yes"/>
+ <point x="310" y="150"/>
+ <point x="230" y="267"/>
+ <point x="230" y="380" type="curve" smooth="yes"/>
+ <point x="230" y="490"/>
+ <point x="296" y="587"/>
+ <point x="470" y="740" type="curve" smooth="yes"/>
+ <point x="651" y="899"/>
+ <point x="790" y="1068"/>
+ <point x="790" y="1200" type="curve" smooth="yes"/>
+ <point x="790" y="1382"/>
+ <point x="642" y="1485"/>
+ </contour>
+ </outline>
+</glyph>
diff --git a/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/A_pos.glif b/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/A_pos.glif
new file mode 100644
index 0000000..c50d8b5
--- /dev/null
+++ b/tests/reference/fontparts/psfbuildcompgc.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="365" y="1045" type="line"/>
+ <point x="370" y="1186"/>
+ <point x="376" y="1339"/>
+ <point x="405" y="1585" type="curve"/>
+ <point x="200" y="1585" type="line"/>
+ <point x="231" y="1339"/>
+ <point x="236" y="1186"/>
+ <point x="240" y="1045" type="curve"/>
+ </contour>
+ </outline>
+</glyph>
diff --git a/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/A_sterisk.glif b/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/A_sterisk.glif
new file mode 100644
index 0000000..b65fff8
--- /dev/null
+++ b/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/A_sterisk.glif
@@ -0,0 +1,51 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<glyph name="Asterisk" format="2">
+ <advance width="1028"/>
+ <unicode hex="002A"/>
+ <outline>
+ <contour>
+ <point x="560" y="1600" type="curve"/>
+ <point x="415" y="1600" type="line"/>
+ <point x="434" y="1467"/>
+ <point x="447" y="1387"/>
+ <point x="450" y="1300" type="curve"/>
+ <point x="376" y="1344"/>
+ <point x="309" y="1387"/>
+ <point x="200" y="1465" type="curve"/>
+ <point x="125" y="1340" type="line"/>
+ <point x="250" y="1290"/>
+ <point x="327" y="1261"/>
+ <point x="405" y="1220" type="curve"/>
+ <point x="329" y="1177"/>
+ <point x="256" y="1140"/>
+ <point x="135" y="1085" type="curve"/>
+ <point x="205" y="960" type="line"/>
+ <point x="310" y="1042"/>
+ <point x="377" y="1094"/>
+ <point x="450" y="1140" type="curve"/>
+ <point x="448" y="1055"/>
+ <point x="442" y="973"/>
+ <point x="430" y="840" type="curve"/>
+ <point x="570" y="840" type="line"/>
+ <point x="550" y="973"/>
+ <point x="544" y="1052"/>
+ <point x="540" y="1140" type="curve"/>
+ <point x="614" y="1095"/>
+ <point x="681" y="1053"/>
+ <point x="790" y="975" type="curve"/>
+ <point x="865" y="1100" type="line"/>
+ <point x="739" y="1149"/>
+ <point x="663" y="1179"/>
+ <point x="585" y="1220" type="curve"/>
+ <point x="661" y="1261"/>
+ <point x="733" y="1299"/>
+ <point x="855" y="1355" type="curve"/>
+ <point x="785" y="1480" type="line"/>
+ <point x="680" y="1396"/>
+ <point x="614" y="1348"/>
+ <point x="540" y="1300" type="curve"/>
+ <point x="541" y="1387"/>
+ <point x="547" y="1467"/>
+ </contour>
+ </outline>
+</glyph>
diff --git a/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/A_tS_gn.glif b/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/A_tS_gn.glif
new file mode 100644
index 0000000..aa6dc56
--- /dev/null
+++ b/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/A_tS_gn.glif
@@ -0,0 +1,80 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<glyph name="AtSgn" format="2">
+ <advance width="1702"/>
+ <unicode hex="0040"/>
+ <outline>
+ <contour>
+ <point x="1605" y="700" type="curve" smooth="yes"/>
+ <point x="1605" y="1127"/>
+ <point x="1307" y="1405"/>
+ <point x="880" y="1405" type="curve" smooth="yes"/>
+ <point x="465" y="1405"/>
+ <point x="95" y="1126"/>
+ <point x="95" y="575" type="curve" smooth="yes"/>
+ <point x="95" y="48"/>
+ <point x="464" y="-235"/>
+ <point x="855" y="-235" type="curve" smooth="yes"/>
+ <point x="990" y="-235"/>
+ <point x="1150" y="-188"/>
+ <point x="1250" y="-118" type="curve"/>
+ <point x="1145" y="-10" type="line"/>
+ <point x="1058" y="-70"/>
+ <point x="963" y="-95"/>
+ <point x="870" y="-95" type="curve" smooth="yes"/>
+ <point x="523" y="-95"/>
+ <point x="240" y="174"/>
+ <point x="240" y="605" type="curve" smooth="yes"/>
+ <point x="240" y="1003"/>
+ <point x="542" y="1270"/>
+ <point x="870" y="1270" type="curve" smooth="yes"/>
+ <point x="1263" y="1270"/>
+ <point x="1465" y="1002"/>
+ <point x="1465" y="670" type="curve" smooth="yes"/>
+ <point x="1465" y="432"/>
+ <point x="1348" y="315"/>
+ <point x="1280" y="315" type="curve" smooth="yes"/>
+ <point x="1221" y="315"/>
+ <point x="1175" y="410"/>
+ <point x="1175" y="630" type="curve" smooth="yes"/>
+ <point x="1175" y="980" type="line"/>
+ <point x="1088" y="1015"/>
+ <point x="961" y="1040"/>
+ <point x="880" y="1040" type="curve" smooth="yes"/>
+ <point x="716" y="1040"/>
+ <point x="613" y="971"/>
+ <point x="530" y="835" type="curve" smooth="yes"/>
+ <point x="483" y="756"/>
+ <point x="455" y="653"/>
+ <point x="455" y="530" type="curve" smooth="yes"/>
+ <point x="455" y="294"/>
+ <point x="601" y="183"/>
+ <point x="735" y="183" type="curve" smooth="yes"/>
+ <point x="852" y="183"/>
+ <point x="988" y="366"/>
+ <point x="1040" y="490" type="curve"/>
+ <point x="1050" y="322"/>
+ <point x="1128" y="180"/>
+ <point x="1250" y="180" type="curve" smooth="yes"/>
+ <point x="1425" y="180"/>
+ <point x="1605" y="368"/>
+ </contour>
+ <contour>
+ <point x="850" y="905" type="curve" smooth="yes"/>
+ <point x="924" y="905"/>
+ <point x="992" y="886"/>
+ <point x="1025" y="870" type="curve"/>
+ <point x="1025" y="720" type="line"/>
+ <point x="993" y="582"/>
+ <point x="838" y="320"/>
+ <point x="748" y="320" type="curve" smooth="yes"/>
+ <point x="676" y="320"/>
+ <point x="605" y="398"/>
+ <point x="605" y="575" type="curve" smooth="yes"/>
+ <point x="605" y="652"/>
+ <point x="621" y="731"/>
+ <point x="650" y="780" type="curve" smooth="yes"/>
+ <point x="706" y="876"/>
+ <point x="782" y="905"/>
+ </contour>
+ </outline>
+</glyph>
diff --git a/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/C_ircumA_ccent.glif b/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/C_ircumA_ccent.glif
new file mode 100644
index 0000000..3f77dc1
--- /dev/null
+++ b/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/C_ircumA_ccent.glif
@@ -0,0 +1,8 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<glyph name="CircumAccent" format="2">
+ <advance width="850"/>
+ <unicode hex="005E"/>
+ <outline>
+ <component base="CombCircum" xOffset="995"/>
+ </outline>
+</glyph>
diff --git a/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/C_olon.glif b/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/C_olon.glif
new file mode 100644
index 0000000..8e837f7
--- /dev/null
+++ b/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/C_olon.glif
@@ -0,0 +1,35 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<glyph name="Colon" format="2">
+ <advance width="640"/>
+ <unicode hex="003A"/>
+ <outline>
+ <contour>
+ <point x="185" y="790" type="curve" smooth="yes"/>
+ <point x="185" y="716"/>
+ <point x="246" y="655"/>
+ <point x="320" y="655" type="curve" smooth="yes"/>
+ <point x="394" y="655"/>
+ <point x="455" y="716"/>
+ <point x="455" y="790" type="curve" smooth="yes"/>
+ <point x="455" y="864"/>
+ <point x="394" y="925"/>
+ <point x="320" y="925" type="curve" smooth="yes"/>
+ <point x="246" y="925"/>
+ <point x="185" y="864"/>
+ </contour>
+ <contour>
+ <point x="185" y="110" type="curve" smooth="yes"/>
+ <point x="185" y="36"/>
+ <point x="246" y="-25"/>
+ <point x="320" y="-25" type="curve" smooth="yes"/>
+ <point x="394" y="-25"/>
+ <point x="455" y="36"/>
+ <point x="455" y="110" type="curve" smooth="yes"/>
+ <point x="455" y="184"/>
+ <point x="394" y="245"/>
+ <point x="320" y="245" type="curve" smooth="yes"/>
+ <point x="246" y="245"/>
+ <point x="185" y="184"/>
+ </contour>
+ </outline>
+</glyph>
diff --git a/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/C_ombA_cute.glif b/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/C_ombA_cute.glif
new file mode 100644
index 0000000..cc8b02d
--- /dev/null
+++ b/tests/reference/fontparts/psfbuildcompgc.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="-570" y="1635" name="U"/>
+ <anchor x="-570" y="1100" name="_U"/>
+ <outline>
+ <contour>
+ <point x="-400" y="1600" type="line"/>
+ <point x="-750" y="1170" type="line"/>
+ <point x="-590" y="1170" type="line"/>
+ <point x="-170" y="1600" type="line"/>
+ </contour>
+ </outline>
+</glyph>
diff --git a/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/C_ombC_ircum.glif b/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/C_ombC_ircum.glif
new file mode 100644
index 0000000..4d372c6
--- /dev/null
+++ b/tests/reference/fontparts/psfbuildcompgc.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="-570" y="1635" name="U"/>
+ <anchor x="-570" y="1100" name="_U"/>
+ <outline>
+ <contour>
+ <point x="-845" y="1170" type="line"/>
+ <point x="-570" y="1450" type="line"/>
+ <point x="-295" y="1170" type="line"/>
+ <point x="-145" y="1170" type="line"/>
+ <point x="-485" y="1600" type="line"/>
+ <point x="-655" y="1600" type="line"/>
+ <point x="-995" y="1170" type="line"/>
+ </contour>
+ </outline>
+</glyph>
diff --git a/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/C_ombD_iaer.glif b/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/C_ombD_iaer.glif
new file mode 100644
index 0000000..10b0452
--- /dev/null
+++ b/tests/reference/fontparts/psfbuildcompgc.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="-570" y="1505" name="U"/>
+ <anchor x="-570" y="1100" name="_U"/>
+ <outline>
+ <contour>
+ <point x="-490" y="1345" type="curve" smooth="yes"/>
+ <point x="-490" y="1271"/>
+ <point x="-434" y="1210"/>
+ <point x="-360" y="1210" type="curve" smooth="yes"/>
+ <point x="-285" y="1210"/>
+ <point x="-230" y="1271"/>
+ <point x="-230" y="1345" type="curve" smooth="yes"/>
+ <point x="-230" y="1419"/>
+ <point x="-285" y="1480"/>
+ <point x="-360" y="1480" type="curve" smooth="yes"/>
+ <point x="-434" y="1480"/>
+ <point x="-490" y="1419"/>
+ </contour>
+ <contour>
+ <point x="-910" y="1345" type="curve" smooth="yes"/>
+ <point x="-910" y="1271"/>
+ <point x="-854" y="1210"/>
+ <point x="-780" y="1210" type="curve" smooth="yes"/>
+ <point x="-705" y="1210"/>
+ <point x="-650" y="1271"/>
+ <point x="-650" y="1345" type="curve" smooth="yes"/>
+ <point x="-650" y="1419"/>
+ <point x="-705" y="1480"/>
+ <point x="-780" y="1480" type="curve" smooth="yes"/>
+ <point x="-854" y="1480"/>
+ <point x="-910" y="1419"/>
+ </contour>
+ </outline>
+</glyph>
diff --git a/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/C_ombG_rave.glif b/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/C_ombG_rave.glif
new file mode 100644
index 0000000..7a99e84
--- /dev/null
+++ b/tests/reference/fontparts/psfbuildcompgc.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="-550" y="1635" name="U"/>
+ <anchor x="-550" y="1100" name="_U"/>
+ <outline>
+ <contour>
+ <point x="-940" y="1600" type="line"/>
+ <point x="-520" y="1170" type="line"/>
+ <point x="-360" y="1170" type="line"/>
+ <point x="-710" y="1600" type="line"/>
+ </contour>
+ </outline>
+</glyph>
diff --git a/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/C_ombR_ingA_bv.glif b/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/C_ombR_ingA_bv.glif
new file mode 100644
index 0000000..ba2c3d5
--- /dev/null
+++ b/tests/reference/fontparts/psfbuildcompgc.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="-570" y="1635" name="U"/>
+ <anchor x="-572" y="1100" name="_U"/>
+ <outline>
+ <contour>
+ <point x="-470" y="1385" type="curve" smooth="yes"/>
+ <point x="-470" y="1325"/>
+ <point x="-510" y="1285"/>
+ <point x="-570" y="1285" type="curve" smooth="yes"/>
+ <point x="-630" y="1285"/>
+ <point x="-670" y="1325"/>
+ <point x="-670" y="1385" type="curve" smooth="yes"/>
+ <point x="-670" y="1445"/>
+ <point x="-630" y="1485"/>
+ <point x="-570" y="1485" type="curve" smooth="yes"/>
+ <point x="-510" y="1485"/>
+ <point x="-470" y="1445"/>
+ </contour>
+ <contour>
+ <point x="-785" y="1385" type="curve" smooth="yes"/>
+ <point x="-785" y="1265"/>
+ <point x="-690" y="1170"/>
+ <point x="-570" y="1170" type="curve" smooth="yes"/>
+ <point x="-450" y="1170"/>
+ <point x="-355" y="1265"/>
+ <point x="-355" y="1385" type="curve" smooth="yes"/>
+ <point x="-355" y="1505"/>
+ <point x="-450" y="1600"/>
+ <point x="-570" y="1600" type="curve" smooth="yes"/>
+ <point x="-690" y="1600"/>
+ <point x="-785" y="1505"/>
+ </contour>
+ </outline>
+</glyph>
diff --git a/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/C_ombT_ilde.glif b/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/C_ombT_ilde.glif
new file mode 100644
index 0000000..808ca70
--- /dev/null
+++ b/tests/reference/fontparts/psfbuildcompgc.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="-575" y="1475" name="U"/>
+ <anchor x="-575" y="1100" name="_U"/>
+ <outline>
+ <contour>
+ <point x="-820" y="1205" type="line"/>
+ <point x="-815" y="1254"/>
+ <point x="-784" y="1290"/>
+ <point x="-735" y="1290" type="curve" smooth="yes"/>
+ <point x="-698" y="1290"/>
+ <point x="-657" y="1274"/>
+ <point x="-580" y="1238" type="curve" smooth="yes"/>
+ <point x="-519" y="1210"/>
+ <point x="-466" y="1190"/>
+ <point x="-413" y="1190" type="curve" smooth="yes"/>
+ <point x="-290" y="1190"/>
+ <point x="-215" y="1312"/>
+ <point x="-215" y="1440" type="curve"/>
+ <point x="-320" y="1440" type="line"/>
+ <point x="-327" y="1394"/>
+ <point x="-358" y="1355"/>
+ <point x="-405" y="1355" type="curve" smooth="yes"/>
+ <point x="-447" y="1355"/>
+ <point x="-488" y="1374"/>
+ <point x="-560" y="1403" type="curve" smooth="yes"/>
+ <point x="-630" y="1431"/>
+ <point x="-677" y="1455"/>
+ <point x="-733" y="1455" type="curve" smooth="yes"/>
+ <point x="-852" y="1455"/>
+ <point x="-925" y="1327"/>
+ <point x="-925" y="1205" type="curve"/>
+ </contour>
+ </outline>
+</glyph>
diff --git a/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/C_omma.glif b/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/C_omma.glif
new file mode 100644
index 0000000..65578e7
--- /dev/null
+++ b/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/C_omma.glif
@@ -0,0 +1,24 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<glyph name="Comma" format="2">
+ <advance width="650"/>
+ <unicode hex="002C"/>
+ <outline>
+ <contour>
+ <point x="185" y="50" type="line"/>
+ <point x="325" y="50" type="line"/>
+ <point x="325" y="-51"/>
+ <point x="248" y="-172"/>
+ <point x="190" y="-230" type="curve"/>
+ <point x="290" y="-270" type="line"/>
+ <point x="407" y="-160"/>
+ <point x="465" y="-37"/>
+ <point x="465" y="85" type="curve" smooth="yes"/>
+ <point x="465" y="186"/>
+ <point x="400" y="250"/>
+ <point x="320" y="250" type="curve" smooth="yes"/>
+ <point x="263" y="250"/>
+ <point x="198" y="213"/>
+ <point x="185" y="150" type="curve"/>
+ </contour>
+ </outline>
+</glyph>
diff --git a/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/D_igitE_ight.glif b/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/D_igitE_ight.glif
new file mode 100644
index 0000000..14cdcef
--- /dev/null
+++ b/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/D_igitE_ight.glif
@@ -0,0 +1,63 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<glyph name="DigitEight" format="2">
+ <advance width="1200"/>
+ <unicode hex="0038"/>
+ <anchor x="600" y="-100" name="L"/>
+ <anchor x="600" y="1530" name="U"/>
+ <outline>
+ <contour>
+ <point x="600" y="-25" type="curve" smooth="yes"/>
+ <point x="857" y="-25"/>
+ <point x="1110" y="134"/>
+ <point x="1110" y="405" type="curve" smooth="yes"/>
+ <point x="1110" y="611"/>
+ <point x="965" y="739"/>
+ <point x="855" y="795" type="curve"/>
+ <point x="933" y="844"/>
+ <point x="1050" y="923"/>
+ <point x="1050" y="1105" type="curve" smooth="yes"/>
+ <point x="1050" y="1350"/>
+ <point x="840" y="1485"/>
+ <point x="610" y="1485" type="curve" smooth="yes"/>
+ <point x="381" y="1485"/>
+ <point x="150" y="1350"/>
+ <point x="150" y="1105" type="curve" smooth="yes"/>
+ <point x="150" y="923"/>
+ <point x="272" y="838"/>
+ <point x="350" y="795" type="curve"/>
+ <point x="221" y="725"/>
+ <point x="90" y="611"/>
+ <point x="90" y="405" type="curve" smooth="yes"/>
+ <point x="90" y="134"/>
+ <point x="344" y="-25"/>
+ </contour>
+ <contour>
+ <point x="860" y="1105" type="curve" smooth="yes"/>
+ <point x="860" y="949"/>
+ <point x="743" y="865"/>
+ <point x="600" y="865" type="curve" smooth="yes"/>
+ <point x="457" y="865"/>
+ <point x="340" y="949"/>
+ <point x="340" y="1105" type="curve" smooth="yes"/>
+ <point x="340" y="1252"/>
+ <point x="457" y="1325"/>
+ <point x="600" y="1325" type="curve" smooth="yes"/>
+ <point x="743" y="1325"/>
+ <point x="860" y="1252"/>
+ </contour>
+ <contour>
+ <point x="910" y="425" type="curve" smooth="yes"/>
+ <point x="910" y="250"/>
+ <point x="778" y="145"/>
+ <point x="600" y="145" type="curve" smooth="yes"/>
+ <point x="420" y="145"/>
+ <point x="290" y="250"/>
+ <point x="290" y="425" type="curve" smooth="yes"/>
+ <point x="290" y="592"/>
+ <point x="420" y="710"/>
+ <point x="600" y="710" type="curve" smooth="yes"/>
+ <point x="778" y="710"/>
+ <point x="910" y="592"/>
+ </contour>
+ </outline>
+</glyph>
diff --git a/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/D_igitF_ive.glif b/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/D_igitF_ive.glif
new file mode 100644
index 0000000..af294c1
--- /dev/null
+++ b/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/D_igitF_ive.glif
@@ -0,0 +1,44 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<glyph name="DigitFive" format="2">
+ <advance width="1200"/>
+ <unicode hex="0035"/>
+ <anchor x="600" y="-100" name="L"/>
+ <anchor x="600" y="1530" name="U"/>
+ <outline>
+ <contour>
+ <point x="195" y="685" type="line"/>
+ <point x="319" y="733"/>
+ <point x="404" y="750"/>
+ <point x="510" y="750" type="curve" smooth="yes"/>
+ <point x="670" y="750"/>
+ <point x="870" y="672"/>
+ <point x="870" y="470" type="curve" smooth="yes"/>
+ <point x="870" y="268"/>
+ <point x="730" y="155"/>
+ <point x="530" y="155" type="curve" smooth="yes"/>
+ <point x="390" y="155"/>
+ <point x="294" y="182"/>
+ <point x="160" y="290" type="curve"/>
+ <point x="130" y="80" type="line"/>
+ <point x="255" y="2"/>
+ <point x="363" y="-25"/>
+ <point x="518" y="-25" type="curve" smooth="yes"/>
+ <point x="831" y="-25"/>
+ <point x="1060" y="163"/>
+ <point x="1060" y="475" type="curve" smooth="yes"/>
+ <point x="1060" y="742"/>
+ <point x="832" y="930"/>
+ <point x="545" y="930" type="curve" smooth="yes"/>
+ <point x="472" y="930"/>
+ <point x="411" y="924"/>
+ <point x="380" y="920" type="curve"/>
+ <point x="380" y="1290" type="line"/>
+ <point x="765" y="1290" type="line"/>
+ <point x="849" y="1290"/>
+ <point x="925" y="1286"/>
+ <point x="1000" y="1270" type="curve"/>
+ <point x="1000" y="1460" type="line"/>
+ <point x="195" y="1460" type="line"/>
+ </contour>
+ </outline>
+</glyph>
diff --git a/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/D_igitF_our.glif b/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/D_igitF_our.glif
new file mode 100644
index 0000000..2571d95
--- /dev/null
+++ b/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/D_igitF_our.glif
@@ -0,0 +1,27 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<glyph name="DigitFour" format="2">
+ <advance width="1200"/>
+ <unicode hex="0034"/>
+ <anchor x="607" y="-100" name="L"/>
+ <anchor x="607" y="1530" name="U"/>
+ <outline>
+ <contour>
+ <point x="1125" y="395" type="line"/>
+ <point x="1125" y="550" type="line"/>
+ <point x="935" y="550" type="line"/>
+ <point x="935" y="1480" type="line"/>
+ <point x="745" y="1480" type="line"/>
+ <point x="90" y="550" type="line"/>
+ <point x="90" y="395" type="line"/>
+ <point x="745" y="395" type="line"/>
+ <point x="745" y="0" type="line"/>
+ <point x="935" y="0" type="line"/>
+ <point x="935" y="395" type="line"/>
+ </contour>
+ <contour>
+ <point x="745" y="1230" type="line"/>
+ <point x="745" y="550" type="line"/>
+ <point x="263" y="550" type="line"/>
+ </contour>
+ </outline>
+</glyph>
diff --git a/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/D_igitN_ine.glif b/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/D_igitN_ine.glif
new file mode 100644
index 0000000..68ddea0
--- /dev/null
+++ b/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/D_igitN_ine.glif
@@ -0,0 +1,49 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<glyph name="DigitNine" format="2">
+ <advance width="1200"/>
+ <unicode hex="0039"/>
+ <anchor x="600" y="-100" name="L"/>
+ <anchor x="600" y="1530" name="U"/>
+ <outline>
+ <contour>
+ <point x="193" y="65" type="line"/>
+ <point x="297" y="-5"/>
+ <point x="383" y="-25"/>
+ <point x="501" y="-25" type="curve" smooth="yes"/>
+ <point x="976" y="-25"/>
+ <point x="1114" y="411"/>
+ <point x="1114" y="780" type="curve" smooth="yes"/>
+ <point x="1114" y="1198"/>
+ <point x="926" y="1485"/>
+ <point x="616" y="1485" type="curve" smooth="yes"/>
+ <point x="349" y="1485"/>
+ <point x="112" y="1306"/>
+ <point x="112" y="1002" type="curve" smooth="yes"/>
+ <point x="112" y="773"/>
+ <point x="281" y="586"/>
+ <point x="559" y="586" type="curve" smooth="yes"/>
+ <point x="750" y="586"/>
+ <point x="922" y="717"/>
+ <point x="1019" y="878" type="curve"/>
+ <point x="948" y="961" type="line"/>
+ <point x="874" y="847"/>
+ <point x="738" y="760"/>
+ <point x="583" y="760" type="curve" smooth="yes"/>
+ <point x="424" y="760"/>
+ <point x="306" y="860"/>
+ <point x="306" y="1036" type="curve" smooth="yes"/>
+ <point x="306" y="1196"/>
+ <point x="420" y="1310"/>
+ <point x="596" y="1310" type="curve" smooth="yes"/>
+ <point x="837" y="1310"/>
+ <point x="919" y="1065"/>
+ <point x="919" y="813" type="curve" smooth="yes"/>
+ <point x="919" y="326"/>
+ <point x="748" y="150"/>
+ <point x="511" y="150" type="curve" smooth="yes"/>
+ <point x="415" y="150"/>
+ <point x="323" y="174"/>
+ <point x="237" y="260" type="curve"/>
+ </contour>
+ </outline>
+</glyph>
diff --git a/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/D_igitO_ne.glif b/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/D_igitO_ne.glif
new file mode 100644
index 0000000..e024dc1
--- /dev/null
+++ b/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/D_igitO_ne.glif
@@ -0,0 +1,22 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<glyph name="DigitOne" format="2">
+ <advance width="1200"/>
+ <unicode hex="0031"/>
+ <anchor x="600" y="-100" name="L"/>
+ <anchor x="600" y="1530" name="U"/>
+ <outline>
+ <contour>
+ <point x="535" y="170" type="line"/>
+ <point x="220" y="170" type="line"/>
+ <point x="220" y="0" type="line"/>
+ <point x="1040" y="0" type="line"/>
+ <point x="1040" y="170" type="line"/>
+ <point x="725" y="170" type="line"/>
+ <point x="725" y="1480" type="line"/>
+ <point x="555" y="1480" type="line"/>
+ <point x="210" y="1268" type="line"/>
+ <point x="235" y="1088" type="line"/>
+ <point x="535" y="1260" type="line"/>
+ </contour>
+ </outline>
+</glyph>
diff --git a/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/D_igitS_even.glif b/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/D_igitS_even.glif
new file mode 100644
index 0000000..9a1b923
--- /dev/null
+++ b/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/D_igitS_even.glif
@@ -0,0 +1,25 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<glyph name="DigitSeven" format="2">
+ <advance width="1200"/>
+ <unicode hex="0037"/>
+ <anchor x="600" y="-100" name="L"/>
+ <anchor x="600" y="1530" name="U"/>
+ <outline>
+ <contour>
+ <point x="460" y="0" type="line"/>
+ <point x="589" y="459"/>
+ <point x="794" y="895"/>
+ <point x="1090" y="1300" type="curve"/>
+ <point x="1090" y="1460" type="line"/>
+ <point x="100" y="1460" type="line"/>
+ <point x="100" y="1275" type="line"/>
+ <point x="176" y="1291"/>
+ <point x="292" y="1295"/>
+ <point x="480" y="1295" type="curve" smooth="yes"/>
+ <point x="870" y="1295" type="line"/>
+ <point x="612" y="912"/>
+ <point x="439" y="566"/>
+ <point x="275" y="0" type="curve"/>
+ </contour>
+ </outline>
+</glyph>
diff --git a/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/D_igitS_ix.glif b/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/D_igitS_ix.glif
new file mode 100644
index 0000000..204b6e6
--- /dev/null
+++ b/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/D_igitS_ix.glif
@@ -0,0 +1,49 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<glyph name="DigitSix" format="2">
+ <advance width="1200"/>
+ <unicode hex="0036"/>
+ <anchor x="600" y="-100" name="L"/>
+ <anchor x="600" y="1530" name="U"/>
+ <outline>
+ <contour>
+ <point x="1033" y="1395" type="line"/>
+ <point x="929" y="1465"/>
+ <point x="843" y="1485"/>
+ <point x="725" y="1485" type="curve" smooth="yes"/>
+ <point x="250" y="1485"/>
+ <point x="110" y="1049"/>
+ <point x="110" y="680" type="curve" smooth="yes"/>
+ <point x="110" y="242"/>
+ <point x="290" y="-25"/>
+ <point x="600" y="-25" type="curve" smooth="yes"/>
+ <point x="907" y="-25"/>
+ <point x="1115" y="166"/>
+ <point x="1115" y="470" type="curve" smooth="yes"/>
+ <point x="1115" y="719"/>
+ <point x="943" y="895"/>
+ <point x="665" y="895" type="curve" smooth="yes"/>
+ <point x="474" y="895"/>
+ <point x="328" y="780"/>
+ <point x="215" y="625" type="curve"/>
+ <point x="280" y="550" type="line"/>
+ <point x="362" y="653"/>
+ <point x="490" y="720"/>
+ <point x="645" y="720" type="curve" smooth="yes"/>
+ <point x="824" y="720"/>
+ <point x="920" y="611"/>
+ <point x="920" y="435" type="curve" smooth="yes"/>
+ <point x="920" y="275"/>
+ <point x="806" y="150"/>
+ <point x="630" y="150" type="curve" smooth="yes"/>
+ <point x="409" y="150"/>
+ <point x="305" y="393"/>
+ <point x="305" y="645" type="curve" smooth="yes"/>
+ <point x="305" y="1132"/>
+ <point x="478" y="1310"/>
+ <point x="715" y="1310" type="curve" smooth="yes"/>
+ <point x="811" y="1310"/>
+ <point x="903" y="1286"/>
+ <point x="989" y="1200" type="curve"/>
+ </contour>
+ </outline>
+</glyph>
diff --git a/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/D_igitT_hree.glif b/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/D_igitT_hree.glif
new file mode 100644
index 0000000..876164d
--- /dev/null
+++ b/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/D_igitT_hree.glif
@@ -0,0 +1,52 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<glyph name="DigitThree" format="2">
+ <advance width="1200"/>
+ <unicode hex="0033"/>
+ <anchor x="600" y="-100" name="L"/>
+ <anchor x="600" y="1530" name="U"/>
+ <outline>
+ <contour>
+ <point x="410" y="870" type="line"/>
+ <point x="410" y="700" type="line"/>
+ <point x="480" y="700" type="line"/>
+ <point x="716" y="700"/>
+ <point x="895" y="588"/>
+ <point x="895" y="425" type="curve" smooth="yes"/>
+ <point x="895" y="241"/>
+ <point x="718" y="150"/>
+ <point x="565" y="150" type="curve" smooth="yes"/>
+ <point x="385" y="150"/>
+ <point x="244" y="232"/>
+ <point x="135" y="355" type="curve"/>
+ <point x="110" y="140" type="line"/>
+ <point x="215" y="42"/>
+ <point x="368" y="-25"/>
+ <point x="545" y="-25" type="curve" smooth="yes"/>
+ <point x="834" y="-25"/>
+ <point x="1090" y="170"/>
+ <point x="1090" y="405" type="curve" smooth="yes"/>
+ <point x="1090" y="672"/>
+ <point x="862" y="776"/>
+ <point x="720" y="800" type="curve"/>
+ <point x="862" y="829"/>
+ <point x="1040" y="957"/>
+ <point x="1040" y="1140" type="curve" smooth="yes"/>
+ <point x="1040" y="1354"/>
+ <point x="828" y="1485"/>
+ <point x="580" y="1485" type="curve"/>
+ <point x="413" y="1485"/>
+ <point x="260" y="1416"/>
+ <point x="180" y="1325" type="curve"/>
+ <point x="215" y="1155" type="line"/>
+ <point x="328" y="1271"/>
+ <point x="436" y="1310"/>
+ <point x="590" y="1310" type="curve" smooth="yes"/>
+ <point x="711" y="1310"/>
+ <point x="850" y="1250"/>
+ <point x="850" y="1115" type="curve" smooth="yes"/>
+ <point x="850" y="991"/>
+ <point x="679" y="870"/>
+ <point x="480" y="870" type="curve"/>
+ </contour>
+ </outline>
+</glyph>
diff --git a/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/D_igitT_wo.glif b/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/D_igitT_wo.glif
new file mode 100644
index 0000000..9e58e78
--- /dev/null
+++ b/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/D_igitT_wo.glif
@@ -0,0 +1,37 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<glyph name="DigitTwo" format="2">
+ <advance width="1200"/>
+ <unicode hex="0032"/>
+ <anchor x="600" y="-100" name="L"/>
+ <anchor x="560" y="1530" name="U"/>
+ <outline>
+ <contour>
+ <point x="1080" y="180" type="line"/>
+ <point x="1000" y="166"/>
+ <point x="842" y="165"/>
+ <point x="645" y="165" type="curve" smooth="yes"/>
+ <point x="390" y="165" type="line"/>
+ <point x="609" y="352"/>
+ <point x="1010" y="729"/>
+ <point x="1010" y="1065" type="curve" smooth="yes"/>
+ <point x="1010" y="1323"/>
+ <point x="800" y="1485"/>
+ <point x="560" y="1485" type="curve" smooth="yes"/>
+ <point x="391" y="1485"/>
+ <point x="206" y="1402"/>
+ <point x="125" y="1290" type="curve"/>
+ <point x="170" y="1120" type="line"/>
+ <point x="259" y="1228"/>
+ <point x="402" y="1305"/>
+ <point x="525" y="1305" type="curve" smooth="yes"/>
+ <point x="668" y="1305"/>
+ <point x="810" y="1233"/>
+ <point x="810" y="1045" type="curve" smooth="yes"/>
+ <point x="810" y="768"/>
+ <point x="391" y="365"/>
+ <point x="120" y="170" type="curve"/>
+ <point x="120" y="0" type="line"/>
+ <point x="1080" y="0" type="line"/>
+ </contour>
+ </outline>
+</glyph>
diff --git a/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/D_igitZ_ero.glif b/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/D_igitZ_ero.glif
new file mode 100644
index 0000000..c146e7c
--- /dev/null
+++ b/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/D_igitZ_ero.glif
@@ -0,0 +1,37 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<glyph name="DigitZero" format="2">
+ <advance width="1200"/>
+ <unicode hex="0030"/>
+ <anchor x="605" y="-100" name="L"/>
+ <anchor x="605" y="1530" name="U"/>
+ <outline>
+ <contour>
+ <point x="910" y="715" type="curve" smooth="yes"/>
+ <point x="910" y="308"/>
+ <point x="792" y="145"/>
+ <point x="600" y="145" type="curve" smooth="yes"/>
+ <point x="402" y="145"/>
+ <point x="290" y="305"/>
+ <point x="290" y="745" type="curve" smooth="yes"/>
+ <point x="290" y="1153"/>
+ <point x="407" y="1315"/>
+ <point x="600" y="1315" type="curve" smooth="yes"/>
+ <point x="802" y="1315"/>
+ <point x="910" y="1156"/>
+ </contour>
+ <contour>
+ <point x="1110" y="740" type="curve" smooth="yes"/>
+ <point x="1110" y="1286"/>
+ <point x="900" y="1485"/>
+ <point x="610" y="1485" type="curve" smooth="yes"/>
+ <point x="321" y="1485"/>
+ <point x="90" y="1283"/>
+ <point x="90" y="720" type="curve" smooth="yes"/>
+ <point x="90" y="155"/>
+ <point x="301" y="-25"/>
+ <point x="590" y="-25" type="curve" smooth="yes"/>
+ <point x="881" y="-25"/>
+ <point x="1110" y="151"/>
+ </contour>
+ </outline>
+</glyph>
diff --git a/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/D_ollarS_gn.glif b/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/D_ollarS_gn.glif
new file mode 100644
index 0000000..ff237fa
--- /dev/null
+++ b/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/D_ollarS_gn.glif
@@ -0,0 +1,53 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<glyph name="DollarSgn" format="2">
+ <advance width="1200"/>
+ <unicode hex="0024"/>
+ <outline>
+ <contour>
+ <point x="553" y="1600" type="line"/>
+ <point x="553" y="-220" type="line"/>
+ <point x="683" y="-220" type="line"/>
+ <point x="683" y="1600" type="line"/>
+ </contour>
+ <contour>
+ <point x="986" y="1306" type="line"/>
+ <point x="866" y="1364"/>
+ <point x="764" y="1389"/>
+ <point x="623" y="1389" type="curve" smooth="yes"/>
+ <point x="317" y="1389"/>
+ <point x="190" y="1173"/>
+ <point x="190" y="1017" type="curve" smooth="yes"/>
+ <point x="190" y="860"/>
+ <point x="253" y="739"/>
+ <point x="540" y="653" type="curve" smooth="yes"/>
+ <point x="827" y="567"/>
+ <point x="871" y="492"/>
+ <point x="871" y="396" type="curve" smooth="yes"/>
+ <point x="871" y="247"/>
+ <point x="734" y="161"/>
+ <point x="586" y="161" type="curve" smooth="yes"/>
+ <point x="450" y="161"/>
+ <point x="316" y="207"/>
+ <point x="195" y="313" type="curve"/>
+ <point x="153" y="124" type="line"/>
+ <point x="247" y="52"/>
+ <point x="408" y="0"/>
+ <point x="586" y="0" type="curve" smooth="yes"/>
+ <point x="837" y="0"/>
+ <point x="1046" y="167"/>
+ <point x="1046" y="414" type="curve" smooth="yes"/>
+ <point x="1046" y="613"/>
+ <point x="912" y="725"/>
+ <point x="669" y="796" type="curve" smooth="yes"/>
+ <point x="406" y="873"/>
+ <point x="365" y="929"/>
+ <point x="365" y="1030" type="curve" smooth="yes"/>
+ <point x="365" y="1132"/>
+ <point x="466" y="1228"/>
+ <point x="613" y="1228" type="curve" smooth="yes"/>
+ <point x="731" y="1228"/>
+ <point x="818" y="1200"/>
+ <point x="949" y="1127" type="curve"/>
+ </contour>
+ </outline>
+</glyph>
diff --git a/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/D_ottedC_irc.glif b/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/D_ottedC_irc.glif
new file mode 100644
index 0000000..b2c2552
--- /dev/null
+++ b/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/D_ottedC_irc.glif
@@ -0,0 +1,235 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<glyph name="DottedCirc" format="2">
+ <advance width="1106"/>
+ <unicode hex="25CC"/>
+ <anchor x="553" y="0" name="H"/>
+ <anchor x="553" y="-100" name="L"/>
+ <anchor x="810" y="0" name="O"/>
+ <anchor x="553" 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/reference/fontparts/psfbuildcompgc.ufo/glyphs/E_qS_gn.glif b/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/E_qS_gn.glif
new file mode 100644
index 0000000..fe4133b
--- /dev/null
+++ b/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/E_qS_gn.glif
@@ -0,0 +1,19 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<glyph name="EqSgn" format="2">
+ <advance width="1200"/>
+ <unicode hex="003D"/>
+ <outline>
+ <contour>
+ <point x="120" y="480" type="line"/>
+ <point x="1080" y="480" type="line"/>
+ <point x="1080" y="630" type="line"/>
+ <point x="120" y="630" type="line"/>
+ </contour>
+ <contour>
+ <point x="120" y="830" type="line"/>
+ <point x="1080" y="830" type="line"/>
+ <point x="1080" y="980" type="line"/>
+ <point x="120" y="980" type="line"/>
+ </contour>
+ </outline>
+</glyph>
diff --git a/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/E_xclamationM_rk.glif b/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/E_xclamationM_rk.glif
new file mode 100644
index 0000000..dc73854
--- /dev/null
+++ b/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/E_xclamationM_rk.glif
@@ -0,0 +1,31 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<glyph name="ExclamationMrk" format="2">
+ <advance width="764"/>
+ <unicode hex="0021"/>
+ <outline>
+ <contour>
+ <point x="450" y="440" type="line"/>
+ <point x="456" y="730"/>
+ <point x="451" y="1076"/>
+ <point x="490" y="1510" type="curve"/>
+ <point x="235" y="1510" type="line"/>
+ <point x="273" y="1076"/>
+ <point x="268" y="730"/>
+ <point x="275" y="440" type="curve"/>
+ </contour>
+ <contour>
+ <point x="225" y="110" type="curve" smooth="yes"/>
+ <point x="225" y="36"/>
+ <point x="286" y="-25"/>
+ <point x="360" y="-25" type="curve" smooth="yes"/>
+ <point x="434" y="-25"/>
+ <point x="495" y="36"/>
+ <point x="495" y="110" type="curve" smooth="yes"/>
+ <point x="495" y="184"/>
+ <point x="434" y="245"/>
+ <point x="360" y="245" type="curve" smooth="yes"/>
+ <point x="286" y="245"/>
+ <point x="225" y="184"/>
+ </contour>
+ </outline>
+</glyph>
diff --git a/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/F_ullS_top.glif b/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/F_ullS_top.glif
new file mode 100644
index 0000000..e727469
--- /dev/null
+++ b/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/F_ullS_top.glif
@@ -0,0 +1,21 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<glyph name="FullStop" format="2">
+ <advance width="640"/>
+ <unicode hex="002E"/>
+ <outline>
+ <contour>
+ <point x="185" y="110" type="curve" smooth="yes"/>
+ <point x="185" y="36"/>
+ <point x="246" y="-25"/>
+ <point x="320" y="-25" type="curve" smooth="yes"/>
+ <point x="394" y="-25"/>
+ <point x="455" y="36"/>
+ <point x="455" y="110" type="curve" smooth="yes"/>
+ <point x="455" y="184"/>
+ <point x="394" y="245"/>
+ <point x="320" y="245" type="curve" smooth="yes"/>
+ <point x="246" y="245"/>
+ <point x="185" y="184"/>
+ </contour>
+ </outline>
+</glyph>
diff --git a/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/G_T_S_gn.glif b/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/G_T_S_gn.glif
new file mode 100644
index 0000000..027bf85
--- /dev/null
+++ b/tests/reference/fontparts/psfbuildcompgc.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="1200"/>
+ <unicode hex="003E"/>
+ <outline>
+ <contour>
+ <point x="120" y="1035" type="line"/>
+ <point x="910" y="730" type="line"/>
+ <point x="120" y="425" type="line"/>
+ <point x="120" y="245" type="line"/>
+ <point x="1100" y="645" type="line"/>
+ <point x="1100" y="815" type="line"/>
+ <point x="120" y="1215" type="line"/>
+ </contour>
+ </outline>
+</glyph>
diff --git a/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/G_raveA_ccent.glif b/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/G_raveA_ccent.glif
new file mode 100644
index 0000000..7353003
--- /dev/null
+++ b/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/G_raveA_ccent.glif
@@ -0,0 +1,8 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<glyph name="GraveAccent" format="2">
+ <advance width="580"/>
+ <unicode hex="0060"/>
+ <outline>
+ <component base="CombGrave" xOffset="940"/>
+ </outline>
+</glyph>
diff --git a/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/H_yphen.glif b/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/H_yphen.glif
new file mode 100644
index 0000000..406c624
--- /dev/null
+++ b/tests/reference/fontparts/psfbuildcompgc.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="430" y="1100" name="U"/>
+ <outline>
+ <contour>
+ <point x="80" y="555" type="line"/>
+ <point x="780" y="555" type="line"/>
+ <point x="780" y="705" type="line"/>
+ <point x="80" y="705" type="line"/>
+ </contour>
+ </outline>
+</glyph>
diff --git a/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/H_yphenM_inus.glif b/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/H_yphenM_inus.glif
new file mode 100644
index 0000000..257fbf0
--- /dev/null
+++ b/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/H_yphenM_inus.glif
@@ -0,0 +1,14 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<glyph name="HyphenMinus" format="2">
+ <advance width="860"/>
+ <unicode hex="002D"/>
+ <anchor x="430" y="1100" name="U"/>
+ <outline>
+ <contour>
+ <point x="80" y="555" type="line"/>
+ <point x="780" y="555" type="line"/>
+ <point x="780" y="705" type="line"/>
+ <point x="80" y="705" type="line"/>
+ </contour>
+ </outline>
+</glyph>
diff --git a/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/H_yphen_S_oft.glif b/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/H_yphen_S_oft.glif
new file mode 100644
index 0000000..97ffdb6
--- /dev/null
+++ b/tests/reference/fontparts/psfbuildcompgc.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="860"/>
+ <unicode hex="00AD"/>
+ <anchor x="430" y="1100" name="U"/>
+ <outline>
+ <component base="HyphenMinus"/>
+ </outline>
+</glyph>
diff --git a/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_T_S_gn.glif b/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_T_S_gn.glif
new file mode 100644
index 0000000..ed3fa37
--- /dev/null
+++ b/tests/reference/fontparts/psfbuildcompgc.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="1200"/>
+ <unicode hex="003C"/>
+ <outline>
+ <contour>
+ <point x="1080" y="425" type="line"/>
+ <point x="290" y="730" type="line"/>
+ <point x="1080" y="1035" type="line"/>
+ <point x="1080" y="1215" type="line"/>
+ <point x="100" y="815" type="line"/>
+ <point x="100" y="645" type="line"/>
+ <point x="1080" y="245" type="line"/>
+ </contour>
+ </outline>
+</glyph>
diff --git a/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_ftC_urlyB_rac.glif b/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_ftC_urlyB_rac.glif
new file mode 100644
index 0000000..b516844
--- /dev/null
+++ b/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_ftC_urlyB_rac.glif
@@ -0,0 +1,47 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<glyph name="LftCurlyBrac" format="2">
+ <advance width="1000"/>
+ <unicode hex="007B"/>
+ <outline>
+ <contour>
+ <point x="210" y="615" type="curve" smooth="yes"/>
+ <point x="210" y="583"/>
+ <point x="383" y="486"/>
+ <point x="410" y="450" type="curve" smooth="yes"/>
+ <point x="434" y="418"/>
+ <point x="424" y="-205"/>
+ <point x="495" y="-285" type="curve" smooth="yes"/>
+ <point x="535" y="-330"/>
+ <point x="696" y="-383"/>
+ <point x="800" y="-410" type="curve"/>
+ <point x="840" y="-270" type="line"/>
+ <point x="773" y="-247"/>
+ <point x="650" y="-198"/>
+ <point x="630" y="-170" type="curve" smooth="yes"/>
+ <point x="597" y="-123"/>
+ <point x="610" y="447"/>
+ <point x="590" y="485" type="curve" smooth="yes"/>
+ <point x="571" y="521"/>
+ <point x="434" y="593"/>
+ <point x="430" y="615" type="curve"/>
+ <point x="434" y="637"/>
+ <point x="571" y="709"/>
+ <point x="590" y="745" type="curve" smooth="yes"/>
+ <point x="610" y="783"/>
+ <point x="597" y="1353"/>
+ <point x="630" y="1400" type="curve" smooth="yes"/>
+ <point x="650" y="1428"/>
+ <point x="773" y="1477"/>
+ <point x="840" y="1500" type="curve"/>
+ <point x="800" y="1640" type="line"/>
+ <point x="696" y="1613"/>
+ <point x="535" y="1560"/>
+ <point x="495" y="1515" type="curve" smooth="yes"/>
+ <point x="424" y="1435"/>
+ <point x="434" y="812"/>
+ <point x="410" y="780" type="curve" smooth="yes"/>
+ <point x="383" y="744"/>
+ <point x="210" y="647"/>
+ </contour>
+ </outline>
+</glyph>
diff --git a/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_ftP_aren.glif b/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_ftP_aren.glif
new file mode 100644
index 0000000..1126b7f
--- /dev/null
+++ b/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_ftP_aren.glif
@@ -0,0 +1,23 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<glyph name="LftParen" format="2">
+ <advance width="795"/>
+ <unicode hex="0028"/>
+ <outline>
+ <contour>
+ <point x="115" y="625" type="curve" smooth="yes"/>
+ <point x="115" y="218"/>
+ <point x="260" y="-125"/>
+ <point x="535" y="-410" type="curve"/>
+ <point x="630" y="-265" type="line"/>
+ <point x="395" y="-8"/>
+ <point x="305" y="278"/>
+ <point x="305" y="625" type="curve" smooth="yes"/>
+ <point x="305" y="982"/>
+ <point x="395" y="1280"/>
+ <point x="630" y="1485" type="curve"/>
+ <point x="555" y="1640" type="line"/>
+ <point x="290" y="1444"/>
+ <point x="115" y="1062"/>
+ </contour>
+ </outline>
+</glyph>
diff --git a/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_ftS_qrB_rac.glif b/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_ftS_qrB_rac.glif
new file mode 100644
index 0000000..e5568d8
--- /dev/null
+++ b/tests/reference/fontparts/psfbuildcompgc.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="790"/>
+ <unicode hex="005B"/>
+ <outline>
+ <contour>
+ <point x="640" y="-410" type="line"/>
+ <point x="640" y="-260" type="line"/>
+ <point x="385" y="-260" type="line"/>
+ <point x="385" y="1450" type="line"/>
+ <point x="640" y="1450" type="line"/>
+ <point x="640" y="1600" type="line"/>
+ <point x="200" y="1600" type="line"/>
+ <point x="200" y="-410" type="line"/>
+ </contour>
+ </outline>
+</glyph>
diff --git a/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_owL_ine.glif b/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_owL_ine.glif
new file mode 100644
index 0000000..9c45eaa
--- /dev/null
+++ b/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_owL_ine.glif
@@ -0,0 +1,13 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<glyph name="LowLine" format="2">
+ <advance width="1274"/>
+ <unicode hex="005F"/>
+ <outline>
+ <contour>
+ <point x="0" y="-320" type="line"/>
+ <point x="1274" y="-320" type="line"/>
+ <point x="1274" y="-170" type="line"/>
+ <point x="0" y="-170" type="line"/>
+ </contour>
+ </outline>
+</glyph>
diff --git a/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnC_apA_.alt.glif b/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnC_apA_.alt.glif
new file mode 100644
index 0000000..02eccd6
--- /dev/null
+++ b/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnC_apA_.alt.glif
@@ -0,0 +1,31 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<glyph name="LtnCapA.alt" format="2">
+ <advance width="1395"/>
+ <anchor x="668" y="1460" name="H"/>
+ <anchor x="688" y="1560" name="L"/>
+ <anchor x="-75" y="1460" name="O"/>
+ <anchor x="688" y="-70" name="U"/>
+ <outline>
+ <contour>
+ <point x="1130" y="1460" type="line"/>
+ <point x="996" y="1075" type="line"/>
+ <point x="381" y="1075" type="line"/>
+ <point x="245" y="1460" type="line"/>
+ <point x="40" y="1460" type="line"/>
+ <point x="75" y="1380"/>
+ <point x="113" y="1291"/>
+ <point x="180" y="1105" type="curve" smooth="yes"/>
+ <point x="580" y="0" type="line"/>
+ <point x="795" y="0" type="line"/>
+ <point x="1195" y="1105" type="line" smooth="yes"/>
+ <point x="1263" y="1292"/>
+ <point x="1299" y="1379"/>
+ <point x="1335" y="1460" type="curve"/>
+ </contour>
+ <contour>
+ <point x="435" y="920" type="line"/>
+ <point x="942" y="920" type="line"/>
+ <point x="690" y="195" type="line"/>
+ </contour>
+ </outline>
+</glyph>
diff --git a/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnC_apA_.glif b/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnC_apA_.glif
new file mode 100644
index 0000000..791c68d
--- /dev/null
+++ b/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnC_apA_.glif
@@ -0,0 +1,32 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<glyph name="LtnCapA" format="2">
+ <advance width="1395"/>
+ <unicode hex="0041"/>
+ <anchor x="707" y="0" name="H"/>
+ <anchor x="687" y="-100" name="L"/>
+ <anchor x="1450" y="0" name="O"/>
+ <anchor x="687" y="1530" name="U"/>
+ <outline>
+ <contour>
+ <point x="245" y="0" type="line"/>
+ <point x="379" y="385" type="line"/>
+ <point x="994" y="385" type="line"/>
+ <point x="1130" y="0" type="line"/>
+ <point x="1335" y="0" type="line"/>
+ <point x="1300" y="80"/>
+ <point x="1262" y="169"/>
+ <point x="1195" y="355" type="curve" smooth="yes"/>
+ <point x="795" y="1460" type="line"/>
+ <point x="580" y="1460" type="line"/>
+ <point x="180" y="355" type="line" smooth="yes"/>
+ <point x="112" y="168"/>
+ <point x="76" y="81"/>
+ <point x="40" y="0" type="curve"/>
+ </contour>
+ <contour>
+ <point x="940" y="540" type="line"/>
+ <point x="433" y="540" type="line"/>
+ <point x="685" y="1265" type="line"/>
+ </contour>
+ </outline>
+</glyph>
diff --git a/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnC_apA_D_iaer.glif b/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnC_apA_D_iaer.glif
new file mode 100644
index 0000000..6458162
--- /dev/null
+++ b/tests/reference/fontparts/psfbuildcompgc.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="1395"/>
+ <unicode hex="00C4"/>
+ <anchor x="707" y="0" name="H"/>
+ <anchor x="687" y="-100" name="L"/>
+ <anchor x="1450" y="0" name="O"/>
+ <anchor x="687" y="1935" name="U"/>
+ <outline>
+ <component base="LtnCapA"/>
+ <component base="CombDiaer" xOffset="1257" yOffset="430"/>
+ </outline>
+</glyph>
diff --git a/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnC_apB_.glif b/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnC_apB_.glif
new file mode 100644
index 0000000..bd2a70f
--- /dev/null
+++ b/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnC_apB_.glif
@@ -0,0 +1,62 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<glyph name="LtnCapB" format="2">
+ <advance width="1285"/>
+ <unicode hex="0042"/>
+ <anchor x="615" y="-100" name="L"/>
+ <anchor x="615" y="1530" name="U"/>
+ <outline>
+ <contour>
+ <point x="365" y="1310" type="line"/>
+ <point x="407" y="1312"/>
+ <point x="512" y="1315"/>
+ <point x="590" y="1315" type="curve" smooth="yes"/>
+ <point x="791" y="1315"/>
+ <point x="870" y="1239"/>
+ <point x="870" y="1090" type="curve" smooth="yes"/>
+ <point x="870" y="951"/>
+ <point x="774" y="855"/>
+ <point x="560" y="855" type="curve" smooth="yes"/>
+ <point x="365" y="855" type="line"/>
+ </contour>
+ <contour>
+ <point x="175" y="455" type="line"/>
+ <point x="175" y="257"/>
+ <point x="175" y="80"/>
+ <point x="160" y="0" type="curve"/>
+ <point x="213" y="-5"/>
+ <point x="402" y="-10"/>
+ <point x="605" y="-10" type="curve" smooth="yes"/>
+ <point x="988" y="-10"/>
+ <point x="1140" y="177"/>
+ <point x="1140" y="420" type="curve" smooth="yes"/>
+ <point x="1140" y="669"/>
+ <point x="974" y="759"/>
+ <point x="820" y="800" type="curve"/>
+ <point x="956" y="852"/>
+ <point x="1065" y="952"/>
+ <point x="1065" y="1120" type="curve" smooth="yes"/>
+ <point x="1065" y="1381"/>
+ <point x="897" y="1470"/>
+ <point x="600" y="1470" type="curve" smooth="yes"/>
+ <point x="431" y="1470"/>
+ <point x="248" y="1466"/>
+ <point x="160" y="1460" type="curve"/>
+ <point x="175" y="1380"/>
+ <point x="175" y="1196"/>
+ <point x="175" y="1000" type="curve" smooth="yes"/>
+ </contour>
+ <contour>
+ <point x="365" y="700" type="line"/>
+ <point x="600" y="700" type="line" smooth="yes"/>
+ <point x="833" y="700"/>
+ <point x="945" y="604"/>
+ <point x="945" y="420" type="curve" smooth="yes"/>
+ <point x="945" y="212"/>
+ <point x="781" y="150"/>
+ <point x="610" y="150" type="curve" smooth="yes"/>
+ <point x="498" y="150"/>
+ <point x="402" y="153"/>
+ <point x="365" y="155" type="curve"/>
+ </contour>
+ </outline>
+</glyph>
diff --git a/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnC_apC_.glif b/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnC_apC_.glif
new file mode 100644
index 0000000..18d9cb1
--- /dev/null
+++ b/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnC_apC_.glif
@@ -0,0 +1,38 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<glyph name="LtnCapC" format="2">
+ <advance width="1355"/>
+ <unicode hex="0043"/>
+ <anchor x="750" y="0" name="H"/>
+ <anchor x="750" y="-100" name="L"/>
+ <anchor x="750" y="1530" name="U"/>
+ <outline>
+ <contour>
+ <point x="1190" y="335" type="line"/>
+ <point x="1078" y="223"/>
+ <point x="912" y="150"/>
+ <point x="760" y="150" type="curve" smooth="yes"/>
+ <point x="489" y="150"/>
+ <point x="290" y="376"/>
+ <point x="290" y="735" type="curve" smooth="yes"/>
+ <point x="290" y="1119"/>
+ <point x="491" y="1315"/>
+ <point x="770" y="1315" type="curve" smooth="yes"/>
+ <point x="891" y="1315"/>
+ <point x="1030" y="1278"/>
+ <point x="1155" y="1165" type="curve"/>
+ <point x="1215" y="1345" type="line"/>
+ <point x="1072" y="1452"/>
+ <point x="913" y="1485"/>
+ <point x="770" y="1485" type="curve" smooth="yes"/>
+ <point x="418" y="1485"/>
+ <point x="95" y="1225"/>
+ <point x="95" y="710" type="curve" smooth="yes"/>
+ <point x="95" y="260"/>
+ <point x="346" y="-25"/>
+ <point x="750" y="-25" type="curve" smooth="yes"/>
+ <point x="902" y="-25"/>
+ <point x="1114" y="32"/>
+ <point x="1230" y="140" type="curve"/>
+ </contour>
+ </outline>
+</glyph>
diff --git a/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnC_apC_A_cute.glif b/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnC_apC_A_cute.glif
new file mode 100644
index 0000000..2fef8c0
--- /dev/null
+++ b/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnC_apC_A_cute.glif
@@ -0,0 +1,9 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<glyph name="LtnCapCAcute" format="2">
+ <advance width="1020"/>
+ <unicode hex="0106"/>
+ <outline>
+ <component base="LtnSmC"/>
+ <component base="CombAcute" xOffset="1140.0"/>
+ </outline>
+</glyph>
diff --git a/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnC_apC_A_cuteC_edilla.glif b/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnC_apC_A_cuteC_edilla.glif
new file mode 100644
index 0000000..eaf16f9
--- /dev/null
+++ b/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnC_apC_A_cuteC_edilla.glif
@@ -0,0 +1,10 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<glyph name="LtnCapCAcuteCedilla" format="2">
+ <advance width="1355"/>
+ <unicode hex="1E08"/>
+ <outline>
+ <component base="LtnCapC"/>
+ <component base="CombCedilla" xOffset="750.0"/>
+ <component base="CombAcute" xOffset="1320.0" yOffset="430.0"/>
+ </outline>
+</glyph>
diff --git a/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnC_apC_C_ircum.glif b/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnC_apC_C_ircum.glif
new file mode 100644
index 0000000..0f2f0f8
--- /dev/null
+++ b/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnC_apC_C_ircum.glif
@@ -0,0 +1,9 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<glyph name="LtnCapCCircum" format="2">
+ <advance width="1355"/>
+ <unicode hex="0108"/>
+ <outline>
+ <component base="LtnCapC"/>
+ <component base="CombCircum" xOffset="1320.0" yOffset="430.0"/>
+ </outline>
+</glyph>
diff --git a/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnC_apD_.glif b/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnC_apD_.glif
new file mode 100644
index 0000000..07be047
--- /dev/null
+++ b/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnC_apD_.glif
@@ -0,0 +1,45 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<glyph name="LtnCapD" format="2">
+ <advance width="1435"/>
+ <unicode hex="0044"/>
+ <anchor x="715" y="-100" name="L"/>
+ <anchor x="715" y="1530" name="U"/>
+ <outline>
+ <contour>
+ <point x="175" y="455" type="line"/>
+ <point x="174" y="257"/>
+ <point x="175" y="80"/>
+ <point x="160" y="0" type="curve"/>
+ <point x="160" y="0"/>
+ <point x="467" y="-10"/>
+ <point x="595" y="-10" type="curve" smooth="yes"/>
+ <point x="888" y="-10"/>
+ <point x="1315" y="145"/>
+ <point x="1315" y="740" type="curve" smooth="yes"/>
+ <point x="1315" y="1394"/>
+ <point x="829" y="1470"/>
+ <point x="615" y="1470" type="curve" smooth="yes"/>
+ <point x="480" y="1470"/>
+ <point x="245" y="1466"/>
+ <point x="160" y="1460" type="curve"/>
+ <point x="175" y="1380"/>
+ <point x="175" y="1196"/>
+ <point x="175" y="1000" type="curve" smooth="yes"/>
+ </contour>
+ <contour>
+ <point x="365" y="1305" type="line"/>
+ <point x="415" y="1307"/>
+ <point x="524" y="1310"/>
+ <point x="590" y="1310" type="curve" smooth="yes"/>
+ <point x="878" y="1310"/>
+ <point x="1120" y="1167"/>
+ <point x="1120" y="720" type="curve" smooth="yes"/>
+ <point x="1120" y="308"/>
+ <point x="853" y="155"/>
+ <point x="585" y="155" type="curve" smooth="yes"/>
+ <point x="490" y="155"/>
+ <point x="412" y="161"/>
+ <point x="365" y="165" type="curve"/>
+ </contour>
+ </outline>
+</glyph>
diff --git a/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnC_apE_.glif b/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnC_apE_.glif
new file mode 100644
index 0000000..d37fb05
--- /dev/null
+++ b/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnC_apE_.glif
@@ -0,0 +1,35 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<glyph name="LtnCapE" format="2">
+ <advance width="1160"/>
+ <unicode hex="0045"/>
+ <anchor x="600" y="0" name="H"/>
+ <anchor x="600" y="-100" name="L"/>
+ <anchor x="917" y="0" name="O"/>
+ <anchor x="1160" y="1200" name="R"/>
+ <anchor x="600" y="1530" name="U"/>
+ <outline>
+ <contour>
+ <point x="365" y="845" type="line"/>
+ <point x="365" y="1295" type="line"/>
+ <point x="1010" y="1295" type="line"/>
+ <point x="1010" y="1460" type="line"/>
+ <point x="160" y="1460" type="line"/>
+ <point x="175" y="1380"/>
+ <point x="175" y="1222"/>
+ <point x="175" y="1025" type="curve" smooth="yes"/>
+ <point x="175" y="435" type="line" smooth="yes"/>
+ <point x="175" y="238"/>
+ <point x="175" y="80"/>
+ <point x="160" y="0" type="curve"/>
+ <point x="1040" y="0" type="line"/>
+ <point x="1040" y="180" type="line"/>
+ <point x="960" y="166"/>
+ <point x="826" y="165"/>
+ <point x="629" y="165" type="curve" smooth="yes"/>
+ <point x="365" y="165" type="line"/>
+ <point x="365" y="685" type="line"/>
+ <point x="935" y="685" type="line"/>
+ <point x="935" y="845" type="line"/>
+ </contour>
+ </outline>
+</glyph>
diff --git a/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnC_apF_.glif b/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnC_apF_.glif
new file mode 100644
index 0000000..9167dfd
--- /dev/null
+++ b/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnC_apF_.glif
@@ -0,0 +1,30 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<glyph name="LtnCapF" format="2">
+ <advance width="1150"/>
+ <unicode hex="0046"/>
+ <anchor x="595" y="-100" name="L"/>
+ <anchor x="595" y="1530" name="U"/>
+ <outline>
+ <contour>
+ <point x="365" y="835" type="line"/>
+ <point x="365" y="1295" type="line"/>
+ <point x="1030" y="1295" type="line"/>
+ <point x="1030" y="1460" type="line"/>
+ <point x="160" y="1460" type="line"/>
+ <point x="175" y="1380"/>
+ <point x="175" y="1217"/>
+ <point x="175" y="1020" type="curve" smooth="yes"/>
+ <point x="175" y="435" type="line" smooth="yes"/>
+ <point x="175" y="238"/>
+ <point x="175" y="80"/>
+ <point x="160" y="0" type="curve"/>
+ <point x="380" y="0" type="line"/>
+ <point x="365" y="78"/>
+ <point x="365" y="237"/>
+ <point x="365" y="435" type="curve" smooth="yes"/>
+ <point x="365" y="675" type="line"/>
+ <point x="945" y="675" type="line"/>
+ <point x="945" y="835" type="line"/>
+ </contour>
+ </outline>
+</glyph>
diff --git a/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnC_apG_.glif b/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnC_apG_.glif
new file mode 100644
index 0000000..e969082
--- /dev/null
+++ b/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnC_apG_.glif
@@ -0,0 +1,42 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<glyph name="LtnCapG" format="2">
+ <advance width="1420"/>
+ <unicode hex="0047"/>
+ <anchor x="745" y="0" name="H"/>
+ <anchor x="745" y="-100" name="L"/>
+ <anchor x="745" y="1530" name="U"/>
+ <outline>
+ <contour>
+ <point x="1275" y="745" type="line"/>
+ <point x="735" y="745" type="line"/>
+ <point x="735" y="580" type="line"/>
+ <point x="1085" y="580" type="line"/>
+ <point x="1085" y="245" type="line"/>
+ <point x="963" y="171"/>
+ <point x="876" y="150"/>
+ <point x="757" y="150" type="curve" smooth="yes"/>
+ <point x="471" y="150"/>
+ <point x="290" y="377"/>
+ <point x="290" y="745" type="curve" smooth="yes"/>
+ <point x="290" y="1094"/>
+ <point x="480" y="1315"/>
+ <point x="785" y="1315" type="curve" smooth="yes"/>
+ <point x="918" y="1315"/>
+ <point x="1046" y="1286"/>
+ <point x="1195" y="1165" type="curve"/>
+ <point x="1260" y="1345" type="line"/>
+ <point x="1085" y="1462"/>
+ <point x="947" y="1485"/>
+ <point x="785" y="1485" type="curve" smooth="yes"/>
+ <point x="402" y="1485"/>
+ <point x="95" y="1199"/>
+ <point x="95" y="720" type="curve" smooth="yes"/>
+ <point x="95" y="241"/>
+ <point x="367" y="-25"/>
+ <point x="745" y="-25" type="curve" smooth="yes"/>
+ <point x="918" y="-25"/>
+ <point x="1070" y="11"/>
+ <point x="1275" y="155" type="curve"/>
+ </contour>
+ </outline>
+</glyph>
diff --git a/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnC_apH_.glif b/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnC_apH_.glif
new file mode 100644
index 0000000..9d529e4
--- /dev/null
+++ b/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnC_apH_.glif
@@ -0,0 +1,36 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<glyph name="LtnCapH" format="2">
+ <advance width="1475"/>
+ <unicode hex="0048"/>
+ <anchor x="285" y="0" name="H"/>
+ <anchor x="725" y="-100" name="L"/>
+ <anchor x="725" y="1530" name="U"/>
+ <outline>
+ <contour>
+ <point x="1290" y="0" type="line"/>
+ <point x="1275" y="80"/>
+ <point x="1275" y="238"/>
+ <point x="1275" y="435" type="curve" smooth="yes"/>
+ <point x="1275" y="1025" type="line" smooth="yes"/>
+ <point x="1275" y="1222"/>
+ <point x="1275" y="1380"/>
+ <point x="1290" y="1460" type="curve"/>
+ <point x="1085" y="1460" type="line"/>
+ <point x="1085" y="835" type="line"/>
+ <point x="365" y="835" type="line"/>
+ <point x="365" y="1460" type="line"/>
+ <point x="160" y="1460" type="line"/>
+ <point x="175" y="1380"/>
+ <point x="175" y="1222"/>
+ <point x="175" y="1025" type="curve" smooth="yes"/>
+ <point x="175" y="435" type="line" smooth="yes"/>
+ <point x="175" y="238"/>
+ <point x="175" y="80"/>
+ <point x="160" y="0" type="curve"/>
+ <point x="365" y="0" type="line"/>
+ <point x="365" y="675" type="line"/>
+ <point x="1085" y="675" type="line"/>
+ <point x="1085" y="0" type="line"/>
+ </contour>
+ </outline>
+</glyph>
diff --git a/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnC_apI_.glif b/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnC_apI_.glif
new file mode 100644
index 0000000..b7e0fb1
--- /dev/null
+++ b/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnC_apI_.glif
@@ -0,0 +1,26 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<glyph name="LtnCapI" format="2">
+ <advance width="975"/>
+ <unicode hex="0049"/>
+ <anchor x="477" y="0" name="H"/>
+ <anchor x="477" y="-100" name="L"/>
+ <anchor x="673" y="0" name="O"/>
+ <anchor x="975" y="1200" name="R"/>
+ <anchor x="477" y="1530" name="U"/>
+ <outline>
+ <contour>
+ <point x="140" y="1460" type="line"/>
+ <point x="140" y="1315" type="line"/>
+ <point x="380" y="1315" type="line"/>
+ <point x="380" y="145" type="line"/>
+ <point x="140" y="145" type="line"/>
+ <point x="140" y="0" type="line"/>
+ <point x="815" y="0" type="line"/>
+ <point x="815" y="145" type="line"/>
+ <point x="570" y="145" type="line"/>
+ <point x="570" y="1315" type="line"/>
+ <point x="815" y="1315" type="line"/>
+ <point x="815" y="1460" type="line"/>
+ </contour>
+ </outline>
+</glyph>
diff --git a/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnC_apI_J_.glif b/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnC_apI_J_.glif
new file mode 100644
index 0000000..56f2efb
--- /dev/null
+++ b/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnC_apI_J_.glif
@@ -0,0 +1,9 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<glyph name="LtnCapIJ" format="2">
+ <advance width="1940"/>
+ <unicode hex="0132"/>
+ <outline>
+ <component base="LtnCapI"/>
+ <component base="LtnCapJ" xOffset="975"/>
+ </outline>
+</glyph>
diff --git a/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnC_apJ_.glif b/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnC_apJ_.glif
new file mode 100644
index 0000000..46e2482
--- /dev/null
+++ b/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnC_apJ_.glif
@@ -0,0 +1,30 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<glyph name="LtnCapJ" format="2">
+ <advance width="965"/>
+ <unicode hex="004A"/>
+ <anchor x="410" y="-100" name="L"/>
+ <anchor x="675" y="1530" name="U"/>
+ <outline>
+ <contour>
+ <point x="575" y="1460" type="line"/>
+ <point x="588" y="1354"/>
+ <point x="590" y="1175"/>
+ <point x="590" y="980" type="curve"/>
+ <point x="590" y="485" type="line" smooth="yes"/>
+ <point x="590" y="256"/>
+ <point x="487" y="155"/>
+ <point x="340" y="155" type="curve" smooth="yes"/>
+ <point x="248" y="155"/>
+ <point x="147" y="198"/>
+ <point x="80" y="275" type="curve"/>
+ <point x="35" y="90" type="line"/>
+ <point x="106" y="9"/>
+ <point x="250" y="-25"/>
+ <point x="345" y="-25" type="curve" smooth="yes"/>
+ <point x="602" y="-25"/>
+ <point x="780" y="119"/>
+ <point x="780" y="535" type="curve" smooth="yes"/>
+ <point x="780" y="1460" type="line"/>
+ </contour>
+ </outline>
+</glyph>
diff --git a/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnC_apK_.glif b/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnC_apK_.glif
new file mode 100644
index 0000000..057c735
--- /dev/null
+++ b/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnC_apK_.glif
@@ -0,0 +1,35 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<glyph name="LtnCapK" format="2">
+ <advance width="1310"/>
+ <unicode hex="004B"/>
+ <anchor x="270" y="0" name="H"/>
+ <anchor x="695" y="-100" name="L"/>
+ <anchor x="650" y="1530" name="U"/>
+ <outline>
+ <contour>
+ <point x="925" y="1460" type="line"/>
+ <point x="295" y="703" type="line"/>
+ <point x="425" y="745" type="line"/>
+ <point x="530" y="740" type="line"/>
+ <point x="1165" y="1460" type="line"/>
+ </contour>
+ <contour>
+ <point x="350" y="735" type="line"/>
+ <point x="985" y="0" type="line"/>
+ <point x="1230" y="0" type="line"/>
+ <point x="485" y="860" type="line"/>
+ </contour>
+ <contour>
+ <point x="365" y="1460" type="line"/>
+ <point x="160" y="1460" type="line"/>
+ <point x="175" y="1380"/>
+ <point x="175" y="1222"/>
+ <point x="175" y="1025" type="curve" smooth="yes"/>
+ <point x="175" y="435" type="line" smooth="yes"/>
+ <point x="175" y="238"/>
+ <point x="175" y="80"/>
+ <point x="160" y="0" type="curve"/>
+ <point x="365" y="0" type="line"/>
+ </contour>
+ </outline>
+</glyph>
diff --git a/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnC_apL_.glif b/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnC_apL_.glif
new file mode 100644
index 0000000..52fdb6f
--- /dev/null
+++ b/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnC_apL_.glif
@@ -0,0 +1,28 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<glyph name="LtnCapL" format="2">
+ <advance width="1080"/>
+ <unicode hex="004C"/>
+ <anchor x="592" y="0" name="H"/>
+ <anchor x="592" y="-100" name="L"/>
+ <anchor x="540" y="1200" name="R"/>
+ <anchor x="592" y="1530" name="U"/>
+ <outline>
+ <contour>
+ <point x="365" y="165" type="line"/>
+ <point x="365" y="1460" type="line"/>
+ <point x="160" y="1460" type="line"/>
+ <point x="175" y="1380"/>
+ <point x="175" y="1222"/>
+ <point x="175" y="1025" type="curve" smooth="yes"/>
+ <point x="175" y="435" type="line" smooth="yes"/>
+ <point x="175" y="238"/>
+ <point x="175" y="80"/>
+ <point x="160" y="0" type="curve"/>
+ <point x="1025" y="0" type="line"/>
+ <point x="1025" y="180" type="line"/>
+ <point x="945" y="166"/>
+ <point x="786" y="165"/>
+ <point x="589" y="165" type="curve" smooth="yes"/>
+ </contour>
+ </outline>
+</glyph>
diff --git a/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnC_apM_.glif b/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnC_apM_.glif
new file mode 100644
index 0000000..f350197
--- /dev/null
+++ b/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnC_apM_.glif
@@ -0,0 +1,37 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<glyph name="LtnCapM" format="2">
+ <advance width="1795"/>
+ <unicode hex="004D"/>
+ <anchor x="1521" y="0" name="H"/>
+ <anchor x="885" y="-100" name="L"/>
+ <anchor x="885" y="1530" name="U"/>
+ <outline>
+ <contour>
+ <point x="885" y="205" type="line"/>
+ <point x="455" y="1460" type="line"/>
+ <point x="285" y="1460" type="line"/>
+ <point x="790" y="0" type="line"/>
+ <point x="985" y="0" type="line"/>
+ <point x="1487" y="1460" type="line"/>
+ <point x="1320" y="1460" type="line"/>
+ </contour>
+ <contour>
+ <point x="230" y="1460" type="line"/>
+ <point x="230" y="1460"/>
+ <point x="186" y="198"/>
+ <point x="160" y="0" type="curve"/>
+ <point x="345" y="0" type="line"/>
+ <point x="377" y="1205" type="line"/>
+ <point x="405" y="1460" type="line"/>
+ </contour>
+ <contour>
+ <point x="1610" y="0" type="line"/>
+ <point x="1581" y="198"/>
+ <point x="1540" y="1460"/>
+ <point x="1540" y="1460" type="curve"/>
+ <point x="1365" y="1460" type="line"/>
+ <point x="1397" y="1205" type="line"/>
+ <point x="1425" y="0" type="line"/>
+ </contour>
+ </outline>
+</glyph>
diff --git a/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnC_apN_.glif b/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnC_apN_.glif
new file mode 100644
index 0000000..2aaa015
--- /dev/null
+++ b/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnC_apN_.glif
@@ -0,0 +1,37 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<glyph name="LtnCapN" format="2">
+ <advance width="1500"/>
+ <unicode hex="004E"/>
+ <anchor x="1230" y="0" name="H"/>
+ <anchor x="737" y="-100" name="L"/>
+ <anchor x="737" y="1530" name="U"/>
+ <outline>
+ <contour>
+ <point x="200" y="1355" type="line"/>
+ <point x="1135" y="0" type="line"/>
+ <point x="1275" y="100" type="line"/>
+ <point x="340" y="1460" type="line"/>
+ </contour>
+ <contour>
+ <point x="1135" y="0" type="line"/>
+ <point x="1300" y="0" type="line"/>
+ <point x="1300" y="1025" type="line" smooth="yes"/>
+ <point x="1300" y="1222"/>
+ <point x="1301" y="1380"/>
+ <point x="1315" y="1460" type="curve"/>
+ <point x="1135" y="1460" type="line"/>
+ </contour>
+ <contour>
+ <point x="340" y="1460" type="line"/>
+ <point x="160" y="1460" type="line"/>
+ <point x="175" y="1380"/>
+ <point x="175" y="1222"/>
+ <point x="175" y="1025" type="curve" smooth="yes"/>
+ <point x="175" y="435" type="line" smooth="yes"/>
+ <point x="175" y="238"/>
+ <point x="175" y="80"/>
+ <point x="160" y="0" type="curve"/>
+ <point x="340" y="0" type="line"/>
+ </contour>
+ </outline>
+</glyph>
diff --git a/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnC_apO_.glif b/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnC_apO_.glif
new file mode 100644
index 0000000..a8d9d48
--- /dev/null
+++ b/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnC_apO_.glif
@@ -0,0 +1,40 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<glyph name="LtnCapO" format="2">
+ <advance width="1460"/>
+ <unicode hex="004F"/>
+ <anchor x="717" y="0" name="H"/>
+ <anchor x="717" y="-100" name="L"/>
+ <anchor x="994" y="0" name="O"/>
+ <anchor x="1460" y="1200" name="R"/>
+ <anchor x="717" y="1530" name="U"/>
+ <outline>
+ <contour>
+ <point x="1145" y="715" type="curve" smooth="yes"/>
+ <point x="1145" y="360"/>
+ <point x="965" y="150"/>
+ <point x="720" y="150" type="curve" smooth="yes"/>
+ <point x="460" y="150"/>
+ <point x="290" y="380"/>
+ <point x="290" y="745" type="curve" smooth="yes"/>
+ <point x="290" y="1091"/>
+ <point x="467" y="1310"/>
+ <point x="720" y="1310" type="curve" smooth="yes"/>
+ <point x="974" y="1310"/>
+ <point x="1145" y="1084"/>
+ </contour>
+ <contour>
+ <point x="1340" y="740" type="curve" smooth="yes"/>
+ <point x="1340" y="1219"/>
+ <point x="1048" y="1485"/>
+ <point x="730" y="1485" type="curve" smooth="yes"/>
+ <point x="407" y="1485"/>
+ <point x="95" y="1199"/>
+ <point x="95" y="720" type="curve" smooth="yes"/>
+ <point x="95" y="241"/>
+ <point x="388" y="-25"/>
+ <point x="710" y="-25" type="curve" smooth="yes"/>
+ <point x="1029" y="-25"/>
+ <point x="1340" y="260"/>
+ </contour>
+ </outline>
+</glyph>
diff --git a/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnC_apP_.glif b/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnC_apP_.glif
new file mode 100644
index 0000000..951363e
--- /dev/null
+++ b/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnC_apP_.glif
@@ -0,0 +1,50 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<glyph name="LtnCapP" format="2">
+ <advance width="1195"/>
+ <unicode hex="0050"/>
+ <anchor x="637" y="-100" name="L"/>
+ <anchor x="637" y="1530" name="U"/>
+ <outline>
+ <contour>
+ <point x="365" y="565" type="line"/>
+ <point x="430" y="558"/>
+ <point x="512" y="555"/>
+ <point x="585" y="555" type="curve" smooth="yes"/>
+ <point x="914" y="555"/>
+ <point x="1115" y="736"/>
+ <point x="1115" y="1030" type="curve" smooth="yes"/>
+ <point x="1115" y="1322"/>
+ <point x="908" y="1470"/>
+ <point x="585" y="1470" type="curve" smooth="yes"/>
+ <point x="372" y="1470"/>
+ <point x="160" y="1460"/>
+ <point x="160" y="1460" type="curve"/>
+ <point x="175" y="1380"/>
+ <point x="175" y="1196"/>
+ <point x="175" y="1000" type="curve"/>
+ <point x="175" y="435" type="line" smooth="yes"/>
+ <point x="175" y="238"/>
+ <point x="175" y="80"/>
+ <point x="160" y="0" type="curve"/>
+ <point x="380" y="0" type="line"/>
+ <point x="366" y="78"/>
+ <point x="365" y="237"/>
+ <point x="365" y="435" type="curve" smooth="yes"/>
+ </contour>
+ <contour>
+ <point x="365" y="1305" type="line"/>
+ <point x="433" y="1308"/>
+ <point x="481" y="1310"/>
+ <point x="575" y="1310" type="curve" smooth="yes"/>
+ <point x="841" y="1310"/>
+ <point x="925" y="1170"/>
+ <point x="925" y="1010" type="curve" smooth="yes"/>
+ <point x="925" y="849"/>
+ <point x="850" y="710"/>
+ <point x="570" y="710" type="curve" smooth="yes"/>
+ <point x="495" y="710"/>
+ <point x="428" y="712"/>
+ <point x="365" y="720" type="curve"/>
+ </contour>
+ </outline>
+</glyph>
diff --git a/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnC_apQ_.glif b/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnC_apQ_.glif
new file mode 100644
index 0000000..f77cfcc
--- /dev/null
+++ b/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnC_apQ_.glif
@@ -0,0 +1,49 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<glyph name="LtnCapQ" format="2">
+ <advance width="1475"/>
+ <unicode hex="0051"/>
+ <anchor x="717" y="-270" name="L"/>
+ <anchor x="717" y="1530" name="U"/>
+ <outline>
+ <contour>
+ <point x="1340" y="740" type="curve" smooth="yes"/>
+ <point x="1340" y="1219"/>
+ <point x="1053" y="1485"/>
+ <point x="730" y="1485" type="curve" smooth="yes"/>
+ <point x="407" y="1485"/>
+ <point x="95" y="1199"/>
+ <point x="95" y="720" type="curve" smooth="yes"/>
+ <point x="95" y="241"/>
+ <point x="383" y="-25"/>
+ <point x="705" y="-25" type="curve" smooth="yes"/>
+ <point x="767" y="-25"/>
+ <point x="818" y="-18"/>
+ <point x="875" y="0" type="curve"/>
+ <point x="944" y="0"/>
+ <point x="1236" y="-190"/>
+ <point x="1320" y="-190" type="curve" smooth="yes"/>
+ <point x="1374" y="-190"/>
+ <point x="1431" y="-81"/>
+ <point x="1455" y="-45" type="curve"/>
+ <point x="1321" y="-28"/>
+ <point x="1205" y="28"/>
+ <point x="1080" y="105" type="curve"/>
+ <point x="1256" y="236"/>
+ <point x="1340" y="479"/>
+ </contour>
+ <contour>
+ <point x="1145" y="715" type="curve" smooth="yes"/>
+ <point x="1145" y="360"/>
+ <point x="965" y="150"/>
+ <point x="720" y="150" type="curve" smooth="yes"/>
+ <point x="460" y="150"/>
+ <point x="290" y="380"/>
+ <point x="290" y="745" type="curve" smooth="yes"/>
+ <point x="290" y="1091"/>
+ <point x="467" y="1310"/>
+ <point x="720" y="1310" type="curve" smooth="yes"/>
+ <point x="974" y="1310"/>
+ <point x="1145" y="1084"/>
+ </contour>
+ </outline>
+</glyph>
diff --git a/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnC_apR_.glif b/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnC_apR_.glif
new file mode 100644
index 0000000..5c26573
--- /dev/null
+++ b/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnC_apR_.glif
@@ -0,0 +1,55 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<glyph name="LtnCapR" format="2">
+ <advance width="1305"/>
+ <unicode hex="0052"/>
+ <anchor x="285" y="0" name="H"/>
+ <anchor x="610" y="-100" name="L"/>
+ <anchor x="610" y="1530" name="U"/>
+ <outline>
+ <contour>
+ <point x="365" y="625" type="line"/>
+ <point x="620" y="625" type="line"/>
+ <point x="805" y="625"/>
+ <point x="1090" y="743"/>
+ <point x="1090" y="1060" type="curve" smooth="yes"/>
+ <point x="1090" y="1349"/>
+ <point x="876" y="1470"/>
+ <point x="565" y="1470" type="curve" smooth="yes"/>
+ <point x="331" y="1470"/>
+ <point x="160" y="1460"/>
+ <point x="160" y="1460" type="curve"/>
+ <point x="175" y="1380"/>
+ <point x="175" y="1196"/>
+ <point x="175" y="1000" type="curve" smooth="yes"/>
+ <point x="175" y="435" type="line"/>
+ <point x="175" y="238"/>
+ <point x="175" y="80"/>
+ <point x="160" y="0" type="curve"/>
+ <point x="380" y="0" type="line"/>
+ <point x="366" y="78"/>
+ <point x="365" y="238"/>
+ <point x="365" y="435" type="curve"/>
+ </contour>
+ <contour>
+ <point x="365" y="1305" type="line"/>
+ <point x="418" y="1307"/>
+ <point x="485" y="1310"/>
+ <point x="555" y="1310" type="curve" smooth="yes"/>
+ <point x="800" y="1310"/>
+ <point x="900" y="1216"/>
+ <point x="900" y="1045" type="curve" smooth="yes"/>
+ <point x="900" y="879"/>
+ <point x="780" y="780"/>
+ <point x="555" y="780" type="curve"/>
+ <point x="365" y="780" type="line"/>
+ </contour>
+ <contour>
+ <point x="561" y="635" type="line"/>
+ <point x="990" y="0" type="line"/>
+ <point x="1245" y="0" type="line"/>
+ <point x="1178" y="73"/>
+ <point x="715" y="710"/>
+ <point x="715" y="710" type="curve"/>
+ </contour>
+ </outline>
+</glyph>
diff --git a/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnC_apS_.glif b/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnC_apS_.glif
new file mode 100644
index 0000000..d366837
--- /dev/null
+++ b/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnC_apS_.glif
@@ -0,0 +1,50 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<glyph name="LtnCapS" format="2">
+ <advance width="1175"/>
+ <unicode hex="0053"/>
+ <anchor x="580" y="0" name="H"/>
+ <anchor x="580" y="-100" name="L"/>
+ <anchor x="580" y="1530" name="U"/>
+ <outline>
+ <contour>
+ <point x="1000" y="1395" type="line"/>
+ <point x="870" y="1458"/>
+ <point x="759" y="1485"/>
+ <point x="605" y="1485" type="curve" smooth="yes"/>
+ <point x="273" y="1485"/>
+ <point x="135" y="1250"/>
+ <point x="135" y="1080" type="curve" smooth="yes"/>
+ <point x="135" y="910"/>
+ <point x="203" y="778"/>
+ <point x="515" y="685" type="curve" smooth="yes"/>
+ <point x="827" y="591"/>
+ <point x="875" y="510"/>
+ <point x="875" y="405" type="curve" smooth="yes"/>
+ <point x="875" y="243"/>
+ <point x="726" y="150"/>
+ <point x="565" y="150" type="curve" smooth="yes"/>
+ <point x="417" y="150"/>
+ <point x="272" y="200"/>
+ <point x="140" y="315" type="curve"/>
+ <point x="95" y="110" type="line"/>
+ <point x="197" y="31"/>
+ <point x="372" y="-25"/>
+ <point x="565" y="-25" type="curve" smooth="yes"/>
+ <point x="838" y="-25"/>
+ <point x="1065" y="157"/>
+ <point x="1065" y="425" type="curve" smooth="yes"/>
+ <point x="1065" y="641"/>
+ <point x="920" y="762"/>
+ <point x="655" y="840" type="curve" smooth="yes"/>
+ <point x="370" y="923"/>
+ <point x="325" y="985"/>
+ <point x="325" y="1095" type="curve" smooth="yes"/>
+ <point x="325" y="1205"/>
+ <point x="435" y="1310"/>
+ <point x="595" y="1310" type="curve" smooth="yes"/>
+ <point x="723" y="1310"/>
+ <point x="817" y="1279"/>
+ <point x="960" y="1200" type="curve"/>
+ </contour>
+ </outline>
+</glyph>
diff --git a/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnC_apT_.glif b/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnC_apT_.glif
new file mode 100644
index 0000000..04a79a2
--- /dev/null
+++ b/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnC_apT_.glif
@@ -0,0 +1,32 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<glyph name="LtnCapT" format="2">
+ <advance width="1265"/>
+ <unicode hex="0054"/>
+ <anchor x="622" y="0" name="H"/>
+ <anchor x="622" y="-100" name="L"/>
+ <anchor x="622" y="1530" name="U"/>
+ <outline>
+ <contour>
+ <point x="45" y="1460" type="line"/>
+ <point x="45" y="1275" type="line"/>
+ <point x="125" y="1292"/>
+ <point x="201" y="1295"/>
+ <point x="290" y="1295" type="curve" smooth="yes"/>
+ <point x="525" y="1295" type="line"/>
+ <point x="525" y="435" type="line" smooth="yes"/>
+ <point x="525" y="238"/>
+ <point x="522" y="80"/>
+ <point x="505" y="0" type="curve"/>
+ <point x="735" y="0" type="line"/>
+ <point x="718" y="80"/>
+ <point x="715" y="238"/>
+ <point x="715" y="435" type="curve" smooth="yes"/>
+ <point x="715" y="1295" type="line"/>
+ <point x="955" y="1295" type="line" smooth="yes"/>
+ <point x="1045" y="1295"/>
+ <point x="1120" y="1292"/>
+ <point x="1200" y="1275" type="curve"/>
+ <point x="1200" y="1460" type="line"/>
+ </contour>
+ </outline>
+</glyph>
diff --git a/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnC_apU_.glif b/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnC_apU_.glif
new file mode 100644
index 0000000..89a8ff7
--- /dev/null
+++ b/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnC_apU_.glif
@@ -0,0 +1,38 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<glyph name="LtnCapU" format="2">
+ <advance width="1440"/>
+ <unicode hex="0055"/>
+ <anchor x="707" y="0" name="H"/>
+ <anchor x="707" y="-100" name="L"/>
+ <anchor x="1026" y="0" name="O"/>
+ <anchor x="1400" y="1200" name="R"/>
+ <anchor x="707" y="1530" name="U"/>
+ <outline>
+ <contour>
+ <point x="1050" y="1460" type="line"/>
+ <point x="1050" y="560" type="line" smooth="yes"/>
+ <point x="1050" y="299"/>
+ <point x="968" y="135"/>
+ <point x="710" y="135" type="curve" smooth="yes"/>
+ <point x="447" y="135"/>
+ <point x="365" y="299"/>
+ <point x="365" y="560" type="curve" smooth="yes"/>
+ <point x="365" y="1460" type="line"/>
+ <point x="160" y="1460" type="line"/>
+ <point x="174" y="1380"/>
+ <point x="175" y="1222"/>
+ <point x="175" y="1025" type="curve" smooth="yes"/>
+ <point x="175" y="515" type="line"/>
+ <point x="175" y="190"/>
+ <point x="345" y="-25"/>
+ <point x="710" y="-25" type="curve" smooth="yes"/>
+ <point x="1071" y="-25"/>
+ <point x="1240" y="190"/>
+ <point x="1240" y="515" type="curve"/>
+ <point x="1240" y="1025" type="line" smooth="yes"/>
+ <point x="1240" y="1232"/>
+ <point x="1242" y="1380"/>
+ <point x="1255" y="1460" type="curve"/>
+ </contour>
+ </outline>
+</glyph>
diff --git a/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnC_apV_.glif b/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnC_apV_.glif
new file mode 100644
index 0000000..997a8a7
--- /dev/null
+++ b/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnC_apV_.glif
@@ -0,0 +1,26 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<glyph name="LtnCapV" format="2">
+ <advance width="1365"/>
+ <unicode hex="0056"/>
+ <anchor x="680" y="0" name="H"/>
+ <anchor x="672" y="-100" name="L"/>
+ <anchor x="880" y="0" name="O"/>
+ <anchor x="672" y="1530" name="U"/>
+ <outline>
+ <contour>
+ <point x="1095" y="1460" type="line"/>
+ <point x="672" y="195" type="line"/>
+ <point x="250" y="1460" type="line"/>
+ <point x="35" y="1460" type="line"/>
+ <point x="68" y="1378"/>
+ <point x="101" y="1288"/>
+ <point x="170" y="1095" type="curve" smooth="yes"/>
+ <point x="560" y="0" type="line"/>
+ <point x="785" y="0" type="line"/>
+ <point x="1170" y="1095" type="line" smooth="yes"/>
+ <point x="1238" y="1289"/>
+ <point x="1274" y="1378"/>
+ <point x="1310" y="1460" type="curve"/>
+ </contour>
+ </outline>
+</glyph>
diff --git a/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnC_apW_.glif b/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnC_apW_.glif
new file mode 100644
index 0000000..2c1334b
--- /dev/null
+++ b/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnC_apW_.glif
@@ -0,0 +1,45 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<glyph name="LtnCapW" format="2">
+ <advance width="2080"/>
+ <unicode hex="0057"/>
+ <anchor x="1027" y="-100" name="L"/>
+ <anchor x="1027" y="1530" name="U"/>
+ <outline>
+ <contour>
+ <point x="1480" y="0" type="line"/>
+ <point x="1595" y="0" type="line"/>
+ <point x="1900" y="1095" type="line" smooth="yes"/>
+ <point x="1954" y="1289"/>
+ <point x="1983" y="1378"/>
+ <point x="2015" y="1460" type="curve"/>
+ <point x="1795" y="1460" type="line"/>
+ <point x="1470" y="130" type="line"/>
+ </contour>
+ <contour>
+ <point x="1120" y="1460" type="line"/>
+ <point x="935" y="1460" type="line"/>
+ <point x="990" y="1305" type="line"/>
+ <point x="1370" y="0" type="line"/>
+ <point x="1480" y="0" type="line"/>
+ <point x="1500" y="130" type="line"/>
+ </contour>
+ <contour>
+ <point x="580" y="0" type="line"/>
+ <point x="685" y="0" type="line"/>
+ <point x="1065" y="1305" type="line"/>
+ <point x="1120" y="1460" type="line"/>
+ <point x="935" y="1460" type="line"/>
+ <point x="560" y="130" type="line"/>
+ </contour>
+ <contour>
+ <point x="260" y="1460" type="line"/>
+ <point x="40" y="1460" type="line"/>
+ <point x="71" y="1381"/>
+ <point x="102" y="1286"/>
+ <point x="155" y="1095" type="curve" smooth="yes"/>
+ <point x="460" y="0" type="line"/>
+ <point x="580" y="0" type="line"/>
+ <point x="590" y="130" type="line"/>
+ </contour>
+ </outline>
+</glyph>
diff --git a/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnC_apX_.glif b/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnC_apX_.glif
new file mode 100644
index 0000000..441f459
--- /dev/null
+++ b/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnC_apX_.glif
@@ -0,0 +1,35 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<glyph name="LtnCapX" format="2">
+ <advance width="1325"/>
+ <unicode hex="0058"/>
+ <anchor x="650" y="-100" name="L"/>
+ <anchor x="650" y="1530" name="U"/>
+ <outline>
+ <contour>
+ <point x="537" y="781" type="line"/>
+ <point x="265" y="340" type="line" smooth="yes"/>
+ <point x="136" y="132"/>
+ <point x="103" y="86"/>
+ <point x="40" y="0" type="curve"/>
+ <point x="270" y="0" type="line"/>
+ <point x="642" y="614" type="line"/>
+ <point x="1030" y="0" type="line"/>
+ <point x="1260" y="0" type="line"/>
+ <point x="1199" y="82"/>
+ <point x="1165" y="127"/>
+ <point x="1033" y="336" type="curve" smooth="yes"/>
+ <point x="761" y="767" type="line"/>
+ <point x="972" y="1110" type="line" smooth="yes"/>
+ <point x="1097" y="1313"/>
+ <point x="1148" y="1383"/>
+ <point x="1210" y="1460" type="curve"/>
+ <point x="975" y="1460" type="line"/>
+ <point x="656" y="934" type="line"/>
+ <point x="325" y="1460" type="line"/>
+ <point x="90" y="1460" type="line"/>
+ <point x="154" y="1376"/>
+ <point x="201" y="1315"/>
+ <point x="330" y="1110" type="curve"/>
+ </contour>
+ </outline>
+</glyph>
diff --git a/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnC_apY_.glif b/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnC_apY_.glif
new file mode 100644
index 0000000..e21cdce
--- /dev/null
+++ b/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnC_apY_.glif
@@ -0,0 +1,32 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<glyph name="LtnCapY" format="2">
+ <advance width="1320"/>
+ <unicode hex="0059"/>
+ <anchor x="650" y="-100" name="L"/>
+ <anchor x="650" y="1530" name="U"/>
+ <outline>
+ <contour>
+ <point x="35" y="1460" type="line"/>
+ <point x="147" y="1311"/>
+ <point x="213" y="1197"/>
+ <point x="290" y="1065" type="curve" smooth="yes"/>
+ <point x="555" y="611" type="line"/>
+ <point x="555" y="435" type="line" smooth="yes"/>
+ <point x="555" y="238"/>
+ <point x="555" y="80"/>
+ <point x="540" y="0" type="curve"/>
+ <point x="760" y="0" type="line"/>
+ <point x="745" y="80"/>
+ <point x="745" y="238"/>
+ <point x="745" y="435" type="curve" smooth="yes"/>
+ <point x="745" y="603" type="line"/>
+ <point x="1015" y="1065" type="line" smooth="yes"/>
+ <point x="1091" y="1195"/>
+ <point x="1147" y="1291"/>
+ <point x="1265" y="1460" type="curve"/>
+ <point x="1035" y="1460" type="line"/>
+ <point x="660" y="799" type="line"/>
+ <point x="265" y="1460" type="line"/>
+ </contour>
+ </outline>
+</glyph>
diff --git a/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnS_mA_.glif b/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnS_mA_.glif
new file mode 100644
index 0000000..85a2cbd
--- /dev/null
+++ b/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnS_mA_.glif
@@ -0,0 +1,68 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<glyph name="LtnSmA" format="2">
+ <advance width="1120"/>
+ <unicode hex="0061"/>
+ <note>
+GlyphNote A
+</note>
+ <anchor x="540" y="0" name="H"/>
+ <anchor x="540" y="-100" name="L"/>
+ <anchor x="1125" y="0" name="O"/>
+ <anchor x="1120" y="1000" name="R"/>
+ <anchor x="540" y="1100" name="U"/>
+ <outline>
+ <contour>
+ <point x="950" y="760" type="line"/>
+ <point x="950" y="919"/>
+ <point x="800" y="1040"/>
+ <point x="570" y="1040" type="curve" smooth="yes"/>
+ <point x="418" y="1040"/>
+ <point x="312" y="994"/>
+ <point x="209" y="950" type="curve"/>
+ <point x="203" y="907"/>
+ <point x="200" y="799"/>
+ <point x="199" y="755" type="curve"/>
+ <point x="316" y="837"/>
+ <point x="419" y="880"/>
+ <point x="525" y="880" type="curve" smooth="yes"/>
+ <point x="675" y="880"/>
+ <point x="765" y="831"/>
+ <point x="765" y="710" type="curve" smooth="yes"/>
+ <point x="765" y="635" type="line"/>
+ <point x="724" y="632"/>
+ <point x="564" y="617"/>
+ <point x="495" y="610" type="curve" smooth="yes"/>
+ <point x="186" y="580"/>
+ <point x="95" y="407"/>
+ <point x="95" y="255" type="curve" smooth="yes"/>
+ <point x="95" y="107"/>
+ <point x="232" y="-25"/>
+ <point x="420" y="-25" type="curve" smooth="yes"/>
+ <point x="544" y="-25"/>
+ <point x="677" y="29"/>
+ <point x="795" y="155" type="curve"/>
+ <point x="809" y="91"/>
+ <point x="833" y="32"/>
+ <point x="845" y="0" type="curve"/>
+ <point x="1025" y="0" type="line"/>
+ <point x="981" y="112"/>
+ <point x="950" y="226"/>
+ <point x="950" y="370" type="curve"/>
+ </contour>
+ <contour>
+ <point x="765" y="325" type="line"/>
+ <point x="644" y="164"/>
+ <point x="552" y="140"/>
+ <point x="450" y="140" type="curve" smooth="yes"/>
+ <point x="340" y="140"/>
+ <point x="275" y="191"/>
+ <point x="275" y="280" type="curve" smooth="yes"/>
+ <point x="275" y="372"/>
+ <point x="335" y="450"/>
+ <point x="505" y="470" type="curve" smooth="yes"/>
+ <point x="568" y="478"/>
+ <point x="715" y="493"/>
+ <point x="765" y="495" type="curve"/>
+ </contour>
+ </outline>
+</glyph>
diff --git a/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnS_mA_A_cute.glif b/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnS_mA_A_cute.glif
new file mode 100644
index 0000000..f65e4af
--- /dev/null
+++ b/tests/reference/fontparts/psfbuildcompgc.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="1120"/>
+ <unicode hex="00E1"/>
+ <anchor x="540" y="0" name="H"/>
+ <anchor x="540" y="-100" name="L"/>
+ <anchor x="1125" y="0" name="O"/>
+ <anchor x="1120" y="1000" name="R"/>
+ <anchor x="540" y="1635" name="U"/>
+ <outline>
+ <component base="LtnSmA"/>
+ <component base="CombAcute" xOffset="1110"/>
+ </outline>
+</glyph>
diff --git a/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnS_mA_C_ircum.glif b/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnS_mA_C_ircum.glif
new file mode 100644
index 0000000..3029ff4
--- /dev/null
+++ b/tests/reference/fontparts/psfbuildcompgc.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="1120"/>
+ <unicode hex="00E2"/>
+ <anchor x="540" y="0" name="H"/>
+ <anchor x="540" y="-100" name="L"/>
+ <anchor x="1125" y="0" name="O"/>
+ <anchor x="1120" y="1000" name="R"/>
+ <anchor x="540" y="1635" name="U"/>
+ <outline>
+ <component base="LtnSmA"/>
+ <component base="CombCircum" xOffset="1110"/>
+ </outline>
+</glyph>
diff --git a/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnS_mA_D_iaer.glif b/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnS_mA_D_iaer.glif
new file mode 100644
index 0000000..a276885
--- /dev/null
+++ b/tests/reference/fontparts/psfbuildcompgc.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="1120"/>
+ <unicode hex="00E4"/>
+ <anchor x="540" y="0" name="H"/>
+ <anchor x="540" y="-100" name="L"/>
+ <anchor x="1125" y="0" name="O"/>
+ <anchor x="1120" y="1000" name="R"/>
+ <anchor x="540" y="1505" name="U"/>
+ <outline>
+ <component base="LtnSmA"/>
+ <component base="CombDiaer" xOffset="1110"/>
+ </outline>
+</glyph>
diff --git a/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnS_mA_G_rave.glif b/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnS_mA_G_rave.glif
new file mode 100644
index 0000000..d738e2a
--- /dev/null
+++ b/tests/reference/fontparts/psfbuildcompgc.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="1120"/>
+ <unicode hex="00E0"/>
+ <anchor x="540" y="0" name="H"/>
+ <anchor x="540" y="-100" name="L"/>
+ <anchor x="1125" y="0" name="O"/>
+ <anchor x="1120" y="1000" name="R"/>
+ <anchor x="540" y="1635" name="U"/>
+ <outline>
+ <component base="LtnSmA"/>
+ <component base="CombGrave" xOffset="1090"/>
+ </outline>
+</glyph>
diff --git a/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnS_mA_R_ingA_bv.glif b/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnS_mA_R_ingA_bv.glif
new file mode 100644
index 0000000..30de698
--- /dev/null
+++ b/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnS_mA_R_ingA_bv.glif
@@ -0,0 +1,41 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<glyph name="LtnSmARingAbv" format="2">
+ <advance width="1120"/>
+ <unicode hex="00E5"/>
+ <anchor x="540" y="0" name="H"/>
+ <anchor x="540" y="-100" name="L"/>
+ <anchor x="1125" y="0" name="O"/>
+ <anchor x="1120" y="1000" name="R"/>
+ <anchor x="542" y="1635" name="U"/>
+ <outline>
+ <contour>
+ <point x="642" y="1385" type="curve" smooth="yes"/>
+ <point x="642" y="1325"/>
+ <point x="602" y="1285"/>
+ <point x="542" y="1285" type="curve" smooth="yes"/>
+ <point x="482" y="1285"/>
+ <point x="442" y="1325"/>
+ <point x="442" y="1385" type="curve" smooth="yes"/>
+ <point x="442" y="1445"/>
+ <point x="482" y="1485"/>
+ <point x="542" y="1485" type="curve" smooth="yes"/>
+ <point x="602" y="1485"/>
+ <point x="642" y="1445"/>
+ </contour>
+ <contour>
+ <point x="327" y="1385" type="curve" smooth="yes"/>
+ <point x="327" y="1265"/>
+ <point x="422" y="1170"/>
+ <point x="542" y="1170" type="curve" smooth="yes"/>
+ <point x="662" y="1170"/>
+ <point x="757" y="1265"/>
+ <point x="757" y="1385" type="curve" smooth="yes"/>
+ <point x="757" y="1505"/>
+ <point x="662" y="1600"/>
+ <point x="542" y="1600" type="curve" smooth="yes"/>
+ <point x="422" y="1600"/>
+ <point x="327" y="1505"/>
+ </contour>
+ <component base="LtnSmA"/>
+ </outline>
+</glyph>
diff --git a/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnS_mA_T_ilde.glif b/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnS_mA_T_ilde.glif
new file mode 100644
index 0000000..83f6f41
--- /dev/null
+++ b/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnS_mA_T_ilde.glif
@@ -0,0 +1,41 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<glyph name="LtnSmATilde" format="2">
+ <advance width="1120"/>
+ <unicode hex="00E3"/>
+ <anchor x="540" y="0" name="H"/>
+ <anchor x="540" y="-100" name="L"/>
+ <anchor x="1125" y="0" name="O"/>
+ <anchor x="1120" y="1000" name="R"/>
+ <anchor x="540" y="1475" name="U"/>
+ <outline>
+ <contour>
+ <point x="295" y="1205" type="line"/>
+ <point x="300" y="1254"/>
+ <point x="331" y="1290"/>
+ <point x="380" y="1290" type="curve" smooth="yes"/>
+ <point x="417" y="1290"/>
+ <point x="458" y="1274"/>
+ <point x="535" y="1238" type="curve" smooth="yes"/>
+ <point x="596" y="1210"/>
+ <point x="649" y="1190"/>
+ <point x="702" y="1190" type="curve" smooth="yes"/>
+ <point x="825" y="1190"/>
+ <point x="900" y="1312"/>
+ <point x="900" y="1440" type="curve"/>
+ <point x="795" y="1440" type="line"/>
+ <point x="788" y="1394"/>
+ <point x="757" y="1355"/>
+ <point x="710" y="1355" type="curve" smooth="yes"/>
+ <point x="668" y="1355"/>
+ <point x="627" y="1374"/>
+ <point x="555" y="1403" type="curve" smooth="yes"/>
+ <point x="485" y="1431"/>
+ <point x="438" y="1455"/>
+ <point x="382" y="1455" type="curve" smooth="yes"/>
+ <point x="263" y="1455"/>
+ <point x="190" y="1327"/>
+ <point x="190" y="1205" type="curve"/>
+ </contour>
+ <component base="LtnSmA"/>
+ </outline>
+</glyph>
diff --git a/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnS_mB_.glif b/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnS_mB_.glif
new file mode 100644
index 0000000..ab7bcde
--- /dev/null
+++ b/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnS_mB_.glif
@@ -0,0 +1,50 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<glyph name="LtnSmB" format="2">
+ <advance width="1155"/>
+ <unicode hex="0062"/>
+ <anchor x="590" y="0" name="H"/>
+ <anchor x="590" y="-100" name="L"/>
+ <anchor x="1155" y="1000" name="R"/>
+ <anchor x="590" y="1635" name="U"/>
+ <outline>
+ <contour>
+ <point x="130" y="1600" type="line"/>
+ <point x="145" y="1488"/>
+ <point x="145" y="1273"/>
+ <point x="145" y="1130" type="curve" smooth="yes"/>
+ <point x="145" y="936"/>
+ <point x="145" y="228"/>
+ <point x="145" y="65" type="curve"/>
+ <point x="272" y="26"/>
+ <point x="413" y="-25"/>
+ <point x="575" y="-25" type="curve" smooth="yes"/>
+ <point x="870" y="-25"/>
+ <point x="1060" y="197"/>
+ <point x="1060" y="540" type="curve" smooth="yes"/>
+ <point x="1060" y="832"/>
+ <point x="917" y="1040"/>
+ <point x="715" y="1040" type="curve" smooth="yes"/>
+ <point x="547" y="1040"/>
+ <point x="423" y="947"/>
+ <point x="330" y="825" type="curve"/>
+ <point x="330" y="916"/>
+ <point x="330" y="1600"/>
+ <point x="330" y="1600" type="curve"/>
+ </contour>
+ <contour>
+ <point x="330" y="585" type="line"/>
+ <point x="398" y="751"/>
+ <point x="531" y="865"/>
+ <point x="655" y="865" type="curve" smooth="yes"/>
+ <point x="799" y="865"/>
+ <point x="880" y="727"/>
+ <point x="880" y="505" type="curve" smooth="yes"/>
+ <point x="880" y="280"/>
+ <point x="752" y="130"/>
+ <point x="575" y="130" type="curve" smooth="yes"/>
+ <point x="489" y="130"/>
+ <point x="428" y="144"/>
+ <point x="330" y="185" type="curve"/>
+ </contour>
+ </outline>
+</glyph>
diff --git a/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnS_mC_.glif b/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnS_mC_.glif
new file mode 100644
index 0000000..39f16eb
--- /dev/null
+++ b/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnS_mC_.glif
@@ -0,0 +1,39 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<glyph name="LtnSmC" format="2">
+ <advance width="1020"/>
+ <unicode hex="0063"/>
+ <anchor x="580" y="0" name="H"/>
+ <anchor x="580" y="-100" name="L"/>
+ <anchor x="1020" y="1000" name="R"/>
+ <anchor x="570" y="1100" name="U"/>
+ <outline>
+ <contour>
+ <point x="905" y="260" type="line"/>
+ <point x="818" y="183"/>
+ <point x="720" y="140"/>
+ <point x="600" y="140" type="curve" smooth="yes"/>
+ <point x="406" y="140"/>
+ <point x="285" y="285"/>
+ <point x="285" y="500" type="curve" smooth="yes"/>
+ <point x="285" y="736"/>
+ <point x="422" y="875"/>
+ <point x="600" y="875" type="curve" smooth="yes"/>
+ <point x="703" y="875"/>
+ <point x="790" y="841"/>
+ <point x="880" y="775" type="curve"/>
+ <point x="915" y="955" type="line"/>
+ <point x="842" y="1005"/>
+ <point x="748" y="1040"/>
+ <point x="615" y="1040" type="curve" smooth="yes"/>
+ <point x="297" y="1040"/>
+ <point x="95" y="792"/>
+ <point x="95" y="490" type="curve" smooth="yes"/>
+ <point x="95" y="171"/>
+ <point x="312" y="-25"/>
+ <point x="580" y="-25" type="curve" smooth="yes"/>
+ <point x="730" y="-25"/>
+ <point x="824" y="9"/>
+ <point x="925" y="85" type="curve"/>
+ </contour>
+ </outline>
+</glyph>
diff --git a/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnS_mC_A_cute.glif b/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnS_mC_A_cute.glif
new file mode 100644
index 0000000..de7824f
--- /dev/null
+++ b/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnS_mC_A_cute.glif
@@ -0,0 +1,9 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<glyph name="LtnSmCAcute" format="2">
+ <advance width="1355"/>
+ <unicode hex="0107"/>
+ <outline>
+ <component base="LtnCapC"/>
+ <component base="CombAcute" xOffset="1320.0" yOffset="430.0"/>
+ </outline>
+</glyph>
diff --git a/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnS_mC_A_cuteC_edilla.glif b/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnS_mC_A_cuteC_edilla.glif
new file mode 100644
index 0000000..0c65825
--- /dev/null
+++ b/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnS_mC_A_cuteC_edilla.glif
@@ -0,0 +1,10 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<glyph name="LtnSmCAcuteCedilla" format="2">
+ <advance width="1020"/>
+ <unicode hex="1E09"/>
+ <outline>
+ <component base="LtnSmC"/>
+ <component base="CombCedilla" xOffset="580.0"/>
+ <component base="CombAcute" xOffset="1140.0"/>
+ </outline>
+</glyph>
diff --git a/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnS_mC_C_ircum.glif b/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnS_mC_C_ircum.glif
new file mode 100644
index 0000000..5fc7213
--- /dev/null
+++ b/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnS_mC_C_ircum.glif
@@ -0,0 +1,9 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<glyph name="LtnSmCCircum" format="2">
+ <advance width="1020"/>
+ <unicode hex="0109"/>
+ <outline>
+ <component base="LtnSmC"/>
+ <component base="CombCircum" xOffset="1140.0"/>
+ </outline>
+</glyph>
diff --git a/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnS_mD_.glif b/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnS_mD_.glif
new file mode 100644
index 0000000..bbf7c3f
--- /dev/null
+++ b/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnS_mD_.glif
@@ -0,0 +1,53 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<glyph name="LtnSmD" format="2">
+ <advance width="1190"/>
+ <unicode hex="0064"/>
+ <anchor x="605" y="0" name="H"/>
+ <anchor x="605" y="-100" name="L"/>
+ <anchor x="1190" y="1000" name="R"/>
+ <anchor x="605" y="1635" name="U"/>
+ <outline>
+ <contour>
+ <point x="1030" y="1600" type="line"/>
+ <point x="820" y="1600" type="line"/>
+ <point x="839" y="1516"/>
+ <point x="845" y="1395"/>
+ <point x="845" y="1235" type="curve"/>
+ <point x="845" y="955" type="line"/>
+ <point x="767" y="999"/>
+ <point x="665" y="1040"/>
+ <point x="580" y="1040" type="curve" smooth="yes"/>
+ <point x="312" y="1040"/>
+ <point x="105" y="814"/>
+ <point x="105" y="460" type="curve" smooth="yes"/>
+ <point x="105" y="167"/>
+ <point x="261" y="-25"/>
+ <point x="505" y="-25" type="curve" smooth="yes"/>
+ <point x="652" y="-25"/>
+ <point x="775" y="50"/>
+ <point x="870" y="185" type="curve"/>
+ <point x="887" y="111"/>
+ <point x="910" y="34"/>
+ <point x="925" y="0" type="curve"/>
+ <point x="1105" y="0" type="line"/>
+ <point x="1062" y="112"/>
+ <point x="1030" y="278"/>
+ <point x="1030" y="530" type="curve"/>
+ </contour>
+ <contour>
+ <point x="845" y="400" type="line"/>
+ <point x="790" y="268"/>
+ <point x="662" y="135"/>
+ <point x="540" y="135" type="curve" smooth="yes"/>
+ <point x="366" y="135"/>
+ <point x="290" y="258"/>
+ <point x="290" y="490" type="curve" smooth="yes"/>
+ <point x="290" y="727"/>
+ <point x="429" y="870"/>
+ <point x="580" y="870" type="curve" smooth="yes"/>
+ <point x="681" y="870"/>
+ <point x="746" y="848"/>
+ <point x="845" y="795" type="curve"/>
+ </contour>
+ </outline>
+</glyph>
diff --git a/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnS_mE_.glif b/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnS_mE_.glif
new file mode 100644
index 0000000..81c908d
--- /dev/null
+++ b/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnS_mE_.glif
@@ -0,0 +1,45 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<glyph name="LtnSmE" format="2">
+ <advance width="1095"/>
+ <unicode hex="0065"/>
+ <anchor x="545" y="0" name="H"/>
+ <anchor x="569" y="-100" name="L"/>
+ <anchor x="925" y="0" name="O"/>
+ <anchor x="1095" y="1000" name="R"/>
+ <anchor x="569" y="1100" name="U"/>
+ <outline>
+ <contour>
+ <point x="989" y="485" type="line"/>
+ <point x="990" y="503"/>
+ <point x="990" y="545"/>
+ <point x="990" y="563" type="curve" smooth="yes"/>
+ <point x="990" y="788"/>
+ <point x="905" y="1040"/>
+ <point x="575" y="1040" type="curve" smooth="yes"/>
+ <point x="279" y="1040"/>
+ <point x="95" y="826"/>
+ <point x="95" y="495" type="curve" smooth="yes"/>
+ <point x="95" y="155"/>
+ <point x="320" y="-25"/>
+ <point x="575" y="-25" type="curve" smooth="yes"/>
+ <point x="729" y="-25"/>
+ <point x="853" y="2"/>
+ <point x="995" y="75" type="curve"/>
+ <point x="975" y="240" type="line"/>
+ <point x="853" y="166"/>
+ <point x="729" y="140"/>
+ <point x="600" y="140" type="curve" smooth="yes"/>
+ <point x="414" y="140"/>
+ <point x="280" y="258"/>
+ <point x="280" y="505" type="curve" smooth="yes"/>
+ <point x="280" y="770"/>
+ <point x="385" y="890"/>
+ <point x="560" y="890" type="curve" smooth="yes"/>
+ <point x="705" y="890"/>
+ <point x="810" y="797"/>
+ <point x="810" y="625" type="curve"/>
+ <point x="245" y="625" type="line"/>
+ <point x="245" y="485" type="line"/>
+ </contour>
+ </outline>
+</glyph>
diff --git a/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnS_mF_.glif b/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnS_mF_.glif
new file mode 100644
index 0000000..3134ee2
--- /dev/null
+++ b/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnS_mF_.glif
@@ -0,0 +1,39 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<glyph name="LtnSmF" format="2">
+ <advance width="750"/>
+ <unicode hex="0066"/>
+ <anchor x="370" y="0" name="H"/>
+ <anchor x="335" y="-100" name="L"/>
+ <anchor x="560" y="1635" name="U"/>
+ <outline>
+ <contour>
+ <point x="40" y="850" type="line"/>
+ <point x="240" y="850" type="line"/>
+ <point x="240" y="0" type="line"/>
+ <point x="455" y="0" type="line"/>
+ <point x="433" y="105"/>
+ <point x="425" y="300"/>
+ <point x="425" y="494" type="curve" smooth="yes"/>
+ <point x="425" y="850" type="line"/>
+ <point x="695" y="850" type="line"/>
+ <point x="695" y="995" type="line"/>
+ <point x="425" y="995" type="line"/>
+ <point x="425" y="1210" type="line" smooth="yes"/>
+ <point x="425" y="1381"/>
+ <point x="481" y="1450"/>
+ <point x="585" y="1450" type="curve" smooth="yes"/>
+ <point x="643" y="1450"/>
+ <point x="710" y="1427"/>
+ <point x="760" y="1390" type="curve"/>
+ <point x="805" y="1550" type="line"/>
+ <point x="743" y="1594"/>
+ <point x="663" y="1620"/>
+ <point x="585" y="1620" type="curve" smooth="yes"/>
+ <point x="369" y="1620"/>
+ <point x="240" y="1470"/>
+ <point x="240" y="1170" type="curve" smooth="yes"/>
+ <point x="240" y="995" type="line"/>
+ <point x="40" y="995" type="line"/>
+ </contour>
+ </outline>
+</glyph>
diff --git a/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnS_mG_.glif b/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnS_mG_.glif
new file mode 100644
index 0000000..def42a0
--- /dev/null
+++ b/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnS_mG_.glif
@@ -0,0 +1,91 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<glyph name="LtnSmG" format="2">
+ <advance width="1095"/>
+ <unicode hex="0067"/>
+ <anchor x="545" y="-432" name="H"/>
+ <anchor x="545" y="-535" name="L"/>
+ <anchor x="1095" y="1000" name="R"/>
+ <anchor x="515" y="1100" name="U"/>
+ <outline>
+ <contour>
+ <point x="330" y="395" type="line"/>
+ <point x="234" y="357"/>
+ <point x="180" y="275"/>
+ <point x="180" y="215" type="curve" smooth="yes"/>
+ <point x="180" y="121"/>
+ <point x="263" y="27"/>
+ <point x="545" y="-5" type="curve" smooth="yes"/>
+ <point x="805" y="-35"/>
+ <point x="880" y="-90"/>
+ <point x="880" y="-170" type="curve" smooth="yes"/>
+ <point x="880" y="-255"/>
+ <point x="731" y="-360"/>
+ <point x="550" y="-360" type="curve" smooth="yes"/>
+ <point x="323" y="-360"/>
+ <point x="215" y="-261"/>
+ <point x="215" y="-180" type="curve" smooth="yes"/>
+ <point x="215" y="-121"/>
+ <point x="244" y="-56"/>
+ <point x="465" y="20" type="curve"/>
+ <point x="459" y="49"/>
+ <point x="290" y="75"/>
+ <point x="290" y="75" type="curve"/>
+ <point x="113" y="2"/>
+ <point x="30" y="-89"/>
+ <point x="30" y="-200" type="curve" smooth="yes"/>
+ <point x="30" y="-409"/>
+ <point x="303" y="-505"/>
+ <point x="535" y="-505" type="curve" smooth="yes"/>
+ <point x="777" y="-505"/>
+ <point x="1065" y="-375"/>
+ <point x="1065" y="-160" type="curve" smooth="yes"/>
+ <point x="1065" y="-8"/>
+ <point x="967" y="90"/>
+ <point x="670" y="125" type="curve" smooth="yes"/>
+ <point x="410" y="156"/>
+ <point x="345" y="198"/>
+ <point x="345" y="235" type="curve" smooth="yes"/>
+ <point x="345" y="271"/>
+ <point x="384" y="316"/>
+ <point x="500" y="350" type="curve"/>
+ </contour>
+ <contour>
+ <point x="1050" y="1040" type="line"/>
+ <point x="951" y="1033"/>
+ <point x="819" y="997"/>
+ <point x="730" y="940" type="curve"/>
+ <point x="795" y="825" type="line"/>
+ <point x="887" y="863"/>
+ <point x="967" y="878"/>
+ <point x="1040" y="880" type="curve"/>
+ </contour>
+ <contour>
+ <point x="115" y="680" type="curve" smooth="yes"/>
+ <point x="115" y="476"/>
+ <point x="289" y="325"/>
+ <point x="515" y="325" type="curve" smooth="yes"/>
+ <point x="742" y="325"/>
+ <point x="915" y="476"/>
+ <point x="915" y="680" type="curve" smooth="yes"/>
+ <point x="915" y="884"/>
+ <point x="742" y="1040"/>
+ <point x="515" y="1040" type="curve" smooth="yes"/>
+ <point x="289" y="1040"/>
+ <point x="115" y="884"/>
+ </contour>
+ <contour>
+ <point x="285" y="680" type="curve" smooth="yes"/>
+ <point x="285" y="803"/>
+ <point x="382" y="895"/>
+ <point x="515" y="895" type="curve" smooth="yes"/>
+ <point x="649" y="895"/>
+ <point x="745" y="803"/>
+ <point x="745" y="680" type="curve" smooth="yes"/>
+ <point x="745" y="557"/>
+ <point x="649" y="465"/>
+ <point x="515" y="465" type="curve" smooth="yes"/>
+ <point x="382" y="465"/>
+ <point x="285" y="557"/>
+ </contour>
+ </outline>
+</glyph>
diff --git a/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnS_mH_.glif b/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnS_mH_.glif
new file mode 100644
index 0000000..146c089
--- /dev/null
+++ b/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnS_mH_.glif
@@ -0,0 +1,43 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<glyph name="LtnSmH" format="2">
+ <advance width="1175"/>
+ <unicode hex="0068"/>
+ <anchor x="250" y="0" name="H"/>
+ <anchor x="585" y="-100" name="L"/>
+ <anchor x="585" y="1635" name="U"/>
+ <outline>
+ <contour>
+ <point x="1040" y="0" type="line"/>
+ <point x="1040" y="0"/>
+ <point x="1040" y="459"/>
+ <point x="1040" y="625" type="curve" smooth="yes"/>
+ <point x="1040" y="900"/>
+ <point x="923" y="1040"/>
+ <point x="710" y="1040" type="curve" smooth="yes"/>
+ <point x="570" y="1040"/>
+ <point x="428" y="969"/>
+ <point x="330" y="830" type="curve"/>
+ <point x="330" y="877"/>
+ <point x="330" y="1600"/>
+ <point x="330" y="1600" type="curve"/>
+ <point x="130" y="1600" type="line"/>
+ <point x="145" y="1514"/>
+ <point x="145" y="1345"/>
+ <point x="145" y="1130" type="curve" smooth="yes"/>
+ <point x="145" y="935"/>
+ <point x="145" y="0"/>
+ <point x="145" y="0" type="curve"/>
+ <point x="330" y="0" type="line"/>
+ <point x="330" y="580" type="line"/>
+ <point x="374" y="716"/>
+ <point x="511" y="865"/>
+ <point x="655" y="865" type="curve" smooth="yes"/>
+ <point x="789" y="865"/>
+ <point x="855" y="800"/>
+ <point x="855" y="550" type="curve" smooth="yes"/>
+ <point x="855" y="413"/>
+ <point x="855" y="0"/>
+ <point x="855" y="0" type="curve"/>
+ </contour>
+ </outline>
+</glyph>
diff --git a/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnS_mI_.glif b/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnS_mI_.glif
new file mode 100644
index 0000000..08cb359
--- /dev/null
+++ b/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnS_mI_.glif
@@ -0,0 +1,40 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<glyph name="LtnSmI" format="2">
+ <advance width="565"/>
+ <unicode hex="0069"/>
+ <anchor x="282" y="0" name="H"/>
+ <anchor x="285" y="-100" name="L"/>
+ <anchor x="500" y="0" name="O"/>
+ <anchor x="555" y="1000" name="R"/>
+ <anchor x="282" y="1100" name="U"/>
+ <outline>
+ <contour>
+ <point x="375" y="1020" type="line"/>
+ <point x="175" y="1020" type="line"/>
+ <point x="188" y="915"/>
+ <point x="190" y="725"/>
+ <point x="190" y="530" type="curve" smooth="yes"/>
+ <point x="190" y="336"/>
+ <point x="190" y="0"/>
+ <point x="190" y="0" type="curve"/>
+ <point x="395" y="0" type="line"/>
+ <point x="382" y="107"/>
+ <point x="375" y="346"/>
+ <point x="375" y="475" type="curve" smooth="yes"/>
+ </contour>
+ <contour>
+ <point x="155" y="1345" type="curve" smooth="yes"/>
+ <point x="155" y="1271"/>
+ <point x="206" y="1210"/>
+ <point x="280" y="1210" type="curve" smooth="yes"/>
+ <point x="355" y="1210"/>
+ <point x="410" y="1271"/>
+ <point x="410" y="1345" type="curve" smooth="yes"/>
+ <point x="410" y="1419"/>
+ <point x="355" y="1480"/>
+ <point x="280" y="1480" type="curve" smooth="yes"/>
+ <point x="206" y="1480"/>
+ <point x="155" y="1419"/>
+ </contour>
+ </outline>
+</glyph>
diff --git a/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnS_mI_J_.glif b/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnS_mI_J_.glif
new file mode 100644
index 0000000..347d2ad
--- /dev/null
+++ b/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnS_mI_J_.glif
@@ -0,0 +1,9 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<glyph name="LtnSmIJ" format="2">
+ <advance width="1160"/>
+ <unicode hex="0133"/>
+ <outline>
+ <component base="LtnSmI"/>
+ <component base="LtnSmJ" xOffset="565"/>
+ </outline>
+</glyph>
diff --git a/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnS_mI_T_ilde.glif b/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnS_mI_T_ilde.glif
new file mode 100644
index 0000000..8316e85
--- /dev/null
+++ b/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnS_mI_T_ilde.glif
@@ -0,0 +1,9 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<glyph name="LtnSmITilde" format="2">
+ <advance width="1110.0"/>
+ <unicode hex="0129"/>
+ <outline>
+ <component base="LtnSmDotlessI" xOffset="550.0"/>
+ <component base="CombTilde" xOffset="1125.0" yOffset="-1100.0"/>
+ </outline>
+</glyph>
diff --git a/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnS_mI_T_ildeG_rave.glif b/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnS_mI_T_ildeG_rave.glif
new file mode 100644
index 0000000..65aebc1
--- /dev/null
+++ b/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnS_mI_T_ildeG_rave.glif
@@ -0,0 +1,9 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<glyph name="LtnSmITildeGrave" format="2">
+ <unicode hex="E000"/>
+ <outline>
+ <component base="LtnSmDotlessI"/>
+ <component base="CombTilde" xOffset="575.0" yOffset="-1100.0"/>
+ <component base="CombGrave" xOffset="550.0" yOffset="-725.0"/>
+ </outline>
+</glyph>
diff --git a/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnS_mI_T_ildeG_raveC_edilla.glif b/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnS_mI_T_ildeG_raveC_edilla.glif
new file mode 100644
index 0000000..62825a9
--- /dev/null
+++ b/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnS_mI_T_ildeG_raveC_edilla.glif
@@ -0,0 +1,14 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<glyph name="LtnSmITildeGraveCedilla" format="2">
+ <advance width="1150.0"/>
+ <unicode hex="E010"/>
+ <note>
+i cedilla tilde grave
+</note>
+ <outline>
+ <component base="LtnSmDotlessI" xOffset="590.0"/>
+ <component base="CombCedilla" xOffset="590.0"/>
+ <component base="CombTilde" xOffset="1165.0" yOffset="-1100.0"/>
+ <component base="CombGrave" xOffset="1140.0" yOffset="-725.0"/>
+ </outline>
+</glyph>
diff --git a/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnS_mJ_.glif b/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnS_mJ_.glif
new file mode 100644
index 0000000..f5d9485
--- /dev/null
+++ b/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnS_mJ_.glif
@@ -0,0 +1,44 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<glyph name="LtnSmJ" format="2">
+ <advance width="595"/>
+ <unicode hex="006A"/>
+ <anchor x="125" y="-500" name="L"/>
+ <anchor x="313" y="1100" name="U"/>
+ <outline>
+ <contour>
+ <point x="405" y="1020" type="line"/>
+ <point x="205" y="1020" type="line"/>
+ <point x="218" y="915"/>
+ <point x="220" y="725"/>
+ <point x="220" y="530" type="curve"/>
+ <point x="220" y="-25" type="line"/>
+ <point x="220" y="-222"/>
+ <point x="147" y="-300"/>
+ <point x="40" y="-300" type="curve" smooth="yes"/>
+ <point x="-16" y="-300"/>
+ <point x="-111" y="-273"/>
+ <point x="-155" y="-240" type="curve"/>
+ <point x="-190" y="-405" type="line"/>
+ <point x="-130" y="-446"/>
+ <point x="-26" y="-470"/>
+ <point x="30" y="-470" type="curve" smooth="yes"/>
+ <point x="258" y="-470"/>
+ <point x="405" y="-348"/>
+ <point x="405" y="25" type="curve" smooth="yes"/>
+ </contour>
+ <contour>
+ <point x="185" y="1345" type="curve" smooth="yes"/>
+ <point x="185" y="1271"/>
+ <point x="236" y="1210"/>
+ <point x="310" y="1210" type="curve" smooth="yes"/>
+ <point x="385" y="1210"/>
+ <point x="440" y="1271"/>
+ <point x="440" y="1345" type="curve" smooth="yes"/>
+ <point x="440" y="1419"/>
+ <point x="385" y="1480"/>
+ <point x="310" y="1480" type="curve" smooth="yes"/>
+ <point x="236" y="1480"/>
+ <point x="185" y="1419"/>
+ </contour>
+ </outline>
+</glyph>
diff --git a/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnS_mK_.glif b/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnS_mK_.glif
new file mode 100644
index 0000000..13033fa
--- /dev/null
+++ b/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnS_mK_.glif
@@ -0,0 +1,35 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<glyph name="LtnSmK" format="2">
+ <advance width="1035"/>
+ <unicode hex="006B"/>
+ <guideline x="500" y="774" angle="314"/>
+ <anchor x="243" y="0" name="H"/>
+ <anchor x="572" y="-100" name="L"/>
+ <anchor x="1035" y="1000" name="R"/>
+ <anchor x="572" y="1635" name="U"/>
+ <outline>
+ <contour>
+ <point x="330" y="0" type="line"/>
+ <point x="330" y="1600" type="line"/>
+ <point x="130" y="1600" type="line"/>
+ <point x="145" y="1514"/>
+ <point x="145" y="1345"/>
+ <point x="145" y="1130" type="curve" smooth="yes"/>
+ <point x="145" y="934"/>
+ <point x="145" y="0"/>
+ <point x="145" y="0" type="curve"/>
+ </contour>
+ <contour>
+ <point x="735" y="1020" type="line"/>
+ <point x="280" y="550" type="line"/>
+ <point x="436" y="524" type="line"/>
+ <point x="985" y="1020" type="line"/>
+ </contour>
+ <contour>
+ <point x="305" y="550" type="line"/>
+ <point x="770" y="0" type="line"/>
+ <point x="1015" y="0" type="line"/>
+ <point x="410" y="660" type="line"/>
+ </contour>
+ </outline>
+</glyph>
diff --git a/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnS_mL_.glif b/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnS_mL_.glif
new file mode 100644
index 0000000..11d4645
--- /dev/null
+++ b/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnS_mL_.glif
@@ -0,0 +1,24 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<glyph name="LtnSmL" format="2">
+ <advance width="565"/>
+ <unicode hex="006C"/>
+ <guideline x="500" y="874" angle="340"/>
+ <anchor x="290" y="0" name="H"/>
+ <anchor x="290" y="-100" name="L"/>
+ <anchor x="550" y="1000" name="R"/>
+ <anchor x="282" y="1635" name="U"/>
+ <outline>
+ <contour>
+ <point x="375" y="1600" type="line"/>
+ <point x="170" y="1600" type="line"/>
+ <point x="183" y="1485"/>
+ <point x="190" y="1324"/>
+ <point x="190" y="1130" type="curve"/>
+ <point x="190" y="0" type="line"/>
+ <point x="395" y="0" type="line"/>
+ <point x="382" y="109"/>
+ <point x="375" y="346"/>
+ <point x="375" y="475" type="curve" smooth="yes"/>
+ </contour>
+ </outline>
+</glyph>
diff --git a/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnS_mM_.glif b/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnS_mM_.glif
new file mode 100644
index 0000000..921bd1f
--- /dev/null
+++ b/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnS_mM_.glif
@@ -0,0 +1,52 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<glyph name="LtnSmM" format="2">
+ <advance width="1685"/>
+ <unicode hex="006D"/>
+ <anchor x="1450" y="0" name="H"/>
+ <anchor x="865" y="-100" name="L"/>
+ <anchor x="865" y="1100" name="U"/>
+ <outline>
+ <contour>
+ <point x="945" y="660" type="line"/>
+ <point x="1003" y="785"/>
+ <point x="1102" y="865"/>
+ <point x="1200" y="865" type="curve" smooth="yes"/>
+ <point x="1312" y="865"/>
+ <point x="1345" y="808"/>
+ <point x="1345" y="550" type="curve" smooth="yes"/>
+ <point x="1345" y="0" type="line"/>
+ <point x="1530" y="0" type="line"/>
+ <point x="1530" y="660" type="line" smooth="yes"/>
+ <point x="1530" y="907"/>
+ <point x="1463" y="1040"/>
+ <point x="1260" y="1040" type="curve" smooth="yes"/>
+ <point x="1155" y="1040"/>
+ <point x="1046" y="1007"/>
+ <point x="921" y="872" type="curve"/>
+ <point x="888" y="960"/>
+ <point x="806" y="1040"/>
+ <point x="675" y="1040" type="curve" smooth="yes"/>
+ <point x="560" y="1040"/>
+ <point x="459" y="1006"/>
+ <point x="337" y="865" type="curve"/>
+ <point x="330" y="913"/>
+ <point x="320" y="978"/>
+ <point x="305" y="1020" type="curve"/>
+ <point x="125" y="1020" type="line"/>
+ <point x="146" y="951"/>
+ <point x="175" y="811"/>
+ <point x="175" y="615" type="curve" smooth="yes"/>
+ <point x="175" y="0" type="line"/>
+ <point x="360" y="0" type="line"/>
+ <point x="360" y="660" type="line"/>
+ <point x="413" y="780"/>
+ <point x="517" y="865"/>
+ <point x="615" y="865" type="curve" smooth="yes"/>
+ <point x="727" y="865"/>
+ <point x="760" y="818"/>
+ <point x="760" y="570" type="curve" smooth="yes"/>
+ <point x="760" y="0" type="line"/>
+ <point x="945" y="0" type="line"/>
+ </contour>
+ </outline>
+</glyph>
diff --git a/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnS_mN_.glif b/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnS_mN_.glif
new file mode 100644
index 0000000..bb83ce9
--- /dev/null
+++ b/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnS_mN_.glif
@@ -0,0 +1,43 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<glyph name="LtnSmN" format="2">
+ <advance width="1185"/>
+ <unicode hex="006E"/>
+ <anchor x="970" y="0" name="H"/>
+ <anchor x="600" y="-100" name="L"/>
+ <anchor x="600" y="1100" name="U"/>
+ <outline>
+ <contour>
+ <point x="1050" y="0" type="line"/>
+ <point x="1050" y="0"/>
+ <point x="1050" y="459"/>
+ <point x="1050" y="625" type="curve" smooth="yes"/>
+ <point x="1050" y="900"/>
+ <point x="933" y="1040"/>
+ <point x="720" y="1040" type="curve" smooth="yes"/>
+ <point x="579" y="1040"/>
+ <point x="452" y="977"/>
+ <point x="325" y="825" type="curve"/>
+ <point x="318" y="873"/>
+ <point x="300" y="978"/>
+ <point x="285" y="1020" type="curve"/>
+ <point x="105" y="1020" type="line"/>
+ <point x="127" y="951"/>
+ <point x="155" y="811"/>
+ <point x="155" y="615" type="curve" smooth="yes"/>
+ <point x="155" y="420"/>
+ <point x="155" y="0"/>
+ <point x="155" y="0" type="curve"/>
+ <point x="340" y="0" type="line"/>
+ <point x="340" y="580" type="line"/>
+ <point x="384" y="716"/>
+ <point x="521" y="865"/>
+ <point x="665" y="865" type="curve" smooth="yes"/>
+ <point x="800" y="865"/>
+ <point x="865" y="800"/>
+ <point x="865" y="550" type="curve" smooth="yes"/>
+ <point x="865" y="413"/>
+ <point x="865" y="0"/>
+ <point x="865" y="0" type="curve"/>
+ </contour>
+ </outline>
+</glyph>
diff --git a/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnS_mO_.glif b/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnS_mO_.glif
new file mode 100644
index 0000000..307e0a8
--- /dev/null
+++ b/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnS_mO_.glif
@@ -0,0 +1,40 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<glyph name="LtnSmO" format="2">
+ <advance width="1140"/>
+ <unicode hex="006F"/>
+ <anchor x="570" y="0" name="H"/>
+ <anchor x="570" y="-100" name="L"/>
+ <anchor x="835" y="0" name="O"/>
+ <anchor x="1140" y="1000" name="R"/>
+ <anchor x="570" y="1100" name="U"/>
+ <outline>
+ <contour>
+ <point x="95" y="505" type="curve" smooth="yes"/>
+ <point x="95" y="161"/>
+ <point x="286" y="-25"/>
+ <point x="560" y="-25" type="curve" smooth="yes"/>
+ <point x="823" y="-25"/>
+ <point x="1045" y="161"/>
+ <point x="1045" y="505" type="curve" smooth="yes"/>
+ <point x="1045" y="849"/>
+ <point x="855" y="1040"/>
+ <point x="580" y="1040" type="curve" smooth="yes"/>
+ <point x="317" y="1040"/>
+ <point x="95" y="849"/>
+ </contour>
+ <contour>
+ <point x="280" y="505" type="curve" smooth="yes"/>
+ <point x="280" y="739"/>
+ <point x="408" y="880"/>
+ <point x="570" y="880" type="curve" smooth="yes"/>
+ <point x="742" y="880"/>
+ <point x="860" y="739"/>
+ <point x="860" y="505" type="curve" smooth="yes"/>
+ <point x="860" y="272"/>
+ <point x="731" y="135"/>
+ <point x="570" y="135" type="curve" smooth="yes"/>
+ <point x="398" y="135"/>
+ <point x="280" y="272"/>
+ </contour>
+ </outline>
+</glyph>
diff --git a/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnS_mP_.glif b/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnS_mP_.glif
new file mode 100644
index 0000000..ec43067
--- /dev/null
+++ b/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnS_mP_.glif
@@ -0,0 +1,56 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<glyph name="LtnSmP" format="2">
+ <advance width="1170"/>
+ <unicode hex="0070"/>
+ <guideline x="214" y="-490" angle="0"/>
+ <anchor x="265" y="-435" name="H"/>
+ <anchor x="590" y="-500" name="L"/>
+ <anchor x="1170" y="1000" name="R"/>
+ <anchor x="590" y="1100" name="U"/>
+ <outline>
+ <contour>
+ <point x="105" y="1020" type="line"/>
+ <point x="150" y="907"/>
+ <point x="155" y="734"/>
+ <point x="155" y="485" type="curve" smooth="yes"/>
+ <point x="155" y="291"/>
+ <point x="155" y="-490"/>
+ <point x="155" y="-490" type="curve"/>
+ <point x="365" y="-490" type="line"/>
+ <point x="348" y="-405"/>
+ <point x="340" y="-310"/>
+ <point x="340" y="-150" type="curve"/>
+ <point x="340" y="85" type="line"/>
+ <point x="435" y="18"/>
+ <point x="513" y="-25"/>
+ <point x="620" y="-25" type="curve" smooth="yes"/>
+ <point x="871" y="-25"/>
+ <point x="1075" y="193"/>
+ <point x="1075" y="535" type="curve" smooth="yes"/>
+ <point x="1075" y="828"/>
+ <point x="923" y="1040"/>
+ <point x="695" y="1040" type="curve" smooth="yes"/>
+ <point x="547" y="1040"/>
+ <point x="419" y="954"/>
+ <point x="325" y="830" type="curve"/>
+ <point x="316" y="922"/>
+ <point x="300" y="986"/>
+ <point x="285" y="1020" type="curve"/>
+ </contour>
+ <contour>
+ <point x="340" y="575" type="line"/>
+ <point x="414" y="768"/>
+ <point x="545" y="870"/>
+ <point x="660" y="870" type="curve" smooth="yes"/>
+ <point x="804" y="870"/>
+ <point x="890" y="727"/>
+ <point x="890" y="505" type="curve" smooth="yes"/>
+ <point x="890" y="279"/>
+ <point x="761" y="140"/>
+ <point x="620" y="140" type="curve" smooth="yes"/>
+ <point x="528" y="140"/>
+ <point x="477" y="164"/>
+ <point x="340" y="260" type="curve"/>
+ </contour>
+ </outline>
+</glyph>
diff --git a/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnS_mQ_.glif b/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnS_mQ_.glif
new file mode 100644
index 0000000..9a891c1
--- /dev/null
+++ b/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnS_mQ_.glif
@@ -0,0 +1,47 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<glyph name="LtnSmQ" format="2">
+ <advance width="1130"/>
+ <unicode hex="0071"/>
+ <anchor x="555" y="-500" name="L"/>
+ <anchor x="1130" y="1000" name="R"/>
+ <anchor x="555" y="1100" name="U"/>
+ <outline>
+ <contour>
+ <point x="795" y="-490" type="line"/>
+ <point x="1005" y="-490" type="line"/>
+ <point x="988" y="-405"/>
+ <point x="980" y="-310"/>
+ <point x="980" y="-150" type="curve" smooth="yes"/>
+ <point x="980" y="-26"/>
+ <point x="980" y="965"/>
+ <point x="980" y="965" type="curve"/>
+ <point x="872" y="1001"/>
+ <point x="746" y="1040"/>
+ <point x="625" y="1040" type="curve" smooth="yes"/>
+ <point x="260" y="1040"/>
+ <point x="105" y="742"/>
+ <point x="105" y="435" type="curve" smooth="yes"/>
+ <point x="105" y="117"/>
+ <point x="321" y="-25"/>
+ <point x="505" y="-25" type="curve" smooth="yes"/>
+ <point x="598" y="-25"/>
+ <point x="691" y="19"/>
+ <point x="795" y="140" type="curve"/>
+ </contour>
+ <contour>
+ <point x="795" y="365" type="line"/>
+ <point x="713" y="219"/>
+ <point x="612" y="145"/>
+ <point x="520" y="145" type="curve" smooth="yes"/>
+ <point x="412" y="145"/>
+ <point x="290" y="237"/>
+ <point x="290" y="485" type="curve" smooth="yes"/>
+ <point x="290" y="674"/>
+ <point x="376" y="870"/>
+ <point x="595" y="870" type="curve" smooth="yes"/>
+ <point x="656" y="870"/>
+ <point x="735" y="853"/>
+ <point x="795" y="830" type="curve"/>
+ </contour>
+ </outline>
+</glyph>
diff --git a/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnS_mR_.glif b/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnS_mR_.glif
new file mode 100644
index 0000000..a49e22e
--- /dev/null
+++ b/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnS_mR_.glif
@@ -0,0 +1,36 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<glyph name="LtnSmR" format="2">
+ <advance width="890"/>
+ <unicode hex="0072"/>
+ <guideline x="214" y="500" angle="0"/>
+ <anchor x="270" y="0" name="H"/>
+ <anchor x="255" y="-100" name="L"/>
+ <anchor x="455" y="1100" name="U"/>
+ <outline>
+ <contour>
+ <point x="340" y="0" type="line"/>
+ <point x="340" y="580" type="line"/>
+ <point x="384" y="716"/>
+ <point x="521" y="860"/>
+ <point x="605" y="860" type="curve" smooth="yes"/>
+ <point x="684" y="860"/>
+ <point x="720" y="770"/>
+ <point x="720" y="670" type="curve"/>
+ <point x="880" y="705" type="line"/>
+ <point x="880" y="880"/>
+ <point x="817" y="1040"/>
+ <point x="650" y="1040" type="curve" smooth="yes"/>
+ <point x="559" y="1040"/>
+ <point x="422" y="964"/>
+ <point x="325" y="825" type="curve"/>
+ <point x="318" y="873"/>
+ <point x="300" y="978"/>
+ <point x="285" y="1020" type="curve"/>
+ <point x="105" y="1020" type="line"/>
+ <point x="127" y="951"/>
+ <point x="155" y="811"/>
+ <point x="155" y="615" type="curve" smooth="yes"/>
+ <point x="155" y="0" type="line"/>
+ </contour>
+ </outline>
+</glyph>
diff --git a/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnS_mS_.glif b/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnS_mS_.glif
new file mode 100644
index 0000000..e823587
--- /dev/null
+++ b/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnS_mS_.glif
@@ -0,0 +1,50 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<glyph name="LtnSmS" format="2">
+ <advance width="965"/>
+ <unicode hex="0073"/>
+ <anchor x="495" y="0" name="H"/>
+ <anchor x="495" y="-100" name="L"/>
+ <anchor x="495" y="1100" name="U"/>
+ <outline>
+ <contour>
+ <point x="835" y="960" type="line"/>
+ <point x="766" y="998"/>
+ <point x="660" y="1040"/>
+ <point x="515" y="1040" type="curve" smooth="yes"/>
+ <point x="211" y="1040"/>
+ <point x="130" y="832"/>
+ <point x="130" y="740" type="curve" smooth="yes"/>
+ <point x="130" y="616"/>
+ <point x="182" y="514"/>
+ <point x="425" y="455" type="curve" smooth="yes"/>
+ <point x="649" y="400"/>
+ <point x="700" y="345"/>
+ <point x="700" y="270" type="curve" smooth="yes"/>
+ <point x="700" y="201"/>
+ <point x="617" y="135"/>
+ <point x="500" y="135" type="curve" smooth="yes"/>
+ <point x="394" y="135"/>
+ <point x="250" y="189"/>
+ <point x="160" y="270" type="curve"/>
+ <point x="110" y="90" type="line"/>
+ <point x="189" y="28"/>
+ <point x="333" y="-25"/>
+ <point x="495" y="-25" type="curve" smooth="yes"/>
+ <point x="710" y="-25"/>
+ <point x="880" y="115"/>
+ <point x="880" y="295" type="curve" smooth="yes"/>
+ <point x="880" y="481"/>
+ <point x="731" y="559"/>
+ <point x="550" y="600" type="curve" smooth="yes"/>
+ <point x="340" y="648"/>
+ <point x="310" y="680"/>
+ <point x="310" y="750" type="curve" smooth="yes"/>
+ <point x="310" y="810"/>
+ <point x="358" y="880"/>
+ <point x="505" y="880" type="curve" smooth="yes"/>
+ <point x="629" y="880"/>
+ <point x="733" y="824"/>
+ <point x="800" y="785" type="curve"/>
+ </contour>
+ </outline>
+</glyph>
diff --git a/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnS_mT_.glif b/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnS_mT_.glif
new file mode 100644
index 0000000..841b84d
--- /dev/null
+++ b/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnS_mT_.glif
@@ -0,0 +1,39 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<glyph name="LtnSmT" format="2">
+ <advance width="835"/>
+ <unicode hex="0074"/>
+ <anchor x="475" y="0" name="H"/>
+ <anchor x="475" y="-100" name="L"/>
+ <anchor x="835" y="1000" name="R"/>
+ <anchor x="325" y="1360" name="U"/>
+ <outline>
+ <contour>
+ <point x="760" y="215" type="line"/>
+ <point x="672" y="166"/>
+ <point x="600" y="140"/>
+ <point x="543" y="140" type="curve" smooth="yes"/>
+ <point x="453" y="140"/>
+ <point x="415" y="184"/>
+ <point x="415" y="390" type="curve" smooth="yes"/>
+ <point x="415" y="528"/>
+ <point x="415" y="1320"/>
+ <point x="415" y="1320" type="curve"/>
+ <point x="230" y="1320" type="line"/>
+ <point x="230" y="1320"/>
+ <point x="230" y="435"/>
+ <point x="230" y="270" type="curve" smooth="yes"/>
+ <point x="230" y="39"/>
+ <point x="356" y="-25"/>
+ <point x="512" y="-25" type="curve" smooth="yes"/>
+ <point x="582" y="-25"/>
+ <point x="668" y="-4"/>
+ <point x="760" y="55" type="curve"/>
+ </contour>
+ <contour>
+ <point x="30" y="850" type="line"/>
+ <point x="740" y="850" type="line"/>
+ <point x="740" y="995" type="line"/>
+ <point x="30" y="995" type="line"/>
+ </contour>
+ </outline>
+</glyph>
diff --git a/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnS_mU_.glif b/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnS_mU_.glif
new file mode 100644
index 0000000..58e1d92
--- /dev/null
+++ b/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnS_mU_.glif
@@ -0,0 +1,51 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<glyph name="LtnSmU" format="2">
+ <advance width="1185"/>
+ <unicode hex="0075"/>
+ <anchor x="589" y="0" name="H"/>
+ <anchor x="589" y="-100" name="L"/>
+ <anchor x="1192" y="0" name="O"/>
+ <anchor x="1185" y="1000" name="R"/>
+ <anchor x="589" y="1100" name="U"/>
+ <outline>
+ <contour>
+ <point x="1090" y="0" type="line"/>
+ <point x="1048" y="112"/>
+ <point x="1025" y="256"/>
+ <point x="1025" y="450" type="curve" smooth="yes"/>
+ <point x="1025" y="646"/>
+ <point x="1025" y="1020"/>
+ <point x="1025" y="1020" type="curve"/>
+ <point x="820" y="1020" type="line"/>
+ <point x="838" y="898"/>
+ <point x="840" y="832"/>
+ <point x="840" y="700" type="curve" smooth="yes"/>
+ <point x="840" y="420" type="line"/>
+ <point x="787" y="298"/>
+ <point x="628" y="140"/>
+ <point x="510" y="140" type="curve" smooth="yes"/>
+ <point x="383" y="140"/>
+ <point x="340" y="238"/>
+ <point x="340" y="465" type="curve" smooth="yes"/>
+ <point x="340" y="603"/>
+ <point x="340" y="1020"/>
+ <point x="340" y="1020" type="curve"/>
+ <point x="135" y="1020" type="line"/>
+ <point x="153" y="900"/>
+ <point x="155" y="827"/>
+ <point x="155" y="700" type="curve" smooth="yes"/>
+ <point x="155" y="681"/>
+ <point x="155" y="424"/>
+ <point x="155" y="405" type="curve" smooth="yes"/>
+ <point x="155" y="120"/>
+ <point x="262" y="-25"/>
+ <point x="475" y="-25" type="curve" smooth="yes"/>
+ <point x="615" y="-25"/>
+ <point x="744" y="53"/>
+ <point x="865" y="200" type="curve"/>
+ <point x="875" y="125"/>
+ <point x="901" y="46"/>
+ <point x="920" y="0" type="curve"/>
+ </contour>
+ </outline>
+</glyph>
diff --git a/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnS_mV_.glif b/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnS_mV_.glif
new file mode 100644
index 0000000..803148c
--- /dev/null
+++ b/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnS_mV_.glif
@@ -0,0 +1,30 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<glyph name="LtnSmV" format="2">
+ <advance width="1070"/>
+ <unicode hex="0076"/>
+ <anchor x="549" y="0" name="H"/>
+ <anchor x="535" y="-100" name="L"/>
+ <anchor x="725" y="0" name="O"/>
+ <anchor x="535" y="1100" name="U"/>
+ <outline>
+ <contour>
+ <point x="840" y="1020" type="line"/>
+ <point x="535" y="200" type="line"/>
+ <point x="230" y="1020" type="line"/>
+ <point x="20" y="1020" type="line"/>
+ <point x="75" y="905"/>
+ <point x="143" y="746"/>
+ <point x="175" y="665" type="curve" smooth="yes"/>
+ <point x="237" y="510"/>
+ <point x="440" y="0"/>
+ <point x="440" y="0" type="curve"/>
+ <point x="630" y="0" type="line"/>
+ <point x="630" y="0"/>
+ <point x="842" y="536"/>
+ <point x="895" y="665" type="curve" smooth="yes"/>
+ <point x="928" y="744"/>
+ <point x="993" y="905"/>
+ <point x="1050" y="1020" type="curve"/>
+ </contour>
+ </outline>
+</glyph>
diff --git a/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnS_mW_.glif b/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnS_mW_.glif
new file mode 100644
index 0000000..947f002
--- /dev/null
+++ b/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnS_mW_.glif
@@ -0,0 +1,30 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<glyph name="LtnSmW" format="2">
+ <advance width="1550"/>
+ <unicode hex="0077"/>
+ <anchor x="775" y="-100" name="L"/>
+ <anchor x="775" y="1100" name="U"/>
+ <outline>
+ <contour>
+ <point x="700" y="1020" type="line"/>
+ <point x="440" y="215" type="line"/>
+ <point x="230" y="1020" type="line"/>
+ <point x="45" y="1020" type="line"/>
+ <point x="92" y="867"/>
+ <point x="120" y="771"/>
+ <point x="150" y="665" type="curve" smooth="yes"/>
+ <point x="335" y="0" type="line"/>
+ <point x="525" y="0" type="line"/>
+ <point x="775" y="785" type="line"/>
+ <point x="1025" y="0" type="line"/>
+ <point x="1215" y="0" type="line"/>
+ <point x="1400" y="665" type="line" smooth="yes"/>
+ <point x="1434" y="785"/>
+ <point x="1458" y="868"/>
+ <point x="1505" y="1020" type="curve"/>
+ <point x="1320" y="1020" type="line"/>
+ <point x="1110" y="215" type="line"/>
+ <point x="850" y="1020" type="line"/>
+ </contour>
+ </outline>
+</glyph>
diff --git a/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnS_mX_.glif b/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnS_mX_.glif
new file mode 100644
index 0000000..a194d45
--- /dev/null
+++ b/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnS_mX_.glif
@@ -0,0 +1,40 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<glyph name="LtnSmX" format="2">
+ <advance width="1085"/>
+ <unicode hex="0078"/>
+ <anchor x="900" y="0" name="H"/>
+ <anchor x="542" y="-100" name="L"/>
+ <anchor x="542" y="1100" name="U"/>
+ <outline>
+ <contour>
+ <point x="805" y="0" type="line"/>
+ <point x="1035" y="0" type="line"/>
+ <point x="927" y="142"/>
+ <point x="902" y="170"/>
+ <point x="830" y="270" type="curve" smooth="yes"/>
+ <point x="290" y="1020" type="line"/>
+ <point x="60" y="1020" type="line"/>
+ <point x="168" y="887"/>
+ <point x="203" y="843"/>
+ <point x="270" y="750" type="curve"/>
+ </contour>
+ <contour>
+ <point x="489" y="616" type="line"/>
+ <point x="250" y="270" type="line" smooth="yes"/>
+ <point x="189" y="182"/>
+ <point x="160" y="143"/>
+ <point x="50" y="0" type="curve"/>
+ <point x="275" y="0" type="line"/>
+ <point x="556" y="404" type="line"/>
+ </contour>
+ <contour>
+ <point x="585" y="405" type="line"/>
+ <point x="820" y="750" type="line" smooth="yes"/>
+ <point x="883" y="842"/>
+ <point x="917" y="886"/>
+ <point x="1020" y="1020" type="curve"/>
+ <point x="795" y="1020" type="line"/>
+ <point x="520" y="615" type="line"/>
+ </contour>
+ </outline>
+</glyph>
diff --git a/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnS_mY_.glif b/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnS_mY_.glif
new file mode 100644
index 0000000..804529e
--- /dev/null
+++ b/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/L_tnS_mY_.glif
@@ -0,0 +1,42 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<glyph name="LtnSmY" format="2">
+ <advance width="1060"/>
+ <unicode hex="0079"/>
+ <anchor x="795" y="-100" name="L"/>
+ <anchor x="1120" y="1000" name="R"/>
+ <anchor x="535" y="1100" name="U"/>
+ <outline>
+ <contour>
+ <point x="610" y="60" type="line"/>
+ <point x="230" y="1020" type="line"/>
+ <point x="30" y="1020" type="line"/>
+ <point x="107" y="864"/>
+ <point x="153" y="756"/>
+ <point x="190" y="665" type="curve" smooth="yes"/>
+ <point x="525" y="-165" type="line"/>
+ </contour>
+ <contour>
+ <point x="895" y="665" type="line"/>
+ <point x="928" y="758"/>
+ <point x="971" y="865"/>
+ <point x="1040" y="1020" type="curve"/>
+ <point x="840" y="1020" type="line"/>
+ <point x="840" y="1020"/>
+ <point x="564" y="230"/>
+ <point x="500" y="55" type="curve" smooth="yes"/>
+ <point x="391" y="-248"/>
+ <point x="315" y="-300"/>
+ <point x="225" y="-300" type="curve" smooth="yes"/>
+ <point x="159" y="-300"/>
+ <point x="82" y="-260"/>
+ <point x="40" y="-225" type="curve"/>
+ <point x="-20" y="-385" type="line"/>
+ <point x="53" y="-439"/>
+ <point x="134" y="-470"/>
+ <point x="225" y="-470" type="curve" smooth="yes"/>
+ <point x="395" y="-470"/>
+ <point x="516" y="-383"/>
+ <point x="655" y="0" type="curve"/>
+ </contour>
+ </outline>
+</glyph>
diff --git a/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/N_onB_reakingH_yphen.glif b/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/N_onB_reakingH_yphen.glif
new file mode 100644
index 0000000..69d61c1
--- /dev/null
+++ b/tests/reference/fontparts/psfbuildcompgc.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="860"/>
+ <unicode hex="2011"/>
+ <anchor x="430" y="1100" name="U"/>
+ <outline>
+ <component base="HyphenMinus"/>
+ </outline>
+</glyph>
diff --git a/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/N_umS_gn.glif b/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/N_umS_gn.glif
new file mode 100644
index 0000000..4128da8
--- /dev/null
+++ b/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/N_umS_gn.glif
@@ -0,0 +1,31 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<glyph name="NumSgn" format="2">
+ <advance width="1200"/>
+ <unicode hex="0023"/>
+ <outline>
+ <contour>
+ <point x="487" y="1460" type="line"/>
+ <point x="127" y="200" type="line"/>
+ <point x="277" y="200" type="line"/>
+ <point x="637" y="1460" type="line"/>
+ </contour>
+ <contour>
+ <point x="25" y="575" type="line"/>
+ <point x="1116" y="575" type="line"/>
+ <point x="1116" y="725" type="line"/>
+ <point x="25" y="725" type="line"/>
+ </contour>
+ <contour>
+ <point x="84" y="960" type="line"/>
+ <point x="1175" y="960" type="line"/>
+ <point x="1175" y="1110" type="line"/>
+ <point x="84" y="1110" type="line"/>
+ </contour>
+ <contour>
+ <point x="912" y="1460" type="line"/>
+ <point x="552" y="200" type="line"/>
+ <point x="702" y="200" type="line"/>
+ <point x="1062" y="1460" type="line"/>
+ </contour>
+ </outline>
+</glyph>
diff --git a/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/P_ercentS_gn.glif b/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/P_ercentS_gn.glif
new file mode 100644
index 0000000..ed94862
--- /dev/null
+++ b/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/P_ercentS_gn.glif
@@ -0,0 +1,69 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<glyph name="PercentSgn" format="2">
+ <advance width="1526"/>
+ <unicode hex="0025"/>
+ <outline>
+ <contour>
+ <point x="1261" y="366" type="curve" smooth="yes"/>
+ <point x="1261" y="182"/>
+ <point x="1216" y="115"/>
+ <point x="1130" y="115" type="curve" smooth="yes"/>
+ <point x="1041" y="115"/>
+ <point x="1001" y="181"/>
+ <point x="1001" y="381" type="curve" smooth="yes"/>
+ <point x="1001" y="565"/>
+ <point x="1043" y="630"/>
+ <point x="1130" y="630" type="curve" smooth="yes"/>
+ <point x="1221" y="630"/>
+ <point x="1261" y="566"/>
+ </contour>
+ <contour>
+ <point x="1426" y="379" type="curve" smooth="yes"/>
+ <point x="1426" y="652"/>
+ <point x="1310" y="770"/>
+ <point x="1135" y="770" type="curve" smooth="yes"/>
+ <point x="961" y="770"/>
+ <point x="836" y="650"/>
+ <point x="836" y="368" type="curve" smooth="yes"/>
+ <point x="836" y="86"/>
+ <point x="951" y="-25"/>
+ <point x="1126" y="-25" type="curve" smooth="yes"/>
+ <point x="1301" y="-25"/>
+ <point x="1426" y="84"/>
+ </contour>
+ <contour>
+ <point x="1073" y="1480" type="line"/>
+ <point x="291" y="-25" type="line"/>
+ <point x="459" y="-25" type="line"/>
+ <point x="1239" y="1480" type="line"/>
+ </contour>
+ <contour>
+ <point x="525" y="1076" type="curve" smooth="yes"/>
+ <point x="525" y="892"/>
+ <point x="480" y="825"/>
+ <point x="394" y="825" type="curve" smooth="yes"/>
+ <point x="305" y="825"/>
+ <point x="265" y="891"/>
+ <point x="265" y="1091" type="curve" smooth="yes"/>
+ <point x="265" y="1275"/>
+ <point x="307" y="1340"/>
+ <point x="394" y="1340" type="curve" smooth="yes"/>
+ <point x="485" y="1340"/>
+ <point x="525" y="1276"/>
+ </contour>
+ <contour>
+ <point x="690" y="1089" type="curve" smooth="yes"/>
+ <point x="690" y="1362"/>
+ <point x="574" y="1480"/>
+ <point x="399" y="1480" type="curve" smooth="yes"/>
+ <point x="225" y="1480"/>
+ <point x="100" y="1360"/>
+ <point x="100" y="1078" type="curve" smooth="yes"/>
+ <point x="100" y="796"/>
+ <point x="215" y="685"/>
+ <point x="390" y="685" type="curve" smooth="yes"/>
+ <point x="565" y="685"/>
+ <point x="690" y="794"/>
+ </contour>
+ </outline>
+</glyph>
diff --git a/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/P_lusS_gn.glif b/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/P_lusS_gn.glif
new file mode 100644
index 0000000..13fc2a0
--- /dev/null
+++ b/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/P_lusS_gn.glif
@@ -0,0 +1,19 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<glyph name="PlusSgn" format="2">
+ <advance width="1200"/>
+ <unicode hex="002B"/>
+ <outline>
+ <contour>
+ <point x="525" y="1180" type="line"/>
+ <point x="525" y="285" type="line"/>
+ <point x="675" y="285" type="line"/>
+ <point x="675" y="1180" type="line"/>
+ </contour>
+ <contour>
+ <point x="155" y="660" type="line"/>
+ <point x="1045" y="660" type="line"/>
+ <point x="1045" y="810" type="line"/>
+ <point x="155" y="810" type="line"/>
+ </contour>
+ </outline>
+</glyph>
diff --git a/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/Q_stnM_rk.glif b/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/Q_stnM_rk.glif
new file mode 100644
index 0000000..ab5a7d9
--- /dev/null
+++ b/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/Q_stnM_rk.glif
@@ -0,0 +1,49 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<glyph name="QstnMrk" format="2">
+ <advance width="1050"/>
+ <unicode hex="003F"/>
+ <outline>
+ <contour>
+ <point x="460" y="1540" type="curve" smooth="yes"/>
+ <point x="335" y="1540"/>
+ <point x="206" y="1493"/>
+ <point x="140" y="1430" type="curve"/>
+ <point x="185" y="1251" type="line"/>
+ <point x="261" y="1330"/>
+ <point x="352" y="1365"/>
+ <point x="432" y="1365" type="curve" smooth="yes"/>
+ <point x="579" y="1365"/>
+ <point x="625" y="1289"/>
+ <point x="625" y="1230" type="curve" smooth="yes"/>
+ <point x="625" y="1159"/>
+ <point x="572" y="1092"/>
+ <point x="485" y="980" type="curve" smooth="yes"/>
+ <point x="397" y="867"/>
+ <point x="355" y="730"/>
+ <point x="355" y="440" type="curve"/>
+ <point x="540" y="440" type="line"/>
+ <point x="540" y="721"/>
+ <point x="561" y="806"/>
+ <point x="665" y="927" type="curve" smooth="yes"/>
+ <point x="753" y="1028"/>
+ <point x="830" y="1117"/>
+ <point x="830" y="1240" type="curve" smooth="yes"/>
+ <point x="830" y="1422"/>
+ <point x="697" y="1540"/>
+ </contour>
+ <contour>
+ <point x="315" y="110" type="curve" smooth="yes"/>
+ <point x="315" y="36"/>
+ <point x="376" y="-25"/>
+ <point x="450" y="-25" type="curve" smooth="yes"/>
+ <point x="524" y="-25"/>
+ <point x="585" y="36"/>
+ <point x="585" y="110" type="curve" smooth="yes"/>
+ <point x="585" y="184"/>
+ <point x="524" y="245"/>
+ <point x="450" y="245" type="curve" smooth="yes"/>
+ <point x="376" y="245"/>
+ <point x="315" y="184"/>
+ </contour>
+ </outline>
+</glyph>
diff --git a/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/Q_uotM_rk.glif b/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/Q_uotM_rk.glif
new file mode 100644
index 0000000..cbffc49
--- /dev/null
+++ b/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/Q_uotM_rk.glif
@@ -0,0 +1,27 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<glyph name="QuotMrk" format="2">
+ <advance width="1025"/>
+ <unicode hex="0022"/>
+ <outline>
+ <contour>
+ <point x="405" y="1045" type="line"/>
+ <point x="410" y="1186"/>
+ <point x="416" y="1339"/>
+ <point x="445" y="1585" type="curve"/>
+ <point x="240" y="1585" type="line"/>
+ <point x="271" y="1339"/>
+ <point x="276" y="1186"/>
+ <point x="280" y="1045" type="curve"/>
+ </contour>
+ <contour>
+ <point x="745" y="1045" type="line"/>
+ <point x="750" y="1186"/>
+ <point x="756" y="1339"/>
+ <point x="785" y="1585" type="curve"/>
+ <point x="580" y="1585" type="line"/>
+ <point x="611" y="1339"/>
+ <point x="616" y="1186"/>
+ <point x="620" y="1045" type="curve"/>
+ </contour>
+ </outline>
+</glyph>
diff --git a/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/R_everseS_olidus.glif b/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/R_everseS_olidus.glif
new file mode 100644
index 0000000..1860a5c
--- /dev/null
+++ b/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/R_everseS_olidus.glif
@@ -0,0 +1,13 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<glyph name="ReverseSolidus" format="2">
+ <advance width="1000"/>
+ <unicode hex="005C"/>
+ <outline>
+ <contour>
+ <point x="990" y="-245" type="line"/>
+ <point x="160" y="1600" type="line"/>
+ <point x="10" y="1600" type="line"/>
+ <point x="840" y="-245" type="line"/>
+ </contour>
+ </outline>
+</glyph>
diff --git a/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/R_tC_urlyB_rac.glif b/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/R_tC_urlyB_rac.glif
new file mode 100644
index 0000000..28db4ac
--- /dev/null
+++ b/tests/reference/fontparts/psfbuildcompgc.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="1000"/>
+ <unicode hex="007D"/>
+ <outline>
+ <contour>
+ <point x="790" y="615" type="curve" smooth="yes"/>
+ <point x="790" y="647"/>
+ <point x="617" y="744"/>
+ <point x="590" y="780" type="curve" smooth="yes"/>
+ <point x="566" y="812"/>
+ <point x="576" y="1435"/>
+ <point x="505" y="1515" type="curve" smooth="yes"/>
+ <point x="465" y="1560"/>
+ <point x="304" y="1613"/>
+ <point x="200" y="1640" type="curve"/>
+ <point x="160" y="1500" type="line"/>
+ <point x="227" y="1477"/>
+ <point x="350" y="1428"/>
+ <point x="370" y="1400" type="curve" smooth="yes"/>
+ <point x="403" y="1353"/>
+ <point x="390" y="783"/>
+ <point x="410" y="745" type="curve" smooth="yes"/>
+ <point x="429" y="709"/>
+ <point x="566" y="637"/>
+ <point x="570" y="615" type="curve"/>
+ <point x="566" y="593"/>
+ <point x="429" y="521"/>
+ <point x="410" y="485" type="curve" smooth="yes"/>
+ <point x="390" y="447"/>
+ <point x="403" y="-123"/>
+ <point x="370" y="-170" type="curve" smooth="yes"/>
+ <point x="350" y="-198"/>
+ <point x="227" y="-247"/>
+ <point x="160" y="-270" type="curve"/>
+ <point x="200" y="-410" type="line"/>
+ <point x="304" y="-383"/>
+ <point x="465" y="-330"/>
+ <point x="505" y="-285" type="curve" smooth="yes"/>
+ <point x="576" y="-205"/>
+ <point x="566" y="418"/>
+ <point x="590" y="450" type="curve" smooth="yes"/>
+ <point x="617" y="486"/>
+ <point x="790" y="583"/>
+ </contour>
+ </outline>
+</glyph>
diff --git a/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/R_tP_aren.glif b/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/R_tP_aren.glif
new file mode 100644
index 0000000..4275b62
--- /dev/null
+++ b/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/R_tP_aren.glif
@@ -0,0 +1,23 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<glyph name="RtParen" format="2">
+ <advance width="795"/>
+ <unicode hex="0029"/>
+ <outline>
+ <contour>
+ <point x="680" y="625" type="curve" smooth="yes"/>
+ <point x="680" y="1062"/>
+ <point x="505" y="1444"/>
+ <point x="240" y="1640" type="curve"/>
+ <point x="165" y="1485" type="line"/>
+ <point x="390" y="1280"/>
+ <point x="490" y="962"/>
+ <point x="490" y="625" type="curve" smooth="yes"/>
+ <point x="490" y="278"/>
+ <point x="390" y="-8"/>
+ <point x="165" y="-265" type="curve"/>
+ <point x="260" y="-410" type="line"/>
+ <point x="535" y="-125"/>
+ <point x="680" y="218"/>
+ </contour>
+ </outline>
+</glyph>
diff --git a/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/R_tS_qrB_rac.glif b/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/R_tS_qrB_rac.glif
new file mode 100644
index 0000000..e7c3618
--- /dev/null
+++ b/tests/reference/fontparts/psfbuildcompgc.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="790"/>
+ <unicode hex="005D"/>
+ <outline>
+ <contour>
+ <point x="590" y="-410" type="line"/>
+ <point x="590" y="1600" type="line"/>
+ <point x="150" y="1600" type="line"/>
+ <point x="150" y="1450" type="line"/>
+ <point x="405" y="1450" type="line"/>
+ <point x="405" y="-260" type="line"/>
+ <point x="150" y="-260" type="line"/>
+ <point x="150" y="-410" type="line"/>
+ </contour>
+ </outline>
+</glyph>
diff --git a/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/S_emicolon.glif b/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/S_emicolon.glif
new file mode 100644
index 0000000..53d0447
--- /dev/null
+++ b/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/S_emicolon.glif
@@ -0,0 +1,38 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<glyph name="Semicolon" format="2">
+ <advance width="650"/>
+ <unicode hex="003B"/>
+ <outline>
+ <contour>
+ <point x="185" y="790" type="curve" smooth="yes"/>
+ <point x="185" y="716"/>
+ <point x="246" y="655"/>
+ <point x="320" y="655" type="curve" smooth="yes"/>
+ <point x="394" y="655"/>
+ <point x="455" y="716"/>
+ <point x="455" y="790" type="curve" smooth="yes"/>
+ <point x="455" y="864"/>
+ <point x="394" y="925"/>
+ <point x="320" y="925" type="curve" smooth="yes"/>
+ <point x="246" y="925"/>
+ <point x="185" y="864"/>
+ </contour>
+ <contour>
+ <point x="185" y="50" type="line"/>
+ <point x="325" y="50" type="line"/>
+ <point x="325" y="-51"/>
+ <point x="248" y="-172"/>
+ <point x="190" y="-230" type="curve"/>
+ <point x="290" y="-270" type="line"/>
+ <point x="407" y="-160"/>
+ <point x="465" y="-37"/>
+ <point x="465" y="85" type="curve" smooth="yes"/>
+ <point x="465" y="186"/>
+ <point x="400" y="250"/>
+ <point x="320" y="250" type="curve" smooth="yes"/>
+ <point x="263" y="250"/>
+ <point x="198" y="213"/>
+ <point x="185" y="150" type="curve"/>
+ </contour>
+ </outline>
+</glyph>
diff --git a/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/S_olidus.glif b/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/S_olidus.glif
new file mode 100644
index 0000000..84af648
--- /dev/null
+++ b/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/S_olidus.glif
@@ -0,0 +1,13 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<glyph name="Solidus" format="2">
+ <advance width="1000"/>
+ <unicode hex="002F"/>
+ <outline>
+ <contour>
+ <point x="840" y="1600" type="line"/>
+ <point x="10" y="-245" type="line"/>
+ <point x="160" y="-245" type="line"/>
+ <point x="990" y="1600" type="line"/>
+ </contour>
+ </outline>
+</glyph>
diff --git a/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/S_pace.glif b/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/S_pace.glif
new file mode 100644
index 0000000..f9f2cd9
--- /dev/null
+++ b/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/S_pace.glif
@@ -0,0 +1,7 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<glyph name="Space" format="2">
+ <advance width="550"/>
+ <unicode hex="0020"/>
+ <outline>
+ </outline>
+</glyph>
diff --git a/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/T_ilde.glif b/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/T_ilde.glif
new file mode 100644
index 0000000..afad348
--- /dev/null
+++ b/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/T_ilde.glif
@@ -0,0 +1,29 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<glyph name="Tilde" format="2">
+ <advance width="1115"/>
+ <unicode hex="007E"/>
+ <outline>
+ <contour>
+ <point x="125" y="375" type="line"/>
+ <point x="130" y="424"/>
+ <point x="162" y="465"/>
+ <point x="240" y="465" type="curve" smooth="yes"/>
+ <point x="415" y="465"/>
+ <point x="615" y="360"/>
+ <point x="845" y="360" type="curve" smooth="yes"/>
+ <point x="1004" y="360"/>
+ <point x="1080" y="482"/>
+ <point x="1080" y="610" type="curve"/>
+ <point x="975" y="610" type="line"/>
+ <point x="968" y="564"/>
+ <point x="938" y="510"/>
+ <point x="855" y="510" type="curve" smooth="yes"/>
+ <point x="619" y="510"/>
+ <point x="461" y="615"/>
+ <point x="240" y="615" type="curve" smooth="yes"/>
+ <point x="94" y="615"/>
+ <point x="20" y="497"/>
+ <point x="20" y="375" type="curve"/>
+ </contour>
+ </outline>
+</glyph>
diff --git a/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/V_ertL_ine.glif b/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/V_ertL_ine.glif
new file mode 100644
index 0000000..3e1a16f
--- /dev/null
+++ b/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/V_ertL_ine.glif
@@ -0,0 +1,13 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<glyph name="VertLine" format="2">
+ <advance width="690"/>
+ <unicode hex="007C"/>
+ <outline>
+ <contour>
+ <point x="270" y="1600" type="line"/>
+ <point x="270" y="-390" type="line"/>
+ <point x="420" y="-390" type="line"/>
+ <point x="420" y="1600" type="line"/>
+ </contour>
+ </outline>
+</glyph>
diff --git a/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/_notdef.glif b/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/_notdef.glif
new file mode 100644
index 0000000..f4d5348
--- /dev/null
+++ b/tests/reference/fontparts/psfbuildcompgc.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/reference/fontparts/psfbuildcompgc.ufo/glyphs/_null.glif b/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/_null.glif
new file mode 100644
index 0000000..f6c8b49
--- /dev/null
+++ b/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/_null.glif
@@ -0,0 +1,5 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<glyph name=".null" format="2">
+ <outline>
+ </outline>
+</glyph>
diff --git a/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/contents.plist b/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/contents.plist
new file mode 100644
index 0000000..30ac1df
--- /dev/null
+++ b/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/contents.plist
@@ -0,0 +1,256 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE plist PUBLIC "-//Apple//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>LtnCapA.alt</key>
+ <string>L_tnC_apA_.alt.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>LtnCapCAcute</key>
+ <string>L_tnC_apC_A_cute.glif</string>
+ <key>LtnCapCAcuteCedilla</key>
+ <string>L_tnC_apC_A_cuteC_edilla.glif</string>
+ <key>LtnCapCCircum</key>
+ <string>L_tnC_apC_C_ircum.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>LtnCapIJ</key>
+ <string>L_tnC_apI_J_.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>LtnSmCAcute</key>
+ <string>L_tnS_mC_A_cute.glif</string>
+ <key>LtnSmCAcuteCedilla</key>
+ <string>L_tnS_mC_A_cuteC_edilla.glif</string>
+ <key>LtnSmCCircum</key>
+ <string>L_tnS_mC_C_ircum.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>LtnSmIJ</key>
+ <string>L_tnS_mI_J_.glif</string>
+ <key>LtnSmITilde</key>
+ <string>L_tnS_mI_T_ilde.glif</string>
+ <key>LtnSmITildeGrave</key>
+ <string>L_tnS_mI_T_ildeG_rave.glif</string>
+ <key>LtnSmITildeGraveCedilla</key>
+ <string>L_tnS_mI_T_ildeG_raveC_edilla.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/reference/fontparts/psfbuildcompgc.ufo/glyphs/nonmarkingreturn.glif b/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/nonmarkingreturn.glif
new file mode 100644
index 0000000..4dbf648
--- /dev/null
+++ b/tests/reference/fontparts/psfbuildcompgc.ufo/glyphs/nonmarkingreturn.glif
@@ -0,0 +1,6 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<glyph name="nonmarkingreturn" format="2">
+ <advance width="1024"/>
+ <outline>
+ </outline>
+</glyph>
diff --git a/tests/reference/fontparts/psfbuildcompgc.ufo/layercontents.plist b/tests/reference/fontparts/psfbuildcompgc.ufo/layercontents.plist
new file mode 100644
index 0000000..b9c1a4f
--- /dev/null
+++ b/tests/reference/fontparts/psfbuildcompgc.ufo/layercontents.plist
@@ -0,0 +1,10 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+ <array>
+ <array>
+ <string>public.default</string>
+ <string>glyphs</string>
+ </array>
+ </array>
+</plist>
diff --git a/tests/reference/fontparts/psfbuildcompgc.ufo/lib.plist b/tests/reference/fontparts/psfbuildcompgc.ufo/lib.plist
new file mode 100644
index 0000000..b3dadfa
--- /dev/null
+++ b/tests/reference/fontparts/psfbuildcompgc.ufo/lib.plist
@@ -0,0 +1,547 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+ <dict>
+ <key>com.schriftgestaltung.Glyphs.fontUserData</key>
+ <dict/>
+ <key>com.schriftgestaltung.appVersion</key>
+ <string>1161</string>
+ <key>com.schriftgestaltung.customParameter.GSFont.DisplayStrings</key>
+ <string></string>
+ <key>com.schriftgestaltung.customParameter.GSFont.disablesAutomaticAlignment</key>
+ <true/>
+ <key>com.schriftgestaltung.customParameter.GSFont.disablesLastChange</key>
+ <true/>
+ <key>com.schriftgestaltung.customParameter.GSFont.useNiceNames</key>
+ <integer>0</integer>
+ <key>com.schriftgestaltung.customParameter.GSFontMaster.customValue</key>
+ <integer>0</integer>
+ <key>com.schriftgestaltung.customParameter.GSFontMaster.customValue1</key>
+ <integer>0</integer>
+ <key>com.schriftgestaltung.customParameter.GSFontMaster.customValue2</key>
+ <integer>0</integer>
+ <key>com.schriftgestaltung.customParameter.GSFontMaster.customValue3</key>
+ <integer>0</integer>
+ <key>com.schriftgestaltung.customParameter.GSFontMaster.iconName</key>
+ <string></string>
+ <key>com.schriftgestaltung.customParameter.GSFontMaster.weightValue</key>
+ <integer>400</integer>
+ <key>com.schriftgestaltung.customParameter.GSFontMaster.widthValue</key>
+ <integer>100</integer>
+ <key>com.schriftgestaltung.disablesAutomaticAlignment</key>
+ <true/>
+ <key>com.schriftgestaltung.disablesLastChange</key>
+ <true/>
+ <key>com.schriftgestaltung.fontMasterOrder</key>
+ <integer>0</integer>
+ <key>com.schriftgestaltung.glyphOrder</key>
+ <array>
+ <string>.notdef</string>
+ <string>.null</string>
+ <string>nonmarkingreturn</string>
+ <string>Space</string>
+ <string>ExclamationMrk</string>
+ <string>QuotMrk</string>
+ <string>NumSgn</string>
+ <string>DollarSgn</string>
+ <string>PercentSgn</string>
+ <string>Ampersand</string>
+ <string>Apos</string>
+ <string>LftParen</string>
+ <string>RtParen</string>
+ <string>Asterisk</string>
+ <string>PlusSgn</string>
+ <string>Comma</string>
+ <string>HyphenMinus</string>
+ <string>FullStop</string>
+ <string>Solidus</string>
+ <string>DigitZero</string>
+ <string>DigitOne</string>
+ <string>DigitTwo</string>
+ <string>DigitThree</string>
+ <string>DigitFour</string>
+ <string>DigitFive</string>
+ <string>DigitSix</string>
+ <string>DigitSeven</string>
+ <string>DigitEight</string>
+ <string>DigitNine</string>
+ <string>Colon</string>
+ <string>Semicolon</string>
+ <string>LTSgn</string>
+ <string>EqSgn</string>
+ <string>GTSgn</string>
+ <string>QstnMrk</string>
+ <string>AtSgn</string>
+ <string>LtnCapA</string>
+ <string>LtnCapA.alt</string>
+ <string>LtnCapB</string>
+ <string>LtnCapC</string>
+ <string>LtnCapD</string>
+ <string>LtnCapE</string>
+ <string>LtnCapF</string>
+ <string>LtnCapG</string>
+ <string>LtnCapH</string>
+ <string>LtnCapI</string>
+ <string>LtnCapJ</string>
+ <string>LtnCapK</string>
+ <string>LtnCapL</string>
+ <string>LtnCapM</string>
+ <string>LtnCapN</string>
+ <string>LtnCapO</string>
+ <string>LtnCapP</string>
+ <string>LtnCapQ</string>
+ <string>LtnCapR</string>
+ <string>LtnCapS</string>
+ <string>LtnCapT</string>
+ <string>LtnCapU</string>
+ <string>LtnCapV</string>
+ <string>LtnCapW</string>
+ <string>LtnCapX</string>
+ <string>LtnCapY</string>
+ <string>LftSqrBrac</string>
+ <string>ReverseSolidus</string>
+ <string>RtSqrBrac</string>
+ <string>CircumAccent</string>
+ <string>LowLine</string>
+ <string>GraveAccent</string>
+ <string>LtnSmA</string>
+ <string>LtnSmB</string>
+ <string>LtnSmC</string>
+ <string>LtnSmD</string>
+ <string>LtnSmE</string>
+ <string>LtnSmF</string>
+ <string>LtnSmG</string>
+ <string>LtnSmH</string>
+ <string>LtnSmI</string>
+ <string>LtnSmJ</string>
+ <string>LtnSmK</string>
+ <string>LtnSmL</string>
+ <string>LtnSmM</string>
+ <string>LtnSmN</string>
+ <string>LtnSmO</string>
+ <string>LtnSmP</string>
+ <string>LtnSmQ</string>
+ <string>LtnSmR</string>
+ <string>LtnSmS</string>
+ <string>LtnSmT</string>
+ <string>LtnSmU</string>
+ <string>LtnSmV</string>
+ <string>LtnSmW</string>
+ <string>LtnSmX</string>
+ <string>LtnSmY</string>
+ <string>LftCurlyBrac</string>
+ <string>VertLine</string>
+ <string>RtCurlyBrac</string>
+ <string>Tilde</string>
+ <string>LtnCapADiaer</string>
+ <string>LtnSmAAcute</string>
+ <string>LtnSmAGrave</string>
+ <string>LtnSmACircum</string>
+ <string>LtnSmADiaer</string>
+ <string>LtnSmATilde</string>
+ <string>LtnSmARingAbv</string>
+ <string>DottedCirc</string>
+ <string>Hyphen</string>
+ <string>NonBreakingHyphen</string>
+ <string>Hyphen_Soft</string>
+ <string>CombAcute</string>
+ <string>CombGrave</string>
+ <string>CombCircum</string>
+ <string>CombTilde</string>
+ <string>CombDiaer</string>
+ <string>CombRingAbv</string>
+ </array>
+ <key>com.schriftgestaltung.keyboardIncrement</key>
+ <integer>1</integer>
+ <key>com.schriftgestaltung.weight</key>
+ <string>Regular</string>
+ <key>com.schriftgestaltung.weightValue</key>
+ <integer>400</integer>
+ <key>com.schriftgestaltung.width</key>
+ <string>Regular</string>
+ <key>com.schriftgestaltung.widthValue</key>
+ <integer>100</integer>
+ <key>org.sil.lcg.toneLetters</key>
+ <dict>
+ <key>contourWidth</key>
+ <integer>480</integer>
+ <key>dotSize</key>
+ <integer>180</integer>
+ <key>dotSpacing</key>
+ <integer>200</integer>
+ <key>glyphDepth</key>
+ <integer>-25</integer>
+ <key>glyphHeight</key>
+ <integer>1600</integer>
+ <key>italicAngle</key>
+ <integer>0</integer>
+ <key>marginDotLeft</key>
+ <integer>120</integer>
+ <key>marginDotRight</key>
+ <integer>160</integer>
+ <key>marginFlatLeft</key>
+ <integer>120</integer>
+ <key>marginFlatRight</key>
+ <integer>160</integer>
+ <key>marginPointLeft</key>
+ <integer>100</integer>
+ <key>marginPointRight</key>
+ <integer>140</integer>
+ <key>strokeThickness</key>
+ <integer>120</integer>
+ </dict>
+ <key>public.glyphOrder</key>
+ <array>
+ <string>.notdef</string>
+ <string>.null</string>
+ <string>nonmarkingreturn</string>
+ <string>Space</string>
+ <string>ExclamationMrk</string>
+ <string>QuotMrk</string>
+ <string>NumSgn</string>
+ <string>DollarSgn</string>
+ <string>PercentSgn</string>
+ <string>Ampersand</string>
+ <string>Apos</string>
+ <string>LftParen</string>
+ <string>RtParen</string>
+ <string>Asterisk</string>
+ <string>PlusSgn</string>
+ <string>Comma</string>
+ <string>HyphenMinus</string>
+ <string>FullStop</string>
+ <string>Solidus</string>
+ <string>DigitZero</string>
+ <string>DigitOne</string>
+ <string>DigitTwo</string>
+ <string>DigitThree</string>
+ <string>DigitFour</string>
+ <string>DigitFive</string>
+ <string>DigitSix</string>
+ <string>DigitSeven</string>
+ <string>DigitEight</string>
+ <string>DigitNine</string>
+ <string>Colon</string>
+ <string>Semicolon</string>
+ <string>LTSgn</string>
+ <string>EqSgn</string>
+ <string>GTSgn</string>
+ <string>QstnMrk</string>
+ <string>AtSgn</string>
+ <string>LtnCapA</string>
+ <string>LtnCapA.alt</string>
+ <string>LtnCapB</string>
+ <string>LtnCapC</string>
+ <string>LtnCapD</string>
+ <string>LtnCapE</string>
+ <string>LtnCapF</string>
+ <string>LtnCapG</string>
+ <string>LtnCapH</string>
+ <string>LtnCapI</string>
+ <string>LtnCapJ</string>
+ <string>LtnCapK</string>
+ <string>LtnCapL</string>
+ <string>LtnCapM</string>
+ <string>LtnCapN</string>
+ <string>LtnCapO</string>
+ <string>LtnCapP</string>
+ <string>LtnCapQ</string>
+ <string>LtnCapR</string>
+ <string>LtnCapS</string>
+ <string>LtnCapT</string>
+ <string>LtnCapU</string>
+ <string>LtnCapV</string>
+ <string>LtnCapW</string>
+ <string>LtnCapX</string>
+ <string>LtnCapY</string>
+ <string>LftSqrBrac</string>
+ <string>ReverseSolidus</string>
+ <string>RtSqrBrac</string>
+ <string>CircumAccent</string>
+ <string>LowLine</string>
+ <string>GraveAccent</string>
+ <string>LtnSmA</string>
+ <string>LtnSmB</string>
+ <string>LtnSmC</string>
+ <string>LtnSmD</string>
+ <string>LtnSmE</string>
+ <string>LtnSmF</string>
+ <string>LtnSmG</string>
+ <string>LtnSmH</string>
+ <string>LtnSmI</string>
+ <string>LtnSmJ</string>
+ <string>LtnSmK</string>
+ <string>LtnSmL</string>
+ <string>LtnSmM</string>
+ <string>LtnSmN</string>
+ <string>LtnSmO</string>
+ <string>LtnSmP</string>
+ <string>LtnSmQ</string>
+ <string>LtnSmR</string>
+ <string>LtnSmS</string>
+ <string>LtnSmT</string>
+ <string>LtnSmU</string>
+ <string>LtnSmV</string>
+ <string>LtnSmW</string>
+ <string>LtnSmX</string>
+ <string>LtnSmY</string>
+ <string>LftCurlyBrac</string>
+ <string>VertLine</string>
+ <string>RtCurlyBrac</string>
+ <string>Tilde</string>
+ <string>LtnCapADiaer</string>
+ <string>LtnSmAAcute</string>
+ <string>LtnSmAGrave</string>
+ <string>LtnSmACircum</string>
+ <string>LtnSmADiaer</string>
+ <string>LtnSmATilde</string>
+ <string>LtnSmARingAbv</string>
+ <string>DottedCirc</string>
+ <string>Hyphen</string>
+ <string>NonBreakingHyphen</string>
+ <string>Hyphen_Soft</string>
+ <string>CombAcute</string>
+ <string>CombGrave</string>
+ <string>CombCircum</string>
+ <string>CombTilde</string>
+ <string>CombDiaer</string>
+ <string>CombRingAbv</string>
+ <string>LtnCapIJ</string>
+ <string>LtnSmIJ</string>
+ <string>LtnCapCAcute</string>
+ <string>LtnSmCAcute</string>
+ <string>LtnCapCCircum</string>
+ <string>LtnSmCCircum</string>
+ <string>LtnSmITildeGrave</string>
+ <string>LtnCapCAcuteCedilla</string>
+ <string>LtnSmCAcuteCedilla</string>
+ <string>LtnSmITilde</string>
+ <string>LtnSmITildeGraveCedilla</string>
+ </array>
+ <key>public.postscriptNames</key>
+ <dict>
+ <key>Ampersand</key>
+ <string>ampersand</string>
+ <key>Apos</key>
+ <string>quotesingle</string>
+ <key>Asterisk</key>
+ <string>asterisk</string>
+ <key>AtSgn</key>
+ <string>at</string>
+ <key>CircumAccent</key>
+ <string>asciicircum</string>
+ <key>Colon</key>
+ <string>colon</string>
+ <key>CombAcute</key>
+ <string>acutecomb</string>
+ <key>CombCircum</key>
+ <string>uni0302</string>
+ <key>CombDiaer</key>
+ <string>uni0308</string>
+ <key>CombGrave</key>
+ <string>gravecomb</string>
+ <key>CombRingAbv</key>
+ <string>uni030A</string>
+ <key>CombTilde</key>
+ <string>tildecomb</string>
+ <key>Comma</key>
+ <string>comma</string>
+ <key>DigitEight</key>
+ <string>eight</string>
+ <key>DigitFive</key>
+ <string>five</string>
+ <key>DigitFour</key>
+ <string>four</string>
+ <key>DigitNine</key>
+ <string>nine</string>
+ <key>DigitOne</key>
+ <string>one</string>
+ <key>DigitSeven</key>
+ <string>seven</string>
+ <key>DigitSix</key>
+ <string>six</string>
+ <key>DigitThree</key>
+ <string>three</string>
+ <key>DigitTwo</key>
+ <string>two</string>
+ <key>DigitZero</key>
+ <string>zero</string>
+ <key>DollarSgn</key>
+ <string>dollar</string>
+ <key>DottedCirc</key>
+ <string>uni25CC</string>
+ <key>EqSgn</key>
+ <string>equal</string>
+ <key>ExclamationMrk</key>
+ <string>exclam</string>
+ <key>FullStop</key>
+ <string>period</string>
+ <key>GTSgn</key>
+ <string>greater</string>
+ <key>GraveAccent</key>
+ <string>grave</string>
+ <key>Hyphen</key>
+ <string>uni2010</string>
+ <key>HyphenMinus</key>
+ <string>hyphen</string>
+ <key>Hyphen_Soft</key>
+ <string>uni00AD</string>
+ <key>LTSgn</key>
+ <string>less</string>
+ <key>LftCurlyBrac</key>
+ <string>braceleft</string>
+ <key>LftParen</key>
+ <string>parenleft</string>
+ <key>LftSqrBrac</key>
+ <string>bracketleft</string>
+ <key>LowLine</key>
+ <string>underscore</string>
+ <key>LtnCapA</key>
+ <string>A</string>
+ <key>LtnCapA.alt</key>
+ <string>A</string>
+ <key>LtnCapADiaer</key>
+ <string>Adieresis</string>
+ <key>LtnCapB</key>
+ <string>B</string>
+ <key>LtnCapC</key>
+ <string>C</string>
+ <key>LtnCapD</key>
+ <string>D</string>
+ <key>LtnCapE</key>
+ <string>E</string>
+ <key>LtnCapF</key>
+ <string>F</string>
+ <key>LtnCapG</key>
+ <string>G</string>
+ <key>LtnCapH</key>
+ <string>H</string>
+ <key>LtnCapI</key>
+ <string>I</string>
+ <key>LtnCapJ</key>
+ <string>J</string>
+ <key>LtnCapK</key>
+ <string>K</string>
+ <key>LtnCapL</key>
+ <string>L</string>
+ <key>LtnCapM</key>
+ <string>M</string>
+ <key>LtnCapN</key>
+ <string>N</string>
+ <key>LtnCapO</key>
+ <string>O</string>
+ <key>LtnCapP</key>
+ <string>P</string>
+ <key>LtnCapQ</key>
+ <string>Q</string>
+ <key>LtnCapR</key>
+ <string>R</string>
+ <key>LtnCapS</key>
+ <string>S</string>
+ <key>LtnCapT</key>
+ <string>T</string>
+ <key>LtnCapU</key>
+ <string>U</string>
+ <key>LtnCapV</key>
+ <string>V</string>
+ <key>LtnCapW</key>
+ <string>W</string>
+ <key>LtnCapX</key>
+ <string>X</string>
+ <key>LtnCapY</key>
+ <string>Y</string>
+ <key>LtnSmA</key>
+ <string>a</string>
+ <key>LtnSmAAcute</key>
+ <string>aacute</string>
+ <key>LtnSmACircum</key>
+ <string>acircumflex</string>
+ <key>LtnSmADiaer</key>
+ <string>adieresis</string>
+ <key>LtnSmAGrave</key>
+ <string>agrave</string>
+ <key>LtnSmARingAbv</key>
+ <string>aring</string>
+ <key>LtnSmATilde</key>
+ <string>atilde</string>
+ <key>LtnSmB</key>
+ <string>b</string>
+ <key>LtnSmC</key>
+ <string>c</string>
+ <key>LtnSmD</key>
+ <string>d</string>
+ <key>LtnSmE</key>
+ <string>e</string>
+ <key>LtnSmF</key>
+ <string>f</string>
+ <key>LtnSmG</key>
+ <string>g</string>
+ <key>LtnSmH</key>
+ <string>h</string>
+ <key>LtnSmI</key>
+ <string>i</string>
+ <key>LtnSmJ</key>
+ <string>j</string>
+ <key>LtnSmK</key>
+ <string>k</string>
+ <key>LtnSmL</key>
+ <string>l</string>
+ <key>LtnSmM</key>
+ <string>m</string>
+ <key>LtnSmN</key>
+ <string>n</string>
+ <key>LtnSmO</key>
+ <string>o</string>
+ <key>LtnSmP</key>
+ <string>p</string>
+ <key>LtnSmQ</key>
+ <string>q</string>
+ <key>LtnSmR</key>
+ <string>r</string>
+ <key>LtnSmS</key>
+ <string>s</string>
+ <key>LtnSmT</key>
+ <string>t</string>
+ <key>LtnSmU</key>
+ <string>u</string>
+ <key>LtnSmV</key>
+ <string>v</string>
+ <key>LtnSmW</key>
+ <string>w</string>
+ <key>LtnSmX</key>
+ <string>x</string>
+ <key>LtnSmY</key>
+ <string>y</string>
+ <key>NonBreakingHyphen</key>
+ <string>uni2011</string>
+ <key>NumSgn</key>
+ <string>numbersign</string>
+ <key>PercentSgn</key>
+ <string>percent</string>
+ <key>PlusSgn</key>
+ <string>plus</string>
+ <key>QstnMrk</key>
+ <string>question</string>
+ <key>QuotMrk</key>
+ <string>quotedbl</string>
+ <key>ReverseSolidus</key>
+ <string>backslash</string>
+ <key>RtCurlyBrac</key>
+ <string>braceright</string>
+ <key>RtParen</key>
+ <string>parenright</string>
+ <key>RtSqrBrac</key>
+ <string>bracketright</string>
+ <key>Semicolon</key>
+ <string>semicolon</string>
+ <key>Solidus</key>
+ <string>slash</string>
+ <key>Space</key>
+ <string>space</string>
+ <key>Tilde</key>
+ <string>asciitilde</string>
+ <key>VertLine</key>
+ <string>bar</string>
+ </dict>
+ </dict>
+</plist>
diff --git a/tests/reference/fontparts/psfbuildcompgc.ufo/metainfo.plist b/tests/reference/fontparts/psfbuildcompgc.ufo/metainfo.plist
new file mode 100644
index 0000000..7b8b34a
--- /dev/null
+++ b/tests/reference/fontparts/psfbuildcompgc.ufo/metainfo.plist
@@ -0,0 +1,10 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+ <dict>
+ <key>creator</key>
+ <string>com.github.fonttools.ufoLib</string>
+ <key>formatVersion</key>
+ <integer>3</integer>
+ </dict>
+</plist>