diff --git a/c/shared/resource/agl2uv.h b/c/shared/resource/agl2uv.h index 5ea56366c..b2ce50276 100644 --- a/c/shared/resource/agl2uv.h +++ b/c/shared/resource/agl2uv.h @@ -5,7 +5,7 @@ // NOLINT(build/header_guard) /* - * Adobe Glyph List v1.2, sorted by glyph name. 1051 entries. + * Adobe Glyph List v1.3, sorted by glyph name. 903 entries. * * Some glyph names are mapped to two Unicode values. In these cases, the entry * with the "secondary" Unicode value records the glyph name with a percent @@ -14,8 +14,8 @@ * a font; rather, it indicates in this table that the glyph is being mapped to * more than one Unicode value. * - * Refer to the document "Unicode and Glyph Names" at: - * http://partners.adobe.com/asn/developer/typeforum/unicodegn.html + * Refer to the AGL specification at + * https://github.com/adobe-type-tools/agl-specification * for information on how to use this list. * * This is an aggregate initializer for an array of structs of type: @@ -29,81 +29,50 @@ { "A", 0x0041 }, { "AE", 0x00C6 }, { "AEacute", 0x01FC }, - { "AEsmall", 0xF7E6 }, { "Aacute", 0x00C1 }, - { "Aacutesmall", 0xF7E1 }, { "Abreve", 0x0102 }, { "Acircumflex", 0x00C2 }, - { "Acircumflexsmall", 0xF7E2 }, - { "Acute", 0xF6C9 }, - { "Acutesmall", 0xF7B4 }, { "Adieresis", 0x00C4 }, - { "Adieresissmall", 0xF7E4 }, { "Agrave", 0x00C0 }, - { "Agravesmall", 0xF7E0 }, { "Alpha", 0x0391 }, { "Alphatonos", 0x0386 }, { "Amacron", 0x0100 }, { "Aogonek", 0x0104 }, { "Aring", 0x00C5 }, { "Aringacute", 0x01FA }, - { "Aringsmall", 0xF7E5 }, - { "Asmall", 0xF761 }, { "Atilde", 0x00C3 }, - { "Atildesmall", 0xF7E3 }, { "B", 0x0042 }, { "Beta", 0x0392 }, - { "Brevesmall", 0xF6F4 }, - { "Bsmall", 0xF762 }, { "C", 0x0043 }, { "Cacute", 0x0106 }, - { "Caron", 0xF6CA }, - { "Caronsmall", 0xF6F5 }, { "Ccaron", 0x010C }, { "Ccedilla", 0x00C7 }, - { "Ccedillasmall", 0xF7E7 }, { "Ccircumflex", 0x0108 }, { "Cdotaccent", 0x010A }, - { "Cedillasmall", 0xF7B8 }, { "Chi", 0x03A7 }, - { "Circumflexsmall", 0xF6F6 }, - { "Csmall", 0xF763 }, { "D", 0x0044 }, { "Dcaron", 0x010E }, { "Dcroat", 0x0110 }, { "Delta", 0x2206 }, { "Delta%", 0x0394 }, - { "Dieresis", 0xF6CB }, - { "DieresisAcute", 0xF6CC }, - { "DieresisGrave", 0xF6CD }, - { "Dieresissmall", 0xF7A8 }, - { "Dotaccentsmall", 0xF6F7 }, - { "Dsmall", 0xF764 }, { "E", 0x0045 }, { "Eacute", 0x00C9 }, - { "Eacutesmall", 0xF7E9 }, { "Ebreve", 0x0114 }, { "Ecaron", 0x011A }, { "Ecircumflex", 0x00CA }, - { "Ecircumflexsmall", 0xF7EA }, { "Edieresis", 0x00CB }, - { "Edieresissmall", 0xF7EB }, { "Edotaccent", 0x0116 }, { "Egrave", 0x00C8 }, - { "Egravesmall", 0xF7E8 }, { "Emacron", 0x0112 }, { "Eng", 0x014A }, { "Eogonek", 0x0118 }, { "Epsilon", 0x0395 }, { "Epsilontonos", 0x0388 }, - { "Esmall", 0xF765 }, { "Eta", 0x0397 }, { "Etatonos", 0x0389 }, { "Eth", 0x00D0 }, - { "Ethsmall", 0xF7F0 }, { "Euro", 0x20AC }, { "F", 0x0046 }, - { "Fsmall", 0xF766 }, { "G", 0x0047 }, { "Gamma", 0x0393 }, { "Gbreve", 0x011E }, @@ -111,9 +80,6 @@ { "Gcircumflex", 0x011C }, { "Gcommaaccent", 0x0122 }, { "Gdotaccent", 0x0120 }, - { "Grave", 0xF6CE }, - { "Gravesmall", 0xF760 }, - { "Gsmall", 0xF767 }, { "H", 0x0048 }, { "H18533", 0x25CF }, { "H18543", 0x25AA }, @@ -121,72 +87,48 @@ { "H22073", 0x25A1 }, { "Hbar", 0x0126 }, { "Hcircumflex", 0x0124 }, - { "Hsmall", 0xF768 }, - { "Hungarumlaut", 0xF6CF }, - { "Hungarumlautsmall", 0xF6F8 }, { "I", 0x0049 }, { "IJ", 0x0132 }, { "Iacute", 0x00CD }, - { "Iacutesmall", 0xF7ED }, { "Ibreve", 0x012C }, { "Icircumflex", 0x00CE }, - { "Icircumflexsmall", 0xF7EE }, { "Idieresis", 0x00CF }, - { "Idieresissmall", 0xF7EF }, { "Idotaccent", 0x0130 }, { "Ifraktur", 0x2111 }, { "Igrave", 0x00CC }, - { "Igravesmall", 0xF7EC }, { "Imacron", 0x012A }, { "Iogonek", 0x012E }, { "Iota", 0x0399 }, { "Iotadieresis", 0x03AA }, { "Iotatonos", 0x038A }, - { "Ismall", 0xF769 }, { "Itilde", 0x0128 }, { "J", 0x004A }, { "Jcircumflex", 0x0134 }, - { "Jsmall", 0xF76A }, { "K", 0x004B }, { "Kappa", 0x039A }, { "Kcommaaccent", 0x0136 }, - { "Ksmall", 0xF76B }, { "L", 0x004C }, - { "LL", 0xF6BF }, { "Lacute", 0x0139 }, { "Lambda", 0x039B }, { "Lcaron", 0x013D }, { "Lcommaaccent", 0x013B }, { "Ldot", 0x013F }, { "Lslash", 0x0141 }, - { "Lslashsmall", 0xF6F9 }, - { "Lsmall", 0xF76C }, { "M", 0x004D }, - { "Macron", 0xF6D0 }, - { "Macronsmall", 0xF7AF }, - { "Msmall", 0xF76D }, { "Mu", 0x039C }, { "N", 0x004E }, { "Nacute", 0x0143 }, { "Ncaron", 0x0147 }, { "Ncommaaccent", 0x0145 }, - { "Nsmall", 0xF76E }, { "Ntilde", 0x00D1 }, - { "Ntildesmall", 0xF7F1 }, { "Nu", 0x039D }, { "O", 0x004F }, { "OE", 0x0152 }, - { "OEsmall", 0xF6FA }, { "Oacute", 0x00D3 }, - { "Oacutesmall", 0xF7F3 }, { "Obreve", 0x014E }, { "Ocircumflex", 0x00D4 }, - { "Ocircumflexsmall", 0xF7F4 }, { "Odieresis", 0x00D6 }, - { "Odieresissmall", 0xF7F6 }, - { "Ogoneksmall", 0xF6FB }, { "Ograve", 0x00D2 }, - { "Ogravesmall", 0xF7F2 }, { "Ohorn", 0x01A0 }, { "Ohungarumlaut", 0x0150 }, { "Omacron", 0x014C }, @@ -197,25 +139,18 @@ { "Omicrontonos", 0x038C }, { "Oslash", 0x00D8 }, { "Oslashacute", 0x01FE }, - { "Oslashsmall", 0xF7F8 }, - { "Osmall", 0xF76F }, { "Otilde", 0x00D5 }, - { "Otildesmall", 0xF7F5 }, { "P", 0x0050 }, { "Phi", 0x03A6 }, { "Pi", 0x03A0 }, { "Psi", 0x03A8 }, - { "Psmall", 0xF770 }, { "Q", 0x0051 }, - { "Qsmall", 0xF771 }, { "R", 0x0052 }, { "Racute", 0x0154 }, { "Rcaron", 0x0158 }, { "Rcommaaccent", 0x0156 }, { "Rfraktur", 0x211C }, { "Rho", 0x03A1 }, - { "Ringsmall", 0xF6FC }, - { "Rsmall", 0xF772 }, { "S", 0x0053 }, { "SF010000", 0x250C }, { "SF020000", 0x2514 }, @@ -259,13 +194,10 @@ { "SF540000", 0x256A }, { "Sacute", 0x015A }, { "Scaron", 0x0160 }, - { "Scaronsmall", 0xF6FD }, { "Scedilla", 0x015E }, - { "Scedilla%", 0xF6C1 }, { "Scircumflex", 0x015C }, { "Scommaaccent", 0x0218 }, { "Sigma", 0x03A3 }, - { "Ssmall", 0xF773 }, { "T", 0x0054 }, { "Tau", 0x03A4 }, { "Tbar", 0x0166 }, @@ -274,19 +206,12 @@ { "Tcommaaccent%", 0x021A }, { "Theta", 0x0398 }, { "Thorn", 0x00DE }, - { "Thornsmall", 0xF7FE }, - { "Tildesmall", 0xF6FE }, - { "Tsmall", 0xF774 }, { "U", 0x0055 }, { "Uacute", 0x00DA }, - { "Uacutesmall", 0xF7FA }, { "Ubreve", 0x016C }, { "Ucircumflex", 0x00DB }, - { "Ucircumflexsmall", 0xF7FB }, { "Udieresis", 0x00DC }, - { "Udieresissmall", 0xF7FC }, { "Ugrave", 0x00D9 }, - { "Ugravesmall", 0xF7F9 }, { "Uhorn", 0x01AF }, { "Uhungarumlaut", 0x0170 }, { "Umacron", 0x016A }, @@ -296,34 +221,25 @@ { "Upsilondieresis", 0x03AB }, { "Upsilontonos", 0x038E }, { "Uring", 0x016E }, - { "Usmall", 0xF775 }, { "Utilde", 0x0168 }, { "V", 0x0056 }, - { "Vsmall", 0xF776 }, { "W", 0x0057 }, { "Wacute", 0x1E82 }, { "Wcircumflex", 0x0174 }, { "Wdieresis", 0x1E84 }, { "Wgrave", 0x1E80 }, - { "Wsmall", 0xF777 }, { "X", 0x0058 }, { "Xi", 0x039E }, - { "Xsmall", 0xF778 }, { "Y", 0x0059 }, { "Yacute", 0x00DD }, - { "Yacutesmall", 0xF7FD }, { "Ycircumflex", 0x0176 }, { "Ydieresis", 0x0178 }, - { "Ydieresissmall", 0xF7FF }, { "Ygrave", 0x1EF2 }, - { "Ysmall", 0xF779 }, { "Z", 0x005A }, { "Zacute", 0x0179 }, { "Zcaron", 0x017D }, - { "Zcaronsmall", 0xF6FF }, { "Zdotaccent", 0x017B }, { "Zeta", 0x0396 }, - { "Zsmall", 0xF77A }, { "a", 0x0061 }, { "aacute", 0x00E1 }, { "abreve", 0x0103 }, @@ -380,8 +296,6 @@ { "afii10060", 0x040B }, { "afii10061", 0x040C }, { "afii10062", 0x040E }, - { "afii10063", 0xF6C4 }, - { "afii10064", 0xF6C5 }, { "afii10065", 0x0430 }, { "afii10066", 0x0431 }, { "afii10067", 0x0432 }, @@ -432,13 +346,10 @@ { "afii10146", 0x0462 }, { "afii10147", 0x0472 }, { "afii10148", 0x0474 }, - { "afii10192", 0xF6C6 }, { "afii10193", 0x045F }, { "afii10194", 0x0463 }, { "afii10195", 0x0473 }, { "afii10196", 0x0475 }, - { "afii10831", 0xF6C7 }, - { "afii10832", 0xF6C8 }, { "afii10846", 0x04D9 }, { "afii299", 0x200E }, { "afii300", 0x200F }, @@ -584,7 +495,6 @@ { "alphatonos", 0x03AC }, { "amacron", 0x0101 }, { "ampersand", 0x0026 }, - { "ampersandsmall", 0xF726 }, { "angle", 0x2220 }, { "angleleft", 0x2329 }, { "angleright", 0x232A }, @@ -606,12 +516,10 @@ { "arrowup", 0x2191 }, { "arrowupdn", 0x2195 }, { "arrowupdnbse", 0x21A8 }, - { "arrowvertex", 0xF8E6 }, { "asciicircum", 0x005E }, { "asciitilde", 0x007E }, { "asterisk", 0x002A }, { "asteriskmath", 0x2217 }, - { "asuperior", 0xF6E9 }, { "at", 0x0040 }, { "atilde", 0x00E3 }, { "b", 0x0062 }, @@ -638,7 +546,6 @@ { "bracketrighttp", 0x23A4 }, { "breve", 0x02D8 }, { "brokenbar", 0x00A6 }, - { "bsuperior", 0xF6EA }, { "bullet", 0x2022 }, { "c", 0x0063 }, { "cacute", 0x0107 }, @@ -650,9 +557,6 @@ { "cdotaccent", 0x010B }, { "cedilla", 0x00B8 }, { "cent", 0x00A2 }, - { "centinferior", 0xF6DF }, - { "centoldstyle", 0xF7A2 }, - { "centsuperior", 0xF6E0 }, { "chi", 0x03C7 }, { "circle", 0x25CB }, { "circlemultiply", 0x2297 }, @@ -662,46 +566,28 @@ { "colon", 0x003A }, { "colonmonetary", 0x20A1 }, { "comma", 0x002C }, - { "commaaccent", 0xF6C3 }, - { "commainferior", 0xF6E1 }, - { "commasuperior", 0xF6E2 }, { "congruent", 0x2245 }, { "copyright", 0x00A9 }, - { "copyrightsans", 0xF8E9 }, - { "copyrightserif", 0xF6D9 }, { "currency", 0x00A4 }, - { "cyrBreve", 0xF6D1 }, - { "cyrFlex", 0xF6D2 }, - { "cyrbreve", 0xF6D4 }, - { "cyrflex", 0xF6D5 }, { "d", 0x0064 }, { "dagger", 0x2020 }, { "daggerdbl", 0x2021 }, - { "dblGrave", 0xF6D3 }, - { "dblgrave", 0xF6D6 }, { "dcaron", 0x010F }, { "dcroat", 0x0111 }, { "degree", 0x00B0 }, { "delta", 0x03B4 }, { "diamond", 0x2666 }, { "dieresis", 0x00A8 }, - { "dieresisacute", 0xF6D7 }, - { "dieresisgrave", 0xF6D8 }, { "dieresistonos", 0x0385 }, { "divide", 0x00F7 }, { "dkshade", 0x2593 }, { "dnblock", 0x2584 }, { "dollar", 0x0024 }, - { "dollarinferior", 0xF6E3 }, - { "dollaroldstyle", 0xF724 }, - { "dollarsuperior", 0xF6E4 }, { "dong", 0x20AB }, { "dotaccent", 0x02D9 }, { "dotbelowcomb", 0x0323 }, { "dotlessi", 0x0131 }, - { "dotlessj", 0xF6BE }, { "dotmath", 0x22C5 }, - { "dsuperior", 0xF6EB }, { "e", 0x0065 }, { "eacute", 0x00E9 }, { "ebreve", 0x0115 }, @@ -712,7 +598,6 @@ { "egrave", 0x00E8 }, { "eight", 0x0038 }, { "eightinferior", 0x2088 }, - { "eightoldstyle", 0xF738 }, { "eightsuperior", 0x2078 }, { "element", 0x2208 }, { "ellipsis", 0x2026 }, @@ -727,15 +612,12 @@ { "equal", 0x003D }, { "equivalence", 0x2261 }, { "estimated", 0x212E }, - { "esuperior", 0xF6EC }, { "eta", 0x03B7 }, { "etatonos", 0x03AE }, { "eth", 0x00F0 }, { "exclam", 0x0021 }, { "exclamdbl", 0x203C }, { "exclamdown", 0x00A1 }, - { "exclamdownsmall", 0xF7A1 }, - { "exclamsmall", 0xF721 }, { "existential", 0x2203 }, { "f", 0x0066 }, { "female", 0x2640 }, @@ -749,13 +631,11 @@ { "five", 0x0035 }, { "fiveeighths", 0x215D }, { "fiveinferior", 0x2085 }, - { "fiveoldstyle", 0xF735 }, { "fivesuperior", 0x2075 }, { "fl", 0xFB02 }, { "florin", 0x0192 }, { "four", 0x0034 }, { "fourinferior", 0x2084 }, - { "fouroldstyle", 0xF734 }, { "foursuperior", 0x2074 }, { "fraction", 0x2044 }, { "fraction%", 0x2215 }, @@ -786,8 +666,6 @@ { "hungarumlaut", 0x02DD }, { "hyphen", 0x002D }, { "hyphen%", 0x00AD }, - { "hypheninferior", 0xF6E5 }, - { "hyphensuperior", 0xF6E6 }, { "i", 0x0069 }, { "iacute", 0x00ED }, { "ibreve", 0x012D }, @@ -810,7 +688,6 @@ { "iotadieresis", 0x03CA }, { "iotadieresistonos", 0x0390 }, { "iotatonos", 0x03AF }, - { "isuperior", 0xF6ED }, { "itilde", 0x0129 }, { "j", 0x006A }, { "jcircumflex", 0x0135 }, @@ -828,14 +705,12 @@ { "lessequal", 0x2264 }, { "lfblock", 0x258C }, { "lira", 0x20A4 }, - { "ll", 0xF6C0 }, { "logicaland", 0x2227 }, { "logicalnot", 0x00AC }, { "logicalor", 0x2228 }, { "longs", 0x017F }, { "lozenge", 0x25CA }, { "lslash", 0x0142 }, - { "lsuperior", 0xF6EE }, { "ltshade", 0x2591 }, { "m", 0x006D }, { "macron", 0x00AF }, @@ -843,7 +718,6 @@ { "male", 0x2642 }, { "minus", 0x2212 }, { "minute", 0x2032 }, - { "msuperior", 0xF6EF }, { "mu", 0x00B5 }, { "mu%", 0x03BC }, { "multiply", 0x00D7 }, @@ -856,7 +730,6 @@ { "ncommaaccent", 0x0146 }, { "nine", 0x0039 }, { "nineinferior", 0x2089 }, - { "nineoldstyle", 0xF739 }, { "ninesuperior", 0x2079 }, { "notelement", 0x2209 }, { "notequal", 0x2260 }, @@ -884,10 +757,8 @@ { "one", 0x0031 }, { "onedotenleader", 0x2024 }, { "oneeighth", 0x215B }, - { "onefitted", 0xF6DC }, { "onehalf", 0x00BD }, { "oneinferior", 0x2081 }, - { "oneoldstyle", 0xF731 }, { "onequarter", 0x00BC }, { "onesuperior", 0x00B9 }, { "onethird", 0x2153 }, @@ -897,7 +768,6 @@ { "orthogonal", 0x221F }, { "oslash", 0x00F8 }, { "oslashacute", 0x01FF }, - { "osuperior", 0xF6F0 }, { "otilde", 0x00F5 }, { "p", 0x0070 }, { "paragraph", 0x00B6 }, @@ -918,8 +788,6 @@ { "period", 0x002E }, { "periodcentered", 0x00B7 }, { "periodcentered%", 0x2219 }, - { "periodinferior", 0xF6E7 }, - { "periodsuperior", 0xF6E8 }, { "perpendicular", 0x22A5 }, { "perthousand", 0x2030 }, { "peseta", 0x20A7 }, @@ -937,8 +805,6 @@ { "q", 0x0071 }, { "question", 0x003F }, { "questiondown", 0x00BF }, - { "questiondownsmall", 0xF7BF }, - { "questionsmall", 0xF73F }, { "quotedbl", 0x0022 }, { "quotedblbase", 0x201E }, { "quotedblleft", 0x201C }, @@ -951,25 +817,19 @@ { "r", 0x0072 }, { "racute", 0x0155 }, { "radical", 0x221A }, - { "radicalex", 0xF8E5 }, { "rcaron", 0x0159 }, { "rcommaaccent", 0x0157 }, { "reflexsubset", 0x2286 }, { "reflexsuperset", 0x2287 }, { "registered", 0x00AE }, - { "registersans", 0xF8E8 }, - { "registerserif", 0xF6DA }, { "revlogicalnot", 0x2310 }, { "rho", 0x03C1 }, { "ring", 0x02DA }, - { "rsuperior", 0xF6F1 }, { "rtblock", 0x2590 }, - { "rupiah", 0xF6DD }, { "s", 0x0073 }, { "sacute", 0x015B }, { "scaron", 0x0161 }, { "scedilla", 0x015F }, - { "scedilla%", 0xF6C2 }, { "scircumflex", 0x015D }, { "scommaaccent", 0x0219 }, { "second", 0x2033 }, @@ -978,7 +838,6 @@ { "seven", 0x0037 }, { "seveneighths", 0x215E }, { "seveninferior", 0x2087 }, - { "sevenoldstyle", 0xF737 }, { "sevensuperior", 0x2077 }, { "shade", 0x2592 }, { "sigma", 0x03C3 }, @@ -986,14 +845,12 @@ { "similar", 0x223C }, { "six", 0x0036 }, { "sixinferior", 0x2086 }, - { "sixoldstyle", 0xF736 }, { "sixsuperior", 0x2076 }, { "slash", 0x002F }, { "smileface", 0x263A }, { "space", 0x0020 }, { "space%", 0x00A0 }, { "spade", 0x2660 }, - { "ssuperior", 0xF6F2 }, { "sterling", 0x00A3 }, { "suchthat", 0x220B }, { "summation", 0x2211 }, @@ -1011,25 +868,19 @@ { "three", 0x0033 }, { "threeeighths", 0x215C }, { "threeinferior", 0x2083 }, - { "threeoldstyle", 0xF733 }, { "threequarters", 0x00BE }, - { "threequartersemdash", 0xF6DE }, { "threesuperior", 0x00B3 }, { "tilde", 0x02DC }, { "tildecomb", 0x0303 }, { "tonos", 0x0384 }, { "trademark", 0x2122 }, - { "trademarksans", 0xF8EA }, - { "trademarkserif", 0xF6DB }, { "triagdn", 0x25BC }, { "triaglf", 0x25C4 }, { "triagrt", 0x25BA }, { "triagup", 0x25B2 }, - { "tsuperior", 0xF6F3 }, { "two", 0x0032 }, { "twodotenleader", 0x2025 }, { "twoinferior", 0x2082 }, - { "twooldstyle", 0xF732 }, { "twosuperior", 0x00B2 }, { "twothirds", 0x2154 }, { "u", 0x0075 }, @@ -1074,6 +925,5 @@ { "zdotaccent", 0x017C }, { "zero", 0x0030 }, { "zeroinferior", 0x2080 }, - { "zerooldstyle", 0xF730 }, { "zerosuperior", 0x2070 }, { "zeta", 0x03B6 }, diff --git a/python/afdko/makeinstancesufo.py b/python/afdko/makeinstancesufo.py index 42d664372..d144bcb46 100644 --- a/python/afdko/makeinstancesufo.py +++ b/python/afdko/makeinstancesufo.py @@ -1,9 +1,10 @@ # Copyright 2015 Adobe. All rights reserved. """ -Generates UFO font instances from a set of master UFO fonts. -It uses the mutatorMath library. The paths to the masters and -instances fonts are specified in the .designspace file. +Generates UFO font instances from a set of source UFO fonts +using either MutatorMath or the fontTools varLib library. +The paths to the source and instance fonts are specified in +the .designspace file. """ import argparse @@ -22,7 +23,7 @@ from defcon import Font from .otfautohint.__main__ import main as otfautohint from ufonormalizer import normalizeUFO -from ufoProcessor import build as ufoProcessorBuild +from ufoProcessor.ufoOperator import UFOOperator from afdko.checkoutlinesufo import run as checkoutlinesUFO from afdko.fdkutils import ( @@ -336,10 +337,15 @@ def run(options): tool_str = "fontTools.varlib" if options.useVarlib else "MutatorMath" info_str = f"Building {newInstancesCount} {icnt_str} with {tool_str} ..." logger.info(info_str) - ufoProcessorBuild(documentPath=dsPath, - outputUFOFormatVersion=options.ufo_version, - roundGeometry=(not options.no_round), - logger=logger, useVarlib=options.useVarlib) + ufoOperator = UFOOperator(pathOrObject=dsPath, + ufoVersion=options.ufo_version, + useVarlib=options.useVarlib, + extrapolate=True, + strict=options.strict, + debug=options.verbose > 2) + ufoOperator.roundGeometry = (not options.no_round) + ufoOperator.loadFonts() + ufoOperator.generateUFOs() # Remove temporary designspace file if (dsPath != options.dsPath) and os.path.exists(dsPath): @@ -470,6 +476,12 @@ def get_options(args): action='store_true', help='do NOT round coordinates to integer' ) + parser.add_argument( + '-s', + '--strict', + action='store_true', + help='Pass the strict flag to ufoProcessor' + ) parser.add_argument( '-i', metavar='INDEX(ES)', diff --git a/python/afdko/resources/AGD.txt b/python/afdko/resources/AGD.txt index ebf7b4e36..5a83d516d 100644 --- a/python/afdko/resources/AGD.txt +++ b/python/afdko/resources/AGD.txt @@ -891,12 +891,6 @@ onedotenleader uni: 2024 sub: period+aalt set: AGL1 AGL2 AGLFN -emdash.alt - uni: F6DE - fin: uni2014.alt - ali: threequartersemdash - sub: emdash+salt emdash+aalt emdash+calt - set: AGL1 AGL2 threequartersemdash.cap fin: uni2014.cap colonmonetary @@ -907,11 +901,6 @@ rupiah.cap fin: R_p.cap rupiah.sc fin: R_p.sc -rupiah - uni: F6DD - fin: R_p - sub: rupiah.oldstyle+case - set: AGL1 AGL2 figuredash uni: 2012 sub: hyphen+aalt @@ -1070,52 +1059,11 @@ twelveroman uni: 217B fin: uni217B set: AGL1 -ae.sc - uni: F7E6 - ali: AEsmall - sub: ae+smcp - set: AGL1 AGL2 - maj: AE.sc -aacute.sc - uni: F7E1 - ali: Aacutesmall - sub: aacute+smcp aacute.end+smcp - set: AGL1 AGL2 - maj: Aacute.sc - cmp: a.sc+acute.sc Abreve uni: 0102 set: AGL1 AGL2 AGLFN min: abreve cmp: A+breve.cap -acircumflex.sc - uni: F7E2 - ali: Acircumflexsmall - sub: acircumflex+smcp acircumflex.end+smcp - set: AGL1 AGL2 - cmp: a.sc+circumflex.sc -acute.cap - uni: F6C9 - ali: Acute - sub: acute+case - set: AGL1 AGL2 -acute.sc - uni: F7B4 - ali: Acutesmall - sub: acute+smcp - set: AGL1 AGL2 -adieresis.sc - uni: F7E4 - ali: Adieresissmall - sub: adieresis+smcp adieresis.end+smcp - set: AGL1 AGL2 - cmp: a.sc+dieresis.sc -agrave.sc - uni: F7E0 - ali: Agravesmall - sub: agrave+smcp agrave.end+smcp - set: AGL1 AGL2 - cmp: a.sc+grave.sc Alpha uni: 0391 set: AGL1 AGL2 AGLFN @@ -1139,64 +1087,21 @@ Aringacute uni: 01FA set: AGL1 AGL2 AGLFN min: aringacute -aring.sc - uni: F7E5 - ali: Aringsmall - sub: aring+smcp aring.end+smcp - set: AGL1 AGL2 - cmp: a.sc+ring.sc -a.sc - uni: F761 - ali: Asmall - sub: a+smcp a.end+smcp - set: AGL1 AGL2 - maj: A.sc -atilde.sc - uni: F7E3 - ali: Atildesmall - sub: atilde+smcp atilde.end+smcp - set: AGL1 AGL2 - cmp: a.sc+tilde.sc Beta uni: 0392 set: AGL1 AGL2 AGLFN min: beta cmp: B -breve.sc - uni: F6F4 - ali: Brevesmall - sub: breve+smcp - set: AGL1 AGL2 -b.sc - uni: F762 - sub: b+smcp - set: AGL1 AGL2 - maj: B.sc Cacute uni: 0106 set: AGL1 AGL2 AGLFN min: cacute cmp: C+acute.cap -caron.cap - uni: F6CA - ali: Caron - sub: caron+case - set: AGL1 AGL2 -caron.sc - uni: F6F5 - ali: Caronsmall - sub: caron+smcp - set: AGL1 AGL2 Ccaron uni: 010C set: AGL1 AGL2 AGLFN min: ccaron cmp: C+caron.cap -ccedilla.sc - uni: F7E7 - ali: Ccedillasmall - sub: ccedilla+smcp - set: AGL1 AGL2 Ccircumflex uni: 0108 set: AGL1 AGL2 AGLFN @@ -1208,27 +1113,11 @@ Cdotaccent set: AGL1 AGL2 AGLFN min: cdotaccent cmp: C+dotaccent.cap -cedilla.sc - uni: F7B8 - ali: Cedillasmall - sub: cedilla+smcp - set: AGL1 AGL2 Chi uni: 03A7 set: AGL1 AGL2 AGLFN min: chi cmp: X -circumflex.sc - uni: F6F6 - ali: Circumflexsmall - sub: circumflex+smcp - set: AGL1 AGL2 -c.sc - uni: F763 - ali: Csmall - sub: c+smcp - set: AGL1 AGL2 - maj: C.sc Dcaron uni: 010E set: AGL1 AGL2 AGLFN @@ -1240,48 +1129,10 @@ Dcroat set: AGL1 AGL2 AGLFN min: dcroat cmp: Eth -dieresis.cap - uni: F6CB - ali: Dieresis - sub: dieresis+case - set: AGL1 AGL2 -dieresisacute.cap - uni: F6CC - fin: uni00A80301.cap - ali: DieresisAcute dieresis_acutecomb.cap space_uni0308_uni0301.cap - sub: dieresisacute+case - set: AGL1 AGL2 -dieresisgrave.cap - uni: F6CD - fin: uni00A80300.cap - ali: DieresisGrave dieresis_gravecomb.cap space_uni0308_uni0300.cap - sub: dieresisgrave+case - set: AGL1 AGL2 dieresiscaron.cap fin: uni00A8030C.cap dieresismacron.cap fin: uni00A80304.cap -dieresis.sc - uni: F7A8 - ali: Dieresissmall - sub: dieresis+smcp - set: AGL1 AGL2 -dotaccent.sc - uni: F6F7 - ali: Dotaccentsmall - sub: dotaccent+smcp - set: AGL1 AGL2 -d.sc - uni: F764 - sub: d+smcp d.end+smcp - set: AGL1 AGL2 - maj: D.sc -eacute.sc - uni: F7E9 - ali: Eacutesmall - sub: eacute+smcp eacute.end+smcp - set: AGL1 AGL2 - cmp: e.sc+acute.sc Ebreve uni: 0114 set: AGL1 AGL2 AGLFN @@ -1292,30 +1143,12 @@ Ecaron set: AGL1 AGL2 AGLFN min: ecaron cmp: E+caron.cap -ecircumflex.sc - uni: F7EA - ali: Ecircumflexsmall - sub: ecircumflex+smcp ecircumflex.end+smcp - set: AGL1 AGL2 - cmp: e.sc+circumflex.sc -edieresis.sc - uni: F7EB - ali: Edieresissmall - sub: edieresis+smcp edieresis.end+smcp - set: AGL1 AGL2 - cmp: e.sc+dieresis.sc Edotaccent uni: 0116 ali: Edot set: AGL1 AGL2 AGLFN min: edotaccent cmp: E+dotaccent.cap -egrave.sc - uni: F7E8 - ali: Egravesmall - sub: egrave+smcp egrave.end+smcp - set: AGL1 AGL2 - cmp: e.sc+grave.sc Emacron uni: 0112 set: AGL1 AGL2 AGLFN @@ -1339,12 +1172,6 @@ Epsilontonos set: AGL1 AGL2 AGLFN min: epsilontonos cmp: Epsilon -e.sc - uni: F765 - ali: Esmall - sub: e+smcp e.end+smcp - set: AGL1 AGL2 - maj: E.sc Eta uni: 0397 set: AGL1 AGL2 AGLFN @@ -1355,12 +1182,6 @@ Etatonos set: AGL1 AGL2 AGLFN min: etatonos cmp: Eta -eth.sc - uni: F7F0 - ali: Ethsmall - sub: eth+smcp - set: AGL1 AGL2 - maj: Eth.sc newsheqel uni: 20AA fin: uni20AA @@ -1374,12 +1195,6 @@ Euro ali: euro sub: Euro.oldstyle+case set: AGL1 AGL2 AGLFN -f.sc - uni: F766 - ali: Fsmall - sub: f+smcp - set: AGL1 AGL2 - maj: F.sc Gamma uni: 0393 set: AGL1 AGL2 AGLFN @@ -1411,21 +1226,6 @@ Gdotaccent set: AGL1 AGL2 AGLFN min: gdotaccent cmp: G+dotaccent.cap -grave.cap - uni: F6CE - ali: Grave - sub: grave+case - set: AGL1 AGL2 -grave.sc - uni: F760 - ali: Gravesmall - sub: grave+smcp - set: AGL1 AGL2 -g.sc - uni: F767 - sub: g+smcp - set: AGL1 AGL2 - maj: G.sc circleblack uni: 25CF fin: uni25CF @@ -1455,49 +1255,16 @@ Hcircumflex set: AGL1 AGL2 AGLFN min: hcircumflex cmp: H+circumflex.cap -h.sc - uni: F768 - sub: h+smcp h.end+smcp - set: AGL1 AGL2 - maj: H.sc -hungarumlaut.cap - uni: F6CF - ali: Hungarumlaut - sub: hungarumlaut+case - set: AGL1 AGL2 -hungarumlaut.sc - uni: F6F8 - ali: Hungarumlautsmall - sub: hungarumlaut+smcp - set: AGL1 AGL2 IJ uni: 0132 set: AGL1 AGL2 AGLFN min: ij cmp: I+J -iacute.sc - uni: F7ED - ali: Iacutesmall - sub: iacute+smcp - set: AGL1 AGL2 - cmp: i.sc+acute.sc Ibreve uni: 012C set: AGL1 AGL2 AGLFN min: ibreve cmp: I+breve.cap -icircumflex.sc - uni: F7EE - ali: Icircumflexsmall - sub: icircumflex+smcp - set: AGL1 AGL2 - cmp: i.sc+circumflex.sc -idieresis.sc - uni: F7EF - ali: Idieresissmall - sub: idieresis+smcp - set: AGL1 AGL2 - cmp: i.sc+dieresis.sc Idotaccent uni: 0130 ali: Idot @@ -1507,12 +1274,6 @@ Ifraktur uni: 2111 fin: uni2111 set: AGL1 AGL2 AGLFN -igrave.sc - uni: F7EC - ali: Igravesmall - sub: igrave+smcp - set: AGL1 AGL2 - cmp: i.sc+grave.sc Imacron uni: 012A set: AGL1 AGL2 AGLFN @@ -1537,11 +1298,6 @@ Iotatonos set: AGL1 AGL2 AGLFN min: iotatonos cmp: Iota -i.sc - uni: F769 - sub: i+smcp dotlessi+smcp - set: AGL1 AGL2 - maj: I.sc Itilde uni: 0128 set: AGL1 AGL2 AGLFN @@ -1551,12 +1307,6 @@ Jcircumflex set: AGL1 AGL2 AGLFN min: jcircumflex cmp: J+circumflex.cap -j.sc - uni: F76A - ali: Jsmall - sub: j+smcp dotlessj+smcp - set: AGL1 AGL2 - maj: J.sc Kappa uni: 039A set: AGL1 AGL2 AGLFN @@ -1569,16 +1319,6 @@ Kcommaaccent set: AGL1 AGL2 AGLFN min: kcommaaccent cmp: K+commaaccent -k.sc - uni: F76B - ali: Ksmall - sub: k+smcp k.alt+smcp - set: AGL1 AGL2 - maj: K.sc -LL - uni: F6BF - fin: uniF6BF - set: AGL1 AGL2 Lacute uni: 0139 set: AGL1 AGL2 AGLFN @@ -1606,32 +1346,6 @@ Ldot set: AGL1 AGL2 AGLFN min: ldot cmp: L+dotaccent.cap -lslash.sc - uni: F6F9 - ali: Lslashsmall - sub: lslash+smcp - set: AGL1 AGL2 -l.sc - uni: F76C - sub: l+smcp - set: AGL1 AGL2 - maj: L.sc -macron.cap - uni: F6D0 - ali: Macron - sub: macron+case - set: AGL1 AGL2 -macron.sc - uni: F7AF - ali: Macronsmall - sub: macron+smcp - set: AGL1 AGL2 -m.sc - uni: F76D - ali: Msmall - sub: m+smcp m.end+smcp - set: AGL1 AGL2 - maj: M.sc Mu uni: 039C set: AGL1 AGL2 AGLFN @@ -1654,61 +1368,16 @@ Ncommaaccent set: AGL1 AGL2 AGLFN min: ncommaaccent cmp: N+commaaccent -n.sc - uni: F76E - sub: n+smcp n.end+smcp - set: AGL1 AGL2 - maj: N.sc -ntilde.sc - uni: F7F1 - ali: Ntildesmall - sub: ntilde+smcp ntilde.end+smcp - set: AGL1 AGL2 - cmp: n.sc+tilde.sc Nu uni: 039D set: AGL1 AGL2 AGLFN min: nu cmp: N -oe.sc - uni: F6FA - sub: oe+smcp - set: AGL1 AGL2 - maj: OE.sc -oacute.sc - uni: F7F3 - ali: Oacutesmall - sub: oacute+smcp - set: AGL1 AGL2 - cmp: o.sc+acute.sc Obreve uni: 014E set: AGL1 AGL2 AGLFN min: obreve cmp: O+breve.cap -ocircumflex.sc - uni: F7F4 - ali: Ocircumflexsmall - sub: ocircumflex+smcp - set: AGL1 AGL2 - cmp: o.sc+circumflex.sc -odieresis.sc - uni: F7F6 - ali: Odieresissmall - sub: odieresis+smcp - set: AGL1 AGL2 - cmp: o.sc+dieresis.sc -ogonek.sc - uni: F6FB - ali: Ogoneksmall - sub: ogonek+smcp - set: AGL1 AGL2 -ograve.sc - uni: F7F2 - ali: Ogravesmall - sub: ograve+smcp - set: AGL1 AGL2 - cmp: o.sc+grave.sc Ohorn uni: 01A0 set: AGL1 AGL2 AGLFN @@ -1745,24 +1414,6 @@ Oslashacute set: AGL1 AGL2 AGLFN min: oslashacute cmp: Oslash+acute.cap -oslash.sc - uni: F7F8 - ali: Oslashsmall - sub: oslash+smcp - set: AGL1 AGL2 - maj: Oslash.sc -o.sc - uni: F76F - ali: Osmall - sub: o+smcp - set: AGL1 AGL2 - maj: O.sc -otilde.sc - uni: F7F5 - ali: Otildesmall - sub: otilde+smcp - set: AGL1 AGL2 - cmp: o.sc+tilde.sc Phi uni: 03A6 set: AGL1 AGL2 AGLFN @@ -1775,18 +1426,6 @@ Psi uni: 03A8 set: AGL1 AGL2 AGLFN min: psi -p.sc - uni: F770 - ali: Psmall - sub: p+smcp - set: AGL1 AGL2 - maj: P.sc -q.sc - uni: F771 - ali: Qsmall - sub: q+smcp - set: AGL1 AGL2 - maj: Q.sc Racute uni: 0154 set: AGL1 AGL2 AGLFN @@ -1813,27 +1452,11 @@ Rho set: AGL1 AGL2 AGLFN min: rho cmp: P -ring.sc - uni: F6FC - ali: Ringsmall - sub: ring+smcp - set: AGL1 AGL2 -r.sc - uni: F772 - sub: r+smcp r.end+smcp - set: AGL1 AGL2 - maj: R.sc Sacute uni: 015A set: AGL1 AGL2 AGLFN min: sacute cmp: S+acute.cap -scaron.sc - uni: F6FD - ali: Scaronsmall - sub: scaron+smcp - set: AGL1 AGL2 - cmp: s.sc+caron.sc Scedilla uni: 015E fin: uni015E @@ -1855,12 +1478,6 @@ Sigma uni: 03A3 set: AGL1 AGL2 AGLFN min: sigma -s.sc - uni: F773 - ali: Ssmall - sub: s+smcp - set: AGL1 AGL2 - maj: S.sc Tau uni: 03A4 set: AGL1 AGL2 AGLFN @@ -1885,52 +1502,11 @@ Theta uni: 0398 set: AGL1 AGL2 AGLFN min: theta -thorn.sc - uni: F7FE - ali: Thornsmall - sub: thorn+smcp - set: AGL1 AGL2 - maj: Thorn.sc -tilde.sc - uni: F6FE - ali: Tildesmall - sub: tilde+smcp - set: AGL1 AGL2 -t.sc - uni: F774 - ali: Tsmall - sub: t+smcp t.end+smcp t.endalt+smcp - set: AGL1 AGL2 - maj: T.sc -uacute.sc - uni: F7FA - ali: Uacutesmall - sub: uacute+smcp uacute.end+smcp - set: AGL1 AGL2 - cmp: u.sc+acute.sc Ubreve uni: 016C set: AGL1 AGL2 AGLFN min: ubreve cmp: U+breve.cap -ucircumflex.sc - uni: F7FB - ali: Ucircumflexsmall - sub: ucircumflex+smcp ucircumflex.end+smcp - set: AGL1 AGL2 - cmp: u.sc+circumflex.sc -udieresis.sc - uni: F7FC - ali: Udieresissmall - sub: udieresis+smcp udieresis.end+smcp - set: AGL1 AGL2 - cmp: u.sc+dieresis.sc -ugrave.sc - uni: F7F9 - ali: Ugravesmall - sub: ugrave+smcp ugrave.end+smcp - set: AGL1 AGL2 - cmp: u.sc+grave.sc Uhorn uni: 01AF set: AGL1 AGL2 AGLFN @@ -1973,23 +1549,11 @@ Uring set: AGL1 AGL2 AGLFN min: uring cmp: U+ring.cap -u.sc - uni: F775 - ali: Usmall - sub: u+smcp u.end+smcp - set: AGL1 AGL2 - maj: U.sc Utilde uni: 0168 set: AGL1 AGL2 AGLFN min: utilde cmp: U+tilde.cap -v.sc - uni: F776 - ali: Vsmall - sub: v+smcp v.alt+smcp v.begin+smcp - set: AGL1 AGL2 - maj: V.sc Wacute uni: 1E82 set: AGL1 AGL2 AGLFN @@ -2010,60 +1574,25 @@ Wgrave set: AGL1 AGL2 AGLFN min: wgrave cmp: W+grave.cap -w.sc - uni: F777 - ali: Wsmall - sub: w+smcp w.alt+smcp - set: AGL1 AGL2 - maj: W.sc Xi uni: 039E set: AGL1 AGL2 AGLFN min: xi -x.sc - uni: F778 - ali: Xsmall - sub: x+smcp - set: AGL1 AGL2 - maj: X.sc -yacute.sc - uni: F7FD - ali: Yacutesmall - sub: yacute+smcp - set: AGL1 AGL2 - cmp: y.sc+acute.sc Ycircumflex uni: 0176 set: AGL1 AGL2 AGLFN min: ycircumflex cmp: Y+circumflex.cap -ydieresis.sc - uni: F7FF - ali: Ydieresissmall - sub: ydieresis+smcp - set: AGL1 AGL2 - cmp: y.sc+dieresis.sc Ygrave uni: 1EF2 set: AGL1 AGL2 AGLFN min: ygrave cmp: Y+grave.cap -y.sc - uni: F779 - sub: y+smcp - set: AGL1 AGL2 - maj: Y.sc Zacute uni: 0179 set: AGL1 AGL2 AGLFN min: zacute cmp: Z+acute.cap -zcaron.sc - uni: F6FF - ali: Zcaronsmall - sub: zcaron+smcp - set: AGL1 AGL2 - cmp: z.sc+caron.sc Zdotaccent uni: 017B ali: Zdot @@ -2075,12 +1604,6 @@ Zeta set: AGL1 AGL2 AGLFN min: zeta cmp: Z -z.sc - uni: F77A - ali: Zsmall - sub: z+smcp - set: AGL1 AGL2 - maj: Z.sc abreve uni: 0103 set: AGL1 AGL2 AGLFN @@ -2398,19 +1921,6 @@ Ushort set: AGL1 AGL2 AGLFN min: ushort cmp: Ucyr+breve.cyrcap -ghe.ital - uni: F6C4 - fin: uni0433.ital - ali: afii10063 afii10068.ital - sub: ghe+locl ghe+salt - set: AGL1 AGL2 - tag: italic -be.ital - uni: F6C5 - fin: uni0431.ital - ali: afii10064 afii10066.ital be.alt - sub: be+salt be+locl - set: AGL1 AGL2 acyr uni: 0430 fin: uni0430 @@ -2726,13 +2236,6 @@ Izhitsa ali: Izhitsacyrillic afii10148 set: AGL1 AGL2 AGLFN min: izhitsa -de.ital - uni: F6C6 - fin: uni0434.ital - ali: afii10069.ital afii10192 - sub: de+locl de+salt - set: AGL1 AGL2 - tag: italic dzhe uni: 045F fin: uni045F @@ -2757,20 +2260,6 @@ izhitsa ali: afii10196 izhitsacyrillic set: AGL1 AGL2 AGLFN maj: Izhitsa -pe.ital - uni: F6C7 - fin: uni043F.ital - ali: afii10081.ital afii10831 - sub: pe+locl pe+salt - set: AGL1 AGL2 - tag: italic -te.ital - uni: F6C8 - fin: uni0442.ital - ali: afii10084.ital afii10832 - sub: te+locl te+salt - set: AGL1 AGL2 - tag: italic schwacyr uni: 04D9 fin: uni04D9 @@ -4136,11 +3625,6 @@ amacron set: AGL1 AGL2 AGLFN maj: Amacron cmp: a+macron -ampersand.sc - uni: F726 - ali: ampersandsmall - sub: ampersand+c2sc ampersand.alt1+c2sc ampersand.alt2+c2sc ampersand.alt3+c2sc - set: AGL1 AGL2 angle uni: 2220 set: AGL1 AGL2 AGLFN @@ -4189,10 +3673,6 @@ arrowdblup arrowdown uni: 2193 set: AGL1 AGL2 AGLFN -arrowhorizex - uni: F8E7 - fin: uniF8E7 - set: AGL1 AGL2 arrowleft uni: 2190 fin: uni2190 @@ -4212,18 +3692,9 @@ arrowupdnbse uni: 21A8 ali: SM770000 arrowupdownbase set: AGL1 AGL2 AGLFN -arrowvertex - uni: F8E6 - fin: uniF8E6 - set: AGL1 AGL2 asteriskmath uni: 2217 set: AGL1 AGL2 AGLFN -a.superior - uni: F6E9 - ali: asuperior - sub: a+sups a+ordn - set: AGL1 AGL2 beta uni: 03B2 set: AGL1 AGL2 AGLFN @@ -4233,63 +3704,6 @@ beta.alt fin: uni03D0 ali: betasymbolgreek set: AGL1 -braceex - uni: F8F4 - fin: uniF8F4 - set: AGL1 AGL2 -braceleftbt - uni: F8F3 - fin: uniF8F3 - set: AGL1 AGL2 -braceleftmid - uni: F8F2 - fin: uniF8F2 - set: AGL1 AGL2 -bracelefttp - uni: F8F1 - fin: uniF8F1 - set: AGL1 AGL2 -bracerightbt - uni: F8FE - fin: uniF8FE - set: AGL1 AGL2 -bracerightmid - uni: F8FD - fin: uniF8FD - set: AGL1 AGL2 -bracerighttp - uni: F8FC - fin: uniF8FC - set: AGL1 AGL2 -bracketleftbt - uni: F8F0 - fin: uniF8F0 - set: AGL1 AGL2 -bracketleftex - uni: F8EF - fin: uniF8EF - set: AGL1 AGL2 -bracketlefttp - uni: F8EE - fin: uniF8EE - set: AGL1 AGL2 -bracketrightbt - uni: F8FB - fin: uniF8FB - set: AGL1 AGL2 -bracketrightex - uni: F8FA - fin: uniF8FA - set: AGL1 AGL2 -bracketrighttp - uni: F8F9 - fin: uniF8F9 - set: AGL1 AGL2 -b.superior - uni: F6EA - ali: bsuperior - sub: b+sups - set: AGL1 AGL2 cacute uni: 0107 set: AGL1 AGL2 AGLFN @@ -4314,23 +3728,6 @@ cdotaccent set: AGL1 AGL2 AGLFN maj: Cdotaccent cmp: c+dotaccent -cent.inferior - uni: F6DF - ali: centinferior - sub: cent+sinf - set: AGL1 AGL2 - cmp: cent.numerator -cent.oldstyle - uni: F7A2 - ali: centoldstyle - sub: cent+onum cent+c2sc - set: AGL1 AGL2 -cent.superior - uni: F6E0 - ali: centsuperior - sub: cent+sups - set: AGL1 AGL2 - cmp: cent.numerator chi uni: 03C7 set: AGL1 AGL2 AGLFN @@ -4352,64 +3749,10 @@ club uni: 2663 ali: clubsuitblack set: AGL1 AGL2 AGLFN -commaaccent - uni: F6C3 - fin: uni00200326 - ali: space_uni0326 - set: AGL1 AGL2 -comma.inferior - uni: F6E1 - ali: commainferior - sub: comma+sinf - set: AGL1 AGL2 - cmp: comma.numerator -comma.superior - uni: F6E2 - ali: commasuperior - sub: comma+sups - set: AGL1 AGL2 - cmp: comma.numerator congruent uni: 2245 ali: approximatelyequal set: AGL1 AGL2 AGLFN -copyrightsans - uni: F8E9 - fin: copyright.sans - set: AGL1 AGL2 -copyrightserif - uni: F6D9 - fin: copyright.serif - set: AGL1 AGL2 -breve.cyrcap - uni: F6D1 - ali: cyrBreve - sub: breve.cyr+case - set: AGL1 AGL2 -circumflex.cyrcap - uni: F6D2 - ali: cyrFlex - sub: circumflex.cyr+case - set: AGL1 AGL2 -breve.cyr - uni: F6D4 - ali: cyrbreve - set: AGL1 AGL2 -circumflex.cyr - uni: F6D5 - ali: cyrflex - set: AGL1 AGL2 -dblgrave.cap - uni: F6D3 - fin: uni0020030F.cap - ali: dblGrave space_uni030F.cap - sub: dblgrave+case - set: AGL1 AGL2 -dblgrave - uni: F6D6 - fin: uni0020030F - ali: space_uni030F - set: AGL1 AGL2 dcaron uni: 010F set: AGL1 AGL2 AGLFN @@ -4427,16 +3770,6 @@ delta diamond uni: 2666 set: AGL1 AGL2 AGLFN -dieresisacute - uni: F6D7 - fin: uni00A80301 - ali: dieresis_acutecomb space_uni0308_uni0301 - set: AGL1 AGL2 -dieresisgrave - uni: F6D8 - fin: uni00A80300 - ali: dieresis_gravecomb space_uni0308_uni0300 - set: AGL1 AGL2 dieresistonos uni: 0385 ali: dialytikatonos @@ -4447,23 +3780,6 @@ dieresiscaron dieresismacron fin: uni00A80304 ali: dieresis_uni0304 -dollar.inferior - uni: F6E3 - ali: dollarinferior - sub: dollar+sinf - set: AGL1 AGL2 - cmp: dollar.numerator -dollar.oldstyle - uni: F724 - ali: dollaroldstyle - sub: dollar+onum dollar+c2sc - set: AGL1 AGL2 -dollar.superior - uni: F6E4 - ali: dollarsuperior - sub: dollar+sups - set: AGL1 AGL2 - cmp: dollar.numerator dotbelowcmb uni: 0323 fin: uni0323 @@ -4477,11 +3793,6 @@ dotmath uni: 22C5 ali: SD630000 set: AGL1 AGL2 AGLFN -d.superior - uni: F6EB - ali: dsuperior - sub: d+sups - set: AGL1 AGL2 ebreve uni: 0115 set: AGL1 AGL2 AGLFN @@ -4504,11 +3815,6 @@ eight.inferior sub: eight+sinf set: AGL1 AGL2 cmp: eight.numerator -eight.oldstyle - uni: F738 - ali: eightoldstyle - sub: eight.fitted+onum eight.fitted+c2sc eight.taboldstyle+pnum eight+aalt - set: AGL1 AGL2 eight.superior uni: 2078 ali: eightsuperior @@ -4549,11 +3855,6 @@ equivalence estimated uni: 212E set: AGL1 AGL2 AGLFN -e.superior - uni: F6EC - ali: esuperior - sub: e+sups - set: AGL1 AGL2 eta uni: 03B7 set: AGL1 AGL2 AGLFN @@ -4566,16 +3867,6 @@ etatonos exclamdbl uni: 203C set: AGL1 AGL2 AGLFN -exclamdown.sc - uni: F7A1 - ali: exclamdownsmall - sub: exclamdown+c2sc - set: AGL1 AGL2 -exclam.sc - uni: F721 - ali: exclamsmall - sub: exclam+c2sc - set: AGL1 AGL2 existential uni: 2203 ali: thereexists @@ -4626,11 +3917,6 @@ five.inferior sub: five+sinf set: AGL1 AGL2 cmp: five.numerator -five.oldstyle - uni: F735 - ali: fiveoldstyle - sub: five.fitted+onum five.fitted+c2sc five.taboldstyle+pnum five+aalt - set: AGL1 AGL2 five.superior uni: 2075 ali: fivesuperior @@ -4643,11 +3929,6 @@ four.inferior sub: four+sinf set: AGL1 AGL2 cmp: four.numerator -four.oldstyle - uni: F734 - ali: fouroldstyle - sub: four.fitted+onum four.fitted+c2sc four.taboldstyle+pnum four+aalt - set: AGL1 AGL2 four.superior uni: 2074 ali: foursuperior @@ -4721,18 +4002,6 @@ house uni: 2302 ali: SM790000 set: AGL1 AGL2 AGLFN -hyphen.inferior - uni: F6E5 - ali: hypheninferior - sub: hyphen+sinf - set: AGL1 AGL2 - cmp: hyphen.numerator -hyphen.superior - uni: F6E6 - ali: hyphensuperior - sub: hyphen+sups - set: AGL1 AGL2 - cmp: hyphen.numerator ibreve uni: 012D set: AGL1 AGL2 AGLFN @@ -4758,10 +4027,6 @@ integralbt uni: 2321 ali: SS270000 integralbottom set: AGL1 AGL2 AGLFN -integralex - uni: F8F5 - fin: uniF8F5 - set: AGL1 AGL2 integraltp uni: 2320 ali: SS260000 integraltop @@ -4803,11 +4068,6 @@ iotatonos set: AGL1 AGL2 AGLFN maj: Iotatonos cmp: iota+tonos -i.superior - uni: F6ED - ali: isuperior - sub: i+sups - set: AGL1 AGL2 itilde uni: 0129 set: AGL1 AGL2 AGLFN @@ -4866,10 +4126,6 @@ lira ali: afii08941 sub: lira.oldstyle+case set: AGL1 AGL2 AGLFN -ll - uni: F6C0 - fin: uniF6C0 - set: AGL1 AGL2 logicaland uni: 2227 set: AGL1 AGL2 AGLFN @@ -4884,11 +4140,6 @@ longs lozenge uni: 25CA set: AGL1 AGL2 AGLFN -l.superior - uni: F6EE - ali: lsuperior - sub: l+sups - set: AGL1 AGL2 male uni: 2642 ali: Mars mars @@ -4898,11 +4149,6 @@ prime fin: uni2032 ali: minute set: AGL1 AGL2 AGLFN -m.superior - uni: F6EF - ali: msuperior - sub: m+sups - set: AGL1 AGL2 musicalnote uni: 266A ali: eighthnote @@ -4945,11 +4191,6 @@ minus.inferior uni: 208B equal.inferior uni: 208C -nine.oldstyle - uni: F739 - ali: nineoldstyle - sub: nine.fitted+onum nine.fitted+c2sc nine.taboldstyle+pnum nine+aalt - set: AGL1 AGL2 nine.superior uni: 2079 ali: ninesuperior @@ -5025,23 +4266,12 @@ omicrontonos set: AGL1 AGL2 AGLFN maj: Omicrontonos cmp: omicron+tonos -one.fitted - uni: F6DC - ali: onefitted - sub: one+pnum one.oldstyle+case - set: AGL1 AGL2 - cmp: one one.inferior uni: 2081 ali: oneinferior sub: one+sinf set: AGL1 AGL2 cmp: one.numerator -one.oldstyle - uni: F731 - ali: oneoldstyle - sub: one.fitted+onum one.fitted+c2sc one.taboldstyle+pnum one+aalt - set: AGL1 AGL2 onesuperior uni: 00B9 set: AGL1 AGL2 @@ -5064,19 +4294,6 @@ oslashacute set: AGL1 AGL2 AGLFN maj: Oslashacute cmp: oslash+acute -o.superior - uni: F6F0 - ali: osuperior - sub: o+sups o+ordn - set: AGL1 AGL2 -parenleftbt - uni: F8ED - fin: uniF8ED - set: AGL1 AGL2 -parenleftex - uni: F8EC - fin: uniF8EC - set: AGL1 AGL2 parenleft.inferior uni: 208D ali: parenleftinferior @@ -5089,18 +4306,6 @@ parenleft.superior sub: parenleft+sups set: AGL1 AGL2 cmp: parenleft.numerator -parenlefttp - uni: F8EB - fin: uniF8EB - set: AGL1 AGL2 -parenrightbt - uni: F8F8 - fin: uniF8F8 - set: AGL1 AGL2 -parenrightex - uni: F8F7 - fin: uniF8F7 - set: AGL1 AGL2 parenright.inferior uni: 208E ali: parenrightinferior @@ -5113,25 +4318,9 @@ parenright.superior sub: parenright+sups set: AGL1 AGL2 cmp: parenright.numerator -parenrighttp - uni: F8F6 - fin: uniF8F6 - set: AGL1 AGL2 partialdiff uni: 2202 set: AGL1 AGL2 AGLFN -period.inferior - uni: F6E7 - ali: periodinferior - sub: period+sinf - set: AGL1 AGL2 - cmp: period.numerator -period.superior - uni: F6E8 - ali: periodsuperior - sub: period+sups - set: AGL1 AGL2 - cmp: period.numerator perpendicular uni: 22A5 set: AGL1 AGL2 AGLFN @@ -5173,16 +4362,6 @@ psi uni: 03C8 set: AGL1 AGL2 AGLFN maj: Psi -questiondown.sc - uni: F7BF - ali: questiondownsmall - sub: questiondown+c2sc - set: AGL1 AGL2 -question.sc - uni: F73F - ali: questionsmall - sub: question+c2sc - set: AGL1 AGL2 quotereversed uni: 201B ali: apostrophereverse quoteleftreversed @@ -5195,10 +4374,6 @@ racute radical uni: 221A set: AGL1 AGL2 AGLFN -radicalex - uni: F8E5 - fin: uniF8E5 - set: AGL1 AGL2 rcaron uni: 0159 set: AGL1 AGL2 AGLFN @@ -5219,16 +4394,6 @@ reflexsuperset uni: 2287 ali: supersetorequal set: AGL1 AGL2 AGLFN -registersans - uni: F8E8 - fin: registered.sans - ali: register.sans - set: AGL1 AGL2 -registerserif - uni: F6DA - fin: registered.serif - ali: register.serif - set: AGL1 AGL2 revlogicalnot uni: 2310 ali: SM680000 logicalnotreversed @@ -5237,11 +4402,6 @@ rho uni: 03C1 set: AGL1 AGL2 AGLFN maj: Rho -r.superior - uni: F6F1 - ali: rsuperior - sub: r+sups - set: AGL1 AGL2 sacute uni: 015B set: AGL1 AGL2 AGLFN @@ -5275,11 +4435,6 @@ seven.inferior sub: seven+sinf set: AGL1 AGL2 cmp: seven.numerator -seven.oldstyle - uni: F737 - ali: sevenoldstyle - sub: seven.fitted+onum seven.fitted+c2sc seven.taboldstyle+pnum seven+aalt - set: AGL1 AGL2 seven.superior uni: 2077 ali: sevensuperior @@ -5306,11 +4461,6 @@ six.inferior sub: six+sinf set: AGL1 AGL2 cmp: six.numerator -six.oldstyle - uni: F736 - ali: sixoldstyle - sub: six.fitted+onum six.fitted+c2sc six.taboldstyle+pnum six+aalt - set: AGL1 AGL2 six.superior uni: 2076 ali: sixsuperior @@ -5325,11 +4475,6 @@ spade uni: 2660 ali: spadesuitblack set: AGL1 AGL2 AGLFN -s.superior - uni: F6F2 - ali: ssuperior - sub: s+sups - set: AGL1 AGL2 suchthat uni: 220B set: AGL1 AGL2 AGLFN @@ -5380,11 +4525,6 @@ three.inferior sub: three+sinf set: AGL1 AGL2 cmp: three.numerator -three.oldstyle - uni: F733 - ali: threeoldstyle - sub: three.fitted+onum three.fitted+c2sc three.taboldstyle+pnum three+aalt - set: AGL1 AGL2 threesuperior uni: 00B3 set: AGL1 AGL2 @@ -5400,14 +4540,6 @@ tildecmb tonos uni: 0384 set: AGL1 AGL2 AGLFN -trademarksans - uni: F8EA - fin: trademark.sans - set: AGL1 AGL2 -trademarkserif - uni: F6DB - fin: trademark.serif - set: AGL1 AGL2 triangleblackdown uni: 25BC fin: triagdn @@ -5428,22 +4560,12 @@ triangleblackup fin: triagup ali: SM600000 blackuppointingtriangle set: AGL1 AGL2 AGLFN -t.superior - uni: F6F3 - ali: tsuperior - sub: t+sups - set: AGL1 AGL2 two.inferior uni: 2082 ali: twoinferior sub: two+sinf set: AGL1 AGL2 cmp: two.numerator -two.oldstyle - uni: F732 - ali: twooldstyle - sub: two.fitted+onum two.fitted+c2sc two.taboldstyle+pnum two+aalt - set: AGL1 AGL2 twosuperior uni: 00B2 set: AGL1 AGL2 @@ -5568,11 +4690,6 @@ zero.inferior sub: zero+sinf set: AGL1 AGL2 cmp: zero.numerator -zero.oldstyle - uni: F730 - ali: zerooldstyle - sub: zero.fitted+onum zero.slashfitted+onum zero.fitted+c2sc zero.slashfitted+c2sc zero.taboldstyle+pnum zero+aalt - set: AGL1 AGL2 zero.superior uni: 2070 ali: zerosuperior @@ -5583,10 +4700,6 @@ zeta uni: 03B6 set: AGL1 AGL2 AGLFN maj: Zeta -zero.slash - uni: F638 - ali: zeroslash - sub: zero+zero zero.fitted+zero percent.alt sub: percent+salt estimated.alt @@ -11178,11 +10291,6 @@ Dcroat.sc sub: Dcroat+c2sc min: dcroat.sc cmp: eth.sc -Hbar.sc - uni: F681 - sub: Hbar+c2sc - min: hbar.sc - cmp: hbar.sc Oslash.sc sub: Oslash+c2sc min: oslash.sc @@ -11192,16 +10300,6 @@ Obar.sc sub: Obar+c2sc min: obar.sc cmp: fita.sc -Tbar.sc - uni: F69C - sub: Tbar+c2sc - min: tbar.sc - cmp: tbar.sc -Eng.sc - uni: F67B - sub: Eng+c2sc - min: eng.sc - cmp: eng.sc Eth.sc sub: Eth+c2sc min: eth.sc @@ -11375,10 +10473,6 @@ Lcommaaccent.sc fin: uni013B.sc sub: Lcommaaccent+c2sc cmp: lcommaaccent.sc -Ldot.sc - uni: F68D - sub: Ldot+c2sc - cmp: ldot.sc Lslash.sc sub: Lslash+c2sc cmp: lslash.sc @@ -23223,12 +22317,6 @@ hryvnia cedi uni: 20B5 fin: uni20B5 -Scedilla.dup - uni: F6C1 - cmp: Scedilla -scedilla.dup - uni: F6C2 - cmp: scedilla Iukran.swash fin: uni0406.swash sub: Iukran+swsh diff --git a/requirements.txt b/requirements.txt index 755e45263..3f6e3c421 100644 --- a/requirements.txt +++ b/requirements.txt @@ -10,4 +10,4 @@ fontMath==0.9.3 fontTools[unicode,woff,lxml,ufo]==4.43.0 tqdm==4.66.1 ufonormalizer==0.6.1 -ufoProcessor==1.9.0 +ufoProcessor==1.13.1 diff --git a/tests/makeinstancesufo_data/expected_output/Dummy-ExtraMinus.ufo/fontinfo.plist b/tests/makeinstancesufo_data/expected_output/Dummy-ExtraMinus.ufo/fontinfo.plist index 226852100..9184e4562 100644 --- a/tests/makeinstancesufo_data/expected_output/Dummy-ExtraMinus.ufo/fontinfo.plist +++ b/tests/makeinstancesufo_data/expected_output/Dummy-ExtraMinus.ufo/fontinfo.plist @@ -6,6 +6,8 @@ 750 capHeight 750 + copyright + Copyright 2010, 2012, 2014 Adobe Systems Incorporated (http://www.adobe.com/), with Reserved Font Name 'Source'. descender -250 familyName @@ -15,6 +17,11 @@ italicAngle 0 + 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 postscriptBlueFuzz 0 postscriptBlueScale @@ -60,6 +67,8 @@ postscriptFontName Dummy-ExtraMinus + postscriptForceBold + postscriptOtherBlues -243 @@ -81,8 +90,14 @@ 50 styleName Extra Minus + trademark + Source is a trademark of Adobe Systems Incorporated in the United States and/or other countries. unitsPerEm 1000 + versionMajor + 2 + versionMinor + 0 xHeight 500 diff --git a/tests/makeinstancesufo_data/expected_output/Dummy-ExtraPlus.ufo/fontinfo.plist b/tests/makeinstancesufo_data/expected_output/Dummy-ExtraPlus.ufo/fontinfo.plist index 16c9ed1a4..2780d2628 100644 --- a/tests/makeinstancesufo_data/expected_output/Dummy-ExtraPlus.ufo/fontinfo.plist +++ b/tests/makeinstancesufo_data/expected_output/Dummy-ExtraPlus.ufo/fontinfo.plist @@ -6,6 +6,8 @@ 750 capHeight 750 + copyright + Copyright 2010, 2012, 2014 Adobe Systems Incorporated (http://www.adobe.com/), with Reserved Font Name 'Source'. descender -250 familyName @@ -15,6 +17,11 @@ italicAngle 0 + 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 postscriptBlueFuzz 0 postscriptBlueScale @@ -60,6 +67,8 @@ postscriptFontName Dummy-ExtraPlus + postscriptForceBold + postscriptOtherBlues -165 @@ -81,8 +90,14 @@ 50 styleName Extra Plus + trademark + Source is a trademark of Adobe Systems Incorporated in the United States and/or other countries. unitsPerEm 1000 + versionMajor + 2 + versionMinor + 0 xHeight 500 diff --git a/tests/makeinstancesufo_data/expected_output/anisotropic.ufo/groups.plist b/tests/makeinstancesufo_data/expected_output/anisotropic.ufo/groups.plist index 61918a0e9..3548ad16e 100644 --- a/tests/makeinstancesufo_data/expected_output/anisotropic.ufo/groups.plist +++ b/tests/makeinstancesufo_data/expected_output/anisotropic.ufo/groups.plist @@ -2,6 +2,62 @@ + @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 diff --git a/tests/makeinstancesufo_data/expected_output/bend1.ufo/features.fea b/tests/makeinstancesufo_data/expected_output/bend1.ufo/features.fea new file mode 100644 index 000000000..95e89ffb5 --- /dev/null +++ b/tests/makeinstancesufo_data/expected_output/bend1.ufo/features.fea @@ -0,0 +1,14 @@ +@lat_UC_left = [ A B C D E F G H J K L M N O P R S T U V W X Y Z ]; + +@lat_lcnew_right = [ a o l lslash b ]; + +@punct_left = [ hyphen parenleft quotedblbase guillemotleft quotedblleft guillemotright quotedblright asterisk quotesingle comma period slash colon semicolon question backslash bullet ]; + +@punct_right = [ hyphen parenright guillemotleft quotedblleft guillemotright quotedblright exclam quotedbl asterisk comma period slash colon semicolon question backslash bullet ]; + +@lat_lc_right = [ a n e c f g i j lslash o p d h s t u v w x y z ]; + +@lat_lcnew_left = [ d dcaron e c l lslash o eth s germandbls ]; + +@lat_lc_left = [ c dcaron eth e f longs germandbls g j k lslash o b r d n a s t v w x y z ]; + diff --git a/tests/makeinstancesufo_data/expected_output/bend2.ufo/features.fea b/tests/makeinstancesufo_data/expected_output/bend2.ufo/features.fea new file mode 100644 index 000000000..95e89ffb5 --- /dev/null +++ b/tests/makeinstancesufo_data/expected_output/bend2.ufo/features.fea @@ -0,0 +1,14 @@ +@lat_UC_left = [ A B C D E F G H J K L M N O P R S T U V W X Y Z ]; + +@lat_lcnew_right = [ a o l lslash b ]; + +@punct_left = [ hyphen parenleft quotedblbase guillemotleft quotedblleft guillemotright quotedblright asterisk quotesingle comma period slash colon semicolon question backslash bullet ]; + +@punct_right = [ hyphen parenright guillemotleft quotedblleft guillemotright quotedblright exclam quotedbl asterisk comma period slash colon semicolon question backslash bullet ]; + +@lat_lc_right = [ a n e c f g i j lslash o p d h s t u v w x y z ]; + +@lat_lcnew_left = [ d dcaron e c l lslash o eth s germandbls ]; + +@lat_lc_left = [ c dcaron eth e f longs germandbls g j k lslash o b r d n a s t v w x y z ]; + diff --git a/tests/makeinstancesufo_data/expected_output/bend3.ufo/features.fea b/tests/makeinstancesufo_data/expected_output/bend3.ufo/features.fea new file mode 100644 index 000000000..95e89ffb5 --- /dev/null +++ b/tests/makeinstancesufo_data/expected_output/bend3.ufo/features.fea @@ -0,0 +1,14 @@ +@lat_UC_left = [ A B C D E F G H J K L M N O P R S T U V W X Y Z ]; + +@lat_lcnew_right = [ a o l lslash b ]; + +@punct_left = [ hyphen parenleft quotedblbase guillemotleft quotedblleft guillemotright quotedblright asterisk quotesingle comma period slash colon semicolon question backslash bullet ]; + +@punct_right = [ hyphen parenright guillemotleft quotedblleft guillemotright quotedblright exclam quotedbl asterisk comma period slash colon semicolon question backslash bullet ]; + +@lat_lc_right = [ a n e c f g i j lslash o p d h s t u v w x y z ]; + +@lat_lcnew_left = [ d dcaron e c l lslash o eth s germandbls ]; + +@lat_lc_left = [ c dcaron eth e f longs germandbls g j k lslash o b r d n a s t v w x y z ]; + diff --git a/tests/makeinstancesufo_data/expected_output/black.ufo/groups.plist b/tests/makeinstancesufo_data/expected_output/black.ufo/groups.plist index 61918a0e9..3548ad16e 100644 --- a/tests/makeinstancesufo_data/expected_output/black.ufo/groups.plist +++ b/tests/makeinstancesufo_data/expected_output/black.ufo/groups.plist @@ -2,6 +2,62 @@ + @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 diff --git a/tests/makeinstancesufo_data/expected_output/bold.ufo/groups.plist b/tests/makeinstancesufo_data/expected_output/bold.ufo/groups.plist index 61918a0e9..3548ad16e 100644 --- a/tests/makeinstancesufo_data/expected_output/bold.ufo/groups.plist +++ b/tests/makeinstancesufo_data/expected_output/bold.ufo/groups.plist @@ -2,6 +2,62 @@ + @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 diff --git a/tests/makeinstancesufo_data/expected_output/extralight.ufo/groups.plist b/tests/makeinstancesufo_data/expected_output/extralight.ufo/groups.plist index b348c047e..2527be6b3 100644 --- a/tests/makeinstancesufo_data/expected_output/extralight.ufo/groups.plist +++ b/tests/makeinstancesufo_data/expected_output/extralight.ufo/groups.plist @@ -2,6 +2,62 @@ + @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 diff --git a/tests/makeinstancesufo_data/expected_output/features_copy1.ufo/features.fea b/tests/makeinstancesufo_data/expected_output/features_copy1.ufo/features.fea index 83c90d56e..9ed154f99 100644 --- a/tests/makeinstancesufo_data/expected_output/features_copy1.ufo/features.fea +++ b/tests/makeinstancesufo_data/expected_output/features_copy1.ufo/features.fea @@ -1 +1 @@ -# Master 1 +# Master 0 diff --git a/tests/makeinstancesufo_data/expected_output/features_copy2.ufo/features.fea b/tests/makeinstancesufo_data/expected_output/features_copy2.ufo/features.fea index 83c90d56e..9ed154f99 100644 --- a/tests/makeinstancesufo_data/expected_output/features_copy2.ufo/features.fea +++ b/tests/makeinstancesufo_data/expected_output/features_copy2.ufo/features.fea @@ -1 +1 @@ -# Master 1 +# Master 0 diff --git a/tests/makeinstancesufo_data/expected_output/light.ufo/groups.plist b/tests/makeinstancesufo_data/expected_output/light.ufo/groups.plist index b348c047e..2527be6b3 100644 --- a/tests/makeinstancesufo_data/expected_output/light.ufo/groups.plist +++ b/tests/makeinstancesufo_data/expected_output/light.ufo/groups.plist @@ -2,6 +2,62 @@ + @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 diff --git a/tests/makeinstancesufo_data/expected_output/overlapping-Black.ufo/features.fea b/tests/makeinstancesufo_data/expected_output/overlapping-Black.ufo/features.fea new file mode 100644 index 000000000..dd5c29503 --- /dev/null +++ b/tests/makeinstancesufo_data/expected_output/overlapping-Black.ufo/features.fea @@ -0,0 +1,11 @@ +### prefix:-1: ### +### open prefix '' ### +languagesystem DFLT dflt; +### close prefix '' ### + +table GDEF { + GlyphClassDef ,# Base + , # Liga + , # Mark + ; + } GDEF; diff --git a/tests/makeinstancesufo_data/expected_output/overlapping-Black.ufo/fontinfo.plist b/tests/makeinstancesufo_data/expected_output/overlapping-Black.ufo/fontinfo.plist new file mode 100644 index 000000000..66cbcf01a --- /dev/null +++ b/tests/makeinstancesufo_data/expected_output/overlapping-Black.ufo/fontinfo.plist @@ -0,0 +1,56 @@ + + + + + ascender + 800 + capHeight + 700 + descender + -200 + familyName + Font + guidelines + + italicAngle + 0 + openTypeHeadCreated + 2024/08/07 17:44:51 + postscriptBlueValues + + -16 + 0 + 500 + 516 + 700 + 716 + 800 + 816 + + postscriptFamilyBlues + + postscriptFamilyOtherBlues + + postscriptFontName + Font-Black + postscriptOtherBlues + + -216 + -200 + + postscriptStemSnapH + + postscriptStemSnapV + + styleName + Black + unitsPerEm + 1000 + versionMajor + 1 + versionMinor + 0 + xHeight + 500 + + diff --git a/tests/makeinstancesufo_data/expected_output/overlapping-Black.ufo/glyphs/_notdef.glif b/tests/makeinstancesufo_data/expected_output/overlapping-Black.ufo/glyphs/_notdef.glif new file mode 100644 index 000000000..50ec2b579 --- /dev/null +++ b/tests/makeinstancesufo_data/expected_output/overlapping-Black.ufo/glyphs/_notdef.glif @@ -0,0 +1,6 @@ + + + + + + diff --git a/tests/makeinstancesufo_data/expected_output/overlapping-Black.ufo/glyphs/contents.plist b/tests/makeinstancesufo_data/expected_output/overlapping-Black.ufo/glyphs/contents.plist new file mode 100644 index 000000000..374cc07e3 --- /dev/null +++ b/tests/makeinstancesufo_data/expected_output/overlapping-Black.ufo/glyphs/contents.plist @@ -0,0 +1,10 @@ + + + + + .notdef + _notdef.glif + iamaglyph + iamaglyph.glif + + diff --git a/tests/makeinstancesufo_data/expected_output/overlapping-Black.ufo/glyphs/iamaglyph.glif b/tests/makeinstancesufo_data/expected_output/overlapping-Black.ufo/glyphs/iamaglyph.glif new file mode 100644 index 000000000..617169254 --- /dev/null +++ b/tests/makeinstancesufo_data/expected_output/overlapping-Black.ufo/glyphs/iamaglyph.glif @@ -0,0 +1,39 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/makeinstancesufo_data/expected_output/overlapping-Black.ufo/layercontents.plist b/tests/makeinstancesufo_data/expected_output/overlapping-Black.ufo/layercontents.plist new file mode 100644 index 000000000..b9c1a4f27 --- /dev/null +++ b/tests/makeinstancesufo_data/expected_output/overlapping-Black.ufo/layercontents.plist @@ -0,0 +1,10 @@ + + + + + + public.default + glyphs + + + diff --git a/tests/makeinstancesufo_data/expected_output/overlapping-Black.ufo/lib.plist b/tests/makeinstancesufo_data/expected_output/overlapping-Black.ufo/lib.plist new file mode 100644 index 000000000..61c80ef34 --- /dev/null +++ b/tests/makeinstancesufo_data/expected_output/overlapping-Black.ufo/lib.plist @@ -0,0 +1,11 @@ + + + + + public.glyphOrder + + .notdef + iamaglyph + + + diff --git a/tests/makeinstancesufo_data/expected_output/overlapping-Black.ufo/metainfo.plist b/tests/makeinstancesufo_data/expected_output/overlapping-Black.ufo/metainfo.plist new file mode 100644 index 000000000..7b8b34ac6 --- /dev/null +++ b/tests/makeinstancesufo_data/expected_output/overlapping-Black.ufo/metainfo.plist @@ -0,0 +1,10 @@ + + + + + creator + com.github.fonttools.ufoLib + formatVersion + 3 + + diff --git a/tests/makeinstancesufo_data/expected_output/overlapping-Thin.ufo/features.fea b/tests/makeinstancesufo_data/expected_output/overlapping-Thin.ufo/features.fea new file mode 100644 index 000000000..dd5c29503 --- /dev/null +++ b/tests/makeinstancesufo_data/expected_output/overlapping-Thin.ufo/features.fea @@ -0,0 +1,11 @@ +### prefix:-1: ### +### open prefix '' ### +languagesystem DFLT dflt; +### close prefix '' ### + +table GDEF { + GlyphClassDef ,# Base + , # Liga + , # Mark + ; + } GDEF; diff --git a/tests/makeinstancesufo_data/expected_output/overlapping-Thin.ufo/fontinfo.plist b/tests/makeinstancesufo_data/expected_output/overlapping-Thin.ufo/fontinfo.plist new file mode 100644 index 000000000..dbd7d1574 --- /dev/null +++ b/tests/makeinstancesufo_data/expected_output/overlapping-Thin.ufo/fontinfo.plist @@ -0,0 +1,56 @@ + + + + + ascender + 800 + capHeight + 700 + descender + -200 + familyName + Font + guidelines + + italicAngle + 0 + openTypeHeadCreated + 2024/08/07 17:44:51 + postscriptBlueValues + + -16 + 0 + 500 + 516 + 700 + 716 + 800 + 816 + + postscriptFamilyBlues + + postscriptFamilyOtherBlues + + postscriptFontName + Font-ExtraLight + postscriptOtherBlues + + -216 + -200 + + postscriptStemSnapH + + postscriptStemSnapV + + styleName + Thin + unitsPerEm + 1000 + versionMajor + 1 + versionMinor + 0 + xHeight + 500 + + diff --git a/tests/makeinstancesufo_data/expected_output/overlapping-Thin.ufo/glyphs/_notdef.glif b/tests/makeinstancesufo_data/expected_output/overlapping-Thin.ufo/glyphs/_notdef.glif new file mode 100644 index 000000000..50ec2b579 --- /dev/null +++ b/tests/makeinstancesufo_data/expected_output/overlapping-Thin.ufo/glyphs/_notdef.glif @@ -0,0 +1,6 @@ + + + + + + diff --git a/tests/makeinstancesufo_data/expected_output/overlapping-Thin.ufo/glyphs/contents.plist b/tests/makeinstancesufo_data/expected_output/overlapping-Thin.ufo/glyphs/contents.plist new file mode 100644 index 000000000..374cc07e3 --- /dev/null +++ b/tests/makeinstancesufo_data/expected_output/overlapping-Thin.ufo/glyphs/contents.plist @@ -0,0 +1,10 @@ + + + + + .notdef + _notdef.glif + iamaglyph + iamaglyph.glif + + diff --git a/tests/makeinstancesufo_data/expected_output/overlapping-Thin.ufo/glyphs/iamaglyph.glif b/tests/makeinstancesufo_data/expected_output/overlapping-Thin.ufo/glyphs/iamaglyph.glif new file mode 100644 index 000000000..b1cb2031a --- /dev/null +++ b/tests/makeinstancesufo_data/expected_output/overlapping-Thin.ufo/glyphs/iamaglyph.glif @@ -0,0 +1,39 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/makeinstancesufo_data/expected_output/overlapping-Thin.ufo/layercontents.plist b/tests/makeinstancesufo_data/expected_output/overlapping-Thin.ufo/layercontents.plist new file mode 100644 index 000000000..b9c1a4f27 --- /dev/null +++ b/tests/makeinstancesufo_data/expected_output/overlapping-Thin.ufo/layercontents.plist @@ -0,0 +1,10 @@ + + + + + + public.default + glyphs + + + diff --git a/tests/makeinstancesufo_data/expected_output/overlapping-Thin.ufo/lib.plist b/tests/makeinstancesufo_data/expected_output/overlapping-Thin.ufo/lib.plist new file mode 100644 index 000000000..61c80ef34 --- /dev/null +++ b/tests/makeinstancesufo_data/expected_output/overlapping-Thin.ufo/lib.plist @@ -0,0 +1,11 @@ + + + + + public.glyphOrder + + .notdef + iamaglyph + + + diff --git a/tests/makeinstancesufo_data/expected_output/overlapping-Thin.ufo/metainfo.plist b/tests/makeinstancesufo_data/expected_output/overlapping-Thin.ufo/metainfo.plist new file mode 100644 index 000000000..7b8b34ac6 --- /dev/null +++ b/tests/makeinstancesufo_data/expected_output/overlapping-Thin.ufo/metainfo.plist @@ -0,0 +1,10 @@ + + + + + creator + com.github.fonttools.ufoLib + formatVersion + 3 + + diff --git a/tests/makeinstancesufo_data/expected_output/regular.ufo/groups.plist b/tests/makeinstancesufo_data/expected_output/regular.ufo/groups.plist index b348c047e..2527be6b3 100644 --- a/tests/makeinstancesufo_data/expected_output/regular.ufo/groups.plist +++ b/tests/makeinstancesufo_data/expected_output/regular.ufo/groups.plist @@ -2,6 +2,62 @@ + @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 diff --git a/tests/makeinstancesufo_data/expected_output/regular1.ufo/groups.plist b/tests/makeinstancesufo_data/expected_output/regular1.ufo/groups.plist index 61918a0e9..3548ad16e 100644 --- a/tests/makeinstancesufo_data/expected_output/regular1.ufo/groups.plist +++ b/tests/makeinstancesufo_data/expected_output/regular1.ufo/groups.plist @@ -2,6 +2,62 @@ + @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 diff --git a/tests/makeinstancesufo_data/expected_output/semibold.ufo/groups.plist b/tests/makeinstancesufo_data/expected_output/semibold.ufo/groups.plist index b348c047e..2527be6b3 100644 --- a/tests/makeinstancesufo_data/expected_output/semibold.ufo/groups.plist +++ b/tests/makeinstancesufo_data/expected_output/semibold.ufo/groups.plist @@ -2,6 +2,62 @@ + @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 diff --git a/tests/makeinstancesufo_data/expected_output/ufo2.ufo/fontinfo.plist b/tests/makeinstancesufo_data/expected_output/ufo2.ufo/fontinfo.plist index 6bfc12612..dd8363e58 100644 --- a/tests/makeinstancesufo_data/expected_output/ufo2.ufo/fontinfo.plist +++ b/tests/makeinstancesufo_data/expected_output/ufo2.ufo/fontinfo.plist @@ -12,6 +12,9 @@ -239 familyName Source Serif Pro + guidelines + + italicAngle 0 openTypeHheaAscender diff --git a/tests/makeinstancesufo_data/expected_output/ufo2.ufo/glyphs/A_.glif b/tests/makeinstancesufo_data/expected_output/ufo2.ufo/glyphs/A_.glif index 418707211..1b8c38d86 100644 --- a/tests/makeinstancesufo_data/expected_output/ufo2.ufo/glyphs/A_.glif +++ b/tests/makeinstancesufo_data/expected_output/ufo2.ufo/glyphs/A_.glif @@ -1,5 +1,5 @@ - + @@ -35,14 +35,8 @@ - - - - - - - - - + + + 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 index 13e7c81aa..7052001c3 100644 --- a/tests/makeinstancesufo_data/expected_output/ufo2.ufo/glyphs/A_acute.glif +++ b/tests/makeinstancesufo_data/expected_output/ufo2.ufo/glyphs/A_acute.glif @@ -1,5 +1,5 @@ - + 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 index 8473b218d..e79c0b5e7 100644 --- a/tests/makeinstancesufo_data/expected_output/ufo2.ufo/glyphs/A_dieresis.glif +++ b/tests/makeinstancesufo_data/expected_output/ufo2.ufo/glyphs/A_dieresis.glif @@ -1,5 +1,5 @@ - + 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 index 919af4ab9..2771b7328 100644 --- a/tests/makeinstancesufo_data/expected_output/ufo2.ufo/glyphs/A_tilde.glif +++ b/tests/makeinstancesufo_data/expected_output/ufo2.ufo/glyphs/A_tilde.glif @@ -1,5 +1,5 @@ - + diff --git a/tests/makeinstancesufo_data/expected_output/ufo2.ufo/glyphs/Y_.glif b/tests/makeinstancesufo_data/expected_output/ufo2.ufo/glyphs/Y_.glif index 6913eae68..11dbd3c62 100644 --- a/tests/makeinstancesufo_data/expected_output/ufo2.ufo/glyphs/Y_.glif +++ b/tests/makeinstancesufo_data/expected_output/ufo2.ufo/glyphs/Y_.glif @@ -1,5 +1,5 @@ - + @@ -47,11 +47,7 @@ - - - - - - + + 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 index 774a44d02..63bfa65a9 100644 --- a/tests/makeinstancesufo_data/expected_output/ufo2.ufo/glyphs/Y_acute.glif +++ b/tests/makeinstancesufo_data/expected_output/ufo2.ufo/glyphs/Y_acute.glif @@ -1,5 +1,5 @@ - + 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 index 14b96718c..ee6cde80f 100644 --- a/tests/makeinstancesufo_data/expected_output/ufo2.ufo/glyphs/Y_dieresis.glif +++ b/tests/makeinstancesufo_data/expected_output/ufo2.ufo/glyphs/Y_dieresis.glif @@ -1,5 +1,5 @@ - + 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 index c059d610d..ef5de6301 100644 --- a/tests/makeinstancesufo_data/expected_output/ufo2.ufo/glyphs/Y_tilde.glif +++ b/tests/makeinstancesufo_data/expected_output/ufo2.ufo/glyphs/Y_tilde.glif @@ -1,5 +1,5 @@ - + diff --git a/tests/makeinstancesufo_data/expected_output/ufo2.ufo/glyphs/a.glif b/tests/makeinstancesufo_data/expected_output/ufo2.ufo/glyphs/a.glif index c2b774e62..902146aab 100644 --- a/tests/makeinstancesufo_data/expected_output/ufo2.ufo/glyphs/a.glif +++ b/tests/makeinstancesufo_data/expected_output/ufo2.ufo/glyphs/a.glif @@ -1,5 +1,5 @@ - + @@ -70,14 +70,8 @@ - - - - - - - - - + + + diff --git a/tests/makeinstancesufo_data/expected_output/ufo2.ufo/glyphs/aacute.glif b/tests/makeinstancesufo_data/expected_output/ufo2.ufo/glyphs/aacute.glif index 87e704d30..5fb6d9a6f 100644 --- a/tests/makeinstancesufo_data/expected_output/ufo2.ufo/glyphs/aacute.glif +++ b/tests/makeinstancesufo_data/expected_output/ufo2.ufo/glyphs/aacute.glif @@ -1,5 +1,5 @@ - + 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 index 05433b6bc..c1a3d3a07 100644 --- a/tests/makeinstancesufo_data/expected_output/ufo2.ufo/glyphs/acutecmb.cap.glif +++ b/tests/makeinstancesufo_data/expected_output/ufo2.ufo/glyphs/acutecmb.cap.glif @@ -1,5 +1,5 @@ - + @@ -19,8 +19,6 @@ - - - + diff --git a/tests/makeinstancesufo_data/expected_output/ufo2.ufo/glyphs/acutecmb.glif b/tests/makeinstancesufo_data/expected_output/ufo2.ufo/glyphs/acutecmb.glif index 3f1a7dba3..39b838b9c 100644 --- a/tests/makeinstancesufo_data/expected_output/ufo2.ufo/glyphs/acutecmb.glif +++ b/tests/makeinstancesufo_data/expected_output/ufo2.ufo/glyphs/acutecmb.glif @@ -1,5 +1,5 @@ - + @@ -20,8 +20,6 @@ - - - + diff --git a/tests/makeinstancesufo_data/expected_output/ufo2.ufo/glyphs/adieresis.glif b/tests/makeinstancesufo_data/expected_output/ufo2.ufo/glyphs/adieresis.glif index 84a59469f..e11a7b10f 100644 --- a/tests/makeinstancesufo_data/expected_output/ufo2.ufo/glyphs/adieresis.glif +++ b/tests/makeinstancesufo_data/expected_output/ufo2.ufo/glyphs/adieresis.glif @@ -1,5 +1,5 @@ - + diff --git a/tests/makeinstancesufo_data/expected_output/ufo2.ufo/glyphs/atilde.glif b/tests/makeinstancesufo_data/expected_output/ufo2.ufo/glyphs/atilde.glif index 18b0b00ea..227256e00 100644 --- a/tests/makeinstancesufo_data/expected_output/ufo2.ufo/glyphs/atilde.glif +++ b/tests/makeinstancesufo_data/expected_output/ufo2.ufo/glyphs/atilde.glif @@ -1,5 +1,5 @@ - + 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 index cb7618f51..c03d333de 100644 --- a/tests/makeinstancesufo_data/expected_output/ufo2.ufo/glyphs/dieresiscmb.cap.glif +++ b/tests/makeinstancesufo_data/expected_output/ufo2.ufo/glyphs/dieresiscmb.cap.glif @@ -1,5 +1,5 @@ - + @@ -29,8 +29,6 @@ - - - + diff --git a/tests/makeinstancesufo_data/expected_output/ufo2.ufo/glyphs/dieresiscmb.glif b/tests/makeinstancesufo_data/expected_output/ufo2.ufo/glyphs/dieresiscmb.glif index c27abdc28..bea0714e4 100644 --- a/tests/makeinstancesufo_data/expected_output/ufo2.ufo/glyphs/dieresiscmb.glif +++ b/tests/makeinstancesufo_data/expected_output/ufo2.ufo/glyphs/dieresiscmb.glif @@ -1,5 +1,5 @@ - + @@ -30,11 +30,7 @@ - - - - - - + + 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 index b935e133b..379a687bf 100644 --- a/tests/makeinstancesufo_data/expected_output/ufo2.ufo/glyphs/tildecmb.cap.glif +++ b/tests/makeinstancesufo_data/expected_output/ufo2.ufo/glyphs/tildecmb.cap.glif @@ -1,5 +1,5 @@ - + @@ -29,8 +29,6 @@ - - - + diff --git a/tests/makeinstancesufo_data/expected_output/ufo2.ufo/glyphs/tildecmb.glif b/tests/makeinstancesufo_data/expected_output/ufo2.ufo/glyphs/tildecmb.glif index d37fb6146..a0277624c 100644 --- a/tests/makeinstancesufo_data/expected_output/ufo2.ufo/glyphs/tildecmb.glif +++ b/tests/makeinstancesufo_data/expected_output/ufo2.ufo/glyphs/tildecmb.glif @@ -1,5 +1,5 @@ - + @@ -30,8 +30,6 @@ - - - + diff --git a/tests/makeinstancesufo_data/expected_output/ufo2.ufo/glyphs/y.glif b/tests/makeinstancesufo_data/expected_output/ufo2.ufo/glyphs/y.glif index ff2b42182..457ccc624 100644 --- a/tests/makeinstancesufo_data/expected_output/ufo2.ufo/glyphs/y.glif +++ b/tests/makeinstancesufo_data/expected_output/ufo2.ufo/glyphs/y.glif @@ -1,5 +1,5 @@ - + @@ -49,11 +49,7 @@ - - - - - - + + diff --git a/tests/makeinstancesufo_data/expected_output/ufo2.ufo/glyphs/yacute.glif b/tests/makeinstancesufo_data/expected_output/ufo2.ufo/glyphs/yacute.glif index 826e16a22..b8846bea3 100644 --- a/tests/makeinstancesufo_data/expected_output/ufo2.ufo/glyphs/yacute.glif +++ b/tests/makeinstancesufo_data/expected_output/ufo2.ufo/glyphs/yacute.glif @@ -1,5 +1,5 @@ - + diff --git a/tests/makeinstancesufo_data/expected_output/ufo2.ufo/glyphs/ydieresis.glif b/tests/makeinstancesufo_data/expected_output/ufo2.ufo/glyphs/ydieresis.glif index d0b302786..dcb0c3a75 100644 --- a/tests/makeinstancesufo_data/expected_output/ufo2.ufo/glyphs/ydieresis.glif +++ b/tests/makeinstancesufo_data/expected_output/ufo2.ufo/glyphs/ydieresis.glif @@ -1,5 +1,5 @@ - + diff --git a/tests/makeinstancesufo_data/expected_output/ufo2.ufo/glyphs/ytilde.glif b/tests/makeinstancesufo_data/expected_output/ufo2.ufo/glyphs/ytilde.glif index cb03f22d9..2d76a9867 100644 --- a/tests/makeinstancesufo_data/expected_output/ufo2.ufo/glyphs/ytilde.glif +++ b/tests/makeinstancesufo_data/expected_output/ufo2.ufo/glyphs/ytilde.glif @@ -1,5 +1,5 @@ - + diff --git a/tests/makeinstancesufo_data/expected_output/ufo2.ufo/groups.plist b/tests/makeinstancesufo_data/expected_output/ufo2.ufo/groups.plist index dcc8184b8..2527be6b3 100644 --- a/tests/makeinstancesufo_data/expected_output/ufo2.ufo/groups.plist +++ b/tests/makeinstancesufo_data/expected_output/ufo2.ufo/groups.plist @@ -66,5 +66,61 @@ 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/ufo2.ufo/kerning.plist b/tests/makeinstancesufo_data/expected_output/ufo2.ufo/kerning.plist index 33db1da84..9cc8895d3 100644 --- a/tests/makeinstancesufo_data/expected_output/ufo2.ufo/kerning.plist +++ b/tests/makeinstancesufo_data/expected_output/ufo2.ufo/kerning.plist @@ -2,50 +2,50 @@ - @MMK_L_LAT_A + public.kern1.LAT_A - @MMK_R_LAT_A + public.kern2.LAT_A 10 - @MMK_R_LAT_Y + public.kern2.LAT_Y -90 - @MMK_R_LAT_a + public.kern2.LAT_a -5 - @MMK_R_LAT_y + public.kern2.LAT_y -50 - @MMK_L_LAT_Y + public.kern1.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 + public.kern2.LAT_A + -90 + public.kern2.LAT_Y + 0 + public.kern2.LAT_a + -80 + public.kern2.LAT_y + -69 - @MMK_L_LAT_a + public.kern1.LAT_a - @MMK_R_LAT_A + public.kern2.LAT_A 10 - @MMK_R_LAT_Y + public.kern2.LAT_Y -80 - @MMK_R_LAT_y + public.kern2.LAT_y -10 - @MMK_L_LAT_v + public.kern1.LAT_v - @MMK_R_LAT_A + public.kern2.LAT_A -71 - @MMK_R_LAT_Y + public.kern2.LAT_Y -50 - @MMK_R_LAT_a + public.kern2.LAT_a -16 - @MMK_R_LAT_y + public.kern2.LAT_y 9 diff --git a/tests/makeinstancesufo_data/expected_output/ufo3semibold.ufo/fontinfo.plist b/tests/makeinstancesufo_data/expected_output/ufo3semibold.ufo/fontinfo.plist index 199cb1c21..f7074fbbf 100644 --- a/tests/makeinstancesufo_data/expected_output/ufo3semibold.ufo/fontinfo.plist +++ b/tests/makeinstancesufo_data/expected_output/ufo3semibold.ufo/fontinfo.plist @@ -12,6 +12,9 @@ -231 familyName Source Serif Pro + guidelines + + italicAngle 0 openTypeHheaAscender diff --git a/tests/makeinstancesufo_data/expected_output/ufo3semibold.ufo/glyphs/A_.glif b/tests/makeinstancesufo_data/expected_output/ufo3semibold.ufo/glyphs/A_.glif index 67443357a..f5ea7b561 100644 --- a/tests/makeinstancesufo_data/expected_output/ufo3semibold.ufo/glyphs/A_.glif +++ b/tests/makeinstancesufo_data/expected_output/ufo3semibold.ufo/glyphs/A_.glif @@ -1,5 +1,5 @@ - + @@ -35,14 +35,8 @@ - - - - - - - - - + + + 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 index fb33eec1f..d8d29c11a 100644 --- a/tests/makeinstancesufo_data/expected_output/ufo3semibold.ufo/glyphs/A_acute.glif +++ b/tests/makeinstancesufo_data/expected_output/ufo3semibold.ufo/glyphs/A_acute.glif @@ -1,5 +1,5 @@ - + 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 index f3535950a..90b1ed882 100644 --- a/tests/makeinstancesufo_data/expected_output/ufo3semibold.ufo/glyphs/A_dieresis.glif +++ b/tests/makeinstancesufo_data/expected_output/ufo3semibold.ufo/glyphs/A_dieresis.glif @@ -1,5 +1,5 @@ - + 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 index 2458f61e7..e08cac5a4 100644 --- a/tests/makeinstancesufo_data/expected_output/ufo3semibold.ufo/glyphs/A_tilde.glif +++ b/tests/makeinstancesufo_data/expected_output/ufo3semibold.ufo/glyphs/A_tilde.glif @@ -1,5 +1,5 @@ - + diff --git a/tests/makeinstancesufo_data/expected_output/ufo3semibold.ufo/glyphs/Y_.glif b/tests/makeinstancesufo_data/expected_output/ufo3semibold.ufo/glyphs/Y_.glif index 457fe1992..c6518a697 100644 --- a/tests/makeinstancesufo_data/expected_output/ufo3semibold.ufo/glyphs/Y_.glif +++ b/tests/makeinstancesufo_data/expected_output/ufo3semibold.ufo/glyphs/Y_.glif @@ -1,5 +1,5 @@ - + @@ -47,11 +47,7 @@ - - - - - - + + 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 index 3d66593ba..920051ea6 100644 --- a/tests/makeinstancesufo_data/expected_output/ufo3semibold.ufo/glyphs/Y_acute.glif +++ b/tests/makeinstancesufo_data/expected_output/ufo3semibold.ufo/glyphs/Y_acute.glif @@ -1,5 +1,5 @@ - + 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 index 316cf040b..aee2fb497 100644 --- a/tests/makeinstancesufo_data/expected_output/ufo3semibold.ufo/glyphs/Y_dieresis.glif +++ b/tests/makeinstancesufo_data/expected_output/ufo3semibold.ufo/glyphs/Y_dieresis.glif @@ -1,5 +1,5 @@ - + 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 index 5ea48f002..be908b1a1 100644 --- a/tests/makeinstancesufo_data/expected_output/ufo3semibold.ufo/glyphs/Y_tilde.glif +++ b/tests/makeinstancesufo_data/expected_output/ufo3semibold.ufo/glyphs/Y_tilde.glif @@ -1,5 +1,5 @@ - + diff --git a/tests/makeinstancesufo_data/expected_output/ufo3semibold.ufo/glyphs/a.glif b/tests/makeinstancesufo_data/expected_output/ufo3semibold.ufo/glyphs/a.glif index e0d66c6b2..0f76c83d0 100644 --- a/tests/makeinstancesufo_data/expected_output/ufo3semibold.ufo/glyphs/a.glif +++ b/tests/makeinstancesufo_data/expected_output/ufo3semibold.ufo/glyphs/a.glif @@ -1,5 +1,5 @@ - + @@ -70,14 +70,8 @@ - - - - - - - - - + + + diff --git a/tests/makeinstancesufo_data/expected_output/ufo3semibold.ufo/glyphs/aacute.glif b/tests/makeinstancesufo_data/expected_output/ufo3semibold.ufo/glyphs/aacute.glif index 60126f80e..77d2bc2d2 100644 --- a/tests/makeinstancesufo_data/expected_output/ufo3semibold.ufo/glyphs/aacute.glif +++ b/tests/makeinstancesufo_data/expected_output/ufo3semibold.ufo/glyphs/aacute.glif @@ -1,5 +1,5 @@ - + 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 index ae408954c..e8fd81b25 100644 --- a/tests/makeinstancesufo_data/expected_output/ufo3semibold.ufo/glyphs/acutecmb.cap.glif +++ b/tests/makeinstancesufo_data/expected_output/ufo3semibold.ufo/glyphs/acutecmb.cap.glif @@ -1,5 +1,5 @@ - + @@ -19,8 +19,6 @@ - - - + diff --git a/tests/makeinstancesufo_data/expected_output/ufo3semibold.ufo/glyphs/acutecmb.glif b/tests/makeinstancesufo_data/expected_output/ufo3semibold.ufo/glyphs/acutecmb.glif index 23fe0f9f7..fe8dc474d 100644 --- a/tests/makeinstancesufo_data/expected_output/ufo3semibold.ufo/glyphs/acutecmb.glif +++ b/tests/makeinstancesufo_data/expected_output/ufo3semibold.ufo/glyphs/acutecmb.glif @@ -1,5 +1,5 @@ - + @@ -20,8 +20,6 @@ - - - + diff --git a/tests/makeinstancesufo_data/expected_output/ufo3semibold.ufo/glyphs/adieresis.glif b/tests/makeinstancesufo_data/expected_output/ufo3semibold.ufo/glyphs/adieresis.glif index 3a26ab5d2..d011cac40 100644 --- a/tests/makeinstancesufo_data/expected_output/ufo3semibold.ufo/glyphs/adieresis.glif +++ b/tests/makeinstancesufo_data/expected_output/ufo3semibold.ufo/glyphs/adieresis.glif @@ -1,5 +1,5 @@ - + diff --git a/tests/makeinstancesufo_data/expected_output/ufo3semibold.ufo/glyphs/atilde.glif b/tests/makeinstancesufo_data/expected_output/ufo3semibold.ufo/glyphs/atilde.glif index 513076017..5c3323cc8 100644 --- a/tests/makeinstancesufo_data/expected_output/ufo3semibold.ufo/glyphs/atilde.glif +++ b/tests/makeinstancesufo_data/expected_output/ufo3semibold.ufo/glyphs/atilde.glif @@ -1,5 +1,5 @@ - + 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 index 03b3d969d..3a304a5de 100644 --- a/tests/makeinstancesufo_data/expected_output/ufo3semibold.ufo/glyphs/dieresiscmb.cap.glif +++ b/tests/makeinstancesufo_data/expected_output/ufo3semibold.ufo/glyphs/dieresiscmb.cap.glif @@ -1,5 +1,5 @@ - + @@ -29,8 +29,6 @@ - - - + diff --git a/tests/makeinstancesufo_data/expected_output/ufo3semibold.ufo/glyphs/dieresiscmb.glif b/tests/makeinstancesufo_data/expected_output/ufo3semibold.ufo/glyphs/dieresiscmb.glif index 75b68d470..53e042ed0 100644 --- a/tests/makeinstancesufo_data/expected_output/ufo3semibold.ufo/glyphs/dieresiscmb.glif +++ b/tests/makeinstancesufo_data/expected_output/ufo3semibold.ufo/glyphs/dieresiscmb.glif @@ -1,5 +1,5 @@ - + @@ -30,11 +30,7 @@ - - - - - - + + 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 index 16b6c3110..5a2048368 100644 --- a/tests/makeinstancesufo_data/expected_output/ufo3semibold.ufo/glyphs/tildecmb.cap.glif +++ b/tests/makeinstancesufo_data/expected_output/ufo3semibold.ufo/glyphs/tildecmb.cap.glif @@ -1,5 +1,5 @@ - + @@ -29,8 +29,6 @@ - - - + diff --git a/tests/makeinstancesufo_data/expected_output/ufo3semibold.ufo/glyphs/tildecmb.glif b/tests/makeinstancesufo_data/expected_output/ufo3semibold.ufo/glyphs/tildecmb.glif index e229c7e14..c91b9ff8f 100644 --- a/tests/makeinstancesufo_data/expected_output/ufo3semibold.ufo/glyphs/tildecmb.glif +++ b/tests/makeinstancesufo_data/expected_output/ufo3semibold.ufo/glyphs/tildecmb.glif @@ -1,5 +1,5 @@ - + @@ -30,8 +30,6 @@ - - - + diff --git a/tests/makeinstancesufo_data/expected_output/ufo3semibold.ufo/glyphs/y.glif b/tests/makeinstancesufo_data/expected_output/ufo3semibold.ufo/glyphs/y.glif index 0c6a95057..c03dea1ac 100644 --- a/tests/makeinstancesufo_data/expected_output/ufo3semibold.ufo/glyphs/y.glif +++ b/tests/makeinstancesufo_data/expected_output/ufo3semibold.ufo/glyphs/y.glif @@ -1,5 +1,5 @@ - + @@ -49,11 +49,7 @@ - - - - - - + + diff --git a/tests/makeinstancesufo_data/expected_output/ufo3semibold.ufo/glyphs/yacute.glif b/tests/makeinstancesufo_data/expected_output/ufo3semibold.ufo/glyphs/yacute.glif index 8608a7910..3e4bd30f5 100644 --- a/tests/makeinstancesufo_data/expected_output/ufo3semibold.ufo/glyphs/yacute.glif +++ b/tests/makeinstancesufo_data/expected_output/ufo3semibold.ufo/glyphs/yacute.glif @@ -1,5 +1,5 @@ - + diff --git a/tests/makeinstancesufo_data/expected_output/ufo3semibold.ufo/glyphs/ydieresis.glif b/tests/makeinstancesufo_data/expected_output/ufo3semibold.ufo/glyphs/ydieresis.glif index 7461fd7c1..3af795a58 100644 --- a/tests/makeinstancesufo_data/expected_output/ufo3semibold.ufo/glyphs/ydieresis.glif +++ b/tests/makeinstancesufo_data/expected_output/ufo3semibold.ufo/glyphs/ydieresis.glif @@ -1,5 +1,5 @@ - + diff --git a/tests/makeinstancesufo_data/expected_output/ufo3semibold.ufo/glyphs/ytilde.glif b/tests/makeinstancesufo_data/expected_output/ufo3semibold.ufo/glyphs/ytilde.glif index 3aded687f..58bb7e056 100644 --- a/tests/makeinstancesufo_data/expected_output/ufo3semibold.ufo/glyphs/ytilde.glif +++ b/tests/makeinstancesufo_data/expected_output/ufo3semibold.ufo/glyphs/ytilde.glif @@ -1,5 +1,5 @@ - + diff --git a/tests/makeinstancesufo_data/input/OverlappingPoints-Black.ufo/features.fea b/tests/makeinstancesufo_data/input/OverlappingPoints-Black.ufo/features.fea new file mode 100644 index 000000000..dd5c29503 --- /dev/null +++ b/tests/makeinstancesufo_data/input/OverlappingPoints-Black.ufo/features.fea @@ -0,0 +1,11 @@ +### prefix:-1: ### +### open prefix '' ### +languagesystem DFLT dflt; +### close prefix '' ### + +table GDEF { + GlyphClassDef ,# Base + , # Liga + , # Mark + ; + } GDEF; diff --git a/tests/makeinstancesufo_data/input/OverlappingPoints-Black.ufo/fontinfo.plist b/tests/makeinstancesufo_data/input/OverlappingPoints-Black.ufo/fontinfo.plist new file mode 100644 index 000000000..1b47c0256 --- /dev/null +++ b/tests/makeinstancesufo_data/input/OverlappingPoints-Black.ufo/fontinfo.plist @@ -0,0 +1,56 @@ + + + + + ascender + 800 + capHeight + 700 + descender + -200 + familyName + OverlappingPoints + guidelines + + italicAngle + 0 + openTypeHeadCreated + 2024/08/07 17:44:51 + postscriptBlueValues + + -16 + 0 + 500 + 516 + 700 + 716 + 800 + 816 + + postscriptFamilyBlues + + postscriptFamilyOtherBlues + + postscriptFontName + OverlappingPoints-Regular + postscriptOtherBlues + + -216 + -200 + + postscriptStemSnapH + + postscriptStemSnapV + + styleName + Black + unitsPerEm + 1000 + versionMajor + 1 + versionMinor + 0 + xHeight + 500 + + diff --git a/tests/makeinstancesufo_data/input/OverlappingPoints-Black.ufo/glyphs/_notdef.glif b/tests/makeinstancesufo_data/input/OverlappingPoints-Black.ufo/glyphs/_notdef.glif new file mode 100644 index 000000000..50ec2b579 --- /dev/null +++ b/tests/makeinstancesufo_data/input/OverlappingPoints-Black.ufo/glyphs/_notdef.glif @@ -0,0 +1,6 @@ + + + + + + diff --git a/tests/makeinstancesufo_data/input/OverlappingPoints-Black.ufo/glyphs/contents.plist b/tests/makeinstancesufo_data/input/OverlappingPoints-Black.ufo/glyphs/contents.plist new file mode 100644 index 000000000..374cc07e3 --- /dev/null +++ b/tests/makeinstancesufo_data/input/OverlappingPoints-Black.ufo/glyphs/contents.plist @@ -0,0 +1,10 @@ + + + + + .notdef + _notdef.glif + iamaglyph + iamaglyph.glif + + diff --git a/tests/makeinstancesufo_data/input/OverlappingPoints-Black.ufo/glyphs/iamaglyph.glif b/tests/makeinstancesufo_data/input/OverlappingPoints-Black.ufo/glyphs/iamaglyph.glif new file mode 100644 index 000000000..fbba4b45d --- /dev/null +++ b/tests/makeinstancesufo_data/input/OverlappingPoints-Black.ufo/glyphs/iamaglyph.glif @@ -0,0 +1,39 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/makeinstancesufo_data/input/OverlappingPoints-Black.ufo/glyphs/layerinfo.plist b/tests/makeinstancesufo_data/input/OverlappingPoints-Black.ufo/glyphs/layerinfo.plist new file mode 100644 index 000000000..e0dd9a592 --- /dev/null +++ b/tests/makeinstancesufo_data/input/OverlappingPoints-Black.ufo/glyphs/layerinfo.plist @@ -0,0 +1,8 @@ + + + + + color + 0.5,0,0.5,0.7 + + diff --git a/tests/makeinstancesufo_data/input/OverlappingPoints-Black.ufo/layercontents.plist b/tests/makeinstancesufo_data/input/OverlappingPoints-Black.ufo/layercontents.plist new file mode 100644 index 000000000..b9c1a4f27 --- /dev/null +++ b/tests/makeinstancesufo_data/input/OverlappingPoints-Black.ufo/layercontents.plist @@ -0,0 +1,10 @@ + + + + + + public.default + glyphs + + + diff --git a/tests/makeinstancesufo_data/input/OverlappingPoints-Black.ufo/lib.plist b/tests/makeinstancesufo_data/input/OverlappingPoints-Black.ufo/lib.plist new file mode 100644 index 000000000..b8546f8e9 --- /dev/null +++ b/tests/makeinstancesufo_data/input/OverlappingPoints-Black.ufo/lib.plist @@ -0,0 +1,11 @@ + + + + + public.glyphOrder + + .notdef + iamaglyph + + + diff --git a/tests/makeinstancesufo_data/input/OverlappingPoints-Black.ufo/metainfo.plist b/tests/makeinstancesufo_data/input/OverlappingPoints-Black.ufo/metainfo.plist new file mode 100644 index 000000000..7b8b34ac6 --- /dev/null +++ b/tests/makeinstancesufo_data/input/OverlappingPoints-Black.ufo/metainfo.plist @@ -0,0 +1,10 @@ + + + + + creator + com.github.fonttools.ufoLib + formatVersion + 3 + + diff --git a/tests/makeinstancesufo_data/input/OverlappingPoints-Regular.ufo/features.fea b/tests/makeinstancesufo_data/input/OverlappingPoints-Regular.ufo/features.fea new file mode 100644 index 000000000..dd5c29503 --- /dev/null +++ b/tests/makeinstancesufo_data/input/OverlappingPoints-Regular.ufo/features.fea @@ -0,0 +1,11 @@ +### prefix:-1: ### +### open prefix '' ### +languagesystem DFLT dflt; +### close prefix '' ### + +table GDEF { + GlyphClassDef ,# Base + , # Liga + , # Mark + ; + } GDEF; diff --git a/tests/makeinstancesufo_data/input/OverlappingPoints-Regular.ufo/fontinfo.plist b/tests/makeinstancesufo_data/input/OverlappingPoints-Regular.ufo/fontinfo.plist new file mode 100644 index 000000000..84eec370f --- /dev/null +++ b/tests/makeinstancesufo_data/input/OverlappingPoints-Regular.ufo/fontinfo.plist @@ -0,0 +1,56 @@ + + + + + ascender + 800 + capHeight + 700 + descender + -200 + familyName + OverlappingPoints + guidelines + + italicAngle + 0 + openTypeHeadCreated + 2024/08/07 17:44:51 + postscriptBlueValues + + -16 + 0 + 500 + 516 + 700 + 716 + 800 + 816 + + postscriptFamilyBlues + + postscriptFamilyOtherBlues + + postscriptFontName + OverlappingPoints-Regular + postscriptOtherBlues + + -216 + -200 + + postscriptStemSnapH + + postscriptStemSnapV + + styleName + Regular + unitsPerEm + 1000 + versionMajor + 1 + versionMinor + 0 + xHeight + 500 + + diff --git a/tests/makeinstancesufo_data/input/OverlappingPoints-Regular.ufo/glyphs/_notdef.glif b/tests/makeinstancesufo_data/input/OverlappingPoints-Regular.ufo/glyphs/_notdef.glif new file mode 100644 index 000000000..50ec2b579 --- /dev/null +++ b/tests/makeinstancesufo_data/input/OverlappingPoints-Regular.ufo/glyphs/_notdef.glif @@ -0,0 +1,6 @@ + + + + + + diff --git a/tests/makeinstancesufo_data/input/OverlappingPoints-Regular.ufo/glyphs/contents.plist b/tests/makeinstancesufo_data/input/OverlappingPoints-Regular.ufo/glyphs/contents.plist new file mode 100644 index 000000000..374cc07e3 --- /dev/null +++ b/tests/makeinstancesufo_data/input/OverlappingPoints-Regular.ufo/glyphs/contents.plist @@ -0,0 +1,10 @@ + + + + + .notdef + _notdef.glif + iamaglyph + iamaglyph.glif + + diff --git a/tests/makeinstancesufo_data/input/OverlappingPoints-Regular.ufo/glyphs/iamaglyph.glif b/tests/makeinstancesufo_data/input/OverlappingPoints-Regular.ufo/glyphs/iamaglyph.glif new file mode 100644 index 000000000..7cdb929f8 --- /dev/null +++ b/tests/makeinstancesufo_data/input/OverlappingPoints-Regular.ufo/glyphs/iamaglyph.glif @@ -0,0 +1,39 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/makeinstancesufo_data/input/OverlappingPoints-Regular.ufo/glyphs/layerinfo.plist b/tests/makeinstancesufo_data/input/OverlappingPoints-Regular.ufo/glyphs/layerinfo.plist new file mode 100644 index 000000000..e0dd9a592 --- /dev/null +++ b/tests/makeinstancesufo_data/input/OverlappingPoints-Regular.ufo/glyphs/layerinfo.plist @@ -0,0 +1,8 @@ + + + + + color + 0.5,0,0.5,0.7 + + diff --git a/tests/makeinstancesufo_data/input/OverlappingPoints-Regular.ufo/layercontents.plist b/tests/makeinstancesufo_data/input/OverlappingPoints-Regular.ufo/layercontents.plist new file mode 100644 index 000000000..b9c1a4f27 --- /dev/null +++ b/tests/makeinstancesufo_data/input/OverlappingPoints-Regular.ufo/layercontents.plist @@ -0,0 +1,10 @@ + + + + + + public.default + glyphs + + + diff --git a/tests/makeinstancesufo_data/input/OverlappingPoints-Regular.ufo/lib.plist b/tests/makeinstancesufo_data/input/OverlappingPoints-Regular.ufo/lib.plist new file mode 100644 index 000000000..b8546f8e9 --- /dev/null +++ b/tests/makeinstancesufo_data/input/OverlappingPoints-Regular.ufo/lib.plist @@ -0,0 +1,11 @@ + + + + + public.glyphOrder + + .notdef + iamaglyph + + + diff --git a/tests/makeinstancesufo_data/input/OverlappingPoints-Regular.ufo/metainfo.plist b/tests/makeinstancesufo_data/input/OverlappingPoints-Regular.ufo/metainfo.plist new file mode 100644 index 000000000..7b8b34ac6 --- /dev/null +++ b/tests/makeinstancesufo_data/input/OverlappingPoints-Regular.ufo/metainfo.plist @@ -0,0 +1,10 @@ + + + + + creator + com.github.fonttools.ufoLib + formatVersion + 3 + + diff --git a/tests/makeinstancesufo_data/input/OverlappingPoints-Thin.ufo/features.fea b/tests/makeinstancesufo_data/input/OverlappingPoints-Thin.ufo/features.fea new file mode 100644 index 000000000..dd5c29503 --- /dev/null +++ b/tests/makeinstancesufo_data/input/OverlappingPoints-Thin.ufo/features.fea @@ -0,0 +1,11 @@ +### prefix:-1: ### +### open prefix '' ### +languagesystem DFLT dflt; +### close prefix '' ### + +table GDEF { + GlyphClassDef ,# Base + , # Liga + , # Mark + ; + } GDEF; diff --git a/tests/makeinstancesufo_data/input/OverlappingPoints-Thin.ufo/fontinfo.plist b/tests/makeinstancesufo_data/input/OverlappingPoints-Thin.ufo/fontinfo.plist new file mode 100644 index 000000000..b3bd0d282 --- /dev/null +++ b/tests/makeinstancesufo_data/input/OverlappingPoints-Thin.ufo/fontinfo.plist @@ -0,0 +1,56 @@ + + + + + ascender + 800 + capHeight + 700 + descender + -200 + familyName + OverlappingPoints + guidelines + + italicAngle + 0 + openTypeHeadCreated + 2024/08/07 17:44:51 + postscriptBlueValues + + -16 + 0 + 500 + 516 + 700 + 716 + 800 + 816 + + postscriptFamilyBlues + + postscriptFamilyOtherBlues + + postscriptFontName + OverlappingPoints-Regular + postscriptOtherBlues + + -216 + -200 + + postscriptStemSnapH + + postscriptStemSnapV + + styleName + Thin + unitsPerEm + 1000 + versionMajor + 1 + versionMinor + 0 + xHeight + 500 + + diff --git a/tests/makeinstancesufo_data/input/OverlappingPoints-Thin.ufo/glyphs/_notdef.glif b/tests/makeinstancesufo_data/input/OverlappingPoints-Thin.ufo/glyphs/_notdef.glif new file mode 100644 index 000000000..50ec2b579 --- /dev/null +++ b/tests/makeinstancesufo_data/input/OverlappingPoints-Thin.ufo/glyphs/_notdef.glif @@ -0,0 +1,6 @@ + + + + + + diff --git a/tests/makeinstancesufo_data/input/OverlappingPoints-Thin.ufo/glyphs/contents.plist b/tests/makeinstancesufo_data/input/OverlappingPoints-Thin.ufo/glyphs/contents.plist new file mode 100644 index 000000000..374cc07e3 --- /dev/null +++ b/tests/makeinstancesufo_data/input/OverlappingPoints-Thin.ufo/glyphs/contents.plist @@ -0,0 +1,10 @@ + + + + + .notdef + _notdef.glif + iamaglyph + iamaglyph.glif + + diff --git a/tests/makeinstancesufo_data/input/OverlappingPoints-Thin.ufo/glyphs/iamaglyph.glif b/tests/makeinstancesufo_data/input/OverlappingPoints-Thin.ufo/glyphs/iamaglyph.glif new file mode 100644 index 000000000..044718c51 --- /dev/null +++ b/tests/makeinstancesufo_data/input/OverlappingPoints-Thin.ufo/glyphs/iamaglyph.glif @@ -0,0 +1,39 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/makeinstancesufo_data/input/OverlappingPoints-Thin.ufo/glyphs/layerinfo.plist b/tests/makeinstancesufo_data/input/OverlappingPoints-Thin.ufo/glyphs/layerinfo.plist new file mode 100644 index 000000000..e0dd9a592 --- /dev/null +++ b/tests/makeinstancesufo_data/input/OverlappingPoints-Thin.ufo/glyphs/layerinfo.plist @@ -0,0 +1,8 @@ + + + + + color + 0.5,0,0.5,0.7 + + diff --git a/tests/makeinstancesufo_data/input/OverlappingPoints-Thin.ufo/layercontents.plist b/tests/makeinstancesufo_data/input/OverlappingPoints-Thin.ufo/layercontents.plist new file mode 100644 index 000000000..b9c1a4f27 --- /dev/null +++ b/tests/makeinstancesufo_data/input/OverlappingPoints-Thin.ufo/layercontents.plist @@ -0,0 +1,10 @@ + + + + + + public.default + glyphs + + + diff --git a/tests/makeinstancesufo_data/input/OverlappingPoints-Thin.ufo/lib.plist b/tests/makeinstancesufo_data/input/OverlappingPoints-Thin.ufo/lib.plist new file mode 100644 index 000000000..b8546f8e9 --- /dev/null +++ b/tests/makeinstancesufo_data/input/OverlappingPoints-Thin.ufo/lib.plist @@ -0,0 +1,11 @@ + + + + + public.glyphOrder + + .notdef + iamaglyph + + + diff --git a/tests/makeinstancesufo_data/input/OverlappingPoints-Thin.ufo/metainfo.plist b/tests/makeinstancesufo_data/input/OverlappingPoints-Thin.ufo/metainfo.plist new file mode 100644 index 000000000..7b8b34ac6 --- /dev/null +++ b/tests/makeinstancesufo_data/input/OverlappingPoints-Thin.ufo/metainfo.plist @@ -0,0 +1,10 @@ + + + + + creator + com.github.fonttools.ufoLib + formatVersion + 3 + + diff --git a/tests/makeinstancesufo_data/input/OverlappingPoints.designspace b/tests/makeinstancesufo_data/input/OverlappingPoints.designspace new file mode 100644 index 000000000..2cf65a4f8 --- /dev/null +++ b/tests/makeinstancesufo_data/input/OverlappingPoints.designspace @@ -0,0 +1,43 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/makeinstancesufo_data/input/font.designspace b/tests/makeinstancesufo_data/input/font.designspace index 65f330977..192e895ed 100644 --- a/tests/makeinstancesufo_data/input/font.designspace +++ b/tests/makeinstancesufo_data/input/font.designspace @@ -85,7 +85,7 @@ - + diff --git a/tests/makeinstancesufo_test.py b/tests/makeinstancesufo_test.py index 0c4775e67..92b5dfe9b 100644 --- a/tests/makeinstancesufo_test.py +++ b/tests/makeinstancesufo_test.py @@ -212,3 +212,19 @@ def test_extrapolate(capfd, use_varlib): assert "Extrapolation is not supported with varlib (Dummy Extra Plus weight: 1500.0)" in captured.err # noqa: E501 else: assert differ([expected_path, actual_path]) + + +def test_strict_flag(capfd): + """ + Test extrapolating, with default (MutatorMath) and with varlib. + Using varlib should fail (output should not be extrapolated) because + extrapolation is not supported by varlib. + """ + runner_args = ['-t', TOOL, '-o', 'a', 'c', 'n', 's', 'd', f'_{get_input_path("OverlappingPoints.designspace")}'] # noqa: E501 + runner(runner_args) + + for ufo_filename in ("overlapping-Thin.ufo", "overlapping-Black.ufo"): + expected_path = _get_output_path(ufo_filename, 'expected_output') + actual_path = _get_output_path(ufo_filename, 'temp_output') + + assert differ([expected_path, actual_path])