Skip to content

Commit

Permalink
Merge pull request #109 from googlefonts/language-definition-overhaul
Browse files Browse the repository at this point in the history
[glyphsets] Language definition overhaul
  • Loading branch information
yanone authored Dec 1, 2023
2 parents a2a8a46 + 8209806 commit 4483c1c
Show file tree
Hide file tree
Showing 20 changed files with 2,676 additions and 3,967 deletions.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -3,3 +3,4 @@
_version*
.DS_Store
*.pyc
build/
6 changes: 6 additions & 0 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
{
"[python]": {
"editor.defaultFormatter": "ms-python.black-formatter"
},
"python.formatting.provider": "none"
}
199 changes: 199 additions & 0 deletions GF_glyphsets/Latin/definitions/GF_Latin_Core.stub.glyphs
Original file line number Diff line number Diff line change
@@ -0,0 +1,199 @@
{
.appVersion = "3151";
.formatVersion = 3;
date = "2021-10-28 12:22:31 +0000";
familyName = "GF Latin Core";
featurePrefixes = (
{
automatic = 1;
code = "languagesystem DFLT dflt;
languagesystem latn dflt;
languagesystem latn AZE;
languagesystem latn CRT;
languagesystem latn KAZ;
languagesystem latn TAT;
languagesystem latn TRK;
languagesystem latn ROM;
languagesystem latn MOL;
languagesystem latn CAT;
";
name = Languagesystems;
}
);
features = (
{
automatic = 1;
code = "feature locl;
feature ordn;
feature case;
";
tag = aalt;
},
{
automatic = 1;
code = "lookup ccmp_Other_1 {
@CombiningTopAccents = [acutecomb brevecomb caroncomb circumflexcomb commaturnedabovecomb dieresiscomb dotaccentcomb gravecomb hungarumlautcomb macroncomb ringcomb tildecomb];
@CombiningNonTopAccents = [cedillacomb ogonekcomb];
sub [i j]' @CombiningTopAccents by [idotless jdotless];
sub [i j]' @CombiningNonTopAccents @CombiningTopAccents by [idotless jdotless];
} ccmp_Other_1;
";
tag = ccmp;
},
{
automatic = 1;
code = "lookup locl_latn_0 {
script latn;
language AZE;
sub i by idotaccent;
language CRT;
sub i by idotaccent;
language KAZ;
sub i by idotaccent;
language TAT;
sub i by idotaccent;
language TRK;
sub i by idotaccent;
} locl_latn_0;
lookup locl_latn_1 {
script latn;
language ROM;
sub Scedilla by Scommaaccent;
sub scedilla by scommaaccent;
language MOL;
sub Scedilla by Scommaaccent;
sub scedilla by scommaaccent;
} locl_latn_1;
lookup locl_latn_2 {
script latn;
language CAT;
sub l periodcentered' l by periodcentered.loclCAT;
sub L periodcentered' L by periodcentered.loclCAT.case;
} locl_latn_2;
";
tag = locl;
},
{
automatic = 1;
code = "sub [zero one two three four five six seven eight nine] [A a]' by ordfeminine;
sub [zero one two three four five six seven eight nine] [O o]' by ordmasculine;
";
tag = ordn;
},
{
automatic = 1;
code = "sub periodcentered.loclCAT by periodcentered.loclCAT.case;
";
tag = case;
}
);
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 = (
{
glyphname = idotaccent;
lastChange = "2022-03-04 12:31:03 +0000";
layers = (
{
layerId = m01;
width = 600;
}
);
},
{
color = 10;
glyphname = .notdef;
lastChange = "2022-03-04 12:31:22 +0000";
layers = (
{
layerId = m01;
width = 600;
}
);
},
{
glyphname = periodcentered.loclCAT;
lastChange = "2022-03-04 12:31:03 +0000";
layers = (
{
layerId = m01;
width = 600;
}
);
},
{
glyphname = periodcentered.loclCAT.case;
lastChange = "2022-03-04 12:31:03 +0000";
layers = (
{
layerId = m01;
width = 600;
}
);
},
{
glyphname = caroncomb.alt;
lastChange = "2022-03-04 12:31:03 +0000";
layers = (
{
layerId = m01;
width = 600;
}
);
}
);
metrics = (
{
type = ascender;
},
{
type = "cap height";
},
{
type = "x-height";
},
{
type = baseline;
},
{
type = descender;
},
{
type = "italic angle";
}
);
unitsPerEm = 1000;
versionMajor = 1;
versionMinor = 0;
}
89 changes: 89 additions & 0 deletions GF_glyphsets/Latin/definitions/GF_Latin_Core.stub.nam
Original file line number Diff line number Diff line change
@@ -0,0 +1,89 @@
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
0x005B LEFT SQUARE BRACKET
0x005C REVERSE SOLIDUS
0x005D RIGHT SQUARE BRACKET
0x005E CIRCUMFLEX ACCENT
0x005F LOW LINE
0x0060 GRAVE ACCENT
0x007B LEFT CURLY BRACKET
0x007C VERTICAL LINE
0x007D RIGHT CURLY BRACKET
0x007E TILDE
0x00A0 NO-BREAK SPACE
0x00A1 INVERTED EXCLAMATION MARK
0x00A2 CENT SIGN
0x00A3 POUND SIGN
0x00A5 YEN SIGN
0x00A7 SECTION SIGN
0x00A8 DIAERESIS
0x00A9 COPYRIGHT SIGN
0x00AA FEMININE ORDINAL INDICATOR
0x00AB LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
0x00AE REGISTERED SIGN
0x00AF MACRON
0x00B0 DEGREE SIGN
0x00B4 ACUTE ACCENT
0x00B6 PILCROW SIGN
0x00B7 MIDDLE DOT
0x00B8 CEDILLA
0x00BA MASCULINE ORDINAL INDICATOR
0x00BB RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
0x00BF INVERTED QUESTION MARK
0x00D7 MULTIPLICATION SIGN
0x00F7 DIVISION SIGN
0x0237 LATIN SMALL LETTER DOTLESS J
0x02C6 MODIFIER LETTER CIRCUMFLEX ACCENT
0x02C7 CARON
0x02D8 BREVE
0x02D9 DOT ABOVE
0x02DA RING ABOVE
0x02DB OGONEK
0x02DC SMALL TILDE
0x02DD DOUBLE ACUTE ACCENT
0x2013 EN DASH
0x2014 EM DASH
0x2018 LEFT SINGLE QUOTATION MARK
0x2019 RIGHT SINGLE QUOTATION MARK
0x201A SINGLE LOW-9 QUOTATION MARK
0x201C LEFT DOUBLE QUOTATION MARK
0x201D RIGHT DOUBLE QUOTATION MARK
0x201E DOUBLE LOW-9 QUOTATION MARK
0x2022 BULLET
0x2026 HORIZONTAL ELLIPSIS
0x2039 SINGLE LEFT-POINTING ANGLE QUOTATION MARK
0x203A SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
0x20AC EURO SIGN
0x2122 TRADE MARK SIGN
0x2212 MINUS SIGN
Loading

0 comments on commit 4483c1c

Please sign in to comment.