Informationen zum WRI Dateiformat
WRI-Dateien sind mit Microsoft Write erstellte Textdokumente. Write war ein einfaches Textverarbeitungsprogramm, das Microsoft zusammen mit Windows ab Version 1.0 im Jahr 1985 auslieferte. Das Format war bis Windows NT der Standard für einfache Textverarbeitung unter Windows. Entsprechend alt sind WRI-Dateien, doch sie tauchen immer wieder auf und können gut konvertiert werden.
WRI-Dateien enthalten formatierten Text mit verschiedenen Schriftarten, Absatzformatierungen und einfachen Layouts wie Briefköpfen. Im Vergleich zu aktuellen Formaten wie DOC oder DOCX sind die Möglichkeiten natürlich begrenzt – doch damals eben üblich für Lebensläufe, Briefe und andere Dokumente.
Geschichte des WRI-Formats
Microsoft Write wurde Ende 1985 zusammen mit Windows 1.0 veröffentlicht[2] und war die erste dedizierte Textverarbeitung für die Windows-Plattform. Anders als der reine Texteditor Notepad (für TXT-Dateien) bot Write grundlegende Formatierungsfunktionen wie Schriftauswahl, Absatzeinrückung und Textausrichtung.
Ab Windows 3.0 (1990) konnte Microsoft Write auch das damalige Word-Format (.doc) lesen und schreiben.[1] Mit der Veröffentlichung von Windows 95 stellte Microsoft sowohl Write als auch das WRI-Format ein und ersetzte es durch WordPad (u.a. RTF-Dateien), das erweiterte Funktionen und bessere Kompatibilität bot.
WRI-Dateien öffnen
Da Microsoft Write seit über 30 Jahren eingestellt ist, können aktuelle Windows-Versionen WRI-Dateien nicht mehr nativ öffnen. Folgende Programme unterstützen das Format noch:
- LibreOffice Writer (Windows, macOS, Linux)
- Apache OpenOffice Writer (Windows, macOS, Linux) – aber Entwicklung defacto eingestellt
- Ältere Versionen von Microsoft Word
- Corel WordPerfect
Die einfachste Lösung ist jedoch die Konvertierung in ein modernes Format.
Warum WRI-Dateien umwandeln?
WRI ist ein veraltetes Format mit eingeschränkter Softwareunterstützung. Die Umwandlung in aktuelle Formate bietet mehrere Vorteile:
- Universelle Kompatibilität: PDF und DOCX lassen sich auf praktisch jedem Gerät öffnen
- Langzeitarchivierung: Moderne Formate werden aktiv gepflegt und bleiben lesbar
- Bearbeitbarkeit: Nach der Konvertierung in DOCX oder ODT kann das Dokument weiter bearbeitet werden
- Weitergabe: PDF-Dateien lassen sich problemlos per E-Mail versenden oder drucken
WRI in PDF umwandeln
Die Konvertierung von WRI in PDF ist die häufigste Umwandlung für dieses Format. PDF eignet sich besonders gut, wenn das Dokument nur gelesen oder archiviert werden soll. Das Layout bleibt erhalten und die Datei kann auf jedem Gerät ohne Spezialsoftware geöffnet werden.
Weitere Umwandlungsmöglichkeiten
Neben PDF bietet Online-Umwandeln.de die Konvertierung von WRI in zahlreiche weitere Formate:
- WRI in DOCX – zur Weiterbearbeitung in Microsoft Word
- WRI in ODT – für LibreOffice und OpenOffice
- WRI in DOC – für ältere Word-Versionen
Aufbau einer WRI-Datei
Das WRI-Format ist ein proprietäres Binärformat mit einem 128 Byte großen Header (File Information Block) am Dateianfang. Die Datei ist in 128-Byte-Blöcke (Pages) organisiert.[3]
| Offset | Feld | Typ | Beschreibung |
|---|---|---|---|
| 0–1 | magic | Word | Magic Bytes: 0xBE31 (v3.0) oder 0xBE32 (v3.1/OLE) |
| 2–3 | zero | Word | Immer 0x0000 |
| 4–5 | magic2 | Word | Tool-Kennung: 0xAB00 für Microsoft Write |
| 6–13 | zero2 | 4×Word | Reserviert, immer Null |
| 14–17 | numCharBytesPlus128 | DWord | Anzahl Bytes für Text, Bilder und OLE ab Byte 128 |
| 18–19 | pageParaInfo | Word | Seite der Absatzformatierungen |
| 20–21 | pageFootnoteTable | Word | Seite der Fußnotentabelle |
| 22–23 | pageSectionProperty | Word | Seite des Seitenlayouts |
| 24–25 | pageSectionTable | Word | Seite der Abschnittstabelle |
| 26–27 | pagePageTable | Word | Seite der Seitentabelle |
| 28–29 | pageFontTable | Word | Seite der Schriftartentabelle |
| 30–95 | zero3 | 33×Word | Reserviert, immer Null |
| 96–97 | numPages | Word | Gesamtzahl der 128-Byte-Blöcke |
| 98-127 | – | – | reserviert |
Alle Mehrbyte-Werte sind im Little-Endian-Format gespeichert (Intel-Bytereihenfolge). Die Magic Bytes 0xBE31 erscheinen in der Datei daher als 31 BE.[3]
Beispiel: Wie wird Fettdruck gespeichert?
Der eigentliche Text beginnt ab Byte 128. Die Formatierungen (fett, kursiv, Schriftgröße usw.) werden getrennt davon in einer FormatInfoPage gespeichert. Diese enthält sogenannte FormatPointer, die festlegen, welcher Textbereich welche Formatierung erhält.[3]
Angenommen, ein Dokument enthält den Text „Hello World“ – beachte „World“ ist fett formatiert:
Textinhalt (ab Offset 128):
Position 128–133: "Hello " (6 Zeichen, normale Formatierung)
Position 134–138: "World" (5 Zeichen, fett)
FormatInfoPage (Zeichenformatierung):
┌──────────────────────────────────────────────────────────────┐
│ FormatPointer #1: Zeichen 128–133 ("Hello ") │
│ afterEndCharBytePlus128 = 134 (erstes Zeichen NACH Bereich)│
│ formatPropertyOffset = 0xFFFF → Standardformat (nicht fett)│
├──────────────────────────────────────────────────────────────┤
│ FormatPointer #2: Zeichen 134–138 ("World") │
│ afterEndCharBytePlus128 = 139 (erstes Zeichen NACH Bereich)│
│ formatPropertyOffset = 0 → zeigt auf FormatCharProperty │
├──────────────────────────────────────────────────────────────┤
│ FormatCharProperty (7 Bytes): │
│ Byte 0: 0x06 Anzahl der folgenden Bytes │
│ Byte 1: 0x01 (reserviert) │
│ Byte 2: 0x01 Formatierungs-Flags: Bit 0 = fett │
│ Byte 3: 0x18 Schriftgröße 24 (entspricht 12 Punkt) │
│ Byte 4: 0x00 Unterstreichung und Seitenzahl-Flag │
│ Byte 5: 0x00 obere Bits der Schriftart-Nummer │
│ Byte 6: 0x00 Position (0=normal, 1–127=hoch, 128–255=tief)│
└──────────────────────────────────────────────────────────────┘
Das entscheidende Byte 2 enthält die Formatierungs-Flags als einzelne Bits:
Byte 2 - Bit-Belegung:
Bit: 7 6 5 4 3 2 1 0
└───────────────────┘ │ │
fontCodeLow │ └─ isBold (1=fett)
(Schriftart-Nr.) └──────────── isItalic (1=kursiv)
Beispielwerte:
0x00 (binär 00000000) = normale Schrift
0x01 (binär 00000001) = fett
0x02 (binär 00000010) = kursiv
0x03 (binär 00000011) = fett + kursiv
Eingebettete Grafiken werden anhand des mappingMode-Felds unterschieden: 0xE3 kennzeichnet Monochrom-Bitmaps, 0xE4 steht für OLE-Objekte, andere Werte (typischerweise 0x88) zeigen Windows Metafiles (WMF) an.[3]

Zur Demonstration hat sich Clarence Dang künstlerisch in einer WRI-Datei verewigt – natürlich nicht ohne ironischen Hinweis.
Die Informationen aus diesem Abschnitt stammen aus eigener Analyse des Quellcodes von libmswrite von Clarence Dang. Mir hat die Arbeit mit seinem Quellcode viel Spaß bereitet und man sieht, dass er seinerzeit viel Spaß beim Reverse-Engineeren der .wri-Dateien hatte! Vielen Dank für die kleine Zeitreise.
Quellen
[1] https://www.nationalarchives.gov.uk/PRONOM/x-fmt/4
[2] https://www.edn.com/microsoft-ships-windows-1-0-november-20-1985/
[3] https://sourceforge.net/projects/libmswrite/
[4] Beispieldatei: filtertest.wri – Clarence Dang – libmswrite
WRI-Dateien umwandeln, öffnen und bearbeiten
Informationen zu WRI-Dateien
- Software zum WRI öffnen
- Software zum WRI bearbeiten
- MIME-Type für WRI
- application/x-mswrite

Keine Kommentare