#rich-text #sdf #typography #cjk #language #engine #distance

huozi

A simple typography engine for CJK languages, especially designed for game rich-text

11 releases (7 breaking)

0.8.0 Dec 19, 2024
0.7.0 Jul 27, 2024
0.6.0 Jul 7, 2024
0.5.2 Mar 5, 2024
0.1.0 Apr 30, 2023

#163 in Graphics APIs

Download history 23/week @ 2024-09-12 33/week @ 2024-09-19 10/week @ 2024-09-26 1/week @ 2024-10-03 1/week @ 2024-10-10 17/week @ 2024-12-05 17/week @ 2024-12-12 116/week @ 2024-12-19

150 downloads per month
Used in 2 crates

Apache-2.0

105KB
2K SLoC

huóRust

一个简单的中日韩文字排印引擎,为游戏富文本特别设计。A simple typography engine for CJK languages, especially designed for game rich-text.

(功能尚在开发中)

docs.rs

总览

活字(Rust)是 huozi.js 的新一代版本,不同于后者而使用 Rust 实现,其具有以下特点:

  • 使用 SDF(Signed Distance Field)技术渲染字形
  • 动态 SDF 字形生成和缓存,支持同时渲染最多 1024 个不同字形
  • 支持多种排印效果,包括描边、阴影等
  • 支持多种字体格式,包括 TTF、OTF
  • 支持多种文字效果,包括下划线、删除线、颜色等(开发中)
  • 输出为图片或者纹理,并提供顶点坐标和纹理坐标,方便与任意渲染引擎集成
  • 支持W3C 汉字排版需求,包括行内标点压缩、行内引号位置修正等(开发中)

Roadmap

  • 字形生成和缓存
  • WGPU 渲染范例
  • 描边、阴影
  • 多种字体格式
  • 颜色
  • 下划线、删除线
  • 输出为图片或纹理,提供顶点坐标和纹理坐标
  • W3C 汉字排版需求
  • 支持更多文字效果
  • 支持 Windows、macOS、Linux、Android、iOS、Web (WebAssembly) 平台

尚在早期开发阶段(咕),尤其是排版功能高度缺失,欢迎任何 Issue 和 Pull Request!

Any translation is welcome!

使用

见 examples 目录。

Dependencies

~8–42MB
~637K SLoC