{"repo":"bamboostrip/Handwriting-simulator","free":true,"listed":false,"github":"https://github.com/bamboostrip/Handwriting-simulator","clone":"git clone https://github.com/bamboostrip/Handwriting-simulator.git","description":"把普通文本变成以假乱真的手写体图片：手写字体 + 信纸背景 + 字距/行距/笔画随机扰动。GUI（PyQt6）与 CLI 双入口，numpy/scipy 高性能渲染引擎。","language":"Python","stars":130,"topics":["cli","gui","handwriting","handwriting-simulation","image-generation","numpy","pyqt6","python","text-to-image"],"license":"MIT","category":"cli-tools","readme_excerpt":"手写模拟器（HandWriteSim） 把普通文本变成以假乱真的手写体图片：选择一款手写字体、一张信纸背景，程序会按真实的书写习惯排版并施加 字距、行距、字号、笔画位移、笔画旋转 等多种随机扰动，让每个字、每一页都独一无二。 提供 图形界面（GUI） 与 命令行（CLI） 两种使用方式，核心引擎基于 numpy + scipy 全向量化重写，预览渲染一页约 0.15 秒，实时交互流畅。 与 Rust 版的关系 本项目另有 handwrite-sim（Rust 版）——纯 Rust 重写（ab glyph + 自研笔画扰动引擎），两个版本功能保持同步： Python 版 Rust 版 --- --- --- 渲染引擎 numpy + scipy（FastEngine） 纯 Rust：ab glyph + 自研笔画扰动引擎 界面 PyQt6 Slint（原生渲染，winit + femtovg，软件渲染兜底） PDF 导出 ✅（同步对齐） ✅ 300 DPI 位图层 PDF （printpdf + lopdf） 错字率模拟 ✅（同步对齐） ✅ 错字率 + 划掉重写 （单线/双线/斜线/叉号四种涂改样式） docx 导入 python-docx zip + quick-xml 自研解析（对齐/首行缩进） 预览降采样 PIL resize fast image resize（SIMD，32MP 背景毫秒级） 两个版本功能保持同步（PDF 导出、错字率模拟 Python 版已对齐）。 由于 Rust 版性能优异，部分新功能可能由 Rust 版先行实现，随后同步到 Python 版。 技术栈 类别 选型 --- --- 语言 / 运行时 Python 3.14（ .python-version 锁定） 依赖管理 uv（ pyproject.toml + uv.lock ） 界面 PyQt6（纯 Qt 控件 + 自动布局，无背景图片依赖） 渲染引擎 numpy + scipy（FastEngine，默认）；handright 8.2.0（可选经典后端） 图像处理 Pillow docx 解析 python-docx 测试 pytest 打包 PyInstaller（onefile 单文件，跨 Windows/macOS/Linux， HandWriteSim.spec ） 功能特性 GUI（图形界面） - 富文本输入 ：多段文本、空行，所见即所得 - 段落排版工具 ：左对齐 / 居中 / 右对齐 / 首行缩进（按 2 倍字体大小），支持整段应用 - 导入 docx ：自动解析段落对齐方式与首行缩进（支持 Word 的「首行缩进 2 字符」写法，沿样式链继承） - 字体 / 背景选择 ：字体支持 .ttf .ttc .otf ；背景支持 .png .jpg .jpeg .bmp - 文字颜色 ：直接输入 #RRGGBB 十六进制颜色值 - 排版参数 ：字水平间距、字竖直间距（行距）、字体大小，每个都带独立的随机扰动 σ - 笔画扰动 ：水平位移、竖直位移、笔画旋转三个独立扰动强度 - 边距设置 ：上 / 下 / 左 / 右 位置式布局，输入框位置即含义 - 边界提示（仅预览） ：开关 + 自定义颜色，非渲染区域半透明着色并绘制边距框线，直观看清文字实际渲染边界（默认关闭） - 实时自动预览 ：停止输入 300ms 后自动渲染，全程后台线程不卡界面；参数不完整时静默跳过 - 多页预览 ：上一页 / 下一页 / 页码指示，自动分页 - 预览底色切换 ：浅灰绿 / 深","default_branch":null,"files":null,"tree":[],"storefront":"/r/bamboostrip","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/bamboostrip/Handwriting-simulator/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}