Handwriting-sim-rs

是用 Rust 重写的”手写模拟器”。以前有个 Python 版本,这个新版本在性能上提升很明显,核心渲染速度能快 10 到 30 倍。界面用的是 Slint 框架,没有独立显卡的老机器也能跑,Windows、macOS、Linux 三个平台都支持。

Github地址

https://github.com/bamboostrip/Handwriting-sim-rs

主要功能

  • 文本输入支持多段落、空行,回车分段,基本的排版操作都有
  • 段落可以左对齐、居中、右对齐,或者首行缩进两字符
  • 能导入 docx 文件,自动识别原文的对齐方式和缩进设置
  • 字体支持 ttf、ttc、otf 格式;背景图支持 png、jpg、webp、bmp
  • 字间距、行距、字号都能调,而且每个参数都能单独加随机波动
  • 笔画扰动分三种:水平偏移、垂直偏移、旋转角度,强度自己控制
  • 页面边距上下左右独立可调
  • 预览时可以开边界提示线,看清实际渲染范围
  • 错字模拟:设置 0 到 30% 的错字率,写错的字会被单线、双线、斜线或叉号划掉,然后在旁边重写
  • 停止输入 300 毫秒后自动刷新预览,不卡界面
  • 多页自动分页,支持翻页浏览
  • 预设系统可以保存整套参数,也兼容旧版 Python 版本的预设格式
  • 导出支持 PNG 序列或 300 DPI 的位图 PDF

怎么用

本地跑的话,装好 Rust 工具链后直接:

1
2
3
cargo run           # 启动图形界面
cargo test # 跑测试
cargo build --release # 编译优化后的版本

编译出来的可执行文件是便携的,往哪放都行,只要同目录下有 presets、backgrounds、fonts 这几个文件夹就能正常工作。项目也配了 GitHub Actions,推 v 开头的标签会自动在三个平台打包发布。