diff --git a/FiraCode.glyphs b/FiraCode.glyphs index 4a19523..95bb422 100644 --- a/FiraCode.glyphs +++ b/FiraCode.glyphs @@ -59,7 +59,7 @@ code = "Alpha\012Epsilon\012Eta\012Iota\012Omicron\012Upsilon\012Omega\012Alpha\ name = GreekUCcalt; } ); -copyright = "Copyright 2012-2015 The Fira Code Project Authors (https://github.com/tonsky/FiraCode)"; +copyright = "Copyright 2014-2020 The Fira Code Project Authors (https://github.com/tonsky/FiraCode)"; customParameters = ( { name = openTypeNameLicenseURL; @@ -129,9 +129,9 @@ value = ( ); } ); -date = "2019-09-09 15:06:36 +0000"; +date = "2020-04-09 13:10:08 +0000"; designer = "Carrois Corporate, Edenspiekermann AG, Nikita Prokopov"; -designerURL = "http://tonsky.me"; +designerURL = "https://tonsky.me"; familyName = "Fira Code"; featurePrefixes = ( { @@ -215,7 +215,7 @@ code = "pos @Uppercase <5 0 10 0>;\012"; name = cpsp; }, { -code = "### start of generated calt\012lookup less_less_hyphen_greater_greater {\012 ignore sub less less' less hyphen greater greater;\012 ignore sub less' less hyphen greater greater greater;\012 sub less.spacer less.spacer hyphen.spacer greater.spacer greater' by less_less_hyphen_greater_greater.liga;\012 sub less.spacer less.spacer hyphen.spacer greater' greater by greater.spacer;\012 sub less.spacer less.spacer hyphen' greater greater by hyphen.spacer;\012 sub less.spacer less' hyphen greater greater by less.spacer;\012 sub less' less hyphen greater greater by less.spacer;\012} less_less_hyphen_greater_greater;\012\012lookup bar_bar_bar_greater {\012 ignore sub bar bar' bar bar greater;\012 ignore sub bar' bar bar greater greater;\012 sub bar.spacer bar.spacer bar.spacer greater' by bar_bar_bar_greater.liga;\012 sub bar.spacer bar.spacer bar' greater by bar.spacer;\012 sub bar.spacer bar' bar greater by bar.spacer;\012 sub bar' bar bar greater by bar.spacer;\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 less.spacer bar.spacer bar.spacer bar' by less_bar_bar_bar.liga;\012 sub less.spacer bar.spacer bar' bar by bar.spacer;\012 sub less.spacer bar' bar bar by bar.spacer;\012 sub less' bar bar bar by less.spacer;\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 less.spacer equal.spacer equal.spacer greater' by less_equal_equal_greater.liga;\012 sub less.spacer equal.spacer equal' greater by equal.spacer;\012 sub less.spacer equal' equal greater by equal.spacer;\012 sub less' equal equal greater by less.spacer;\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 less.spacer exclam.spacer hyphen.spacer hyphen' by less_exclam_hyphen_hyphen.liga;\012 sub less.spacer exclam.spacer hyphen' hyphen by hyphen.spacer;\012 sub less.spacer exclam' hyphen hyphen by exclam.spacer;\012 sub less' exclam hyphen hyphen by less.spacer;\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 numbersign.spacer numbersign.spacer numbersign.spacer numbersign' by numbersign_numbersign_numbersign_numbersign.liga;\012 sub numbersign.spacer numbersign.spacer numbersign' numbersign by numbersign.spacer;\012 sub numbersign.spacer numbersign' numbersign numbersign by numbersign.spacer;\012 sub numbersign' numbersign numbersign numbersign by numbersign.spacer;\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 asciitilde.spacer asciitilde.spacer greater' by asciitilde_asciitilde_greater.liga;\012 sub asciitilde.spacer asciitilde' greater by asciitilde.spacer;\012 sub asciitilde' asciitilde greater by asciitilde.spacer;\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 asterisk.spacer asterisk.spacer asterisk' by asterisk_asterisk_asterisk.liga;\012 sub asterisk.spacer asterisk' asterisk by asterisk.spacer;\012 sub asterisk' asterisk asterisk by asterisk.spacer;\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 bar.spacer bar.spacer equal' by bar_bar_equal.liga;\012 sub bar.spacer bar' equal by bar.spacer;\012 sub bar' bar equal by bar.spacer;\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 bar.spacer bar.spacer greater' by bar_bar_greater.liga;\012 sub bar.spacer bar' greater by bar.spacer;\012 sub bar' bar greater by bar.spacer;\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 bar.spacer bar.spacer hyphen' by bar_bar_hyphen.liga;\012 sub bar.spacer bar' hyphen by bar.spacer;\012 sub bar' bar hyphen by bar.spacer;\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 bar.spacer equal.spacer greater' by bar_equal_greater.liga;\012 sub bar.spacer equal' greater by equal.spacer;\012 sub bar' equal greater by bar.spacer;\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 bar.spacer hyphen.spacer greater' by bar_hyphen_greater.liga;\012 sub bar.spacer hyphen' greater by hyphen.spacer;\012 sub bar' hyphen greater by bar.spacer;\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 colon.spacer colon.spacer colon' by colon_colon_colon.liga;\012 sub colon.spacer colon' colon by colon.spacer;\012 sub colon' colon colon by colon.spacer;\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 colon.spacer colon.spacer equal' by colon_colon_equal.liga;\012 sub colon.spacer colon' equal by colon.spacer;\012 sub colon' colon equal by colon.spacer;\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 ignore sub less question equal' colon equal;\012 sub equal.spacer colon.spacer equal' by equal_colon_equal.liga;\012 sub equal.spacer colon' equal by colon.spacer;\012 sub equal' colon equal by equal.spacer;\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 ignore sub less question equal' equal equal;\012 ignore sub bracketleft equal' equal equal;\012 sub equal.spacer equal.spacer equal' by equal_equal_equal.liga;\012 sub equal.spacer equal' equal by equal.spacer;\012 sub equal' equal equal by equal.spacer;\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 ignore sub less question equal' equal greater;\012 ignore sub bracketleft equal' equal greater;\012 sub equal.spacer equal.spacer greater' by equal_equal_greater.liga;\012 sub equal.spacer equal' greater by equal.spacer;\012 sub equal' equal greater by equal.spacer;\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 ignore sub less question equal' exclam equal;\012 sub equal.spacer exclam.spacer equal' by equal_exclam_equal.liga;\012 sub equal.spacer exclam' equal by exclam.spacer;\012 sub equal' exclam equal by equal.spacer;\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 ignore sub less question equal' greater greater;\012 sub equal.spacer greater.spacer greater' by equal_greater_greater.liga;\012 sub equal.spacer greater' greater by greater.spacer;\012 sub equal' greater greater by equal.spacer;\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 ignore sub less question equal' less less;\012 sub equal.spacer less.spacer less' by equal_less_less.liga;\012 sub equal.spacer less' less by less.spacer;\012 sub equal' less less by equal.spacer;\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 ignore sub less question equal' slash equal;\012 sub equal.spacer slash.spacer equal' by equal_slash_equal.liga;\012 sub equal.spacer slash' equal by slash.spacer;\012 sub equal' slash equal by equal.spacer;\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 exclam.spacer equal.spacer equal' by exclam_equal_equal.liga;\012 sub exclam.spacer equal' equal by equal.spacer;\012 sub exclam' equal equal by exclam.spacer;\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 exclam.spacer exclam.spacer period' by exclam_exclam_period.liga;\012 sub exclam.spacer exclam' period by exclam.spacer;\012 sub exclam' exclam period by exclam.spacer;\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 greater.spacer equal.spacer greater' by greater_equal_greater.liga;\012 sub greater.spacer equal' greater by equal.spacer;\012 sub greater' equal greater by greater.spacer;\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 greater.spacer greater.spacer equal' by greater_greater_equal.liga;\012 sub greater.spacer greater' equal by greater.spacer;\012 sub greater' greater equal by greater.spacer;\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 greater.spacer greater.spacer greater' by greater_greater_greater.liga;\012 sub greater.spacer greater' greater by greater.spacer;\012 sub greater' greater greater by greater.spacer;\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 greater.spacer greater.spacer hyphen' by greater_greater_hyphen.liga;\012 sub greater.spacer greater' hyphen by greater.spacer;\012 sub greater' greater hyphen by greater.spacer;\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 greater.spacer hyphen.spacer greater' by greater_hyphen_greater.liga;\012 sub greater.spacer hyphen' greater by hyphen.spacer;\012 sub greater' hyphen greater by greater.spacer;\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 hyphen.spacer greater.spacer greater' by hyphen_greater_greater.liga;\012 sub hyphen.spacer greater' greater by greater.spacer;\012 sub hyphen' greater greater by hyphen.spacer;\012} hyphen_greater_greater;\012\012lookup hyphen_hyphen_greater {\012 ignore sub hyphen hyphen' hyphen greater;\012 ignore sub hyphen' hyphen greater greater;\012 ignore sub bracketleft hyphen' hyphen greater;\012 sub hyphen.spacer hyphen.spacer greater' by hyphen_hyphen_greater.liga;\012 sub hyphen.spacer hyphen' greater by hyphen.spacer;\012 sub hyphen' hyphen greater by hyphen.spacer;\012} hyphen_hyphen_greater;\012\012lookup hyphen_hyphen_hyphen {\012 ignore sub hyphen hyphen' hyphen hyphen;\012 ignore sub hyphen' hyphen hyphen hyphen;\012 ignore sub bracketleft hyphen' hyphen hyphen;\012 sub hyphen.spacer hyphen.spacer hyphen' by hyphen_hyphen_hyphen.liga;\012 sub hyphen.spacer hyphen' hyphen by hyphen.spacer;\012 sub hyphen' hyphen hyphen by hyphen.spacer;\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 hyphen.spacer less.spacer less' by hyphen_less_less.liga;\012 sub hyphen.spacer less' less by less.spacer;\012 sub hyphen' less less by hyphen.spacer;\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 less.spacer asciitilde.spacer asciitilde' by less_asciitilde_asciitilde.liga;\012 sub less.spacer asciitilde' asciitilde by asciitilde.spacer;\012 sub less' asciitilde asciitilde by less.spacer;\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 less.spacer asciitilde.spacer greater' by less_asciitilde_greater.liga;\012 sub less.spacer asciitilde' greater by asciitilde.spacer;\012 sub less' asciitilde greater by less.spacer;\012} less_asciitilde_greater;\012\012lookup less_asterisk_greater {\012 sub less.spacer asterisk.spacer greater' by less_asterisk_greater.liga;\012 sub less.spacer asterisk' greater by asterisk.spacer;\012 sub less' asterisk greater by less.spacer;\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 less.spacer bar.spacer bar' by less_bar_bar.liga;\012 sub less.spacer bar' bar by bar.spacer;\012 sub less' bar bar by less.spacer;\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 less.spacer bar.spacer greater' by less_bar_greater.liga;\012 sub less.spacer bar' greater by bar.spacer;\012 sub less' bar greater by less.spacer;\012} less_bar_greater;\012\012lookup less_dollar_greater {\012 sub less.spacer dollar.spacer greater' by less_dollar_greater.liga;\012 sub less.spacer dollar' greater by dollar.spacer;\012 sub less' dollar greater by less.spacer;\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 less.spacer equal.spacer bar' by less_equal_bar.liga;\012 sub less.spacer equal' bar by equal.spacer;\012 sub less' equal bar by less.spacer;\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 less.spacer equal.spacer equal' by less_equal_equal.liga;\012 sub less.spacer equal' equal by equal.spacer;\012 sub less' equal equal by less.spacer;\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 less.spacer equal.spacer greater' by less_equal_greater.liga;\012 sub less.spacer equal' greater by equal.spacer;\012 sub less' equal greater by less.spacer;\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 less.spacer equal.spacer less' by less_equal_less.liga;\012 sub less.spacer equal' less by equal.spacer;\012 sub less' equal less by less.spacer;\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 less.spacer hyphen.spacer bar' by less_hyphen_bar.liga;\012 sub less.spacer hyphen' bar by hyphen.spacer;\012 sub less' hyphen bar by less.spacer;\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 less.spacer hyphen.spacer greater' by less_hyphen_greater.liga;\012 sub less.spacer hyphen' greater by hyphen.spacer;\012 sub less' hyphen greater by less.spacer;\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 less.spacer hyphen.spacer hyphen' by less_hyphen_hyphen.liga;\012 sub less.spacer hyphen' hyphen by hyphen.spacer;\012 sub less' hyphen hyphen by less.spacer;\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 less.spacer hyphen.spacer less' by less_hyphen_less.liga;\012 sub less.spacer hyphen' less by hyphen.spacer;\012 sub less' hyphen less by less.spacer;\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 less.spacer less.spacer equal' by less_less_equal.liga;\012 sub less.spacer less' equal by less.spacer;\012 sub less' less equal by less.spacer;\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 less.spacer less.spacer hyphen' by less_less_hyphen.liga;\012 sub less.spacer less' hyphen by less.spacer;\012 sub less' less hyphen by less.spacer;\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 less.spacer less.spacer less' by less_less_less.liga;\012 sub less.spacer less' less by less.spacer;\012 sub less' less less by less.spacer;\012} less_less_less;\012\012lookup less_plus_greater {\012 sub less.spacer plus.spacer greater' by less_plus_greater.liga;\012 sub less.spacer plus' greater by plus.spacer;\012 sub less' plus greater by less.spacer;\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 less.spacer slash.spacer greater' by less_slash_greater.liga;\012 sub less.spacer slash' greater by slash.spacer;\012 sub less' slash greater by less.spacer;\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 numbersign.spacer numbersign.spacer numbersign' by numbersign_numbersign_numbersign.liga;\012 sub numbersign.spacer numbersign' numbersign by numbersign.spacer;\012 sub numbersign' numbersign numbersign by numbersign.spacer;\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 numbersign.spacer underscore.spacer parenleft' by numbersign_underscore_parenleft.liga;\012 sub numbersign.spacer underscore' parenleft by underscore.spacer;\012 sub numbersign' underscore parenleft by numbersign.spacer;\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 period.spacer period.spacer equal' by period_period_equal.liga;\012 sub period.spacer period' equal by period.spacer;\012 sub period' period equal by period.spacer;\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 period.spacer period.spacer less' by period_period_less.liga;\012 sub period.spacer period' less by period.spacer;\012 sub period' period less by period.spacer;\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 period.spacer period.spacer period' by period_period_period.liga;\012 sub period.spacer period' period by period.spacer;\012 sub period' period period by period.spacer;\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 plus.spacer plus.spacer plus' by plus_plus_plus.liga;\012 sub plus.spacer plus' plus by plus.spacer;\012 sub plus' plus plus by plus.spacer;\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 slash.spacer equal.spacer equal' by slash_equal_equal.liga;\012 sub slash.spacer equal' equal by equal.spacer;\012 sub slash' equal equal by slash.spacer;\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 slash.spacer slash.spacer slash' by slash_slash_slash.liga;\012 sub slash.spacer slash' slash by slash.spacer;\012 sub slash' slash slash by slash.spacer;\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 underscore.spacer bar.spacer underscore' by underscore_bar_underscore.liga;\012 sub underscore.spacer bar' underscore by bar.spacer;\012 sub underscore' bar underscore by underscore.spacer;\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 w.spacer w.spacer w' by w_w_w.liga;\012 sub w.spacer w' w by w.spacer;\012 sub w' w w by w.spacer;\012} w_w_w;\012\012lookup ampersand_ampersand {\012 ignore sub ampersand ampersand' ampersand;\012 ignore sub ampersand' ampersand ampersand;\012 sub ampersand.spacer ampersand' by ampersand_ampersand.liga;\012 sub ampersand' ampersand by ampersand.spacer;\012} ampersand_ampersand;\012\012lookup asciicircum_equal {\012 ignore sub asciicircum asciicircum' equal;\012 ignore sub asciicircum' equal equal;\012 sub asciicircum.spacer equal' by asciicircum_equal.liga;\012 sub asciicircum' equal by asciicircum.spacer;\012} asciicircum_equal;\012\012lookup asciitilde_asciitilde {\012 ignore sub asciitilde asciitilde' asciitilde;\012 ignore sub asciitilde' asciitilde asciitilde;\012 sub asciitilde.spacer asciitilde' by asciitilde_asciitilde.liga;\012 sub asciitilde' asciitilde by asciitilde.spacer;\012} asciitilde_asciitilde;\012\012lookup asciitilde_at {\012 ignore sub asciitilde asciitilde' at;\012 ignore sub asciitilde' at at;\012 sub asciitilde.spacer at' by asciitilde_at.liga;\012 sub asciitilde' at by asciitilde.spacer;\012} asciitilde_at;\012\012lookup asciitilde_greater {\012 ignore sub asciitilde asciitilde' greater;\012 ignore sub asciitilde' greater greater;\012 sub asciitilde.spacer greater' by asciitilde_greater.liga;\012 sub asciitilde' greater by asciitilde.spacer;\012} asciitilde_greater;\012\012lookup asciitilde_hyphen {\012 ignore sub asciitilde asciitilde' hyphen;\012 ignore sub asciitilde' hyphen hyphen;\012 sub asciitilde.spacer hyphen' by asciitilde_hyphen.liga;\012 sub asciitilde' hyphen by asciitilde.spacer;\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 asterisk.spacer asterisk' by asterisk_asterisk.liga;\012 sub asterisk' asterisk by asterisk.spacer;\012} asterisk_asterisk;\012\012lookup asterisk_greater {\012 ignore sub asterisk asterisk' greater;\012 ignore sub asterisk' greater greater;\012 sub asterisk.spacer greater' by asterisk_greater.liga;\012 sub asterisk' greater by asterisk.spacer;\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 asterisk.spacer slash' by asterisk_slash.liga;\012 sub asterisk' slash by asterisk.spacer;\012} asterisk_slash;\012\012lookup bar_bar {\012 ignore sub bar bar' bar;\012 ignore sub bar' bar bar;\012 sub bar.spacer bar' by bar_bar.liga;\012 sub bar' bar by bar.spacer;\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 bar.spacer braceright' by bar_braceright.liga;\012 sub bar' braceright by bar.spacer;\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 bar.spacer bracketright' by bar_bracketright.liga;\012 sub bar' bracketright by bar.spacer;\012} bar_bracketright;\012\012lookup bar_equal {\012 ignore sub bar bar' equal;\012 ignore sub bar' equal equal;\012 sub bar.spacer equal' by bar_equal.liga;\012 sub bar' equal by bar.spacer;\012} bar_equal;\012\012lookup bar_greater {\012 ignore sub bar bar' greater;\012 ignore sub bar' greater greater;\012 sub bar.spacer greater' by bar_greater.liga;\012 sub bar' greater by bar.spacer;\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 bar.spacer hyphen' by bar_hyphen.liga;\012 sub bar' hyphen by bar.spacer;\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 braceleft.spacer bar' by braceleft_bar.liga;\012 sub braceleft' bar by braceleft.spacer;\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 bracketleft.spacer bar' by bracketleft_bar.liga;\012 sub bracketleft' bar by bracketleft.spacer;\012} bracketleft_bar;\012\012lookup bracketright_numbersign {\012 ignore sub bracketright bracketright' numbersign;\012 ignore sub bracketright' numbersign numbersign;\012 sub bracketright.spacer numbersign' by bracketright_numbersign.liga;\012 sub bracketright' numbersign by bracketright.spacer;\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 colon.spacer colon' by colon_colon.liga;\012 sub colon' colon by colon.spacer;\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 colon.spacer equal' by colon_equal.liga;\012 sub colon' equal by colon.spacer;\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 colon.spacer greater' by colon_greater.liga;\012 sub colon' greater by colon.spacer;\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 colon.spacer less' by colon_less.liga;\012 sub colon' less by colon.spacer;\012} colon_less;\012\012lookup dollar_greater {\012 ignore sub dollar dollar' greater;\012 ignore sub dollar' greater greater;\012 sub dollar.spacer greater' by dollar_greater.liga;\012 sub dollar' greater by dollar.spacer;\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 ignore sub less question equal' equal;\012 ignore sub bracketleft equal' equal;\012 sub equal.spacer equal' by equal_equal.liga;\012 sub equal' equal by equal.spacer;\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 ignore sub less question equal' greater;\012 ignore sub bracketleft equal' greater;\012 sub equal.spacer greater' by equal_greater.liga;\012 sub equal' greater by equal.spacer;\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 exclam.spacer equal' by exclam_equal.liga;\012 sub exclam' equal by exclam.spacer;\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 exclam.spacer exclam' by exclam_exclam.liga;\012 sub exclam' exclam by exclam.spacer;\012} exclam_exclam;\012\012lookup greater_colon {\012 ignore sub greater greater' colon;\012 ignore sub greater' colon colon;\012 sub greater.spacer colon' by greater_colon.liga;\012 sub greater' colon by greater.spacer;\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 greater.spacer equal' by greater_equal.liga;\012 sub greater' equal by greater.spacer;\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 greater.spacer greater' by greater_greater.liga;\012 sub greater' greater by greater.spacer;\012} greater_greater;\012\012lookup greater_hyphen {\012 ignore sub greater greater' hyphen;\012 ignore sub greater' hyphen hyphen;\012 sub greater.spacer hyphen' by greater_hyphen.liga;\012 sub greater' hyphen by greater.spacer;\012} greater_hyphen;\012\012lookup hyphen_asciitilde {\012 ignore sub hyphen hyphen' asciitilde;\012 ignore sub hyphen' asciitilde asciitilde;\012 sub hyphen.spacer asciitilde' by hyphen_asciitilde.liga;\012 sub hyphen' asciitilde by hyphen.spacer;\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 hyphen.spacer bar' by hyphen_bar.liga;\012 sub hyphen' bar by hyphen.spacer;\012} hyphen_bar;\012\012lookup hyphen_greater {\012 ignore sub hyphen hyphen' greater;\012 ignore sub hyphen' greater greater;\012 ignore sub bracketleft hyphen' greater;\012 sub hyphen.spacer greater' by hyphen_greater.liga;\012 sub hyphen' greater by hyphen.spacer;\012} hyphen_greater;\012\012lookup hyphen_hyphen {\012 ignore sub hyphen hyphen' hyphen;\012 ignore sub hyphen' hyphen hyphen;\012 ignore sub bracketleft hyphen' hyphen;\012 sub hyphen.spacer hyphen' by hyphen_hyphen.liga;\012 sub hyphen' hyphen by hyphen.spacer;\012} hyphen_hyphen;\012\012lookup hyphen_less {\012 ignore sub hyphen hyphen' less;\012 ignore sub hyphen' less less;\012 sub hyphen.spacer less' by hyphen_less.liga;\012 sub hyphen' less by hyphen.spacer;\012} hyphen_less;\012\012lookup less_asciitilde {\012 ignore sub less less' asciitilde;\012 ignore sub less' asciitilde asciitilde;\012 sub less.spacer asciitilde' by less_asciitilde.liga;\012 sub less' asciitilde by less.spacer;\012} less_asciitilde;\012\012lookup less_asterisk {\012 ignore sub less less' asterisk;\012 ignore sub less' asterisk asterisk;\012 sub less.spacer asterisk' by less_asterisk.liga;\012 sub less' asterisk by less.spacer;\012} less_asterisk;\012\012lookup less_bar {\012 ignore sub less less' bar;\012 ignore sub less' bar bar;\012 sub less.spacer bar' by less_bar.liga;\012 sub less' bar by less.spacer;\012} less_bar;\012\012lookup less_colon {\012 ignore sub less less' colon;\012 ignore sub less' colon colon;\012 sub less.spacer colon' by less_colon.liga;\012 sub less' colon by less.spacer;\012} less_colon;\012\012lookup less_dollar {\012 ignore sub less less' dollar;\012 ignore sub less' dollar dollar;\012 sub less.spacer dollar' by less_dollar.liga;\012 sub less' dollar by less.spacer;\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 less.spacer equal' by less_equal.liga;\012 sub less' equal by less.spacer;\012} less_equal;\012\012lookup less_greater {\012 ignore sub less less' greater;\012 ignore sub less' greater greater;\012 sub less.spacer greater' by less_greater.liga;\012 sub less' greater by less.spacer;\012} less_greater;\012\012lookup less_hyphen {\012 ignore sub less less' hyphen;\012 ignore sub less' hyphen hyphen;\012 sub less.spacer hyphen' by less_hyphen.liga;\012 sub less' hyphen by less.spacer;\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 less.spacer less' by less_less.liga;\012 sub less' less by less.spacer;\012} less_less;\012\012lookup less_plus {\012 ignore sub less less' plus;\012 ignore sub less' plus plus;\012 sub less.spacer plus' by less_plus.liga;\012 sub less' plus by less.spacer;\012} less_plus;\012\012lookup less_slash {\012 ignore sub less less' slash;\012 ignore sub less' slash slash;\012 sub less.spacer slash' by less_slash.liga;\012 sub less' slash by less.spacer;\012} less_slash;\012\012lookup numbersign_braceleft {\012 ignore sub numbersign numbersign' braceleft;\012 ignore sub numbersign' braceleft braceleft;\012 sub numbersign.spacer braceleft' by numbersign_braceleft.liga;\012 sub numbersign' braceleft by numbersign.spacer;\012} numbersign_braceleft;\012\012lookup numbersign_bracketleft {\012 ignore sub numbersign numbersign' bracketleft;\012 ignore sub numbersign' bracketleft bracketleft;\012 sub numbersign.spacer bracketleft' by numbersign_bracketleft.liga;\012 sub numbersign' bracketleft by numbersign.spacer;\012} numbersign_bracketleft;\012\012lookup numbersign_colon {\012 ignore sub numbersign numbersign' colon;\012 ignore sub numbersign' colon colon;\012 sub numbersign.spacer colon' by numbersign_colon.liga;\012 sub numbersign' colon by numbersign.spacer;\012} numbersign_colon;\012\012lookup numbersign_equal {\012 ignore sub numbersign numbersign' equal;\012 ignore sub numbersign' equal equal;\012 sub numbersign.spacer equal' by numbersign_equal.liga;\012 sub numbersign' equal by numbersign.spacer;\012} numbersign_equal;\012\012lookup numbersign_exclam {\012 ignore sub numbersign numbersign' exclam;\012 ignore sub numbersign' exclam exclam;\012 sub numbersign.spacer exclam' by numbersign_exclam.liga;\012 sub numbersign' exclam by numbersign.spacer;\012} numbersign_exclam;\012\012lookup numbersign_numbersign {\012 ignore sub numbersign numbersign' numbersign;\012 ignore sub numbersign' numbersign numbersign;\012 sub numbersign.spacer numbersign' by numbersign_numbersign.liga;\012 sub numbersign' numbersign by numbersign.spacer;\012} numbersign_numbersign;\012\012lookup numbersign_parenleft {\012 ignore sub numbersign numbersign' parenleft;\012 ignore sub numbersign' parenleft parenleft;\012 sub numbersign.spacer parenleft' by numbersign_parenleft.liga;\012 sub numbersign' parenleft by numbersign.spacer;\012} numbersign_parenleft;\012\012lookup numbersign_question {\012 ignore sub numbersign numbersign' question;\012 ignore sub numbersign' question question;\012 sub numbersign.spacer question' by numbersign_question.liga;\012 sub numbersign' question by numbersign.spacer;\012} numbersign_question;\012\012lookup numbersign_underscore {\012 ignore sub numbersign numbersign' underscore;\012 ignore sub numbersign' underscore underscore;\012 sub numbersign.spacer underscore' by numbersign_underscore.liga;\012 sub numbersign' underscore by numbersign.spacer;\012} numbersign_underscore;\012\012lookup percent_percent {\012 ignore sub percent percent' percent;\012 ignore sub percent' percent percent;\012 sub percent.spacer percent' by percent_percent.liga;\012 sub percent' percent by percent.spacer;\012} percent_percent;\012\012lookup period_equal {\012 ignore sub period period' equal;\012 ignore sub period' equal equal;\012 sub period.spacer equal' by period_equal.liga;\012 sub period' equal by period.spacer;\012} period_equal;\012\012lookup period_hyphen {\012 ignore sub period period' hyphen;\012 ignore sub period' hyphen hyphen;\012 sub period.spacer hyphen' by period_hyphen.liga;\012 sub period' hyphen by period.spacer;\012} period_hyphen;\012\012lookup period_period {\012 ignore sub period period' period;\012 ignore sub period' period period;\012 sub period.spacer period' by period_period.liga;\012 sub period' period by period.spacer;\012} period_period;\012\012lookup period_question {\012 ignore sub period period' question;\012 ignore sub period' question question;\012 sub period.spacer question' by period_question.liga;\012 sub period' question by period.spacer;\012} period_question;\012\012lookup plus_greater {\012 ignore sub plus plus' greater;\012 ignore sub plus' greater greater;\012 sub plus.spacer greater' by plus_greater.liga;\012 sub plus' greater by plus.spacer;\012} plus_greater;\012\012lookup plus_plus {\012 ignore sub plus plus' plus;\012 ignore sub plus' plus plus;\012 sub plus.spacer plus' by plus_plus.liga;\012 sub plus' plus by plus.spacer;\012} plus_plus;\012\012lookup question_equal {\012 ignore sub question question' equal;\012 ignore sub question' equal equal;\012 ignore sub parenleft question' equal;\012 ignore sub less question' equal;\012 sub question.spacer equal' by question_equal.liga;\012 sub question' equal by question.spacer;\012} question_equal;\012\012lookup question_period {\012 ignore sub question question' period;\012 ignore sub question' period period;\012 sub question.spacer period' by question_period.liga;\012 sub question' period by question.spacer;\012} question_period;\012\012lookup question_question {\012 ignore sub question question' question;\012 ignore sub question' question question;\012 sub question.spacer question' by question_question.liga;\012 sub question' question by question.spacer;\012} question_question;\012\012lookup semicolon_semicolon {\012 ignore sub semicolon semicolon' semicolon;\012 ignore sub semicolon' semicolon semicolon;\012 sub semicolon.spacer semicolon' by semicolon_semicolon.liga;\012 sub semicolon' semicolon by semicolon.spacer;\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 slash.spacer asterisk' by slash_asterisk.liga;\012 sub slash' asterisk by slash.spacer;\012} slash_asterisk;\012\012lookup slash_equal {\012 ignore sub slash slash' equal;\012 ignore sub slash' equal equal;\012 sub slash.spacer equal' by slash_equal.liga;\012 sub slash' equal by slash.spacer;\012} slash_equal;\012\012lookup slash_greater {\012 ignore sub slash slash' greater;\012 ignore sub slash' greater greater;\012 sub slash.spacer greater' by slash_greater.liga;\012 sub slash' greater by slash.spacer;\012} slash_greater;\012\012lookup slash_slash {\012 ignore sub slash slash' slash;\012 ignore sub slash' slash slash;\012 sub slash.spacer slash' by slash_slash.liga;\012 sub slash' slash by slash.spacer;\012} slash_slash;\012\012lookup underscore_underscore {\012 ignore sub underscore underscore' underscore;\012 ignore sub underscore' underscore underscore;\012 sub underscore.spacer underscore' by underscore_underscore.liga;\012 sub underscore' underscore by underscore.spacer;\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 pos @Tall \\colon' <0 160 0 0>;\012 pos \\colon' @Tall <0 160 0 0>;\012} uppercase_colon;\012\012# 738\012#lookup slash_backslash {\012# ignore sub @NotSpace slash' backslash;\012# ignore sub slash' backslash @NotSpace;\012# sub slash.spacer backslash' by slash_backslash.liga;\012# sub slash' backslash by slash.spacer;\012#} slash_backslash;\012\012#lookup backslash_slash {\012# ignore sub @NotSpace backslash' slash;\012# ignore sub backslash' slash @NotSpace;\012# sub backslash.spacer slash' by backslash_slash.liga;\012# sub backslash' slash by backslash.spacer;\012#} backslash_slash;\012\012### 795\012\012sub [f i.salt_low j.salt_low] [i j]' by [i.salt_low j.salt_low];\012sub [F T I f l.salt_low] l' by l.salt_low;\012\012###\012\012### 0xFF\012sub [zero zero.zero] x' [@Digit @HexDigit] by x.multiply;\012sub [zero.tosf zero.zero.tosf zero.tosf.zero] x' [@DigitTosf @HexDigit] by x.multiply.tosf;\012\012### 800x600\012sub @Digit x' @Digit by x.multiply; \012sub @DigitTosf x' @DigitTosf by x.multiply.tosf;\012\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 less_less_hyphen_greater_greater {\012 ignore sub less less' less hyphen greater greater;\012 ignore sub less' less hyphen greater greater greater;\012 sub less.spacer less.spacer hyphen.spacer greater.spacer greater' by less_less_hyphen_greater_greater.liga;\012 sub less.spacer less.spacer hyphen.spacer greater' greater by greater.spacer;\012 sub less.spacer less.spacer hyphen' greater greater by hyphen.spacer;\012 sub less.spacer less' hyphen greater greater by less.spacer;\012 sub less' less hyphen greater greater by less.spacer;\012} less_less_hyphen_greater_greater;\012\012lookup bar_bar_bar_greater {\012 ignore sub bar bar' bar bar greater;\012 ignore sub bar' bar bar greater greater;\012 sub bar.spacer bar.spacer bar.spacer greater' by bar_bar_bar_greater.liga;\012 sub bar.spacer bar.spacer bar' greater by bar.spacer;\012 sub bar.spacer bar' bar greater by bar.spacer;\012 sub bar' bar bar greater by bar.spacer;\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 less.spacer bar.spacer bar.spacer bar' by less_bar_bar_bar.liga;\012 sub less.spacer bar.spacer bar' bar by bar.spacer;\012 sub less.spacer bar' bar bar by bar.spacer;\012 sub less' bar bar bar by less.spacer;\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 less.spacer equal.spacer equal.spacer greater' by less_equal_equal_greater.liga;\012 sub less.spacer equal.spacer equal' greater by equal.spacer;\012 sub less.spacer equal' equal greater by equal.spacer;\012 sub less' equal equal greater by less.spacer;\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 less.spacer exclam.spacer hyphen.spacer hyphen' by less_exclam_hyphen_hyphen.liga;\012 sub less.spacer exclam.spacer hyphen' hyphen by hyphen.spacer;\012 sub less.spacer exclam' hyphen hyphen by exclam.spacer;\012 sub less' exclam hyphen hyphen by less.spacer;\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 numbersign.spacer numbersign.spacer numbersign.spacer numbersign' by numbersign_numbersign_numbersign_numbersign.liga;\012 sub numbersign.spacer numbersign.spacer numbersign' numbersign by numbersign.spacer;\012 sub numbersign.spacer numbersign' numbersign numbersign by numbersign.spacer;\012 sub numbersign' numbersign numbersign numbersign by numbersign.spacer;\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 asciitilde.spacer asciitilde.spacer greater' by asciitilde_asciitilde_greater.liga;\012 sub asciitilde.spacer asciitilde' greater by asciitilde.spacer;\012 sub asciitilde' asciitilde greater by asciitilde.spacer;\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 asterisk.spacer asterisk.spacer asterisk' by asterisk_asterisk_asterisk.liga;\012 sub asterisk.spacer asterisk' asterisk by asterisk.spacer;\012 sub asterisk' asterisk asterisk by asterisk.spacer;\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 bar.spacer bar.spacer equal' by bar_bar_equal.liga;\012 sub bar.spacer bar' equal by bar.spacer;\012 sub bar' bar equal by bar.spacer;\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 bar.spacer bar.spacer greater' by bar_bar_greater.liga;\012 sub bar.spacer bar' greater by bar.spacer;\012 sub bar' bar greater by bar.spacer;\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 bar.spacer bar.spacer hyphen' by bar_bar_hyphen.liga;\012 sub bar.spacer bar' hyphen by bar.spacer;\012 sub bar' bar hyphen by bar.spacer;\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 bar.spacer equal.spacer greater' by bar_equal_greater.liga;\012 sub bar.spacer equal' greater by equal.spacer;\012 sub bar' equal greater by bar.spacer;\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 bar.spacer hyphen.spacer greater' by bar_hyphen_greater.liga;\012 sub bar.spacer hyphen' greater by hyphen.spacer;\012 sub bar' hyphen greater by bar.spacer;\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 colon.spacer colon.spacer colon' by colon_colon_colon.liga;\012 sub colon.spacer colon' colon by colon.spacer;\012 sub colon' colon colon by colon.spacer;\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 colon.spacer colon.spacer equal' by colon_colon_equal.liga;\012 sub colon.spacer colon' equal by colon.spacer;\012 sub colon' colon equal by colon.spacer;\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 ignore sub less question equal' colon equal;\012 sub equal.spacer colon.spacer equal' by equal_colon_equal.liga;\012 sub equal.spacer colon' equal by colon.spacer;\012 sub equal' colon equal by equal.spacer;\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 ignore sub less question equal' equal equal;\012 ignore sub bracketleft equal' equal equal;\012 sub equal.spacer equal.spacer equal' by equal_equal_equal.liga;\012 sub equal.spacer equal' equal by equal.spacer;\012 sub equal' equal equal by equal.spacer;\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 ignore sub less question equal' equal greater;\012 ignore sub bracketleft equal' equal greater;\012 sub equal.spacer equal.spacer greater' by equal_equal_greater.liga;\012 sub equal.spacer equal' greater by equal.spacer;\012 sub equal' equal greater by equal.spacer;\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 ignore sub less question equal' exclam equal;\012 sub equal.spacer exclam.spacer equal' by equal_exclam_equal.liga;\012 sub equal.spacer exclam' equal by exclam.spacer;\012 sub equal' exclam equal by equal.spacer;\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 ignore sub less question equal' greater greater;\012 sub equal.spacer greater.spacer greater' by equal_greater_greater.liga;\012 sub equal.spacer greater' greater by greater.spacer;\012 sub equal' greater greater by equal.spacer;\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 ignore sub less question equal' less less;\012 sub equal.spacer less.spacer less' by equal_less_less.liga;\012 sub equal.spacer less' less by less.spacer;\012 sub equal' less less by equal.spacer;\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 ignore sub less question equal' slash equal;\012 sub equal.spacer slash.spacer equal' by equal_slash_equal.liga;\012 sub equal.spacer slash' equal by slash.spacer;\012 sub equal' slash equal by equal.spacer;\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 exclam.spacer equal.spacer equal' by exclam_equal_equal.liga;\012 sub exclam.spacer equal' equal by equal.spacer;\012 sub exclam' equal equal by exclam.spacer;\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 exclam.spacer exclam.spacer period' by exclam_exclam_period.liga;\012 sub exclam.spacer exclam' period by exclam.spacer;\012 sub exclam' exclam period by exclam.spacer;\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 greater.spacer equal.spacer greater' by greater_equal_greater.liga;\012 sub greater.spacer equal' greater by equal.spacer;\012 sub greater' equal greater by greater.spacer;\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 greater.spacer greater.spacer equal' by greater_greater_equal.liga;\012 sub greater.spacer greater' equal by greater.spacer;\012 sub greater' greater equal by greater.spacer;\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 greater.spacer greater.spacer greater' by greater_greater_greater.liga;\012 sub greater.spacer greater' greater by greater.spacer;\012 sub greater' greater greater by greater.spacer;\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 greater.spacer greater.spacer hyphen' by greater_greater_hyphen.liga;\012 sub greater.spacer greater' hyphen by greater.spacer;\012 sub greater' greater hyphen by greater.spacer;\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 greater.spacer hyphen.spacer greater' by greater_hyphen_greater.liga;\012 sub greater.spacer hyphen' greater by hyphen.spacer;\012 sub greater' hyphen greater by greater.spacer;\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 hyphen.spacer greater.spacer greater' by hyphen_greater_greater.liga;\012 sub hyphen.spacer greater' greater by greater.spacer;\012 sub hyphen' greater greater by hyphen.spacer;\012} hyphen_greater_greater;\012\012lookup hyphen_hyphen_greater {\012 ignore sub hyphen hyphen' hyphen greater;\012 ignore sub hyphen' hyphen greater greater;\012 ignore sub bracketleft hyphen' hyphen greater;\012 sub hyphen.spacer hyphen.spacer greater' by hyphen_hyphen_greater.liga;\012 sub hyphen.spacer hyphen' greater by hyphen.spacer;\012 sub hyphen' hyphen greater by hyphen.spacer;\012} hyphen_hyphen_greater;\012\012lookup hyphen_hyphen_hyphen {\012 ignore sub hyphen hyphen' hyphen hyphen;\012 ignore sub hyphen' hyphen hyphen hyphen;\012 ignore sub bracketleft hyphen' hyphen hyphen;\012 sub hyphen.spacer hyphen.spacer hyphen' by hyphen_hyphen_hyphen.liga;\012 sub hyphen.spacer hyphen' hyphen by hyphen.spacer;\012 sub hyphen' hyphen hyphen by hyphen.spacer;\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 hyphen.spacer less.spacer less' by hyphen_less_less.liga;\012 sub hyphen.spacer less' less by less.spacer;\012 sub hyphen' less less by hyphen.spacer;\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 less.spacer asciitilde.spacer asciitilde' by less_asciitilde_asciitilde.liga;\012 sub less.spacer asciitilde' asciitilde by asciitilde.spacer;\012 sub less' asciitilde asciitilde by less.spacer;\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 less.spacer asciitilde.spacer greater' by less_asciitilde_greater.liga;\012 sub less.spacer asciitilde' greater by asciitilde.spacer;\012 sub less' asciitilde greater by less.spacer;\012} less_asciitilde_greater;\012\012lookup less_asterisk_greater {\012 sub less.spacer asterisk.spacer greater' by less_asterisk_greater.liga;\012 sub less.spacer asterisk' greater by asterisk.spacer;\012 sub less' asterisk greater by less.spacer;\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 less.spacer bar.spacer bar' by less_bar_bar.liga;\012 sub less.spacer bar' bar by bar.spacer;\012 sub less' bar bar by less.spacer;\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 less.spacer bar.spacer greater' by less_bar_greater.liga;\012 sub less.spacer bar' greater by bar.spacer;\012 sub less' bar greater by less.spacer;\012} less_bar_greater;\012\012lookup less_dollar_greater {\012 sub less.spacer dollar.spacer greater' by less_dollar_greater.liga;\012 sub less.spacer dollar' greater by dollar.spacer;\012 sub less' dollar greater by less.spacer;\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 less.spacer equal.spacer bar' by less_equal_bar.liga;\012 sub less.spacer equal' bar by equal.spacer;\012 sub less' equal bar by less.spacer;\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 less.spacer equal.spacer equal' by less_equal_equal.liga;\012 sub less.spacer equal' equal by equal.spacer;\012 sub less' equal equal by less.spacer;\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 less.spacer equal.spacer greater' by less_equal_greater.liga;\012 sub less.spacer equal' greater by equal.spacer;\012 sub less' equal greater by less.spacer;\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 less.spacer equal.spacer less' by less_equal_less.liga;\012 sub less.spacer equal' less by equal.spacer;\012 sub less' equal less by less.spacer;\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 less.spacer hyphen.spacer bar' by less_hyphen_bar.liga;\012 sub less.spacer hyphen' bar by hyphen.spacer;\012 sub less' hyphen bar by less.spacer;\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 less.spacer hyphen.spacer greater' by less_hyphen_greater.liga;\012 sub less.spacer hyphen' greater by hyphen.spacer;\012 sub less' hyphen greater by less.spacer;\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 less.spacer hyphen.spacer hyphen' by less_hyphen_hyphen.liga;\012 sub less.spacer hyphen' hyphen by hyphen.spacer;\012 sub less' hyphen hyphen by less.spacer;\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 less.spacer hyphen.spacer less' by less_hyphen_less.liga;\012 sub less.spacer hyphen' less by hyphen.spacer;\012 sub less' hyphen less by less.spacer;\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 less.spacer less.spacer equal' by less_less_equal.liga;\012 sub less.spacer less' equal by less.spacer;\012 sub less' less equal by less.spacer;\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 less.spacer less.spacer hyphen' by less_less_hyphen.liga;\012 sub less.spacer less' hyphen by less.spacer;\012 sub less' less hyphen by less.spacer;\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 less.spacer less.spacer less' by less_less_less.liga;\012 sub less.spacer less' less by less.spacer;\012 sub less' less less by less.spacer;\012} less_less_less;\012\012lookup less_plus_greater {\012 sub less.spacer plus.spacer greater' by less_plus_greater.liga;\012 sub less.spacer plus' greater by plus.spacer;\012 sub less' plus greater by less.spacer;\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 less.spacer slash.spacer greater' by less_slash_greater.liga;\012 sub less.spacer slash' greater by slash.spacer;\012 sub less' slash greater by less.spacer;\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 numbersign.spacer numbersign.spacer numbersign' by numbersign_numbersign_numbersign.liga;\012 sub numbersign.spacer numbersign' numbersign by numbersign.spacer;\012 sub numbersign' numbersign numbersign by numbersign.spacer;\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 numbersign.spacer underscore.spacer parenleft' by numbersign_underscore_parenleft.liga;\012 sub numbersign.spacer underscore' parenleft by underscore.spacer;\012 sub numbersign' underscore parenleft by numbersign.spacer;\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 period.spacer period.spacer equal' by period_period_equal.liga;\012 sub period.spacer period' equal by period.spacer;\012 sub period' period equal by period.spacer;\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 period.spacer period.spacer less' by period_period_less.liga;\012 sub period.spacer period' less by period.spacer;\012 sub period' period less by period.spacer;\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 period.spacer period.spacer period' by period_period_period.liga;\012 sub period.spacer period' period by period.spacer;\012 sub period' period period by period.spacer;\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 plus.spacer plus.spacer plus' by plus_plus_plus.liga;\012 sub plus.spacer plus' plus by plus.spacer;\012 sub plus' plus plus by plus.spacer;\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 slash.spacer equal.spacer equal' by slash_equal_equal.liga;\012 sub slash.spacer equal' equal by equal.spacer;\012 sub slash' equal equal by slash.spacer;\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 slash.spacer slash.spacer slash' by slash_slash_slash.liga;\012 sub slash.spacer slash' slash by slash.spacer;\012 sub slash' slash slash by slash.spacer;\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 underscore.spacer bar.spacer underscore' by underscore_bar_underscore.liga;\012 sub underscore.spacer bar' underscore by bar.spacer;\012 sub underscore' bar underscore by underscore.spacer;\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 w.spacer w.spacer w' by w_w_w.liga;\012 sub w.spacer w' w by w.spacer;\012 sub w' w w by w.spacer;\012} w_w_w;\012\012lookup ampersand_ampersand {\012 ignore sub ampersand ampersand' ampersand;\012 ignore sub ampersand' ampersand ampersand;\012 sub ampersand.spacer ampersand' by ampersand_ampersand.liga;\012 sub ampersand' ampersand by ampersand.spacer;\012} ampersand_ampersand;\012\012lookup asciicircum_equal {\012 ignore sub asciicircum asciicircum' equal;\012 ignore sub asciicircum' equal equal;\012 sub asciicircum.spacer equal' by asciicircum_equal.liga;\012 sub asciicircum' equal by asciicircum.spacer;\012} asciicircum_equal;\012\012lookup asciitilde_asciitilde {\012 ignore sub asciitilde asciitilde' asciitilde;\012 ignore sub asciitilde' asciitilde asciitilde;\012 sub asciitilde.spacer asciitilde' by asciitilde_asciitilde.liga;\012 sub asciitilde' asciitilde by asciitilde.spacer;\012} asciitilde_asciitilde;\012\012lookup asciitilde_at {\012 ignore sub asciitilde asciitilde' at;\012 ignore sub asciitilde' at at;\012 sub asciitilde.spacer at' by asciitilde_at.liga;\012 sub asciitilde' at by asciitilde.spacer;\012} asciitilde_at;\012\012lookup asciitilde_greater {\012 ignore sub asciitilde asciitilde' greater;\012 ignore sub asciitilde' greater greater;\012 sub asciitilde.spacer greater' by asciitilde_greater.liga;\012 sub asciitilde' greater by asciitilde.spacer;\012} asciitilde_greater;\012\012lookup asciitilde_hyphen {\012 ignore sub asciitilde asciitilde' hyphen;\012 ignore sub asciitilde' hyphen hyphen;\012 sub asciitilde.spacer hyphen' by asciitilde_hyphen.liga;\012 sub asciitilde' hyphen by asciitilde.spacer;\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 asterisk.spacer asterisk' by asterisk_asterisk.liga;\012 sub asterisk' asterisk by asterisk.spacer;\012} asterisk_asterisk;\012\012lookup asterisk_greater {\012 ignore sub asterisk asterisk' greater;\012 ignore sub asterisk' greater greater;\012 sub asterisk.spacer greater' by asterisk_greater.liga;\012 sub asterisk' greater by asterisk.spacer;\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 asterisk.spacer slash' by asterisk_slash.liga;\012 sub asterisk' slash by asterisk.spacer;\012} asterisk_slash;\012\012lookup bar_bar {\012 ignore sub bar bar' bar;\012 ignore sub bar' bar bar;\012 sub bar.spacer bar' by bar_bar.liga;\012 sub bar' bar by bar.spacer;\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 bar.spacer braceright' by bar_braceright.liga;\012 sub bar' braceright by bar.spacer;\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 bar.spacer bracketright' by bar_bracketright.liga;\012 sub bar' bracketright by bar.spacer;\012} bar_bracketright;\012\012lookup bar_equal {\012 ignore sub bar bar' equal;\012 ignore sub bar' equal equal;\012 sub bar.spacer equal' by bar_equal.liga;\012 sub bar' equal by bar.spacer;\012} bar_equal;\012\012lookup bar_greater {\012 ignore sub bar bar' greater;\012 ignore sub bar' greater greater;\012 sub bar.spacer greater' by bar_greater.liga;\012 sub bar' greater by bar.spacer;\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 bar.spacer hyphen' by bar_hyphen.liga;\012 sub bar' hyphen by bar.spacer;\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 braceleft.spacer bar' by braceleft_bar.liga;\012 sub braceleft' bar by braceleft.spacer;\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 bracketleft.spacer bar' by bracketleft_bar.liga;\012 sub bracketleft' bar by bracketleft.spacer;\012} bracketleft_bar;\012\012lookup bracketright_numbersign {\012 ignore sub bracketright bracketright' numbersign;\012 ignore sub bracketright' numbersign numbersign;\012 sub bracketright.spacer numbersign' by bracketright_numbersign.liga;\012 sub bracketright' numbersign by bracketright.spacer;\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 colon.spacer colon' by colon_colon.liga;\012 sub colon' colon by colon.spacer;\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 colon.spacer equal' by colon_equal.liga;\012 sub colon' equal by colon.spacer;\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 colon.spacer greater' by colon_greater.liga;\012 sub colon' greater by colon.spacer;\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 colon.spacer less' by colon_less.liga;\012 sub colon' less by colon.spacer;\012} colon_less;\012\012lookup dollar_greater {\012 ignore sub dollar dollar' greater;\012 ignore sub dollar' greater greater;\012 sub dollar.spacer greater' by dollar_greater.liga;\012 sub dollar' greater by dollar.spacer;\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 ignore sub less question equal' equal;\012 ignore sub bracketleft equal' equal;\012 sub equal.spacer equal' by equal_equal.liga;\012 sub equal' equal by equal.spacer;\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 ignore sub less question equal' greater;\012 ignore sub bracketleft equal' greater;\012 sub equal.spacer greater' by equal_greater.liga;\012 sub equal' greater by equal.spacer;\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 exclam.spacer equal' by exclam_equal.liga;\012 sub exclam' equal by exclam.spacer;\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 exclam.spacer exclam' by exclam_exclam.liga;\012 sub exclam' exclam by exclam.spacer;\012} exclam_exclam;\012\012lookup greater_colon {\012 ignore sub greater greater' colon;\012 ignore sub greater' colon colon;\012 sub greater.spacer colon' by greater_colon.liga;\012 sub greater' colon by greater.spacer;\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 greater.spacer equal' by greater_equal.liga;\012 sub greater' equal by greater.spacer;\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 greater.spacer greater' by greater_greater.liga;\012 sub greater' greater by greater.spacer;\012} greater_greater;\012\012lookup greater_hyphen {\012 ignore sub greater greater' hyphen;\012 ignore sub greater' hyphen hyphen;\012 sub greater.spacer hyphen' by greater_hyphen.liga;\012 sub greater' hyphen by greater.spacer;\012} greater_hyphen;\012\012lookup hyphen_asciitilde {\012 ignore sub hyphen hyphen' asciitilde;\012 ignore sub hyphen' asciitilde asciitilde;\012 sub hyphen.spacer asciitilde' by hyphen_asciitilde.liga;\012 sub hyphen' asciitilde by hyphen.spacer;\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 hyphen.spacer bar' by hyphen_bar.liga;\012 sub hyphen' bar by hyphen.spacer;\012} hyphen_bar;\012\012lookup hyphen_greater {\012 ignore sub hyphen hyphen' greater;\012 ignore sub hyphen' greater greater;\012 ignore sub bracketleft hyphen' greater;\012 sub hyphen.spacer greater' by hyphen_greater.liga;\012 sub hyphen' greater by hyphen.spacer;\012} hyphen_greater;\012\012lookup hyphen_hyphen {\012 ignore sub hyphen hyphen' hyphen;\012 ignore sub hyphen' hyphen hyphen;\012 ignore sub bracketleft hyphen' hyphen;\012 sub hyphen.spacer hyphen' by hyphen_hyphen.liga;\012 sub hyphen' hyphen by hyphen.spacer;\012} hyphen_hyphen;\012\012lookup hyphen_less {\012 ignore sub hyphen hyphen' less;\012 ignore sub hyphen' less less;\012 sub hyphen.spacer less' by hyphen_less.liga;\012 sub hyphen' less by hyphen.spacer;\012} hyphen_less;\012\012lookup less_asciitilde {\012 ignore sub less less' asciitilde;\012 ignore sub less' asciitilde asciitilde;\012 sub less.spacer asciitilde' by less_asciitilde.liga;\012 sub less' asciitilde by less.spacer;\012} less_asciitilde;\012\012lookup less_asterisk {\012 ignore sub less less' asterisk;\012 ignore sub less' asterisk asterisk;\012 sub less.spacer asterisk' by less_asterisk.liga;\012 sub less' asterisk by less.spacer;\012} less_asterisk;\012\012lookup less_bar {\012 ignore sub less less' bar;\012 ignore sub less' bar bar;\012 sub less.spacer bar' by less_bar.liga;\012 sub less' bar by less.spacer;\012} less_bar;\012\012lookup less_colon {\012 ignore sub less less' colon;\012 ignore sub less' colon colon;\012 sub less.spacer colon' by less_colon.liga;\012 sub less' colon by less.spacer;\012} less_colon;\012\012lookup less_dollar {\012 ignore sub less less' dollar;\012 ignore sub less' dollar dollar;\012 sub less.spacer dollar' by less_dollar.liga;\012 sub less' dollar by less.spacer;\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 less.spacer equal' by less_equal.liga;\012 sub less' equal by less.spacer;\012} less_equal;\012\012lookup less_greater {\012 ignore sub less less' greater;\012 ignore sub less' greater greater;\012 sub less.spacer greater' by less_greater.liga;\012 sub less' greater by less.spacer;\012} less_greater;\012\012lookup less_hyphen {\012 ignore sub less less' hyphen;\012 ignore sub less' hyphen hyphen;\012 sub less.spacer hyphen' by less_hyphen.liga;\012 sub less' hyphen by less.spacer;\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 less.spacer less' by less_less.liga;\012 sub less' less by less.spacer;\012} less_less;\012\012lookup less_plus {\012 ignore sub less less' plus;\012 ignore sub less' plus plus;\012 sub less.spacer plus' by less_plus.liga;\012 sub less' plus by less.spacer;\012} less_plus;\012\012lookup less_slash {\012 ignore sub less less' slash;\012 ignore sub less' slash slash;\012 sub less.spacer slash' by less_slash.liga;\012 sub less' slash by less.spacer;\012} less_slash;\012\012lookup numbersign_braceleft {\012 ignore sub numbersign numbersign' braceleft;\012 ignore sub numbersign' braceleft braceleft;\012 sub numbersign.spacer braceleft' by numbersign_braceleft.liga;\012 sub numbersign' braceleft by numbersign.spacer;\012} numbersign_braceleft;\012\012lookup numbersign_bracketleft {\012 ignore sub numbersign numbersign' bracketleft;\012 ignore sub numbersign' bracketleft bracketleft;\012 sub numbersign.spacer bracketleft' by numbersign_bracketleft.liga;\012 sub numbersign' bracketleft by numbersign.spacer;\012} numbersign_bracketleft;\012\012lookup numbersign_colon {\012 ignore sub numbersign numbersign' colon;\012 ignore sub numbersign' colon colon;\012 sub numbersign.spacer colon' by numbersign_colon.liga;\012 sub numbersign' colon by numbersign.spacer;\012} numbersign_colon;\012\012lookup numbersign_equal {\012 ignore sub numbersign numbersign' equal;\012 ignore sub numbersign' equal equal;\012 sub numbersign.spacer equal' by numbersign_equal.liga;\012 sub numbersign' equal by numbersign.spacer;\012} numbersign_equal;\012\012lookup numbersign_exclam {\012 ignore sub numbersign numbersign' exclam;\012 ignore sub numbersign' exclam exclam;\012 sub numbersign.spacer exclam' by numbersign_exclam.liga;\012 sub numbersign' exclam by numbersign.spacer;\012} numbersign_exclam;\012\012lookup numbersign_numbersign {\012 ignore sub numbersign numbersign' numbersign;\012 ignore sub numbersign' numbersign numbersign;\012 sub numbersign.spacer numbersign' by numbersign_numbersign.liga;\012 sub numbersign' numbersign by numbersign.spacer;\012} numbersign_numbersign;\012\012lookup numbersign_parenleft {\012 ignore sub numbersign numbersign' parenleft;\012 ignore sub numbersign' parenleft parenleft;\012 sub numbersign.spacer parenleft' by numbersign_parenleft.liga;\012 sub numbersign' parenleft by numbersign.spacer;\012} numbersign_parenleft;\012\012lookup numbersign_question {\012 ignore sub numbersign numbersign' question;\012 ignore sub numbersign' question question;\012 sub numbersign.spacer question' by numbersign_question.liga;\012 sub numbersign' question by numbersign.spacer;\012} numbersign_question;\012\012lookup numbersign_underscore {\012 ignore sub numbersign numbersign' underscore;\012 ignore sub numbersign' underscore underscore;\012 sub numbersign.spacer underscore' by numbersign_underscore.liga;\012 sub numbersign' underscore by numbersign.spacer;\012} numbersign_underscore;\012\012lookup percent_percent {\012 ignore sub percent percent' percent;\012 ignore sub percent' percent percent;\012 sub percent.spacer percent' by percent_percent.liga;\012 sub percent' percent by percent.spacer;\012} percent_percent;\012\012lookup period_equal {\012 ignore sub period period' equal;\012 ignore sub period' equal equal;\012 sub period.spacer equal' by period_equal.liga;\012 sub period' equal by period.spacer;\012} period_equal;\012\012lookup period_hyphen {\012 ignore sub period period' hyphen;\012 ignore sub period' hyphen hyphen;\012 sub period.spacer hyphen' by period_hyphen.liga;\012 sub period' hyphen by period.spacer;\012} period_hyphen;\012\012lookup period_period {\012 ignore sub period period' period;\012 ignore sub period' period period;\012 sub period.spacer period' by period_period.liga;\012 sub period' period by period.spacer;\012} period_period;\012\012lookup period_question {\012 ignore sub period period' question;\012 ignore sub period' question question;\012 sub period.spacer question' by period_question.liga;\012 sub period' question by period.spacer;\012} period_question;\012\012lookup plus_greater {\012 ignore sub plus plus' greater;\012 ignore sub plus' greater greater;\012 sub plus.spacer greater' by plus_greater.liga;\012 sub plus' greater by plus.spacer;\012} plus_greater;\012\012lookup plus_plus {\012 ignore sub plus plus' plus;\012 ignore sub plus' plus plus;\012 sub plus.spacer plus' by plus_plus.liga;\012 sub plus' plus by plus.spacer;\012} plus_plus;\012\012lookup question_equal {\012 ignore sub question question' equal;\012 ignore sub question' equal equal;\012 ignore sub parenleft question' equal;\012 ignore sub less question' equal;\012 sub question.spacer equal' by question_equal.liga;\012 sub question' equal by question.spacer;\012} question_equal;\012\012lookup question_period {\012 ignore sub question question' period;\012 ignore sub question' period period;\012 sub question.spacer period' by question_period.liga;\012 sub question' period by question.spacer;\012} question_period;\012\012lookup question_question {\012 ignore sub question question' question;\012 ignore sub question' question question;\012 sub question.spacer question' by question_question.liga;\012 sub question' question by question.spacer;\012} question_question;\012\012lookup semicolon_semicolon {\012 ignore sub semicolon semicolon' semicolon;\012 ignore sub semicolon' semicolon semicolon;\012 sub semicolon.spacer semicolon' by semicolon_semicolon.liga;\012 sub semicolon' semicolon by semicolon.spacer;\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 slash.spacer asterisk' by slash_asterisk.liga;\012 sub slash' asterisk by slash.spacer;\012} slash_asterisk;\012\012lookup slash_equal {\012 ignore sub slash slash' equal;\012 ignore sub slash' equal equal;\012 sub slash.spacer equal' by slash_equal.liga;\012 sub slash' equal by slash.spacer;\012} slash_equal;\012\012lookup slash_greater {\012 ignore sub slash slash' greater;\012 ignore sub slash' greater greater;\012 sub slash.spacer greater' by slash_greater.liga;\012 sub slash' greater by slash.spacer;\012} slash_greater;\012\012lookup slash_slash {\012 ignore sub slash slash' slash;\012 ignore sub slash' slash slash;\012 sub slash.spacer slash' by slash_slash.liga;\012 sub slash' slash by slash.spacer;\012} slash_slash;\012\012lookup underscore_underscore {\012 ignore sub underscore underscore' underscore;\012 ignore sub underscore' underscore underscore;\012 sub underscore.spacer underscore' by underscore_underscore.liga;\012 sub underscore' underscore by underscore.spacer;\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# pos @Tall \\colon' <0 160 0 0>;\012# pos \\colon' @Tall <0 160 0 0>;\012} uppercase_colon;\012\012# 738\012lookup slash_backslash {\012 ignore sub @NotSpace slash' backslash;\012 ignore sub slash' backslash @NotSpace;\012 sub slash.spacer backslash' by slash_backslash.liga;\012 sub slash' backslash by slash.spacer;\012} slash_backslash;\012\012lookup backslash_slash {\012 ignore sub @NotSpace backslash' slash;\012 ignore sub backslash' slash @NotSpace;\012 sub backslash.spacer slash' by backslash_slash.liga;\012 sub backslash' slash by backslash.spacer;\012} backslash_slash;\012\012### 795\012\012sub [f i.salt_low j.salt_low] [i j]' by [i.salt_low j.salt_low];\012sub [F T I l.salt_low] l' by l.salt_low;\012\012###\012\012### 0xFF\012sub [zero zero.zero] x' [@Digit @HexDigit] by x.multiply;\012sub [zero.tosf zero.zero.tosf zero.tosf.zero] x' [@DigitTosf @HexDigit] by x.multiply.tosf;\012\012### 800x600\012sub @Digit x' @Digit by x.multiply; \012sub @DigitTosf x' @DigitTosf by x.multiply.tosf;\012\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; }, { @@ -14688,7 +14688,7 @@ width = 1200; { color = 6; glyphname = l.salt_low; -lastChange = "2020-04-08 17:21:47 +0000"; +lastChange = "2020-04-09 13:14:17 +0000"; layers = ( { anchors = ( @@ -93879,7 +93879,7 @@ unicode = 2630; { color = 6; glyphname = lakeTrigram; -lastChange = "2020-04-05 21:56:34 +0000"; +lastChange = "2020-04-09 14:07:44 +0000"; layers = ( { layerId = "B67F0F2D-EC95-4CB8-966E-23AE86958A69"; @@ -93929,8 +93929,8 @@ paths = ( { closed = 1; nodes = ( -"146 1169 LINE", -"146 922 LINE", +"96 1169 LINE", +"96 922 LINE", "500 922 LINE", "500 1169 LINE" ); @@ -93938,19 +93938,19 @@ nodes = ( { closed = 1; nodes = ( -"146 330 LINE", -"146 84 LINE", -"1054 84 LINE", -"1054 330 LINE" +"96 330 LINE", +"96 84 LINE", +"1104 84 LINE", +"1104 330 LINE" ); }, { closed = 1; nodes = ( -"146 751 LINE", -"146 503 LINE", -"1054 503 LINE", -"1054 751 LINE" +"96 751 LINE", +"96 503 LINE", +"1104 503 LINE", +"1104 751 LINE" ); }, { @@ -93958,8 +93958,8 @@ closed = 1; nodes = ( "700 1169 LINE", "700 922 LINE", -"1054 922 LINE", -"1054 1169 LINE" +"1104 922 LINE", +"1104 1169 LINE" ); } ); @@ -93971,7 +93971,7 @@ unicode = 2631; { color = 6; glyphname = fireTrigram; -lastChange = "2020-04-05 21:56:34 +0000"; +lastChange = "2020-04-09 14:07:58 +0000"; layers = ( { layerId = "B67F0F2D-EC95-4CB8-966E-23AE86958A69"; @@ -94021,26 +94021,26 @@ paths = ( { closed = 1; nodes = ( -"146 1169 LINE", -"146 922 LINE", -"1054 922 LINE", -"1054 1169 LINE" +"96 1169 LINE", +"96 922 LINE", +"1104 922 LINE", +"1104 1169 LINE" ); }, { closed = 1; nodes = ( -"146 330 LINE", -"146 84 LINE", -"1054 84 LINE", -"1054 330 LINE" +"96 330 LINE", +"96 84 LINE", +"1104 84 LINE", +"1104 330 LINE" ); }, { closed = 1; nodes = ( -"146 751 LINE", -"146 503 LINE", +"96 751 LINE", +"96 503 LINE", "500 503 LINE", "500 751 LINE" ); @@ -94050,8 +94050,8 @@ closed = 1; nodes = ( "700 750 LINE", "700 503 LINE", -"1054 503 LINE", -"1054 750 LINE" +"1104 503 LINE", +"1104 750 LINE" ); } ); @@ -94063,7 +94063,7 @@ unicode = 2632; { color = 6; glyphname = thunderTrigram; -lastChange = "2020-04-05 21:56:34 +0000"; +lastChange = "2020-04-09 14:08:05 +0000"; layers = ( { layerId = "B67F0F2D-EC95-4CB8-966E-23AE86958A69"; @@ -94122,8 +94122,8 @@ paths = ( { closed = 1; nodes = ( -"146 1169 LINE", -"146 922 LINE", +"96 1169 LINE", +"96 922 LINE", "500 922 LINE", "500 1169 LINE" ); @@ -94131,17 +94131,17 @@ nodes = ( { closed = 1; nodes = ( -"146 330 LINE", -"146 84 LINE", -"1054 84 LINE", -"1054 330 LINE" +"96 330 LINE", +"96 84 LINE", +"1104 84 LINE", +"1104 330 LINE" ); }, { closed = 1; nodes = ( -"146 751 LINE", -"146 503 LINE", +"96 751 LINE", +"96 503 LINE", "500 503 LINE", "500 751 LINE" ); @@ -94149,19 +94149,19 @@ nodes = ( { closed = 1; nodes = ( -"700 1169 LINE", -"700 922 LINE", -"1054 922 LINE", -"1054 1169 LINE" +"700 751 LINE", +"700 503 LINE", +"1104 503 LINE", +"1104 751 LINE" ); }, { closed = 1; nodes = ( -"700 751 LINE", -"700 503 LINE", -"1054 503 LINE", -"1054 751 LINE" +"700 1169 LINE", +"700 922 LINE", +"1104 922 LINE", +"1104 1169 LINE" ); } ); @@ -94173,7 +94173,7 @@ unicode = 2633; { color = 6; glyphname = windTrigram; -lastChange = "2020-04-05 21:56:34 +0000"; +lastChange = "2020-04-09 14:08:12 +0000"; layers = ( { layerId = "B67F0F2D-EC95-4CB8-966E-23AE86958A69"; @@ -94223,17 +94223,17 @@ paths = ( { closed = 1; nodes = ( -"146 1169 LINE", -"146 922 LINE", -"1054 922 LINE", -"1054 1169 LINE" +"96 1169 LINE", +"96 922 LINE", +"1104 922 LINE", +"1104 1169 LINE" ); }, { closed = 1; nodes = ( -"146 330 LINE", -"146 84 LINE", +"96 330 LINE", +"96 84 LINE", "500 84 LINE", "500 330 LINE" ); @@ -94241,10 +94241,10 @@ nodes = ( { closed = 1; nodes = ( -"146 751 LINE", -"146 503 LINE", -"1054 503 LINE", -"1054 751 LINE" +"96 751 LINE", +"96 503 LINE", +"1104 503 LINE", +"1104 751 LINE" ); }, { @@ -94252,8 +94252,8 @@ closed = 1; nodes = ( "700 331 LINE", "700 84 LINE", -"1054 84 LINE", -"1054 331 LINE" +"1104 84 LINE", +"1104 331 LINE" ); } ); @@ -94265,7 +94265,7 @@ unicode = 2634; { color = 6; glyphname = waterTrigram; -lastChange = "2020-04-05 21:56:34 +0000"; +lastChange = "2020-04-09 14:08:19 +0000"; layers = ( { layerId = "B67F0F2D-EC95-4CB8-966E-23AE86958A69"; @@ -94324,8 +94324,8 @@ paths = ( { closed = 1; nodes = ( -"146 1169 LINE", -"146 922 LINE", +"96 1169 LINE", +"96 922 LINE", "500 922 LINE", "500 1169 LINE" ); @@ -94333,8 +94333,8 @@ nodes = ( { closed = 1; nodes = ( -"146 330 LINE", -"146 84 LINE", +"96 330 LINE", +"96 84 LINE", "500 84 LINE", "500 330 LINE" ); @@ -94342,19 +94342,10 @@ nodes = ( { closed = 1; nodes = ( -"146 751 LINE", -"146 503 LINE", -"1054 503 LINE", -"1054 751 LINE" -); -}, -{ -closed = 1; -nodes = ( -"700 331 LINE", -"700 84 LINE", -"1054 84 LINE", -"1054 331 LINE" +"96 751 LINE", +"96 503 LINE", +"1104 503 LINE", +"1104 751 LINE" ); }, { @@ -94362,8 +94353,17 @@ closed = 1; nodes = ( "700 1169 LINE", "700 922 LINE", -"1054 922 LINE", -"1054 1169 LINE" +"1104 922 LINE", +"1104 1169 LINE" +); +}, +{ +closed = 1; +nodes = ( +"700 331 LINE", +"700 84 LINE", +"1104 84 LINE", +"1104 331 LINE" ); } ); @@ -94375,7 +94375,7 @@ unicode = 2635; { color = 6; glyphname = mountainTrigram; -lastChange = "2020-04-05 21:56:34 +0000"; +lastChange = "2020-04-09 14:08:27 +0000"; layers = ( { layerId = "B67F0F2D-EC95-4CB8-966E-23AE86958A69"; @@ -94434,17 +94434,17 @@ paths = ( { closed = 1; nodes = ( -"146 1169 LINE", -"146 922 LINE", -"1054 922 LINE", -"1054 1169 LINE" +"96 1169 LINE", +"96 922 LINE", +"1104 922 LINE", +"1104 1169 LINE" ); }, { closed = 1; nodes = ( -"146 330 LINE", -"146 84 LINE", +"96 330 LINE", +"96 84 LINE", "500 84 LINE", "500 330 LINE" ); @@ -94452,8 +94452,8 @@ nodes = ( { closed = 1; nodes = ( -"146 751 LINE", -"146 503 LINE", +"96 751 LINE", +"96 503 LINE", "500 503 LINE", "500 751 LINE" ); @@ -94461,19 +94461,19 @@ nodes = ( { closed = 1; nodes = ( -"700 331 LINE", -"700 84 LINE", -"1054 84 LINE", -"1054 331 LINE" +"700 750 LINE", +"700 503 LINE", +"1104 503 LINE", +"1104 750 LINE" ); }, { closed = 1; nodes = ( -"700 750 LINE", -"700 503 LINE", -"1054 503 LINE", -"1054 750 LINE" +"700 331 LINE", +"700 84 LINE", +"1104 84 LINE", +"1104 331 LINE" ); } ); @@ -94485,7 +94485,7 @@ unicode = 2636; { color = 6; glyphname = earthTrigram; -lastChange = "2020-04-05 21:56:34 +0000"; +lastChange = "2020-04-09 14:08:35 +0000"; layers = ( { layerId = "B67F0F2D-EC95-4CB8-966E-23AE86958A69"; @@ -94553,8 +94553,8 @@ paths = ( { closed = 1; nodes = ( -"146 1169 LINE", -"146 922 LINE", +"96 1169 LINE", +"96 922 LINE", "500 922 LINE", "500 1169 LINE" ); @@ -94562,8 +94562,8 @@ nodes = ( { closed = 1; nodes = ( -"146 330 LINE", -"146 84 LINE", +"96 330 LINE", +"96 84 LINE", "500 84 LINE", "500 330 LINE" ); @@ -94571,8 +94571,8 @@ nodes = ( { closed = 1; nodes = ( -"146 751 LINE", -"146 503 LINE", +"96 751 LINE", +"96 503 LINE", "500 503 LINE", "500 751 LINE" ); @@ -94580,19 +94580,19 @@ nodes = ( { closed = 1; nodes = ( -"700 331 LINE", -"700 84 LINE", -"1054 84 LINE", -"1054 331 LINE" +"700 750 LINE", +"700 503 LINE", +"1104 503 LINE", +"1104 750 LINE" ); }, { closed = 1; nodes = ( -"700 750 LINE", -"700 503 LINE", -"1054 503 LINE", -"1054 750 LINE" +"700 331 LINE", +"700 84 LINE", +"1104 84 LINE", +"1104 331 LINE" ); }, { @@ -94600,8 +94600,8 @@ closed = 1; nodes = ( "700 1169 LINE", "700 922 LINE", -"1054 922 LINE", -"1054 1169 LINE" +"1104 922 LINE", +"1104 1169 LINE" ); } ); @@ -118515,7 +118515,7 @@ weightClass = Bold; } ); manufacturer = "Carrois Corporate, Edenspiekermann AG, Nikita Prokopov"; -manufacturerURL = "http://tonsky.me"; +manufacturerURL = "https://tonsky.me"; unitsPerEm = 1950; userData = { GSDimensionPlugin.Dimensions = { @@ -118541,6 +118541,6 @@ oV = 98; }; }; }; -versionMajor = 2; +versionMajor = 3; versionMinor = 0; } diff --git a/README.md b/README.md index fa693f3..bd9d57a 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ -## Fira Code: monospaced font with programming ligatures +## Fira Code: free monospaced font with programming ligatures - + ### Problem @@ -8,60 +8,77 @@ Programmers use a lot of symbols, often encoded with several characters. For the ### Solution -#### [Download v.2](https://github.com/tonsky/FiraCode/releases/download/2/FiraCode_2.zip) · [How to install](https://github.com/tonsky/FiraCode/wiki) · [Troubleshooting](https://github.com/tonsky/FiraCode/wiki#troubleshooting) · [News & updates](https://twitter.com/FiraCode) +Fira Code is a free monospaced font containing 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. - +### Download & Install -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. +**Download Fira Code v3** - +Then: + +- How to Install +- Troubleshooting +- News & Updates + +### Support + + + +Fira Code is a personal, free-time project with no funding and huge [feature request backlog](https://github.com/tonsky/FiraCode/issues). If you love it, consider supporting its development via [GitHub Sponsors](https://github.com/sponsors/tonsky) or [Patreon](https://patreon.com/tonsky). Any help counts! + +### What’s in the box? + +Left: ligatures as rendered in Fira Code. Right: same character sequences without ligatures. + + + +Fira Code comes with a few different character variants, so that everyone can choose what’s best for them. [How to enable](https://github.com/tonsky/FiraCode/wiki/How-to-enable-stylistic-sets) + + + +In addition to that, Fira Code contains huge variety of Unicode characters well-suited for technical writing, math formulas and terminal UIs. + + ### Code examples Ruby: - + JavaScript: - + PHP: - + Erlang: - + Elixir: - + Go: - + LiveScript: - + Clojure: - + Swift: - + -### Stylistic sets - -See [How to enable](https://github.com/tonsky/FiraCode/wiki/How-to-enable-stylistic-sets) - - - - -### Terminal support +### Terminal compatibility list | Works | Doesn’t work | | ------------------ | ------------------ | @@ -80,7 +97,7 @@ See [How to enable](https://github.com/tonsky/FiraCode/wiki/How-to-enable-stylis | **Windows Terminal** | | **ZOC** (macOS) | -### Editor support +### Editor compatibility list | Works | Doesn’t work | | ----- | -------------- | @@ -184,17 +201,21 @@ code { font-family: 'Fira Code', monospace; } ### Alternatives -Other monospaced fonts with ligatures: +Other free monospaced fonts with ligatures: -- [Hasklig](https://github.com/i-tu/Hasklig) (free) -- [PragmataPro](http://www.fsd.it/fonts/pragmatapro.htm) (€59) -- [Monoid](http://larsenwork.com/monoid/) (free) -- [Fixedsys Excelsior](https://github.com/kika/fixedsys) (free) -- [Iosevka](https://be5invis.github.io/Iosevka/) (free) -- [DejaVu Sans Code](https://github.com/SSNikolaevich/DejaVuSansCode) (free) -- [Victor Mono](https://rubjo.github.io/victor-mono/) (free) -- [Cascadia Code](https://github.com/microsoft/cascadia-code) (free) -- [JetBrains Mono](https://github.com/JetBrains/JetBrainsMono) (free) +- [Hasklig](https://github.com/i-tu/Hasklig) +- [Monoid](http://larsenwork.com/monoid/) +- [Fixedsys Excelsior](https://github.com/kika/fixedsys) +- [Iosevka](https://be5invis.github.io/Iosevka/) +- [DejaVu Sans Code](https://github.com/SSNikolaevich/DejaVuSansCode) +- [Victor Mono](https://rubjo.github.io/victor-mono/) +- [Cascadia Code](https://github.com/microsoft/cascadia-code) +- [JetBrains Mono](https://github.com/JetBrains/JetBrainsMono) + +Paid monospaced fonts with ligatures: + +- [PragmataPro](http://www.fsd.it/fonts/pragmatapro.htm) +- [Mono Lisa](https://monolisa.dev/) ### Building Fira Code locally diff --git a/distr/otf/FiraCode-Bold.otf b/distr/otf/FiraCode-Bold.otf index 5b753aa..bb8634c 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 137648b..2cc8267 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 a4f47af..c879a83 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 675e95d..e053794 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 da5fe20..14fcfcb 100644 Binary files a/distr/otf/FiraCode-Retina.otf and b/distr/otf/FiraCode-Retina.otf differ diff --git a/distr/otf/FiraCode-SemiBold.otf b/distr/otf/FiraCode-SemiBold.otf new file mode 100644 index 0000000..c727d16 Binary files /dev/null and b/distr/otf/FiraCode-SemiBold.otf differ diff --git a/distr/specimen.html b/distr/specimen.html index 1868764..ee2a06e 100644 --- a/distr/specimen.html +++ b/distr/specimen.html @@ -64,7 +64,7 @@ take = (n, [x, ...xs]:list) --> last3 = reverse >> take 3 >> reverse -
# Fira Code Medium +
# Fira Code SemiBold take = (n, [x, ...xs]:list) --> | n <= 0 => [] diff --git a/distr/ttf/FiraCode-Bold.ttf b/distr/ttf/FiraCode-Bold.ttf index 3ea99f5..0bce1b7 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 3fada5d..c6330b3 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 0f6fda0..2f1e648 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 27a2a3d..37e485a 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 dd85b46..b7d0028 100644 Binary files a/distr/ttf/FiraCode-Retina.ttf and b/distr/ttf/FiraCode-Retina.ttf differ diff --git a/distr/ttf/FiraCode-SemiBold.ttf b/distr/ttf/FiraCode-SemiBold.ttf index e28f808..c78ab94 100644 Binary files a/distr/ttf/FiraCode-SemiBold.ttf and b/distr/ttf/FiraCode-SemiBold.ttf differ diff --git a/distr/variable_ttf/FiraCode-VF.ttf b/distr/variable_ttf/FiraCode-VF.ttf index b433368..0d4ef2a 100644 Binary files a/distr/variable_ttf/FiraCode-VF.ttf and b/distr/variable_ttf/FiraCode-VF.ttf differ diff --git a/distr/variable_ttf/FiraCodeGX.ttf b/distr/variable_ttf/FiraCodeGX.ttf new file mode 100644 index 0000000..3bef147 Binary files /dev/null and b/distr/variable_ttf/FiraCodeGX.ttf differ diff --git a/distr/woff/FiraCode-Bold.woff b/distr/woff/FiraCode-Bold.woff index 9985076..fc23a51 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 5718390..6237aa3 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 16281b2..b2e3bcb 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 d250d45..b90f3dc 100644 Binary files a/distr/woff/FiraCode-Regular.woff and b/distr/woff/FiraCode-Regular.woff differ diff --git a/distr/woff/FiraCode-Retina.woff b/distr/woff/FiraCode-Retina.woff deleted file mode 100644 index b387e83..0000000 Binary files a/distr/woff/FiraCode-Retina.woff and /dev/null differ diff --git a/distr/woff/FiraCode-SemiBold.woff b/distr/woff/FiraCode-SemiBold.woff new file mode 100644 index 0000000..0aa189b Binary files /dev/null and b/distr/woff/FiraCode-SemiBold.woff differ diff --git a/distr/woff/FiraCode-VF.woff b/distr/woff/FiraCode-VF.woff index e67183e..cc5394b 100644 Binary files a/distr/woff/FiraCode-VF.woff and b/distr/woff/FiraCode-VF.woff differ diff --git a/distr/woff2/FiraCode-Bold.woff2 b/distr/woff2/FiraCode-Bold.woff2 index c386d4c..b46890b 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 3f26550..f5d7d58 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 2e494fd..cb27306 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 d58667c..e7a8877 100644 Binary files a/distr/woff2/FiraCode-Regular.woff2 and b/distr/woff2/FiraCode-Regular.woff2 differ diff --git a/distr/woff2/FiraCode-Retina.woff2 b/distr/woff2/FiraCode-Retina.woff2 deleted file mode 100644 index 2db81c2..0000000 Binary files a/distr/woff2/FiraCode-Retina.woff2 and /dev/null differ diff --git a/distr/woff2/FiraCode-SemiBold.woff2 b/distr/woff2/FiraCode-SemiBold.woff2 new file mode 100644 index 0000000..2149059 Binary files /dev/null and b/distr/woff2/FiraCode-SemiBold.woff2 differ diff --git a/distr/woff2/FiraCode-VF.woff2 b/distr/woff2/FiraCode-VF.woff2 index 6691379..d968630 100644 Binary files a/distr/woff2/FiraCode-VF.woff2 and b/distr/woff2/FiraCode-VF.woff2 differ diff --git a/showcases/fira_code_logo.svg b/extras/logo.svg similarity index 100% rename from showcases/fira_code_logo.svg rename to extras/logo.svg diff --git a/extras/sponsor.png b/extras/sponsor.png new file mode 100644 index 0000000..5edb8b7 Binary files /dev/null and b/extras/sponsor.png differ diff --git a/extras/texture.png b/extras/texture.png new file mode 100644 index 0000000..f6a59ed Binary files /dev/null and b/extras/texture.png differ diff --git a/fira_code_patreon.png b/fira_code_patreon.png deleted file mode 100644 index 1c279fc..0000000 Binary files a/fira_code_patreon.png and /dev/null differ diff --git a/script/build_variable b/script/build_variable new file mode 100755 index 0000000..3deb8cd --- /dev/null +++ b/script/build_variable @@ -0,0 +1,26 @@ +#!/bin/bash -e + +rm -rf distr/variable_ttf +fontmake -g FiraCode.glyphs -o variable --output-dir distr/variable_ttf + +# ------------------------------------------------------------- +# fix variable font metadata as needed ------------------------ + +firaCodeVF=distr/variable_ttf/FiraCode-VF.ttf + +# fix variable font metadata – very important +gftools fix-vf-meta $firaCodeVF + +# other fixes for metadata and hinting +gftools fix-nonhinting $firaCodeVF $firaCodeVF +gftools fix-gasp --autofix $firaCodeVF +gftools fix-dsig --autofix $firaCodeVF + +# cleanup of temp files +tempFiles=$(ls distr/variable_ttf/*.fix && ls distr/variable_ttf/*-gasp*) +for temp in $tempFiles +do + rm -rf $temp +done + +# TODO (late 2019?): use TTFautohint-VF for variable font (current support is minimal) diff --git a/script/build_woff b/script/build_woff new file mode 100755 index 0000000..7ab23e5 --- /dev/null +++ b/script/build_woff @@ -0,0 +1,15 @@ +#!/bin/bash -e +# requires sfnt2woff-zopfli (get from https://github.com/bramstein/homebrew-webfonttools) + +rm -rf distr/woff + +ttfs=$(ls distr/*/*.ttf) +for ttf in $ttfs; do + sfnt2woff-zopfli $ttf +done + +mkdir -p distr/woff +woffs=$(ls distr/*/*.woff) +for woff in $woffs; do + mv $woff distr/woff/$(basename $woff) +done \ No newline at end of file diff --git a/script/build_woff2 b/script/build_woff2 new file mode 100755 index 0000000..10da390 --- /dev/null +++ b/script/build_woff2 @@ -0,0 +1,15 @@ +#!/bin/bash -e +# requires woff2_compress (get from https://github.com/bramstein/homebrew-webfonttools) + +rm -rf distr/woff2 + +ttfs=$(ls distr/*/*.ttf) +for ttf in $ttfs; do + woff2_compress $ttf +done + +mkdir -p distr/woff2 +woff2s=$(ls distr/*/*.woff2) +for woff2 in $woff2s; do + mv $woff2 distr/woff2/$(basename $woff2) +done diff --git a/showcases/Fira Code Showcases.sketch b/showcases/Fira Code Showcases.sketch deleted file mode 100644 index 0854c63..0000000 Binary files a/showcases/Fira Code Showcases.sketch and /dev/null differ diff --git a/showcases/all_ligatures.png b/showcases/all_ligatures.png deleted file mode 100644 index 001c85a..0000000 Binary files a/showcases/all_ligatures.png and /dev/null differ diff --git a/showcases/clojure.png b/showcases/clojure.png deleted file mode 100644 index 06e21ac..0000000 Binary files a/showcases/clojure.png and /dev/null differ diff --git a/showcases/elixir.png b/showcases/elixir.png deleted file mode 100644 index aaac8bd..0000000 Binary files a/showcases/elixir.png and /dev/null differ diff --git a/showcases/erlang.png b/showcases/erlang.png deleted file mode 100644 index 86ee1fa..0000000 Binary files a/showcases/erlang.png and /dev/null differ diff --git a/showcases/fira code logo.sketch b/showcases/fira code logo.sketch deleted file mode 100644 index b99c472..0000000 Binary files a/showcases/fira code logo.sketch and /dev/null differ diff --git a/showcases/go.png b/showcases/go.png deleted file mode 100644 index 80c05f6..0000000 Binary files a/showcases/go.png and /dev/null differ diff --git a/showcases/javascript.png b/showcases/javascript.png deleted file mode 100644 index cad7894..0000000 Binary files a/showcases/javascript.png and /dev/null differ diff --git a/showcases/livescript.png b/showcases/livescript.png deleted file mode 100644 index 99f1c89..0000000 Binary files a/showcases/livescript.png and /dev/null differ diff --git a/showcases/php.png b/showcases/php.png deleted file mode 100644 index 13832e6..0000000 Binary files a/showcases/php.png and /dev/null differ diff --git a/showcases/ruby.png b/showcases/ruby.png deleted file mode 100644 index 67dd614..0000000 Binary files a/showcases/ruby.png and /dev/null differ diff --git a/showcases/stylistic_sets.png b/showcases/stylistic_sets.png deleted file mode 100644 index 7c54290..0000000 Binary files a/showcases/stylistic_sets.png and /dev/null differ diff --git a/showcases/swift.png b/showcases/swift.png deleted file mode 100644 index c956dc2..0000000 Binary files a/showcases/swift.png and /dev/null differ diff --git a/showcases/v3/all_ligatures.png b/showcases/v3/all_ligatures.png new file mode 100644 index 0000000..3bec6e4 Binary files /dev/null and b/showcases/v3/all_ligatures.png differ diff --git a/showcases/v3/clojure.png b/showcases/v3/clojure.png new file mode 100644 index 0000000..eec4c0c Binary files /dev/null and b/showcases/v3/clojure.png differ diff --git a/showcases/v3/elixir.png b/showcases/v3/elixir.png new file mode 100644 index 0000000..1b53422 Binary files /dev/null and b/showcases/v3/elixir.png differ diff --git a/showcases/v3/erlang.png b/showcases/v3/erlang.png new file mode 100644 index 0000000..929da04 Binary files /dev/null and b/showcases/v3/erlang.png differ diff --git a/showcases/feature_calt_centering.png b/showcases/v3/feature_calt_centering.png similarity index 100% rename from showcases/feature_calt_centering.png rename to showcases/v3/feature_calt_centering.png diff --git a/showcases/v3/go.png b/showcases/v3/go.png new file mode 100644 index 0000000..bee84d1 Binary files /dev/null and b/showcases/v3/go.png differ diff --git a/showcases/v3/javascript.png b/showcases/v3/javascript.png new file mode 100644 index 0000000..1cec10a Binary files /dev/null and b/showcases/v3/javascript.png differ diff --git a/showcases/v3/livescript.png b/showcases/v3/livescript.png new file mode 100644 index 0000000..2bc311e Binary files /dev/null and b/showcases/v3/livescript.png differ diff --git a/showcases/v3/php.png b/showcases/v3/php.png new file mode 100644 index 0000000..3171474 Binary files /dev/null and b/showcases/v3/php.png differ diff --git a/showcases/v3/ruby.png b/showcases/v3/ruby.png new file mode 100644 index 0000000..a34ccc1 Binary files /dev/null and b/showcases/v3/ruby.png differ diff --git a/showcases/showcases.txt b/showcases/v3/showcases.txt similarity index 63% rename from showcases/showcases.txt rename to showcases/v3/showcases.txt index 324fa1e..3f7c287 100644 --- a/showcases/showcases.txt +++ b/showcases/v3/showcases.txt @@ -1,29 +1,29 @@ - .= .- := ::= =:= __ + .= .- ..= := ::= =:= __ == != === !== =/= =!= <-< <<- <-- <- <-> -> --> ->> >-> -<=< <<= <== <=> => ==> =>> >=> +<=< <<= <== <<->> <=> => ==> =>> >=> >>= >>- >- <~> -< -<< =<< <-| <=| /\ \/ |-> |=> <~~ <~ ~~ ~> ~~> - <<< << <= <> >= >> >>> - {. {| [| <: ✓ :> |] |} .} + <<< << <= <> >= >> >>> + {. {| [| <: :> |] |} .} <||| <|| <| <|> |> ||> |||> <$ <$> $> <+ <+> +> <* <*> *> - \ \\ /* */ /// // + \n \\ /* */ /// // --> /> - 0xF www fl Fl Tl + 0xF www Fl Tl Il fi fj ;; :: ::: !! ?? %% && - || .. ... ..< .? ?. ?: + || .. ... ..< .? ?. -- --- ++ +++ ** *** - ~= ~- -~ ~@ + =~ !~ ~- -~ ~@ ^= ?= /= /== -| _|_ |- ||- |= ||= #! #= ## ### #### @@ -37,12 +37,22 @@ a-b a-A B-b A-B -a -A a- A- a+b a+A B+b A+B +a +A a+ A+ a:b a:A B:b A:B :a :A a: A: +# Powerline + +       + +# Stylistic sets + +r 0 123456789 & && $ <$ <$> $> @ <= >= + # Unicode ≢ ẞ ᐅ ᐊ ∴ ∵ ⎈ ‖ ∧ ∨ ⊢ ⊣ ⊤ ⊥ ⊦ ⊧ ⊨ ⊩ ⊪ ⊫ ⊬ ⊭ ⊮ ⊯ ⟲⟳ ⟰ ⟱ ⟴ ⟵ ⟶ ⟷ ⟸ ⟹ ⟺ ⟻ ⟼ ⟽ ⟾ ⟿ -↩ ⇞ ⇟ ⇤ ⇥ ⌀ ⌃ ⌄ ⌅ ⌆ ⌘ ⌤ ⌥ ⎇ ⎋ ⏏ ☐ ☑ ☒ +↩ ⇞ ⇟ ⇤ ⇥ ⌀ ⌃ ⌄ ⌅ ⌆ ⌘ ⌤ ⌥ ⎇ ⎋ ⏏ ✓ ☐ ☑ ☒ ▤ ▦ ▧ ▨ ▩ ␆ ␈ ␇ ␣ ␢ ␘ ␍ ␐ ␡ ␥ ␔ ␑ ␓ ␒ ␙ ␃ ␄ ␗ ␅ ␛ ␜ ␌ ␝ ␉ ␊ ␕ ␤ ␀ ␞ ␏ ␎ ␠ ␁ ␂ ␚ ␦ ␖ ␟ ␋ +ℂ ℍ ℕ ℙ ℚ ℝ ℤ 𝔹 ∀ ∃ ∄ ∅ ⊂ ⊃ ⊄ ⊅ ⊆ ⊇ ⊈ ⊉ ⊊ ⊋ ∈ ∉ ∊ ∋ ∌ ∍ ∪ ∩ +☰ ☱ ☲ ☳ ☴ ☵ ☶ ☷ 「a」 「a」 # Box drawing @@ -51,9 +61,15 @@ a:b a:A B:b A:B :a :A a: A: ╎ ╏ ┆ ┇ ┊ ┋ ╰╍╍╍╍╯ ╰┅┅┅┅╯ ╰┉┉┉┉╯ +┌─┬─┐ ╔╦═╗ ┏━┳┓ ╒═╤═╗ ╭─┰─╮ +├─┼─┤ ╠╬═╣ ┣━╋┫ ├─┼─╢ ┝━╋━┥ +└─┴─┘ ╚╩═╝ ┗━┻┛ ╘═╧═╝ ╰─┸─╯ + # Blocks -|███ | 50% +|███ | 50% + +▖ ▗ ▙ ▚ ▛ ▜ ▞ ▟ ▁▂▃▄▅▆▇█▀▔ ▏ diff --git a/showcases/v3/stylistic_sets.png b/showcases/v3/stylistic_sets.png new file mode 100644 index 0000000..7ec0863 Binary files /dev/null and b/showcases/v3/stylistic_sets.png differ diff --git a/showcases/v3/swift.png b/showcases/v3/swift.png new file mode 100644 index 0000000..fdb68ac Binary files /dev/null and b/showcases/v3/swift.png differ diff --git a/showcases/v3/unicode.png b/showcases/v3/unicode.png new file mode 100644 index 0000000..8a19c7c Binary files /dev/null and b/showcases/v3/unicode.png differ