Repository navigation
Releases: y26s4824k264/pdf2dxf-construction
Release list
2.0.0rc39: mixed-script font styles / 中英文混排字体修复
rc39 修复同一来源字体的中英文混排 STYLE 被首字符决定的问题。先检查所有文字行,包含汉字时使用中文字体;纯西文保持原有样式。字符、插入点、字高、宽度因子、旋转和来源证据保持不变。
中文纯轮廓继续读取持久化 DXF,通过拓扑、精确几何模板、字库锁定与重复一致性输出可编辑 TEXT,不使用 OCR、PDF 像素或 AI 补字。本轮只测三张代表图:真实建筑页与两张不同字体的纯轮廓中文样例,后者均恢复完整的“建筑结构平面图”(共 14 字)。建筑的 82 个来源 TEXT 位置属性逐项一致,25 条尺寸的 P95 误差保持 0.1280%。未知字体及未确认字形仍保留明确边界,不重跑历史 PDF 全集。
DrawingIR 浏览器另补原版 OpenSansCondensed-Light 同源资源与 SimSun TTC 名称解析;三个代表页均无缺失/替代字体记录。前端相关 20 项测试、类型检查、Lint 与生产构建通过。这些浏览器资源属于应用,不打包进 Python wheel。
rc39 selects a shared fallback STYLE after examining all runs of its source font, so Latin-first content cannot assign Arial to later Han characters. Unicode values, placement and provenance remain intact. Two geometry-only Han PDFs restore 14 confirmed characters as editable TEXT through the existing persisted-DXF topology/template recognizer, without OCR or semantic completion. The real architectural sample preserves 82 source TEXT placements and a 0.1280% P95 error over 25 dimensions. Three representative pages only; no full historical PDF corpus rerun or universal-font fidelity claim. Application-side original-font loading is separate from the Python wheel.
Source, wheel, sdist and checksums accompany this prerelease. Linux (Python 3.10/3.13), macOS and Windows (Python 3.12) each pass 829 source and 829 installed-wheel tests, including lint, build, distribution and dependency gates. External r3 font catalogs are unchanged and remain available from rc34.
v2.0.0rc38 — 缓存描边状态修复 / Cached stroke-state repair
中文
修复 rc37 在完整 Converter 入口丢失描边状态的缓存问题。DrawingSpool 每次迭代会生成新字典,现在将捕获的状态和原始路径顺序持久化到替换 spool;后续转换仍保留三种线帽、三种连接、miter limit、虚线和宽度裁剪包络。
新增真实缓存管线和公开 Converter API 回归;修复前三种线帽的缓存路径全部失败,修复后 81 项相关检查通过。最终四个环境的源码与已安装 wheel 均各通过 819 项检查。项目实际验收覆盖描边样例、建筑代表页和带两张 PNG 的目录页:建筑 25 条尺寸 P95 误差 0.1280%,目录保持纸面坐标;图片经过规范化、拆框和 ZIP 读回,原字节哈希一致。不覆盖已发布的 rc37,不重跑历史 PDF 全集。
English
Fix disk-spooled drawing records losing captured stroke state before geometry emission in the full Converter path. Persist enrichment in a replacement spool while retaining bounded page-memory behavior. Direct-kernel checks alone did not expose the rc37 regression; cached-pipeline cases and a supervised public Converter round-cap area check now cover it. All four environments passed 819 source and 819 installed-wheel tests each. Live DrawingIR checks cover three representative cases; 25 architectural dimensions retain a 0.1280% P95 error, while directory PNG hashes survive normalization, frames and ZIP readback and its engineering scale remains unconfirmed. No historical-corpus rerun.
CI: https://github.com/y26s4824k264/pdf2dxf-construction/actions/runs/38352962886
Source: f500be4f83f6f827bfcda7b9b204481011abd923
2.0.0rc37 — stroke styles and image attachments
中文
补齐 butt/round/square 线帽、miter/round/bevel 连接、miter limit 回退、闭合接缝和非等比描边空间。保留未裁剪原生中心线/三次控制点,用独立 HATCH 绘制真实笔画包络并按面积裁剪。圆连接包络使用明确的误差界限;hairline、曲线裁剪和 R12 继续保留已说明的边界。
PNG 附件具备 SHA-256、尺寸、像素格式与路径校验,可随 IMAGEDEF 扩展 XRECORD 保存、还原及导出 DXF+PNG ZIP。DrawingIR 补齐规范化、拆框、SVG/原生 CAD 预览和 FRAME_PACKAGE 读回;图片文字不使用 OCR。
只选建筑、结构、给排水目录三页。25/53 条尺寸的 P95 相对误差为 0.1280%/0.1886%;目录两张图片已接入,继续使用纸面坐标。未重跑历史全集。Linux(Python 3.10/3.13)、macOS 和 Windows(Python 3.12)四个环境的源码及已安装 wheel 均各通过 806 项测试。
English
Preserve per-path caps, joins, miter-limit fallback, dash phase, closed seams and affine stroke space. Native unclipped curves survive as geometry evidence; separate HATCH envelopes preserve paint with an explicit approximation bound. Add verified, lossless PNG storage in IMAGEDEF extension records and ordinary DXF+PNG ZIP exports. Downstream DrawingIR now retains and renders attachments; raster text remains raster text without OCR.
Three representative pages were tested, with 25/53 dimension checks and unchanged P95 errors of 0.1280%/0.1886%. The directory's two PNGs now survive downstream persistence, while its engineering scale remains unconfirmed. No full historical corpus rerun and no universal-font accuracy claim.
Cross-platform validation: four environments passed 806 source tests and 806 installed-wheel tests each, along with lint, build, package-content checks and pip check.
Validation: https://github.com/y26s4824k264/pdf2dxf-construction/actions/runs/38345563720
Source commit: 327a961b3f9604b75babd1782f0ff4b206fda47e
v2.0.0rc36 — Exact dash-cap clipping and empty clip scopes
修复 / Fixes
- 修复部分裁剪圆点导致转换失败、中心线在框内但圆点越界,以及空裁剪错误放行图元。
- 保留交集中有效面积,排除零面积接触部分。圆点保存为原生 HATCH 圆弧,旋转方点保留切线方向,支持孔洞及分离区域。
- Clip round and rotated square dash caps while retaining native arcs, holes and disconnected regions. Empty clip scopes cannot reveal paint; mixed intersections retain their area components.
验证 / Validation
- 118 targeted checks, including 40 paint regressions and 20 new cases. Saved DXF and PDF reference renderings compared.
- Only two representative engineering pages reconverted: 25/53 dimensions, P95 error 0.1280%/0.1886%, unchanged after normalization and frame extraction. No historical full-corpus rerun.
- All four platform/Python combinations passed 776 source tests and 776 installed-wheel tests each. CI: https://github.com/y26s4824k264/pdf2dxf-construction/actions/runs/38192680933 . See docs/RELEASE_RC36.md and docs/RC36_VALIDATION.json.
边界 / Boundaries
- Curved clipping paths retain existing sampling tolerance; ambiguous degenerate topology fails explicitly. General PDF line caps/joins are not universally equivalent to DXF lineweights.
- Standalone IMAGE sidecars remain supported; DrawingIR's DXF-only storage still rejects external image attachments. R12 transparency and unconfirmed scale limitations remain explicit. r3 font bundles are unchanged.
安装 / Install
python -m pip install "pdf2dxf-construction==2.0.0rc36"v2.0.0rc35 — Opacity, dash phase and DXF coordinate evidence
修复 / Fixes
- 修复零透明度变不透明、密集线半透明丢失;不可见图元不参与文字和尺寸证据。
- 修复虚线奇数数组、相位、跨线段连续性及起止圆点;未裁剪的三次曲线子段保留 SPLINE。
- 保存 DXF 比例确认状态与原生字符分组证据,供规范化、图框拆分和标高识别使用。
- Fix zero opacity, dense-stroke alpha, odd dash arrays, dash phase, continuity and endpoint dots. Persist coordinate and text-run evidence for downstream DXF consumers.
验证 / Validation
- Three representative pages, without rerunning the historical corpus. Architecture: 25 dimensions, P95 0.1280%; structure: 53 dimensions, P95 0.1886%; both below the 0.2% limit and retained through independent frame DXFs.
- Directory page remains paper-space/review-only; its two image sidecars are preserved by the package. DrawingIR's DXF-only storage adapter rejects that import explicitly.
- Final CI: all four platform/Python combinations passed 756 source tests and 756 installed-wheel tests each. Local final paint regressions: 20. CI: https://github.com/y26s4824k264/pdf2dxf-construction/actions/runs/38189755585 . See docs/RELEASE_RC35.md for representative evidence.
- Partial clipping of zero-length dash dots remains explicitly unsupported; R12 does not support modern transparency. Font coverage is not a universal recognition guarantee.
安装 / Install
python -m pip install "pdf2dxf-construction==2.0.0rc35"r3 字库不变 / Existing r3 font bundles are unchanged: use the assets linked in docs/OPEN_FONTS.md. Private drawings and generated drawing geometry are excluded from this release.
v2.0.0rc34 — Restore incomplete glyph rows and validate historical drawing samples
2.0.0rc34
15 个缺字短行全部补齐,新增确认 55 字;84/84 短行、16/16 长行完整。请升级 rc34 并下载本版 r3 字库。29 条旧 lint 已清零;源码及隔离安装包各 732 项测试通过。历史集按用户要求提前停止,以下明确记录已测与未测范围。
All 15 incomplete short cases are fixed, confirming 55 additional characters: 84/84 short and 16/16 long rows complete. Upgrade rc34 and the attached r3 catalogs. All 29 lint findings are resolved; source and isolated-wheel suites each pass 732 tests. The historical run stopped early at the user's request; tested and untested scope is explicit below.
rc34 验证记录 / Validation
版本 2.0.0rc34。本地 macOS ARM64 / Python 3.12.13:源码和隔离安装 wheel 各 732 项测试通过;全库 Ruff 29→0,并在四个平台/版本的 CI 作业中加入 lint 门槛。精确提交的远端 CI 在发布前核验,见发行页和 CI。
缺字修复与排版证据
| 已知字体样例,同时加载十个字库 | rc33 | rc34 |
|---|---|---|
| 84 个短行完整数 | 69 | 84 |
| 短行恢复字符数 | 1255 | 1310 |
| 16 个长行完整数 | 16 | 16 |
| 长行恢复字符数 | 2320 | 2320 |
此前 15 个不完整短行全部补齐,新增确认 55 字。100 个保存 DXF 重新识别,全部原图元组码保持一致;同样的 100 个原始字体 PDF 重新转换,共恢复 3,630 字,逐字核对原字体 cmap、来源句柄、指纹、DXF 坐标及实际保存 TEXT。最大字形外框误差 0.000866324 mm,低于 0.05 mm 审计容差;DXF audit 错误和修复数均为 0。
r3 / v3 字库新增原字体 em 外框与水平字距。原始描边、填充分别记录有效外框,忽略不产生任何笔画的 moveTo;填充外框不包含共线零面积轮廓。全部原有 246,293 条模板、2,288,068 个匹配索引键和码点映射不变。十个来源字体、版权和许可不变。
新增证明仅适用于水平等比例汉字行:至少三个不同、整字标签唯一的完整轮廓,至少一个原本无歧义的候选,字身尺度、基线、原字体字距和连续来源同时一致。布局容差为 0.01 em;轮廓掩码与拓扑仍要求精确一致。整字异名、竞争字母/数字、任意竞争汉字、跨字切分、独立小字行和证据中断仍保持歧义。报告 font_layout_evidence 记录字身、基线、字距、父字和所有内部竞争窗口;详细证据最多 32 条,额外行计数单列。
v1/v2 继续完整校验并可读取;它们没有排版尺寸,需下载 r3 或从原字体重建才能启用新增证明。构建缓存必须符合新格式,不能误复用旧 r2。运行识别只读已保存 DXF 和字库,不用 OCR、词义猜测,也不读取 PDF 或原字体。
历史图纸部分复测
历史清单共 4,290 份去重 PDF /12,577 页。按用户要求停止耗时的全量转换,并等待在途任务自然结束;本轮完成 4,251 份 PDF 中的 4,253 页,尚有 8,324 页未测,不是全集完成。其中 4,119 份覆盖全部页,132 份只覆盖部分页。原 BIM22 的 22 个源文件哈希/页号包含在历史清单和本次已完成结果中。每个已完成页检查 PDF 哈希、实际代码指纹、十套资源身份、持久化 DXF SHA256、ezdxf audit、原生 TEXT/MTEXT 句柄与内容、图片依赖,以及保存后比例/尺寸报告一致性;结束后再次核对全部已完成 DXF 摘要。
| 已完成范围结果 | 页数/数量 |
|---|---|
| 已转换并独立复核 | 4253 页 |
| 转换或保存完整性失败 | 0 页 |
| 通过 model_ready 门槛 | 1072 页 |
| 保留待复核 | 3181 页 |
| 工程比例未确认 | 1698 页 |
| 尺寸误差超门槛 | 1005 页 |
| 原生文字图元逐句柄比较 | 2,608,690 |
| 独立检查的尺寸 | 136,525 |
表中的问题类别可能重叠,不能相加作总页数。model_ready 与转换总体状态 ok/degraded 是不同字段;完整计数见历史集覆盖摘要。使用 scale_mode=auto,不通过强制比例使图纸达标。纸面输出、未知或冲突比例仍须复核;字形 em 尺度仅是文字证据,不替代工程尺寸标定。
早期诊断批次不计入以上页数。期间修复了软蒙版、图片重采样尺寸和裁剪作用域;当时已完成的 1,490 页中,799 页无源图片且无 raw/final IMAGE,确认不受媒体修改影响后保留本轮结果,691 个含图像页全部重转。最终 3,454 页由最终代码转换,799 页保留经范围核验的本轮结果,每页实际指纹单列,不将保留页声称为再次转换。私有 PDF、原字体、文件名和路径不公开。已知字体样例完整恢复不代表任意字体达到 100%,部分历史集复测也不是文字准确率统计。
图片与裁剪修复
PyMuPDF 的 Pixmap 契约允许颜色空间为空的蒙版仅含 alpha 通道。旧代码删除唯一通道会导致图片遗漏,现保留其样本供合成。图片被高分辨率蒙版重采样时,IMAGE/IMAGEDEF 和像素裁剪现在使用实际 PNG 尺寸,同时保持正确的毫米尺寸。
裁剪通过原生绘制顺序和嵌套 clip/pop 作用域绑定到具体图片,核验绘制、图片与裁剪计数;保留旋转、连续图片各自的裁剪边界,完全不可见的图片不再错误显示。无法确认的裁剪明确报告 SOURCE_GRAPHICS_INCOMPLETE。13 项媒体回归覆盖 8 组像素/尺寸、2 组旋转和连续裁剪、完全裁空以及两种取消信号。
所有 100 个字体 PDF 已用最终代码重新转换并重新审计坐标。新增资料的 26 个含图像抽样页也重新转换,46 个无图片页保留经范围核验的本轮结果。见修复及范围证据。
本机新增资料抽查
当前 BIM 文件夹比历史清单新增 24 份规范、定额资料,共 8,712 页。本轮另取每份首、中、末页抽查,共 72 页,均完成转换及保存后复核,audit 错误/修复和原生文字缺失均为 0;比较 18,073 个原生文字图元。72 页都没有可确认的工程比例,保留待复核。这是抽查,不是 8,712 页全量测试;不混入历史清单已完成页统计。抽查证据。
English
Both the source and source-free installed wheel pass 732 tests. Full-tree Ruff goes from 29 findings to zero, with lint added to every CI job. The 15 incomplete short cases are resolved: 84/84 short and 16/16 long known-font fixtures complete with all ten catalogs. Actual reconversion of all 100 original font PDFs restores 3,630 characters. Every glyph is checked against its original font cmap/position and saved TEXT; maximum ink-bounds error is 0.000866324 mm. Original DXF entities remain intact.
Schema v3 adds em-space ink bounds and advance to unchanged r2 geometry/labels. Raw/fill representations receive appropriate bounds; move-only contours are excluded. The extra proof requires three distinct uniquely labeled whole Han glyphs, an uncontested candidate, uniform scale, common baseline, matching advance and contiguous provenance. Exact masks/topology remain mandatory. Whole aliases, crossing windows, conflicting letters/digits or arbitrary Han, independent small-text rows and discontinuous evidence are rejected. Legacy catalogs remain readable but require rebuilding for layout data. Runtime outline recognition uses persisted DXF/catalogs only, without OCR or source-font/PDF access.
The historical manifest contains 4,290 documents /12,577 pages. At the user's request, further dispatch stopped and in-flight conversions drained normally. This run completes 4,253 pages from 4,251 PDFs, leaving 8,324 pages untested; this is partial coverage, not a complete corpus rerun. Of the tested documents, 4,119 have every page covered and 132 have partial coverage. Completed pages have zero conversion/integrity/audit failures: 1072 are model-ready and 3181 require review. Checks compare 2,608,690 native text entities and 136,525 dimensions. Scale-unconfirmed and dimension-error counts are 1698 and 1005, with possible overlap. Media fixes cover soft masks, resampled image dimensions and native clipping scope. All 691 previously completed media pages were reconverted; 3,454 pages use the final runtime, while 799 verified no-media pages retain actual earlier fingerprints from this run. All 100 font PDFs were reconverted and coordinate-audited using the final runtime. No guessed scale is used and conversion coverage is not text-recognition accuracy.
Separately, 24 newly added standards/reference PDFs contain 8,712 pages. First/middle/last-page sampling checks 72 pages and 18,073 native text entities, with zero conversion/integrity/audit failures. All 72 retain unconfirmed engineering scale. This sample is not exhaustive coverage of the 8,712 pages and is separate from the historical partial run. See sampling evidence.
See complete evidence, corpus summary and font resources. Private inputs and path-bearing reports are excluded. Five upstream PyMuPDF SWIG deprecation warnings remain, separate from lint findings.
Four CI jobs each pass 732 source +732 installed-wheel tests, full-tree lint and distribution checks on commit 00718f099efff3ad5178f581f4e07f2b29d3082f. All 126 source snapshot files, 48 runtime files and six uploaded asset digests are verified.
PyPI
已发布至 PyPI,支持 Python 3.10+。这是预发行版,建议明确指定版本:
Published to PyPI, for Python 3.10+. Pin this prerelease explicitly:
python -m pip install pdf2dxf-construction==2.0.0rc34PyPI 的 wheel、源码包摘要与本页附件一致;已从公开索引下载并完成隔离安装及 CLI 版本验证。字形识别的新排版证据仍需配合本页 r3 字库附件。
The PyPI wheel and source archive match the reviewed GitHub assets. Public-index download, isolated installation and CLI version checks pass. Download the attached r3 catalogs to enable the new glyph-layout evidence.
v2.0.0rc33 — Reduce Unicode catalog loading overhead
2.0.0rc33
rc33 优化字库 Unicode 索引构建,保留全部校验和原有识别判定。十套 r2 字库七轮交替实测,完整加载中位耗时 2.368→2.229 秒(减少 5.9%),进程峰值内存中位数减少 27.9 MiB。246,293 条模板和 2,288,068 个索引键的全部字段与 rc32 一致;100 个 DXF 和 4 个实际 PDF 转换结果保持一致。源码 696 项测试通过。短行仍为 69/84 完整,任意字体识别尚未达到 100%;r2 字库无需重下。详见验证记录。
rc33 reduces repeated Unicode index construction while retaining every integrity check and recognition decision. Seven alternating local runs loading ten r2 catalogs reduce median load time 2.368→2.229 s (5.9%) and median process peak RSS by 27.9 MiB. Every field across 246,293 templates and 2,288,068 lookup keys matches rc32; 100 DXF recognitions and four actual PDF conversions preserve results. All 696 source tests pass. Short-corpus completeness remains 69/84; this is not universal-font accuracy. Reuse unchanged r2 resources. See validation.
本轮没有新增识别率;历史4290份、BIM22、84对应字体PDF未重跑。两张本机图纸仍无外部字体锁,其中一张尺寸校验未通过。
Recognition coverage is unchanged. Historical4290, BIM22 and matching-face84 PDFs were not rerun. Neither private drawing establishes an external font lock; one fails its dimension check.
源码及隔离安装 wheel 各 696 项通过;安装包四次实际 PDF 转换与最终源码对齐,含 386 个轮廓字符及两个真实图纸比例状态。118 个快照文件、46 个运行时文件与精确提交一致,六个附件摘要全部核验。
Source and isolated-wheel suites each pass 696 tests. Four installed-wheel PDF conversions match final source, including 386 outline characters and two private drawing scale states. All 118 snapshot files, 46 runtime files and six uploaded asset digests are verified.
Four CI jobs each pass 696 source +696 installed-wheel tests on commit 3a3e9c47668d6afc3b94b01d984d575425adcd00.
v2.0.0rc32 — Verify long-row ambiguity with bounded local windows
2.0.0rc32
rc32 修复长行的字形消歧上限:汉字片段和跨字体标点复核改为每个候选附近最多 96 字,不再跳过整条长行。十字库的 16 个 97/193 字 PDF 从 8/16 提升到 16/16 完整恢复,2226→2320 字。新增 60 项回归,源码 691 项通过;84 个短行 DXF 保持 69/84。另对 94 份历史及本机 PDF 的 155 个代表页作内容检查,并将其中 12 页实际转换、与隔离安装的 rc31 对照:1 页通过、11 页需复核,原图元与文字保持。该组图纸尚未建立外部字库字体锁;这不代表任意字体识别率达到 100%。r2 字库无需重下。详见验证记录。
rc32 replaces whole-row rejection with a local window of at most 96 glyphs for Han-fragment and cross-font punctuation review. Sixteen 97/193-character PDFs with all ten catalogs improve from 8/16 to 16/16 complete, 2226→2320 characters. Sixty new regressions bring source tests to 691; 84 short DXFs retain 69/84 completeness. Content inspection covers 155 representative pages from 94 historical/local PDFs; twelve pages are converted and compared against isolated rc31: one passes and eleven need review, preserving source geometry and text. Those drawings do not establish external font locks. This is not universal-font accuracy. Reuse unchanged r2 catalogs; see validation.
历史 4290 份、BIM22、84 对应字体 PDF 未重跑。新增 12 页中外部字体锁为 0,2 张标定图未通过 0.2% 尺寸门槛;保留轮廓与比例限制。原始图纸不上传。
The full historical corpus, BIM22 and matching-face84 PDFs were not rerun. The twelve additional pages have no external font locks; two calibrated pages fail the 0.2% dimension gate. Original drawings are not uploaded.
源码及隔离安装 wheel 各 691 项通过;四个实际 PDF 的安装包结果与最终源码对齐,含 386 个轮廓字符及两个真实图纸比例状态。116 个快照文件、46 个运行时文件与精确提交一致,六个附件摘要全部核验。
Source and isolated-wheel suites each pass 691 tests. Four real PDF conversions match the final source, including 386 outline characters and two corpus scale states. All 116 snapshot files, 46 runtime files and six uploaded asset digests are verified.
Four CI jobs each pass 691 source +691 installed-wheel tests on commit 7c6dde55fa992768fe6d315ef3993ef1c0b71b98.
v2.0.0rc31 — Verify half-enclosed glyphs and bounded proof chains
2.0.0rc31
rc31 补齐半包围字形的几何判断与已确认结果的逐轮连接,恢复 Jigmo 的“建”。指定对应字体字库的 84 个原 PDF 样例达到 84/84 完整恢复(1310 字);这组样例的 100% 不代表任意字体均能识别。组合十字库为 69/84,仍保留证据不足的轮廓。新增 12 个含“建”的长行 PDF 全部完整;新增 65 项回归,源码 631 项通过。原有长行和 22 份 BIM PDF 已复测,工程比例门槛不变。r2 字库无需重下。详见算法说明和验证记录。
rc31 verifies half-enclosed geometry and chains only previously proved results, restoring Jigmo 建. The 84 existing matching-face PDF probes reach 84/84 complete (1310 characters); this bounded 100% result does not establish arbitrary-font recognition. All-ten-catalog probes reach 69/84, retaining unsupported outlines. Twelve new long PDFs containing 建 all complete. Sixty-five regressions bring source tests to 631. Existing long PDFs and 22 BIM PDFs were rerun; engineering-scale gates are unchanged. Reuse r2 catalogs; see algorithms and validation.
22 份 BIM PDF 均生成 DXF,仍为 degraded;九张已标定图未通过 0.2% 尺寸门槛。历史 4290-PDF 语料没有重跑。
All 22 BIM PDFs produce DXFs but remain degraded; nine calibrated drawings still fail the 0.2% dimension gate. The historical 4290-PDF corpus was not rerun.
源码与隔离安装 wheel 各 631 项通过;安装包四个实字体 PDF、两个十字库 DXF 共 408 字,与源码逐字段及图元核对一致。114 个源码快照文件、46 个运行时文件与精确提交对齐,六个附件 SHA256 一致。
Source and isolated-wheel suites each pass 631 tests. Four real-font PDF conversions and two all-ten-catalog DXF checks publish 408 characters with source report/entity parity. All 114 snapshot files, 46 runtime files and six uploaded asset digests are verified.
Four CI jobs each pass 631 source +631 installed-wheel tests on commit f5eabb60c9aa9adcc22ca25424cfa780a1194ed2.
v2.0.0rc30 — Connect verified glyph evidence and recover long rows
2.0.0rc30
rc30 补齐汉字内部标点冲突的复核,让先前已确认的字形连接后续拓扑证据,并以最多 96 字的局部邻接窗口处理长行。十字库组合完整样例从 63/84 提升到 67/84,多恢复 8 字;新增 12 个 Jigmo 长行 PDF 从全部漏“图”变为全部完整。新增 38 项回归,源码 566 项通过。84 个对应字体 PDF、原有 16 个长行 PDF 和 22 份 BIM PDF 也已复测。未确认的“建”继续保留轮廓;r2 字库无需重下。详见算法说明和验证记录。
rc30 verifies Han glyphs blocked only by small internal punctuation, lets previously verified glyphs connect later topology evidence, and uses a bounded local window of at most 96 adjacent glyphs for long rows. All-ten-catalog completeness improves from 63/84 to 67/84, restoring eight characters. Twelve new Jigmo long PDFs improve from all missing 图 to all complete. Thirty-eight new regressions bring source tests to 566. All 84 matching-face PDFs, the existing 16 long PDFs and 22 BIM PDFs were also rerun. Ambiguous 建 remains geometry; reuse unchanged r2 catalogs. See algorithms and validation.
22 份 BIM PDF 均生成 DXF,仍为 degraded;九张已标定图未通过 0.2% 尺寸门槛。没有重跑历史 4290-PDF 语料,也不声明任意字体识别。
All 22 BIM PDFs produce DXFs but remain degraded; nine calibrated drawings still fail the 0.2% dimension gate. The historical 4290-PDF corpus was not rerun; arbitrary-font recognition is not claimed.
源码与隔离安装 wheel 各 566 项通过;安装包四个实字体 PDF、五个十字库 DXF 共 422 字,与源码逐字段及图元核对一致。112 个源码快照文件、46 个运行时文件与精确提交对齐,六个附件 SHA256 一致。
Source and isolated-wheel suites each pass 566 tests. Four real-font PDF conversions and five all-ten-catalog DXF checks publish 422 characters with source report/entity parity. All 112 snapshot files, 46 runtime files and six uploaded asset digests are verified.
Four CI jobs each pass 566 source +566 installed-wheel tests on commit d9a8d59a57c74ed592411272c571ce38d0d04564.