From ebdfaf21cf499b685774e6be776e6596d81cc272 Mon Sep 17 00:00:00 2001 From: Rasmus Andersson Date: Mon, 17 Aug 2020 17:13:22 -0700 Subject: [PATCH] improvements (tuning) to calt case substitutions. See issue #251 --- docs/lab/samples.js | 2 +- src/Inter.glyphs | 17 +++++++++++------ src/features/calt.fea | 38 ++++++++++++++++++++------------------ 3 files changed, 32 insertions(+), 25 deletions(-) diff --git a/docs/lab/samples.js b/docs/lab/samples.js index e9b40e1565..46851c11e1 100644 --- a/docs/lab/samples.js +++ b/docs/lab/samples.js @@ -282,7 +282,7 @@ U() U[] U{} \t rightx should be rightx.case ()U []U {}U \t special-cased as "delim' delim -> delim.case" ---U--- \t\t all hyphens should be hyphen.case U-→(){}[]• \t all should be .case -x[]{}H \t\t "x br br" separate from "cb cb H" +x[] {}H \t\t "x br br" separate from "cb cb H" left side cascades up to 5 characters: ••••••ABBA•••••• diff --git a/src/Inter.glyphs b/src/Inter.glyphs index 70f0d1203d..350004c1c3 100755 --- a/src/Inter.glyphs +++ b/src/Inter.glyphs @@ -2,7 +2,8 @@ .appVersion = "1346"; DisplayStrings = ( "/bitcoin 3/space/space/space $60/space/space/space 12¢", -"4¢" +"4¢", +"()[/bracketleft_quill ]/bracketright_quill {}" ); classes = ( { @@ -199271,7 +199272,7 @@ com.typemytype.robofont.guideline.magnetic.pOwuJlK9ke = 5; }, { glyphname = parenright; -lastChange = "2019-12-17 15:13:12 +0000"; +lastChange = "2020-08-17 23:59:11 +0000"; layers = ( { components = ( @@ -199366,6 +199367,7 @@ width = 888; ); leftKerningGroup = parenright; widthMetricsKey = parenleft; +note = "!post:decompose"; rightKerningGroup = parenright; unicode = 0029; userData = { @@ -199515,7 +199517,7 @@ unicode = 005B; }, { glyphname = bracketleft_quill; -lastChange = "2019-12-17 15:13:12 +0000"; +lastChange = "2020-08-18 00:01:26 +0000"; layers = ( { components = ( @@ -199651,7 +199653,7 @@ interface.gridadjust.original = "{'width': 890, 'leftMargin': 289, 'rightMargin' }, { glyphname = bracketright; -lastChange = "2019-12-17 15:13:12 +0000"; +lastChange = "2020-08-18 00:01:08 +0000"; layers = ( { components = ( @@ -199726,12 +199728,13 @@ width = 888; ); leftKerningGroup = parenright; widthMetricsKey = parenleft; +note = "!post:decompose"; rightKerningGroup = parenright; unicode = 005D; }, { glyphname = bracketright_quill; -lastChange = "2019-12-17 15:13:12 +0000"; +lastChange = "2020-08-18 00:01:15 +0000"; layers = ( { components = ( @@ -199805,6 +199808,7 @@ width = 888; } ); leftMetricsKey = bracketright; +note = "!post:decompose"; rightMetricsKey = bracketright; unicode = 2046; userData = { @@ -200457,7 +200461,7 @@ unicode = 007B; }, { glyphname = braceright; -lastChange = "2019-12-17 15:13:12 +0000"; +lastChange = "2020-08-18 00:01:32 +0000"; layers = ( { background = { @@ -200539,6 +200543,7 @@ width = 888; ); leftKerningGroup = parenright; widthMetricsKey = parenleft; +note = "!post:decompose"; rightKerningGroup = parenright; unicode = 007D; }, diff --git a/src/features/calt.fea b/src/features/calt.fea index 63d73f8dcb..404f8c988c 100644 --- a/src/features/calt.fea +++ b/src/features/calt.fea @@ -256,32 +256,34 @@ ignore sub @CASE_DELIM_L @LC @UC @CASE_DELIM_L; # (xX) ignore sub @CASE_DELIM_L @LC @All @UC @CASE_DELIM_L; # (x.X) # -# e.g. "x-" +# e.g. "x-M" ignore sub @LC @CASE_L'; # x- -ignore sub @LC [@CASE_L @Whitespace] @CASE_L'; # x--, x - -ignore sub @LC [@CASE_L @Whitespace] [@CASE_L @Whitespace] @CASE_L'; # x---, x --, x -, x- - -ignore sub @LC - [@CASE_L @Whitespace] - [@CASE_L @Whitespace] - [@CASE_L @Whitespace] - @CASE_L'; # x----, x ---, x --, x -, x- --, x- -, x-- - -ignore sub @LC - [@CASE_L @Whitespace] - [@CASE_L @Whitespace] - [@CASE_L @Whitespace] - [@CASE_L @Whitespace] - @CASE_L'; # x----- ... +ignore sub @LC @CASE_L @CASE_L'; # x-- +ignore sub @LC @CASE_L @CASE_L @CASE_L'; # x--- +# ignore sub @LC [@CASE_L @Whitespace] @CASE_L'; # x--, x - +# ignore sub @LC [@CASE_L @Whitespace] [@CASE_L @Whitespace] @CASE_L'; # x---, x --, x -, x- - +# ignore sub @LC +# [@CASE_L @Whitespace] +# [@CASE_L @Whitespace] +# [@CASE_L @Whitespace] +# @CASE_L'; # x----, x ---, x --, x -, x- --, x- -, x-- - +# ignore sub @LC +# [@CASE_L @Whitespace] +# [@CASE_L @Whitespace] +# [@CASE_L @Whitespace] +# [@CASE_L @Whitespace] +# @CASE_L'; # x----- ... # # e.g. "x- " -ignore sub @LC @CASE_L' @Whitespace; # "x- " -ignore sub @LC @CASE_L' @Whitespace @Whitespace; # "x- " +# ignore sub @LC @CASE_L' @Whitespace; # "x- " +# ignore sub @LC @CASE_L' @Whitespace @Whitespace; # "x- " # # e.g. "-x" ignore sub @CASE_L @LC; # -x ignore sub @CASE_L @CASE_L @LC; # --x ignore sub @CASE_L @CASE_L @CASE_L @LC; # ---x -ignore sub @CASE_L @CASE_L @CASE_L @CASE_L @LC; # ----x -ignore sub @CASE_L @CASE_L @CASE_L @CASE_L @CASE_L @LC; # -----x +# ignore sub @CASE_L @CASE_L @CASE_L @CASE_L @LC; # ----x +# ignore sub @CASE_L @CASE_L @CASE_L @CASE_L @CASE_L @LC; # -----x # # pairs with space, e.g. "( ) M" since we don't support subbing