PostScript Font Name ermitteln

Hallo in die Runde
Wie kann ich, an Stelle des Fontnamen, den PostScript Fontnahmen ermitteln?

Um die Postscript-Schriftart beim Drucken zu aktivieren, müssen Sie die dazugehörige Bildschirmschriftart verwenden. Diese Schrift hat einen Namen. Versuchen Sie diesen Namen.

Ich glaube, ich muss mein Problem przisieren.
Meinen Programm erzeugt eine PostScript-Datei. Darin sind Zeilen zur Definition der Schriftart enthalten. Genau hier muss ich den PostScript Namen der Schrift angeben. Der unterscheidet sich leider hufig vom Fontnamen.
Darum bentige ich eine Mglichkeit, mir den PostScript Namen von einem Font zu ermitteln.

https://de.wikipedia.org/wiki/PostScript

Beim MBS Xojo DynaPDF Plugin kann man PostScriptNamen für Fonts haben, Cross-Platform.

z.B. DynaPDFSysFontMBS Klasse.

-> Emilie:
Ich finde dort keinen Hinweis, wie ich die Fontnamen in Xojo ermitteln kann. Habe ich etwas übersehen?

  • Christian:
    Ja, das Plugin gefällt mir auch. Damit könnte ich scher noch die eine oder andere weitere Funktion einbauen. Für mein Freeware Projekt möchte ich nicht noch mehr investieren. Danke.

Du kannst aber auch mal in den anderen Plugins schauen:

Für Mac hilft das vielleicht.

WindowsFontFamilyMBS hat vielleicht was für Windows.

Da muss ich mal durchschauen. Danke.

Nein.

Ich habe hier keine PostScript-Schriftart, sondern öffne, was Sie wissen möchten (Textmodus) und suche visuell danach.

Wie lautet der Name der PostScript-Schriftart (aus der PostScript-Datei)?

Die PS-Datei ist nur eine Vorlage. Der Anwender kann m Ausgabedialog einen Fontnamen angeben. In ein Textfeld. Das führt dazu, dass die Anwender den Fontnamen aus einem Fontmenü benutzen. Der funktioniert dann aber sehr häufig nicht.
Wenn man dann die Datei in Vorschau öffnet, kommt eine Fehlermeldung und es wird Courier als Schrift genutzt.

Darum möchte ich PS-Fontnamen anbieten.

Mut Du denn alle Schriften anbieten? Wie wre es mit folgender Idee: Du suchst Dir ein halbes Dutzend bekannter Schriftarten (Times, Courier, Verdana etc) und suchst dazu die Postscript-Namen. Dann machst Du in Dein Fontmen nur diese Schriftarten.

Haben Sie das PostScript-Referenzhandbuch heruntergeladen und gesucht, wo der Name der Schriftart gespeichert ist?

-> Beatrix
Ja, daran hatte ich auch schon gedacht.
Allerdings habe ich keine Ahnung, ob das unter Windows und Linux funktioniert. Vor allem hilft das nicht, wenn der Anwender auch noch eigene Schriften nutzen möchte.
Prinzipiell ist es jetzt ja schon so. Der Anwender muss den Schriftnamen selbst herausfinden und in ein Textfeld eingeben. Einfacher ist besser :slight_smile:
Mal sehen, was sich mit Christians Plugins machen lässt. Ggf komme ich auf Deine Idee zurück.

-> Emilie
Ich wollte mich eigentlich gar nicht so weit in die Materie einarbeiten.
Dann lieber die “Sparvariante” von Beatrix :slight_smile:

Wenn jemand eine PostScript-Schriftart kauft, erhlt er zwei (oder mehr) Dateien:

die Bildschirmschriftart,
die PostScript-Schrift.

Ich habe gerade eine PostScript-Schrift heruntergeladen und deren Inhalt gelesen: Der Name der Schrift ist in den ersten Bytes so “explizit”:

%% Title: .

Wenn Sie meinem Link in Wikipedia gefolgt sind, haben Sie festgestellt, dass es verschiedene Arten von PostScript-Schriftarten gibt.

Leider mssen wir immer noch um ein Ergebnis kmpfen.

Viel Glck.

Für mir scheint es, nach einem ersten Test, so zu funktionieren:

[code]dim c as CTFontMBS
dim List(-1) as String

For i As Integer = 0 To FontCount - 1
list.Append Font(i)
Next
For i As Integer = 0 To UBound(List)
c = CTFontMBS.CreateWithName(list(i), 10)
list(i)=List(i)+" = "+c.PostScriptName
Next[/code]

Das muss ich jetzt noch in mein programm integrieren.

Danke in die Runde.

Forum for Xojo Programming Language and IDE. Copyright © 2021 Xojo, Inc.