# V1.7.1 第三方元件與修改紀錄 - @pdf-lib/fontkit 1.1.1(MIT):保留原版 UMD 與修改版。三項修改:TrueType 子集的 glyph 資料補齊偶數長度,避免 short loca 位址截斷;encodeStream 非同步編碼發生例外時送出 error,讓匯出流程拒絕、顯示錯誤並恢復按鈕。可變字型輪廓編碼補寫最後一組重複旗標,避免損壞的 glyf 子集與閱讀引擎崩潰。完整差異見 fontkit-modifications.patch。沒有自訂輪廓偏移或模擬字重。 - harfbuzzjs 1.6.2(MIT,gitHead b2ec00c97159ee8aa563691792aa3081adbc8a50):將 ESM 包裝為 classic script;WASM 以 Base64 內建,初始化 Promise 暴露為 PDF171HBReady。整合程式見 bundle_engine.cjs;未修改 HarfBuzz 字形塑形演算法。 - 內嵌 HarfBuzz 14.5.0(執行 versionString() 查得;Old MIT):使用 harfbuzzjs 隨附 WASM,未修改核心。COPYING 取自官方 14.5.0 標籤。 - bidi-js 1.1.0(MIT,gitHead f7826ac23bf365552bf2ac3dd51296e5f3e72970):使用原版 bidi.min.js,未修改。 - acorn 8.19.0、esbuild 0.28.2:均 MIT,僅開發/建置使用;它們的執行程式與套件不隨 APP 散布。建置程式引用它們,重新建置需要自行提供相同版本的開發環境。 - stroke.js、clipper-lib 與其內含 JSBN 已移除;不再是本版執行依賴。 - 翻譯為 AI 初稿,尚未經母語者校對。介面字串使用既有 AI 草稿與本次補齊的 AI 翻譯;沒有宣稱經人工校對。 ## v1.7.2 自訂整合修正 - 原創 editor.js/native_text.js:中日韓禁則換行、阿拉伯文段落基礎方向與各行匯出方向。 - @pdf-lib/fontkit、harfbuzzjs/HarfBuzz、bidi-js 本版沒有追加修改,原 v1.7.1 記錄仍有效。 - 本版 assets/i18n-data.js 及 app17.js 的版本顯示更新為 v1.7.2;AI 翻譯狀態不變。 ## v1.7.3 自訂介面 - 原創 ui173.js:瀏覽器連線狀態標籤、內建教學與語言綁定。 - ui173-data.js:16 語言台詞、狀態與教學 AI 初稿。 - app17.js/i18n-data.js:品牌與語言文案更新、移除 Office 介面與翻譯;第三方元件未修改。 ## v1.7.3 自訂介面 - 原創 ui173.js:瀏覽器連線狀態標籤、內建教學與語言綁定。 - ui173-data.js:16 語言台詞、狀態與教學 AI 初稿。 - app17.js/i18n-data.js:品牌與語言文案更新、移除 Office 介面與翻譯;第三方元件未修改。 ## 2026-10-19:PDF.js 6.1.200 同文件 worker 的 qcms 離線載入 - 修改檔:source/v181/template.html 內嵌 worker 的 IccColorSpace.setOptions 與 isUsable(build.py 同步輸出 HTML)。 - 原始對照:https://github.com/mozilla/pdf.js/blob/v6.1.200/src/core/icc_colorspace.js 及官方 pdfjs-dist 6.1.200 套件 build/pdf.worker.mjs。 - 原因:公開 BinaryDataFactory/useWorkerFetch:false 可供 CMap、標準字型、JPX/JBIG2/CCITT,但 IccColorSpace 在 useWorkerFetch:false 直接設 useWasm=false;ICC 初始化是同步 fetchSync,沒有公開記憶體 factory 選項。只設 wasmUrl 仍不會讀取 qcms。 - 修改:只有 globalThis.PDF17Pdf.iccBytes 本機同步入口存在時允許 ICC WASM 初始化;從已核對 SHA 的原始 qcms_bg.wasm 回傳 Uint8Array 複本,取代同步 URL 讀取。useWasm:false 仍不啟用 ICC WASM;沒有 hook 時保留原邏輯。其餘 pdf.js 程式與原始素材不改。 - 授權:既有 pdf.js Apache-2.0 保留;qcms/Mozilla 原始授權另附 licenses/pdfjs-6.1.200/wasm/,未修改 qcms binary。 - 此 hook 依現行 APP 的同文件 fake worker 運作;未來改獨立 Worker 須重新整合,不可假設 globalThis 或文件 importmap 仍可見。