280 Commits

Author SHA1 Message Date
Mitchell Hashimoto
f871630fa4 move Atlas to font 2022-11-28 10:35:46 -08:00
Mitchell Hashimoto
2796a0b964 font: when resizing a glyph, scale metrics by same ratio
We rely on the top/left offset to position the glyph properly. When we
were resizing, we weren't properly recalculating this offset which led
to some glyphs slightly (or majorly) off depending on how much they
resized.
2022-11-27 22:06:25 -08:00
Mitchell Hashimoto
0e55f4054e font: Shaper should replace 0 with 0x20 (space)
This didn't cause any real problems but it was a waste to trigger the
full font fallback system for codepoint 0.
2022-11-27 20:25:21 -08:00
Mitchell Hashimoto
bfc657395a curly underlines 2022-11-27 16:11:15 -08:00
Mitchell Hashimoto
fee681ac78 dashed underlines 2022-11-27 15:44:12 -08:00
Mitchell Hashimoto
6a32a30a16 font: render dotted underlines 2022-11-27 15:39:18 -08:00
Mitchell Hashimoto
278668c953 font: draw single and double underlines as sprites 2022-11-27 15:14:49 -08:00
Mitchell Hashimoto
84efd2ac5f font: use Canvas more, Canvas rect 2022-11-27 14:08:15 -08:00
Mitchell Hashimoto
28d386967d font: introduce Canvas, start converting Box 2022-11-27 13:54:43 -08:00
Mitchell Hashimoto
b34e336c5c rearrange box rendering to prepare for more sprite drawing 2022-11-27 10:17:12 -08:00
Mitchell Hashimoto
1062a39681 more glyphs 2022-11-25 15:28:47 -08:00
Mitchell Hashimoto
4cac375fcf more 2022-11-25 15:22:59 -08:00
Mitchell Hashimoto
d2727b1f5c more wedges 2022-11-25 15:18:36 -08:00
Mitchell Hashimoto
120dfb4043 more wedges 2022-11-25 15:12:34 -08:00
Mitchell Hashimoto
2c9b3e2f9b wedge triangles 2022-11-25 15:02:12 -08:00
Mitchell Hashimoto
7676c1c52b sextants 2022-11-25 14:41:17 -08:00
Mitchell Hashimoto
781571d7fb braille 2022-11-25 14:26:19 -08:00
Mitchell Hashimoto
43c89cb449 more glyphs 2022-11-25 14:10:31 -08:00
Mitchell Hashimoto
353172199a lot more boxes 2022-11-25 13:53:24 -08:00
Mitchell Hashimoto
f727b30ca6 more box fonts 2022-11-25 13:36:26 -08:00
Mitchell Hashimoto
8ad5dd1853 arc glyphs 2022-11-25 13:04:44 -08:00
Mitchell Hashimoto
72cd107e6a many more boxes 2022-11-25 10:57:38 -08:00
Mitchell Hashimoto
ef16ba263f 16 more 2022-11-25 10:40:33 -08:00
Mitchell Hashimoto
58292e5930 16 more 2022-11-24 12:01:15 -08:00
Mitchell Hashimoto
dcd16c4d95 16 more 2022-11-24 11:49:17 -08:00
Mitchell Hashimoto
d8561ba23a 16 more 2022-11-24 11:27:32 -08:00
Mitchell Hashimoto
8033a4a665 more 2022-11-24 11:16:22 -08:00
Mitchell Hashimoto
fc8f36a59e more glyphs for the glyph god 2022-11-24 10:21:28 -08:00
Mitchell Hashimoto
6e30238d36 more... more... 2022-11-24 10:21:27 -08:00
Mitchell Hashimoto
fbd5eba11a font: more box glyphs 2022-11-24 10:21:27 -08:00
Mitchell Hashimoto
cb8f55229b remove test code 2022-11-24 10:21:27 -08:00
Mitchell Hashimoto
6b2ca86ed8 fix offset for box glyphs 2022-11-24 10:21:27 -08:00
Mitchell Hashimoto
b9f97217ab font: shaper handles special fonts 2022-11-24 10:21:27 -08:00
Mitchell Hashimoto
9bc8d85d67 test rendering box glyphs, looks OKAY 2022-11-24 10:21:27 -08:00
Mitchell Hashimoto
4b8b5c5fc1 font: skeleton for box drawing and hook up to Group 2022-11-24 10:21:27 -08:00
Mitchell Hashimoto
ca97c63a65 font: detect box glyphs, start littering stuff to denote special fonts 2022-11-24 10:21:27 -08:00
Mitchell Hashimoto
08bca077b2 search for unknown codepoints in any available font face
If an unknown codepoint is rendered, we now will query the OS for ANY
font that can satisfy the codepoint (rather than rendering `?`).
2022-11-17 16:09:33 -08:00
Mitchell Hashimoto
da2942e083 font: specific codepoint lookup in internals 2022-11-17 15:49:14 -08:00
Mitchell Hashimoto
8f9da82754 Embed nerd fonts into our default font 2022-11-17 14:16:50 -08:00
Mitchell Hashimoto
371a7f79cb coretext: implement resizing 2022-11-15 20:29:58 -08:00
Mitchell Hashimoto
6218792710 font: GroupCache supports resize 2022-11-15 15:54:57 -08:00
Mitchell Hashimoto
24167d0d59 font: Group supports resize 2022-11-15 15:48:52 -08:00
Mitchell Hashimoto
d759c7fb25 font: freetype face supports resize 2022-11-15 15:37:16 -08:00
Mitchell Hashimoto
1c4552de3b font: freetype eliminate some duplicated work on init 2022-11-15 15:23:28 -08:00
Mitchell Hashimoto
d1718e6cbf use libc memcpy/memmove instead of std.mem if available 2022-11-08 19:01:45 -08:00
Mitchell Hashimoto
8dd9e7b325 Fix memory leak forgetting to clean up fontconfig 2022-10-24 15:55:57 -07:00
Mitchell Hashimoto
79f69885ca update to latest zig which renames @min/@max 2022-10-19 10:42:31 -07:00
Mitchell Hashimoto
fa0028f104 coretext: rasterize glyph with a padding to prevent artifacting 2022-10-18 14:57:44 -07:00
Mitchell Hashimoto
c00c8f52b5 coretext: render glyph on its own bounding box, calculate bearings 2022-10-18 14:49:23 -07:00
Mitchell Hashimoto
38e0c258d0 coretext: we do want to smooth and anti-alias glyphs 2022-10-18 12:56:02 -07:00