summaryrefslogtreecommitdiff
path: root/src/Inter-UI-Italic.ufo
diff options
context:
space:
mode:
authorRasmus Andersson <rasmus@notion.se>2018-09-28 22:45:43 +0300
committerRasmus Andersson <rasmus@notion.se>2018-10-11 09:38:23 +0300
commit42f8afe6568c3b0d2cbcb7e412b3c32dd8f80729 (patch)
treeea4c0932b5b23edcfea68052296c795125c842c2 /src/Inter-UI-Italic.ufo
parent746d527b8f4bd6b5bc721c51052af98d11fc27c0 (diff)
downloadinter-42f8afe6568c3b0d2cbcb7e412b3c32dd8f80729.tar.xz
left-right arrow adjustments and calt refinements for case on left-hand repetition
Diffstat (limited to 'src/Inter-UI-Italic.ufo')
-rw-r--r--src/Inter-UI-Italic.ufo/features.fea41
-rw-r--r--src/Inter-UI-Italic.ufo/fontinfo.plist4
-rw-r--r--src/Inter-UI-Italic.ufo/glyphs/contents.plist2
-rw-r--r--src/Inter-UI-Italic.ufo/glyphs/downA_rrow.glif2
-rw-r--r--src/Inter-UI-Italic.ufo/glyphs/upA_rrow.glif22
-rw-r--r--src/Inter-UI-Italic.ufo/glyphs/upD_ownA_rrow.case.glif17
-rw-r--r--src/Inter-UI-Italic.ufo/layercontents.plist56
-rw-r--r--src/Inter-UI-Italic.ufo/lib.plist7
8 files changed, 46 insertions, 105 deletions
diff --git a/src/Inter-UI-Italic.ufo/features.fea b/src/Inter-UI-Italic.ufo/features.fea
index 8595a68d9..34c84e1c5 100644
--- a/src/Inter-UI-Italic.ufo/features.fea
+++ b/src/Inter-UI-Italic.ufo/features.fea
@@ -1024,7 +1024,6 @@ sub leftLongArrow by leftLongArrow.case;
sub rightArrow by rightArrow.case;
sub rightLongArrow by rightLongArrow.case;
sub leftRightArrow by leftRightArrow.case;
-sub upDownArrow by upDownArrow.case;
sub leftRightLongArrow by leftRightLongArrow.case;
} case;
@@ -1057,7 +1056,6 @@ feature calt {
rightLongArrow
leftRightArrow
leftRightLongArrow
- upDownArrow
notequal
colon
];
@@ -1093,7 +1091,6 @@ feature calt {
rightLongArrow.case
leftRightArrow.case
leftRightLongArrow.case
- upDownArrow.case
notequal.case
colon.case
];
@@ -1105,23 +1102,19 @@ feature calt {
@UC = [ @UC_ROMAN @UC_SET1 exclam question ];
@LC = [ @LC_ROMAN @LC_SET1 ];
-sub [ @UC @CASE_R ] @CASE_L' by @CASE_R; # Z y' -> Z x -> Z x 'y -> Z x x ...
-ignore sub @LC @CASE_NONDELIM_L @UC; # e.g. m multiply M
-sub @CASE_L' [ @UC @CASE_R ] by @CASE_R; # y' Z -> x Z
-
-# rule to support left-hand repetition of CASE{L}->{R} [issue #57]
-# e.g. /at /at /UC -> /at.case /at /UC -> /at.case /at.case /UC
-# Note that we can't look further than 2 glyphs back, since it would break
-# cases like /a /braceleft /braceright /asterisk /asterisk /A
-sub @CASE_L' @CASE_L [ @CASE_R @UC ] by @CASE_R;
+# ---------------------------------------------------
# ignore <-NUM e.g. "<-3"
ignore sub less [ hyphen hyphen.case endash endash.case emdash emdash.case ] @NUM;
+
# arrows: <->
sub less hyphen greater by leftRightArrow;
sub less hyphen.case greater by leftRightArrow.case;
sub less [endash emdash] greater by leftRightLongArrow;
sub less [endash.case emdash.case] greater by leftRightLongArrow.case;
+sub less hyphen hyphen greater by leftRightLongArrow;
+sub less hyphen.case hyphen.case greater by leftRightLongArrow.case;
+
# arrows: ->
sub hyphen greater by rightArrow;
sub hyphen.case greater by rightArrow.case;
@@ -1133,6 +1126,30 @@ sub less hyphen.case by leftArrow.case;
sub less [endash emdash] by leftLongArrow;
sub less [endash.case emdash.case] by leftLongArrow.case;
+# :-)
+sub colon' [hyphen hyphen.case endash endash.case emdash emdash.case] [parenright parenright.case] by colon.case;
+sub [colon colon.case] hyphen' [parenright parenright.case] by hyphen.case;
+sub [colon colon.case] endash' [parenright parenright.case] by endash.case;
+sub [colon colon.case] emdash' [parenright parenright.case] by emdash.case;
+sub [colon colon.case] [hyphen hyphen.case endash endash.case emdash emdash.case] parenright' by parenright.case;
+
+# A foo' -> A foo.case
+sub [ @UC @CASE_R ] @CASE_L' by @CASE_R;
+ignore sub @LC @CASE_NONDELIM_L @UC; # e.g. m multiply M
+
+# foo' foo foo foo foo A -> foo.case foo foo foo foo A
+# foo' foo foo foo A -> foo.case foo foo foo A
+# foo' foo foo A -> foo.case foo foo A
+# foo' foo A -> foo.case foo A
+# foo' A -> foo.case A
+# Note: since we look quite far back, sequences like x{}[]M will case both
+# the square brackets next to M _and_ the curly braces to become .case
+sub @CASE_L' @CASE_L @CASE_L @CASE_L @CASE_L [ @CASE_R @UC ] by @CASE_R;
+sub @CASE_L' @CASE_L @CASE_L @CASE_L [ @CASE_R @UC ] by @CASE_R;
+sub @CASE_L' @CASE_L @CASE_L [ @CASE_R @UC ] by @CASE_R;
+sub @CASE_L' @CASE_L [ @CASE_R @UC ] by @CASE_R;
+sub @CASE_L' [ @UC @CASE_R ] by @CASE_R;
+
} calt;
feature tnum {
diff --git a/src/Inter-UI-Italic.ufo/fontinfo.plist b/src/Inter-UI-Italic.ufo/fontinfo.plist
index 96ca5dd51..dca501a1d 100644
--- a/src/Inter-UI-Italic.ufo/fontinfo.plist
+++ b/src/Inter-UI-Italic.ufo/fontinfo.plist
@@ -105,9 +105,9 @@
<key>openTypeNameSampleText</key>
<string></string>
<key>openTypeNameUniqueID</key>
- <string>Inter UI Italic:2018:a2200c6b</string>
+ <string>Inter UI Italic:2018:06dfba3d</string>
<key>openTypeNameVersion</key>
- <string>3.0;a2200c6b</string>
+ <string>3.0;06dfba3d</string>
<key>openTypeOS2CodePageRanges</key>
<array>
<integer>0</integer>
diff --git a/src/Inter-UI-Italic.ufo/glyphs/contents.plist b/src/Inter-UI-Italic.ufo/glyphs/contents.plist
index 4876b88ff..fda28c9ed 100644
--- a/src/Inter-UI-Italic.ufo/glyphs/contents.plist
+++ b/src/Inter-UI-Italic.ufo/glyphs/contents.plist
@@ -4350,8 +4350,6 @@
<string>upA_rrow.glif</string>
<key>upDownArrow</key>
<string>upD_ownA_rrow.glif</string>
- <key>upDownArrow.case</key>
- <string>upD_ownA_rrow.case.glif</string>
<key>upsilon</key>
<string>upsilon.glif</string>
<key>upsilondieresis</key>
diff --git a/src/Inter-UI-Italic.ufo/glyphs/downA_rrow.glif b/src/Inter-UI-Italic.ufo/glyphs/downA_rrow.glif
index f119c91ab..477e0fc24 100644
--- a/src/Inter-UI-Italic.ufo/glyphs/downA_rrow.glif
+++ b/src/Inter-UI-Italic.ufo/glyphs/downA_rrow.glif
@@ -3,7 +3,7 @@
<advance width="2576.0"/>
<unicode hex="2193"/>
<outline>
- <component base="upArrow" xScale="-1.0" yScale="-1.0" xOffset="2528.0" yOffset="2048.0"/>
+ <component base="upArrow" xScale="-1.0" yScale="-1.0" xOffset="2664.0" yOffset="2048.0"/>
</outline>
<lib>
<dict>
diff --git a/src/Inter-UI-Italic.ufo/glyphs/upA_rrow.glif b/src/Inter-UI-Italic.ufo/glyphs/upA_rrow.glif
index ae1f5b792..f0bde5764 100644
--- a/src/Inter-UI-Italic.ufo/glyphs/upA_rrow.glif
+++ b/src/Inter-UI-Italic.ufo/glyphs/upA_rrow.glif
@@ -4,17 +4,17 @@
<unicode hex="2191"/>
<outline>
<contour>
- <point x="1176.0" y="0.0" type="line"/>
- <point x="1400.0" y="0.0" type="line"/>
- <point x="1400.0" y="1636.0" type="line"/>
- <point x="1416.0" y="1636.0" type="line"/>
- <point x="2032.0" y="1024.0" type="line"/>
- <point x="2184.0" y="1172.0" type="line"/>
- <point x="1288.0" y="2068.0" type="line"/>
- <point x="392.0" y="1172.0" type="line"/>
- <point x="548.0" y="1024.0" type="line"/>
- <point x="1160.0" y="1636.0" type="line"/>
- <point x="1176.0" y="1636.0" type="line"/>
+ <point x="1048.0" y="0.0" type="line"/>
+ <point x="1272.0" y="0.0" type="line"/>
+ <point x="1544.0" y="1636.0" type="line"/>
+ <point x="1560.0" y="1636.0" type="line"/>
+ <point x="2076.0" y="1024.0" type="line"/>
+ <point x="2252.0" y="1172.0" type="line"/>
+ <point x="1504.0" y="2068.0" type="line"/>
+ <point x="460.0" y="1172.0" type="line"/>
+ <point x="592.0" y="1024.0" type="line"/>
+ <point x="1304.0" y="1636.0" type="line"/>
+ <point x="1320.0" y="1636.0" type="line"/>
</contour>
</outline>
<lib>
diff --git a/src/Inter-UI-Italic.ufo/glyphs/upD_ownA_rrow.case.glif b/src/Inter-UI-Italic.ufo/glyphs/upD_ownA_rrow.case.glif
deleted file mode 100644
index 3e3ba2b58..000000000
--- a/src/Inter-UI-Italic.ufo/glyphs/upD_ownA_rrow.case.glif
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<glyph name="upDownArrow.case" format="2">
- <advance width="2580.0"/>
- <outline>
- <component base="upDownArrow" xOffset="20.0" yOffset="128.0"/>
- </outline>
- <lib>
- <dict>
- <key>com.schriftgestaltung.Glyphs.glyph.leftMetricsKey</key>
- <string>upArrow</string>
- <key>com.schriftgestaltung.Glyphs.glyph.rightMetricsKey</key>
- <string>upArrow</string>
- <key>public.markColor</key>
- <string>0.67,0.95,0.38,1</string>
- </dict>
- </lib>
-</glyph>
diff --git a/src/Inter-UI-Italic.ufo/layercontents.plist b/src/Inter-UI-Italic.ufo/layercontents.plist
index ab4f645ce..963df4006 100644
--- a/src/Inter-UI-Italic.ufo/layercontents.plist
+++ b/src/Inter-UI-Italic.ufo/layercontents.plist
@@ -6,61 +6,5 @@
<string>public.default</string>
<string>glyphs</string>
</array>
- <array>
- <string>public.background</string>
- <string>glyphs.public.background</string>
- </array>
- <array>
- <string>Sep 11 18, 23:27</string>
- <string>glyphs.S_ep 11 18, 23_27</string>
- </array>
- <array>
- <string>Sep 11 18, 23:23</string>
- <string>glyphs.S_ep 11 18, 23_23</string>
- </array>
- <array>
- <string>Sep 11 18, 23:24</string>
- <string>glyphs.S_ep 11 18, 23_24</string>
- </array>
- <array>
- <string>Sep 11 18, 23:22</string>
- <string>glyphs.S_ep 11 18, 23_22</string>
- </array>
- <array>
- <string>Sep 14 18, 19:26</string>
- <string>glyphs.S_ep 14 18, 19_26</string>
- </array>
- <array>
- <string>Sep 11 18, 19:44</string>
- <string>glyphs.S_ep 11 18, 19_44</string>
- </array>
- <array>
- <string>Sep 11 18, 19:44.background</string>
- <string>glyphs.S_ep 11 18, 19_44.background</string>
- </array>
- <array>
- <string>Sep 16 18, 17:48</string>
- <string>glyphs.S_ep 16 18, 17_48</string>
- </array>
- <array>
- <string>Sep 15 18, 14:44</string>
- <string>glyphs.S_ep 15 18, 14_44</string>
- </array>
- <array>
- <string>Sep 16 18, 16:57</string>
- <string>glyphs.S_ep 16 18, 16_57</string>
- </array>
- <array>
- <string>Sep 23 18, 16:27</string>
- <string>glyphs.S_ep 23 18, 16_27</string>
- </array>
- <array>
- <string>Sep 11 18, 20:42</string>
- <string>glyphs.S_ep 11 18, 20_42</string>
- </array>
- <array>
- <string>_base</string>
- <string>glyphs._base</string>
- </array>
</array>
</plist>
diff --git a/src/Inter-UI-Italic.ufo/lib.plist b/src/Inter-UI-Italic.ufo/lib.plist
index ceac6c478..c4c10494b 100644
--- a/src/Inter-UI-Italic.ufo/lib.plist
+++ b/src/Inter-UI-Italic.ufo/lib.plist
@@ -1575,22 +1575,21 @@
<string>leftArrow.case</string>
<string>leftLongArrow</string>
<string>leftLongArrow.case</string>
- <string>upArrow</string>
<string>rightArrow</string>
<string>rightArrow.case</string>
<string>rightLongArrow</string>
<string>rightLongArrow.case</string>
- <string>downArrow</string>
<string>northWestArrow</string>
<string>northEastArrow</string>
<string>southEastArrow</string>
<string>southWestArrow</string>
<string>leftRightArrow</string>
<string>leftRightArrow.case</string>
- <string>upDownArrow</string>
- <string>upDownArrow.case</string>
<string>leftRightLongArrow</string>
<string>leftRightLongArrow.case</string>
+ <string>upArrow</string>
+ <string>downArrow</string>
+ <string>upDownArrow</string>
<string>dngb_check</string>
<string>dngb_ballotx</string>
<string>triagrt</string>