From 85b7bc695629926641c7cb752fd478adfdf374f3 Mon Sep 17 00:00:00 2001 From: Marius Date: Sun, 4 Jul 2010 15:32:09 +0300 Subject: stable 2010-05-24 13:10 --- fonts/fea/context/greek-babel.fea | 294 +++++++++++++++++++++++++++++++++++ fonts/fea/context/test-features.fea | 20 +++ fonts/fea/context/texhistoric.fea | 42 +++++ fonts/fea/context/verbose-digits.fea | 36 +++++ 4 files changed, 392 insertions(+) create mode 100644 fonts/fea/context/greek-babel.fea create mode 100644 fonts/fea/context/test-features.fea create mode 100644 fonts/fea/context/texhistoric.fea create mode 100644 fonts/fea/context/verbose-digits.fea (limited to 'fonts/fea/context') diff --git a/fonts/fea/context/greek-babel.fea b/fonts/fea/context/greek-babel.fea new file mode 100644 index 000000000..68f5cd145 --- /dev/null +++ b/fonts/fea/context/greek-babel.fea @@ -0,0 +1,294 @@ +# This file has been written by Arthur Reutenauer. +# An Opentype feature to replace the Babel input scheme + +lookup GreekBabelLookupMultiple { + lookupflag 1 ; + 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 ; + sub greater E by uni1F18 ; + sub greater h by uni1F20 ; + sub greater H by uni1F28 ; + sub greater i by uni1F30 ; + sub greater I by uni1F38 ; + sub greater o by uni1F40 ; + sub greater O by uni1F48 ; + sub greater u by uni1F50 ; + sub greater w by uni1F60 ; + sub greater W by uni1F68 ; + sub greater grave a by uni1F02 ; + sub greater grave A by uni1F0A ; + sub greater grave e by uni1F12 ; + sub greater grave E by uni1F1A ; + sub greater grave h by uni1F22 ; + sub greater grave H by uni1F2A ; + sub greater grave i by uni1F32 ; + sub greater grave I by uni1F3A ; + sub greater grave o by uni1F42 ; + sub greater grave O by uni1F4A ; + sub greater grave u by uni1F52 ; + sub greater grave w by uni1F62 ; + sub greater grave W by uni1F6A ; + sub greater quotesingle a by uni1F04 ; + sub greater quotesingle A by uni1F0C ; + sub greater quotesingle e by uni1F14 ; + sub greater quotesingle E by uni1F1C ; + sub greater quotesingle h by uni1F24 ; + sub greater quotesingle H by uni1F2C ; + sub greater quotesingle i by uni1F34 ; + sub greater quotesingle I by uni1F3C ; + sub greater quotesingle o by uni1F44 ; + sub greater quotesingle O by uni1F4C ; + sub greater quotesingle u by uni1F54 ; + sub greater quotesingle U by uni1F5C ; + sub greater quotesingle w by uni1F64 ; + sub greater quotesingle W by uni1F6C ; + sub greater asciitilde a by uni1F06 ; + sub greater asciitilde A by uni1F0E ; + sub greater asciitilde e by uni1F16 ; + sub greater asciitilde E by uni1F1E ; + sub greater asciitilde h by uni1F26 ; + sub greater asciitilde H by uni1F2E ; + sub greater asciitilde i by uni1F36 ; + sub greater asciitilde I by uni1F3E ; + sub greater asciitilde o by uni1F46 ; + sub greater asciitilde O by uni1F4E ; + sub greater asciitilde u by uni1F56 ; + sub greater asciitilde U by uni1F5E ; + sub greater asciitilde w by uni1F66 ; + sub greater asciitilde W by uni1F6E ; + sub less a by uni1F01 ; + sub less A by uni1F09 ; + sub less e by uni1F11 ; + sub less E by uni1F19 ; + sub less h by uni1F21 ; + sub less H by uni1F29 ; + sub less i by uni1F31 ; + sub less I by uni1F39 ; + sub less o by uni1F41 ; + sub less O by uni1F49 ; + sub less u by uni1F51 ; + sub less U by uni1F59 ; + sub less w by uni1F61 ; + sub less W by uni1F69 ; + sub less grave a by uni1F03 ; + sub less grave A by uni1F0B ; + sub less grave e by uni1F13 ; + sub less grave E by uni1F1B ; + sub less grave h by uni1F23 ; + sub less grave H by uni1F2B ; + sub less grave i by uni1F33 ; + sub less grave I by uni1F3B ; + sub less grave o by uni1F43 ; + sub less grave O by uni1F4B ; + sub less grave u by uni1F53 ; + sub less grave U by uni1F5B ; + sub less grave w by uni1F63 ; + sub less grave W by uni1F6B ; + sub less quotesingle a by uni1F05 ; + sub less quotesingle A by uni1F0D ; + sub less quotesingle e by uni1F15 ; + sub less quotesingle E by uni1F1D ; + sub less quotesingle h by uni1F25 ; + sub less quotesingle H by uni1F2D ; + sub less quotesingle i by uni1F35 ; + sub less quotesingle I by uni1F3D ; + sub less quotesingle o by uni1F45 ; + sub less quotesingle O by uni1F4D ; + sub less quotesingle u by uni1F55 ; + sub less quotesingle U by uni1F5D ; + sub less quotesingle w by uni1F65 ; + sub less quotesingle W by uni1F6D ; + sub less asciitilde a by uni1F07 ; + sub less asciitilde A by uni1F0F ; + sub less asciitilde e by uni1F17 ; + sub less asciitilde E by uni1F1F ; + sub less asciitilde h by uni1F27 ; + sub less asciitilde H by uni1F2F ; + sub less asciitilde i by uni1F37 ; + sub less asciitilde I by uni1F3F ; + sub less asciitilde o by uni1F47 ; + sub less asciitilde O by uni1F4F ; + sub less asciitilde u by uni1F57 ; + sub less asciitilde U by uni1F5F ; + sub less asciitilde w by uni1F67 ; + sub less asciitilde W by uni1F6F ; + sub grave a by uni1F70 ; + sub quotesingle a by uni1F71 ; + sub grave e by uni1F72 ; + sub quotesingle e by uni1F73 ; + sub grave h by uni1F74 ; + sub quotesingle h by uni1F75 ; + sub grave i by uni1F76 ; + sub quotesingle i by uni1F77 ; + sub grave o by uni1F78 ; + sub quotesingle o by uni1F79 ; + sub grave u by uni1F7A ; + sub quotesingle u by uni1F7B ; + sub grave w by uni1F7C ; + sub quotesingle w by uni1F7D ; + sub grave A by uni1FBA ; + sub quotesingle A by uni1FBB ; + sub grave E by uni1FC8 ; + sub quotesingle E by uni1FC9 ; + sub grave H by uni1FCA ; + sub quotesingle H by uni1FCB ; + sub grave I by uni1FDA ; + sub quotesingle I by uni1FDB ; + sub grave U by uni1FEA ; + sub quotesingle U by uni1FEB ; + sub grave W by uni1FFA ; + sub quotesingle W by uni1FFB ; + sub greater a bar by uni1F80 ; + sub greater A bar by uni1F88 ; + sub greater h bar by uni1F90 ; + sub greater H bar by uni1F98 ; + sub greater w bar by uni1FA0 ; + sub greater W bar by uni1FA8 ; + sub greater grave a bar by uni1F82 ; + sub greater grave A bar by uni1F8A ; + sub greater grave h bar by uni1F92 ; + sub greater grave H bar by uni1F9A ; + sub greater grave w bar by uni1FA2 ; + sub greater grave W bar by uni1FAA ; + sub greater quotesingle a bar by uni1F84 ; + sub greater quotesingle A bar by uni1F8C ; + sub greater quotesingle h bar by uni1F94 ; + sub greater quotesingle H bar by uni1F9C ; + sub greater quotesingle w bar by uni1FA4 ; + sub greater quotesingle W bar by uni1FAC ; + sub greater asciitilde a bar by uni1F86 ; + sub greater asciitilde A bar by uni1F8E ; + sub greater asciitilde h bar by uni1F96 ; + sub greater asciitilde H bar by uni1F9E ; + sub greater asciitilde w bar by uni1FA6 ; + sub greater asciitilde W bar by uni1FAE ; + sub less a bar by uni1F81 ; + sub less A bar by uni1F89 ; + sub less h bar by uni1F91 ; + sub less H bar by uni1F99 ; + sub less w bar by uni1FA1 ; + sub less W bar by uni1FA9 ; + sub less grave a bar by uni1F83 ; + sub less grave A bar by uni1F8B ; + sub less grave h bar by uni1F93 ; + sub less grave H bar by uni1F9B ; + sub less grave w bar by uni1FA3 ; + sub less grave W bar by uni1FAB ; + sub less quotesingle a bar by uni1F85 ; + sub less quotesingle A bar by uni1F8D ; + sub less quotesingle h bar by uni1F95 ; + sub less quotesingle H bar by uni1F9D ; + sub less quotesingle w bar by uni1FA5 ; + sub less quotesingle W bar by uni1FAD ; + sub less asciitilde a bar by uni1F87 ; + sub less asciitilde A bar by uni1F8F ; + sub less asciitilde h bar by uni1F97 ; + sub less asciitilde H bar by uni1F9F ; + 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 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 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 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 { + + script DFLT ; + language dflt ; + lookup GreekBabelLookupMultiple ; + lookup GreekBabelLookupSimple ; + + script latn; + language dflt ; + lookup GreekBabelLookupMultiple ; + lookup GreekBabelLookupSimple ; +} grbl ; + 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 new file mode 100644 index 000000000..866734853 --- /dev/null +++ b/fonts/fea/context/verbose-digits.fea @@ -0,0 +1,36 @@ +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 ; +} NumericLookupDFLT ; + +feature verb { + + script DFLT ; + language dflt ; + lookup NumericLookupDFLT ; + + script latn; + language dflt ; + lookup NumericLookupDFLT ; + language AZE exclude_dflt ; + lookup NumericLookupDFLT ; + language CRT exclude_dflt ; + lookup NumericLookupDFLT ; + language MOL exclude_dflt ; + lookup NumericLookupDFLT ; + language ROM exclude_dflt ; + lookup NumericLookupDFLT ; + language TRK exclude_dflt ; + lookup NumericLookupDFLT ; + +} verb ; + -- cgit v1.2.3