Markierungen beschreiben das Blatt
In jeder Ecke steht eine ArUco-Markierung. Ihre Kennung enthält die Ecke, die Art des Blatts (Buchstaben, Ligaturen oder leer), die Vorlagenversion und den Zeichensatz. Das Programm prüft alle vier Kennungen gemeinsam, damit es ein gedrehtes Blatt richtig zuordnen kann.
Die äußeren Ecken liefern vier Bezugspunkte. Fehlt eine Markierung oder ist ihr Muster verdeckt, lässt sich das Raster nicht sicher rekonstruieren. Darum muss das Foto die vollständige Seite zeigen.
Die Perspektive wird ausgeglichen
Aus den vier Bezugspunkten berechnet inktype.cc eine Homografie. Diese Abbildung überträgt die schräg fotografierte Seite auf die festgelegte A4-Geometrie der Vorlage. So liegen die Rasterfelder wieder an bekannten Positionen.
Eine Homografie korrigiert Perspektive auf einer flachen Ebene. Stark gewelltes Papier, tiefe Falten oder eine gebogene Buchseite gehören nicht zu dieser Ebene und können deshalb verzerrte Zeichen erzeugen.
Rasterfelder werden getrennt
Die Vorlage besitzt ein Raster mit 11 Spalten und 10 Zeilen. Der erkannte Zeichensatz legt fest, welcher Buchstabe zu welchem Feld gehört. Das Programm schneidet jedes Feld aus der korrigierten Seite aus.
Eine adaptive Schwelle trennt dunkle Tinte vom hellen Papier. Mit Empfindlichkeit und Schwellenwert veränderst du diese Trennung, für die ganze Schrift oder für eine einzelne Glyphe. Höhere Werte bewahren blasse Striche, nehmen aber leichter Papierstruktur und Schatten auf.
Pixel werden zu Vektorpfaden
ImageTracer folgt den Kanten der erkannten Tinte und erzeugt geschlossene Pfade. Vektoren lassen sich ohne sichtbare Pixel skalieren und sind deshalb die Grundlage für jedes Zeichen in der fertigen Schrift.
Drei Schritte räumen die Tinte dabei auf. Vor dem Nachzeichnen verschwinden zuerst kleine lose Tintenreste neben dem Buchstaben, bis zu der Größe, die Flecken entfernen vorgibt. Den größten Fleck einer Glyphe behält das Programm immer. Danach werden kleine Löcher, die ganz von Tinte umschlossen sind, bis zu der Größe gefüllt, die Löcher füllen vorgibt. So schließen sich Nadellöcher, während die Innenräume von Buchstaben wie o und e offen bleiben. Beim Nachzeichnen rundet Glättung die Treppenstufen und das Zittern der Pixelkanten ab, bevor Kurven daran angelegt werden.
Die Regler unter Tinte (Empfindlichkeit, Schwellenwert, Glättung, Löcher füllen und Flecken entfernen) verändern die Pfade selbst. Position und Skalierung ändern nur ihre Lage, und die Dickte bestimmt, wie viel horizontaler Platz ein Zeichen beim Setzen erhält. Globale Werte gelten für die ganze Schrift, lokale Werte korrigieren einzelne Ausreißer.
Danach passt die Unterschneidung Buchstabenpaare an. Das Programm misst Streifen für Streifen von oben nach unten, wie weit die Tinte zweier Buchstaben auseinanderliegt, und rückt Paare wie AV oder To enger zusammen, bis sie so gleichmäßig wirken wie ein Paar aus geraden Strichen, etwa HH. Der Regler Stärke legt fest, wie weit das geht, und die Paare folgen jeder anderen Anpassung.
Der Browser baut die Schriftdatei
opentype.js kombiniert die Zeichenpfade, Zuordnungen, Metriken und Unterschneidung zu einer OpenType-Schrift, dazu die Regeln, die deine Ligaturen und Buchstabenversionen einsetzen. Dieselbe erzeugte Schrift speist die Live-Vorschau, damit du Wörter und Abstände vor dem Download prüfen kannst. Beim Export schreibt der Browser die Datei im gewählten Format (OTF, TTF, WOFF oder WOFF2).
Rechenintensive Bildarbeit läuft in einem Web Worker, damit die Oberfläche bedienbar bleibt. Einstellungen werden nur lokal im Browser gespeichert und anhand von Dateiname und Dateigröße wiedergefunden. Mehr zu diesen Daten steht in der Datenschutzerklärung.