C-style compound assignment `>>=` `<<=` `||=` `|=` are not combined with equal sign by default. Old behavior is moved into `ss09` (closes #974)

pull/1148/head
Nikita Prokopov 2020-10-10 22:30:01 +02:00
rodzic df07894745
commit 89e0af072d
5 zmienionych plików z 51 dodań i 19 usunięć

Wyświetl plik

@ -7,8 +7,8 @@ All notable changes to this project will be documented in this file.
- Fixed height of `∑` U+2211 N-ARY SUMMATION #1083 - Fixed height of `∑` U+2211 N-ARY SUMMATION #1083
- Added U+2241..U+224B `≁ ≂ ≃ ≄ ≅ ≆ ≇ ≉ ≊ ≋` #1090 - Added U+2241..U+224B `≁ ≂ ≃ ≄ ≅ ≆ ≇ ≉ ≊ ≋` #1090
- Added new enclosed characters from Unicode 13 U+0229C `⊜`, U+1F10D `🄍`, U+1F10E `🄎`, U+1F10F `🄏`, U+1F16D `🅭`, U+1F16E `🅮`, U+1F16F `🅯`, U+1F1AD `🆭` #1070 - Added new enclosed characters from Unicode 13 U+0229C `⊜`, U+1F10D `🄍`, U+1F10E `🄎`, U+1F10F `🄏`, U+1F16D `🅭`, U+1F16E `🅮`, U+1F16F `🅯`, U+1F1AD `🆭` #1070
- Redrew U+27F0..U+27FF Supplemental Arrows-A to be strict monospace `⟲⟳⟴⟵⟶⟷⟸⟹⟺⟻⟼⟽⟾⟿` - Redrew U+27F0..U+27FF Supplemental Arrows-A to be strict monospace `⟲⟳⟴⟵⟶⟷⟸⟹⟺⟻⟼⟽⟾⟿` #1109 #1123
- Alternative `a` cv01 - Alternative `a` cv01 #949
- Alternative `g` cv02 #886 - Alternative `g` cv02 #886
- Alternative `i` cv03-cv06 - Alternative `i` cv03-cv06
- Alternative `l` cv07-cv10 #899 - Alternative `l` cv07-cv10 #899
@ -23,7 +23,9 @@ All notable changes to this project will be documented in this file.
- `=<` as less than or equal `cv21` #34 - `=<` as less than or equal `cv21` #34
- `=<` as less than or equal with horizontal bar `cv22` #34 - `=<` as less than or equal with horizontal bar `cv22` #34
- `>=` with a horizontal bar `cv23` - `>=` with a horizontal bar `cv23`
- Moved `.-` into `dlig` #1103 - Moved `.-` into `dlig` #860 #1103
- Returned `[]` as `dlig`
- C-style compound assignment `>>=` `<<=` `||=` `|=` are not combined with equal sign by default. Old behavior is moved into `ss09` #974
#### 5.2 (June 12, 2020) #### 5.2 (June 12, 2020)
@ -146,7 +148,7 @@ Removed 44 individual arrow ligatures, replaced with four universal, combinative
- Alternatives (stylistic sets): - Alternatives (stylistic sets):
- Lowercase `r` (ss01) [#601] - Lowercase `r` (ss01) [#601]
- Less than/greater than `<=` `>=` (ss02) [#263] [#617] - Less than/greater than `<=` `>=` (ss02) [#263] [#617]
- Ampersand `&` (ss03) [#617] - Ampersand `&` (ss03) [#371] [#617]
- Dollar sign `$` (ss04) [#617] - Dollar sign `$` (ss04) [#617]
- At sign `@` (ss05) [#617] [#748] [#817] - At sign `@` (ss05) [#617] [#748] [#817]
- Thin backslash (ss06) [#577 #720 #825] - Thin backslash (ss06) [#577 #720 #825]

File diff suppressed because one or more lines are too long

Wyświetl plik

@ -158,19 +158,25 @@
" ignore sub greater' equal [less greater bar colon exclam slash];\n") " ignore sub greater' equal [less greater bar colon exclam slash];\n")
;; #346 >>->> >>=>> ;; #346 >>->> >>=>>
;; #974 keep >>=
["greater" "greater"] ["greater" "greater"]
(str " ignore sub [hyphen equal] greater' greater;\n" (str " ignore sub [hyphen equal] greater' greater;\n"
" ignore sub greater' greater [hyphen equal];\n") " ignore sub greater' greater hyphen;\n"
" ignore sub greater' greater equal [equal less greater bar colon exclam slash];\n")
;; #346 <<-<< <<=<< ;; #346 <<-<< <<=<<
;; #974 keep <<=
["less" "less"] ["less" "less"]
(str " ignore sub [hyphen equal] less' less;\n" (str " ignore sub [hyphen equal] less' less;\n"
" ignore sub less' less [hyphen equal];\n") " ignore sub less' less hyphen;\n"
" ignore sub less' less equal [equal less greater bar colon exclam slash];\n")
;; #346 ||-|| ||=|| ;; #346 ||-|| ||=||
;; #974 keep ||=
["bar" "bar"] ["bar" "bar"]
(str " ignore sub [hyphen equal] bar' bar;\n" (str " ignore sub [hyphen equal] bar' bar;\n"
" ignore sub bar' bar [hyphen equal];\n") " ignore sub bar' bar hyphen;\n"
" ignore sub bar' bar equal [equal less greater bar colon exclam slash];\n")
;; #816 //= ;; #816 //=
["slash" "slash"] ["slash" "slash"]

Wyświetl plik

@ -66,7 +66,7 @@ lookup equal_arrows {
# single beginnings # single beginnings
sub less' equal by less_equal_start.seq; sub less' equal by less_equal_start.seq;
sub greater' equal by greater_equal_start.seq; sub greater' equal by greater_equal_start.seq;
sub bar' equal by bar_equal_start.seq; sub bar' equal [equal less greater bar colon exclam slash] by bar_equal_start.seq; # disable |=
sub slash' equal by slash_equal_start.seq; sub slash' equal by slash_equal_start.seq;
sub equal' [equal greater bar colon exclam] by equal_start.seq; sub equal' [equal greater bar colon exclam] by equal_start.seq;

19
features/ss09.fea 100644
Wyświetl plik

@ -0,0 +1,19 @@
lookup restore_greater_greater_equal {
sub greater_greater_equal_start.seq equal' by equal_end.seq;
sub greater_greater.liga' equal by greater_greater_equal_start.seq;
} restore_greater_greater_equal;
lookup restore_less_less_equal {
sub less_less_equal_start.seq equal' by equal_end.seq;
sub less_less.liga' equal by less_less_equal_start.seq;
} restore_less_less_equal;
lookup restore_bar_bar_equal {
sub bar_bar_equal_start.seq equal' by equal_end.seq;
sub bar_bar.liga' equal by bar_bar_equal_start.seq;
} restore_bar_bar_equal;
lookup restore_bar_equal {
sub bar_equal_start.seq equal' by equal_end.seq;
sub bar' equal by bar_equal_start.seq;
} restore_bar_equal;