788 Commits

Author SHA1 Message Date
Mitchell Hashimoto
f9e1127317 pkg/macos: add CoreText 2022-09-30 14:48:06 -07:00
Mitchell Hashimoto
b0d9933249 macos: add another string API to test it really works 2022-09-30 14:12:15 -07:00
Mitchell Hashimoto
ab4491a45d pkg/macos: start core foundation bindings 2022-09-30 14:03:37 -07:00
Mitchell Hashimoto
a3d9dad726 fix tests so they pass on mac 2022-09-30 13:24:54 -07:00
Mitchell Hashimoto
68786814f8 -Dtest-exe flag to build and install test executables
This will be used to copy tests to other platforms.
2022-09-30 13:05:23 -07:00
Mitchell Hashimoto
42210e18da update TODO 2022-09-29 15:07:32 -07:00
Mitchell Hashimoto
bf40e05a13 Font discovery on Linux via fontconfig
This adds the `--font-family` set of configuration flags to choose a font that is installed on the system rather than the embedded font in the binary. This uses fontconfig on Linux and only supports Linux at the moment.

Fontconfig is an optional dependency, building with `-Dfontconfig=false` will disable fontconfig and font discovery on all platforms. Fontconfig is only enabled by default on Linux.
2022-09-29 15:01:22 -07:00
Mitchell Hashimoto
53aab0a163 --font-family CLI config 2022-09-29 14:51:31 -07:00
Mitchell Hashimoto
7eac0afff2 cli args can parse null-terminated strings 2022-09-29 14:45:37 -07:00
Mitchell Hashimoto
5567564dd0 cli args fix stage1 miscompilation, add font families 2022-09-29 13:14:20 -07:00
Mitchell Hashimoto
7f45916b89 only discover if it is enabled 2022-09-29 11:58:00 -07:00
Mitchell Hashimoto
b6a4fff6d8 search for fonts on startup 2022-09-29 11:57:29 -07:00
Mitchell Hashimoto
fdbf40d3ee pkg/freetype: disable ubsan 2022-09-29 11:39:09 -07:00
Mitchell Hashimoto
30a5041a38 font Group has Lib, loads deferred faces when needed 2022-09-29 10:30:45 -07:00
Mitchell Hashimoto
f9b78ad2ba update flake 2022-09-25 14:04:09 -07:00
Mitchell Hashimoto
b11ed06fc2 font: test loading deferred face for fontconfig 2022-09-24 13:34:56 -07:00
Mitchell Hashimoto
88a4cb65f3 src/font: working on initiaizing deferred fonts from fc 2022-09-23 14:12:38 -07:00
Mitchell Hashimoto
bc9a0a36a8 store requested size alongside deferred font for loading 2022-09-23 14:12:38 -07:00
Mitchell Hashimoto
92251ed913 font group works with deferred faces exclusively 2022-09-23 14:12:38 -07:00
Mitchell Hashimoto
ac26c20e94 font discovery builds up a set of deferred faces 2022-09-23 14:12:38 -07:00
Mitchell Hashimoto
1c1da63c7e deferred face hasCodepoint 2022-09-23 14:12:38 -07:00
Mitchell Hashimoto
141182aa13 start adding fontconfig conditional compilation 2022-09-23 14:12:38 -07:00
Mitchell Hashimoto
51d70fc74e reproduced issue for upgrade comment 2022-09-23 13:37:20 -07:00
Mitchell Hashimoto
53f5739eca use meta.FnPtr to prep for stage2 2022-09-23 13:20:43 -07:00
Mitchell Hashimoto
3bd9ed5952 Fix invalid c types with fontconfig 2022-09-23 13:14:08 -07:00
Mitchell Hashimoto
1a2b684b0e RGB should not be packed, so that it has align = 1 2022-09-23 13:10:51 -07:00
Mitchell Hashimoto
a1d238e385 Fix a couple bugs in memory access (tests only) 2022-09-23 12:51:50 -07:00
Mitchell Hashimoto
72105fc6cd update to the latest stage2 compiler we can 2022-09-23 12:08:06 -07:00
Mitchell Hashimoto
57a82a26e7 pkg/fontconfig: const pointers 2022-09-17 09:19:00 -07:00
Mitchell Hashimoto
9750ac87fd pkg/fontconfig: pattern get 2022-09-17 09:04:40 -07:00
Mitchell Hashimoto
86f7d0e04e pkg/fontconfig: add some error handling 2022-09-17 08:58:42 -07:00
Mitchell Hashimoto
0d80225977 fontconfig: charset and langset apis 2022-09-16 15:12:02 -07:00
Mitchell Hashimoto
d69f8397f3 pkg/fontconfig: add weights/slants enum 2022-09-16 10:08:49 -07:00
Mitchell Hashimoto
5b215409c6 pkg/fontconfig: pattern.add 2022-09-16 09:55:45 -07:00
Mitchell Hashimoto
c68c487e14 Make selection part of the cache key for GPU cells
If the selection state changes for a given row, the row must be
invalidated.
2022-09-14 19:58:36 -07:00
Mitchell Hashimoto
77851b30a2 Revert "update to latest Zig nightly"
This reverts commit f3f2c3df268db905b6af6588e5e5008da0f48b60.
2022-09-14 19:39:10 -07:00
Mitchell Hashimoto
f3f2c3df26 update to latest Zig nightly 2022-09-14 19:34:19 -07:00
Mitchell Hashimoto
f5319f1ca6 Merge pull request #14 from mitchellh/fontconfig
Fontconfig (bindings only)
2022-09-14 14:33:00 -07:00
Mitchell Hashimoto
e4ea27ec37 fontconfig: more APIs 2022-09-14 14:30:18 -07:00
Mitchell Hashimoto
aca36ba79b fontconfig: fc-match 2022-09-14 14:26:42 -07:00
Mitchell Hashimoto
03ab1bedd4 fontconfig: fc-match 2022-09-14 12:49:43 -07:00
Mitchell Hashimoto
eb2ce495b3 fontconfig: font list 2022-09-14 10:14:09 -07:00
Mitchell Hashimoto
ce899dca11 fontconfig: font sets 2022-09-14 10:05:09 -07:00
Mitchell Hashimoto
382f569d65 fontconfig: object sets and patterns 2022-09-14 09:54:48 -07:00
Mitchell Hashimoto
b4d571e018 pkg/fontconfig: disable ubsan (reported upstream) 2022-09-14 09:23:02 -07:00
Mitchell Hashimoto
4ca71eef7c don't build fontconfig on mac 2022-09-13 14:46:33 -07:00
Mitchell Hashimoto
59191b05cd build fontconfig 2022-09-13 14:34:40 -07:00
Mitchell Hashimoto
d422d1ee78 pkg/fontconfig: starting, not working 2022-09-13 13:53:20 -07:00
Mitchell Hashimoto
d5ee4f8b21 Cell GPU cache must also key by screen type (primary/alternate) 2022-09-13 10:43:03 -07:00
Mitchell Hashimoto
7bde20a43d a cell is empty only if it also has no styling
Previously we only checked if it had no character. With text shaping,
this was causing runs of only empty backgrounds to not render.
2022-09-13 10:12:44 -07:00