diff --git a/FiraCode.glyphs b/FiraCode.glyphs index caddf9a..b7a923e 100644 --- a/FiraCode.glyphs +++ b/FiraCode.glyphs @@ -200,12 +200,12 @@ code = "script latn;\012language TAT;\012sub i by idotaccent;\012language TRK;\0 name = locl; }, { -automatic = 1; -code = "sub zero by zero.zero;\012sub zero.tosf by zero.tosf.zero;\012"; +code = "sub zero by zero.zero;\012sub zero.tosf by zero.tosf.zero;"; name = zero; +notes = "Name: Zero with a dot inside"; }, { -code = "lookup 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 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 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 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 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 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 bar_bar_bar {\012 ignore sub bar bar' bar bar;\012 ignore sub bar' bar bar bar;\012 sub bar.spacer bar.spacer bar' by bar_bar_bar.liga;\012 sub bar.spacer bar' bar by bar.spacer;\012 sub bar' bar bar by bar.spacer;\012} bar_bar_bar;\012\012lookup greater_greater_greater {\012 ignore sub greater greater' greater greater;\012 ignore sub greater' greater greater greater;\012 ignore sub [asterisk plus 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 less_less_less {\012 ignore sub less less' less less;\012 ignore sub less' less less less;\012 ignore sub less' less less [asterisk plus 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 bar_bar {\012 ignore sub bar bar' bar;\012 ignore sub bar' bar bar;\012 ignore sub [hyphen equal] bar' bar;\012 ignore sub bar' bar hyphen;\012 ignore sub bar' bar equal [equal less greater bar colon exclam slash];\012 sub bar.spacer bar' by bar_bar.liga;\012 sub bar' bar by bar.spacer;\012} bar_bar;\012\012lookup greater_greater {\012 ignore sub greater greater' greater;\012 ignore sub greater' greater greater;\012 ignore sub [asterisk plus dollar] greater' greater;\012 ignore sub [hyphen equal] greater' greater;\012 ignore sub greater' greater hyphen;\012 ignore sub greater' greater equal [equal less greater bar colon exclam slash];\012 sub greater.spacer greater' by greater_greater.liga;\012 sub greater' greater by greater.spacer;\012} greater_greater;\012\012lookup less_less {\012 ignore sub less less' less;\012 ignore sub less' less less;\012 ignore sub less' less [asterisk plus dollar];\012 ignore sub [hyphen equal] less' less;\012 ignore sub less' less hyphen;\012 ignore sub less' less equal [equal less greater bar colon exclam slash];\012 sub less.spacer less' by less_less.liga;\012 sub less' less by less.spacer;\012} less_less;\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 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 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 ignore sub colon' colon colon [less greater];\012 ignore sub [less greater] 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_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 ignore sub equal' equal equal bracketright;\012 ignore sub equal [colon exclam] equal' equal equal;\012 ignore sub [less greater bar slash] equal' equal equal;\012 ignore sub equal' equal equal [less greater bar slash];\012 ignore sub equal' equal equal [colon exclam] 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 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 ignore sub equal 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 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_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_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_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_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 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_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 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 ignore sub colon' colon [less greater];\012 ignore sub [less greater] 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 ignore sub equal colon' equal;\012 sub colon.spacer equal' by colon_equal.liga;\012 sub colon' equal by colon.spacer;\012} colon_equal;\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 ignore sub equal' equal bracketright;\012 ignore sub equal [colon exclam] equal' equal;\012 ignore sub [less greater bar slash] equal' equal;\012 ignore sub equal' equal [less greater bar slash] ;\012 ignore sub equal' equal [colon exclam] equal;\012 sub equal.spacer equal' by equal_equal.liga;\012 sub equal' equal by equal.spacer;\012} equal_equal;\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 ignore sub equal 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_equal {\012 ignore sub greater greater' equal;\012 ignore sub greater' equal equal;\012 ignore sub equal greater' equal;\012 ignore sub greater' equal [less greater bar colon exclam slash];\012 sub greater.spacer equal' by greater_equal.liga;\012 sub greater' equal by greater.spacer;\012} greater_equal;\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_hyphen {\012 ignore sub hyphen hyphen' hyphen;\012 ignore sub hyphen' hyphen hyphen;\012 ignore sub [less greater bar] hyphen' hyphen;\012 ignore sub hyphen' hyphen [less greater bar];\012 sub hyphen.spacer hyphen' by hyphen_hyphen.liga;\012 sub hyphen' hyphen by hyphen.spacer;\012} hyphen_hyphen;\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_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 ignore sub equal less' equal;\012 ignore sub less' equal [less greater bar colon exclam slash];\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_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_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_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_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 ignore sub equal slash' slash;\012 ignore sub slash' slash equal;\012 sub slash.spacer slash' by slash_slash.liga;\012 sub slash' slash by slash.spacer;\012} slash_slash;\012\012### Vertical-align colon/greater/less\012\012# :> :< >: <:\012# :>: :<:\012# <:> >:< <:< >:>\012# <::> <::< >::< >::>\012# <:::> <:::< >:::< >:::>\012# <::::> <::::< >::::< >::::>\012\012lookup center {\012 #574 :>= :<=\012 ignore sub colon' [less greater] [equal hyphen];\012\012 #1145 ::< ::> <:: >::\012 ignore sub colon colon' [less greater];\012 ignore sub [less greater]' colon colon;\012\012 # middles & ends\012 sub [less.center greater.center colon.center] colon' by colon.center;\012 sub colon.center [less greater]' by [less.center greater.center];\012\012 # starts\012 sub [less greater]' colon by [less.center greater.center];\012 sub colon' [less greater] by colon.center;\012} center;\012\012### Logical conjuntion/disjunction #738\012\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\012lookup hexadecimal_x {\012 ### 0xFF\012 sub [zero zero.zero] x' [@Digit @HexDigit] by x.multiply;\012 sub [zero.tosf zero.zero.tosf zero.tosf.zero] x' [@DigitTosf @HexDigit] by x.multiply.tosf;\012\012 ### 800x600\012 sub @Digit x' @Digit by x.multiply; \012 sub @DigitTosf x' @DigitTosf by x.multiply.tosf;\012} hexadecimal_x;\012\012### Long dashes\012\012sub twoemdash by hyphen_start.seq hyphen_end.seq;\012sub threeemdash by hyphen_start.seq hyphen_middle.seq hyphen_end.seq;\012\012lookup equal_arrows {\012 # Disable |||\012 ignore sub bar bar' bar equal;\012 ignore sub bar bar' equal;\012 ignore sub [equal_start.seq equal_middle.seq] bar' bar bar;\012\012 # equal middle & end\012 sub [less_equal_start.seq less_less_equal_start.seq less_equal_middle.seq less_less_equal_middle.seq greater_equal_start.seq greater_greater_equal_start.seq greater_equal_middle.seq greater_greater_equal_middle.seq bar_equal_start.seq bar_bar_equal_start.seq bar_equal_middle.seq bar_bar_equal_middle.seq slash_equal_start.seq slash_slash_equal_start.seq slash_equal_middle.seq slash_slash_equal_middle.seq colon_equal_middle.seq exclam_equal_middle.seq equal_start.seq equal_middle.seq] equal' [equal less greater bar slash colon exclam] by equal_middle.seq;\012\012 sub [less_equal_start.seq less_less_equal_start.seq less_equal_middle.seq less_less_equal_middle.seq greater_equal_start.seq greater_greater_equal_start.seq greater_equal_middle.seq greater_greater_equal_middle.seq bar_equal_start.seq bar_bar_equal_start.seq bar_equal_middle.seq bar_bar_equal_middle.seq slash_equal_start.seq slash_slash_equal_start.seq slash_equal_middle.seq slash_slash_equal_middle.seq colon_equal_middle.seq exclam_equal_middle.seq equal_start.seq equal_middle.seq] equal' by equal_end.seq;\012\012 # double middles\012 sub [equal_start.seq equal_middle.seq] less.spacer less' equal by less_less_equal_middle.seq;\012 sub [equal_start.seq equal_middle.seq] less' less equal by less.spacer;\012 sub [equal_start.seq equal_middle.seq] greater.spacer greater' equal by greater_greater_equal_middle.seq;\012 sub [equal_start.seq equal_middle.seq] greater' greater equal by greater.spacer;\012 sub [equal_start.seq equal_middle.seq] bar.spacer bar' equal by bar_bar_equal_middle.seq;\012 sub [equal_start.seq equal_middle.seq] bar' bar equal by bar.spacer;\012 sub [equal_start.seq equal_middle.seq] slash.spacer slash' equal by slash_slash_equal_middle.seq;\012 sub [equal_start.seq equal_middle.seq] slash' slash equal by slash.spacer;\012\012 # single middles\012 sub [equal_start.seq equal_middle.seq] less' equal by less_equal_middle.seq;\012 sub [equal_start.seq equal_middle.seq] greater' equal by greater_equal_middle.seq;\012 sub [equal_start.seq equal_middle.seq] bar' equal by bar_equal_middle.seq;\012 sub [equal_start.seq equal_middle.seq] slash' equal by slash_equal_middle.seq;\012 sub [equal_start.seq equal_middle.seq] colon' equal by colon_equal_middle.seq;\012 sub [equal_start.seq equal_middle.seq] exclam' equal by exclam_equal_middle.seq;\012\012 # double ends\012 sub [equal_start.seq equal_middle.seq] less.spacer less' by less_less_equal_end.seq;\012 sub [equal_start.seq equal_middle.seq] less' less by less.spacer;\012 sub [equal_start.seq equal_middle.seq] greater.spacer greater' by greater_greater_equal_end.seq;\012 sub [equal_start.seq equal_middle.seq] greater' greater by greater.spacer;\012 sub [equal_start.seq equal_middle.seq] bar.spacer bar' by bar_bar_equal_end.seq;\012 sub [equal_start.seq equal_middle.seq] bar' bar by bar.spacer;\012 sub [equal_start.seq equal_middle.seq] slash.spacer slash' by slash_slash_equal_end.seq;\012 sub [equal_start.seq equal_middle.seq] slash' slash by slash.spacer;\012\012 # single ends\012 sub [equal_start.seq equal_middle.seq] less' by less_equal_end.seq;\012 sub [equal_start.seq equal_middle.seq] greater' by greater_equal_end.seq;\012 sub [equal_start.seq equal_middle.seq] bar' by bar_equal_end.seq;\012 sub [equal_start.seq equal_middle.seq] slash' by slash_equal_end.seq;\012\012 # double beginnings\012 sub less.spacer less' equal by less_less_equal_start.seq;\012 sub less' less equal by less.spacer;\012 sub greater.spacer greater' equal by greater_greater_equal_start.seq;\012 sub greater' greater equal by greater.spacer;\012 sub bar.spacer bar' equal by bar_bar_equal_start.seq;\012 sub bar' bar equal by bar.spacer;\012 sub slash.spacer slash' equal by slash_slash_equal_start.seq;\012 sub slash' slash equal by slash.spacer;\012\012 # Disable >=< #548\012 sub greater' equal less [equal less] by greater_equal_start.seq;\012 ignore sub greater' equal less;\012 \012 # Disable =< #479 #468 #424 #406 #355 #305\012 sub equal' less [equal less] by equal_start.seq;\012\012 # Disable =/ #1056\012 sub equal' slash [equal slash] by equal_start.seq; \012\012 # single beginnings\012 sub less' equal by less_equal_start.seq;\012 sub greater' equal by greater_equal_start.seq;\012 sub bar' equal [equal less greater bar colon exclam slash] by bar_equal_start.seq; # disable |= \012 sub slash' equal by slash_equal_start.seq;\012 sub equal' [equal greater bar colon exclam] by equal_start.seq;\012\012} equal_arrows;\012\012### fi/fl #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### Greek\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\012### Arbitrary-length arrows #346\012\012lookup hyphen_arrows {\012 # Disable |||\012 ignore sub bar bar' bar hyphen;\012 ignore sub bar bar' hyphen;\012 ignore sub [hyphen_start.seq hyphen_middle.seq] bar' bar bar;\012\012 # hyphen middle & end\012 sub [less_hyphen_start.seq less_less_hyphen_start.seq less_hyphen_middle.seq less_less_hyphen_middle.seq greater_hyphen_start.seq greater_greater_hyphen_start.seq greater_hyphen_middle.seq greater_greater_hyphen_middle.seq bar_hyphen_start.seq bar_bar_hyphen_start.seq bar_hyphen_middle.seq bar_bar_hyphen_middle.seq hyphen_start.seq hyphen_middle.seq] hyphen' [hyphen less greater bar] by hyphen_middle.seq;\012\012 sub [less_hyphen_start.seq less_less_hyphen_start.seq less_hyphen_middle.seq less_less_hyphen_middle.seq greater_hyphen_start.seq greater_greater_hyphen_start.seq greater_hyphen_middle.seq greater_greater_hyphen_middle.seq bar_hyphen_start.seq bar_bar_hyphen_start.seq bar_hyphen_middle.seq bar_bar_hyphen_middle.seq hyphen_start.seq hyphen_middle.seq] hyphen' by hyphen_end.seq;\012\012 # double middles\012 sub [hyphen_start.seq hyphen_middle.seq] less.spacer less' hyphen by less_less_hyphen_middle.seq;\012 sub [hyphen_start.seq hyphen_middle.seq] less' less hyphen by less.spacer;\012 sub [hyphen_start.seq hyphen_middle.seq] greater.spacer greater' hyphen by greater_greater_hyphen_middle.seq;\012 sub [hyphen_start.seq hyphen_middle.seq] greater' greater hyphen by greater.spacer;\012 sub [hyphen_start.seq hyphen_middle.seq] bar.spacer bar' hyphen by bar_bar_hyphen_middle.seq;\012 sub [hyphen_start.seq hyphen_middle.seq] bar' bar hyphen by bar.spacer;\012\012 # single middles\012 sub [hyphen_start.seq hyphen_middle.seq] less' hyphen by less_hyphen_middle.seq;\012 sub [hyphen_start.seq hyphen_middle.seq] greater' hyphen by greater_hyphen_middle.seq;\012 sub [hyphen_start.seq hyphen_middle.seq] bar' hyphen by bar_hyphen_middle.seq;\012\012 # double ends\012 sub [hyphen_start.seq hyphen_middle.seq] less.spacer less' by less_less_hyphen_end.seq;\012 sub [hyphen_start.seq hyphen_middle.seq] less' less by less.spacer;\012 sub [hyphen_start.seq hyphen_middle.seq] greater.spacer greater' by greater_greater_hyphen_end.seq;\012 sub [hyphen_start.seq hyphen_middle.seq] greater' greater by greater.spacer;\012 sub [hyphen_start.seq hyphen_middle.seq] bar.spacer bar' by bar_bar_hyphen_end.seq;\012 sub [hyphen_start.seq hyphen_middle.seq] bar' bar by bar.spacer;\012\012 # single ends\012 sub [hyphen_start.seq hyphen_middle.seq] less' by less_hyphen_end.seq;\012 sub [hyphen_start.seq hyphen_middle.seq] greater' by greater_hyphen_end.seq;\012 sub [hyphen_start.seq hyphen_middle.seq] bar' by bar_hyphen_end.seq;\012\012 # double beginnings\012 sub less.spacer less' hyphen by less_less_hyphen_start.seq;\012 sub less' less hyphen by less.spacer;\012 sub greater.spacer greater' hyphen by greater_greater_hyphen_start.seq;\012 sub greater' greater hyphen by greater.spacer;\012 sub bar.spacer bar' hyphen by bar_bar_hyphen_start.seq;\012 sub bar' bar hyphen by bar.spacer;\012\012 # single beginnings\012 sub less' hyphen by less_hyphen_start.seq;\012 sub greater' hyphen by greater_hyphen_start.seq;\012 sub bar' hyphen by bar_hyphen_start.seq;\012 sub hyphen' [hyphen less greater bar] by hyphen_start.seq;\012} hyphen_arrows;\012\012### Lowercase/uppercase operators\012\012# Must go after hyphen_arrows.fea\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 lowercase_asteriskmath {\012 ignore sub @Tall \\asteriskmath' @Lowercase;\012 ignore sub @Lowercase \\asteriskmath' @Tall;\012 sub \\asteriskmath' @Lowercase by \\asteriskmath.lc;\012 sub @Lowercase \\asteriskmath' by \\asteriskmath.lc;\012} lowercase_asteriskmath;\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\012lookup numbersigns {\012 # middle parts\012 sub [numbersign_start.seq numbersign_middle.seq] numbersign' numbersign by numbersign_middle.seq;\012\012 # ends\012 sub [numbersign_start.seq numbersign_middle.seq] numbersign' by numbersign_end.seq;\012 \012 # beginnings\012 sub numbersign' numbersign by numbersign_start.seq; \012} numbersigns;\012\012lookup underscores {\012 # middle parts\012 sub [underscore_start.seq underscore_middle.seq] bar' underscore by bar_underscore_middle.seq;\012\012 sub [underscore_start.seq underscore_middle.seq bar_underscore_middle.seq] underscore' bar underscore by underscore_middle.seq;\012 sub [underscore_start.seq underscore_middle.seq bar_underscore_middle.seq] underscore' underscore by underscore_middle.seq;\012\012 # ends\012 sub [underscore_start.seq underscore_middle.seq bar_underscore_middle.seq] underscore' by underscore_end.seq;\012 \012 # beginnings\012 sub underscore' bar underscore by underscore_start.seq; \012 sub underscore' underscore by underscore_start.seq; \012} underscores;"; +code = "lookup 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 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 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 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 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 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 bar_bar_bar {\012 ignore sub bar bar' bar bar;\012 ignore sub bar' bar bar bar;\012 sub bar.spacer bar.spacer bar' by bar_bar_bar.liga;\012 sub bar.spacer bar' bar by bar.spacer;\012 sub bar' bar bar by bar.spacer;\012} bar_bar_bar;\012\012lookup greater_greater_greater {\012 ignore sub greater greater' greater greater;\012 ignore sub greater' greater greater greater;\012 ignore sub [asterisk plus 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 less_less_less {\012 ignore sub less less' less less;\012 ignore sub less' less less less;\012 ignore sub less' less less [asterisk plus 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 bar_bar {\012 ignore sub bar bar' bar;\012 ignore sub bar' bar bar;\012 ignore sub [hyphen equal] bar' bar;\012 ignore sub bar' bar hyphen;\012 ignore sub bar' bar equal [equal less greater bar colon exclam slash];\012 sub bar.spacer bar' by bar_bar.liga;\012 sub bar' bar by bar.spacer;\012} bar_bar;\012\012lookup greater_greater {\012 ignore sub greater greater' greater;\012 ignore sub greater' greater greater;\012 ignore sub [asterisk plus dollar] greater' greater;\012 ignore sub [hyphen equal] greater' greater;\012 ignore sub greater' greater hyphen;\012 ignore sub greater' greater equal [equal less greater bar colon exclam slash];\012 sub greater.spacer greater' by greater_greater.liga;\012 sub greater' greater by greater.spacer;\012} greater_greater;\012\012lookup less_less {\012 ignore sub less less' less;\012 ignore sub less' less less;\012 ignore sub less' less [asterisk plus dollar];\012 ignore sub [hyphen equal] less' less;\012 ignore sub less' less hyphen;\012 ignore sub less' less equal [equal less greater bar colon exclam slash];\012 sub less.spacer less' by less_less.liga;\012 sub less' less by less.spacer;\012} less_less;\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 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 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 ignore sub colon' colon colon [less greater];\012 ignore sub [less greater] 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_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 ignore sub equal' equal equal bracketright;\012 ignore sub equal [colon exclam] equal' equal equal;\012 ignore sub [less greater bar slash] equal' equal equal;\012 ignore sub equal' equal equal [less greater bar slash];\012 ignore sub equal' equal equal [colon exclam] 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 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 ignore sub equal 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 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_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_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_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_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 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_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 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 ignore sub colon' colon [less greater];\012 ignore sub [less greater] 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 ignore sub equal colon' equal;\012 sub colon.spacer equal' by colon_equal.liga;\012 sub colon' equal by colon.spacer;\012} colon_equal;\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 ignore sub equal' equal bracketright;\012 ignore sub equal [colon exclam] equal' equal;\012 ignore sub [less greater bar slash] equal' equal;\012 ignore sub equal' equal [less greater bar slash] ;\012 ignore sub equal' equal [colon exclam] equal;\012 sub equal.spacer equal' by equal_equal.liga;\012 sub equal' equal by equal.spacer;\012} equal_equal;\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 ignore sub equal 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_equal {\012 ignore sub greater greater' equal;\012 ignore sub greater' equal equal;\012 ignore sub equal greater' equal;\012 ignore sub greater' equal [less greater bar colon exclam slash];\012 sub greater.spacer equal' by greater_equal.liga;\012 sub greater' equal by greater.spacer;\012} greater_equal;\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_hyphen {\012 ignore sub hyphen hyphen' hyphen;\012 ignore sub hyphen' hyphen hyphen;\012 ignore sub [less greater bar] hyphen' hyphen;\012 ignore sub hyphen' hyphen [less greater bar];\012 sub hyphen.spacer hyphen' by hyphen_hyphen.liga;\012 sub hyphen' hyphen by hyphen.spacer;\012} hyphen_hyphen;\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_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 ignore sub equal less' equal;\012 ignore sub less' equal [less greater bar colon exclam slash];\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_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_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_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_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 ignore sub equal slash' slash;\012 ignore sub slash' slash equal;\012 sub slash.spacer slash' by slash_slash.liga;\012 sub slash' slash by slash.spacer;\012} slash_slash;\012\012### Vertical-align colon/greater/less\012\012# :> :< >: <:\012# :>: :<:\012# <:> >:< <:< >:>\012# <::> <::< >::< >::>\012# <:::> <:::< >:::< >:::>\012# <::::> <::::< >::::< >::::>\012\012lookup center {\012 #574 :>= :<=\012 ignore sub colon' [less greater] [equal hyphen];\012\012 #1145 ::< ::> <:: >::\012 ignore sub colon colon' [less greater];\012 ignore sub [less greater]' colon colon;\012\012 # middles & ends\012 sub [less.center greater.center colon.center] colon' by colon.center;\012 sub colon.center [less greater]' by [less.center greater.center];\012\012 # starts\012 sub [less greater]' colon by [less.center greater.center];\012 sub colon' [less greater] by colon.center;\012} center;\012\012### Logical conjunction/disjunction #738\012\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\012lookup hexadecimal_x {\012 ### 0xFF\012 sub [zero zero.zero] x' [@Digit @HexDigit] by x.multiply;\012 sub [zero.tosf zero.zero.tosf zero.tosf.zero] x' [@DigitTosf @HexDigit] by x.multiply.tosf;\012\012 ### 800x600\012 sub @Digit x' @Digit by x.multiply; \012 sub @DigitTosf x' @DigitTosf by x.multiply.tosf;\012} hexadecimal_x;\012\012### Long dashes\012\012sub twoemdash by hyphen_start.seq hyphen_end.seq;\012sub threeemdash by hyphen_start.seq hyphen_middle.seq hyphen_end.seq;\012\012lookup equal_arrows {\012 # Disable |||\012 ignore sub bar bar' bar equal;\012 ignore sub bar bar' equal;\012 ignore sub [equal_start.seq equal_middle.seq] bar' bar bar;\012\012 # equal middle & end\012 sub [less_equal_start.seq less_less_equal_start.seq less_equal_middle.seq less_less_equal_middle.seq greater_equal_start.seq greater_greater_equal_start.seq greater_equal_middle.seq greater_greater_equal_middle.seq bar_equal_start.seq bar_bar_equal_start.seq bar_equal_middle.seq bar_bar_equal_middle.seq slash_equal_start.seq slash_slash_equal_start.seq slash_equal_middle.seq slash_slash_equal_middle.seq colon_equal_middle.seq exclam_equal_middle.seq equal_start.seq equal_middle.seq] equal' [equal less greater bar slash colon exclam] by equal_middle.seq;\012\012 sub [less_equal_start.seq less_less_equal_start.seq less_equal_middle.seq less_less_equal_middle.seq greater_equal_start.seq greater_greater_equal_start.seq greater_equal_middle.seq greater_greater_equal_middle.seq bar_equal_start.seq bar_bar_equal_start.seq bar_equal_middle.seq bar_bar_equal_middle.seq slash_equal_start.seq slash_slash_equal_start.seq slash_equal_middle.seq slash_slash_equal_middle.seq colon_equal_middle.seq exclam_equal_middle.seq equal_start.seq equal_middle.seq] equal' by equal_end.seq;\012\012 # double middles\012 sub [equal_start.seq equal_middle.seq] less.spacer less' equal by less_less_equal_middle.seq;\012 sub [equal_start.seq equal_middle.seq] less' less equal by less.spacer;\012 sub [equal_start.seq equal_middle.seq] greater.spacer greater' equal by greater_greater_equal_middle.seq;\012 sub [equal_start.seq equal_middle.seq] greater' greater equal by greater.spacer;\012 sub [equal_start.seq equal_middle.seq] bar.spacer bar' equal by bar_bar_equal_middle.seq;\012 sub [equal_start.seq equal_middle.seq] bar' bar equal by bar.spacer;\012 sub [equal_start.seq equal_middle.seq] slash.spacer slash' equal by slash_slash_equal_middle.seq;\012 sub [equal_start.seq equal_middle.seq] slash' slash equal by slash.spacer;\012\012 # single middles\012 sub [equal_start.seq equal_middle.seq] less' equal by less_equal_middle.seq;\012 sub [equal_start.seq equal_middle.seq] greater' equal by greater_equal_middle.seq;\012 sub [equal_start.seq equal_middle.seq] bar' equal by bar_equal_middle.seq;\012 sub [equal_start.seq equal_middle.seq] slash' equal by slash_equal_middle.seq;\012 sub [equal_start.seq equal_middle.seq] colon' equal by colon_equal_middle.seq;\012 sub [equal_start.seq equal_middle.seq] exclam' equal by exclam_equal_middle.seq;\012\012 # double ends\012 sub [equal_start.seq equal_middle.seq] less.spacer less' by less_less_equal_end.seq;\012 sub [equal_start.seq equal_middle.seq] less' less by less.spacer;\012 sub [equal_start.seq equal_middle.seq] greater.spacer greater' by greater_greater_equal_end.seq;\012 sub [equal_start.seq equal_middle.seq] greater' greater by greater.spacer;\012 sub [equal_start.seq equal_middle.seq] bar.spacer bar' by bar_bar_equal_end.seq;\012 sub [equal_start.seq equal_middle.seq] bar' bar by bar.spacer;\012 sub [equal_start.seq equal_middle.seq] slash.spacer slash' by slash_slash_equal_end.seq;\012 sub [equal_start.seq equal_middle.seq] slash' slash by slash.spacer;\012\012 # single ends\012 sub [equal_start.seq equal_middle.seq] less' by less_equal_end.seq;\012 sub [equal_start.seq equal_middle.seq] greater' by greater_equal_end.seq;\012 sub [equal_start.seq equal_middle.seq] bar' by bar_equal_end.seq;\012 sub [equal_start.seq equal_middle.seq] slash' by slash_equal_end.seq;\012\012 # double beginnings\012 sub less.spacer less' equal by less_less_equal_start.seq;\012 sub less' less equal by less.spacer;\012 sub greater.spacer greater' equal by greater_greater_equal_start.seq;\012 sub greater' greater equal by greater.spacer;\012 sub bar.spacer bar' equal by bar_bar_equal_start.seq;\012 sub bar' bar equal by bar.spacer;\012 sub slash.spacer slash' equal by slash_slash_equal_start.seq;\012 sub slash' slash equal by slash.spacer;\012\012 # Disable >=< #548\012 sub greater' equal less [equal less] by greater_equal_start.seq;\012 ignore sub greater' equal less;\012 \012 # Disable =< #479 #468 #424 #406 #355 #305\012 sub equal' less [equal less] by equal_start.seq;\012\012 # Disable =/ #1056\012 sub equal' slash [equal slash] by equal_start.seq; \012\012 # single beginnings\012 sub less' equal by less_equal_start.seq;\012 sub greater' equal by greater_equal_start.seq;\012 sub bar' equal [equal less greater bar colon exclam slash] by bar_equal_start.seq; # disable |= \012 sub slash' equal by slash_equal_start.seq;\012 sub equal' [equal greater bar colon exclam] by equal_start.seq;\012\012} equal_arrows;\012\012### fi/fl #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### Greek\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\012### Arbitrary-length arrows #346\012\012lookup hyphen_arrows {\012 # Disable |||\012 ignore sub bar bar' bar hyphen;\012 ignore sub bar bar' hyphen;\012 ignore sub [hyphen_start.seq hyphen_middle.seq] bar' bar bar;\012\012 # hyphen middle & end\012 sub [less_hyphen_start.seq less_less_hyphen_start.seq less_hyphen_middle.seq less_less_hyphen_middle.seq greater_hyphen_start.seq greater_greater_hyphen_start.seq greater_hyphen_middle.seq greater_greater_hyphen_middle.seq bar_hyphen_start.seq bar_bar_hyphen_start.seq bar_hyphen_middle.seq bar_bar_hyphen_middle.seq hyphen_start.seq hyphen_middle.seq] hyphen' [hyphen less greater bar] by hyphen_middle.seq;\012\012 sub [less_hyphen_start.seq less_less_hyphen_start.seq less_hyphen_middle.seq less_less_hyphen_middle.seq greater_hyphen_start.seq greater_greater_hyphen_start.seq greater_hyphen_middle.seq greater_greater_hyphen_middle.seq bar_hyphen_start.seq bar_bar_hyphen_start.seq bar_hyphen_middle.seq bar_bar_hyphen_middle.seq hyphen_start.seq hyphen_middle.seq] hyphen' by hyphen_end.seq;\012\012 # double middles\012 sub [hyphen_start.seq hyphen_middle.seq] less.spacer less' hyphen by less_less_hyphen_middle.seq;\012 sub [hyphen_start.seq hyphen_middle.seq] less' less hyphen by less.spacer;\012 sub [hyphen_start.seq hyphen_middle.seq] greater.spacer greater' hyphen by greater_greater_hyphen_middle.seq;\012 sub [hyphen_start.seq hyphen_middle.seq] greater' greater hyphen by greater.spacer;\012 sub [hyphen_start.seq hyphen_middle.seq] bar.spacer bar' hyphen by bar_bar_hyphen_middle.seq;\012 sub [hyphen_start.seq hyphen_middle.seq] bar' bar hyphen by bar.spacer;\012\012 # single middles\012 sub [hyphen_start.seq hyphen_middle.seq] less' hyphen by less_hyphen_middle.seq;\012 sub [hyphen_start.seq hyphen_middle.seq] greater' hyphen by greater_hyphen_middle.seq;\012 sub [hyphen_start.seq hyphen_middle.seq] bar' hyphen by bar_hyphen_middle.seq;\012\012 # double ends\012 sub [hyphen_start.seq hyphen_middle.seq] less.spacer less' by less_less_hyphen_end.seq;\012 sub [hyphen_start.seq hyphen_middle.seq] less' less by less.spacer;\012 sub [hyphen_start.seq hyphen_middle.seq] greater.spacer greater' by greater_greater_hyphen_end.seq;\012 sub [hyphen_start.seq hyphen_middle.seq] greater' greater by greater.spacer;\012 sub [hyphen_start.seq hyphen_middle.seq] bar.spacer bar' by bar_bar_hyphen_end.seq;\012 sub [hyphen_start.seq hyphen_middle.seq] bar' bar by bar.spacer;\012\012 # single ends\012 sub [hyphen_start.seq hyphen_middle.seq] less' by less_hyphen_end.seq;\012 sub [hyphen_start.seq hyphen_middle.seq] greater' by greater_hyphen_end.seq;\012 sub [hyphen_start.seq hyphen_middle.seq] bar' by bar_hyphen_end.seq;\012\012 # double beginnings\012 sub less.spacer less' hyphen by less_less_hyphen_start.seq;\012 sub less' less hyphen by less.spacer;\012 sub greater.spacer greater' hyphen by greater_greater_hyphen_start.seq;\012 sub greater' greater hyphen by greater.spacer;\012 sub bar.spacer bar' hyphen by bar_bar_hyphen_start.seq;\012 sub bar' bar hyphen by bar.spacer;\012\012 # single beginnings\012 sub less' hyphen by less_hyphen_start.seq;\012 sub greater' hyphen by greater_hyphen_start.seq;\012 sub bar' hyphen by bar_hyphen_start.seq;\012 sub hyphen' [hyphen less greater bar] by hyphen_start.seq;\012} hyphen_arrows;\012\012### Lowercase/uppercase operators\012\012# Must go after hyphen_arrows.fea\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 lowercase_asteriskmath {\012 ignore sub @Tall \\asteriskmath' @Lowercase;\012 ignore sub @Lowercase \\asteriskmath' @Tall;\012 sub \\asteriskmath' @Lowercase by \\asteriskmath.lc;\012 sub @Lowercase \\asteriskmath' by \\asteriskmath.lc;\012} lowercase_asteriskmath;\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\012lookup numbersigns {\012 # middle parts\012 sub [numbersign_start.seq numbersign_middle.seq] numbersign' numbersign by numbersign_middle.seq;\012\012 # ends\012 sub [numbersign_start.seq numbersign_middle.seq] numbersign' by numbersign_end.seq;\012 \012 # beginnings\012 sub numbersign' numbersign by numbersign_start.seq; \012} numbersigns;\012\012lookup underscores {\012 # middle parts\012 sub [underscore_start.seq underscore_middle.seq] bar' underscore by bar_underscore_middle.seq;\012\012 sub [underscore_start.seq underscore_middle.seq bar_underscore_middle.seq] underscore' bar underscore by underscore_middle.seq;\012 sub [underscore_start.seq underscore_middle.seq bar_underscore_middle.seq] underscore' underscore by underscore_middle.seq;\012\012 # ends\012 sub [underscore_start.seq underscore_middle.seq bar_underscore_middle.seq] underscore' by underscore_end.seq;\012 \012 # beginnings\012 sub underscore' bar underscore by underscore_start.seq; \012 sub underscore' underscore by underscore_start.seq; \012} underscores;"; name = calt; }, { @@ -279,76 +279,74 @@ code = "sub cornerbracketleft by cornerbracketleft.half;\012sub cornerbracketrig name = hwid; }, { -automatic = 1; -code = "sub a by a.cv01;\012sub aacute by aacute.cv01;\012sub abreve by abreve.cv01;\012sub acircumflex by acircumflex.cv01;\012sub adieresis by adieresis.cv01;\012sub agrave by agrave.cv01;\012sub amacron by amacron.cv01;\012sub aogonek by aogonek.cv01;\012sub aring by aring.cv01;\012sub atilde by atilde.cv01;\012"; +code = "sub a by a.cv01;\012sub aacute by aacute.cv01;\012sub abreve by abreve.cv01;\012sub acircumflex by acircumflex.cv01;\012sub adieresis by adieresis.cv01;\012sub agrave by agrave.cv01;\012sub amacron by amacron.cv01;\012sub aogonek by aogonek.cv01;\012sub aring by aring.cv01;\012sub atilde by atilde.cv01;"; name = cv01; notes = "Name: alternate lowercase a"; }, { -automatic = 1; -code = "sub g by g.cv02;\012sub gbreve by gbreve.cv02;\012sub gcircumflex by gcircumflex.cv02;\012sub gcommaaccent by gcommaaccent.cv02;\012sub gdotaccent by gdotaccent.cv02;\012"; +code = "sub g by g.cv02;\012sub gbreve by gbreve.cv02;\012sub gcircumflex by gcircumflex.cv02;\012sub gcommaaccent by gcommaaccent.cv02;\012sub gdotaccent by gdotaccent.cv02;"; name = cv02; notes = "Name: single storey lowercase g"; }, { -automatic = 1; -code = "sub i by i.cv03;\012sub idotless by idotless.cv03;\012sub iacute by iacute.cv03;\012sub ibreve by ibreve.cv03;\012sub icircumflex by icircumflex.cv03;\012sub idieresis by idieresis.cv03;\012sub idotaccent by idotaccent.cv03;\012sub igrave by igrave.cv03;\012sub imacron by imacron.cv03;\012sub iogonek by iogonek.cv03;\012sub itilde by itilde.cv03;\012"; +code = "sub i by i.cv03;\012sub idotless by idotless.cv03;\012sub iacute by iacute.cv03;\012sub ibreve by ibreve.cv03;\012sub icircumflex by icircumflex.cv03;\012sub idieresis by idieresis.cv03;\012sub idotaccent by idotaccent.cv03;\012sub igrave by igrave.cv03;\012sub imacron by imacron.cv03;\012sub iogonek by iogonek.cv03;\012sub itilde by itilde.cv03;"; name = cv03; +notes = "Name: lowercase I without any horizontal decorations"; }, { -automatic = 1; -code = "sub i by i.cv04;\012sub idotless by idotless.cv04;\012sub iacute by iacute.cv04;\012sub ibreve by ibreve.cv04;\012sub icircumflex by icircumflex.cv04;\012sub idieresis by idieresis.cv04;\012sub idotaccent by idotaccent.cv04;\012sub igrave by igrave.cv04;\012sub imacron by imacron.cv04;\012sub iogonek by iogonek.cv04;\012sub itilde by itilde.cv04;\012"; +code = "sub i by i.cv04;\012sub idotless by idotless.cv04;\012sub iacute by iacute.cv04;\012sub ibreve by ibreve.cv04;\012sub icircumflex by icircumflex.cv04;\012sub idieresis by idieresis.cv04;\012sub idotaccent by idotaccent.cv04;\012sub igrave by igrave.cv04;\012sub imacron by imacron.cv04;\012sub iogonek by iogonek.cv04;\012sub itilde by itilde.cv04;"; name = cv04; +notes = "Name: lowercase I with horizontal left line at the top"; }, { -automatic = 1; -code = "sub i by i.cv05;\012sub idotless by idotless.cv05;\012sub iacute by iacute.cv05;\012sub ibreve by ibreve.cv05;\012sub icircumflex by icircumflex.cv05;\012sub idieresis by idieresis.cv05;\012sub idotaccent by idotaccent.cv05;\012sub igrave by igrave.cv05;\012sub imacron by imacron.cv05;\012sub iogonek by iogonek.cv05;\012sub itilde by itilde.cv05;\012"; +code = "sub i by i.cv05;\012sub idotless by idotless.cv05;\012sub iacute by iacute.cv05;\012sub ibreve by ibreve.cv05;\012sub icircumflex by icircumflex.cv05;\012sub idieresis by idieresis.cv05;\012sub idotaccent by idotaccent.cv05;\012sub igrave by igrave.cv05;\012sub imacron by imacron.cv05;\012sub iogonek by iogonek.cv05;\012sub itilde by itilde.cv05;"; name = cv05; +notes = "Name: lowercase I with horizontal left line at the top and right line at the bottom"; }, { -automatic = 1; -code = "sub i by i.cv06;\012sub idotless by idotless.cv06;\012sub iacute by iacute.cv06;\012sub ibreve by ibreve.cv06;\012sub icircumflex by icircumflex.cv06;\012sub idieresis by idieresis.cv06;\012sub idotaccent by idotaccent.cv06;\012sub igrave by igrave.cv06;\012sub imacron by imacron.cv06;\012sub iogonek by iogonek.cv06;\012sub itilde by itilde.cv06;\012"; +code = "sub i by i.cv06;\012sub idotless by idotless.cv06;\012sub iacute by iacute.cv06;\012sub ibreve by ibreve.cv06;\012sub icircumflex by icircumflex.cv06;\012sub idieresis by idieresis.cv06;\012sub idotaccent by idotaccent.cv06;\012sub igrave by igrave.cv06;\012sub imacron by imacron.cv06;\012sub iogonek by iogonek.cv06;\012sub itilde by itilde.cv06;"; name = cv06; +notes = "Name: lowercase I with horizontal left line at the top and curved right hook at the bottom"; }, { -automatic = 1; -code = "sub l by l.cv07;\012sub lacute by lacute.cv07;\012sub lcaron by lcaron.cv07;\012sub lcommaaccent by lcommaaccent.cv07;\012sub ldot by ldot.cv07;\012sub lslash by lslash.cv07;\012"; +code = "sub l by l.cv07;\012sub lacute by lacute.cv07;\012sub lcaron by lcaron.cv07;\012sub lcommaaccent by lcommaaccent.cv07;\012sub ldot by ldot.cv07;\012sub lslash by lslash.cv07;"; name = cv07; +notes = "Name: lowercase L without any horizontal decorations"; }, { -automatic = 1; -code = "sub l by l.cv08;\012sub lacute by lacute.cv08;\012sub lcaron by lcaron.cv08;\012sub lcommaaccent by lcommaaccent.cv08;\012sub ldot by ldot.cv08;\012sub lslash by lslash.cv08;\012"; +code = "sub l by l.cv08;\012sub lacute by lacute.cv08;\012sub lcaron by lcaron.cv08;\012sub lcommaaccent by lcommaaccent.cv08;\012sub ldot by ldot.cv08;\012sub lslash by lslash.cv08;"; name = cv08; +notes = "Name: lowercase L with horizontal left line at the top"; }, { -automatic = 1; -code = "sub l by l.cv09;\012sub lacute by lacute.cv09;\012sub lcaron by lcaron.cv09;\012sub lcommaaccent by lcommaaccent.cv09;\012sub ldot by ldot.cv09;\012sub lslash by lslash.cv09;\012"; +code = "sub l by l.cv09;\012sub lacute by lacute.cv09;\012sub lcaron by lcaron.cv09;\012sub lcommaaccent by lcommaaccent.cv09;\012sub ldot by ldot.cv09;\012sub lslash by lslash.cv09;"; name = cv09; +notes = "Name: lowercase L with horizontal left line at the top and right line at the bottom"; }, { -automatic = 1; -code = "sub l by l.cv10;\012sub lacute by lacute.cv10;\012sub lcaron by lcaron.cv10;\012sub lcommaaccent by lcommaaccent.cv10;\012sub ldot by ldot.cv10;\012sub lslash by lslash.cv10;\012"; +code = "sub l by l.cv10;\012sub lacute by lacute.cv10;\012sub lcaron by lcaron.cv10;\012sub lcommaaccent by lcommaaccent.cv10;\012sub ldot by ldot.cv10;\012sub lslash by lslash.cv10;"; name = cv10; +notes = "Name: lowercase L with horizontal left line at the top and horizontal base"; }, { -automatic = 1; -code = "sub zero by zero.cv11;\012sub zero.tosf by zero.tosf.cv11;\012"; +code = "sub zero by zero.cv11;\012sub zero.tosf by zero.tosf.cv11;"; name = cv11; +notes = "Name: zero without anything inside"; }, { -automatic = 1; -code = "sub zero by zero.cv12;\012sub zero.tosf by zero.tosf.cv12;\012"; +code = "sub zero by zero.cv12;\012sub zero.tosf by zero.tosf.cv12;"; name = cv12; +notes = "Name: zero with a backslash inside"; }, { -automatic = 1; -code = "sub zero by zero.cv13;\012sub zero.tosf by zero.tosf.cv13;\012"; +code = "sub zero by zero.cv13;\012sub zero.tosf by zero.tosf.cv13;"; name = cv13; +notes = "Name: zero with a vertical line inside"; }, { -automatic = 1; -code = "sub three by three.cv14;\012sub three.tosf by three.tosf.cv14;\012sub threeinferior by threeinferior.cv14;\012sub three.dnom by three.dnom.cv14;\012sub three.numr by three.numr.cv14;\012sub threesuperior by threesuperior.cv14;\012"; +code = "sub three by three.cv14;\012sub three.tosf by three.tosf.cv14;\012sub threeinferior by threeinferior.cv14;\012sub three.dnom by three.dnom.cv14;\012sub three.numr by three.numr.cv14;\012sub threesuperior by threesuperior.cv14;"; name = cv14; +notes = "Name: 3 with straight lines for the top half"; }, { code = "sub [asterisk asterisk.lc] by asterisk.cv15;\012sub [asteriskmath asteriskmath.lc] by asteriskmath.cv15;"; @@ -361,14 +359,14 @@ name = cv16; notes = "Name: Hexagonal asterisk"; }, { -automatic = 1; -code = "sub asciitilde by asciitilde.cv17;\012"; +code = "sub asciitilde by asciitilde.cv17;"; name = cv17; +notes = "Name: Top-aligned tilde"; }, { -automatic = 1; -code = "sub percent by percent.cv18;\012sub perthousand by perthousand.cv18;\012sub percent_percent.liga by percent_percent.liga.cv18;\012"; +code = "sub percent by percent.cv18;\012sub perthousand by perthousand.cv18;\012sub percent_percent.liga by percent_percent.liga.cv18;"; name = cv18; +notes = "Name: percent sign with dots instead of hollow circles"; }, { code = "sub less_equal.liga by less_equal.ss02;"; @@ -421,23 +419,22 @@ name = cv28; notes = "Name: {. .} as ligature"; }, { -automatic = 1; -code = "sub braceleft by braceleft.cv29;\012sub braceright by braceright.cv29;\012sub numbersign_braceleft.liga by numbersign_braceleft.liga.cv29;\012"; +code = "sub braceleft by braceleft.cv29;\012sub braceright by braceright.cv29;\012sub numbersign_braceleft.liga by numbersign_braceleft.liga.cv29;"; name = cv29; -notes = "Name: Hexagonal asterisk"; +notes = "Name: Rounded curly braces {}"; }, { -automatic = 1; -code = "sub bar by bar.cv30;\012sub bar_bar.liga by bar_bar.liga.cv30;\012sub bar_bar_bar.liga by bar_bar_bar.liga.cv30;\012sub bar_bar_equal_middle.seq by bar_bar_equal_middle.seq.cv30;\012sub bar_equal_middle.seq by bar_equal_middle.seq.cv30;\012sub bar_bar_equal_end.seq by bar_bar_equal_end.seq.cv30;\012sub bar_bar_equal_start.seq by bar_bar_equal_start.seq.cv30;\012sub bar_bar_hyphen_middle.seq by bar_bar_hyphen_middle.seq.cv30;\012sub bar_hyphen_middle.seq by bar_hyphen_middle.seq.cv30;\012sub bar_bar_hyphen_end.seq by bar_bar_hyphen_end.seq.cv30;\012sub bar_bar_hyphen_start.seq by bar_bar_hyphen_start.seq.cv30;\012sub bar_equal_end.seq by bar_equal_end.seq.cv30;\012sub bar_equal_start.seq by bar_equal_start.seq.cv30;\012sub bar_hyphen_end.seq by bar_hyphen_end.seq.cv30;\012sub bar_hyphen_start.seq by bar_hyphen_start.seq.cv30;\012sub bar_underscore_middle.seq by bar_underscore_middle.seq.cv30;\012"; +code = "sub bar by bar.cv30;\012sub bar_bar.liga by bar_bar.liga.cv30;\012sub bar_bar_bar.liga by bar_bar_bar.liga.cv30;\012sub bar_bar_equal_middle.seq by bar_bar_equal_middle.seq.cv30;\012sub bar_equal_middle.seq by bar_equal_middle.seq.cv30;\012sub bar_bar_equal_end.seq by bar_bar_equal_end.seq.cv30;\012sub bar_bar_equal_start.seq by bar_bar_equal_start.seq.cv30;\012sub bar_bar_hyphen_middle.seq by bar_bar_hyphen_middle.seq.cv30;\012sub bar_hyphen_middle.seq by bar_hyphen_middle.seq.cv30;\012sub bar_bar_hyphen_end.seq by bar_bar_hyphen_end.seq.cv30;\012sub bar_bar_hyphen_start.seq by bar_bar_hyphen_start.seq.cv30;\012sub bar_equal_end.seq by bar_equal_end.seq.cv30;\012sub bar_equal_start.seq by bar_equal_start.seq.cv30;\012sub bar_hyphen_end.seq by bar_hyphen_end.seq.cv30;\012sub bar_hyphen_start.seq by bar_hyphen_start.seq.cv30;\012sub bar_underscore_middle.seq by bar_underscore_middle.seq.cv30;"; name = cv30; +notes = "Name: longer pipe symbol"; }, { -automatic = 1; -code = "sub parenleft by parenleft.cv31;\012sub parenright by parenright.cv31;\012"; +code = "sub parenleft by parenleft.cv31;\012sub parenright by parenright.cv31;"; name = cv31; +notes = "Name: Circular parentheses"; }, { -code = "lookup period_equal {\012 ignore sub period period' equal;\012 ignore sub period' equal equal;\012 sub period.spacer equal' by period_equal.cv32;\012 sub period' equal by period.spacer;\012} period_equal;\012"; +code = "lookup period_equal {\012 ignore sub period period' equal;\012 ignore sub period' equal equal;\012 sub period.spacer equal' by period_equal.cv32;\012 sub period' equal by period.spacer;\012} period_equal;"; name = cv32; notes = "Name: .= as ligature"; } diff --git a/features/cv02.fea b/features/cv02.fea index f9dac8c..2133b3c 100644 --- a/features/cv02.fea +++ b/features/cv02.fea @@ -1,4 +1,4 @@ -# Name: single story lowercase g +# Name: single storey lowercase g sub g by g.cv02; sub gbreve by gbreve.cv02; diff --git a/script/build.sh b/script/build.sh index 61904be..1de2324 100755 --- a/script/build.sh +++ b/script/build.sh @@ -58,7 +58,9 @@ done ########### ############## ########### }}} # Create a temporary file that can be manipulated without messing with the original -FIRACODE_GLYPHS_FILE=$(mktemp --suffix=".glyphs") +FIRACODE_GLYPHS_FILE=$(mktemp) +mv "${FIRACODE_GLYPHS_FILE}" "${FIRACODE_GLYPHS_FILE}.glyphs" +FIRACODE_GLYPHS_FILE="${FIRACODE_GLYPHS_FILE}.glyphs" export FIRACODE_GLYPHS_FILE cp ../FiraCode.glyphs "${FIRACODE_GLYPHS_FILE}" @@ -75,7 +77,7 @@ if [ "${use_features_for_family_name}" -ne 0 ]; then fi if [ "${FIRACODE_FAMILY_NAME}" != "Fira Code" ]; then - tmp_glyphs=$(mktemp --suffix=".glyphs") + tmp_glyphs=$(mktemp) echo "Creating font with family name: ${FIRACODE_FAMILY_NAME}" awk '/familyName = "Fira Code";/ {$0=nc}1' nc="familyName = \"${FIRACODE_FAMILY_NAME}\";" \