15128 Commits

Author SHA1 Message Date
Kovid Goyal
0c5a053c9c ... 2025-02-03 11:18:18 +05:30
Kovid Goyal
20821f4beb macOS: Fix fallback font rendering for bold/italic text not working for some symbols that are present in the Menlo regular face but not the bold/italic faces
Fixes #8282
2025-02-03 11:06:42 +05:30
Kovid Goyal
02a88b2803 Use 64 byte aligned memory for cairo surface buffer 2025-02-03 11:06:42 +05:30
Kovid Goyal
4e06e0a8fc ... 2025-02-03 11:06:42 +05:30
Kovid Goyal
70152180f8 Update changelog 2025-02-03 11:06:42 +05:30
Kovid Goyal
59c4d05335 ... 2025-02-03 11:06:42 +05:30
Kovid Goyal
a0b6c49c94 DRYer 2025-02-03 11:06:42 +05:30
Kovid Goyal
b5cc4b8f4e Set variation settings for cairo fonts 2025-02-03 11:06:42 +05:30
Kovid Goyal
bab14e8612 Set the palette index cairo font option 2025-02-03 11:06:42 +05:30
Kovid Goyal
3d06cb8709 Set cairo hinting options 2025-02-03 11:06:41 +05:30
Kovid Goyal
f145403fce Render all emoji not just colrv1 with cairo
Less code duplication and we get upscaling of bitmaps for free needed
when rendering large sized text for multicells.
2025-02-03 11:06:41 +05:30
Kovid Goyal
5adc81e146 Skip colrv1 rendering on macOS 2025-02-03 11:06:41 +05:30
Kovid Goyal
a9677f655a Fix baseline alignment when redering with cairo 2025-02-03 11:06:41 +05:30
Kovid Goyal
44eec08b24 Fix buffer not being cleared before re-use 2025-02-03 11:06:41 +05:30
Kovid Goyal
d068a0a6de Add basic colrv1 rendering test 2025-02-03 11:06:41 +05:30
Kovid Goyal
ea54cbf193 Fix cairo not releasing static resources at program shutdown 2025-02-03 11:06:41 +05:30
Kovid Goyal
9d9bfc6f26 Forgot to unpremultiply alpha for cairo 2025-02-03 11:06:41 +05:30
Kovid Goyal
1b6fa1ee03 Get rendering of COLRv1 glyphs basically working
TODO:
Set cairo font options: hinting, variations, antialias, etc.
Add a test for rendering with some small colrv1 sample font
Check that the destructor is dereferencing the freetype font as expected
2025-02-03 11:06:41 +05:30
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