diff options
author | Rasmus Andersson <rasmus@notion.se> | 2019-08-05 03:21:25 +0300 |
---|---|---|
committer | Rasmus Andersson <rasmus@notion.se> | 2019-08-05 03:21:25 +0300 |
commit | 1a0a8dc178cfcea2d61f690fd41a2166ad1f8475 (patch) | |
tree | fdca8b4b7a0dcb99ddcefcbf8245ce20c3ce84ed /src/features | |
parent | 49cd0c56c80c87ed721a3a317e891348f4515da1 (diff) | |
download | inter-1a0a8dc178cfcea2d61f690fd41a2166ad1f8475.tar.xz |
adds double-stem arrows (looks like equal signs)
Diffstat (limited to 'src/features')
-rw-r--r-- | src/features/calt.fea | 12 | ||||
-rw-r--r-- | src/features/liga.fea | 51 |
2 files changed, 56 insertions, 7 deletions
diff --git a/src/features/calt.fea b/src/features/calt.fea index 8b1ad6dc4..341678c5a 100644 --- a/src/features/calt.fea +++ b/src/features/calt.fea @@ -62,11 +62,17 @@ leftArrow leftLongArrow leftLongArrow2 + leftDoubleArrow + leftLongDoubleArrow rightArrow rightLongArrow rightLongArrow2 + rightDoubleArrow + rightLongDoubleArrow leftRightArrow leftRightLongArrow + leftRightDoubleArrow + leftRightLongDoubleArrow colon approxequal asciitilde @@ -107,11 +113,17 @@ leftArrow.case leftLongArrow.case leftLongArrow2.case + leftDoubleArrow.case + leftLongDoubleArrow.case rightArrow.case rightLongArrow.case rightLongArrow2.case + rightDoubleArrow.case + rightLongDoubleArrow.case leftRightArrow.case leftRightLongArrow.case + leftRightDoubleArrow.case + leftRightLongDoubleArrow.case colon.case approxequal.case asciitilde.case diff --git a/src/features/liga.fea b/src/features/liga.fea index 863ce2ba6..a0ebf89c1 100644 --- a/src/features/liga.fea +++ b/src/features/liga.fea @@ -8,23 +8,60 @@ endash.case emdash.case ]; +@DASH_ANY = [ @DASH @DASH_CASE ]; +# ---> +sub @DASH @DASH @DASH greater by rightLongArrow2; +sub @DASH_ANY @DASH_ANY @DASH_ANY greater.case by rightLongArrow2.case; +# --> +sub @DASH @DASH greater by rightLongArrow; +sub @DASH_ANY @DASH_ANY greater.case by rightLongArrow.case; +# [endash emdash]-> (legacy) +sub [endash emdash] greater by rightLongArrow; +sub [endash emdash endash.case emdash.case] greater.case by rightLongArrow.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 [hyphen hyphen.case] greater.case by rightArrow.case; +# <--- sub less @DASH @DASH @DASH by leftLongArrow2; -ignore sub less' hyphen' @Numeral; # ignore e.g. "<-3" ("less than negative") +sub less.case @DASH_ANY @DASH_ANY @DASH_ANY by leftLongArrow2.case; +# <-- +sub less @DASH @DASH by leftLongArrow; +sub less.case @DASH_ANY @DASH_ANY by leftLongArrow.case; +# <-[endash emdash] (legacy) +sub less [endash emdash] by leftLongArrow; +sub less.case [endash emdash endash.case emdash.case] by leftLongArrow.case; +# ignore e.g. "<-3" ("less than negative") +ignore sub less' hyphen' @Numeral; +ignore sub less.case' [hyphen hyphen.case]' @Numeral; +# <- sub less' hyphen' by leftArrow; -sub less [endash emdash] by leftLongArrow; # legacy +sub less.case' [hyphen hyphen.case]' by leftArrow.case; # <-> sub less rightArrow by leftRightArrow; # <,-> +sub [less less.case] rightArrow.case by leftRightArrow.case; sub leftArrow greater by leftRightArrow; # <-,- +sub leftArrow.case [greater greater.case] by leftRightArrow.case; +# <--> sub less rightLongArrow by leftRightLongArrow; # <,--> +sub [less less.case] rightLongArrow.case by leftRightLongArrow.case; sub leftLongArrow greater by leftRightLongArrow; # <--,> +sub leftLongArrow.case [greater greater.case] by leftRightLongArrow.case; +# <=> +sub less equal greater by leftRightDoubleArrow; +sub less.case [equal equal.case] [greater greater.case] by leftRightDoubleArrow.case; +sub less equal equal greater by leftRightLongDoubleArrow; +sub less.case [equal equal.case] [equal equal.case] [greater greater.case] by leftRightLongDoubleArrow.case; +# => +sub equal equal greater by rightLongDoubleArrow; +sub [equal equal.case] [equal equal.case] greater.case by rightLongDoubleArrow.case; +sub equal greater by rightDoubleArrow; +sub [equal equal.case] greater.case by rightDoubleArrow.case; +# <== +sub less equal equal by leftLongDoubleArrow; +sub less.case [equal equal.case] [equal equal.case] by leftLongDoubleArrow.case; +# Note: We do NOT (sub less equal by leftDoubleArrow) as that would +# interfere with "<=" (less than or equal to) # x surrounded by numbers, e.g. 3x4 -> 3×4 sub @Numeral x' @Numeral by multiply; # 3x9 |