summaryrefslogtreecommitdiff
path: root/src/features/liga.fea
diff options
context:
space:
mode:
Diffstat (limited to 'src/features/liga.fea')
-rw-r--r--src/features/liga.fea282
1 files changed, 282 insertions, 0 deletions
diff --git a/src/features/liga.fea b/src/features/liga.fea
new file mode 100644
index 000000000..863ce2ba6
--- /dev/null
+++ b/src/features/liga.fea
@@ -0,0 +1,282 @@
+@DASH = [
+ hyphen
+ endash
+ emdash
+];
+@DASH_CASE = [
+ hyphen.case
+ endash.case
+ emdash.case
+];
+
+# ->
+sub hyphen greater by rightArrow;
+sub [endash emdash] greater by rightLongArrow; # legacy
+sub @DASH @DASH greater by rightLongArrow;
+sub @DASH @DASH @DASH greater by rightLongArrow2;
+# <-
+sub less @DASH @DASH by leftLongArrow;
+sub less @DASH @DASH @DASH by leftLongArrow2;
+ignore sub less' hyphen' @Numeral; # ignore e.g. "<-3" ("less than negative")
+sub less' hyphen' by leftArrow;
+sub less [endash emdash] by leftLongArrow; # legacy
+# <->
+sub less rightArrow by leftRightArrow; # <,->
+sub leftArrow greater by leftRightArrow; # <-,-
+sub less rightLongArrow by leftRightLongArrow; # <,-->
+sub leftLongArrow greater by leftRightLongArrow; # <--,>
+
+# x surrounded by numbers, e.g. 3x4 -> 3×4
+sub @Numeral x' @Numeral by multiply; # 3x9
+sub @Numeral @Whitespace x' @Numeral by multiply; # 3 x9
+sub @Numeral @Whitespace @Whitespace x' @Numeral by multiply; # 3 x9
+sub @Numeral x' @Whitespace @Numeral by multiply; # 3x 9
+sub @Numeral @Whitespace x' @Whitespace @Numeral by multiply; # 3 x 9
+sub @Numeral @Whitespace @Whitespace x' @Whitespace @Numeral by multiply; # 3 x 9
+sub @Numeral x' @Whitespace @Whitespace @Numeral by multiply; # 3x 9
+sub @Numeral @Whitespace x' @Whitespace @Whitespace @Numeral by multiply; # 3 x 9
+sub @Numeral @Whitespace @Whitespace x' @Whitespace @Whitespace @Numeral by multiply; # 3 x 9
+
+# * enclosingsquarecomb -> composite
+sub A enclosingsquarecomb by A.squared;
+sub B enclosingsquarecomb by B.squared;
+sub C enclosingsquarecomb by C.squared;
+sub D enclosingsquarecomb by D.squared;
+sub E enclosingsquarecomb by E.squared;
+sub F enclosingsquarecomb by F.squared;
+sub G enclosingsquarecomb by G.squared;
+sub H enclosingsquarecomb by H.squared;
+sub I enclosingsquarecomb by I.squared;
+sub J enclosingsquarecomb by J.squared;
+sub K enclosingsquarecomb by K.squared;
+sub L enclosingsquarecomb by L.squared;
+sub M enclosingsquarecomb by M.squared;
+sub N enclosingsquarecomb by N.squared;
+sub O enclosingsquarecomb by O.squared;
+sub P enclosingsquarecomb by P.squared;
+sub Q enclosingsquarecomb by Q.squared;
+sub R enclosingsquarecomb by R.squared;
+sub S enclosingsquarecomb by S.squared;
+sub T enclosingsquarecomb by T.squared;
+sub U enclosingsquarecomb by U.squared;
+sub V enclosingsquarecomb by V.squared;
+sub W enclosingsquarecomb by W.squared;
+sub X enclosingsquarecomb by X.squared;
+sub Y enclosingsquarecomb by Y.squared;
+sub Z enclosingsquarecomb by Z.squared;
+sub zero enclosingsquarecomb by zero.squared;
+sub one enclosingsquarecomb by one.squared;
+sub two enclosingsquarecomb by two.squared;
+sub three enclosingsquarecomb by three.squared;
+sub four enclosingsquarecomb by four.squared;
+sub five enclosingsquarecomb by five.squared;
+sub six enclosingsquarecomb by six.squared;
+sub seven enclosingsquarecomb by seven.squared;
+sub eight enclosingsquarecomb by eight.squared;
+sub nine enclosingsquarecomb by nine.squared;
+sub zero.slash enclosingsquarecomb by zero.slash.squared;
+sub one.ss01 enclosingsquarecomb by one.ss01.squared;
+sub three.1 enclosingsquarecomb by three.1.squared;
+sub four.ss01 enclosingsquarecomb by four.ss01.squared;
+sub six.ss01 enclosingsquarecomb by six.ss01.squared;
+sub nine.ss01 enclosingsquarecomb by nine.ss01.squared;
+sub exclam enclosingsquarecomb by exclam.squared;
+sub question enclosingsquarecomb by question.squared;
+sub numbersign enclosingsquarecomb by numbersign.squared;
+sub hyphen enclosingsquarecomb by hyphen.squared;
+sub less enclosingsquarecomb by less.squared;
+sub greater enclosingsquarecomb by greater.squared;
+sub equal enclosingsquarecomb by equal.squared;
+sub plus enclosingsquarecomb by plus.squared;
+sub minus enclosingsquarecomb by minus.squared;
+sub multiply enclosingsquarecomb by multiply.squared;
+sub divide enclosingsquarecomb by divide.squared;
+sub upArrow enclosingsquarecomb by upArrow.squared;
+sub downArrow enclosingsquarecomb by downArrow.squared;
+sub leftArrow enclosingsquarecomb by leftArrow.squared;
+sub rightArrow enclosingsquarecomb by rightArrow.squared;
+sub dngb_check enclosingsquarecomb by dngb_check.squared;
+sub dngb_ballotx enclosingsquarecomb by dngb_ballotx.squared;
+
+# enclosingsquarecomb * -> composite
+sub enclosingsquarecomb A by A.squared;
+sub enclosingsquarecomb B by B.squared;
+sub enclosingsquarecomb C by C.squared;
+sub enclosingsquarecomb D by D.squared;
+sub enclosingsquarecomb E by E.squared;
+sub enclosingsquarecomb F by F.squared;
+sub enclosingsquarecomb G by G.squared;
+sub enclosingsquarecomb H by H.squared;
+sub enclosingsquarecomb I by I.squared;
+sub enclosingsquarecomb J by J.squared;
+sub enclosingsquarecomb K by K.squared;
+sub enclosingsquarecomb L by L.squared;
+sub enclosingsquarecomb M by M.squared;
+sub enclosingsquarecomb N by N.squared;
+sub enclosingsquarecomb O by O.squared;
+sub enclosingsquarecomb P by P.squared;
+sub enclosingsquarecomb Q by Q.squared;
+sub enclosingsquarecomb R by R.squared;
+sub enclosingsquarecomb S by S.squared;
+sub enclosingsquarecomb T by T.squared;
+sub enclosingsquarecomb U by U.squared;
+sub enclosingsquarecomb V by V.squared;
+sub enclosingsquarecomb W by W.squared;
+sub enclosingsquarecomb X by X.squared;
+sub enclosingsquarecomb Y by Y.squared;
+sub enclosingsquarecomb Z by Z.squared;
+sub enclosingsquarecomb zero by zero.squared;
+sub enclosingsquarecomb one by one.squared;
+sub enclosingsquarecomb two by two.squared;
+sub enclosingsquarecomb three by three.squared;
+sub enclosingsquarecomb four by four.squared;
+sub enclosingsquarecomb five by five.squared;
+sub enclosingsquarecomb six by six.squared;
+sub enclosingsquarecomb seven by seven.squared;
+sub enclosingsquarecomb eight by eight.squared;
+sub enclosingsquarecomb nine by nine.squared;
+sub enclosingsquarecomb zero.slash by zero.slash.squared;
+sub enclosingsquarecomb one.ss01 by one.ss01.squared;
+sub enclosingsquarecomb three.1 by three.1.squared;
+sub enclosingsquarecomb four.ss01 by four.ss01.squared;
+sub enclosingsquarecomb six.ss01 by six.ss01.squared;
+sub enclosingsquarecomb nine.ss01 by nine.ss01.squared;
+sub enclosingsquarecomb exclam by exclam.squared;
+sub enclosingsquarecomb question by question.squared;
+sub enclosingsquarecomb numbersign by numbersign.squared;
+sub enclosingsquarecomb hyphen by hyphen.squared;
+sub enclosingsquarecomb less by less.squared;
+sub enclosingsquarecomb greater by greater.squared;
+sub enclosingsquarecomb equal by equal.squared;
+sub enclosingsquarecomb plus by plus.squared;
+sub enclosingsquarecomb minus by minus.squared;
+sub enclosingsquarecomb multiply by multiply.squared;
+sub enclosingsquarecomb divide by divide.squared;
+sub enclosingsquarecomb upArrow by upArrow.squared;
+sub enclosingsquarecomb downArrow by downArrow.squared;
+sub enclosingsquarecomb leftArrow by leftArrow.squared;
+sub enclosingsquarecomb rightArrow by rightArrow.squared;
+sub enclosingsquarecomb dngb_check by dngb_check.squared;
+sub enclosingsquarecomb dngb_ballotx by dngb_ballotx.squared;
+
+# * enclosingcirclecomb -> composite
+sub A enclosingcirclecomb by A.circled;
+sub B enclosingcirclecomb by B.circled;
+sub C enclosingcirclecomb by C.circled;
+sub D enclosingcirclecomb by D.circled;
+sub E enclosingcirclecomb by E.circled;
+sub F enclosingcirclecomb by F.circled;
+sub G enclosingcirclecomb by G.circled;
+sub H enclosingcirclecomb by H.circled;
+sub I enclosingcirclecomb by I.circled;
+sub J enclosingcirclecomb by J.circled;
+sub K enclosingcirclecomb by K.circled;
+sub L enclosingcirclecomb by L.circled;
+sub M enclosingcirclecomb by M.circled;
+sub N enclosingcirclecomb by N.circled;
+sub O enclosingcirclecomb by O.circled;
+sub P enclosingcirclecomb by P.circled;
+sub Q enclosingcirclecomb by Q.circled;
+sub R enclosingcirclecomb by R.circled;
+sub S enclosingcirclecomb by S.circled;
+sub T enclosingcirclecomb by T.circled;
+sub U enclosingcirclecomb by U.circled;
+sub V enclosingcirclecomb by V.circled;
+sub W enclosingcirclecomb by W.circled;
+sub X enclosingcirclecomb by X.circled;
+sub Y enclosingcirclecomb by Y.circled;
+sub Z enclosingcirclecomb by Z.circled;
+sub zero enclosingcirclecomb by zero.circled;
+sub one enclosingcirclecomb by one.circled;
+sub two enclosingcirclecomb by two.circled;
+sub three enclosingcirclecomb by three.circled;
+sub four enclosingcirclecomb by four.circled;
+sub five enclosingcirclecomb by five.circled;
+sub six enclosingcirclecomb by six.circled;
+sub seven enclosingcirclecomb by seven.circled;
+sub eight enclosingcirclecomb by eight.circled;
+sub nine enclosingcirclecomb by nine.circled;
+sub zero.slash enclosingcirclecomb by zero.slash.circled;
+sub one.ss01 enclosingcirclecomb by one.ss01.circled;
+sub three.1 enclosingcirclecomb by three.1.circled;
+sub four.ss01 enclosingcirclecomb by four.ss01.circled;
+sub six.ss01 enclosingcirclecomb by six.ss01.circled;
+sub nine.ss01 enclosingcirclecomb by nine.ss01.circled;
+sub exclam enclosingcirclecomb by exclam.circled;
+sub question enclosingcirclecomb by question.circled;
+sub numbersign enclosingcirclecomb by numbersign.circled;
+sub hyphen enclosingcirclecomb by hyphen.circled;
+sub less enclosingcirclecomb by less.circled;
+sub greater enclosingcirclecomb by greater.circled;
+sub equal enclosingcirclecomb by equal.circled;
+sub plus enclosingcirclecomb by plus.circled;
+sub minus enclosingcirclecomb by minus.circled;
+sub multiply enclosingcirclecomb by multiply.circled;
+sub divide enclosingcirclecomb by divide.circled;
+sub upArrow enclosingcirclecomb by upArrow.circled;
+sub downArrow enclosingcirclecomb by downArrow.circled;
+sub leftArrow enclosingcirclecomb by leftArrow.circled;
+sub rightArrow enclosingcirclecomb by rightArrow.circled;
+sub dngb_check enclosingcirclecomb by dngb_check.circled;
+sub dngb_ballotx enclosingcirclecomb by dngb_ballotx.circled;
+
+# enclosingcirclecomb * -> composite
+sub enclosingcirclecomb A by A.circled;
+sub enclosingcirclecomb B by B.circled;
+sub enclosingcirclecomb C by C.circled;
+sub enclosingcirclecomb D by D.circled;
+sub enclosingcirclecomb E by E.circled;
+sub enclosingcirclecomb F by F.circled;
+sub enclosingcirclecomb G by G.circled;
+sub enclosingcirclecomb H by H.circled;
+sub enclosingcirclecomb I by I.circled;
+sub enclosingcirclecomb J by J.circled;
+sub enclosingcirclecomb K by K.circled;
+sub enclosingcirclecomb L by L.circled;
+sub enclosingcirclecomb M by M.circled;
+sub enclosingcirclecomb N by N.circled;
+sub enclosingcirclecomb O by O.circled;
+sub enclosingcirclecomb P by P.circled;
+sub enclosingcirclecomb Q by Q.circled;
+sub enclosingcirclecomb R by R.circled;
+sub enclosingcirclecomb S by S.circled;
+sub enclosingcirclecomb T by T.circled;
+sub enclosingcirclecomb U by U.circled;
+sub enclosingcirclecomb V by V.circled;
+sub enclosingcirclecomb W by W.circled;
+sub enclosingcirclecomb X by X.circled;
+sub enclosingcirclecomb Y by Y.circled;
+sub enclosingcirclecomb Z by Z.circled;
+sub enclosingcirclecomb zero by zero.circled;
+sub enclosingcirclecomb one by one.circled;
+sub enclosingcirclecomb two by two.circled;
+sub enclosingcirclecomb three by three.circled;
+sub enclosingcirclecomb four by four.circled;
+sub enclosingcirclecomb five by five.circled;
+sub enclosingcirclecomb six by six.circled;
+sub enclosingcirclecomb seven by seven.circled;
+sub enclosingcirclecomb eight by eight.circled;
+sub enclosingcirclecomb nine by nine.circled;
+sub enclosingcirclecomb zero.slash by zero.slash.circled;
+sub enclosingcirclecomb one.ss01 by one.ss01.circled;
+sub enclosingcirclecomb three.1 by three.1.circled;
+sub enclosingcirclecomb four.ss01 by four.ss01.circled;
+sub enclosingcirclecomb six.ss01 by six.ss01.circled;
+sub enclosingcirclecomb nine.ss01 by nine.ss01.circled;
+sub enclosingcirclecomb exclam by exclam.circled;
+sub enclosingcirclecomb question by question.circled;
+sub enclosingcirclecomb numbersign by numbersign.circled;
+sub enclosingcirclecomb hyphen by hyphen.circled;
+sub enclosingcirclecomb less by less.circled;
+sub enclosingcirclecomb greater by greater.circled;
+sub enclosingcirclecomb equal by equal.circled;
+sub enclosingcirclecomb plus by plus.circled;
+sub enclosingcirclecomb minus by minus.circled;
+sub enclosingcirclecomb multiply by multiply.circled;
+sub enclosingcirclecomb divide by divide.circled;
+sub enclosingcirclecomb upArrow by upArrow.circled;
+sub enclosingcirclecomb downArrow by downArrow.circled;
+sub enclosingcirclecomb leftArrow by leftArrow.circled;
+sub enclosingcirclecomb rightArrow by rightArrow.circled;
+sub enclosingcirclecomb dngb_check by dngb_check.circled;
+sub enclosingcirclecomb dngb_ballotx by dngb_ballotx.circled;