maple-font/source/mono.fea
2023-04-19 18:25:12 +08:00

2227 lines
No EOL
43 KiB
Text

script latn {
feature ContextualAlternates;
feature SlashedZero;
feature StyleSets01;
feature StyleSets02;
feature StyleSets03;
feature StyleSets04;
feature StyleSets05;
feature CharacterVariants01;
feature CharacterVariants02;
feature CharacterVariants03;
feature CharacterVariants04;
}
class @hex [A-F zero-nine];
class @number [zero-nine];
class @capital [A-Z];
class @low [a-z];
class @operator [equal less greater asterisk plus hyphenminus asciitilde asciicircum];
class @colons [colon colon_center colon_center_left colon_center_right];
class @var [@number @capital @low underscore dollar asterisk];
class @a [A a];
class @b [B b];
class @c [C c];
class @d [D d];
class @e [E e];
class @f [F f];
class @g [G g];
class @i [I i];
class @l [L l];
class @n [N n];
class @o [O o];
class @r [R r];
class @t [T t];
class @u [U u];
class @w [W w];
class @v [V v];
feature ContextualAlternates calt {
# <->
lookup left_right_arrow_single;
# <=>
lookup left_right_arrow_double;
# ->
lookup right_arrow_single;
# =>
lookup right_arrow_double;
# 0x12
lookup hex_center_x;
# :: :> :=
lookup colon_center;
# </
lookup less_slash;
# />
lookup slash_greater;
# <>
lookup less_greater;
# </>
lookup less_slash_greater;
# <-
lookup left_arrow_single;
# <-->
lookup left_right_arrow_single_long;
# <==>
lookup left_right_arrow_double_long;
# -->
lookup right_arrow_single_long;
# ==>
lookup right_arrow_double_long;
# <==
lookup left_arrow_double_long;
# /=
lookup slash_equal;
# |=
lookup bar_equal;
# <<
lookup less_less;
# <<<
lookup less_less_less;
# >>
lookup greater_greater;
# >>>
lookup greater_greater_greater;
# multiple #
lookup sharps;
# <!-- -->
# <!---->
lookup xml_comment;
# ~@
lookup asciitilde_at;
# //
lookup slash_slash;
# ///
lookup slash_slash_slash;
# !!
lookup exclam_exclam;
# ||
lookup bar_bar;
# ??
lookup question_question;
# &&
lookup ampersand_ampersand;
# /* close to top
lookup slash_asterisk;
# /** close to top
lookup slash_asterisk_asterisk;
# */ close to bottom
lookup asterisk_slash;
# ++
lookup plus_plus;
# +++
lookup plus_plus_plus;
# ..
lookup period_period;
# ...
lookup period_period_period;
# #{
lookup numbersign_braceleft;
# #[
lookup numbersign_bracketleft;
# ]#
lookup bracketright_numbersign;
# #(
lookup numbersign_parenleft;
# [todo) tags
lookup tag_todo;
# todo)) tags for jetbrains' IDE
lookup tag_todo_alt;
# ~~
lookup wave;
}
feature CharacterVariants01 cv01 {
# @ # $ % & Q -> =>
lookup pure_style;
}
feature SlashedZero zero {
# 0
lookup slash_zero;
}
feature StyleSets01 ss01 {
# ==
lookup equal_equal;
# ===
lookup equal_equal_equal;
# !=
lookup not_equal;
# !==
lookup not_equal_equal;
}
feature StyleSets02 ss02 {
# [info]
lookup tag_info;
# [trace]
lookup tag_trace;
# [debug]
lookup tag_debug;
# [warn]
lookup tag_warn;
# [error]
lookup tag_error;
# [fatal]
lookup tag_fatal;
# [vite]
lookup tag_vite;
}
feature StyleSets03 ss03 {
# __
lookup underscore_underscore;
}
feature StyleSets04 ss04 {
# >=
lookup greater_equal;
# <=
lookup less_equal;
}
feature StyleSets05 ss05 {
# {{
lookup braceleft_double;
# }}
lookup braceright_double;
}
feature CharacterVariants02 cv02 {
# i
lookup alt_i;
}
feature CharacterVariants03 cv03 {
# a
lookup alt_a;
}
feature CharacterVariants04 cv04 {
# @
lookup at_alt;
}
lookup left_right_arrow_single {
subtable ignore1 {
ignore context (less) less (hyphenminus greater);
}
subtable ignore2 {
ignore context less (hyphenminus greater greater);
}
subtable 111 {
context (placeholder placeholder) greater;
sub 0 left_right_arrow_single_1;
}
subtable 222 {
context (placeholder) hyphenminus (greater);
sub 0 left_right_arrow_single_2;
}
subtable 333 {
context less (hyphenminus greater);
sub 0 left_right_arrow_single_3;
}
}
lookup left_right_arrow_single_1 {
sub greater -> left_right_arrow_single;
}
lookup left_right_arrow_single_2 {
sub hyphenminus -> placeholder;
}
lookup left_right_arrow_single_3 {
sub less -> placeholder;
}
lookup left_right_arrow_double {
subtable ignore1 {
ignore context (less) less (equal greater);
}
subtable ignore2 {
ignore context less (equal greater greater);
}
subtable 111 {
context (placeholder placeholder) greater;
sub 0 left_right_arrow_double_1;
}
subtable 222 {
context (placeholder) equal (greater);
sub 0 left_right_arrow_double_2;
}
subtable 333 {
context less (equal greater);
sub 0 left_right_arrow_double_3;
}
}
lookup left_right_arrow_double_1 {
sub greater -> left_right_arrow_double;
}
lookup left_right_arrow_double_2 {
sub equal -> placeholder;
}
lookup left_right_arrow_double_3 {
sub less -> placeholder;
}
lookup right_arrow_single {
subtable ignore1 {
ignore context (hyphenminus) hyphenminus (greater);
}
subtable ignore2 {
ignore context hyphenminus (greater greater);
}
subtable 111 {
context (placeholder) greater;
sub 0 right_arrow_single_1;
}
subtable 222 {
context hyphenminus (greater);
sub 0 right_arrow_single_2;
}
}
lookup right_arrow_single_1 {
sub greater -> right_arrow_single;
}
lookup right_arrow_single_2 {
sub hyphenminus -> placeholder;
}
lookup right_arrow_double {
subtable ignore1 {
ignore context (equal) equal (greater);
}
subtable ignore2 {
ignore context equal (greater greater);
}
subtable 111 {
context (placeholder) greater;
sub 0 right_arrow_double_1;
}
subtable 222 {
context equal (greater);
sub 0 right_arrow_double_2;
}
}
lookup right_arrow_double_1 {
sub greater -> right_arrow_double;
}
lookup right_arrow_double_2 {
sub equal -> placeholder;
}
lookup hex_center_x {
subtable hex {
context (zero) x (@hex);
sub 0 hex_center_x_1;
}
}
lookup hex_center_x_1 {
sub x -> x_center;
}
lookup colon_center {
subtable ignore1 {
ignore context colon (@colons @colons @colons);
}
subtable ignore2 {
ignore context (@colons) colon (@colons @colons);
}
subtable ignore3 {
ignore context (@colons @colons) colon (@colons);
}
subtable ignore4 {
ignore context (@colons @colons @colons) colon;
}
subtable 111_1 {
context (@colons) colon (@colons);
sub 0 operator_center_1;
}
subtable 111_2 {
context colon (@colons @colons);
sub 0 operator_center_2;
}
subtable 111_3 {
context (@colons @colons) colon;
sub 0 operator_center_3;
}
subtable 111_4 {
context colon (hyphenminus @number);
sub 0 operator_center_1;
}
subtable 111 {
context (@operator) colon (@operator);
sub 0 operator_center_1;
}
subtable 333 {
context colon (@operator @colons);
sub 0 operator_center_2;
}
subtable 444 {
context (@colons) colon (@operator);
sub 0 operator_center_1;
}
subtable 444_1 {
context (@operator) colon (@colons);
sub 0 operator_center_1;
}
subtable 555 {
context (@colons @operator) colon;
sub 0 operator_center_3;
}
subtable 111_4 {
context (@colons) colon;
sub 0 operator_center_3;
}
subtable 111_5 {
context colon (@colons);
sub 0 operator_center_2;
}
subtable 222 {
context colon (@operator);
sub 0 operator_center_2;
}
subtable 444 {
context (@operator) colon;
sub 0 operator_center_3;
}
}
lookup operator_center_1 {
sub colon -> colon_center;
}
lookup operator_center_2 {
sub colon -> colon_center_right;
}
lookup operator_center_3 {
sub colon -> colon_center_left;
}
lookup less_slash {
subtable ignore1 {
ignore context (less) less (slash);
}
subtable ignore2 {
ignore context less (slash slash);
}
subtable ignore2 {
ignore context less (slash greater);
}
subtable 111 {
context (placeholder) slash;
sub 0 less_slash_1;
}
subtable 222 {
context less (slash);
sub 0 less_slash_2;
}
}
lookup less_slash_1 {
sub slash -> less_slash;
}
lookup less_slash_2 {
sub less -> placeholder;
}
lookup slash_greater {
subtable ignore1 {
ignore context (slash less) slash (greater);
}
subtable ignore2 {
ignore context slash (greater greater);
}
subtable ignore3 {
ignore context (less) slash (greater);
}
subtable 111 {
context (placeholder) greater;
sub 0 slash_greater_1;
}
subtable 222 {
context slash (greater);
sub 0 slash_greater_2;
}
}
lookup slash_greater_1 {
sub greater -> slash_greater;
}
lookup slash_greater_2 {
sub slash -> placeholder;
}
lookup less_greater {
subtable ignore1 {
ignore context (less) less (greater);
}
subtable ignore2 {
ignore context less (greater greater);
}
subtable 111 {
context (placeholder) greater;
sub 0 less_greater_1;
}
subtable 222 {
context less (greater);
sub 0 less_greater_2;
}
}
lookup less_greater_1 {
sub greater -> less_greater;
}
lookup less_greater_2 {
sub less -> placeholder;
}
lookup less_slash_greater {
subtable ignore1 {
ignore context (less) less (slash greater);
}
subtable ignore2 {
ignore context less (slash greater greater);
}
subtable 111 {
context (placeholder placeholder) greater;
sub 0 less_slash_greater_1;
}
subtable 222 {
context (placeholder) slash (greater);
sub 0 less_slash_greater_2;
}
subtable 333 {
context less (slash greater);
sub 0 less_slash_greater_3;
}
}
lookup less_slash_greater_1 {
sub greater -> less_slash_greater;
}
lookup less_slash_greater_2 {
sub slash -> placeholder;
}
lookup less_slash_greater_3 {
sub less -> placeholder;
}
lookup left_arrow_single {
subtable ignore1 {
ignore context (less) less (hyphenminus);
}
subtable ignore2 {
ignore context less (hyphenminus hyphenminus);
}
subtable ignore3 {
ignore context less (hyphenminus @number);
}
subtable 111 {
context (placeholder) hyphenminus;
sub 0 left_arrow_single_1;
}
subtable 222 {
context less (hyphenminus);
sub 0 left_arrow_single_2;
}
}
lookup left_arrow_single_1 {
sub hyphenminus -> left_arrow_single;
}
lookup left_arrow_single_2 {
sub less -> placeholder;
}
lookup left_right_arrow_single_long {
subtable ignore1 {
ignore context (less) less (hyphenminus hyphenminus greater);
}
subtable ignore2 {
ignore context less (hyphenminus hyphenminus greater greater);
}
subtable 111 {
context (placeholder placeholder placeholder) greater;
sub 0 left_right_arrow_single_long_1;
}
subtable 222 {
context (placeholder placeholder) hyphenminus (greater);
sub 0 left_right_arrow_single_long_2;
}
subtable 333 {
context (placeholder) hyphenminus (hyphenminus greater);
sub 0 left_right_arrow_single_long_2;
}
subtable 444 {
context less (hyphenminus hyphenminus greater);
sub 0 left_right_arrow_single_long_3;
}
}
lookup left_right_arrow_single_long_1 {
sub greater -> left_right_arrow_single_long;
}
lookup left_right_arrow_single_long_2 {
sub hyphenminus -> placeholder;
}
lookup left_right_arrow_single_long_3 {
sub less -> placeholder;
}
lookup left_right_arrow_double_long {
subtable ignore1 {
ignore context (less) less (equal equal greater);
}
subtable ignore2 {
ignore context less (equal equal greater greater);
}
subtable 111 {
context (placeholder placeholder placeholder) greater;
sub 0 left_right_arrow_double_long_1;
}
subtable 222 {
context (placeholder placeholder) equal (greater);
sub 0 left_right_arrow_double_long_2;
}
subtable 333 {
context (placeholder) equal (equal greater);
sub 0 left_right_arrow_double_long_2;
}
subtable 444 {
context less (equal equal greater);
sub 0 left_right_arrow_double_long_3;
}
}
lookup left_right_arrow_double_long_1 {
sub greater -> left_right_arrow_double_long;
}
lookup left_right_arrow_double_long_2 {
sub equal -> placeholder;
}
lookup left_right_arrow_double_long_3 {
sub less -> placeholder;
}
lookup right_arrow_single_long {
subtable ignore2 {
ignore context hyphenminus (hyphenminus greater greater);
}
subtable 111 {
context (placeholder placeholder) greater;
sub 0 right_arrow_single_long_1;
}
subtable 222 {
context (placeholder) hyphenminus (greater);
sub 0 right_arrow_single_long_2;
}
subtable 333 {
context hyphenminus (hyphenminus greater);
sub 0 right_arrow_single_long_2;
}
}
lookup right_arrow_single_long_1 {
sub greater -> right_arrow_single_long;
}
lookup right_arrow_single_long_2 {
sub hyphenminus -> placeholder;
}
lookup right_arrow_double_long {
subtable ignore1 {
ignore context (equal) equal (equal greater);
}
subtable ignore2 {
ignore context equal (equal greater greater);
}
subtable 111 {
context (placeholder placeholder) greater;
sub 0 right_arrow_double_long_1;
}
subtable 222 {
context (placeholder) equal (greater);
sub 0 right_arrow_double_long_2;
}
subtable 333 {
context equal (equal greater);
sub 0 right_arrow_double_long_2;
}
}
lookup right_arrow_double_long_1 {
sub greater -> right_arrow_double_long;
}
lookup right_arrow_double_long_2 {
sub equal -> placeholder;
}
lookup left_arrow_double_long {
subtable ignore1 {
ignore context (less) equal (equal equal);
}
subtable ignore2 {
ignore context less (less equal equal);
}
subtable 111 {
context (placeholder placeholder) equal;
sub 0 left_arrow_double_long_1;
}
subtable 222 {
context (placeholder) equal (equal);
sub 0 left_arrow_double_long_2;
}
subtable 333 {
context less (equal equal);
sub 0 left_arrow_double_long_3;
}
}
lookup left_arrow_double_long_1 {
sub equal -> left_arrow_double_long;
}
lookup left_arrow_double_long_2 {
sub equal -> placeholder;
}
lookup left_arrow_double_long_3 {
sub less -> placeholder;
}
lookup slash_equal {
subtable ignore1 {
ignore context (slash) slash (equal);
}
subtable ignore2 {
ignore context slash (equal equal);
}
subtable 111 {
context (placeholder) equal;
sub 0 slash_equal_1;
}
subtable 222 {
context slash (equal);
sub 0 slash_equal_2;
}
}
lookup slash_equal_1 {
sub equal -> slash_equal;
}
lookup slash_equal_2 {
sub slash -> placeholder;
}
lookup bar_equal {
subtable ignore1 {
ignore context (bar) bar (equal);
}
subtable ignore2 {
ignore context bar (equal equal);
}
subtable 111 {
context (placeholder) equal;
sub 0 bar_equal_1;
}
subtable 222 {
context bar (equal);
sub 0 bar_equal_2;
}
}
lookup bar_equal_1 {
sub equal -> bar_equal;
}
lookup bar_equal_2 {
sub bar -> placeholder;
}
lookup less_less {
subtable ignore1 {
ignore context (less) less (less);
}
subtable ignore2 {
ignore context less (less less);
}
subtable ignore3 {
ignore context less (less @var);
}
subtable ignore4 {
ignore context (@var) less (less);
}
subtable 111 {
context (placeholder) less;
sub 0 less_less_1;
}
subtable 222 {
context less (less);
sub 0 less_less_2;
}
}
lookup less_less_1 {
sub less -> less_less;
}
lookup less_less_2 {
sub less -> placeholder;
}
lookup less_less_less {
subtable ignore1 {
ignore context (less) less (less less);
}
subtable ignore2 {
ignore context less (less less less);
}
subtable ignore3 {
ignore context less (less less @var);
}
subtable ignore3 {
ignore context (@var) less (less less);
}
subtable 111 {
context (placeholder placeholder) less;
sub 0 less_less_less_1;
}
subtable 222 {
context (placeholder) less (less);
sub 0 less_less_less_2;
}
subtable 333 {
context less (less less);
sub 0 less_less_less_2;
}
}
lookup less_less_less_1 {
sub less -> less_less_less;
}
lookup less_less_less_2 {
sub less -> placeholder;
}
lookup greater_greater {
subtable ignore1 {
ignore context (greater) greater (greater);
}
subtable ignore2 {
ignore context greater (greater greater);
}
subtable ignore3 {
ignore context greater (greater @var);
}
subtable ignore4 {
ignore context (@var) greater (greater);
}
subtable 111 {
context (placeholder) greater;
sub 0 greater_greater_1;
}
subtable 222 {
context greater (greater);
sub 0 greater_greater_2;
}
}
lookup greater_greater_1 {
sub greater -> greater_greater;
}
lookup greater_greater_2 {
sub greater -> placeholder;
}
lookup greater_greater_greater {
subtable ignore1 {
ignore context (greater) greater (greater greater);
}
subtable ignore2 {
ignore context greater (greater greater greater);
}
subtable ignore3 {
ignore context (@var) greater (greater greater);
}
subtable ignore3 {
ignore context greater (greater greater @var);
}
subtable 111 {
context (placeholder placeholder) greater;
sub 0 greater_greater_greater_1;
}
subtable 222 {
context (placeholder) greater (greater);
sub 0 greater_greater_greater_2;
}
subtable 333 {
context greater (greater greater);
sub 0 greater_greater_greater_2;
}
}
lookup greater_greater_greater_1 {
sub greater -> greater_greater_greater;
}
lookup greater_greater_greater_2 {
sub greater -> placeholder;
}
lookup sharps {
subtable 111 {
context numbersign (numbersign_expand);
sub 0 sharps_1;
}
subtable 222 {
context numbersign (numbersign);
sub 0 sharps_1;
}
}
lookup sharps_1 {
sub numbersign -> numbersign_expand;
}
lookup xml_comment {
subtable 000 {
context (placeholder placeholder placeholder) hyphenminus (placeholder placeholder right_arrow_single_long);
sub 0 xml_comment_1;
}
subtable 111 {
context (placeholder placeholder placeholder) hyphenminus;
sub 0 xml_comment_0;
}
subtable 222 {
context (placeholder placeholder) hyphenminus (hyphenminus);
sub 0 xml_comment_2;
}
subtable 333 {
context (placeholder) exclam (hyphenminus hyphenminus);
sub 0 xml_comment_3;
}
subtable 444 {
context less (exclam hyphenminus hyphenminus);
sub 0 xml_comment_4;
}
}
lookup xml_comment_0 {
sub hyphenminus -> xml_comment_begin;
}
lookup xml_comment_1 {
sub hyphenminus -> xml_comment_empty;
}
lookup xml_comment_2 {
sub hyphenminus -> placeholder;
}
lookup xml_comment_3 {
sub exclam -> placeholder;
}
lookup xml_comment_4 {
sub less -> placeholder;
}
lookup asciitilde_at {
subtable ignore1 {
ignore context (asciitilde) asciitilde (at);
}
subtable ignore2 {
ignore context asciitilde (at at);
}
subtable 111 {
context (placeholder) at;
sub 0 asciitilde_at_1;
}
subtable 222 {
context asciitilde (at);
sub 0 asciitilde_at_2;
}
}
lookup asciitilde_at_1 {
sub at -> asciitilde_at;
}
lookup asciitilde_at_2 {
sub asciitilde -> placeholder;
}
lookup slash_slash {
subtable ignore1 {
ignore context (slash) slash (slash);
}
subtable ignore2 {
ignore context slash (slash slash);
}
subtable 111 {
context (placeholder) slash;
sub 0 slash_slash_1;
}
subtable 222 {
context slash (slash);
sub 0 slash_slash_2;
}
}
lookup slash_slash_1 {
sub slash -> slash_slash;
}
lookup slash_slash_2 {
sub slash -> placeholder;
}
lookup slash_slash_slash {
subtable ignore1 {
ignore context (slash) slash (slash slash);
}
subtable ignore2 {
ignore context slash (slash slash slash);
}
subtable 111 {
context (placeholder placeholder) slash;
sub 0 slash_slash_slash_1;
}
subtable 222 {
context (placeholder) slash (slash);
sub 0 slash_slash_slash_2;
}
subtable 333 {
context slash (slash slash);
sub 0 slash_slash_slash_2;
}
}
lookup slash_slash_slash_1 {
sub slash -> slash_slash_slash;
}
lookup slash_slash_slash_2 {
sub slash -> placeholder;
}
lookup exclam_exclam {
subtable ignore1 {
ignore context (exclam) exclam (exclam);
}
subtable ignore2 {
ignore context exclam (exclam exclam);
}
subtable 111 {
context (placeholder) exclam;
sub 0 exclam_exclam_1;
}
subtable 222 {
context exclam (exclam);
sub 0 exclam_exclam_2;
}
}
lookup exclam_exclam_1 {
sub exclam -> exclam_exclam;
}
lookup exclam_exclam_2 {
sub exclam -> placeholder;
}
lookup bar_bar {
subtable ignore1 {
ignore context (bar) bar (bar);
}
subtable ignore2 {
ignore context bar (bar bar);
}
subtable 111 {
context (placeholder) bar;
sub 0 bar_bar_1;
}
subtable 222 {
context bar (bar);
sub 0 bar_bar_2;
}
}
lookup bar_bar_1 {
sub bar -> bar_bar;
}
lookup bar_bar_2 {
sub bar -> placeholder;
}
lookup question_question {
subtable ignore1 {
ignore context (question) question (question);
}
subtable ignore2 {
ignore context question (question question);
}
subtable 111 {
context (placeholder) question;
sub 0 question_question_1;
}
subtable 222 {
context question (question);
sub 0 question_question_2;
}
}
lookup question_question_1 {
sub question -> question_question;
}
lookup question_question_2 {
sub question -> placeholder;
}
lookup ampersand_ampersand {
subtable ignore1 {
ignore context (ampersand) ampersand (ampersand);
}
subtable ignore2 {
ignore context ampersand (ampersand ampersand);
}
subtable 111 {
context (placeholder) ampersand;
sub 0 ampersand_ampersand_1;
}
subtable 222 {
context ampersand (ampersand);
sub 0 ampersand_ampersand_2;
}
}
lookup ampersand_ampersand_1 {
sub ampersand -> ampersand_ampersand;
}
lookup ampersand_ampersand_2 {
sub ampersand -> placeholder;
}
lookup slash_asterisk {
subtable ignore1 {
ignore context (slash) slash (asterisk);
}
subtable ignore2 {
ignore context (asterisk) slash (asterisk);
}
subtable ignore3 {
ignore context slash (asterisk asterisk);
}
subtable ignore4 {
ignore context slash (asterisk slash);
}
subtable ignore5 {
ignore context slash (asterisk period);
}
subtable 111 {
context (placeholder) asterisk;
sub 0 slash_asterisk_1;
}
subtable 222 {
context slash (asterisk);
sub 0 slash_asterisk_2;
}
}
lookup slash_asterisk_1 {
sub asterisk -> slash_asterisk;
}
lookup slash_asterisk_2 {
sub slash -> placeholder;
}
lookup slash_asterisk_asterisk {
subtable ignore1 {
ignore context (slash) slash (asterisk asterisk);
}
subtable ignore2 {
ignore context (asterisk) slash (asterisk asterisk);
}
subtable ignore3 {
ignore context slash (asterisk asterisk asterisk);
}
subtable ignore4 {
ignore context slash (asterisk asterisk slash);
}
subtable ignore5 {
ignore context slash (asterisk asterisk period);
}
subtable 111 {
context (placeholder placeholder) asterisk;
sub 0 slash_asterisk_asterisk_1;
}
subtable 222 {
context (placeholder) asterisk (asterisk);
sub 0 slash_asterisk_asterisk_2;
}
subtable 333 {
context slash (asterisk asterisk);
sub 0 slash_asterisk_asterisk_3;
}
}
lookup slash_asterisk_asterisk_1 {
sub asterisk -> slash_asterisk_asterisk;
}
lookup slash_asterisk_asterisk_2 {
sub asterisk -> placeholder;
}
lookup slash_asterisk_asterisk_3 {
sub slash -> placeholder;
}
lookup asterisk_slash {
subtable ignore1 {
ignore context (asterisk) asterisk (slash);
}
subtable ignore2 {
ignore context (slash) asterisk (slash);
}
subtable ignore3 {
ignore context asterisk (slash slash);
}
subtable ignore4 {
ignore context asterisk (slash asterisk);
}
subtable 111 {
context (placeholder) slash;
sub 0 asterisk_slash_1;
}
subtable 222 {
context asterisk (slash);
sub 0 asterisk_slash_2;
}
}
lookup asterisk_slash_1 {
sub slash -> asterisk_slash;
}
lookup asterisk_slash_2 {
sub asterisk -> placeholder;
}
lookup plus_plus {
subtable ignore1 {
ignore context (plus) plus (plus);
}
subtable ignore2 {
ignore context plus (plus plus);
}
subtable 111 {
context (placeholder) plus;
sub 0 plus_plus_1;
}
subtable 222 {
context plus (plus);
sub 0 plus_plus_2;
}
}
lookup plus_plus_1 {
sub plus -> plus_plus;
}
lookup plus_plus_2 {
sub plus -> placeholder;
}
lookup plus_plus_plus {
subtable ignore1 {
ignore context (plus) plus (plus plus);
}
subtable ignore2 {
ignore context plus (plus plus plus);
}
subtable 111 {
context (placeholder placeholder) plus;
sub 0 plus_plus_plus_1;
}
subtable 222 {
context (placeholder) plus (plus);
sub 0 plus_plus_plus_2;
}
subtable 333 {
context plus (plus plus);
sub 0 plus_plus_plus_2;
}
}
lookup plus_plus_plus_1 {
sub plus -> plus_plus_plus;
}
lookup plus_plus_plus_2 {
sub plus -> placeholder;
}
lookup period_period {
subtable ignore1 {
ignore context (period) period (period);
}
subtable ignore2 {
ignore context period (period period);
}
subtable 111 {
context (placeholder) period;
sub 0 period_period_1;
}
subtable 222 {
context period (period);
sub 0 period_period_2;
}
}
lookup period_period_1 {
sub period -> period_period;
}
lookup period_period_2 {
sub period -> placeholder;
}
lookup period_period_period {
subtable ignore1 {
ignore context (period) period (period period);
}
subtable ignore2 {
ignore context period (period period period);
}
subtable 111 {
context (placeholder placeholder) period;
sub 0 period_period_period_1;
}
subtable 222 {
context (placeholder) period (period);
sub 0 period_period_period_2;
}
subtable 333 {
context period (period period);
sub 0 period_period_period_2;
}
}
lookup period_period_period_1 {
sub period -> period_period_period;
}
lookup period_period_period_2 {
sub period -> placeholder;
}
lookup numbersign_braceleft {
subtable ignore1 {
ignore context (numbersign) numbersign (braceleft);
}
subtable ignore2 {
ignore context numbersign (braceleft braceleft);
}
subtable 111 {
context (placeholder) braceleft;
sub 0 numbersign_braceleft_1;
}
subtable 222 {
context numbersign (braceleft);
sub 0 numbersign_braceleft_2;
}
}
lookup numbersign_braceleft_1 {
sub braceleft -> numbersign_braceleft;
}
lookup numbersign_braceleft_2 {
sub numbersign -> placeholder;
}
lookup numbersign_bracketleft {
subtable ignore1 {
ignore context (numbersign) numbersign (bracketleft);
}
subtable ignore2 {
ignore context numbersign (bracketleft bracketleft);
}
subtable ignore3 {
ignore context numbersign (bracketleft T);
}
subtable 111 {
context (placeholder) bracketleft;
sub 0 numbersign_bracketleft_1;
}
subtable 222 {
context numbersign (bracketleft);
sub 0 numbersign_bracketleft_2;
}
}
lookup numbersign_bracketleft_1 {
sub bracketleft -> numbersign_bracketleft;
}
lookup numbersign_bracketleft_2 {
sub numbersign -> placeholder;
}
lookup bracketright_numbersign {
subtable ignore1 {
ignore context (bracketright) bracketright (numbersign);
}
subtable ignore2 {
ignore context bracketright (numbersign numbersign);
}
subtable 111 {
context (placeholder) numbersign;
sub 0 bracketright_numbersign_1;
}
subtable 222 {
context bracketright (numbersign);
sub 0 bracketright_numbersign_2;
}
}
lookup bracketright_numbersign_1 {
sub numbersign -> bracketright_numbersign;
}
lookup bracketright_numbersign_2 {
sub bracketright -> placeholder;
}
lookup numbersign_parenleft {
subtable ignore1 {
ignore context (numbersign) numbersign (parenleft);
}
subtable ignore2 {
ignore context numbersign (parenleft parenleft);
}
subtable 111 {
context (placeholder) parenleft;
sub 0 numbersign_parenleft_1;
}
subtable 222 {
context numbersign (parenleft);
sub 0 numbersign_parenleft_2;
}
}
lookup numbersign_parenleft_1 {
sub parenleft -> numbersign_parenleft;
}
lookup numbersign_parenleft_2 {
sub numbersign -> placeholder;
}
lookup tag_todo {
subtable 111 {
context (placeholder placeholder placeholder placeholder placeholder) parenright;
sub 0 tag_todo_1;
}
subtable 222 {
context (placeholder placeholder placeholder placeholder) @o (parenright);
sub 0 tag_todo_2;
}
subtable 333 {
context (placeholder placeholder placeholder) @d (@o parenright);
sub 0 tag_todo_3;
}
subtable 444 {
context (placeholder placeholder) @o (@d @o parenright);
sub 0 tag_todo_2;
}
subtable 555 {
context (placeholder) @t (@o @d @o parenright);
sub 0 tag_todo_4;
}
subtable 666 {
context bracketleft (@t @o @d @o parenright);
sub 0 tag_todo_5;
}
}
lookup tag_todo_alt {
subtable 111 {
context (placeholder placeholder placeholder placeholder placeholder) parenright;
sub 0 tag_todo_1;
}
subtable 222 {
context (placeholder placeholder placeholder placeholder) parenright (parenright);
sub 0 tag_todo_6;
}
subtable 333 {
context (placeholder placeholder placeholder) @o (parenright parenright);
sub 0 tag_todo_2;
}
subtable 444 {
context (placeholder placeholder) @d (@o parenright parenright);
sub 0 tag_todo_3;
}
subtable 555 {
context (placeholder) @o (@d @o parenright parenright);
sub 0 tag_todo_2;
}
subtable 666 {
context @t (@o @d @o parenright parenright);
sub 0 tag_todo_4;
}
}
lookup tag_todo_1 {
sub parenright -> tag_todo;
}
lookup tag_todo_2 {
sub @o -> placeholder;
}
lookup tag_todo_3 {
sub @d -> placeholder;
}
lookup tag_todo_4 {
sub @t -> placeholder;
}
lookup tag_todo_5 {
sub bracketleft -> placeholder;
}
lookup tag_todo_6 {
sub parenright -> placeholder;
}
lookup pure_style {
sub numbersign -> numbersign_alt;
sub dollar -> dollar_alt;
sub percent -> percent_alt;
sub ampersand -> ampersand_alt;
sub at -> at_alt;
sub Q -> q_alt;
sub right_arrow_double -> right_arrow_double_alt;
sub right_arrow_single -> right_arrow_single_alt;
sub left_arrow_single -> left_arrow_single_alt;
sub left_right_arrow_single -> left_right_arrow_single_alt;
sub left_right_arrow_double -> left_right_arrow_double_alt;
sub right_arrow_single_long -> right_arrow_single_long_alt;
sub right_arrow_double_long -> right_arrow_double_long_alt;
sub left_arrow_double_long -> left_arrow_double_long_alt;
sub left_right_arrow_single_long -> left_right_arrow_single_long_alt;
sub left_right_arrow_double_long -> left_right_arrow_double_long_alt;
sub numbersign_expand -> numbersign_expand_alt;
sub ampersand_ampersand -> ampersand_ampersand_alt;
sub asciitilde_at -> asciitilde_at_alt;
sub numbersign_braceleft -> numbersign_braceleft_alt;
sub numbersign_bracketleft -> numbersign_bracketleft_alt;
sub bracketright_numbersign -> bracketright_numbersign_alt;
sub numbersign_parenleft -> numbersign_parenleft_alt;
}
lookup slash_zero {
sub zero -> zero_dot;
}
lookup equal_equal {
subtable ignore1 {
ignore context (equal) equal (equal);
}
subtable ignore3 {
ignore context (exclam) equal (equal);
}
subtable ignore2 {
ignore context equal (equal equal);
}
subtable 111 {
context (placeholder) equal;
sub 0 equal_equal_1;
}
subtable 222 {
context equal (equal);
sub 0 equal_equal_2;
}
}
lookup equal_equal_1 {
sub equal -> equal_equal;
}
lookup equal_equal_2 {
sub equal -> placeholder;
}
lookup equal_equal_equal {
subtable ignore1 {
ignore context (equal) equal (equal equal);
}
subtable ignore1 {
ignore context (exclam) equal (equal equal);
}
subtable ignore2 {
ignore context equal (equal equal equal);
}
subtable 111 {
context (placeholder placeholder) equal;
sub 0 equal_equal_equal_1;
}
subtable 222 {
context (placeholder) equal (equal);
sub 0 equal_equal_equal_2;
}
subtable 333 {
context equal (equal equal);
sub 0 equal_equal_equal_2;
}
}
lookup equal_equal_equal_1 {
sub equal -> equal_equal_equal;
}
lookup equal_equal_equal_2 {
sub equal -> placeholder;
}
lookup not_equal {
subtable ignore1 {
ignore context (exclam) equal (equal);
}
subtable ignore2 {
ignore context exclam (equal equal);
}
subtable 111 {
context (placeholder) equal;
sub 0 not_equal_1;
}
subtable 222 {
context exclam (equal);
sub 0 not_equal_2;
}
}
lookup not_equal_1 {
sub equal -> not_equal;
}
lookup not_equal_2 {
sub exclam -> placeholder;
}
lookup not_equal_equal {
subtable ignore1 {
ignore context (exclam) equal (equal equal);
}
subtable ignore2 {
ignore context exclam (equal equal equal);
}
subtable 111 {
context (placeholder placeholder) equal;
sub 0 not_equal_equal_1;
}
subtable 222 {
context (placeholder) equal (equal);
sub 0 not_equal_equal_2;
}
subtable 333 {
context exclam (equal equal);
sub 0 not_equal_equal_3;
}
}
lookup not_equal_equal_1 {
sub equal -> not_equal_equal;
}
lookup not_equal_equal_2 {
sub equal -> placeholder;
}
lookup not_equal_equal_3 {
sub exclam -> placeholder;
}
lookup tag_info {
subtable 111 {
context (placeholder placeholder placeholder placeholder placeholder) bracketright;
sub 0 tag_info_1;
}
subtable 222 {
context (placeholder placeholder placeholder placeholder) @o (bracketright);
sub 0 tag_info_2;
}
subtable 333 {
context (placeholder placeholder placeholder) @f (@o bracketright);
sub 0 tag_info_3;
}
subtable 444 {
context (placeholder placeholder) @n (@f @o bracketright);
sub 0 tag_info_4;
}
subtable 555 {
context (placeholder) @i (@n @f @o bracketright);
sub 0 tag_info_5;
}
subtable 666 {
context bracketleft (@i @n @f @o bracketright);
sub 0 tag_info_6;
}
}
lookup tag_info_1 {
sub bracketright -> tag_info;
}
lookup tag_info_2 {
sub @o -> placeholder;
}
lookup tag_info_3 {
sub @f -> placeholder;
}
lookup tag_info_4 {
sub @n -> placeholder;
}
lookup tag_info_5 {
sub @i -> placeholder;
}
lookup tag_info_6 {
sub bracketleft -> placeholder;
}
lookup tag_trace {
subtable 111 {
context (placeholder placeholder placeholder placeholder placeholder placeholder) bracketright;
sub 0 tag_trace_1;
}
subtable 222 {
context (placeholder placeholder placeholder placeholder placeholder) @e (bracketright);
sub 0 tag_trace_2;
}
subtable 333 {
context (placeholder placeholder placeholder placeholder) @c (@e bracketright);
sub 0 tag_trace_3;
}
subtable 444 {
context (placeholder placeholder placeholder) @a (@c @e bracketright);
sub 0 tag_trace_4;
}
subtable 555 {
context (placeholder placeholder) @r (@a @c @e bracketright);
sub 0 tag_trace_5;
}
subtable 666 {
context (placeholder) @t (@r @a @c @e bracketright);
sub 0 tag_trace_6;
}
subtable 777 {
context bracketleft (@t @r @a @c @e bracketright);
sub 0 tag_trace_7;
}
}
lookup tag_trace_1 {
sub bracketright -> tag_trace;
}
lookup tag_trace_2 {
sub @e -> placeholder;
}
lookup tag_trace_3 {
sub @c -> placeholder;
}
lookup tag_trace_4 {
sub @a -> placeholder;
}
lookup tag_trace_5 {
sub @r -> placeholder;
}
lookup tag_trace_6 {
sub @t -> placeholder;
}
lookup tag_trace_7 {
sub bracketleft -> placeholder;
}
lookup tag_debug {
subtable 111 {
context (placeholder placeholder placeholder placeholder placeholder placeholder) bracketright;
sub 0 tag_debug_1;
}
subtable 222 {
context (placeholder placeholder placeholder placeholder placeholder) @g (bracketright);
sub 0 tag_debug_2;
}
subtable 333 {
context (placeholder placeholder placeholder placeholder) @u (@g bracketright);
sub 0 tag_debug_3;
}
subtable 444 {
context (placeholder placeholder placeholder) @b (@u @g bracketright);
sub 0 tag_debug_4;
}
subtable 555 {
context (placeholder placeholder) @e (@b @u @g bracketright);
sub 0 tag_debug_5;
}
subtable 666 {
context (placeholder) @d (@e @b @u @g bracketright);
sub 0 tag_debug_6;
}
subtable 777 {
context bracketleft (@d @e @b @u @g bracketright);
sub 0 tag_debug_7;
}
}
lookup tag_debug_1 {
sub bracketright -> tag_debug;
}
lookup tag_debug_2 {
sub @g -> placeholder;
}
lookup tag_debug_3 {
sub @u -> placeholder;
}
lookup tag_debug_4 {
sub @b -> placeholder;
}
lookup tag_debug_5 {
sub @e -> placeholder;
}
lookup tag_debug_6 {
sub @d -> placeholder;
}
lookup tag_debug_7 {
sub bracketleft -> placeholder;
}
lookup tag_warn {
subtable 111 {
context (placeholder placeholder placeholder placeholder placeholder) bracketright;
sub 0 tag_warn_1;
}
subtable 222 {
context (placeholder placeholder placeholder placeholder) @n (bracketright);
sub 0 tag_warn_2;
}
subtable 333 {
context (placeholder placeholder placeholder) @r (@n bracketright);
sub 0 tag_warn_3;
}
subtable 444 {
context (placeholder placeholder) @a (@r @n bracketright);
sub 0 tag_warn_4;
}
subtable 555 {
context (placeholder) @w (@a @r @n bracketright);
sub 0 tag_warn_5;
}
subtable 666 {
context bracketleft (@w @a @r @n bracketright);
sub 0 tag_warn_6;
}
}
lookup tag_warn_1 {
sub bracketright -> tag_warn;
}
lookup tag_warn_2 {
sub @n -> placeholder;
}
lookup tag_warn_3 {
sub @r -> placeholder;
}
lookup tag_warn_4 {
sub @a -> placeholder;
}
lookup tag_warn_5 {
sub @w -> placeholder;
}
lookup tag_warn_6 {
sub bracketleft -> placeholder;
}
lookup tag_error {
subtable 111 {
context (placeholder placeholder placeholder placeholder placeholder placeholder) bracketright;
sub 0 tag_error_1;
}
subtable 222 {
context (placeholder placeholder placeholder placeholder placeholder) @r (bracketright);
sub 0 tag_error_2;
}
subtable 333 {
context (placeholder placeholder placeholder placeholder) @o (@r bracketright);
sub 0 tag_error_3;
}
subtable 444 {
context (placeholder placeholder placeholder) @r (@o @r bracketright);
sub 0 tag_error_2;
}
subtable 555 {
context (placeholder placeholder) @r (@r @o @r bracketright);
sub 0 tag_error_2;
}
subtable 666 {
context (placeholder) @e (@r @r @o @r bracketright);
sub 0 tag_error_4;
}
subtable 777 {
context bracketleft (@e @r @r @o @r bracketright);
sub 0 tag_error_5;
}
}
lookup tag_error_1 {
sub bracketright -> tag_error;
}
lookup tag_error_2 {
sub @r -> placeholder;
}
lookup tag_error_3 {
sub @o -> placeholder;
}
lookup tag_error_4 {
sub @e -> placeholder;
}
lookup tag_error_5 {
sub bracketleft -> placeholder;
}
lookup tag_fatal {
subtable 111 {
context (placeholder placeholder placeholder placeholder placeholder placeholder) bracketright;
sub 0 tag_fatal_1;
}
subtable 222 {
context (placeholder placeholder placeholder placeholder placeholder) @l (bracketright);
sub 0 tag_fatal_2;
}
subtable 333 {
context (placeholder placeholder placeholder placeholder) @a (@l bracketright);
sub 0 tag_fatal_3;
}
subtable 444 {
context (placeholder placeholder placeholder) @t (@a @l bracketright);
sub 0 tag_fatal_4;
}
subtable 555 {
context (placeholder placeholder) @a (@t @a @l bracketright);
sub 0 tag_fatal_3;
}
subtable 666 {
context (placeholder) @f (@a @t @a @l bracketright);
sub 0 tag_fatal_5;
}
subtable 777 {
context bracketleft (@f @a @t @a @l bracketright);
sub 0 tag_fatal_6;
}
}
lookup tag_fatal_1 {
sub bracketright -> tag_fatal;
}
lookup tag_fatal_2 {
sub @l -> placeholder;
}
lookup tag_fatal_3 {
sub @a -> placeholder;
}
lookup tag_fatal_4 {
sub @t -> placeholder;
}
lookup tag_fatal_5 {
sub @f -> placeholder;
}
lookup tag_fatal_6 {
sub bracketleft -> placeholder;
}
lookup tag_vite {
subtable 111 {
context (placeholder placeholder placeholder placeholder placeholder) bracketright;
sub 0 tag_vite_1;
}
subtable 222 {
context (placeholder placeholder placeholder placeholder) @e (bracketright);
sub 0 tag_vite_2;
}
subtable 333 {
context (placeholder placeholder placeholder) @t (@e bracketright);
sub 0 tag_vite_3;
}
subtable 444 {
context (placeholder placeholder) @i (@t @e bracketright);
sub 0 tag_vite_4;
}
subtable 555 {
context (placeholder) @v (@i @t @e bracketright);
sub 0 tag_vite_5;
}
subtable 666 {
context bracketleft (@v @i @t @e bracketright);
sub 0 tag_vite_6;
}
}
lookup tag_vite_1 {
sub bracketright -> tag_vite;
}
lookup tag_vite_2 {
sub @e -> placeholder;
}
lookup tag_vite_3 {
sub @t -> placeholder;
}
lookup tag_vite_4 {
sub @i -> placeholder;
}
lookup tag_vite_5 {
sub @v -> placeholder;
}
lookup tag_vite_6 {
sub bracketleft -> placeholder;
}
lookup alt_i {
sub i -> i_alt;
sub igrave -> igrave_alt;
sub iacute -> iacute_alt;
sub icircumflex -> icircumflex_alt;
sub idieresis -> idieresis_alt;
}
lookup alt_a {
sub a -> a_alt;
sub aacute -> aacute_alt;
sub acircumflex -> acircumflex_alt;
sub adieresis -> adieresis_alt;
sub agrave -> agrave_alt;
sub aring -> aring_alt;
sub atilde -> atilde_alt;
}
lookup at_alt {
sub at -> at_alt_1;
sub at_alt -> at_alt_1;
sub asciitilde_at -> asciitilde_at_alt_1;
sub asciitilde_at_alt -> asciitilde_at_alt_1;
}
lookup underscore_underscore {
subtable ignore1 {
ignore context (underscore) underscore (underscore);
}
subtable ignore2 {
ignore context underscore (underscore underscore);
}
subtable 111 {
context (placeholder) underscore;
sub 0 underscore_underscore_1;
}
subtable 222 {
context underscore (underscore);
sub 0 underscore_underscore_2;
}
}
lookup underscore_underscore_1 {
sub underscore -> underscore_underscore;
}
lookup underscore_underscore_2 {
sub underscore -> placeholder;
}
lookup greater_equal {
subtable ignore1 {
ignore context (greater) greater (equal);
}
subtable ignore2 {
ignore context (greater) equal (equal);
}
subtable 111 {
context (placeholder) equal;
sub 0 greater_equal_1;
}
subtable 222 {
context greater (equal);
sub 0 greater_equal_2;
}
}
lookup greater_equal_1 {
sub equal -> greater_equal;
}
lookup greater_equal_2 {
sub greater -> placeholder;
}
lookup less_equal {
subtable ignore1 {
ignore context (less) greater (equal);
}
subtable ignore2 {
ignore context (less) equal (equal);
}
subtable 111 {
context (placeholder) equal;
sub 0 less_equal_1;
}
subtable 222 {
context less (equal);
sub 0 less_equal_2;
}
}
lookup less_equal_1 {
sub equal -> less_equal;
}
lookup less_equal_2 {
sub less -> placeholder;
}
lookup wave {
subtable ignore1 {
ignore context (asciitilde) asciitilde (asciitilde);
}
subtable ignore2 {
ignore context asciitilde (asciitilde asciitilde);
}
subtable 111 {
context (placeholder) asciitilde;
sub 0 wave_1;
}
subtable 222 {
context asciitilde (asciitilde);
sub 0 wave_2;
}
}
lookup wave_1 {
sub asciitilde -> wave;
}
lookup wave_2 {
sub asciitilde -> placeholder;
}
lookup braceleft_double {
subtable ignore1 {
ignore context (braceleft) braceleft (braceleft);
}
subtable ignore2 {
ignore context braceleft (braceleft braceleft);
}
subtable 111 {
context (placeholder) braceleft;
sub 0 braceleft_double_1;
}
subtable 222 {
context braceleft (braceleft);
sub 0 braceleft_double_2;
}
}
lookup braceleft_double_1 {
sub braceleft -> braceleft_double;
}
lookup braceleft_double_2 {
sub braceleft -> placeholder;
}
lookup braceright_double {
subtable ignore1 {
ignore context (braceright) braceright (braceright);
}
subtable ignore2 {
ignore context braceright (braceright braceright);
}
subtable 111 {
context (placeholder) braceright;
sub 0 braceright_double_1;
}
subtable 222 {
context braceright (braceright);
sub 0 braceright_double_2;
}
}
lookup braceright_double_1 {
sub braceright -> braceright_double;
}
lookup braceright_double_2 {
sub braceright -> placeholder;
}