SlangGuy's Blog ...

Frak­tur digi­ta­li­sie­ren – alte Schrift, neue Technik

Haben Sie hin & wie­der mit in Frak­tur gesetz­ten Tex­ten zu tun? Wol­len Sie aus einem sol­chen zitie­ren oder das Teil ein­fach durch­such­bar machen? Viel­leicht wol­len Sie so eine alte Schwar­te in Ihrem feschen e‑Book-Rea­der les­bar in den Urlaub mit­neh­men. Ich zei­ge Ihnen rasch, wie das geht, ohne dass Sie die hap­pi­gen Prei­se für die Frak­tur-Optio­nen der gro­ßen OCR-Pro­gram­me berap­pen müs­sen. In maxi­mal fünf­zehn Minu­ten – nach Über­flie­gen des Arti­kels – kön­nen Sie loslegen.

Ich hat­te die OCR-Soft­ware »Tes­seract« im Zusam­men­hang mit der Erken­nung der guten alten Frak­tur schon mal im Blog vor­ge­stellt. Aber das ist eine Wei­le her. Die gan­ze Geschich­te ist denn auch – zwei, drei Soft­ware-Ver­sio­nen spä­ter – herz­lich ver­al­tet. Da jedoch immer noch täg­lich Inter­es­sier­te auf der alten Sei­te lan­den und eine gan­ze Rei­he ein­schlä­gi­ger E‑Mails mit Anfra­gen ein­ge­tru­delt sind, habe ich mich noch mal hin­ge­setzt und geguckt, was sich in Sachen Frak­tur-OCR getan hat. 

Das Pro­blem mit der phan­tas­ti­schen und – neben­bei bemerkt – kos­ten­lo­sen & frei­en OCR-Soft­ware »Tes­seract« ist, jeden­falls für uns Win­dows-Nut­zer, dass das UNIX-Pro­gramm über kei­ne nut­zer­freund­li­che GUI (gra­phi­sche Benut­zer­ober­flä­che), auch Front­end genannt, ver­fügt, son­dern über Kom­man­do­zei­len bedient wer­den muss. Für Linux-User ein Klacks … 

Wir brau­chen also zwei­er­lei:
Ein Win­dows-Front­end für die neu­es­te Ver­si­on von »Tes­seract«
(das ist die 5.0)
sowie ordent­lich »trai­nier­te« Erken­nungs­da­tei­en,
in unse­rem Fall für die Frak­tur.

Kei­ne Ban­ge: Ich habe Ersatz für besag­te ver­al­te­te gra­phi­sche Benut­zer­ober­flä­che auf­ge­tan. Mein alter Vor­schlag war ohne­hin etwas pri­mi­tiv; es gibt mitt­ler­wei­le wei­te­re – und die, die ich Ihnen hier vor­stel­len möch­te, ist auch von der Optik her weit­aus flot­ter. Gucken Sie mal: 

Die­ses doch recht ansehn­li­che Front­end für unse­re Tes­seract-OCR-Datei­en nennt sich »gIma­ge­Rea­der«, und wir zie­hen uns das Teil gleich mal als ers­tes hier. Scrol­len Sie zum Down­load etwas run­ter. Ich habe mir die Datei »gImageReader_3.4.0_qt5_x86_64.exe« gezo­gen und instal­liert. Kann sein, dass Ihre Fire­wall mault & das unter Qua­ran­tä­ne stellt, aber da gehen Sie eben vor wie sonst auch in sol­chen Fäl­len. Wie auch immer, die­se GUI unter­stützt nun auch die OCR-Datei­en für »Tes­seract 5.0«, das ja erst Ende Novem­ber ’21 fer­tig wur­de. Also ganz frisch. Mer­ken Sie sich bit­te, wohin Sie die Soft­ware instal­lie­ren, da wir dort auch gleich noch die eigent­li­chen OCR-Datei­en rein­schie­ben müs­sen. Dass Ihr PC für die­se niet­na­gel­neue Soft­ware auf dem neu­es­ten Stand sein soll­te, ver­steht sich von selbst … 

Jetzt zu den eigent­li­chen Tes­seract-Datei­en: Da hat sich in Sachen Frak­tur die Uni­ver­si­tät Mann­heim ver­dient gemacht. Dort liest man damit sei­nen Schatz an alten deut­schen Zei­tun­gen ein. Und vor allem trai­niert man die Erken­nungs­da­tei­en flei­ßig wei­ter. Wir benut­zen also nicht die Stan­dard-Tes­seract-Datei­en, son­dern die von der Uni Mann­heim »trai­nier­ten«. Des­halb haben die­se auch die Datei-Endung *.trai­ned­da­ta.

Die Suche nach dem, was wir brau­chen, gestal­tet sich kom­pli­ziert, weil man sich da doch irgend­wie durch­ackern muss, aber da ich das schon erle­digt habe, zie­hen Sie sich ein­fach mal die der­zeit aktu­el­le Datei, die laut Web­site der Uni der­zeit die bes­ten Ergeb­nis­se erzielt: frak2021‑0.905.traineddata. Las­sen Sie sich nicht erst groß ver­wir­ren. In dem von mir ein­ge­le­se­nen Bei­spiel­buch (Arnold Gen­the, Deut­sches Slang) brach­te die­se auch die bes­ten Ergeb­nis­se. Wenn ich schon mal vor­aus­schi­cken darf, dass ich begeis­tert war. Kein Ver­gleich zu mei­nen Ver­su­chen vor eini­gen Jahren! 

Jetzt müs­sen wir die­se Datei noch in das Pro­gramm­ver­zeich­nis schie­ben, damit gIma­ge­Rea­der sie auch fin­det. Falls Sie bei der Instal­la­ti­on kein ande­res Ziel­ver­zeich­nis ange­ge­ben haben, ist fol­gen­des das rich­ti­ge Zuhau­se dafür: …\gImageReader\share\tessdata. Ihr PC wird Sie bit­ten, das in der dazu benö­tig­ten Eigen­schaft des Admi­nis­tra­tors zu tun, falls es Ihnen auch als sol­cher nicht gelin­gen soll­te, geben Sie in den Ein­stel­lun­gen des gIma­ge­Rea­der (das gekreuz­te Werk­zeug rechts oben) unter »Preferences>Language lan­guage defi­ni­ti­ons path« Ihren Wunsch­pfad ein und schie­ben sie die OCR-Datei[en] dort rein. 

Wo Sie schon im Instal­la­ti­ons-Ver­zeich­nis von gIma­ge­Rea­der sind, gehen Sie doch gleich noch in das Unter-Ver­zeich­nis …\gImageReader\bin und sor­gen Sie für eine flot­te Ver­knüp­fung der Datei »gimagereader-qt5.exe« mit Ihrem Desk­top. Die Instal­la­ti­ons­rou­ti­ne scheint eine sol­che Opti­on nicht anzubieten … 

Wenn Sie den gIma­ge­Rea­der geöff­net haben, sehen Sie in der Mit­te oben die jeweils akti­ve OCR-Datei, augen­blick­lich das Eng­li­sche, da die Soft­ware sonst kei­ne mit­lie­fert. Es gibt sie jedoch defi­ni­tiv für jede Spra­che, die Ihnen nur ein­fal­len möch­te, aber davon spä­ter … Kli­cken Sie nun rechts dane­ben auf die blaue Flag­ge. Falls hier nur Eng­lisch ange­zeigt wird, gehen Sie noch mal zu den Werk­zeu­gen und kli­cken bit­te »Rede­tect Lan­guages«, dann soll­te die Frak­tur-OCR auf­tau­chen. Damit sind Sie bereit für die Datei-Eingabe … 

Ich möch­te hier nicht zu sehr ins Detail gehen, weil alles Übri­ge wie üblich mit etwas Geduld durch Ankli­cken aller Optio­nen raus­zu­fin­den ist. Will auch nie­man­den bevor­mun­den. Aber für eini­ge ers­te Schrit­te bin ich eigent­lich selbst auch immer recht dank­bar. Also: 

  • Sie kön­nen sich an einem Direkt-Scan ver­su­chen. Dazu in der lin­ken Spal­te (die Sie übri­gens mit­tels des bun­ten Bild­chens in der lin­ken obe­ren Ecke ein- und aus­blen­den kön­nen) auf »Acqui­re« gehen. Dort dürf­te dann auch schon Ihr Scan­ner ange­zeigt sein. Falls auf einen Klick auf »Scan« hin Ihre Twa­in-Schnitt­stel­le auf­geht, Glück gehabt! Falls nicht dürf­te das eine der Zeit­sen­ken wer­den, die ich mir mitt­ler­wei­le erst gar nicht mehr antue. 
  • In letz­te­rem Fall scan­nen Sie lie­ber mit Ihrer übli­chen Scan-Soft­ware und füt­tern iIma­ge­Rea­der mit fer­ti­gen Bil­dern. Das geht näm­lich nun wirk­lich geschmei­dig. Dazu gehen Sie bit­te in der lin­ken Spal­te auf »Files« und han­geln sich bis zu Ihrem Bild­ver­zeich­nis durch. Oder Sie schie­ben ihre jpgs oder was auch immer aus dem Bild­ver­zeich­nis per Drag & Drop ins obe­re Feld. Das ist wirk­lich eine fei­ne Sache. 
  • Sie kön­nen die zu scan­nen­den Berei­che bzw. den betref­fen­den Text dann mar­kie­ren. Um nur ein Bei­spiel zu zei­gen. Im fol­gen­den Screen-Shot habe ich bei gedrück­ter Strg/C­trl-Tas­te zwei Rah­men gezo­gen, und fer­tig war die Laube: 

Zur eigent­li­chen Tex­terken­nung brau­chen Sie jetzt nur noch in der Mit­te oben auf die Spra­che zu drü­cken. Vor­her kön­nen Sie noch links dane­ben unter »Scan Mode« zwi­schen »Plain Text« und »hOCR/PDF« wäh­len. Das müs­sen Sie ein­fach aus­pro­bie­ren. Das­sel­be gilt für die Ent­schei­dun­gen, wie das Pro­gramm die Sei­te inter­pre­tie­ren soll. Dazu die blaue Flag­ge und dann »Page Seg­men­ta­ti­on Mode« … Wie auch immer: Bit­te nicht mich fragen. 

Wie Sie sehen, kön­nen Sie am grü­nen Schnarch­bal­ken unten rechts den Fort­schritt der Pro­ze­dur mit­ver­fol­gen. Die Geschich­te geht selbst bei zig Sei­ten ziem­lich flott. Es erscheint dann rechts eine drit­te Spal­te, die Sie nicht wei­ter ver­wir­ren soll. Sie kön­nen bei Gele­gen­heit mal in Ruhe aus­kla­mü­se­rn, was das alles soll. Wenn Sie etwa die Häk­chen von bestim­men Absät­zen weg­ma­chen, wer­den die­se beim Export ausgelassen. 

Die ver­schie­de­nen Scan-Modi bedin­gen unter­schied­li­che Export­mög­lich­kei­ten. Fan­gen Sie ein­fach mal mit »Plain Text« an. Spei­chern Sie das gan­ze in der rech­ten Spal­te durch einen Klick auf das zwei­te Icon von links unter einer *.txt-Datei. Dann haben Sie schon mal was. Die kön­nen Sie dann in Word oder im Wri­ter von Open/Libre Office weiterbearbeiten. 

Wenn Sie wei­te­re Erken­nungs­spra­chen benut­zen wol­len, es gibt sie wie gesagt alle, dann schau­en Sie mal hier. Suchen Sie sich aus, was Sie brau­chen, kli­cken Sie drauf und dann im nächs­ten Fens­ter rechts auf Down­load. Mit den Datei­en ver­fah­ren Sie bit­te wie gehabt: ein­fach ins jewei­li­ge tess­da­ta-Unter­ver­zeich­nis des Instal­la­ti­ons­ord­ners ver­schie­ben. Dann die Spra­chen­lis­te auf­fri­schen. Sie­he oben. 

Das wär’s erst mal. Die­ses Front­end ist ein biss­chen kom­pli­zier­ter als der Vor­schlag vor eini­gen Jah­ren, aber dafür lässt sich auch mehr mit machen. Das The­ma lässt sich bei Gele­gen­heit sicher noch etwas aus­füh­ren. Aber für’s Ers­te dürf­te es wohl genü­gen. Pro­bie­ren Sie’s ein­fach mal aus … Und hin­ter­las­sen Sie ruhig einen Kom­men­tar, statt e‑Mails zu schi­cken, da haben dann alle was von. Fra­gen beant­wor­te ich ger­ne, so weit ich bereits Bescheid weiß, ich kann nur dar­über hin­aus kei­ne Zeit investieren … 

Ers­te Nachträge 

Die Datei­en für Recht­schrei­bung & die Prü­fung sel­bi­ger. Mein zwei­tes Anlie­gen neben der Frak­tur war eine OCR-Soft­ware für das Rus­si­sche. Ent­spre­chend habe ich das auch gleich aus­pro­biert. Da kam jedoch die Mel­dung, die »spell check«- & »dic­tion­a­ry-Datei­en« sei­en nicht instal­liert. Die ange­bo­te­ne auto­ma­ti­sche Instal­la­ti­on woll­te jedoch nicht, wie sie soll­te. (Ver­mut­lich irgend­wel­cher Zugriffs­rech­te auf die Sys­tem­plat­te wegen.) So habe ich mich auf die Suche gemacht & bin fün­dig gewor­den. Unser gIma­ge­Rea­der arbei­tet mit den Spell­ch­eck-Datei­en von Open/­Lib­re-Office. Die gibt es hier. Suchen Sie ein­fach das logi­sche Kür­zel für die von Ihnen gewünsch­te Spra­che, kli­cken den ent­spre­chen­den blau­en (!) Link an und zie­hen sich auf der fol­gen­den Sei­te per Rechts­klick (Ziel spei­chern unter) zwei Datei­en mit der Endung *.aff respek­ti­ve *.dic. In mei­nem Fall also »ru_Ru.aff« & »ru_Ru.dic«. Die­se schie­ben Sie dann bit­te in das uns bereits bekann­te Instal­la­ti­ons­ver­zeich­nis, genau­er gesagt in das Unter­ver­zeich­nis »gImageReader\share\myspell«. Ich habe rasch einen Screen-Shot von einer rus­si­schen Web­site gemacht & ein­ge­le­sen. Tadellos! 

Was die recht ordent­li­chen Resul­ta­te der Frak­tur-Erken­nung anbe­langt, gilt, was ich schon in mei­nem alten Arti­kel dazu gesagt habe: Die Feh­ler, die aus­ge­ge­ben wer­den, tau­chen in der Regel öfter auf & las­sen sich in der Text­ver­ar­bei­tung mit­tels »Alles erset­zen« größ­ten­teils mühe­los til­gen. Hier emp­feh­le ich allen, sich ein Makro zu schrei­ben, das alle Feh­ler auf einen Streich abar­bei­tet. Wenn man das pflegt, bekommt man nach ein paar Nach­bes­se­run­gen des Makros bereits mehr als anstän­di­ge Datei­en. Ver­su­chen Sie ein­fach, so vie­le Regel­mä­ßig­kei­ten zu erken­nen wie irgend mög­lich und notie­ren sich die­se in ein gutes altes Schulheft … 

Um nur ein Bei­spiel für das Ers­te zu nen­nen, was man dies­be­züg­lich machen kann: das »lan­ge s« (»ſ« Uni­code U+017f), das bei der Frak­tur einem »f« ohne Strich­lein in der Mit­te gleicht, in ein »s« umwan­deln. Sozu­sa­gen der ers­te Schritt des Makros. Da sieht der Text gleich ganz anders aus … 

Ich habe ein biss­chen mit ver­schie­de­nen Kom­bi­na­tio­nen & Erken­nungs­da­tei­en expe­ri­men­tiert, um zu sehen, was da raus­zu­ho­len ist. Und ich denk mal, da kann man nicht mau­len. Da der Begriff Frak­tur im wei­te­ren wie im enge­ren Sin­ne unter­schied­li­che Fonts bezeich­net, soll­te man viel­leicht alle ver­füg­ba­ren aus­pro­bie­ren. (Es gibt übri­gens auch eine spe­zi­ell mit öster­rei­chi­schen Zei­tun­gen trai­nier­te Erken­nungs­da­tei). Ich zei­ge Ihnen hier mal ein Ergeb­nis mit fol­gen­der Kombi:

  • die Erken­nungs­da­tei mit dem Namen »frak2021‑0.905.traineddata«. (Kli­cken Sie, der Link führt Sie direkt ins Repo­si­to­ri­um der Uni Mannhein (Dan­ke, Leu­te!). Laden Sie die Datei & ver­fah­ren damit wie oben beschrie­ben. Die­se Datei ist dann im gIma­ge­Rea­der anzuwählen. 
  • der Scan-Modus war »hOCR/pdf«
  • unter »Page Seg­men­ta­ti­on Mode« war »Assu­me sin­gle column of text« ange­klickt
  • expor­tiert habe ich unter »Out­put« (rech­te Spal­te) mit »save as hOCR text«; das gibt ein html-Doku­ment. (Da lässt sich der Text schön mar­kie­ren & zur wei­te­ren Ver­ar­bei­tung kopie­ren.) Html emp­fand ich bis­her als die ein­fachs­te & schnells­te Lösung. 
  • das ers­te Doku­ment ist unbe­ar­bei­tet; für das zwei­te habe ich die im gIma­ge­Rea­der ein­ge­bau­te »Find and Replace«-Funk­ti­on benutzt. (Das ist der Feld­ste­cher in der Out­put-Spal­te.) Hier habe ich ins obe­re Feld ein »lan­ges s« rein­ko­piert (habe ich aus einer ande­ren Datei kopiert) und ins zwei­te unser heu­ti­ges »s«; dann »replace all« gedrückt und sie­he da … 

Die Ver­si­on mit dem moder­nen »s« sieht nun wirk­lich ver­dammt gut aus & lässt sich in jeder Text­ver­ar­bei­tung recht flott durch­kor­ri­gie­ren; das ist das bes­te Resul­tat, das ich je bekom­men habe. 

Das Erset­zen von bestimm­ten Zei­chen im gIma­ge­Rea­der selbst: Nach erfolg­tem Scan erscheint – wie oben erwähnt – rechts eine drit­te Spal­te mit dem Titel »Out­put«. Kli­cken Sie bit­te dort auf den Feld­ste­cher; damit öff­nen Sie die Opti­on »Find and Replace«. Hier kli­cken Sie am bes­ten gleich mal »Match case«; damit sagen Sie dem Pro­zess, dass er Klein- und Groß­schrei­bung beach­ten soll. 

Was sich her defi­ni­tiv anbie­tet ist, das »lan­ge s« in unser heu­ti­ges »s« umzu­wan­deln. Das »lan­ge s« erzeugt man mit­tels eines Uni­code-, tja, Codes: »U+017f«. Das geht jedoch nur in einer Text­ver­ar­bei­tung, also etwa in Word oder dem (längst bes­se­ren) Wri­ter von Libre/O­pen-Office. Sie tip­pen den Code ein und drü­cken dann, ohne ein Leer­zei­chen zu set­zen (!), die Tas­ten­kom­bi­na­ti­on »Alt+c«. Dann soll­te das »ſ« erschei­nen. Das lässt sich dann in das Feld »Find« kopie­ren. Um den Buch­sta­ben dann im gan­zen Text zu erset­zen, drü­cken Sie ein­fach auf den zwei­ten Feld­ste­cher rechts neben dem Feld »Replace«. Mit­tels des ers­ten kann man sich wohl ein­zel­nen durch­han­geln; das habe ich aber noch nicht ausprobiert. 

Das Erset­zen in gImage rea­der führt nicht etwa zu neu­en Feh­lern dort, wo die Soft­ware ein »s« statt eines »f« gele­sen hat, son­dern man sieht die­se nur deut­li­cher. (Was durch­aus ein Vor­teil bei der Nach­kor­rek­tur in der Text­ver­ar­bei­tung ist.) Außer­dem sehe ich in mei­nem Bei­spiel­text, dass ein »p« gern mal zu »y« wird. Das muss man für sich selbst aus­ta­rie­ren, was einem da lie­ber ist. So oder so, das Ergeb­nis ist bes­ser als alles, was ich frü­her geschafft habe. 

Dieser Beitrag hat 8 Kommentare

  1. Gandalf

    Hal­lo! Vie­len Dank für die Benach­rich­ti­gung!!! Super Hil­fe­stel­lung! Es ist mög­lich, das ich die neu­en Datei in Ihre alte Ver­si­on der Benut­zer­ober­flä­che getan habe. Mein eng­lisch ist nicht so gut. Man man tut sich da schwer wenn so viel Text auf den Sei­ten ist. das mit dem ERset­zen von dem lan­gen s ver­ste­he ich noch nicht ganz. Darf ich noch fra­gen, wie geht das mit dem U+017f? Wenn es nicht zu viel Mühe macht? Vor­ab schon mal Dank!

  2. SlangGuy

    Das mit dem »U+« funk­tio­niert wohl nur in einer Text­ver­ar­bei­tung: Also »U+017f« in Word oder im Wri­ter ein­ge­ben & dann OHNE ABSTAND »Alt+c« drü­cken; dann soll­te das »lan­ge s« erschei­nen. Viel­leicht lässt es sich auch aus dem Wiki­pe­dia-Arti­kel (sie­he Link) dazu kopie­ren. Aber am ein­fachs­ten ist es, wie ich gemerkt habe, den Scan rasch mal als html-Doku­ment zu expor­tie­ren & das »lan­ge s« dann dort rauszunehmen.
    Das Erset­zen in gImage rea­der führt selbst­ver­ständ­lich zu Feh­lern dort, wo die Soft­ware ein »s« statt eines »f« gele­sen hat. Und dann soll­te man wohl »Match case« (= »Groß- und Klein­schrei­bung beach­ten«) ankli­cken, damit groß­ge­schrie­be­ne Sub­stan­ti­ve auf »S« nicht plötz­lich klein geschrie­ben wer­den. Außer­dem sehe ich, dass ein »p« gern mal zu »y« wird. Das muss man für sich selbst aus­ta­rie­ren, was einem da lie­ber ist. So oder so, die Sei­ten waren in der Text­ver­ar­bei­tung unter Scher­zen und Lachen flugs durchkorrigiert.

  3. Reiner G.

    Hal­lo. Also muss ich jetzt echt sagen, Dass mit der Mail hät­te ich echt nicht erwar­tet. Das schreit förm­lich nach einem Dan­ke­schön. Ich hat­te nähm­lich total auf­ge­ge­ben. Mir gehts da wie Gan­dalf: Eng­lisch nicht gut genug für kilo­me­ter­lan­ge Sei­ten Manu­al. Und übri­gens habe ich gar nicht gewusst, das­set das lan­ge s am PC über­haupt gibt. DANK!

  4. Hermann

    Moin­mo­in! Möch­te mich dem Dank der Kol­le­gen anschlie­ßen. Jetzt ver­ste­he ich auch, dass Sie da wohl recht vie­le Mails hat­ten?! Asche auf mein Haupt! Des­we­gen dop­pel­ten Dank für die Nachricht!!!

  5. Philipp

    Gut das ich nicht gemailt habe. Ich dach­te näm­lich die gan­ze Soft­war nach der alten beschrei­bung is für Popo. Wäre doch sehr dreißt gewe­sen. Dafür jetzt Dan­ke. Ich hof­fe dass ich so jetzt end­lich mei­ne Alt­vor­de­ren in den Com­pu­ter werd brin­gen kön­nen. Gruß!

  6. Eberhard

    Fir­ma dankt! Kann mich dem all­ge­mei­nen Dan­ke­schor nur anschlie­ßen. Übri­gens hät­te ich nich tge­dacht dass das so vie­le über­haupt inter­es­siert. Sie schei­nen da in eine rich­ti­ge Lücke gesto­ßen zu sein. Noch mal dan­ke für das Mail!

  7. Ulli

    Auch von mir ein herz­li­ches Dan­ke. Und es funk­tio­niert in der hier beschrie­be­nen Wei­se. Die ande­ren Export­funk­tio­nen schei­nen eher noch in Arbeit. Super. Genau das was ich seit Jah­ren wollte.

  8. Chris

    Unglaub­lich. Das ist eine Anlei­tung, die auch ein Nicht-IT-Exper­te ver­ste­hen und anwen­den kann. Das didak­ti­sche Talent fin­de ich bewun­derns­wert und eben­so die Bereit­schaft so etwas für Ande­re zu erstel­len und zu ver­öf­fent­li­chen. Ein rie­si­ges Dan­ke­schön! End­lich Frak­tur­schrif­ten ordent­lich erken­nen ohne müh­sa­me Windows-Befehlseingabe.

Schreibe einen Kommentar