diff options
author | Rasmus Andersson <rasmus@notion.se> | 2019-09-07 22:54:46 +0300 |
---|---|---|
committer | Rasmus Andersson <rasmus@notion.se> | 2019-09-07 22:54:53 +0300 |
commit | d8d4e0c26a82d5632b3833a27b372ff0a6d32d27 (patch) | |
tree | 4db08d985db5edf7e518f111fed1b2c19509a5b2 /src/features | |
parent | 8215408fe0ec88720af3de48de9aa7f8e2c440c0 (diff) | |
download | inter-d8d4e0c26a82d5632b3833a27b372ff0a6d32d27.tar.xz |
improvements to calt, primarily reducing substitutions
closes #193
Diffstat (limited to 'src/features')
-rw-r--r-- | src/features/calt.fea | 55 |
1 files changed, 36 insertions, 19 deletions
diff --git a/src/features/calt.fea b/src/features/calt.fea index 6181ce894..fc2d46170 100644 --- a/src/features/calt.fea +++ b/src/features/calt.fea @@ -158,32 +158,50 @@ sub [colon colon.case] @DASH parenright' by parenright.case; # ignore subs adjacent to lower case # # x[]X -ignore sub @LC @CASE_DELIM_L @CASE_DELIM_L @UC; -ignore sub @LC @CASE_DELIM_L @UC; -ignore sub @LC @CASE_DELIM_L @Whitespace @UC; -ignore sub @LC @CASE_DELIM_L @Whitespace @Whitespace @UC; +ignore sub @LC @CASE_DELIM_L @CASE_DELIM_L @UC; # x[]X +ignore sub @LC @CASE_DELIM_L @UC; # x[X +ignore sub @LC @CASE_DELIM_L @Whitespace @UC; # x[ X +ignore sub @LC @CASE_DELIM_L @Whitespace @Whitespace @UC; # x[ X +ignore sub @LC @CASE_DELIM_L @CASE_DELIM_L @Whitespace @UC; # x[] X +ignore sub @LC @CASE_DELIM_L @CASE_DELIM_L @Whitespace @Whitespace @UC; # x[] X # -# short runs of uc-lc, e.g "(Xx)", "[Zzz]" -ignore sub @CASE_DELIM_L @UC @LC @CASE_DELIM_L; -ignore sub @CASE_DELIM_L @UC @All @LC @CASE_DELIM_L; -ignore sub @CASE_DELIM_L @LC @UC @CASE_DELIM_L; -ignore sub @CASE_DELIM_L @LC @All @UC @CASE_DELIM_L; +# short runs of uc-lc, e.g "(Xx)", "[xxX]" +ignore sub @CASE_DELIM_L @UC @LC @CASE_DELIM_L; # (Xx) +ignore sub @CASE_DELIM_L @UC @All @LC @CASE_DELIM_L; # (X.x) +ignore sub @CASE_DELIM_L @LC @UC @CASE_DELIM_L; # (xX) +ignore sub @CASE_DELIM_L @LC @All @UC @CASE_DELIM_L; # (x.X) # # e.g. "x-" -# TODO: figure out how to ignore "x--A" -ignore sub @LC @CASE_L; +ignore sub @LC @CASE_L'; # x- +ignore sub @LC [@CASE_L @Whitespace] @CASE_L'; # x--, x - +ignore sub @LC [@CASE_L @Whitespace] [@CASE_L @Whitespace] @CASE_L'; # x---, x --, x -, x- - +ignore sub @LC + [@CASE_L @Whitespace] + [@CASE_L @Whitespace] + [@CASE_L @Whitespace] + @CASE_L'; # x----, x ---, x --, x -, x- --, x- -, x-- - +ignore sub @LC + [@CASE_L @Whitespace] + [@CASE_L @Whitespace] + [@CASE_L @Whitespace] + [@CASE_L @Whitespace] + @CASE_L'; # x----- ... # -# e.g. "-x", "--x", "---x", "----x", "-----x" -ignore sub @CASE_L @LC; -ignore sub @CASE_L @CASE_L @LC; -ignore sub @CASE_L @CASE_L @CASE_L @LC; -ignore sub @CASE_L @CASE_L @CASE_L @CASE_L @LC; -ignore sub @CASE_L @CASE_L @CASE_L @CASE_L @CASE_L @LC; +# e.g. "x- " +ignore sub @LC @CASE_L' @Whitespace; # "x- " +ignore sub @LC @CASE_L' @Whitespace @Whitespace; # "x- " +# +# e.g. "-x" +ignore sub @CASE_L @LC; # -x +ignore sub @CASE_L @CASE_L @LC; # --x +ignore sub @CASE_L @CASE_L @CASE_L @LC; # ---x +ignore sub @CASE_L @CASE_L @CASE_L @CASE_L @LC; # ----x +ignore sub @CASE_L @CASE_L @CASE_L @CASE_L @CASE_L @LC; # -----x + # # pairs with space, e.g. "( ) M" since we don't support subbing # all on the left side. ignore sub @CASE_DELIM_L @Whitespace @CASE_DELIM_L @Whitespace [ @UC @CASE_R ]; -ignore sub @CASE_DELIM_L @CASE_DELIM_L @Whitespace [ @UC @CASE_R ]; # # e.g. "A-", "A -", "A -" sub [ @UC @CASE_R ] @CASE_L' by @CASE_R; @@ -218,7 +236,6 @@ sub @CASE_L' @CASE_L @Whitespace @Whitespace [ @CASE_R @UC ] by @CASE_R; sub @CASE_L' @CASE_L @CASE_L @Whitespace @Whitespace [ @CASE_R @UC ] by @CASE_R; sub @CASE_L' @CASE_L @CASE_L @CASE_L @Whitespace @Whitespace [ @CASE_R @UC ] by @CASE_R; sub @CASE_L' @CASE_L @CASE_L @CASE_L @CASE_L @Whitespace @Whitespace [ @CASE_R @UC ] by @CASE_R; -sub @CASE_L' @Whitespace @Whitespace @Whitespace [ @UC @CASE_R ] by @CASE_R; # e.g. "- A" # X(_) @Punctuation = [ |