various improves:

- add comma to escape class
- more ignore cases
- optimize  `>=` / `<=`
- add `=<=` / `=>=`
- add percent in cv01 #245
This commit is contained in:
subframe7536 2024-09-29 16:06:56 +08:00
parent a45e047424
commit 7a6bfe736d
10 changed files with 10756 additions and 9243 deletions

View file

@ -32,7 +32,7 @@ Base on `Jetbrains Mono` and **much "Opinioned"**
- for logger: `[TRACE]` / `[DEBUG]` / `[INFO]` / `[WARN]` / `[ERROR]` / `[FATAL]`
- Font features
- zero: dot style `0`
- cv01: Classic `@` / `$` / `&` / `Q` / `=>` / `->`
- cv01: Classic `@` / `$` / `%` / `&` / `Q` / `=>` / `->`
- cv02: Alternative `a` (with top alarm)
- cv03: Alternative `i` (without bottom left bar)
- cv04: Alternative `l` (with bottom left bar) and `1` (without bottom bar)
@ -41,7 +41,7 @@ Base on `Jetbrains Mono` and **much "Opinioned"**
- ss01: Non-cursive italic style `l i j k x`
- ss02: Disable ligautures on equals like `==` / `!=` / `<=`
- ss03: Ignore cases on all tags
- ss04: Disable ligatures on `__`, `#__`, `***`, `\n`
- ss04: Disable ligatures on `__`, `#__`, `\n`
## Build
@ -76,7 +76,7 @@ You can change build config in `config.json`
python build.py --release
```
## credit
## Credit
- [Jetbrains Mono](https://github.com/JetBrains/JetBrainsMono)
- [Roboto Mono](https://github.com/googlefonts/RobotoMono)
@ -85,6 +85,10 @@ python build.py --release
- [Commit Mono](https://github.com/eigilnikolajsen/commit-mono)
- [Code Sample](https://github.com/TheRenegadeCoder/sample-programs-website)
- [Nerd Font](https://github.com/ryanoasis/nerd-fonts)
- [Font Freeze](https://github.com/MuTsunTsai/fontfreeze/)
- [Font Viewer](https://tophix.com/font-tools/font-viewer)
- [Monolisa](https://www.monolisa.dev/) for landing page
- [Recursive](https://www.recursive.design/)
## License

Binary file not shown.

File diff suppressed because it is too large Load diff

Binary file not shown.

Binary file not shown.

File diff suppressed because it is too large Load diff

Binary file not shown.

View file

@ -31,7 +31,7 @@
@y = [Y y];
@z = [Z z];
@zero = [zero zero.zero];
@escape = [backslash slash @Digit b B c d D f k n p P r s S t u w W v x dollar period asterisk asciitilde question bar quotesingle quotedbl bracketleft bracketright parenleft parenright braceleft braceright grave];
@escape = [backslash slash @Digit b B c d D f k n p P r s S t u w W v x dollar period asterisk asciitilde question bar quotesingle quotedbl bracketleft bracketright parenleft parenright braceleft braceright grave comma];
@a_l = [a_l.liga a_l.liga.cv02 a_l.liga.cv04 a_l.liga.cv02.cv04 a_l.liga.ss01 a_l.liga.cv02.ss01];
#/< otclasses
#< classes
@ -466,25 +466,39 @@ feature calt {
# >=
lookup greater_equal.liga {
ignore sub greater greater' equal;
ignore sub greater' equal equal;
ignore sub greater' equal greater;
ignore sub greater' equal less;
ignore sub [greater equal] greater' equal;
ignore sub greater' equal [equal greater less];
sub SPC equal' by greater_equal.liga;
sub greater' equal by SPC;
} greater_equal.liga;
# <=
lookup less_equal.liga {
ignore sub less' equal less;
ignore sub less' equal bar;
ignore sub less less' equal;
ignore sub less' equal [equal less greater bar];
ignore sub [less equal] less' equal;
ignore sub parenleft question less' equal;
ignore sub less' equal equal;
sub SPC equal' by less_equal.liga;
sub less' equal by SPC;
} less_equal.liga;
# =<= <=<=<=
lookup equal_less_equal.liga {
ignore sub [equal less greater] equal' less equal;
ignore sub equal' less equal [equal less greater bar];
sub SPC SPC equal' by equal_less_equal.liga;
sub SPC less' equal by SPC;
sub equal' less equal by SPC;
} equal_less_equal.liga;
# =>= =>=>=>
lookup equal_greater_equal.liga {
ignore sub [equal greater less bar] equal' greater equal;
ignore sub equal' greater equal [equal greater less];
sub SPC SPC equal' by equal_greater_equal.liga;
sub SPC greater' equal by SPC;
sub equal' greater equal by SPC;
} equal_greater_equal.liga;
# <<=
lookup less_less_equal.liga {
ignore sub less' less equal equal;
@ -903,7 +917,7 @@ feature calt {
lookup less_equal_less.liga {
ignore sub less less' equal less;
ignore sub parenleft question less' equal less;
ignore sub less' equal less less;
ignore sub less' equal less [less equal];
sub SPC SPC less' by less_equal_less.liga;
sub SPC equal' less by SPC;
sub less' equal less by SPC;
@ -945,7 +959,7 @@ feature calt {
# >=>
lookup greater_equal_greater.liga {
ignore sub greater greater' equal greater;
ignore sub greater' equal greater greater;
ignore sub greater' equal greater [greater equal];
sub SPC SPC greater' by greater_equal_greater.liga;
sub SPC equal' greater by SPC;
sub greater' equal greater by SPC;
@ -1724,6 +1738,7 @@ feature cv01 {
sub asciitilde_at.liga by asciitilde_at.liga.cv01;
sub at by at.cv01;
sub dollar by dollar.cv01;
sub percent by percent.cv01;
sub equal_greater.liga by equal_greater.liga.cv01;
sub less_equal_equal.liga by less_equal_equal.liga.cv01;

View file

@ -32,7 +32,7 @@
@x = [X x];
@y = [Y y];
@z = [Z z];
@escape = [backslash slash @Digit b B c d D f k n p P r s S t u w W v x dollar period asterisk asciitilde question bar quotesingle quotedbl bracketleft bracketright parenleft parenright braceleft braceright grave];
@escape = [backslash slash @Digit b B c d D f k n p P r s S t u w W v x dollar period asterisk asciitilde question bar quotesingle quotedbl bracketleft bracketright parenleft parenright braceleft braceright grave comma];
#/< otclasses
#< classes
@ -466,25 +466,39 @@ feature calt {
# >=
lookup greater_equal.liga {
ignore sub greater greater' equal;
ignore sub greater' equal equal;
ignore sub greater' equal greater;
ignore sub greater' equal less;
ignore sub [greater equal] greater' equal;
ignore sub greater' equal [equal greater less];
sub SPC equal' by greater_equal.liga;
sub greater' equal by SPC;
} greater_equal.liga;
# <=
lookup less_equal.liga {
ignore sub less' equal less;
ignore sub less' equal bar;
ignore sub less less' equal;
ignore sub less' equal [equal less greater bar];
ignore sub [less equal] less' equal;
ignore sub parenleft question less' equal;
ignore sub less' equal equal;
sub SPC equal' by less_equal.liga;
sub less' equal by SPC;
} less_equal.liga;
# =<= <=<=<=
lookup equal_less_equal.liga {
ignore sub [equal less greater] equal' less equal;
ignore sub equal' less equal [equal less greater bar];
sub SPC SPC equal' by equal_less_equal.liga;
sub SPC less' equal by SPC;
sub equal' less equal by SPC;
} equal_less_equal.liga;
# =>= =>=>=>
lookup equal_greater_equal.liga {
ignore sub [equal greater less bar] equal' greater equal;
ignore sub equal' greater equal [equal greater less];
sub SPC SPC equal' by equal_greater_equal.liga;
sub SPC greater' equal by SPC;
sub equal' greater equal by SPC;
} equal_greater_equal.liga;
# <<=
lookup less_less_equal.liga {
ignore sub less' less equal equal;
@ -903,7 +917,7 @@ feature calt {
lookup less_equal_less.liga {
ignore sub less less' equal less;
ignore sub parenleft question less' equal less;
ignore sub less' equal less less;
ignore sub less' equal less [less equal];
sub SPC SPC less' by less_equal_less.liga;
sub SPC equal' less by SPC;
sub less' equal less by SPC;
@ -945,7 +959,7 @@ feature calt {
# >=>
lookup greater_equal_greater.liga {
ignore sub greater greater' equal greater;
ignore sub greater' equal greater greater;
ignore sub greater' equal greater [greater equal];
sub SPC SPC greater' by greater_equal_greater.liga;
sub SPC equal' greater by SPC;
sub greater' equal greater by SPC;
@ -1640,6 +1654,7 @@ feature cv01 {
sub asciitilde_at.liga by asciitilde_at.liga.cv01;
sub at by at.cv01;
sub dollar by dollar.cv01;
sub percent by percent.cv01;
sub equal_greater.liga by equal_greater.liga.cv01;
sub less_equal_equal.liga by less_equal_equal.liga.cv01;

View file

@ -310,12 +310,12 @@
},
"narrow": {
"type": "boolean",
"description": "[Experimental] Whether to narrow CN characters. THIS WILL BREAK THE 2:1 METRIC",
"description": "[Experimental] Whether to narrow CN characters. THIS WILL BREAK THE 2:1 METRIC\nOnly supported in VSCode currently",
"default": false
},
"use_hinted": {
"type": "boolean",
"description": "# whether to hint CN font (will increase about 33% size)",
"description": "whether to hint CN font (will increase about 33% size)",
"default": false
}
},