Fraktur 字體 OCR:在現代化前先保留原始文字
透過小規模且可重現的 Fraktur OCR 實驗,在搜尋或翻譯古籍之前,先釐清識別錯誤與長 s 正規化之間的差異。

若要對印刷體 Fraktur(德式尖角體)進行 OCR,請選擇支援該字體的模型、以簡短段落與頁面進行對照測試,並決定轉錄文字應保留長 s( ſ)還是正規化為 s。請務必將校對過的原始轉錄稿與任何現代化或翻譯文字分開存放。看起來較熟悉的詞彙,並不一定代表更忠於印刷原貌。
我們使用了 Fraktur 字體與現代字體對照組,測試了兩段簡短的德語合成範例文字。即使在這些清晰的圖像上,Fraktur 模型在一個段落中將 iſt 誤判為 ift ,在另一個段落中則誤判為 if 。這項測試有價值的成果並非評選出哪款工具獲勝,而是證明了: 辨識字元、選擇轉錄慣例以及將語言現代化,是三項截然不同的工作.
本指南適用於印刷頁面。它並非針對手寫體 Kurrent 或 Sütterlin、破損手稿或龐大的歷史典藏所設計的工作流程。
在執行 OCR 之前先界定何謂「正確」
在比較工具之前,請先擬定一句轉錄政策準則。例如:「保留原始拼寫與長 s;標註無法驗證的詞彙。」否則,您可能會將刻意的正規化視為錯誤,或是因為改寫後的文字看起來流暢而接受了非預期的改動。
OCR-D 為此差異提供了一個具體範例。其 第 1 級(Level 1) 規範將長 s 和圓 s 一律表示為 s; 第 2 級與第 3 級(Levels 2 and 3) 則加以區分。這些屬於轉錄慣例,而非要求將所有古拼寫都改為現代對應寫法。請參閱官方的 Level 1 s 規則 與 Level 2/3 s 規則.
在個人閱讀專案中,請將以下輸出分開處理:
| 輸出類型 | 我們自行撰寫的教學範例文字 | 用途 |
|---|---|---|
| 以原文為導向的轉錄文字 | Die rothe Blume ſteht hier. | 對照圖片核對識別出的字符 |
| 長 s 正規化衍生版本 | Die rothe Blume steht hier. | 在不區分長 s 的情況下進行搜尋或閱讀 |
| 現代化衍生版本 | Die rote Blume steht hier. | 包含拼寫變更的獨立編輯版本 |
第二行僅將 ſ 改為 s;它並未實施所有 OCR-D Level 1 規則。第三行則同時更改了原文拼寫。這兩種衍生版本都不應在無提示的情況下直接取代以原文為導向的轉錄文字。
特別要注意的是,切勿將字母 f 全域替換為 s。我們失敗的 OCR 輸出中包含 ift,但原文中也可能出現真正的 f 。請對照圖像修正詞彙,而非依賴一刀切的替換規則。
我們八次呼叫實驗的結果
在 2026 年 9 月 11 日,我們將兩段原創的三行教學短文分別以 UnifrakturMaguntia 與 Noto Sans字型渲染。每張圖像均使用兩種固定的 Tesseract 模型進行識別: tessdata_best Fraktur 文字模型與其英文模型。英文配置僅作為對照組, 並非 現代德語基準。
這八次呼叫全部使用 Tesseract 5.5.3、LSTM 模式(--oem 1)、單一文字區塊(--psm 6)以及 300 dpi。在最初的實驗中,我們沒有更改設定、排除結果或重試辨識。9 月 12 日針對相同八張圖片進行的打包重測,也完全重現了先前儲存的輸出位元組。
這些圖片均透過 Apple CoreText 進行真實字形塑造(shaping)並啟用了合字,而非僅繪製未塑形的單一字符方塊。圖片在 2200 × 460 的白色畫布上呈現 64 像素的文字。圖片、字形數量檢查、字型授權、模型雜湊值以及原始輸出皆收錄於 實驗套裝指示說明.

專用模型仍需要校正
第一行來源文字為:
Das Waſſer iſt klar.
在 Fraktur 字型圖片上,Fraktur 模型的辨識結果為:
Das Waſſer ift klar.
該行大部分內容均正確保留,但 ſ (出自 iſt )變成了 f。在第二個段落中, Das Thal iſt weit. 變成了 Das Thal if weit.:辨識改變了一個字元,並遺漏了另一個字元。就算輸出結果讀起來像是通順的德文,也絕不能取代對照原文的校對工作。
在現代字型對照組中則出現了另一種錯誤。Fraktur 模型保留了第一段中的所有單詞,但將 Buch 12; Seite 27; Nummer 105. 中的兩個分號改成了冒號。如果只檢查長 s,就會忽略這些標點符號的變化。
比對基準會改變評分結果
我們將每筆原始輸出與辨識前即已固定的兩個基準進行比對:完全精確的原始文字,以及 僅 ſ → s的來源文字。兩種比對都會將 Unicode 正規化為 NFC 並摺疊空白字元;同時保留大小寫與標點符號。在評分之前,我們不會對原始輸出進行任何對折處理。
以下數值為字元編輯距離(包含插入、刪除與替換),並非準確率百分比。
| 段落 | 渲染字型 | OCR 模型 | 相較精確原文的編輯次數 | 相較僅正規化長 s 目標的編輯次數 |
|---|---|---|---|---|
| 長 s 與數字 | Fraktur | Fraktur | 1 | 6 |
| 長 s 與數字 | Fraktur | 英文 | 8 | 8 |
| 長 s 與數字 | Noto Sans | Fraktur | 2 | 8 |
| 長 s 與數字 | Noto Sans | 英文 | 7 | 7 |
| 帶有歷史風格的拼寫 | Fraktur | Fraktur | 2 | 4 |
| 帶有歷史風格的拼寫 | Fraktur | 英文 | 7 | 7 |
| 帶有歷史風格的拼寫 | Noto Sans | Fraktur | 0 | 3 |
| 具歷史特徵的拼寫 | Noto Sans | 英文 | 4 | 4 |
某一行中的 0 僅代表針對該段簡短輸入完全吻合,並不代表實體書籍下一頁的辨識表現。反之,若某個模型正確保留了 ſ ,但在與要求 s的目標文本比對時,就會產生額外的差異。這些差異反映的是標準規範的不一致,而不一定是辨識錯誤。
查閱 所有原始輸出與評分、 固定來源文本與評分規範,或 驗證指令稿。該套件記錄了 SHA-256 雜湊值,以便將模型、影像與輸出結果逐一核對。
這項實驗無法告訴你的事
這些測試樣本是兩段乾淨、大字體的合成段落,而非古籍掃描件。我們並未測試褪色墨跡、小字體、書脊內邊距、多欄排版、受損紙張、手寫字,亦未納入獨立的人工轉錄對照。此外,我們也沒有測試現代德語模型、商業 OCR 工具,或 BookTranslator 本身的 OCR 與翻譯輸出。
請將這些範例視為促使你檢查自家材料的契機,而非整本書錯誤率的估算值。我們不會單憑這個表格就為歷史文獻典藏挑選 OCR 服務。
在您實際需要的頁面上進行局部測試
若你在本機使用 Tesseract,請在比較輸出結果前記錄引擎版本與確切的模型檔案。僅憑模型名稱無法確認下載的具體檔案。我們的 來源追蹤記錄 已連結至固定版本的公開模型與字型來源;較大的模型檔案並未隨附於本文中。
針對我們的 單區塊範例影像,將 Fraktur 劇本模型儲存在本機為 models/Fraktur.traineddata,執行的指令如下:
tesseract samples/long-s-fraktur.png stdout --tessdata-dir ./models -l Fraktur --oem 1 --psm 6 --dpi 300
Tesseract 的 命令列說明文件 詳細說明了 LSTM 模式以及 PSM 6 的「單一統一文字區塊」假設。這個假設很符合我們這張只有三行的圖片,但並不代表建議將每一頁多欄排版的書籍頁面都用 PSM 6 來處理。
處理您自己的書籍時,建議先從一段您有把握轉錄的文字,以及一頁能代表整體難度的較複雜頁面開始測試。挑選的內容最好包含人名或生僻字詞、數字以及任何字體的變化。如果書籍中交替出現不同文字系統或語言,請參考專門的 多語言 PDF OCR 指南 ,切勿預設單一乾淨的 Fraktur 段落設定就能涵蓋整份文件。
請保持掃描圖檔不變。將原始 OCR 結果與校正內容分開儲存,並為每個核對過的段落記錄頁碼或圖片識別碼。如果辨識輸出完全無法閱讀,在將作業擴大到數百頁之前,請先重新檢視頁面圖檔與版面分割設定。
校正轉錄內容時,切勿憑空捏造缺失的文字
建議使用包含四欄的簡易校正紀錄表:來源位置、原始 OCR 結果、校對後的讀法,以及原因。原因欄應清楚區分出「肉眼可見的字元錯誤」與「編輯層面的文字轉換」。
| 觀察情況 | 建議做法 | 應避免的做法 |
|---|---|---|
圖片中清晰顯示為 iſt;OCR 結果卻是 ift | 對照圖片校正此處出現的錯誤 | 直接替換文件中所有的 f 字元 |
OCR 保留了原始的 rothe,但為了便於閱讀您希望改為 rote 字型 | 保留來源原本的形式,並另行建立標註過的現代化衍生版本 | 將現代化轉換誤當作 OCR 校正 |
| 數字或標點符號不一致 | 即使前後文句讀起來通順,仍應仔細核對該位置 | 只檢查不常見的字母字形 |
| 圖片確實無法辨識 | 在工作逐字稿中標註不確定之處,並保留圖片出處參照 | 將模型生成的合理詞彙直接當作還原的事實證據 |
若下載的 PDF 中文字已可反白選取,在重新開始前,請先將貼上的文字與圖片進行比對。 PDF 複製貼上診斷 說明了為何可見頁面看似正確,但其隱藏或對應的底層文字卻可能錯誤。這與選擇 Fraktur 辨識模型是完全不同的問題。
若您的主要目標僅是搜尋、查證引文或閱讀德文,那麼在產出可靠的原文文本後即可停止。翻譯並不是必經的清理步驟。
僅在語言本身仍是障礙時進行翻譯
對於需要其他語言的讀者而言,經校對的原文才是翻譯能發揮作用的起點。請將掃描圖檔、校對後的逐字稿與譯文清楚區分,以便在有爭議時能釐清問題源自辨識還是翻譯。 掃描 PDF 翻譯工作流程 提供了更完整的銜接流程說明。
若您選擇使用 BookTranslator 的 PDF 翻譯工具,在採納完整結果之前,請先針對文件的代表性章節評估品質。我們的實驗並 未 驗證 BookTranslator 處理歷史 Fraktur 字體的成效。其 OCR 模式會重新構建出乾淨的文件,並可能調整原始排版、字型與字型大小;請勿將該輸出結果視為原貌傳真,亦不可假設原始頁碼參照完全維持不變。
實務上的順序很單純:確立原文釋讀內容、標註所有現代化改寫,最後在必要時進行翻譯。流暢度應留在流程的最後一步——而不是在一開始就用它取代事實依據。





