Warum PubConvert in Rust geschrieben ist
Ich weiß, niemand wählt einen Konverter nach der Sprache aus, in der er geschrieben ist. Aber die Sprache ist der Grund, warum dieser sich so verhält, wie er sich verhält. Deshalb wollte ich es aufschreiben.
PubConvert steht in keiner Verbindung zu Microsoft. Wir haben unsere eigene Konvertierungs-Engine aus der unabhängigen Analyse echter Publisher-Dokumente gebaut, die uns gehören oder die wir nutzen dürfen, damit Menschen weiter mit .pub-Dateien arbeiten können, ohne Publisher installiert zu haben. Microsoft Publisher und .pub gehören Microsoft. Wir nennen diese Namen nur, um zu beschreiben, was das Produkt öffnet.
Deshalb haben wir es in Rust geschrieben. Alles, was wir bis heute herausgefunden haben, muss langweilig wiederholbar sein. Gleiche Datei, gleiche Engine, gleiche Seite und jedes Mal ein vorhersehbares Ergebnis. Es gibt keinen Garbage Collector, der mitten im Rendern Speicher umschichtet, und das heißt: Ein Layout, das heute richtig aussieht, sieht nächsten Monat genauso richtig aus. Es heißt auch, dass wir eine falsch ausgegebene Seite untersuchen können, statt zu raten.
Publisher-Dateien sind Eingaben, denen man nicht trauen kann. Manche sind abgeschnitten oder liefen durch ein Mailsystem, das ein paar Bytes verschluckt hat. In Rust ist das Lesen über das Ende einer beschädigten Datei hinaus ein Fehler, den die Engine behandelt und meldet. Es ist kein Absturz, der alles andere mitreißt, woran die Engine gerade gearbeitet hat, und es ist keine stille halbe Seite. Wenn Ihre Datei defekt ist, findet die Engine das heraus, und das ist nützlicher als eine leere Vorschau.