Frage

Angenommen, Sie eine Zeichenfolge mit dem Text in zwei oder mehr Skripte haben. Wenn Sie eine GDI-Funktion wie TextOut verwenden, (moderne Versionen) Windows tun „font-Verknüpfung“. Das heißt, GDI zeichnen, was sie kann mit Ihrer gewählten Schriftart und den Rest in einer entsprechenden Schriftart ziehen, dass es automatisch wählt. Zum Beispiel, wenn ein Teil des Textes in englischer Sprache (das lateinische Alphabet verwendet wird), und ein Teil davon ist Chinesisch (CJK-Zeichen verwenden), und Sie haben Arial ausgewählt, wird der englische Teil in Arial gezogen werden, und dem chinesischen Teil werden in einer anderen Schrift gezogen werden, die die CJK Glyphen hat.

Meine Frage ist, gibt es eine Möglichkeit, zu bestimmen, welche TextOut wählt Fonts (oder haben wählen) für die Schriftartverknüpfung?

Ich habe einen Text mit dem Low-Level-API Uniscribe zu zeichnen, die nicht automatisch font-Verknüpfung macht. Ich habe meine eigene Schrift Vernetzung umgesetzt, aber manchmal wählt mein Algorithmus eine andere Schriftart als TextOut für den gleichen Text tut. Ich versuche, den Windows-Algorithmus besser zu verstehen, aber ich bin nicht wirklich gut zu identifizieren Schriftarten auf Sicht (vor allem in fremden Skripten).

War es hilfreich?

Lösung

Die Schrift wird durch einen Registrierungseintrag ausgewählt. Es ist gut beschrieben in diesem Artikel den relevanten Teil Zitiert:.

  

Wenn Schriftartverknüpfung aktiviert ist auf Ihrem   Gerät, können Sie die Registrierung prüfen   durch den Unterschlüssel des Aufzählen   Registrierungsschlüssel an   HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows   NT \ Currentversion \ FontLink \ Systemlink   zu bestimmen, die Zuordnungen von verknüpften   Schriftarten basieren Schriftarten. Sie können Links hinzufügen   mithilfe von Regedit zusätzlich zu schaffen   Subkeys.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top