66 Commits

Author SHA1 Message Date
Mitchell Hashimoto
9d0729f17c font/coretext: ability to set variation axes 2023-08-28 07:25:09 -07:00
Mitchell Hashimoto
fb0f80f9ca macos: add necessary functions for variation axes querying 2023-08-28 07:25:09 -07:00
Mitchell Hashimoto
7659a2a733 build: fix linking bugs for macos test 2023-08-18 08:23:58 -07:00
Mitchell Hashimoto
3d23f26326 input, macos: initial work on keymapper and macos usage of it 2023-08-11 12:01:58 -07:00
Mitchell Hashimoto
d649b3f6d4 update zig 2023-08-02 14:39:19 -07:00
Mitchell Hashimoto
4bf8a0d149 font: support skew transform for auto-italics 2023-07-03 15:54:50 -07:00
Mitchell Hashimoto
0a718ec3eb pkg/macos: do not use bitCast through a function
workaround Zig issue: https://github.com/ziglang/zig/issues/16290
2023-07-01 13:38:10 -07:00
Mitchell Hashimoto
d39e3f5428 coretext: improved baseline calculation 2023-07-01 09:23:40 -07:00
Mitchell Hashimoto
a74e49833b coretext: colored glyph rendering 2023-07-01 09:23:40 -07:00
Mitchell Hashimoto
552a1b51d0 coretext: rasterization looking cleaner 2023-07-01 09:23:39 -07:00
Mitchell Hashimoto
45da58188c fix up for new zig 2023-07-01 09:23:39 -07:00
Mitchell Hashimoto
2a1cbb4f21 coretext: calculate units per em/point 2023-07-01 09:23:39 -07:00
Mitchell Hashimoto
314f9287b1 Update Zig (#164)
* update zig

* pkg/fontconfig: clean up @as

* pkg/freetype,harfbuzz: clean up @as

* pkg/imgui: clean up @as

* pkg/macos: clean up @as

* pkg/pixman,utf8proc: clean up @as

* clean up @as

* lots more @as cleanup

* undo flatpak changes

* clean up @as
2023-06-30 12:15:31 -07:00
Mitchell Hashimoto
56f8e39e5b Update zig, mach, fmt 2023-06-25 11:08:20 -07:00
Mitchell Hashimoto
b196e43ee4 fix some issues for future Zig update 2023-05-19 08:34:07 -07:00
Mitchell Hashimoto
be75109a1d new build system 2023-02-14 20:58:33 -08:00
Mitchell Hashimoto
da2942e083 font: specific codepoint lookup in internals 2022-11-17 15:49:14 -08:00
Mitchell Hashimoto
b91cd8e41c pkg/macos: character set in range 2022-11-17 15:15:09 -08:00
Mitchell Hashimoto
843dc8ae14 pkg/macos: support CFCharacterSet 2022-11-17 15:09:53 -08:00
Mitchell Hashimoto
9e3bbc1598 macos: send logs to unified logging 2022-10-31 15:16:29 -07:00
Mitchell Hashimoto
7608d7921f pkg/macos: OS Log support 2022-10-31 14:47:10 -07:00
Mitchell Hashimoto
6c84199b84 fix more stage2 build errors 2022-10-14 10:01:41 -07:00
Mitchell Hashimoto
e493a722a3 fix some issues that fail nightly stage2 compiler 2022-10-13 10:54:30 -07:00
Mitchell Hashimoto
a6c3ee3bc2 pkg/macos: fix zig C ABI issue 2022-10-10 09:18:57 -07:00
Mitchell Hashimoto
1e23779337 pkg/macos: more stuff 2022-10-10 09:03:03 -07:00
Mitchell Hashimoto
1cf390729e pkg/macos: bitmap info arg 2022-10-09 16:29:19 -07:00
Mitchell Hashimoto
1b7bc052d4 font: coretext calculate cell metrics 2022-10-09 10:57:19 -07:00
Mitchell Hashimoto
8b3959dceb macos: frames, attributed strings, stylized strings 2022-10-09 08:07:56 -07:00
Mitchell Hashimoto
1e2e4169a5 pkg/macos: starting frames 2022-10-08 17:52:01 -07:00
Mitchell Hashimoto
cc14344bf8 pkg/macos: path 2022-10-08 17:39:25 -07:00
Mitchell Hashimoto
061f7f6a30 pkg/macos: text framesetter 2022-10-08 17:29:50 -07:00
Mitchell Hashimoto
26280d4fe5 macos: AttributedString 2022-10-08 17:24:33 -07:00
Mitchell Hashimoto
a97f997f9a font: start working on core text cell height calcs 2022-10-08 17:03:09 -07:00
Mitchell Hashimoto
c9a335646e pkg/macos: some font metrics functions 2022-10-08 11:34:45 -07:00
Mitchell Hashimoto
26629bcb6e pkg/macos: create fonts from data 2022-10-08 10:21:33 -07:00
Mitchell Hashimoto
d0e269df6a macos: data 2022-10-08 10:20:48 -07:00
Mitchell Hashimoto
240c560720 macos: create descriptors from URL 2022-10-08 10:16:35 -07:00
Mitchell Hashimoto
175ff0f777 macos: url from path 2022-10-08 10:13:30 -07:00
Mitchell Hashimoto
723db8be2f font: coretext face presentation 2022-10-08 09:55:22 -07:00
Mitchell Hashimoto
90f3b9391c font: begin coretext Face 2022-10-08 09:43:54 -07:00
Mitchell Hashimoto
833fd0e49a pkg/macos: bounding rects for text 2022-10-07 21:23:34 -07:00
Mitchell Hashimoto
67bb68b39f pkg/macos: RGB color space 2022-10-07 21:07:11 -07:00
Mitchell Hashimoto
c48ddcecd7 pkg/macos: font draw glyphs 2022-10-07 21:04:30 -07:00
Mitchell Hashimoto
61955c5d8d pkg/macos: CGContext 2022-10-07 20:56:24 -07:00
Mitchell Hashimoto
ca7f3647ff pkg/macos: CGColorSpace 2022-10-07 17:59:52 -07:00
Mitchell Hashimoto
c565c561fd Use Apple Emoji font on Mac 2022-10-02 11:20:55 -07:00
Mitchell Hashimoto
12c9482d48 Mac Font Discovery with CoreText (#17)
This implements font discovery so the `--font-family` flag works for macOS. Fonts are looked up using the Core Text API so any installed font on the Mac system can be used. 

We still use FreeType for rendering, and CoreText doesn't _quite_ give us all the information we need to build the exact face in FreeType. So a TODO after this is to now implement glyph _rendering_ using Core Text and Core Graphics. Until then, a couple fonts don't quite work (i.e. Monaco, a big one!) but many do!
2022-10-01 22:21:30 -07:00
Mitchell Hashimoto
791739de9c pkg/macos: font initializes, get glyphs 2022-10-01 21:49:02 -07:00
Mitchell Hashimoto
0f34617eab pkg/macos: fix crash when no fonts are found 2022-10-01 21:20:15 -07:00
Mitchell Hashimoto
8292e925fc pkg/macos: fix invalid constant 2022-10-01 21:03:51 -07:00