summaryrefslogtreecommitdiff
path: root/fonts
diff options
context:
space:
mode:
Diffstat (limited to 'fonts')
-rw-r--r--fonts/fea/context/greek-babel.fea (renamed from fonts/fea/context/greek-babel-extended.fea)161
-rw-r--r--fonts/fea/context/test-features.fea20
-rw-r--r--fonts/fea/context/texhistoric.fea42
-rw-r--r--fonts/fea/context/verbose-digits.fea20
4 files changed, 151 insertions, 92 deletions
diff --git a/fonts/fea/context/greek-babel-extended.fea b/fonts/fea/context/greek-babel.fea
index 69d8b5d76..68f5cd145 100644
--- a/fonts/fea/context/greek-babel-extended.fea
+++ b/fonts/fea/context/greek-babel.fea
@@ -1,66 +1,22 @@
+# This file has been written by Arthur Reutenauer.
# An Opentype feature to replace the Babel input scheme
-# Not quite complete; some rhos with breathings and accents are missing (where
-# are they?) and the final sigma isn't accounted for.
-
-lookup GreekBabelLookupSimple {
- lookupflag 0 ;
- sub a by alpha ;
- sub b by beta ;
- sub g by gamma ;
- sub d by delta ;
- sub e by epsilon ;
- sub z by zeta ;
- sub h by eta ;
- sub j by theta ;
- sub i by iota ;
- sub k by kappa ;
- sub l by lambda ;
- sub m by mu ;
- sub n by nu ;
- sub x by xi ;
- sub o by omicron ;
- sub p by pi ;
- sub r by rho ;
- sub c by sigmafinal ;
- sub s by sigma ;
- sub t by tau ;
- sub u by upsilon ;
- sub f by phi ;
- sub q by chi ;
- sub y by psi ;
- sub w by omega ;
- sub A by Alpha ;
- sub B by Beta ;
- sub G by Gamma ;
- sub D by Delta ;
- sub E by Epsilon ;
- sub Z by Zeta ;
- sub H by Eta ;
- sub J by Theta ;
- sub I by Iota ;
- sub K by Kappa ;
- sub L by Lambda ;
- sub M by Mu ;
- sub N by Nu ;
- sub X by Xi ;
- sub O by Omicron ;
- sub P by Pi ;
- sub R by Rho ;
- sub C by Uni03C2 ;
- sub S by Sigma ;
- sub T by Tau ;
- sub U by Upsilon ;
- sub F by Phi ;
- sub Q by Chi ;
- sub Y by Psi ;
- sub W by Omega ;
- sub semicolon by periodcentered ;
-} GreekBabelLookupSimple ;
-
lookup GreekBabelLookupMultiple {
lookupflag 1 ;
- # sub s 'space by sigmafinal ;
+ sub quotedbl quotesingle i by uni1FD3 ;
+ sub quotedbl quotesingle u by uni1FE3 ;
+ sub quotedbl grave i by uni1FD2 ;
+ sub quotedbl grave u by uni1FE2 ;
+ sub quotedbl asciitilde i by uni1FD7 ;
+ sub quotedbl asciitilde u by uni1FE7 ;
+ sub quotedbl i by uni03CA ;
+ sub quotedbl u by uni03CB ;
+ sub equal a by uni1FB1 ;
+ sub equal i by uni1FD1 ;
+ sub equal u by uni1FE1 ;
+ sub equal quotesingle a by uniEB00 ;
+ sub equal quotesingle i by uniEB39 ;
+ sub equal u quotesingle by uniEB7A ;
sub greater a by uni1F00 ;
sub greater A by uni1F08 ;
sub greater e by uni1F10 ;
@@ -72,7 +28,6 @@ lookup GreekBabelLookupMultiple {
sub greater o by uni1F40 ;
sub greater O by uni1F48 ;
sub greater u by uni1F50 ;
- # sub greater U by uni1F58 ;
sub greater w by uni1F60 ;
sub greater W by uni1F68 ;
sub greater grave a by uni1F02 ;
@@ -86,7 +41,6 @@ lookup GreekBabelLookupMultiple {
sub greater grave o by uni1F42 ;
sub greater grave O by uni1F4A ;
sub greater grave u by uni1F52 ;
- # sub greater grave U by uni1F5A ;
sub greater grave w by uni1F62 ;
sub greater grave W by uni1F6A ;
sub greater quotesingle a by uni1F04 ;
@@ -248,28 +202,82 @@ lookup GreekBabelLookupMultiple {
sub less asciitilde w bar by uni1FA7 ;
sub less asciitilde W bar by uni1FAF ;
sub grave a bar by uni1FB2 ;
+ sub a bar by uni1FB3 ;
sub quotesingle a bar by uni1FB4 ;
+ sub h bar by uni1FC3 ;
sub grave h bar by uni1FC2 ;
sub quotesingle h bar by uni1FC4 ;
- sub grave w bar by uni1FD2 ;
- sub quotesingle w bar by uni1FD4 ;
+ sub grave w bar by uni1FF2 ;
+ sub w bar by uni1FF3 ;
+ sub quotesingle w bar by uni1FF4 ;
sub asciitilde a by uni1FB6 ;
sub asciitilde a bar by uni1FB7 ;
sub asciitilde h by uni1FC6 ;
sub asciitilde h bar by uni1FC7 ;
- sub asciitilde w by uni1FD6 ;
- sub asciitilde w bar by uni1FD7 ;
+ sub asciitilde i by uni1FD6 ;
+ sub asciitilde u by uni1FE6 ;
+ sub asciitilde w by uni1FF6 ;
+ sub asciitilde w bar by uni1FF7 ;
sub greater r by uni1FE4 ;
sub less r by uni1FE5 ;
sub less R by uni1FEC ;
} GreekBabelLookupMultiple ;
-lookup GreekBabel2LookupMultiple {
- lookupflag 1 ;
- sub alpha bar by uni1FB3 ;
- sub eta bar by uni1FC3 ;
- sub omega bar by uni1FF3 ;
-} GreekBabel2LookupMultiple ;
+lookup GreekBabelLookupSimple {
+ lookupflag 0 ;
+ sub a by alpha ;
+ sub b by beta ;
+ sub g by gamma ;
+ sub d by delta ;
+ sub e by epsilon ;
+ sub z by zeta ;
+ sub h by eta ;
+ sub j by theta ;
+ sub i by iota ;
+ sub k by kappa ;
+ sub l by lambda ;
+ sub m by mu ;
+ sub n by nu ;
+ sub x by xi ;
+ sub o by omicron ;
+ sub p by pi ;
+ sub r by rho ;
+ sub c by uni03F2 ;
+ sub s by uni03F2 ;
+ sub t by tau ;
+ sub u by upsilon ;
+ sub f by phi ;
+ sub q by chi ;
+ sub y by psi ;
+ sub w by omega ;
+ sub A by Alpha ;
+ sub B by Beta ;
+ sub G by Gamma ;
+ sub D by Delta ;
+ sub E by Epsilon ;
+ sub Z by Zeta ;
+ sub H by Eta ;
+ sub J by Theta ;
+ sub I by Iota ;
+ sub K by Kappa ;
+ sub L by Lambda ;
+ sub M by Mu ;
+ sub N by Nu ;
+ sub X by Xi ;
+ sub O by Omicron ;
+ sub P by Pi ;
+ sub R by Rho ;
+ sub C by Uni03C2 ;
+ sub S by uni03F9 ;
+ sub T by Tau ;
+ sub U by Upsilon ;
+ sub F by Phi ;
+ sub Q by Chi ;
+ sub Y by Psi ;
+ sub W by Omega ;
+ sub semicolon by anoteleia ;
+ sub exclam by dotbelowcomb ;
+} GreekBabelLookupSimple ;
feature grbl {
@@ -284,14 +292,3 @@ feature grbl {
lookup GreekBabelLookupSimple ;
} grbl ;
-feature grb2 {
-
- script DFLT ;
- language dflt ;
- lookup GreekBabel2LookupMultiple ;
-
- script latn;
- language dflt ;
- lookup GreekBabel2LookupMultiple ;
-} grb2 ;
-
diff --git a/fonts/fea/context/test-features.fea b/fonts/fea/context/test-features.fea
new file mode 100644
index 000000000..ffc3c588d
--- /dev/null
+++ b/fonts/fea/context/test-features.fea
@@ -0,0 +1,20 @@
+lookup TestLookupENGLISH {
+ lookupflag 0 ;
+ sub l a n g u a g e by e n g l i s h ;
+} TestLookupENGLISH ;
+
+lookup TestLookupDUTCH {
+ lookupflag 0 ;
+ sub l a n g u a g e by d u t c h ;
+} TestLookupDUTCH ;
+
+feature test {
+
+ script latn ;
+ language ENG exclude_dflt ;
+ lookup TestLookupENGLISH ;
+ language NLD exclude_dflt ;
+ lookup TestLookupDUTCH ;
+
+} test ;
+
diff --git a/fonts/fea/context/texhistoric.fea b/fonts/fea/context/texhistoric.fea
new file mode 100644
index 000000000..453ea0188
--- /dev/null
+++ b/fonts/fea/context/texhistoric.fea
@@ -0,0 +1,42 @@
+# The first MkIV OpenType Handler used internal methods, but
+# after we implemented other things it made more sense to
+# do the following. (HH)
+
+lookup TeXPseudoLigaturesLookup {
+ lookupflag 1 ;
+ sub hyphen hyphen hypen by emdash ;
+ sub hyphen hyphen by endash ;
+ sub hyphen endash by emdash ;
+ sub endash hyphen by emdash ;
+ sub quoteleft quoteleft by quotedblleft ;
+ sub quoteright quoteright by quotedblright ;
+ sub grave grave by quotedblleft ;
+ sub quotesingle quotesingle by quotedblright ;
+ sub comma comma by quotedblbase ;
+} TeXPseudoLigaturesLookup ;
+
+lookup TeXQuoteReplacementLookup {
+ lookupflag 1 ;
+ sub quotedbl by quotedblright ;
+ sub quotesingle by quoteright ;
+ sub grave by quoteleft ;
+} TeXQuoteReplacementLookup ;
+
+feature tlig {
+ script DFLT ;
+ language dflt ;
+ lookup TeXPseudoLigaturesLookup ;
+ script latn;
+ language dflt ;
+ lookup TeXPseudoLigaturesLookup ;
+} tlig ;
+
+feature trep {
+ script DFLT ;
+ language dflt ;
+ lookup TeXQuoteReplacementLookup ;
+ script latn;
+ language dflt ;
+ lookup TeXQuoteReplacementLookup ;
+} trep ;
+
diff --git a/fonts/fea/context/verbose-digits.fea b/fonts/fea/context/verbose-digits.fea
index 7fd1fcf85..866734853 100644
--- a/fonts/fea/context/verbose-digits.fea
+++ b/fonts/fea/context/verbose-digits.fea
@@ -1,15 +1,15 @@
lookup NumericLookupDFLT {
lookupflag 0 ;
- sub zero by z e r o ;
- sub one by o n e ;
- sub two by t w o ;
- sub three by t h r e e ;
- sub four by f o u r ;
- sub five by f i v e ;
- sub six by s i x ;
- sub seven by s e v e n ;
- sub eight by e i g h t ;
- sub nine by n i n e ;
+ sub zero by z e r o ;
+ sub one by o n e ;
+ sub two by t w o ;
+ sub three by t h r e e ;
+ sub four by f o u r ;
+ sub five by f i v e ;
+ sub six by s i x ;
+ sub seven by s e v e n ;
+ sub eight by e i g h t ;
+ sub nine by n i n e ;
} NumericLookupDFLT ;
feature verb {