1
0
Fork 0
mirror of synced 2024-05-17 11:03:33 +12:00

Arbitrary length underscores

This commit is contained in:
Nikita Prokopov 2020-05-14 15:46:47 +02:00
parent 6bb26fc5fc
commit c1c62fd720
5 changed files with 339 additions and 166 deletions

File diff suppressed because one or more lines are too long

View file

@ -48,68 +48,4 @@ lookup arrows {
sub greater' hyphen by greater_start.arw;
sub bar' hyphen by bar_start.arw;
sub hyphen' [hyphen less greater bar] by hyphen_start.arw;
} arrows;
lookup double_arrows {
# Disable |||
ignore sub bar bar' bar equal;
ignore sub bar bar' equal;
ignore sub [equal_start.darw equal_end.darw] bar' bar bar;
# continue hyphen
sub [less_start.darw less_less_start.darw less_middle.darw less_less_middle.darw greater_start.darw greater_greater_start.darw greater_middle.darw greater_greater_middle.darw bar_start.darw bar_bar_start.darw bar_middle.darw bar_bar_middle.darw slash_start.darw slash_middle.darw colon_middle.darw exclam_middle.darw equal_start.darw equal_end.darw] equal' by equal_end.darw;
# double middles
sub [equal_start.darw equal_end.darw] less.spacer less' equal by less_less_middle.darw;
sub [equal_start.darw equal_end.darw] less' less equal by less.spacer;
sub [equal_start.darw equal_end.darw] greater.spacer greater' equal by greater_greater_middle.darw;
sub [equal_start.darw equal_end.darw] greater' greater equal by greater.spacer;
sub [equal_start.darw equal_end.darw] bar.spacer bar' equal by bar_bar_middle.darw;
sub [equal_start.darw equal_end.darw] bar' bar equal by bar.spacer;
# single middles
sub [equal_start.darw equal_end.darw] less' equal by less_middle.darw;
sub [equal_start.darw equal_end.darw] greater' equal by greater_middle.darw;
sub [equal_start.darw equal_end.darw] bar' equal by bar_middle.darw;
sub [equal_start.darw equal_end.darw] slash' equal by slash_middle.darw;
sub [equal_start.darw equal_end.darw] colon' equal by colon_middle.darw;
sub [equal_start.darw equal_end.darw] exclam' equal by exclam_middle.darw;
# double ends
sub [equal_start.darw equal_end.darw] less.spacer less' by less_less_end.darw;
sub [equal_start.darw equal_end.darw] less' less by less.spacer;
sub [equal_start.darw equal_end.darw] greater.spacer greater' by greater_greater_end.darw;
sub [equal_start.darw equal_end.darw] greater' greater by greater.spacer;
sub [equal_start.darw equal_end.darw] bar.spacer bar' by bar_bar_end.darw;
sub [equal_start.darw equal_end.darw] bar' bar by bar.spacer;
# single ends
sub [equal_start.darw equal_end.darw] less' by less_end.darw;
sub [equal_start.darw equal_end.darw] greater' by greater_end.darw;
sub [equal_start.darw equal_end.darw] bar' by bar_end.darw;
sub [equal_start.darw equal_end.darw] slash' by slash_end.darw;
# double beginnings
sub less.spacer less' equal by less_less_start.darw;
sub less' less equal by less.spacer;
sub greater.spacer greater' equal by greater_greater_start.darw;
sub greater' greater equal by greater.spacer;
sub bar.spacer bar' equal by bar_bar_start.darw;
sub bar' bar equal by bar.spacer;
# Disable >=< #548
sub greater' equal less [equal less] by greater_start.darw;
ignore sub greater' equal less;
# Disable =< #479 #468 #424 #406 #355 #305
sub equal' less [equal less] by equal_start.darw;
ignore sub equal' less;
# single beginnings
sub less' equal by less_start.darw;
sub greater' equal by greater_start.darw;
sub bar' equal by bar_start.darw;
sub slash' equal by slash_start.darw;
sub equal' [equal less greater bar colon exclam slash] by equal_start.darw;
} double_arrows;
} arrows;

View file

@ -0,0 +1,63 @@
lookup double_arrows {
# Disable |||
ignore sub bar bar' bar equal;
ignore sub bar bar' equal;
ignore sub [equal_start.darw equal_end.darw] bar' bar bar;
# continue hyphen
sub [less_start.darw less_less_start.darw less_middle.darw less_less_middle.darw greater_start.darw greater_greater_start.darw greater_middle.darw greater_greater_middle.darw bar_start.darw bar_bar_start.darw bar_middle.darw bar_bar_middle.darw slash_start.darw slash_middle.darw colon_middle.darw exclam_middle.darw equal_start.darw equal_end.darw] equal' by equal_end.darw;
# double middles
sub [equal_start.darw equal_end.darw] less.spacer less' equal by less_less_middle.darw;
sub [equal_start.darw equal_end.darw] less' less equal by less.spacer;
sub [equal_start.darw equal_end.darw] greater.spacer greater' equal by greater_greater_middle.darw;
sub [equal_start.darw equal_end.darw] greater' greater equal by greater.spacer;
sub [equal_start.darw equal_end.darw] bar.spacer bar' equal by bar_bar_middle.darw;
sub [equal_start.darw equal_end.darw] bar' bar equal by bar.spacer;
# single middles
sub [equal_start.darw equal_end.darw] less' equal by less_middle.darw;
sub [equal_start.darw equal_end.darw] greater' equal by greater_middle.darw;
sub [equal_start.darw equal_end.darw] bar' equal by bar_middle.darw;
sub [equal_start.darw equal_end.darw] slash' equal by slash_middle.darw;
sub [equal_start.darw equal_end.darw] colon' equal by colon_middle.darw;
sub [equal_start.darw equal_end.darw] exclam' equal by exclam_middle.darw;
# double ends
sub [equal_start.darw equal_end.darw] less.spacer less' by less_less_end.darw;
sub [equal_start.darw equal_end.darw] less' less by less.spacer;
sub [equal_start.darw equal_end.darw] greater.spacer greater' by greater_greater_end.darw;
sub [equal_start.darw equal_end.darw] greater' greater by greater.spacer;
sub [equal_start.darw equal_end.darw] bar.spacer bar' by bar_bar_end.darw;
sub [equal_start.darw equal_end.darw] bar' bar by bar.spacer;
# single ends
sub [equal_start.darw equal_end.darw] less' by less_end.darw;
sub [equal_start.darw equal_end.darw] greater' by greater_end.darw;
sub [equal_start.darw equal_end.darw] bar' by bar_end.darw;
sub [equal_start.darw equal_end.darw] slash' by slash_end.darw;
# double beginnings
sub less.spacer less' equal by less_less_start.darw;
sub less' less equal by less.spacer;
sub greater.spacer greater' equal by greater_greater_start.darw;
sub greater' greater equal by greater.spacer;
sub bar.spacer bar' equal by bar_bar_start.darw;
sub bar' bar equal by bar.spacer;
# Disable >=< #548
sub greater' equal less [equal less] by greater_start.darw;
ignore sub greater' equal less;
# Disable =< #479 #468 #424 #406 #355 #305
sub equal' less [equal less] by equal_start.darw;
ignore sub equal' less;
# single beginnings
sub less' equal by less_start.darw;
sub greater' equal by greater_start.darw;
sub bar' equal by bar_start.darw;
sub slash' equal by slash_start.darw;
sub equal' [equal less greater bar colon exclam slash] by equal_start.darw;
} double_arrows;

View file

@ -0,0 +1,8 @@
lookup underscore_arrows {
sub [underscore_start.uarw underscore_middle.uarw] bar' underscore by bar_middle.uarw;
sub [underscore_start.uarw underscore_middle.uarw bar_middle.uarw] underscore' bar underscore by underscore_middle.uarw;
sub [underscore_start.uarw underscore_middle.uarw bar_middle.uarw] underscore' underscore by underscore_middle.uarw;
sub [underscore_start.uarw underscore_middle.uarw bar_middle.uarw] underscore' by underscore_end.uarw;
sub underscore' bar underscore by underscore_start.uarw;
sub underscore' underscore by underscore_start.uarw;
} underscore_arrows;

View file

@ -116,7 +116,7 @@ r 0 123456789 & && $ <$ <$> $> @ <= >=
|==== |===< |==<< |===> |==>> |===| |==|| |===/ ==|==
||=== ||==< ||=<< ||==> ||=>> ||==| ||=|| ||==/ =||=
/==== /===< /==<< /===> /==>> /===| /==|| /===/ ==/==
|==<==<<==>>==>==|==||==/==|
|==<==<<==>>==>==|==||==/==:==!==|
.= ..= := ::= != !== ?= #= ^=
=:= =!= =/= >=:=> <=!=< |=/=| >>=:=!=/=>>
/= /== //= //== //=== ///= ///== ///===
@ -128,4 +128,7 @@ r 0 123456789 & && $ <$ <$> $> @ <= >=
:>= <||>
<<<=<<< <<<==<<< <<<===<<< <<<====<<<
>>>=>>> >>>==>>> >>>===>>> >>>====>>>
|||=||| |||==||| |||===||| |||====|||
|||=||| |||==||| |||===||| |||====|||
_ __ ___ ____ _|_ __|_ _|__ __|__
_| |_ _||_ __| ___| |__ |___