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

huozi

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

8 releases (4 breaking)

0.5.2 Mar 5, 2024
0.5.1 Mar 2, 2024
0.4.2 Feb 10, 2024
0.3.0 Dec 15, 2023
0.1.0 Apr 30, 2023

#406 in Game dev

Download history 8/week @ 2024-01-30 4/week @ 2024-02-06 4/week @ 2024-02-20 269/week @ 2024-02-27 198/week @ 2024-03-05 5/week @ 2024-03-12 12/week @ 2024-03-26 50/week @ 2024-04-02

62 downloads per month
Used in hai_core

Apache-2.0

94KB
1.5K 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 汉字排版需求
  • 支持更多文字效果
  • 通过 WebAssembly 支持 Web 平台

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

Any translation is welcome!

使用

见 examples 目录。

Dependencies

~15–49MB
~602K SLoC