OpenSans.fea 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179
  1. feature aalt {
  2. # automatic
  3. feature lnum;
  4. feature locl;
  5. feature onum;
  6. feature pnum;
  7. feature ss01;
  8. feature ss02;
  9. feature salt;
  10. feature ss03;
  11. feature frac;
  12. feature numr;
  13. feature dnom;
  14. feature sups;
  15. } aalt;
  16. feature liga {
  17. sub f f l by f_f_l;
  18. sub f f i by f_f_i;
  19. sub f f by f_f;
  20. sub f l by fl;
  21. sub f i by fi;
  22. } liga;
  23. feature lnum {
  24. sub zero.osf by zero;
  25. sub one.osf by one;
  26. sub two.osf by two;
  27. sub three.osf by three;
  28. sub four.osf by four;
  29. sub five.osf by five;
  30. sub six.osf by six;
  31. sub seven.osf by seven;
  32. sub eight.osf by eight;
  33. sub nine.osf by nine;
  34. } lnum;
  35. feature locl {
  36. lookup locl_MOLROM {
  37. sub Tcommaaccent by Tcedilla;
  38. sub tcommaaccent by tcedilla;
  39. sub Scommaaccent by Scedilla;
  40. sub scommaaccent by scedilla;
  41. } locl_MOLROM;
  42. language MOL;
  43. lookup locl_MOLROM;
  44. language ROM;
  45. lookup locl_MOLROM;
  46. } locl;
  47. feature onum {
  48. sub zero by zero.osf;
  49. sub one by one.osf;
  50. sub two by two.osf;
  51. sub three by three.osf;
  52. sub four by four.osf;
  53. sub five by five.osf;
  54. sub six by six.osf;
  55. sub seven by seven.osf;
  56. sub eight by eight.osf;
  57. sub nine by nine.osf;
  58. sub one.lf by one.osf;
  59. } onum;
  60. feature pnum {
  61. sub one by one.lf;
  62. } pnum;
  63. lookup galternates {
  64. sub g by g.ss02;
  65. sub gcircumflex by gcircumflex.ss02;
  66. sub gbreve by gbreve.ss02;
  67. sub gdotaccent by gdotaccent.ss02;
  68. sub gcommaaccent by gcommaaccent.ss02;
  69. } galternates;
  70. lookup Ialternates {
  71. sub I by I.ss01;
  72. sub Igrave by Igrave.ss01;
  73. sub Iacute by Iacute.ss01;
  74. sub Icircumflex by Icircumflex.ss01;
  75. sub Idieresis by Idieresis.ss01;
  76. sub Itilde by Itilde.ss01;
  77. sub Imacron by Imacron.ss01;
  78. sub Ibreve by Ibreve.ss01;
  79. sub Iogonek by Iogonek.ss01;
  80. sub Idotaccent by Idotaccent.ss01;
  81. sub IJ by IJ.ss01;
  82. sub Iotatonos by Iotatonos.ss01;
  83. sub Iota by Iota.ss01;
  84. sub Iotadieresis by Iotadieresis.ss01;
  85. sub I-cy by I-cy.ss01;
  86. sub Yi-cy by Yi-cy.ss01;
  87. sub Palochka-cy by Palochka-cy.ss01;
  88. sub palochka-cy by palochka-cy.ss01;
  89. sub Ihookabove by Ihookabove.ss01;
  90. sub Idotbelow by Idotbelow.ss01;
  91. } Ialternates;
  92. feature ss01 {
  93. lookup galternates;
  94. lookup Ialternates;
  95. } ss01;
  96. feature ss02 {
  97. lookup galternates;
  98. } ss02;
  99. feature salt {
  100. lookup galternates;
  101. lookup Ialternates;
  102. } salt;
  103. feature ss03 {
  104. lookup Ialternates;
  105. } ss03;
  106. feature frac {
  107. # automatic
  108. lookup FRAC {
  109. sub slash by fraction;
  110. } FRAC;
  111. lookup UP {
  112. sub [zero one two three four five six seven eight nine] by [zero.numr one.numr two.numr three.numr four.numr five.numr six.numr seven.numr eight.numr nine.numr];
  113. } UP;
  114. lookup DOWN {
  115. sub fraction [zero.numr one.numr two.numr three.numr four.numr five.numr six.numr seven.numr eight.numr nine.numr]' by [zero.dnom one.dnom two.dnom three.dnom four.dnom five.dnom six.dnom seven.dnom eight.dnom nine.dnom];
  116. sub [zero.dnom one.dnom two.dnom three.dnom four.dnom five.dnom six.dnom seven.dnom eight.dnom nine.dnom] [zero.numr one.numr two.numr three.numr four.numr five.numr six.numr seven.numr eight.numr nine.numr]' by [zero.dnom one.dnom two.dnom three.dnom four.dnom five.dnom six.dnom seven.dnom eight.dnom nine.dnom];
  117. } DOWN;
  118. } frac;
  119. feature numr {
  120. # automatic
  121. sub zero by zero.numr;
  122. sub one by one.numr;
  123. sub two by two.numr;
  124. sub three by three.numr;
  125. sub four by four.numr;
  126. sub five by five.numr;
  127. sub six by six.numr;
  128. sub seven by seven.numr;
  129. sub eight by eight.numr;
  130. sub nine by nine.numr;
  131. } numr;
  132. feature dnom {
  133. # automatic
  134. sub zero by zero.dnom;
  135. sub one by one.dnom;
  136. sub two by two.dnom;
  137. sub three by three.dnom;
  138. sub four by four.dnom;
  139. sub five by five.dnom;
  140. sub six by six.dnom;
  141. sub seven by seven.dnom;
  142. sub eight by eight.dnom;
  143. sub nine by nine.dnom;
  144. } dnom;
  145. feature sups {
  146. # automatic
  147. sub zero by zerosuperior;
  148. sub one by onesuperior;
  149. sub two by twosuperior;
  150. sub three by threesuperior;
  151. sub four by foursuperior;
  152. sub five by fivesuperior;
  153. sub six by sixsuperior;
  154. sub seven by sevensuperior;
  155. sub eight by eightsuperior;
  156. sub nine by ninesuperior;
  157. } sups;