summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorRasmus Andersson <rasmus@notion.se>2018-08-29 17:52:47 +0300
committerRasmus Andersson <rasmus@notion.se>2018-08-29 17:52:47 +0300
commit4736bcc4f112602b047c3c7ae962203db89494a1 (patch)
tree815f2e8ce90aef6ce46440a3685886aa25aba39b /src
parent387915558e27373db24fdce29ef79ab393a31260 (diff)
downloadinter-4736bcc4f112602b047c3c7ae962203db89494a1.tar.xz
calt: extends .case substitution on the left side up to five glyphs. Closes #57
Diffstat (limited to 'src')
-rw-r--r--src/features.fea11
1 files changed, 10 insertions, 1 deletions
diff --git a/src/features.fea b/src/features.fea
index 17fda3d22..4a0db3bdf 100644
--- a/src/features.fea
+++ b/src/features.fea
@@ -715,9 +715,18 @@ feature calt {
@UC = [ @UC_ROMAN @UC_SET1 exclam question ];
@LC = [ @LC_ROMAN @LC_SET1 ];
+ # rules to support left-hand repetition of CASE{L}->{R} [issue #57]
+ # y' y y y Z -> x y y y Z
+ sub @CASE_L' @CASE_L @CASE_L @CASE_L @CASE_L @UC by @CASE_R;
+ # y' y y y Z -> x y y y Z
+ sub @CASE_L' @CASE_L @CASE_L @CASE_L @UC by @CASE_R;
+ # y' y y Z -> x y y Z
+ sub @CASE_L' @CASE_L @CASE_L @UC by @CASE_R;
+ # y' y Z -> x y Z
+ sub @CASE_L' @CASE_L @UC by @CASE_R;
+
sub [ @UC @CASE_R ] @CASE_L' by @CASE_R;
ignore sub @LC @CASE_NONDELIM_L' @UC;
- sub @CASE_L' [ @CASE_R @UC ] by @CASE_R;
sub @CASE_DELIM_L' @CASE_DELIM_L [ @CASE_R @UC ] by @CASE_DELIM_R;