Skip to content

(WIP) A simple typography engine for CJK languages, especially designed for game rich-text.

License

Notifications You must be signed in to change notification settings

Icemic/huozi-rs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

189 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

huóRust

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

(功能尚在开发中)[View English Version]

docs.rs

总览

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

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

GUI 调试

运行 cargo run --example render --release,如下的 GUI 窗口:

huozi gui debugger

Roadmap

  • 字形生成和缓存
  • WGPU 渲染范例
  • 描边、阴影
  • 多种字体格式
  • 多字体、字体 Fallback
  • 颜色
  • 下划线、删除线
  • 着重号、波浪下划线
  • 输出为图片或纹理,提供顶点坐标和纹理坐标
  • W3C 汉字排版需求(标点悬挂、标点挤压)
  • 连字
  • 仿斜体、仿粗体
  • 支持 Windows、macOS、Linux、Android、iOS、Web (WebAssembly) 平台

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

Any translation is welcome!

使用

见 examples 目录。

About

(WIP) A simple typography engine for CJK languages, especially designed for game rich-text.

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages