Files
Iosevka/features/ligation.fea
T

96 lines
4.4 KiB
Plaintext

# Programming ligations
lookup arrowStickFR { sub [hyphen equal] by [lighy.fr ligeq.fr]; } arrowStickFR;
lookup arrowStickLF { sub [hyphen equal] by [lighy.lf ligeq.lf]; } arrowStickLF;
lookup arrowStickFR1 { sub [hyphen equal] by [lighy.fr1 ligeq.fr1]; } arrowStickFR1;
lookup arrowStickL1F { sub [hyphen equal] by [lighy.l1f ligeq.l1f]; } arrowStickL1F;
lookup arrowStickCR { sub [hyphen equal] by [lighy.cr ligeq.cr]; } arrowStickCR;
lookup arrowStickLC { sub [hyphen equal] by [lighy.lc ligeq.lc]; } arrowStickLC;
lookup arrowStickLXC { sub [hyphen equal] by [lighy.lxc ligeq.lxc]; } arrowStickLXC;
lookup arrowStickCF { sub [hyphen equal] by [lighy.cf ligeq.cf]; } arrowStickCF;
lookup arrowStickFC { sub [hyphen equal] by [lighy.fc ligeq.fc]; } arrowStickFC;
lookup arrowStickJF { sub [hyphen equal] by [lighy.jf ligeq.jf]; } arrowStickJF;
lookup arrowStickFJ { sub [hyphen equal] by [lighy.fj ligeq.fj]; } arrowStickFJ;
lookup arrowStickJ1F { sub [hyphen equal] by [lighy.j1f ligeq.j1f]; } arrowStickJ1F;
lookup arrowStickFJ1 { sub [hyphen equal] by [lighy.fj1 ligeq.fj1]; } arrowStickFJ1;
lookup arrowStickJR { sub [hyphen equal] by [lighy.jr ligeq.jr]; } arrowStickJR;
lookup arrowStickLJ { sub [hyphen equal] by [lighy.lj ligeq.lj]; } arrowStickLJ;
lookup arrowStickLR { sub [hyphen equal] by [lighy.lr ligeq.lr]; } arrowStickLR;
lookup lessShift1 { sub less by ligless.shift1; } lessShift1;
lookup greaterShift1 { sub greater by liggreater.shift1; } greaterShift1;
lookup lessShiftN1 { sub less by ligless.shiftN1; } lessShiftN1;
lookup greaterShiftN1 { sub greater by liggreater.shiftN1; } greaterShiftN1;
lookup arrowExclamHTMLComment { sub exclam by ligexclam.htmlcommentstart; } arrowExclamHTMLComment;
@arrowstick = [hyphen equal];
lookup caltArrow1 {
# Arrows, sub
sub less @arrowstick' lookup arrowStickLC @arrowstick' lookup arrowStickCR greater; # <-->, <==>
sub less @arrowstick' lookup arrowStickLR greater; # <->, <=>
sub less @arrowstick' lookup arrowStickLJ less; # <-<, <=<
sub less @arrowstick' lookup arrowStickLC @arrowstick' lookup arrowStickCF; # <--, <==
sub less less' lookup lessShift1 @arrowstick' lookup arrowStickL1F; # <<-, <<=
sub less hyphen' lookup arrowStickLF; # <-
sub less exclam' lookup arrowExclamHTMLComment hyphen' lookup arrowStickLXC hyphen' lookup arrowStickCF; # <!--
sub greater greater' lookup greaterShiftN1 @arrowstick' lookup arrowStickJ1F; # >>-, >>=
sub greater @arrowstick' lookup arrowStickJR greater; # >->, >=>
sub greater [hyphen]' lookup arrowStickJF; # >-
sub @arrowstick' lookup arrowStickFC @arrowstick' lookup arrowStickCR greater; # -->, ==>
sub @arrowstick' lookup arrowStickFR1 greater' lookup greaterShift1 greater; # ->>, =>>
sub @arrowstick' lookup arrowStickFR greater; # ->, =>
sub @arrowstick' lookup arrowStickFJ1 less' lookup lessShiftN1 less; # -<<, =<<
sub @arrowstick' lookup arrowStickFJ less; # -<, =<
} caltArrow1;
feature calt {
script latn;
language dflt;
lookup caltArrow1;
script grek;
language dflt;
lookup caltArrow1;
script cyrl;
language dflt;
lookup caltArrow1;
script DFLT;
language dflt;
lookup caltArrow1;
} calt;
@fwclose = [fwlcloseDoubleQuote fwlcloseSingleQuote dwlcjkSingleQuoteRight dwlcjkDoubleQuoteRight dwlparenRight];
@hwclose = [closeDoubleQuote closeSingleQuote cjkSingleQuoteRight cjkDoubleQuoteRight parenRight];
@fwopen = [fwropenDoubleQuote fwropenSingleQuote dwrcjkSingleQuoteLeft dwrcjkDoubleQuoteLeft dwrparenLeft];
@hwopen = [openDoubleQuote openSingleQuote cjkSingleQuoteLeft cjkDoubleQuoteLeft parenLeft];
@fwquoteopen = [fwropenDoubleQuote fwropenSingleQuote];
@hwquoteopen = [openDoubleQuote openSingleQuote];
@fwtrail = [dwlperiod dwlcomma dwlcjkperiod dwlcjkcomma];
@hwtrail = [period comma cjkperiod cjkcomma];
@fwmid = [dwccolon dwcsemicolon];
@hwmid = [colon semicolon];
lookup cjkCompress {
sub [@fwtrail @hwtrail @fwopen @hwopen @fwmid @hwmid] @fwopen' by @hwopen;
sub @fwclose' [@fwtrail @hwtrail @fwclose @hwclose @fwopen @hwopen @fwmid @hwmid] by @hwclose;
} cjkCompress;
feature opbd {
script latn;
language dflt;
lookup cjkCompress;
script grek;
language dflt;
lookup cjkCompress;
script cyrl;
language dflt;
lookup cjkCompress;
script hani;
language dflt;
lookup cjkCompress;
script kana;
language dflt;
lookup cjkCompress;
script DFLT;
language dflt;
lookup cjkCompress;
} opbd;