803 Commits

Author SHA1 Message Date
Mitchell Hashimoto
8292e925fc pkg/macos: fix invalid constant 2022-10-01 21:03:51 -07:00
Mitchell Hashimoto
decbaafc6a pkg/macos: add mutable dictionaries, flesh out font descriptor 2022-10-01 20:50:51 -07:00
Mitchell Hashimoto
20f80c4fb7 Merge pull request #16 from mitchellh/macos
Mac Core Foundation and Core Text Bindings
2022-10-01 16:17:22 -07:00
Mitchell Hashimoto
c6dc2a3529 macos/text: create collection from descriptors 2022-10-01 16:10:50 -07:00
Mitchell Hashimoto
623e7f5916 macos/text: FontTraits 2022-10-01 16:00:52 -07:00
Mitchell Hashimoto
7eb466959a macos/foundation: number, dict get value 2022-10-01 15:49:05 -07:00
Mitchell Hashimoto
3eeef74315 pkg/macos: import headers instead of doing externs manually 2022-10-01 15:24:22 -07:00
Mitchell Hashimoto
57c1d8d329 macos/text: more APIs 2022-10-01 11:25:21 -07:00
Mitchell Hashimoto
88ae3be9ef pkg/macos: CFURL 2022-10-01 11:13:44 -07:00
Mitchell Hashimoto
49c9c21d52 macos: test listing fonts 2022-10-01 11:06:07 -07:00
Mitchell Hashimoto
cb02bab89e macos/text: font descriptors 2022-10-01 10:50:09 -07:00
Mitchell Hashimoto
92d564a246 macos/foundation: more string funcs 2022-10-01 10:32:54 -07:00
Mitchell Hashimoto
2440b0ec67 pkg/macos: dictionary create 2022-10-01 09:53:48 -07:00
Mitchell Hashimoto
d79c8fab39 macos/text: matching font descriptors 2022-09-30 15:13:29 -07:00
Mitchell Hashimoto
93f2a99b64 macos: CFArray 2022-09-30 15:10:11 -07:00
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