• Hallo liebe Userinnen und User,

    nach bereits längeren Planungen und Vorbereitungen sind wir nun von vBulletin auf Xenforo umgestiegen. Die Umstellung musste leider aufgrund der Serverprobleme der letzten Tage notgedrungen vorverlegt werden. Das neue Forum ist soweit voll funktionsfähig, allerdings sind noch nicht alle der gewohnten Funktionen vorhanden. Nach Möglichkeit werden wir sie in den nächsten Wochen nachrüsten. Dafür sollte es nun einige der Probleme lösen, die wir in den letzten Tagen, Wochen und Monaten hatten. Auch der Server ist nun potenter als bei unserem alten Hoster, wodurch wir nun langfristig den Tank mit Bytes vollgetankt haben.

    Anfangs mag die neue Boardsoftware etwas ungewohnt sein, aber man findet sich recht schnell ein. Wir wissen, dass ihr alle Gewohnheitstiere seid, aber gebt dem neuen Board eine Chance.
    Sollte etwas der neuen oder auch gewohnten Funktionen unklar sein, könnt ihr den "Wo issn da der Button zu"-Thread im Feedback nutzen. Bugs meldet ihr bitte im Bugtracker, es wird sicher welche geben die uns noch nicht aufgefallen sind. Ich werde das dann versuchen, halbwegs im Startbeitrag übersichtlich zu halten, was an Arbeit noch aussteht.

    Neu ist, dass die Boardsoftware deutlich besser für Mobiltelefone und diverse Endgeräte geeignet ist und nun auch im mobilen Style alle Funktionen verfügbar sind. Am Desktop findet ihr oben rechts sowohl den Umschalter zwischen hellem und dunklem Style. Am Handy ist der Hell-/Dunkelschalter am Ende der Seite. Damit sollte zukünftig jeder sein Board so konfigurieren können, wie es ihm am liebsten ist.


    Die restlichen Funktionen sollten eigentlich soweit wie gewohnt funktionieren. Einfach mal ein wenig damit spielen oder bei Unklarheiten im Thread nachfragen. Viel Spaß im ngb 2.0.

Darstellung chinesischer Schriftzeichen in Microsoft Word 6.0-Dokumenten [erledigt]

Jonny

Weltgeistjünger
Veteran

Registriert
14 Juli 2013
Beiträge
83
Hallo ihr Lieben,

ich habe beim Retten von 300 Disketten ungefähr 2.000 Worddokumente gesichert, die altes sinologisches Forschungsmaterial beinhalten - ungefähr aus dem Zeitraum späte 1980er bis frühe 2000er-Jahre.

Die Dateien werden in Word (Professional Premium Plus 2013) zwar korrekt geöffnet; die Formatierung ist größtenteils erhalten - Lautschrift (vermutlich mittels IPA-Zeichen, das kann ich nicht wirklich sagen) und chinesische Zeichen - egal ob traditionelle (also sowas wie "中華人民共和國") oder vereinfachte (also sowas wie "中华人民共和国") - hingegen nicht. Diese werden in Word als wüste Symbolansammlung dargestellt. Dass es sich um IPA oder überhaupt Lautschrift handelt ist nur eine Vermutung meinerseits, eigentlich ist das in der Sinologie weniger üblich - dem Autor der Texte traue ich das allerdings zu. Diese Vermutung macht das Unterfangen noch ein wenig komplizierter, weil ich eben nicht genau sagen kann, an welcher Stelle eigentlich jetzt Schriftzeichen oder aber IPA stehen sollte. Der Zeichenwust wird entweder in der Schrift ChA FMing S5 oder Chn FKai M5 dargestellt - was dann wie folgt aussieht:
Chn FKai M5ChA FMing S5
¥ì ¤¨, §f ©|, ºÞ ¦i §^,
¦Ê ¨½ ®O, ¦¹ ÅQ ¤ý ªÌ
¤§ ²î Æk ¤]
1.

2.

3.


4.

5.

Ich habe zwar in diesem Wust an Daten auch eine Worddatei entdeckt, die einem erklären will, wie man die Zeichen korrekt darstellt; diese empfiehlt sowohl die Schriftart tbsb8.ttf (TBSBChinese 8) als auch STEDT___.ttf zu installieren. Die STEDT___.ttf war auf einer der Disketten vorhanden und hat einige Umlautdarstellungsproblematiken beheben können, auch die tbsb8.ttf ist vorhanden gewesen, scheint allerdings beschädigt zu sein, Windows sagt mir bei der Installation zumindest, dass es sich bei der Datei um keine gültige Schriftartendatei handelt - checkfiletype.com sagt mir:
Code:
File Type: TrueType font data
- raw G3 data, byte-padded

MIME Type: application/octet-stream
Suggested file extension(s): bin dms lha lzh exe class so dll img iso
Erstaunlich dabei, dass ich bei einer Googlesuche nach besagter TTF keine wirklich hilfreichen Ergebnisse finde: https://www.google.de/#q=TBSB8.TTF.

Zum Glück liegt einer dieser Worddokumente auch als PDF vor, in der die Zeichen korrekt dargestellt werden. So steht...
in der DOCin der PDF
½Ã ÆF ¤½ °Ý ³¯ ©ó ¤Õ ¤l ¡C ¤Õ ¤l ¹ï ¤ê ¡C «[ ¨§ ¤§ ¨Æ ¡C «h ¹Á »D ¤§ ¨o ¡C *x ®È ¤§ ¨Æ ¡C ¥¼ ¤§ ¾Ç ¤] ¡C ©ú ¤é ¹E ¦æ衛 靈 公 問 陳 於 孔 子。孔 子 對 曰 。俎 豆 之 事 。則 嘗 聞 之 矣 。軍 旅 之 事 。未 之 學 也 。明 日 遂 行
Ich bin ehrlich gesagt vollkommen überfragt, wie ich diese Dateien noch retten kann; so haben sie leider kaum wirklichen Wert.

Weiß da jemand weiter :):coffee:? Ich wäre über Hilfe an dieser Stelle sehr erfreut :).
 
Zuletzt bearbeitet:

sia

gesperrt

Registriert
26 März 2015
Beiträge
5.931
Ort
FFM (NSFW)
Re: Darstellung chinesischer Schriftzeichen in Microsoft Word 6.0-Dokumenten

Eventuell kannst du den Namen der Schriftart irgendwie aus der PDF herausfinden.

Versuch mal, die Dateien mit LibreOffice zu öffnen, die haben mittlerweile recht gute Kompatibilität insbesondere mit alten Dateiformaten.

Eventuell kannst du auch "Word 6 für Windows NT" in einer VM ausführen.
 

Jonny

Weltgeistjünger
Veteran

Registriert
14 Juli 2013
Beiträge
83
  • Thread Starter Thread Starter
  • #3
Re: Darstellung chinesischer Schriftzeichen in Microsoft Word 6.0-Dokumenten

@phre4k: Vielen Dank für deine Ideen; LibreOffice hatte ich noch nicht bedacht :).

extractpdf.com gibt mir folgende Schriftarten aus, die helfen leider alle nicht und sind auch eher merkwürdige...
AHVHXM+Symbol.ttf
BOAHXM+MSTT31cc3b30.ttf
BOAIXM+MSTT31cc3b06.ttf
CCJHXM+MSTT31cc3b11.ttf
DTHIXM+MSTT31cc3b15.ttf
FESGXM+MSTT31cc3b1F.ttf
GMBHXM+MSTT31cc3b2F.ttf
HGZGXM+MSTT31cc3b12.ttf
ISNHXM+MSTT31cc3b0E.ttf
KJPHXM+MSTT31cc3b0F.ttf
LAOIXM+MSTT31cc3b08.ttf
MUTHXM+Times-Bold.ttf
NISGXM+MSTT31cc3b05.ttf
NVSGXM+MSTT31cc3b13.ttf
OHCIXM+MSTT31cc3b0C.ttf
QZFIXM+MSTT31cc3b1D.ttf
RWRHXM+MSTT31cc3b14.ttf
SDAHXM+MSTT31cc3b03.ttf
SWXGXM+MSTT31cc3b0D.ttf
TVGHXM+MSTT31cc3b0A.ttf
UNJIXM+MSTT31cc3b17.ttf
VNWGXM+MSTT31cc3b07.ttf
VZQHXM+MSTT31cc3b0B.ttf
WHFIXM+MSTT31cc3b18.ttf
WKKHXM+MSTT31cc3b02.ttf
WNSGXM+MSTT31cc3b1A.ttf
XKTHXM+MSTT31cc3b10.ttf
XLUHXM+MSTT31cc3b16.ttf
YTJHXM+MSTT31cc3b09.ttf
LibreOffice, sowie ein Microsoft Word 6.0 in einer Win95-VM - stellen die Zeichen leider genau wie in Professional Premium Plus 2013 dar, was mich ein wenig daran zweifeln lässt, dass die jemals Zeichen gezeigt haben - oder dass ich das ganze eben noch gar nicht raffe :D. Das "Microsoft Global IME (Input Method Editor) 5.02 for Windows 95, 98, and NT 4.0"-Paket hilft dort leider auch nicht.
 

musv

Bekannter NGBler

Registriert
15 Juli 2013
Beiträge
3.454
Ort
/dev/null
Re: Darstellung chinesischer Schriftzeichen in Microsoft Word 6.0-Dokumenten

Zum Glück liegt einer dieser Worddokumente auch als PDF vor, in der die Zeichen korrekt dargestellt werden. So steht...
in der DOCin der PDF
½Ã ÆF ¤½ °Ý ³¯ ©ó ¤Õ ¤l ¡C ¤Õ ¤l ¹ï ¤ê ¡C «[ ¨§ ¤§ ¨Æ ¡C «h ¹Á »D ¤§ ¨o ¡C *x ®È ¤§ ¨Æ ¡C ¥¼ ¤§ ¾Ç ¤] ¡C ©ú ¤é ¹E ¦æ衛 靈 公 問 陳 於 孔 子。孔 子 對 曰 。俎 豆 之 事 。則 嘗 聞 之 矣 。軍 旅 之 事 。未 之 學 也 。明 日 遂 行
Ich bin ehrlich gesagt vollkommen überfragt, wie ich diese Dateien noch retten kann; so haben sie leider kaum wirklichen Wert.
Mit Windows, Word und PDFs unter Windows kenn ich mich jetzt nicht wirklich aus. Aber das PDF könnte Deine Rettung sein.

Grundlage ist erst mal die, dass im PDF auch die jeweilige Schriftart eingebettet sein (muss/sollte). "Muss" deswegen, da sie sonst durch eine Systemschrift ersetzt werden würde, was bei Dir ja nicht der Fall sein kann. Ansonsten würde Word die auch nutzen.

In Poppler, was eigentlich in jedem Linux installiert ist, gibt's das Kommando pdffonts. Damit kannst du Dir anzeigen lassen, welche Schriftarten im PDF stecken. Im Grunde genommen ist das genau wie bei dem von Dir verwendeten extractpdf, nur noch etwas ausführlicher. Hier mal ein Beispiel:
Code:
pdffonts Diplomarbeit.pdf 
name                                 type              encoding         emb sub uni object ID
------------------------------------ ----------------- ---------------- --- --- --- ---------
Helvetica                            Type 1            Custom           no  no  no      89  0
Times-Bold                           Type 1            Custom           no  no  no      90  0
Times-Roman                          Type 1            Custom           no  no  no      91  0
Helvetica-Bold                       Type 1            Custom           no  no  no     102  0
Times-Italic                         Type 1            Custom           no  no  no     103  0
FKOQJQ+CMSY10                        Type 1C           Custom           yes yes yes    314  0
LCATTO+BitstreamVeraSans-Roman       Type 1C           Custom           yes yes no     376  0
IICYOO+CMR10                         Type 1C           WinAnsi          yes yes no     504  0
MEFJXI+CMMI10                        Type 1C           Custom           yes yes no     749  0
WJGZYF+MSBM10                        Type 1C           WinAnsi          yes yes no     751  0
UOSBDV+CMEX10                        Type 1C           Custom           yes yes no     761  0
Symbol                               Type 1            Symbol           no  no  no     760  0
Times-BoldItalic                     Type 1            Standard         no  no  no     842  0
Courier                              Type 1            Custom           no  no  no     932  0
Courier-Bold                         Type 1            Standard         no  no  no     944  0

Und ich erinnere mich dunkel, dass der Adobe Acrobat Reader das kann, diverse Open-Source-Tools, z.B. Okular können es definitiv: Du kannst den Text markieren und in die Zwischenablage kopieren. Entsprechend kannst du's dann im Word oder Libreoffice einfach per Copy+Paste einfügen.

Das große Problem ist bei Dir die Kodierung. Win95 konnte noch kein Unicode. Die haben damals alles noch über die Codepages abgehandelt. Und da weiß ich jetzt nicht, wie ein deutsches Win95 mit chinesischen Dokumenten klarkommt. Westliche Windowsen verwendeten ANSI, asiatische Multibyte-Characters, die vermutlich im Word fälschlicherweise als UTF-8 oder UTF-16 interpretiert werden. Wenn's ganz dumm kommt, kannst du mal probieren, ob du irgendwo ein chinesisches Win95 herbekommst. Aber ich denke, der Weg über Word ist der falsche. Ich würde definitiv versuchen, die Zeichen aus dem PDF zu extrahieren.

Es gibt noch einen 3. Versuch:
Öffne das PDF in einem Malprogramm, z.B. Gimp oder Inkscape. Inkscape bietet die Möglichkeit, den Text auch als Text zu importieren (über Poppler), stürzt bei mir aber ab. Gimp wandelt den Text in Grafik um. Zumindest kommst du damit aber an den Inhalt ran.

Und noch eine 4. Idee:
Mit iconv kannst du die Zeichensätze umwandeln. Also kopier den Text aus dem PDF in eine Textdatei und versuch dann die Kodierung von Codepage 936 (nicht sicher) auf irgendwas aktuelles, z.B. UTF-8 zu ändern. Moderne Texteditoren, z.B. Vim oder Notepad++ sollten das auch können.
 

Jonny

Weltgeistjünger
Veteran

Registriert
14 Juli 2013
Beiträge
83
  • Thread Starter Thread Starter
  • #5
Re: Darstellung chinesischer Schriftzeichen in Microsoft Word 6.0-Dokumenten

Vielen vielen Dank für deine Anregungen :):coffee:!

Poppler gibt mir folgende Ergebnisse aus (wobei sich einige Schriftarten gedoppelt haben, Excel hat 122 Duplikate entfernt):

nametypeencodingembsubuni
YTJHXM+MSTT31cc3b09Type 1CBuiltinyesyesno
NISGXM+MSTT31cc3b05Type 1CBuiltinyesyesno
HGZGXM+MSTT31cc3b12Type 1CBuiltinyesyesno
LAOIXM+MSTT31cc3b08Type 1CBuiltinyesyesno
Times-RomanType 1CCustomyesnono
XKTHXM+MSTT31cc3b10Type 1CBuiltinyesyesno
SDAHXM+MSTT31cc3b03Type 1CBuiltinyesyesno
RWRHXM+MSTT31cc3b14Type 1CBuiltinyesyesno
BOAIXM+MSTT31cc3b06Type 1CBuiltinyesyesno
VZQHXM+MSTT31cc3b0BType 1CBuiltinyesyesno
UNJIXM+MSTT31cc3b17Type 1CBuiltinyesyesno
VNWGXM+MSTT31cc3b07Type 1CBuiltinyesyesno
KJPHXM+MSTT31cc3b0FType 1CBuiltinyesyesno
NVSGXM+MSTT31cc3b13Type 1CBuiltinyesyesno
SWXGXM+MSTT31cc3b0DType 1CBuiltinyesyesno
WKKHXM+MSTT31cc3b02Type 1CBuiltinyesyesno
TVGHXM+MSTT31cc3b0AType 1CBuiltinyesyesno
Times-ItalicType 1CBuiltinyesnono
AHVHXM+SymbolType 1CBuiltinyesyesno
Times-RomanType 1CBuiltinyesnono
MUTHXM+Times-BoldType 1CBuiltinyesyesno
Times-ItalicType 1CCustomyesnono
WNSGXM+MSTT31cc3b1AType 1CBuiltinyesyesno
OHCIXM+MSTT31cc3b0CType 1CBuiltinyesyesno
CCJHXM+MSTT31cc3b11Type 1CBuiltinyesyesno
XLUHXM+MSTT31cc3b16Type 1CBuiltinyesyesno
WHFIXM+MSTT31cc3b18Type 1CBuiltinyesyesno
Dennoch halte ich den Weg über die PDF für nicht sonderlich zielführend; wie gesagt ist das die einzige vorliegende PDF (und eine Worddatei mit funktionierender Darstellung der Schriftzeichen habe ich mittlerweile auch gefunden. Da es sich bei diesem Text um ein komplette Buch handelt, ist anscheinend die Worddatei mit korrekter Kodierung direkt vom Verlag - so zumindest sagen es mir die Metainformationen.)

Ich habe die Worddateien einfach mal in einigen Texteditoren geöffnet und dabei neben Verweise auf DOT-Dateien recht kürmelige Hinweise auf DFV-Dateien gefunden (diese Druckformatvorlagen aus Word 5.0 als Word noch standardmäßig in TXT-Dateien gespeichert hat). Offensichtlich hat der Großteil der Dateien schon einen Rettungs- und Konvertierungsdurchgang vor etlichen Jahren durchgemacht - das macht das gesamte Unterfangen nicht unbedingt einfacher.

iconv macht spannende Dinge :D:T. Aus dem oben bereits erwähnten "¥ì ¤¨, §f ©|, ºÞ ¦i §^,¦Ê ¨½ ®O, ¦¹ ÅQ ¤ý ªÌ¤§ ²î Æk ¤]" (als CP936) gibt er mir "楼矛 陇篓, 搂f 漏|, 潞脼 娄i 搂^, 娄脢 篓陆 庐O, 娄鹿 脜Q 陇媒 陋脤 陇搂 虏卯 脝k 陇]" als UTF-8 aus - das sind schonmal chinesische Zeichen aber allesamt die Falschen :D. Hinzukommt, dass CP950 für diese Art von Texten wohl die richtige Kodierung wäre; es handelt sich unter Garantie um Langzeichen - dabei allerdings bekomme ich eine Fehlermeldung.

http://string-functions.com/encodingerror.aspx hat mich dann ein bisschen weitergebracht; ich habe "½Ã"="衛" gesetzt und als Resultat folgendes bekommen:
big5 (950, Chinese Traditional (Big5)) -> Windows-1252 (1252, Western European (Windows))
big5 (950, Chinese Traditional (Big5)) -> windows-1254 (1254, Turkish (Windows))
big5 (950, Chinese Traditional (Big5)) -> iso-8859-1 (28591, Western European (ISO))
big5 (950, Chinese Traditional (Big5)) -> iso-8859-9 (28599, Turkish (ISO))
big5 (950, Chinese Traditional (Big5)) -> utf-7 (65000, Unicode (UTF-7))
x-mac-chinesetrad (10002, Chinese Traditional (Mac)) -> Windows-1252 (1252, Western European (Windows))
x-mac-chinesetrad (10002, Chinese Traditional (Mac)) -> windows-1254 (1254, Turkish (Windows))
x-mac-chinesetrad (10002, Chinese Traditional (Mac)) -> iso-8859-1 (28591, Western European (ISO))
x-mac-chinesetrad (10002, Chinese Traditional (Mac)) -> iso-8859-9 (28599, Turkish (ISO))
x-mac-chinesetrad (10002, Chinese Traditional (Mac)) -> utf-7 (65000, Unicode (UTF-7))

Mittels https://nlp.fi.muni.cz/projects/chared/ war es mir dann möglich endlich die Zeichen wie gewünscht darzustellen; wenn ich dort eine TXT (ISO 8859-1) mit ausschließlich den fehlkodierten Zeichen hochlade und "Chinese traditional" wähle, dann endlich werden mir die Zeichen korrekt dargestellt:
so wird aus:das hier:
¬O «H ±¡ ¥G
«D §^ ÄÒ ¤§ ¤h ¥G
¤Ò «D ¦Ó øA ¥G
¤Ò ¤µ ¤§ ºq ªÌ ¨ä ½Ö ¥G
§ ¨ä ¤H ¤§ «æ ¤] ¥G
§^ ¸o ¤] ¥G «v
是 信 情 乎 非 吾 黨 之 士 乎 夫 非 而 讎 乎
夫 今 之 歌 者 其 誰 乎 禮 其 人 之 急 也 乎
吾 罪 也 乎 哉
Feststeht also jetzt, dass es sich beider Kodierung um BIG5 handelt. Das freut mich zu wissen - vor allem zu wissen, dass die Dateien nicht komplett verloren sind :cool: :T.

Hat aber jemand eine Idee, wie ich das ganze jetzt automatisiert umkodieren kann :)? Alles andere macht da dann doch recht wenig Sinn :(...
 
Zuletzt bearbeitet:

matux

Neu angemeldet

Registriert
8 Aug. 2014
Beiträge
236
Re: Darstellung chinesischer Schriftzeichen in Microsoft Word 6.0-Dokumenten

Welches OS nutzt du denn? Hast du denn sowas schon versucht?
 

Jonny

Weltgeistjünger
Veteran

Registriert
14 Juli 2013
Beiträge
83
  • Thread Starter Thread Starter
  • #7
Re: Darstellung chinesischer Schriftzeichen in Microsoft Word 6.0-Dokumenten

@matux: Ich bin hier gerade hauptsächlich auf Windows 10 mit Office 2013 unterwegs. Da habe ich sowohl Microsoft PinYin als auch Bopomofo installiert (was aber ja nur die Eingabe beeinflusst - nicht aber die Darstellung). In jeder von mir getesteten virtuellen Maschine (Windows 95, Windows 2000, Ubuntu 11.10) besteht das gleiche Problem in egal welcher Office-Anwendung.

Spätestens nach dem Hinweis von musv, dass es sich um eine Kodierungsproblematik handele, ist - vor allem nach der Testerei mit Chared - für mich die Geschichte klar.

EDIT: So klar, wie nach diesem Artikel dann doch nicht: https://en.wikipedia.org/wiki/Mojibake :o.

Also sind hier bei mir DOC-Dateien mit stellenweise Mojibake im mehrheitlich Word-Standard-Deutschen Text und targetencodierten Big5 chinesischen Langzeichen dazwischen (oder?). Kann man die fehlerhaft kodierten Zeichen überhaupt irgendwie ohne den deutschen Text bearbeiten?
 
Zuletzt bearbeitet:

Jonny

Weltgeistjünger
Veteran

Registriert
14 Juli 2013
Beiträge
83
  • Thread Starter Thread Starter
  • #8
Re: Darstellung chinesischer Schriftzeichen in Microsoft Word 6.0-Dokumenten

So, das Thema ist abgeschlossen - ich habe die Dokumente allesamt retten können, nachdem ich drüben im Chinaforum einen neuen Thread erstellte hatte (da ich davon ausging, dass dort jemand ggf. schonmal ein ähnliches Problem hatte). Und richtig; nach ein paar Tagen meldete sich der Admin von mandarintools.com bei mir, der lieberweise zwei Pytonskripte dafür schrieb (und mir erlaubte diese hier mit euch zu teilen).

Dazu war zunächst eine Konvertierung in DOCX nötig, schnell machbar mit dieser Batchdatei:
Code:
for /r "PFAD\ZUM\ORDNER\MIT\DEN\DOC-DATEIEN" %%a in ("*.doc") do (.
echo %%a
"PFAD\ZUR\Wordconv.exe" -oics -nme "%%a" "%%ax".
del "%%a"
)
Dann lies sich ein Großteil der Dateien mit diesem Pythonskript retten (braucht lxml), dass anhand der Schriftart (in diesem Fall Chn FKai M5) die falsche Kodierung ermittelt und umbaut:
Python:
#!/usr/bin/python
import os
import sys
import zipfile
from lxml import etree
nsprefixes = nsprefixes = {
   'mo': 'http://schemas.microsoft.com/office/mac/office/2008/main',
   'o':  'urn:schemas-microsoft-com:office:office',
   've': 'http://schemas.openxmlformats.org/markup-compatibility/2006',
   # Text Content
   'w':   'http://schemas.openxmlformats.org/wordprocessingml/2006/main',
   'w10': 'urn:schemas-microsoft-com:office:word',
   'wne': 'http://schemas.microsoft.com/office/word/2006/wordml',
   # Drawing
   'a':   'http://schemas.openxmlformats.org/drawingml/2006/main',
   'm':   'http://schemas.openxmlformats.org/officeDocument/2006/math',
   'mv':  'urn:schemas-microsoft-com:mac:vml',
   'pic': 'http://schemas.openxmlformats.org/drawingml/2006/picture',
   'v':   'urn:schemas-microsoft-com:vml',
   'wp':  ('http://schemas.openxmlformats.org/drawingml/2006/wordprocessing'
           'Drawing'),
   # Properties (core and extended)
   'cp':  ('http://schemas.openxmlformats.org/package/2006/metadata/core-pr'
           'operties'),
   'dc':  'http://purl.org/dc/elements/1.1/',
   'ep':  ('http://schemas.openxmlformats.org/officeDocument/2006/extended-'
           'properties'),
   'xsi': 'http://www.w3.org/2001/XMLSchema-instance',
   # Content Types
   'ct':  'http://schemas.openxmlformats.org/package/2006/content-types',
   # Package Relationships
   'r':  ('http://schemas.openxmlformats.org/officeDocument/2006/relationsh'
          'ips'),
   'pr':  'http://schemas.openxmlformats.org/package/2006/relationships',
   # Dublin Core document properties
   'dcmitype': 'http://purl.org/dc/dcmitype/',
   'dcterms':  'http://purl.org/dc/terms/'}
"""
Where to find corrupted text in xml docx:
<w:r>
   <w:rPr>
       <w:rFonts w:ascii="Chn FKai M5" w:hAnsi="Chn FKai M5"/>
   </w:rPr>
   <w:t>...corrupted...</w:t>
<w:r>
ODER
<w:r>
   <w:rPr>
       <w:rStyle w:val="Chinazeichen"/>
   </w:rPr>
   <w:t>...corrupted...</w:t>
<w:r>
"""
def convert_string(string):
   try:
       return string.encode("cp1252").decode('big5')
   except:
       return string
def convert_xmlcontent(xmlcontent):
   document = etree.fromstring(xmlcontent)
   for element in document.xpath('//w:r/w:rPr/w:rFonts[@w:ascii="Chn FKai M5"]/../../w:t', namespaces=nsprefixes):
       element.text = convert_string(element.text)
  
   for element in document.xpath('//w:r/w:rPr/w:rStyle[@w:val="Chinazeichen"]/../../w:t', namespaces=nsprefixes):
       element.text = convert_string(element.text)
  
   return etree.tostring(document)
def convert_docx(old_file, new_file):
   zin = zipfile.ZipFile (old_file, 'r')
   zout = zipfile.ZipFile (new_file, 'w')
   for item in zin.infolist():
       content = zin.read(item.filename)
       content = convert_xmlcontent(content)
       zout.writestr(item, content)
   zout.close()
   zin.close()
dirname = sys.argv[1]
for filename in os.listdir(dirname):
   filename = os.path.join(dirname, filename)
   if filename.endswith(".docx") and not filename.endswith('.fixed.docx'):
       convert_docx(filename, filename[:-5] + '.fixed.docx')
Ein weiteres Pythonskript half dann bei etwas härteren Nüssen und ersetzte im Grunde fehlkodierte Zeichen aus einem UTF8-TXT-Dokument:
Python:
# -*- coding: utf-8 -*-
import codecs
import sys
import os
import re
def convert_match(match):
   string = match.group(0)
   return string.encode('cp437', 'ignore').decode('big5', 'ignore')
  
def convert_txt(old_file, new_file):
   with open(old_file, 'r') as f:
       data = f.read()
   data = data.decode('utf-8')
   data = re.sub(ur'[^äöüÄÖÜßï]+', convert_match, data)
  
   with codecs.open(new_file, 'w', 'utf-8') as f:
       f.write(data)
dirname = sys.argv[1]
for filename in os.listdir(dirname):
   filename = os.path.join(dirname, filename)
   if filename.endswith(".txt") and not filename.endswith('.fixed.txt'):
       convert_txt(filename, filename[:-4] + '.fixed.txt')
Darüberhinaus waren einige ganz seltene, kaum noch genutzte chinesische Zeichen mit der Schrifart BabelStone Han zu retten, diese findet sich hier: BabelStone Fonts : BabelStone Han.

Lieben Dank an Alle <3!
 
Zuletzt bearbeitet:
Oben