竖排(自右向左列)排版引擎:背景生成、字体/标点规则、批注/缩进、导出 PNG/PDF。
pip install Pillow
# 可选,用于 PDF 书签/更高质量导出:
# pip install reportlab需要自行提供 CJK 字体(例如思源宋体),将路径写入
demo_config.json。
python cli.py --text ./demo.txt --config ./demo_config.json --out ./out/demo.pdf- 特殊标记:
@=全角空格,%/$=强制换页,\n=下一行。 - 批注:
【批注内容】将以小字绘制在同列侧边“注栏”。 - 段首缩进:在段首使用
S+2表示缩进 2 个格(简化:示例未完全实现到字符级 token,可按需扩展)。
page:纸张尺寸、DPI。background:纸张风格(paper/bamboo/fish_tail)、边框、鱼尾。grid:列数、行数、格宽高、边距、列间距。font:字体主/辅、字号、颜色、引号旋转。rules:标点过滤、归一化、不占位。output:是否导出每页 PNG、PNG 目录。
- 背景(宣纸/竹简/鱼尾简单版)、边框与版心边距。
- 字体主/辅加载、标点处理、全角空格、强制换页。
- 竖排网格落字、非占位标点(可与下字同格)、引号/书名号旋转(API 预留)。
- 批注框(【】)侧栏小字(简化实现)。
- TOC 接口
toc.py留出;若安装 ReportLab,可在output.py中拓展书签。
注意:为了可运行和易懂,本版仍是“实用完整”但略简化的实现——与原 vRain 的所有细节(如复杂标点旋转规则、鱼尾/版式的全量样式、超大规模性能优化等)可能存在差异。你可以据此继续精准对齐。