400 Commits

Author SHA1 Message Date
Mitchell Hashimoto
fd37e6a351 pkg/harfbuzz: yeet usingns 2024-08-16 17:00:58 -07:00
Mitchell Hashimoto
38a7a55300 pkg/fontconfig: yeet usingns 2024-08-16 16:58:16 -07:00
Mitchell Hashimoto
7a7f7da4ef pkg: yeet more usingns 2024-08-16 16:52:28 -07:00
Mitchell Hashimoto
318dc85c02 pkg/macos: yeet more usingns 2024-08-16 16:50:41 -07:00
Mitchell Hashimoto
17d844e7bf pkg/macos: more 2024-08-16 16:39:33 -07:00
Mitchell Hashimoto
a4c05e4a32 pkg/macos: graphics usingns yeet 2024-08-16 16:38:04 -07:00
Mitchell Hashimoto
097b978052 pkg/macos: animation yeet usingns 2024-08-16 16:35:07 -07:00
Mitchell Hashimoto
2f578a0b97 pkg/macos: foundation yeet usingns 2024-08-16 16:33:47 -07:00
Mitchell Hashimoto
480487b440 pkg/utf8proc: yeet usingns 2024-08-16 16:28:39 -07:00
Mitchell Hashimoto
59755363a3 pkg/pixman: remove usingns 2024-08-16 15:41:50 -07:00
Mitchell Hashimoto
ea73edaf7f pkg/harfbuzz: fix c.zig 2024-08-16 15:38:18 -07:00
Mitchell Hashimoto
0e2eb85989 pkg/glslang: yeet usingns 2024-08-16 15:36:31 -07:00
Mitchell Hashimoto
91431a90a1 pkg/freetype: remove usingns 2024-08-16 15:34:46 -07:00
Mitchell Hashimoto
c49b3b94b9 pkg/oni: yeet usingnamespace 2024-08-16 15:32:21 -07:00
Mitchell Hashimoto
f13ea7cace pkg/opengl: yeet usingns 2024-08-16 15:28:22 -07:00
Mitchell Hashimoto
14a42fcdb7 renderer/metal: load shaders from precompiled lib 2024-08-06 15:05:10 -07:00
Mitchell Hashimoto
ea551990eb renderer: disable window-padding-color=extend in certain scenarios
There are scenarios where this configuration looks bad. This commit
introduces some heuristics to prevent it. Here are the heuristics:

  * Extension is always enabled on alt screen.
  * Extension is disabled if a row contains any default bg color. The
    thinking is that in this scenario, using the default bg color looks
    just fine.
  * Extension is disabled if a row is marked as a prompt (using semantic
    prompt sequences). The thinking here is that prompts often contain
    perfect fit glyphs such as Powerline glyphs and those look bad when
    extended.

This introduces some CPU cost to the extension feature but it should be
minimal and respects dirty tracking. This is unfortunate but the feature
makes many terminal scenarios look much better and the performance cost
is minimal so I believe it is worth it.

Further heuristics are likely warranted but this should be a good
starting set.
2024-08-03 21:56:19 -07:00
Mitchell Hashimoto
4b5ad77b70 font: fontconfig always prefer monospace in pattern
Fixes #1984
2024-07-21 09:48:07 -07:00
Mitchell Hashimoto
1677e95f86 pkg/oniguruma: add additional header configs for build
Fixes #1887

There seems to be no issue adding these for our other platforms and it
appears to get builds on Chimera working.
2024-06-28 07:34:55 -04:00
Mitchell Hashimoto
98689413b4 disable AVX512 until Zig issue is resolved
https://github.com/ziglang/zig/issues/20414
2024-06-24 15:16:24 -07:00
Mitchell Hashimoto
2c2a830aa6 pkg/oniguruma: call new functions 2024-06-24 15:16:24 -07:00
Mitchell Hashimoto
a30e791c85 begin 0.13 update process -- very broken 2024-06-24 15:16:22 -07:00
Qwerasd
626ec2b5ac perf: introduce CFReleaseThread for running CoreFoundation releases
Some CoreFoundation objects, such as those produced by CoreText, have
expensive callbacks that run when they are released. By offloading the
CFRelease calls to another thread, we can avoid important threads being
blocked by unexpectedly expensive callbacks.

This commit also changes the way that the coretext shaper's run iterator
builds its string. Rather than using a CFMutableString, an ArrayList of
unichars is built which is passed to CFStringCreateWithCharactersNoCopy,
which is a lot more efficient since it avoids all the CoreFoundation
overhead.
2024-06-14 01:43:02 -04:00
Mitchell Hashimoto
a205e1e2c1 pkg/freetype: use c_ulong which isn't 64-bit on windows 2024-05-28 20:49:21 -07:00
Mitchell Hashimoto
adaeffb2b5 font/freetype: CBDT/CBLC tables imply color 2024-05-28 20:40:46 -07:00
Mitchell Hashimoto
4daa49fe27 font/freetype: update to new presentation APIs 2024-05-28 20:25:49 -07:00
Mitchell Hashimoto
8920f45fd8 font/freetype: API to load font table 2024-05-28 09:48:01 -07:00
Mitchell Hashimoto
1a7cde9e3e font/coretext: can read font tables 2024-05-27 20:23:10 -07:00
Mitchell Hashimoto
9f4d4d3c61 font: treated fonts with mixed color/non-color glyphs as text
Related to #1768 but doesn't fix it properly.

This is a temporary hack to avoid some issues with fonts that have mixed
color/non-color glyphs. If there are mixed presentations and the font
does not have emoji codepoints, then we assume it is text. This fixes
the typical scenarios.

This is not a long term solution. A proper long term solution is to
detect this scenario and on a per-glyph basis handle colorization (or
the lack thereof) correctly. It looks like to do this we'll have to
parse some font tables which is considerably more work so I wanted to do
this first.
2024-05-26 10:17:20 -07:00
Mitchell Hashimoto
a11c7ac785 update Dear Imgui to 1.90.6 2024-05-10 10:17:33 -07:00
Mitchell Hashimoto
3c0703eafb Revert "pkg/libxml2: udpate"
This reverts commit 7df335dde968ed4b80d8bda28f5f971bf8e52510.
2024-05-09 21:05:38 -07:00
Mitchell Hashimoto
12e059d275 pkg/zlib: update 2024-05-09 21:01:08 -07:00
Mitchell Hashimoto
7df335dde9 pkg/libxml2: udpate 2024-05-09 21:00:18 -07:00
Mitchell Hashimoto
240c60b62a pkg/libpng: update 2024-05-09 20:59:28 -07:00
Mitchell Hashimoto
650bf3788f pkg/glslang update 2024-05-09 20:57:28 -07:00
Mitchell Hashimoto
6672568473 pkg/harfbuzz: update 2024-05-09 20:55:02 -07:00
Mitchell Hashimoto
0c0b67c887 pkg/highway: update 2024-05-09 20:53:45 -07:00
Mitchell Hashimoto
8b7bca53c1 pkg/simdutf: update to 5.2.8 2024-05-09 20:50:54 -07:00
Qwerasd
fb913f0d9e Enable libpng in harfbuzz freetype dep
Without this, this replaces the dep on the main level, breaking color glyphs
2024-05-09 00:03:40 -04:00
Mitchell Hashimoto
1cb70d6e40 font/coretext: force LTR shaping 2024-05-08 10:11:57 -07:00
Mitchell Hashimoto
eeb7f7aa02 pkg/macos: add more text APIs 2024-05-08 09:49:16 -07:00
Mitchell Hashimoto
1189817dd8 pkg/macos: CTFontCreateForString 2024-05-05 21:38:19 -07:00
Mitchell Hashimoto
a29a0a1e5c pkg/macos: add more CoreText APIs 2024-05-05 21:01:44 -07:00
Mitchell Hashimoto
cc72e6de23 pkg/macos: display link callback slightly more typesafe 2024-05-04 14:49:49 -07:00
Mitchell Hashimoto
f76af48613 pkg/macos: add CVDisplayLinkSetCurrentCGDisplay 2024-05-04 14:49:49 -07:00
Gordon Cassie
abd782a7aa Fix typo. 2024-04-30 10:20:31 -07:00
Mitchell Hashimoto
595f24585e working on more zig breaking changes 2024-04-17 20:50:50 -07:00
Mitchell Hashimoto
026484fea6 fix more comptime var leaks 2024-04-17 20:50:50 -07:00
Mitchell Hashimoto
61d3da1bf6 font/coretext: respect quirks fonts for shaper 2024-04-04 12:02:43 -07:00
Mitchell Hashimoto
290496d7fe pkg/macos: add missing functions to macos/foundation 2024-04-04 11:25:34 -07:00