395 Commits

Author SHA1 Message Date
Mitchell Hashimoto
2f61f7d6a3 font: fix hashing of descriptor strings 2024-04-06 19:49:14 -07:00
Mitchell Hashimoto
ebd31ad50f font: SharedGridSet DerivedConfig does not take font size 2024-04-06 10:45:44 -07:00
Mitchell Hashimoto
b9efd83798 font: SharedGridSet uses DerivedConfig 2024-04-06 10:37:26 -07:00
Mitchell Hashimoto
00f677fd51 font: SharedGridSet locks and is thread-safe 2024-04-06 10:08:52 -07:00
Mitchell Hashimoto
b77513de1a font/harfbuzz: work with new font structures 2024-04-05 21:48:53 -07:00
Mitchell Hashimoto
6aa659c4b5 renderer/metal: re-enable preedit rendering 2024-04-05 21:39:39 -07:00
Mitchell Hashimoto
de2b0f6857 font: Atlas updated to use monotonic ID 2024-04-05 21:10:10 -07:00
Mitchell Hashimoto
c45747bf1f font: implement many rendering, caching functions for SharedGrid 2024-04-05 20:50:35 -07:00
Mitchell Hashimoto
c88137d254 font/shaper: work on new grid APIs 2024-04-05 20:21:13 -07:00
Mitchell Hashimoto
90ea733cbd font: SharedGrid hasCodepoint 2024-04-05 19:07:45 -07:00
Mitchell Hashimoto
c99b27d364 font: SharedGrid.getIndex 2024-04-05 19:00:41 -07:00
Mitchell Hashimoto
329697779a renderer/metal: convert more 2024-04-05 18:51:26 -07:00
Mitchell Hashimoto
d6c048f1e3 renderer/metal: picking away at font group => grid changes 2024-04-05 15:35:16 -07:00
Mitchell Hashimoto
04e0cd29e5 core: begin converting to SharedGridSet, renderers still broken 2024-04-05 15:25:45 -07:00
Mitchell Hashimoto
4a29da3525 font: SharedGridSet clarify memory ownership 2024-04-05 15:15:30 -07:00
Mitchell Hashimoto
719c5d7c25 font: SharedGridSet starts 2024-04-05 15:03:22 -07:00
Mitchell Hashimoto
b9471f3791 font: SharedGrid setup test infra 2024-04-05 14:39:31 -07:00
Mitchell Hashimoto
9fb883666a font: start SharedGrid 2024-04-05 09:29:41 -07:00
Mitchell Hashimoto
88db80b7b0 font: CodepointResolver test box glyph 2024-04-05 09:29:41 -07:00
Mitchell Hashimoto
b2541d24f1 font: CodepointResolver style disabling test 2024-04-05 09:29:41 -07:00
Mitchell Hashimoto
4eccd42f6b font: CodepointResolver beginnings 2024-04-05 09:29:41 -07:00
Mitchell Hashimoto
bd479db09f font: Collection setSize 2024-04-05 09:29:41 -07:00
Mitchell Hashimoto
4d70859864 font: Collection autoItalicize 2024-04-05 09:29:41 -07:00
Mitchell Hashimoto
40b4183b1f font: Collection deinit 2024-04-05 09:29:41 -07:00
Mitchell Hashimoto
0d0688404e font: Collection.getIndex 2024-04-05 09:29:41 -07:00
Mitchell Hashimoto
833d54e441 font: Collection has load options 2024-04-05 09:29:41 -07:00
Mitchell Hashimoto
89b3e3ae4e font: a mess 2024-04-05 09:29:41 -07:00
Mitchell Hashimoto
72d59956d5 font: [broken] working on extracting Collection from Group 2024-04-05 09:29:40 -07:00
Mitchell Hashimoto
7b428367df font: improve log statements a bit 2024-04-05 09:29:40 -07:00
Mitchell Hashimoto
5de88fe3f8 core: deref the font group when not used 2024-04-05 09:29:40 -07:00
Mitchell Hashimoto
6d7053a1ad core: convert surface/app to use GroupCacheSet 2024-04-05 09:29:40 -07:00
Mitchell Hashimoto
9f34edfa83 font: GroupCacheSet can initialize a group 2024-04-05 09:29:40 -07:00
Mitchell Hashimoto
2a386daa19 font: GroupCacheSet.Key has metric modifiers 2024-04-05 09:29:40 -07:00
Mitchell Hashimoto
9d8da8fcc7 font: CodepointMap hashable, use for groupcacheset 2024-04-05 09:29:40 -07:00
Mitchell Hashimoto
bfcd5f380a font: introduce GroupCacheSet, use it for descriptors to start 2024-04-05 09:29:40 -07:00
Mitchell Hashimoto
7fef1aa294 font: descritor can hash using a hasher 2024-04-05 09:29:40 -07:00
Mitchell Hashimoto
5546469c37 font: remove unused struct 2024-04-05 09:29:39 -07:00
Mitchell Hashimoto
eb4d21fcbf font/coretext: handle two-byte utf16 followed by more chars 2024-04-04 21:31:07 -07:00
Mitchell Hashimoto
6ace9e9d19 font/coretext: unit tests pass on macOS 2024-04-04 14:46:46 -07:00
Mitchell Hashimoto
1b8bae5f0a Update src/font/shape.zig
Co-authored-by: Jon Parise <jon@indelible.org>
2024-04-04 13:25:27 -07:00
Mitchell Hashimoto
fd4d2313d0 build: do not build/link harfbuzz on macOS 2024-04-04 12:22:35 -07:00
Mitchell Hashimoto
e41e45e1ad font/coretext: face doesn't need harfbuzz font if we're not using it 2024-04-04 12:18:28 -07:00
Mitchell Hashimoto
c5bbbdb5ee font/coretext: better comment coretext shaper 2024-04-04 12:06:59 -07:00
Mitchell Hashimoto
61d3da1bf6 font/coretext: respect quirks fonts for shaper 2024-04-04 12:02:43 -07:00
Mitchell Hashimoto
b124378f5c font/coretext: remove todo for font features 2024-04-04 11:34:20 -07:00
Mitchell Hashimoto
f0b2e21548 font: enable the coretext shaper by default for CoreText faces 2024-04-04 11:33:55 -07:00
Mitchell Hashimoto
de11063679 font/coretext: shaper supports user-defined font features 2024-04-04 11:25:46 -07:00
Mitchell Hashimoto
f0f53bd8b1 font/shaper: fix CoreText shaper to compile with latest terminal changes 2024-04-03 10:14:17 -07:00
Mitchell Hashimoto
555f6e159f font/sprite: remove comptime arg for box drawing 2024-04-02 08:38:36 -07:00
Qwerasd
5abc63193e font/sprite: improve rendering of dashed lines
Previous implementation would draw dashes to the edge of the character
cell, which would result in double-wide dashes at the point where they
tiled. This fixes that, and also generally implements it in a cleaner
way than before.
2024-04-01 18:35:34 -04:00