]> de.git.xonotic.org Git - xonotic/mediasource.git/blobdiff - fonts/xolonium/src/fea/Xolonium-Kern-Latin.fea
Update Xolonium font sources to version 3.1
[xonotic/mediasource.git] / fonts / xolonium / src / fea / Xolonium-Kern-Latin.fea
diff --git a/fonts/xolonium/src/fea/Xolonium-Kern-Latin.fea b/fonts/xolonium/src/fea/Xolonium-Kern-Latin.fea
new file mode 100644 (file)
index 0000000..f996f81
--- /dev/null
@@ -0,0 +1,676 @@
+# UPPERCASE BASE CLASSES
+
+@A = [A À Á Â Ã Ä Å Ā Ă Ą Ǻ];
+@B = [B Ḃ];
+@C = [C Ç Ć Ĉ Ċ Č];
+@D = [D Ď Ḋ];
+@E = [E È É Ê Ë Ē Ĕ Ė Ę Ě];
+@F = [F Ḟ];
+@G = [G Ĝ Ğ Ġ Ģ];
+@J = [J Ĵ];
+@K = [K Ķ];
+@L = [L Ĺ Ļ Ľ];
+@O = [O Ò Ó Ô Õ Ö Ō Ŏ Ő Q Ø Ǿ];
+@P = [P Ṗ];
+@S = [S Ś Ŝ Ş Š Ș Ṡ];
+@T = [T Ţ Ť Ŧ Ț Ṫ];
+@U = [U Ù Ú Û Ü Ũ Ū Ŭ Ů Ű Ų];
+@V = [V];
+@W = [W Ŵ Ẁ Ẃ Ẅ];
+@X = [X];
+@Y = [Y Ý Ŷ Ÿ Ỳ];
+@Z = [Z Ź Ż Ž];
+@Æ = [Æ Ǽ];
+@Р= [РĐ];
+@Þ = [Þ];
+@Ħ = [Ħ];
+@IJ = [IJ];
+@Ł = [Ł];
+@Ŋ = [Ŋ];
+@Œ = [Œ];
+
+
+# UPPERCASE KERNING CLASSES
+
+@A_ = [@A];
+@B_ = [@B];
+@C_ = [@C @E @Æ @Œ];
+@D_ = [@D @Ð];
+@F_ = [@F];
+@G_ = [@G];
+@J_ = [@J @U @IJ];
+@K_ = [@K];
+@L_ = [@L @Ł];
+@O_ = [@O];
+@P_ = [@P];
+@S_ = [@S];
+@T_ = [@T @V];
+@W_ = [@W];
+@X_ = [@X];
+@Y_ = [@Y];
+@Z_ = [@Z];
+@Þ_ = [@Þ];
+@Ħ_ = [@Ħ];
+@Ŋ_ = [@Ŋ];
+
+@_A = [@A @Æ];
+@_J = [@J];
+@_O = [@C @G @O @Œ];
+@_T = [@T @V];
+@_U = [@U];
+@_W = [@W];
+@_X = [@X];
+@_Y = [@Y];
+@_Z = [@Z];
+@_Р= [@Р@Ł];
+@_Ħ = [@Ħ];
+
+
+# lowercase base classes
+
+@a = [a à á â ã ä å ā ă ą ǻ];
+@b = [b ḃ þ];
+@c = [c ç ć ĉ ċ č];
+@d = [d ḋ];
+@e = [e è é ê ë ē ĕ ė ę ě];
+@f = [f ḟ ff f_f];
+@g = [g ĝ ğ ġ q];
+@h = [h ĥ];
+@k = [k ķ];
+@m = [m ṁ];
+@n = [n ñ ń ņ ň ŋ];
+@o = [o ò ó ô õ ö ō ŏ ő ø ǿ];
+@p = [p ṗ];
+@r = [r ŕ ŗ];
+@s = [s ś ŝ ş š ș ṡ];
+@t = [t ţ ț ṫ];
+@u = [u ù ú û ü ũ ū ŭ ů ű ų];
+@v = [v];
+@w = [w ŵ ẁ ẃ ẅ];
+@x = [x];
+@y = [y ý ÿ ŷ ỳ];
+@z = [z ź ż ž];
+@ß = [ß];
+@æ = [æ ǽ];
+@ì = [ì];
+@í = [í];
+@î = [î ĵ];
+@ï = [ï ĩ ī ĭ];
+@ð = [ð];
+@ď = [ď];
+@đ = [đ];
+@ħ = [ħ];
+@ı = [ı];
+@ĸ = [ĸ];
+@ľ = [ľ];
+@ł = [ł];
+@œ = [œ];
+@ř = [ř];
+@ŧ = [ŧ];
+@ſ = [ſ];
+
+
+# lowercase kerning classes
+
+@a_ = [@a @h @m @n @ħ];
+@c_ = [@c @t];
+@f_ = [@f @ř @ſ];
+@g_ = [@g];
+@o_ = [@b @e @o @p @æ @œ];
+@r_ = [@r];
+@s_ = [@s];
+@u_ = [@u @ı];
+@v_ = [@v @y];
+@w_ = [@w];
+@x_ = [@k @x @ĸ];
+@z_ = [@z];
+@ß_ = [@ß];
+@ì_ = [@ì];
+@í_ = [@í];
+@î_ = [@î];
+@ï_ = [@ï];
+@ð_ = [@ð];
+@ď_ = [@ď @ľ];
+@đ_ = [@đ];
+@ł_ = [@ł];
+
+@_a = [@a @æ @ð];
+@_n = [@m @n @p @u @ı @ĸ];
+@_o = [@c @d @e @g @o @ď @đ @œ];
+@_r = [@r];
+@_s = [@s];
+@_v = [@v @y];
+@_w = [@w];
+@_x = [@x];
+@_z = [@z];
+@_ì = [@ì];
+@_í = [@í];
+@_î = [@î];
+@_ï = [@ï];
+@_ħ = [@ħ];
+@_ł = [@ł];
+@_ŧ = [@ŧ];
+
+
+lookup kernLatin
+{
+# Table exceptions
+
+       pos Ą j +75;
+       pos Ę j +30;
+       pos Į j +35;
+       pos j j +20;
+       pos ą j +20;
+       pos į j +50;
+       pos ų j +20;
+
+       enum pos @QUESTIONDN j +90;
+       enum pos @BRACKET_ j +40;
+       enum pos @g_ j +20;
+
+       enum pos @BRACKET_ @p 0;
+
+
+# Table size optimizations
+
+       enum pos @ð_ @_v -10;
+       enum pos @ð_ @_x -10;
+
+       enum pos @Ŋ_ @_T -10;
+       enum pos @Ŋ_ @_W -10;
+       enum pos @Ŋ_ @_Y -20;
+
+
+# PUNCTUATION LETTER
+
+       pos [@PERIOD @BASEQUOTE @QUESTIONDN @BACKSLASH] @_T -80;
+       pos [@PERIOD @BASEQUOTE @QUESTIONDN @BACKSLASH] @_W -50;
+       pos [@PERIOD @BASEQUOTE @QUESTIONDN @BACKSLASH] @_Y -90;
+       pos [@PERIOD @BASEQUOTE @QUESTIONDN @BACKSLASH] @_v -30;
+       pos [@PERIOD @BASEQUOTE @QUESTIONDN @BACKSLASH] @_w -20;
+
+       pos [@COLON @DASH @GUILLEMET] @_T -40;
+       pos [@COLON @DASH @GUILLEMET] @_W -20;
+       pos [@COLON @DASH @GUILLEMET] @_Y -50;
+
+       pos [@ASCIIQUOTE @SLASH] @_A -80;
+       pos [@ASCIIQUOTE @SLASH] @_J -40;
+
+       pos @FANCYQUOTE @_A -100;
+       pos @FANCYQUOTE @_J -60;
+       pos @FANCYQUOTE @_a -40;
+       pos @FANCYQUOTE @_n -30;
+       pos @FANCYQUOTE @_o -30;
+       pos @FANCYQUOTE @_r -30;
+       pos @FANCYQUOTE @_s -30;
+       pos @FANCYQUOTE @_v -20;
+       pos @FANCYQUOTE @_w -20;
+       pos @FANCYQUOTE @_x -20;
+       pos @FANCYQUOTE @_ł -30;
+
+       pos @BRACKET_ @_A -40;
+       pos @BRACKET_ @_J -30;
+       pos @BRACKET_ @_a -30;
+       pos @BRACKET_ @_n -30;
+       pos @BRACKET_ @_o -40;
+       pos @BRACKET_ @_r -30;
+       pos @BRACKET_ @_s -30;
+       pos @BRACKET_ @_v -30;
+       pos @BRACKET_ @_w -20;
+       pos @BRACKET_ @_x -30;
+       pos @BRACKET_ @_z -30;
+       pos @BRACKET_ @_í -20;
+       pos @BRACKET_ @_ï +20;
+       pos @BRACKET_ @_ł -30;
+
+
+# LETTER PUNCTUATION
+
+       pos @F_ [@PERIOD @BASEQUOTE @SLASH] -70;
+       pos @P_ [@PERIOD @BASEQUOTE @SLASH] -70;
+       pos @T_ [@PERIOD @BASEQUOTE @SLASH] -80;
+       pos @W_ [@PERIOD @BASEQUOTE @SLASH] -50;
+       pos @Y_ [@PERIOD @BASEQUOTE @SLASH] -90;
+       pos @f_ [@PERIOD @BASEQUOTE @SLASH] -30;
+       pos @r_ [@PERIOD @BASEQUOTE @SLASH] -30;
+       pos @v_ [@PERIOD @BASEQUOTE @SLASH] -30;
+       pos @w_ [@PERIOD @BASEQUOTE @SLASH] -20;
+
+       pos @T_ [@COLON @DASH @GUILLEMET] -40;
+       pos @W_ [@COLON @DASH @GUILLEMET] -20;
+       pos @Y_ [@COLON @DASH @GUILLEMET] -50;
+
+       pos @A_ [@ASCIIQUOTE @FANCYQUOTE @BACKSLASH] -80;
+       pos @L_ [@ASCIIQUOTE @FANCYQUOTE @BACKSLASH] -50;
+
+       pos @A_ @QUESTION -70;
+       pos @L_ @QUESTION -60;
+       pos @a_ @QUESTION -20;
+       pos @g_ @QUESTION -20;
+       pos @o_ @QUESTION -20;
+       pos @s_ @QUESTION -20;
+       pos @u_ @QUESTION -20;
+       pos @z_ @QUESTION -20;
+       pos @ß_ @QUESTION -20;
+       pos @ï_ @QUESTION +30;
+
+       pos @A_ @_BRACKET -40;
+       pos @D_ @_BRACKET -20;
+       pos @L_ @_BRACKET -20;
+       pos @Þ_ @_BRACKET -30;
+       pos @a_ @_BRACKET -30;
+       pos @c_ @_BRACKET -10;
+       pos @o_ @_BRACKET -40;
+       pos @r_ @_BRACKET -20;
+       pos @s_ @_BRACKET -30;
+       pos @u_ @_BRACKET -30;
+       pos @v_ @_BRACKET -30;
+       pos @w_ @_BRACKET -20;
+       pos @x_ @_BRACKET -30;
+       pos @z_ @_BRACKET -30;
+       pos @ß_ @_BRACKET -40;
+       pos @ì_ @_BRACKET -20;
+       pos @ï_ @_BRACKET +20;
+       pos @ł_ @_BRACKET -40;
+
+
+# UPPERCASE UPPERCASE
+
+       pos @A_ @_O -10;
+       pos @A_ @_T -120;
+       pos @A_ @_U -10;
+       pos @A_ @_W -90;
+       pos @A_ @_Y -140;
+       pos @A_ @_Р-20;
+       pos @A_ @_Ħ -20;
+
+       pos @B_ @_T -10;
+       pos @B_ @_W -10;
+       pos @B_ @_Y -20;
+
+       pos @C_ @_Р-10;
+
+       pos @D_ @_A -30;
+       pos @D_ @_T -30;
+       pos @D_ @_W -20;
+       pos @D_ @_X -30;
+       pos @D_ @_Y -40;
+       pos @D_ @_Ħ -10;
+
+       pos @F_ @_A -100;
+       pos @F_ @_J -30;
+       pos @F_ @_T +10;
+       pos @F_ @_Z -10;
+       pos @F_ @_Р-20;
+
+       pos @G_ @_T -30;
+       pos @G_ @_W -30;
+       pos @G_ @_Y -40;
+       pos @G_ @_Ħ -10;
+
+       pos @J_ @_A -10;
+
+       pos @K_ @_Р-10;
+       pos @K_ @_Ħ -10;
+
+       pos @L_ @_A +20;
+       pos @L_ @_O -10;
+       pos @L_ @_T -120;
+       pos @L_ @_U -10;
+       pos @L_ @_W -60;
+       pos @L_ @_Y -130;
+       pos @L_ @_Р-20;
+       pos @L_ @_Ħ -20;
+
+       pos @O_ @_A -10;
+       pos @O_ @_T -10;
+       pos @O_ @_W -10;
+       pos @O_ @_X -10;
+       pos @O_ @_Y -20;
+
+       pos @P_ @_A -80;
+       pos @P_ @_J -10;
+
+       pos @S_ @_T -30;
+       pos @S_ @_W -30;
+       pos @S_ @_Y -40;
+       pos @S_ @_Ħ -10;
+
+       pos @T_ @_A -120;
+       pos @T_ @_J -80;
+       pos @T_ @_O -10;
+       pos @T_ @_T +20;
+       pos @T_ @_W +10;
+       pos @T_ @_Z -10;
+       pos @T_ @_Р-20;
+
+       pos @W_ @_A -90;
+       pos @W_ @_J -30;
+       pos @W_ @_O -10;
+       pos @W_ @_T +10;
+       pos @W_ @_Z -10;
+       pos @W_ @_Р-20;
+
+       pos @X_ @_O -10;
+       pos @X_ @_Р-10;
+
+       pos @Y_ @_A -140;
+       pos @Y_ @_J -100;
+       pos @Y_ @_O -20;
+       pos @Y_ @_Z -10;
+       pos @Y_ @_Р-20;
+
+       pos @Z_ @_T -10;
+       pos @Z_ @_W -10;
+       pos @Z_ @_Y -10;
+       pos @Z_ @_Р-10;
+       pos @Z_ @_Ħ -20;
+
+       pos @Þ_ @_A -30;
+       pos @Þ_ @_T -30;
+       pos @Þ_ @_X -40;
+       pos @Þ_ @_Y -60;
+
+       pos @Ħ_ @_A -20;
+       pos @Ħ_ @_J -20;
+       pos @Ħ_ @_Z -20;
+
+
+# UPPERCASE lowercase
+
+       pos @A_ @_v -80;
+       pos @A_ @_w -40;
+       pos @A_ @_ħ -20;
+       pos @A_ @_ł -30;
+       pos @A_ @_ŧ -20;
+
+       pos @B_ @_v -10;
+       pos @B_ @_x -10;
+       pos @B_ @_ħ -10;
+
+       pos @C_ @_v -10;
+       pos @C_ @_ï +20;
+       pos @C_ @_ł -30;
+       pos @C_ @_ŧ -20;
+
+       pos @F_ @_a -30;
+       pos @F_ @_n -20;
+       pos @F_ @_o -20;
+       pos @F_ @_r -20;
+       pos @F_ @_s -10;
+       pos @F_ @_z -20;
+       pos @F_ @_ì +10;
+       pos @F_ @_í -20;
+       pos @F_ @_î +20;
+       pos @F_ @_ï +40;
+       pos @F_ @_ł -20;
+       pos @F_ @_ŧ -10;
+
+       pos @G_ @_v -10;
+       pos @G_ @_ħ -10;
+
+       pos @K_ @_v -50;
+       pos @K_ @_w -20;
+       pos @K_ @_ï +20;
+       pos @K_ @_ħ -10;
+       pos @K_ @_ł -40;
+       pos @K_ @_ŧ -10;
+
+       pos @L_ @_v -50;
+       pos @L_ @_w -20;
+       pos @L_ @_ħ -20;
+       pos @L_ @_ł -40;
+       pos @L_ @_ŧ -20;
+
+       pos @P_ @_a -10;
+       pos @P_ @_î +10;
+       pos @P_ @_ï +10;
+       pos @P_ @_ŧ -10;
+
+       pos @S_ @_v -20;
+       pos @S_ @_w -10;
+       pos @S_ @_x -10;
+       pos @S_ @_ħ -10;
+
+       pos @T_ @_a -60;
+       pos @T_ @_n -50;
+       pos @T_ @_o -60;
+       pos @T_ @_r -60;
+       pos @T_ @_s -50;
+       pos @T_ @_v -40;
+       pos @T_ @_w -40;
+       pos @T_ @_x -30;
+       pos @T_ @_z -40;
+       pos @T_ @_ì +20;
+       pos @T_ @_í -30;
+       pos @T_ @_î +30;
+       pos @T_ @_ï +50;
+       pos @T_ @_ł -50;
+       pos @T_ @_ŧ -20;
+
+       pos @W_ @_a -40;
+       pos @W_ @_n -30;
+       pos @W_ @_o -40;
+       pos @W_ @_r -40;
+       pos @W_ @_s -30;
+       pos @W_ @_v -20;
+       pos @W_ @_w -20;
+       pos @W_ @_x -10;
+       pos @W_ @_z -20;
+       pos @W_ @_ì +10;
+       pos @W_ @_í -30;
+       pos @W_ @_î +20;
+       pos @W_ @_ï +40;
+       pos @W_ @_ł -40;
+
+       pos @X_ @_v -30;
+       pos @X_ @_w -10;
+       pos @X_ @_ì +20;
+       pos @X_ @_î +10;
+       pos @X_ @_ï +40;
+       pos @X_ @_ł -40;
+
+       pos @Y_ @_a -70;
+       pos @Y_ @_n -60;
+       pos @Y_ @_o -70;
+       pos @Y_ @_r -70;
+       pos @Y_ @_s -60;
+       pos @Y_ @_v -40;
+       pos @Y_ @_w -40;
+       pos @Y_ @_x -30;
+       pos @Y_ @_z -50;
+       pos @Y_ @_ì +20;
+       pos @Y_ @_í -50;
+       pos @Y_ @_î +20;
+       pos @Y_ @_ï +50;
+       pos @Y_ @_ł -50;
+
+       pos @Z_ @_v -20;
+       pos @Z_ @_w -10;
+       pos @Z_ @_ï +10;
+       pos @Z_ @_ł -40;
+       pos @Z_ @_ŧ -20;
+
+       pos @Ħ_ @_a -10;
+       pos @Ħ_ @_o -10;
+       pos @Ħ_ @_r -10;
+       pos @Ħ_ @_s -10;
+       pos @Ħ_ @_z -10;
+
+
+# lowercase UPPERCASE
+
+       pos @a_ @_T -60;
+       pos @a_ @_W -40;
+       pos @a_ @_Y -70;
+       pos @a_ @_Ħ -10;
+
+       pos @c_ @_T -20;
+       pos @c_ @_W -10;
+       pos @c_ @_Y -30;
+
+       pos @f_ @_A -50;
+       pos @f_ @_J -10;
+
+       pos @g_ @_T -50;
+       pos @g_ @_W -30;
+       pos @g_ @_Y -60;
+
+       pos @o_ @_T -60;
+       pos @o_ @_W -40;
+       pos @o_ @_Y -70;
+       pos @o_ @_Ħ -10;
+
+       pos @r_ @_A -50;
+       pos @r_ @_J -10;
+       pos @r_ @_T -10;
+       pos @r_ @_X -10;
+       pos @r_ @_Y -20;
+       pos @r_ @_Z -20;
+
+       pos @s_ @_T -60;
+       pos @s_ @_W -40;
+       pos @s_ @_Y -70;
+       pos @s_ @_Ħ -10;
+
+       pos @u_ @_T -50;
+       pos @u_ @_W -30;
+       pos @u_ @_Y -60;
+
+       pos @v_ @_A -80;
+       pos @v_ @_J -10;
+       pos @v_ @_T -40;
+       pos @v_ @_W -20;
+       pos @v_ @_X -30;
+       pos @v_ @_Y -40;
+       pos @v_ @_Z -20;
+
+       pos @w_ @_A -40;
+       pos @w_ @_T -40;
+       pos @w_ @_W -20;
+       pos @w_ @_X -10;
+       pos @w_ @_Y -40;
+       pos @w_ @_Z -10;
+
+       pos @x_ @_T -30;
+       pos @x_ @_W -10;
+       pos @x_ @_Y -30;
+
+       pos @z_ @_T -40;
+       pos @z_ @_W -20;
+       pos @z_ @_Y -50;
+       pos @z_ @_Ħ -10;
+
+       pos @ß_ @_T -60;
+       pos @ß_ @_W -40;
+       pos @ß_ @_Y -70;
+
+       pos @ì_ @_T -30;
+       pos @ì_ @_W -30;
+       pos @ì_ @_Y -50;
+
+       pos @í_ @_T +20;
+       pos @í_ @_W +10;
+       pos @í_ @_X +20;
+       pos @í_ @_Y +20;
+
+       pos @î_ @_T +30;
+       pos @î_ @_W +20;
+       pos @î_ @_X +10;
+       pos @î_ @_Y +20;
+
+       pos @ï_ @_T +50;
+       pos @ï_ @_W +40;
+       pos @ï_ @_X +40;
+       pos @ï_ @_Y +50;
+       pos @ï_ @_Z +10;
+
+       pos @ď_ @_A -90;
+       pos @ď_ @_J -60;
+
+       pos @đ_ @_A -20;
+       pos @đ_ @_J -20;
+
+       pos @ł_ @_A -40;
+       pos @ł_ @_J -20;
+       pos @ł_ @_T -40;
+       pos @ł_ @_W -30;
+       pos @ł_ @_X -40;
+       pos @ł_ @_Y -40;
+       pos @ł_ @_Z -40;
+
+
+# lowercase lowercase
+
+       pos @a_ @_v -10;
+       pos @a_ @_ħ -20;
+
+       pos @c_ @_ħ -10;
+       pos @c_ @_ł -20;
+       pos @c_ @_ŧ -10;
+
+       pos @f_ @_a -10;
+       pos @f_ @_ì +10;
+       pos @f_ @_î +20;
+       pos @f_ @_ï +40;
+       pos @f_ @_ł -20;
+       pos @f_ @_ŧ -10;
+
+       pos @g_ @_ħ -10;
+
+       pos @o_ @_v -10;
+       pos @o_ @_x -10;
+       pos @o_ @_ħ -20;
+
+       pos @r_ @_a -10;
+       pos @r_ @_ħ -10;
+       pos @r_ @_ł -20;
+       pos @r_ @_ŧ -10;
+
+       pos @s_ @_v -20;
+       pos @s_ @_w -10;
+       pos @s_ @_ħ -20;
+
+       pos @u_ @_ħ -10;
+
+       pos @v_ @_a -20;
+       pos @v_ @_o -10;
+       pos @v_ @_r -10;
+       pos @v_ @_ħ -10;
+       pos @v_ @_ł -30;
+       pos @v_ @_ŧ -10;
+
+       pos @w_ @_a -10;
+       pos @w_ @_ħ -10;
+       pos @w_ @_ł -10;
+
+       pos @x_ @_o -10;
+       pos @x_ @_ħ -10;
+       pos @x_ @_ł -30;
+       pos @x_ @_ŧ -10;
+
+       pos @z_ @_ħ -10;
+       pos @z_ @_ł -30;
+       pos @z_ @_ŧ -10;
+
+       pos @ß_ @_v -50;
+       pos @ß_ @_w -30;
+
+       pos @ď_ @_a -60;
+       pos @ď_ @_n -30;
+       pos @ď_ @_o -50;
+       pos @ď_ @_r -50;
+       pos @ď_ @_s -40;
+       pos @ď_ @_z -30;
+       pos @ď_ @_ł -30;
+       pos @ď_ @_ŧ -20;
+
+       pos @đ_ @_a -20;
+       pos @đ_ @_n -10;
+       pos @đ_ @_o -20;
+       pos @đ_ @_r -20;
+       pos @đ_ @_s -20;
+       pos @đ_ @_z -10;
+       pos @đ_ @_ŧ -20;
+
+} kernLatin;