From 436e4f63070bc414f7c1f01ae87e416691e891d1 Mon Sep 17 00:00:00 2001 From: Nikita Prokopov Date: Mon, 2 Sep 2019 21:04:40 +0300 Subject: [PATCH] Removed ..= (closes #757) --- CHANGELOG.md | 3 +- FiraCode.glyphs | 181 ++++++++++++++++++++--------------------- clojure/glyphs.clj | 16 +++- clojure/regen_calt.clj | 1 + 4 files changed, 105 insertions(+), 96 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 7f4125a..fb083ac 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -48,12 +48,13 @@ All notable changes to this project will be documented in this file. - U+2387 Alternative Key Symbol `⎇` - U+238B Broken Circle with Northwest Arrow (Escape) `⎋` - U+23CF Eject symbol `⏏` -- Added Coq logical and ` /\ ` and logical or ` \/ ` ligatures, U+2227 `∧` and U+2228 `∨` [#738] +- Added Coq logical and ` /\ ` and logical or ` \/ ` ligatures, U+2227 `∧` and U+2228 `∨` [#191] [#488] [#738] [#810] - Added SystemVerilog `|->` `|=>` and `<-|` `<=|` for symmetry [#695] - Added Forces `||-` ligature and U+22A2..U+22AF `⊢ ⊣ ⊤ ⊥ ⊦ ⊧ ⊨ ⊩ ⊪ ⊫ ⊬ ⊭ ⊮ ⊯` [#709] - Tuned `fl` and `fi` pairs [#795] - Disabled ligatures after regexp lookahead/lookbehinds `(?<=<` `(?<=>` `(?<==>` `(?<=|` `(?<==` `(?=:=` `(?=!=` `(?==` `(?===` `(?==>` `(?=>` `(?=>>` `(?=<<` `(?=/=` `(?!!` `(?!!.` `(?!=` `(?!==` `(?;\012"; name = cpsp; }, { -code = "### start of generated calt\012lookup bar_bar_bar_greater {\012 ignore sub bar bar' bar bar greater;\012 ignore sub bar' bar bar greater greater;\012 sub LIG LIG LIG greater' by bar_bar_bar_greater.liga;\012 sub LIG LIG bar' greater by LIG;\012 sub LIG bar' bar greater by LIG;\012 sub bar' bar bar greater by LIG;\012} bar_bar_bar_greater;\012\012lookup less_bar_bar_bar {\012 ignore sub less less' bar bar bar;\012 ignore sub less' bar bar bar bar;\012 sub LIG LIG LIG bar' by less_bar_bar_bar.liga;\012 sub LIG LIG bar' bar by LIG;\012 sub LIG bar' bar bar by LIG;\012 sub less' bar bar bar by LIG;\012} less_bar_bar_bar;\012\012lookup less_equal_equal_greater {\012 ignore sub less less' equal equal greater;\012 ignore sub less' equal equal greater greater;\012 ignore sub parenleft question less' equal equal greater;\012 sub LIG LIG LIG greater' by less_equal_equal_greater.liga;\012 sub LIG LIG equal' greater by LIG;\012 sub LIG equal' equal greater by LIG;\012 sub less' equal equal greater by LIG;\012} less_equal_equal_greater;\012\012lookup less_exclam_hyphen_hyphen {\012 ignore sub less less' exclam hyphen hyphen;\012 ignore sub less' exclam hyphen hyphen hyphen;\012 ignore sub parenleft question less' exclam hyphen hyphen;\012 sub LIG LIG LIG hyphen' by less_exclam_hyphen_hyphen.liga;\012 sub LIG LIG hyphen' hyphen by LIG;\012 sub LIG exclam' hyphen hyphen by LIG;\012 sub less' exclam hyphen hyphen by LIG;\012} less_exclam_hyphen_hyphen;\012\012lookup numbersign_numbersign_numbersign_numbersign {\012 ignore sub numbersign numbersign' numbersign numbersign numbersign;\012 ignore sub numbersign' numbersign numbersign numbersign numbersign;\012 sub LIG LIG LIG numbersign' by numbersign_numbersign_numbersign_numbersign.liga;\012 sub LIG LIG numbersign' numbersign by LIG;\012 sub LIG numbersign' numbersign numbersign by LIG;\012 sub numbersign' numbersign numbersign numbersign by LIG;\012} numbersign_numbersign_numbersign_numbersign;\012\012lookup asciitilde_asciitilde_greater {\012 ignore sub asciitilde asciitilde' asciitilde greater;\012 ignore sub asciitilde' asciitilde greater greater;\012 sub LIG LIG greater' by asciitilde_asciitilde_greater.liga;\012 sub LIG asciitilde' greater by LIG;\012 sub asciitilde' asciitilde greater by LIG;\012} asciitilde_asciitilde_greater;\012\012lookup asterisk_asterisk_asterisk {\012 ignore sub asterisk asterisk' asterisk asterisk;\012 ignore sub asterisk' asterisk asterisk asterisk;\012 ignore sub slash asterisk' asterisk asterisk;\012 ignore sub asterisk' asterisk asterisk slash;\012 sub LIG LIG asterisk' by asterisk_asterisk_asterisk.liga;\012 sub LIG asterisk' asterisk by LIG;\012 sub asterisk' asterisk asterisk by LIG;\012} asterisk_asterisk_asterisk;\012\012lookup bar_bar_equal {\012 ignore sub bar bar' bar equal;\012 ignore sub bar' bar equal equal;\012 sub LIG LIG equal' by bar_bar_equal.liga;\012 sub LIG bar' equal by LIG;\012 sub bar' bar equal by LIG;\012} bar_bar_equal;\012\012lookup bar_bar_greater {\012 ignore sub bar bar' bar greater;\012 ignore sub bar' bar greater greater;\012 ignore sub less bar' bar greater;\012 sub LIG LIG greater' by bar_bar_greater.liga;\012 sub LIG bar' greater by LIG;\012 sub bar' bar greater by LIG;\012} bar_bar_greater;\012\012lookup bar_bar_hyphen {\012 ignore sub bar bar' bar hyphen;\012 ignore sub bar' bar hyphen hyphen;\012 sub LIG LIG hyphen' by bar_bar_hyphen.liga;\012 sub LIG bar' hyphen by LIG;\012 sub bar' bar hyphen by LIG;\012} bar_bar_hyphen;\012\012lookup bar_equal_greater {\012 ignore sub bar bar' equal greater;\012 ignore sub bar' equal greater greater;\012 sub LIG LIG greater' by bar_equal_greater.liga;\012 sub LIG equal' greater by LIG;\012 sub bar' equal greater by LIG;\012} bar_equal_greater;\012\012lookup bar_hyphen_greater {\012 ignore sub bar bar' hyphen greater;\012 ignore sub bar' hyphen greater greater;\012 sub LIG LIG greater' by bar_hyphen_greater.liga;\012 sub LIG hyphen' greater by LIG;\012 sub bar' hyphen greater by LIG;\012} bar_hyphen_greater;\012\012lookup colon_colon_colon {\012 ignore sub colon colon' colon colon;\012 ignore sub colon' colon colon colon;\012 ignore sub parenleft question colon' colon colon;\012 sub LIG LIG colon' by colon_colon_colon.liga;\012 sub LIG colon' colon by LIG;\012 sub colon' colon colon by LIG;\012} colon_colon_colon;\012\012lookup colon_colon_equal {\012 ignore sub colon colon' colon equal;\012 ignore sub colon' colon equal equal;\012 ignore sub parenleft question colon' colon equal;\012 sub LIG LIG equal' by colon_colon_equal.liga;\012 sub LIG colon' equal by LIG;\012 sub colon' colon equal by LIG;\012} colon_colon_equal;\012\012lookup equal_colon_equal {\012 ignore sub equal equal' colon equal;\012 ignore sub equal' colon equal equal;\012 ignore sub parenleft question equal' colon equal;\012 ignore sub parenleft question less equal' colon equal;\012 sub LIG LIG equal' by equal_colon_equal.liga;\012 sub LIG colon' equal by LIG;\012 sub equal' colon equal by LIG;\012} equal_colon_equal;\012\012lookup equal_equal_equal {\012 ignore sub equal equal' equal equal;\012 ignore sub equal' equal equal equal;\012 ignore sub parenleft question equal' equal equal;\012 ignore sub parenleft question less equal' equal equal;\012 sub LIG LIG equal' by equal_equal_equal.liga;\012 sub LIG equal' equal by LIG;\012 sub equal' equal equal by LIG;\012} equal_equal_equal;\012\012lookup equal_equal_greater {\012 ignore sub equal equal' equal greater;\012 ignore sub equal' equal greater greater;\012 ignore sub parenleft question equal' equal greater;\012 ignore sub parenleft question less equal' equal greater;\012 sub LIG LIG greater' by equal_equal_greater.liga;\012 sub LIG equal' greater by LIG;\012 sub equal' equal greater by LIG;\012} equal_equal_greater;\012\012lookup equal_exclam_equal {\012 ignore sub equal equal' exclam equal;\012 ignore sub equal' exclam equal equal;\012 ignore sub parenleft question equal' exclam equal;\012 ignore sub parenleft question less equal' exclam equal;\012 sub LIG LIG equal' by equal_exclam_equal.liga;\012 sub LIG exclam' equal by LIG;\012 sub equal' exclam equal by LIG;\012} equal_exclam_equal;\012\012lookup equal_greater_greater {\012 ignore sub equal equal' greater greater;\012 ignore sub equal' greater greater greater;\012 ignore sub parenleft question equal' greater greater;\012 ignore sub parenleft question less equal' greater greater;\012 sub LIG LIG greater' by equal_greater_greater.liga;\012 sub LIG greater' greater by LIG;\012 sub equal' greater greater by LIG;\012} equal_greater_greater;\012\012lookup equal_less_less {\012 ignore sub equal equal' less less;\012 ignore sub equal' less less less;\012 ignore sub parenleft question equal' less less;\012 ignore sub parenleft question less equal' less less;\012 sub LIG LIG less' by equal_less_less.liga;\012 sub LIG less' less by LIG;\012 sub equal' less less by LIG;\012} equal_less_less;\012\012lookup equal_slash_equal {\012 ignore sub equal equal' slash equal;\012 ignore sub equal' slash equal equal;\012 ignore sub parenleft question equal' slash equal;\012 ignore sub parenleft question less equal' slash equal;\012 sub LIG LIG equal' by equal_slash_equal.liga;\012 sub LIG slash' equal by LIG;\012 sub equal' slash equal by LIG;\012} equal_slash_equal;\012\012lookup exclam_equal_equal {\012 ignore sub exclam exclam' equal equal;\012 ignore sub exclam' equal equal equal;\012 ignore sub parenleft question exclam' equal equal;\012 ignore sub parenleft question less exclam' equal equal;\012 sub LIG LIG equal' by exclam_equal_equal.liga;\012 sub LIG equal' equal by LIG;\012 sub exclam' equal equal by LIG;\012} exclam_equal_equal;\012\012lookup exclam_exclam_period {\012 ignore sub exclam exclam' exclam period;\012 ignore sub exclam' exclam period period;\012 ignore sub parenleft question exclam' exclam period;\012 ignore sub parenleft question less exclam' exclam period;\012 sub LIG LIG period' by exclam_exclam_period.liga;\012 sub LIG exclam' period by LIG;\012 sub exclam' exclam period by LIG;\012} exclam_exclam_period;\012\012lookup greater_equal_greater {\012 ignore sub greater greater' equal greater;\012 ignore sub greater' equal greater greater;\012 sub LIG LIG greater' by greater_equal_greater.liga;\012 sub LIG equal' greater by LIG;\012 sub greater' equal greater by LIG;\012} greater_equal_greater;\012\012lookup greater_greater_equal {\012 ignore sub greater greater' greater equal;\012 ignore sub greater' greater equal equal;\012 sub LIG LIG equal' by greater_greater_equal.liga;\012 sub LIG greater' equal by LIG;\012 sub greater' greater equal by LIG;\012} greater_greater_equal;\012\012lookup greater_greater_greater {\012 ignore sub greater greater' greater greater;\012 ignore sub greater' greater greater greater;\012 ignore sub asterisk greater' greater greater;\012 ignore sub plus greater' greater greater;\012 ignore sub dollar greater' greater greater;\012 sub LIG LIG greater' by greater_greater_greater.liga;\012 sub LIG greater' greater by LIG;\012 sub greater' greater greater by LIG;\012} greater_greater_greater;\012\012lookup greater_greater_hyphen {\012 ignore sub greater greater' greater hyphen;\012 ignore sub greater' greater hyphen hyphen;\012 sub LIG LIG hyphen' by greater_greater_hyphen.liga;\012 sub LIG greater' hyphen by LIG;\012 sub greater' greater hyphen by LIG;\012} greater_greater_hyphen;\012\012lookup greater_hyphen_greater {\012 ignore sub greater greater' hyphen greater;\012 ignore sub greater' hyphen greater greater;\012 sub LIG LIG greater' by greater_hyphen_greater.liga;\012 sub LIG hyphen' greater by LIG;\012 sub greater' hyphen greater by LIG;\012} greater_hyphen_greater;\012\012lookup hyphen_greater_greater {\012 ignore sub hyphen hyphen' greater greater;\012 ignore sub hyphen' greater greater greater;\012 sub LIG LIG greater' by hyphen_greater_greater.liga;\012 sub LIG greater' greater by LIG;\012 sub hyphen' greater greater by LIG;\012} hyphen_greater_greater;\012\012lookup hyphen_hyphen_greater {\012 ignore sub hyphen hyphen' hyphen greater;\012 ignore sub hyphen' hyphen greater greater;\012 sub LIG LIG greater' by hyphen_hyphen_greater.liga;\012 sub LIG hyphen' greater by LIG;\012 sub hyphen' hyphen greater by LIG;\012} hyphen_hyphen_greater;\012\012lookup hyphen_hyphen_hyphen {\012 ignore sub hyphen hyphen' hyphen hyphen;\012 ignore sub hyphen' hyphen hyphen hyphen;\012 sub LIG LIG hyphen' by hyphen_hyphen_hyphen.liga;\012 sub LIG hyphen' hyphen by LIG;\012 sub hyphen' hyphen hyphen by LIG;\012} hyphen_hyphen_hyphen;\012\012lookup hyphen_less_less {\012 ignore sub hyphen hyphen' less less;\012 ignore sub hyphen' less less less;\012 sub LIG LIG less' by hyphen_less_less.liga;\012 sub LIG less' less by LIG;\012 sub hyphen' less less by LIG;\012} hyphen_less_less;\012\012lookup less_asciitilde_asciitilde {\012 ignore sub less less' asciitilde asciitilde;\012 ignore sub less' asciitilde asciitilde asciitilde;\012 sub LIG LIG asciitilde' by less_asciitilde_asciitilde.liga;\012 sub LIG asciitilde' asciitilde by LIG;\012 sub less' asciitilde asciitilde by LIG;\012} less_asciitilde_asciitilde;\012\012lookup less_asciitilde_greater {\012 ignore sub less less' asciitilde greater;\012 ignore sub less' asciitilde greater greater;\012 sub LIG LIG greater' by less_asciitilde_greater.liga;\012 sub LIG asciitilde' greater by LIG;\012 sub less' asciitilde greater by LIG;\012} less_asciitilde_greater;\012\012lookup less_asterisk_greater {\012 sub LIG LIG greater' by less_asterisk_greater.liga;\012 sub LIG asterisk' greater by LIG;\012 sub less' asterisk greater by LIG;\012} less_asterisk_greater;\012\012lookup less_bar_bar {\012 ignore sub less less' bar bar;\012 ignore sub less' bar bar bar;\012 ignore sub less' bar bar greater;\012 sub LIG LIG bar' by less_bar_bar.liga;\012 sub LIG bar' bar by LIG;\012 sub less' bar bar by LIG;\012} less_bar_bar;\012\012lookup less_bar_greater {\012 ignore sub less less' bar greater;\012 ignore sub less' bar greater greater;\012 sub LIG LIG greater' by less_bar_greater.liga;\012 sub LIG bar' greater by LIG;\012 sub less' bar greater by LIG;\012} less_bar_greater;\012\012lookup less_dollar_greater {\012 sub LIG LIG greater' by less_dollar_greater.liga;\012 sub LIG dollar' greater by LIG;\012 sub less' dollar greater by LIG;\012} less_dollar_greater;\012\012lookup less_equal_bar {\012 ignore sub less less' equal bar;\012 ignore sub less' equal bar bar;\012 ignore sub parenleft question less' equal bar;\012 sub LIG LIG bar' by less_equal_bar.liga;\012 sub LIG equal' bar by LIG;\012 sub less' equal bar by LIG;\012} less_equal_bar;\012\012lookup less_equal_equal {\012 ignore sub less less' equal equal;\012 ignore sub less' equal equal equal;\012 ignore sub parenleft question less' equal equal;\012 sub LIG LIG equal' by less_equal_equal.liga;\012 sub LIG equal' equal by LIG;\012 sub less' equal equal by LIG;\012} less_equal_equal;\012\012lookup less_equal_greater {\012 ignore sub less less' equal greater;\012 ignore sub less' equal greater greater;\012 ignore sub parenleft question less' equal greater;\012 sub LIG LIG greater' by less_equal_greater.liga;\012 sub LIG equal' greater by LIG;\012 sub less' equal greater by LIG;\012} less_equal_greater;\012\012lookup less_equal_less {\012 ignore sub less less' equal less;\012 ignore sub less' equal less less;\012 ignore sub parenleft question less' equal less;\012 sub LIG LIG less' by less_equal_less.liga;\012 sub LIG equal' less by LIG;\012 sub less' equal less by LIG;\012} less_equal_less;\012\012lookup less_hyphen_bar {\012 ignore sub less less' hyphen bar;\012 ignore sub less' hyphen bar bar;\012 sub LIG LIG bar' by less_hyphen_bar.liga;\012 sub LIG hyphen' bar by LIG;\012 sub less' hyphen bar by LIG;\012} less_hyphen_bar;\012\012lookup less_hyphen_greater {\012 ignore sub less less' hyphen greater;\012 ignore sub less' hyphen greater greater;\012 sub LIG LIG greater' by less_hyphen_greater.liga;\012 sub LIG hyphen' greater by LIG;\012 sub less' hyphen greater by LIG;\012} less_hyphen_greater;\012\012lookup less_hyphen_hyphen {\012 ignore sub less less' hyphen hyphen;\012 ignore sub less' hyphen hyphen hyphen;\012 sub LIG LIG hyphen' by less_hyphen_hyphen.liga;\012 sub LIG hyphen' hyphen by LIG;\012 sub less' hyphen hyphen by LIG;\012} less_hyphen_hyphen;\012\012lookup less_hyphen_less {\012 ignore sub less less' hyphen less;\012 ignore sub less' hyphen less less;\012 sub LIG LIG less' by less_hyphen_less.liga;\012 sub LIG hyphen' less by LIG;\012 sub less' hyphen less by LIG;\012} less_hyphen_less;\012\012lookup less_less_equal {\012 ignore sub less less' less equal;\012 ignore sub less' less equal equal;\012 sub LIG LIG equal' by less_less_equal.liga;\012 sub LIG less' equal by LIG;\012 sub less' less equal by LIG;\012} less_less_equal;\012\012lookup less_less_hyphen {\012 ignore sub less less' less hyphen;\012 ignore sub less' less hyphen hyphen;\012 sub LIG LIG hyphen' by less_less_hyphen.liga;\012 sub LIG less' hyphen by LIG;\012 sub less' less hyphen by LIG;\012} less_less_hyphen;\012\012lookup less_less_less {\012 ignore sub less less' less less;\012 ignore sub less' less less less;\012 ignore sub less' less less asterisk;\012 ignore sub less' less less plus;\012 ignore sub less' less less dollar;\012 sub LIG LIG less' by less_less_less.liga;\012 sub LIG less' less by LIG;\012 sub less' less less by LIG;\012} less_less_less;\012\012lookup less_plus_greater {\012 sub LIG LIG greater' by less_plus_greater.liga;\012 sub LIG plus' greater by LIG;\012 sub less' plus greater by LIG;\012} less_plus_greater;\012\012lookup less_slash_greater {\012 ignore sub less less' slash greater;\012 ignore sub less' slash greater greater;\012 sub LIG LIG greater' by less_slash_greater.liga;\012 sub LIG slash' greater by LIG;\012 sub less' slash greater by LIG;\012} less_slash_greater;\012\012lookup numbersign_numbersign_numbersign {\012 ignore sub numbersign numbersign' numbersign numbersign;\012 ignore sub numbersign' numbersign numbersign numbersign;\012 sub LIG LIG numbersign' by numbersign_numbersign_numbersign.liga;\012 sub LIG numbersign' numbersign by LIG;\012 sub numbersign' numbersign numbersign by LIG;\012} numbersign_numbersign_numbersign;\012\012lookup numbersign_underscore_parenleft {\012 ignore sub numbersign numbersign' underscore parenleft;\012 ignore sub numbersign' underscore parenleft parenleft;\012 sub LIG LIG parenleft' by numbersign_underscore_parenleft.liga;\012 sub LIG underscore' parenleft by LIG;\012 sub numbersign' underscore parenleft by LIG;\012} numbersign_underscore_parenleft;\012\012lookup period_period_equal {\012 ignore sub period period' period equal;\012 ignore sub period' period equal equal;\012 sub LIG LIG equal' by period_period_equal.liga;\012 sub LIG period' equal by LIG;\012 sub period' period equal by LIG;\012} period_period_equal;\012\012lookup period_period_less {\012 ignore sub period period' period less;\012 ignore sub period' period less less;\012 sub LIG LIG less' by period_period_less.liga;\012 sub LIG period' less by LIG;\012 sub period' period less by LIG;\012} period_period_less;\012\012lookup period_period_period {\012 ignore sub period period' period period;\012 ignore sub period' period period period;\012 sub LIG LIG period' by period_period_period.liga;\012 sub LIG period' period by LIG;\012 sub period' period period by LIG;\012} period_period_period;\012\012lookup plus_plus_plus {\012 ignore sub plus plus' plus plus;\012 ignore sub plus' plus plus plus;\012 sub LIG LIG plus' by plus_plus_plus.liga;\012 sub LIG plus' plus by LIG;\012 sub plus' plus plus by LIG;\012} plus_plus_plus;\012\012lookup slash_equal_equal {\012 ignore sub slash slash' equal equal;\012 ignore sub slash' equal equal equal;\012 sub LIG LIG equal' by slash_equal_equal.liga;\012 sub LIG equal' equal by LIG;\012 sub slash' equal equal by LIG;\012} slash_equal_equal;\012\012lookup slash_slash_slash {\012 ignore sub slash slash' slash slash;\012 ignore sub slash' slash slash slash;\012 sub LIG LIG slash' by slash_slash_slash.liga;\012 sub LIG slash' slash by LIG;\012 sub slash' slash slash by LIG;\012} slash_slash_slash;\012\012lookup underscore_bar_underscore {\012 ignore sub underscore underscore' bar underscore;\012 ignore sub underscore' bar underscore underscore;\012 sub LIG LIG underscore' by underscore_bar_underscore.liga;\012 sub LIG bar' underscore by LIG;\012 sub underscore' bar underscore by LIG;\012} underscore_bar_underscore;\012\012lookup w_w_w {\012 ignore sub w w' w w;\012 ignore sub w' w w w;\012 sub LIG LIG w' by w_w_w.liga;\012 sub LIG w' w by LIG;\012 sub w' w w by LIG;\012} w_w_w;\012\012lookup ampersand_ampersand {\012 ignore sub ampersand ampersand' ampersand;\012 ignore sub ampersand' ampersand ampersand;\012 sub LIG ampersand' by ampersand_ampersand.liga;\012 sub ampersand' ampersand by LIG;\012} ampersand_ampersand;\012\012lookup asciicircum_equal {\012 ignore sub asciicircum asciicircum' equal;\012 ignore sub asciicircum' equal equal;\012 sub LIG equal' by asciicircum_equal.liga;\012 sub asciicircum' equal by LIG;\012} asciicircum_equal;\012\012lookup asciitilde_asciitilde {\012 ignore sub asciitilde asciitilde' asciitilde;\012 ignore sub asciitilde' asciitilde asciitilde;\012 sub LIG asciitilde' by asciitilde_asciitilde.liga;\012 sub asciitilde' asciitilde by LIG;\012} asciitilde_asciitilde;\012\012lookup asciitilde_at {\012 ignore sub asciitilde asciitilde' at;\012 ignore sub asciitilde' at at;\012 sub LIG at' by asciitilde_at.liga;\012 sub asciitilde' at by LIG;\012} asciitilde_at;\012\012lookup asciitilde_equal {\012 ignore sub asciitilde asciitilde' equal;\012 ignore sub asciitilde' equal equal;\012 sub LIG equal' by asciitilde_equal.liga;\012 sub asciitilde' equal by LIG;\012} asciitilde_equal;\012\012lookup asciitilde_greater {\012 ignore sub asciitilde asciitilde' greater;\012 ignore sub asciitilde' greater greater;\012 sub LIG greater' by asciitilde_greater.liga;\012 sub asciitilde' greater by LIG;\012} asciitilde_greater;\012\012lookup asciitilde_hyphen {\012 ignore sub asciitilde asciitilde' hyphen;\012 ignore sub asciitilde' hyphen hyphen;\012 sub LIG hyphen' by asciitilde_hyphen.liga;\012 sub asciitilde' hyphen by LIG;\012} asciitilde_hyphen;\012\012lookup asterisk_asterisk {\012 ignore sub asterisk asterisk' asterisk;\012 ignore sub asterisk' asterisk asterisk;\012 ignore sub slash asterisk' asterisk;\012 ignore sub asterisk' asterisk slash;\012 sub LIG asterisk' by asterisk_asterisk.liga;\012 sub asterisk' asterisk by LIG;\012} asterisk_asterisk;\012\012lookup asterisk_greater {\012 ignore sub asterisk asterisk' greater;\012 ignore sub asterisk' greater greater;\012 sub LIG greater' by asterisk_greater.liga;\012 sub asterisk' greater by LIG;\012} asterisk_greater;\012\012lookup asterisk_slash {\012 ignore sub asterisk asterisk' slash;\012 ignore sub asterisk' slash slash;\012 ignore sub slash asterisk' slash;\012 ignore sub asterisk' slash asterisk;\012 sub LIG slash' by asterisk_slash.liga;\012 sub asterisk' slash by LIG;\012} asterisk_slash;\012\012lookup bar_bar {\012 ignore sub bar bar' bar;\012 ignore sub bar' bar bar;\012 sub LIG bar' by bar_bar.liga;\012 sub bar' bar by LIG;\012} bar_bar;\012\012lookup bar_braceright {\012 ignore sub bar bar' braceright;\012 ignore sub bar' braceright braceright;\012 ignore sub braceleft bar' braceright;\012 sub LIG braceright' by bar_braceright.liga;\012 sub bar' braceright by LIG;\012} bar_braceright;\012\012lookup bar_bracketright {\012 ignore sub bar bar' bracketright;\012 ignore sub bar' bracketright bracketright;\012 ignore sub bracketleft bar' bracketright;\012 sub LIG bracketright' by bar_bracketright.liga;\012 sub bar' bracketright by LIG;\012} bar_bracketright;\012\012lookup bar_equal {\012 ignore sub bar bar' equal;\012 ignore sub bar' equal equal;\012 sub LIG equal' by bar_equal.liga;\012 sub bar' equal by LIG;\012} bar_equal;\012\012lookup bar_greater {\012 ignore sub bar bar' greater;\012 ignore sub bar' greater greater;\012 sub LIG greater' by bar_greater.liga;\012 sub bar' greater by LIG;\012} bar_greater;\012\012lookup bar_hyphen {\012 ignore sub bar bar' hyphen;\012 ignore sub bar' hyphen hyphen;\012 ignore sub bar' hyphen bar;\012 sub LIG hyphen' by bar_hyphen.liga;\012 sub bar' hyphen by LIG;\012} bar_hyphen;\012\012lookup braceleft_bar {\012 ignore sub braceleft braceleft' bar;\012 ignore sub braceleft' bar bar;\012 ignore sub braceleft' bar braceright;\012 sub LIG bar' by braceleft_bar.liga;\012 sub braceleft' bar by LIG;\012} braceleft_bar;\012\012lookup bracketleft_bar {\012 ignore sub bracketleft bracketleft' bar;\012 ignore sub bracketleft' bar bar;\012 ignore sub bracketleft' bar bracketright;\012 sub LIG bar' by bracketleft_bar.liga;\012 sub bracketleft' bar by LIG;\012} bracketleft_bar;\012\012lookup bracketright_numbersign {\012 ignore sub bracketright bracketright' numbersign;\012 ignore sub bracketright' numbersign numbersign;\012 sub LIG numbersign' by bracketright_numbersign.liga;\012 sub bracketright' numbersign by LIG;\012} bracketright_numbersign;\012\012lookup colon_colon {\012 ignore sub colon colon' colon;\012 ignore sub colon' colon colon;\012 ignore sub parenleft question colon' colon;\012 sub LIG colon' by colon_colon.liga;\012 sub colon' colon by LIG;\012} colon_colon;\012\012lookup colon_equal {\012 ignore sub colon colon' equal;\012 ignore sub colon' equal equal;\012 ignore sub parenleft question colon' equal;\012 sub LIG equal' by colon_equal.liga;\012 sub colon' equal by LIG;\012} colon_equal;\012\012lookup colon_greater {\012 ignore sub colon colon' greater;\012 ignore sub colon' greater greater;\012 ignore sub colon' greater equal;\012 ignore sub parenleft question colon' greater;\012 sub LIG greater' by colon_greater.liga;\012 sub colon' greater by LIG;\012} colon_greater;\012\012lookup colon_less {\012 ignore sub colon colon' less;\012 ignore sub colon' less less;\012 ignore sub parenleft question colon' less;\012 sub LIG less' by colon_less.liga;\012 sub colon' less by LIG;\012} colon_less;\012\012lookup dollar_greater {\012 ignore sub dollar dollar' greater;\012 ignore sub dollar' greater greater;\012 sub LIG greater' by dollar_greater.liga;\012 sub dollar' greater by LIG;\012} dollar_greater;\012\012lookup equal_equal {\012 ignore sub equal equal' equal;\012 ignore sub equal' equal equal;\012 ignore sub parenleft question equal' equal;\012 ignore sub parenleft question less equal' equal;\012 sub LIG equal' by equal_equal.liga;\012 sub equal' equal by LIG;\012} equal_equal;\012\012lookup equal_greater {\012 ignore sub equal equal' greater;\012 ignore sub equal' greater greater;\012 ignore sub parenleft question equal' greater;\012 ignore sub parenleft question less equal' greater;\012 sub LIG greater' by equal_greater.liga;\012 sub equal' greater by LIG;\012} equal_greater;\012\012lookup exclam_equal {\012 ignore sub exclam exclam' equal;\012 ignore sub exclam' equal equal;\012 ignore sub parenleft question exclam' equal;\012 ignore sub parenleft question less exclam' equal;\012 sub LIG equal' by exclam_equal.liga;\012 sub exclam' equal by LIG;\012} exclam_equal;\012\012lookup exclam_exclam {\012 ignore sub exclam exclam' exclam;\012 ignore sub exclam' exclam exclam;\012 ignore sub parenleft question exclam' exclam;\012 ignore sub parenleft question less exclam' exclam;\012 sub LIG exclam' by exclam_exclam.liga;\012 sub exclam' exclam by LIG;\012} exclam_exclam;\012\012lookup greater_colon {\012 ignore sub greater greater' colon;\012 ignore sub greater' colon colon;\012 sub LIG colon' by greater_colon.liga;\012 sub greater' colon by LIG;\012} greater_colon;\012\012lookup greater_equal {\012 ignore sub greater greater' equal;\012 ignore sub greater' equal equal;\012 ignore sub greater' equal less;\012 sub LIG equal' by greater_equal.liga;\012 sub greater' equal by LIG;\012} greater_equal;\012\012lookup greater_greater {\012 ignore sub greater greater' greater;\012 ignore sub greater' greater greater;\012 ignore sub asterisk greater' greater;\012 ignore sub plus greater' greater;\012 ignore sub dollar greater' greater;\012 sub LIG greater' by greater_greater.liga;\012 sub greater' greater by LIG;\012} greater_greater;\012\012lookup greater_hyphen {\012 ignore sub greater greater' hyphen;\012 ignore sub greater' hyphen hyphen;\012 sub LIG hyphen' by greater_hyphen.liga;\012 sub greater' hyphen by LIG;\012} greater_hyphen;\012\012lookup hyphen_asciitilde {\012 ignore sub hyphen hyphen' asciitilde;\012 ignore sub hyphen' asciitilde asciitilde;\012 sub LIG asciitilde' by hyphen_asciitilde.liga;\012 sub hyphen' asciitilde by LIG;\012} hyphen_asciitilde;\012\012lookup hyphen_bar {\012 ignore sub hyphen hyphen' bar;\012 ignore sub hyphen' bar bar;\012 ignore sub bar hyphen' bar;\012 sub LIG bar' by hyphen_bar.liga;\012 sub hyphen' bar by LIG;\012} hyphen_bar;\012\012lookup hyphen_greater {\012 ignore sub hyphen hyphen' greater;\012 ignore sub hyphen' greater greater;\012 sub LIG greater' by hyphen_greater.liga;\012 sub hyphen' greater by LIG;\012} hyphen_greater;\012\012lookup hyphen_hyphen {\012 ignore sub hyphen hyphen' hyphen;\012 ignore sub hyphen' hyphen hyphen;\012 sub LIG hyphen' by hyphen_hyphen.liga;\012 sub hyphen' hyphen by LIG;\012} hyphen_hyphen;\012\012lookup hyphen_less {\012 ignore sub hyphen hyphen' less;\012 ignore sub hyphen' less less;\012 sub LIG less' by hyphen_less.liga;\012 sub hyphen' less by LIG;\012} hyphen_less;\012\012lookup less_asciitilde {\012 ignore sub less less' asciitilde;\012 ignore sub less' asciitilde asciitilde;\012 sub LIG asciitilde' by less_asciitilde.liga;\012 sub less' asciitilde by LIG;\012} less_asciitilde;\012\012lookup less_asterisk {\012 ignore sub less less' asterisk;\012 ignore sub less' asterisk asterisk;\012 sub LIG asterisk' by less_asterisk.liga;\012 sub less' asterisk by LIG;\012} less_asterisk;\012\012lookup less_bar {\012 ignore sub less less' bar;\012 ignore sub less' bar bar;\012 sub LIG bar' by less_bar.liga;\012 sub less' bar by LIG;\012} less_bar;\012\012lookup less_colon {\012 ignore sub less less' colon;\012 ignore sub less' colon colon;\012 sub LIG colon' by less_colon.liga;\012 sub less' colon by LIG;\012} less_colon;\012\012lookup less_dollar {\012 ignore sub less less' dollar;\012 ignore sub less' dollar dollar;\012 sub LIG dollar' by less_dollar.liga;\012 sub less' dollar by LIG;\012} less_dollar;\012\012lookup less_equal {\012 ignore sub less less' equal;\012 ignore sub less' equal equal;\012 ignore sub parenleft question less' equal;\012 sub LIG equal' by less_equal.liga;\012 sub less' equal by LIG;\012} less_equal;\012\012lookup less_greater {\012 ignore sub less less' greater;\012 ignore sub less' greater greater;\012 sub LIG greater' by less_greater.liga;\012 sub less' greater by LIG;\012} less_greater;\012\012lookup less_hyphen {\012 ignore sub less less' hyphen;\012 ignore sub less' hyphen hyphen;\012 sub LIG hyphen' by less_hyphen.liga;\012 sub less' hyphen by LIG;\012} less_hyphen;\012\012lookup less_less {\012 ignore sub less less' less;\012 ignore sub less' less less;\012 ignore sub less' less asterisk;\012 ignore sub less' less plus;\012 ignore sub less' less dollar;\012 sub LIG less' by less_less.liga;\012 sub less' less by LIG;\012} less_less;\012\012lookup less_plus {\012 ignore sub less less' plus;\012 ignore sub less' plus plus;\012 sub LIG plus' by less_plus.liga;\012 sub less' plus by LIG;\012} less_plus;\012\012lookup less_slash {\012 ignore sub less less' slash;\012 ignore sub less' slash slash;\012 sub LIG slash' by less_slash.liga;\012 sub less' slash by LIG;\012} less_slash;\012\012lookup numbersign_braceleft {\012 ignore sub numbersign numbersign' braceleft;\012 ignore sub numbersign' braceleft braceleft;\012 sub LIG braceleft' by numbersign_braceleft.liga;\012 sub numbersign' braceleft by LIG;\012} numbersign_braceleft;\012\012lookup numbersign_bracketleft {\012 ignore sub numbersign numbersign' bracketleft;\012 ignore sub numbersign' bracketleft bracketleft;\012 sub LIG bracketleft' by numbersign_bracketleft.liga;\012 sub numbersign' bracketleft by LIG;\012} numbersign_bracketleft;\012\012lookup numbersign_colon {\012 ignore sub numbersign numbersign' colon;\012 ignore sub numbersign' colon colon;\012 sub LIG colon' by numbersign_colon.liga;\012 sub numbersign' colon by LIG;\012} numbersign_colon;\012\012lookup numbersign_equal {\012 ignore sub numbersign numbersign' equal;\012 ignore sub numbersign' equal equal;\012 sub LIG equal' by numbersign_equal.liga;\012 sub numbersign' equal by LIG;\012} numbersign_equal;\012\012lookup numbersign_exclam {\012 ignore sub numbersign numbersign' exclam;\012 ignore sub numbersign' exclam exclam;\012 sub LIG exclam' by numbersign_exclam.liga;\012 sub numbersign' exclam by LIG;\012} numbersign_exclam;\012\012lookup numbersign_numbersign {\012 ignore sub numbersign numbersign' numbersign;\012 ignore sub numbersign' numbersign numbersign;\012 sub LIG numbersign' by numbersign_numbersign.liga;\012 sub numbersign' numbersign by LIG;\012} numbersign_numbersign;\012\012lookup numbersign_parenleft {\012 ignore sub numbersign numbersign' parenleft;\012 ignore sub numbersign' parenleft parenleft;\012 sub LIG parenleft' by numbersign_parenleft.liga;\012 sub numbersign' parenleft by LIG;\012} numbersign_parenleft;\012\012lookup numbersign_question {\012 ignore sub numbersign numbersign' question;\012 ignore sub numbersign' question question;\012 sub LIG question' by numbersign_question.liga;\012 sub numbersign' question by LIG;\012} numbersign_question;\012\012lookup numbersign_underscore {\012 ignore sub numbersign numbersign' underscore;\012 ignore sub numbersign' underscore underscore;\012 sub LIG underscore' by numbersign_underscore.liga;\012 sub numbersign' underscore by LIG;\012} numbersign_underscore;\012\012lookup percent_percent {\012 ignore sub percent percent' percent;\012 ignore sub percent' percent percent;\012 sub LIG percent' by percent_percent.liga;\012 sub percent' percent by LIG;\012} percent_percent;\012\012lookup period_equal {\012 ignore sub period period' equal;\012 ignore sub period' equal equal;\012 sub LIG equal' by period_equal.liga;\012 sub period' equal by LIG;\012} period_equal;\012\012lookup period_hyphen {\012 ignore sub period period' hyphen;\012 ignore sub period' hyphen hyphen;\012 sub LIG hyphen' by period_hyphen.liga;\012 sub period' hyphen by LIG;\012} period_hyphen;\012\012lookup period_period {\012 ignore sub period period' period;\012 ignore sub period' period period;\012 sub LIG period' by period_period.liga;\012 sub period' period by LIG;\012} period_period;\012\012lookup period_question {\012 ignore sub period period' question;\012 ignore sub period' question question;\012 sub LIG question' by period_question.liga;\012 sub period' question by LIG;\012} period_question;\012\012lookup plus_greater {\012 ignore sub plus plus' greater;\012 ignore sub plus' greater greater;\012 sub LIG greater' by plus_greater.liga;\012 sub plus' greater by LIG;\012} plus_greater;\012\012lookup plus_plus {\012 ignore sub plus plus' plus;\012 ignore sub plus' plus plus;\012 sub LIG plus' by plus_plus.liga;\012 sub plus' plus by LIG;\012} plus_plus;\012\012lookup question_colon {\012 ignore sub question question' colon;\012 ignore sub question' colon colon;\012 ignore sub parenleft question' colon;\012 sub LIG colon' by question_colon.liga;\012 sub question' colon by LIG;\012} question_colon;\012\012lookup question_equal {\012 ignore sub question question' equal;\012 ignore sub question' equal equal;\012 ignore sub parenleft question' equal;\012 sub LIG equal' by question_equal.liga;\012 sub question' equal by LIG;\012} question_equal;\012\012lookup question_period {\012 ignore sub question question' period;\012 ignore sub question' period period;\012 sub LIG period' by question_period.liga;\012 sub question' period by LIG;\012} question_period;\012\012lookup question_question {\012 ignore sub question question' question;\012 ignore sub question' question question;\012 sub LIG question' by question_question.liga;\012 sub question' question by LIG;\012} question_question;\012\012lookup semicolon_semicolon {\012 ignore sub semicolon semicolon' semicolon;\012 ignore sub semicolon' semicolon semicolon;\012 sub LIG semicolon' by semicolon_semicolon.liga;\012 sub semicolon' semicolon by LIG;\012} semicolon_semicolon;\012\012lookup slash_asterisk {\012 ignore sub slash slash' asterisk;\012 ignore sub slash' asterisk asterisk;\012 ignore sub slash' asterisk slash;\012 ignore sub asterisk slash' asterisk;\012 sub LIG asterisk' by slash_asterisk.liga;\012 sub slash' asterisk by LIG;\012} slash_asterisk;\012\012lookup slash_equal {\012 ignore sub slash slash' equal;\012 ignore sub slash' equal equal;\012 sub LIG equal' by slash_equal.liga;\012 sub slash' equal by LIG;\012} slash_equal;\012\012lookup slash_greater {\012 ignore sub slash slash' greater;\012 ignore sub slash' greater greater;\012 sub LIG greater' by slash_greater.liga;\012 sub slash' greater by LIG;\012} slash_greater;\012\012lookup slash_slash {\012 ignore sub slash slash' slash;\012 ignore sub slash' slash slash;\012 sub LIG slash' by slash_slash.liga;\012 sub slash' slash by LIG;\012} slash_slash;\012\012lookup underscore_underscore {\012 ignore sub underscore underscore' underscore;\012 ignore sub underscore' underscore underscore;\012 sub LIG underscore' by underscore_underscore.liga;\012 sub underscore' underscore by LIG;\012} underscore_underscore;\012### end of generated calt\012\012sub less asciitilde' greater by asciitilde_asciitilde.liga;\012\012lookup lowercase_hyphen {\012 ignore sub @Tall \\hyphen' @Lowercase;\012 ignore sub @Lowercase \\hyphen' @Tall; \012 sub \\hyphen' @Lowercase by \\hyphen.lc;\012 sub @Lowercase \\hyphen' by \\hyphen.lc;\012} lowercase_hyphen;\012\012lookup lowercase_plus {\012 ignore sub @Tall \\plus' @Lowercase;\012 ignore sub @Lowercase \\plus' @Tall;\012 sub \\plus' @Lowercase by \\plus.lc;\012 sub @Lowercase \\plus' by \\plus.lc;\012} lowercase_plus;\012\012lookup lowercase_asterisk {\012 ignore sub @Tall \\asterisk' @Lowercase;\012 ignore sub @Lowercase \\asterisk' @Tall;\012 sub \\asterisk' @Lowercase by \\asterisk.lc;\012 sub @Lowercase \\asterisk' by \\asterisk.lc;\012} lowercase_asterisk;\012\012lookup uppercase_colon {\012 ignore sub @Tall \\colon' @Lowercase;\012 ignore sub @Lowercase \\colon' @Tall;\012 sub @Tall \\colon' by \\colon.uc;\012 sub \\colon' @Tall by \\colon.uc;\012} uppercase_colon;\012\012# 738\012lookup slash_backslash {\012 ignore sub @NotSpace slash' backslash;\012 ignore sub slash' backslash @NotSpace;\012 sub LIG backslash' by slash_backslash.liga;\012 sub slash' backslash by LIG;\012} slash_backslash;\012\012lookup backslash_slash {\012 ignore sub @NotSpace backslash' slash;\012 ignore sub backslash' slash @NotSpace;\012 sub LIG slash' by backslash_slash.liga;\012 sub backslash' slash by LIG;\012} backslash_slash;\012\012# 795\012sub \\f' \\i by \\f.salt_highbar;\012sub \\f \\l' by \\l.salt_noserif;\012\012###\012sub \\zero \\x' @HexDigit by \\x.multiply;\012sub @Digit \\x' @Digit by \\x.multiply;\012# sub \\bracketleft [\\x \\X]' \\bracketright by \\x.multiply;\012# sub \\bracketleft [\\v \\V]' \\bracketright by \\checkmark;\012\012###\012\012lookup caltGreekUCdiph {\012 sub @GreekUCdiphIOTA Iota' by Iotadieresis;\012 sub @GreekUCdiphUPSILON Upsilon' by Upsilondieresis;\012} caltGreekUCdiph;\012\012lookup caltGreekUC {\012 sub @GreekUCAcc' @GreekUC by @GreekUCcalt;\012 sub @GreekUC @GreekUCAcc' by @GreekUCcalt;\012 sub @GreekUCAcc' space @GreekUC by @GreekUCcalt;\012 sub @GreekUC space @GreekUCAcc' by @GreekUCcalt;\012} caltGreekUC;\012"; +code = "### start of generated calt\012lookup bar_bar_bar_greater {\012 ignore sub bar bar' bar bar greater;\012 ignore sub bar' bar bar greater greater;\012 sub LIG LIG LIG greater' by bar_bar_bar_greater.liga;\012 sub LIG LIG bar' greater by LIG;\012 sub LIG bar' bar greater by LIG;\012 sub bar' bar bar greater by LIG;\012} bar_bar_bar_greater;\012\012lookup less_bar_bar_bar {\012 ignore sub less less' bar bar bar;\012 ignore sub less' bar bar bar bar;\012 sub LIG LIG LIG bar' by less_bar_bar_bar.liga;\012 sub LIG LIG bar' bar by LIG;\012 sub LIG bar' bar bar by LIG;\012 sub less' bar bar bar by LIG;\012} less_bar_bar_bar;\012\012lookup less_equal_equal_greater {\012 ignore sub less less' equal equal greater;\012 ignore sub less' equal equal greater greater;\012 ignore sub parenleft question less' equal equal greater;\012 sub LIG LIG LIG greater' by less_equal_equal_greater.liga;\012 sub LIG LIG equal' greater by LIG;\012 sub LIG equal' equal greater by LIG;\012 sub less' equal equal greater by LIG;\012} less_equal_equal_greater;\012\012lookup less_exclam_hyphen_hyphen {\012 ignore sub less less' exclam hyphen hyphen;\012 ignore sub less' exclam hyphen hyphen hyphen;\012 ignore sub parenleft question less' exclam hyphen hyphen;\012 sub LIG LIG LIG hyphen' by less_exclam_hyphen_hyphen.liga;\012 sub LIG LIG hyphen' hyphen by LIG;\012 sub LIG exclam' hyphen hyphen by LIG;\012 sub less' exclam hyphen hyphen by LIG;\012} less_exclam_hyphen_hyphen;\012\012lookup numbersign_numbersign_numbersign_numbersign {\012 ignore sub numbersign numbersign' numbersign numbersign numbersign;\012 ignore sub numbersign' numbersign numbersign numbersign numbersign;\012 sub LIG LIG LIG numbersign' by numbersign_numbersign_numbersign_numbersign.liga;\012 sub LIG LIG numbersign' numbersign by LIG;\012 sub LIG numbersign' numbersign numbersign by LIG;\012 sub numbersign' numbersign numbersign numbersign by LIG;\012} numbersign_numbersign_numbersign_numbersign;\012\012lookup asciitilde_asciitilde_greater {\012 ignore sub asciitilde asciitilde' asciitilde greater;\012 ignore sub asciitilde' asciitilde greater greater;\012 sub LIG LIG greater' by asciitilde_asciitilde_greater.liga;\012 sub LIG asciitilde' greater by LIG;\012 sub asciitilde' asciitilde greater by LIG;\012} asciitilde_asciitilde_greater;\012\012lookup asterisk_asterisk_asterisk {\012 ignore sub asterisk asterisk' asterisk asterisk;\012 ignore sub asterisk' asterisk asterisk asterisk;\012 ignore sub slash asterisk' asterisk asterisk;\012 ignore sub asterisk' asterisk asterisk slash;\012 sub LIG LIG asterisk' by asterisk_asterisk_asterisk.liga;\012 sub LIG asterisk' asterisk by LIG;\012 sub asterisk' asterisk asterisk by LIG;\012} asterisk_asterisk_asterisk;\012\012lookup bar_bar_equal {\012 ignore sub bar bar' bar equal;\012 ignore sub bar' bar equal equal;\012 sub LIG LIG equal' by bar_bar_equal.liga;\012 sub LIG bar' equal by LIG;\012 sub bar' bar equal by LIG;\012} bar_bar_equal;\012\012lookup bar_bar_greater {\012 ignore sub bar bar' bar greater;\012 ignore sub bar' bar greater greater;\012 ignore sub less bar' bar greater;\012 sub LIG LIG greater' by bar_bar_greater.liga;\012 sub LIG bar' greater by LIG;\012 sub bar' bar greater by LIG;\012} bar_bar_greater;\012\012lookup bar_bar_hyphen {\012 ignore sub bar bar' bar hyphen;\012 ignore sub bar' bar hyphen hyphen;\012 sub LIG LIG hyphen' by bar_bar_hyphen.liga;\012 sub LIG bar' hyphen by LIG;\012 sub bar' bar hyphen by LIG;\012} bar_bar_hyphen;\012\012lookup bar_equal_greater {\012 ignore sub bar bar' equal greater;\012 ignore sub bar' equal greater greater;\012 sub LIG LIG greater' by bar_equal_greater.liga;\012 sub LIG equal' greater by LIG;\012 sub bar' equal greater by LIG;\012} bar_equal_greater;\012\012lookup bar_hyphen_greater {\012 ignore sub bar bar' hyphen greater;\012 ignore sub bar' hyphen greater greater;\012 sub LIG LIG greater' by bar_hyphen_greater.liga;\012 sub LIG hyphen' greater by LIG;\012 sub bar' hyphen greater by LIG;\012} bar_hyphen_greater;\012\012lookup colon_colon_colon {\012 ignore sub colon colon' colon colon;\012 ignore sub colon' colon colon colon;\012 ignore sub parenleft question colon' colon colon;\012 sub LIG LIG colon' by colon_colon_colon.liga;\012 sub LIG colon' colon by LIG;\012 sub colon' colon colon by LIG;\012} colon_colon_colon;\012\012lookup colon_colon_equal {\012 ignore sub colon colon' colon equal;\012 ignore sub colon' colon equal equal;\012 ignore sub parenleft question colon' colon equal;\012 sub LIG LIG equal' by colon_colon_equal.liga;\012 sub LIG colon' equal by LIG;\012 sub colon' colon equal by LIG;\012} colon_colon_equal;\012\012lookup equal_colon_equal {\012 ignore sub equal equal' colon equal;\012 ignore sub equal' colon equal equal;\012 ignore sub parenleft question equal' colon equal;\012 ignore sub parenleft question less equal' colon equal;\012 sub LIG LIG equal' by equal_colon_equal.liga;\012 sub LIG colon' equal by LIG;\012 sub equal' colon equal by LIG;\012} equal_colon_equal;\012\012lookup equal_equal_equal {\012 ignore sub equal equal' equal equal;\012 ignore sub equal' equal equal equal;\012 ignore sub parenleft question equal' equal equal;\012 ignore sub parenleft question less equal' equal equal;\012 sub LIG LIG equal' by equal_equal_equal.liga;\012 sub LIG equal' equal by LIG;\012 sub equal' equal equal by LIG;\012} equal_equal_equal;\012\012lookup equal_equal_greater {\012 ignore sub equal equal' equal greater;\012 ignore sub equal' equal greater greater;\012 ignore sub parenleft question equal' equal greater;\012 ignore sub parenleft question less equal' equal greater;\012 sub LIG LIG greater' by equal_equal_greater.liga;\012 sub LIG equal' greater by LIG;\012 sub equal' equal greater by LIG;\012} equal_equal_greater;\012\012lookup equal_exclam_equal {\012 ignore sub equal equal' exclam equal;\012 ignore sub equal' exclam equal equal;\012 ignore sub parenleft question equal' exclam equal;\012 ignore sub parenleft question less equal' exclam equal;\012 sub LIG LIG equal' by equal_exclam_equal.liga;\012 sub LIG exclam' equal by LIG;\012 sub equal' exclam equal by LIG;\012} equal_exclam_equal;\012\012lookup equal_greater_greater {\012 ignore sub equal equal' greater greater;\012 ignore sub equal' greater greater greater;\012 ignore sub parenleft question equal' greater greater;\012 ignore sub parenleft question less equal' greater greater;\012 sub LIG LIG greater' by equal_greater_greater.liga;\012 sub LIG greater' greater by LIG;\012 sub equal' greater greater by LIG;\012} equal_greater_greater;\012\012lookup equal_less_less {\012 ignore sub equal equal' less less;\012 ignore sub equal' less less less;\012 ignore sub parenleft question equal' less less;\012 ignore sub parenleft question less equal' less less;\012 sub LIG LIG less' by equal_less_less.liga;\012 sub LIG less' less by LIG;\012 sub equal' less less by LIG;\012} equal_less_less;\012\012lookup equal_slash_equal {\012 ignore sub equal equal' slash equal;\012 ignore sub equal' slash equal equal;\012 ignore sub parenleft question equal' slash equal;\012 ignore sub parenleft question less equal' slash equal;\012 sub LIG LIG equal' by equal_slash_equal.liga;\012 sub LIG slash' equal by LIG;\012 sub equal' slash equal by LIG;\012} equal_slash_equal;\012\012lookup exclam_equal_equal {\012 ignore sub exclam exclam' equal equal;\012 ignore sub exclam' equal equal equal;\012 ignore sub parenleft question exclam' equal equal;\012 ignore sub parenleft question less exclam' equal equal;\012 sub LIG LIG equal' by exclam_equal_equal.liga;\012 sub LIG equal' equal by LIG;\012 sub exclam' equal equal by LIG;\012} exclam_equal_equal;\012\012lookup exclam_exclam_period {\012 ignore sub exclam exclam' exclam period;\012 ignore sub exclam' exclam period period;\012 ignore sub parenleft question exclam' exclam period;\012 ignore sub parenleft question less exclam' exclam period;\012 sub LIG LIG period' by exclam_exclam_period.liga;\012 sub LIG exclam' period by LIG;\012 sub exclam' exclam period by LIG;\012} exclam_exclam_period;\012\012lookup greater_equal_greater {\012 ignore sub greater greater' equal greater;\012 ignore sub greater' equal greater greater;\012 sub LIG LIG greater' by greater_equal_greater.liga;\012 sub LIG equal' greater by LIG;\012 sub greater' equal greater by LIG;\012} greater_equal_greater;\012\012lookup greater_greater_equal {\012 ignore sub greater greater' greater equal;\012 ignore sub greater' greater equal equal;\012 sub LIG LIG equal' by greater_greater_equal.liga;\012 sub LIG greater' equal by LIG;\012 sub greater' greater equal by LIG;\012} greater_greater_equal;\012\012lookup greater_greater_greater {\012 ignore sub greater greater' greater greater;\012 ignore sub greater' greater greater greater;\012 ignore sub asterisk greater' greater greater;\012 ignore sub plus greater' greater greater;\012 ignore sub dollar greater' greater greater;\012 sub LIG LIG greater' by greater_greater_greater.liga;\012 sub LIG greater' greater by LIG;\012 sub greater' greater greater by LIG;\012} greater_greater_greater;\012\012lookup greater_greater_hyphen {\012 ignore sub greater greater' greater hyphen;\012 ignore sub greater' greater hyphen hyphen;\012 sub LIG LIG hyphen' by greater_greater_hyphen.liga;\012 sub LIG greater' hyphen by LIG;\012 sub greater' greater hyphen by LIG;\012} greater_greater_hyphen;\012\012lookup greater_hyphen_greater {\012 ignore sub greater greater' hyphen greater;\012 ignore sub greater' hyphen greater greater;\012 sub LIG LIG greater' by greater_hyphen_greater.liga;\012 sub LIG hyphen' greater by LIG;\012 sub greater' hyphen greater by LIG;\012} greater_hyphen_greater;\012\012lookup hyphen_greater_greater {\012 ignore sub hyphen hyphen' greater greater;\012 ignore sub hyphen' greater greater greater;\012 sub LIG LIG greater' by hyphen_greater_greater.liga;\012 sub LIG greater' greater by LIG;\012 sub hyphen' greater greater by LIG;\012} hyphen_greater_greater;\012\012lookup hyphen_hyphen_greater {\012 ignore sub hyphen hyphen' hyphen greater;\012 ignore sub hyphen' hyphen greater greater;\012 sub LIG LIG greater' by hyphen_hyphen_greater.liga;\012 sub LIG hyphen' greater by LIG;\012 sub hyphen' hyphen greater by LIG;\012} hyphen_hyphen_greater;\012\012lookup hyphen_hyphen_hyphen {\012 ignore sub hyphen hyphen' hyphen hyphen;\012 ignore sub hyphen' hyphen hyphen hyphen;\012 sub LIG LIG hyphen' by hyphen_hyphen_hyphen.liga;\012 sub LIG hyphen' hyphen by LIG;\012 sub hyphen' hyphen hyphen by LIG;\012} hyphen_hyphen_hyphen;\012\012lookup hyphen_less_less {\012 ignore sub hyphen hyphen' less less;\012 ignore sub hyphen' less less less;\012 sub LIG LIG less' by hyphen_less_less.liga;\012 sub LIG less' less by LIG;\012 sub hyphen' less less by LIG;\012} hyphen_less_less;\012\012lookup less_asciitilde_asciitilde {\012 ignore sub less less' asciitilde asciitilde;\012 ignore sub less' asciitilde asciitilde asciitilde;\012 sub LIG LIG asciitilde' by less_asciitilde_asciitilde.liga;\012 sub LIG asciitilde' asciitilde by LIG;\012 sub less' asciitilde asciitilde by LIG;\012} less_asciitilde_asciitilde;\012\012lookup less_asciitilde_greater {\012 ignore sub less less' asciitilde greater;\012 ignore sub less' asciitilde greater greater;\012 sub LIG LIG greater' by less_asciitilde_greater.liga;\012 sub LIG asciitilde' greater by LIG;\012 sub less' asciitilde greater by LIG;\012} less_asciitilde_greater;\012\012lookup less_asterisk_greater {\012 sub LIG LIG greater' by less_asterisk_greater.liga;\012 sub LIG asterisk' greater by LIG;\012 sub less' asterisk greater by LIG;\012} less_asterisk_greater;\012\012lookup less_bar_bar {\012 ignore sub less less' bar bar;\012 ignore sub less' bar bar bar;\012 ignore sub less' bar bar greater;\012 sub LIG LIG bar' by less_bar_bar.liga;\012 sub LIG bar' bar by LIG;\012 sub less' bar bar by LIG;\012} less_bar_bar;\012\012lookup less_bar_greater {\012 ignore sub less less' bar greater;\012 ignore sub less' bar greater greater;\012 sub LIG LIG greater' by less_bar_greater.liga;\012 sub LIG bar' greater by LIG;\012 sub less' bar greater by LIG;\012} less_bar_greater;\012\012lookup less_dollar_greater {\012 sub LIG LIG greater' by less_dollar_greater.liga;\012 sub LIG dollar' greater by LIG;\012 sub less' dollar greater by LIG;\012} less_dollar_greater;\012\012lookup less_equal_bar {\012 ignore sub less less' equal bar;\012 ignore sub less' equal bar bar;\012 ignore sub parenleft question less' equal bar;\012 sub LIG LIG bar' by less_equal_bar.liga;\012 sub LIG equal' bar by LIG;\012 sub less' equal bar by LIG;\012} less_equal_bar;\012\012lookup less_equal_equal {\012 ignore sub less less' equal equal;\012 ignore sub less' equal equal equal;\012 ignore sub parenleft question less' equal equal;\012 sub LIG LIG equal' by less_equal_equal.liga;\012 sub LIG equal' equal by LIG;\012 sub less' equal equal by LIG;\012} less_equal_equal;\012\012lookup less_equal_greater {\012 ignore sub less less' equal greater;\012 ignore sub less' equal greater greater;\012 ignore sub parenleft question less' equal greater;\012 sub LIG LIG greater' by less_equal_greater.liga;\012 sub LIG equal' greater by LIG;\012 sub less' equal greater by LIG;\012} less_equal_greater;\012\012lookup less_equal_less {\012 ignore sub less less' equal less;\012 ignore sub less' equal less less;\012 ignore sub parenleft question less' equal less;\012 sub LIG LIG less' by less_equal_less.liga;\012 sub LIG equal' less by LIG;\012 sub less' equal less by LIG;\012} less_equal_less;\012\012lookup less_hyphen_bar {\012 ignore sub less less' hyphen bar;\012 ignore sub less' hyphen bar bar;\012 sub LIG LIG bar' by less_hyphen_bar.liga;\012 sub LIG hyphen' bar by LIG;\012 sub less' hyphen bar by LIG;\012} less_hyphen_bar;\012\012lookup less_hyphen_greater {\012 ignore sub less less' hyphen greater;\012 ignore sub less' hyphen greater greater;\012 sub LIG LIG greater' by less_hyphen_greater.liga;\012 sub LIG hyphen' greater by LIG;\012 sub less' hyphen greater by LIG;\012} less_hyphen_greater;\012\012lookup less_hyphen_hyphen {\012 ignore sub less less' hyphen hyphen;\012 ignore sub less' hyphen hyphen hyphen;\012 sub LIG LIG hyphen' by less_hyphen_hyphen.liga;\012 sub LIG hyphen' hyphen by LIG;\012 sub less' hyphen hyphen by LIG;\012} less_hyphen_hyphen;\012\012lookup less_hyphen_less {\012 ignore sub less less' hyphen less;\012 ignore sub less' hyphen less less;\012 sub LIG LIG less' by less_hyphen_less.liga;\012 sub LIG hyphen' less by LIG;\012 sub less' hyphen less by LIG;\012} less_hyphen_less;\012\012lookup less_less_equal {\012 ignore sub less less' less equal;\012 ignore sub less' less equal equal;\012 sub LIG LIG equal' by less_less_equal.liga;\012 sub LIG less' equal by LIG;\012 sub less' less equal by LIG;\012} less_less_equal;\012\012lookup less_less_hyphen {\012 ignore sub less less' less hyphen;\012 ignore sub less' less hyphen hyphen;\012 sub LIG LIG hyphen' by less_less_hyphen.liga;\012 sub LIG less' hyphen by LIG;\012 sub less' less hyphen by LIG;\012} less_less_hyphen;\012\012lookup less_less_less {\012 ignore sub less less' less less;\012 ignore sub less' less less less;\012 ignore sub less' less less asterisk;\012 ignore sub less' less less plus;\012 ignore sub less' less less dollar;\012 sub LIG LIG less' by less_less_less.liga;\012 sub LIG less' less by LIG;\012 sub less' less less by LIG;\012} less_less_less;\012\012lookup less_plus_greater {\012 sub LIG LIG greater' by less_plus_greater.liga;\012 sub LIG plus' greater by LIG;\012 sub less' plus greater by LIG;\012} less_plus_greater;\012\012lookup less_slash_greater {\012 ignore sub less less' slash greater;\012 ignore sub less' slash greater greater;\012 sub LIG LIG greater' by less_slash_greater.liga;\012 sub LIG slash' greater by LIG;\012 sub less' slash greater by LIG;\012} less_slash_greater;\012\012lookup numbersign_numbersign_numbersign {\012 ignore sub numbersign numbersign' numbersign numbersign;\012 ignore sub numbersign' numbersign numbersign numbersign;\012 sub LIG LIG numbersign' by numbersign_numbersign_numbersign.liga;\012 sub LIG numbersign' numbersign by LIG;\012 sub numbersign' numbersign numbersign by LIG;\012} numbersign_numbersign_numbersign;\012\012lookup numbersign_underscore_parenleft {\012 ignore sub numbersign numbersign' underscore parenleft;\012 ignore sub numbersign' underscore parenleft parenleft;\012 sub LIG LIG parenleft' by numbersign_underscore_parenleft.liga;\012 sub LIG underscore' parenleft by LIG;\012 sub numbersign' underscore parenleft by LIG;\012} numbersign_underscore_parenleft;\012\012lookup period_period_less {\012 ignore sub period period' period less;\012 ignore sub period' period less less;\012 sub LIG LIG less' by period_period_less.liga;\012 sub LIG period' less by LIG;\012 sub period' period less by LIG;\012} period_period_less;\012\012lookup period_period_period {\012 ignore sub period period' period period;\012 ignore sub period' period period period;\012 sub LIG LIG period' by period_period_period.liga;\012 sub LIG period' period by LIG;\012 sub period' period period by LIG;\012} period_period_period;\012\012lookup plus_plus_plus {\012 ignore sub plus plus' plus plus;\012 ignore sub plus' plus plus plus;\012 sub LIG LIG plus' by plus_plus_plus.liga;\012 sub LIG plus' plus by LIG;\012 sub plus' plus plus by LIG;\012} plus_plus_plus;\012\012lookup slash_equal_equal {\012 ignore sub slash slash' equal equal;\012 ignore sub slash' equal equal equal;\012 sub LIG LIG equal' by slash_equal_equal.liga;\012 sub LIG equal' equal by LIG;\012 sub slash' equal equal by LIG;\012} slash_equal_equal;\012\012lookup slash_slash_slash {\012 ignore sub slash slash' slash slash;\012 ignore sub slash' slash slash slash;\012 sub LIG LIG slash' by slash_slash_slash.liga;\012 sub LIG slash' slash by LIG;\012 sub slash' slash slash by LIG;\012} slash_slash_slash;\012\012lookup underscore_bar_underscore {\012 ignore sub underscore underscore' bar underscore;\012 ignore sub underscore' bar underscore underscore;\012 sub LIG LIG underscore' by underscore_bar_underscore.liga;\012 sub LIG bar' underscore by LIG;\012 sub underscore' bar underscore by LIG;\012} underscore_bar_underscore;\012\012lookup w_w_w {\012 ignore sub w w' w w;\012 ignore sub w' w w w;\012 sub LIG LIG w' by w_w_w.liga;\012 sub LIG w' w by LIG;\012 sub w' w w by LIG;\012} w_w_w;\012\012lookup ampersand_ampersand {\012 ignore sub ampersand ampersand' ampersand;\012 ignore sub ampersand' ampersand ampersand;\012 sub LIG ampersand' by ampersand_ampersand.liga;\012 sub ampersand' ampersand by LIG;\012} ampersand_ampersand;\012\012lookup asciicircum_equal {\012 ignore sub asciicircum asciicircum' equal;\012 ignore sub asciicircum' equal equal;\012 sub LIG equal' by asciicircum_equal.liga;\012 sub asciicircum' equal by LIG;\012} asciicircum_equal;\012\012lookup asciitilde_asciitilde {\012 ignore sub asciitilde asciitilde' asciitilde;\012 ignore sub asciitilde' asciitilde asciitilde;\012 sub LIG asciitilde' by asciitilde_asciitilde.liga;\012 sub asciitilde' asciitilde by LIG;\012} asciitilde_asciitilde;\012\012lookup asciitilde_at {\012 ignore sub asciitilde asciitilde' at;\012 ignore sub asciitilde' at at;\012 sub LIG at' by asciitilde_at.liga;\012 sub asciitilde' at by LIG;\012} asciitilde_at;\012\012lookup asciitilde_equal {\012 ignore sub asciitilde asciitilde' equal;\012 ignore sub asciitilde' equal equal;\012 sub LIG equal' by asciitilde_equal.liga;\012 sub asciitilde' equal by LIG;\012} asciitilde_equal;\012\012lookup asciitilde_greater {\012 ignore sub asciitilde asciitilde' greater;\012 ignore sub asciitilde' greater greater;\012 sub LIG greater' by asciitilde_greater.liga;\012 sub asciitilde' greater by LIG;\012} asciitilde_greater;\012\012lookup asciitilde_hyphen {\012 ignore sub asciitilde asciitilde' hyphen;\012 ignore sub asciitilde' hyphen hyphen;\012 sub LIG hyphen' by asciitilde_hyphen.liga;\012 sub asciitilde' hyphen by LIG;\012} asciitilde_hyphen;\012\012lookup asterisk_asterisk {\012 ignore sub asterisk asterisk' asterisk;\012 ignore sub asterisk' asterisk asterisk;\012 ignore sub slash asterisk' asterisk;\012 ignore sub asterisk' asterisk slash;\012 sub LIG asterisk' by asterisk_asterisk.liga;\012 sub asterisk' asterisk by LIG;\012} asterisk_asterisk;\012\012lookup asterisk_greater {\012 ignore sub asterisk asterisk' greater;\012 ignore sub asterisk' greater greater;\012 sub LIG greater' by asterisk_greater.liga;\012 sub asterisk' greater by LIG;\012} asterisk_greater;\012\012lookup asterisk_slash {\012 ignore sub asterisk asterisk' slash;\012 ignore sub asterisk' slash slash;\012 ignore sub slash asterisk' slash;\012 ignore sub asterisk' slash asterisk;\012 sub LIG slash' by asterisk_slash.liga;\012 sub asterisk' slash by LIG;\012} asterisk_slash;\012\012lookup bar_bar {\012 ignore sub bar bar' bar;\012 ignore sub bar' bar bar;\012 sub LIG bar' by bar_bar.liga;\012 sub bar' bar by LIG;\012} bar_bar;\012\012lookup bar_braceright {\012 ignore sub bar bar' braceright;\012 ignore sub bar' braceright braceright;\012 ignore sub braceleft bar' braceright;\012 sub LIG braceright' by bar_braceright.liga;\012 sub bar' braceright by LIG;\012} bar_braceright;\012\012lookup bar_bracketright {\012 ignore sub bar bar' bracketright;\012 ignore sub bar' bracketright bracketright;\012 ignore sub bracketleft bar' bracketright;\012 sub LIG bracketright' by bar_bracketright.liga;\012 sub bar' bracketright by LIG;\012} bar_bracketright;\012\012lookup bar_equal {\012 ignore sub bar bar' equal;\012 ignore sub bar' equal equal;\012 sub LIG equal' by bar_equal.liga;\012 sub bar' equal by LIG;\012} bar_equal;\012\012lookup bar_greater {\012 ignore sub bar bar' greater;\012 ignore sub bar' greater greater;\012 sub LIG greater' by bar_greater.liga;\012 sub bar' greater by LIG;\012} bar_greater;\012\012lookup bar_hyphen {\012 ignore sub bar bar' hyphen;\012 ignore sub bar' hyphen hyphen;\012 ignore sub bar' hyphen bar;\012 sub LIG hyphen' by bar_hyphen.liga;\012 sub bar' hyphen by LIG;\012} bar_hyphen;\012\012lookup braceleft_bar {\012 ignore sub braceleft braceleft' bar;\012 ignore sub braceleft' bar bar;\012 ignore sub braceleft' bar braceright;\012 sub LIG bar' by braceleft_bar.liga;\012 sub braceleft' bar by LIG;\012} braceleft_bar;\012\012lookup bracketleft_bar {\012 ignore sub bracketleft bracketleft' bar;\012 ignore sub bracketleft' bar bar;\012 ignore sub bracketleft' bar bracketright;\012 sub LIG bar' by bracketleft_bar.liga;\012 sub bracketleft' bar by LIG;\012} bracketleft_bar;\012\012lookup bracketright_numbersign {\012 ignore sub bracketright bracketright' numbersign;\012 ignore sub bracketright' numbersign numbersign;\012 sub LIG numbersign' by bracketright_numbersign.liga;\012 sub bracketright' numbersign by LIG;\012} bracketright_numbersign;\012\012lookup colon_colon {\012 ignore sub colon colon' colon;\012 ignore sub colon' colon colon;\012 ignore sub parenleft question colon' colon;\012 sub LIG colon' by colon_colon.liga;\012 sub colon' colon by LIG;\012} colon_colon;\012\012lookup colon_equal {\012 ignore sub colon colon' equal;\012 ignore sub colon' equal equal;\012 ignore sub parenleft question colon' equal;\012 sub LIG equal' by colon_equal.liga;\012 sub colon' equal by LIG;\012} colon_equal;\012\012lookup colon_greater {\012 ignore sub colon colon' greater;\012 ignore sub colon' greater greater;\012 ignore sub parenleft question colon' greater;\012 ignore sub colon' greater equal;\012 sub LIG greater' by colon_greater.liga;\012 sub colon' greater by LIG;\012} colon_greater;\012\012lookup colon_less {\012 ignore sub colon colon' less;\012 ignore sub colon' less less;\012 ignore sub parenleft question colon' less;\012 sub LIG less' by colon_less.liga;\012 sub colon' less by LIG;\012} colon_less;\012\012lookup dollar_greater {\012 ignore sub dollar dollar' greater;\012 ignore sub dollar' greater greater;\012 sub LIG greater' by dollar_greater.liga;\012 sub dollar' greater by LIG;\012} dollar_greater;\012\012lookup equal_equal {\012 ignore sub equal equal' equal;\012 ignore sub equal' equal equal;\012 ignore sub parenleft question equal' equal;\012 ignore sub parenleft question less equal' equal;\012 sub LIG equal' by equal_equal.liga;\012 sub equal' equal by LIG;\012} equal_equal;\012\012lookup equal_greater {\012 ignore sub equal equal' greater;\012 ignore sub equal' greater greater;\012 ignore sub parenleft question equal' greater;\012 ignore sub parenleft question less equal' greater;\012 sub LIG greater' by equal_greater.liga;\012 sub equal' greater by LIG;\012} equal_greater;\012\012lookup exclam_equal {\012 ignore sub exclam exclam' equal;\012 ignore sub exclam' equal equal;\012 ignore sub parenleft question exclam' equal;\012 ignore sub parenleft question less exclam' equal;\012 sub LIG equal' by exclam_equal.liga;\012 sub exclam' equal by LIG;\012} exclam_equal;\012\012lookup exclam_exclam {\012 ignore sub exclam exclam' exclam;\012 ignore sub exclam' exclam exclam;\012 ignore sub parenleft question exclam' exclam;\012 ignore sub parenleft question less exclam' exclam;\012 sub LIG exclam' by exclam_exclam.liga;\012 sub exclam' exclam by LIG;\012} exclam_exclam;\012\012lookup greater_colon {\012 ignore sub greater greater' colon;\012 ignore sub greater' colon colon;\012 sub LIG colon' by greater_colon.liga;\012 sub greater' colon by LIG;\012} greater_colon;\012\012lookup greater_equal {\012 ignore sub greater greater' equal;\012 ignore sub greater' equal equal;\012 ignore sub greater' equal less;\012 sub LIG equal' by greater_equal.liga;\012 sub greater' equal by LIG;\012} greater_equal;\012\012lookup greater_greater {\012 ignore sub greater greater' greater;\012 ignore sub greater' greater greater;\012 ignore sub asterisk greater' greater;\012 ignore sub plus greater' greater;\012 ignore sub dollar greater' greater;\012 sub LIG greater' by greater_greater.liga;\012 sub greater' greater by LIG;\012} greater_greater;\012\012lookup greater_hyphen {\012 ignore sub greater greater' hyphen;\012 ignore sub greater' hyphen hyphen;\012 sub LIG hyphen' by greater_hyphen.liga;\012 sub greater' hyphen by LIG;\012} greater_hyphen;\012\012lookup hyphen_asciitilde {\012 ignore sub hyphen hyphen' asciitilde;\012 ignore sub hyphen' asciitilde asciitilde;\012 sub LIG asciitilde' by hyphen_asciitilde.liga;\012 sub hyphen' asciitilde by LIG;\012} hyphen_asciitilde;\012\012lookup hyphen_bar {\012 ignore sub hyphen hyphen' bar;\012 ignore sub hyphen' bar bar;\012 ignore sub bar hyphen' bar;\012 sub LIG bar' by hyphen_bar.liga;\012 sub hyphen' bar by LIG;\012} hyphen_bar;\012\012lookup hyphen_greater {\012 ignore sub hyphen hyphen' greater;\012 ignore sub hyphen' greater greater;\012 sub LIG greater' by hyphen_greater.liga;\012 sub hyphen' greater by LIG;\012} hyphen_greater;\012\012lookup hyphen_hyphen {\012 ignore sub hyphen hyphen' hyphen;\012 ignore sub hyphen' hyphen hyphen;\012 sub LIG hyphen' by hyphen_hyphen.liga;\012 sub hyphen' hyphen by LIG;\012} hyphen_hyphen;\012\012lookup hyphen_less {\012 ignore sub hyphen hyphen' less;\012 ignore sub hyphen' less less;\012 sub LIG less' by hyphen_less.liga;\012 sub hyphen' less by LIG;\012} hyphen_less;\012\012lookup less_asciitilde {\012 ignore sub less less' asciitilde;\012 ignore sub less' asciitilde asciitilde;\012 sub LIG asciitilde' by less_asciitilde.liga;\012 sub less' asciitilde by LIG;\012} less_asciitilde;\012\012lookup less_asterisk {\012 ignore sub less less' asterisk;\012 ignore sub less' asterisk asterisk;\012 sub LIG asterisk' by less_asterisk.liga;\012 sub less' asterisk by LIG;\012} less_asterisk;\012\012lookup less_bar {\012 ignore sub less less' bar;\012 ignore sub less' bar bar;\012 sub LIG bar' by less_bar.liga;\012 sub less' bar by LIG;\012} less_bar;\012\012lookup less_colon {\012 ignore sub less less' colon;\012 ignore sub less' colon colon;\012 sub LIG colon' by less_colon.liga;\012 sub less' colon by LIG;\012} less_colon;\012\012lookup less_dollar {\012 ignore sub less less' dollar;\012 ignore sub less' dollar dollar;\012 sub LIG dollar' by less_dollar.liga;\012 sub less' dollar by LIG;\012} less_dollar;\012\012lookup less_equal {\012 ignore sub less less' equal;\012 ignore sub less' equal equal;\012 ignore sub parenleft question less' equal;\012 sub LIG equal' by less_equal.liga;\012 sub less' equal by LIG;\012} less_equal;\012\012lookup less_greater {\012 ignore sub less less' greater;\012 ignore sub less' greater greater;\012 sub LIG greater' by less_greater.liga;\012 sub less' greater by LIG;\012} less_greater;\012\012lookup less_hyphen {\012 ignore sub less less' hyphen;\012 ignore sub less' hyphen hyphen;\012 sub LIG hyphen' by less_hyphen.liga;\012 sub less' hyphen by LIG;\012} less_hyphen;\012\012lookup less_less {\012 ignore sub less less' less;\012 ignore sub less' less less;\012 ignore sub less' less asterisk;\012 ignore sub less' less plus;\012 ignore sub less' less dollar;\012 sub LIG less' by less_less.liga;\012 sub less' less by LIG;\012} less_less;\012\012lookup less_plus {\012 ignore sub less less' plus;\012 ignore sub less' plus plus;\012 sub LIG plus' by less_plus.liga;\012 sub less' plus by LIG;\012} less_plus;\012\012lookup less_slash {\012 ignore sub less less' slash;\012 ignore sub less' slash slash;\012 sub LIG slash' by less_slash.liga;\012 sub less' slash by LIG;\012} less_slash;\012\012lookup numbersign_braceleft {\012 ignore sub numbersign numbersign' braceleft;\012 ignore sub numbersign' braceleft braceleft;\012 sub LIG braceleft' by numbersign_braceleft.liga;\012 sub numbersign' braceleft by LIG;\012} numbersign_braceleft;\012\012lookup numbersign_bracketleft {\012 ignore sub numbersign numbersign' bracketleft;\012 ignore sub numbersign' bracketleft bracketleft;\012 sub LIG bracketleft' by numbersign_bracketleft.liga;\012 sub numbersign' bracketleft by LIG;\012} numbersign_bracketleft;\012\012lookup numbersign_colon {\012 ignore sub numbersign numbersign' colon;\012 ignore sub numbersign' colon colon;\012 sub LIG colon' by numbersign_colon.liga;\012 sub numbersign' colon by LIG;\012} numbersign_colon;\012\012lookup numbersign_equal {\012 ignore sub numbersign numbersign' equal;\012 ignore sub numbersign' equal equal;\012 sub LIG equal' by numbersign_equal.liga;\012 sub numbersign' equal by LIG;\012} numbersign_equal;\012\012lookup numbersign_exclam {\012 ignore sub numbersign numbersign' exclam;\012 ignore sub numbersign' exclam exclam;\012 sub LIG exclam' by numbersign_exclam.liga;\012 sub numbersign' exclam by LIG;\012} numbersign_exclam;\012\012lookup numbersign_numbersign {\012 ignore sub numbersign numbersign' numbersign;\012 ignore sub numbersign' numbersign numbersign;\012 sub LIG numbersign' by numbersign_numbersign.liga;\012 sub numbersign' numbersign by LIG;\012} numbersign_numbersign;\012\012lookup numbersign_parenleft {\012 ignore sub numbersign numbersign' parenleft;\012 ignore sub numbersign' parenleft parenleft;\012 sub LIG parenleft' by numbersign_parenleft.liga;\012 sub numbersign' parenleft by LIG;\012} numbersign_parenleft;\012\012lookup numbersign_question {\012 ignore sub numbersign numbersign' question;\012 ignore sub numbersign' question question;\012 sub LIG question' by numbersign_question.liga;\012 sub numbersign' question by LIG;\012} numbersign_question;\012\012lookup numbersign_underscore {\012 ignore sub numbersign numbersign' underscore;\012 ignore sub numbersign' underscore underscore;\012 sub LIG underscore' by numbersign_underscore.liga;\012 sub numbersign' underscore by LIG;\012} numbersign_underscore;\012\012lookup percent_percent {\012 ignore sub percent percent' percent;\012 ignore sub percent' percent percent;\012 sub LIG percent' by percent_percent.liga;\012 sub percent' percent by LIG;\012} percent_percent;\012\012lookup period_equal {\012 ignore sub period period' equal;\012 ignore sub period' equal equal;\012 sub LIG equal' by period_equal.liga;\012 sub period' equal by LIG;\012} period_equal;\012\012lookup period_hyphen {\012 ignore sub period period' hyphen;\012 ignore sub period' hyphen hyphen;\012 sub LIG hyphen' by period_hyphen.liga;\012 sub period' hyphen by LIG;\012} period_hyphen;\012\012lookup period_period {\012 ignore sub period period' period;\012 ignore sub period' period period;\012 sub LIG period' by period_period.liga;\012 sub period' period by LIG;\012} period_period;\012\012lookup period_question {\012 ignore sub period period' question;\012 ignore sub period' question question;\012 sub LIG question' by period_question.liga;\012 sub period' question by LIG;\012} period_question;\012\012lookup plus_greater {\012 ignore sub plus plus' greater;\012 ignore sub plus' greater greater;\012 sub LIG greater' by plus_greater.liga;\012 sub plus' greater by LIG;\012} plus_greater;\012\012lookup plus_plus {\012 ignore sub plus plus' plus;\012 ignore sub plus' plus plus;\012 sub LIG plus' by plus_plus.liga;\012 sub plus' plus by LIG;\012} plus_plus;\012\012lookup question_colon {\012 ignore sub question question' colon;\012 ignore sub question' colon colon;\012 ignore sub parenleft question' colon;\012 sub LIG colon' by question_colon.liga;\012 sub question' colon by LIG;\012} question_colon;\012\012lookup question_equal {\012 ignore sub question question' equal;\012 ignore sub question' equal equal;\012 ignore sub parenleft question' equal;\012 sub LIG equal' by question_equal.liga;\012 sub question' equal by LIG;\012} question_equal;\012\012lookup question_period {\012 ignore sub question question' period;\012 ignore sub question' period period;\012 sub LIG period' by question_period.liga;\012 sub question' period by LIG;\012} question_period;\012\012lookup question_question {\012 ignore sub question question' question;\012 ignore sub question' question question;\012 sub LIG question' by question_question.liga;\012 sub question' question by LIG;\012} question_question;\012\012lookup semicolon_semicolon {\012 ignore sub semicolon semicolon' semicolon;\012 ignore sub semicolon' semicolon semicolon;\012 sub LIG semicolon' by semicolon_semicolon.liga;\012 sub semicolon' semicolon by LIG;\012} semicolon_semicolon;\012\012lookup slash_asterisk {\012 ignore sub slash slash' asterisk;\012 ignore sub slash' asterisk asterisk;\012 ignore sub slash' asterisk slash;\012 ignore sub asterisk slash' asterisk;\012 sub LIG asterisk' by slash_asterisk.liga;\012 sub slash' asterisk by LIG;\012} slash_asterisk;\012\012lookup slash_equal {\012 ignore sub slash slash' equal;\012 ignore sub slash' equal equal;\012 sub LIG equal' by slash_equal.liga;\012 sub slash' equal by LIG;\012} slash_equal;\012\012lookup slash_greater {\012 ignore sub slash slash' greater;\012 ignore sub slash' greater greater;\012 sub LIG greater' by slash_greater.liga;\012 sub slash' greater by LIG;\012} slash_greater;\012\012lookup slash_slash {\012 ignore sub slash slash' slash;\012 ignore sub slash' slash slash;\012 sub LIG slash' by slash_slash.liga;\012 sub slash' slash by LIG;\012} slash_slash;\012\012lookup underscore_underscore {\012 ignore sub underscore underscore' underscore;\012 ignore sub underscore' underscore underscore;\012 sub LIG underscore' by underscore_underscore.liga;\012 sub underscore' underscore by LIG;\012} underscore_underscore;\012### end of generated calt\012\012sub less asciitilde' greater by asciitilde_asciitilde.liga;\012\012lookup lowercase_hyphen {\012 ignore sub @Tall \\hyphen' @Lowercase;\012 ignore sub @Lowercase \\hyphen' @Tall; \012 sub \\hyphen' @Lowercase by \\hyphen.lc;\012 sub @Lowercase \\hyphen' by \\hyphen.lc;\012} lowercase_hyphen;\012\012lookup lowercase_plus {\012 ignore sub @Tall \\plus' @Lowercase;\012 ignore sub @Lowercase \\plus' @Tall;\012 sub \\plus' @Lowercase by \\plus.lc;\012 sub @Lowercase \\plus' by \\plus.lc;\012} lowercase_plus;\012\012lookup lowercase_asterisk {\012 ignore sub @Tall \\asterisk' @Lowercase;\012 ignore sub @Lowercase \\asterisk' @Tall;\012 sub \\asterisk' @Lowercase by \\asterisk.lc;\012 sub @Lowercase \\asterisk' by \\asterisk.lc;\012} lowercase_asterisk;\012\012lookup uppercase_colon {\012 ignore sub @Tall \\colon' @Lowercase;\012 ignore sub @Lowercase \\colon' @Tall;\012 sub @Tall \\colon' by \\colon.uc;\012 sub \\colon' @Tall by \\colon.uc;\012} uppercase_colon;\012\012# 738\012lookup slash_backslash {\012 ignore sub @NotSpace slash' backslash;\012 ignore sub slash' backslash @NotSpace;\012 sub LIG backslash' by slash_backslash.liga;\012 sub slash' backslash by LIG;\012} slash_backslash;\012\012lookup backslash_slash {\012 ignore sub @NotSpace backslash' slash;\012 ignore sub backslash' slash @NotSpace;\012 sub LIG slash' by backslash_slash.liga;\012 sub backslash' slash by LIG;\012} backslash_slash;\012\012# 795\012sub \\f' \\i by \\f.salt_highbar;\012sub \\f \\l' by \\l.salt_noserif;\012\012###\012sub \\zero \\x' @HexDigit by \\x.multiply;\012sub @Digit \\x' @Digit by \\x.multiply;\012# sub \\bracketleft [\\x \\X]' \\bracketright by \\x.multiply;\012# sub \\bracketleft [\\v \\V]' \\bracketright by \\checkmark;\012\012###\012\012lookup caltGreekUCdiph {\012 sub @GreekUCdiphIOTA Iota' by Iotadieresis;\012 sub @GreekUCdiphUPSILON Upsilon' by Upsilondieresis;\012} caltGreekUCdiph;\012\012lookup caltGreekUC {\012 sub @GreekUCAcc' @GreekUC by @GreekUCcalt;\012 sub @GreekUC @GreekUCAcc' by @GreekUCcalt;\012 sub @GreekUCAcc' space @GreekUC by @GreekUCcalt;\012 sub @GreekUC space @GreekUCAcc' by @GreekUCcalt;\012} caltGreekUC;\012"; name = calt; }, { @@ -62252,85 +62251,6 @@ width = 1200; }, { color = 3; -glyphname = period_period_equal.liga; -lastChange = "2019-04-04 19:13:18 +0000"; -layers = ( -{ -components = ( -{ -alignment = -1; -name = bullet; -transform = "{1, 0, 0, 1, -2400, -66}"; -}, -{ -alignment = -1; -name = bullet; -transform = "{1, 0, 0, 1, -1500, -66}"; -} -); -layerId = "4B7A3BAF-EAD8-4024-9BEA-BB1DE86CFCFA"; -paths = ( -{ -closed = 1; -nodes = ( -"-268 956 LINE", -"-268 709 LINE", -"1054 709 LINE", -"1054 956 LINE" -); -}, -{ -closed = 1; -nodes = ( -"-268 535 LINE", -"-268 290 LINE", -"1054 290 LINE", -"1054 535 LINE" -); -} -); -width = 1200; -}, -{ -components = ( -{ -alignment = -1; -name = bullet; -transform = "{1, 0, 0, 1, -2400, -66}"; -}, -{ -alignment = -1; -name = bullet; -transform = "{1, 0, 0, 1, -1500, -66}"; -} -); -layerId = "B67F0F2D-EC95-4CB8-966E-23AE86958A69"; -paths = ( -{ -closed = 1; -nodes = ( -"-195 863 LINE", -"-195 748 LINE", -"970 748 LINE", -"970 863 LINE" -); -}, -{ -closed = 1; -nodes = ( -"-195 496 LINE", -"-195 380 LINE", -"970 380 LINE", -"970 496 LINE" -); -} -); -width = 1200; -} -); -}, -{ -color = 3; glyphname = period_period_less.liga; lastChange = "2019-04-04 19:13:18 +0000"; layers = ( @@ -65765,6 +65685,86 @@ width = 1200; ); }, { +color = 6; +export = 0; +glyphname = period_period_equal.liga; +lastChange = "2019-09-02 17:29:59 +0000"; +layers = ( +{ +components = ( +{ +alignment = -1; +name = bullet; +transform = "{1, 0, 0, 1, -2400, -66}"; +}, +{ +alignment = -1; +name = bullet; +transform = "{1, 0, 0, 1, -1500, -66}"; +} +); +layerId = "4B7A3BAF-EAD8-4024-9BEA-BB1DE86CFCFA"; +paths = ( +{ +closed = 1; +nodes = ( +"-268 956 LINE", +"-268 709 LINE", +"1054 709 LINE", +"1054 956 LINE" +); +}, +{ +closed = 1; +nodes = ( +"-268 535 LINE", +"-268 290 LINE", +"1054 290 LINE", +"1054 535 LINE" +); +} +); +width = 1200; +}, +{ +components = ( +{ +alignment = -1; +name = bullet; +transform = "{1, 0, 0, 1, -2400, -66}"; +}, +{ +alignment = -1; +name = bullet; +transform = "{1, 0, 0, 1, -1500, -66}"; +} +); +layerId = "B67F0F2D-EC95-4CB8-966E-23AE86958A69"; +paths = ( +{ +closed = 1; +nodes = ( +"-195 863 LINE", +"-195 748 LINE", +"970 748 LINE", +"970 863 LINE" +); +}, +{ +closed = 1; +nodes = ( +"-195 496 LINE", +"-195 380 LINE", +"970 380 LINE", +"970 496 LINE" +); +} +); +width = 1200; +} +); +}, +{ color = 3; export = 0; glyphname = hyphen_braceright.rem; @@ -114817,9 +114817,7 @@ unitsPerEm = 1950; userData = { GSDimensionPlugin.Dimensions = { "B67F0F2D-EC95-4CB8-966E-23AE86958A69" = { -" -}; -"BF448B58-7A35-489E-A1C9-12628F60690C"" = { + }; "BF448B58-7A35-489E-A1C9-12628F60690C" = { HH = 141; @@ -114843,7 +114841,4 @@ oV = 98; }; versionMajor = 1; versionMinor = 207; -}; -versionMajor = 1; -versionMinor = 1; -} +} \ No newline at end of file diff --git a/clojure/glyphs.clj b/clojure/glyphs.clj index 4425b02..5819816 100755 --- a/clojure/glyphs.clj +++ b/clojure/glyphs.clj @@ -53,7 +53,11 @@ :else res)))) (defn expect [c] - (assert (= c (current-char)) (str "Expected '" c "', found " (current-char) " at " @*pos))) + (assert (= c (current-char)) + (str "Expected '" c + "', found " (current-char) + " at " @*pos + " around here:\n" (subs @*str (max 0 (- @*pos 100)) (min (count @*str) (+ @*pos 100)))))) (defn parse-map! [] (skip-ws!) @@ -111,8 +115,16 @@ (str \" (str/replace form escape-re escapes) \")) (keyword? form) (name form) (number? form) (str form) + (instance? clojure.lang.MapEntry form) + (str + (serialize (key form)) + " = " + (if (= ".appVersion" (key form)) ;; https://github.com/googlefonts/glyphsLib/issues/209 + (str \" (val form) \") + (serialize (val form))) + ";") (sequential? form) (str "(\n" (str/join ",\n" (map serialize form)) "\n)") - (map? form) (str "{\n" (str/join "\n" (for [[k v] form] (str (serialize k) " = " (serialize v) ";"))) "\n}"))) + (map? form) (str "{\n" (str/join "\n" (map serialize form)) "\n}"))) ; (-> (slurp "FiraCode.glyphs") parse serialize (->> (spit "FiraCode_saved.glyphs"))) diff --git a/clojure/regen_calt.clj b/clojure/regen_calt.clj index ffa96da..d74455f 100755 --- a/clojure/regen_calt.clj +++ b/clojure/regen_calt.clj @@ -193,6 +193,7 @@ ligas (for [g (:glyphs font) :let [name (:glyphname g)] :when (str/ends-with? name ".liga") + :when (not= "0" (:export g)) :let [[_ liga] (re-matches #"([a-z_]+)\.liga" name)]] (str/split liga #"_")) ;; [ ["dash" "greater" "greater"] ... ] calt (->> ligas (remove manual?) (sort compare-ligas) (map liga->rule) (str/join "\n\n"))