diff --git a/requirements.txt b/requirements.txt
index 99f7539f4..b5f73875d 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -6,4 +6,4 @@ fontTools[ufo,unicode,lxml]==3.38.0
mutatorMath==2.1.2
psautohint==1.9.2b2
ufonormalizer==0.3.6
-ufoProcessor==1.0.3
+ufoProcessor==1.0.4
diff --git a/tests/makeinstancesufo_data/expected_output/anisotropic.ufo/fontinfo.plist b/tests/makeinstancesufo_data/expected_output/anisotropic.ufo/fontinfo.plist
new file mode 100644
index 000000000..5694b17d2
--- /dev/null
+++ b/tests/makeinstancesufo_data/expected_output/anisotropic.ufo/fontinfo.plist
@@ -0,0 +1,160 @@
+
+
+
+
+ ascender
+ 734
+ capHeight
+ 673
+ copyright
+ Copyright 2014 - 2017 Adobe Systems Incorporated (http://www.adobe.com/), with Reserved Font Name 'Source'.
+ descender
+ -242
+ familyName
+ Source Serif Pro
+ guidelines
+
+ italicAngle
+ 0
+ openTypeHheaAscender
+ 1036
+ openTypeHheaDescender
+ -335
+ openTypeHheaLineGap
+ 0
+ openTypeNameDesigner
+ Frank Grießhammer
+ openTypeNameLicense
+ This Font Software is licensed under the SIL Open Font License, Version 1.1. This license is available with a FAQ at: http://scripts.sil.org/OFL. This Font Software is distributed on an 'AS IS' BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the SIL Open Font License for the specific language, permissions and limitations governing your use of this Font Software.
+ openTypeNameLicenseURL
+ http://scripts.sil.org/OFL
+ openTypeNameManufacturer
+ Adobe Systems Incorporated
+ openTypeNameManufacturerURL
+ http://www.adobe.com/type
+ openTypeOS2CodePageRanges
+
+ 0
+ 1
+ 2
+ 3
+ 4
+ 7
+ 8
+ 29
+
+ openTypeOS2Panose
+
+ 2
+ 4
+ 6
+ 3
+ 5
+ 4
+ 5
+ 2
+ 2
+ 4
+
+ openTypeOS2TypoAscender
+ 730
+ openTypeOS2TypoDescender
+ -270
+ openTypeOS2TypoLineGap
+ 0
+ openTypeOS2UnicodeRanges
+
+ 0
+ 1
+ 2
+ 7
+ 9
+ 29
+ 32
+ 33
+ 57
+
+ openTypeOS2VendorID
+ ADBO
+ openTypeOS2WinAscent
+ 1036
+ openTypeOS2WinDescent
+ 335
+ postscriptBlueFuzz
+ 0
+ postscriptBlueScale
+ 0.0375
+ postscriptBlueValues
+
+ -14
+ 0
+ 472
+ 485
+ 530
+ 543
+ 553
+ 566
+ 650
+ 663
+ 673
+ 687
+ 734
+ 754
+
+ postscriptFamilyBlues
+
+ -15
+ 0
+ 475
+ 488
+ 527
+ 540
+ 549
+ 563
+ 646
+ 659
+ 669
+ 684
+ 729
+ 749
+
+ postscriptFamilyOtherBlues
+
+ -249
+ -239
+
+ postscriptFontName
+ SourceSerifPro-Anisotropic
+ postscriptOtherBlues
+
+ -252
+ -242
+
+ postscriptStemSnapH
+
+ 74
+ 60
+
+ postscriptStemSnapV
+
+ 56
+ 64
+
+ postscriptUnderlinePosition
+ -75
+ postscriptUnderlineThickness
+ 50
+ styleName
+ Anisotropic
+ trademark
+ Source is a trademark of Adobe Systems Incorporated in the United States and/or other countries.
+ unitsPerEm
+ 1000
+ versionMajor
+ 1
+ versionMinor
+ 0
+ xHeight
+ 472
+
+
diff --git a/tests/makeinstancesufo_data/expected_output/anisotropic.ufo/glyphs/A_.glif b/tests/makeinstancesufo_data/expected_output/anisotropic.ufo/glyphs/A_.glif
new file mode 100644
index 000000000..061520fd7
--- /dev/null
+++ b/tests/makeinstancesufo_data/expected_output/anisotropic.ufo/glyphs/A_.glif
@@ -0,0 +1,42 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/makeinstancesufo_data/expected_output/anisotropic.ufo/glyphs/A_acute.glif b/tests/makeinstancesufo_data/expected_output/anisotropic.ufo/glyphs/A_acute.glif
new file mode 100644
index 000000000..08f7df37c
--- /dev/null
+++ b/tests/makeinstancesufo_data/expected_output/anisotropic.ufo/glyphs/A_acute.glif
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
diff --git a/tests/makeinstancesufo_data/expected_output/anisotropic.ufo/glyphs/A_dieresis.glif b/tests/makeinstancesufo_data/expected_output/anisotropic.ufo/glyphs/A_dieresis.glif
new file mode 100644
index 000000000..a8e407215
--- /dev/null
+++ b/tests/makeinstancesufo_data/expected_output/anisotropic.ufo/glyphs/A_dieresis.glif
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
diff --git a/tests/makeinstancesufo_data/expected_output/anisotropic.ufo/glyphs/A_tilde.glif b/tests/makeinstancesufo_data/expected_output/anisotropic.ufo/glyphs/A_tilde.glif
new file mode 100644
index 000000000..1ea35592e
--- /dev/null
+++ b/tests/makeinstancesufo_data/expected_output/anisotropic.ufo/glyphs/A_tilde.glif
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
diff --git a/tests/makeinstancesufo_data/expected_output/anisotropic.ufo/glyphs/Y_.glif b/tests/makeinstancesufo_data/expected_output/anisotropic.ufo/glyphs/Y_.glif
new file mode 100644
index 000000000..42da381ae
--- /dev/null
+++ b/tests/makeinstancesufo_data/expected_output/anisotropic.ufo/glyphs/Y_.glif
@@ -0,0 +1,53 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/makeinstancesufo_data/expected_output/anisotropic.ufo/glyphs/Y_acute.glif b/tests/makeinstancesufo_data/expected_output/anisotropic.ufo/glyphs/Y_acute.glif
new file mode 100644
index 000000000..fc8908cd4
--- /dev/null
+++ b/tests/makeinstancesufo_data/expected_output/anisotropic.ufo/glyphs/Y_acute.glif
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
diff --git a/tests/makeinstancesufo_data/expected_output/anisotropic.ufo/glyphs/Y_dieresis.glif b/tests/makeinstancesufo_data/expected_output/anisotropic.ufo/glyphs/Y_dieresis.glif
new file mode 100644
index 000000000..7bc646679
--- /dev/null
+++ b/tests/makeinstancesufo_data/expected_output/anisotropic.ufo/glyphs/Y_dieresis.glif
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
diff --git a/tests/makeinstancesufo_data/expected_output/anisotropic.ufo/glyphs/Y_tilde.glif b/tests/makeinstancesufo_data/expected_output/anisotropic.ufo/glyphs/Y_tilde.glif
new file mode 100644
index 000000000..9c82254e9
--- /dev/null
+++ b/tests/makeinstancesufo_data/expected_output/anisotropic.ufo/glyphs/Y_tilde.glif
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
diff --git a/tests/makeinstancesufo_data/expected_output/anisotropic.ufo/glyphs/a.glif b/tests/makeinstancesufo_data/expected_output/anisotropic.ufo/glyphs/a.glif
new file mode 100644
index 000000000..14ed91a7e
--- /dev/null
+++ b/tests/makeinstancesufo_data/expected_output/anisotropic.ufo/glyphs/a.glif
@@ -0,0 +1,77 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/makeinstancesufo_data/expected_output/anisotropic.ufo/glyphs/aacute.glif b/tests/makeinstancesufo_data/expected_output/anisotropic.ufo/glyphs/aacute.glif
new file mode 100644
index 000000000..4dbe008a6
--- /dev/null
+++ b/tests/makeinstancesufo_data/expected_output/anisotropic.ufo/glyphs/aacute.glif
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
diff --git a/tests/makeinstancesufo_data/expected_output/anisotropic.ufo/glyphs/acutecmb.cap.glif b/tests/makeinstancesufo_data/expected_output/anisotropic.ufo/glyphs/acutecmb.cap.glif
new file mode 100644
index 000000000..a922332c4
--- /dev/null
+++ b/tests/makeinstancesufo_data/expected_output/anisotropic.ufo/glyphs/acutecmb.cap.glif
@@ -0,0 +1,24 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/makeinstancesufo_data/expected_output/anisotropic.ufo/glyphs/acutecmb.glif b/tests/makeinstancesufo_data/expected_output/anisotropic.ufo/glyphs/acutecmb.glif
new file mode 100644
index 000000000..f2cceedd0
--- /dev/null
+++ b/tests/makeinstancesufo_data/expected_output/anisotropic.ufo/glyphs/acutecmb.glif
@@ -0,0 +1,25 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/makeinstancesufo_data/expected_output/anisotropic.ufo/glyphs/adieresis.glif b/tests/makeinstancesufo_data/expected_output/anisotropic.ufo/glyphs/adieresis.glif
new file mode 100644
index 000000000..415e8a684
--- /dev/null
+++ b/tests/makeinstancesufo_data/expected_output/anisotropic.ufo/glyphs/adieresis.glif
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
diff --git a/tests/makeinstancesufo_data/expected_output/anisotropic.ufo/glyphs/atilde.glif b/tests/makeinstancesufo_data/expected_output/anisotropic.ufo/glyphs/atilde.glif
new file mode 100644
index 000000000..719734341
--- /dev/null
+++ b/tests/makeinstancesufo_data/expected_output/anisotropic.ufo/glyphs/atilde.glif
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
diff --git a/tests/makeinstancesufo_data/expected_output/anisotropic.ufo/glyphs/contents.plist b/tests/makeinstancesufo_data/expected_output/anisotropic.ufo/glyphs/contents.plist
new file mode 100644
index 000000000..f140c9be6
--- /dev/null
+++ b/tests/makeinstancesufo_data/expected_output/anisotropic.ufo/glyphs/contents.plist
@@ -0,0 +1,50 @@
+
+
+
+
+ A
+ A_.glif
+ Aacute
+ A_acute.glif
+ Adieresis
+ A_dieresis.glif
+ Atilde
+ A_tilde.glif
+ Y
+ Y_.glif
+ Yacute
+ Y_acute.glif
+ Ydieresis
+ Y_dieresis.glif
+ Ytilde
+ Y_tilde.glif
+ a
+ a.glif
+ aacute
+ aacute.glif
+ acutecmb
+ acutecmb.glif
+ acutecmb.cap
+ acutecmb.cap.glif
+ adieresis
+ adieresis.glif
+ atilde
+ atilde.glif
+ dieresiscmb
+ dieresiscmb.glif
+ dieresiscmb.cap
+ dieresiscmb.cap.glif
+ tildecmb
+ tildecmb.glif
+ tildecmb.cap
+ tildecmb.cap.glif
+ y
+ y.glif
+ yacute
+ yacute.glif
+ ydieresis
+ ydieresis.glif
+ ytilde
+ ytilde.glif
+
+
diff --git a/tests/makeinstancesufo_data/expected_output/anisotropic.ufo/glyphs/dieresiscmb.cap.glif b/tests/makeinstancesufo_data/expected_output/anisotropic.ufo/glyphs/dieresiscmb.cap.glif
new file mode 100644
index 000000000..cccb7ed15
--- /dev/null
+++ b/tests/makeinstancesufo_data/expected_output/anisotropic.ufo/glyphs/dieresiscmb.cap.glif
@@ -0,0 +1,34 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/makeinstancesufo_data/expected_output/anisotropic.ufo/glyphs/dieresiscmb.glif b/tests/makeinstancesufo_data/expected_output/anisotropic.ufo/glyphs/dieresiscmb.glif
new file mode 100644
index 000000000..074962bd1
--- /dev/null
+++ b/tests/makeinstancesufo_data/expected_output/anisotropic.ufo/glyphs/dieresiscmb.glif
@@ -0,0 +1,36 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/makeinstancesufo_data/expected_output/anisotropic.ufo/glyphs/tildecmb.cap.glif b/tests/makeinstancesufo_data/expected_output/anisotropic.ufo/glyphs/tildecmb.cap.glif
new file mode 100644
index 000000000..7d6e557b5
--- /dev/null
+++ b/tests/makeinstancesufo_data/expected_output/anisotropic.ufo/glyphs/tildecmb.cap.glif
@@ -0,0 +1,34 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/makeinstancesufo_data/expected_output/anisotropic.ufo/glyphs/tildecmb.glif b/tests/makeinstancesufo_data/expected_output/anisotropic.ufo/glyphs/tildecmb.glif
new file mode 100644
index 000000000..dbe50292e
--- /dev/null
+++ b/tests/makeinstancesufo_data/expected_output/anisotropic.ufo/glyphs/tildecmb.glif
@@ -0,0 +1,35 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/makeinstancesufo_data/expected_output/anisotropic.ufo/glyphs/y.glif b/tests/makeinstancesufo_data/expected_output/anisotropic.ufo/glyphs/y.glif
new file mode 100644
index 000000000..a563af72a
--- /dev/null
+++ b/tests/makeinstancesufo_data/expected_output/anisotropic.ufo/glyphs/y.glif
@@ -0,0 +1,55 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/makeinstancesufo_data/expected_output/anisotropic.ufo/glyphs/yacute.glif b/tests/makeinstancesufo_data/expected_output/anisotropic.ufo/glyphs/yacute.glif
new file mode 100644
index 000000000..22854b8b5
--- /dev/null
+++ b/tests/makeinstancesufo_data/expected_output/anisotropic.ufo/glyphs/yacute.glif
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
diff --git a/tests/makeinstancesufo_data/expected_output/anisotropic.ufo/glyphs/ydieresis.glif b/tests/makeinstancesufo_data/expected_output/anisotropic.ufo/glyphs/ydieresis.glif
new file mode 100644
index 000000000..fba43f839
--- /dev/null
+++ b/tests/makeinstancesufo_data/expected_output/anisotropic.ufo/glyphs/ydieresis.glif
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
diff --git a/tests/makeinstancesufo_data/expected_output/anisotropic.ufo/glyphs/ytilde.glif b/tests/makeinstancesufo_data/expected_output/anisotropic.ufo/glyphs/ytilde.glif
new file mode 100644
index 000000000..73da15d26
--- /dev/null
+++ b/tests/makeinstancesufo_data/expected_output/anisotropic.ufo/glyphs/ytilde.glif
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
diff --git a/tests/makeinstancesufo_data/expected_output/anisotropic.ufo/groups.plist b/tests/makeinstancesufo_data/expected_output/anisotropic.ufo/groups.plist
new file mode 100644
index 000000000..61918a0e9
--- /dev/null
+++ b/tests/makeinstancesufo_data/expected_output/anisotropic.ufo/groups.plist
@@ -0,0 +1,70 @@
+
+
+
+
+ Not a kerning group
+
+ a
+ b
+ c
+ d
+ e
+
+ public.kern1.LAT_A
+
+ A
+ Aacute
+ Adieresis
+ Atilde
+
+ public.kern1.LAT_Y
+
+ Y
+ Yacute
+ Ydieresis
+ Ytilde
+
+ public.kern1.LAT_a
+
+ a
+ aacute
+ adieresis
+ atilde
+
+ public.kern1.LAT_v
+
+ y
+ yacute
+ ydieresis
+ ytilde
+
+ public.kern2.LAT_A
+
+ A
+ Aacute
+ Adieresis
+ Atilde
+
+ public.kern2.LAT_Y
+
+ Y
+ Yacute
+ Ydieresis
+ Ytilde
+
+ public.kern2.LAT_a
+
+ a
+ aacute
+ adieresis
+ atilde
+
+ public.kern2.LAT_y
+
+ y
+ yacute
+ ydieresis
+ ytilde
+
+
+
diff --git a/tests/makeinstancesufo_data/expected_output/anisotropic.ufo/kerning.plist b/tests/makeinstancesufo_data/expected_output/anisotropic.ufo/kerning.plist
new file mode 100644
index 000000000..72ba94b12
--- /dev/null
+++ b/tests/makeinstancesufo_data/expected_output/anisotropic.ufo/kerning.plist
@@ -0,0 +1,48 @@
+
+
+
+
+ public.kern1.LAT_A
+
+ public.kern2.LAT_Y
+ -90
+ public.kern2.LAT_a
+ -10
+ public.kern2.LAT_y
+ -60
+
+ public.kern1.LAT_Y
+
+ adieresis
+ -50
+ atilde
+ -80
+ public.kern2.LAT_A
+ -100
+ public.kern2.LAT_Y
+ 10
+ public.kern2.LAT_a
+ -80
+ public.kern2.LAT_y
+ -50
+
+ public.kern1.LAT_a
+
+ public.kern2.LAT_Y
+ -70
+ public.kern2.LAT_y
+ -20
+
+ public.kern1.LAT_v
+
+ public.kern2.LAT_A
+ -100
+ public.kern2.LAT_Y
+ -60
+ public.kern2.LAT_a
+ -30
+ public.kern2.LAT_y
+ -10
+
+
+
diff --git a/tests/makeinstancesufo_data/expected_output/anisotropic.ufo/layercontents.plist b/tests/makeinstancesufo_data/expected_output/anisotropic.ufo/layercontents.plist
new file mode 100644
index 000000000..b9c1a4f27
--- /dev/null
+++ b/tests/makeinstancesufo_data/expected_output/anisotropic.ufo/layercontents.plist
@@ -0,0 +1,10 @@
+
+
+
+
+
+ public.default
+ glyphs
+
+
+
diff --git a/tests/makeinstancesufo_data/expected_output/anisotropic.ufo/lib.plist b/tests/makeinstancesufo_data/expected_output/anisotropic.ufo/lib.plist
new file mode 100644
index 000000000..21c25767b
--- /dev/null
+++ b/tests/makeinstancesufo_data/expected_output/anisotropic.ufo/lib.plist
@@ -0,0 +1,31 @@
+
+
+
+
+ public.glyphOrder
+
+ A
+ Y
+ a
+ y
+ Aacute
+ Adieresis
+ Atilde
+ Yacute
+ Ydieresis
+ Ytilde
+ aacute
+ adieresis
+ atilde
+ yacute
+ ydieresis
+ ytilde
+ acutecmb
+ acutecmb.cap
+ dieresiscmb
+ dieresiscmb.cap
+ tildecmb
+ tildecmb.cap
+
+
+
diff --git a/tests/makeinstancesufo_data/expected_output/anisotropic.ufo/metainfo.plist b/tests/makeinstancesufo_data/expected_output/anisotropic.ufo/metainfo.plist
new file mode 100644
index 000000000..7b8b34ac6
--- /dev/null
+++ b/tests/makeinstancesufo_data/expected_output/anisotropic.ufo/metainfo.plist
@@ -0,0 +1,10 @@
+
+
+
+
+ creator
+ com.github.fonttools.ufoLib
+ formatVersion
+ 3
+
+
diff --git a/tests/makeinstancesufo_data/expected_output/black.ufo/groups.plist b/tests/makeinstancesufo_data/expected_output/black.ufo/groups.plist
index ca1a568cf..61918a0e9 100644
--- a/tests/makeinstancesufo_data/expected_output/black.ufo/groups.plist
+++ b/tests/makeinstancesufo_data/expected_output/black.ufo/groups.plist
@@ -2,6 +2,14 @@
+ Not a kerning group
+
+ a
+ b
+ c
+ d
+ e
+
public.kern1.LAT_A
A
diff --git a/tests/makeinstancesufo_data/expected_output/bold.ufo/groups.plist b/tests/makeinstancesufo_data/expected_output/bold.ufo/groups.plist
index ca1a568cf..61918a0e9 100644
--- a/tests/makeinstancesufo_data/expected_output/bold.ufo/groups.plist
+++ b/tests/makeinstancesufo_data/expected_output/bold.ufo/groups.plist
@@ -2,6 +2,14 @@
+ Not a kerning group
+
+ a
+ b
+ c
+ d
+ e
+
public.kern1.LAT_A
A
diff --git a/tests/makeinstancesufo_data/expected_output/extralight.ufo/groups.plist b/tests/makeinstancesufo_data/expected_output/extralight.ufo/groups.plist
index 748bcbe07..b348c047e 100644
--- a/tests/makeinstancesufo_data/expected_output/extralight.ufo/groups.plist
+++ b/tests/makeinstancesufo_data/expected_output/extralight.ufo/groups.plist
@@ -2,6 +2,14 @@
+ Not a kerning group
+
+ a
+ b
+ c
+ d
+ e
+
public.kern1.LAT_A
A
diff --git a/tests/makeinstancesufo_data/expected_output/light.ufo/groups.plist b/tests/makeinstancesufo_data/expected_output/light.ufo/groups.plist
index 748bcbe07..b348c047e 100644
--- a/tests/makeinstancesufo_data/expected_output/light.ufo/groups.plist
+++ b/tests/makeinstancesufo_data/expected_output/light.ufo/groups.plist
@@ -2,6 +2,14 @@
+ Not a kerning group
+
+ a
+ b
+ c
+ d
+ e
+
public.kern1.LAT_A
A
diff --git a/tests/makeinstancesufo_data/expected_output/regular.ufo/groups.plist b/tests/makeinstancesufo_data/expected_output/regular.ufo/groups.plist
index 748bcbe07..b348c047e 100644
--- a/tests/makeinstancesufo_data/expected_output/regular.ufo/groups.plist
+++ b/tests/makeinstancesufo_data/expected_output/regular.ufo/groups.plist
@@ -2,6 +2,14 @@
+ Not a kerning group
+
+ a
+ b
+ c
+ d
+ e
+
public.kern1.LAT_A
A
diff --git a/tests/makeinstancesufo_data/expected_output/regular1.ufo/groups.plist b/tests/makeinstancesufo_data/expected_output/regular1.ufo/groups.plist
index ca1a568cf..61918a0e9 100644
--- a/tests/makeinstancesufo_data/expected_output/regular1.ufo/groups.plist
+++ b/tests/makeinstancesufo_data/expected_output/regular1.ufo/groups.plist
@@ -2,6 +2,14 @@
+ Not a kerning group
+
+ a
+ b
+ c
+ d
+ e
+
public.kern1.LAT_A
A
diff --git a/tests/makeinstancesufo_data/expected_output/semibold.ufo/groups.plist b/tests/makeinstancesufo_data/expected_output/semibold.ufo/groups.plist
index 748bcbe07..b348c047e 100644
--- a/tests/makeinstancesufo_data/expected_output/semibold.ufo/groups.plist
+++ b/tests/makeinstancesufo_data/expected_output/semibold.ufo/groups.plist
@@ -2,6 +2,14 @@
+ Not a kerning group
+
+ a
+ b
+ c
+ d
+ e
+
public.kern1.LAT_A
A
diff --git a/tests/makeinstancesufo_data/expected_output/ufo2.ufo/data/com.adobe.type.processedHashMap b/tests/makeinstancesufo_data/expected_output/ufo2.ufo/data/com.adobe.type.processedHashMap
new file mode 100644
index 000000000..a01cf0f86
--- /dev/null
+++ b/tests/makeinstancesufo_data/expected_output/ufo2.ufo/data/com.adobe.type.processedHashMap
@@ -0,0 +1,25 @@
+{
+'A': ['8dd959433d454e202ed93bcd731609add7438f8458249190a3a950ee4f3b23e9946b309d9b0f50f0368a867642c0be4e6e8ee979e1969aec94654854ab8db668', ['checkOutlines']],
+'Aacute': ['7da2ffca1d9c1682cabf9afe84a241f3bfcd8ab07d81262997ae4f3d0df14162a146c100225e28b96c23c325550bebc7f45a25c3eee1fdab33bdd3a4c79f5406', ['checkOutlines']],
+'Adieresis': ['e6dc07311a4007e0ead96809d66e0d1361de481640c62fd7a114cb86d9c2c87637c57e724ee219ca2cc49ce8a17dc6ea5d138baed2cd471f49be12d1620d76e0', ['checkOutlines']],
+'Atilde': ['4a3d5b442091ad712a1120770a49e0d96d6a0f2c53930693785e28fe7b6090ad11abd63990ce20cc63a509667334e7f9a5e5d3dc6fcc1786142ac36d9f215689', ['checkOutlines']],
+'Y': ['00608e9e583539875dc3dabb6f54ff336d8e7fa72f1652c85e4613f0d9e852fed48c0928269ba29d06ca96b0ee2bdb365e51f8bfbc8f102db7d799029a7565bc', ['checkOutlines']],
+'Yacute': ['03748a8204c7a8ce7c7e925787f210148db12d95e991b3e9bbc518495b96126e5f0e932f09a87eece1a4ed7dd1665d227e3b1ed1b0977ffec6a95c23a7335777', ['checkOutlines']],
+'Ydieresis': ['ebe649d0a7d97ca85136e77781159ceeb093b71aad7595a2fac903e94545890fc06c30e5be631739eddf800fd5c7258e5070b78a05e9337aad18a9ad04bc5b8b', ['checkOutlines']],
+'Ytilde': ['e7da8e49ed5c95eee46cefe0f39a8eaece188af91961a5475802d1f83c4b358b5e9501bafc7d206476f6300c408a24e71e9059b873382ab1ee281873bf3d5cde', ['checkOutlines']],
+'a': ['f2dbfc79595cd9ef5beab0d691b3b88f24e80ad0d50d05f0df419e6b452d3876f105225d23aaf4991debc8884286771d0e80958b1b062dab4021db879f230c77', ['checkOutlines']],
+'aacute': ['6712d708077ecefbdd7aca944a6358b7197f35a8e2e60067004db1067a1ff9d97465e033f18d5561ed9b44f64083f928b5e1be7729b8c7603bb8efefca3f89ca', ['checkOutlines']],
+'acutecmb': ['w1000c-59576l-33557859347628c88665116691122706c122720122746103758c847586675849748c30717-2669-31623', ['checkOutlines']],
+'acutecmb.cap': ['w1000c-67745l-49720-774235765c77788115809127825c127843127863110877c898777287755867c27839-5809-36778', ['checkOutlines']],
+'adieresis': ['d3e0cb8bcec24f0c7a593a9cd348d9f114eedc8d6b164256b45a5c7e0b83b4083fdf20b4e2f52e498d2e36fe61a8e65c42532675b15aa5721343fe8fdffb4c2e', ['checkOutlines']],
+'atilde': ['6449b41463d3d4f9cb5cea7239562bdb1cfb3d1d266b6932bc3149cd9299839af2fa10583986cc85f18d6316445e1acb7038068fd11770ddfb4db5cff9acd466', ['checkOutlines']],
+'dieresiscmb': ['ff28d0139c28ddfe51613ad4b7ed0ca13d83fa1645913115d0f3972220f3cf4ffc66ffbbdbe527b800aee0cb2d2c3dd9a720c70b6c8ac28fd06d988cd8e41367', ['checkOutlines']],
+'dieresiscmb.cap': ['b92a1c9abdeb9a24ab331089242fa45ef1924ad4fcf8a83e96d9c0e2841f5b6709b6ca19a60164c6cad5698d2055641e0aefdeb1ec1709a3368787e24168d23d', ['checkOutlines']],
+'hashMapVersion': (1, 0),
+'tildecmb': ['84429a39c1e91677472665722b611511dcdb63c60c895698ca7843c12cf819b496b4295ae9ef0c865bd0e59259a05ced768b0d3623abc31eaac18b60e492126b', ['checkOutlines']],
+'tildecmb.cap': ['7536168008ad5e583df1963d67e11872f75356f1ae1860775e6980c6d125cc1b1a7de4495765c09017b40c05b8a8ec051915fa9ad3d41e4955880df781924cef', ['checkOutlines']],
+'y': ['9b200bbfa411d27e160911330e5f094507898dabb6751a56c9e3313a05cac7ec45fe99c239c2865e2558cf74d476205a43eb4270cd6e1424534f1c565e3ebc0e', ['checkOutlines']],
+'yacute': ['610889ff5dacca025ee867b071b41806e2f9c042a034a64be4fe0dea18d54c7768ca0904d7c80e13edb324fea23b7d27713b4a0e46b4de10004f0dcb0b433369', ['checkOutlines']],
+'ydieresis': ['33125ff2cfdab4b823d625bd3c75141e19db86386ddbb1f99429d7dd2031dc44bffc748637d521712d5bdeec1bee8f81f0163062883e632bb21aa8c675954608', ['checkOutlines']],
+'ytilde': ['6b2cd3f23337189fb11e03776ec805975e3ebacb6ec8f4768c1b3f5a1caf5dc8a7a35565c413bca8669afcd9bfbba757aeeff58c041adaefbffe7fbddc02f8b0', ['checkOutlines']],
+}
diff --git a/tests/makeinstancesufo_data/expected_output/ufo2.ufo/fontinfo.plist b/tests/makeinstancesufo_data/expected_output/ufo2.ufo/fontinfo.plist
new file mode 100644
index 000000000..054e0d411
--- /dev/null
+++ b/tests/makeinstancesufo_data/expected_output/ufo2.ufo/fontinfo.plist
@@ -0,0 +1,158 @@
+
+
+
+
+ ascender
+ 729
+ capHeight
+ 669
+ copyright
+ Copyright 2014 - 2017 Adobe Systems Incorporated (http://www.adobe.com/), with Reserved Font Name 'Source'.
+ descender
+ -239
+ familyName
+ Source Serif Pro
+ italicAngle
+ 0
+ openTypeHheaAscender
+ 1036
+ openTypeHheaDescender
+ -335
+ openTypeHheaLineGap
+ 0
+ openTypeNameDesigner
+ Frank Grießhammer
+ openTypeNameLicense
+ This Font Software is licensed under the SIL Open Font License, Version 1.1. This license is available with a FAQ at: http://scripts.sil.org/OFL. This Font Software is distributed on an 'AS IS' BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the SIL Open Font License for the specific language, permissions and limitations governing your use of this Font Software.
+ openTypeNameLicenseURL
+ http://scripts.sil.org/OFL
+ openTypeNameManufacturer
+ Adobe Systems Incorporated
+ openTypeNameManufacturerURL
+ http://www.adobe.com/type
+ openTypeOS2CodePageRanges
+
+ 0
+ 1
+ 2
+ 3
+ 4
+ 7
+ 8
+ 29
+
+ openTypeOS2Panose
+
+ 2
+ 4
+ 6
+ 3
+ 5
+ 4
+ 5
+ 2
+ 2
+ 4
+
+ openTypeOS2TypoAscender
+ 730
+ openTypeOS2TypoDescender
+ -270
+ openTypeOS2TypoLineGap
+ 0
+ openTypeOS2UnicodeRanges
+
+ 0
+ 1
+ 2
+ 7
+ 9
+ 29
+ 32
+ 33
+ 57
+
+ openTypeOS2VendorID
+ ADBO
+ openTypeOS2WinAscent
+ 1036
+ openTypeOS2WinDescent
+ 335
+ postscriptBlueFuzz
+ 0
+ postscriptBlueScale
+ 0.0375
+ postscriptBlueValues
+
+ -15
+ 0
+ 475
+ 488
+ 527
+ 540
+ 549
+ 563
+ 646
+ 659
+ 669
+ 684
+ 729
+ 749
+
+ postscriptFamilyBlues
+
+ -15
+ 0
+ 475
+ 488
+ 527
+ 540
+ 549
+ 563
+ 646
+ 659
+ 669
+ 684
+ 729
+ 749
+
+ postscriptFamilyOtherBlues
+
+ -249
+ -239
+
+ postscriptFontName
+ SourceSerifPro-Regular
+ postscriptOtherBlues
+
+ -249
+ -239
+
+ postscriptStemSnapH
+
+ 56
+ 41
+
+ postscriptStemSnapV
+
+ 85
+ 95
+
+ postscriptUnderlinePosition
+ -75
+ postscriptUnderlineThickness
+ 50
+ styleName
+ Regular
+ trademark
+ Source is a trademark of Adobe Systems Incorporated in the United States and/or other countries.
+ unitsPerEm
+ 1000
+ versionMajor
+ 1
+ versionMinor
+ 0
+ xHeight
+ 475
+
+
diff --git a/tests/makeinstancesufo_data/expected_output/ufo2.ufo/glyphs.com.adobe.type.processedglyphs/A_.glif b/tests/makeinstancesufo_data/expected_output/ufo2.ufo/glyphs.com.adobe.type.processedglyphs/A_.glif
new file mode 100644
index 000000000..197909436
--- /dev/null
+++ b/tests/makeinstancesufo_data/expected_output/ufo2.ufo/glyphs.com.adobe.type.processedglyphs/A_.glif
@@ -0,0 +1,30 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/makeinstancesufo_data/expected_output/ufo2.ufo/glyphs.com.adobe.type.processedglyphs/A_acute.glif b/tests/makeinstancesufo_data/expected_output/ufo2.ufo/glyphs.com.adobe.type.processedglyphs/A_acute.glif
new file mode 100644
index 000000000..678ea4220
--- /dev/null
+++ b/tests/makeinstancesufo_data/expected_output/ufo2.ufo/glyphs.com.adobe.type.processedglyphs/A_acute.glif
@@ -0,0 +1,48 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/makeinstancesufo_data/expected_output/ufo2.ufo/glyphs.com.adobe.type.processedglyphs/A_dieresis.glif b/tests/makeinstancesufo_data/expected_output/ufo2.ufo/glyphs.com.adobe.type.processedglyphs/A_dieresis.glif
new file mode 100644
index 000000000..2618df0fa
--- /dev/null
+++ b/tests/makeinstancesufo_data/expected_output/ufo2.ufo/glyphs.com.adobe.type.processedglyphs/A_dieresis.glif
@@ -0,0 +1,58 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/makeinstancesufo_data/expected_output/ufo2.ufo/glyphs.com.adobe.type.processedglyphs/A_tilde.glif b/tests/makeinstancesufo_data/expected_output/ufo2.ufo/glyphs.com.adobe.type.processedglyphs/A_tilde.glif
new file mode 100644
index 000000000..82c8f689b
--- /dev/null
+++ b/tests/makeinstancesufo_data/expected_output/ufo2.ufo/glyphs.com.adobe.type.processedglyphs/A_tilde.glif
@@ -0,0 +1,58 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/makeinstancesufo_data/expected_output/ufo2.ufo/glyphs.com.adobe.type.processedglyphs/Y_.glif b/tests/makeinstancesufo_data/expected_output/ufo2.ufo/glyphs.com.adobe.type.processedglyphs/Y_.glif
new file mode 100644
index 000000000..e8c8a4135
--- /dev/null
+++ b/tests/makeinstancesufo_data/expected_output/ufo2.ufo/glyphs.com.adobe.type.processedglyphs/Y_.glif
@@ -0,0 +1,34 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/makeinstancesufo_data/expected_output/ufo2.ufo/glyphs.com.adobe.type.processedglyphs/Y_acute.glif b/tests/makeinstancesufo_data/expected_output/ufo2.ufo/glyphs.com.adobe.type.processedglyphs/Y_acute.glif
new file mode 100644
index 000000000..a8590262c
--- /dev/null
+++ b/tests/makeinstancesufo_data/expected_output/ufo2.ufo/glyphs.com.adobe.type.processedglyphs/Y_acute.glif
@@ -0,0 +1,52 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/makeinstancesufo_data/expected_output/ufo2.ufo/glyphs.com.adobe.type.processedglyphs/Y_dieresis.glif b/tests/makeinstancesufo_data/expected_output/ufo2.ufo/glyphs.com.adobe.type.processedglyphs/Y_dieresis.glif
new file mode 100644
index 000000000..35df70ca6
--- /dev/null
+++ b/tests/makeinstancesufo_data/expected_output/ufo2.ufo/glyphs.com.adobe.type.processedglyphs/Y_dieresis.glif
@@ -0,0 +1,62 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/makeinstancesufo_data/expected_output/ufo2.ufo/glyphs.com.adobe.type.processedglyphs/Y_tilde.glif b/tests/makeinstancesufo_data/expected_output/ufo2.ufo/glyphs.com.adobe.type.processedglyphs/Y_tilde.glif
new file mode 100644
index 000000000..2ee05eef6
--- /dev/null
+++ b/tests/makeinstancesufo_data/expected_output/ufo2.ufo/glyphs.com.adobe.type.processedglyphs/Y_tilde.glif
@@ -0,0 +1,62 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/makeinstancesufo_data/expected_output/ufo2.ufo/glyphs.com.adobe.type.processedglyphs/a.glif b/tests/makeinstancesufo_data/expected_output/ufo2.ufo/glyphs.com.adobe.type.processedglyphs/a.glif
new file mode 100644
index 000000000..345ff078b
--- /dev/null
+++ b/tests/makeinstancesufo_data/expected_output/ufo2.ufo/glyphs.com.adobe.type.processedglyphs/a.glif
@@ -0,0 +1,70 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/makeinstancesufo_data/expected_output/ufo2.ufo/glyphs.com.adobe.type.processedglyphs/aacute.glif b/tests/makeinstancesufo_data/expected_output/ufo2.ufo/glyphs.com.adobe.type.processedglyphs/aacute.glif
new file mode 100644
index 000000000..e94a54e47
--- /dev/null
+++ b/tests/makeinstancesufo_data/expected_output/ufo2.ufo/glyphs.com.adobe.type.processedglyphs/aacute.glif
@@ -0,0 +1,88 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/makeinstancesufo_data/expected_output/ufo2.ufo/glyphs.com.adobe.type.processedglyphs/adieresis.glif b/tests/makeinstancesufo_data/expected_output/ufo2.ufo/glyphs.com.adobe.type.processedglyphs/adieresis.glif
new file mode 100644
index 000000000..94aa3d518
--- /dev/null
+++ b/tests/makeinstancesufo_data/expected_output/ufo2.ufo/glyphs.com.adobe.type.processedglyphs/adieresis.glif
@@ -0,0 +1,98 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/makeinstancesufo_data/expected_output/ufo2.ufo/glyphs.com.adobe.type.processedglyphs/atilde.glif b/tests/makeinstancesufo_data/expected_output/ufo2.ufo/glyphs.com.adobe.type.processedglyphs/atilde.glif
new file mode 100644
index 000000000..4a1abb6de
--- /dev/null
+++ b/tests/makeinstancesufo_data/expected_output/ufo2.ufo/glyphs.com.adobe.type.processedglyphs/atilde.glif
@@ -0,0 +1,98 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/makeinstancesufo_data/expected_output/ufo2.ufo/glyphs.com.adobe.type.processedglyphs/contents.plist b/tests/makeinstancesufo_data/expected_output/ufo2.ufo/glyphs.com.adobe.type.processedglyphs/contents.plist
new file mode 100644
index 000000000..41edc9de1
--- /dev/null
+++ b/tests/makeinstancesufo_data/expected_output/ufo2.ufo/glyphs.com.adobe.type.processedglyphs/contents.plist
@@ -0,0 +1,38 @@
+
+
+
+
+ A
+ A_.glif
+ Aacute
+ A_acute.glif
+ Adieresis
+ A_dieresis.glif
+ Atilde
+ A_tilde.glif
+ Y
+ Y_.glif
+ Yacute
+ Y_acute.glif
+ Ydieresis
+ Y_dieresis.glif
+ Ytilde
+ Y_tilde.glif
+ a
+ a.glif
+ aacute
+ aacute.glif
+ adieresis
+ adieresis.glif
+ atilde
+ atilde.glif
+ y
+ y.glif
+ yacute
+ yacute.glif
+ ydieresis
+ ydieresis.glif
+ ytilde
+ ytilde.glif
+
+
diff --git a/tests/makeinstancesufo_data/expected_output/ufo2.ufo/glyphs.com.adobe.type.processedglyphs/y.glif b/tests/makeinstancesufo_data/expected_output/ufo2.ufo/glyphs.com.adobe.type.processedglyphs/y.glif
new file mode 100644
index 000000000..8c2d28f71
--- /dev/null
+++ b/tests/makeinstancesufo_data/expected_output/ufo2.ufo/glyphs.com.adobe.type.processedglyphs/y.glif
@@ -0,0 +1,40 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/makeinstancesufo_data/expected_output/ufo2.ufo/glyphs.com.adobe.type.processedglyphs/yacute.glif b/tests/makeinstancesufo_data/expected_output/ufo2.ufo/glyphs.com.adobe.type.processedglyphs/yacute.glif
new file mode 100644
index 000000000..5e1825514
--- /dev/null
+++ b/tests/makeinstancesufo_data/expected_output/ufo2.ufo/glyphs.com.adobe.type.processedglyphs/yacute.glif
@@ -0,0 +1,58 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/makeinstancesufo_data/expected_output/ufo2.ufo/glyphs.com.adobe.type.processedglyphs/ydieresis.glif b/tests/makeinstancesufo_data/expected_output/ufo2.ufo/glyphs.com.adobe.type.processedglyphs/ydieresis.glif
new file mode 100644
index 000000000..45b135028
--- /dev/null
+++ b/tests/makeinstancesufo_data/expected_output/ufo2.ufo/glyphs.com.adobe.type.processedglyphs/ydieresis.glif
@@ -0,0 +1,68 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/makeinstancesufo_data/expected_output/ufo2.ufo/glyphs.com.adobe.type.processedglyphs/ytilde.glif b/tests/makeinstancesufo_data/expected_output/ufo2.ufo/glyphs.com.adobe.type.processedglyphs/ytilde.glif
new file mode 100644
index 000000000..aeee22eb4
--- /dev/null
+++ b/tests/makeinstancesufo_data/expected_output/ufo2.ufo/glyphs.com.adobe.type.processedglyphs/ytilde.glif
@@ -0,0 +1,68 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/makeinstancesufo_data/expected_output/ufo2.ufo/glyphs/A_.glif b/tests/makeinstancesufo_data/expected_output/ufo2.ufo/glyphs/A_.glif
new file mode 100644
index 000000000..418707211
--- /dev/null
+++ b/tests/makeinstancesufo_data/expected_output/ufo2.ufo/glyphs/A_.glif
@@ -0,0 +1,48 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/makeinstancesufo_data/expected_output/ufo2.ufo/glyphs/A_acute.glif b/tests/makeinstancesufo_data/expected_output/ufo2.ufo/glyphs/A_acute.glif
new file mode 100644
index 000000000..13e7c81aa
--- /dev/null
+++ b/tests/makeinstancesufo_data/expected_output/ufo2.ufo/glyphs/A_acute.glif
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
diff --git a/tests/makeinstancesufo_data/expected_output/ufo2.ufo/glyphs/A_dieresis.glif b/tests/makeinstancesufo_data/expected_output/ufo2.ufo/glyphs/A_dieresis.glif
new file mode 100644
index 000000000..8473b218d
--- /dev/null
+++ b/tests/makeinstancesufo_data/expected_output/ufo2.ufo/glyphs/A_dieresis.glif
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
diff --git a/tests/makeinstancesufo_data/expected_output/ufo2.ufo/glyphs/A_tilde.glif b/tests/makeinstancesufo_data/expected_output/ufo2.ufo/glyphs/A_tilde.glif
new file mode 100644
index 000000000..919af4ab9
--- /dev/null
+++ b/tests/makeinstancesufo_data/expected_output/ufo2.ufo/glyphs/A_tilde.glif
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
diff --git a/tests/makeinstancesufo_data/expected_output/ufo2.ufo/glyphs/Y_.glif b/tests/makeinstancesufo_data/expected_output/ufo2.ufo/glyphs/Y_.glif
new file mode 100644
index 000000000..6913eae68
--- /dev/null
+++ b/tests/makeinstancesufo_data/expected_output/ufo2.ufo/glyphs/Y_.glif
@@ -0,0 +1,57 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/makeinstancesufo_data/expected_output/ufo2.ufo/glyphs/Y_acute.glif b/tests/makeinstancesufo_data/expected_output/ufo2.ufo/glyphs/Y_acute.glif
new file mode 100644
index 000000000..774a44d02
--- /dev/null
+++ b/tests/makeinstancesufo_data/expected_output/ufo2.ufo/glyphs/Y_acute.glif
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
diff --git a/tests/makeinstancesufo_data/expected_output/ufo2.ufo/glyphs/Y_dieresis.glif b/tests/makeinstancesufo_data/expected_output/ufo2.ufo/glyphs/Y_dieresis.glif
new file mode 100644
index 000000000..14b96718c
--- /dev/null
+++ b/tests/makeinstancesufo_data/expected_output/ufo2.ufo/glyphs/Y_dieresis.glif
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
diff --git a/tests/makeinstancesufo_data/expected_output/ufo2.ufo/glyphs/Y_tilde.glif b/tests/makeinstancesufo_data/expected_output/ufo2.ufo/glyphs/Y_tilde.glif
new file mode 100644
index 000000000..c059d610d
--- /dev/null
+++ b/tests/makeinstancesufo_data/expected_output/ufo2.ufo/glyphs/Y_tilde.glif
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
diff --git a/tests/makeinstancesufo_data/expected_output/ufo2.ufo/glyphs/a.glif b/tests/makeinstancesufo_data/expected_output/ufo2.ufo/glyphs/a.glif
new file mode 100644
index 000000000..c2b774e62
--- /dev/null
+++ b/tests/makeinstancesufo_data/expected_output/ufo2.ufo/glyphs/a.glif
@@ -0,0 +1,83 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/makeinstancesufo_data/expected_output/ufo2.ufo/glyphs/aacute.glif b/tests/makeinstancesufo_data/expected_output/ufo2.ufo/glyphs/aacute.glif
new file mode 100644
index 000000000..87e704d30
--- /dev/null
+++ b/tests/makeinstancesufo_data/expected_output/ufo2.ufo/glyphs/aacute.glif
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
diff --git a/tests/makeinstancesufo_data/expected_output/ufo2.ufo/glyphs/acutecmb.cap.glif b/tests/makeinstancesufo_data/expected_output/ufo2.ufo/glyphs/acutecmb.cap.glif
new file mode 100644
index 000000000..05433b6bc
--- /dev/null
+++ b/tests/makeinstancesufo_data/expected_output/ufo2.ufo/glyphs/acutecmb.cap.glif
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/makeinstancesufo_data/expected_output/ufo2.ufo/glyphs/acutecmb.glif b/tests/makeinstancesufo_data/expected_output/ufo2.ufo/glyphs/acutecmb.glif
new file mode 100644
index 000000000..3f1a7dba3
--- /dev/null
+++ b/tests/makeinstancesufo_data/expected_output/ufo2.ufo/glyphs/acutecmb.glif
@@ -0,0 +1,27 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/makeinstancesufo_data/expected_output/ufo2.ufo/glyphs/adieresis.glif b/tests/makeinstancesufo_data/expected_output/ufo2.ufo/glyphs/adieresis.glif
new file mode 100644
index 000000000..84a59469f
--- /dev/null
+++ b/tests/makeinstancesufo_data/expected_output/ufo2.ufo/glyphs/adieresis.glif
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
diff --git a/tests/makeinstancesufo_data/expected_output/ufo2.ufo/glyphs/atilde.glif b/tests/makeinstancesufo_data/expected_output/ufo2.ufo/glyphs/atilde.glif
new file mode 100644
index 000000000..18b0b00ea
--- /dev/null
+++ b/tests/makeinstancesufo_data/expected_output/ufo2.ufo/glyphs/atilde.glif
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
diff --git a/tests/makeinstancesufo_data/expected_output/ufo2.ufo/glyphs/contents.plist b/tests/makeinstancesufo_data/expected_output/ufo2.ufo/glyphs/contents.plist
new file mode 100644
index 000000000..d4b4a3da7
--- /dev/null
+++ b/tests/makeinstancesufo_data/expected_output/ufo2.ufo/glyphs/contents.plist
@@ -0,0 +1,50 @@
+
+
+
+
+ A
+ A_.glif
+ Aacute
+ A_acute.glif
+ Adieresis
+ A_dieresis.glif
+ Atilde
+ A_tilde.glif
+ Y
+ Y_.glif
+ Yacute
+ Y_acute.glif
+ Ydieresis
+ Y_dieresis.glif
+ Ytilde
+ Y_tilde.glif
+ a
+ a.glif
+ aacute
+ aacute.glif
+ acutecmb
+ acutecmb.glif
+ acutecmb.cap
+ acutecmb.cap.glif
+ adieresis
+ adieresis.glif
+ atilde
+ atilde.glif
+ dieresiscmb
+ dieresiscmb.glif
+ dieresiscmb.cap
+ dieresiscmb.cap.glif
+ tildecmb
+ tildecmb.glif
+ tildecmb.cap
+ tildecmb.cap.glif
+ y
+ y.glif
+ yacute
+ yacute.glif
+ ydieresis
+ ydieresis.glif
+ ytilde
+ ytilde.glif
+
+
diff --git a/tests/makeinstancesufo_data/expected_output/ufo2.ufo/glyphs/dieresiscmb.cap.glif b/tests/makeinstancesufo_data/expected_output/ufo2.ufo/glyphs/dieresiscmb.cap.glif
new file mode 100644
index 000000000..cb7618f51
--- /dev/null
+++ b/tests/makeinstancesufo_data/expected_output/ufo2.ufo/glyphs/dieresiscmb.cap.glif
@@ -0,0 +1,36 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/makeinstancesufo_data/expected_output/ufo2.ufo/glyphs/dieresiscmb.glif b/tests/makeinstancesufo_data/expected_output/ufo2.ufo/glyphs/dieresiscmb.glif
new file mode 100644
index 000000000..c27abdc28
--- /dev/null
+++ b/tests/makeinstancesufo_data/expected_output/ufo2.ufo/glyphs/dieresiscmb.glif
@@ -0,0 +1,40 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/makeinstancesufo_data/expected_output/ufo2.ufo/glyphs/tildecmb.cap.glif b/tests/makeinstancesufo_data/expected_output/ufo2.ufo/glyphs/tildecmb.cap.glif
new file mode 100644
index 000000000..b935e133b
--- /dev/null
+++ b/tests/makeinstancesufo_data/expected_output/ufo2.ufo/glyphs/tildecmb.cap.glif
@@ -0,0 +1,36 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/makeinstancesufo_data/expected_output/ufo2.ufo/glyphs/tildecmb.glif b/tests/makeinstancesufo_data/expected_output/ufo2.ufo/glyphs/tildecmb.glif
new file mode 100644
index 000000000..d37fb6146
--- /dev/null
+++ b/tests/makeinstancesufo_data/expected_output/ufo2.ufo/glyphs/tildecmb.glif
@@ -0,0 +1,37 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/makeinstancesufo_data/expected_output/ufo2.ufo/glyphs/y.glif b/tests/makeinstancesufo_data/expected_output/ufo2.ufo/glyphs/y.glif
new file mode 100644
index 000000000..ff2b42182
--- /dev/null
+++ b/tests/makeinstancesufo_data/expected_output/ufo2.ufo/glyphs/y.glif
@@ -0,0 +1,59 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/makeinstancesufo_data/expected_output/ufo2.ufo/glyphs/yacute.glif b/tests/makeinstancesufo_data/expected_output/ufo2.ufo/glyphs/yacute.glif
new file mode 100644
index 000000000..826e16a22
--- /dev/null
+++ b/tests/makeinstancesufo_data/expected_output/ufo2.ufo/glyphs/yacute.glif
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
diff --git a/tests/makeinstancesufo_data/expected_output/ufo2.ufo/glyphs/ydieresis.glif b/tests/makeinstancesufo_data/expected_output/ufo2.ufo/glyphs/ydieresis.glif
new file mode 100644
index 000000000..d0b302786
--- /dev/null
+++ b/tests/makeinstancesufo_data/expected_output/ufo2.ufo/glyphs/ydieresis.glif
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
diff --git a/tests/makeinstancesufo_data/expected_output/ufo2.ufo/glyphs/ytilde.glif b/tests/makeinstancesufo_data/expected_output/ufo2.ufo/glyphs/ytilde.glif
new file mode 100644
index 000000000..cb03f22d9
--- /dev/null
+++ b/tests/makeinstancesufo_data/expected_output/ufo2.ufo/glyphs/ytilde.glif
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
diff --git a/tests/makeinstancesufo_data/expected_output/ufo2.ufo/groups.plist b/tests/makeinstancesufo_data/expected_output/ufo2.ufo/groups.plist
new file mode 100644
index 000000000..dcc8184b8
--- /dev/null
+++ b/tests/makeinstancesufo_data/expected_output/ufo2.ufo/groups.plist
@@ -0,0 +1,70 @@
+
+
+
+
+ @MMK_L_LAT_A
+
+ A
+ Aacute
+ Adieresis
+ Atilde
+
+ @MMK_L_LAT_Y
+
+ Y
+ Yacute
+ Ydieresis
+ Ytilde
+
+ @MMK_L_LAT_a
+
+ a
+ aacute
+ adieresis
+ atilde
+
+ @MMK_L_LAT_v
+
+ y
+ yacute
+ ydieresis
+ ytilde
+
+ @MMK_R_LAT_A
+
+ A
+ Aacute
+ Adieresis
+ Atilde
+
+ @MMK_R_LAT_Y
+
+ Y
+ Yacute
+ Ydieresis
+ Ytilde
+
+ @MMK_R_LAT_a
+
+ a
+ aacute
+ adieresis
+ atilde
+
+ @MMK_R_LAT_y
+
+ y
+ yacute
+ ydieresis
+ ytilde
+
+ Not a kerning group
+
+ a
+ b
+ c
+ d
+ e
+
+
+
diff --git a/tests/makeinstancesufo_data/expected_output/ufo2.ufo/kerning.plist b/tests/makeinstancesufo_data/expected_output/ufo2.ufo/kerning.plist
new file mode 100644
index 000000000..33db1da84
--- /dev/null
+++ b/tests/makeinstancesufo_data/expected_output/ufo2.ufo/kerning.plist
@@ -0,0 +1,52 @@
+
+
+
+
+ @MMK_L_LAT_A
+
+ @MMK_R_LAT_A
+ 10
+ @MMK_R_LAT_Y
+ -90
+ @MMK_R_LAT_a
+ -5
+ @MMK_R_LAT_y
+ -50
+
+ @MMK_L_LAT_Y
+
+ @MMK_R_LAT_A
+ -90
+ @MMK_R_LAT_Y
+ 0
+ @MMK_R_LAT_a
+ -80
+ @MMK_R_LAT_y
+ -69
+ adieresis
+ -79
+ atilde
+ -61
+
+ @MMK_L_LAT_a
+
+ @MMK_R_LAT_A
+ 10
+ @MMK_R_LAT_Y
+ -80
+ @MMK_R_LAT_y
+ -10
+
+ @MMK_L_LAT_v
+
+ @MMK_R_LAT_A
+ -71
+ @MMK_R_LAT_Y
+ -50
+ @MMK_R_LAT_a
+ -16
+ @MMK_R_LAT_y
+ 9
+
+
+
diff --git a/tests/makeinstancesufo_data/expected_output/ufo2.ufo/layercontents.plist b/tests/makeinstancesufo_data/expected_output/ufo2.ufo/layercontents.plist
new file mode 100644
index 000000000..e7ec5cadb
--- /dev/null
+++ b/tests/makeinstancesufo_data/expected_output/ufo2.ufo/layercontents.plist
@@ -0,0 +1,14 @@
+
+
+
+
+
+ public.default
+ glyphs
+
+
+ com.adobe.type.processedglyphs
+ glyphs.com.adobe.type.processedglyphs
+
+
+
diff --git a/tests/makeinstancesufo_data/expected_output/ufo2.ufo/lib.plist b/tests/makeinstancesufo_data/expected_output/ufo2.ufo/lib.plist
new file mode 100644
index 000000000..c7e11a538
--- /dev/null
+++ b/tests/makeinstancesufo_data/expected_output/ufo2.ufo/lib.plist
@@ -0,0 +1,31 @@
+
+
+
+
+ public.glyphOrder
+
+ A
+ Y
+ a
+ y
+ Aacute
+ Adieresis
+ Atilde
+ Yacute
+ Ydieresis
+ Ytilde
+ aacute
+ adieresis
+ atilde
+ yacute
+ ydieresis
+ ytilde
+ acutecmb
+ acutecmb.cap
+ dieresiscmb
+ dieresiscmb.cap
+ tildecmb
+ tildecmb.cap
+
+
+
diff --git a/tests/makeinstancesufo_data/expected_output/ufo2.ufo/metainfo.plist b/tests/makeinstancesufo_data/expected_output/ufo2.ufo/metainfo.plist
new file mode 100644
index 000000000..ca3852e2b
--- /dev/null
+++ b/tests/makeinstancesufo_data/expected_output/ufo2.ufo/metainfo.plist
@@ -0,0 +1,10 @@
+
+
+
+
+ creator
+ com.github.fonttools.ufoLib
+ formatVersion
+ 2
+
+
diff --git a/tests/makeinstancesufo_data/expected_output/ufo3medium.ufo/fontinfo.plist b/tests/makeinstancesufo_data/expected_output/ufo3medium.ufo/fontinfo.plist
new file mode 100644
index 000000000..7c2c6b2c2
--- /dev/null
+++ b/tests/makeinstancesufo_data/expected_output/ufo3medium.ufo/fontinfo.plist
@@ -0,0 +1,160 @@
+
+
+
+
+ ascender
+ 724
+ capHeight
+ 664
+ copyright
+ Copyright 2014 - 2017 Adobe Systems Incorporated (http://www.adobe.com/), with Reserved Font Name 'Source'.
+ descender
+ -233
+ familyName
+ Source Serif Pro
+ guidelines
+
+ italicAngle
+ 0
+ openTypeHheaAscender
+ 1036
+ openTypeHheaDescender
+ -335
+ openTypeHheaLineGap
+ 0
+ openTypeNameDesigner
+ Frank Grießhammer
+ openTypeNameLicense
+ This Font Software is licensed under the SIL Open Font License, Version 1.1. This license is available with a FAQ at: http://scripts.sil.org/OFL. This Font Software is distributed on an 'AS IS' BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the SIL Open Font License for the specific language, permissions and limitations governing your use of this Font Software.
+ openTypeNameLicenseURL
+ http://scripts.sil.org/OFL
+ openTypeNameManufacturer
+ Adobe Systems Incorporated
+ openTypeNameManufacturerURL
+ http://www.adobe.com/type
+ openTypeOS2CodePageRanges
+
+ 0
+ 1
+ 2
+ 3
+ 4
+ 7
+ 8
+ 29
+
+ openTypeOS2Panose
+
+ 2
+ 4
+ 6
+ 3
+ 5
+ 4
+ 5
+ 2
+ 2
+ 4
+
+ openTypeOS2TypoAscender
+ 730
+ openTypeOS2TypoDescender
+ -270
+ openTypeOS2TypoLineGap
+ 0
+ openTypeOS2UnicodeRanges
+
+ 0
+ 1
+ 2
+ 7
+ 9
+ 29
+ 32
+ 33
+ 57
+
+ openTypeOS2VendorID
+ ADBO
+ openTypeOS2WinAscent
+ 1036
+ openTypeOS2WinDescent
+ 335
+ postscriptBlueFuzz
+ 0
+ postscriptBlueScale
+ 0.0375
+ postscriptBlueValues
+
+ -17
+ 0
+ 479
+ 493
+ 524
+ 539
+ 546
+ 560
+ 639
+ 653
+ 664
+ 681
+ 724
+ 744
+
+ postscriptFamilyBlues
+
+ -15
+ 0
+ 475
+ 488
+ 527
+ 540
+ 549
+ 563
+ 646
+ 659
+ 669
+ 684
+ 729
+ 749
+
+ postscriptFamilyOtherBlues
+
+ -249
+ -239
+
+ postscriptFontName
+ SourceSerifPro-Medium
+ postscriptOtherBlues
+
+ -243
+ -233
+
+ postscriptStemSnapH
+
+ 50
+ 40
+
+ postscriptStemSnapV
+
+ 110
+ 117
+
+ postscriptUnderlinePosition
+ -75
+ postscriptUnderlineThickness
+ 50
+ styleName
+ Medium
+ trademark
+ Source is a trademark of Adobe Systems Incorporated in the United States and/or other countries.
+ unitsPerEm
+ 1000
+ versionMajor
+ 1
+ versionMinor
+ 0
+ xHeight
+ 479
+
+
diff --git a/tests/makeinstancesufo_data/expected_output/ufo3medium.ufo/glyphs/A_.glif b/tests/makeinstancesufo_data/expected_output/ufo3medium.ufo/glyphs/A_.glif
new file mode 100644
index 000000000..3c3a46d28
--- /dev/null
+++ b/tests/makeinstancesufo_data/expected_output/ufo3medium.ufo/glyphs/A_.glif
@@ -0,0 +1,42 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/makeinstancesufo_data/expected_output/ufo3medium.ufo/glyphs/A_acute.glif b/tests/makeinstancesufo_data/expected_output/ufo3medium.ufo/glyphs/A_acute.glif
new file mode 100644
index 000000000..90ebb4963
--- /dev/null
+++ b/tests/makeinstancesufo_data/expected_output/ufo3medium.ufo/glyphs/A_acute.glif
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
diff --git a/tests/makeinstancesufo_data/expected_output/ufo3medium.ufo/glyphs/A_dieresis.glif b/tests/makeinstancesufo_data/expected_output/ufo3medium.ufo/glyphs/A_dieresis.glif
new file mode 100644
index 000000000..62aee5514
--- /dev/null
+++ b/tests/makeinstancesufo_data/expected_output/ufo3medium.ufo/glyphs/A_dieresis.glif
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
diff --git a/tests/makeinstancesufo_data/expected_output/ufo3medium.ufo/glyphs/A_tilde.glif b/tests/makeinstancesufo_data/expected_output/ufo3medium.ufo/glyphs/A_tilde.glif
new file mode 100644
index 000000000..07a86a6d2
--- /dev/null
+++ b/tests/makeinstancesufo_data/expected_output/ufo3medium.ufo/glyphs/A_tilde.glif
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
diff --git a/tests/makeinstancesufo_data/expected_output/ufo3medium.ufo/glyphs/Y_.glif b/tests/makeinstancesufo_data/expected_output/ufo3medium.ufo/glyphs/Y_.glif
new file mode 100644
index 000000000..1810688ca
--- /dev/null
+++ b/tests/makeinstancesufo_data/expected_output/ufo3medium.ufo/glyphs/Y_.glif
@@ -0,0 +1,53 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/makeinstancesufo_data/expected_output/ufo3medium.ufo/glyphs/Y_acute.glif b/tests/makeinstancesufo_data/expected_output/ufo3medium.ufo/glyphs/Y_acute.glif
new file mode 100644
index 000000000..7c7a46d4e
--- /dev/null
+++ b/tests/makeinstancesufo_data/expected_output/ufo3medium.ufo/glyphs/Y_acute.glif
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
diff --git a/tests/makeinstancesufo_data/expected_output/ufo3medium.ufo/glyphs/Y_dieresis.glif b/tests/makeinstancesufo_data/expected_output/ufo3medium.ufo/glyphs/Y_dieresis.glif
new file mode 100644
index 000000000..8a871bb7f
--- /dev/null
+++ b/tests/makeinstancesufo_data/expected_output/ufo3medium.ufo/glyphs/Y_dieresis.glif
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
diff --git a/tests/makeinstancesufo_data/expected_output/ufo3medium.ufo/glyphs/Y_tilde.glif b/tests/makeinstancesufo_data/expected_output/ufo3medium.ufo/glyphs/Y_tilde.glif
new file mode 100644
index 000000000..0d613f47a
--- /dev/null
+++ b/tests/makeinstancesufo_data/expected_output/ufo3medium.ufo/glyphs/Y_tilde.glif
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
diff --git a/tests/makeinstancesufo_data/expected_output/ufo3medium.ufo/glyphs/a.glif b/tests/makeinstancesufo_data/expected_output/ufo3medium.ufo/glyphs/a.glif
new file mode 100644
index 000000000..bf6d3d8f1
--- /dev/null
+++ b/tests/makeinstancesufo_data/expected_output/ufo3medium.ufo/glyphs/a.glif
@@ -0,0 +1,77 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/makeinstancesufo_data/expected_output/ufo3medium.ufo/glyphs/aacute.glif b/tests/makeinstancesufo_data/expected_output/ufo3medium.ufo/glyphs/aacute.glif
new file mode 100644
index 000000000..02d63c50c
--- /dev/null
+++ b/tests/makeinstancesufo_data/expected_output/ufo3medium.ufo/glyphs/aacute.glif
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
diff --git a/tests/makeinstancesufo_data/expected_output/ufo3medium.ufo/glyphs/acutecmb.cap.glif b/tests/makeinstancesufo_data/expected_output/ufo3medium.ufo/glyphs/acutecmb.cap.glif
new file mode 100644
index 000000000..18ae54d78
--- /dev/null
+++ b/tests/makeinstancesufo_data/expected_output/ufo3medium.ufo/glyphs/acutecmb.cap.glif
@@ -0,0 +1,24 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/makeinstancesufo_data/expected_output/ufo3medium.ufo/glyphs/acutecmb.glif b/tests/makeinstancesufo_data/expected_output/ufo3medium.ufo/glyphs/acutecmb.glif
new file mode 100644
index 000000000..bcccc1187
--- /dev/null
+++ b/tests/makeinstancesufo_data/expected_output/ufo3medium.ufo/glyphs/acutecmb.glif
@@ -0,0 +1,25 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/makeinstancesufo_data/expected_output/ufo3medium.ufo/glyphs/adieresis.glif b/tests/makeinstancesufo_data/expected_output/ufo3medium.ufo/glyphs/adieresis.glif
new file mode 100644
index 000000000..5cf70421b
--- /dev/null
+++ b/tests/makeinstancesufo_data/expected_output/ufo3medium.ufo/glyphs/adieresis.glif
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
diff --git a/tests/makeinstancesufo_data/expected_output/ufo3medium.ufo/glyphs/atilde.glif b/tests/makeinstancesufo_data/expected_output/ufo3medium.ufo/glyphs/atilde.glif
new file mode 100644
index 000000000..b1ee14eca
--- /dev/null
+++ b/tests/makeinstancesufo_data/expected_output/ufo3medium.ufo/glyphs/atilde.glif
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
diff --git a/tests/makeinstancesufo_data/expected_output/ufo3medium.ufo/glyphs/contents.plist b/tests/makeinstancesufo_data/expected_output/ufo3medium.ufo/glyphs/contents.plist
new file mode 100644
index 000000000..f140c9be6
--- /dev/null
+++ b/tests/makeinstancesufo_data/expected_output/ufo3medium.ufo/glyphs/contents.plist
@@ -0,0 +1,50 @@
+
+
+
+
+ A
+ A_.glif
+ Aacute
+ A_acute.glif
+ Adieresis
+ A_dieresis.glif
+ Atilde
+ A_tilde.glif
+ Y
+ Y_.glif
+ Yacute
+ Y_acute.glif
+ Ydieresis
+ Y_dieresis.glif
+ Ytilde
+ Y_tilde.glif
+ a
+ a.glif
+ aacute
+ aacute.glif
+ acutecmb
+ acutecmb.glif
+ acutecmb.cap
+ acutecmb.cap.glif
+ adieresis
+ adieresis.glif
+ atilde
+ atilde.glif
+ dieresiscmb
+ dieresiscmb.glif
+ dieresiscmb.cap
+ dieresiscmb.cap.glif
+ tildecmb
+ tildecmb.glif
+ tildecmb.cap
+ tildecmb.cap.glif
+ y
+ y.glif
+ yacute
+ yacute.glif
+ ydieresis
+ ydieresis.glif
+ ytilde
+ ytilde.glif
+
+
diff --git a/tests/makeinstancesufo_data/expected_output/ufo3medium.ufo/glyphs/dieresiscmb.cap.glif b/tests/makeinstancesufo_data/expected_output/ufo3medium.ufo/glyphs/dieresiscmb.cap.glif
new file mode 100644
index 000000000..f0eb31702
--- /dev/null
+++ b/tests/makeinstancesufo_data/expected_output/ufo3medium.ufo/glyphs/dieresiscmb.cap.glif
@@ -0,0 +1,34 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/makeinstancesufo_data/expected_output/ufo3medium.ufo/glyphs/dieresiscmb.glif b/tests/makeinstancesufo_data/expected_output/ufo3medium.ufo/glyphs/dieresiscmb.glif
new file mode 100644
index 000000000..875fe88b0
--- /dev/null
+++ b/tests/makeinstancesufo_data/expected_output/ufo3medium.ufo/glyphs/dieresiscmb.glif
@@ -0,0 +1,36 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/makeinstancesufo_data/expected_output/ufo3medium.ufo/glyphs/tildecmb.cap.glif b/tests/makeinstancesufo_data/expected_output/ufo3medium.ufo/glyphs/tildecmb.cap.glif
new file mode 100644
index 000000000..e2c12436f
--- /dev/null
+++ b/tests/makeinstancesufo_data/expected_output/ufo3medium.ufo/glyphs/tildecmb.cap.glif
@@ -0,0 +1,34 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/makeinstancesufo_data/expected_output/ufo3medium.ufo/glyphs/tildecmb.glif b/tests/makeinstancesufo_data/expected_output/ufo3medium.ufo/glyphs/tildecmb.glif
new file mode 100644
index 000000000..c43ca8f76
--- /dev/null
+++ b/tests/makeinstancesufo_data/expected_output/ufo3medium.ufo/glyphs/tildecmb.glif
@@ -0,0 +1,35 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/makeinstancesufo_data/expected_output/ufo3medium.ufo/glyphs/y.glif b/tests/makeinstancesufo_data/expected_output/ufo3medium.ufo/glyphs/y.glif
new file mode 100644
index 000000000..18c4cf6aa
--- /dev/null
+++ b/tests/makeinstancesufo_data/expected_output/ufo3medium.ufo/glyphs/y.glif
@@ -0,0 +1,55 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/makeinstancesufo_data/expected_output/ufo3medium.ufo/glyphs/yacute.glif b/tests/makeinstancesufo_data/expected_output/ufo3medium.ufo/glyphs/yacute.glif
new file mode 100644
index 000000000..fa26a0016
--- /dev/null
+++ b/tests/makeinstancesufo_data/expected_output/ufo3medium.ufo/glyphs/yacute.glif
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
diff --git a/tests/makeinstancesufo_data/expected_output/ufo3medium.ufo/glyphs/ydieresis.glif b/tests/makeinstancesufo_data/expected_output/ufo3medium.ufo/glyphs/ydieresis.glif
new file mode 100644
index 000000000..29af279c3
--- /dev/null
+++ b/tests/makeinstancesufo_data/expected_output/ufo3medium.ufo/glyphs/ydieresis.glif
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
diff --git a/tests/makeinstancesufo_data/expected_output/ufo3medium.ufo/glyphs/ytilde.glif b/tests/makeinstancesufo_data/expected_output/ufo3medium.ufo/glyphs/ytilde.glif
new file mode 100644
index 000000000..4c51fc814
--- /dev/null
+++ b/tests/makeinstancesufo_data/expected_output/ufo3medium.ufo/glyphs/ytilde.glif
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
diff --git a/tests/makeinstancesufo_data/expected_output/ufo3medium.ufo/groups.plist b/tests/makeinstancesufo_data/expected_output/ufo3medium.ufo/groups.plist
new file mode 100644
index 000000000..61918a0e9
--- /dev/null
+++ b/tests/makeinstancesufo_data/expected_output/ufo3medium.ufo/groups.plist
@@ -0,0 +1,70 @@
+
+
+
+
+ Not a kerning group
+
+ a
+ b
+ c
+ d
+ e
+
+ public.kern1.LAT_A
+
+ A
+ Aacute
+ Adieresis
+ Atilde
+
+ public.kern1.LAT_Y
+
+ Y
+ Yacute
+ Ydieresis
+ Ytilde
+
+ public.kern1.LAT_a
+
+ a
+ aacute
+ adieresis
+ atilde
+
+ public.kern1.LAT_v
+
+ y
+ yacute
+ ydieresis
+ ytilde
+
+ public.kern2.LAT_A
+
+ A
+ Aacute
+ Adieresis
+ Atilde
+
+ public.kern2.LAT_Y
+
+ Y
+ Yacute
+ Ydieresis
+ Ytilde
+
+ public.kern2.LAT_a
+
+ a
+ aacute
+ adieresis
+ atilde
+
+ public.kern2.LAT_y
+
+ y
+ yacute
+ ydieresis
+ ytilde
+
+
+
diff --git a/tests/makeinstancesufo_data/expected_output/ufo3medium.ufo/kerning.plist b/tests/makeinstancesufo_data/expected_output/ufo3medium.ufo/kerning.plist
new file mode 100644
index 000000000..315d01e51
--- /dev/null
+++ b/tests/makeinstancesufo_data/expected_output/ufo3medium.ufo/kerning.plist
@@ -0,0 +1,50 @@
+
+
+
+
+ public.kern1.LAT_A
+
+ public.kern2.LAT_A
+ 5
+ public.kern2.LAT_Y
+ -90
+ public.kern2.LAT_a
+ -5
+ public.kern2.LAT_y
+ -45
+
+ public.kern1.LAT_Y
+
+ adieresis
+ -60
+ atilde
+ -75
+ public.kern2.LAT_A
+ -93
+ public.kern2.LAT_Y
+ 0
+ public.kern2.LAT_a
+ -75
+ public.kern2.LAT_y
+ -60
+
+ public.kern1.LAT_a
+
+ public.kern2.LAT_Y
+ -75
+ public.kern2.LAT_y
+ -15
+
+ public.kern1.LAT_v
+
+ public.kern2.LAT_A
+ -75
+ public.kern2.LAT_Y
+ -65
+ public.kern2.LAT_a
+ -20
+ public.kern2.LAT_y
+ 2
+
+
+
diff --git a/tests/makeinstancesufo_data/expected_output/ufo3medium.ufo/layercontents.plist b/tests/makeinstancesufo_data/expected_output/ufo3medium.ufo/layercontents.plist
new file mode 100644
index 000000000..b9c1a4f27
--- /dev/null
+++ b/tests/makeinstancesufo_data/expected_output/ufo3medium.ufo/layercontents.plist
@@ -0,0 +1,10 @@
+
+
+
+
+
+ public.default
+ glyphs
+
+
+
diff --git a/tests/makeinstancesufo_data/expected_output/ufo3medium.ufo/lib.plist b/tests/makeinstancesufo_data/expected_output/ufo3medium.ufo/lib.plist
new file mode 100644
index 000000000..21c25767b
--- /dev/null
+++ b/tests/makeinstancesufo_data/expected_output/ufo3medium.ufo/lib.plist
@@ -0,0 +1,31 @@
+
+
+
+
+ public.glyphOrder
+
+ A
+ Y
+ a
+ y
+ Aacute
+ Adieresis
+ Atilde
+ Yacute
+ Ydieresis
+ Ytilde
+ aacute
+ adieresis
+ atilde
+ yacute
+ ydieresis
+ ytilde
+ acutecmb
+ acutecmb.cap
+ dieresiscmb
+ dieresiscmb.cap
+ tildecmb
+ tildecmb.cap
+
+
+
diff --git a/tests/makeinstancesufo_data/expected_output/ufo3medium.ufo/metainfo.plist b/tests/makeinstancesufo_data/expected_output/ufo3medium.ufo/metainfo.plist
new file mode 100644
index 000000000..7b8b34ac6
--- /dev/null
+++ b/tests/makeinstancesufo_data/expected_output/ufo3medium.ufo/metainfo.plist
@@ -0,0 +1,10 @@
+
+
+
+
+ creator
+ com.github.fonttools.ufoLib
+ formatVersion
+ 3
+
+
diff --git a/tests/makeinstancesufo_data/expected_output/ufo3regular.ufo/data/com.adobe.type.processedHashMap b/tests/makeinstancesufo_data/expected_output/ufo3regular.ufo/data/com.adobe.type.processedHashMap
new file mode 100644
index 000000000..78ad06ac2
--- /dev/null
+++ b/tests/makeinstancesufo_data/expected_output/ufo3regular.ufo/data/com.adobe.type.processedHashMap
@@ -0,0 +1,25 @@
+{
+'A': ['c8d7c963608cbcd4e1e41ecf4ed3b449bfa1e7c815ad77165aaed23ba78dca9ed6b1decd0de17f5bceebea0463d9dada50b0bf8c1616b0d88c253bc055f0d8db', ['checkOutlines', 'autohint']],
+'Aacute': ['e2bfc16571e9b8221a0a532a54cac9ee150409bb4769be817e882a7987cc0cdcb0e18603c389580adeb3b8211159e4f0344f15e91e5026a47bd2fed74c865abd', ['checkOutlines', 'autohint']],
+'Adieresis': ['cc40d5b1eec0ea288d8e1e347d1e13ff78ec829670e3165d33e86b0b35a0b1177962125c8ee8c43e51d65515e4df593779867d7e64b406eebfd24d33bf219059', ['checkOutlines', 'autohint']],
+'Atilde': ['a4dd4411c44b8a7504e4ee460c666484d89650b1e70faecb60be4c1ed4da7b9ba443659610925260bb52da1d2435e6abc0ff750bd2155d57fd4699498451e7d1', ['checkOutlines', 'autohint']],
+'Y': ['6ab0246ca2a6c1ff40a185157070c1a54fc0b2a6d73022341f6eedceea62fdb13971ad480d32b48746d9cfefea4020ec0463c8b455ee0cadcd7286fc451d8aed', ['checkOutlines', 'autohint']],
+'Yacute': ['da9667c2755cf0518be5a8e46bab87a8c3128247fa1367070e342aa79fefc72a9850630b192907aed3c096e15b8fe07d582d186a44fcf012b898ef8acd576f5e', ['checkOutlines', 'autohint']],
+'Ydieresis': ['57a6f02bdf79d9500e4c7a09433343aaea0b5e4f4cb7a24b66a2ec072997a72934f32c4a0cf75977fac68ea6724d780d88b4f586ad2e00646930848196248796', ['checkOutlines', 'autohint']],
+'Ytilde': ['fedd1b697479fe3db0bde98281ae0f3034217af9cc0cca32e425d7f00f150aa027743ef6df8d38cd0685c2b92267746110dc3b5258665c7739e0ef79214f68f4', ['checkOutlines', 'autohint']],
+'a': ['3ee2aadd8f937e1e8ecd807b022bad1387dcbc749028836bbda7d16a859629c758ee4de8422208ab8fe72dd4b17eaeb65b4518e94988ab554a22ada1d5343040', ['checkOutlines', 'autohint']],
+'aacute': ['150d888f877c64b719728c54ecd1ae9afe61374a1ed6a88e23b748c608a01d6edc521484e8e694fd49b118d5855995694a8a7ae52311bb5403912f9b56d3f66b', ['checkOutlines', 'autohint']],
+'acutecmb': ['w1000c-58578l-35559-159031622c75659104684122701c122721122743105756c887566675655743c33709-3656-31617', ['checkOutlines', 'autohint']],
+'acutecmb.cap': ['w1000c-66736l-49712-373642760c87783127803138820c138835138852123868c1038688786873860c438339804-28770', ['checkOutlines', 'autohint']],
+'adieresis': ['dd2a886ef0a7c1b8eb2aff00a149e0a88879a616969936377119530c23fad0e0cbd75ebb085261d3a613c2607eef6120ce9a3919a1b9eafbbe03c8f85a4553a5', ['checkOutlines', 'autohint']],
+'atilde': ['a0c725f3c9c43d60bd14d0bc167f8615d73b9c9755692e34798ef1f3e56a6cac207c38f2c8addd1b7d1a41a18631497c79618ced23f02fd251f7f33e120a8f9d', ['checkOutlines', 'autohint']],
+'dieresiscmb': ['999a3cf16f2f63c385d92d2f442c44e90ffe005b7dc3f8c2f65bdde95dcbb16e1334f112c1904d58e06d7bbb4488e3fc2b56a74b638368bb920b4ddd59508d91', ['checkOutlines', 'autohint']],
+'dieresiscmb.cap': ['0684938d6e70cdf142448f0283fa310e2590c539fd6a4ad4d9f6d1403d54a5f0cf70d5e2d2d32dbc4bc0284a8e5f3ca977ad3b57ffc5675e4c22a83385dd7520', ['checkOutlines', 'autohint']],
+'hashMapVersion': (1, 0),
+'tildecmb': ['6ab74ebc5f1d7e9fcb1be978bde061a21131c62e9800e1859d51a5609b97a41280526aabe94ef6cb265ee32f847c53ba39913e9dce0f949d5fc697ebdf9bb613', ['checkOutlines', 'autohint']],
+'tildecmb.cap': ['aa8ea0229e3ad9150fa4808b985049d6b6d310220ebcda1567677accc3c5a2f259fa3f208fc81db6c3c5ba89b76edabe66fbf2107684b01756b040c40579b88c', ['checkOutlines', 'autohint']],
+'y': ['740c05a44d9a0ad1f0d2fcb80b0cbac60a4f9c50f07756623e6f45941c54a94bf5dc29302427c30b45d7e94d0ea660ea5cbf69096c2f06610bb95bd79aed2d09', ['checkOutlines', 'autohint']],
+'yacute': ['ecc004316d6a7735d0b18d21fc759cdb1a2fc7796de7298067c699d76d461a3fa23d9238dbbb9195f129ac69dcb7634824c9db20875a6658f4100fcc34f3d318', ['checkOutlines', 'autohint']],
+'ydieresis': ['67eff16db50208edff023c6d23224d7e7f4b9b1bc66ec23fab0afe7573953341ddbff60f9f050ec079b2cc23dc184397cb8433d20d3a428bbf0b994814e2998f', ['checkOutlines', 'autohint']],
+'ytilde': ['a4d9a15f65844557e4833991c5c55b58e933d35a8532b22ac0a7cae88b3924cb0879eef68ca1107a0d56d231a74b1f9adfac4a51b6f630af500df085065de298', ['checkOutlines', 'autohint']],
+}
diff --git a/tests/makeinstancesufo_data/expected_output/ufo3regular.ufo/fontinfo.plist b/tests/makeinstancesufo_data/expected_output/ufo3regular.ufo/fontinfo.plist
new file mode 100644
index 000000000..be595f2f5
--- /dev/null
+++ b/tests/makeinstancesufo_data/expected_output/ufo3regular.ufo/fontinfo.plist
@@ -0,0 +1,161 @@
+
+
+
+
+ ascender
+ 727
+ capHeight
+ 667
+ copyright
+ Copyright 2014 - 2017 Adobe Systems Incorporated (http://www.adobe.com/), with Reserved Font Name 'Source'.
+ descender
+ -236
+ familyName
+ Source Serif Pro
+ guidelines
+
+
+ italicAngle
+ 0
+ openTypeHheaAscender
+ 1036
+ openTypeHheaDescender
+ -335
+ openTypeHheaLineGap
+ 0
+ openTypeNameDesigner
+ Frank Grießhammer
+ openTypeNameLicense
+ This Font Software is licensed under the SIL Open Font License, Version 1.1. This license is available with a FAQ at: http://scripts.sil.org/OFL. This Font Software is distributed on an 'AS IS' BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the SIL Open Font License for the specific language, permissions and limitations governing your use of this Font Software.
+ openTypeNameLicenseURL
+ http://scripts.sil.org/OFL
+ openTypeNameManufacturer
+ Adobe Systems Incorporated
+ openTypeNameManufacturerURL
+ http://www.adobe.com/type
+ openTypeOS2CodePageRanges
+
+ 0
+ 1
+ 2
+ 3
+ 4
+ 7
+ 8
+ 29
+
+ openTypeOS2Panose
+
+ 2
+ 4
+ 6
+ 3
+ 5
+ 4
+ 5
+ 2
+ 2
+ 4
+
+ openTypeOS2TypoAscender
+ 730
+ openTypeOS2TypoDescender
+ -270
+ openTypeOS2TypoLineGap
+ 0
+ openTypeOS2UnicodeRanges
+
+ 0
+ 1
+ 2
+ 7
+ 9
+ 29
+ 32
+ 33
+ 57
+
+ openTypeOS2VendorID
+ ADBO
+ openTypeOS2WinAscent
+ 1036
+ openTypeOS2WinDescent
+ 335
+ postscriptBlueFuzz
+ 0
+ postscriptBlueScale
+ 0.0375
+ postscriptBlueValues
+
+ -16
+ 0
+ 477
+ 491
+ 527
+ 541
+ 548
+ 562
+ 642
+ 656
+ 667
+ 683
+ 727
+ 747
+
+ postscriptFamilyBlues
+
+ -15
+ 0
+ 475
+ 488
+ 527
+ 540
+ 549
+ 563
+ 646
+ 659
+ 669
+ 684
+ 729
+ 749
+
+ postscriptFamilyOtherBlues
+
+ -249
+ -239
+
+ postscriptFontName
+ SourceSerifPro-Regular
+ postscriptOtherBlues
+
+ -246
+ -236
+
+ postscriptStemSnapH
+
+ 45
+ 36
+
+ postscriptStemSnapV
+
+ 92
+ 98
+
+ postscriptUnderlinePosition
+ -75
+ postscriptUnderlineThickness
+ 50
+ styleName
+ Regular
+ trademark
+ Source is a trademark of Adobe Systems Incorporated in the United States and/or other countries.
+ unitsPerEm
+ 1000
+ versionMajor
+ 1
+ versionMinor
+ 0
+ xHeight
+ 477
+
+
diff --git a/tests/makeinstancesufo_data/expected_output/ufo3regular.ufo/glyphs.com.adobe.type.processedglyphs/A_.glif b/tests/makeinstancesufo_data/expected_output/ufo3regular.ufo/glyphs.com.adobe.type.processedglyphs/A_.glif
new file mode 100644
index 000000000..60429ae2e
--- /dev/null
+++ b/tests/makeinstancesufo_data/expected_output/ufo3regular.ufo/glyphs.com.adobe.type.processedglyphs/A_.glif
@@ -0,0 +1,108 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ com.adobe.type.autohint.v2
+
+ hintSetList
+
+
+ pointTag
+ hintSet0000
+ stems
+
+ hstem 0 37.5
+ hstem 221 37
+ hstem 671 -20
+ vstem 11 646
+
+
+
+ pointTag
+ hintSet0001
+ stems
+
+ hstem 0 37.5
+ hstem 221 37
+ hstem 671 -20
+ vstem 11 203
+
+
+
+ pointTag
+ hintSet0002
+ stems
+
+ hstem 0 39.5
+ hstem 221 37
+ hstem 671 -20
+ vstem 11 203
+
+
+
+ pointTag
+ hintSet0006
+ stems
+
+ hstem 0 38
+ hstem 221 37
+ hstem 671 -20
+ vstem 11 646
+
+
+
+ pointTag
+ hintSet0008
+ stems
+
+ hstem 0 37.5
+ hstem 221 37
+ hstem 671 -20
+ vstem 11 646
+
+
+
+ pointTag
+ hintSet0014
+ stems
+
+ hstem 0 39.5
+ hstem 221 37
+ hstem 671 -20
+ vstem 11 203
+
+
+
+ id
+ w664l110l2140l21435l13444l190221l416221l47342l37934l3790l6570l65734l57241l359671l300671l9144l1135l202258l302575l404258
+
+
+
+
diff --git a/tests/makeinstancesufo_data/expected_output/ufo3regular.ufo/glyphs.com.adobe.type.processedglyphs/A_acute.glif b/tests/makeinstancesufo_data/expected_output/ufo3regular.ufo/glyphs.com.adobe.type.processedglyphs/A_acute.glif
new file mode 100644
index 000000000..a6d932d90
--- /dev/null
+++ b/tests/makeinstancesufo_data/expected_output/ufo3regular.ufo/glyphs.com.adobe.type.processedglyphs/A_acute.glif
@@ -0,0 +1,132 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ com.adobe.type.autohint.v2
+
+ hintSetList
+
+
+ pointTag
+ hintSet0000
+ stems
+
+ hstem 0 37.5
+ hstem 221 37
+ hstem 671 -20
+ hstem 736 -20
+ vstem 11 646
+
+
+
+ pointTag
+ hintSet0003
+ stems
+
+ hstem 0 37.5
+ hstem 221 37
+ hstem 671 -20
+ hstem 736 -20
+ vstem 11 203
+
+
+
+ pointTag
+ hintSet0005
+ stems
+
+ hstem 0 39.5
+ hstem 221 37
+ hstem 671 -20
+ hstem 736 -20
+ vstem 11 203
+
+
+
+ pointTag
+ hintSet0009
+ stems
+
+ hstem 0 38
+ hstem 221 37
+ hstem 671 -20
+ hstem 736 -20
+ vstem 11 646
+
+
+
+ pointTag
+ hintSet0011
+ stems
+
+ hstem 0 37.5
+ hstem 221 37
+ hstem 671 -20
+ hstem 736 -20
+ vstem 11 646
+
+
+
+ pointTag
+ hintSet0017
+ stems
+
+ hstem 0 39.5
+ hstem 221 37
+ hstem 671 -20
+ hstem 736 -20
+ vstem 11 203
+
+
+
+ id
+ 5d95874d7eb52473af6255d8b8cda070ed846490faa12a28516ef25edd160086f140da8b9ff0c05191e36f732ac8feb53692114ba6adaee2c33e0bcd7649058e
+
+
+
+
diff --git a/tests/makeinstancesufo_data/expected_output/ufo3regular.ufo/glyphs.com.adobe.type.processedglyphs/A_dieresis.glif b/tests/makeinstancesufo_data/expected_output/ufo3regular.ufo/glyphs.com.adobe.type.processedglyphs/A_dieresis.glif
new file mode 100644
index 000000000..b4caacac8
--- /dev/null
+++ b/tests/makeinstancesufo_data/expected_output/ufo3regular.ufo/glyphs.com.adobe.type.processedglyphs/A_dieresis.glif
@@ -0,0 +1,161 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ com.adobe.type.autohint.v2
+
+ hintSetList
+
+
+ pointTag
+ hintSet0000
+ stems
+
+ hstem 0 37.5
+ hstem 221 37
+ hstem 671 -20
+ hstem 734 98
+ vstem 161 102
+ vstem 389 102
+
+
+
+ pointTag
+ hintSet0001
+ stems
+
+ hstem 0 37.5
+ hstem 221 37
+ hstem 671 -20
+ hstem 734 98
+ vstem 11 203
+ vstem 389 102
+
+
+
+ pointTag
+ hintSet0002
+ stems
+
+ hstem 0 39.5
+ hstem 221 37
+ hstem 671 -20
+ hstem 734 98
+ vstem 11 203
+ vstem 389 102
+
+
+
+ pointTag
+ hintSet0006
+ stems
+
+ hstem 0 38
+ hstem 221 37
+ hstem 671 -20
+ hstem 734 98
+ vstem 161 102
+ vstem 389 102
+
+
+
+ pointTag
+ hintSet0008
+ stems
+
+ hstem 0 37.5
+ hstem 221 37
+ hstem 671 -20
+ hstem 734 98
+ vstem 161 102
+ vstem 389 102
+
+
+
+ pointTag
+ hintSet0014
+ stems
+
+ hstem 0 39.5
+ hstem 221 37
+ hstem 671 -20
+ hstem 734 98
+ vstem 11 203
+ vstem 389 102
+
+
+
+ pointTag
+ hintSet0019
+ stems
+
+ hstem 0 37.5
+ hstem 221 37
+ hstem 671 -20
+ hstem 734 98
+ vstem 161 102
+ vstem 389 102
+
+
+
+ id
+ 7fb6f820060e13f4755b2f527a6e0e1adc081e462409379df0aa30482f634fa2b8b2fd1352d84baf2847641ae103e4d959a84109ca6fc0d86e46ca5c840c9eb5
+
+
+
+
diff --git a/tests/makeinstancesufo_data/expected_output/ufo3regular.ufo/glyphs.com.adobe.type.processedglyphs/A_tilde.glif b/tests/makeinstancesufo_data/expected_output/ufo3regular.ufo/glyphs.com.adobe.type.processedglyphs/A_tilde.glif
new file mode 100644
index 000000000..e0e47f269
--- /dev/null
+++ b/tests/makeinstancesufo_data/expected_output/ufo3regular.ufo/glyphs.com.adobe.type.processedglyphs/A_tilde.glif
@@ -0,0 +1,187 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ com.adobe.type.autohint.v2
+
+ hintSetList
+
+
+ pointTag
+ hintSet0000
+ stems
+
+ hstem 0 37.5
+ hstem 221 37
+ hstem 671 -20
+ hstem 738 -20
+ hstem 791 59
+ vstem 11 646
+
+
+
+ pointTag
+ hintSet0001
+ stems
+
+ hstem 0 37.5
+ hstem 221 37
+ hstem 671 -20
+ hstem 738 -20
+ hstem 791 59
+ vstem 11 203
+
+
+
+ pointTag
+ hintSet0002
+ stems
+
+ hstem 0 39.5
+ hstem 221 37
+ hstem 671 -20
+ hstem 738 -20
+ hstem 791 59
+ vstem 11 203
+
+
+
+ pointTag
+ hintSet0006
+ stems
+
+ hstem 0 38
+ hstem 221 37
+ hstem 671 -20
+ hstem 738 -20
+ hstem 791 59
+ vstem 11 646
+
+
+
+ pointTag
+ hintSet0008
+ stems
+
+ hstem 0 37.5
+ hstem 221 37
+ hstem 671 -20
+ hstem 738 -20
+ hstem 791 59
+ vstem 11 646
+
+
+
+ pointTag
+ hintSet0014
+ stems
+
+ hstem 0 39.5
+ hstem 221 37
+ hstem 671 -20
+ hstem 738 -20
+ hstem 791 59
+ vstem 11 203
+
+
+
+ pointTag
+ hintSet0023
+ stems
+
+ hstem 0 37.5
+ hstem 221 37
+ hstem 671 -20
+ hstem 723 58
+ hstem 791 59
+ vstem 11 646
+
+
+
+ pointTag
+ hintSet0028
+ stems
+
+ hstem 0 37.5
+ hstem 221 37
+ hstem 671 -20
+ hstem 738 -20
+ hstem 791 59
+ vstem 11 646
+
+
+
+ pointTag
+ hintSet0029
+ stems
+
+ hstem 0 39.5
+ hstem 221 37
+ hstem 671 -20
+ hstem 738 -20
+ hstem 791 59
+ vstem 11 203
+
+
+
+ id
+ ba8be20a515ab06f6447b102117f07aa2c9cb97e43a129d2be3b8f52dd2dc5e0da8dc9c86a233907f2bde232acab13af5492672a7d689106e169fcf164564842
+
+
+
+
diff --git a/tests/makeinstancesufo_data/expected_output/ufo3regular.ufo/glyphs.com.adobe.type.processedglyphs/Y_.glif b/tests/makeinstancesufo_data/expected_output/ufo3regular.ufo/glyphs.com.adobe.type.processedglyphs/Y_.glif
new file mode 100644
index 000000000..63a725781
--- /dev/null
+++ b/tests/makeinstancesufo_data/expected_output/ufo3regular.ufo/glyphs.com.adobe.type.processedglyphs/Y_.glif
@@ -0,0 +1,101 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ com.adobe.type.autohint.v2
+
+ hintSetList
+
+
+ pointTag
+ hintSet0000
+ stems
+
+ hstem 0 39
+ hstem 627.5 39.5
+ vstem 268 96
+ vstem 401 213
+
+
+
+ pointTag
+ hintSet0003
+ stems
+
+ hstem 0 39
+ hstem 628 39
+ vstem 268 96
+ vstem 401 213
+
+
+
+ pointTag
+ hintSet0005
+ stems
+
+ hstem 0 39
+ hstem 627.5 39.5
+ vstem 268 96
+ vstem 401 213
+
+
+
+ pointTag
+ hintSet0007
+ stems
+
+ hstem 0 39
+ hstem 629 38
+ vstem 268 96
+ vstem 401 213
+
+
+
+ pointTag
+ hintSet0017
+ stems
+
+ hstem 0 39
+ hstem 627.5 39.5
+ vstem 268 96
+ vstem 401 213
+
+
+
+ id
+ ff7e8efad2f4fd981ce7119670ae1c3904e9fc78c62b261798275c8dc317fe811ecfc93a8226745f185775b9a6e01e5d3a60bf26a3338a00115fdcfce6e7f549
+
+
+
+
diff --git a/tests/makeinstancesufo_data/expected_output/ufo3regular.ufo/glyphs.com.adobe.type.processedglyphs/Y_acute.glif b/tests/makeinstancesufo_data/expected_output/ufo3regular.ufo/glyphs.com.adobe.type.processedglyphs/Y_acute.glif
new file mode 100644
index 000000000..efa631802
--- /dev/null
+++ b/tests/makeinstancesufo_data/expected_output/ufo3regular.ufo/glyphs.com.adobe.type.processedglyphs/Y_acute.glif
@@ -0,0 +1,120 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ com.adobe.type.autohint.v2
+
+ hintSetList
+
+
+ pointTag
+ hintSet0000
+ stems
+
+ hstem 0 39
+ hstem 627.5 39.5
+ hstem 736 -20
+ vstem 268 96
+
+
+
+ pointTag
+ hintSet0003
+ stems
+
+ hstem 0 39
+ hstem 628 39
+ hstem 736 -20
+ vstem 268 96
+
+
+
+ pointTag
+ hintSet0005
+ stems
+
+ hstem 0 39
+ hstem 627.5 39.5
+ hstem 736 -20
+ vstem 268 96
+
+
+
+ pointTag
+ hintSet0007
+ stems
+
+ hstem 0 39
+ hstem 629 38
+ hstem 736 -20
+ vstem 268 96
+
+
+
+ pointTag
+ hintSet0017
+ stems
+
+ hstem 0 39
+ hstem 627.5 39.5
+ hstem 736 -20
+ vstem 268 96
+ vstem 401 213
+
+
+
+ id
+ a350d8300e0ddcad6d7b56c9beb00cd15fe9710a03f1ca36758161d63052496259eb77522c7ba1cbd5c5d7139613384ecde79184bd3df4c2dc4fd9756b73cf4e
+
+
+
+
diff --git a/tests/makeinstancesufo_data/expected_output/ufo3regular.ufo/glyphs.com.adobe.type.processedglyphs/Y_dieresis.glif b/tests/makeinstancesufo_data/expected_output/ufo3regular.ufo/glyphs.com.adobe.type.processedglyphs/Y_dieresis.glif
new file mode 100644
index 000000000..e92e957f7
--- /dev/null
+++ b/tests/makeinstancesufo_data/expected_output/ufo3regular.ufo/glyphs.com.adobe.type.processedglyphs/Y_dieresis.glif
@@ -0,0 +1,142 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ com.adobe.type.autohint.v2
+
+ hintSetList
+
+
+ pointTag
+ hintSet0000
+ stems
+
+ hstem 0 39
+ hstem 627.5 39.5
+ vstem 268 96
+ vstem 401 213
+
+
+
+ pointTag
+ hintSet0003
+ stems
+
+ hstem 0 39
+ hstem 628 39
+ vstem 268 96
+ vstem 401 213
+
+
+
+ pointTag
+ hintSet0005
+ stems
+
+ hstem 0 39
+ hstem 627.5 39.5
+ vstem 268 96
+ vstem 401 213
+
+
+
+ pointTag
+ hintSet0007
+ stems
+
+ hstem 0 39
+ hstem 629 38
+ vstem 268 96
+ vstem 401 213
+
+
+
+ pointTag
+ hintSet0017
+ stems
+
+ hstem 0 39
+ hstem 627.5 39.5
+ hstem 734 98
+ vstem 183 102
+ vstem 401 213
+
+
+
+ pointTag
+ hintSet0026
+ stems
+
+ hstem 0 39
+ hstem 627.5 39.5
+ hstem 734 98
+ vstem 268 96
+ vstem 411 102
+
+
+
+ id
+ 87c6ce86ec39e1b3f5c49f8ec6e88825d41a699634407099bc4358edc7f53620d42164a117826a43d9939a846d297609ac0eed76cae1aa3f0d01baf8dc6fe9d4
+
+
+
+
diff --git a/tests/makeinstancesufo_data/expected_output/ufo3regular.ufo/glyphs.com.adobe.type.processedglyphs/Y_tilde.glif b/tests/makeinstancesufo_data/expected_output/ufo3regular.ufo/glyphs.com.adobe.type.processedglyphs/Y_tilde.glif
new file mode 100644
index 000000000..5f69ef2a8
--- /dev/null
+++ b/tests/makeinstancesufo_data/expected_output/ufo3regular.ufo/glyphs.com.adobe.type.processedglyphs/Y_tilde.glif
@@ -0,0 +1,165 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ com.adobe.type.autohint.v2
+
+ hintSetList
+
+
+ pointTag
+ hintSet0000
+ stems
+
+ hstem 0 39
+ hstem 627.5 39.5
+ hstem 738 -20
+ hstem 791 59
+ vstem 268 96
+ vstem 401 213
+
+
+
+ pointTag
+ hintSet0003
+ stems
+
+ hstem 0 39
+ hstem 628 39
+ hstem 738 -20
+ hstem 791 59
+ vstem 268 96
+ vstem 401 213
+
+
+
+ pointTag
+ hintSet0005
+ stems
+
+ hstem 0 39
+ hstem 627.5 39.5
+ hstem 738 -20
+ hstem 791 59
+ vstem 268 96
+ vstem 401 213
+
+
+
+ pointTag
+ hintSet0007
+ stems
+
+ hstem 0 39
+ hstem 629 38
+ hstem 738 -20
+ hstem 791 59
+ vstem 268 96
+ vstem 401 213
+
+
+
+ pointTag
+ hintSet0017
+ stems
+
+ hstem 0 39
+ hstem 627.5 39.5
+ hstem 738 -20
+ hstem 791 59
+ vstem 268 96
+ vstem 401 213
+
+
+
+ pointTag
+ hintSet0025
+ stems
+
+ hstem 0 39
+ hstem 627.5 39.5
+ hstem 723 58
+ hstem 791 59
+ vstem 268 96
+ vstem 401 213
+
+
+
+ pointTag
+ hintSet0030
+ stems
+
+ hstem 0 39
+ hstem 627.5 39.5
+ hstem 738 -20
+ hstem 791 59
+ vstem 268 96
+ vstem 401 213
+
+
+
+ id
+ 5f3c8b49423ff19786e79856d6e0d1a215dd0836652aad5804567bba2104a5be3f98b4a52eb5363333ecaa7fed983a02b736e90e4d4987435268fdafaa84007e
+
+
+
+
diff --git a/tests/makeinstancesufo_data/expected_output/ufo3regular.ufo/glyphs.com.adobe.type.processedglyphs/a.glif b/tests/makeinstancesufo_data/expected_output/ufo3regular.ufo/glyphs.com.adobe.type.processedglyphs/a.glif
new file mode 100644
index 000000000..413dd8b5d
--- /dev/null
+++ b/tests/makeinstancesufo_data/expected_output/ufo3regular.ufo/glyphs.com.adobe.type.processedglyphs/a.glif
@@ -0,0 +1,93 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ com.adobe.type.autohint.v2
+
+ hintSetList
+
+
+ pointTag
+ hintSet0000
+ stems
+
+ hstem -14 50
+ hstem 457 34
+ vstem 44 86
+ vstem 330 89
+
+
+
+ id
+ aafb0d4306a0ddc4920d2ce69424c8b3af92e52702e9df5e81cd0d5c29f3ff14abe77615559b503c64bb38caa05e8822e644f18c320748052e5d841de7fc6892
+
+
+
+
diff --git a/tests/makeinstancesufo_data/expected_output/ufo3regular.ufo/glyphs.com.adobe.type.processedglyphs/aacute.glif b/tests/makeinstancesufo_data/expected_output/ufo3regular.ufo/glyphs.com.adobe.type.processedglyphs/aacute.glif
new file mode 100644
index 000000000..14969f4ed
--- /dev/null
+++ b/tests/makeinstancesufo_data/expected_output/ufo3regular.ufo/glyphs.com.adobe.type.processedglyphs/aacute.glif
@@ -0,0 +1,111 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ com.adobe.type.autohint.v2
+
+ hintSetList
+
+
+ pointTag
+ hintSet0000
+ stems
+
+ hstem -14 50
+ hstem 457 34
+ vstem 44 86
+ vstem 330 89
+
+
+
+ id
+ 4b3ea3d6e5dcdb7723eca4ae5ffb4baa16f332599a6e2f41da2a5932600adb6c114f29a140ce6a26165b66151b6009176dce71cc24a099e170401e7c863ce50d
+
+
+
+
diff --git a/tests/makeinstancesufo_data/expected_output/ufo3regular.ufo/glyphs.com.adobe.type.processedglyphs/acutecmb.cap.glif b/tests/makeinstancesufo_data/expected_output/ufo3regular.ufo/glyphs.com.adobe.type.processedglyphs/acutecmb.cap.glif
new file mode 100644
index 000000000..f57129611
--- /dev/null
+++ b/tests/makeinstancesufo_data/expected_output/ufo3regular.ufo/glyphs.com.adobe.type.processedglyphs/acutecmb.cap.glif
@@ -0,0 +1,45 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ com.adobe.type.autohint.v2
+
+ hintSetList
+
+
+ pointTag
+ hintSet0000
+ stems
+
+ hstem 736 -20
+ vstem -66 204
+
+
+
+ id
+ w1000c-66736l-49712-373642760c87783127803138820c138835138852123868c1038688786873860c438339804-28770
+
+
+
+
diff --git a/tests/makeinstancesufo_data/expected_output/ufo3regular.ufo/glyphs.com.adobe.type.processedglyphs/acutecmb.glif b/tests/makeinstancesufo_data/expected_output/ufo3regular.ufo/glyphs.com.adobe.type.processedglyphs/acutecmb.glif
new file mode 100644
index 000000000..cdbc2cdc2
--- /dev/null
+++ b/tests/makeinstancesufo_data/expected_output/ufo3regular.ufo/glyphs.com.adobe.type.processedglyphs/acutecmb.glif
@@ -0,0 +1,46 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ com.adobe.type.autohint.v2
+
+ hintSetList
+
+
+ pointTag
+ hintSet0000
+ stems
+
+ hstem 559 197
+ vstem -58 180
+
+
+
+ id
+ w1000c-58578l-35559-159031622c75659104684122701c122721122743105756c887566675655743c33709-3656-31617
+
+
+
+
diff --git a/tests/makeinstancesufo_data/expected_output/ufo3regular.ufo/glyphs.com.adobe.type.processedglyphs/adieresis.glif b/tests/makeinstancesufo_data/expected_output/ufo3regular.ufo/glyphs.com.adobe.type.processedglyphs/adieresis.glif
new file mode 100644
index 000000000..623da442f
--- /dev/null
+++ b/tests/makeinstancesufo_data/expected_output/ufo3regular.ufo/glyphs.com.adobe.type.processedglyphs/adieresis.glif
@@ -0,0 +1,146 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ com.adobe.type.autohint.v2
+
+ hintSetList
+
+
+ pointTag
+ hintSet0000
+ stems
+
+ hstem -14 50
+ hstem 457 34
+ hstem 614 98
+ vstem 44 86
+ vstem 330 89
+
+
+
+ pointTag
+ hintSet0019
+ stems
+
+ hstem -14 50
+ hstem 457 34
+ hstem 614 98
+ vstem 96 101
+ vstem 309 101
+
+
+
+ pointTag
+ hintSet0029
+ stems
+
+ hstem -14 50
+ hstem 457 34
+ hstem 614 98
+ vstem 44 86
+ vstem 330 89
+
+
+
+ id
+ a89b86c192c93000fcac2e9eac697882ea1b71aa1d71e5edaa2916a93600c99b588f5410b405f4f3578eb4122a3e338da116d86f645df94dd6cb44ec135b73d0
+
+
+
+
diff --git a/tests/makeinstancesufo_data/expected_output/ufo3regular.ufo/glyphs.com.adobe.type.processedglyphs/atilde.glif b/tests/makeinstancesufo_data/expected_output/ufo3regular.ufo/glyphs.com.adobe.type.processedglyphs/atilde.glif
new file mode 100644
index 000000000..29c004815
--- /dev/null
+++ b/tests/makeinstancesufo_data/expected_output/ufo3regular.ufo/glyphs.com.adobe.type.processedglyphs/atilde.glif
@@ -0,0 +1,172 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ com.adobe.type.autohint.v2
+
+ hintSetList
+
+
+ pointTag
+ hintSet0000
+ stems
+
+ hstem -14 50
+ hstem 457 34
+ hstem 581 58
+ vstem 44 86
+ vstem 330 89
+
+
+
+ pointTag
+ hintSet0019
+ stems
+
+ hstem -14 50
+ hstem 457 34
+ hstem 581 58
+ hstem 649 59
+ vstem 44 86
+ vstem 330 89
+
+
+
+ pointTag
+ hintSet0023
+ stems
+
+ hstem -14 50
+ hstem 457 34
+ hstem 581 58
+ vstem 44 86
+ vstem 330 89
+
+
+
+ pointTag
+ hintSet0028
+ stems
+
+ hstem -14 50
+ hstem 457 34
+ hstem 581 58
+ hstem 649 59
+ vstem 44 86
+ vstem 330 89
+
+
+
+ pointTag
+ hintSet0030
+ stems
+
+ hstem -14 50
+ hstem 457 34
+ hstem 581 58
+ vstem 44 86
+ vstem 330 89
+
+
+
+ id
+ 33d74c750b5ca498486a381c56138087067e57b67a13ff10fac3f6ace058e1d38c165ca5970fa9ebb54612bf795d5c38d6261a2e236a1a2049d8dc00c263a457
+
+
+
+
diff --git a/tests/makeinstancesufo_data/expected_output/ufo3regular.ufo/glyphs.com.adobe.type.processedglyphs/contents.plist b/tests/makeinstancesufo_data/expected_output/ufo3regular.ufo/glyphs.com.adobe.type.processedglyphs/contents.plist
new file mode 100644
index 000000000..d4b4a3da7
--- /dev/null
+++ b/tests/makeinstancesufo_data/expected_output/ufo3regular.ufo/glyphs.com.adobe.type.processedglyphs/contents.plist
@@ -0,0 +1,50 @@
+
+
+
+
+ A
+ A_.glif
+ Aacute
+ A_acute.glif
+ Adieresis
+ A_dieresis.glif
+ Atilde
+ A_tilde.glif
+ Y
+ Y_.glif
+ Yacute
+ Y_acute.glif
+ Ydieresis
+ Y_dieresis.glif
+ Ytilde
+ Y_tilde.glif
+ a
+ a.glif
+ aacute
+ aacute.glif
+ acutecmb
+ acutecmb.glif
+ acutecmb.cap
+ acutecmb.cap.glif
+ adieresis
+ adieresis.glif
+ atilde
+ atilde.glif
+ dieresiscmb
+ dieresiscmb.glif
+ dieresiscmb.cap
+ dieresiscmb.cap.glif
+ tildecmb
+ tildecmb.glif
+ tildecmb.cap
+ tildecmb.cap.glif
+ y
+ y.glif
+ yacute
+ yacute.glif
+ ydieresis
+ ydieresis.glif
+ ytilde
+ ytilde.glif
+
+
diff --git a/tests/makeinstancesufo_data/expected_output/ufo3regular.ufo/glyphs.com.adobe.type.processedglyphs/dieresiscmb.cap.glif b/tests/makeinstancesufo_data/expected_output/ufo3regular.ufo/glyphs.com.adobe.type.processedglyphs/dieresiscmb.cap.glif
new file mode 100644
index 000000000..c85d1111c
--- /dev/null
+++ b/tests/makeinstancesufo_data/expected_output/ufo3regular.ufo/glyphs.com.adobe.type.processedglyphs/dieresiscmb.cap.glif
@@ -0,0 +1,56 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ com.adobe.type.autohint.v2
+
+ hintSetList
+
+
+ pointTag
+ hintSet0000
+ stems
+
+ hstem 734 98
+ vstem -165 102
+ vstem 63 102
+
+
+
+ id
+ 0684938d6e70cdf142448f0283fa310e2590c539fd6a4ad4d9f6d1403d54a5f0cf70d5e2d2d32dbc4bc0284a8e5f3ca977ad3b57ffc5675e4c22a83385dd7520
+
+
+
+
diff --git a/tests/makeinstancesufo_data/expected_output/ufo3regular.ufo/glyphs.com.adobe.type.processedglyphs/dieresiscmb.glif b/tests/makeinstancesufo_data/expected_output/ufo3regular.ufo/glyphs.com.adobe.type.processedglyphs/dieresiscmb.glif
new file mode 100644
index 000000000..c1c3adbf1
--- /dev/null
+++ b/tests/makeinstancesufo_data/expected_output/ufo3regular.ufo/glyphs.com.adobe.type.processedglyphs/dieresiscmb.glif
@@ -0,0 +1,58 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ com.adobe.type.autohint.v2
+
+ hintSetList
+
+
+ pointTag
+ hintSet0000
+ stems
+
+ hstem 614 98
+ vstem -157 101
+ vstem 56 101
+
+
+
+ id
+ 999a3cf16f2f63c385d92d2f442c44e90ffe005b7dc3f8c2f65bdde95dcbb16e1334f112c1904d58e06d7bbb4488e3fc2b56a74b638368bb920b4ddd59508d91
+
+
+
+
diff --git a/tests/makeinstancesufo_data/expected_output/ufo3regular.ufo/glyphs.com.adobe.type.processedglyphs/layerinfo.plist b/tests/makeinstancesufo_data/expected_output/ufo3regular.ufo/glyphs.com.adobe.type.processedglyphs/layerinfo.plist
new file mode 100644
index 000000000..aa5f6f5fe
--- /dev/null
+++ b/tests/makeinstancesufo_data/expected_output/ufo3regular.ufo/glyphs.com.adobe.type.processedglyphs/layerinfo.plist
@@ -0,0 +1,12 @@
+
+
+
+
+ lib
+
+ org.unifiedfontobject.normalizer.imageReferences
+
+
+
+
+
diff --git a/tests/makeinstancesufo_data/expected_output/ufo3regular.ufo/glyphs.com.adobe.type.processedglyphs/tildecmb.cap.glif b/tests/makeinstancesufo_data/expected_output/ufo3regular.ufo/glyphs.com.adobe.type.processedglyphs/tildecmb.cap.glif
new file mode 100644
index 000000000..dbc70c5ff
--- /dev/null
+++ b/tests/makeinstancesufo_data/expected_output/ufo3regular.ufo/glyphs.com.adobe.type.processedglyphs/tildecmb.cap.glif
@@ -0,0 +1,76 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ com.adobe.type.autohint.v2
+
+ hintSetList
+
+
+ pointTag
+ hintSet0000
+ stems
+
+ hstem 738 -20
+ hstem 791 59
+ vstem -171 342
+
+
+
+ pointTag
+ hintSet0004
+ stems
+
+ hstem 723 58
+ hstem 791 59
+ vstem -171 342
+
+
+
+ pointTag
+ hintSet0009
+ stems
+
+ hstem 738 -20
+ hstem 791 59
+ vstem -171 342
+
+
+
+ id
+ aa8ea0229e3ad9150fa4808b985049d6b6d310220ebcda1567677accc3c5a2f259fa3f208fc81db6c3c5ba89b76edabe66fbf2107684b01756b040c40579b88c
+
+
+
+
diff --git a/tests/makeinstancesufo_data/expected_output/ufo3regular.ufo/glyphs.com.adobe.type.processedglyphs/tildecmb.glif b/tests/makeinstancesufo_data/expected_output/ufo3regular.ufo/glyphs.com.adobe.type.processedglyphs/tildecmb.glif
new file mode 100644
index 000000000..d77d30b37
--- /dev/null
+++ b/tests/makeinstancesufo_data/expected_output/ufo3regular.ufo/glyphs.com.adobe.type.processedglyphs/tildecmb.glif
@@ -0,0 +1,76 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ com.adobe.type.autohint.v2
+
+ hintSetList
+
+
+ pointTag
+ hintSet0000
+ stems
+
+ hstem 581 58
+ hstem 649 59
+ vstem -162 324
+
+
+
+ pointTag
+ hintSet0004
+ stems
+
+ hstem 581 58
+ vstem -162 324
+
+
+
+ pointTag
+ hintSet0009
+ stems
+
+ hstem 581 58
+ hstem 649 59
+ vstem -162 324
+
+
+
+ id
+ 6ab74ebc5f1d7e9fcb1be978bde061a21131c62e9800e1859d51a5609b97a41280526aabe94ef6cb265ee32f847c53ba39913e9dce0f949d5fc697ebdf9bb613
+
+
+
+
diff --git a/tests/makeinstancesufo_data/expected_output/ufo3regular.ufo/glyphs.com.adobe.type.processedglyphs/y.glif b/tests/makeinstancesufo_data/expected_output/ufo3regular.ufo/glyphs.com.adobe.type.processedglyphs/y.glif
new file mode 100644
index 000000000..cdc30020b
--- /dev/null
+++ b/tests/makeinstancesufo_data/expected_output/ufo3regular.ufo/glyphs.com.adobe.type.processedglyphs/y.glif
@@ -0,0 +1,112 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ com.adobe.type.autohint.v2
+
+ hintSetList
+
+
+ pointTag
+ hintSet0000
+ stems
+
+ hstem -246 90
+ hstem 442.5 34.5
+ vstem -11 522
+
+
+
+ pointTag
+ hintSet0002
+ stems
+
+ hstem -246 90
+ hstem 442.5 34.5
+ vstem 327 184
+
+
+
+ pointTag
+ hintSet0006
+ stems
+
+ hstem -246 90
+ hstem 446 31
+ vstem 327 184
+
+
+
+ pointTag
+ hintSet0007
+ stems
+
+ hstem -246 90
+ hstem 442 35
+ vstem 327 184
+
+
+
+ pointTag
+ hintSet0009
+ stems
+
+ hstem -246 90
+ hstem 441.5 35.5
+ vstem -11 522
+
+
+
+ pointTag
+ hintSet0011
+ stems
+
+ hstem -246 90
+ hstem 442.5 34.5
+ vstem -11 522
+
+
+
+ id
+ 65949a938f62820b27e7106c01a238584a7179cd4a4b58f040f5aacaa6aa8c89c05ab4ae927f7efea804a7cd7638d71030f5bee93d9b9001e440082f460a7296
+
+
+
+
diff --git a/tests/makeinstancesufo_data/expected_output/ufo3regular.ufo/glyphs.com.adobe.type.processedglyphs/yacute.glif b/tests/makeinstancesufo_data/expected_output/ufo3regular.ufo/glyphs.com.adobe.type.processedglyphs/yacute.glif
new file mode 100644
index 000000000..d4c7f0c4b
--- /dev/null
+++ b/tests/makeinstancesufo_data/expected_output/ufo3regular.ufo/glyphs.com.adobe.type.processedglyphs/yacute.glif
@@ -0,0 +1,130 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ com.adobe.type.autohint.v2
+
+ hintSetList
+
+
+ pointTag
+ hintSet0000
+ stems
+
+ hstem -246 90
+ hstem 442.5 34.5
+ vstem -11 522
+
+
+
+ pointTag
+ hintSet0002
+ stems
+
+ hstem -246 90
+ hstem 442.5 34.5
+ vstem 327 184
+
+
+
+ pointTag
+ hintSet0006
+ stems
+
+ hstem -246 90
+ hstem 446 31
+ vstem 327 184
+
+
+
+ pointTag
+ hintSet0007
+ stems
+
+ hstem -246 90
+ hstem 442 35
+ vstem 327 184
+
+
+
+ pointTag
+ hintSet0009
+ stems
+
+ hstem -246 90
+ hstem 441.5 35.5
+ vstem -11 522
+
+
+
+ pointTag
+ hintSet0011
+ stems
+
+ hstem -246 90
+ hstem 442.5 34.5
+ vstem -11 522
+
+
+
+ id
+ 6681237433c1477f66d49d1108c45810313e2dcf625ff8e5ea6e0c8b4d612f871acb41aa7d8e353b230d93735e06f36c9c41a937a25d9ea55019d087a01d7c15
+
+
+
+
diff --git a/tests/makeinstancesufo_data/expected_output/ufo3regular.ufo/glyphs.com.adobe.type.processedglyphs/ydieresis.glif b/tests/makeinstancesufo_data/expected_output/ufo3regular.ufo/glyphs.com.adobe.type.processedglyphs/ydieresis.glif
new file mode 100644
index 000000000..6b9882f4e
--- /dev/null
+++ b/tests/makeinstancesufo_data/expected_output/ufo3regular.ufo/glyphs.com.adobe.type.processedglyphs/ydieresis.glif
@@ -0,0 +1,152 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ com.adobe.type.autohint.v2
+
+ hintSetList
+
+
+ pointTag
+ hintSet0000
+ stems
+
+ hstem -246 90
+ hstem 442.5 34.5
+ hstem 614 98
+ vstem 128 101
+ vstem 341 101
+
+
+
+ pointTag
+ hintSet0002
+ stems
+
+ hstem -246 90
+ hstem 442.5 34.5
+ hstem 614 98
+ vstem 128 101
+ vstem 327 184
+
+
+
+ pointTag
+ hintSet0006
+ stems
+
+ hstem -246 90
+ hstem 446 31
+ hstem 614 98
+ vstem 128 101
+ vstem 327 184
+
+
+
+ pointTag
+ hintSet0007
+ stems
+
+ hstem -246 90
+ hstem 442 35
+ hstem 614 98
+ vstem 128 101
+ vstem 327 184
+
+
+
+ pointTag
+ hintSet0009
+ stems
+
+ hstem -246 90
+ hstem 441.5 35.5
+ hstem 614 98
+ vstem 128 101
+ vstem 341 101
+
+
+
+ pointTag
+ hintSet0011
+ stems
+
+ hstem -246 90
+ hstem 442.5 34.5
+ hstem 614 98
+ vstem 128 101
+ vstem 341 101
+
+
+
+ id
+ e7f9aa84e650ae3be30de8654cd84c5ec2f11dd3c7a09b2409a2c158c74fd8fbd4893f5487659bd5cbd2e12d37d0f6d6d6738bbb6e33f0f6d13e420d4dc663bd
+
+
+
+
diff --git a/tests/makeinstancesufo_data/expected_output/ufo3regular.ufo/glyphs.com.adobe.type.processedglyphs/ytilde.glif b/tests/makeinstancesufo_data/expected_output/ufo3regular.ufo/glyphs.com.adobe.type.processedglyphs/ytilde.glif
new file mode 100644
index 000000000..fb0049dc2
--- /dev/null
+++ b/tests/makeinstancesufo_data/expected_output/ufo3regular.ufo/glyphs.com.adobe.type.processedglyphs/ytilde.glif
@@ -0,0 +1,181 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ com.adobe.type.autohint.v2
+
+ hintSetList
+
+
+ pointTag
+ hintSet0000
+ stems
+
+ hstem -246 90
+ hstem 442.5 34.5
+ hstem 581 58
+ vstem -11 522
+
+
+
+ pointTag
+ hintSet0002
+ stems
+
+ hstem -246 90
+ hstem 442.5 34.5
+ hstem 581 58
+ vstem 327 184
+
+
+
+ pointTag
+ hintSet0006
+ stems
+
+ hstem -246 90
+ hstem 446 31
+ hstem 581 58
+ vstem 327 184
+
+
+
+ pointTag
+ hintSet0007
+ stems
+
+ hstem -246 90
+ hstem 442 35
+ hstem 581 58
+ vstem 327 184
+
+
+
+ pointTag
+ hintSet0009
+ stems
+
+ hstem -246 90
+ hstem 441.5 35.5
+ hstem 581 58
+ vstem -11 522
+
+
+
+ pointTag
+ hintSet0011
+ stems
+
+ hstem -246 90
+ hstem 442.5 34.5
+ hstem 581 58
+ vstem -11 522
+
+
+
+ pointTag
+ hintSet0022
+ stems
+
+ hstem -246 90
+ hstem 442.5 34.5
+ hstem 581 58
+ hstem 649 59
+ vstem -11 522
+
+
+
+ pointTag
+ hintSet0026
+ stems
+
+ hstem -246 90
+ hstem 442.5 34.5
+ hstem 581 58
+ vstem -11 522
+
+
+
+ pointTag
+ hintSet0031
+ stems
+
+ hstem -246 90
+ hstem 442.5 34.5
+ hstem 581 58
+ hstem 649 59
+ vstem -11 522
+
+
+
+ id
+ 5d07350f790abb3464a39c82ead432d37eb71690ce2b39228f94d730e431875ba1b37c0be482e288d815d06366e3ce902740dc9a520afe54b6e22dfca8ab1076
+
+
+
+
diff --git a/tests/makeinstancesufo_data/expected_output/ufo3regular.ufo/glyphs/A_.glif b/tests/makeinstancesufo_data/expected_output/ufo3regular.ufo/glyphs/A_.glif
new file mode 100644
index 000000000..5ef36ed1e
--- /dev/null
+++ b/tests/makeinstancesufo_data/expected_output/ufo3regular.ufo/glyphs/A_.glif
@@ -0,0 +1,42 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/makeinstancesufo_data/expected_output/ufo3regular.ufo/glyphs/A_acute.glif b/tests/makeinstancesufo_data/expected_output/ufo3regular.ufo/glyphs/A_acute.glif
new file mode 100644
index 000000000..97032f921
--- /dev/null
+++ b/tests/makeinstancesufo_data/expected_output/ufo3regular.ufo/glyphs/A_acute.glif
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
diff --git a/tests/makeinstancesufo_data/expected_output/ufo3regular.ufo/glyphs/A_dieresis.glif b/tests/makeinstancesufo_data/expected_output/ufo3regular.ufo/glyphs/A_dieresis.glif
new file mode 100644
index 000000000..06477630e
--- /dev/null
+++ b/tests/makeinstancesufo_data/expected_output/ufo3regular.ufo/glyphs/A_dieresis.glif
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
diff --git a/tests/makeinstancesufo_data/expected_output/ufo3regular.ufo/glyphs/A_tilde.glif b/tests/makeinstancesufo_data/expected_output/ufo3regular.ufo/glyphs/A_tilde.glif
new file mode 100644
index 000000000..0ce0b365c
--- /dev/null
+++ b/tests/makeinstancesufo_data/expected_output/ufo3regular.ufo/glyphs/A_tilde.glif
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
diff --git a/tests/makeinstancesufo_data/expected_output/ufo3regular.ufo/glyphs/Y_.glif b/tests/makeinstancesufo_data/expected_output/ufo3regular.ufo/glyphs/Y_.glif
new file mode 100644
index 000000000..a55eb6112
--- /dev/null
+++ b/tests/makeinstancesufo_data/expected_output/ufo3regular.ufo/glyphs/Y_.glif
@@ -0,0 +1,53 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/makeinstancesufo_data/expected_output/ufo3regular.ufo/glyphs/Y_acute.glif b/tests/makeinstancesufo_data/expected_output/ufo3regular.ufo/glyphs/Y_acute.glif
new file mode 100644
index 000000000..2b5046609
--- /dev/null
+++ b/tests/makeinstancesufo_data/expected_output/ufo3regular.ufo/glyphs/Y_acute.glif
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
diff --git a/tests/makeinstancesufo_data/expected_output/ufo3regular.ufo/glyphs/Y_dieresis.glif b/tests/makeinstancesufo_data/expected_output/ufo3regular.ufo/glyphs/Y_dieresis.glif
new file mode 100644
index 000000000..c98715f80
--- /dev/null
+++ b/tests/makeinstancesufo_data/expected_output/ufo3regular.ufo/glyphs/Y_dieresis.glif
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
diff --git a/tests/makeinstancesufo_data/expected_output/ufo3regular.ufo/glyphs/Y_tilde.glif b/tests/makeinstancesufo_data/expected_output/ufo3regular.ufo/glyphs/Y_tilde.glif
new file mode 100644
index 000000000..7357f3a00
--- /dev/null
+++ b/tests/makeinstancesufo_data/expected_output/ufo3regular.ufo/glyphs/Y_tilde.glif
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
diff --git a/tests/makeinstancesufo_data/expected_output/ufo3regular.ufo/glyphs/a.glif b/tests/makeinstancesufo_data/expected_output/ufo3regular.ufo/glyphs/a.glif
new file mode 100644
index 000000000..09966b3d1
--- /dev/null
+++ b/tests/makeinstancesufo_data/expected_output/ufo3regular.ufo/glyphs/a.glif
@@ -0,0 +1,77 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/makeinstancesufo_data/expected_output/ufo3regular.ufo/glyphs/aacute.glif b/tests/makeinstancesufo_data/expected_output/ufo3regular.ufo/glyphs/aacute.glif
new file mode 100644
index 000000000..983940a86
--- /dev/null
+++ b/tests/makeinstancesufo_data/expected_output/ufo3regular.ufo/glyphs/aacute.glif
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
diff --git a/tests/makeinstancesufo_data/expected_output/ufo3regular.ufo/glyphs/acutecmb.cap.glif b/tests/makeinstancesufo_data/expected_output/ufo3regular.ufo/glyphs/acutecmb.cap.glif
new file mode 100644
index 000000000..dd3df3503
--- /dev/null
+++ b/tests/makeinstancesufo_data/expected_output/ufo3regular.ufo/glyphs/acutecmb.cap.glif
@@ -0,0 +1,24 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/makeinstancesufo_data/expected_output/ufo3regular.ufo/glyphs/acutecmb.glif b/tests/makeinstancesufo_data/expected_output/ufo3regular.ufo/glyphs/acutecmb.glif
new file mode 100644
index 000000000..ab70b63f3
--- /dev/null
+++ b/tests/makeinstancesufo_data/expected_output/ufo3regular.ufo/glyphs/acutecmb.glif
@@ -0,0 +1,25 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/makeinstancesufo_data/expected_output/ufo3regular.ufo/glyphs/adieresis.glif b/tests/makeinstancesufo_data/expected_output/ufo3regular.ufo/glyphs/adieresis.glif
new file mode 100644
index 000000000..7f8797bd4
--- /dev/null
+++ b/tests/makeinstancesufo_data/expected_output/ufo3regular.ufo/glyphs/adieresis.glif
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
diff --git a/tests/makeinstancesufo_data/expected_output/ufo3regular.ufo/glyphs/atilde.glif b/tests/makeinstancesufo_data/expected_output/ufo3regular.ufo/glyphs/atilde.glif
new file mode 100644
index 000000000..0aa0740c2
--- /dev/null
+++ b/tests/makeinstancesufo_data/expected_output/ufo3regular.ufo/glyphs/atilde.glif
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
diff --git a/tests/makeinstancesufo_data/expected_output/ufo3regular.ufo/glyphs/contents.plist b/tests/makeinstancesufo_data/expected_output/ufo3regular.ufo/glyphs/contents.plist
new file mode 100644
index 000000000..d4b4a3da7
--- /dev/null
+++ b/tests/makeinstancesufo_data/expected_output/ufo3regular.ufo/glyphs/contents.plist
@@ -0,0 +1,50 @@
+
+
+
+
+ A
+ A_.glif
+ Aacute
+ A_acute.glif
+ Adieresis
+ A_dieresis.glif
+ Atilde
+ A_tilde.glif
+ Y
+ Y_.glif
+ Yacute
+ Y_acute.glif
+ Ydieresis
+ Y_dieresis.glif
+ Ytilde
+ Y_tilde.glif
+ a
+ a.glif
+ aacute
+ aacute.glif
+ acutecmb
+ acutecmb.glif
+ acutecmb.cap
+ acutecmb.cap.glif
+ adieresis
+ adieresis.glif
+ atilde
+ atilde.glif
+ dieresiscmb
+ dieresiscmb.glif
+ dieresiscmb.cap
+ dieresiscmb.cap.glif
+ tildecmb
+ tildecmb.glif
+ tildecmb.cap
+ tildecmb.cap.glif
+ y
+ y.glif
+ yacute
+ yacute.glif
+ ydieresis
+ ydieresis.glif
+ ytilde
+ ytilde.glif
+
+
diff --git a/tests/makeinstancesufo_data/expected_output/ufo3regular.ufo/glyphs/dieresiscmb.cap.glif b/tests/makeinstancesufo_data/expected_output/ufo3regular.ufo/glyphs/dieresiscmb.cap.glif
new file mode 100644
index 000000000..26bacc334
--- /dev/null
+++ b/tests/makeinstancesufo_data/expected_output/ufo3regular.ufo/glyphs/dieresiscmb.cap.glif
@@ -0,0 +1,34 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/makeinstancesufo_data/expected_output/ufo3regular.ufo/glyphs/dieresiscmb.glif b/tests/makeinstancesufo_data/expected_output/ufo3regular.ufo/glyphs/dieresiscmb.glif
new file mode 100644
index 000000000..1e5746674
--- /dev/null
+++ b/tests/makeinstancesufo_data/expected_output/ufo3regular.ufo/glyphs/dieresiscmb.glif
@@ -0,0 +1,36 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/makeinstancesufo_data/expected_output/ufo3regular.ufo/glyphs/layerinfo.plist b/tests/makeinstancesufo_data/expected_output/ufo3regular.ufo/glyphs/layerinfo.plist
new file mode 100644
index 000000000..aa5f6f5fe
--- /dev/null
+++ b/tests/makeinstancesufo_data/expected_output/ufo3regular.ufo/glyphs/layerinfo.plist
@@ -0,0 +1,12 @@
+
+
+
+
+ lib
+
+ org.unifiedfontobject.normalizer.imageReferences
+
+
+
+
+
diff --git a/tests/makeinstancesufo_data/expected_output/ufo3regular.ufo/glyphs/tildecmb.cap.glif b/tests/makeinstancesufo_data/expected_output/ufo3regular.ufo/glyphs/tildecmb.cap.glif
new file mode 100644
index 000000000..78c2175ab
--- /dev/null
+++ b/tests/makeinstancesufo_data/expected_output/ufo3regular.ufo/glyphs/tildecmb.cap.glif
@@ -0,0 +1,34 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/makeinstancesufo_data/expected_output/ufo3regular.ufo/glyphs/tildecmb.glif b/tests/makeinstancesufo_data/expected_output/ufo3regular.ufo/glyphs/tildecmb.glif
new file mode 100644
index 000000000..3680cc0de
--- /dev/null
+++ b/tests/makeinstancesufo_data/expected_output/ufo3regular.ufo/glyphs/tildecmb.glif
@@ -0,0 +1,35 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/makeinstancesufo_data/expected_output/ufo3regular.ufo/glyphs/y.glif b/tests/makeinstancesufo_data/expected_output/ufo3regular.ufo/glyphs/y.glif
new file mode 100644
index 000000000..2f4b0795f
--- /dev/null
+++ b/tests/makeinstancesufo_data/expected_output/ufo3regular.ufo/glyphs/y.glif
@@ -0,0 +1,55 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/makeinstancesufo_data/expected_output/ufo3regular.ufo/glyphs/yacute.glif b/tests/makeinstancesufo_data/expected_output/ufo3regular.ufo/glyphs/yacute.glif
new file mode 100644
index 000000000..b5888efac
--- /dev/null
+++ b/tests/makeinstancesufo_data/expected_output/ufo3regular.ufo/glyphs/yacute.glif
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
diff --git a/tests/makeinstancesufo_data/expected_output/ufo3regular.ufo/glyphs/ydieresis.glif b/tests/makeinstancesufo_data/expected_output/ufo3regular.ufo/glyphs/ydieresis.glif
new file mode 100644
index 000000000..eb917fa1f
--- /dev/null
+++ b/tests/makeinstancesufo_data/expected_output/ufo3regular.ufo/glyphs/ydieresis.glif
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
diff --git a/tests/makeinstancesufo_data/expected_output/ufo3regular.ufo/glyphs/ytilde.glif b/tests/makeinstancesufo_data/expected_output/ufo3regular.ufo/glyphs/ytilde.glif
new file mode 100644
index 000000000..8aa9c4c3a
--- /dev/null
+++ b/tests/makeinstancesufo_data/expected_output/ufo3regular.ufo/glyphs/ytilde.glif
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
diff --git a/tests/makeinstancesufo_data/expected_output/ufo3regular.ufo/groups.plist b/tests/makeinstancesufo_data/expected_output/ufo3regular.ufo/groups.plist
new file mode 100644
index 000000000..b348c047e
--- /dev/null
+++ b/tests/makeinstancesufo_data/expected_output/ufo3regular.ufo/groups.plist
@@ -0,0 +1,70 @@
+
+
+
+
+ Not a kerning group
+
+ a
+ b
+ c
+ d
+ e
+
+ public.kern1.LAT_A
+
+ A
+ Aacute
+ Adieresis
+ Atilde
+
+ public.kern1.LAT_Y
+
+ Y
+ Yacute
+ Ydieresis
+ Ytilde
+
+ public.kern1.LAT_a
+
+ a
+ aacute
+ adieresis
+ atilde
+
+ public.kern1.LAT_v
+
+ y
+ yacute
+ ydieresis
+ ytilde
+
+ public.kern2.LAT_A
+
+ A
+ Aacute
+ Adieresis
+ Atilde
+
+ public.kern2.LAT_Y
+
+ Y
+ Yacute
+ Ydieresis
+ Ytilde
+
+ public.kern2.LAT_a
+
+ a
+ aacute
+ adieresis
+ atilde
+
+ public.kern2.LAT_y
+
+ y
+ yacute
+ ydieresis
+ ytilde
+
+
+
diff --git a/tests/makeinstancesufo_data/expected_output/ufo3regular.ufo/kerning.plist b/tests/makeinstancesufo_data/expected_output/ufo3regular.ufo/kerning.plist
new file mode 100644
index 000000000..1c64768f4
--- /dev/null
+++ b/tests/makeinstancesufo_data/expected_output/ufo3regular.ufo/kerning.plist
@@ -0,0 +1,50 @@
+
+
+
+
+ public.kern1.LAT_A
+
+ public.kern2.LAT_A
+ 6
+ public.kern2.LAT_Y
+ -90
+ public.kern2.LAT_a
+ -4
+ public.kern2.LAT_y
+ -42
+
+ public.kern1.LAT_Y
+
+ adieresis
+ -62
+ atilde
+ -74
+ public.kern2.LAT_A
+ -91
+ public.kern2.LAT_Y
+ -2
+ public.kern2.LAT_a
+ -74
+ public.kern2.LAT_y
+ -62
+
+ public.kern1.LAT_a
+
+ public.kern2.LAT_Y
+ -76
+ public.kern2.LAT_y
+ -14
+
+ public.kern1.LAT_v
+
+ public.kern2.LAT_A
+ -70
+ public.kern2.LAT_Y
+ -66
+ public.kern2.LAT_a
+ -18
+ public.kern2.LAT_y
+ 5
+
+
+
diff --git a/tests/makeinstancesufo_data/expected_output/ufo3regular.ufo/layercontents.plist b/tests/makeinstancesufo_data/expected_output/ufo3regular.ufo/layercontents.plist
new file mode 100644
index 000000000..e7ec5cadb
--- /dev/null
+++ b/tests/makeinstancesufo_data/expected_output/ufo3regular.ufo/layercontents.plist
@@ -0,0 +1,14 @@
+
+
+
+
+
+ public.default
+ glyphs
+
+
+ com.adobe.type.processedglyphs
+ glyphs.com.adobe.type.processedglyphs
+
+
+
diff --git a/tests/makeinstancesufo_data/expected_output/ufo3regular.ufo/lib.plist b/tests/makeinstancesufo_data/expected_output/ufo3regular.ufo/lib.plist
new file mode 100644
index 000000000..c7e11a538
--- /dev/null
+++ b/tests/makeinstancesufo_data/expected_output/ufo3regular.ufo/lib.plist
@@ -0,0 +1,31 @@
+
+
+
+
+ public.glyphOrder
+
+ A
+ Y
+ a
+ y
+ Aacute
+ Adieresis
+ Atilde
+ Yacute
+ Ydieresis
+ Ytilde
+ aacute
+ adieresis
+ atilde
+ yacute
+ ydieresis
+ ytilde
+ acutecmb
+ acutecmb.cap
+ dieresiscmb
+ dieresiscmb.cap
+ tildecmb
+ tildecmb.cap
+
+
+
diff --git a/tests/makeinstancesufo_data/expected_output/ufo3regular.ufo/metainfo.plist b/tests/makeinstancesufo_data/expected_output/ufo3regular.ufo/metainfo.plist
new file mode 100644
index 000000000..555d9ce4c
--- /dev/null
+++ b/tests/makeinstancesufo_data/expected_output/ufo3regular.ufo/metainfo.plist
@@ -0,0 +1,10 @@
+
+
+
+
+ creator
+ com.github.fonttools.ufoLib
+ formatVersion
+ 3
+
+
diff --git a/tests/makeinstancesufo_data/expected_output/ufo3semibold.ufo/data/com.adobe.type.processedHashMap b/tests/makeinstancesufo_data/expected_output/ufo3semibold.ufo/data/com.adobe.type.processedHashMap
new file mode 100644
index 000000000..4c68bd117
--- /dev/null
+++ b/tests/makeinstancesufo_data/expected_output/ufo3semibold.ufo/data/com.adobe.type.processedHashMap
@@ -0,0 +1,25 @@
+{
+'A': ['849833197c92ad62c038977538c8c5c353dd2632e8e62ffcfe0c3b2d9b2af61210edf0a9870bb5cf51b13abf889fe25683dba17dca3bb39cfc59c7da95170879', ['checkOutlines']],
+'Aacute': ['b350257bd19a8a82c47fa20a6795436c32ea67c5f88e8a0af8aee697ecaeb0f2888a6a062433dd57bb46b8a84e0a75a13a1fcb76566827ed94361cff5716bb2f', ['checkOutlines']],
+'Adieresis': ['5b070948468f05a78b08dd3a2faad13d0f78e91eaf5c00bcf8478a0f49e95eef4b8c03b34bf72dc34b77845cd4800ec1385599048f8f215e8aead2452893fba0', ['checkOutlines']],
+'Atilde': ['84fb6c761ca8c38ad55212dc19f2469e45704de092206b8ea89b5e962ce32d4f80de0b3d2df6c990fa13cf9903ce65967537b5aa47adbc9c9c8927f275a04d9a', ['checkOutlines']],
+'Y': ['787994c79622a8ec391d79b741aa38312e90674268845aa6d05197a8cafe4c16fa4c0332127b89738c7c071b3bdc20825a36694075f9e8e6987fccd1e0719d1d', ['checkOutlines']],
+'Yacute': ['0363efb36d7f169547ac81e26afff0418652ab94d090138bafc532112c70fb4cdb59f2e5398295a2e001064bfa9da7f698530ae83d4e867457923f9ae88f6090', ['checkOutlines']],
+'Ydieresis': ['726ac53e58b1ded52f6e92a5f4e3af69a4400467fcaaba9173b1107855b010eb818e0f2a610fc9bbad9490258e935d4ec507c6d68640a2445b0198625042fa51', ['checkOutlines']],
+'Ytilde': ['583f8c55b53af40ed2c590551ddc68938b37e098e46fca104b6c3800f9b83887434ae598c570cf215910c36b9a5d336acfbfe7b3f027f4a8553e3b69c2ab66ab', ['checkOutlines']],
+'a': ['55febe483b46b61c0c64791f66c88600cad50a30588e0586d732bf3178b549a62848f5219d379bb55282f83a3f9b59776c86a38bed685bd1e6255efe1701b31e', ['checkOutlines']],
+'aacute': ['6996d3011efab9ef038bb87d80132a3d5e50fe0614cc388560feb21a28bedc6a8bb9f222fba3a4725e4f3684a2570a98608089ed28b219ab9ebb35c6f1f919d2', ['checkOutlines']],
+'acutecmb': ['w1000c-65581l-35556-658122607c73647108674130695c130721130749108766c867665976645749c20710-20649-43615', ['checkOutlines']],
+'acutecmb.cap': ['w1000c-77734l-55702-672643750c92773135794145814c145831145851127872c1018728287266864c348360804-39769', ['checkOutlines']],
+'adieresis': ['a9167fe1ae8bb3d17b9d763d85d2b5fcf71101d937458c36ed1d99a2d1b8a3d54d69f069243a47239de92d2e089dafbb9e35c778a4537986c18a18f596a3dfa1', ['checkOutlines']],
+'atilde': ['efafd05e2476bf8d204e9fd675e88a1247434e3f6cf69b07fc79b9b666ddd796fdcfdd980d8985e17cc19b2705b5c7c502a83550e6fbe4dea79ed0f6ee55482a', ['checkOutlines']],
+'dieresiscmb': ['c6c372271be780b6062094f3e56d81b3ec5b345c0fbf0ce7426a93d95cb7636aa342c5fc4f1d0d95f1a95d360ed92db9236cadb3b457cdba89b1ca01e1848f5f', ['checkOutlines']],
+'dieresiscmb.cap': ['bc909f7877cf79a27e0e189c1680a63b0058f9b90757fb57b2297f999551de5fca3419d5a82188c0fe086a8cceb96a1060b39e4f53a5eec1807e94ce8885e407', ['checkOutlines']],
+'hashMapVersion': (1, 0),
+'tildecmb': ['2b66f00b07b8395494dd65e6e95ea88557182b254c2e7fc540c35df94df3f940c10943e4ff25ff79d9cb5d81d84b68e426fa51d0f53987a98ccebe581524bb13', ['checkOutlines']],
+'tildecmb.cap': ['22061f401da5e6f52b87654f052c5eeee328ec7f429f7415aafd2266bd6342f29f6baddbe886c8515a54a1b38e56dc800ae7fd520401c3b51879a1f5fba7561c', ['checkOutlines']],
+'y': ['6e00705dcde0cd38f3111d3d89839524c79d4cf41f6034c0c0e306e8870a68861dea79f883dc46f3d779bff2bd8f708fcd022540cc370013cbdac758f70ac4d7', ['checkOutlines']],
+'yacute': ['1206de83035727a09c17d6189852e0b527590d644e26226188d0d1bd216c4f840d7f7a56990e0923b26c0a3630754ce904471fe7ab0b8f0d229ddb5e89d8acd0', ['checkOutlines']],
+'ydieresis': ['5f68bacd288bd526a57b100118d8a32b942f03d79a01e372a623e6a807df4d8c704a9ec19dce4cbb8ba60eae77152784112b6295b893f3f9059fda9bd33e6928', ['checkOutlines']],
+'ytilde': ['6aa2ee21d2b4ba9a291400faddd91db5835f233539bb0328ced739ee65ab8cda69c691cc279be2ca555c8f5b42309e597edc7701a424c4f83c9e483e3c27edab', ['checkOutlines']],
+}
diff --git a/tests/makeinstancesufo_data/expected_output/ufo3semibold.ufo/fontinfo.plist b/tests/makeinstancesufo_data/expected_output/ufo3semibold.ufo/fontinfo.plist
new file mode 100644
index 000000000..199cb1c21
--- /dev/null
+++ b/tests/makeinstancesufo_data/expected_output/ufo3semibold.ufo/fontinfo.plist
@@ -0,0 +1,158 @@
+
+
+
+
+ ascender
+ 722
+ capHeight
+ 662
+ copyright
+ Copyright 2014 - 2017 Adobe Systems Incorporated (http://www.adobe.com/), with Reserved Font Name 'Source'.
+ descender
+ -231
+ familyName
+ Source Serif Pro
+ italicAngle
+ 0
+ openTypeHheaAscender
+ 1036
+ openTypeHheaDescender
+ -335
+ openTypeHheaLineGap
+ 0
+ openTypeNameDesigner
+ Frank Grießhammer
+ openTypeNameLicense
+ This Font Software is licensed under the SIL Open Font License, Version 1.1. This license is available with a FAQ at: http://scripts.sil.org/OFL. This Font Software is distributed on an 'AS IS' BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the SIL Open Font License for the specific language, permissions and limitations governing your use of this Font Software.
+ openTypeNameLicenseURL
+ http://scripts.sil.org/OFL
+ openTypeNameManufacturer
+ Adobe Systems Incorporated
+ openTypeNameManufacturerURL
+ http://www.adobe.com/type
+ openTypeOS2CodePageRanges
+
+ 0
+ 1
+ 2
+ 3
+ 4
+ 7
+ 8
+ 29
+
+ openTypeOS2Panose
+
+ 2
+ 4
+ 6
+ 3
+ 5
+ 4
+ 5
+ 2
+ 2
+ 4
+
+ openTypeOS2TypoAscender
+ 730
+ openTypeOS2TypoDescender
+ -270
+ openTypeOS2TypoLineGap
+ 0
+ openTypeOS2UnicodeRanges
+
+ 0
+ 1
+ 2
+ 7
+ 9
+ 29
+ 32
+ 33
+ 57
+
+ openTypeOS2VendorID
+ ADBO
+ openTypeOS2WinAscent
+ 1036
+ openTypeOS2WinDescent
+ 335
+ postscriptBlueFuzz
+ 0
+ postscriptBlueScale
+ 0.0375
+ postscriptBlueValues
+
+ -17
+ 0
+ 480
+ 495
+ 523
+ 537
+ 544
+ 559
+ 636
+ 651
+ 662
+ 679
+ 722
+ 742
+
+ postscriptFamilyBlues
+
+ -15
+ 0
+ 475
+ 488
+ 527
+ 540
+ 549
+ 563
+ 646
+ 659
+ 669
+ 684
+ 729
+ 749
+
+ postscriptFamilyOtherBlues
+
+ -249
+ -239
+
+ postscriptFontName
+ SourceSerifPro-Semibold
+ postscriptOtherBlues
+
+ -241
+ -231
+
+ postscriptStemSnapH
+
+ 55
+ 44
+
+ postscriptStemSnapV
+
+ 125
+ 133
+
+ postscriptUnderlinePosition
+ -75
+ postscriptUnderlineThickness
+ 50
+ styleName
+ Semibold
+ trademark
+ Source is a trademark of Adobe Systems Incorporated in the United States and/or other countries.
+ unitsPerEm
+ 1000
+ versionMajor
+ 1
+ versionMinor
+ 0
+ xHeight
+ 480
+
+
diff --git a/tests/makeinstancesufo_data/expected_output/ufo3semibold.ufo/glyphs.com.adobe.type.processedglyphs/A_.glif b/tests/makeinstancesufo_data/expected_output/ufo3semibold.ufo/glyphs.com.adobe.type.processedglyphs/A_.glif
new file mode 100644
index 000000000..da5ead0bc
--- /dev/null
+++ b/tests/makeinstancesufo_data/expected_output/ufo3semibold.ufo/glyphs.com.adobe.type.processedglyphs/A_.glif
@@ -0,0 +1,30 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/makeinstancesufo_data/expected_output/ufo3semibold.ufo/glyphs.com.adobe.type.processedglyphs/A_acute.glif b/tests/makeinstancesufo_data/expected_output/ufo3semibold.ufo/glyphs.com.adobe.type.processedglyphs/A_acute.glif
new file mode 100644
index 000000000..f8d4193be
--- /dev/null
+++ b/tests/makeinstancesufo_data/expected_output/ufo3semibold.ufo/glyphs.com.adobe.type.processedglyphs/A_acute.glif
@@ -0,0 +1,48 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/makeinstancesufo_data/expected_output/ufo3semibold.ufo/glyphs.com.adobe.type.processedglyphs/A_dieresis.glif b/tests/makeinstancesufo_data/expected_output/ufo3semibold.ufo/glyphs.com.adobe.type.processedglyphs/A_dieresis.glif
new file mode 100644
index 000000000..a6d7930c2
--- /dev/null
+++ b/tests/makeinstancesufo_data/expected_output/ufo3semibold.ufo/glyphs.com.adobe.type.processedglyphs/A_dieresis.glif
@@ -0,0 +1,58 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/makeinstancesufo_data/expected_output/ufo3semibold.ufo/glyphs.com.adobe.type.processedglyphs/A_tilde.glif b/tests/makeinstancesufo_data/expected_output/ufo3semibold.ufo/glyphs.com.adobe.type.processedglyphs/A_tilde.glif
new file mode 100644
index 000000000..cb098165e
--- /dev/null
+++ b/tests/makeinstancesufo_data/expected_output/ufo3semibold.ufo/glyphs.com.adobe.type.processedglyphs/A_tilde.glif
@@ -0,0 +1,58 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/makeinstancesufo_data/expected_output/ufo3semibold.ufo/glyphs.com.adobe.type.processedglyphs/Y_.glif b/tests/makeinstancesufo_data/expected_output/ufo3semibold.ufo/glyphs.com.adobe.type.processedglyphs/Y_.glif
new file mode 100644
index 000000000..66309f6e0
--- /dev/null
+++ b/tests/makeinstancesufo_data/expected_output/ufo3semibold.ufo/glyphs.com.adobe.type.processedglyphs/Y_.glif
@@ -0,0 +1,34 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/makeinstancesufo_data/expected_output/ufo3semibold.ufo/glyphs.com.adobe.type.processedglyphs/Y_acute.glif b/tests/makeinstancesufo_data/expected_output/ufo3semibold.ufo/glyphs.com.adobe.type.processedglyphs/Y_acute.glif
new file mode 100644
index 000000000..ba517d22d
--- /dev/null
+++ b/tests/makeinstancesufo_data/expected_output/ufo3semibold.ufo/glyphs.com.adobe.type.processedglyphs/Y_acute.glif
@@ -0,0 +1,52 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/makeinstancesufo_data/expected_output/ufo3semibold.ufo/glyphs.com.adobe.type.processedglyphs/Y_dieresis.glif b/tests/makeinstancesufo_data/expected_output/ufo3semibold.ufo/glyphs.com.adobe.type.processedglyphs/Y_dieresis.glif
new file mode 100644
index 000000000..8806ac36f
--- /dev/null
+++ b/tests/makeinstancesufo_data/expected_output/ufo3semibold.ufo/glyphs.com.adobe.type.processedglyphs/Y_dieresis.glif
@@ -0,0 +1,62 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/makeinstancesufo_data/expected_output/ufo3semibold.ufo/glyphs.com.adobe.type.processedglyphs/Y_tilde.glif b/tests/makeinstancesufo_data/expected_output/ufo3semibold.ufo/glyphs.com.adobe.type.processedglyphs/Y_tilde.glif
new file mode 100644
index 000000000..1e77ef15e
--- /dev/null
+++ b/tests/makeinstancesufo_data/expected_output/ufo3semibold.ufo/glyphs.com.adobe.type.processedglyphs/Y_tilde.glif
@@ -0,0 +1,62 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/makeinstancesufo_data/expected_output/ufo3semibold.ufo/glyphs.com.adobe.type.processedglyphs/a.glif b/tests/makeinstancesufo_data/expected_output/ufo3semibold.ufo/glyphs.com.adobe.type.processedglyphs/a.glif
new file mode 100644
index 000000000..f930fe309
--- /dev/null
+++ b/tests/makeinstancesufo_data/expected_output/ufo3semibold.ufo/glyphs.com.adobe.type.processedglyphs/a.glif
@@ -0,0 +1,70 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/makeinstancesufo_data/expected_output/ufo3semibold.ufo/glyphs.com.adobe.type.processedglyphs/aacute.glif b/tests/makeinstancesufo_data/expected_output/ufo3semibold.ufo/glyphs.com.adobe.type.processedglyphs/aacute.glif
new file mode 100644
index 000000000..bc790da0e
--- /dev/null
+++ b/tests/makeinstancesufo_data/expected_output/ufo3semibold.ufo/glyphs.com.adobe.type.processedglyphs/aacute.glif
@@ -0,0 +1,88 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/makeinstancesufo_data/expected_output/ufo3semibold.ufo/glyphs.com.adobe.type.processedglyphs/adieresis.glif b/tests/makeinstancesufo_data/expected_output/ufo3semibold.ufo/glyphs.com.adobe.type.processedglyphs/adieresis.glif
new file mode 100644
index 000000000..9e8ac8654
--- /dev/null
+++ b/tests/makeinstancesufo_data/expected_output/ufo3semibold.ufo/glyphs.com.adobe.type.processedglyphs/adieresis.glif
@@ -0,0 +1,98 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/makeinstancesufo_data/expected_output/ufo3semibold.ufo/glyphs.com.adobe.type.processedglyphs/atilde.glif b/tests/makeinstancesufo_data/expected_output/ufo3semibold.ufo/glyphs.com.adobe.type.processedglyphs/atilde.glif
new file mode 100644
index 000000000..e96cdfede
--- /dev/null
+++ b/tests/makeinstancesufo_data/expected_output/ufo3semibold.ufo/glyphs.com.adobe.type.processedglyphs/atilde.glif
@@ -0,0 +1,98 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/makeinstancesufo_data/expected_output/ufo3semibold.ufo/glyphs.com.adobe.type.processedglyphs/contents.plist b/tests/makeinstancesufo_data/expected_output/ufo3semibold.ufo/glyphs.com.adobe.type.processedglyphs/contents.plist
new file mode 100644
index 000000000..41edc9de1
--- /dev/null
+++ b/tests/makeinstancesufo_data/expected_output/ufo3semibold.ufo/glyphs.com.adobe.type.processedglyphs/contents.plist
@@ -0,0 +1,38 @@
+
+
+
+
+ A
+ A_.glif
+ Aacute
+ A_acute.glif
+ Adieresis
+ A_dieresis.glif
+ Atilde
+ A_tilde.glif
+ Y
+ Y_.glif
+ Yacute
+ Y_acute.glif
+ Ydieresis
+ Y_dieresis.glif
+ Ytilde
+ Y_tilde.glif
+ a
+ a.glif
+ aacute
+ aacute.glif
+ adieresis
+ adieresis.glif
+ atilde
+ atilde.glif
+ y
+ y.glif
+ yacute
+ yacute.glif
+ ydieresis
+ ydieresis.glif
+ ytilde
+ ytilde.glif
+
+
diff --git a/tests/makeinstancesufo_data/expected_output/ufo3semibold.ufo/glyphs.com.adobe.type.processedglyphs/y.glif b/tests/makeinstancesufo_data/expected_output/ufo3semibold.ufo/glyphs.com.adobe.type.processedglyphs/y.glif
new file mode 100644
index 000000000..d0376133f
--- /dev/null
+++ b/tests/makeinstancesufo_data/expected_output/ufo3semibold.ufo/glyphs.com.adobe.type.processedglyphs/y.glif
@@ -0,0 +1,40 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/makeinstancesufo_data/expected_output/ufo3semibold.ufo/glyphs.com.adobe.type.processedglyphs/yacute.glif b/tests/makeinstancesufo_data/expected_output/ufo3semibold.ufo/glyphs.com.adobe.type.processedglyphs/yacute.glif
new file mode 100644
index 000000000..89a4d3179
--- /dev/null
+++ b/tests/makeinstancesufo_data/expected_output/ufo3semibold.ufo/glyphs.com.adobe.type.processedglyphs/yacute.glif
@@ -0,0 +1,58 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/makeinstancesufo_data/expected_output/ufo3semibold.ufo/glyphs.com.adobe.type.processedglyphs/ydieresis.glif b/tests/makeinstancesufo_data/expected_output/ufo3semibold.ufo/glyphs.com.adobe.type.processedglyphs/ydieresis.glif
new file mode 100644
index 000000000..737b05828
--- /dev/null
+++ b/tests/makeinstancesufo_data/expected_output/ufo3semibold.ufo/glyphs.com.adobe.type.processedglyphs/ydieresis.glif
@@ -0,0 +1,68 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/makeinstancesufo_data/expected_output/ufo3semibold.ufo/glyphs.com.adobe.type.processedglyphs/ytilde.glif b/tests/makeinstancesufo_data/expected_output/ufo3semibold.ufo/glyphs.com.adobe.type.processedglyphs/ytilde.glif
new file mode 100644
index 000000000..e3abb3fc1
--- /dev/null
+++ b/tests/makeinstancesufo_data/expected_output/ufo3semibold.ufo/glyphs.com.adobe.type.processedglyphs/ytilde.glif
@@ -0,0 +1,68 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/makeinstancesufo_data/expected_output/ufo3semibold.ufo/glyphs/A_.glif b/tests/makeinstancesufo_data/expected_output/ufo3semibold.ufo/glyphs/A_.glif
new file mode 100644
index 000000000..67443357a
--- /dev/null
+++ b/tests/makeinstancesufo_data/expected_output/ufo3semibold.ufo/glyphs/A_.glif
@@ -0,0 +1,48 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/makeinstancesufo_data/expected_output/ufo3semibold.ufo/glyphs/A_acute.glif b/tests/makeinstancesufo_data/expected_output/ufo3semibold.ufo/glyphs/A_acute.glif
new file mode 100644
index 000000000..fb33eec1f
--- /dev/null
+++ b/tests/makeinstancesufo_data/expected_output/ufo3semibold.ufo/glyphs/A_acute.glif
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
diff --git a/tests/makeinstancesufo_data/expected_output/ufo3semibold.ufo/glyphs/A_dieresis.glif b/tests/makeinstancesufo_data/expected_output/ufo3semibold.ufo/glyphs/A_dieresis.glif
new file mode 100644
index 000000000..f3535950a
--- /dev/null
+++ b/tests/makeinstancesufo_data/expected_output/ufo3semibold.ufo/glyphs/A_dieresis.glif
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
diff --git a/tests/makeinstancesufo_data/expected_output/ufo3semibold.ufo/glyphs/A_tilde.glif b/tests/makeinstancesufo_data/expected_output/ufo3semibold.ufo/glyphs/A_tilde.glif
new file mode 100644
index 000000000..2458f61e7
--- /dev/null
+++ b/tests/makeinstancesufo_data/expected_output/ufo3semibold.ufo/glyphs/A_tilde.glif
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
diff --git a/tests/makeinstancesufo_data/expected_output/ufo3semibold.ufo/glyphs/Y_.glif b/tests/makeinstancesufo_data/expected_output/ufo3semibold.ufo/glyphs/Y_.glif
new file mode 100644
index 000000000..457fe1992
--- /dev/null
+++ b/tests/makeinstancesufo_data/expected_output/ufo3semibold.ufo/glyphs/Y_.glif
@@ -0,0 +1,57 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/makeinstancesufo_data/expected_output/ufo3semibold.ufo/glyphs/Y_acute.glif b/tests/makeinstancesufo_data/expected_output/ufo3semibold.ufo/glyphs/Y_acute.glif
new file mode 100644
index 000000000..3d66593ba
--- /dev/null
+++ b/tests/makeinstancesufo_data/expected_output/ufo3semibold.ufo/glyphs/Y_acute.glif
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
diff --git a/tests/makeinstancesufo_data/expected_output/ufo3semibold.ufo/glyphs/Y_dieresis.glif b/tests/makeinstancesufo_data/expected_output/ufo3semibold.ufo/glyphs/Y_dieresis.glif
new file mode 100644
index 000000000..316cf040b
--- /dev/null
+++ b/tests/makeinstancesufo_data/expected_output/ufo3semibold.ufo/glyphs/Y_dieresis.glif
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
diff --git a/tests/makeinstancesufo_data/expected_output/ufo3semibold.ufo/glyphs/Y_tilde.glif b/tests/makeinstancesufo_data/expected_output/ufo3semibold.ufo/glyphs/Y_tilde.glif
new file mode 100644
index 000000000..5ea48f002
--- /dev/null
+++ b/tests/makeinstancesufo_data/expected_output/ufo3semibold.ufo/glyphs/Y_tilde.glif
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
diff --git a/tests/makeinstancesufo_data/expected_output/ufo3semibold.ufo/glyphs/a.glif b/tests/makeinstancesufo_data/expected_output/ufo3semibold.ufo/glyphs/a.glif
new file mode 100644
index 000000000..e0d66c6b2
--- /dev/null
+++ b/tests/makeinstancesufo_data/expected_output/ufo3semibold.ufo/glyphs/a.glif
@@ -0,0 +1,83 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/makeinstancesufo_data/expected_output/ufo3semibold.ufo/glyphs/aacute.glif b/tests/makeinstancesufo_data/expected_output/ufo3semibold.ufo/glyphs/aacute.glif
new file mode 100644
index 000000000..60126f80e
--- /dev/null
+++ b/tests/makeinstancesufo_data/expected_output/ufo3semibold.ufo/glyphs/aacute.glif
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
diff --git a/tests/makeinstancesufo_data/expected_output/ufo3semibold.ufo/glyphs/acutecmb.cap.glif b/tests/makeinstancesufo_data/expected_output/ufo3semibold.ufo/glyphs/acutecmb.cap.glif
new file mode 100644
index 000000000..ae408954c
--- /dev/null
+++ b/tests/makeinstancesufo_data/expected_output/ufo3semibold.ufo/glyphs/acutecmb.cap.glif
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/makeinstancesufo_data/expected_output/ufo3semibold.ufo/glyphs/acutecmb.glif b/tests/makeinstancesufo_data/expected_output/ufo3semibold.ufo/glyphs/acutecmb.glif
new file mode 100644
index 000000000..23fe0f9f7
--- /dev/null
+++ b/tests/makeinstancesufo_data/expected_output/ufo3semibold.ufo/glyphs/acutecmb.glif
@@ -0,0 +1,27 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/makeinstancesufo_data/expected_output/ufo3semibold.ufo/glyphs/adieresis.glif b/tests/makeinstancesufo_data/expected_output/ufo3semibold.ufo/glyphs/adieresis.glif
new file mode 100644
index 000000000..3a26ab5d2
--- /dev/null
+++ b/tests/makeinstancesufo_data/expected_output/ufo3semibold.ufo/glyphs/adieresis.glif
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
diff --git a/tests/makeinstancesufo_data/expected_output/ufo3semibold.ufo/glyphs/atilde.glif b/tests/makeinstancesufo_data/expected_output/ufo3semibold.ufo/glyphs/atilde.glif
new file mode 100644
index 000000000..513076017
--- /dev/null
+++ b/tests/makeinstancesufo_data/expected_output/ufo3semibold.ufo/glyphs/atilde.glif
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
diff --git a/tests/makeinstancesufo_data/expected_output/ufo3semibold.ufo/glyphs/contents.plist b/tests/makeinstancesufo_data/expected_output/ufo3semibold.ufo/glyphs/contents.plist
new file mode 100644
index 000000000..d4b4a3da7
--- /dev/null
+++ b/tests/makeinstancesufo_data/expected_output/ufo3semibold.ufo/glyphs/contents.plist
@@ -0,0 +1,50 @@
+
+
+
+
+ A
+ A_.glif
+ Aacute
+ A_acute.glif
+ Adieresis
+ A_dieresis.glif
+ Atilde
+ A_tilde.glif
+ Y
+ Y_.glif
+ Yacute
+ Y_acute.glif
+ Ydieresis
+ Y_dieresis.glif
+ Ytilde
+ Y_tilde.glif
+ a
+ a.glif
+ aacute
+ aacute.glif
+ acutecmb
+ acutecmb.glif
+ acutecmb.cap
+ acutecmb.cap.glif
+ adieresis
+ adieresis.glif
+ atilde
+ atilde.glif
+ dieresiscmb
+ dieresiscmb.glif
+ dieresiscmb.cap
+ dieresiscmb.cap.glif
+ tildecmb
+ tildecmb.glif
+ tildecmb.cap
+ tildecmb.cap.glif
+ y
+ y.glif
+ yacute
+ yacute.glif
+ ydieresis
+ ydieresis.glif
+ ytilde
+ ytilde.glif
+
+
diff --git a/tests/makeinstancesufo_data/expected_output/ufo3semibold.ufo/glyphs/dieresiscmb.cap.glif b/tests/makeinstancesufo_data/expected_output/ufo3semibold.ufo/glyphs/dieresiscmb.cap.glif
new file mode 100644
index 000000000..03b3d969d
--- /dev/null
+++ b/tests/makeinstancesufo_data/expected_output/ufo3semibold.ufo/glyphs/dieresiscmb.cap.glif
@@ -0,0 +1,36 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/makeinstancesufo_data/expected_output/ufo3semibold.ufo/glyphs/dieresiscmb.glif b/tests/makeinstancesufo_data/expected_output/ufo3semibold.ufo/glyphs/dieresiscmb.glif
new file mode 100644
index 000000000..75b68d470
--- /dev/null
+++ b/tests/makeinstancesufo_data/expected_output/ufo3semibold.ufo/glyphs/dieresiscmb.glif
@@ -0,0 +1,40 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/makeinstancesufo_data/expected_output/ufo3semibold.ufo/glyphs/tildecmb.cap.glif b/tests/makeinstancesufo_data/expected_output/ufo3semibold.ufo/glyphs/tildecmb.cap.glif
new file mode 100644
index 000000000..16b6c3110
--- /dev/null
+++ b/tests/makeinstancesufo_data/expected_output/ufo3semibold.ufo/glyphs/tildecmb.cap.glif
@@ -0,0 +1,36 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/makeinstancesufo_data/expected_output/ufo3semibold.ufo/glyphs/tildecmb.glif b/tests/makeinstancesufo_data/expected_output/ufo3semibold.ufo/glyphs/tildecmb.glif
new file mode 100644
index 000000000..e229c7e14
--- /dev/null
+++ b/tests/makeinstancesufo_data/expected_output/ufo3semibold.ufo/glyphs/tildecmb.glif
@@ -0,0 +1,37 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/makeinstancesufo_data/expected_output/ufo3semibold.ufo/glyphs/y.glif b/tests/makeinstancesufo_data/expected_output/ufo3semibold.ufo/glyphs/y.glif
new file mode 100644
index 000000000..0c6a95057
--- /dev/null
+++ b/tests/makeinstancesufo_data/expected_output/ufo3semibold.ufo/glyphs/y.glif
@@ -0,0 +1,59 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/makeinstancesufo_data/expected_output/ufo3semibold.ufo/glyphs/yacute.glif b/tests/makeinstancesufo_data/expected_output/ufo3semibold.ufo/glyphs/yacute.glif
new file mode 100644
index 000000000..8608a7910
--- /dev/null
+++ b/tests/makeinstancesufo_data/expected_output/ufo3semibold.ufo/glyphs/yacute.glif
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
diff --git a/tests/makeinstancesufo_data/expected_output/ufo3semibold.ufo/glyphs/ydieresis.glif b/tests/makeinstancesufo_data/expected_output/ufo3semibold.ufo/glyphs/ydieresis.glif
new file mode 100644
index 000000000..7461fd7c1
--- /dev/null
+++ b/tests/makeinstancesufo_data/expected_output/ufo3semibold.ufo/glyphs/ydieresis.glif
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
diff --git a/tests/makeinstancesufo_data/expected_output/ufo3semibold.ufo/glyphs/ytilde.glif b/tests/makeinstancesufo_data/expected_output/ufo3semibold.ufo/glyphs/ytilde.glif
new file mode 100644
index 000000000..3aded687f
--- /dev/null
+++ b/tests/makeinstancesufo_data/expected_output/ufo3semibold.ufo/glyphs/ytilde.glif
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
diff --git a/tests/makeinstancesufo_data/expected_output/ufo3semibold.ufo/groups.plist b/tests/makeinstancesufo_data/expected_output/ufo3semibold.ufo/groups.plist
new file mode 100644
index 000000000..b348c047e
--- /dev/null
+++ b/tests/makeinstancesufo_data/expected_output/ufo3semibold.ufo/groups.plist
@@ -0,0 +1,70 @@
+
+
+
+
+ Not a kerning group
+
+ a
+ b
+ c
+ d
+ e
+
+ public.kern1.LAT_A
+
+ A
+ Aacute
+ Adieresis
+ Atilde
+
+ public.kern1.LAT_Y
+
+ Y
+ Yacute
+ Ydieresis
+ Ytilde
+
+ public.kern1.LAT_a
+
+ a
+ aacute
+ adieresis
+ atilde
+
+ public.kern1.LAT_v
+
+ y
+ yacute
+ ydieresis
+ ytilde
+
+ public.kern2.LAT_A
+
+ A
+ Aacute
+ Adieresis
+ Atilde
+
+ public.kern2.LAT_Y
+
+ Y
+ Yacute
+ Ydieresis
+ Ytilde
+
+ public.kern2.LAT_a
+
+ a
+ aacute
+ adieresis
+ atilde
+
+ public.kern2.LAT_y
+
+ y
+ yacute
+ ydieresis
+ ytilde
+
+
+
diff --git a/tests/makeinstancesufo_data/expected_output/ufo3semibold.ufo/kerning.plist b/tests/makeinstancesufo_data/expected_output/ufo3semibold.ufo/kerning.plist
new file mode 100644
index 000000000..db71649c5
--- /dev/null
+++ b/tests/makeinstancesufo_data/expected_output/ufo3semibold.ufo/kerning.plist
@@ -0,0 +1,48 @@
+
+
+
+
+ public.kern1.LAT_A
+
+ public.kern2.LAT_A
+ 4
+ public.kern2.LAT_Y
+ -90
+ public.kern2.LAT_a
+ -6
+ public.kern2.LAT_y
+ -48
+
+ public.kern1.LAT_Y
+
+ adieresis
+ -58
+ atilde
+ -76
+ public.kern2.LAT_A
+ -94
+ public.kern2.LAT_Y
+ 2
+ public.kern2.LAT_a
+ -76
+ public.kern2.LAT_y
+ -58
+
+ public.kern1.LAT_a
+
+ public.kern2.LAT_Y
+ -74
+ public.kern2.LAT_y
+ -16
+
+ public.kern1.LAT_v
+
+ public.kern2.LAT_A
+ -80
+ public.kern2.LAT_Y
+ -64
+ public.kern2.LAT_a
+ -22
+
+
+
diff --git a/tests/makeinstancesufo_data/expected_output/ufo3semibold.ufo/layercontents.plist b/tests/makeinstancesufo_data/expected_output/ufo3semibold.ufo/layercontents.plist
new file mode 100644
index 000000000..e7ec5cadb
--- /dev/null
+++ b/tests/makeinstancesufo_data/expected_output/ufo3semibold.ufo/layercontents.plist
@@ -0,0 +1,14 @@
+
+
+
+
+
+ public.default
+ glyphs
+
+
+ com.adobe.type.processedglyphs
+ glyphs.com.adobe.type.processedglyphs
+
+
+
diff --git a/tests/makeinstancesufo_data/expected_output/ufo3semibold.ufo/lib.plist b/tests/makeinstancesufo_data/expected_output/ufo3semibold.ufo/lib.plist
new file mode 100644
index 000000000..c7e11a538
--- /dev/null
+++ b/tests/makeinstancesufo_data/expected_output/ufo3semibold.ufo/lib.plist
@@ -0,0 +1,31 @@
+
+
+
+
+ public.glyphOrder
+
+ A
+ Y
+ a
+ y
+ Aacute
+ Adieresis
+ Atilde
+ Yacute
+ Ydieresis
+ Ytilde
+ aacute
+ adieresis
+ atilde
+ yacute
+ ydieresis
+ ytilde
+ acutecmb
+ acutecmb.cap
+ dieresiscmb
+ dieresiscmb.cap
+ tildecmb
+ tildecmb.cap
+
+
+
diff --git a/tests/makeinstancesufo_data/expected_output/ufo3semibold.ufo/metainfo.plist b/tests/makeinstancesufo_data/expected_output/ufo3semibold.ufo/metainfo.plist
new file mode 100644
index 000000000..ca3852e2b
--- /dev/null
+++ b/tests/makeinstancesufo_data/expected_output/ufo3semibold.ufo/metainfo.plist
@@ -0,0 +1,10 @@
+
+
+
+
+ creator
+ com.github.fonttools.ufoLib
+ formatVersion
+ 2
+
+
diff --git a/tests/makeinstancesufo_data/input/font.designspace b/tests/makeinstancesufo_data/input/font.designspace
index 0da8744f6..65f330977 100644
--- a/tests/makeinstancesufo_data/input/font.designspace
+++ b/tests/makeinstancesufo_data/input/font.designspace
@@ -45,6 +45,13 @@
+
+
+
+
+
+
+
@@ -66,5 +73,24 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/makeinstancesufo_data/input/master1.ufo/groups.plist b/tests/makeinstancesufo_data/input/master1.ufo/groups.plist
index 4e754e5fc..324a486c5 100644
--- a/tests/makeinstancesufo_data/input/master1.ufo/groups.plist
+++ b/tests/makeinstancesufo_data/input/master1.ufo/groups.plist
@@ -2,6 +2,14 @@
+ Not a kerning group
+
+ a
+ b
+ c
+ d
+ e
+
@MMK_L_LAT_A
A
diff --git a/tests/makeinstancesufo_data/input/ufo3.designspace b/tests/makeinstancesufo_data/input/ufo3.designspace
new file mode 100644
index 000000000..d3840eed1
--- /dev/null
+++ b/tests/makeinstancesufo_data/input/ufo3.designspace
@@ -0,0 +1,44 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/makeinstancesufo_data/input/ufo3master0.ufo/fontinfo.plist b/tests/makeinstancesufo_data/input/ufo3master0.ufo/fontinfo.plist
new file mode 100644
index 000000000..0542afb4d
--- /dev/null
+++ b/tests/makeinstancesufo_data/input/ufo3master0.ufo/fontinfo.plist
@@ -0,0 +1,160 @@
+
+
+
+
+ ascender
+ 738
+ capHeight
+ 677
+ copyright
+ Copyright 2014 - 2017 Adobe Systems Incorporated (http://www.adobe.com/), with Reserved Font Name 'Source'.
+ descender
+ -245
+ familyName
+ Source Serif Pro
+ guidelines
+
+ italicAngle
+ 0
+ openTypeHheaAscender
+ 1036
+ openTypeHheaDescender
+ -335
+ openTypeHheaLineGap
+ 0
+ openTypeNameDesigner
+ Frank Grießhammer
+ openTypeNameLicense
+ This Font Software is licensed under the SIL Open Font License, Version 1.1. This license is available with a FAQ at: http://scripts.sil.org/OFL. This Font Software is distributed on an 'AS IS' BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the SIL Open Font License for the specific language, permissions and limitations governing your use of this Font Software.
+ openTypeNameLicenseURL
+ http://scripts.sil.org/OFL
+ openTypeNameManufacturer
+ Adobe Systems Incorporated
+ openTypeNameManufacturerURL
+ http://www.adobe.com/type
+ openTypeOS2CodePageRanges
+
+ 0
+ 1
+ 2
+ 3
+ 4
+ 7
+ 8
+ 29
+
+ openTypeOS2Panose
+
+ 2
+ 4
+ 6
+ 3
+ 5
+ 4
+ 5
+ 2
+ 2
+ 4
+
+ openTypeOS2TypoAscender
+ 730
+ openTypeOS2TypoDescender
+ -270
+ openTypeOS2TypoLineGap
+ 0
+ openTypeOS2UnicodeRanges
+
+ 0
+ 1
+ 2
+ 7
+ 9
+ 29
+ 32
+ 33
+ 57
+
+ openTypeOS2VendorID
+ ADBO
+ openTypeOS2WinAscent
+ 1036
+ openTypeOS2WinDescent
+ 335
+ postscriptBlueFuzz
+ 0
+ postscriptBlueScale
+ 0.0375
+ postscriptBlueValues
+
+ -13
+ 0
+ 470
+ 483
+ 534
+ 547
+ 556
+ 569
+ 654
+ 667
+ 677
+ 690
+ 738
+ 758
+
+ postscriptFamilyBlues
+
+ -15
+ 0
+ 475
+ 488
+ 527
+ 540
+ 549
+ 563
+ 646
+ 659
+ 669
+ 684
+ 729
+ 749
+
+ postscriptFamilyOtherBlues
+
+ -249
+ -239
+
+ postscriptFontName
+ SourceSerifPro-ExtraLight
+ postscriptOtherBlues
+
+ -255
+ -245
+
+ postscriptStemSnapH
+
+ 26
+ 20
+
+ postscriptStemSnapV
+
+ 28
+ 32
+
+ postscriptUnderlinePosition
+ -75
+ postscriptUnderlineThickness
+ 50
+ styleName
+ ExtraLight
+ trademark
+ Source is a trademark of Adobe Systems Incorporated in the United States and/or other countries.
+ unitsPerEm
+ 1000
+ versionMajor
+ 1
+ versionMinor
+ 0
+ xHeight
+ 470
+
+
diff --git a/tests/makeinstancesufo_data/input/ufo3master0.ufo/glyphs/A_.glif b/tests/makeinstancesufo_data/input/ufo3master0.ufo/glyphs/A_.glif
new file mode 100644
index 000000000..20a0e5a26
--- /dev/null
+++ b/tests/makeinstancesufo_data/input/ufo3master0.ufo/glyphs/A_.glif
@@ -0,0 +1,42 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/makeinstancesufo_data/input/ufo3master0.ufo/glyphs/A_acute.glif b/tests/makeinstancesufo_data/input/ufo3master0.ufo/glyphs/A_acute.glif
new file mode 100644
index 000000000..31257d907
--- /dev/null
+++ b/tests/makeinstancesufo_data/input/ufo3master0.ufo/glyphs/A_acute.glif
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
diff --git a/tests/makeinstancesufo_data/input/ufo3master0.ufo/glyphs/A_dieresis.glif b/tests/makeinstancesufo_data/input/ufo3master0.ufo/glyphs/A_dieresis.glif
new file mode 100644
index 000000000..79171d75b
--- /dev/null
+++ b/tests/makeinstancesufo_data/input/ufo3master0.ufo/glyphs/A_dieresis.glif
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
diff --git a/tests/makeinstancesufo_data/input/ufo3master0.ufo/glyphs/A_tilde.glif b/tests/makeinstancesufo_data/input/ufo3master0.ufo/glyphs/A_tilde.glif
new file mode 100644
index 000000000..d6f10819f
--- /dev/null
+++ b/tests/makeinstancesufo_data/input/ufo3master0.ufo/glyphs/A_tilde.glif
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
diff --git a/tests/makeinstancesufo_data/input/ufo3master0.ufo/glyphs/Y_.glif b/tests/makeinstancesufo_data/input/ufo3master0.ufo/glyphs/Y_.glif
new file mode 100644
index 000000000..5f8e601fc
--- /dev/null
+++ b/tests/makeinstancesufo_data/input/ufo3master0.ufo/glyphs/Y_.glif
@@ -0,0 +1,53 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/makeinstancesufo_data/input/ufo3master0.ufo/glyphs/Y_acute.glif b/tests/makeinstancesufo_data/input/ufo3master0.ufo/glyphs/Y_acute.glif
new file mode 100644
index 000000000..c2965e8da
--- /dev/null
+++ b/tests/makeinstancesufo_data/input/ufo3master0.ufo/glyphs/Y_acute.glif
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
diff --git a/tests/makeinstancesufo_data/input/ufo3master0.ufo/glyphs/Y_dieresis.glif b/tests/makeinstancesufo_data/input/ufo3master0.ufo/glyphs/Y_dieresis.glif
new file mode 100644
index 000000000..54cdbd339
--- /dev/null
+++ b/tests/makeinstancesufo_data/input/ufo3master0.ufo/glyphs/Y_dieresis.glif
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
diff --git a/tests/makeinstancesufo_data/input/ufo3master0.ufo/glyphs/Y_tilde.glif b/tests/makeinstancesufo_data/input/ufo3master0.ufo/glyphs/Y_tilde.glif
new file mode 100644
index 000000000..af1596383
--- /dev/null
+++ b/tests/makeinstancesufo_data/input/ufo3master0.ufo/glyphs/Y_tilde.glif
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
diff --git a/tests/makeinstancesufo_data/input/ufo3master0.ufo/glyphs/a.glif b/tests/makeinstancesufo_data/input/ufo3master0.ufo/glyphs/a.glif
new file mode 100644
index 000000000..203803945
--- /dev/null
+++ b/tests/makeinstancesufo_data/input/ufo3master0.ufo/glyphs/a.glif
@@ -0,0 +1,77 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/makeinstancesufo_data/input/ufo3master0.ufo/glyphs/aacute.glif b/tests/makeinstancesufo_data/input/ufo3master0.ufo/glyphs/aacute.glif
new file mode 100644
index 000000000..9c6c658dd
--- /dev/null
+++ b/tests/makeinstancesufo_data/input/ufo3master0.ufo/glyphs/aacute.glif
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
diff --git a/tests/makeinstancesufo_data/input/ufo3master0.ufo/glyphs/acutecmb.cap.glif b/tests/makeinstancesufo_data/input/ufo3master0.ufo/glyphs/acutecmb.cap.glif
new file mode 100644
index 000000000..36aa9094b
--- /dev/null
+++ b/tests/makeinstancesufo_data/input/ufo3master0.ufo/glyphs/acutecmb.cap.glif
@@ -0,0 +1,24 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/makeinstancesufo_data/input/ufo3master0.ufo/glyphs/acutecmb.glif b/tests/makeinstancesufo_data/input/ufo3master0.ufo/glyphs/acutecmb.glif
new file mode 100644
index 000000000..fb71d4ef3
--- /dev/null
+++ b/tests/makeinstancesufo_data/input/ufo3master0.ufo/glyphs/acutecmb.glif
@@ -0,0 +1,25 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/makeinstancesufo_data/input/ufo3master0.ufo/glyphs/adieresis.glif b/tests/makeinstancesufo_data/input/ufo3master0.ufo/glyphs/adieresis.glif
new file mode 100644
index 000000000..dd1d0f813
--- /dev/null
+++ b/tests/makeinstancesufo_data/input/ufo3master0.ufo/glyphs/adieresis.glif
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
diff --git a/tests/makeinstancesufo_data/input/ufo3master0.ufo/glyphs/atilde.glif b/tests/makeinstancesufo_data/input/ufo3master0.ufo/glyphs/atilde.glif
new file mode 100644
index 000000000..84b14a673
--- /dev/null
+++ b/tests/makeinstancesufo_data/input/ufo3master0.ufo/glyphs/atilde.glif
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
diff --git a/tests/makeinstancesufo_data/input/ufo3master0.ufo/glyphs/contents.plist b/tests/makeinstancesufo_data/input/ufo3master0.ufo/glyphs/contents.plist
new file mode 100644
index 000000000..f140c9be6
--- /dev/null
+++ b/tests/makeinstancesufo_data/input/ufo3master0.ufo/glyphs/contents.plist
@@ -0,0 +1,50 @@
+
+
+
+
+ A
+ A_.glif
+ Aacute
+ A_acute.glif
+ Adieresis
+ A_dieresis.glif
+ Atilde
+ A_tilde.glif
+ Y
+ Y_.glif
+ Yacute
+ Y_acute.glif
+ Ydieresis
+ Y_dieresis.glif
+ Ytilde
+ Y_tilde.glif
+ a
+ a.glif
+ aacute
+ aacute.glif
+ acutecmb
+ acutecmb.glif
+ acutecmb.cap
+ acutecmb.cap.glif
+ adieresis
+ adieresis.glif
+ atilde
+ atilde.glif
+ dieresiscmb
+ dieresiscmb.glif
+ dieresiscmb.cap
+ dieresiscmb.cap.glif
+ tildecmb
+ tildecmb.glif
+ tildecmb.cap
+ tildecmb.cap.glif
+ y
+ y.glif
+ yacute
+ yacute.glif
+ ydieresis
+ ydieresis.glif
+ ytilde
+ ytilde.glif
+
+
diff --git a/tests/makeinstancesufo_data/input/ufo3master0.ufo/glyphs/dieresiscmb.cap.glif b/tests/makeinstancesufo_data/input/ufo3master0.ufo/glyphs/dieresiscmb.cap.glif
new file mode 100644
index 000000000..2795ae376
--- /dev/null
+++ b/tests/makeinstancesufo_data/input/ufo3master0.ufo/glyphs/dieresiscmb.cap.glif
@@ -0,0 +1,34 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/makeinstancesufo_data/input/ufo3master0.ufo/glyphs/dieresiscmb.glif b/tests/makeinstancesufo_data/input/ufo3master0.ufo/glyphs/dieresiscmb.glif
new file mode 100644
index 000000000..d5861c3d5
--- /dev/null
+++ b/tests/makeinstancesufo_data/input/ufo3master0.ufo/glyphs/dieresiscmb.glif
@@ -0,0 +1,36 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/makeinstancesufo_data/input/ufo3master0.ufo/glyphs/tildecmb.cap.glif b/tests/makeinstancesufo_data/input/ufo3master0.ufo/glyphs/tildecmb.cap.glif
new file mode 100644
index 000000000..fb6ccd5a0
--- /dev/null
+++ b/tests/makeinstancesufo_data/input/ufo3master0.ufo/glyphs/tildecmb.cap.glif
@@ -0,0 +1,34 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/makeinstancesufo_data/input/ufo3master0.ufo/glyphs/tildecmb.glif b/tests/makeinstancesufo_data/input/ufo3master0.ufo/glyphs/tildecmb.glif
new file mode 100644
index 000000000..b03906155
--- /dev/null
+++ b/tests/makeinstancesufo_data/input/ufo3master0.ufo/glyphs/tildecmb.glif
@@ -0,0 +1,35 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/makeinstancesufo_data/input/ufo3master0.ufo/glyphs/y.glif b/tests/makeinstancesufo_data/input/ufo3master0.ufo/glyphs/y.glif
new file mode 100644
index 000000000..ffc293877
--- /dev/null
+++ b/tests/makeinstancesufo_data/input/ufo3master0.ufo/glyphs/y.glif
@@ -0,0 +1,55 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/makeinstancesufo_data/input/ufo3master0.ufo/glyphs/yacute.glif b/tests/makeinstancesufo_data/input/ufo3master0.ufo/glyphs/yacute.glif
new file mode 100644
index 000000000..7430bae0a
--- /dev/null
+++ b/tests/makeinstancesufo_data/input/ufo3master0.ufo/glyphs/yacute.glif
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
diff --git a/tests/makeinstancesufo_data/input/ufo3master0.ufo/glyphs/ydieresis.glif b/tests/makeinstancesufo_data/input/ufo3master0.ufo/glyphs/ydieresis.glif
new file mode 100644
index 000000000..190bbc6fc
--- /dev/null
+++ b/tests/makeinstancesufo_data/input/ufo3master0.ufo/glyphs/ydieresis.glif
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
diff --git a/tests/makeinstancesufo_data/input/ufo3master0.ufo/glyphs/ytilde.glif b/tests/makeinstancesufo_data/input/ufo3master0.ufo/glyphs/ytilde.glif
new file mode 100644
index 000000000..fa586da46
--- /dev/null
+++ b/tests/makeinstancesufo_data/input/ufo3master0.ufo/glyphs/ytilde.glif
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
diff --git a/tests/makeinstancesufo_data/input/ufo3master0.ufo/groups.plist b/tests/makeinstancesufo_data/input/ufo3master0.ufo/groups.plist
new file mode 100644
index 000000000..61918a0e9
--- /dev/null
+++ b/tests/makeinstancesufo_data/input/ufo3master0.ufo/groups.plist
@@ -0,0 +1,70 @@
+
+
+
+
+ Not a kerning group
+
+ a
+ b
+ c
+ d
+ e
+
+ public.kern1.LAT_A
+
+ A
+ Aacute
+ Adieresis
+ Atilde
+
+ public.kern1.LAT_Y
+
+ Y
+ Yacute
+ Ydieresis
+ Ytilde
+
+ public.kern1.LAT_a
+
+ a
+ aacute
+ adieresis
+ atilde
+
+ public.kern1.LAT_v
+
+ y
+ yacute
+ ydieresis
+ ytilde
+
+ public.kern2.LAT_A
+
+ A
+ Aacute
+ Adieresis
+ Atilde
+
+ public.kern2.LAT_Y
+
+ Y
+ Yacute
+ Ydieresis
+ Ytilde
+
+ public.kern2.LAT_a
+
+ a
+ aacute
+ adieresis
+ atilde
+
+ public.kern2.LAT_y
+
+ y
+ yacute
+ ydieresis
+ ytilde
+
+
+
diff --git a/tests/makeinstancesufo_data/input/ufo3master0.ufo/kerning.plist b/tests/makeinstancesufo_data/input/ufo3master0.ufo/kerning.plist
new file mode 100644
index 000000000..a6f03302c
--- /dev/null
+++ b/tests/makeinstancesufo_data/input/ufo3master0.ufo/kerning.plist
@@ -0,0 +1,46 @@
+
+
+
+
+ public.kern1.LAT_A
+
+ public.kern2.LAT_A
+ 10
+ public.kern2.LAT_Y
+ -90
+ public.kern2.LAT_y
+ -30
+
+ public.kern1.LAT_Y
+
+ atilde
+ -70
+ public.kern2.LAT_A
+ -85
+ public.kern2.LAT_Y
+ -10
+ public.kern2.LAT_a
+ -70
+ public.kern2.LAT_y
+ -70
+
+ public.kern1.LAT_a
+
+ public.kern2.LAT_Y
+ -80
+ public.kern2.LAT_y
+ -10
+
+ public.kern1.LAT_v
+
+ public.kern2.LAT_A
+ -50
+ public.kern2.LAT_Y
+ -70
+ public.kern2.LAT_a
+ -10
+ public.kern2.LAT_y
+ 15
+
+
+
diff --git a/tests/makeinstancesufo_data/input/ufo3master0.ufo/layercontents.plist b/tests/makeinstancesufo_data/input/ufo3master0.ufo/layercontents.plist
new file mode 100644
index 000000000..b9c1a4f27
--- /dev/null
+++ b/tests/makeinstancesufo_data/input/ufo3master0.ufo/layercontents.plist
@@ -0,0 +1,10 @@
+
+
+
+
+
+ public.default
+ glyphs
+
+
+
diff --git a/tests/makeinstancesufo_data/input/ufo3master0.ufo/lib.plist b/tests/makeinstancesufo_data/input/ufo3master0.ufo/lib.plist
new file mode 100644
index 000000000..21c25767b
--- /dev/null
+++ b/tests/makeinstancesufo_data/input/ufo3master0.ufo/lib.plist
@@ -0,0 +1,31 @@
+
+
+
+
+ public.glyphOrder
+
+ A
+ Y
+ a
+ y
+ Aacute
+ Adieresis
+ Atilde
+ Yacute
+ Ydieresis
+ Ytilde
+ aacute
+ adieresis
+ atilde
+ yacute
+ ydieresis
+ ytilde
+ acutecmb
+ acutecmb.cap
+ dieresiscmb
+ dieresiscmb.cap
+ tildecmb
+ tildecmb.cap
+
+
+
diff --git a/tests/makeinstancesufo_data/input/ufo3master0.ufo/metainfo.plist b/tests/makeinstancesufo_data/input/ufo3master0.ufo/metainfo.plist
new file mode 100644
index 000000000..7b8b34ac6
--- /dev/null
+++ b/tests/makeinstancesufo_data/input/ufo3master0.ufo/metainfo.plist
@@ -0,0 +1,10 @@
+
+
+
+
+ creator
+ com.github.fonttools.ufoLib
+ formatVersion
+ 3
+
+
diff --git a/tests/makeinstancesufo_data/input/ufo3master1.ufo/fontinfo.plist b/tests/makeinstancesufo_data/input/ufo3master1.ufo/fontinfo.plist
new file mode 100644
index 000000000..96d9d349c
--- /dev/null
+++ b/tests/makeinstancesufo_data/input/ufo3master1.ufo/fontinfo.plist
@@ -0,0 +1,160 @@
+
+
+
+
+ ascender
+ 711
+ capHeight
+ 652
+ copyright
+ Copyright 2014 - 2017 Adobe Systems Incorporated (http://www.adobe.com/), with Reserved Font Name 'Source'.
+ descender
+ -222
+ familyName
+ Source Serif Pro
+ guidelines
+
+ italicAngle
+ 0
+ openTypeHheaAscender
+ 1036
+ openTypeHheaDescender
+ -335
+ openTypeHheaLineGap
+ 0
+ openTypeNameDesigner
+ Frank Grießhammer
+ openTypeNameLicense
+ This Font Software is licensed under the SIL Open Font License, Version 1.1. This license is available with a FAQ at: http://scripts.sil.org/OFL. This Font Software is distributed on an 'AS IS' BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the SIL Open Font License for the specific language, permissions and limitations governing your use of this Font Software.
+ openTypeNameLicenseURL
+ http://scripts.sil.org/OFL
+ openTypeNameManufacturer
+ Adobe Systems Incorporated
+ openTypeNameManufacturerURL
+ http://www.adobe.com/type
+ openTypeOS2CodePageRanges
+
+ 0
+ 1
+ 2
+ 3
+ 4
+ 7
+ 8
+ 29
+
+ openTypeOS2Panose
+
+ 2
+ 4
+ 6
+ 3
+ 5
+ 4
+ 5
+ 2
+ 2
+ 4
+
+ openTypeOS2TypoAscender
+ 730
+ openTypeOS2TypoDescender
+ -270
+ openTypeOS2TypoLineGap
+ 0
+ openTypeOS2UnicodeRanges
+
+ 0
+ 1
+ 2
+ 7
+ 9
+ 29
+ 32
+ 33
+ 57
+
+ openTypeOS2VendorID
+ ADBO
+ openTypeOS2WinAscent
+ 1036
+ openTypeOS2WinDescent
+ 335
+ postscriptBlueFuzz
+ 0
+ postscriptBlueScale
+ 0.0375
+ postscriptBlueValues
+
+ -20
+ 0
+ 487
+ 503
+ 515
+ 531
+ 536
+ 552
+ 624
+ 640
+ 652
+ 672
+ 711
+ 731
+
+ postscriptFamilyBlues
+
+ -15
+ 0
+ 475
+ 488
+ 527
+ 540
+ 549
+ 563
+ 646
+ 659
+ 669
+ 684
+ 729
+ 749
+
+ postscriptFamilyOtherBlues
+
+ -249
+ -239
+
+ postscriptFontName
+ SourceSerifPro-Black
+ postscriptOtherBlues
+
+ -232
+ -222
+
+ postscriptStemSnapH
+
+ 74
+ 60
+
+ postscriptStemSnapV
+
+ 190
+ 200
+
+ postscriptUnderlinePosition
+ -75
+ postscriptUnderlineThickness
+ 50
+ styleName
+ Black
+ trademark
+ Source is a trademark of Adobe Systems Incorporated in the United States and/or other countries.
+ unitsPerEm
+ 1000
+ versionMajor
+ 1
+ versionMinor
+ 0
+ xHeight
+ 487
+
+
diff --git a/tests/makeinstancesufo_data/input/ufo3master1.ufo/glyphs/A_.glif b/tests/makeinstancesufo_data/input/ufo3master1.ufo/glyphs/A_.glif
new file mode 100644
index 000000000..c43b3d4f0
--- /dev/null
+++ b/tests/makeinstancesufo_data/input/ufo3master1.ufo/glyphs/A_.glif
@@ -0,0 +1,42 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/makeinstancesufo_data/input/ufo3master1.ufo/glyphs/A_acute.glif b/tests/makeinstancesufo_data/input/ufo3master1.ufo/glyphs/A_acute.glif
new file mode 100644
index 000000000..08f7df37c
--- /dev/null
+++ b/tests/makeinstancesufo_data/input/ufo3master1.ufo/glyphs/A_acute.glif
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
diff --git a/tests/makeinstancesufo_data/input/ufo3master1.ufo/glyphs/A_dieresis.glif b/tests/makeinstancesufo_data/input/ufo3master1.ufo/glyphs/A_dieresis.glif
new file mode 100644
index 000000000..a8e407215
--- /dev/null
+++ b/tests/makeinstancesufo_data/input/ufo3master1.ufo/glyphs/A_dieresis.glif
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
diff --git a/tests/makeinstancesufo_data/input/ufo3master1.ufo/glyphs/A_tilde.glif b/tests/makeinstancesufo_data/input/ufo3master1.ufo/glyphs/A_tilde.glif
new file mode 100644
index 000000000..1ea35592e
--- /dev/null
+++ b/tests/makeinstancesufo_data/input/ufo3master1.ufo/glyphs/A_tilde.glif
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
diff --git a/tests/makeinstancesufo_data/input/ufo3master1.ufo/glyphs/Y_.glif b/tests/makeinstancesufo_data/input/ufo3master1.ufo/glyphs/Y_.glif
new file mode 100644
index 000000000..eaedcff23
--- /dev/null
+++ b/tests/makeinstancesufo_data/input/ufo3master1.ufo/glyphs/Y_.glif
@@ -0,0 +1,53 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/makeinstancesufo_data/input/ufo3master1.ufo/glyphs/Y_acute.glif b/tests/makeinstancesufo_data/input/ufo3master1.ufo/glyphs/Y_acute.glif
new file mode 100644
index 000000000..f1af47cb7
--- /dev/null
+++ b/tests/makeinstancesufo_data/input/ufo3master1.ufo/glyphs/Y_acute.glif
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
diff --git a/tests/makeinstancesufo_data/input/ufo3master1.ufo/glyphs/Y_dieresis.glif b/tests/makeinstancesufo_data/input/ufo3master1.ufo/glyphs/Y_dieresis.glif
new file mode 100644
index 000000000..7bc646679
--- /dev/null
+++ b/tests/makeinstancesufo_data/input/ufo3master1.ufo/glyphs/Y_dieresis.glif
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
diff --git a/tests/makeinstancesufo_data/input/ufo3master1.ufo/glyphs/Y_tilde.glif b/tests/makeinstancesufo_data/input/ufo3master1.ufo/glyphs/Y_tilde.glif
new file mode 100644
index 000000000..9c82254e9
--- /dev/null
+++ b/tests/makeinstancesufo_data/input/ufo3master1.ufo/glyphs/Y_tilde.glif
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
diff --git a/tests/makeinstancesufo_data/input/ufo3master1.ufo/glyphs/a.glif b/tests/makeinstancesufo_data/input/ufo3master1.ufo/glyphs/a.glif
new file mode 100644
index 000000000..fe63f1919
--- /dev/null
+++ b/tests/makeinstancesufo_data/input/ufo3master1.ufo/glyphs/a.glif
@@ -0,0 +1,77 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/makeinstancesufo_data/input/ufo3master1.ufo/glyphs/aacute.glif b/tests/makeinstancesufo_data/input/ufo3master1.ufo/glyphs/aacute.glif
new file mode 100644
index 000000000..4dbe008a6
--- /dev/null
+++ b/tests/makeinstancesufo_data/input/ufo3master1.ufo/glyphs/aacute.glif
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
diff --git a/tests/makeinstancesufo_data/input/ufo3master1.ufo/glyphs/acutecmb.cap.glif b/tests/makeinstancesufo_data/input/ufo3master1.ufo/glyphs/acutecmb.cap.glif
new file mode 100644
index 000000000..3fafe6ec4
--- /dev/null
+++ b/tests/makeinstancesufo_data/input/ufo3master1.ufo/glyphs/acutecmb.cap.glif
@@ -0,0 +1,24 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/makeinstancesufo_data/input/ufo3master1.ufo/glyphs/acutecmb.glif b/tests/makeinstancesufo_data/input/ufo3master1.ufo/glyphs/acutecmb.glif
new file mode 100644
index 000000000..2e1c3896c
--- /dev/null
+++ b/tests/makeinstancesufo_data/input/ufo3master1.ufo/glyphs/acutecmb.glif
@@ -0,0 +1,25 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/makeinstancesufo_data/input/ufo3master1.ufo/glyphs/adieresis.glif b/tests/makeinstancesufo_data/input/ufo3master1.ufo/glyphs/adieresis.glif
new file mode 100644
index 000000000..415e8a684
--- /dev/null
+++ b/tests/makeinstancesufo_data/input/ufo3master1.ufo/glyphs/adieresis.glif
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
diff --git a/tests/makeinstancesufo_data/input/ufo3master1.ufo/glyphs/atilde.glif b/tests/makeinstancesufo_data/input/ufo3master1.ufo/glyphs/atilde.glif
new file mode 100644
index 000000000..719734341
--- /dev/null
+++ b/tests/makeinstancesufo_data/input/ufo3master1.ufo/glyphs/atilde.glif
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
diff --git a/tests/makeinstancesufo_data/input/ufo3master1.ufo/glyphs/contents.plist b/tests/makeinstancesufo_data/input/ufo3master1.ufo/glyphs/contents.plist
new file mode 100644
index 000000000..f140c9be6
--- /dev/null
+++ b/tests/makeinstancesufo_data/input/ufo3master1.ufo/glyphs/contents.plist
@@ -0,0 +1,50 @@
+
+
+
+
+ A
+ A_.glif
+ Aacute
+ A_acute.glif
+ Adieresis
+ A_dieresis.glif
+ Atilde
+ A_tilde.glif
+ Y
+ Y_.glif
+ Yacute
+ Y_acute.glif
+ Ydieresis
+ Y_dieresis.glif
+ Ytilde
+ Y_tilde.glif
+ a
+ a.glif
+ aacute
+ aacute.glif
+ acutecmb
+ acutecmb.glif
+ acutecmb.cap
+ acutecmb.cap.glif
+ adieresis
+ adieresis.glif
+ atilde
+ atilde.glif
+ dieresiscmb
+ dieresiscmb.glif
+ dieresiscmb.cap
+ dieresiscmb.cap.glif
+ tildecmb
+ tildecmb.glif
+ tildecmb.cap
+ tildecmb.cap.glif
+ y
+ y.glif
+ yacute
+ yacute.glif
+ ydieresis
+ ydieresis.glif
+ ytilde
+ ytilde.glif
+
+
diff --git a/tests/makeinstancesufo_data/input/ufo3master1.ufo/glyphs/dieresiscmb.cap.glif b/tests/makeinstancesufo_data/input/ufo3master1.ufo/glyphs/dieresiscmb.cap.glif
new file mode 100644
index 000000000..8456cca80
--- /dev/null
+++ b/tests/makeinstancesufo_data/input/ufo3master1.ufo/glyphs/dieresiscmb.cap.glif
@@ -0,0 +1,34 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/makeinstancesufo_data/input/ufo3master1.ufo/glyphs/dieresiscmb.glif b/tests/makeinstancesufo_data/input/ufo3master1.ufo/glyphs/dieresiscmb.glif
new file mode 100644
index 000000000..4974c7634
--- /dev/null
+++ b/tests/makeinstancesufo_data/input/ufo3master1.ufo/glyphs/dieresiscmb.glif
@@ -0,0 +1,36 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/makeinstancesufo_data/input/ufo3master1.ufo/glyphs/tildecmb.cap.glif b/tests/makeinstancesufo_data/input/ufo3master1.ufo/glyphs/tildecmb.cap.glif
new file mode 100644
index 000000000..c12852f81
--- /dev/null
+++ b/tests/makeinstancesufo_data/input/ufo3master1.ufo/glyphs/tildecmb.cap.glif
@@ -0,0 +1,34 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/makeinstancesufo_data/input/ufo3master1.ufo/glyphs/tildecmb.glif b/tests/makeinstancesufo_data/input/ufo3master1.ufo/glyphs/tildecmb.glif
new file mode 100644
index 000000000..033e1b2e0
--- /dev/null
+++ b/tests/makeinstancesufo_data/input/ufo3master1.ufo/glyphs/tildecmb.glif
@@ -0,0 +1,35 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/makeinstancesufo_data/input/ufo3master1.ufo/glyphs/y.glif b/tests/makeinstancesufo_data/input/ufo3master1.ufo/glyphs/y.glif
new file mode 100644
index 000000000..a2bc6e220
--- /dev/null
+++ b/tests/makeinstancesufo_data/input/ufo3master1.ufo/glyphs/y.glif
@@ -0,0 +1,55 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/makeinstancesufo_data/input/ufo3master1.ufo/glyphs/yacute.glif b/tests/makeinstancesufo_data/input/ufo3master1.ufo/glyphs/yacute.glif
new file mode 100644
index 000000000..22854b8b5
--- /dev/null
+++ b/tests/makeinstancesufo_data/input/ufo3master1.ufo/glyphs/yacute.glif
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
diff --git a/tests/makeinstancesufo_data/input/ufo3master1.ufo/glyphs/ydieresis.glif b/tests/makeinstancesufo_data/input/ufo3master1.ufo/glyphs/ydieresis.glif
new file mode 100644
index 000000000..fba43f839
--- /dev/null
+++ b/tests/makeinstancesufo_data/input/ufo3master1.ufo/glyphs/ydieresis.glif
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
diff --git a/tests/makeinstancesufo_data/input/ufo3master1.ufo/glyphs/ytilde.glif b/tests/makeinstancesufo_data/input/ufo3master1.ufo/glyphs/ytilde.glif
new file mode 100644
index 000000000..73da15d26
--- /dev/null
+++ b/tests/makeinstancesufo_data/input/ufo3master1.ufo/glyphs/ytilde.glif
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
diff --git a/tests/makeinstancesufo_data/input/ufo3master1.ufo/groups.plist b/tests/makeinstancesufo_data/input/ufo3master1.ufo/groups.plist
new file mode 100644
index 000000000..61918a0e9
--- /dev/null
+++ b/tests/makeinstancesufo_data/input/ufo3master1.ufo/groups.plist
@@ -0,0 +1,70 @@
+
+
+
+
+ Not a kerning group
+
+ a
+ b
+ c
+ d
+ e
+
+ public.kern1.LAT_A
+
+ A
+ Aacute
+ Adieresis
+ Atilde
+
+ public.kern1.LAT_Y
+
+ Y
+ Yacute
+ Ydieresis
+ Ytilde
+
+ public.kern1.LAT_a
+
+ a
+ aacute
+ adieresis
+ atilde
+
+ public.kern1.LAT_v
+
+ y
+ yacute
+ ydieresis
+ ytilde
+
+ public.kern2.LAT_A
+
+ A
+ Aacute
+ Adieresis
+ Atilde
+
+ public.kern2.LAT_Y
+
+ Y
+ Yacute
+ Ydieresis
+ Ytilde
+
+ public.kern2.LAT_a
+
+ a
+ aacute
+ adieresis
+ atilde
+
+ public.kern2.LAT_y
+
+ y
+ yacute
+ ydieresis
+ ytilde
+
+
+
diff --git a/tests/makeinstancesufo_data/input/ufo3master1.ufo/kerning.plist b/tests/makeinstancesufo_data/input/ufo3master1.ufo/kerning.plist
new file mode 100644
index 000000000..72ba94b12
--- /dev/null
+++ b/tests/makeinstancesufo_data/input/ufo3master1.ufo/kerning.plist
@@ -0,0 +1,48 @@
+
+
+
+
+ public.kern1.LAT_A
+
+ public.kern2.LAT_Y
+ -90
+ public.kern2.LAT_a
+ -10
+ public.kern2.LAT_y
+ -60
+
+ public.kern1.LAT_Y
+
+ adieresis
+ -50
+ atilde
+ -80
+ public.kern2.LAT_A
+ -100
+ public.kern2.LAT_Y
+ 10
+ public.kern2.LAT_a
+ -80
+ public.kern2.LAT_y
+ -50
+
+ public.kern1.LAT_a
+
+ public.kern2.LAT_Y
+ -70
+ public.kern2.LAT_y
+ -20
+
+ public.kern1.LAT_v
+
+ public.kern2.LAT_A
+ -100
+ public.kern2.LAT_Y
+ -60
+ public.kern2.LAT_a
+ -30
+ public.kern2.LAT_y
+ -10
+
+
+
diff --git a/tests/makeinstancesufo_data/input/ufo3master1.ufo/layercontents.plist b/tests/makeinstancesufo_data/input/ufo3master1.ufo/layercontents.plist
new file mode 100644
index 000000000..b9c1a4f27
--- /dev/null
+++ b/tests/makeinstancesufo_data/input/ufo3master1.ufo/layercontents.plist
@@ -0,0 +1,10 @@
+
+
+
+
+
+ public.default
+ glyphs
+
+
+
diff --git a/tests/makeinstancesufo_data/input/ufo3master1.ufo/lib.plist b/tests/makeinstancesufo_data/input/ufo3master1.ufo/lib.plist
new file mode 100644
index 000000000..21c25767b
--- /dev/null
+++ b/tests/makeinstancesufo_data/input/ufo3master1.ufo/lib.plist
@@ -0,0 +1,31 @@
+
+
+
+
+ public.glyphOrder
+
+ A
+ Y
+ a
+ y
+ Aacute
+ Adieresis
+ Atilde
+ Yacute
+ Ydieresis
+ Ytilde
+ aacute
+ adieresis
+ atilde
+ yacute
+ ydieresis
+ ytilde
+ acutecmb
+ acutecmb.cap
+ dieresiscmb
+ dieresiscmb.cap
+ tildecmb
+ tildecmb.cap
+
+
+
diff --git a/tests/makeinstancesufo_data/input/ufo3master1.ufo/metainfo.plist b/tests/makeinstancesufo_data/input/ufo3master1.ufo/metainfo.plist
new file mode 100644
index 000000000..7b8b34ac6
--- /dev/null
+++ b/tests/makeinstancesufo_data/input/ufo3master1.ufo/metainfo.plist
@@ -0,0 +1,10 @@
+
+
+
+
+ creator
+ com.github.fonttools.ufoLib
+ formatVersion
+ 3
+
+
diff --git a/tests/makeinstancesufo_test.py b/tests/makeinstancesufo_test.py
index 962418daa..0d5f1ec9a 100644
--- a/tests/makeinstancesufo_test.py
+++ b/tests/makeinstancesufo_test.py
@@ -19,31 +19,51 @@ def _get_output_path(file_name, dir_name):
def teardown_module():
"""
- teardown the temporary output directory that contains the UFO instances
+ teardown the temporary UFOs or the directory that holds them
"""
- rmtree(os.path.join(DATA_DIR, 'temp_output'))
+ rmtree(os.path.join(DATA_DIR, 'temp_output'), True)
+ rmtree(os.path.join(DATA_DIR, 'input', 'same_dir.ufo'), True)
# -----
# Tests
# -----
-@pytest.mark.parametrize('args, ufo_filename, num', [
- (['_0'], 'extralight.ufo', 0), # hint/remove overlap/normalize/round
- (['_1', 'a'], 'light.ufo', 0), # no hint
- (['_2', 'r'], 'regular.ufo', 0), # no round
- (['_2', 'r', 'n'], 'regular.ufo', 1), # no round & no normalize
- (['_3', 'c'], 'semibold.ufo', 0), # no remove overlap
- (['_4', 'n'], 'bold.ufo', 0), # no normalize
- (['_5', 'a', 'c', 'n'], 'black.ufo', 0), # round only
+@pytest.mark.parametrize('args, ufo_filename', [
+ (['_0'], 'extralight.ufo'), # hint/remove overlap/normalize/round
+ (['_1', 'a'], 'light.ufo'), # no hint
+ (['_2', 'r'], 'regular.ufo'), # no round
+ (['_3', 'r', 'n'], 'regular1.ufo'), # no round & no normalize
+ (['_4', 'c'], 'semibold.ufo'), # no remove overlap
+ (['_5', 'n'], 'bold.ufo'), # no normalize
+ (['_6', 'a', 'c', 'n'], 'black.ufo'), # round only
+ (['_7', 'a', 'c', 'n'], 'anisotropic.ufo'),
+ (['_8', 'a', '=ufo-version', '_2'], 'ufo2.ufo'), # no hint UFO v2
])
-def test_options(args, ufo_filename, num):
+def test_options(args, ufo_filename):
runner(['-t', TOOL, '-o', 'd',
'_{}'.format(get_input_path('font.designspace')), 'i'] + args)
- if num:
- expct_filename = '{}{}.ufo'.format(ufo_filename[:-4], num)
- else:
- expct_filename = ufo_filename
- expected_path = _get_output_path(expct_filename, 'expected_output')
+ expected_path = _get_output_path(ufo_filename, 'expected_output')
+ actual_path = _get_output_path(ufo_filename, 'temp_output')
+ assert differ([expected_path, actual_path])
+
+
+def test_filename_without_dir():
+ instance_path = get_input_path('same_dir.ufo')
+ assert not os.path.exists(instance_path)
+ runner(['-t', TOOL, '-o', 'd',
+ '_{}'.format(get_input_path('font.designspace')), 'i', '_9'])
+ assert os.path.exists(instance_path)
+
+
+@pytest.mark.parametrize('args, ufo_filename', [
+ (['_0'], 'ufo3regular.ufo'), # hint/remove overlap/normalize/round
+ (['_1', 'a', 'c', 'n'], 'ufo3medium.ufo'), # round only
+ (['_2', 'a', '=ufo-version', '_2'], 'ufo3semibold.ufo'), # no hint UFO v2
+])
+def test_ufo3_masters(args, ufo_filename):
+ runner(['-t', TOOL, '-o', 'd',
+ '_{}'.format(get_input_path('ufo3.designspace')), 'i'] + args)
+ expected_path = _get_output_path(ufo_filename, 'expected_output')
actual_path = _get_output_path(ufo_filename, 'temp_output')
assert differ([expected_path, actual_path])