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

活字

一个针对 CJK 语言的简单文字排印引擎,特别为游戏富文本设计。

10 个版本 (6 个重大变更)

0.7.0 2024 年 7 月 27 日
0.6.0 2024 年 7 月 7 日
0.5.2 2024 年 3 月 5 日
0.4.2 2024 年 2 月 10 日
0.1.0 2023 年 4 月 30 日

#116 in 图形 API

Download history 1/week @ 2024-05-22 1/week @ 2024-06-05 2/week @ 2024-06-19 6/week @ 2024-06-26 110/week @ 2024-07-03 15/week @ 2024-07-10 162/week @ 2024-07-24 40/week @ 2024-07-31 2/week @ 2024-08-07

每月 204 次下载
2 crates 中使用

Apache-2.0

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

路线图

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

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

欢迎任何翻译!

使用

见 examples 目录。

依赖项

~8–40MB
~628K SLoC