diff --git a/GF_glyphsets/Latin/definitions/GF_Latin_Kernel.stub.nam b/GF_glyphsets/Latin/definitions/GF_Latin_Kernel.stub.nam new file mode 100644 index 00000000..ddbe0f62 --- /dev/null +++ b/GF_glyphsets/Latin/definitions/GF_Latin_Kernel.stub.nam @@ -0,0 +1,116 @@ +0x0020 SPACE +0x0021 EXCLAMATION MARK +0x0022 QUOTATION MARK +0x0023 NUMBER SIGN +0x0024 DOLLAR SIGN +0x0025 PERCENT SIGN +0x0026 AMPERSAND +0x0027 APOSTROPHE +0x0028 LEFT PARENTHESIS +0x0029 RIGHT PARENTHESIS +0x002A ASTERISK +0x002B PLUS SIGN +0x002C COMMA +0x002D HYPHEN-MINUS +0x002E FULL STOP +0x002F SOLIDUS +0x0030 DIGIT ZERO +0x0031 DIGIT ONE +0x0032 DIGIT TWO +0x0033 DIGIT THREE +0x0034 DIGIT FOUR +0x0035 DIGIT FIVE +0x0036 DIGIT SIX +0x0037 DIGIT SEVEN +0x0038 DIGIT EIGHT +0x0039 DIGIT NINE +0x003A COLON +0x003B SEMICOLON +0x003C LESS-THAN SIGN +0x003D EQUALS SIGN +0x003E GREATER-THAN SIGN +0x003F QUESTION MARK +0x0040 COMMERCIAL AT +0x0041 LATIN CAPITAL LETTER A +0x0042 LATIN CAPITAL LETTER B +0x0043 LATIN CAPITAL LETTER C +0x0044 LATIN CAPITAL LETTER D +0x0045 LATIN CAPITAL LETTER E +0x0046 LATIN CAPITAL LETTER F +0x0047 LATIN CAPITAL LETTER G +0x0048 LATIN CAPITAL LETTER H +0x0049 LATIN CAPITAL LETTER I +0x004A LATIN CAPITAL LETTER J +0x004B LATIN CAPITAL LETTER K +0x004C LATIN CAPITAL LETTER L +0x004D LATIN CAPITAL LETTER M +0x004E LATIN CAPITAL LETTER N +0x004F LATIN CAPITAL LETTER O +0x0050 LATIN CAPITAL LETTER P +0x0051 LATIN CAPITAL LETTER Q +0x0052 LATIN CAPITAL LETTER R +0x0053 LATIN CAPITAL LETTER S +0x0054 LATIN CAPITAL LETTER T +0x0055 LATIN CAPITAL LETTER U +0x0056 LATIN CAPITAL LETTER V +0x0057 LATIN CAPITAL LETTER W +0x0058 LATIN CAPITAL LETTER X +0x0059 LATIN CAPITAL LETTER Y +0x005A LATIN CAPITAL LETTER Z +0x005B LEFT SQUARE BRACKET +0x005C REVERSE SOLIDUS +0x005D RIGHT SQUARE BRACKET +0x005E CIRCUMFLEX ACCENT +0x005F LOW LINE +0x0060 GRAVE ACCENT +0x0061 LATIN SMALL LETTER A +0x0062 LATIN SMALL LETTER B +0x0063 LATIN SMALL LETTER C +0x0064 LATIN SMALL LETTER D +0x0065 LATIN SMALL LETTER E +0x0066 LATIN SMALL LETTER F +0x0067 LATIN SMALL LETTER G +0x0068 LATIN SMALL LETTER H +0x0069 LATIN SMALL LETTER I +0x006A LATIN SMALL LETTER J +0x006B LATIN SMALL LETTER K +0x006C LATIN SMALL LETTER L +0x006D LATIN SMALL LETTER M +0x006E LATIN SMALL LETTER N +0x006F LATIN SMALL LETTER O +0x0070 LATIN SMALL LETTER P +0x0071 LATIN SMALL LETTER Q +0x0072 LATIN SMALL LETTER R +0x0073 LATIN SMALL LETTER S +0x0074 LATIN SMALL LETTER T +0x0075 LATIN SMALL LETTER U +0x0076 LATIN SMALL LETTER V +0x0077 LATIN SMALL LETTER W +0x0078 LATIN SMALL LETTER X +0x0079 LATIN SMALL LETTER Y +0x007A LATIN SMALL LETTER Z +0x007B LEFT CURLY BRACKET +0x007C VERTICAL LINE +0x007D RIGHT CURLY BRACKET +0x007E TILDE +0x00A0 NO-BREAK SPACE +0x00A2 CENT SIGN +0x00A3 POUND SIGN +0x00A5 YEN SIGN +0x00A9 COPYRIGHT SIGN +0x00AE REGISTERED SIGN +0x00B0 DEGREE SIGN +0x00B7 MIDDLE DOT +0x00D7 MULTIPLICATION SIGN +0x00F7 DIVISION SIGN +0x2013 EN DASH +0x2014 EM DASH +0x2018 LEFT SINGLE QUOTATION MARK +0x2019 RIGHT SINGLE QUOTATION MARK +0x201C LEFT DOUBLE QUOTATION MARK +0x201D RIGHT DOUBLE QUOTATION MARK +0x2022 BULLET +0x2026 HORIZONTAL ELLIPSIS +0x20AC EURO SIGN +0x2122 TRADE MARK SIGN +0x2212 MINUS SIGN diff --git a/GF_glyphsets/Latin/glyphs/CustomFilter_GF_Latin.plist b/GF_glyphsets/Latin/glyphs/CustomFilter_GF_Latin.plist index 84856fe4..d829c0f2 100644 --- a/GF_glyphsets/Latin/glyphs/CustomFilter_GF_Latin.plist +++ b/GF_glyphsets/Latin/glyphs/CustomFilter_GF_Latin.plist @@ -911,6 +911,22 @@ list + space + exclam + quotedbl + numbersign + dollar + percent + ampersand + quotesingle + parenleft + parenright + asterisk + plus + comma + hyphen + period + slash zero one two @@ -921,38 +937,13 @@ seven eight nine - space - nbspace - period colon - ellipsis - exclam - asterisk - numbersign - slash - backslash - hyphen - parenleft - parenright - braceleft - braceright - bracketleft - bracketright - quotedblleft - quotedblright - quoteleft - quoteright - quotedbl - quotesingle - bar - plus - multiply - divide + semicolon + less equal greater - less - percent - degree + question + at A B C @@ -979,6 +970,12 @@ X Y Z + bracketleft + backslash + bracketright + asciicircum + underscore + grave a b c @@ -1005,29 +1002,31 @@ x y z - .notdef - comma - semicolon - question + braceleft + bar + braceright + asciitilde + nbspace + cent + sterling + yen + copyright + registered + degree periodcentered - bullet + multiply + divide endash emdash - underscore - at - ampersand - copyright - registered - trademark - cent - dollar + quoteleft + quoteright + quotedblleft + quotedblright + bullet + ellipsis euro - sterling - yen + trademark minus - asciitilde - asciicircum - grave name GF_Latin_Kernel diff --git a/GF_glyphsets/Latin/glyphs/GF_Latin_Core.glyphs b/GF_glyphsets/Latin/glyphs/GF_Latin_Core.glyphs index 9ac70949..439cc93e 100644 --- a/GF_glyphsets/Latin/glyphs/GF_Latin_Core.glyphs +++ b/GF_glyphsets/Latin/glyphs/GF_Latin_Core.glyphs @@ -1,6 +1,16 @@ { .appVersion = "3151"; .formatVersion = 3; +axes = ( +{ +name = Weight; +tag = wght; +}, +{ +name = Width; +tag = wdth; +} +); date = "2021-10-28 12:22:31 +0000"; familyName = "GF Latin Core"; featurePrefixes = ( @@ -92,6 +102,10 @@ tag = case; ); fontMaster = ( { +axesValues = ( +100, +100 +); id = m01; metricValues = ( { diff --git a/GF_glyphsets/Latin/glyphs/GF_Latin_Kernel.glyphs b/GF_glyphsets/Latin/glyphs/GF_Latin_Kernel.glyphs index 5f171269..962dc7d0 100644 --- a/GF_glyphsets/Latin/glyphs/GF_Latin_Kernel.glyphs +++ b/GF_glyphsets/Latin/glyphs/GF_Latin_Kernel.glyphs @@ -1,10 +1,24 @@ { -.appVersion = "3129"; +.appVersion = "3151"; .formatVersion = 3; -date = "2021-09-08 07:29:12 +0000"; -familyName = "GF Latin Kernel"; +axes = ( +{ +name = Weight; +tag = wght; +}, +{ +name = Width; +tag = wdth; +} +); +date = "2023-12-13 14:28:10 +0000"; +familyName = GF_Latin_Kernel; fontMaster = ( { +axesValues = ( +100, +100 +); id = m01; metricValues = ( { @@ -35,1429 +49,495 @@ name = Regular; ); glyphs = ( { -color = 4; -glyphname = A; -lastChange = "2021-11-26 11:35:09 +0000"; -layers = ( -{ -layerId = m01; -width = 600; -} -); -unicode = 65; +glyphname = dollar; +unicode = 36; }, { -color = 4; -glyphname = B; -lastChange = "2021-11-26 11:35:09 +0000"; -layers = ( +glyphname = percent; +unicode = 37; +}, { -layerId = m01; -width = 600; -} -); -unicode = 66; +glyphname = ampersand; +unicode = 38; }, { -color = 4; -glyphname = C; -lastChange = "2021-11-26 11:35:09 +0000"; -layers = ( +glyphname = plus; +unicode = 43; +}, { -layerId = m01; -width = 600; -} -); -unicode = 67; +glyphname = less; +unicode = 60; }, { -color = 4; -glyphname = D; -lastChange = "2021-11-26 11:35:09 +0000"; -layers = ( +glyphname = equal; +unicode = 61; +}, { -layerId = m01; -width = 600; -} -); -unicode = 68; +glyphname = greater; +unicode = 62; }, { -color = 4; -glyphname = E; -lastChange = "2021-11-26 11:35:09 +0000"; -layers = ( +glyphname = at; +unicode = 64; +}, { -layerId = m01; -width = 600; -} -); -unicode = 69; +glyphname = asciicircum; +unicode = 94; }, { -color = 4; -glyphname = F; -lastChange = "2021-11-26 11:35:09 +0000"; -layers = ( +glyphname = bar; +unicode = 124; +}, { -layerId = m01; -width = 600; -} -); -unicode = 70; +glyphname = asciitilde; +unicode = 126; }, { -color = 4; -glyphname = G; -lastChange = "2021-11-26 11:35:09 +0000"; -layers = ( +glyphname = cent; +unicode = 162; +}, { -layerId = m01; -width = 600; -} -); -unicode = 71; +glyphname = sterling; +unicode = 163; }, { -color = 4; -glyphname = H; -lastChange = "2021-11-26 11:35:09 +0000"; -layers = ( +glyphname = yen; +unicode = 165; +}, { -layerId = m01; -width = 600; -} -); -unicode = 72; +glyphname = copyright; +unicode = 169; }, { -color = 4; -glyphname = I; -lastChange = "2021-11-26 11:35:09 +0000"; -layers = ( +glyphname = registered; +unicode = 174; +}, { -layerId = m01; -width = 600; -} -); -unicode = 73; +glyphname = degree; +unicode = 176; }, { -color = 4; -glyphname = J; -lastChange = "2021-11-26 11:35:09 +0000"; -layers = ( +glyphname = multiply; +unicode = 215; +}, { -layerId = m01; -width = 600; -} -); -unicode = 74; +glyphname = divide; +unicode = 247; }, { -color = 4; -glyphname = K; -lastChange = "2021-11-26 11:35:09 +0000"; -layers = ( +glyphname = euro; +unicode = 8364; +}, { -layerId = m01; -width = 600; -} -); -unicode = 75; +glyphname = trademark; +unicode = 8482; }, { -color = 4; -glyphname = L; -lastChange = "2021-11-26 11:35:09 +0000"; -layers = ( +glyphname = minus; +unicode = 8722; +}, { -layerId = m01; -width = 600; -} -); -unicode = 76; +glyphname = space; +unicode = 32; }, { -color = 4; -glyphname = M; -lastChange = "2021-11-26 11:35:09 +0000"; -layers = ( +glyphname = nbspace; +unicode = 160; +}, { -layerId = m01; -width = 600; -} -); -unicode = 77; +glyphname = exclam; +unicode = 33; }, { -color = 4; -glyphname = N; -lastChange = "2021-11-26 11:35:09 +0000"; -layers = ( +glyphname = quotedbl; +unicode = 34; +}, { -layerId = m01; -width = 600; -} -); -unicode = 78; +glyphname = numbersign; +unicode = 35; }, { -color = 4; -glyphname = O; -lastChange = "2021-11-26 11:35:09 +0000"; -layers = ( +glyphname = quotesingle; +unicode = 39; +}, { -layerId = m01; -width = 600; -} -); -unicode = 79; +glyphname = parenleft; +unicode = 40; }, { -color = 4; -glyphname = P; -lastChange = "2021-11-26 11:35:09 +0000"; -layers = ( +glyphname = parenright; +unicode = 41; +}, { -layerId = m01; -width = 600; -} -); -unicode = 80; +glyphname = asterisk; +unicode = 42; }, { -color = 4; -glyphname = Q; -lastChange = "2021-11-26 11:35:09 +0000"; -layers = ( +glyphname = comma; +unicode = 44; +}, { -layerId = m01; -width = 600; -} -); -unicode = 81; +glyphname = hyphen; +unicode = 45; }, { -color = 4; -glyphname = R; -lastChange = "2021-11-26 11:35:09 +0000"; -layers = ( +glyphname = period; +unicode = 46; +}, { -layerId = m01; -width = 600; -} -); -unicode = 82; +glyphname = slash; +unicode = 47; }, { -color = 4; -glyphname = S; -lastChange = "2021-11-26 11:35:09 +0000"; -layers = ( +glyphname = colon; +unicode = 58; +}, { -layerId = m01; -width = 600; -} -); -unicode = 83; +glyphname = semicolon; +unicode = 59; }, { -color = 4; -glyphname = T; -lastChange = "2021-11-26 11:35:09 +0000"; -layers = ( +glyphname = question; +unicode = 63; +}, { -layerId = m01; -width = 600; -} -); -unicode = 84; +glyphname = bracketleft; +unicode = 91; }, { -color = 4; -glyphname = U; -lastChange = "2021-11-26 11:35:09 +0000"; -layers = ( +glyphname = backslash; +unicode = 92; +}, { -layerId = m01; -width = 600; -} -); -unicode = 85; +glyphname = bracketright; +unicode = 93; }, { -color = 4; -glyphname = V; -lastChange = "2021-11-26 11:35:09 +0000"; -layers = ( +glyphname = underscore; +unicode = 95; +}, { -layerId = m01; -width = 600; -} -); -unicode = 86; +glyphname = braceleft; +unicode = 123; }, { -color = 4; -glyphname = W; -lastChange = "2021-11-26 11:35:09 +0000"; -layers = ( +glyphname = braceright; +unicode = 125; +}, { -layerId = m01; -width = 600; -} -); -unicode = 87; +glyphname = periodcentered; +unicode = 183; }, { -color = 4; -glyphname = X; -lastChange = "2021-11-26 11:35:09 +0000"; -layers = ( +glyphname = endash; +unicode = 8211; +}, { -layerId = m01; -width = 600; -} -); -unicode = 88; +glyphname = emdash; +unicode = 8212; }, { -color = 4; -glyphname = Y; -lastChange = "2021-11-26 11:35:09 +0000"; -layers = ( +glyphname = quoteleft; +unicode = 8216; +}, { -layerId = m01; -width = 600; -} -); -unicode = 89; +glyphname = quoteright; +unicode = 8217; }, { -color = 4; -glyphname = Z; -lastChange = "2021-11-26 11:35:09 +0000"; -layers = ( +glyphname = quotedblleft; +unicode = 8220; +}, { -layerId = m01; -width = 600; -} -); -unicode = 90; +glyphname = quotedblright; +unicode = 8221; }, { -color = 4; -glyphname = a; -lastChange = "2021-11-26 11:35:09 +0000"; -layers = ( +glyphname = bullet; +unicode = 8226; +}, { -layerId = m01; -width = 600; -} -); -unicode = 97; +glyphname = ellipsis; +unicode = 8230; }, { -color = 4; -glyphname = b; -lastChange = "2021-11-26 11:35:09 +0000"; -layers = ( +glyphname = zero; +unicode = 48; +}, { -layerId = m01; -width = 600; -} -); -unicode = 98; +glyphname = one; +unicode = 49; }, { -color = 4; -glyphname = c; -lastChange = "2021-11-26 11:35:09 +0000"; -layers = ( +glyphname = two; +unicode = 50; +}, { -layerId = m01; -width = 600; -} -); +glyphname = three; +unicode = 51; +}, +{ +glyphname = four; +unicode = 52; +}, +{ +glyphname = five; +unicode = 53; +}, +{ +glyphname = six; +unicode = 54; +}, +{ +glyphname = seven; +unicode = 55; +}, +{ +glyphname = eight; +unicode = 56; +}, +{ +glyphname = nine; +unicode = 57; +}, +{ +glyphname = grave; +unicode = 96; +}, +{ +glyphname = A; +unicode = 65; +}, +{ +glyphname = B; +unicode = 66; +}, +{ +glyphname = C; +unicode = 67; +}, +{ +glyphname = D; +unicode = 68; +}, +{ +glyphname = E; +unicode = 69; +}, +{ +glyphname = F; +unicode = 70; +}, +{ +glyphname = G; +unicode = 71; +}, +{ +glyphname = H; +unicode = 72; +}, +{ +glyphname = I; +unicode = 73; +}, +{ +glyphname = J; +unicode = 74; +}, +{ +glyphname = K; +unicode = 75; +}, +{ +glyphname = L; +unicode = 76; +}, +{ +glyphname = M; +unicode = 77; +}, +{ +glyphname = N; +unicode = 78; +}, +{ +glyphname = O; +unicode = 79; +}, +{ +glyphname = P; +unicode = 80; +}, +{ +glyphname = Q; +unicode = 81; +}, +{ +glyphname = R; +unicode = 82; +}, +{ +glyphname = S; +unicode = 83; +}, +{ +glyphname = T; +unicode = 84; +}, +{ +glyphname = U; +unicode = 85; +}, +{ +glyphname = V; +unicode = 86; +}, +{ +glyphname = W; +unicode = 87; +}, +{ +glyphname = X; +unicode = 88; +}, +{ +glyphname = Y; +unicode = 89; +}, +{ +glyphname = Z; +unicode = 90; +}, +{ +glyphname = a; +unicode = 97; +}, +{ +glyphname = b; +unicode = 98; +}, +{ +glyphname = c; unicode = 99; }, { -color = 4; glyphname = d; -lastChange = "2021-11-26 11:35:09 +0000"; -layers = ( -{ -layerId = m01; -width = 600; -} -); unicode = 100; }, { -color = 4; glyphname = e; -lastChange = "2021-11-26 11:35:09 +0000"; -layers = ( -{ -layerId = m01; -width = 600; -} -); unicode = 101; }, { -color = 4; glyphname = f; -lastChange = "2021-11-26 11:35:09 +0000"; -layers = ( -{ -layerId = m01; -width = 600; -} -); unicode = 102; }, { -color = 4; glyphname = g; -lastChange = "2021-11-26 11:35:09 +0000"; -layers = ( -{ -layerId = m01; -width = 600; -} -); unicode = 103; }, { -color = 4; glyphname = h; -lastChange = "2021-11-26 11:35:09 +0000"; -layers = ( -{ -layerId = m01; -width = 600; -} -); unicode = 104; }, { -color = 4; glyphname = i; -lastChange = "2021-11-26 11:35:09 +0000"; -layers = ( -{ -layerId = m01; -width = 600; -} -); unicode = 105; }, { -color = 4; glyphname = j; -lastChange = "2021-11-26 11:35:09 +0000"; -layers = ( -{ -layerId = m01; -width = 600; -} -); unicode = 106; }, { -color = 4; glyphname = k; -lastChange = "2021-11-26 11:35:09 +0000"; -layers = ( -{ -layerId = m01; -width = 600; -} -); unicode = 107; }, { -color = 4; glyphname = l; -lastChange = "2021-11-26 11:35:09 +0000"; -layers = ( -{ -layerId = m01; -width = 600; -} -); unicode = 108; }, { -color = 4; glyphname = m; -lastChange = "2021-11-26 11:35:09 +0000"; -layers = ( -{ -layerId = m01; -width = 600; -} -); unicode = 109; }, { -color = 4; glyphname = n; -lastChange = "2021-11-26 11:35:09 +0000"; -layers = ( -{ -layerId = m01; -width = 600; -} -); unicode = 110; }, { -color = 4; glyphname = o; -lastChange = "2021-11-26 11:35:09 +0000"; -layers = ( -{ -layerId = m01; -width = 600; -} -); unicode = 111; }, { -color = 4; glyphname = p; -lastChange = "2021-11-26 11:35:09 +0000"; -layers = ( -{ -layerId = m01; -width = 600; -} -); unicode = 112; }, { -color = 4; glyphname = q; -lastChange = "2021-11-26 11:35:09 +0000"; -layers = ( -{ -layerId = m01; -width = 600; -} -); unicode = 113; }, { -color = 4; glyphname = r; -lastChange = "2021-11-26 11:35:09 +0000"; -layers = ( -{ -layerId = m01; -width = 600; -} -); unicode = 114; }, { -color = 4; glyphname = s; -lastChange = "2021-11-26 11:35:09 +0000"; -layers = ( -{ -layerId = m01; -width = 600; -} -); unicode = 115; }, { -color = 4; glyphname = t; -lastChange = "2021-11-26 11:35:09 +0000"; -layers = ( -{ -layerId = m01; -width = 600; -} -); unicode = 116; }, { -color = 4; glyphname = u; -lastChange = "2021-11-26 11:35:09 +0000"; -layers = ( -{ -layerId = m01; -width = 600; -} -); unicode = 117; }, { -color = 4; glyphname = v; -lastChange = "2021-11-26 11:35:09 +0000"; -layers = ( -{ -layerId = m01; -width = 600; -} -); unicode = 118; }, { -color = 4; glyphname = w; -lastChange = "2021-11-26 11:35:09 +0000"; -layers = ( -{ -layerId = m01; -width = 600; -} -); unicode = 119; }, { -color = 4; glyphname = x; -lastChange = "2021-11-26 11:35:09 +0000"; -layers = ( -{ -layerId = m01; -width = 600; -} -); unicode = 120; }, { -color = 4; glyphname = y; -lastChange = "2021-11-26 11:35:09 +0000"; -layers = ( -{ -layerId = m01; -width = 600; -} -); unicode = 121; }, { -color = 4; glyphname = z; -lastChange = "2021-11-26 11:35:09 +0000"; -layers = ( -{ -layerId = m01; -width = 600; -} -); unicode = 122; -}, -{ -color = 4; -glyphname = zero; -lastChange = "2021-11-26 11:35:09 +0000"; -layers = ( -{ -layerId = m01; -width = 600; } ); -unicode = 48; -}, -{ -color = 4; -glyphname = one; -lastChange = "2021-11-26 11:35:09 +0000"; -layers = ( -{ -layerId = m01; -width = 600; -} +instances = ( ); -unicode = 49; -}, -{ -color = 4; -glyphname = two; -lastChange = "2021-11-26 11:35:09 +0000"; -layers = ( +kerningLTR = { +}; +metrics = ( { -layerId = m01; -width = 600; -} -); -unicode = 50; +type = ascender; }, { -color = 4; -glyphname = three; -lastChange = "2021-11-26 11:35:09 +0000"; -layers = ( -{ -layerId = m01; -width = 600; -} -); -unicode = 51; +type = "cap height"; }, { -color = 4; -glyphname = four; -lastChange = "2021-11-26 11:35:09 +0000"; -layers = ( +type = "x-height"; +}, { -layerId = m01; -width = 600; -} -); -unicode = 52; +type = baseline; }, { -color = 4; -glyphname = five; -lastChange = "2021-11-26 11:35:09 +0000"; -layers = ( +type = descender; +}, { -layerId = m01; -width = 600; +type = "italic angle"; } ); -unicode = 53; -}, -{ -color = 4; -glyphname = six; -lastChange = "2021-11-26 11:35:09 +0000"; -layers = ( -{ -layerId = m01; -width = 600; -} -); -unicode = 54; -}, -{ -color = 4; -glyphname = seven; -lastChange = "2021-11-26 11:35:09 +0000"; -layers = ( -{ -layerId = m01; -width = 600; -} -); -unicode = 55; -}, -{ -color = 4; -glyphname = eight; -lastChange = "2021-11-26 11:35:09 +0000"; -layers = ( -{ -layerId = m01; -width = 600; -} -); -unicode = 56; -}, -{ -color = 4; -glyphname = nine; -lastChange = "2021-11-26 11:35:09 +0000"; -layers = ( -{ -layerId = m01; -width = 600; -} -); -unicode = 57; -}, -{ -color = 4; -glyphname = .notdef; -lastChange = "2021-11-26 11:35:09 +0000"; -layers = ( -{ -layerId = m01; -width = 600; -} -); -}, -{ -color = 4; -glyphname = space; -lastChange = "2021-11-26 11:35:09 +0000"; -layers = ( -{ -layerId = m01; -width = 600; -} -); -unicode = 32; -}, -{ -color = 4; -glyphname = nbspace; -lastChange = "2021-11-26 11:35:09 +0000"; -layers = ( -{ -layerId = m01; -width = 600; -} -); -metricWidth = space; -unicode = 160; -}, -{ -color = 4; -glyphname = period; -lastChange = "2021-11-26 11:35:09 +0000"; -layers = ( -{ -layerId = m01; -width = 600; -} -); -unicode = 46; -}, -{ -color = 4; -glyphname = comma; -lastChange = "2021-11-26 11:35:09 +0000"; -layers = ( -{ -layerId = m01; -width = 600; -} -); -unicode = 44; -}, -{ -color = 4; -glyphname = colon; -lastChange = "2021-11-26 11:35:09 +0000"; -layers = ( -{ -layerId = m01; -width = 600; -} -); -unicode = 58; -}, -{ -color = 4; -glyphname = semicolon; -lastChange = "2021-11-26 11:35:09 +0000"; -layers = ( -{ -layerId = m01; -width = 600; -} -); -unicode = 59; -}, -{ -color = 5; -glyphname = ellipsis; -lastChange = "2022-03-04 12:37:26 +0000"; -layers = ( -{ -layerId = m01; -width = 600; -} -); -unicode = 8230; -}, -{ -color = 4; -glyphname = exclam; -lastChange = "2021-11-26 11:35:09 +0000"; -layers = ( -{ -layerId = m01; -width = 600; -} -); -unicode = 33; -}, -{ -color = 4; -glyphname = question; -lastChange = "2021-11-26 11:35:09 +0000"; -layers = ( -{ -layerId = m01; -width = 600; -} -); -unicode = 63; -}, -{ -color = 5; -glyphname = periodcentered; -lastChange = "2022-03-04 12:37:26 +0000"; -layers = ( -{ -layerId = m01; -width = 600; -} -); -unicode = 183; -}, -{ -color = 5; -glyphname = bullet; -lastChange = "2022-03-04 12:37:26 +0000"; -layers = ( -{ -layerId = m01; -width = 600; -} -); -unicode = 8226; -}, -{ -color = 4; -glyphname = asterisk; -lastChange = "2021-11-26 11:35:09 +0000"; -layers = ( -{ -layerId = m01; -width = 600; -} -); -unicode = 42; -}, -{ -color = 4; -glyphname = numbersign; -lastChange = "2021-11-26 11:35:09 +0000"; -layers = ( -{ -layerId = m01; -width = 600; -} -); -unicode = 35; -}, -{ -color = 4; -glyphname = slash; -lastChange = "2021-11-26 11:35:09 +0000"; -layers = ( -{ -layerId = m01; -width = 600; -} -); -unicode = 47; -}, -{ -color = 4; -glyphname = backslash; -lastChange = "2021-11-26 11:35:09 +0000"; -layers = ( -{ -layerId = m01; -width = 600; -} -); -unicode = 92; -}, -{ -color = 4; -glyphname = hyphen; -lastChange = "2021-11-26 11:35:09 +0000"; -layers = ( -{ -layerId = m01; -width = 600; -} -); -unicode = 45; -}, -{ -color = 5; -glyphname = endash; -lastChange = "2022-03-04 12:37:26 +0000"; -layers = ( -{ -layerId = m01; -width = 600; -} -); -unicode = 8211; -}, -{ -color = 5; -glyphname = emdash; -lastChange = "2022-03-04 12:37:26 +0000"; -layers = ( -{ -layerId = m01; -width = 600; -} -); -unicode = 8212; -}, -{ -color = 4; -glyphname = underscore; -lastChange = "2021-11-26 11:35:09 +0000"; -layers = ( -{ -layerId = m01; -width = 600; -} -); -unicode = 95; -}, -{ -color = 4; -glyphname = parenleft; -lastChange = "2021-11-26 11:35:09 +0000"; -layers = ( -{ -layerId = m01; -width = 600; -} -); -unicode = 40; -}, -{ -color = 4; -glyphname = parenright; -lastChange = "2021-11-26 11:35:09 +0000"; -layers = ( -{ -layerId = m01; -width = 600; -} -); -unicode = 41; -}, -{ -color = 4; -glyphname = braceleft; -lastChange = "2021-11-26 11:35:09 +0000"; -layers = ( -{ -layerId = m01; -width = 600; -} -); -unicode = 123; -}, -{ -color = 4; -glyphname = braceright; -lastChange = "2021-11-26 11:35:09 +0000"; -layers = ( -{ -layerId = m01; -width = 600; -} -); -unicode = 125; -}, -{ -color = 4; -glyphname = bracketleft; -lastChange = "2021-11-26 11:35:09 +0000"; -layers = ( -{ -layerId = m01; -width = 600; -} -); -unicode = 91; -}, -{ -color = 4; -glyphname = bracketright; -lastChange = "2021-11-26 11:35:09 +0000"; -layers = ( -{ -layerId = m01; -width = 600; -} -); -unicode = 93; -}, -{ -color = 5; -glyphname = quotedblleft; -lastChange = "2022-03-04 12:37:26 +0000"; -layers = ( -{ -layerId = m01; -width = 600; -} -); -unicode = 8220; -}, -{ -color = 5; -glyphname = quotedblright; -lastChange = "2022-03-04 12:37:26 +0000"; -layers = ( -{ -layerId = m01; -width = 600; -} -); -unicode = 8221; -}, -{ -color = 5; -glyphname = quoteleft; -lastChange = "2022-03-04 12:37:26 +0000"; -layers = ( -{ -layerId = m01; -width = 600; -} -); -unicode = 8216; -}, -{ -color = 5; -glyphname = quoteright; -lastChange = "2022-03-04 12:37:26 +0000"; -layers = ( -{ -layerId = m01; -width = 600; -} -); -unicode = 8217; -}, -{ -color = 4; -glyphname = quotedbl; -lastChange = "2021-11-26 11:35:09 +0000"; -layers = ( -{ -layerId = m01; -width = 600; -} -); -unicode = 34; -}, -{ -color = 4; -glyphname = quotesingle; -lastChange = "2021-11-26 11:35:09 +0000"; -layers = ( -{ -layerId = m01; -width = 600; -} -); -unicode = 39; -}, -{ -color = 4; -glyphname = at; -lastChange = "2021-11-26 11:35:09 +0000"; -layers = ( -{ -layerId = m01; -width = 600; -} -); -unicode = 64; -}, -{ -color = 4; -glyphname = ampersand; -lastChange = "2021-11-26 11:35:09 +0000"; -layers = ( -{ -layerId = m01; -width = 600; -} -); -unicode = 38; -}, -{ -color = 5; -glyphname = copyright; -lastChange = "2022-03-04 12:37:26 +0000"; -layers = ( -{ -layerId = m01; -width = 600; -} -); -unicode = 169; -}, -{ -color = 5; -glyphname = registered; -lastChange = "2022-03-04 12:37:26 +0000"; -layers = ( -{ -layerId = m01; -width = 600; -} -); -unicode = 174; -}, -{ -color = 5; -glyphname = trademark; -lastChange = "2022-03-04 12:37:26 +0000"; -layers = ( -{ -layerId = m01; -width = 1200; -} -); -unicode = 8482; -}, -{ -color = 5; -glyphname = degree; -lastChange = "2022-03-04 12:37:26 +0000"; -layers = ( -{ -layerId = m01; -width = 600; -} -); -unicode = 176; -}, -{ -color = 4; -glyphname = bar; -lastChange = "2021-11-26 11:35:09 +0000"; -layers = ( -{ -layerId = m01; -width = 600; -} -); -unicode = 124; -}, -{ -color = 5; -glyphname = cent; -lastChange = "2022-03-04 12:37:26 +0000"; -layers = ( -{ -layerId = m01; -width = 600; -} -); -unicode = 162; -}, -{ -color = 4; -glyphname = dollar; -lastChange = "2021-11-26 11:35:09 +0000"; -layers = ( -{ -layerId = m01; -width = 600; -} -); -unicode = 36; -}, -{ -color = 5; -glyphname = euro; -lastChange = "2022-03-04 12:37:26 +0000"; -layers = ( -{ -layerId = m01; -width = 600; -} -); -unicode = 8364; -}, -{ -color = 5; -glyphname = sterling; -lastChange = "2022-03-04 12:37:26 +0000"; -layers = ( -{ -layerId = m01; -width = 600; -} -); -unicode = 163; -}, -{ -color = 5; -glyphname = yen; -lastChange = "2022-03-04 12:37:26 +0000"; -layers = ( -{ -layerId = m01; -width = 600; -} -); -unicode = 165; -}, -{ -color = 4; -glyphname = plus; -lastChange = "2021-11-26 11:35:09 +0000"; -layers = ( -{ -layerId = m01; -width = 600; -} -); -unicode = 43; -}, -{ -color = 4; -glyphname = minus; -lastChange = "2021-11-26 11:35:09 +0000"; -layers = ( -{ -layerId = m01; -width = 600; -} -); -unicode = 8722; -}, -{ -color = 5; -glyphname = multiply; -lastChange = "2022-03-04 12:37:26 +0000"; -layers = ( -{ -layerId = m01; -width = 600; -} -); -unicode = 215; -}, -{ -color = 5; -glyphname = divide; -lastChange = "2022-03-04 12:37:26 +0000"; -layers = ( -{ -layerId = m01; -width = 600; -} -); -unicode = 247; -}, -{ -color = 4; -glyphname = equal; -lastChange = "2021-11-26 11:35:09 +0000"; -layers = ( -{ -layerId = m01; -width = 600; -} -); -unicode = 61; -}, -{ -color = 4; -glyphname = greater; -lastChange = "2021-11-26 11:35:09 +0000"; -layers = ( -{ -layerId = m01; -width = 600; -} -); -unicode = 62; -}, -{ -color = 4; -glyphname = less; -lastChange = "2021-11-26 11:35:09 +0000"; -layers = ( -{ -layerId = m01; -width = 600; -} -); -unicode = 60; -}, -{ -color = 4; -glyphname = asciitilde; -lastChange = "2021-11-26 11:35:09 +0000"; -layers = ( -{ -layerId = m01; -width = 600; -} -); -unicode = 126; -}, -{ -color = 4; -glyphname = asciicircum; -lastChange = "2021-11-26 11:35:09 +0000"; -layers = ( -{ -layerId = m01; -width = 600; -} -); -unicode = 94; -}, -{ -color = 4; -glyphname = percent; -lastChange = "2021-11-26 11:35:09 +0000"; -layers = ( -{ -layerId = m01; -width = 600; -} -); -unicode = 37; -}, -{ -color = 4; -glyphname = grave; -lastChange = "2021-11-26 11:35:09 +0000"; -layers = ( -{ -layerId = m01; -width = 600; -} -); -unicode = 96; -} -); -metrics = ( -{ -type = ascender; -}, -{ -type = "cap height"; -}, -{ -type = "x-height"; -}, -{ -type = baseline; -}, -{ -type = descender; -}, -{ -type = "italic angle"; -} +stems = ( ); unitsPerEm = 1000; versionMajor = 1; diff --git a/GF_glyphsets/Latin/nam/GF_Latin_Kernel.nam b/GF_glyphsets/Latin/nam/GF_Latin_Kernel.nam index 488548de..e71c81ce 100644 --- a/GF_glyphsets/Latin/nam/GF_Latin_Kernel.nam +++ b/GF_glyphsets/Latin/nam/GF_Latin_Kernel.nam @@ -1,3 +1,4 @@ +# This file is auto-generated; do not edit. See /README.md for instructions. 0x0020 SPACE 0x0021 EXCLAMATION MARK 0x0022 QUOTATION MARK diff --git a/GF_glyphsets/Latin/txt/nice-names/GF_Latin_Kernel.txt b/GF_glyphsets/Latin/txt/nice-names/GF_Latin_Kernel.txt index d7f1e3fc..851fb87b 100644 --- a/GF_glyphsets/Latin/txt/nice-names/GF_Latin_Kernel.txt +++ b/GF_glyphsets/Latin/txt/nice-names/GF_Latin_Kernel.txt @@ -1,3 +1,20 @@ +# This file is auto-generated; do not edit. See /README.md for instructions. +space +exclam +quotedbl +numbersign +dollar +percent +ampersand +quotesingle +parenleft +parenright +asterisk +plus +comma +hyphen +period +slash zero one two @@ -8,38 +25,13 @@ six seven eight nine -space -nbspace -period colon -ellipsis -exclam -asterisk -numbersign -slash -backslash -hyphen -parenleft -parenright -braceleft -braceright -bracketleft -bracketright -quotedblleft -quotedblright -quoteleft -quoteright -quotedbl -quotesingle -bar -plus -multiply -divide +semicolon +less equal greater -less -percent -degree +question +at A B C @@ -66,6 +58,12 @@ W X Y Z +bracketleft +backslash +bracketright +asciicircum +underscore +grave a b c @@ -92,26 +90,28 @@ w x y z -.notdef -comma -semicolon -question +braceleft +bar +braceright +asciitilde +nbspace +cent +sterling +yen +copyright +registered +degree periodcentered -bullet +multiply +divide endash emdash -underscore -at -ampersand -copyright -registered -trademark -cent -dollar +quoteleft +quoteright +quotedblleft +quotedblright +bullet +ellipsis euro -sterling -yen -minus -asciitilde -asciicircum -grave \ No newline at end of file +trademark +minus \ No newline at end of file diff --git a/GF_glyphsets/Latin/txt/prod-names/GF_Latin_Kernel.txt b/GF_glyphsets/Latin/txt/prod-names/GF_Latin_Kernel.txt index b6970406..dc583b4f 100644 --- a/GF_glyphsets/Latin/txt/prod-names/GF_Latin_Kernel.txt +++ b/GF_glyphsets/Latin/txt/prod-names/GF_Latin_Kernel.txt @@ -1,3 +1,20 @@ +# This file is auto-generated; do not edit. See /README.md for instructions. +space +exclam +quotedbl +numbersign +dollar +percent +ampersand +quotesingle +parenleft +parenright +asterisk +plus +comma +hyphen +period +slash zero one two @@ -8,38 +25,13 @@ six seven eight nine -space -uni00A0 -period colon -ellipsis -exclam -asterisk -numbersign -slash -backslash -hyphen -parenleft -parenright -braceleft -braceright -bracketleft -bracketright -quotedblleft -quotedblright -quoteleft -quoteright -quotedbl -quotesingle -bar -plus -multiply -divide +semicolon +less equal greater -less -percent -degree +question +at A B C @@ -66,6 +58,12 @@ W X Y Z +bracketleft +backslash +bracketright +asciicircum +underscore +grave a b c @@ -92,26 +90,28 @@ w x y z -.notdef -comma -semicolon -question +braceleft +bar +braceright +asciitilde +uni00A0 +cent +sterling +yen +copyright +registered +degree periodcentered -bullet +multiply +divide endash emdash -underscore -at -ampersand -copyright -registered -trademark -cent -dollar +quoteleft +quoteright +quotedblleft +quotedblright +bullet +ellipsis Euro -sterling -yen -minus -asciitilde -asciicircum -grave \ No newline at end of file +trademark +minus \ No newline at end of file diff --git a/GF_glyphsets/empty_font.glyphs b/GF_glyphsets/empty_font.glyphs new file mode 100644 index 00000000..be043b34 --- /dev/null +++ b/GF_glyphsets/empty_font.glyphs @@ -0,0 +1,61 @@ +{ +.appVersion = "3151"; +.formatVersion = 3; +date = "2023-12-13 14:28:10 +0000"; +familyName = "Neue Schrift"; +fontMaster = ( +{ +id = m01; +metricValues = ( +{ +over = 16; +pos = 800; +}, +{ +over = 16; +pos = 700; +}, +{ +over = 16; +pos = 500; +}, +{ +over = -16; +}, +{ +over = -16; +pos = -200; +}, +{ +over = -16; +} +); +name = Regular; +} +); +glyphs = ( +); +metrics = ( +{ +type = ascender; +}, +{ +type = "cap height"; +}, +{ +type = "x-height"; +}, +{ +type = baseline; +}, +{ +type = descender; +}, +{ +type = "italic angle"; +} +); +unitsPerEm = 1000; +versionMajor = 1; +versionMinor = 0; +} diff --git a/Lib/glyphsets/definitions/__init__.py b/Lib/glyphsets/definitions/__init__.py index 14fd2628..801bc7dc 100644 --- a/Lib/glyphsets/definitions/__init__.py +++ b/Lib/glyphsets/definitions/__init__.py @@ -5,6 +5,7 @@ import os glyphset_definitions = { + "GF_Latin_Kernel": {"script": "Latin", "language_codes": []}, "GF_Latin_Core": { "script": "Latin", "language_codes": [ @@ -37,7 +38,7 @@ "sv_Latn", # Swedish "tr_Latn", # Turkish ], - } + }, } diff --git a/Lib/glyphsets/definitions/nam/GF_Latin_Kernel.nam b/Lib/glyphsets/definitions/nam/GF_Latin_Kernel.nam new file mode 100644 index 00000000..e71c81ce --- /dev/null +++ b/Lib/glyphsets/definitions/nam/GF_Latin_Kernel.nam @@ -0,0 +1,117 @@ +# This file is auto-generated; do not edit. See /README.md for instructions. +0x0020 SPACE +0x0021 EXCLAMATION MARK +0x0022 QUOTATION MARK +0x0023 NUMBER SIGN +0x0024 DOLLAR SIGN +0x0025 PERCENT SIGN +0x0026 AMPERSAND +0x0027 APOSTROPHE +0x0028 LEFT PARENTHESIS +0x0029 RIGHT PARENTHESIS +0x002A ASTERISK +0x002B PLUS SIGN +0x002C COMMA +0x002D HYPHEN-MINUS +0x002E FULL STOP +0x002F SOLIDUS +0x0030 DIGIT ZERO +0x0031 DIGIT ONE +0x0032 DIGIT TWO +0x0033 DIGIT THREE +0x0034 DIGIT FOUR +0x0035 DIGIT FIVE +0x0036 DIGIT SIX +0x0037 DIGIT SEVEN +0x0038 DIGIT EIGHT +0x0039 DIGIT NINE +0x003A COLON +0x003B SEMICOLON +0x003C LESS-THAN SIGN +0x003D EQUALS SIGN +0x003E GREATER-THAN SIGN +0x003F QUESTION MARK +0x0040 COMMERCIAL AT +0x0041 LATIN CAPITAL LETTER A +0x0042 LATIN CAPITAL LETTER B +0x0043 LATIN CAPITAL LETTER C +0x0044 LATIN CAPITAL LETTER D +0x0045 LATIN CAPITAL LETTER E +0x0046 LATIN CAPITAL LETTER F +0x0047 LATIN CAPITAL LETTER G +0x0048 LATIN CAPITAL LETTER H +0x0049 LATIN CAPITAL LETTER I +0x004A LATIN CAPITAL LETTER J +0x004B LATIN CAPITAL LETTER K +0x004C LATIN CAPITAL LETTER L +0x004D LATIN CAPITAL LETTER M +0x004E LATIN CAPITAL LETTER N +0x004F LATIN CAPITAL LETTER O +0x0050 LATIN CAPITAL LETTER P +0x0051 LATIN CAPITAL LETTER Q +0x0052 LATIN CAPITAL LETTER R +0x0053 LATIN CAPITAL LETTER S +0x0054 LATIN CAPITAL LETTER T +0x0055 LATIN CAPITAL LETTER U +0x0056 LATIN CAPITAL LETTER V +0x0057 LATIN CAPITAL LETTER W +0x0058 LATIN CAPITAL LETTER X +0x0059 LATIN CAPITAL LETTER Y +0x005A LATIN CAPITAL LETTER Z +0x005B LEFT SQUARE BRACKET +0x005C REVERSE SOLIDUS +0x005D RIGHT SQUARE BRACKET +0x005E CIRCUMFLEX ACCENT +0x005F LOW LINE +0x0060 GRAVE ACCENT +0x0061 LATIN SMALL LETTER A +0x0062 LATIN SMALL LETTER B +0x0063 LATIN SMALL LETTER C +0x0064 LATIN SMALL LETTER D +0x0065 LATIN SMALL LETTER E +0x0066 LATIN SMALL LETTER F +0x0067 LATIN SMALL LETTER G +0x0068 LATIN SMALL LETTER H +0x0069 LATIN SMALL LETTER I +0x006A LATIN SMALL LETTER J +0x006B LATIN SMALL LETTER K +0x006C LATIN SMALL LETTER L +0x006D LATIN SMALL LETTER M +0x006E LATIN SMALL LETTER N +0x006F LATIN SMALL LETTER O +0x0070 LATIN SMALL LETTER P +0x0071 LATIN SMALL LETTER Q +0x0072 LATIN SMALL LETTER R +0x0073 LATIN SMALL LETTER S +0x0074 LATIN SMALL LETTER T +0x0075 LATIN SMALL LETTER U +0x0076 LATIN SMALL LETTER V +0x0077 LATIN SMALL LETTER W +0x0078 LATIN SMALL LETTER X +0x0079 LATIN SMALL LETTER Y +0x007A LATIN SMALL LETTER Z +0x007B LEFT CURLY BRACKET +0x007C VERTICAL LINE +0x007D RIGHT CURLY BRACKET +0x007E TILDE +0x00A0 NO-BREAK SPACE +0x00A2 CENT SIGN +0x00A3 POUND SIGN +0x00A5 YEN SIGN +0x00A9 COPYRIGHT SIGN +0x00AE REGISTERED SIGN +0x00B0 DEGREE SIGN +0x00B7 MIDDLE DOT +0x00D7 MULTIPLICATION SIGN +0x00F7 DIVISION SIGN +0x2013 EN DASH +0x2014 EM DASH +0x2018 LEFT SINGLE QUOTATION MARK +0x2019 RIGHT SINGLE QUOTATION MARK +0x201C LEFT DOUBLE QUOTATION MARK +0x201D RIGHT DOUBLE QUOTATION MARK +0x2022 BULLET +0x2026 HORIZONTAL ELLIPSIS +0x20AC EURO SIGN +0x2122 TRADE MARK SIGN +0x2212 MINUS SIGN \ No newline at end of file diff --git a/scripts/assemble_charactersets.py b/scripts/assemble_charactersets.py index 3f960e27..2d4b0445 100644 --- a/scripts/assemble_charactersets.py +++ b/scripts/assemble_charactersets.py @@ -65,6 +65,7 @@ def assemble_characterset(root_folder, glyphset_name): root_folder, script, "definitions", f"{glyphset_name}.stub.glyphs" ) glyphs_path = os.path.join(root_folder, script, "glyphs", f"{glyphset_name}.glyphs") + glyphs_empty_path = os.path.join(root_folder, f"empty_font.glyphs") txt_nicenames_path = os.path.join( root_folder, script, "txt", "nice-names", f"{glyphset_name}.txt" ) @@ -119,7 +120,7 @@ def assemble_characterset(root_folder, glyphset_name): if os.path.exists(glyphs_stub_path): font = glyphsLib.load(glyphs_stub_path) else: - font = glyphsLib.GSFont() + font = glyphsLib.load(glyphs_empty_path) font.familyName = glyphset_name for _i, unicode in enumerate(sorted(list(character_set))): unicode = f"{unicode:#0{6}X}".replace("0X", "") @@ -137,10 +138,6 @@ def assemble_characterset(root_folder, glyphset_name): ] # Save glyphs file - font.axes = [] - for master in font.masters: - master.axes = [] - font.instances = [] font.save(glyphs_path) # Output sorted character set to .nam file