summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRasmus Andersson <rasmus@notion.se>2020-08-18 03:13:22 +0300
committerRasmus Andersson <rasmus@notion.se>2020-08-18 03:13:22 +0300
commitebdfaf21cf499b685774e6be776e6596d81cc272 (patch)
treebd921a71e35c702069e891a07f59d96182368073
parentded07d03b692475c2bfff1a652c106b4fb18cbda (diff)
downloadinter-ebdfaf21cf499b685774e6be776e6596d81cc272.tar.xz
improvements (tuning) to calt case substitutions. See issue #251
-rw-r--r--docs/lab/samples.js2
-rwxr-xr-xsrc/Inter.glyphs17
-rw-r--r--src/features/calt.fea38
3 files changed, 32 insertions, 25 deletions
diff --git a/docs/lab/samples.js b/docs/lab/samples.js
index e9b40e156..46851c11e 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 70f0d1203..350004c1c 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 63d73f8dc..404f8c988 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