]> de.git.xonotic.org Git - xonotic/mediasource.git/blobdiff - fonts/xolonium/src/fea/Xolonium-Common.fea
Update Xolonium sources to version 4.2
[xonotic/mediasource.git] / fonts / xolonium / src / fea / Xolonium-Common.fea
diff --git a/fonts/xolonium/src/fea/Xolonium-Common.fea b/fonts/xolonium/src/fea/Xolonium-Common.fea
new file mode 100644 (file)
index 0000000..664121b
--- /dev/null
@@ -0,0 +1,132 @@
+@FIGR = [zero one two three four five six seven eight nine];
+@SUPS = [zero.numr one.numr two.numr three.numr four.numr five.numr six.numr seven.numr eight.numr nine.numr];
+@SUBS = [zero.dnom one.dnom two.dnom three.dnom four.dnom five.dnom six.dnom seven.dnom eight.dnom nine.dnom];
+
+@PERIOD     = [comma period ellipsis];
+@COLON      = [colon semicolon];
+@GREEKCOLON = [uni037E anoteleia];
+@DASH       = [hyphen endash emdash];
+@GUILLEMET  = [guillemotleft guillemotright guilsinglleft guilsinglright];
+@MATH       = [plus less equal greater asciitilde logicalnot periodcentered multiply divide minus uni2219 infinity approxequal notequal];
+@BASEQUOTE  = [quotesinglbase quotedblbase];
+@ASCIIQUOTE = [quotedbl quotesingle asterisk asciicircum degree];
+@FANCYQUOTE = [quoteleft quoteright quotedblleft quotedblright];
+@QUESTION   = [question];
+@QUESTIONDN = [questiondown];
+@SLASH      = [slash];
+@BACKSLASH  = [backslash];
+
+@BRACKET_ = [parenleft bracketleft braceleft uni2770 uni2772];
+@_BRACKET = [parenright bracketright braceright uni2771 uni2773];
+
+
+languagesystem DFLT dflt;
+languagesystem latn dflt;
+languagesystem latn NLD;
+languagesystem latn ROM;
+languagesystem latn MOL;
+languagesystem latn ISM;
+languagesystem latn KSM;
+languagesystem latn LSM;
+languagesystem latn NSM;
+languagesystem latn SKS;
+languagesystem latn SSM;
+languagesystem grek dflt;
+languagesystem cyrl dflt;
+
+
+feature aalt
+{
+       sub Eng      from [Eng.loclSM];
+       sub Scedilla from [uni0218];
+       sub scedilla from [uni0219];
+       sub uni0162  from [uni021A];
+       sub uni0163  from [uni021B];
+       sub zero     from [zero.zero];
+} aalt;
+
+
+feature locl
+{
+       script latn;
+               language NLD exclude_dflt;
+                       lookup loclIJ {
+                               sub Iacute J' by Jacute;
+                               sub iacute j' by jacute;
+                       } loclIJ;
+
+               language ROM exclude_dflt;
+                       lookup loclCommaaccent {
+                               sub Scedilla by uni0218;
+                               sub scedilla by uni0219;
+                               sub uni0162  by uni021A;
+                               sub uni0163  by uni021B;
+                       } loclCommaaccent;
+               language MOL exclude_dflt;
+                       lookup loclCommaaccent;
+
+               language ISM exclude_dflt;
+                       lookup loclEng {
+                               sub Eng by Eng.loclSM;
+                       } loclEng;
+               language KSM exclude_dflt;
+                       lookup loclEng;
+               language LSM exclude_dflt;
+                       lookup loclEng;
+               language NSM exclude_dflt;
+                       lookup loclEng;
+               language SKS exclude_dflt;
+                       lookup loclEng;
+               language SSM exclude_dflt;
+                       lookup loclEng;
+} locl;
+
+
+feature sups
+{
+       sub @FIGR by @SUPS;
+} sups;
+
+
+feature subs
+{
+       lookup subsSub {
+               sub @FIGR by @SUBS;
+       } subsSub;
+} subs;
+
+
+feature sinf
+{
+       lookup subsSub;
+       lookup sinfPos {
+               pos @SUBS <0 -120 0 0>;
+       } sinfPos;
+} sinf;
+
+
+feature zero
+{
+       sub zero by zero.zero;
+} zero;
+
+
+feature pnum
+{
+       sub one by one.pnum;
+       sub three by three.pnum;
+       sub four by four.pnum;
+       sub seven by seven.pnum;
+} pnum;
+
+
+feature case
+{
+       @caseBracket = [@BRACKET_ @_BRACKET];
+       @casePunct   = [@DASH figuredash uni2015 @GUILLEMET arrowleft arrowright @MATH];
+       @caseDown    = [exclamdown @QUESTIONDN];
+
+       pos @caseBracket <0 70 0 0>;
+       pos @casePunct <0 20 0 0>;
+       pos @caseDown <0 180 0 0>;
+} case;