Adds cascading contextual alternates for case-sensitive delimiters
This commit is contained in:
parent
6091d15779
commit
cf49a3ba7e
2 changed files with 18 additions and 4 deletions
|
|
@ -141,6 +141,13 @@ x<-4 x < -4 x<-y
|
||||||
1.2 34.56.78.90.12
|
1.2 34.56.78.90.12
|
||||||
A*Y V*V W*W N*N X*X
|
A*Y V*V W*W N*N X*X
|
||||||
Λ*Λ Σ*Σ Δ*Δ Y*Y &*
|
Λ*Λ Σ*Σ Δ*Δ Y*Y &*
|
||||||
|
|
||||||
|
calt case should cascade:
|
||||||
|
U() U[] U{} — rightx should be rightx.case
|
||||||
|
()U []U {}U — special-cased as "delim' delim -> delim.case"
|
||||||
|
U--- — all hyphens should be hyphen.case
|
||||||
|
---U — only the hyphen next to U should be hyphen.case
|
||||||
|
U-→(){}[]*
|
||||||
`)
|
`)
|
||||||
|
|
||||||
// From http://justanotherfoundry.com/generator
|
// From http://justanotherfoundry.com/generator
|
||||||
|
|
@ -157,6 +164,8 @@ samples.set('Latin extended', `
|
||||||
ĀĂĄǍǞǠǢǺǼȀȂȦȺ ƁƂɃ ĆĈĊČƇȻ ĎĐƉƊDŽDždžDZDzdz ĒĔĖĘĚȄȆȨɆ ĜĞĠĢƓǤǦǴ ĤĦǶȞ ĨĪĬĮİǏȈȊƗƖ IJ ĴɈ ĶƘǨ ĹĻĽĿŁȽ LJLjNJNjljnj ŃŅŇŊƝǸ ŌŎŐŒƠǑǪǬǾȌȎȪȬȮȰ Ƥ ŔŖŘȐȒɌ ŚŜŞŠȘ ŢŤŦƬƮȚȾ ŨŪŬŮŰŲǓǕǗǙǛƯȔȖɄ Ŵ ŶŸƳȲɎ ŹŻŽƵȤ
|
ĀĂĄǍǞǠǢǺǼȀȂȦȺ ƁƂɃ ĆĈĊČƇȻ ĎĐƉƊDŽDždžDZDzdz ĒĔĖĘĚȄȆȨɆ ĜĞĠĢƓǤǦǴ ĤĦǶȞ ĨĪĬĮİǏȈȊƗƖ IJ ĴɈ ĶƘǨ ĹĻĽĿŁȽ LJLjNJNjljnj ŃŅŇŊƝǸ ŌŎŐŒƠǑǪǬǾȌȎȪȬȮȰ Ƥ ŔŖŘȐȒɌ ŚŜŞŠȘ ŢŤŦƬƮȚȾ ŨŪŬŮŰŲǓǕǗǙǛƯȔȖɄ Ŵ ŶŸƳȲɎ ŹŻŽƵȤ
|
||||||
|
|
||||||
āăąǎȧǟǡǣǻǽȁȃ ƀƂƄƅ ćĉċčƈȼ ďđƋƌȡ ȸȹ ēĕėęěȅȇȩɇ ƒ ĝğġģǥǧǵ ĥħƕȟ ĩīĭįıijǐȉȋ ĵǰȷɉ ķĸƙǩ ĺļľŀƚł ńņňʼnŋƞǹȵ ōŏőœơǒǫǭǿȍȏȫȭȯȱ ƥ ŕŗřȑȓɍ śŝşšƨșȿ ţťŧƫƭțȶ ũūŭůűųưǔǖǘǚǜȕȗ ŵ ŷȳɏ źżžƶȥɀ
|
āăąǎȧǟǡǣǻǽȁȃ ƀƂƄƅ ćĉċčƈȼ ďđƋƌȡ ȸȹ ēĕėęěȅȇȩɇ ƒ ĝğġģǥǧǵ ĥħƕȟ ĩīĭįıijǐȉȋ ĵǰȷɉ ķĸƙǩ ĺļľŀƚł ńņňʼnŋƞǹȵ ōŏőœơǒǫǭǿȍȏȫȭȯȱ ƥ ŕŗřȑȓɍ śŝşšƨșȿ ţťŧƫƭțȶ ũūŭůűųưǔǖǘǚǜȕȗ ŵ ŷȳɏ źżžƶȥɀ
|
||||||
|
|
||||||
|
|
||||||
`)
|
`)
|
||||||
|
|
||||||
samples.set('Combi base glyphs (top 200)', `
|
samples.set('Combi base glyphs (top 200)', `
|
||||||
|
|
|
||||||
|
|
@ -884,11 +884,13 @@ feature numr {
|
||||||
colon
|
colon
|
||||||
];
|
];
|
||||||
@CASE_L = [ @CASE_DELIM_L @CASE_NONDELIM_L ];
|
@CASE_L = [ @CASE_DELIM_L @CASE_NONDELIM_L ];
|
||||||
@CASE_R = [
|
|
||||||
|
@CASE_DELIM_R = [
|
||||||
braceleft.case braceright.case
|
braceleft.case braceright.case
|
||||||
bracketleft.case bracketright.case
|
bracketleft.case bracketright.case
|
||||||
parenleft.case parenright.case
|
parenleft.case parenright.case
|
||||||
|
];
|
||||||
|
@CASE_NONDELIM_R = [
|
||||||
asterisk.case
|
asterisk.case
|
||||||
at.case
|
at.case
|
||||||
multiply.case
|
multiply.case
|
||||||
|
|
@ -910,6 +912,7 @@ feature numr {
|
||||||
notequal.case
|
notequal.case
|
||||||
colon.case
|
colon.case
|
||||||
];
|
];
|
||||||
|
@CASE_R = [ @CASE_DELIM_R @CASE_NONDELIM_R ];
|
||||||
|
|
||||||
feature case {
|
feature case {
|
||||||
sub @CASE_L by @CASE_R;
|
sub @CASE_L by @CASE_R;
|
||||||
|
|
@ -919,9 +922,11 @@ feature calt {
|
||||||
@UC = [ @UC_ROMAN @UC_SET1 exclam question ];
|
@UC = [ @UC_ROMAN @UC_SET1 exclam question ];
|
||||||
@LC = [ @LC_ROMAN @LC_SET1 ];
|
@LC = [ @LC_ROMAN @LC_SET1 ];
|
||||||
|
|
||||||
sub @UC @CASE_L' by @CASE_R;
|
sub [ @UC @CASE_R ] @CASE_L' by @CASE_R;
|
||||||
ignore sub @LC @CASE_NONDELIM_L' @UC;
|
ignore sub @LC @CASE_NONDELIM_L' @UC;
|
||||||
sub @CASE_L' @UC by @CASE_R;
|
sub @CASE_L' [ @CASE_R @UC ] by @CASE_R;
|
||||||
|
|
||||||
|
sub @CASE_DELIM_L' @CASE_DELIM_L [ @CASE_R @UC ] by @CASE_DELIM_R;
|
||||||
|
|
||||||
# ->, <-
|
# ->, <-
|
||||||
@ARROW_DASH = [ hyphen endash emdash ];
|
@ARROW_DASH = [ hyphen endash emdash ];
|
||||||
|
|
|
||||||
Reference in a new issue