fix: inspector font/formatting, FreeType-only backend on Apple
Resolves the parity items of docs/rewrite/notes/review-rv17-codex.md (final-Z20.md): - FreeType-only font backend is also available on Apple targets (discovery-free, embedded emoji fonts); ghostty_surface_quicklook_font returns null for every backend except plain CoreText like Zig. - The +list-fonts test keys off the font crate's selected backend (HAS_DISCOVERY), correct under feature unification and on Apple. - Inspector font: 32 px rasterized with FreeType (dear-imgui freetype) like Ghostty; a new `visual-parity.sh inspector` scenario shows 0.031% differing pixels (hover highlight) vs the original on Linux. Windows, Apple and wasm keep stb_truetype at 32 px (registered as a deliberate deviation). - Inspector DCS/APC descriptions follow Zig 0.15.2's formatting (checked by running Zig), incl. the terminal.Parser.Action prefix. - The ImGui demo window appears only in dev-profile builds, mirroring Zig's .Debug-only gate. Test Plan: - cargo test --workspace --no-fail-fast (3582 passed) - just check-macos (both, also with --features font-backend-freetype) - scripts/visual-parity.sh inspector
This commit is contained in:
1 parent
5ab6dba4a4
commit
132f7c27ba
18 files changed
+267
-83
No files matched your search
@@ -745,6 +745,10 @@ impl Surface {
|
||||
#[cfg(target_vendor = "apple")]
|
||||
#[must_use]
|
||||
pub fn quicklook_font(&self, scale: f32) -> Option<*mut std::ffi::c_void> {
|
||||
// For non-CoreText (and the other CoreText variants) we return none.
|
||||
if ghostty_font::options.backend != ghostty_font::Backend::Coretext {
|
||||
return None;
|
||||
}
|
||||
let grid = self.renderer.font_grid();
|
||||
let mut state = grid.write();
|
||||
let face = state
|
||||
@@ -752,12 +756,7 @@ impl Surface {
|
||||
.collection
|
||||
.get_face(ghostty_font::collection::Index::default())
|
||||
.ok()?;
|
||||
let font = face.quicklook_font(f64::from(scale));
|
||||
Some(
|
||||
objc2_core_foundation::CFRetained::into_raw(font)
|
||||
.as_ptr()
|
||||
.cast(),
|
||||
)
|
||||
ghostty_font::face::quicklook_font_raw(face, f64::from(scale))
|
||||
}
|
||||
|
||||
/// Current sizes.
|
||||
|
||||
Reference in new issue
Block a user