[package] name = "ghostty-font" version.workspace = true edition.workspace = true license.workspace = true [dependencies] tiny-skia = "0.12.0" png = "0.18.1" thiserror = "2.0.21" log = "0.4.34" ghostty-unicode.workspace = true bitflags = "2.13.2" ghostty-datastruct.workspace = true ghostty-config.workspace = true ghostty-terminal.workspace = true # The C font libraries are unavailable on wasm32, where the web_canvas # backend (browser Canvas API through JS imports) is used instead # (Zig: `font/backend.zig` `Backend.default`). [target.'cfg(not(target_arch = "wasm32"))'.dependencies] freetype-sys = "0.23.0" harfbuzz-sys = "0.8.0" yeslogic-fontconfig-sys = "6.0.1" [target.'cfg(target_arch = "wasm32")'.dependencies] ghostty-os.workspace = true # This crate wraps the freetype / harfbuzz / fontconfig C libraries through # their `-sys` crates; unsafe is denied by default and allowed on minimal, # `// SAFETY:`-commented items only. [lints.rust] unsafe_code = "deny" [lints.clippy] pedantic = { level = "warn", priority = -1 } todo = "warn" unwrap_used = "warn" cast_possible_truncation = "allow" cast_possible_wrap = "allow" cast_sign_loss = "allow" cast_precision_loss = "allow" cast_lossless = "allow" module_name_repetitions = "allow" too_many_lines = "allow" missing_errors_doc = "allow" missing_panics_doc = "allow" similar_names = "allow" struct_excessive_bools = "allow" fn_params_excessive_bools = "allow" match_same_arms = "allow" unreadable_literal = "allow" many_single_char_names = "allow" doc_markdown = "allow" must_use_candidate = "allow" return_self_not_must_use = "allow" used_underscore_binding = "allow" large_stack_arrays = "allow" inline_always = "allow" [dev-dependencies] ghostty-vt.workspace = true