Wir arbeiten an einem Tool, um automatisiert Plot- und Fräsarbeiten durchzuführen. Dazu müsste man “Irgendwie” an die Outline-Daten von Schriftzeichen kommen. Den Umweg über z.B. Adobe Illustrator (“Zeichen in Pfade wandeln”) oder selber Vektorisieren (Podrace) wollten wir eigentlich vermeiden.
Frage also: Gibt es irgend eine Möglichkeit, mit Xojo an die Outlines der Glyphen einer verwendeten Schrift zu kommen (als Pfad, als Vektordaten)?
Danke für Tips.
Die Fonts mußt Du - wenn Du die Lizenz für die Fonts hast - nur einmal in Vectoren konvertieren. Gibt es im MBS ein Plugin dazu?
Interessant. Sagen Sie uns Bescheid, wenn Sie eine Lösung finden. Eine solche Konvertierung kann auch mit Affinity Designer, CorelDraw und VectorWorks durchgeführt werden.
Ich habe weiter recherchiert. Es gibt von Apache.org ein Set an Tools unter dem Namen “Batik”. Dort ist auch ein CLI-Programm (Java) enthalten “batik-ttf2svg”, das in der Lage ist, einen TrueType-Font nach SVG zu konvertieren. SVG (XML) scheint wesenlich “lesbarer” als die Originaldaten, das sollte auch mit Xojo machbar sein. Für jedes Zeichen im Font gibts dort ein oder mehrere Pfadobjekte. Fehlt eigentlich nur noch eine Engine, die korrektes Kerning leisten kann …
(Ich spreche kein Deutsch, also wird mein Kommentar maschinell aus dem Englischen übersetzt.)
Batik funktioniert jedoch nur mit TrueType-Schriftarten. Viele Schriftarten sind PostScript oder als OpenType (OTF) verpackt.
Auf dem Mac müssen Sie in Core Text + Core Graphics eintauchen, um Vektordaten für einzelne Glyphen zu erhalten, und Sie sollten alle Schrifttechnologien berücksichtigen, da sie alle gemeinsam verwendet werden. Hier ist der wichtigste API-Aufruf, obwohl Sie davor und danach arbeiten müssen:
Unter Windows ist hier der API-Aufruf für TrueType - ich weiß nicht, ob es auch für andere Schrifttechnologien funktioniert:
Schau Dir mal die DynaPDFGlyphOutlineMBS Klasse im MBS Xojo DynaPDF Plugin an.
Damit bekommt man die Punkte mit raus.
Das klingt praktikabel. Welche Lizenz-Version für DynaPDF benötigt man für den Zugriff auf diese Infos? Es wird ja im “günstigsten” Fall kein PDF erzeugt bzw. angezeigt, nur eine interne Funktion benutzt …
Da reicht die kleinste Variante: Starter