diff --git a/FiraCode.glyphs b/FiraCode.glyphs index 29daa4b787..73b81905ba 100644 --- a/FiraCode.glyphs +++ b/FiraCode.glyphs @@ -1,7 +1,7 @@ { .appVersion = "895"; DisplayStrings = ( -"#[]#" +"" ); classes = ( { @@ -100,7 +100,7 @@ name = note; value = "Based on Fira Mono 3.206"; } ); -date = "2016-08-30 08:53:10 +0000"; +date = "2016-09-17 12:32:47 +0000"; designer = "Nikita Prokopov"; designerURL = "http://tonsky.me"; familyName = "Fira Code"; @@ -187,7 +187,7 @@ code = "pos @Uppercase <5 0 10 0>;\012"; name = cpsp; }, { -code = "### start of generated calt\012\012 lookup less_exclam_hyphen_hyphen {\012 ignore sub less less' exclam hyphen hyphen;\012 ignore sub less' exclam hyphen hyphen hyphen;\012 sub CR CR CR hyphen' by less_exclam_hyphen_hyphen.liga;\012 sub CR CR hyphen' hyphen by CR;\012 sub CR exclam' hyphen hyphen by CR;\012 sub less' exclam hyphen hyphen by CR;\012 } less_exclam_hyphen_hyphen;\012\012 lookup numbersign_numbersign_numbersign_numbersign {\012 ignore sub numbersign numbersign' numbersign numbersign numbersign;\012 ignore sub numbersign' numbersign numbersign numbersign numbersign;\012 sub CR CR CR numbersign' by numbersign_numbersign_numbersign_numbersign.liga;\012 sub CR CR numbersign' numbersign by CR;\012 sub CR numbersign' numbersign numbersign by CR;\012 sub numbersign' numbersign numbersign numbersign by CR;\012 } numbersign_numbersign_numbersign_numbersign;\012\012 lookup less_plus_greater {\012 ignore sub less less' plus greater;\012 ignore sub less' plus greater greater;\012 sub CR CR greater' by less_plus_greater.liga;\012 sub CR plus' greater by CR;\012 sub less' plus greater by CR;\012 } less_plus_greater;\012\012 lookup less_dollar_greater {\012 ignore sub less less' dollar greater;\012 ignore sub less' dollar greater greater;\012 sub CR CR greater' by less_dollar_greater.liga;\012 sub CR dollar' greater by CR;\012 sub less' dollar greater by CR;\012 } less_dollar_greater;\012\012 lookup bar_bar_equal {\012 ignore sub bar bar' bar equal;\012 ignore sub bar' bar equal equal;\012 sub CR CR equal' by bar_bar_equal.liga;\012 sub CR bar' equal by CR;\012 sub bar' bar equal by CR;\012 } bar_bar_equal;\012\012 lookup less_hyphen_greater {\012 ignore sub less less' hyphen greater;\012 ignore sub less' hyphen greater greater;\012 sub CR CR greater' by less_hyphen_greater.liga;\012 sub CR hyphen' greater by CR;\012 sub less' hyphen greater by CR;\012 } less_hyphen_greater;\012\012 lookup greater_greater_hyphen {\012 ignore sub greater greater' greater hyphen;\012 ignore sub greater' greater hyphen hyphen;\012 sub CR CR hyphen' by greater_greater_hyphen.liga;\012 sub CR greater' hyphen by CR;\012 sub greater' greater hyphen by CR;\012 } greater_greater_hyphen;\012\012 lookup equal_less_less {\012 ignore sub equal equal' less less;\012 ignore sub equal' less less less;\012 sub CR CR less' by equal_less_less.liga;\012 sub CR less' less by CR;\012 sub equal' less less by CR;\012 } equal_less_less;\012\012 lookup less_equal_less {\012 ignore sub less less' equal less;\012 ignore sub less' equal less less;\012 sub CR CR less' by less_equal_less.liga;\012 sub CR equal' less by CR;\012 sub less' equal less by CR;\012 } less_equal_less;\012\012 lookup asciitilde_asciitilde_greater {\012 ignore sub asciitilde asciitilde' asciitilde greater;\012 ignore sub asciitilde' asciitilde greater greater;\012 sub CR CR greater' by asciitilde_asciitilde_greater.liga;\012 sub CR asciitilde' greater by CR;\012 sub asciitilde' asciitilde greater by CR;\012 } asciitilde_asciitilde_greater;\012\012 lookup numbersign_numbersign_numbersign {\012 ignore sub numbersign numbersign' numbersign numbersign;\012 ignore sub numbersign' numbersign numbersign numbersign;\012 sub CR CR numbersign' by numbersign_numbersign_numbersign.liga;\012 sub CR numbersign' numbersign by CR;\012 sub numbersign' numbersign numbersign by CR;\012 } numbersign_numbersign_numbersign;\012\012 lookup 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 CR CR asterisk' by asterisk_asterisk_asterisk.liga;\012 sub CR asterisk' asterisk by CR;\012 sub asterisk' asterisk asterisk by CR;\012 } asterisk_asterisk_asterisk;\012\012 lookup backslash_backslash_backslash {\012 ignore sub backslash backslash' backslash backslash;\012 ignore sub backslash' backslash backslash backslash;\012 sub CR CR backslash' by backslash_backslash_backslash.liga;\012 sub CR backslash' backslash by CR;\012 sub backslash' backslash backslash by CR;\012 } backslash_backslash_backslash;\012\012 lookup less_less_equal {\012 ignore sub less less' less equal;\012 ignore sub less' less equal equal;\012 sub CR CR equal' by less_less_equal.liga;\012 sub CR less' equal by CR;\012 sub less' less equal by CR;\012 } less_less_equal;\012\012 lookup less_bar_greater {\012 ignore sub less less' bar greater;\012 ignore sub less' bar greater greater;\012 sub CR CR greater' by less_bar_greater.liga;\012 sub CR bar' greater by CR;\012 sub less' bar greater by CR;\012 } less_bar_greater;\012\012 lookup w_w_w {\012 ignore sub w w' w w;\012 ignore sub w' w w w;\012 sub CR CR w' by w_w_w.liga;\012 sub CR w' w by CR;\012 sub w' w w by CR;\012 } w_w_w;\012\012 lookup slash_slash_slash {\012 ignore sub slash slash' slash slash;\012 ignore sub slash' slash slash slash;\012 sub CR CR slash' by slash_slash_slash.liga;\012 sub CR slash' slash by CR;\012 sub slash' slash slash by CR;\012 } slash_slash_slash;\012\012 lookup slash_equal_equal {\012 ignore sub slash slash' equal equal;\012 ignore sub slash' equal equal equal;\012 sub CR CR equal' by slash_equal_equal.liga;\012 sub CR equal' equal by CR;\012 sub slash' equal equal by CR;\012 } slash_equal_equal;\012\012 lookup less_hyphen_hyphen {\012 ignore sub less less' hyphen hyphen;\012 ignore sub less' hyphen hyphen hyphen;\012 sub CR CR hyphen' by less_hyphen_hyphen.liga;\012 sub CR hyphen' hyphen by CR;\012 sub less' hyphen hyphen by CR;\012 } less_hyphen_hyphen;\012\012 lookup equal_greater_greater {\012 ignore sub equal equal' greater greater;\012 ignore sub equal' greater greater greater;\012 sub CR CR greater' by equal_greater_greater.liga;\012 sub CR greater' greater by CR;\012 sub equal' greater greater by CR;\012 } equal_greater_greater;\012\012 lookup less_less_hyphen {\012 ignore sub less less' less hyphen;\012 ignore sub less' less hyphen hyphen;\012 sub CR CR hyphen' by less_less_hyphen.liga;\012 sub CR less' hyphen by CR;\012 sub less' less hyphen by CR;\012 } less_less_hyphen;\012\012 lookup hyphen_hyphen_hyphen {\012 ignore sub hyphen hyphen' hyphen hyphen;\012 ignore sub hyphen' hyphen hyphen hyphen;\012 sub CR CR hyphen' by hyphen_hyphen_hyphen.liga;\012 sub CR hyphen' hyphen by CR;\012 sub hyphen' hyphen hyphen by CR;\012 } hyphen_hyphen_hyphen;\012\012 lookup less_slash_greater {\012 ignore sub less less' slash greater;\012 ignore sub less' slash greater greater;\012 sub CR CR greater' by less_slash_greater.liga;\012 sub CR slash' greater by CR;\012 sub less' slash greater by CR;\012 } less_slash_greater;\012\012 lookup hyphen_greater_greater {\012 ignore sub hyphen hyphen' greater greater;\012 ignore sub hyphen' greater greater greater;\012 sub CR CR greater' by hyphen_greater_greater.liga;\012 sub CR greater' greater by CR;\012 sub hyphen' greater greater by CR;\012 } hyphen_greater_greater;\012\012 lookup hyphen_less_less {\012 ignore sub hyphen hyphen' less less;\012 ignore sub hyphen' less less less;\012 sub CR CR less' by hyphen_less_less.liga;\012 sub CR less' less by CR;\012 sub hyphen' less less by CR;\012 } hyphen_less_less;\012\012 lookup less_less_less {\012 ignore sub less less' less less;\012 ignore sub less' less less less;\012 sub CR CR less' by less_less_less.liga;\012 sub CR less' less by CR;\012 sub less' less less by CR;\012 } less_less_less;\012\012 lookup equal_equal_greater {\012 ignore sub equal equal' equal greater;\012 ignore sub equal' equal greater greater;\012 sub CR CR greater' by equal_equal_greater.liga;\012 sub CR equal' greater by CR;\012 sub equal' equal greater by CR;\012 } equal_equal_greater;\012\012 lookup period_period_period {\012 ignore sub period period' period period;\012 ignore sub period' period period period;\012 sub CR CR period' by period_period_period.liga;\012 sub CR period' period by CR;\012 sub period' period period by CR;\012 } period_period_period;\012\012 lookup less_equal_equal {\012 ignore sub less less' equal equal;\012 ignore sub less' equal equal equal;\012 sub CR CR equal' by less_equal_equal.liga;\012 sub CR equal' equal by CR;\012 sub less' equal equal by CR;\012 } less_equal_equal;\012\012 lookup greater_equal_greater {\012 ignore sub greater greater' equal greater;\012 ignore sub greater' equal greater greater;\012 sub CR CR greater' by greater_equal_greater.liga;\012 sub CR equal' greater by CR;\012 sub greater' equal greater by CR;\012 } greater_equal_greater;\012\012 lookup less_asterisk_greater {\012 ignore sub less less' asterisk greater;\012 ignore sub less' asterisk greater greater;\012 sub CR CR greater' by less_asterisk_greater.liga;\012 sub CR asterisk' greater by CR;\012 sub less' asterisk greater by CR;\012 } less_asterisk_greater;\012\012 lookup numbersign_underscore_parenleft {\012 ignore sub numbersign numbersign' underscore parenleft;\012 ignore sub numbersign' underscore parenleft parenleft;\012 sub CR CR parenleft' by numbersign_underscore_parenleft.liga;\012 sub CR underscore' parenleft by CR;\012 sub numbersign' underscore parenleft by CR;\012 } numbersign_underscore_parenleft;\012\012 lookup plus_plus_plus {\012 ignore sub plus plus' plus plus;\012 ignore sub plus' plus plus plus;\012 sub CR CR plus' by plus_plus_plus.liga;\012 sub CR plus' plus by CR;\012 sub plus' plus plus by CR;\012 } plus_plus_plus;\012\012 lookup less_asciitilde_asciitilde {\012 ignore sub less less' asciitilde asciitilde;\012 ignore sub less' asciitilde asciitilde asciitilde;\012 sub CR CR asciitilde' by less_asciitilde_asciitilde.liga;\012 sub CR asciitilde' asciitilde by CR;\012 sub less' asciitilde asciitilde by CR;\012 } less_asciitilde_asciitilde;\012\012 lookup exclam_equal_equal {\012 ignore sub exclam exclam' equal equal;\012 ignore sub exclam' equal equal equal;\012 sub CR CR equal' by exclam_equal_equal.liga;\012 sub CR equal' equal by CR;\012 sub exclam' equal equal by CR;\012 } exclam_equal_equal;\012\012 lookup hyphen_hyphen_greater {\012 ignore sub hyphen hyphen' hyphen greater;\012 ignore sub hyphen' hyphen greater greater;\012 sub CR CR greater' by hyphen_hyphen_greater.liga;\012 sub CR hyphen' greater by CR;\012 sub hyphen' hyphen greater by CR;\012 } hyphen_hyphen_greater;\012\012 lookup equal_slash_equal {\012 ignore sub equal equal' slash equal;\012 ignore sub equal' slash equal equal;\012 sub CR CR equal' by equal_slash_equal.liga;\012 sub CR slash' equal by CR;\012 sub equal' slash equal by CR;\012 } equal_slash_equal;\012\012 lookup less_equal_greater {\012 ignore sub less less' equal greater;\012 ignore sub less' equal greater greater;\012 sub CR CR greater' by less_equal_greater.liga;\012 sub CR equal' greater by CR;\012 sub less' equal greater by CR;\012 } less_equal_greater;\012\012 lookup greater_greater_greater {\012 ignore sub greater greater' greater greater;\012 ignore sub greater' greater greater greater;\012 sub CR CR greater' by greater_greater_greater.liga;\012 sub CR greater' greater by CR;\012 sub greater' greater greater by CR;\012 } greater_greater_greater;\012\012 lookup greater_greater_equal {\012 ignore sub greater greater' greater equal;\012 ignore sub greater' greater equal equal;\012 sub CR CR equal' by greater_greater_equal.liga;\012 sub CR greater' equal by CR;\012 sub greater' greater equal by CR;\012 } greater_greater_equal;\012\012 lookup period_period_less {\012 ignore sub period period' period less;\012 ignore sub period' period less less;\012 sub CR CR less' by period_period_less.liga;\012 sub CR period' less by CR;\012 sub period' period less by CR;\012 } period_period_less;\012\012 lookup equal_colon_equal {\012 ignore sub equal equal' colon equal;\012 ignore sub equal' colon equal equal;\012 sub CR CR equal' by equal_colon_equal.liga;\012 sub CR colon' equal by CR;\012 sub equal' colon equal by CR;\012 } equal_colon_equal;\012\012 lookup equal_equal_equal {\012 ignore sub equal equal' equal equal;\012 ignore sub equal' equal equal equal;\012 sub CR CR equal' by equal_equal_equal.liga;\012 sub CR equal' equal by CR;\012 sub equal' equal equal by CR;\012 } equal_equal_equal;\012\012 lookup colon_colon_colon {\012 ignore sub colon colon' colon colon;\012 ignore sub colon' colon colon colon;\012 sub CR CR colon' by colon_colon_colon.liga;\012 sub CR colon' colon by CR;\012 sub colon' colon colon by CR;\012 } colon_colon_colon;\012\012 lookup less_dollar {\012 ignore sub less less' dollar;\012 ignore sub less' dollar dollar;\012 sub CR dollar' by less_dollar.liga;\012 sub less' dollar by CR;\012 } less_dollar;\012\012 lookup question_question {\012 ignore sub question question' question;\012 ignore sub question' question question;\012 sub CR question' by question_question.liga;\012 sub question' question by CR;\012 } question_question;\012\012 lookup asciitilde_asciitilde {\012 ignore sub asciitilde asciitilde' asciitilde;\012 ignore sub asciitilde' asciitilde asciitilde;\012 sub CR asciitilde' by asciitilde_asciitilde.liga;\012 sub asciitilde' asciitilde by CR;\012 } asciitilde_asciitilde;\012\012 lookup 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 CR asterisk' by asterisk_asterisk.liga;\012 sub asterisk' asterisk by CR;\012 } asterisk_asterisk;\012\012 lookup greater_greater {\012 ignore sub greater greater' greater;\012 ignore sub greater' greater greater;\012 sub CR greater' by greater_greater.liga;\012 sub greater' greater by CR;\012 } greater_greater;\012\012 lookup slash_slash {\012 ignore sub slash slash' slash;\012 ignore sub slash' slash slash;\012 sub CR slash' by slash_slash.liga;\012 sub slash' slash by CR;\012 } slash_slash;\012\012 lookup colon_equal {\012 ignore sub colon colon' equal;\012 ignore sub colon' equal equal;\012 sub CR equal' by colon_equal.liga;\012 sub colon' equal by CR;\012 } colon_equal;\012\012 lookup less_greater {\012 ignore sub less less' greater;\012 ignore sub less' greater greater;\012 sub CR greater' by less_greater.liga;\012 sub less' greater by CR;\012 } less_greater;\012\012 lookup exclam_exclam {\012 ignore sub exclam exclam' exclam;\012 ignore sub exclam' exclam exclam;\012 sub CR exclam' by exclam_exclam.liga;\012 sub exclam' exclam by CR;\012 } exclam_exclam;\012\012 lookup asciitilde_greater {\012 ignore sub asciitilde asciitilde' greater;\012 ignore sub asciitilde' greater greater;\012 sub CR greater' by asciitilde_greater.liga;\012 sub asciitilde' greater by CR;\012 } asciitilde_greater;\012\012 lookup bar_greater {\012 ignore sub bar bar' greater;\012 ignore sub bar' greater greater;\012 sub CR greater' by bar_greater.liga;\012 sub bar' greater by CR;\012 } bar_greater;\012\012 lookup less_less {\012 ignore sub less less' less;\012 ignore sub less' less less;\012 sub CR less' by less_less.liga;\012 sub less' less by CR;\012 } less_less;\012\012 lookup hyphen_hyphen {\012 ignore sub hyphen hyphen' hyphen;\012 ignore sub hyphen' hyphen hyphen;\012 sub CR hyphen' by hyphen_hyphen.liga;\012 sub hyphen' hyphen by CR;\012 } hyphen_hyphen;\012\012 lookup ampersand_ampersand {\012 ignore sub ampersand ampersand' ampersand;\012 ignore sub ampersand' ampersand ampersand;\012 sub CR ampersand' by ampersand_ampersand.liga;\012 sub ampersand' ampersand by CR;\012 } ampersand_ampersand;\012\012 lookup question_equal {\012 ignore sub question question' equal;\012 ignore sub question' equal equal;\012 sub CR equal' by question_equal.liga;\012 sub question' equal by CR;\012 } question_equal;\012\012 lookup plus_greater {\012 ignore sub plus plus' greater;\012 ignore sub plus' greater greater;\012 sub CR greater' by plus_greater.liga;\012 sub plus' greater by CR;\012 } plus_greater;\012\012 lookup asciitilde_equal {\012 ignore sub asciitilde asciitilde' equal;\012 ignore sub asciitilde' equal equal;\012 sub CR equal' by asciitilde_equal.liga;\012 sub asciitilde' equal by CR;\012 } asciitilde_equal;\012\012 lookup asciicircum_equal {\012 ignore sub asciicircum asciicircum' equal;\012 ignore sub asciicircum' equal equal;\012 sub CR equal' by asciicircum_equal.liga;\012 sub asciicircum' equal by CR;\012 } asciicircum_equal;\012\012 lookup bar_equal {\012 ignore sub bar bar' equal;\012 ignore sub bar' equal equal;\012 sub CR equal' by bar_equal.liga;\012 sub bar' equal by CR;\012 } bar_equal;\012\012 lookup backslash_backslash {\012 ignore sub backslash backslash' backslash;\012 ignore sub backslash' backslash backslash;\012 sub CR backslash' by backslash_backslash.liga;\012 sub backslash' backslash by CR;\012 } backslash_backslash;\012\012 lookup numbersign_question {\012 ignore sub numbersign numbersign' question;\012 ignore sub numbersign' question question;\012 sub CR question' by numbersign_question.liga;\012 sub numbersign' question by CR;\012 } numbersign_question;\012\012 lookup less_slash {\012 ignore sub less less' slash;\012 ignore sub less' slash slash;\012 sub CR slash' by less_slash.liga;\012 sub less' slash by CR;\012 } less_slash;\012\012 lookup bar_bar {\012 ignore sub bar bar' bar;\012 ignore sub bar' bar bar;\012 sub CR bar' by bar_bar.liga;\012 sub bar' bar by CR;\012 } bar_bar;\012\012 lookup less_plus {\012 ignore sub less less' plus;\012 ignore sub less' plus plus;\012 sub CR plus' by less_plus.liga;\012 sub less' plus by CR;\012 } less_plus;\012\012 lookup numbersign_numbersign {\012 ignore sub numbersign numbersign' numbersign;\012 ignore sub numbersign' numbersign numbersign;\012 sub CR numbersign' by numbersign_numbersign.liga;\012 sub numbersign' numbersign by CR;\012 } numbersign_numbersign;\012\012 lookup numbersign_parenleft {\012 ignore sub numbersign numbersign' parenleft;\012 ignore sub numbersign' parenleft parenleft;\012 sub CR parenleft' by numbersign_parenleft.liga;\012 sub numbersign' parenleft by CR;\012 } numbersign_parenleft;\012\012 lookup greater_hyphen {\012 ignore sub greater greater' hyphen;\012 ignore sub greater' hyphen hyphen;\012 sub CR hyphen' by greater_hyphen.liga;\012 sub greater' hyphen by CR;\012 } greater_hyphen;\012\012 lookup greater_equal {\012 ignore sub greater greater' equal;\012 ignore sub greater' equal equal;\012 sub CR equal' by greater_equal.liga;\012 sub greater' equal by CR;\012 } greater_equal;\012\012 lookup percent_percent {\012 ignore sub percent percent' percent;\012 ignore sub percent' percent percent;\012 sub CR percent' by percent_percent.liga;\012 sub percent' percent by CR;\012 } percent_percent;\012\012 lookup bracketright_numbersign {\012 ignore sub bracketright bracketright' numbersign;\012 ignore sub bracketright' numbersign numbersign;\012 sub CR numbersign' by bracketright_numbersign.liga;\012 sub bracketright' numbersign by CR;\012 } bracketright_numbersign;\012\012 lookup equal_greater {\012 ignore sub equal equal' greater;\012 ignore sub equal' greater greater;\012 sub CR greater' by equal_greater.liga;\012 sub equal' greater by CR;\012 } equal_greater;\012\012 lookup hyphen_less {\012 ignore sub hyphen hyphen' less;\012 ignore sub hyphen' less less;\012 sub CR less' by hyphen_less.liga;\012 sub hyphen' less by CR;\012 } hyphen_less;\012\012 lookup asciitilde_hyphen {\012 ignore sub asciitilde asciitilde' hyphen;\012 ignore sub asciitilde' hyphen hyphen;\012 sub CR hyphen' by asciitilde_hyphen.liga;\012 sub asciitilde' hyphen by CR;\012 } asciitilde_hyphen;\012\012 lookup equal_equal {\012 ignore sub equal equal' equal;\012 ignore sub equal' equal equal;\012 sub CR equal' by equal_equal.liga;\012 sub equal' equal by CR;\012 } equal_equal;\012\012 lookup period_equal {\012 ignore sub period period' equal;\012 ignore sub period' equal equal;\012 sub CR equal' by period_equal.liga;\012 sub period' equal by CR;\012 } period_equal;\012\012 lookup numbersign_underscore {\012 ignore sub numbersign numbersign' underscore;\012 ignore sub numbersign' underscore underscore;\012 sub CR underscore' by numbersign_underscore.liga;\012 sub numbersign' underscore by CR;\012 } numbersign_underscore;\012\012 lookup less_bar {\012 ignore sub less less' bar;\012 ignore sub less' bar bar;\012 sub CR bar' by less_bar.liga;\012 sub less' bar by CR;\012 } less_bar;\012\012 lookup hyphen_asciitilde {\012 ignore sub hyphen hyphen' asciitilde;\012 ignore sub hyphen' asciitilde asciitilde;\012 sub CR asciitilde' by hyphen_asciitilde.liga;\012 sub hyphen' asciitilde by CR;\012 } hyphen_asciitilde;\012\012 lookup asterisk_greater {\012 ignore sub asterisk asterisk' greater;\012 ignore sub asterisk' greater greater;\012 sub CR greater' by asterisk_greater.liga;\012 sub asterisk' greater by CR;\012 } asterisk_greater;\012\012 lookup period_hyphen {\012 ignore sub period period' hyphen;\012 ignore sub period' hyphen hyphen;\012 sub CR hyphen' by period_hyphen.liga;\012 sub period' hyphen by CR;\012 } period_hyphen;\012\012 lookup plus_plus {\012 ignore sub plus plus' plus;\012 ignore sub plus' plus plus;\012 sub CR plus' by plus_plus.liga;\012 sub plus' plus by CR;\012 } plus_plus;\012\012 lookup numbersign_bracketleft {\012 ignore sub numbersign numbersign' bracketleft;\012 ignore sub numbersign' bracketleft bracketleft;\012 sub CR bracketleft' by numbersign_bracketleft.liga;\012 sub numbersign' bracketleft by CR;\012 } numbersign_bracketleft;\012\012 lookup equal_less {\012 ignore sub equal equal' less;\012 ignore sub equal' less less;\012 sub CR less' by equal_less.liga;\012 sub equal' less by CR;\012 } equal_less;\012\012 lookup less_equal {\012 ignore sub less less' equal;\012 ignore sub less' equal equal;\012 sub CR equal' by less_equal.liga;\012 sub less' equal by CR;\012 } less_equal;\012\012 lookup period_period {\012 ignore sub period period' period;\012 ignore sub period' period period;\012 sub CR period' by period_period.liga;\012 sub period' period by CR;\012 } period_period;\012\012 lookup less_asciitilde {\012 ignore sub less less' asciitilde;\012 ignore sub less' asciitilde asciitilde;\012 sub CR asciitilde' by less_asciitilde.liga;\012 sub less' asciitilde by CR;\012 } less_asciitilde;\012\012 lookup semicolon_semicolon {\012 ignore sub semicolon semicolon' semicolon;\012 ignore sub semicolon' semicolon semicolon;\012 sub CR semicolon' by semicolon_semicolon.liga;\012 sub semicolon' semicolon by CR;\012 } semicolon_semicolon;\012\012 lookup dollar_greater {\012 ignore sub dollar dollar' greater;\012 ignore sub dollar' greater greater;\012 sub CR greater' by dollar_greater.liga;\012 sub dollar' greater by CR;\012 } dollar_greater;\012\012 lookup slash_greater {\012 ignore sub slash slash' greater;\012 ignore sub slash' greater greater;\012 sub CR greater' by slash_greater.liga;\012 sub slash' greater by CR;\012 } slash_greater;\012\012 lookup 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 CR asterisk' by slash_asterisk.liga;\012 sub slash' asterisk by CR;\012 } slash_asterisk;\012\012 lookup less_asterisk {\012 ignore sub less less' asterisk;\012 ignore sub less' asterisk asterisk;\012 sub CR asterisk' by less_asterisk.liga;\012 sub less' asterisk by CR;\012 } less_asterisk;\012\012 lookup exclam_equal {\012 ignore sub exclam exclam' equal;\012 ignore sub exclam' equal equal;\012 sub CR equal' by exclam_equal.liga;\012 sub exclam' equal by CR;\012 } exclam_equal;\012\012 lookup slash_equal {\012 ignore sub slash slash' equal;\012 ignore sub slash' equal equal;\012 sub CR equal' by slash_equal.liga;\012 sub slash' equal by CR;\012 } slash_equal;\012\012 lookup hyphen_greater {\012 ignore sub hyphen hyphen' greater;\012 ignore sub hyphen' greater greater;\012 sub CR greater' by hyphen_greater.liga;\012 sub hyphen' greater by CR;\012 } hyphen_greater;\012\012 lookup less_hyphen {\012 ignore sub less less' hyphen;\012 ignore sub less' hyphen hyphen;\012 sub CR hyphen' by less_hyphen.liga;\012 sub less' hyphen by CR;\012 } less_hyphen;\012\012 lookup colon_colon {\012 ignore sub colon colon' colon;\012 ignore sub colon' colon colon;\012 sub CR colon' by colon_colon.liga;\012 sub colon' colon by CR;\012 } colon_colon;\012\012 lookup numbersign_braceleft {\012 ignore sub numbersign numbersign' braceleft;\012 ignore sub numbersign' braceleft braceleft;\012 sub CR braceleft' by numbersign_braceleft.liga;\012 sub numbersign' braceleft by CR;\012 } numbersign_braceleft;\012\012 lookup 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 CR slash' by asterisk_slash.liga;\012 sub asterisk' slash by CR;\012 } asterisk_slash;\012\012 lookup asciitilde_at {\012 ignore sub asciitilde asciitilde' at;\012 ignore sub asciitilde' at at;\012 sub CR at' by asciitilde_at.liga;\012 sub asciitilde' at by CR;\012 } asciitilde_at;\012\012### end of generated calt\012\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\012sub \\zero \\x' @HexDigit by \\x.multiply;\012sub @Digit \\x' @Digit by \\x.multiply;\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\012\012 lookup less_exclam_hyphen_hyphen {\012 ignore sub less less' exclam hyphen hyphen;\012 ignore sub less' exclam hyphen hyphen hyphen;\012 sub CR CR CR hyphen' by less_exclam_hyphen_hyphen.liga;\012 sub CR CR hyphen' hyphen by CR;\012 sub CR exclam' hyphen hyphen by CR;\012 sub less' exclam hyphen hyphen by CR;\012 } less_exclam_hyphen_hyphen;\012\012 lookup numbersign_numbersign_numbersign_numbersign {\012 ignore sub numbersign numbersign' numbersign numbersign numbersign;\012 ignore sub numbersign' numbersign numbersign numbersign numbersign;\012 sub CR CR CR numbersign' by numbersign_numbersign_numbersign_numbersign.liga;\012 sub CR CR numbersign' numbersign by CR;\012 sub CR numbersign' numbersign numbersign by CR;\012 sub numbersign' numbersign numbersign numbersign by CR;\012 } numbersign_numbersign_numbersign_numbersign;\012\012 lookup less_plus_greater {\012 ignore sub less less' plus greater;\012 ignore sub less' plus greater greater;\012 sub CR CR greater' by less_plus_greater.liga;\012 sub CR plus' greater by CR;\012 sub less' plus greater by CR;\012 } less_plus_greater;\012\012 lookup less_dollar_greater {\012 ignore sub less less' dollar greater;\012 ignore sub less' dollar greater greater;\012 sub CR CR greater' by less_dollar_greater.liga;\012 sub CR dollar' greater by CR;\012 sub less' dollar greater by CR;\012 } less_dollar_greater;\012\012 lookup bar_bar_equal {\012 ignore sub bar bar' bar equal;\012 ignore sub bar' bar equal equal;\012 sub CR CR equal' by bar_bar_equal.liga;\012 sub CR bar' equal by CR;\012 sub bar' bar equal by CR;\012 } bar_bar_equal;\012\012 lookup less_hyphen_greater {\012 ignore sub less less' hyphen greater;\012 ignore sub less' hyphen greater greater;\012 sub CR CR greater' by less_hyphen_greater.liga;\012 sub CR hyphen' greater by CR;\012 sub less' hyphen greater by CR;\012 } less_hyphen_greater;\012\012 lookup greater_greater_hyphen {\012 ignore sub greater greater' greater hyphen;\012 ignore sub greater' greater hyphen hyphen;\012 sub CR CR hyphen' by greater_greater_hyphen.liga;\012 sub CR greater' hyphen by CR;\012 sub greater' greater hyphen by CR;\012 } greater_greater_hyphen;\012\012 lookup equal_less_less {\012 ignore sub equal equal' less less;\012 ignore sub equal' less less less;\012 sub CR CR less' by equal_less_less.liga;\012 sub CR less' less by CR;\012 sub equal' less less by CR;\012 } equal_less_less;\012\012 lookup less_equal_less {\012 ignore sub less less' equal less;\012 ignore sub less' equal less less;\012 sub CR CR less' by less_equal_less.liga;\012 sub CR equal' less by CR;\012 sub less' equal less by CR;\012 } less_equal_less;\012\012 lookup asciitilde_asciitilde_greater {\012 ignore sub asciitilde asciitilde' asciitilde greater;\012 ignore sub asciitilde' asciitilde greater greater;\012 sub CR CR greater' by asciitilde_asciitilde_greater.liga;\012 sub CR asciitilde' greater by CR;\012 sub asciitilde' asciitilde greater by CR;\012 } asciitilde_asciitilde_greater;\012\012 lookup numbersign_numbersign_numbersign {\012 ignore sub numbersign numbersign' numbersign numbersign;\012 ignore sub numbersign' numbersign numbersign numbersign;\012 sub CR CR numbersign' by numbersign_numbersign_numbersign.liga;\012 sub CR numbersign' numbersign by CR;\012 sub numbersign' numbersign numbersign by CR;\012 } numbersign_numbersign_numbersign;\012\012 lookup 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 CR CR asterisk' by asterisk_asterisk_asterisk.liga;\012 sub CR asterisk' asterisk by CR;\012 sub asterisk' asterisk asterisk by CR;\012 } asterisk_asterisk_asterisk;\012\012 lookup backslash_backslash_backslash {\012 ignore sub backslash backslash' backslash backslash;\012 ignore sub backslash' backslash backslash backslash;\012 sub CR CR backslash' by backslash_backslash_backslash.liga;\012 sub CR backslash' backslash by CR;\012 sub backslash' backslash backslash by CR;\012 } backslash_backslash_backslash;\012\012 lookup less_less_equal {\012 ignore sub less less' less equal;\012 ignore sub less' less equal equal;\012 sub CR CR equal' by less_less_equal.liga;\012 sub CR less' equal by CR;\012 sub less' less equal by CR;\012 } less_less_equal;\012\012 lookup less_bar_greater {\012 ignore sub less less' bar greater;\012 ignore sub less' bar greater greater;\012 sub CR CR greater' by less_bar_greater.liga;\012 sub CR bar' greater by CR;\012 sub less' bar greater by CR;\012 } less_bar_greater;\012\012 lookup w_w_w {\012 ignore sub w w' w w;\012 ignore sub w' w w w;\012 sub CR CR w' by w_w_w.liga;\012 sub CR w' w by CR;\012 sub w' w w by CR;\012 } w_w_w;\012\012 lookup slash_slash_slash {\012 ignore sub slash slash' slash slash;\012 ignore sub slash' slash slash slash;\012 sub CR CR slash' by slash_slash_slash.liga;\012 sub CR slash' slash by CR;\012 sub slash' slash slash by CR;\012 } slash_slash_slash;\012\012 lookup slash_equal_equal {\012 ignore sub slash slash' equal equal;\012 ignore sub slash' equal equal equal;\012 sub CR CR equal' by slash_equal_equal.liga;\012 sub CR equal' equal by CR;\012 sub slash' equal equal by CR;\012 } slash_equal_equal;\012\012 lookup less_hyphen_hyphen {\012 ignore sub less less' hyphen hyphen;\012 ignore sub less' hyphen hyphen hyphen;\012 sub CR CR hyphen' by less_hyphen_hyphen.liga;\012 sub CR hyphen' hyphen by CR;\012 sub less' hyphen hyphen by CR;\012 } less_hyphen_hyphen;\012\012 lookup equal_greater_greater {\012 ignore sub equal equal' greater greater;\012 ignore sub equal' greater greater greater;\012 sub CR CR greater' by equal_greater_greater.liga;\012 sub CR greater' greater by CR;\012 sub equal' greater greater by CR;\012 } equal_greater_greater;\012\012 lookup less_less_hyphen {\012 ignore sub less less' less hyphen;\012 ignore sub less' less hyphen hyphen;\012 sub CR CR hyphen' by less_less_hyphen.liga;\012 sub CR less' hyphen by CR;\012 sub less' less hyphen by CR;\012 } less_less_hyphen;\012\012 lookup hyphen_hyphen_hyphen {\012 ignore sub hyphen hyphen' hyphen hyphen;\012 ignore sub hyphen' hyphen hyphen hyphen;\012 sub CR CR hyphen' by hyphen_hyphen_hyphen.liga;\012 sub CR hyphen' hyphen by CR;\012 sub hyphen' hyphen hyphen by CR;\012 } hyphen_hyphen_hyphen;\012\012 lookup less_slash_greater {\012 ignore sub less less' slash greater;\012 ignore sub less' slash greater greater;\012 sub CR CR greater' by less_slash_greater.liga;\012 sub CR slash' greater by CR;\012 sub less' slash greater by CR;\012 } less_slash_greater;\012\012 lookup hyphen_greater_greater {\012 ignore sub hyphen hyphen' greater greater;\012 ignore sub hyphen' greater greater greater;\012 sub CR CR greater' by hyphen_greater_greater.liga;\012 sub CR greater' greater by CR;\012 sub hyphen' greater greater by CR;\012 } hyphen_greater_greater;\012\012 lookup hyphen_less_less {\012 ignore sub hyphen hyphen' less less;\012 ignore sub hyphen' less less less;\012 sub CR CR less' by hyphen_less_less.liga;\012 sub CR less' less by CR;\012 sub hyphen' less less by CR;\012 } hyphen_less_less;\012\012 lookup less_less_less {\012 ignore sub less less' less less;\012 ignore sub less' less less less;\012 sub CR CR less' by less_less_less.liga;\012 sub CR less' less by CR;\012 sub less' less less by CR;\012 } less_less_less;\012\012 lookup equal_equal_greater {\012 ignore sub equal equal' equal greater;\012 ignore sub equal' equal greater greater;\012 sub CR CR greater' by equal_equal_greater.liga;\012 sub CR equal' greater by CR;\012 sub equal' equal greater by CR;\012 } equal_equal_greater;\012\012 lookup period_period_period {\012 ignore sub period period' period period;\012 ignore sub period' period period period;\012 sub CR CR period' by period_period_period.liga;\012 sub CR period' period by CR;\012 sub period' period period by CR;\012 } period_period_period;\012\012 lookup less_equal_equal {\012 ignore sub less less' equal equal;\012 ignore sub less' equal equal equal;\012 sub CR CR equal' by less_equal_equal.liga;\012 sub CR equal' equal by CR;\012 sub less' equal equal by CR;\012 } less_equal_equal;\012\012 lookup greater_equal_greater {\012 ignore sub greater greater' equal greater;\012 ignore sub greater' equal greater greater;\012 sub CR CR greater' by greater_equal_greater.liga;\012 sub CR equal' greater by CR;\012 sub greater' equal greater by CR;\012 } greater_equal_greater;\012\012 lookup less_asterisk_greater {\012 ignore sub less less' asterisk greater;\012 ignore sub less' asterisk greater greater;\012 sub CR CR greater' by less_asterisk_greater.liga;\012 sub CR asterisk' greater by CR;\012 sub less' asterisk greater by CR;\012 } less_asterisk_greater;\012\012 lookup numbersign_underscore_parenleft {\012 ignore sub numbersign numbersign' underscore parenleft;\012 ignore sub numbersign' underscore parenleft parenleft;\012 sub CR CR parenleft' by numbersign_underscore_parenleft.liga;\012 sub CR underscore' parenleft by CR;\012 sub numbersign' underscore parenleft by CR;\012 } numbersign_underscore_parenleft;\012\012 lookup plus_plus_plus {\012 ignore sub plus plus' plus plus;\012 ignore sub plus' plus plus plus;\012 sub CR CR plus' by plus_plus_plus.liga;\012 sub CR plus' plus by CR;\012 sub plus' plus plus by CR;\012 } plus_plus_plus;\012\012 lookup less_asciitilde_asciitilde {\012 ignore sub less less' asciitilde asciitilde;\012 ignore sub less' asciitilde asciitilde asciitilde;\012 sub CR CR asciitilde' by less_asciitilde_asciitilde.liga;\012 sub CR asciitilde' asciitilde by CR;\012 sub less' asciitilde asciitilde by CR;\012 } less_asciitilde_asciitilde;\012\012 lookup exclam_equal_equal {\012 ignore sub exclam exclam' equal equal;\012 ignore sub exclam' equal equal equal;\012 sub CR CR equal' by exclam_equal_equal.liga;\012 sub CR equal' equal by CR;\012 sub exclam' equal equal by CR;\012 } exclam_equal_equal;\012\012 lookup hyphen_hyphen_greater {\012 ignore sub hyphen hyphen' hyphen greater;\012 ignore sub hyphen' hyphen greater greater;\012 sub CR CR greater' by hyphen_hyphen_greater.liga;\012 sub CR hyphen' greater by CR;\012 sub hyphen' hyphen greater by CR;\012 } hyphen_hyphen_greater;\012\012 lookup equal_slash_equal {\012 ignore sub equal equal' slash equal;\012 ignore sub equal' slash equal equal;\012 sub CR CR equal' by equal_slash_equal.liga;\012 sub CR slash' equal by CR;\012 sub equal' slash equal by CR;\012 } equal_slash_equal;\012\012 lookup less_equal_greater {\012 ignore sub less less' equal greater;\012 ignore sub less' equal greater greater;\012 sub CR CR greater' by less_equal_greater.liga;\012 sub CR equal' greater by CR;\012 sub less' equal greater by CR;\012 } less_equal_greater;\012\012 lookup greater_greater_greater {\012 ignore sub greater greater' greater greater;\012 ignore sub greater' greater greater greater;\012 sub CR CR greater' by greater_greater_greater.liga;\012 sub CR greater' greater by CR;\012 sub greater' greater greater by CR;\012 } greater_greater_greater;\012\012 lookup greater_greater_equal {\012 ignore sub greater greater' greater equal;\012 ignore sub greater' greater equal equal;\012 sub CR CR equal' by greater_greater_equal.liga;\012 sub CR greater' equal by CR;\012 sub greater' greater equal by CR;\012 } greater_greater_equal;\012\012 lookup period_period_less {\012 ignore sub period period' period less;\012 ignore sub period' period less less;\012 sub CR CR less' by period_period_less.liga;\012 sub CR period' less by CR;\012 sub period' period less by CR;\012 } period_period_less;\012\012 lookup equal_colon_equal {\012 ignore sub equal equal' colon equal;\012 ignore sub equal' colon equal equal;\012 sub CR CR equal' by equal_colon_equal.liga;\012 sub CR colon' equal by CR;\012 sub equal' colon equal by CR;\012 } equal_colon_equal;\012\012 lookup equal_equal_equal {\012 ignore sub equal equal' equal equal;\012 ignore sub equal' equal equal equal;\012 sub CR CR equal' by equal_equal_equal.liga;\012 sub CR equal' equal by CR;\012 sub equal' equal equal by CR;\012 } equal_equal_equal;\012\012 lookup colon_colon_colon {\012 ignore sub colon colon' colon colon;\012 ignore sub colon' colon colon colon;\012 sub CR CR colon' by colon_colon_colon.liga;\012 sub CR colon' colon by CR;\012 sub colon' colon colon by CR;\012 } colon_colon_colon;\012\012 lookup less_dollar {\012 ignore sub less less' dollar;\012 ignore sub less' dollar dollar;\012 sub CR dollar' by less_dollar.liga;\012 sub less' dollar by CR;\012 } less_dollar;\012\012 lookup question_question {\012 ignore sub question question' question;\012 ignore sub question' question question;\012 sub CR question' by question_question.liga;\012 sub question' question by CR;\012 } question_question;\012\012 lookup asciitilde_asciitilde {\012 ignore sub asciitilde asciitilde' asciitilde;\012 ignore sub asciitilde' asciitilde asciitilde;\012 sub CR asciitilde' by asciitilde_asciitilde.liga;\012 sub asciitilde' asciitilde by CR;\012 } asciitilde_asciitilde;\012\012 lookup 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 CR asterisk' by asterisk_asterisk.liga;\012 sub asterisk' asterisk by CR;\012 } asterisk_asterisk;\012\012 lookup greater_greater {\012 ignore sub greater greater' greater;\012 ignore sub greater' greater greater;\012 sub CR greater' by greater_greater.liga;\012 sub greater' greater by CR;\012 } greater_greater;\012\012 lookup slash_slash {\012 ignore sub slash slash' slash;\012 ignore sub slash' slash slash;\012 sub CR slash' by slash_slash.liga;\012 sub slash' slash by CR;\012 } slash_slash;\012\012 lookup colon_equal {\012 ignore sub colon colon' equal;\012 ignore sub colon' equal equal;\012 sub CR equal' by colon_equal.liga;\012 sub colon' equal by CR;\012 } colon_equal;\012\012 lookup less_greater {\012 ignore sub less less' greater;\012 ignore sub less' greater greater;\012 sub CR greater' by less_greater.liga;\012 sub less' greater by CR;\012 } less_greater;\012\012 lookup exclam_exclam {\012 ignore sub exclam exclam' exclam;\012 ignore sub exclam' exclam exclam;\012 sub CR exclam' by exclam_exclam.liga;\012 sub exclam' exclam by CR;\012 } exclam_exclam;\012\012 lookup asciitilde_greater {\012 ignore sub asciitilde asciitilde' greater;\012 ignore sub asciitilde' greater greater;\012 sub CR greater' by asciitilde_greater.liga;\012 sub asciitilde' greater by CR;\012 } asciitilde_greater;\012\012 lookup bar_greater {\012 ignore sub bar bar' greater;\012 ignore sub bar' greater greater;\012 sub CR greater' by bar_greater.liga;\012 sub bar' greater by CR;\012 } bar_greater;\012\012 lookup less_less {\012 ignore sub less less' less;\012 ignore sub less' less less;\012 sub CR less' by less_less.liga;\012 sub less' less by CR;\012 } less_less;\012\012 lookup hyphen_hyphen {\012 ignore sub hyphen hyphen' hyphen;\012 ignore sub hyphen' hyphen hyphen;\012 sub CR hyphen' by hyphen_hyphen.liga;\012 sub hyphen' hyphen by CR;\012 } hyphen_hyphen;\012\012 lookup ampersand_ampersand {\012 ignore sub ampersand ampersand' ampersand;\012 ignore sub ampersand' ampersand ampersand;\012 sub CR ampersand' by ampersand_ampersand.liga;\012 sub ampersand' ampersand by CR;\012 } ampersand_ampersand;\012\012 lookup question_equal {\012 ignore sub question question' equal;\012 ignore sub question' equal equal;\012 sub CR equal' by question_equal.liga;\012 sub question' equal by CR;\012 } question_equal;\012\012 lookup plus_greater {\012 ignore sub plus plus' greater;\012 ignore sub plus' greater greater;\012 sub CR greater' by plus_greater.liga;\012 sub plus' greater by CR;\012 } plus_greater;\012\012 lookup asciitilde_equal {\012 ignore sub asciitilde asciitilde' equal;\012 ignore sub asciitilde' equal equal;\012 sub CR equal' by asciitilde_equal.liga;\012 sub asciitilde' equal by CR;\012 } asciitilde_equal;\012\012 lookup asciicircum_equal {\012 ignore sub asciicircum asciicircum' equal;\012 ignore sub asciicircum' equal equal;\012 sub CR equal' by asciicircum_equal.liga;\012 sub asciicircum' equal by CR;\012 } asciicircum_equal;\012\012 lookup bar_equal {\012 ignore sub bar bar' equal;\012 ignore sub bar' equal equal;\012 sub CR equal' by bar_equal.liga;\012 sub bar' equal by CR;\012 } bar_equal;\012\012 lookup backslash_backslash {\012 ignore sub backslash backslash' backslash;\012 ignore sub backslash' backslash backslash;\012 sub CR backslash' by backslash_backslash.liga;\012 sub backslash' backslash by CR;\012 } backslash_backslash;\012\012 lookup numbersign_question {\012 ignore sub numbersign numbersign' question;\012 ignore sub numbersign' question question;\012 sub CR question' by numbersign_question.liga;\012 sub numbersign' question by CR;\012 } numbersign_question;\012\012 lookup less_slash {\012 ignore sub less less' slash;\012 ignore sub less' slash slash;\012 sub CR slash' by less_slash.liga;\012 sub less' slash by CR;\012 } less_slash;\012\012 lookup bar_bar {\012 ignore sub bar bar' bar;\012 ignore sub bar' bar bar;\012 sub CR bar' by bar_bar.liga;\012 sub bar' bar by CR;\012 } bar_bar;\012\012 lookup less_plus {\012 ignore sub less less' plus;\012 ignore sub less' plus plus;\012 sub CR plus' by less_plus.liga;\012 sub less' plus by CR;\012 } less_plus;\012\012 lookup numbersign_numbersign {\012 ignore sub numbersign numbersign' numbersign;\012 ignore sub numbersign' numbersign numbersign;\012 sub CR numbersign' by numbersign_numbersign.liga;\012 sub numbersign' numbersign by CR;\012 } numbersign_numbersign;\012\012 lookup numbersign_parenleft {\012 ignore sub numbersign numbersign' parenleft;\012 ignore sub numbersign' parenleft parenleft;\012 sub CR parenleft' by numbersign_parenleft.liga;\012 sub numbersign' parenleft by CR;\012 } numbersign_parenleft;\012\012 lookup greater_hyphen {\012 ignore sub greater greater' hyphen;\012 ignore sub greater' hyphen hyphen;\012 sub CR hyphen' by greater_hyphen.liga;\012 sub greater' hyphen by CR;\012 } greater_hyphen;\012\012 lookup greater_equal {\012 ignore sub greater greater' equal;\012 ignore sub greater' equal equal;\012 sub CR equal' by greater_equal.liga;\012 sub greater' equal by CR;\012 } greater_equal;\012\012 lookup percent_percent {\012 ignore sub percent percent' percent;\012 ignore sub percent' percent percent;\012 sub CR percent' by percent_percent.liga;\012 sub percent' percent by CR;\012 } percent_percent;\012\012 lookup bracketright_numbersign {\012 ignore sub bracketright bracketright' numbersign;\012 ignore sub bracketright' numbersign numbersign;\012 sub CR numbersign' by bracketright_numbersign.liga;\012 sub bracketright' numbersign by CR;\012 } bracketright_numbersign;\012\012 lookup equal_greater {\012 ignore sub equal equal' greater;\012 ignore sub equal' greater greater;\012 sub CR greater' by equal_greater.liga;\012 sub equal' greater by CR;\012 } equal_greater;\012\012 lookup hyphen_less {\012 ignore sub hyphen hyphen' less;\012 ignore sub hyphen' less less;\012 sub CR less' by hyphen_less.liga;\012 sub hyphen' less by CR;\012 } hyphen_less;\012\012 lookup asciitilde_hyphen {\012 ignore sub asciitilde asciitilde' hyphen;\012 ignore sub asciitilde' hyphen hyphen;\012 sub CR hyphen' by asciitilde_hyphen.liga;\012 sub asciitilde' hyphen by CR;\012 } asciitilde_hyphen;\012\012 lookup equal_equal {\012 ignore sub equal equal' equal;\012 ignore sub equal' equal equal;\012 sub CR equal' by equal_equal.liga;\012 sub equal' equal by CR;\012 } equal_equal;\012\012 lookup underscore_underscore {\012 ignore sub underscore underscore' underscore;\012 ignore sub underscore' underscore underscore;\012 sub CR underscore' by underscore_underscore.liga;\012 sub underscore' underscore by CR;\012 } underscore_underscore;\012\012 lookup period_equal {\012 ignore sub period period' equal;\012 ignore sub period' equal equal;\012 sub CR equal' by period_equal.liga;\012 sub period' equal by CR;\012 } period_equal;\012\012 lookup numbersign_underscore {\012 ignore sub numbersign numbersign' underscore;\012 ignore sub numbersign' underscore underscore;\012 sub CR underscore' by numbersign_underscore.liga;\012 sub numbersign' underscore by CR;\012 } numbersign_underscore;\012\012 lookup less_bar {\012 ignore sub less less' bar;\012 ignore sub less' bar bar;\012 sub CR bar' by less_bar.liga;\012 sub less' bar by CR;\012 } less_bar;\012\012 lookup hyphen_asciitilde {\012 ignore sub hyphen hyphen' asciitilde;\012 ignore sub hyphen' asciitilde asciitilde;\012 sub CR asciitilde' by hyphen_asciitilde.liga;\012 sub hyphen' asciitilde by CR;\012 } hyphen_asciitilde;\012\012 lookup asterisk_greater {\012 ignore sub asterisk asterisk' greater;\012 ignore sub asterisk' greater greater;\012 sub CR greater' by asterisk_greater.liga;\012 sub asterisk' greater by CR;\012 } asterisk_greater;\012\012 lookup period_hyphen {\012 ignore sub period period' hyphen;\012 ignore sub period' hyphen hyphen;\012 sub CR hyphen' by period_hyphen.liga;\012 sub period' hyphen by CR;\012 } period_hyphen;\012\012 lookup plus_plus {\012 ignore sub plus plus' plus;\012 ignore sub plus' plus plus;\012 sub CR plus' by plus_plus.liga;\012 sub plus' plus by CR;\012 } plus_plus;\012\012 lookup numbersign_bracketleft {\012 ignore sub numbersign numbersign' bracketleft;\012 ignore sub numbersign' bracketleft bracketleft;\012 sub CR bracketleft' by numbersign_bracketleft.liga;\012 sub numbersign' bracketleft by CR;\012 } numbersign_bracketleft;\012\012 lookup equal_less {\012 ignore sub equal equal' less;\012 ignore sub equal' less less;\012 sub CR less' by equal_less.liga;\012 sub equal' less by CR;\012 } equal_less;\012\012 lookup less_equal {\012 ignore sub less less' equal;\012 ignore sub less' equal equal;\012 sub CR equal' by less_equal.liga;\012 sub less' equal by CR;\012 } less_equal;\012\012 lookup period_period {\012 ignore sub period period' period;\012 ignore sub period' period period;\012 sub CR period' by period_period.liga;\012 sub period' period by CR;\012 } period_period;\012\012 lookup less_asciitilde {\012 ignore sub less less' asciitilde;\012 ignore sub less' asciitilde asciitilde;\012 sub CR asciitilde' by less_asciitilde.liga;\012 sub less' asciitilde by CR;\012 } less_asciitilde;\012\012 lookup semicolon_semicolon {\012 ignore sub semicolon semicolon' semicolon;\012 ignore sub semicolon' semicolon semicolon;\012 sub CR semicolon' by semicolon_semicolon.liga;\012 sub semicolon' semicolon by CR;\012 } semicolon_semicolon;\012\012 lookup dollar_greater {\012 ignore sub dollar dollar' greater;\012 ignore sub dollar' greater greater;\012 sub CR greater' by dollar_greater.liga;\012 sub dollar' greater by CR;\012 } dollar_greater;\012\012 lookup slash_greater {\012 ignore sub slash slash' greater;\012 ignore sub slash' greater greater;\012 sub CR greater' by slash_greater.liga;\012 sub slash' greater by CR;\012 } slash_greater;\012\012 lookup 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 CR asterisk' by slash_asterisk.liga;\012 sub slash' asterisk by CR;\012 } slash_asterisk;\012\012 lookup less_asterisk {\012 ignore sub less less' asterisk;\012 ignore sub less' asterisk asterisk;\012 sub CR asterisk' by less_asterisk.liga;\012 sub less' asterisk by CR;\012 } less_asterisk;\012\012 lookup exclam_equal {\012 ignore sub exclam exclam' equal;\012 ignore sub exclam' equal equal;\012 sub CR equal' by exclam_equal.liga;\012 sub exclam' equal by CR;\012 } exclam_equal;\012\012 lookup slash_equal {\012 ignore sub slash slash' equal;\012 ignore sub slash' equal equal;\012 sub CR equal' by slash_equal.liga;\012 sub slash' equal by CR;\012 } slash_equal;\012\012 lookup hyphen_greater {\012 ignore sub hyphen hyphen' greater;\012 ignore sub hyphen' greater greater;\012 sub CR greater' by hyphen_greater.liga;\012 sub hyphen' greater by CR;\012 } hyphen_greater;\012\012 lookup less_hyphen {\012 ignore sub less less' hyphen;\012 ignore sub less' hyphen hyphen;\012 sub CR hyphen' by less_hyphen.liga;\012 sub less' hyphen by CR;\012 } less_hyphen;\012\012 lookup colon_colon {\012 ignore sub colon colon' colon;\012 ignore sub colon' colon colon;\012 sub CR colon' by colon_colon.liga;\012 sub colon' colon by CR;\012 } colon_colon;\012\012 lookup numbersign_braceleft {\012 ignore sub numbersign numbersign' braceleft;\012 ignore sub numbersign' braceleft braceleft;\012 sub CR braceleft' by numbersign_braceleft.liga;\012 sub numbersign' braceleft by CR;\012 } numbersign_braceleft;\012\012 lookup 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 CR slash' by asterisk_slash.liga;\012 sub asterisk' slash by CR;\012 } asterisk_slash;\012\012 lookup asciitilde_at {\012 ignore sub asciitilde asciitilde' at;\012 ignore sub asciitilde' at at;\012 sub CR at' by asciitilde_at.liga;\012 sub asciitilde' at by CR;\012 } asciitilde_at;\012\012### end of generated calt\012\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\012sub \\zero \\x' @HexDigit by \\x.multiply;\012sub @Digit \\x' @Digit by \\x.multiply;\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; } ); @@ -75401,6 +75401,43 @@ width = 600; }, { color = 6; +glyphname = underscore_underscore.liga; +lastChange = "2016-09-17 12:30:39 +0000"; +layers = ( +{ +layerId = UUID0; +paths = ( +{ +closed = 1; +nodes = ( +"550 -182 LINE", +"550 -103 LINE", +"-550 -103 LINE", +"-550 -182 LINE" +); +} +); +width = 600; +}, +{ +layerId = "BF448B58-7A35-489E-A1C9-12628F60690C"; +paths = ( +{ +closed = 1; +nodes = ( +"550 -186 LINE", +"550 -61 LINE", +"-550 -61 LINE", +"-550 -186 LINE" +); +} +); +width = 600; +} +); +}, +{ +color = 6; export = 0; glyphname = asterisk_asterisk_slash.rem; lastChange = "2016-08-30 09:38:14 +0000"; @@ -118891,5 +118928,5 @@ oV = 98; }; }; versionMajor = 1; -versionMinor = 202; +versionMinor = 203; } diff --git a/README.md b/README.md index d668eeea59..1975f4295d 100644 --- a/README.md +++ b/README.md @@ -8,7 +8,7 @@ Programmers use a lot of symbols, often encoded with several characters. For the ### Solution -#### [Download v1.202](https://github.com/tonsky/FiraCode/releases/download/1.202/FiraCode_1.202.zip) · [How to install](https://github.com/tonsky/FiraCode/wiki) · [News & updates](https://twitter.com/FiraCode) +#### [Download v1.203](https://github.com/tonsky/FiraCode/releases/download/1.203/FiraCode_1.203.zip) · [How to install](https://github.com/tonsky/FiraCode/wiki) · [News & updates](https://twitter.com/FiraCode) Fira Code is an extension of the Fira Mono font containing a set of ligatures for common programming multi-character combinations. This is just a font rendering feature: underlying code remains ASCII-compatible. This helps to read and understand code faster. For some frequent sequences like `..` or `//`, ligatures allow us to correct spacing. @@ -134,6 +134,10 @@ Other monospaced fonts with ligatures: ### Changelog +#### 1.203 (September 17, 2016) + +- Added `__` (#120, #269) + #### 1.202 (September 17, 2016) - Removed `{.` `.}` `[.` `.]` `(.` `.)` (#264) diff --git a/distr/eot/FiraCode-Bold.eot b/distr/eot/FiraCode-Bold.eot index 97218133d1..f406bac917 100644 Binary files a/distr/eot/FiraCode-Bold.eot and b/distr/eot/FiraCode-Bold.eot differ diff --git a/distr/eot/FiraCode-Light.eot b/distr/eot/FiraCode-Light.eot index a8cad7f7e0..5c3ca1b349 100644 Binary files a/distr/eot/FiraCode-Light.eot and b/distr/eot/FiraCode-Light.eot differ diff --git a/distr/eot/FiraCode-Medium.eot b/distr/eot/FiraCode-Medium.eot index 966afd9b28..8da9a7be48 100644 Binary files a/distr/eot/FiraCode-Medium.eot and b/distr/eot/FiraCode-Medium.eot differ diff --git a/distr/eot/FiraCode-Regular.eot b/distr/eot/FiraCode-Regular.eot index 540cfbe3b8..cf61be97f7 100644 Binary files a/distr/eot/FiraCode-Regular.eot and b/distr/eot/FiraCode-Regular.eot differ diff --git a/distr/otf/FiraCode-Bold.otf b/distr/otf/FiraCode-Bold.otf index 92c29e70df..3b418c9f5b 100644 Binary files a/distr/otf/FiraCode-Bold.otf and b/distr/otf/FiraCode-Bold.otf differ diff --git a/distr/otf/FiraCode-Light.otf b/distr/otf/FiraCode-Light.otf index 81eeb7e44e..5536383a9e 100644 Binary files a/distr/otf/FiraCode-Light.otf and b/distr/otf/FiraCode-Light.otf differ diff --git a/distr/otf/FiraCode-Medium.otf b/distr/otf/FiraCode-Medium.otf index df95b67bb1..934cf75a6e 100644 Binary files a/distr/otf/FiraCode-Medium.otf and b/distr/otf/FiraCode-Medium.otf differ diff --git a/distr/otf/FiraCode-Regular.otf b/distr/otf/FiraCode-Regular.otf index 7d5b40750d..ba4a7b4100 100644 Binary files a/distr/otf/FiraCode-Regular.otf and b/distr/otf/FiraCode-Regular.otf differ diff --git a/distr/otf/FiraCode-Retina.otf b/distr/otf/FiraCode-Retina.otf index f6a5d53bfa..95ce2f7532 100644 Binary files a/distr/otf/FiraCode-Retina.otf and b/distr/otf/FiraCode-Retina.otf differ diff --git a/distr/ttf/FiraCode-Bold.ttf b/distr/ttf/FiraCode-Bold.ttf index 023f302dd1..86a38d0fc2 100644 Binary files a/distr/ttf/FiraCode-Bold.ttf and b/distr/ttf/FiraCode-Bold.ttf differ diff --git a/distr/ttf/FiraCode-Light.ttf b/distr/ttf/FiraCode-Light.ttf index db9351e077..22feedde2b 100644 Binary files a/distr/ttf/FiraCode-Light.ttf and b/distr/ttf/FiraCode-Light.ttf differ diff --git a/distr/ttf/FiraCode-Medium.ttf b/distr/ttf/FiraCode-Medium.ttf index 134b0cf95c..3e4e7837bb 100644 Binary files a/distr/ttf/FiraCode-Medium.ttf and b/distr/ttf/FiraCode-Medium.ttf differ diff --git a/distr/ttf/FiraCode-Regular.ttf b/distr/ttf/FiraCode-Regular.ttf index eca8d0bbe9..61c1741436 100644 Binary files a/distr/ttf/FiraCode-Regular.ttf and b/distr/ttf/FiraCode-Regular.ttf differ diff --git a/distr/ttf/FiraCode-Retina.ttf b/distr/ttf/FiraCode-Retina.ttf index 51fe011721..9a4233cf06 100644 Binary files a/distr/ttf/FiraCode-Retina.ttf and b/distr/ttf/FiraCode-Retina.ttf differ diff --git a/distr/woff/FiraCode-Bold.woff b/distr/woff/FiraCode-Bold.woff index 6374df91fb..1c78c385b2 100644 Binary files a/distr/woff/FiraCode-Bold.woff and b/distr/woff/FiraCode-Bold.woff differ diff --git a/distr/woff/FiraCode-Light.woff b/distr/woff/FiraCode-Light.woff index 146cd531fd..db9b41c632 100644 Binary files a/distr/woff/FiraCode-Light.woff and b/distr/woff/FiraCode-Light.woff differ diff --git a/distr/woff/FiraCode-Medium.woff b/distr/woff/FiraCode-Medium.woff index b4bbb7ba9c..1367c2996a 100644 Binary files a/distr/woff/FiraCode-Medium.woff and b/distr/woff/FiraCode-Medium.woff differ diff --git a/distr/woff/FiraCode-Regular.woff b/distr/woff/FiraCode-Regular.woff index 926cb8fc40..04fffcdcfc 100644 Binary files a/distr/woff/FiraCode-Regular.woff and b/distr/woff/FiraCode-Regular.woff differ diff --git a/distr/woff2/FiraCode-Bold.woff2 b/distr/woff2/FiraCode-Bold.woff2 index eef219eebb..b91a0cd0b4 100644 Binary files a/distr/woff2/FiraCode-Bold.woff2 and b/distr/woff2/FiraCode-Bold.woff2 differ diff --git a/distr/woff2/FiraCode-Light.woff2 b/distr/woff2/FiraCode-Light.woff2 index bc295abbe8..d48fd23b03 100644 Binary files a/distr/woff2/FiraCode-Light.woff2 and b/distr/woff2/FiraCode-Light.woff2 differ diff --git a/distr/woff2/FiraCode-Medium.woff2 b/distr/woff2/FiraCode-Medium.woff2 index 1bdf6336d0..e74a6b12a9 100644 Binary files a/distr/woff2/FiraCode-Medium.woff2 and b/distr/woff2/FiraCode-Medium.woff2 differ diff --git a/distr/woff2/FiraCode-Regular.woff2 b/distr/woff2/FiraCode-Regular.woff2 index 07dfcbabee..a400a81be4 100644 Binary files a/distr/woff2/FiraCode-Regular.woff2 and b/distr/woff2/FiraCode-Regular.woff2 differ diff --git a/showcases/Fira Code Showcases.sketch b/showcases/Fira Code Showcases.sketch index 767d6fc58d..55dcbdf1a8 100644 Binary files a/showcases/Fira Code Showcases.sketch and b/showcases/Fira Code Showcases.sketch differ diff --git a/showcases/all_ligatures.png b/showcases/all_ligatures.png index e153df564e..569b06a582 100644 Binary files a/showcases/all_ligatures.png and b/showcases/all_ligatures.png differ diff --git a/showcases/javascript.png b/showcases/javascript.png index a55e384f1b..e60e56b74e 100644 Binary files a/showcases/javascript.png and b/showcases/javascript.png differ diff --git a/showcases/showcases.txt b/showcases/showcases.txt index 6822c35e6e..8f4ef8295c 100644 --- a/showcases/showcases.txt +++ b/showcases/showcases.txt @@ -1,4 +1,4 @@ - .= .- := =:= + .= .- := =:= __ == != === !== =/= <<- <-- <- <-> -> --> ->> @@ -18,7 +18,7 @@ 0xF 9:45 m-x *ptr www ;; :: ::: !! ?? %% && - || .. ... ..< + || .. ... ..< __ -- --- ++ +++ ** *** ~= ~- -~ ~@