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
Mitchell Hashimoto
552c97eea4
font/freetype: avoid overflows with u8 font size
2024-03-27 20:45:55 -07:00
Mitchell Hashimoto
461b16ce34
font sizes are limited to u8 (max size = 255 points)
...
Fixes #1618
Font sizes in configuration were always a u8, but the keybinding and
internal state was a u16 so it allowed for an ever-growing font size. At
a certain point, there is an integer overflow which causes it to wrap
around. This is all silly, 255 should be large enough for anyone[1]
[1]: Ready to be super wrong about this
2024-03-27 20:36:59 -07:00
Mitchell Hashimoto
cf885b8998
font/shaper: fix style for runs
2024-03-22 20:27:52 -07:00
Mitchell Hashimoto
9b4ab0e209
zig build test with renamed terminal package
2024-03-22 20:27:44 -07:00
Mitchell Hashimoto
05470bb36a
font/shaper: new API
2024-03-22 20:27:41 -07:00
Mitchell Hashimoto
efe037bb9f
font/shaper: test with bg only cells
2024-03-22 20:27:41 -07:00
Mitchell Hashimoto
34200a3e83
font/shaper: more tests passing
2024-03-22 20:27:41 -07:00
Mitchell Hashimoto
e3230cf1e6
font/shaper: start converting run to new terminal
2024-03-22 20:27:41 -07:00
Mitchell Hashimoto
796d1312ff
font/sprite: rect must be smaller than canvas dims
2024-02-24 13:19:49 -08:00
Mitchell Hashimoto
759c8cddb4
font/sprite: test for thick underline, assertion on x/y for rect
2024-02-24 09:30:04 -08:00
em-dash
0f19251aa6
fix crash in underline drawing math
2024-02-24 20:49:51 +11:00
Mitchell Hashimoto
61b964b958
font/freetype: enable bitmap loading for colored faces
2024-02-01 08:40:18 -08:00