Ich arbeite an einem Projekt, das PDFs generiert, die relativ komplexe mathematische und naturwissenschaftliche Formeln enthalten können. Der Text wird in Times New Roman gerendert, das eine ziemlich gute Unicode-Abdeckung aufweist, aber nicht vollständig ist. Wir haben ein System, um in einer Unicode-vollständigen Schriftart für Codepunkte zu tauschen, die kein Zeichen in TNR haben (wie die meisten der "fremden" Mathe-Symbole), aber ich kann anscheinend keine Möglichkeit finden, abzufragen die * .ttf-Datei, um zu sehen, ob eine gegebene Glyphe vorhanden ist. Bisher habe ich nur eine Nachschlagetabelle programmiert, in der Codepunkte vorhanden sind, aber ich bevorzuge eine automatische Lösung.Gibt es eine Möglichkeit, programmgesteuert festzustellen, ob eine Schriftartdatei über eine bestimmte Unicode-Glyphe verfügt?
Ich benutze VB.Net in einem Web-System unter ASP.net, aber Lösungen in jeder Programmiersprache/Umgebung würden geschätzt.
Bearbeiten: Die Win32-Lösung sieht hervorragend aus, aber der spezielle Fall, den ich versuche zu lösen, ist in einem ASP.Net-Web-System. Gibt es eine Möglichkeit, dies zu tun, ohne die Windows-API-DLLs in meine Website zu integrieren?
Im Gegenteil - UniScribe macht es * schwerer * zu tun, was das OP will, denn UniScribe soll den Prozess der Glyphtransparenz transparent machen. UniScribe verwendet zum Beispiel Font Fallback, um eine andere Schriftart auszuwählen, die * tatsächlich * eine fehlende Glyphe enthält. – bzlm