扩展库 / stb_truetype
stb_truetype
读取字体指标,生成可由 Buffer 获取的灰度字形位图。
支持 XRT UTF-8 路径、内存字体和自动析构 Font/Bitmap。XLang 入口拒绝字体索引/码点整数回绕及路径内嵌 NUL。适用于应用随附的可信字体,不是恶意字体解析沙箱。当前 Windows/Linux 的 C/XLang 正例与独立 EXE 已通过;Linux C 边界还通过 ASan/UBSan。但编译器仍允许包外调用两个私有原生句柄构造器,发布级访问安全尚未签收。
API
| 函数或类型 | 用途 |
|---|---|
load / loadBytes | 从 UTF-8 路径或 Buffer 创建字体 |
Font | 字体指标、字形索引、步进、字偶距和位图渲染 |
Bitmap | 宽高、偏移、独立像素副本;自动释放 |
defaultFontPath | 可选的系统字体查找;生产程序应提供字体 |
xlang
import stb_truetype
stb_truetype.Font font = stb_truetype.load("assets/font.ttf")
stb_truetype.Bitmap glyph = font.bitmap(65, 24.0)
Buffer alpha = glyph.pixels()
C
包含 include/stb_truetype_native.h。字体与位图句柄分别用 xstbtt_font_release、xstbtt_bitmap_release 释放;像素指针仅借用。
双语范例随包附带小型测试字体,运行与验证不依赖系统预装字体;测试资源不进入编译器内置包。