diff --git a/docs/lab/index.html b/docs/lab/index.html
index 02e189633..8653db54a 100644
--- a/docs/lab/index.html
+++ b/docs/lab/index.html
@@ -117,7 +117,7 @@ e0 e1 e2 e3 e4 e5 e6 e7 e8 e9 eA eB eC eD eE eF ea eb ec ed ee ef
f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 fA fB fC fD fE fF fa fb fc fd fe ff
`)
-samples.set('Contextual alternates', `
+samples.set('Features test', `
(m) (M) (6) [m] [M] [6] {m} {M} {6}
m@n M@N
3×5 ×9 8× 3x4 x9 2x
@@ -126,11 +126,17 @@ m@n M@N
3=5 =5 8= 3≠5 ≠5 8≠
8*5 8 * 7 WALLPAPER*
B-O B–O B‒O B—O M•N
+-Selvece
+darest-Selvece
b-o b–o b‒o b—o m•n
-X→Y X←Y X↑Y X↓Y
-x→y x←y x↑y x↓y
-A → B ← C ↑ D ↓ E
-a → b ← c ↑ d ↓ e
+A→B←C⟵D⟶E
+a→b←c⟵d⟶e
+A → B ← C ⟵ D ⟶ E
+a → b ← c ⟵ d ⟶ e
+A -> B <- C
+A –> B <– C
+A —> B <— C
+x<-4 x < -4 x<-y
12:35
1.2 34.56.78.90.12
A*Y V*V W*W N*N X*X
@@ -289,7 +295,7 @@ da 27. es 38. an 87, in 68, 674
samples.set('Symbols', `
-→ ← ↑ ↓
+→ ⟶ ← ⟵ ↑ ↓ ↖ ↗ ↘ ↙
► Next (U+25BA)
◀ Previous (U+25C0)
▼ AMZ (U+25BC)
@@ -297,12 +303,12 @@ samples.set('Symbols', `
◆ King (U+25C6)
● Black Circle (U+25CF)
○ White Circle (U+25CB)
-⌘C (U+2318)
-\uE001 (U+E001)
-\uE000 (U+E000)
-\uE002 (U+E002)
-\uE003 (U+E003)
-\uE004 (U+E004)
+⌘ Place of interest (U+2318)
+\uE001 Registration (private-area, U+E001)
+\uE000 White Component (private-area, U+E000)
+\uE002 Black Component (private-area, U+E002)
+\uE003 Black Component instance (private-area, U+E003)
+\uE004 White Component instance (private-area, U+E004)
`)
samples.set('────── body ──────', null)
@@ -826,6 +832,7 @@ samples {
padding: 0 24px;
min-width:100px;
/*max-width:450px;*/
+ white-space: pre;
}
sample p {
white-space: pre;
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 ];
+ @LC = [ @LC_ROMAN @LC_SET1 ];
- sub @UC at' @UC by at.case;
- sub @UC asterisk' by asterisk.case;
+ sub @UC @CASE_L' by @CASE_R;
+ ignore sub @LC @CASE_NONDELIM_L' @UC;
+ sub @CASE_L' @UC by @CASE_R;
- 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;
+ # ->, <-
+ @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;