From 7da511ebf7865cda95fed8744da808fc1d7648a8 Mon Sep 17 00:00:00 2001 From: Rasmus Andersson Date: Sat, 26 Aug 2017 16:17:21 -0700 Subject: Adds long arrows and dialognal arrows. Closes #16 --- src/Interface-Bold.ufo/glyphs/arrowNE_.glif | 38 +++++++++ src/Interface-Bold.ufo/glyphs/arrowNW_.glif | 50 +++++++++++ src/Interface-Bold.ufo/glyphs/arrowSE_.glif | 38 +++++++++ src/Interface-Bold.ufo/glyphs/arrowSW_.glif | 38 +++++++++ .../glyphs/arrowleftlong.case.glif | 35 ++++++++ src/Interface-Bold.ufo/glyphs/arrowleftlong.glif | 47 +++++++++++ .../glyphs/arrowrightlong.case.glif | 35 ++++++++ src/Interface-Bold.ufo/glyphs/arrowrightlong.glif | 35 ++++++++ src/Interface-Bold.ufo/glyphs/contents.plist | 16 ++++ src/Interface-Bold.ufo/glyphs/notequal.glif | 8 +- src/Interface-Bold.ufo/lib.plist | 20 +++++ src/Interface-Regular.ufo/glyphs/arrowNE_.glif | 19 +++++ src/Interface-Regular.ufo/glyphs/arrowNW_.glif | 31 +++++++ src/Interface-Regular.ufo/glyphs/arrowSE_.glif | 19 +++++ src/Interface-Regular.ufo/glyphs/arrowSW_.glif | 19 +++++ src/Interface-Regular.ufo/glyphs/arrowleft.glif | 6 +- .../glyphs/arrowleftlong.case.glif | 53 ++++++++++++ .../glyphs/arrowleftlong.glif | 66 +++++++++++++++ .../glyphs/arrowrightlong.case.glif | 53 ++++++++++++ .../glyphs/arrowrightlong.glif | 54 ++++++++++++ src/Interface-Regular.ufo/glyphs/arrowup.glif | 2 +- src/Interface-Regular.ufo/glyphs/contents.plist | 16 ++++ src/Interface-Regular.ufo/glyphs/notequal.glif | 8 +- src/Interface-Regular.ufo/lib.plist | 20 +++++ src/features.fea | 97 +++++++--------------- 25 files changed, 744 insertions(+), 79 deletions(-) create mode 100644 src/Interface-Bold.ufo/glyphs/arrowNE_.glif create mode 100644 src/Interface-Bold.ufo/glyphs/arrowNW_.glif create mode 100644 src/Interface-Bold.ufo/glyphs/arrowSE_.glif create mode 100644 src/Interface-Bold.ufo/glyphs/arrowSW_.glif create mode 100644 src/Interface-Bold.ufo/glyphs/arrowleftlong.case.glif create mode 100644 src/Interface-Bold.ufo/glyphs/arrowleftlong.glif create mode 100644 src/Interface-Bold.ufo/glyphs/arrowrightlong.case.glif create mode 100644 src/Interface-Bold.ufo/glyphs/arrowrightlong.glif create mode 100644 src/Interface-Regular.ufo/glyphs/arrowNE_.glif create mode 100644 src/Interface-Regular.ufo/glyphs/arrowNW_.glif create mode 100644 src/Interface-Regular.ufo/glyphs/arrowSE_.glif create mode 100644 src/Interface-Regular.ufo/glyphs/arrowSW_.glif create mode 100644 src/Interface-Regular.ufo/glyphs/arrowleftlong.case.glif create mode 100644 src/Interface-Regular.ufo/glyphs/arrowleftlong.glif create mode 100644 src/Interface-Regular.ufo/glyphs/arrowrightlong.case.glif create mode 100644 src/Interface-Regular.ufo/glyphs/arrowrightlong.glif (limited to 'src') diff --git a/src/Interface-Bold.ufo/glyphs/arrowNE_.glif b/src/Interface-Bold.ufo/glyphs/arrowNE_.glif new file mode 100644 index 000000000..3fdaa781e --- /dev/null +++ b/src/Interface-Bold.ufo/glyphs/arrowNE_.glif @@ -0,0 +1,38 @@ + + + + + + + + + + com.typemytype.robofont.guides + + + angle + 90.0 + isGlobal + + magnetic + 5 + name + + x + 1280 + y + 452 + + + com.typemytype.robofont.mark + + 0.8 + 0.94 + 0.95 + 1.0 + + interface.gridadjust.original + {'width': 950, 'leftMargin': 121, 'rightMargin': 97} + + + diff --git a/src/Interface-Bold.ufo/glyphs/arrowNW_.glif b/src/Interface-Bold.ufo/glyphs/arrowNW_.glif new file mode 100644 index 000000000..8a1e82fce --- /dev/null +++ b/src/Interface-Bold.ufo/glyphs/arrowNW_.glif @@ -0,0 +1,50 @@ + + + + + + + + + + + + + + + + + + + + + + com.typemytype.robofont.guides + + + angle + 90.0 + isGlobal + + magnetic + 5 + name + + x + 1280 + y + 452 + + + com.typemytype.robofont.mark + + 0.8 + 0.94 + 0.95 + 1.0 + + interface.gridadjust.original + {'width': 950, 'leftMargin': 121, 'rightMargin': 97} + + + diff --git a/src/Interface-Bold.ufo/glyphs/arrowSE_.glif b/src/Interface-Bold.ufo/glyphs/arrowSE_.glif new file mode 100644 index 000000000..42feaa920 --- /dev/null +++ b/src/Interface-Bold.ufo/glyphs/arrowSE_.glif @@ -0,0 +1,38 @@ + + + + + + + + + + com.typemytype.robofont.guides + + + angle + 90.0 + isGlobal + + magnetic + 5 + name + + x + 1280 + y + 452 + + + com.typemytype.robofont.mark + + 0.8 + 0.94 + 0.95 + 1.0 + + interface.gridadjust.original + {'width': 950, 'leftMargin': 121, 'rightMargin': 97} + + + diff --git a/src/Interface-Bold.ufo/glyphs/arrowSW_.glif b/src/Interface-Bold.ufo/glyphs/arrowSW_.glif new file mode 100644 index 000000000..a83a10641 --- /dev/null +++ b/src/Interface-Bold.ufo/glyphs/arrowSW_.glif @@ -0,0 +1,38 @@ + + + + + + + + + + com.typemytype.robofont.guides + + + angle + 90.0 + isGlobal + + magnetic + 5 + name + + x + 1280 + y + 452 + + + com.typemytype.robofont.mark + + 0.8 + 0.94 + 0.95 + 1.0 + + interface.gridadjust.original + {'width': 950, 'leftMargin': 121, 'rightMargin': 97} + + + diff --git a/src/Interface-Bold.ufo/glyphs/arrowleftlong.case.glif b/src/Interface-Bold.ufo/glyphs/arrowleftlong.case.glif new file mode 100644 index 000000000..f6a26b707 --- /dev/null +++ b/src/Interface-Bold.ufo/glyphs/arrowleftlong.case.glif @@ -0,0 +1,35 @@ + + + + + + + + + com.typemytype.robofont.guides + + + angle + 90.0 + isGlobal + + magnetic + 5 + name + + x + 904 + y + 832 + + + com.typemytype.robofont.mark + + 0.8 + 0.94 + 0.95 + 1.0 + + + + diff --git a/src/Interface-Bold.ufo/glyphs/arrowleftlong.glif b/src/Interface-Bold.ufo/glyphs/arrowleftlong.glif new file mode 100644 index 000000000..2777455ba --- /dev/null +++ b/src/Interface-Bold.ufo/glyphs/arrowleftlong.glif @@ -0,0 +1,47 @@ + + + + + + + + + + + + + + + + + + + + + com.typemytype.robofont.guides + + + angle + 90.0 + isGlobal + + magnetic + 5 + name + + x + 904 + y + 832 + + + com.typemytype.robofont.mark + + 0.8 + 0.94 + 0.95 + 1.0 + + + + diff --git a/src/Interface-Bold.ufo/glyphs/arrowrightlong.case.glif b/src/Interface-Bold.ufo/glyphs/arrowrightlong.case.glif new file mode 100644 index 000000000..7818e13e7 --- /dev/null +++ b/src/Interface-Bold.ufo/glyphs/arrowrightlong.case.glif @@ -0,0 +1,35 @@ + + + + + + + + + com.typemytype.robofont.guides + + + angle + 90.0 + isGlobal + + magnetic + 5 + name + + x + 904 + y + 832 + + + com.typemytype.robofont.mark + + 0.8 + 0.94 + 0.95 + 1.0 + + + + diff --git a/src/Interface-Bold.ufo/glyphs/arrowrightlong.glif b/src/Interface-Bold.ufo/glyphs/arrowrightlong.glif new file mode 100644 index 000000000..ff9d6a12a --- /dev/null +++ b/src/Interface-Bold.ufo/glyphs/arrowrightlong.glif @@ -0,0 +1,35 @@ + + + + + + + + + com.typemytype.robofont.guides + + + angle + 90.0 + isGlobal + + magnetic + 5 + name + + x + 904 + y + 832 + + + com.typemytype.robofont.mark + + 0.8 + 0.94 + 0.95 + 1.0 + + + + diff --git a/src/Interface-Bold.ufo/glyphs/contents.plist b/src/Interface-Bold.ufo/glyphs/contents.plist index bd903ed7c..ad04c3de0 100644 --- a/src/Interface-Bold.ufo/glyphs/contents.plist +++ b/src/Interface-Bold.ufo/glyphs/contents.plist @@ -396,6 +396,14 @@ approxequal.glif archdblsubnosp archdblsubnosp.glif + arrowNE + arrowNE_.glif + arrowNW + arrowNW_.glif + arrowSE + arrowSE_.glif + arrowSW + arrowSW_.glif arrowdown arrowdown.glif arrowheaddownmod @@ -410,10 +418,18 @@ arrowleft.glif arrowleft.case arrowleft.case.glif + arrowleftlong + arrowleftlong.glif + arrowleftlong.case + arrowleftlong.case.glif arrowright arrowright.glif arrowright.case arrowright.case.glif + arrowrightlong + arrowrightlong.glif + arrowrightlong.case + arrowrightlong.case.glif arrowup arrowup.glif asciicircum diff --git a/src/Interface-Bold.ufo/glyphs/notequal.glif b/src/Interface-Bold.ufo/glyphs/notequal.glif index 77f071017..29cd34acf 100644 --- a/src/Interface-Bold.ufo/glyphs/notequal.glif +++ b/src/Interface-Bold.ufo/glyphs/notequal.glif @@ -4,10 +4,10 @@ - - - - + + + + diff --git a/src/Interface-Bold.ufo/lib.plist b/src/Interface-Bold.ufo/lib.plist index 2a8b56379..dd3f0ade3 100644 --- a/src/Interface-Bold.ufo/lib.plist +++ b/src/Interface-Bold.ufo/lib.plist @@ -697,10 +697,18 @@ zerowidthspace arrowleft arrowleft.case + arrowleftlong + arrowleftlong.case arrowup arrowright arrowright.case + arrowrightlong + arrowrightlong.case arrowdown + arrowNW + arrowNE + arrowSW + arrowSE triagrt triagdn triagup @@ -2423,6 +2431,8 @@ uniE003 placeofinterestsign .notdef + circleblack + circlewhite type glyphList @@ -2917,10 +2927,18 @@ zerowidthspace arrowleft arrowleft.case + arrowleftlong + arrowleftlong.case arrowup arrowright arrowright.case + arrowrightlong + arrowrightlong.case arrowdown + arrowNW + arrowNE + arrowSW + arrowSE triagrt triagdn triagup @@ -4643,6 +4661,8 @@ uniE003 placeofinterestsign .notdef + circleblack + circlewhite diff --git a/src/Interface-Regular.ufo/glyphs/arrowNE_.glif b/src/Interface-Regular.ufo/glyphs/arrowNE_.glif new file mode 100644 index 000000000..66fe64300 --- /dev/null +++ b/src/Interface-Regular.ufo/glyphs/arrowNE_.glif @@ -0,0 +1,19 @@ + + + + + + + + + + com.typemytype.robofont.mark + + 0.8 + 0.94 + 0.95 + 1.0 + + + + diff --git a/src/Interface-Regular.ufo/glyphs/arrowNW_.glif b/src/Interface-Regular.ufo/glyphs/arrowNW_.glif new file mode 100644 index 000000000..c499124ba --- /dev/null +++ b/src/Interface-Regular.ufo/glyphs/arrowNW_.glif @@ -0,0 +1,31 @@ + + + + + + + + + + + + + + + + + + + + + + com.typemytype.robofont.mark + + 0.8 + 0.94 + 0.95 + 1.0 + + + + diff --git a/src/Interface-Regular.ufo/glyphs/arrowSE_.glif b/src/Interface-Regular.ufo/glyphs/arrowSE_.glif new file mode 100644 index 000000000..41dd0eedd --- /dev/null +++ b/src/Interface-Regular.ufo/glyphs/arrowSE_.glif @@ -0,0 +1,19 @@ + + + + + + + + + + com.typemytype.robofont.mark + + 0.8 + 0.94 + 0.95 + 1.0 + + + + diff --git a/src/Interface-Regular.ufo/glyphs/arrowSW_.glif b/src/Interface-Regular.ufo/glyphs/arrowSW_.glif new file mode 100644 index 000000000..c43d94699 --- /dev/null +++ b/src/Interface-Regular.ufo/glyphs/arrowSW_.glif @@ -0,0 +1,19 @@ + + + + + + + + + + com.typemytype.robofont.mark + + 0.8 + 0.94 + 0.95 + 1.0 + + + + diff --git a/src/Interface-Regular.ufo/glyphs/arrowleft.glif b/src/Interface-Regular.ufo/glyphs/arrowleft.glif index 0682f9733..7fd3a0cde 100644 --- a/src/Interface-Regular.ufo/glyphs/arrowleft.glif +++ b/src/Interface-Regular.ufo/glyphs/arrowleft.glif @@ -8,11 +8,11 @@ - + - + - + diff --git a/src/Interface-Regular.ufo/glyphs/arrowleftlong.case.glif b/src/Interface-Regular.ufo/glyphs/arrowleftlong.case.glif new file mode 100644 index 000000000..eaade0bb2 --- /dev/null +++ b/src/Interface-Regular.ufo/glyphs/arrowleftlong.case.glif @@ -0,0 +1,53 @@ + + + + + + + + + com.typemytype.robofont.guides + + + angle + 0 + isGlobal + + magnetic + 5 + name + + x + 272 + y + 896 + + + angle + 90.0 + isGlobal + + magnetic + 5 + name + + x + 668 + y + 1008 + + + com.typemytype.robofont.mark + + 0.8 + 0.94 + 0.95 + 1.0 + + interface.width-adjustments + + -16 + + + + diff --git a/src/Interface-Regular.ufo/glyphs/arrowleftlong.glif b/src/Interface-Regular.ufo/glyphs/arrowleftlong.glif new file mode 100644 index 000000000..55a3fd8ec --- /dev/null +++ b/src/Interface-Regular.ufo/glyphs/arrowleftlong.glif @@ -0,0 +1,66 @@ + + + + + + + + + + + + + + + + + + + + + + com.typemytype.robofont.guides + + + angle + 0 + isGlobal + + magnetic + 5 + name + + x + 272 + y + 896 + + + angle + 90.0 + isGlobal + + magnetic + 5 + name + + x + 668 + y + 1008 + + + com.typemytype.robofont.mark + + 0.8 + 0.94 + 0.95 + 1.0 + + interface.width-adjustments + + -16 + + + + diff --git a/src/Interface-Regular.ufo/glyphs/arrowrightlong.case.glif b/src/Interface-Regular.ufo/glyphs/arrowrightlong.case.glif new file mode 100644 index 000000000..e9b29702a --- /dev/null +++ b/src/Interface-Regular.ufo/glyphs/arrowrightlong.case.glif @@ -0,0 +1,53 @@ + + + + + + + + + com.typemytype.robofont.guides + + + angle + 0 + isGlobal + + magnetic + 5 + name + + x + 272 + y + 896 + + + angle + 90.0 + isGlobal + + magnetic + 5 + name + + x + 668 + y + 1008 + + + com.typemytype.robofont.mark + + 0.8 + 0.94 + 0.95 + 1.0 + + interface.width-adjustments + + -16 + + + + diff --git a/src/Interface-Regular.ufo/glyphs/arrowrightlong.glif b/src/Interface-Regular.ufo/glyphs/arrowrightlong.glif new file mode 100644 index 000000000..dd4b5937b --- /dev/null +++ b/src/Interface-Regular.ufo/glyphs/arrowrightlong.glif @@ -0,0 +1,54 @@ + + + + + + + + + + com.typemytype.robofont.guides + + + angle + 0 + isGlobal + + magnetic + 5 + name + + x + 272 + y + 896 + + + angle + 90.0 + isGlobal + + magnetic + 5 + name + + x + 668 + y + 1008 + + + com.typemytype.robofont.mark + + 0.8 + 0.94 + 0.95 + 1.0 + + interface.width-adjustments + + -16 + + + + diff --git a/src/Interface-Regular.ufo/glyphs/arrowup.glif b/src/Interface-Regular.ufo/glyphs/arrowup.glif index 0ebac6642..f74160d00 100644 --- a/src/Interface-Regular.ufo/glyphs/arrowup.glif +++ b/src/Interface-Regular.ufo/glyphs/arrowup.glif @@ -10,7 +10,7 @@ - + diff --git a/src/Interface-Regular.ufo/glyphs/contents.plist b/src/Interface-Regular.ufo/glyphs/contents.plist index c9199e868..9b9d1effb 100644 --- a/src/Interface-Regular.ufo/glyphs/contents.plist +++ b/src/Interface-Regular.ufo/glyphs/contents.plist @@ -396,6 +396,14 @@ approxequal.glif archdblsubnosp archdblsubnosp.glif + arrowNE + arrowNE_.glif + arrowNW + arrowNW_.glif + arrowSE + arrowSE_.glif + arrowSW + arrowSW_.glif arrowdown arrowdown.glif arrowheaddownmod @@ -410,10 +418,18 @@ arrowleft.glif arrowleft.case arrowleft.case.glif + arrowleftlong + arrowleftlong.glif + arrowleftlong.case + arrowleftlong.case.glif arrowright arrowright.glif arrowright.case arrowright.case.glif + arrowrightlong + arrowrightlong.glif + arrowrightlong.case + arrowrightlong.case.glif arrowup arrowup.glif asciicircum diff --git a/src/Interface-Regular.ufo/glyphs/notequal.glif b/src/Interface-Regular.ufo/glyphs/notequal.glif index 6f40b4429..7bb2e1eb3 100644 --- a/src/Interface-Regular.ufo/glyphs/notequal.glif +++ b/src/Interface-Regular.ufo/glyphs/notequal.glif @@ -4,10 +4,10 @@ - - - - + + + + diff --git a/src/Interface-Regular.ufo/lib.plist b/src/Interface-Regular.ufo/lib.plist index faab9ead3..bcafab714 100644 --- a/src/Interface-Regular.ufo/lib.plist +++ b/src/Interface-Regular.ufo/lib.plist @@ -781,10 +781,18 @@ zerowidthspace arrowleft arrowleft.case + arrowleftlong + arrowleftlong.case arrowup arrowright arrowright.case + arrowrightlong + arrowrightlong.case arrowdown + arrowNW + arrowNE + arrowSE + arrowSW triagrt triagdn triagup @@ -2506,6 +2514,8 @@ placeofinterestsign.specz.medium uniE001 .notdef + circleblack + circlewhite type glyphList @@ -2997,10 +3007,18 @@ zerowidthspace arrowleft arrowleft.case + arrowleftlong + arrowleftlong.case arrowup arrowright arrowright.case + arrowrightlong + arrowrightlong.case arrowdown + arrowNW + arrowNE + arrowSE + arrowSW triagrt triagdn triagup @@ -4722,6 +4740,8 @@ placeofinterestsign.specz.medium uniE001 .notdef + circleblack + circlewhite diff --git a/src/features.fea b/src/features.fea index ba34678bc..d94663c18 100644 --- a/src/features.fea +++ b/src/features.fea @@ -856,7 +856,12 @@ feature numr { sub @frac1 by @frac2; } numr; -@CASE_L = [ +@CASE_DELIM_L = [ + braceleft braceright + bracketleft bracketright + parenleft parenright +]; +@CASE_NONDELIM_L = [ asterisk at multiply @@ -872,14 +877,18 @@ feature numr { hyphen bullet arrowleft + arrowleftlong arrowright + arrowrightlong notequal - braceleft braceright - bracketleft bracketright - parenleft parenright colon ]; +@CASE_L = [ @CASE_DELIM_L @CASE_NONDELIM_L ]; @CASE_R = [ + braceleft.case braceright.case + bracketleft.case bracketright.case + parenleft.case parenright.case + asterisk.case at.case multiply.case @@ -895,11 +904,10 @@ feature numr { hyphen.case bullet.case arrowleft.case + arrowleftlong.case arrowright.case + arrowrightlong.case notequal.case - braceleft.case braceright.case - bracketleft.case bracketright.case - parenleft.case parenright.case colon.case ]; @@ -909,66 +917,21 @@ feature case { feature calt { @UC = [ @UC_ROMAN @UC_SET1 exclam question ]; - - sub @UC at' @UC by at.case; - sub @UC asterisk' by asterisk.case; - - sub multiply' @UC by multiply.case; - sub @UC multiply' by multiply.case; - - sub minus' @UC by minus.case; - sub @UC minus' by minus.case; - - sub plus' @UC by plus.case; - sub @UC plus' by plus.case; - - sub plusminus' @UC by plusminus.case; - sub @UC plusminus' by plusminus.case; - - sub divide' @UC by divide.case; - sub @UC divide' by divide.case; - - sub equal' @UC by equal.case; - sub @UC equal' by equal.case; - - sub notequal' @UC by notequal.case; - sub @UC notequal' by notequal.case; - - sub endash' @UC by endash.case; - sub @UC endash' by endash.case; - - sub figuredash' @UC by figuredash.case; - sub @UC figuredash' by figuredash.case; - - sub emdash' @UC by emdash.case; - sub @UC emdash' by emdash.case; - - sub hyphen' @UC by hyphen.case; - sub @UC hyphen' by hyphen.case; - - sub bullet' @UC by bullet.case; - sub @UC bullet' by bullet.case; - - sub arrowleft' @UC by arrowleft.case; - sub @UC arrowleft' by arrowleft.case; - - sub arrowright' @UC by arrowright.case; - sub @UC arrowright' by arrowright.case; - - sub notequal' @UC by notequal.case; - sub @UC notequal' by notequal.case; - - sub braceleft' @UC by braceleft.case; - sub @UC braceright' by braceright.case; - - sub bracketleft' @UC by bracketleft.case; - sub @UC bracketright' by bracketright.case; - - sub parenleft' @UC by parenleft.case; - sub @UC parenright' by parenright.case; - - sub colon' @UC by colon.case; - sub @UC colon' by colon.case; + @LC = [ @LC_ROMAN @LC_SET1 ]; + + sub @UC @CASE_L' by @CASE_R; + ignore sub @LC @CASE_NONDELIM_L' @UC; + sub @CASE_L' @UC by @CASE_R; + + # ->, <- + @ARROW_DASH = [ hyphen endash emdash ]; + @ARROW_DASH_CASE = [ hyphen.case endash.case emdash.case ]; + sub @ARROW_DASH' greater' by arrowrightlong; + sub @ARROW_DASH_CASE' greater' by arrowrightlong.case; + ignore sub less' @ARROW_DASH' @NUM; + ignore sub less' @ARROW_DASH_CASE' @NUM; + sub less' @ARROW_DASH' by arrowleftlong; + sub less' @ARROW_DASH_CASE' by arrowleftlong.case; sub period' @NUM by period.num; } calt; -- cgit v1.2.3