FreeType 中文纹理渲染 + 真实点击计数:标题「Ctron 中文窗口」为静态纹理,点击蓝色
圆角按钮后 count: N 纹理即时重渲——演示 GUI 域「中文一等」目标(M3 文本管线第一片)。
这是直绘路径(raylib 纹理自持坐标,不经 Clay 布局);声明式路径(CTML + Clay)见
examples/gui_counter,Clay TEXT → FreeType 的渲染集成随 M3 落地后两条路径合流。
sh run.sh # 构建 + headless 渲染冒烟(无 CJK 字体则 skip)
sh run.sh --run # 追加启动真实窗口,真实点击交互src/main.ct—— 入口:CTRON_GUI_HEADLESS环境变量切换 headless 冒烟 / 窗口循环; 字体探测(macOS Hiragino/PingFang/Songti,Linux Noto/WQY)在 shim 内- C shim 不在示例树内:run.sh 链接域库单一真源
std/gui/c_src/ft_shim.c(FreeType 两遍渲染 → RGBA → raylib 纹理注册表;含 headless 探针ft_last_w/ft_last_h/ft_probe_nonzero)
- headless 冒烟在无 CJK 字体的环境下 skip(rc=0)——逐字节严格断言归
tests/gui/s8_cjk - 无 IME 组词(preedit)——M0–M2 定义形态;composer 随 M3
- shaping(HarfBuzz)/混排退绕随 M3 后续切片
- 解析器/绑定与本示例无关(直绘路径);严格验证归
tests/gui阶梯(s8/s9) - C 链接域库单一真源
std/gui/c_src/(W6 换面已落):示例树零 C;bind 层把 extern 声明收编为std/gui模块随 P2-B,用户写 C 仅剩第三方接入逃生口场景