@DASH = [ hyphen endash emdash ]; @DASH_CASE = [ hyphen.case 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 [hyphen hyphen.case] greater.case by rightArrow.case; # <--- sub less @DASH @DASH @DASH by leftLongArrow2; 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.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 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;