Kovid Goyal
744145f392
Add cairo and pixman as deps on Linux
...
Needed to render COLRv1 fonts. Which are needed because bitmap emoji
fonts dont render well at large font sizes such as can be used with
multicell chars.
2025-02-03 11:06:38 +05:30
Kovid Goyal
c599b7e02f
API to render a single codepoint using a Face
2025-02-03 10:56:52 +05:30
Kovid Goyal
689bdde224
Fix history buffer not clearing lines when rewrapping and the number of lines is larger than size of buffer
2025-02-03 10:56:52 +05:30
Kovid Goyal
de19019251
Use a single alloc for all segments of historybuf when resizing
2025-02-03 10:56:52 +05:30
Kovid Goyal
18ba5ce668
...
2025-02-03 10:56:52 +05:30
Kovid Goyal
11315b35ba
...
2025-02-03 10:56:52 +05:30
Kovid Goyal
82d7cc1802
spelling
2025-02-03 10:56:52 +05:30
Kovid Goyal
57d1ec8648
...
2025-02-03 10:56:51 +05:30
Kovid Goyal
c2503988c1
Add a note about querying for scale and width separately
2025-02-03 10:56:51 +05:30
Kovid Goyal
78c83e8218
Add a sentence specifying the fractional scale does not adjust number of cells
2025-02-03 10:56:51 +05:30
Kovid Goyal
dbb1703f15
Fix crash with large text
...
Need to find a better way to render the dotted decoration. Will do that
later, just fix the crash for now.
2025-02-03 10:56:51 +05:30
Kovid Goyal
b53c4941b5
add link to issue discussing text-sizing protocol
2025-02-03 10:56:51 +05:30
Kovid Goyal
dfe59a75b8
...
2025-02-03 10:56:51 +05:30
Kovid Goyal
a30a639cb9
Add docs for multicell + control codes
2025-02-03 10:56:51 +05:30
Kovid Goyal
8fd7d3100f
More multicell docs
2025-02-03 10:56:51 +05:30
Kovid Goyal
9418f399c3
...
2025-02-03 10:56:51 +05:30
Kovid Goyal
530e1ea1b3
Add section on detecting text sizing protocol
2025-02-03 10:56:51 +05:30
Kovid Goyal
3655db3124
...
2025-02-03 10:56:51 +05:30
Kovid Goyal
3501e76238
Document how we solve the character width problem
2025-02-03 10:56:51 +05:30
Kovid Goyal
da234244a4
More docs on text sizing
2025-02-03 10:56:51 +05:30
Kovid Goyal
f1452a80dd
More work on text sizing docs
2025-02-03 10:56:51 +05:30
Kovid Goyal
3b0b1df9c3
Use textFetch() for underline exclusion sampling
...
Fixes sampling from non-bottom row
2025-02-03 10:56:51 +05:30
Kovid Goyal
484155ca89
Start work on documenting text sizing protocol
2025-02-03 10:56:50 +05:30
Kovid Goyal
4e76a3d1c6
Ignore underline exclusion if max overlap is only half the thickness of the underline
...
This eliminates false positives for c and s with some fonts.
2025-02-03 10:56:50 +05:30
Kovid Goyal
8bf8f5dc46
Finish up testing for multicell URL detection
2025-02-03 10:56:50 +05:30
Kovid Goyal
64e3b641ce
Get basic multicell URL detection working
2025-02-03 10:56:50 +05:30
Kovid Goyal
c3db7c9464
...
2025-02-03 10:56:50 +05:30
Kovid Goyal
6a19918687
More work on multicell URL detection
2025-02-03 10:56:50 +05:30
Kovid Goyal
cf89dba5af
More work on multicell URL detection
2025-02-03 10:56:50 +05:30
Kovid Goyal
0bf32c6a59
More work on multicell URL detection
2025-02-03 10:56:50 +05:30
Kovid Goyal
f599144913
Fix multicell marking of hyperlinks
2025-02-03 10:56:50 +05:30
Kovid Goyal
756240f68d
Remove unused code
2025-02-03 10:56:50 +05:30
Kovid Goyal
2423c2166e
More tests for multicell selections
2025-02-03 10:56:50 +05:30
Kovid Goyal
da1626090a
Update codebase to Python 3.10 using pyupgrade
2025-02-03 10:56:50 +05:30
Kovid Goyal
922d08516b
...
2025-02-03 10:56:50 +05:30
Kovid Goyal
ac1aaab077
More work of selections as text
2025-02-03 10:56:50 +05:30
Kovid Goyal
8156a7520f
Start work on multicell support for selection_as_text
2025-02-03 10:56:49 +05:30
Kovid Goyal
ac32f91a2e
Implement rendering of selections that intersect multicell cells
2025-02-03 10:56:49 +05:30
Kovid Goyal
2a996418bf
...
2025-02-03 10:56:49 +05:30
Kovid Goyal
dc5037ff37
Add tests for multicell char split between history and line buffers
2025-02-03 10:56:49 +05:30
Kovid Goyal
561686c9d4
Refactor rewrap code, again
...
Now we do the rewrap of history and line buffers together. This is
faster and deals with multiline chars split between the two buffers
correctly. Also, considerably simpler code.
2025-02-03 10:56:49 +05:30
Kovid Goyal
97449dfddb
Cursor tracking tests
...
Also fix extra x movement for tracked cursors
2025-02-03 10:56:49 +05:30
Kovid Goyal
c4a32862d1
Implement restitch during rewrap
...
Faster, less code and gets us multicell handling during restitching for
free.
2025-02-03 10:56:49 +05:30
Kovid Goyal
b3c39f4921
Finish up the redraw multicell tests
2025-02-03 10:56:49 +05:30
Kovid Goyal
001cc8009e
More multicell rewrap tests
2025-02-03 10:56:49 +05:30
Kovid Goyal
decafb0d3f
More multicell wrap tests
2025-02-03 10:56:49 +05:30
Kovid Goyal
cf5f6e97e8
Add some basic tests for multicell rewrap
2025-02-03 10:56:49 +05:30
Kovid Goyal
2e4bab6f49
More work on rewrapping multicells
2025-02-03 10:56:49 +05:30
Kovid Goyal
aa8bb46c42
Start work on rewrapping multicells
2025-02-03 10:56:49 +05:30
Kovid Goyal
dd7630514e
Micro-optimization
2025-02-03 10:56:49 +05:30