diff --git a/GF_glyphsets/Arabic/definitions/GF_Arabic_Core.stub.nam b/GF_glyphsets/Arabic/definitions/GF_Arabic_Core.stub.nam
new file mode 100644
index 0000000000..ae7a2ea767
--- /dev/null
+++ b/GF_glyphsets/Arabic/definitions/GF_Arabic_Core.stub.nam
@@ -0,0 +1,17 @@
+0x0020 SPACE
+0x0023 NUMBER SIGN
+0x003C LESS-THAN SIGN
+0x003D EQUALS SIGN
+0x003E GREATER-THAN SIGN
+0x007B LEFT CURLY BRACKET
+0x007C VERTICAL LINE
+0x007D RIGHT CURLY BRACKET
+0x00A0 NO-BREAK SPACE
+0x00D7 MULTIPLICATION SIGN
+0x00F7 DIVISION SIGN
+0x0763 ARABIC LETTER KEHEH WITH THREE DOTS ABOVE
+0x2018 LEFT SINGLE QUOTATION MARK
+0x2019 RIGHT SINGLE QUOTATION MARK
+0x201C LEFT DOUBLE QUOTATION MARK
+0x201D RIGHT DOUBLE QUOTATION MARK
+0x2026 HORIZONTAL ELLIPSIS
diff --git a/GF_glyphsets/Arabic/glyphs/CustomFilter_GF_Arabic.plist b/GF_glyphsets/Arabic/glyphs/CustomFilter_GF_Arabic.plist
index e8367310bf..b873899712 100644
--- a/GF_glyphsets/Arabic/glyphs/CustomFilter_GF_Arabic.plist
+++ b/GF_glyphsets/Arabic/glyphs/CustomFilter_GF_Arabic.plist
@@ -345,26 +345,69 @@
list
+ space
+ exclam
+ quotedbl
+ numbersign
+ percent
+ quotesingle
+ parenleft
+ parenright
+ asterisk
+ plus
+ comma
+ hyphen
+ period
+ slash
+ zero
+ one
+ two
+ three
+ four
+ five
+ six
+ seven
+ eight
+ nine
+ colon
+ less
+ equal
+ greater
+ bracketleft
+ backslash
+ bracketright
+ braceleft
+ bar
+ braceright
+ nbspace
+ guillemetleft
+ guillemetright
+ multiply
+ divide
+ perthousand-ar
+ comma-ar
+ dateseparator-ar
+ semicolon-ar
+ mark-ar
+ question-ar
hamza-ar
- alef-ar
+ alefMadda-ar
alefHamzaabove-ar
+ wawHamzaabove-ar
alefHamzabelow-ar
- alefMadda-ar
+ yehHamzaabove-ar
+ alef-ar
beh-ar
- peh-ar
+ tehMarbuta-ar
teh-ar
theh-ar
- tteh-ar
jeem-ar
- tcheh-ar
hah-ar
khah-ar
dal-ar
thal-ar
- ddal-ar
reh-ar
zain-ar
- rreh-ar
seen-ar
sheen-ar
sad-ar
@@ -373,41 +416,28 @@
zah-ar
ain-ar
ghain-ar
+ kashida-ar
feh-ar
- veh-ar
- fehDotmovedbelow-ar
- fehThreedotsbelow-ar
qaf-ar
- qafDotabove-ar
- qafThreedotsabove-ar
kaf-ar
- keheh-ar
- kehehThreedotsabove-ar
- gaf-ar
- ng-ar
lam-ar
meem-ar
noon-ar
- noonghunna-ar
heh-ar
- hehHamzaabove-ar
- hehgoal-ar
- hehgoalHamzaabove-ar
- hehDoachashmee-ar
- tehMarbuta-ar
- tehMarbutagoal-ar
waw-ar
- wawHamzaabove-ar
alefMaksura-ar
yeh-ar
- yehHamzaabove-ar
- yehFarsi-ar
- yehbarree-ar
- yehbarreeHamzaabove-ar
- ae-ar
- kashida-ar
- decimalseparator-ar
- thousandseparator-ar
+ fathatan-ar
+ dammatan-ar
+ kasratan-ar
+ fatha-ar
+ damma-ar
+ kasra-ar
+ shadda-ar
+ sukun-ar
+ madda-ar
+ hamzaabove-ar
+ hamzabelow-ar
zero-ar
one-ar
two-ar
@@ -418,16 +448,65 @@
seven-ar
eight-ar
nine-ar
- zeroFarsi-ar
- oneFarsi-ar
- twoFarsi-ar
- threeFarsi-ar
- fourFarsi-ar
- fiveFarsi-ar
- sixFarsi-ar
- sevenFarsi-ar
- eightFarsi-ar
- nineFarsi-ar
+ percent-ar
+ decimalseparator-ar
+ thousandseparator-ar
+ asterisk-ar
+ alefabove-ar
+ tteh-ar
+ peh-ar
+ tcheh-ar
+ ddal-ar
+ rreh-ar
+ jeh-ar
+ keheh-ar
+ gaf-ar
+ hehDoachashmee-ar
+ hehgoal-ar
+ yeh-farsi
+ yehbarree-ar
+ fullstop-ar
+ zero-persian
+ one-persian
+ two-persian
+ three-persian
+ four-persian
+ five-persian
+ six-persian
+ seven-persian
+ eight-persian
+ nine-persian
+ kehehThreedotsabove-ar
+ lefttorightmark
+ endash
+ emdash
+ quoteleft
+ quoteright
+ quotedblleft
+ quotedblright
+ ellipsis
+ guilsinglleft
+ guilsinglright
+ minus
+ parenleft-ar
+ parenright-ar
+
+ name
+ GF_Arabic_Core
+
+
+ list
+
+ exclam
+ percent
+ quotesingle
+ parenleft
+ parenright
+ plus
+ comma
+ hyphen
+ period
+ slash
zero
one
two
@@ -438,47 +517,47 @@
seven
eight
nine
- space
- nbspace
- fullstop-ar
- comma-ar
- semicolon-ar
- question-ar
- asterisk-ar
- period
colon
- ellipsis
- exclam
- asterisk
- numbersign
- slash
- backslash
- hyphen
- parenleft
- parenright
- braceleft
- braceright
+ semicolon
bracketleft
bracketright
- quotedblleft
- quotedblright
- quoteleft
- quoteright
- guillemetleft
- guillemetright
- quotedbl
- quotesingle
- percent-ar
- bar
- plus
- multiply
- divide
- equal
- greater
- less
- percent
- hamzaabove-ar
- hamzabelow-ar
+ perthousand-ar
+ comma-ar
+ hamza-ar
+ alefMadda-ar
+ alefHamzaabove-ar
+ wawHamzaabove-ar
+ yehHamzaabove-ar
+ alef-ar
+ beh-ar
+ tehMarbuta-ar
+ teh-ar
+ theh-ar
+ jeem-ar
+ hah-ar
+ khah-ar
+ dal-ar
+ thal-ar
+ reh-ar
+ zain-ar
+ seen-ar
+ sheen-ar
+ sad-ar
+ dad-ar
+ tah-ar
+ zah-ar
+ ain-ar
+ ghain-ar
+ feh-ar
+ qaf-ar
+ kaf-ar
+ lam-ar
+ meem-ar
+ noon-ar
+ heh-ar
+ waw-ar
+ alefMaksura-ar
+ yeh-ar
fathatan-ar
dammatan-ar
kasratan-ar
@@ -487,58 +566,66 @@
kasra-ar
shadda-ar
sukun-ar
- madda-ar
- uni069COVE
-
- name
- GF_Arabic_Core
-
-
- list
-
- highhamza-ar
- beeh-ar
- beheh-ar
+ hamzaabove-ar
+ zero-ar
+ one-ar
+ two-ar
+ three-ar
+ four-ar
+ five-ar
+ six-ar
+ seven-ar
+ eight-ar
+ nine-ar
+ percent-ar
+ decimalseparator-ar
+ thousandseparator-ar
+ alefabove-ar
tehRing-ar
- tehThreedotsdown-ar
- tteheh-ar
- teheh-ar
- tcheheh-ar
- nyeh-ar
- dyeh-ar
+ peh-ar
hahHamzaabove-ar
hahThreedotsabove-ar
- dahal-ar
- ddahal-ar
+ tcheh-ar
dalRing-ar
- dalDotbelow-ar
- dalThreedotsdown-ar
rehRing-ar
rehVbelow-ar
rehDotbelowdotabove-ar
- rehFourdots-ar
+ jeh-ar
seenDotbelowDotabove-ar
- sheenThreedotsbelow-ar
- ainThreedots-ar
- peheh-ar
- kehehDotabove-ar
- kafswash-ar
+ veh-ar
+ keheh-ar
kafRing-ar
- ngoeh-ar
- gueh-ar
+ ng-ar
+ gaf-ar
lamVabove-ar
- rnoon-ar
noonRing-ar
- noonThreedotsabove-ar
- wawDotabove-ar
+ hehDoachashmee-ar
oe-ar
u-ar
yu-ar
ve-ar
- yehVabove-ar
+ yeh-farsi
yehTail-ar
+ yehVabove-ar
e-ar
- fathaHorizont-ar
+ fullstop-ar
+ ae-ar
+ zero-persian
+ one-persian
+ two-persian
+ three-persian
+ four-persian
+ five-persian
+ six-persian
+ seven-persian
+ eight-persian
+ nine-persian
+ sindhiampersand-ar
+ sindhipostpositionmen-ar
+ lefttorightmark
+ righttoleftmark
+ quoteleft
+ minus
name
GF_Arabic_Plus
diff --git a/GF_glyphsets/Arabic/glyphs/GF_Arabic_Core.glyphs b/GF_glyphsets/Arabic/glyphs/GF_Arabic_Core.glyphs
index ef1e92f25d..41be65e853 100644
--- a/GF_glyphsets/Arabic/glyphs/GF_Arabic_Core.glyphs
+++ b/GF_glyphsets/Arabic/glyphs/GF_Arabic_Core.glyphs
@@ -1,1585 +1,598 @@
{
-.appVersion = "3124";
-.formatVersion = 3;
-date = "2021-10-28 12:22:31 +0000";
-familyName = "GF Arabic 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;
-}
+.appVersion = "895";
+customParameters = (
+{
+name = Axes;
+value = (
);
-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;
}
);
+familyName = GF_Arabic_Core;
fontMaster = (
+);
+glyphs = (
{
-id = m01;
-metricValues = (
-{
-over = 16;
-pos = 800;
+glyphname = percent;
+unicode = 0025;
},
{
-over = 16;
-pos = 700;
+glyphname = plus;
+unicode = 002B;
},
{
-over = 16;
-pos = 500;
+glyphname = less;
+unicode = 003C;
},
{
-over = -16;
+glyphname = equal;
+unicode = 003D;
},
{
-over = -16;
-pos = -200;
+glyphname = greater;
+unicode = 003E;
},
{
-over = -16;
-}
-);
-name = Regular;
-}
-);
-glyphs = (
-{
-glyphname = "hamza-ar";
-layers = (
+glyphname = bar;
+unicode = 007C;
+},
{
-layerId = m01;
-width = 600;
-}
-);
-unicode = 1569;
+glyphname = multiply;
+unicode = 00D7;
},
{
-glyphname = "alef-ar";
-layers = (
+glyphname = divide;
+unicode = 00F7;
+},
{
-layerId = m01;
-width = 600;
-}
-);
-unicode = 1575;
+glyphname = "perthousand-ar";
+unicode = 0609;
},
{
-glyphname = "alefHamzaabove-ar";
-layers = (
+glyphname = "mark-ar";
+unicode = 061C;
+},
{
-layerId = m01;
-width = 600;
-}
-);
-unicode = 1571;
+glyphname = "percent-ar";
+unicode = 066A;
},
{
-glyphname = "alefHamzabelow-ar";
-layers = (
+glyphname = minus;
+unicode = 2212;
+},
{
-layerId = m01;
-width = 600;
-}
-);
-unicode = 1573;
+glyphname = space;
+unicode = 0020;
},
{
-glyphname = "alefMadda-ar";
-layers = (
+glyphname = nbspace;
+unicode = 00A0;
+},
{
-layerId = m01;
-width = 600;
-}
-);
-unicode = 1570;
+glyphname = lefttorightmark;
+unicode = 200E;
},
{
-glyphname = "beh-ar";
-layers = (
+glyphname = exclam;
+unicode = 0021;
+},
{
-layerId = m01;
-width = 600;
-}
-);
-unicode = 1576;
+glyphname = quotedbl;
+unicode = 0022;
},
{
-glyphname = "peh-ar";
-layers = (
+glyphname = numbersign;
+unicode = 0023;
+},
{
-layerId = m01;
-width = 600;
-}
-);
-unicode = 1662;
+glyphname = quotesingle;
+unicode = 0027;
},
{
-glyphname = "teh-ar";
-layers = (
+glyphname = parenleft;
+unicode = 0028;
+},
{
-layerId = m01;
-width = 600;
-}
-);
-unicode = 1578;
+glyphname = parenright;
+unicode = 0029;
},
{
-glyphname = "theh-ar";
-layers = (
+glyphname = asterisk;
+unicode = 002A;
+},
{
-layerId = m01;
-width = 600;
-}
-);
-unicode = 1579;
+glyphname = comma;
+unicode = 002C;
},
{
-glyphname = "tteh-ar";
-layers = (
+glyphname = hyphen;
+unicode = 002D;
+},
{
-layerId = m01;
-width = 600;
-}
-);
-unicode = 1657;
+glyphname = period;
+unicode = 002E;
},
{
-glyphname = "jeem-ar";
-layers = (
+glyphname = slash;
+unicode = 002F;
+},
{
-layerId = m01;
-width = 600;
-}
-);
-unicode = 1580;
+glyphname = colon;
+unicode = 003A;
},
{
-glyphname = "tcheh-ar";
-layers = (
+glyphname = bracketleft;
+unicode = 005B;
+},
{
-layerId = m01;
-width = 600;
-}
-);
-unicode = 1670;
+glyphname = backslash;
+unicode = 005C;
},
{
-glyphname = "hah-ar";
-layers = (
+glyphname = bracketright;
+unicode = 005D;
+},
{
-layerId = m01;
-width = 600;
-}
-);
-unicode = 1581;
+glyphname = braceleft;
+unicode = 007B;
},
{
-glyphname = "khah-ar";
-layers = (
+glyphname = braceright;
+unicode = 007D;
+},
{
-layerId = m01;
-width = 600;
-}
-);
-unicode = 1582;
+glyphname = guillemetleft;
+unicode = 00AB;
},
{
-glyphname = "dal-ar";
-layers = (
+glyphname = guillemetright;
+unicode = 00BB;
+},
{
-layerId = m01;
-width = 600;
-}
-);
-unicode = 1583;
+glyphname = "comma-ar";
+unicode = 060C;
},
{
-glyphname = "thal-ar";
-layers = (
+glyphname = "dateseparator-ar";
+unicode = 060D;
+},
{
-layerId = m01;
-width = 600;
-}
-);
-unicode = 1584;
+glyphname = "semicolon-ar";
+unicode = 061B;
},
{
-glyphname = "ddal-ar";
-layers = (
+glyphname = "question-ar";
+unicode = 061F;
+},
{
-layerId = m01;
-width = 600;
-}
-);
-unicode = 1672;
+glyphname = "asterisk-ar";
+unicode = 066D;
},
{
-glyphname = "reh-ar";
-layers = (
+glyphname = "fullstop-ar";
+unicode = 06D4;
+},
{
-layerId = m01;
-width = 600;
-}
-);
-unicode = 1585;
+glyphname = endash;
+unicode = 2013;
},
{
-glyphname = "zain-ar";
-layers = (
+glyphname = emdash;
+unicode = 2014;
+},
{
-layerId = m01;
-width = 600;
-}
-);
-unicode = 1586;
+glyphname = quoteleft;
+unicode = 2018;
},
{
-glyphname = "rreh-ar";
-layers = (
+glyphname = quoteright;
+unicode = 2019;
+},
{
-layerId = m01;
-width = 600;
-}
-);
-unicode = 1681;
+glyphname = quotedblleft;
+unicode = 201C;
},
{
-glyphname = "seen-ar";
-layers = (
+glyphname = quotedblright;
+unicode = 201D;
+},
{
-layerId = m01;
-width = 600;
-}
-);
-unicode = 1587;
+glyphname = ellipsis;
+unicode = 2026;
},
{
-glyphname = "sheen-ar";
-layers = (
+glyphname = guilsinglleft;
+unicode = 2039;
+},
{
-layerId = m01;
-width = 600;
-}
-);
-unicode = 1588;
+glyphname = guilsinglright;
+unicode = 203A;
},
{
-glyphname = "sad-ar";
-layers = (
+glyphname = "parenleft-ar";
+unicode = FD3E;
+},
{
-layerId = m01;
-width = 600;
-}
-);
-unicode = 1589;
+glyphname = "parenright-ar";
+unicode = FD3F;
},
{
-glyphname = "dad-ar";
-layers = (
+glyphname = zero;
+unicode = 0030;
+},
{
-layerId = m01;
-width = 600;
-}
-);
-unicode = 1590;
+glyphname = one;
+unicode = 0031;
},
{
-glyphname = "tah-ar";
-layers = (
+glyphname = two;
+unicode = 0032;
+},
{
-layerId = m01;
-width = 600;
-}
-);
-unicode = 1591;
+glyphname = three;
+unicode = 0033;
},
{
-glyphname = "zah-ar";
-layers = (
+glyphname = four;
+unicode = 0034;
+},
{
-layerId = m01;
-width = 600;
-}
-);
-unicode = 1592;
+glyphname = five;
+unicode = 0035;
},
{
-glyphname = "ain-ar";
-layers = (
+glyphname = six;
+unicode = 0036;
+},
{
-layerId = m01;
-width = 600;
-}
-);
-unicode = 1593;
+glyphname = seven;
+unicode = 0037;
},
{
-glyphname = "ghain-ar";
-layers = (
+glyphname = eight;
+unicode = 0038;
+},
{
-layerId = m01;
-width = 600;
-}
-);
-unicode = 1594;
+glyphname = nine;
+unicode = 0039;
},
{
-glyphname = "feh-ar";
-layers = (
+glyphname = "zero-ar";
+unicode = 0660;
+},
{
-layerId = m01;
-width = 600;
-}
-);
-unicode = 1601;
+glyphname = "one-ar";
+unicode = 0661;
},
{
-glyphname = "veh-ar";
-layers = (
+glyphname = "two-ar";
+unicode = 0662;
+},
{
-layerId = m01;
-width = 600;
-}
-);
-unicode = 1700;
+glyphname = "three-ar";
+unicode = 0663;
},
{
-glyphname = "fehDotmovedbelow-ar";
-layers = (
+glyphname = "four-ar";
+unicode = 0664;
+},
{
-layerId = m01;
-width = 600;
-}
-);
-unicode = 1698;
+glyphname = "five-ar";
+unicode = 0665;
},
{
-glyphname = "fehThreedotsbelow-ar";
-layers = (
+glyphname = "six-ar";
+unicode = 0666;
+},
{
-layerId = m01;
-width = 600;
-}
-);
-unicode = 1701;
+glyphname = "seven-ar";
+unicode = 0667;
},
{
-glyphname = "qaf-ar";
-layers = (
+glyphname = "eight-ar";
+unicode = 0668;
+},
{
-layerId = m01;
-width = 600;
-}
-);
-unicode = 1602;
+glyphname = "nine-ar";
+unicode = 0669;
},
{
-glyphname = "qafDotabove-ar";
-layers = (
+glyphname = "decimalseparator-ar";
+unicode = 066B;
+},
{
-layerId = m01;
-width = 600;
-}
-);
-unicode = 1703;
+glyphname = "thousandseparator-ar";
+unicode = 066C;
},
{
-glyphname = "qafThreedotsabove-ar";
-layers = (
+glyphname = "zero-persian";
+unicode = 06F0;
+},
{
-layerId = m01;
-width = 600;
-}
-);
-unicode = 1704;
+glyphname = "one-persian";
+unicode = 06F1;
},
{
-glyphname = "kaf-ar";
-layers = (
+glyphname = "two-persian";
+unicode = 06F2;
+},
{
-layerId = m01;
-width = 600;
-}
-);
-unicode = 1603;
+glyphname = "three-persian";
+unicode = 06F3;
},
{
-glyphname = "keheh-ar";
-layers = (
+glyphname = "four-persian";
+unicode = 06F4;
+},
{
-layerId = m01;
-width = 600;
-}
-);
-unicode = 1705;
+glyphname = "five-persian";
+unicode = 06F5;
},
{
-glyphname = "kehehThreedotsabove-ar";
-layers = (
+glyphname = "six-persian";
+unicode = 06F6;
+},
{
-layerId = m01;
-width = 600;
-}
-);
-unicode = 1891;
+glyphname = "seven-persian";
+unicode = 06F7;
},
{
-glyphname = "gaf-ar";
-layers = (
+glyphname = "eight-persian";
+unicode = 06F8;
+},
{
-layerId = m01;
-width = 600;
-}
-);
-unicode = 1711;
+glyphname = "nine-persian";
+unicode = 06F9;
},
{
-glyphname = "ng-ar";
-layers = (
+glyphname = "fathatan-ar";
+unicode = 064B;
+},
{
-layerId = m01;
-width = 600;
-}
-);
-unicode = 1709;
+glyphname = "dammatan-ar";
+unicode = 064C;
},
{
-glyphname = "lam-ar";
-layers = (
+glyphname = "kasratan-ar";
+unicode = 064D;
+},
{
-layerId = m01;
-width = 600;
-}
-);
-unicode = 1604;
+glyphname = "fatha-ar";
+unicode = 064E;
},
{
-glyphname = "meem-ar";
-layers = (
+glyphname = "damma-ar";
+unicode = 064F;
+},
{
-layerId = m01;
-width = 600;
-}
-);
-unicode = 1605;
+glyphname = "kasra-ar";
+unicode = 0650;
},
{
-glyphname = "noon-ar";
-layers = (
+glyphname = "shadda-ar";
+unicode = 0651;
+},
{
-layerId = m01;
-width = 600;
-}
-);
-unicode = 1606;
+glyphname = "sukun-ar";
+unicode = 0652;
},
{
-glyphname = "noonghunna-ar";
-layers = (
+glyphname = "madda-ar";
+unicode = 0653;
+},
{
-layerId = m01;
-width = 600;
-}
-);
-unicode = 1722;
+glyphname = "hamzaabove-ar";
+unicode = 0654;
},
{
-glyphname = "heh-ar";
-layers = (
+glyphname = "hamzabelow-ar";
+unicode = 0655;
+},
{
-layerId = m01;
-width = 600;
-}
-);
-unicode = 1607;
+glyphname = "alefabove-ar";
+unicode = 0670;
},
{
-glyphname = "hehHamzaabove-ar";
-layers = (
-{
-layerId = m01;
-width = 600;
-}
-);
-unicode = 1728;
-},
-{
-glyphname = "hehgoal-ar";
-layers = (
-{
-layerId = m01;
-width = 600;
-}
-);
-unicode = 1729;
-},
-{
-glyphname = "hehgoalHamzaabove-ar";
-layers = (
-{
-layerId = m01;
-width = 600;
-}
-);
-unicode = 1730;
-},
-{
-glyphname = "hehDoachashmee-ar";
-layers = (
-{
-layerId = m01;
-width = 600;
-}
-);
-unicode = 1726;
-},
-{
-glyphname = "tehMarbuta-ar";
-layers = (
-{
-layerId = m01;
-width = 600;
-}
-);
-unicode = 1577;
+glyphname = "hamza-ar";
+unicode = 0621;
},
{
-glyphname = "tehMarbutagoal-ar";
-layers = (
-{
-layerId = m01;
-width = 600;
-}
-);
-unicode = 1731;
+glyphname = "alefMadda-ar";
+unicode = 0622;
},
{
-glyphname = "waw-ar";
-layers = (
-{
-layerId = m01;
-width = 600;
-}
-);
-unicode = 1608;
+glyphname = "alefHamzaabove-ar";
+unicode = 0623;
},
{
glyphname = "wawHamzaabove-ar";
-layers = (
-{
-layerId = m01;
-width = 600;
-}
-);
-unicode = 1572;
-},
-{
-glyphname = "alefMaksura-ar";
-layers = (
-{
-layerId = m01;
-width = 600;
-}
-);
-unicode = 1609;
+unicode = 0624;
},
{
-glyphname = "yeh-ar";
-layers = (
-{
-layerId = m01;
-width = 600;
-}
-);
-unicode = 1610;
+glyphname = "alefHamzabelow-ar";
+unicode = 0625;
},
{
glyphname = "yehHamzaabove-ar";
-layers = (
-{
-layerId = m01;
-width = 600;
-}
-);
-unicode = 1574;
+unicode = 0626;
},
{
-glyphname = "yehFarsi-ar";
-layers = (
-{
-layerId = m01;
-width = 600;
-}
-);
-unicode = 1740;
+glyphname = "alef-ar";
+unicode = 0627;
},
{
-glyphname = "yehbarree-ar";
-layers = (
-{
-layerId = m01;
-width = 600;
-}
-);
-unicode = 1746;
+glyphname = "beh-ar";
+unicode = 0628;
},
{
-glyphname = "yehbarreeHamzaabove-ar";
-layers = (
-{
-layerId = m01;
-width = 600;
-}
-);
-unicode = 1747;
+glyphname = "tehMarbuta-ar";
+unicode = 0629;
},
{
-glyphname = "ae-ar";
-layers = (
-{
-layerId = m01;
-width = 600;
-}
-);
-unicode = 1749;
+glyphname = "teh-ar";
+unicode = 062A;
},
{
-glyphname = "kashida-ar";
-layers = (
-{
-layerId = m01;
-width = 600;
-}
-);
-unicode = 1600;
+glyphname = "theh-ar";
+unicode = 062B;
},
{
-glyphname = "decimalseparator-ar";
-layers = (
-{
-layerId = m01;
-width = 600;
-}
-);
-unicode = 1643;
+glyphname = "jeem-ar";
+unicode = 062C;
},
{
-glyphname = "thousandseparator-ar";
-layers = (
-{
-layerId = m01;
-width = 600;
-}
-);
-unicode = 1644;
+glyphname = "hah-ar";
+unicode = 062D;
},
{
-glyphname = "zero-ar";
-layers = (
-{
-layerId = m01;
-width = 600;
-}
-);
-unicode = 1632;
+glyphname = "khah-ar";
+unicode = 062E;
},
{
-glyphname = "one-ar";
-layers = (
-{
-layerId = m01;
-width = 600;
-}
-);
-unicode = 1633;
+glyphname = "dal-ar";
+unicode = 062F;
},
{
-glyphname = "two-ar";
-layers = (
-{
-layerId = m01;
-width = 600;
-}
-);
-unicode = 1634;
+glyphname = "thal-ar";
+unicode = 0630;
},
{
-glyphname = "three-ar";
-layers = (
-{
-layerId = m01;
-width = 600;
-}
-);
-unicode = 1635;
+glyphname = "reh-ar";
+unicode = 0631;
},
{
-glyphname = "four-ar";
-layers = (
-{
-layerId = m01;
-width = 600;
-}
-);
-unicode = 1636;
+glyphname = "zain-ar";
+unicode = 0632;
},
{
-glyphname = "five-ar";
-layers = (
-{
-layerId = m01;
-width = 600;
-}
-);
-unicode = 1637;
+glyphname = "seen-ar";
+unicode = 0633;
},
{
-glyphname = "six-ar";
-layers = (
-{
-layerId = m01;
-width = 600;
-}
-);
-unicode = 1638;
+glyphname = "sheen-ar";
+unicode = 0634;
},
{
-glyphname = "seven-ar";
-layers = (
-{
-layerId = m01;
-width = 600;
-}
-);
-unicode = 1639;
+glyphname = "sad-ar";
+unicode = 0635;
},
{
-glyphname = "eight-ar";
-layers = (
-{
-layerId = m01;
-width = 600;
-}
-);
-unicode = 1640;
+glyphname = "dad-ar";
+unicode = 0636;
},
{
-glyphname = "nine-ar";
-layers = (
-{
-layerId = m01;
-width = 600;
-}
-);
-unicode = 1641;
+glyphname = "tah-ar";
+unicode = 0637;
},
{
-glyphname = "zeroFarsi-ar";
-layers = (
-{
-layerId = m01;
-width = 600;
-}
-);
-unicode = 1776;
+glyphname = "zah-ar";
+unicode = 0638;
},
{
-glyphname = "oneFarsi-ar";
-layers = (
-{
-layerId = m01;
-width = 600;
-}
-);
-unicode = 1777;
+glyphname = "ain-ar";
+unicode = 0639;
},
{
-glyphname = "twoFarsi-ar";
-layers = (
-{
-layerId = m01;
-width = 600;
-}
-);
-unicode = 1778;
+glyphname = "ghain-ar";
+unicode = 063A;
},
{
-glyphname = "threeFarsi-ar";
-layers = (
-{
-layerId = m01;
-width = 600;
-}
-);
-unicode = 1779;
+glyphname = "kashida-ar";
+unicode = 0640;
},
{
-glyphname = "fourFarsi-ar";
-layers = (
-{
-layerId = m01;
-width = 600;
-}
-);
-unicode = 1780;
+glyphname = "feh-ar";
+unicode = 0641;
},
{
-glyphname = "fiveFarsi-ar";
-layers = (
-{
-layerId = m01;
-width = 600;
-}
-);
-unicode = 1781;
+glyphname = "qaf-ar";
+unicode = 0642;
},
{
-glyphname = "sixFarsi-ar";
-layers = (
-{
-layerId = m01;
-width = 600;
-}
-);
-unicode = 1782;
+glyphname = "kaf-ar";
+unicode = 0643;
},
{
-glyphname = "sevenFarsi-ar";
-layers = (
-{
-layerId = m01;
-width = 600;
-}
-);
-unicode = 1783;
+glyphname = "lam-ar";
+unicode = 0644;
},
{
-glyphname = "eightFarsi-ar";
-layers = (
-{
-layerId = m01;
-width = 600;
-}
-);
-unicode = 1784;
+glyphname = "meem-ar";
+unicode = 0645;
},
{
-glyphname = "nineFarsi-ar";
-layers = (
-{
-layerId = m01;
-width = 600;
-}
-);
-unicode = 1785;
+glyphname = "noon-ar";
+unicode = 0646;
},
{
-glyphname = zero;
-layers = (
-{
-layerId = m01;
-width = 600;
-}
-);
-unicode = 48;
+glyphname = "heh-ar";
+unicode = 0647;
},
{
-glyphname = one;
-layers = (
-{
-layerId = m01;
-width = 600;
-}
-);
-unicode = 49;
+glyphname = "waw-ar";
+unicode = 0648;
},
{
-glyphname = two;
-layers = (
-{
-layerId = m01;
-width = 600;
-}
-);
-unicode = 50;
+glyphname = "alefMaksura-ar";
+unicode = 0649;
},
{
-glyphname = three;
-layers = (
-{
-layerId = m01;
-width = 600;
-}
-);
-unicode = 51;
+glyphname = "yeh-ar";
+unicode = 064A;
},
{
-glyphname = four;
-layers = (
-{
-layerId = m01;
-width = 600;
-}
-);
-unicode = 52;
+glyphname = "tteh-ar";
+unicode = 0679;
},
{
-glyphname = five;
-layers = (
-{
-layerId = m01;
-width = 600;
-}
-);
-unicode = 53;
+glyphname = "peh-ar";
+unicode = 067E;
},
{
-glyphname = six;
-layers = (
-{
-layerId = m01;
-width = 600;
-}
-);
-unicode = 54;
+glyphname = "tcheh-ar";
+unicode = 0686;
},
{
-glyphname = seven;
-layers = (
-{
-layerId = m01;
-width = 600;
-}
-);
-unicode = 55;
+glyphname = "ddal-ar";
+unicode = 0688;
},
{
-glyphname = eight;
-layers = (
-{
-layerId = m01;
-width = 600;
-}
-);
-unicode = 56;
+glyphname = "rreh-ar";
+unicode = 0691;
},
{
-glyphname = nine;
-layers = (
-{
-layerId = m01;
-width = 600;
-}
-);
-unicode = 57;
+glyphname = "jeh-ar";
+unicode = 0698;
},
{
-glyphname = space;
-layers = (
-{
-layerId = m01;
-width = 200;
-}
-);
-unicode = 32;
+glyphname = "keheh-ar";
+unicode = 06A9;
},
{
-glyphname = nbspace;
-layers = (
-{
-layerId = m01;
-width = 600;
-}
-);
-unicode = 160;
+glyphname = "gaf-ar";
+unicode = 06AF;
},
{
-glyphname = "fullstop-ar";
-layers = (
-{
-layerId = m01;
-width = 600;
-}
-);
-unicode = 1748;
+glyphname = "hehDoachashmee-ar";
+unicode = 06BE;
},
{
-glyphname = "comma-ar";
-layers = (
-{
-layerId = m01;
-width = 600;
-}
-);
-unicode = 1548;
+glyphname = "hehgoal-ar";
+unicode = 06C1;
},
{
-glyphname = "semicolon-ar";
-layers = (
-{
-layerId = m01;
-width = 600;
-}
-);
-unicode = 1563;
+glyphname = "yeh-farsi";
+unicode = 06CC;
},
{
-glyphname = "question-ar";
-layers = (
-{
-layerId = m01;
-width = 600;
-}
-);
-unicode = 1567;
+glyphname = "yehbarree-ar";
+unicode = 06D2;
},
{
-glyphname = "asterisk-ar";
-layers = (
-{
-layerId = m01;
-width = 600;
+glyphname = "kehehThreedotsabove-ar";
+unicode = 0763;
}
);
-unicode = 1645;
-},
-{
-glyphname = period;
-layers = (
-{
-layerId = m01;
-width = 600;
-}
-);
-unicode = 46;
-},
-{
-glyphname = colon;
-layers = (
-{
-layerId = m01;
-width = 600;
-}
-);
-unicode = 58;
-},
-{
-glyphname = ellipsis;
-layers = (
-{
-layerId = m01;
-width = 600;
-}
-);
-unicode = 8230;
-},
-{
-glyphname = exclam;
-layers = (
-{
-layerId = m01;
-width = 600;
-}
-);
-unicode = 33;
-},
-{
-glyphname = asterisk;
-layers = (
-{
-layerId = m01;
-width = 600;
-}
-);
-unicode = 42;
-},
-{
-glyphname = numbersign;
-layers = (
-{
-layerId = m01;
-width = 600;
-}
-);
-unicode = 35;
-},
-{
-glyphname = slash;
-layers = (
-{
-layerId = m01;
-width = 600;
-}
-);
-unicode = 47;
-},
-{
-glyphname = backslash;
-layers = (
-{
-layerId = m01;
-width = 600;
-}
-);
-unicode = 92;
-},
-{
-glyphname = hyphen;
-layers = (
-{
-layerId = m01;
-width = 600;
-}
-);
-unicode = 45;
-},
-{
-glyphname = parenleft;
-layers = (
-{
-layerId = m01;
-width = 600;
-}
-);
-unicode = 40;
-},
-{
-glyphname = parenright;
-layers = (
-{
-layerId = m01;
-width = 600;
-}
-);
-unicode = 41;
-},
-{
-glyphname = braceleft;
-layers = (
-{
-layerId = m01;
-width = 600;
-}
-);
-unicode = 123;
-},
-{
-glyphname = braceright;
-layers = (
-{
-layerId = m01;
-width = 600;
-}
-);
-unicode = 125;
-},
-{
-glyphname = bracketleft;
-layers = (
-{
-layerId = m01;
-width = 600;
-}
-);
-unicode = 91;
-},
-{
-glyphname = bracketright;
-layers = (
-{
-layerId = m01;
-width = 600;
-}
-);
-unicode = 93;
-},
-{
-glyphname = quotedblleft;
-layers = (
-{
-layerId = m01;
-width = 600;
-}
-);
-unicode = 8220;
-},
-{
-glyphname = quotedblright;
-layers = (
-{
-layerId = m01;
-width = 600;
-}
-);
-unicode = 8221;
-},
-{
-glyphname = quoteleft;
-layers = (
-{
-layerId = m01;
-width = 600;
-}
-);
-unicode = 8216;
-},
-{
-glyphname = quoteright;
-layers = (
-{
-layerId = m01;
-width = 600;
-}
-);
-unicode = 8217;
-},
-{
-glyphname = guillemetleft;
-layers = (
-{
-layerId = m01;
-width = 600;
-}
-);
-unicode = 171;
-},
-{
-glyphname = guillemetright;
-layers = (
-{
-layerId = m01;
-width = 600;
-}
-);
-unicode = 187;
-},
-{
-glyphname = quotedbl;
-layers = (
-{
-layerId = m01;
-width = 600;
-}
-);
-unicode = 34;
-},
-{
-glyphname = quotesingle;
-layers = (
-{
-layerId = m01;
-width = 600;
-}
-);
-unicode = 39;
-},
-{
-glyphname = "percent-ar";
-layers = (
-{
-layerId = m01;
-width = 600;
-}
-);
-unicode = 1642;
-},
-{
-glyphname = bar;
-layers = (
-{
-layerId = m01;
-width = 600;
-}
-);
-unicode = 124;
-},
-{
-glyphname = plus;
-layers = (
-{
-layerId = m01;
-width = 600;
-}
-);
-unicode = 43;
-},
-{
-glyphname = multiply;
-layers = (
-{
-layerId = m01;
-width = 600;
-}
-);
-unicode = 215;
-},
-{
-glyphname = divide;
-layers = (
-{
-layerId = m01;
-width = 600;
-}
-);
-unicode = 247;
-},
-{
-glyphname = equal;
-layers = (
-{
-layerId = m01;
-width = 600;
-}
-);
-unicode = 61;
-},
-{
-glyphname = greater;
-layers = (
-{
-layerId = m01;
-width = 600;
-}
-);
-unicode = 62;
-},
-{
-glyphname = less;
-layers = (
-{
-layerId = m01;
-width = 600;
-}
-);
-unicode = 60;
-},
-{
-glyphname = percent;
-layers = (
-{
-layerId = m01;
-width = 600;
-}
-);
-unicode = 37;
-},
-{
-glyphname = "hamzaabove-ar";
-layers = (
-{
-layerId = m01;
-width = 600;
-}
-);
-unicode = 1620;
-},
-{
-glyphname = "hamzabelow-ar";
-layers = (
-{
-layerId = m01;
-width = 600;
-}
-);
-unicode = 1621;
-},
-{
-glyphname = "fathatan-ar";
-layers = (
-{
-layerId = m01;
-width = 600;
-}
-);
-unicode = 1611;
-},
-{
-glyphname = "dammatan-ar";
-layers = (
-{
-layerId = m01;
-width = 600;
-}
-);
-unicode = 1612;
-},
-{
-glyphname = "kasratan-ar";
-layers = (
-{
-layerId = m01;
-width = 600;
-}
-);
-unicode = 1613;
-},
-{
-glyphname = "fatha-ar";
-layers = (
-{
-layerId = m01;
-width = 600;
-}
-);
-unicode = 1614;
-},
-{
-glyphname = "damma-ar";
-layers = (
-{
-layerId = m01;
-width = 600;
-}
-);
-unicode = 1615;
-},
-{
-glyphname = "kasra-ar";
-layers = (
-{
-layerId = m01;
-width = 600;
-}
-);
-unicode = 1616;
-},
-{
-glyphname = "shadda-ar";
-layers = (
-{
-layerId = m01;
-width = 600;
-}
-);
-unicode = 1617;
-},
-{
-glyphname = "sukun-ar";
-layers = (
-{
-layerId = m01;
-width = 600;
-}
-);
-unicode = 1618;
-},
-{
-glyphname = "madda-ar";
-layers = (
-{
-layerId = m01;
-width = 600;
-}
-);
-unicode = 1619;
-},
-{
-glyphname = uni069COVE;
-layers = (
-{
-layerId = m01;
-width = 600;
-}
-);
-}
-);
-metrics = (
-{
-type = ascender;
-},
-{
-type = "cap height";
-},
-{
-type = "x-height";
-},
-{
-type = baseline;
-},
-{
-type = descender;
-},
-{
-type = "italic angle";
-}
+instances = (
);
unitsPerEm = 1000;
versionMajor = 1;
diff --git a/GF_glyphsets/Arabic/glyphs/GF_Arabic_Plus.glyphs b/GF_glyphsets/Arabic/glyphs/GF_Arabic_Plus.glyphs
index 930b0ee65e..5e89815643 100644
--- a/GF_glyphsets/Arabic/glyphs/GF_Arabic_Plus.glyphs
+++ b/GF_glyphsets/Arabic/glyphs/GF_Arabic_Plus.glyphs
@@ -1,577 +1,535 @@
{
-.appVersion = "3124";
-.formatVersion = 3;
-date = "2021-10-28 12:22:31 +0000";
-familyName = "GF Arabic Plus";
-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;
-}
+.appVersion = "895";
+customParameters = (
+{
+name = Axes;
+value = (
);
-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;
}
);
+familyName = GF_Arabic_Plus;
fontMaster = (
+);
+glyphs = (
{
-id = m01;
-metricValues = (
+glyphname = percent;
+unicode = 0025;
+},
{
-over = 16;
-pos = 800;
+glyphname = plus;
+unicode = 002B;
},
{
-over = 16;
-pos = 700;
+glyphname = "perthousand-ar";
+unicode = 0609;
},
{
-over = 16;
-pos = 500;
+glyphname = "percent-ar";
+unicode = 066A;
},
{
-over = -16;
+glyphname = "sindhipostpositionmen-ar";
+unicode = 06FE;
},
{
-over = -16;
-pos = -200;
+glyphname = minus;
+unicode = 2212;
},
{
-over = -16;
-}
-);
-name = Regular;
-}
-);
-glyphs = (
+glyphname = lefttorightmark;
+unicode = 200E;
+},
{
-glyphname = "highhamza-ar";
-layers = (
+glyphname = righttoleftmark;
+unicode = 200F;
+},
{
-layerId = m01;
-width = 600;
-}
-);
-unicode = 1652;
+glyphname = exclam;
+unicode = 0021;
},
{
-glyphname = "beeh-ar";
-layers = (
+glyphname = quotesingle;
+unicode = 0027;
+},
{
-layerId = m01;
-width = 600;
-}
-);
-unicode = 1659;
+glyphname = parenleft;
+unicode = 0028;
},
{
-glyphname = "beheh-ar";
-layers = (
+glyphname = parenright;
+unicode = 0029;
+},
{
-layerId = m01;
-width = 600;
-}
-);
-unicode = 1664;
+glyphname = comma;
+unicode = 002C;
},
{
-glyphname = "tehRing-ar";
-layers = (
+glyphname = hyphen;
+unicode = 002D;
+},
{
-layerId = m01;
-width = 600;
-}
-);
-unicode = 1660;
+glyphname = period;
+unicode = 002E;
},
{
-glyphname = "tehThreedotsdown-ar";
-layers = (
+glyphname = slash;
+unicode = 002F;
+},
{
-layerId = m01;
-width = 600;
-}
-);
-unicode = 1661;
+glyphname = colon;
+unicode = 003A;
},
{
-glyphname = "tteheh-ar";
-layers = (
+glyphname = semicolon;
+unicode = 003B;
+},
{
-layerId = m01;
-width = 600;
-}
-);
-unicode = 1658;
+glyphname = bracketleft;
+unicode = 005B;
},
{
-glyphname = "teheh-ar";
-layers = (
+glyphname = bracketright;
+unicode = 005D;
+},
{
-layerId = m01;
-width = 600;
-}
-);
-unicode = 1663;
+glyphname = "comma-ar";
+unicode = 060C;
},
{
-glyphname = "tcheheh-ar";
-layers = (
+glyphname = "fullstop-ar";
+unicode = 06D4;
+},
{
-layerId = m01;
-width = 600;
-}
-);
-unicode = 1671;
+glyphname = "sindhiampersand-ar";
+unicode = 06FD;
},
{
-glyphname = "nyeh-ar";
-layers = (
+glyphname = quoteleft;
+unicode = 2018;
+},
{
-layerId = m01;
-width = 600;
-}
-);
-unicode = 1667;
+glyphname = zero;
+unicode = 0030;
},
{
-glyphname = "dyeh-ar";
-layers = (
+glyphname = one;
+unicode = 0031;
+},
{
-layerId = m01;
-width = 600;
-}
-);
-unicode = 1668;
+glyphname = two;
+unicode = 0032;
},
{
-glyphname = "hahHamzaabove-ar";
-layers = (
+glyphname = three;
+unicode = 0033;
+},
{
-layerId = m01;
-width = 600;
-}
-);
-unicode = 1665;
+glyphname = four;
+unicode = 0034;
},
{
-glyphname = "hahThreedotsabove-ar";
-layers = (
+glyphname = five;
+unicode = 0035;
+},
{
-layerId = m01;
-width = 600;
-}
-);
-unicode = 1669;
+glyphname = six;
+unicode = 0036;
},
{
-glyphname = "dahal-ar";
-layers = (
+glyphname = seven;
+unicode = 0037;
+},
{
-layerId = m01;
-width = 600;
-}
-);
-unicode = 1676;
+glyphname = eight;
+unicode = 0038;
},
{
-glyphname = "ddahal-ar";
-layers = (
+glyphname = nine;
+unicode = 0039;
+},
{
-layerId = m01;
-width = 600;
-}
-);
-unicode = 1677;
+glyphname = "zero-ar";
+unicode = 0660;
},
{
-glyphname = "dalRing-ar";
-layers = (
+glyphname = "one-ar";
+unicode = 0661;
+},
{
-layerId = m01;
-width = 600;
-}
-);
-unicode = 1673;
+glyphname = "two-ar";
+unicode = 0662;
},
{
-glyphname = "dalDotbelow-ar";
-layers = (
+glyphname = "three-ar";
+unicode = 0663;
+},
{
-layerId = m01;
-width = 600;
-}
-);
-unicode = 1674;
+glyphname = "four-ar";
+unicode = 0664;
},
{
-glyphname = "dalThreedotsdown-ar";
-layers = (
+glyphname = "five-ar";
+unicode = 0665;
+},
{
-layerId = m01;
-width = 600;
-}
-);
-unicode = 1679;
+glyphname = "six-ar";
+unicode = 0666;
},
{
-glyphname = "rehRing-ar";
-layers = (
+glyphname = "seven-ar";
+unicode = 0667;
+},
{
-layerId = m01;
-width = 600;
-}
-);
-unicode = 1683;
+glyphname = "eight-ar";
+unicode = 0668;
},
{
-glyphname = "rehVbelow-ar";
-layers = (
+glyphname = "nine-ar";
+unicode = 0669;
+},
{
-layerId = m01;
-width = 600;
-}
-);
-unicode = 1685;
+glyphname = "decimalseparator-ar";
+unicode = 066B;
},
{
-glyphname = "rehDotbelowdotabove-ar";
-layers = (
+glyphname = "thousandseparator-ar";
+unicode = 066C;
+},
{
-layerId = m01;
-width = 600;
-}
-);
-unicode = 1686;
+glyphname = "zero-persian";
+unicode = 06F0;
},
{
-glyphname = "rehFourdots-ar";
-layers = (
+glyphname = "one-persian";
+unicode = 06F1;
+},
{
-layerId = m01;
-width = 600;
-}
-);
-unicode = 1689;
+glyphname = "two-persian";
+unicode = 06F2;
},
{
-glyphname = "seenDotbelowDotabove-ar";
-layers = (
+glyphname = "three-persian";
+unicode = 06F3;
+},
{
-layerId = m01;
-width = 600;
-}
-);
-unicode = 1690;
+glyphname = "four-persian";
+unicode = 06F4;
},
{
-glyphname = "sheenThreedotsbelow-ar";
-layers = (
+glyphname = "five-persian";
+unicode = 06F5;
+},
{
-layerId = m01;
-width = 600;
-}
-);
-unicode = 1692;
+glyphname = "six-persian";
+unicode = 06F6;
},
{
-glyphname = "ainThreedots-ar";
-layers = (
+glyphname = "seven-persian";
+unicode = 06F7;
+},
{
-layerId = m01;
-width = 600;
-}
-);
-unicode = 1696;
+glyphname = "eight-persian";
+unicode = 06F8;
},
{
-glyphname = "peheh-ar";
-layers = (
+glyphname = "nine-persian";
+unicode = 06F9;
+},
{
-layerId = m01;
-width = 600;
-}
-);
-unicode = 1702;
+glyphname = "fathatan-ar";
+unicode = 064B;
},
{
-glyphname = "kehehDotabove-ar";
-layers = (
+glyphname = "dammatan-ar";
+unicode = 064C;
+},
{
-layerId = m01;
-width = 600;
-}
-);
-unicode = 1890;
+glyphname = "kasratan-ar";
+unicode = 064D;
},
{
-glyphname = "kafswash-ar";
-layers = (
+glyphname = "fatha-ar";
+unicode = 064E;
+},
{
-layerId = m01;
-width = 600;
-}
-);
-unicode = 1706;
+glyphname = "damma-ar";
+unicode = 064F;
},
{
-glyphname = "kafRing-ar";
-layers = (
+glyphname = "kasra-ar";
+unicode = 0650;
+},
{
-layerId = m01;
-width = 600;
-}
-);
-unicode = 1707;
+glyphname = "shadda-ar";
+unicode = 0651;
},
{
-glyphname = "ngoeh-ar";
-layers = (
+glyphname = "sukun-ar";
+unicode = 0652;
+},
{
-layerId = m01;
-width = 600;
-}
-);
-unicode = 1713;
+glyphname = "hamzaabove-ar";
+unicode = 0654;
},
{
-glyphname = "gueh-ar";
-layers = (
+glyphname = "alefabove-ar";
+unicode = 0670;
+},
{
-layerId = m01;
-width = 600;
-}
-);
-unicode = 1715;
+glyphname = "hamza-ar";
+unicode = 0621;
},
{
-glyphname = "lamVabove-ar";
-layers = (
+glyphname = "alefMadda-ar";
+unicode = 0622;
+},
{
-layerId = m01;
-width = 600;
-}
-);
-unicode = 1717;
+glyphname = "alefHamzaabove-ar";
+unicode = 0623;
},
{
-glyphname = "rnoon-ar";
-layers = (
+glyphname = "wawHamzaabove-ar";
+unicode = 0624;
+},
{
-layerId = m01;
-width = 600;
-}
-);
-unicode = 1723;
+glyphname = "yehHamzaabove-ar";
+unicode = 0626;
},
{
-glyphname = "noonRing-ar";
-layers = (
+glyphname = "alef-ar";
+unicode = 0627;
+},
{
-layerId = m01;
-width = 600;
-}
-);
-unicode = 1724;
+glyphname = "beh-ar";
+unicode = 0628;
},
{
-glyphname = "noonThreedotsabove-ar";
-layers = (
+glyphname = "tehMarbuta-ar";
+unicode = 0629;
+},
{
-layerId = m01;
-width = 600;
-}
-);
-unicode = 1725;
+glyphname = "teh-ar";
+unicode = 062A;
},
{
-glyphname = "wawDotabove-ar";
-layers = (
+glyphname = "theh-ar";
+unicode = 062B;
+},
{
-layerId = m01;
-width = 600;
-}
-);
-unicode = 1743;
+glyphname = "jeem-ar";
+unicode = 062C;
},
{
-glyphname = "oe-ar";
-layers = (
+glyphname = "hah-ar";
+unicode = 062D;
+},
{
-layerId = m01;
-width = 600;
-}
-);
-unicode = 1734;
+glyphname = "khah-ar";
+unicode = 062E;
},
{
-glyphname = "u-ar";
-layers = (
+glyphname = "dal-ar";
+unicode = 062F;
+},
{
-layerId = m01;
-width = 600;
-}
-);
-unicode = 1735;
+glyphname = "thal-ar";
+unicode = 0630;
},
{
-glyphname = "yu-ar";
-layers = (
+glyphname = "reh-ar";
+unicode = 0631;
+},
{
-layerId = m01;
-width = 600;
-}
-);
-unicode = 1736;
+glyphname = "zain-ar";
+unicode = 0632;
},
{
-glyphname = "ve-ar";
-layers = (
+glyphname = "seen-ar";
+unicode = 0633;
+},
{
-layerId = m01;
-width = 600;
-}
-);
-unicode = 1739;
+glyphname = "sheen-ar";
+unicode = 0634;
},
{
-glyphname = "yehVabove-ar";
-layers = (
+glyphname = "sad-ar";
+unicode = 0635;
+},
{
-layerId = m01;
-width = 600;
-}
-);
-unicode = 1742;
+glyphname = "dad-ar";
+unicode = 0636;
},
{
-glyphname = "yehTail-ar";
-layers = (
+glyphname = "tah-ar";
+unicode = 0637;
+},
{
-layerId = m01;
-width = 600;
-}
-);
-unicode = 1741;
+glyphname = "zah-ar";
+unicode = 0638;
},
{
-glyphname = "e-ar";
-layers = (
+glyphname = "ain-ar";
+unicode = 0639;
+},
{
-layerId = m01;
-width = 600;
-}
-);
-unicode = 1744;
+glyphname = "ghain-ar";
+unicode = 063A;
},
{
-glyphname = "fathaHorizont-ar";
-layers = (
+glyphname = "feh-ar";
+unicode = 0641;
+},
{
-layerId = m01;
-width = 600;
-}
-);
-unicode = 1625;
-}
-);
-metrics = (
+glyphname = "qaf-ar";
+unicode = 0642;
+},
+{
+glyphname = "kaf-ar";
+unicode = 0643;
+},
+{
+glyphname = "lam-ar";
+unicode = 0644;
+},
+{
+glyphname = "meem-ar";
+unicode = 0645;
+},
+{
+glyphname = "noon-ar";
+unicode = 0646;
+},
+{
+glyphname = "heh-ar";
+unicode = 0647;
+},
+{
+glyphname = "waw-ar";
+unicode = 0648;
+},
+{
+glyphname = "alefMaksura-ar";
+unicode = 0649;
+},
+{
+glyphname = "yeh-ar";
+unicode = 064A;
+},
+{
+glyphname = "tehRing-ar";
+unicode = 067C;
+},
{
-type = ascender;
+glyphname = "peh-ar";
+unicode = 067E;
},
{
-type = "cap height";
+glyphname = "hahHamzaabove-ar";
+unicode = 0681;
+},
+{
+glyphname = "hahThreedotsabove-ar";
+unicode = 0685;
+},
+{
+glyphname = "tcheh-ar";
+unicode = 0686;
+},
+{
+glyphname = "dalRing-ar";
+unicode = 0689;
+},
+{
+glyphname = "rehRing-ar";
+unicode = 0693;
+},
+{
+glyphname = "rehVbelow-ar";
+unicode = 0695;
+},
+{
+glyphname = "rehDotbelowdotabove-ar";
+unicode = 0696;
+},
+{
+glyphname = "jeh-ar";
+unicode = 0698;
+},
+{
+glyphname = "seenDotbelowDotabove-ar";
+unicode = 069A;
+},
+{
+glyphname = "veh-ar";
+unicode = 06A4;
+},
+{
+glyphname = "keheh-ar";
+unicode = 06A9;
+},
+{
+glyphname = "kafRing-ar";
+unicode = 06AB;
},
{
-type = "x-height";
+glyphname = "ng-ar";
+unicode = 06AD;
},
{
-type = baseline;
+glyphname = "gaf-ar";
+unicode = 06AF;
},
{
-type = descender;
+glyphname = "lamVabove-ar";
+unicode = 06B5;
+},
+{
+glyphname = "noonRing-ar";
+unicode = 06BC;
+},
+{
+glyphname = "hehDoachashmee-ar";
+unicode = 06BE;
+},
+{
+glyphname = "oe-ar";
+unicode = 06C6;
+},
+{
+glyphname = "u-ar";
+unicode = 06C7;
+},
+{
+glyphname = "yu-ar";
+unicode = 06C8;
},
{
-type = "italic angle";
+glyphname = "ve-ar";
+unicode = 06CB;
+},
+{
+glyphname = "yeh-farsi";
+unicode = 06CC;
+},
+{
+glyphname = "yehTail-ar";
+unicode = 06CD;
+},
+{
+glyphname = "yehVabove-ar";
+unicode = 06CE;
+},
+{
+glyphname = "e-ar";
+unicode = 06D0;
+},
+{
+glyphname = "ae-ar";
+unicode = 06D5;
}
);
+instances = (
+);
unitsPerEm = 1000;
versionMajor = 1;
versionMinor = 0;
diff --git a/GF_glyphsets/Arabic/nam/GF_Arabic_Core.nam b/GF_glyphsets/Arabic/nam/GF_Arabic_Core.nam
index 2910dac26d..00b4cfadd3 100644
--- a/GF_glyphsets/Arabic/nam/GF_Arabic_Core.nam
+++ b/GF_glyphsets/Arabic/nam/GF_Arabic_Core.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
@@ -8,6 +9,7 @@
0x0029 RIGHT PARENTHESIS
0x002A ASTERISK
0x002B PLUS SIGN
+0x002C COMMA
0x002D HYPHEN-MINUS
0x002E FULL STOP
0x002F SOLIDUS
@@ -36,8 +38,11 @@
0x00BB RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
0x00D7 MULTIPLICATION SIGN
0x00F7 DIVISION SIGN
+0x0609 ARABIC-INDIC PER MILLE SIGN
0x060C ARABIC COMMA
+0x060D ARABIC DATE SEPARATOR
0x061B ARABIC SEMICOLON
+0x061C ARABIC LETTER MARK
0x061F ARABIC QUESTION MARK
0x0621 ARABIC LETTER HAMZA
0x0622 ARABIC LETTER ALEF WITH MADDA ABOVE
@@ -101,30 +106,20 @@
0x066B ARABIC DECIMAL SEPARATOR
0x066C ARABIC THOUSANDS SEPARATOR
0x066D ARABIC FIVE POINTED STAR
+0x0670 ARABIC LETTER SUPERSCRIPT ALEF
0x0679 ARABIC LETTER TTEH
0x067E ARABIC LETTER PEH
0x0686 ARABIC LETTER TCHEH
0x0688 ARABIC LETTER DDAL
0x0691 ARABIC LETTER RREH
-0x06A2 ARABIC LETTER FEH WITH DOT MOVED BELOW
-0x06A4 ARABIC LETTER VEH
-0x06A5 ARABIC LETTER FEH WITH THREE DOTS BELOW
-0x06A7 ARABIC LETTER QAF WITH DOT ABOVE
-0x06A8 ARABIC LETTER QAF WITH THREE DOTS ABOVE
+0x0698 ARABIC LETTER JEH
0x06A9 ARABIC LETTER KEHEH
-0x06AD ARABIC LETTER NG
0x06AF ARABIC LETTER GAF
-0x06BA ARABIC LETTER NOON GHUNNA
0x06BE ARABIC LETTER HEH DOACHASHMEE
-0x06C0 ARABIC LETTER HEH WITH YEH ABOVE
0x06C1 ARABIC LETTER HEH GOAL
-0x06C2 ARABIC LETTER HEH GOAL WITH HAMZA ABOVE
-0x06C3 ARABIC LETTER TEH MARBUTA GOAL
0x06CC ARABIC LETTER FARSI YEH
0x06D2 ARABIC LETTER YEH BARREE
-0x06D3 ARABIC LETTER YEH BARREE WITH HAMZA ABOVE
0x06D4 ARABIC FULL STOP
-0x06D5 ARABIC LETTER AE
0x06F0 EXTENDED ARABIC-INDIC DIGIT ZERO
0x06F1 EXTENDED ARABIC-INDIC DIGIT ONE
0x06F2 EXTENDED ARABIC-INDIC DIGIT TWO
@@ -136,8 +131,16 @@
0x06F8 EXTENDED ARABIC-INDIC DIGIT EIGHT
0x06F9 EXTENDED ARABIC-INDIC DIGIT NINE
0x0763 ARABIC LETTER KEHEH WITH THREE DOTS ABOVE
+0x200E LEFT-TO-RIGHT MARK
+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
-0x2026 HORIZONTAL ELLIPSIS
\ No newline at end of file
+0x2026 HORIZONTAL ELLIPSIS
+0x2039 SINGLE LEFT-POINTING ANGLE QUOTATION MARK
+0x203A SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
+0x2212 MINUS SIGN
+0xFD3E ORNATE LEFT PARENTHESIS
+0xFD3F ORNATE RIGHT PARENTHESIS
\ No newline at end of file
diff --git a/GF_glyphsets/Arabic/nam/GF_Arabic_Plus.nam b/GF_glyphsets/Arabic/nam/GF_Arabic_Plus.nam
index 1e43f7beac..ea4cf88dc6 100644
--- a/GF_glyphsets/Arabic/nam/GF_Arabic_Plus.nam
+++ b/GF_glyphsets/Arabic/nam/GF_Arabic_Plus.nam
@@ -1,43 +1,130 @@
-0x0659 ARABIC ZWARAKAY
-0x0674 ARABIC LETTER HIGH HAMZA
-0x067A ARABIC LETTER TTEHEH
-0x067B ARABIC LETTER BEEH
+# This file is auto-generated; do not edit. See /README.md for instructions.
+0x0021 EXCLAMATION MARK
+0x0025 PERCENT SIGN
+0x0027 APOSTROPHE
+0x0028 LEFT PARENTHESIS
+0x0029 RIGHT PARENTHESIS
+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
+0x005B LEFT SQUARE BRACKET
+0x005D RIGHT SQUARE BRACKET
+0x0609 ARABIC-INDIC PER MILLE SIGN
+0x060C ARABIC COMMA
+0x0621 ARABIC LETTER HAMZA
+0x0622 ARABIC LETTER ALEF WITH MADDA ABOVE
+0x0623 ARABIC LETTER ALEF WITH HAMZA ABOVE
+0x0624 ARABIC LETTER WAW WITH HAMZA ABOVE
+0x0626 ARABIC LETTER YEH WITH HAMZA ABOVE
+0x0627 ARABIC LETTER ALEF
+0x0628 ARABIC LETTER BEH
+0x0629 ARABIC LETTER TEH MARBUTA
+0x062A ARABIC LETTER TEH
+0x062B ARABIC LETTER THEH
+0x062C ARABIC LETTER JEEM
+0x062D ARABIC LETTER HAH
+0x062E ARABIC LETTER KHAH
+0x062F ARABIC LETTER DAL
+0x0630 ARABIC LETTER THAL
+0x0631 ARABIC LETTER REH
+0x0632 ARABIC LETTER ZAIN
+0x0633 ARABIC LETTER SEEN
+0x0634 ARABIC LETTER SHEEN
+0x0635 ARABIC LETTER SAD
+0x0636 ARABIC LETTER DAD
+0x0637 ARABIC LETTER TAH
+0x0638 ARABIC LETTER ZAH
+0x0639 ARABIC LETTER AIN
+0x063A ARABIC LETTER GHAIN
+0x0641 ARABIC LETTER FEH
+0x0642 ARABIC LETTER QAF
+0x0643 ARABIC LETTER KAF
+0x0644 ARABIC LETTER LAM
+0x0645 ARABIC LETTER MEEM
+0x0646 ARABIC LETTER NOON
+0x0647 ARABIC LETTER HEH
+0x0648 ARABIC LETTER WAW
+0x0649 ARABIC LETTER ALEF MAKSURA
+0x064A ARABIC LETTER YEH
+0x064B ARABIC FATHATAN
+0x064C ARABIC DAMMATAN
+0x064D ARABIC KASRATAN
+0x064E ARABIC FATHA
+0x064F ARABIC DAMMA
+0x0650 ARABIC KASRA
+0x0651 ARABIC SHADDA
+0x0652 ARABIC SUKUN
+0x0654 ARABIC HAMZA ABOVE
+0x0660 ARABIC-INDIC DIGIT ZERO
+0x0661 ARABIC-INDIC DIGIT ONE
+0x0662 ARABIC-INDIC DIGIT TWO
+0x0663 ARABIC-INDIC DIGIT THREE
+0x0664 ARABIC-INDIC DIGIT FOUR
+0x0665 ARABIC-INDIC DIGIT FIVE
+0x0666 ARABIC-INDIC DIGIT SIX
+0x0667 ARABIC-INDIC DIGIT SEVEN
+0x0668 ARABIC-INDIC DIGIT EIGHT
+0x0669 ARABIC-INDIC DIGIT NINE
+0x066A ARABIC PERCENT SIGN
+0x066B ARABIC DECIMAL SEPARATOR
+0x066C ARABIC THOUSANDS SEPARATOR
+0x0670 ARABIC LETTER SUPERSCRIPT ALEF
0x067C ARABIC LETTER TEH WITH RING
-0x067D ARABIC LETTER TEH WITH THREE DOTS ABOVE DOWNWARDS
-0x067F ARABIC LETTER TEHEH
-0x0680 ARABIC LETTER BEHEH
+0x067E ARABIC LETTER PEH
0x0681 ARABIC LETTER HAH WITH HAMZA ABOVE
-0x0683 ARABIC LETTER NYEH
-0x0684 ARABIC LETTER DYEH
0x0685 ARABIC LETTER HAH WITH THREE DOTS ABOVE
-0x0687 ARABIC LETTER TCHEHEH
+0x0686 ARABIC LETTER TCHEH
0x0689 ARABIC LETTER DAL WITH RING
-0x068A ARABIC LETTER DAL WITH DOT BELOW
-0x068C ARABIC LETTER DAHAL
-0x068D ARABIC LETTER DDAHAL
-0x068F ARABIC LETTER DAL WITH THREE DOTS ABOVE DOWNWARDS
0x0693 ARABIC LETTER REH WITH RING
0x0695 ARABIC LETTER REH WITH SMALL V BELOW
0x0696 ARABIC LETTER REH WITH DOT BELOW AND DOT ABOVE
-0x0699 ARABIC LETTER REH WITH FOUR DOTS ABOVE
+0x0698 ARABIC LETTER JEH
0x069A ARABIC LETTER SEEN WITH DOT BELOW AND DOT ABOVE
-0x069C ARABIC LETTER SEEN WITH THREE DOTS BELOW AND THREE DOTS ABOVE
-0x06A0 ARABIC LETTER AIN WITH THREE DOTS ABOVE
-0x06A6 ARABIC LETTER PEHEH
-0x06AA ARABIC LETTER SWASH KAF
+0x06A4 ARABIC LETTER VEH
+0x06A9 ARABIC LETTER KEHEH
0x06AB ARABIC LETTER KAF WITH RING
-0x06B1 ARABIC LETTER NGOEH
-0x06B3 ARABIC LETTER GUEH
+0x06AD ARABIC LETTER NG
+0x06AF ARABIC LETTER GAF
0x06B5 ARABIC LETTER LAM WITH SMALL V
-0x06BB ARABIC LETTER RNOON
0x06BC ARABIC LETTER NOON WITH RING
-0x06BD ARABIC LETTER NOON WITH THREE DOTS ABOVE
+0x06BE ARABIC LETTER HEH DOACHASHMEE
0x06C6 ARABIC LETTER OE
0x06C7 ARABIC LETTER U
0x06C8 ARABIC LETTER YU
0x06CB ARABIC LETTER VE
+0x06CC ARABIC LETTER FARSI YEH
0x06CD ARABIC LETTER YEH WITH TAIL
0x06CE ARABIC LETTER YEH WITH SMALL V
-0x06CF ARABIC LETTER WAW WITH DOT ABOVE
0x06D0 ARABIC LETTER E
-0x0762 ARABIC LETTER KEHEH WITH DOT ABOVE
\ No newline at end of file
+0x06D4 ARABIC FULL STOP
+0x06D5 ARABIC LETTER AE
+0x06F0 EXTENDED ARABIC-INDIC DIGIT ZERO
+0x06F1 EXTENDED ARABIC-INDIC DIGIT ONE
+0x06F2 EXTENDED ARABIC-INDIC DIGIT TWO
+0x06F3 EXTENDED ARABIC-INDIC DIGIT THREE
+0x06F4 EXTENDED ARABIC-INDIC DIGIT FOUR
+0x06F5 EXTENDED ARABIC-INDIC DIGIT FIVE
+0x06F6 EXTENDED ARABIC-INDIC DIGIT SIX
+0x06F7 EXTENDED ARABIC-INDIC DIGIT SEVEN
+0x06F8 EXTENDED ARABIC-INDIC DIGIT EIGHT
+0x06F9 EXTENDED ARABIC-INDIC DIGIT NINE
+0x06FD ARABIC SIGN SINDHI AMPERSAND
+0x06FE ARABIC SIGN SINDHI POSTPOSITION MEN
+0x200E LEFT-TO-RIGHT MARK
+0x200F RIGHT-TO-LEFT MARK
+0x2018 LEFT SINGLE QUOTATION MARK
+0x2212 MINUS SIGN
\ No newline at end of file
diff --git a/GF_glyphsets/Arabic/txt/nice-names/GF_Arabic_Core.txt b/GF_glyphsets/Arabic/txt/nice-names/GF_Arabic_Core.txt
index 98f30756fa..da0c5fcc72 100644
--- a/GF_glyphsets/Arabic/txt/nice-names/GF_Arabic_Core.txt
+++ b/GF_glyphsets/Arabic/txt/nice-names/GF_Arabic_Core.txt
@@ -1,23 +1,67 @@
+# This file is auto-generated; do not edit. See /README.md for instructions.
+space
+exclam
+quotedbl
+numbersign
+percent
+quotesingle
+parenleft
+parenright
+asterisk
+plus
+comma
+hyphen
+period
+slash
+zero
+one
+two
+three
+four
+five
+six
+seven
+eight
+nine
+colon
+less
+equal
+greater
+bracketleft
+backslash
+bracketright
+braceleft
+bar
+braceright
+nbspace
+guillemetleft
+guillemetright
+multiply
+divide
+perthousand-ar
+comma-ar
+dateseparator-ar
+semicolon-ar
+mark-ar
+question-ar
hamza-ar
-alef-ar
+alefMadda-ar
alefHamzaabove-ar
+wawHamzaabove-ar
alefHamzabelow-ar
-alefMadda-ar
+yehHamzaabove-ar
+alef-ar
beh-ar
-peh-ar
+tehMarbuta-ar
teh-ar
theh-ar
-tteh-ar
jeem-ar
-tcheh-ar
hah-ar
khah-ar
dal-ar
thal-ar
-ddal-ar
reh-ar
zain-ar
-rreh-ar
seen-ar
sheen-ar
sad-ar
@@ -26,41 +70,28 @@ tah-ar
zah-ar
ain-ar
ghain-ar
+kashida-ar
feh-ar
-veh-ar
-fehDotmovedbelow-ar
-fehThreedotsbelow-ar
qaf-ar
-qafDotabove-ar
-qafThreedotsabove-ar
kaf-ar
-keheh-ar
-kehehThreedotsabove-ar
-gaf-ar
-ng-ar
lam-ar
meem-ar
noon-ar
-noonghunna-ar
heh-ar
-hehHamzaabove-ar
-hehgoal-ar
-hehgoalHamzaabove-ar
-hehDoachashmee-ar
-tehMarbuta-ar
-tehMarbutagoal-ar
waw-ar
-wawHamzaabove-ar
alefMaksura-ar
yeh-ar
-yehHamzaabove-ar
-yehFarsi-ar
-yehbarree-ar
-yehbarreeHamzaabove-ar
-ae-ar
-kashida-ar
-decimalseparator-ar
-thousandseparator-ar
+fathatan-ar
+dammatan-ar
+kasratan-ar
+fatha-ar
+damma-ar
+kasra-ar
+shadda-ar
+sukun-ar
+madda-ar
+hamzaabove-ar
+hamzabelow-ar
zero-ar
one-ar
two-ar
@@ -71,74 +102,45 @@ six-ar
seven-ar
eight-ar
nine-ar
-zeroFarsi-ar
-oneFarsi-ar
-twoFarsi-ar
-threeFarsi-ar
-fourFarsi-ar
-fiveFarsi-ar
-sixFarsi-ar
-sevenFarsi-ar
-eightFarsi-ar
-nineFarsi-ar
-zero
-one
-two
-three
-four
-five
-six
-seven
-eight
-nine
-space
-nbspace
-fullstop-ar
-comma-ar
-semicolon-ar
-question-ar
+percent-ar
+decimalseparator-ar
+thousandseparator-ar
asterisk-ar
-period
-colon
-ellipsis
-exclam
-asterisk
-numbersign
-slash
-backslash
-hyphen
-parenleft
-parenright
-braceleft
-braceright
-bracketleft
-bracketright
-quotedblleft
-quotedblright
+alefabove-ar
+tteh-ar
+peh-ar
+tcheh-ar
+ddal-ar
+rreh-ar
+jeh-ar
+keheh-ar
+gaf-ar
+hehDoachashmee-ar
+hehgoal-ar
+yeh-farsi
+yehbarree-ar
+fullstop-ar
+zero-persian
+one-persian
+two-persian
+three-persian
+four-persian
+five-persian
+six-persian
+seven-persian
+eight-persian
+nine-persian
+kehehThreedotsabove-ar
+lefttorightmark
+endash
+emdash
quoteleft
quoteright
-guillemetleft
-guillemetright
-quotedbl
-quotesingle
-percent-ar
-bar
-plus
-multiply
-divide
-equal
-greater
-less
-percent
-hamzaabove-ar
-hamzabelow-ar
-fathatan-ar
-dammatan-ar
-kasratan-ar
-fatha-ar
-damma-ar
-kasra-ar
-shadda-ar
-sukun-ar
-madda-ar
-uni069COVE
\ No newline at end of file
+quotedblleft
+quotedblright
+ellipsis
+guilsinglleft
+guilsinglright
+minus
+parenleft-ar
+parenright-ar
\ No newline at end of file
diff --git a/GF_glyphsets/Arabic/txt/nice-names/GF_Arabic_Plus.txt b/GF_glyphsets/Arabic/txt/nice-names/GF_Arabic_Plus.txt
index 801ab56b8a..f06cbe872b 100644
--- a/GF_glyphsets/Arabic/txt/nice-names/GF_Arabic_Plus.txt
+++ b/GF_glyphsets/Arabic/txt/nice-names/GF_Arabic_Plus.txt
@@ -1,43 +1,130 @@
-highhamza-ar
-beeh-ar
-beheh-ar
+# This file is auto-generated; do not edit. See /README.md for instructions.
+exclam
+percent
+quotesingle
+parenleft
+parenright
+plus
+comma
+hyphen
+period
+slash
+zero
+one
+two
+three
+four
+five
+six
+seven
+eight
+nine
+colon
+semicolon
+bracketleft
+bracketright
+perthousand-ar
+comma-ar
+hamza-ar
+alefMadda-ar
+alefHamzaabove-ar
+wawHamzaabove-ar
+yehHamzaabove-ar
+alef-ar
+beh-ar
+tehMarbuta-ar
+teh-ar
+theh-ar
+jeem-ar
+hah-ar
+khah-ar
+dal-ar
+thal-ar
+reh-ar
+zain-ar
+seen-ar
+sheen-ar
+sad-ar
+dad-ar
+tah-ar
+zah-ar
+ain-ar
+ghain-ar
+feh-ar
+qaf-ar
+kaf-ar
+lam-ar
+meem-ar
+noon-ar
+heh-ar
+waw-ar
+alefMaksura-ar
+yeh-ar
+fathatan-ar
+dammatan-ar
+kasratan-ar
+fatha-ar
+damma-ar
+kasra-ar
+shadda-ar
+sukun-ar
+hamzaabove-ar
+zero-ar
+one-ar
+two-ar
+three-ar
+four-ar
+five-ar
+six-ar
+seven-ar
+eight-ar
+nine-ar
+percent-ar
+decimalseparator-ar
+thousandseparator-ar
+alefabove-ar
tehRing-ar
-tehThreedotsdown-ar
-tteheh-ar
-teheh-ar
-tcheheh-ar
-nyeh-ar
-dyeh-ar
+peh-ar
hahHamzaabove-ar
hahThreedotsabove-ar
-dahal-ar
-ddahal-ar
+tcheh-ar
dalRing-ar
-dalDotbelow-ar
-dalThreedotsdown-ar
rehRing-ar
rehVbelow-ar
rehDotbelowdotabove-ar
-rehFourdots-ar
+jeh-ar
seenDotbelowDotabove-ar
-sheenThreedotsbelow-ar
-ainThreedots-ar
-peheh-ar
-kehehDotabove-ar
-kafswash-ar
+veh-ar
+keheh-ar
kafRing-ar
-ngoeh-ar
-gueh-ar
+ng-ar
+gaf-ar
lamVabove-ar
-rnoon-ar
noonRing-ar
-noonThreedotsabove-ar
-wawDotabove-ar
+hehDoachashmee-ar
oe-ar
u-ar
yu-ar
ve-ar
-yehVabove-ar
+yeh-farsi
yehTail-ar
+yehVabove-ar
e-ar
-fathaHorizont-ar
\ No newline at end of file
+fullstop-ar
+ae-ar
+zero-persian
+one-persian
+two-persian
+three-persian
+four-persian
+five-persian
+six-persian
+seven-persian
+eight-persian
+nine-persian
+sindhiampersand-ar
+sindhipostpositionmen-ar
+lefttorightmark
+righttoleftmark
+quoteleft
+minus
\ No newline at end of file
diff --git a/GF_glyphsets/Arabic/txt/prod-names/GF_Arabic_Core.txt b/GF_glyphsets/Arabic/txt/prod-names/GF_Arabic_Core.txt
index 4c2ef49ebc..4aad4eaa4b 100644
--- a/GF_glyphsets/Arabic/txt/prod-names/GF_Arabic_Core.txt
+++ b/GF_glyphsets/Arabic/txt/prod-names/GF_Arabic_Core.txt
@@ -1,23 +1,67 @@
+# This file is auto-generated; do not edit. See /README.md for instructions.
+space
+exclam
+quotedbl
+numbersign
+percent
+quotesingle
+parenleft
+parenright
+asterisk
+plus
+comma
+hyphen
+period
+slash
+zero
+one
+two
+three
+four
+five
+six
+seven
+eight
+nine
+colon
+less
+equal
+greater
+bracketleft
+backslash
+bracketright
+braceleft
+bar
+braceright
+uni00A0
+guillemotleft
+guillemotright
+multiply
+divide
+uni0609
+uni060C
+uni060D
+uni061B
+uni061C
+uni061F
uni0621
-uni0627
+uni0622
uni0623
+uni0624
uni0625
-uni0622
+uni0626
+uni0627
uni0628
-uni067E
+uni0629
uni062A
uni062B
-uni0679
uni062C
-uni0686
uni062D
uni062E
uni062F
uni0630
-uni0688
uni0631
uni0632
-uni0691
uni0633
uni0634
uni0635
@@ -26,41 +70,28 @@ uni0637
uni0638
uni0639
uni063A
+uni0640
uni0641
-uni06A4
-uni06A2
-uni06A5
uni0642
-uni06A7
-uni06A8
uni0643
-uni06A9
-uni0763
-uni06AF
-uni06AD
uni0644
uni0645
uni0646
-uni06BA
uni0647
-uni06C0
-uni06C1
-uni06C2
-uni06BE
-uni0629
-uni06C3
uni0648
-uni0624
uni0649
uni064A
-uni0626
-yehFarsiar
-uni06D2
-uni06D3
-uni06D5
-uni0640
-uni066B
-uni066C
+uni064B
+uni064C
+uni064D
+uni064E
+uni064F
+uni0650
+uni0651
+uni0652
+uni0653
+uni0654
+uni0655
uni0660
uni0661
uni0662
@@ -71,74 +102,45 @@ uni0666
uni0667
uni0668
uni0669
-zeroFarsiar
-oneFarsiar
-twoFarsiar
-threeFarsiar
-fourFarsiar
-fiveFarsiar
-sixFarsiar
-sevenFarsiar
-eightFarsiar
-nineFarsiar
-zero
-one
-two
-three
-four
-five
-six
-seven
-eight
-nine
-space
-uni00A0
-uni06D4
-uni060C
-uni061B
-uni061F
+uni066A
+uni066B
+uni066C
uni066D
-period
-colon
-ellipsis
-exclam
-asterisk
-numbersign
-slash
-backslash
-hyphen
-parenleft
-parenright
-braceleft
-braceright
-bracketleft
-bracketright
-quotedblleft
-quotedblright
+uni0670
+uni0679
+uni067E
+uni0686
+uni0688
+uni0691
+uni0698
+uni06A9
+uni06AF
+uni06BE
+uni06C1
+uni06CC
+uni06D2
+uni06D4
+uni06F0
+uni06F1
+uni06F2
+uni06F3
+uni06F4
+uni06F5
+uni06F6
+uni06F7
+uni06F8
+uni06F9
+uni0763
+uni200E
+endash
+emdash
quoteleft
quoteright
-guillemotleft
-guillemotright
-quotedbl
-quotesingle
-uni066A
-bar
-plus
-multiply
-divide
-equal
-greater
-less
-percent
-uni0654
-uni0655
-uni064B
-uni064C
-uni064D
-uni064E
-uni064F
-uni0650
-uni0651
-uni0652
-uni0653
-uni069COVE
\ No newline at end of file
+quotedblleft
+quotedblright
+ellipsis
+guilsinglleft
+guilsinglright
+minus
+uniFD3E
+uniFD3F
\ No newline at end of file
diff --git a/GF_glyphsets/Arabic/txt/prod-names/GF_Arabic_Plus.txt b/GF_glyphsets/Arabic/txt/prod-names/GF_Arabic_Plus.txt
index 90b21ef247..06a61588d6 100644
--- a/GF_glyphsets/Arabic/txt/prod-names/GF_Arabic_Plus.txt
+++ b/GF_glyphsets/Arabic/txt/prod-names/GF_Arabic_Plus.txt
@@ -1,43 +1,130 @@
-uni0674
-uni067B
-uni0680
+# This file is auto-generated; do not edit. See /README.md for instructions.
+exclam
+percent
+quotesingle
+parenleft
+parenright
+plus
+comma
+hyphen
+period
+slash
+zero
+one
+two
+three
+four
+five
+six
+seven
+eight
+nine
+colon
+semicolon
+bracketleft
+bracketright
+uni0609
+uni060C
+uni0621
+uni0622
+uni0623
+uni0624
+uni0626
+uni0627
+uni0628
+uni0629
+uni062A
+uni062B
+uni062C
+uni062D
+uni062E
+uni062F
+uni0630
+uni0631
+uni0632
+uni0633
+uni0634
+uni0635
+uni0636
+uni0637
+uni0638
+uni0639
+uni063A
+uni0641
+uni0642
+uni0643
+uni0644
+uni0645
+uni0646
+uni0647
+uni0648
+uni0649
+uni064A
+uni064B
+uni064C
+uni064D
+uni064E
+uni064F
+uni0650
+uni0651
+uni0652
+uni0654
+uni0660
+uni0661
+uni0662
+uni0663
+uni0664
+uni0665
+uni0666
+uni0667
+uni0668
+uni0669
+uni066A
+uni066B
+uni066C
+uni0670
uni067C
-uni067D
-uni067A
-uni067F
-uni0687
-uni0683
-uni0684
+uni067E
uni0681
uni0685
-uni068C
-uni068D
+uni0686
uni0689
-uni068A
-uni068F
uni0693
uni0695
uni0696
-uni0699
+uni0698
uni069A
-uni069C
-uni06A0
-uni06A6
-uni0762
-uni06AA
+uni06A4
+uni06A9
uni06AB
-uni06B1
-uni06B3
+uni06AD
+uni06AF
uni06B5
-uni06BB
uni06BC
-uni06BD
-uni06CF
+uni06BE
uni06C6
uni06C7
uni06C8
uni06CB
-uni06CE
+uni06CC
uni06CD
+uni06CE
uni06D0
-uni0659
\ No newline at end of file
+uni06D4
+uni06D5
+uni06F0
+uni06F1
+uni06F2
+uni06F3
+uni06F4
+uni06F5
+uni06F6
+uni06F7
+uni06F8
+uni06F9
+uni06FD
+uni06FE
+uni200E
+uni200F
+quoteleft
+minus
\ No newline at end of file
diff --git a/Lib/glyphsets/definitions/__init__.py b/Lib/glyphsets/definitions/__init__.py
index 91af464154..84961ec291 100644
--- a/Lib/glyphsets/definitions/__init__.py
+++ b/Lib/glyphsets/definitions/__init__.py
@@ -37,6 +37,24 @@
"tr_Latn", # Turkish
],
},
+ "GF_Arabic_Core": {
+ "script": "Arabic",
+ "language_codes": [
+ "ar_Arab", # Arabic
+ "fa_Arab", # Persian
+ "ur_Arab", # Urdu
+ ],
+ },
+ "GF_Arabic_Plus": {
+ "script": "Arabic",
+ "language_codes": [
+ "ckb_Arab", # Kurdish
+ "ms_Arab", # Malay
+ "ps_Arab", # Pashto
+ "ps_Arab", # Sindhi
+ "ug_Arab", # Uyghur
+ ],
+ },
}
diff --git a/Lib/glyphsets/definitions/nam/GF_Arabic_Core.nam b/Lib/glyphsets/definitions/nam/GF_Arabic_Core.nam
new file mode 100644
index 0000000000..00b4cfadd3
--- /dev/null
+++ b/Lib/glyphsets/definitions/nam/GF_Arabic_Core.nam
@@ -0,0 +1,146 @@
+# This file is auto-generated; do not edit. See /README.md for instructions.
+0x0020 SPACE
+0x0021 EXCLAMATION MARK
+0x0022 QUOTATION MARK
+0x0023 NUMBER SIGN
+0x0025 PERCENT SIGN
+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
+0x003C LESS-THAN SIGN
+0x003D EQUALS SIGN
+0x003E GREATER-THAN SIGN
+0x005B LEFT SQUARE BRACKET
+0x005C REVERSE SOLIDUS
+0x005D RIGHT SQUARE BRACKET
+0x007B LEFT CURLY BRACKET
+0x007C VERTICAL LINE
+0x007D RIGHT CURLY BRACKET
+0x00A0 NO-BREAK SPACE
+0x00AB LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+0x00BB RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+0x00D7 MULTIPLICATION SIGN
+0x00F7 DIVISION SIGN
+0x0609 ARABIC-INDIC PER MILLE SIGN
+0x060C ARABIC COMMA
+0x060D ARABIC DATE SEPARATOR
+0x061B ARABIC SEMICOLON
+0x061C ARABIC LETTER MARK
+0x061F ARABIC QUESTION MARK
+0x0621 ARABIC LETTER HAMZA
+0x0622 ARABIC LETTER ALEF WITH MADDA ABOVE
+0x0623 ARABIC LETTER ALEF WITH HAMZA ABOVE
+0x0624 ARABIC LETTER WAW WITH HAMZA ABOVE
+0x0625 ARABIC LETTER ALEF WITH HAMZA BELOW
+0x0626 ARABIC LETTER YEH WITH HAMZA ABOVE
+0x0627 ARABIC LETTER ALEF
+0x0628 ARABIC LETTER BEH
+0x0629 ARABIC LETTER TEH MARBUTA
+0x062A ARABIC LETTER TEH
+0x062B ARABIC LETTER THEH
+0x062C ARABIC LETTER JEEM
+0x062D ARABIC LETTER HAH
+0x062E ARABIC LETTER KHAH
+0x062F ARABIC LETTER DAL
+0x0630 ARABIC LETTER THAL
+0x0631 ARABIC LETTER REH
+0x0632 ARABIC LETTER ZAIN
+0x0633 ARABIC LETTER SEEN
+0x0634 ARABIC LETTER SHEEN
+0x0635 ARABIC LETTER SAD
+0x0636 ARABIC LETTER DAD
+0x0637 ARABIC LETTER TAH
+0x0638 ARABIC LETTER ZAH
+0x0639 ARABIC LETTER AIN
+0x063A ARABIC LETTER GHAIN
+0x0640 ARABIC TATWEEL
+0x0641 ARABIC LETTER FEH
+0x0642 ARABIC LETTER QAF
+0x0643 ARABIC LETTER KAF
+0x0644 ARABIC LETTER LAM
+0x0645 ARABIC LETTER MEEM
+0x0646 ARABIC LETTER NOON
+0x0647 ARABIC LETTER HEH
+0x0648 ARABIC LETTER WAW
+0x0649 ARABIC LETTER ALEF MAKSURA
+0x064A ARABIC LETTER YEH
+0x064B ARABIC FATHATAN
+0x064C ARABIC DAMMATAN
+0x064D ARABIC KASRATAN
+0x064E ARABIC FATHA
+0x064F ARABIC DAMMA
+0x0650 ARABIC KASRA
+0x0651 ARABIC SHADDA
+0x0652 ARABIC SUKUN
+0x0653 ARABIC MADDAH ABOVE
+0x0654 ARABIC HAMZA ABOVE
+0x0655 ARABIC HAMZA BELOW
+0x0660 ARABIC-INDIC DIGIT ZERO
+0x0661 ARABIC-INDIC DIGIT ONE
+0x0662 ARABIC-INDIC DIGIT TWO
+0x0663 ARABIC-INDIC DIGIT THREE
+0x0664 ARABIC-INDIC DIGIT FOUR
+0x0665 ARABIC-INDIC DIGIT FIVE
+0x0666 ARABIC-INDIC DIGIT SIX
+0x0667 ARABIC-INDIC DIGIT SEVEN
+0x0668 ARABIC-INDIC DIGIT EIGHT
+0x0669 ARABIC-INDIC DIGIT NINE
+0x066A ARABIC PERCENT SIGN
+0x066B ARABIC DECIMAL SEPARATOR
+0x066C ARABIC THOUSANDS SEPARATOR
+0x066D ARABIC FIVE POINTED STAR
+0x0670 ARABIC LETTER SUPERSCRIPT ALEF
+0x0679 ARABIC LETTER TTEH
+0x067E ARABIC LETTER PEH
+0x0686 ARABIC LETTER TCHEH
+0x0688 ARABIC LETTER DDAL
+0x0691 ARABIC LETTER RREH
+0x0698 ARABIC LETTER JEH
+0x06A9 ARABIC LETTER KEHEH
+0x06AF ARABIC LETTER GAF
+0x06BE ARABIC LETTER HEH DOACHASHMEE
+0x06C1 ARABIC LETTER HEH GOAL
+0x06CC ARABIC LETTER FARSI YEH
+0x06D2 ARABIC LETTER YEH BARREE
+0x06D4 ARABIC FULL STOP
+0x06F0 EXTENDED ARABIC-INDIC DIGIT ZERO
+0x06F1 EXTENDED ARABIC-INDIC DIGIT ONE
+0x06F2 EXTENDED ARABIC-INDIC DIGIT TWO
+0x06F3 EXTENDED ARABIC-INDIC DIGIT THREE
+0x06F4 EXTENDED ARABIC-INDIC DIGIT FOUR
+0x06F5 EXTENDED ARABIC-INDIC DIGIT FIVE
+0x06F6 EXTENDED ARABIC-INDIC DIGIT SIX
+0x06F7 EXTENDED ARABIC-INDIC DIGIT SEVEN
+0x06F8 EXTENDED ARABIC-INDIC DIGIT EIGHT
+0x06F9 EXTENDED ARABIC-INDIC DIGIT NINE
+0x0763 ARABIC LETTER KEHEH WITH THREE DOTS ABOVE
+0x200E LEFT-TO-RIGHT MARK
+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
+0x2026 HORIZONTAL ELLIPSIS
+0x2039 SINGLE LEFT-POINTING ANGLE QUOTATION MARK
+0x203A SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
+0x2212 MINUS SIGN
+0xFD3E ORNATE LEFT PARENTHESIS
+0xFD3F ORNATE RIGHT PARENTHESIS
\ No newline at end of file
diff --git a/Lib/glyphsets/definitions/nam/GF_Arabic_Plus.nam b/Lib/glyphsets/definitions/nam/GF_Arabic_Plus.nam
new file mode 100644
index 0000000000..ea4cf88dc6
--- /dev/null
+++ b/Lib/glyphsets/definitions/nam/GF_Arabic_Plus.nam
@@ -0,0 +1,130 @@
+# This file is auto-generated; do not edit. See /README.md for instructions.
+0x0021 EXCLAMATION MARK
+0x0025 PERCENT SIGN
+0x0027 APOSTROPHE
+0x0028 LEFT PARENTHESIS
+0x0029 RIGHT PARENTHESIS
+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
+0x005B LEFT SQUARE BRACKET
+0x005D RIGHT SQUARE BRACKET
+0x0609 ARABIC-INDIC PER MILLE SIGN
+0x060C ARABIC COMMA
+0x0621 ARABIC LETTER HAMZA
+0x0622 ARABIC LETTER ALEF WITH MADDA ABOVE
+0x0623 ARABIC LETTER ALEF WITH HAMZA ABOVE
+0x0624 ARABIC LETTER WAW WITH HAMZA ABOVE
+0x0626 ARABIC LETTER YEH WITH HAMZA ABOVE
+0x0627 ARABIC LETTER ALEF
+0x0628 ARABIC LETTER BEH
+0x0629 ARABIC LETTER TEH MARBUTA
+0x062A ARABIC LETTER TEH
+0x062B ARABIC LETTER THEH
+0x062C ARABIC LETTER JEEM
+0x062D ARABIC LETTER HAH
+0x062E ARABIC LETTER KHAH
+0x062F ARABIC LETTER DAL
+0x0630 ARABIC LETTER THAL
+0x0631 ARABIC LETTER REH
+0x0632 ARABIC LETTER ZAIN
+0x0633 ARABIC LETTER SEEN
+0x0634 ARABIC LETTER SHEEN
+0x0635 ARABIC LETTER SAD
+0x0636 ARABIC LETTER DAD
+0x0637 ARABIC LETTER TAH
+0x0638 ARABIC LETTER ZAH
+0x0639 ARABIC LETTER AIN
+0x063A ARABIC LETTER GHAIN
+0x0641 ARABIC LETTER FEH
+0x0642 ARABIC LETTER QAF
+0x0643 ARABIC LETTER KAF
+0x0644 ARABIC LETTER LAM
+0x0645 ARABIC LETTER MEEM
+0x0646 ARABIC LETTER NOON
+0x0647 ARABIC LETTER HEH
+0x0648 ARABIC LETTER WAW
+0x0649 ARABIC LETTER ALEF MAKSURA
+0x064A ARABIC LETTER YEH
+0x064B ARABIC FATHATAN
+0x064C ARABIC DAMMATAN
+0x064D ARABIC KASRATAN
+0x064E ARABIC FATHA
+0x064F ARABIC DAMMA
+0x0650 ARABIC KASRA
+0x0651 ARABIC SHADDA
+0x0652 ARABIC SUKUN
+0x0654 ARABIC HAMZA ABOVE
+0x0660 ARABIC-INDIC DIGIT ZERO
+0x0661 ARABIC-INDIC DIGIT ONE
+0x0662 ARABIC-INDIC DIGIT TWO
+0x0663 ARABIC-INDIC DIGIT THREE
+0x0664 ARABIC-INDIC DIGIT FOUR
+0x0665 ARABIC-INDIC DIGIT FIVE
+0x0666 ARABIC-INDIC DIGIT SIX
+0x0667 ARABIC-INDIC DIGIT SEVEN
+0x0668 ARABIC-INDIC DIGIT EIGHT
+0x0669 ARABIC-INDIC DIGIT NINE
+0x066A ARABIC PERCENT SIGN
+0x066B ARABIC DECIMAL SEPARATOR
+0x066C ARABIC THOUSANDS SEPARATOR
+0x0670 ARABIC LETTER SUPERSCRIPT ALEF
+0x067C ARABIC LETTER TEH WITH RING
+0x067E ARABIC LETTER PEH
+0x0681 ARABIC LETTER HAH WITH HAMZA ABOVE
+0x0685 ARABIC LETTER HAH WITH THREE DOTS ABOVE
+0x0686 ARABIC LETTER TCHEH
+0x0689 ARABIC LETTER DAL WITH RING
+0x0693 ARABIC LETTER REH WITH RING
+0x0695 ARABIC LETTER REH WITH SMALL V BELOW
+0x0696 ARABIC LETTER REH WITH DOT BELOW AND DOT ABOVE
+0x0698 ARABIC LETTER JEH
+0x069A ARABIC LETTER SEEN WITH DOT BELOW AND DOT ABOVE
+0x06A4 ARABIC LETTER VEH
+0x06A9 ARABIC LETTER KEHEH
+0x06AB ARABIC LETTER KAF WITH RING
+0x06AD ARABIC LETTER NG
+0x06AF ARABIC LETTER GAF
+0x06B5 ARABIC LETTER LAM WITH SMALL V
+0x06BC ARABIC LETTER NOON WITH RING
+0x06BE ARABIC LETTER HEH DOACHASHMEE
+0x06C6 ARABIC LETTER OE
+0x06C7 ARABIC LETTER U
+0x06C8 ARABIC LETTER YU
+0x06CB ARABIC LETTER VE
+0x06CC ARABIC LETTER FARSI YEH
+0x06CD ARABIC LETTER YEH WITH TAIL
+0x06CE ARABIC LETTER YEH WITH SMALL V
+0x06D0 ARABIC LETTER E
+0x06D4 ARABIC FULL STOP
+0x06D5 ARABIC LETTER AE
+0x06F0 EXTENDED ARABIC-INDIC DIGIT ZERO
+0x06F1 EXTENDED ARABIC-INDIC DIGIT ONE
+0x06F2 EXTENDED ARABIC-INDIC DIGIT TWO
+0x06F3 EXTENDED ARABIC-INDIC DIGIT THREE
+0x06F4 EXTENDED ARABIC-INDIC DIGIT FOUR
+0x06F5 EXTENDED ARABIC-INDIC DIGIT FIVE
+0x06F6 EXTENDED ARABIC-INDIC DIGIT SIX
+0x06F7 EXTENDED ARABIC-INDIC DIGIT SEVEN
+0x06F8 EXTENDED ARABIC-INDIC DIGIT EIGHT
+0x06F9 EXTENDED ARABIC-INDIC DIGIT NINE
+0x06FD ARABIC SIGN SINDHI AMPERSAND
+0x06FE ARABIC SIGN SINDHI POSTPOSITION MEN
+0x200E LEFT-TO-RIGHT MARK
+0x200F RIGHT-TO-LEFT MARK
+0x2018 LEFT SINGLE QUOTATION MARK
+0x2212 MINUS SIGN
\ No newline at end of file