Kovid Goyal
7fe5d7b58f
Replace isort with ruff
2023-01-09 16:47:42 +05:30
Kovid Goyal
061a0c8cb6
Reset global options object in the tests
2022-06-07 10:58:03 +05:30
Kovid Goyal
e12a9f3caf
Iosevka: Fix incorrect rendering when there is a combining char that does not group with its neighbors
...
Fixes #5153
2022-06-01 12:00:53 +05:30
Joseph Adams
da486153de
Add (possibly erroneous) test for new underline.
...
Also make more clear *what* exactly is rendered in the cell (i.e. a
strikethrough).
2022-01-18 12:52:59 +01:00
Joseph Adams
dd192ad0b7
Make old tests run
...
Previously, because of the new underline styles a couple of tests were
failing due to an unexpected number of sprites being returned from the
test-set-up. No new tests were added.
2022-01-18 12:28:24 +01:00
Kovid Goyal
6546c1da9b
run pyupgrade to upgrade the codebase to python3.6
2021-10-21 12:43:55 +05:30
Kovid Goyal
7f2ce045ab
Handle deprecation of importlib.resources APIs
2021-10-19 09:14:58 +05:30
Kovid Goyal
e01bb09e8c
Fix ligatures not working with the Iosevka font
...
Fixes #297
2021-06-04 12:18:17 +05:30
Kovid Goyal
33287115de
Support infinite length ligatures
2021-05-07 06:59:24 +05:30
Kovid Goyal
33de0f821f
Use uthash for the sprite position cache
2021-05-07 06:58:54 +05:30
Kovid Goyal
d28caf15b2
More glyph grouping fixes
2021-03-25 14:06:16 +05:30
Kovid Goyal
7c7933efa9
Fix #3416
2021-03-24 13:17:38 +05:30
Kovid Goyal
dbc1ade5a9
Fallback to importlib_resources on python 3.6
2021-02-19 18:02:15 +05:30
Kovid Goyal
c2a924a5ea
Run all tests on the full frozen build using the frozen launcher
...
Much more comprehensive test coverage at the cost of slightly increasing
the frozen build size.
2021-02-19 17:57:59 +05:30
Kovid Goyal
38992e25d7
Make the tests into a package
...
Useful to make the tests runnable in a frozen build.
2021-02-19 14:35:25 +05:30
Kovid Goyal
ba005e991a
Improve handling of infinite length ligatures in newer versions of FiraCode and CascadiaCode.
...
Now such ligatures are detected based on glyph naming convention.
This removes the gap in the ligatures at cell boundaries. However, at
least in Fira Code the infinite length ligature glyphs define a negative
left side bearing. This means they overlap when drawn consecutively,
leading to unsightly bumps at the joins.
Fixes #2695
2021-02-15 15:49:09 +05:30
Kovid Goyal
912c46fc57
Fix rendering of ligatures in the latest release of Cascadia code
...
For some reason it puts empty glyphs after the ligature glyph rather than before it.
There is a possibility this fix might break something else, we will see.
Fixes #3313
2021-02-15 11:57:57 +05:30
Kovid Goyal
8b2fb105d0
Fix #2735
2020-06-05 19:24:40 +05:30
Kovid Goyal
e97454c4a5
And ever more coalesce tests
2020-05-17 23:20:26 +05:30
Kovid Goyal
936dc74a27
Some more coalesce tests
2020-05-17 23:08:27 +05:30
Kovid Goyal
362e4266bb
Better coalescing of multiple symbol_maps
...
When specifying multiple symbol_map values in kitty.conf later ones
should override conflicting previous ones. Fixes #2662
2020-05-17 23:03:28 +05:30
Kovid Goyal
353db678a2
Add typing to box_drawing
2020-03-08 21:30:50 +05:30
Kovid Goyal
a649eb2a48
Coalesce neighboring symbol maps for better lookup performance
2019-11-12 20:05:48 +05:30
Luflosi
a792c94ccf
Use python3 shebang for all python scripts
...
Fixes #1624 .
Use python3 shebang for all python scripts as python still defaults to python2 on many systems.
2019-05-20 14:44:24 +02:00
Kovid Goyal
55f457caf4
macOS: Fix a character that cannot be rendered in any font causing font fallback for all subsequent characters that cannot be rendered in the main font to fail
...
Fixes #799
2018-09-04 14:21:36 +05:30
Kovid Goyal
0b7abf5690
Fix test that needed to be changed for new prerendered sprites
2018-07-19 14:21:09 +05:30
Kovid Goyal
ed44515318
All tests pass
2018-05-27 12:37:05 +05:30
Kovid Goyal
523aadaa3b
Refactor font group handling
...
Allow kitty to manage multiple groups of fonts with different cell
sizes. Will eventually allow kitty to have different font sizes/dpi per
OSWindow
2018-05-27 12:37:05 +05:30
Kovid Goyal
9c874f6685
Add support for the unicode emoji presentation variation selector
2018-02-06 09:52:55 +05:30
Kovid Goyal
240b1475c7
Fix regression that caused a few ligatures to not render correctly in rare circumstances
...
This was caused by cache corruption. is_special_glyph() and
is_empty_glyph() were treading over each other if called in
the right sequence. Fixes #303
2018-02-05 00:04:05 +05:30
Kovid Goyal
fc7ec1d3f7
Get rid of the option to use the system wcwidth
...
The system wcwidth() is often wrong. Not to mention that if you SSH into
a different machine, then you have a potentially different wcwidth. The
only sane way to deal with this is to use the unicode standard.
2018-02-04 21:02:30 +05:30
Kovid Goyal
1ae7ae4a1d
Fix consecutive separate ligatures being rendered in the same group
...
Rendering multiple ligatures in the smae group is bad for performance
and also causes incorrect rendering if the last ligature in the group
does not fit into the number of cells in the group.
2018-01-14 11:18:44 +05:30
Kovid Goyal
684a2e05f4
Move logical DPI calculation into glfw module
...
Now DPI state is maintained in only one central place.
2017-12-14 18:30:53 +05:30
Kovid Goyal
f2d00589d8
Update test to match new set of pre-rendered sprites
2017-12-04 12:41:50 +05:30
Kovid Goyal
eb8f4e0b3c
isosx -> is_macos
2017-12-01 12:16:13 +05:30
Kovid Goyal
26e6716f67
A test that reliably triggers the current failure
2017-11-13 15:30:30 +05:30
Kovid Goyal
9fccc38382
Better fix for not using the unsafe to break flag
...
Recognize special glyphs by comparing the index to the glyph for the
codepoint in the font. Cannot rely on glyph width as many glyphs have
zero width. For example the glyph for space characters.
2017-11-13 07:03:58 +05:30
Kovid Goyal
5c6be7f637
Insulate emoji test from system wcwidth
2017-11-12 23:43:21 +05:30
Kovid Goyal
088087df73
Use only cluster numbers and glyph sizes for grouping glyphs into cells
...
See https://github.com/behdad/harfbuzz/issues/615 for discussion
2017-11-12 23:43:21 +05:30
Kovid Goyal
5f4e003bed
Add a ligature shaping test
2017-11-11 20:55:53 +05:30
Kovid Goyal
53e9f35c1f
Add test for harfbuzz shaping
2017-11-11 18:47:34 +05:30
Kovid Goyal
e5d411b80d
Refactor font code
...
DRYer with global state stored in fewer places. And only round-tripping
through python for font selection, not face creation.
2017-11-11 18:14:22 +05:30
Kovid Goyal
b58e900806
Call prerender() in rendering tests setup
2017-11-10 08:30:35 +05:30
Kovid Goyal
758d315b8e
Better fix for test
2017-11-09 16:55:45 +05:30
Kovid Goyal
dc7d705c87
Runa simplified version of the font rendering test on macOS
2017-11-09 16:55:45 +05:30
Kovid Goyal
a8bca1c119
Skip the rendering test on macOS
...
macOS is underpowered junk.
2017-11-09 16:55:44 +05:30
Kovid Goyal
da8bf5adc7
Add rendering tests
2017-11-09 16:55:44 +05:30
Kovid Goyal
898e87aa7b
Dont allocate space for dummy fonts
...
Also move sprite_map test into fonts test module
2017-11-09 16:55:42 +05:30
Kovid Goyal
d153794c05
...
2017-11-09 16:55:42 +05:30
Kovid Goyal
81143e0c7e
Test to render all box drawing characters under the sanitizers
2017-11-09 16:55:42 +05:30