実測結果
| 項目 | 入力 / 参照 | 観測した出力 |
|---|---|---|
| サブセットフォントの元文書 | 담당: 가상팀 / Draft 2026 | 담당: 새문팀 / Final 2027 |
| 実際の文字を含む元文書 | Delivery date: 2026-10-22 | Delivery date: 2026-10-23 |
| Type0 フォントの元文書 | 담당: 가상팀 / Draft 2026 | 담당: 새문팀 / Final 2027 |
この結果は今回の試験資料に対するもので、すべての PDF や閲覧ソフトに当てはまるものではありません。
発生する条件
PDF には元の文で使った字形しか埋め込まれていない場合があります。「담당: 가상팀 / Draft 2026」を「담당: 새문팀 / Final 2027」に変えるには、新しい文字の対応表と字形が必要です。選択やコピーができても、任意の置換文字に同じフォントを使えるとは限りません。
実際に行った操作
ReportLab の TrueType サブセットと pdf-lib の Identity-H Type0 文書で試験文を作成しました。PDF Desk の実際のエンジンで Tj オペランドを置換し、独立した pypdf 検査で旧文がなくなり、新しい混在文を正しく抽出できることを確認しています。画像による遮蔽やページ全体の画像化は行っていません。
フォント置換で変わること
韓国語の置換では NanumGothic を埋め込みます。元のポイント数を保っても字形や幅が一致するとは限らないため、アプリは了承を求め、幅と高さを確認します。この例は同じフォント系列ですが、別の元フォントでは見た目が大きく変わる場合があります。長すぎる文は無理に詰めず、置換を拒否します。
自分で確認する
- 両方のファイルをダウンロードし、가상팀 と 새문팀 を検索します。
- 元文書を作業室で開き、ページ上または右側の一覧から原文を選びます。
- 置換内容を比較し、フォント置換を了承してから適用します。
- 保存したファイルを別の閲覧ソフトで開き直し、文字をコピーして、図表と未変更の2ページ目を比較します。
対処と例外
対応表のないフォント、TJ 配列、縦書き、スキャン、非表示 OCR、フォーム・タグ・リンクを含む文書は対象外です。選択や収まりの確認に失敗した場合は元の作成ソフトで編集してください。テキストボックスの追加は別の操作であり、元の文は残ります。
自分で調べられるファイル
- サブセットフォントの元文書 (korean-subset-source.pdf)
- 編集後のサブセットフォント文書 (korean-subset-edited.pdf)
- Type0 フォントの元文書 (korean-type0-source.pdf)
- 編集後の Type0 フォント文書 (korean-type0-edited.pdf)
切り出し座標・倍率・元ファイルのハッシュ・再抽出結果 · 再確認日:2026-10-24 · pdftoppm 26.07.0 · pypdf 6.10.0 · pdfplumber 0.11.9。元の PDF は変更していません。
環境・日付・確認範囲
確認日:2026-10-23 · Windows / Chrome 155 · pdf-lib 1.17.1 · PDF.js 6.4.299 · fontkit 1.1.1 · pypdf 6.10.0 · pdftoppm 26.07.0。PDF と図は独自制作で、NanumGothic は OFL-1.1 です。表とファイルは直接観測した結果、説明文はその構造の解釈です。実際の OS キーボード入力、実機のスマートフォン、すべての PDF 閲覧ソフトは検査対象外です。
再現コード:scripts/lab-inputs.py、lab-outputs.mjs、lab-derived.py、tests/readiness-browser.mjs、tests/lab-pdf.py。



