From 42f8afe6568c3b0d2cbcb7e412b3c32dd8f80729 Mon Sep 17 00:00:00 2001 From: Rasmus Andersson Date: Fri, 28 Sep 2018 12:45:43 -0700 Subject: left-right arrow adjustments and calt refinements for case on left-hand repetition --- src/Inter-UI-Black.ufo/features.fea | 41 +- src/Inter-UI-Black.ufo/fontinfo.plist | 12 +- .../glyphs.public.background/K_hook.glif | 6 - .../glyphs.public.background/contents.plist | 72 -- .../glyphs.public.background/lambda.glif | 6 - .../glyphs.public.background/layerinfo.plist | 5 - src/Inter-UI-Black.ufo/glyphs/contents.plist | 2 - .../glyphs/upD_ownA_rrow.case.glif | 17 - src/Inter-UI-Black.ufo/layercontents.plist | 64 -- src/Inter-UI-Black.ufo/lib.plist | 7 +- src/Inter-UI-BlackItalic.ufo/features.fea | 41 +- src/Inter-UI-BlackItalic.ufo/fontinfo.plist | 4 +- src/Inter-UI-BlackItalic.ufo/glyphs/contents.plist | 2 - .../glyphs/fdotaccent.glif | 2 +- .../glyphs/upD_ownA_rrow.case.glif | 17 - src/Inter-UI-BlackItalic.ufo/layercontents.plist | 72 -- src/Inter-UI-BlackItalic.ufo/lib.plist | 7 +- src/Inter-UI-Italic.ufo/features.fea | 41 +- src/Inter-UI-Italic.ufo/fontinfo.plist | 4 +- src/Inter-UI-Italic.ufo/glyphs/contents.plist | 2 - src/Inter-UI-Italic.ufo/glyphs/downA_rrow.glif | 2 +- src/Inter-UI-Italic.ufo/glyphs/upA_rrow.glif | 22 +- .../glyphs/upD_ownA_rrow.case.glif | 17 - src/Inter-UI-Italic.ufo/layercontents.plist | 56 -- src/Inter-UI-Italic.ufo/lib.plist | 7 +- src/Inter-UI-Regular.ufo/features.fea | 41 +- src/Inter-UI-Regular.ufo/fontinfo.plist | 12 +- .../glyphs.public.background/K_hook.glif | 6 - .../glyphs.public.background/R_x.glif | 6 - .../glyphs.public.background/b.glif | 6 - .../glyphs.public.background/contents.plist | 44 - .../glyphs.public.background/jcrosstail.ccmp.glif | 6 - .../glyphs.public.background/lambda.glif | 6 - .../glyphs.public.background/layerinfo.plist | 5 - src/Inter-UI-Regular.ufo/glyphs/contents.plist | 2 - .../glyphs/upD_ownA_rrow.case.glif | 17 - src/Inter-UI-Regular.ufo/layercontents.plist | 80 -- src/Inter-UI-Regular.ufo/lib.plist | 7 +- src/Inter-UI.glyphs | 974 ++++++++++----------- 39 files changed, 631 insertions(+), 1109 deletions(-) delete mode 100644 src/Inter-UI-Black.ufo/glyphs.public.background/K_hook.glif delete mode 100644 src/Inter-UI-Black.ufo/glyphs.public.background/contents.plist delete mode 100644 src/Inter-UI-Black.ufo/glyphs.public.background/lambda.glif delete mode 100644 src/Inter-UI-Black.ufo/glyphs.public.background/layerinfo.plist delete mode 100644 src/Inter-UI-Black.ufo/glyphs/upD_ownA_rrow.case.glif delete mode 100644 src/Inter-UI-BlackItalic.ufo/glyphs/upD_ownA_rrow.case.glif delete mode 100644 src/Inter-UI-Italic.ufo/glyphs/upD_ownA_rrow.case.glif delete mode 100644 src/Inter-UI-Regular.ufo/glyphs.public.background/K_hook.glif delete mode 100644 src/Inter-UI-Regular.ufo/glyphs.public.background/R_x.glif delete mode 100644 src/Inter-UI-Regular.ufo/glyphs.public.background/b.glif delete mode 100644 src/Inter-UI-Regular.ufo/glyphs.public.background/contents.plist delete mode 100644 src/Inter-UI-Regular.ufo/glyphs.public.background/jcrosstail.ccmp.glif delete mode 100644 src/Inter-UI-Regular.ufo/glyphs.public.background/lambda.glif delete mode 100644 src/Inter-UI-Regular.ufo/glyphs.public.background/layerinfo.plist delete mode 100644 src/Inter-UI-Regular.ufo/glyphs/upD_ownA_rrow.case.glif diff --git a/src/Inter-UI-Black.ufo/features.fea b/src/Inter-UI-Black.ufo/features.fea index 8595a68d9..34c84e1c5 100644 --- a/src/Inter-UI-Black.ufo/features.fea +++ b/src/Inter-UI-Black.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-Black.ufo/fontinfo.plist b/src/Inter-UI-Black.ufo/fontinfo.plist index 705774642..2d36c6298 100644 --- a/src/Inter-UI-Black.ufo/fontinfo.plist +++ b/src/Inter-UI-Black.ufo/fontinfo.plist @@ -48,6 +48,14 @@ y 768.0 + + angle + 0.0 + x + 2660.0 + y + 1024.0 + italicAngle -0.0 @@ -89,9 +97,9 @@ openTypeNameSampleText openTypeNameUniqueID - Inter UI Black:2018:a2200c6b + Inter UI Black:2018:06dfba3d openTypeNameVersion - 3.0;a2200c6b + 3.0;06dfba3d openTypeOS2CodePageRanges 0 diff --git a/src/Inter-UI-Black.ufo/glyphs.public.background/K_hook.glif b/src/Inter-UI-Black.ufo/glyphs.public.background/K_hook.glif deleted file mode 100644 index cfa28c13a..000000000 --- a/src/Inter-UI-Black.ufo/glyphs.public.background/K_hook.glif +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/src/Inter-UI-Black.ufo/glyphs.public.background/contents.plist b/src/Inter-UI-Black.ufo/glyphs.public.background/contents.plist deleted file mode 100644 index 4aa48d64e..000000000 --- a/src/Inter-UI-Black.ufo/glyphs.public.background/contents.plist +++ /dev/null @@ -1,72 +0,0 @@ - - - - - C - C_.glif - G - G_.glif - Khook - K_hook.glif - Omega - O_mega.glif - P - P_.glif - ae - ae.glif - asterisk - asterisk.glif - b - b.glif - c - c.glif - comma - comma.glif - e - e.glif - eight - eight.glif - eight.dnomf - eight.dnomf.glif - five - five.glif - four - four.glif - four.ss01 - four.ss01.glif - g - g.glif - interrobang - interrobang.glif - lambda - lambda.glif - m - m.glif - micro - micro.glif - nu - nu.glif - pertenthousand - pertenthousand.glif - perthousand - perthousand.glif - phigreek - phigreek.glif - seven - seven.glif - seven.dnomf - seven.dnomf.glif - six - six.glif - six.dnomf - six.dnomf.glif - six.ss01 - six.ss01.glif - two - two.glif - uni04FD - uni04F_D_.glif - y - y.glif - - diff --git a/src/Inter-UI-Black.ufo/glyphs.public.background/lambda.glif b/src/Inter-UI-Black.ufo/glyphs.public.background/lambda.glif deleted file mode 100644 index 20e4d8d71..000000000 --- a/src/Inter-UI-Black.ufo/glyphs.public.background/lambda.glif +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/src/Inter-UI-Black.ufo/glyphs.public.background/layerinfo.plist b/src/Inter-UI-Black.ufo/glyphs.public.background/layerinfo.plist deleted file mode 100644 index 564c7a6bb..000000000 --- a/src/Inter-UI-Black.ufo/glyphs.public.background/layerinfo.plist +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/src/Inter-UI-Black.ufo/glyphs/contents.plist b/src/Inter-UI-Black.ufo/glyphs/contents.plist index 4876b88ff..fda28c9ed 100644 --- a/src/Inter-UI-Black.ufo/glyphs/contents.plist +++ b/src/Inter-UI-Black.ufo/glyphs/contents.plist @@ -4350,8 +4350,6 @@ upA_rrow.glif upDownArrow upD_ownA_rrow.glif - upDownArrow.case - upD_ownA_rrow.case.glif upsilon upsilon.glif upsilondieresis diff --git a/src/Inter-UI-Black.ufo/glyphs/upD_ownA_rrow.case.glif b/src/Inter-UI-Black.ufo/glyphs/upD_ownA_rrow.case.glif deleted file mode 100644 index 5e2f0bcc7..000000000 --- a/src/Inter-UI-Black.ufo/glyphs/upD_ownA_rrow.case.glif +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - - - - com.schriftgestaltung.Glyphs.glyph.leftMetricsKey - upArrow - com.schriftgestaltung.Glyphs.glyph.rightMetricsKey - upArrow - public.markColor - 0.67,0.95,0.38,1 - - - diff --git a/src/Inter-UI-Black.ufo/layercontents.plist b/src/Inter-UI-Black.ufo/layercontents.plist index 25677ffcc..963df4006 100644 --- a/src/Inter-UI-Black.ufo/layercontents.plist +++ b/src/Inter-UI-Black.ufo/layercontents.plist @@ -6,69 +6,5 @@ public.default glyphs - - public.background - glyphs.public.background - - - Sep 26 18, 17:42 - glyphs.S_ep 26 18, 17_42 - - - Sep 26 18, 17:42.background - glyphs.S_ep 26 18, 17_42.background - - - Sep 9 18, 17:18 - glyphs.S_ep 9 18, 17_18 - - - Sep 16 18, 18:28 - glyphs.S_ep 16 18, 18_28 - - - Sep 16 18, 17:50 - glyphs.S_ep 16 18, 17_50 - - - Sep 16 18, 18:59 - glyphs.S_ep 16 18, 18_59 - - - Sep 20 18, 18:25 - glyphs.S_ep 20 18, 18_25 - - - Sep 20 18, 18:25.background - glyphs.S_ep 20 18, 18_25.background - - - Sep 23 18, 19:05 - glyphs.S_ep 23 18, 19_05 - - - Sep 23 18, 19:05.background - glyphs.S_ep 23 18, 19_05.background - - - Sep 23 18, 23:18 - glyphs.S_ep 23 18, 23_18 - - - Sep 23 18, 23:18.background - glyphs.S_ep 23 18, 23_18.background - - - _base - glyphs._base - - - Sep 11 18, 18:19 - glyphs.S_ep 11 18, 18_19 - - - Sep 11 18, 18:19.background - glyphs.S_ep 11 18, 18_19.background - diff --git a/src/Inter-UI-Black.ufo/lib.plist b/src/Inter-UI-Black.ufo/lib.plist index 117852485..15b0a7907 100644 --- a/src/Inter-UI-Black.ufo/lib.plist +++ b/src/Inter-UI-Black.ufo/lib.plist @@ -1573,22 +1573,21 @@ leftArrow.case leftLongArrow leftLongArrow.case - upArrow rightArrow rightArrow.case rightLongArrow rightLongArrow.case - downArrow northWestArrow northEastArrow southEastArrow southWestArrow leftRightArrow leftRightArrow.case - upDownArrow - upDownArrow.case leftRightLongArrow leftRightLongArrow.case + upArrow + downArrow + upDownArrow dngb_check dngb_ballotx triagrt diff --git a/src/Inter-UI-BlackItalic.ufo/features.fea b/src/Inter-UI-BlackItalic.ufo/features.fea index 8595a68d9..34c84e1c5 100644 --- a/src/Inter-UI-BlackItalic.ufo/features.fea +++ b/src/Inter-UI-BlackItalic.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-BlackItalic.ufo/fontinfo.plist b/src/Inter-UI-BlackItalic.ufo/fontinfo.plist index e48d8440d..eb580b285 100644 --- a/src/Inter-UI-BlackItalic.ufo/fontinfo.plist +++ b/src/Inter-UI-BlackItalic.ufo/fontinfo.plist @@ -105,9 +105,9 @@ openTypeNameSampleText openTypeNameUniqueID - Inter UI Black Italic:2018:a2200c6b + Inter UI Black Italic:2018:06dfba3d openTypeNameVersion - 3.0;a2200c6b + 3.0;06dfba3d openTypeOS2CodePageRanges 0 diff --git a/src/Inter-UI-BlackItalic.ufo/glyphs/contents.plist b/src/Inter-UI-BlackItalic.ufo/glyphs/contents.plist index 4876b88ff..fda28c9ed 100644 --- a/src/Inter-UI-BlackItalic.ufo/glyphs/contents.plist +++ b/src/Inter-UI-BlackItalic.ufo/glyphs/contents.plist @@ -4350,8 +4350,6 @@ upA_rrow.glif upDownArrow upD_ownA_rrow.glif - upDownArrow.case - upD_ownA_rrow.case.glif upsilon upsilon.glif upsilondieresis diff --git a/src/Inter-UI-BlackItalic.ufo/glyphs/fdotaccent.glif b/src/Inter-UI-BlackItalic.ufo/glyphs/fdotaccent.glif index 95ba9917c..a8c8132e4 100644 --- a/src/Inter-UI-BlackItalic.ufo/glyphs/fdotaccent.glif +++ b/src/Inter-UI-BlackItalic.ufo/glyphs/fdotaccent.glif @@ -4,6 +4,6 @@ - + diff --git a/src/Inter-UI-BlackItalic.ufo/glyphs/upD_ownA_rrow.case.glif b/src/Inter-UI-BlackItalic.ufo/glyphs/upD_ownA_rrow.case.glif deleted file mode 100644 index 614ab7dad..000000000 --- a/src/Inter-UI-BlackItalic.ufo/glyphs/upD_ownA_rrow.case.glif +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - - - - com.schriftgestaltung.Glyphs.glyph.leftMetricsKey - upArrow - com.schriftgestaltung.Glyphs.glyph.rightMetricsKey - upArrow - public.markColor - 0.67,0.95,0.38,1 - - - diff --git a/src/Inter-UI-BlackItalic.ufo/layercontents.plist b/src/Inter-UI-BlackItalic.ufo/layercontents.plist index 6b6641a58..963df4006 100644 --- a/src/Inter-UI-BlackItalic.ufo/layercontents.plist +++ b/src/Inter-UI-BlackItalic.ufo/layercontents.plist @@ -6,77 +6,5 @@ public.default glyphs - - public.background - glyphs.public.background - - - Sep 14 18, 09:35 - glyphs.S_ep 14 18, 09_35 - - - Sep 14 18, 09:35.background - glyphs.S_ep 14 18, 09_35.background - - - Sep 14 18, 09:46 - glyphs.S_ep 14 18, 09_46 - - - Sep 14 18, 09:43 - glyphs.S_ep 14 18, 09_43 - - - Sep 14 18, 09:43.background - glyphs.S_ep 14 18, 09_43.background - - - Sep 14 18, 09:53 - glyphs.S_ep 14 18, 09_53 - - - Sep 14 18, 09:39 - glyphs.S_ep 14 18, 09_39 - - - Sep 14 18, 09:56 - glyphs.S_ep 14 18, 09_56 - - - Sep 14 18, 10:05 - glyphs.S_ep 14 18, 10_05 - - - Sep 14 18, 10:05.background - glyphs.S_ep 14 18, 10_05.background - - - Sep 14 18, 19:17 - glyphs.S_ep 14 18, 19_17 - - - Sep 14 18, 19:17.background - glyphs.S_ep 14 18, 19_17.background - - - Sep 16 18, 21:53 - glyphs.S_ep 16 18, 21_53 - - - Sep 16 18, 18:56 - glyphs.S_ep 16 18, 18_56 - - - Sep 16 18, 19:03 - glyphs.S_ep 16 18, 19_03 - - - Sep 16 18, 17:54 - glyphs.S_ep 16 18, 17_54 - - - Sep 16 18, 17:30 - glyphs.S_ep 16 18, 17_30 - diff --git a/src/Inter-UI-BlackItalic.ufo/lib.plist b/src/Inter-UI-BlackItalic.ufo/lib.plist index 5bed23ee2..a8a69d01d 100644 --- a/src/Inter-UI-BlackItalic.ufo/lib.plist +++ b/src/Inter-UI-BlackItalic.ufo/lib.plist @@ -1569,22 +1569,21 @@ leftArrow.case leftLongArrow leftLongArrow.case - upArrow rightArrow rightArrow.case rightLongArrow rightLongArrow.case - downArrow northWestArrow northEastArrow southEastArrow southWestArrow leftRightArrow leftRightArrow.case - upDownArrow - upDownArrow.case leftRightLongArrow leftRightLongArrow.case + upArrow + downArrow + upDownArrow dngb_check dngb_ballotx triagrt 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 @@ openTypeNameSampleText openTypeNameUniqueID - Inter UI Italic:2018:a2200c6b + Inter UI Italic:2018:06dfba3d openTypeNameVersion - 3.0;a2200c6b + 3.0;06dfba3d openTypeOS2CodePageRanges 0 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 @@ upA_rrow.glif upDownArrow upD_ownA_rrow.glif - upDownArrow.case - upD_ownA_rrow.case.glif upsilon upsilon.glif upsilondieresis 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 @@ - + 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 @@ - - - - - - - - - - - + + + + + + + + + + + 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 @@ - - - - - - - - - com.schriftgestaltung.Glyphs.glyph.leftMetricsKey - upArrow - com.schriftgestaltung.Glyphs.glyph.rightMetricsKey - upArrow - public.markColor - 0.67,0.95,0.38,1 - - - 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 @@ public.default glyphs - - public.background - glyphs.public.background - - - Sep 11 18, 23:27 - glyphs.S_ep 11 18, 23_27 - - - Sep 11 18, 23:23 - glyphs.S_ep 11 18, 23_23 - - - Sep 11 18, 23:24 - glyphs.S_ep 11 18, 23_24 - - - Sep 11 18, 23:22 - glyphs.S_ep 11 18, 23_22 - - - Sep 14 18, 19:26 - glyphs.S_ep 14 18, 19_26 - - - Sep 11 18, 19:44 - glyphs.S_ep 11 18, 19_44 - - - Sep 11 18, 19:44.background - glyphs.S_ep 11 18, 19_44.background - - - Sep 16 18, 17:48 - glyphs.S_ep 16 18, 17_48 - - - Sep 15 18, 14:44 - glyphs.S_ep 15 18, 14_44 - - - Sep 16 18, 16:57 - glyphs.S_ep 16 18, 16_57 - - - Sep 23 18, 16:27 - glyphs.S_ep 23 18, 16_27 - - - Sep 11 18, 20:42 - glyphs.S_ep 11 18, 20_42 - - - _base - glyphs._base - 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 @@ leftArrow.case leftLongArrow leftLongArrow.case - upArrow rightArrow rightArrow.case rightLongArrow rightLongArrow.case - downArrow northWestArrow northEastArrow southEastArrow southWestArrow leftRightArrow leftRightArrow.case - upDownArrow - upDownArrow.case leftRightLongArrow leftRightLongArrow.case + upArrow + downArrow + upDownArrow dngb_check dngb_ballotx triagrt diff --git a/src/Inter-UI-Regular.ufo/features.fea b/src/Inter-UI-Regular.ufo/features.fea index 8595a68d9..34c84e1c5 100644 --- a/src/Inter-UI-Regular.ufo/features.fea +++ b/src/Inter-UI-Regular.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-Regular.ufo/fontinfo.plist b/src/Inter-UI-Regular.ufo/fontinfo.plist index bbdc7104a..4f000304d 100644 --- a/src/Inter-UI-Regular.ufo/fontinfo.plist +++ b/src/Inter-UI-Regular.ufo/fontinfo.plist @@ -68,6 +68,14 @@ y 2304.0 + + angle + 0.0 + x + 2296.0 + y + 1024.0 + italicAngle -0.0 @@ -109,9 +117,9 @@ openTypeNameSampleText openTypeNameUniqueID - Inter UI Regular:2018:a2200c6b + Inter UI Regular:2018:06dfba3d openTypeNameVersion - 3.0;a2200c6b + 3.0;06dfba3d openTypeOS2CodePageRanges 0 diff --git a/src/Inter-UI-Regular.ufo/glyphs.public.background/K_hook.glif b/src/Inter-UI-Regular.ufo/glyphs.public.background/K_hook.glif deleted file mode 100644 index 6f3b463df..000000000 --- a/src/Inter-UI-Regular.ufo/glyphs.public.background/K_hook.glif +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/src/Inter-UI-Regular.ufo/glyphs.public.background/R_x.glif b/src/Inter-UI-Regular.ufo/glyphs.public.background/R_x.glif deleted file mode 100644 index 74dafda55..000000000 --- a/src/Inter-UI-Regular.ufo/glyphs.public.background/R_x.glif +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/src/Inter-UI-Regular.ufo/glyphs.public.background/b.glif b/src/Inter-UI-Regular.ufo/glyphs.public.background/b.glif deleted file mode 100644 index ef3b81372..000000000 --- a/src/Inter-UI-Regular.ufo/glyphs.public.background/b.glif +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/src/Inter-UI-Regular.ufo/glyphs.public.background/contents.plist b/src/Inter-UI-Regular.ufo/glyphs.public.background/contents.plist deleted file mode 100644 index 251e2d0ae..000000000 --- a/src/Inter-UI-Regular.ufo/glyphs.public.background/contents.plist +++ /dev/null @@ -1,44 +0,0 @@ - - - - - G - G_.glif - Khook - K_hook.glif - Omega - O_mega.glif - Rx - R_x.glif - asterisk - asterisk.glif - asterisk.case - asterisk.case.glif - b - b.glif - e - e.glif - four.ss01 - four.ss01.glif - interrobang - interrobang.glif - jcrosstail.ccmp - jcrosstail.ccmp.glif - lambda - lambda.glif - pertenthousand - pertenthousand.glif - perthousand - perthousand.glif - six - six.glif - six.dnomf - six.dnomf.glif - six.ss01 - six.ss01.glif - three - three.glif - two - two.glif - - diff --git a/src/Inter-UI-Regular.ufo/glyphs.public.background/jcrosstail.ccmp.glif b/src/Inter-UI-Regular.ufo/glyphs.public.background/jcrosstail.ccmp.glif deleted file mode 100644 index 6fbcda319..000000000 --- a/src/Inter-UI-Regular.ufo/glyphs.public.background/jcrosstail.ccmp.glif +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/src/Inter-UI-Regular.ufo/glyphs.public.background/lambda.glif b/src/Inter-UI-Regular.ufo/glyphs.public.background/lambda.glif deleted file mode 100644 index d46c1376d..000000000 --- a/src/Inter-UI-Regular.ufo/glyphs.public.background/lambda.glif +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/src/Inter-UI-Regular.ufo/glyphs.public.background/layerinfo.plist b/src/Inter-UI-Regular.ufo/glyphs.public.background/layerinfo.plist deleted file mode 100644 index 564c7a6bb..000000000 --- a/src/Inter-UI-Regular.ufo/glyphs.public.background/layerinfo.plist +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/src/Inter-UI-Regular.ufo/glyphs/contents.plist b/src/Inter-UI-Regular.ufo/glyphs/contents.plist index 4876b88ff..fda28c9ed 100644 --- a/src/Inter-UI-Regular.ufo/glyphs/contents.plist +++ b/src/Inter-UI-Regular.ufo/glyphs/contents.plist @@ -4350,8 +4350,6 @@ upA_rrow.glif upDownArrow upD_ownA_rrow.glif - upDownArrow.case - upD_ownA_rrow.case.glif upsilon upsilon.glif upsilondieresis diff --git a/src/Inter-UI-Regular.ufo/glyphs/upD_ownA_rrow.case.glif b/src/Inter-UI-Regular.ufo/glyphs/upD_ownA_rrow.case.glif deleted file mode 100644 index 9436f46d7..000000000 --- a/src/Inter-UI-Regular.ufo/glyphs/upD_ownA_rrow.case.glif +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - - - - com.schriftgestaltung.Glyphs.glyph.leftMetricsKey - upArrow - com.schriftgestaltung.Glyphs.glyph.rightMetricsKey - upArrow - public.markColor - 0.67,0.95,0.38,1 - - - diff --git a/src/Inter-UI-Regular.ufo/layercontents.plist b/src/Inter-UI-Regular.ufo/layercontents.plist index 4d4f4e2b5..963df4006 100644 --- a/src/Inter-UI-Regular.ufo/layercontents.plist +++ b/src/Inter-UI-Regular.ufo/layercontents.plist @@ -6,85 +6,5 @@ public.default glyphs - - public.background - glyphs.public.background - - - Sep 16 18, 16:08 - glyphs.S_ep 16 18, 16_08 - - - Sep 16 18, 16:08.background - glyphs.S_ep 16 18, 16_08.background - - - Sep 23 18, 16:20 - glyphs.S_ep 23 18, 16_20 - - - Sep 20 18, 18:59 - glyphs.S_ep 20 18, 18_59 - - - Sep 22 - traditional - glyphs.S_ep 22 - traditional - - - Sep 23 - slice side - glyphs.S_ep 23 - slice side - - - Sep 23 - slice side.background - glyphs.S_ep 23 - slice side.background - - - Sep 23 - conjoined - glyphs.S_ep 23 - conjoined - - - Sep 23 - conjoined.background - glyphs.S_ep 23 - conjoined.background - - - Sep 23 - trad 2 - glyphs.S_ep 23 - trad 2 - - - Sep 23 - trad 2.background - glyphs.S_ep 23 - trad 2.background - - - Sep 23 - slice center - glyphs.S_ep 23 - slice center - - - Sep 23 - slice center.background - glyphs.S_ep 23 - slice center.background - - - Sep 23 - crazy1 - glyphs.S_ep 23 - crazy1 - - - Sep 23 - crazy1.background - glyphs.S_ep 23 - crazy1.background - - - Sep 23 18, 23:20 - glyphs.S_ep 23 18, 23_20 - - - Sep 23 18, 23:20.background - glyphs.S_ep 23 18, 23_20.background - - - _base - glyphs._base - - - Sep 23 18, 17:53 - glyphs.S_ep 23 18, 17_53 - diff --git a/src/Inter-UI-Regular.ufo/lib.plist b/src/Inter-UI-Regular.ufo/lib.plist index a7998b705..dd25a31c2 100644 --- a/src/Inter-UI-Regular.ufo/lib.plist +++ b/src/Inter-UI-Regular.ufo/lib.plist @@ -1577,22 +1577,21 @@ leftArrow.case leftLongArrow leftLongArrow.case - upArrow rightArrow rightArrow.case rightLongArrow rightLongArrow.case - downArrow northWestArrow northEastArrow southEastArrow southWestArrow leftRightArrow leftRightArrow.case - upDownArrow - upDownArrow.case leftRightLongArrow leftRightLongArrow.case + upArrow + downArrow + upDownArrow dngb_check dngb_ballotx triagrt diff --git a/src/Inter-UI.glyphs b/src/Inter-UI.glyphs index 464d3c97f..1f4761573 100644 --- a/src/Inter-UI.glyphs +++ b/src/Inter-UI.glyphs @@ -1646,22 +1646,21 @@ leftArrow, leftArrow.case, leftLongArrow, leftLongArrow.case, -upArrow, rightArrow, rightArrow.case, rightLongArrow, rightLongArrow.case, -downArrow, northWestArrow, northEastArrow, southEastArrow, southWestArrow, leftRightArrow, leftRightArrow.case, -upDownArrow, -upDownArrow.case, leftRightLongArrow, leftRightLongArrow.case, +upArrow, +downArrow, +upDownArrow, dngb_check, dngb_ballotx, triagrt, @@ -2574,11 +2573,11 @@ name = dnom; }, { automatic = 1; -code = "sub parenleft by parenleft.case;\012sub parenright by parenright.case;\012sub bracketleft by bracketleft.case;\012sub bracketright by bracketright.case;\012sub braceleft by braceleft.case;\012sub braceright by braceright.case;\012sub at by at.case;\012sub hyphen by hyphen.case;\012sub endash by endash.case;\012sub figuredash by figuredash.case;\012sub emdash by emdash.case;\012sub bullet by bullet.case;\012sub openbullet by openbullet.case;\012sub colon by colon.case;\012sub equal by equal.case;\012sub notequal by notequal.case;\012sub plus by plus.case;\012sub minus by minus.case;\012sub multiply by multiply.case;\012sub divide by divide.case;\012sub plusminus by plusminus.case;\012sub asterisk by asterisk.case;\012sub leftArrow by leftArrow.case;\012sub leftLongArrow by leftLongArrow.case;\012sub rightArrow by rightArrow.case;\012sub rightLongArrow by rightLongArrow.case;\012sub leftRightArrow by leftRightArrow.case;\012sub upDownArrow by upDownArrow.case;\012sub leftRightLongArrow by leftRightLongArrow.case;\012"; +code = "sub parenleft by parenleft.case;\012sub parenright by parenright.case;\012sub bracketleft by bracketleft.case;\012sub bracketright by bracketright.case;\012sub braceleft by braceleft.case;\012sub braceright by braceright.case;\012sub at by at.case;\012sub hyphen by hyphen.case;\012sub endash by endash.case;\012sub figuredash by figuredash.case;\012sub emdash by emdash.case;\012sub bullet by bullet.case;\012sub openbullet by openbullet.case;\012sub colon by colon.case;\012sub equal by equal.case;\012sub notequal by notequal.case;\012sub plus by plus.case;\012sub minus by minus.case;\012sub multiply by multiply.case;\012sub divide by divide.case;\012sub plusminus by plusminus.case;\012sub asterisk by asterisk.case;\012sub leftArrow by leftArrow.case;\012sub leftLongArrow by leftLongArrow.case;\012sub rightArrow by rightArrow.case;\012sub rightLongArrow by rightLongArrow.case;\012sub leftRightArrow by leftRightArrow.case;\012sub leftRightLongArrow by leftRightLongArrow.case;\012"; name = case; }, { -code = "@CASE_DELIM_L = [\012 braceleft braceright\012 bracketleft bracketright\012 parenleft parenright\012];\012@CASE_NONDELIM_L = [\012 asterisk\012 at\012 multiply\012 minus\012 plus\012 plusminus\012 divide\012 equal\012 notequal\012 endash\012 figuredash\012 emdash\012 hyphen\012 bullet\012 openbullet\012 leftArrow\012 leftLongArrow\012 rightArrow\012 rightLongArrow\012 leftRightArrow\012 leftRightLongArrow\012 upDownArrow\012 notequal\012 colon\012];\012@CASE_L = [\012 @CASE_DELIM_L\012 @CASE_NONDELIM_L\012];\012\012@CASE_DELIM_R = [\012 braceleft.case braceright.case\012 bracketleft.case bracketright.case\012 parenleft.case parenright.case\012];\012@CASE_NONDELIM_R = [\012 asterisk.case\012 at.case\012 multiply.case\012 minus.case\012 plus.case\012 plusminus.case\012 divide.case\012 equal.case\012 notequal.case\012 endash.case\012 figuredash.case\012 emdash.case\012 hyphen.case\012 bullet.case\012 openbullet.case\012 leftArrow.case\012 leftLongArrow.case\012 rightArrow.case\012 rightLongArrow.case\012 leftRightArrow.case\012 leftRightLongArrow.case\012 upDownArrow.case\012 notequal.case\012 colon.case\012];\012@CASE_R = [\012 @CASE_DELIM_R\012 @CASE_NONDELIM_R\012];\012\012@UC = [ @UC_ROMAN @UC_SET1 exclam question ];\012@LC = [ @LC_ROMAN @LC_SET1 ];\012\012sub [ @UC @CASE_R ] @CASE_L' by @CASE_R; # Z y' -> Z x -> Z x 'y -> Z x x ...\012ignore sub @LC @CASE_NONDELIM_L @UC; # e.g. m multiply M\012sub @CASE_L' [ @UC @CASE_R ] by @CASE_R; # y' Z -> x Z\012\012# rule to support left-hand repetition of CASE{L}->{R} [issue #57]\012# e.g. /at /at /UC -> /at.case /at /UC -> /at.case /at.case /UC\012# Note that we can't look further than 2 glyphs back, since it would break\012# cases like /a /braceleft /braceright /asterisk /asterisk /A\012sub @CASE_L' @CASE_L [ @CASE_R @UC ] by @CASE_R;\012\012# ignore <-NUM e.g. \"<-3\"\012ignore sub less [ hyphen hyphen.case endash endash.case emdash emdash.case ] @NUM;\012# arrows: <->\012sub less hyphen greater by leftRightArrow;\012sub less hyphen.case greater by leftRightArrow.case;\012sub less [endash emdash] greater by leftRightLongArrow;\012sub less [endash.case emdash.case] greater by leftRightLongArrow.case;\012# arrows: ->\012sub hyphen greater by rightArrow;\012sub hyphen.case greater by rightArrow.case;\012sub [endash emdash] greater by rightLongArrow;\012sub [endash.case emdash.case] greater by rightLongArrow.case;\012# arrows: <-\012sub less hyphen by leftArrow;\012sub less hyphen.case by leftArrow.case;\012sub less [endash emdash] by leftLongArrow;\012sub less [endash.case emdash.case] by leftLongArrow.case;\012"; +code = "@CASE_DELIM_L = [\012 braceleft braceright\012 bracketleft bracketright\012 parenleft parenright\012];\012@CASE_NONDELIM_L = [\012 asterisk\012 at\012 multiply\012 minus\012 plus\012 plusminus\012 divide\012 equal\012 notequal\012 endash\012 figuredash\012 emdash\012 hyphen\012 bullet\012 openbullet\012 leftArrow\012 leftLongArrow\012 rightArrow\012 rightLongArrow\012 leftRightArrow\012 leftRightLongArrow\012 notequal\012 colon\012];\012@CASE_L = [\012 @CASE_DELIM_L\012 @CASE_NONDELIM_L\012];\012\012@CASE_DELIM_R = [\012 braceleft.case braceright.case\012 bracketleft.case bracketright.case\012 parenleft.case parenright.case\012];\012@CASE_NONDELIM_R = [\012 asterisk.case\012 at.case\012 multiply.case\012 minus.case\012 plus.case\012 plusminus.case\012 divide.case\012 equal.case\012 notequal.case\012 endash.case\012 figuredash.case\012 emdash.case\012 hyphen.case\012 bullet.case\012 openbullet.case\012 leftArrow.case\012 leftLongArrow.case\012 rightArrow.case\012 rightLongArrow.case\012 leftRightArrow.case\012 leftRightLongArrow.case\012 notequal.case\012 colon.case\012];\012@CASE_R = [\012 @CASE_DELIM_R\012 @CASE_NONDELIM_R\012];\012\012@UC = [ @UC_ROMAN @UC_SET1 exclam question ];\012@LC = [ @LC_ROMAN @LC_SET1 ];\012\012# ---------------------------------------------------\012\012# ignore <-NUM e.g. \"<-3\"\012ignore sub less [ hyphen hyphen.case endash endash.case emdash emdash.case ] @NUM;\012\012# arrows: <->\012sub less hyphen greater by leftRightArrow;\012sub less hyphen.case greater by leftRightArrow.case;\012sub less [endash emdash] greater by leftRightLongArrow;\012sub less [endash.case emdash.case] greater by leftRightLongArrow.case;\012sub less hyphen hyphen greater by leftRightLongArrow;\012sub less hyphen.case hyphen.case greater by leftRightLongArrow.case;\012\012# arrows: ->\012sub hyphen greater by rightArrow;\012sub hyphen.case greater by rightArrow.case;\012sub [endash emdash] greater by rightLongArrow;\012sub [endash.case emdash.case] greater by rightLongArrow.case;\012# arrows: <-\012sub less hyphen by leftArrow;\012sub less hyphen.case by leftArrow.case;\012sub less [endash emdash] by leftLongArrow;\012sub less [endash.case emdash.case] by leftLongArrow.case;\012\012# :-)\012sub colon' [hyphen hyphen.case endash endash.case emdash emdash.case] [parenright parenright.case] by colon.case;\012sub [colon colon.case] hyphen' [parenright parenright.case] by hyphen.case;\012sub [colon colon.case] endash' [parenright parenright.case] by endash.case;\012sub [colon colon.case] emdash' [parenright parenright.case] by emdash.case;\012sub [colon colon.case] [hyphen hyphen.case endash endash.case emdash emdash.case] parenright' by parenright.case;\012\012# A foo' -> A foo.case\012sub [ @UC @CASE_R ] @CASE_L' by @CASE_R;\012ignore sub @LC @CASE_NONDELIM_L @UC; # e.g. m multiply M\012\012# foo' foo foo foo foo A -> foo.case foo foo foo foo A\012# foo' foo foo foo A -> foo.case foo foo foo A\012# foo' foo foo A -> foo.case foo foo A\012# foo' foo A -> foo.case foo A\012# foo' A -> foo.case A\012# Note: since we look quite far back, sequences like x{}[]M will case both\012# the square brackets next to M _and_ the curly braces to become .case\012sub @CASE_L' @CASE_L @CASE_L @CASE_L @CASE_L [ @CASE_R @UC ] by @CASE_R;\012sub @CASE_L' @CASE_L @CASE_L @CASE_L [ @CASE_R @UC ] by @CASE_R;\012sub @CASE_L' @CASE_L @CASE_L [ @CASE_R @UC ] by @CASE_R;\012sub @CASE_L' @CASE_L [ @CASE_R @UC ] by @CASE_R;\012sub @CASE_L' [ @UC @CASE_R ] by @CASE_R;\012"; name = calt; }, { @@ -2757,6 +2756,10 @@ position = "{1224, 1056}"; alignment = center; name = anchors_Cap; position = "{52, 2304}"; +}, +{ +alignment = center; +position = "{2296, 1024}"; } ); horizontalStems = ( @@ -2978,6 +2981,10 @@ position = "{472, 2168}"; { alignment = center; position = "{1016, 768}"; +}, +{ +alignment = center; +position = "{2660, 1024}"; } ); horizontalStems = ( @@ -37193,7 +37200,7 @@ unicode = 01C8; { color = (219,235,247,1); glyphname = M; -lastChange = "2018-09-27 17:36:45 +0000"; +lastChange = "2018-09-28 19:03:14 +0000"; layers = ( { anchors = ( @@ -91300,7 +91307,7 @@ interface.gridadjust.original = "{'width': 989, 'leftMargin': 315, 'rightMargin' }, { glyphname = fdotaccent; -lastChange = "2018-09-28 02:11:20 +0000"; +lastChange = "2018-09-28 19:13:04 +0000"; layers = ( { components = ( @@ -91348,7 +91355,7 @@ name = f; }, { name = dotaccent; -transform = "{1, 0, 0, 1, 340, 592}"; +transform = "{1, 0, 0, 1, 344, 616}"; } ); layerId = "D0EC06BF-13F9-4C88-A6F5-B8203AF6C77E"; @@ -259541,177 +259548,6 @@ com.typemytype.robofont.guideline.magnetic.j1R7bzZtA3 = 5; }, { color = (204,240,242,1); -glyphname = upArrow; -lastChange = "2018-09-27 00:56:25 +0000"; -layers = ( -{ -hints = ( -{ -horizontal = 1; -origin = "{0, 10}"; -target = up; -type = BottomGhost; -}, -{ -horizontal = 1; -origin = "{0, 5}"; -target = down; -type = TopGhost; -}, -{ -origin = "{0, 10}"; -target = "{0, 0}"; -type = Stem; -}, -{ -horizontal = 1; -origin = "{0, 10}"; -type = Anchor; -options = 4; -}, -{ -horizontal = 1; -origin = "{0, 5}"; -type = Anchor; -options = 4; -} -); -layerId = "C698F293-3EC0-4A5A-A3A0-0FDB1F5CF265"; -paths = ( -{ -closed = 1; -nodes = ( -"1400 0 LINE", -"1400 1636 LINE", -"1416 1636 LINE", -"2032 1024 LINE", -"2184 1172 LINE", -"1288 2068 LINE", -"392 1172 LINE", -"548 1024 LINE", -"1160 1636 LINE", -"1176 1636 LINE", -"1176 0 LINE" -); -} -); -width = 2576; -}, -{ -guideLines = ( -{ -angle = 90; -position = "{1324, 452}"; -} -); -hints = ( -{ -horizontal = 1; -origin = "{0, 10}"; -target = up; -type = BottomGhost; -}, -{ -horizontal = 1; -origin = "{0, 5}"; -target = down; -type = TopGhost; -}, -{ -horizontal = 1; -origin = "{0, 10}"; -type = Anchor; -options = 4; -}, -{ -horizontal = 1; -origin = "{0, 5}"; -type = Anchor; -options = 4; -} -); -layerId = "5C20EF92-B63D-42A8-8878-93C2863E0093"; -paths = ( -{ -closed = 1; -nodes = ( -"1612 0 LINE", -"1612 1304 LINE", -"1628 1304 LINE", -"2060 912 LINE", -"2332 1184 LINE", -"1408 2064 LINE", -"484 1184 LINE", -"756 912 LINE", -"1188 1304 LINE", -"1204 1304 LINE", -"1204 0 LINE" -); -} -); -width = 2816; -}, -{ -layerId = "11F4534A-B963-4AB5-820F-DAF9A20CD933"; -paths = ( -{ -closed = 1; -nodes = ( -"1400 0 LINE", -"1400 1636 LINE", -"1416 1636 LINE", -"2032 1024 LINE", -"2184 1172 LINE", -"1288 2068 LINE", -"392 1172 LINE", -"548 1024 LINE", -"1160 1636 LINE", -"1176 1636 LINE", -"1176 0 LINE" -); -} -); -width = 2576; -}, -{ -guideLines = ( -{ -angle = 90; -position = "{1220, 452}"; -} -); -layerId = "D0EC06BF-13F9-4C88-A6F5-B8203AF6C77E"; -paths = ( -{ -closed = 1; -nodes = ( -"1484 0 LINE", -"1700 1304 LINE", -"1716 1304 LINE", -"2084 912 LINE", -"2400 1184 LINE", -"1624 2064 LINE", -"552 1184 LINE", -"780 912 LINE", -"1276 1304 LINE", -"1292 1304 LINE", -"1076 0 LINE" -); -} -); -width = 2816; -} -); -unicode = 2191; -userData = { -interface.gridadjust.original = "{'width': 1800, 'leftMargin': 296, 'rightMargin': 304}"; -"interface.width-adjustments" = ( --16 -); -}; -}, -{ -color = (204,240,242,1); glyphname = rightArrow; lastChange = "2018-09-27 16:34:03 +0000"; layers = ( @@ -259767,7 +259603,7 @@ userData = { { color = 4; glyphname = rightArrow.case; -lastChange = "2018-09-27 18:13:12 +0000"; +lastChange = "2018-09-28 19:07:49 +0000"; layers = ( { components = ( @@ -259996,61 +259832,6 @@ com.typemytype.robofont.guideline.magnetic.MLXbi8JRvP = 5; }, { color = (204,240,242,1); -glyphname = downArrow; -lastChange = "2018-09-27 18:09:57 +0000"; -layers = ( -{ -components = ( -{ -name = upArrow; -transform = "{-1, 0, 0, -1, 2576, 2048}"; -} -); -layerId = "C698F293-3EC0-4A5A-A3A0-0FDB1F5CF265"; -width = 2576; -}, -{ -components = ( -{ -name = upArrow; -transform = "{-1, 0, 0, -1, 2816, 2048}"; -} -); -layerId = "5C20EF92-B63D-42A8-8878-93C2863E0093"; -width = 2816; -}, -{ -components = ( -{ -name = upArrow; -transform = "{-1, 0, 0, -1, 2528, 2048}"; -} -); -layerId = "11F4534A-B963-4AB5-820F-DAF9A20CD933"; -width = 2576; -}, -{ -components = ( -{ -name = upArrow; -transform = "{-1, 0, 0, -1, 2900, 2048}"; -} -); -layerId = "D0EC06BF-13F9-4C88-A6F5-B8203AF6C77E"; -width = 2816; -} -); -leftMetricsKey = upArrow; -rightMetricsKey = upArrow; -unicode = 2193; -userData = { -"interface.width-adjustments" = ( --16 -); -}; -}, -{ -color = (204,240,242,1); glyphname = northWestArrow; lastChange = "2018-09-27 00:56:25 +0000"; layers = ( @@ -260598,67 +260379,59 @@ leftMetricsKey = leftArrow; rightMetricsKey = rightArrow; }, { -glyphname = upDownArrow; -lastChange = "2018-09-27 18:11:35 +0000"; +glyphname = leftRightLongArrow; +lastChange = "2018-09-27 18:11:05 +0000"; layers = ( { hints = ( { horizontal = 1; -place = "{160, 21}"; +origin = "{0, 17}"; target = up; type = BottomGhost; }, { horizontal = 1; -origin = "{0, 8}"; -target = down; -type = TopGhost; -}, -{ -origin = "{0, 13}"; -target = "{0, 3}"; +origin = "{0, 2}"; +target = "{0, 12}"; type = Stem; }, { horizontal = 1; -origin = "{0, 16}"; +origin = "{0, 17}"; type = Anchor; options = 4; }, { horizontal = 1; -origin = "{0, 8}"; -type = Anchor; +origin = "{0, 2}"; +target = "{0, 12}"; +type = TTStem; options = 4; }, { horizontal = 1; -place = "{1408, 21}"; +origin = "{0, 8}"; target = up; type = BottomGhost; }, { horizontal = 1; -origin = "{0, 17}"; -target = up; -type = BottomGhost; -}, -{ -origin = "{0, 4}"; -target = "{0, 12}"; +origin = "{0, 11}"; +target = "{0, 3}"; type = Stem; }, { horizontal = 1; -origin = "{0, 7}"; +origin = "{0, 8}"; type = Anchor; options = 4; }, { horizontal = 1; -origin = "{0, 17}"; -type = Anchor; +origin = "{0, 11}"; +target = "{0, 3}"; +type = TTStem; options = 4; } ); @@ -260667,76 +260440,257 @@ paths = ( { closed = 1; nodes = ( -"2184 236 LINE", -"2028 384 LINE", -"1416 -228 LINE", -"1400 -228 LINE", -"1400 1796 LINE", -"1416 1796 LINE", -"2032 1184 LINE", -"2184 1332 LINE", -"1288 2228 LINE", -"392 1332 LINE", -"548 1184 LINE", -"1160 1796 LINE", -"1176 1796 LINE", -"1176 -228 LINE", -"1160 -228 LINE", -"544 384 LINE", -"392 236 LINE", -"1288 -660 LINE" +"1420 152 LINE", +"804 768 LINE", +"804 784 LINE", +"4092 784 LINE", +"4092 768 LINE", +"3476 152 LINE", +"3628 0 LINE", +"4524 896 LINE", +"3628 1792 LINE", +"3476 1640 LINE", +"4092 1024 LINE", +"4092 1008 LINE", +"804 1008 LINE", +"804 1024 LINE", +"1420 1640 LINE", +"1268 1792 LINE", +"372 896 LINE", +"1268 0 LINE" ); } ); -width = 2576; +width = 4912; }, { +layerId = "5C20EF92-B63D-42A8-8878-93C2863E0093"; +paths = ( +{ +closed = 1; +nodes = ( +"1456 196 LINE", +"1024 588 LINE", +"1024 604 LINE", +"3620 604 LINE", +"3620 588 LINE", +"3188 196 LINE", +"3464 -72 LINE", +"4388 804 LINE", +"3464 1684 LINE", +"3188 1416 LINE", +"3620 1024 LINE", +"3620 1008 LINE", +"1024 1008 LINE", +"1024 1024 LINE", +"1456 1416 LINE", +"1180 1684 LINE", +"256 808 LINE", +"1180 -72 LINE" +); +} +); +width = 4712; +}, +{ +layerId = "D0EC06BF-13F9-4C88-A6F5-B8203AF6C77E"; +paths = ( +{ +closed = 1; +nodes = ( +"1360 196 LINE", +"996 588 LINE", +"996 604 LINE", +"3592 604 LINE", +"3592 588 LINE", +"3092 196 LINE", +"3324 -72 LINE", +"4392 804 LINE", +"3616 1684 LINE", +"3296 1416 LINE", +"3664 1024 LINE", +"3660 1008 LINE", +"1064 1008 LINE", +"1068 1024 LINE", +"1564 1416 LINE", +"1332 1684 LINE", +"264 808 LINE", +"1040 -72 LINE" +); +} +); +width = 4712; +}, +{ +layerId = "11F4534A-B963-4AB5-820F-DAF9A20CD933"; +paths = ( +{ +closed = 1; +nodes = ( +"1300 152 LINE", +"784 768 LINE", +"788 784 LINE", +"4076 784 LINE", +"4072 768 LINE", +"3356 152 LINE", +"3480 0 LINE", +"4524 896 LINE", +"3776 1792 LINE", +"3600 1640 LINE", +"4116 1024 LINE", +"4112 1008 LINE", +"824 1008 LINE", +"828 1024 LINE", +"1544 1640 LINE", +"1416 1792 LINE", +"372 896 LINE", +"1120 0 LINE" +); +} +); +width = 4912; +} +); +leftMetricsKey = leftArrow; +rightMetricsKey = rightArrow; +unicode = 27F7; +}, +{ +color = 4; +glyphname = leftRightLongArrow.case; +lastChange = "2018-09-27 18:27:45 +0000"; +layers = ( +{ +components = ( +{ +name = leftRightLongArrow; +transform = "{1, 0, 0, 1, 0, 128}"; +} +); +layerId = "C698F293-3EC0-4A5A-A3A0-0FDB1F5CF265"; +width = 4912; +}, +{ +components = ( +{ +name = leftRightLongArrow; +transform = "{1, 0, 0, 1, 24, 128}"; +} +); +layerId = "11F4534A-B963-4AB5-820F-DAF9A20CD933"; +width = 4916; +}, +{ +components = ( +{ +name = leftRightLongArrow; +transform = "{1, 0, 0, 1, 0, 216}"; +} +); +layerId = "5C20EF92-B63D-42A8-8878-93C2863E0093"; +width = 4712; +}, +{ +components = ( +{ +name = leftRightLongArrow; +transform = "{1, 0, 0, 1, 36, 216}"; +} +); +layerId = "D0EC06BF-13F9-4C88-A6F5-B8203AF6C77E"; +width = 4712; +} +); +leftMetricsKey = leftArrow; +rightMetricsKey = rightArrow; +}, +{ +color = (204,240,242,1); +glyphname = upArrow; +lastChange = "2018-09-28 19:04:36 +0000"; +layers = ( +{ hints = ( { horizontal = 1; -place = "{8, 21}"; +origin = "{0, 10}"; target = up; type = BottomGhost; }, { horizontal = 1; -origin = "{0, 8}"; +origin = "{0, 5}"; target = down; type = TopGhost; }, { +origin = "{0, 10}"; +target = "{0, 0}"; +type = Stem; +}, +{ horizontal = 1; -origin = "{0, 14}"; +origin = "{0, 10}"; type = Anchor; options = 4; }, { horizontal = 1; -origin = "{0, 9}"; +origin = "{0, 5}"; type = Anchor; options = 4; +} +); +layerId = "C698F293-3EC0-4A5A-A3A0-0FDB1F5CF265"; +paths = ( +{ +closed = 1; +nodes = ( +"1400 0 LINE", +"1400 1636 LINE", +"1416 1636 LINE", +"2032 1024 LINE", +"2184 1172 LINE", +"1288 2068 LINE", +"392 1172 LINE", +"548 1024 LINE", +"1160 1636 LINE", +"1176 1636 LINE", +"1176 0 LINE" +); +} +); +width = 2576; }, { +guideLines = ( +{ +angle = 90; +position = "{1324, 452}"; +} +); +hints = ( +{ horizontal = 1; -place = "{1576, 21}"; +origin = "{0, 10}"; target = up; type = BottomGhost; }, { horizontal = 1; -origin = "{0, 17}"; -target = up; -type = BottomGhost; +origin = "{0, 5}"; +target = down; +type = TopGhost; }, { horizontal = 1; -origin = "{0, 5}"; +origin = "{0, 10}"; type = Anchor; options = 4; }, { horizontal = 1; -origin = "{0, 0}"; +origin = "{0, 5}"; type = Anchor; options = 4; } @@ -260746,102 +260700,91 @@ paths = ( { closed = 1; nodes = ( -"2332 392 LINE", -"2060 664 LINE", -"1628 272 LINE", -"1612 272 LINE", -"1612 1312 LINE", -"1628 1312 LINE", -"2060 920 LINE", -"2332 1192 LINE", -"1408 2072 LINE", -"484 1192 LINE", -"756 920 LINE", -"1188 1312 LINE", -"1204 1312 LINE", -"1204 272 LINE", -"1188 272 LINE", -"756 664 LINE", -"484 392 LINE", -"1408 -488 LINE" +"1612 0 LINE", +"1612 1304 LINE", +"1628 1304 LINE", +"2060 912 LINE", +"2332 1184 LINE", +"1408 2064 LINE", +"484 1184 LINE", +"756 912 LINE", +"1188 1304 LINE", +"1204 1304 LINE", +"1204 0 LINE" ); } ); width = 2816; }, { -layerId = "D0EC06BF-13F9-4C88-A6F5-B8203AF6C77E"; +layerId = "11F4534A-B963-4AB5-820F-DAF9A20CD933"; paths = ( { closed = 1; nodes = ( -"2272 392 LINE", -"2044 664 LINE", -"1548 272 LINE", -"1532 272 LINE", -"1704 1312 LINE", -"1720 1312 LINE", -"2088 920 LINE", -"2404 1192 LINE", -"1624 2072 LINE", -"556 1192 LINE", -"784 920 LINE", -"1280 1312 LINE", -"1296 1312 LINE", -"1124 272 LINE", -"1108 272 LINE", -"740 664 LINE", -"424 392 LINE", -"1200 -488 LINE" +"1272 0 LINE", +"1544 1636 LINE", +"1560 1636 LINE", +"2076 1024 LINE", +"2252 1172 LINE", +"1504 2068 LINE", +"460 1172 LINE", +"592 1024 LINE", +"1304 1636 LINE", +"1320 1636 LINE", +"1048 0 LINE" ); } ); -width = 2820; +width = 2576; }, { -layerId = "11F4534A-B963-4AB5-820F-DAF9A20CD933"; +guideLines = ( +{ +angle = 90; +position = "{1220, 452}"; +} +); +layerId = "D0EC06BF-13F9-4C88-A6F5-B8203AF6C77E"; paths = ( { closed = 1; nodes = ( -"2032 236 LINE", -"1900 384 LINE", -"1188 -228 LINE", -"1172 -228 LINE", -"1504 1796 LINE", -"1520 1796 LINE", -"2036 1184 LINE", -"2212 1332 LINE", -"1464 2228 LINE", -"420 1332 LINE", +"1484 0 LINE", +"1700 1304 LINE", +"1716 1304 LINE", +"2084 912 LINE", +"2400 1184 LINE", +"1624 2064 LINE", "552 1184 LINE", -"1264 1796 LINE", -"1280 1796 LINE", -"948 -228 LINE", -"932 -228 LINE", -"416 384 LINE", -"240 236 LINE", -"988 -660 LINE" +"780 912 LINE", +"1276 1304 LINE", +"1292 1304 LINE", +"1076 0 LINE" ); } ); -width = 2580; +width = 2816; } ); -leftMetricsKey = upArrow; -rightMetricsKey = upArrow; -unicode = 2195; +unicode = 2191; +userData = { +interface.gridadjust.original = "{'width': 1800, 'leftMargin': 296, 'rightMargin': 304}"; +"interface.width-adjustments" = ( +-16 +); +}; }, { -color = 4; -glyphname = upDownArrow.case; -lastChange = "2018-09-27 18:27:45 +0000"; +color = (204,240,242,1); +glyphname = downArrow; +lastChange = "2018-09-28 19:05:08 +0000"; layers = ( { components = ( { -name = upDownArrow; -transform = "{1, 0, 0, 1, 0, 128}"; +name = upArrow; +transform = "{-1, 0, 0, -1, 2576, 2048}"; } ); layerId = "C698F293-3EC0-4A5A-A3A0-0FDB1F5CF265"; @@ -260850,28 +260793,28 @@ width = 2576; { components = ( { -name = upDownArrow; -transform = "{1, 0, 0, 1, 20, 128}"; +name = upArrow; +transform = "{-1, 0, 0, -1, 2816, 2048}"; } ); -layerId = "11F4534A-B963-4AB5-820F-DAF9A20CD933"; -width = 2580; +layerId = "5C20EF92-B63D-42A8-8878-93C2863E0093"; +width = 2816; }, { components = ( { -name = upDownArrow; -transform = "{1, 0, 0, 1, 0, 216}"; +name = upArrow; +transform = "{-1, 0, 0, -1, 2664, 2048}"; } ); -layerId = "5C20EF92-B63D-42A8-8878-93C2863E0093"; -width = 2816; +layerId = "11F4534A-B963-4AB5-820F-DAF9A20CD933"; +width = 2576; }, { components = ( { -name = upDownArrow; -transform = "{1, 0, 0, 1, 32, 216}"; +name = upArrow; +transform = "{-1, 0, 0, -1, 2900, 2048}"; } ); layerId = "D0EC06BF-13F9-4C88-A6F5-B8203AF6C77E"; @@ -260880,61 +260823,75 @@ width = 2816; ); leftMetricsKey = upArrow; rightMetricsKey = upArrow; +unicode = 2193; +userData = { +"interface.width-adjustments" = ( +-16 +); +}; }, { -glyphname = leftRightLongArrow; -lastChange = "2018-09-27 18:11:05 +0000"; +glyphname = upDownArrow; +lastChange = "2018-09-27 18:11:35 +0000"; layers = ( { hints = ( { horizontal = 1; -origin = "{0, 17}"; +place = "{160, 21}"; target = up; type = BottomGhost; }, { horizontal = 1; -origin = "{0, 2}"; -target = "{0, 12}"; +origin = "{0, 8}"; +target = down; +type = TopGhost; +}, +{ +origin = "{0, 13}"; +target = "{0, 3}"; type = Stem; }, { horizontal = 1; -origin = "{0, 17}"; +origin = "{0, 16}"; type = Anchor; options = 4; }, { horizontal = 1; -origin = "{0, 2}"; -target = "{0, 12}"; -type = TTStem; +origin = "{0, 8}"; +type = Anchor; options = 4; }, { horizontal = 1; -origin = "{0, 8}"; +place = "{1408, 21}"; target = up; type = BottomGhost; }, { horizontal = 1; -origin = "{0, 11}"; -target = "{0, 3}"; +origin = "{0, 17}"; +target = up; +type = BottomGhost; +}, +{ +origin = "{0, 4}"; +target = "{0, 12}"; type = Stem; }, { horizontal = 1; -origin = "{0, 8}"; +origin = "{0, 7}"; type = Anchor; options = 4; }, { horizontal = 1; -origin = "{0, 11}"; -target = "{0, 3}"; -type = TTStem; +origin = "{0, 17}"; +type = Anchor; options = 4; } ); @@ -260943,57 +260900,107 @@ paths = ( { closed = 1; nodes = ( -"1420 152 LINE", -"804 768 LINE", -"804 784 LINE", -"4092 784 LINE", -"4092 768 LINE", -"3476 152 LINE", -"3628 0 LINE", -"4524 896 LINE", -"3628 1792 LINE", -"3476 1640 LINE", -"4092 1024 LINE", -"4092 1008 LINE", -"804 1008 LINE", -"804 1024 LINE", -"1420 1640 LINE", -"1268 1792 LINE", -"372 896 LINE", -"1268 0 LINE" +"2184 236 LINE", +"2028 384 LINE", +"1416 -228 LINE", +"1400 -228 LINE", +"1400 1796 LINE", +"1416 1796 LINE", +"2032 1184 LINE", +"2184 1332 LINE", +"1288 2228 LINE", +"392 1332 LINE", +"548 1184 LINE", +"1160 1796 LINE", +"1176 1796 LINE", +"1176 -228 LINE", +"1160 -228 LINE", +"544 384 LINE", +"392 236 LINE", +"1288 -660 LINE" ); } ); -width = 4912; +width = 2576; +}, +{ +hints = ( +{ +horizontal = 1; +place = "{8, 21}"; +target = up; +type = BottomGhost; +}, +{ +horizontal = 1; +origin = "{0, 8}"; +target = down; +type = TopGhost; +}, +{ +horizontal = 1; +origin = "{0, 14}"; +type = Anchor; +options = 4; +}, +{ +horizontal = 1; +origin = "{0, 9}"; +type = Anchor; +options = 4; +}, +{ +horizontal = 1; +place = "{1576, 21}"; +target = up; +type = BottomGhost; +}, +{ +horizontal = 1; +origin = "{0, 17}"; +target = up; +type = BottomGhost; +}, +{ +horizontal = 1; +origin = "{0, 5}"; +type = Anchor; +options = 4; }, { +horizontal = 1; +origin = "{0, 0}"; +type = Anchor; +options = 4; +} +); layerId = "5C20EF92-B63D-42A8-8878-93C2863E0093"; paths = ( { closed = 1; nodes = ( -"1456 196 LINE", -"1024 588 LINE", -"1024 604 LINE", -"3620 604 LINE", -"3620 588 LINE", -"3188 196 LINE", -"3464 -72 LINE", -"4388 804 LINE", -"3464 1684 LINE", -"3188 1416 LINE", -"3620 1024 LINE", -"3620 1008 LINE", -"1024 1008 LINE", -"1024 1024 LINE", -"1456 1416 LINE", -"1180 1684 LINE", -"256 808 LINE", -"1180 -72 LINE" +"2332 392 LINE", +"2060 664 LINE", +"1628 272 LINE", +"1612 272 LINE", +"1612 1312 LINE", +"1628 1312 LINE", +"2060 920 LINE", +"2332 1192 LINE", +"1408 2072 LINE", +"484 1192 LINE", +"756 920 LINE", +"1188 1312 LINE", +"1204 1312 LINE", +"1204 272 LINE", +"1188 272 LINE", +"756 664 LINE", +"484 392 LINE", +"1408 -488 LINE" ); } ); -width = 4712; +width = 2816; }, { layerId = "D0EC06BF-13F9-4C88-A6F5-B8203AF6C77E"; @@ -261001,28 +261008,28 @@ paths = ( { closed = 1; nodes = ( -"1360 196 LINE", -"996 588 LINE", -"996 604 LINE", -"3592 604 LINE", -"3592 588 LINE", -"3092 196 LINE", -"3324 -72 LINE", -"4392 804 LINE", -"3616 1684 LINE", -"3296 1416 LINE", -"3664 1024 LINE", -"3660 1008 LINE", -"1064 1008 LINE", -"1068 1024 LINE", -"1564 1416 LINE", -"1332 1684 LINE", -"264 808 LINE", -"1040 -72 LINE" +"2272 392 LINE", +"2044 664 LINE", +"1548 272 LINE", +"1532 272 LINE", +"1704 1312 LINE", +"1720 1312 LINE", +"2088 920 LINE", +"2404 1192 LINE", +"1624 2072 LINE", +"556 1192 LINE", +"784 920 LINE", +"1280 1312 LINE", +"1296 1312 LINE", +"1124 272 LINE", +"1108 272 LINE", +"740 664 LINE", +"424 392 LINE", +"1200 -488 LINE" ); } ); -width = 4712; +width = 2820; }, { layerId = "11F4534A-B963-4AB5-820F-DAF9A20CD933"; @@ -261030,82 +261037,33 @@ paths = ( { closed = 1; nodes = ( -"1300 152 LINE", -"784 768 LINE", -"788 784 LINE", -"4076 784 LINE", -"4072 768 LINE", -"3356 152 LINE", -"3480 0 LINE", -"4524 896 LINE", -"3776 1792 LINE", -"3600 1640 LINE", -"4116 1024 LINE", -"4112 1008 LINE", -"824 1008 LINE", -"828 1024 LINE", -"1544 1640 LINE", -"1416 1792 LINE", -"372 896 LINE", -"1120 0 LINE" -); -} -); -width = 4912; -} -); -leftMetricsKey = leftArrow; -rightMetricsKey = rightArrow; -unicode = 27F7; -}, -{ -color = 4; -glyphname = leftRightLongArrow.case; -lastChange = "2018-09-27 18:27:45 +0000"; -layers = ( -{ -components = ( -{ -name = leftRightLongArrow; -transform = "{1, 0, 0, 1, 0, 128}"; -} -); -layerId = "C698F293-3EC0-4A5A-A3A0-0FDB1F5CF265"; -width = 4912; -}, -{ -components = ( -{ -name = leftRightLongArrow; -transform = "{1, 0, 0, 1, 24, 128}"; -} -); -layerId = "11F4534A-B963-4AB5-820F-DAF9A20CD933"; -width = 4916; -}, -{ -components = ( -{ -name = leftRightLongArrow; -transform = "{1, 0, 0, 1, 0, 216}"; -} +"2032 236 LINE", +"1900 384 LINE", +"1188 -228 LINE", +"1172 -228 LINE", +"1504 1796 LINE", +"1520 1796 LINE", +"2036 1184 LINE", +"2212 1332 LINE", +"1464 2228 LINE", +"420 1332 LINE", +"552 1184 LINE", +"1264 1796 LINE", +"1280 1796 LINE", +"948 -228 LINE", +"932 -228 LINE", +"416 384 LINE", +"240 236 LINE", +"988 -660 LINE" ); -layerId = "5C20EF92-B63D-42A8-8878-93C2863E0093"; -width = 4712; -}, -{ -components = ( -{ -name = leftRightLongArrow; -transform = "{1, 0, 0, 1, 36, 216}"; } ); -layerId = "D0EC06BF-13F9-4C88-A6F5-B8203AF6C77E"; -width = 4712; +width = 2580; } ); -leftMetricsKey = leftArrow; -rightMetricsKey = rightArrow; +leftMetricsKey = upArrow; +rightMetricsKey = upArrow; +unicode = 2195; }, { glyphname = dngb_check; -- cgit v1.2.3