| Age | Commit message (Collapse) | Author | |
|---|---|---|---|
| 2025-08-21 | font: fix fontconfig leaks in unit tests | Mitchell Hashimoto | |
| 2025-05-26 | style: use decl literals | Qwerasd | |
| This commit changes a LOT of areas of the code to use decl literals instead of redundantly referring to the type. These changes were mostly driven by some regex searches and then manual adjustment on a case-by-case basis. I almost certainly missed quite a few places where decl literals could be used, but this is a good first step in converting things, and other instances can be addressed when they're discovered. I tested GLFW+Metal and building the framework on macOS and tested a GTK build on Linux, so I'm 99% sure I didn't introduce any syntax errors or other problems with this. (fingers crossed) | |||
| 2025-05-01 | fix(tests): correctly deinit font faces | Qwerasd | |
| 2025-05-01 | font/freetype: introduce mutexes to ensure thread safety of Library and Face | Qwerasd | |
| For details see comments and FreeType docs @ https://freetype.org/freetype2/docs/reference/ft2-library_setup.html#ft_library https://freetype.org/freetype2/docs/reference/ft2-face_creation.html#ft_face tl;dr: FT_New_Face and FT_Done_Face require the Library to be locked for thread safety, and FT_Load_Glyph and FT_Render_Glyph and friends need the face to be locked for thread safety, since we're sharing faces across threads. | |||
| 2024-11-05 | coretext: set variations on deferred face load | Mitchell Hashimoto | |
| This commit makes CoreText behave a lot like FreeType where we set the variation axes on the deferred face load. This fixes a bug where the `slnt` variation axis could not be set with CoreText with the Monaspace Argon Variable font. This was a bug found in Discord. Specifically, with the Monaspace Argon Variable font, the `slnt` variation axis could not be set with CoreText. I'm not sure _exactly_ what causes this but I suspect it has to do with the `slnt` axis being a negative value. I'm not sure if this is a bug with CoreText or not. What was happening was that with CoreText, we set the variation axes during discovery and expect them to be preserved in the resulting discovered faces. That seems to be true with the `wght` axis but not the `slnt` axis for whatever reason. | |||
| 2024-08-24 | font: support variations for coretext_freetype backend | Mitchell Hashimoto | |
| 2024-08-05 | chore: clean up typos | Ćukasz Niemier | |
| 2024-05-28 | font: remove deferred face todo, note why | Mitchell Hashimoto | |
| 2024-05-28 | font: handle presentation at glyph layer | Mitchell Hashimoto | |
| 2024-05-09 | fix point size type | Qwerasd | |
| 2024-05-01 | font: noop shaper | Mitchell Hashimoto | |
| 2024-04-30 | build: add -Dfont-backend=coretext_harfbuzz to force Harfbuzz w/ CT | Mitchell Hashimoto | |
| 2024-04-05 | font: remove unused struct | Mitchell Hashimoto | |
| 2023-11-17 | change unmodified `var`s to `const`s in anticipation of zig changes | Krzysztof Wolicki | |
| 2023-10-05 | font: fix failing macos tests | Mitchell Hashimoto | |
| 2023-10-04 | font: modify font compiles for freetype | Mitchell Hashimoto | |
| 2023-10-04 | font: wire up all the metric modifiers | Mitchell Hashimoto | |
| 2023-10-04 | font: rework font init to use a struct with modifiersets everywhere | Mitchell Hashimoto | |
| 2023-10-03 | font/fontconfig: adhere to correct function signature | Mitchell Hashimoto | |
| 2023-10-03 | font/coretext: score discovered fonts | Mitchell Hashimoto | |
| 2023-09-24 | font: CoreText discovery searches monospace only by default | Mitchell Hashimoto | |
| 2023-09-13 | font: fallback search must verify presentation | Mitchell Hashimoto | |
| 2023-08-28 | font: freetype supports font variation settings | Mitchell Hashimoto | |
| 2023-08-25 | font: fontconfig adaptations to new api | Mitchell Hashimoto | |
| 2023-08-25 | font: DeferredFace.name takes a buffer | Mitchell Hashimoto | |
| 2023-08-25 | font: DeferredFace can no longer represent a loaded face | Mitchell Hashimoto | |
| 2023-08-25 | font: move auto-italicization to Group | Mitchell Hashimoto | |
| 2023-07-03 | font: share skew matrix for core text | Mitchell Hashimoto | |
| 2023-07-03 | font: support skew transform for auto-italics | Mitchell Hashimoto | |
| 2023-06-30 | Update Zig (#164) | Mitchell Hashimoto | |
| * 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-25 | Update zig, mach, fmt | Mitchell Hashimoto | |
| 2023-05-31 | font: if CoreText needs to allocate, stack allocate and log | Mitchell Hashimoto | |
| 2022-12-07 | font: web canvas face has to render to check presentation for cp | Mitchell Hashimoto | |
| Since we have no way to detect our presentation (text/emoji), we need to actually render the glyph that is being requested to double-check that the glyph matches our supported presentation. We do this because the browser will render fallback fonts for a glyph if it can't find one in the named font. | |||
| 2022-12-06 | font: web canvas can render emoji | Mitchell Hashimoto | |
| 2022-12-05 | font: DeferredFace is wasm-compatible | Mitchell Hashimoto | |
| 2022-12-05 | font: begin making Group work with wasm | Mitchell Hashimoto | |
| 2022-12-01 | Start scaffolding web_canvas backend | Mitchell Hashimoto | |
| 2022-10-16 | Bring back freetype font bitmap conversion | Mitchell Hashimoto | |
| Monaco on Mac is mono | |||
| 2022-10-09 | font: deferred face can load core text backend | Mitchell Hashimoto | |
| 2022-10-08 | fix compilation | Mitchell Hashimoto | |
| 2022-10-08 | font: coretext face presentation | Mitchell Hashimoto | |
| 2022-10-08 | Make font face a compile time interface, stub for coretext | Mitchell Hashimoto | |
| 2022-10-02 | font: set "backend" enum vs booleans | Mitchell Hashimoto | |
| 2022-10-01 | Mac Font Discovery with CoreText (#17) | Mitchell Hashimoto | |
| 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-09-29 | search for fonts on startup | Mitchell Hashimoto | |
| 2022-09-24 | font: test loading deferred face for fontconfig | Mitchell Hashimoto | |
| 2022-09-23 | src/font: working on initiaizing deferred fonts from fc | Mitchell Hashimoto | |
| 2022-09-23 | store requested size alongside deferred font for loading | Mitchell Hashimoto | |
| 2022-09-23 | font group works with deferred faces exclusively | Mitchell Hashimoto | |
| 2022-09-23 | font discovery builds up a set of deferred faces | Mitchell Hashimoto | |
