Freigeben über


Textmetriken

Um Das Layout, die Auswahl benutzerdefinierter Schriftarten und andere metrikintensive Vorgänge zu unterstützen, verfügt DirectWrite- ab Windows 8 über eine Reihe neuer APIs, um alle Informationen zu Schriftarten auszudrücken, die Sie möglicherweise zum Entwickeln von Rich-Text-Apps benötigen.

PANOSE

PANOSE ist ein visuelles Klassifizierungssystem zur Identifizierung von Schriftarten. Die PANOSE-Klassifizierung enthält Informationen zur Familie, Serifenart, Gewicht, Proportion, Kontrast, Strich, Armstil, X-Höhe usw. Diese Informationen beschreiben den visuellen Stil der Schriftart. Diese Informationen sind wichtig, da Schriftarten mit ähnlichen PANOSE-Werten ähnlich aussehen. Dies ist sehr nützlich in Situationen, in denen eine Schriftart nicht verfügbar ist und die App auf eine verfügbare Schriftart zurückgreifen muss. Wenn Sie PANOSE-Werte für Schriftarten vergleichen, können Sie eine Schriftart auswählen, die der ursprünglichen Schriftart ähnlich ist.

Um auf die PANOSE-Informationen für eine Schriftart zuzugreifen, verwenden Sie die GetPanose Methode für die IDWriteFont1 und IDWriteFontFace1 Schnittstellen. Diese Methode gibt eine DWRITE_PANOSE Aufzählung zurück, die alle PANOSE-Informationen für diese Schriftart enthält.

Zusätzliche Metriken

Ab Windows 8 unterstützt die DirectWrite--API auch eine Reihe neuer Metriken, um nützliche Informationen zu den Schriftarten für Ihre App auszudrücken. Diese neuen Metriken enthalten diese Informationen.

  • Metriken des umgebenden Felds "Links", "Rechts", "Oben" und "Unten".
  • X- und Y-Positionierung für hochgestellte und tiefgestellte Elemente.
  • X- und Y-Skalierungsinformationen für hochgestellte und tiefgestellte Elemente.
  • Gibt an, ob die Schriftart typografische Metriken aufweist.

Diese Informationen sind alle über die neue GetMetrics-Methode für die IDWriteFontFace1 und IDWriteFont1 Schnittstellen verfügbar. Diese Methode gibt eine DWRITE_FONT_METRICS1 Struktur zurück, die alle diese Informationen enthält.

Caretmetriken

Zum Erstellen von Textbearbeitungs-Apps benötigen Sie Zugriff auf Informationen zum Zeichnen des Carets, das durch den Text navigiert. Ab Windows 8 stellt DirectWrite- die GetCaretMetrics--Methode für die IDWriteFontFace1 und IDWriteFont1 Schnittstellen für dieses Szenario bereit. GetCaretMetrics gibt eine DWRITE_CARET_METRICS Aufzählung zurück, die Informationen über die Steigung und den Offset für das Caret entlang der Basislinie enthält.

Diese Informationen sind besonders hilfreich, wenn Sie in der Lage sein möchten, ihre Caretneigung entsprechend mit kursiv formatierten Text zu haben.

Monospaced Discoverability

Apps, mit denen Benutzer Computercode schreiben können, verwenden häufig monospaced Schriftarten anstelle herkömmlicher Schriftarten. Sie können also mehr Kontrolle über die Schriftartauswahl in Apps im Zusammenhang mit der Entwicklung haben, DirectWrite gibt an, ob eine Schriftart über die API monospaced ist. Die IsMonospacedFont-Methode für die IDWriteFontFace1-Schnittstelle gibt einen Wert vom Typ Boolean zurück, der angibt, ob die Schriftart monospaced ist.

Schriftartennameabgleich

Rich-Text-Apps wie PDF-Leser müssen in der Lage sein, Schriftarten in ihren Inhalten auf Schriftarten im System abzugleichen, benötigen Zugriff auf die vollständigen Namen von Schriftarten in mehreren Formaten. Daher können Sie Schriftarten besser abgleichen, DirectWrite- eine Aufzählung enthält, die vollständige Benennungsinformationen zu einer Schriftart in vielen Formaten ausdrückt.

Sie verwenden die DWRITE_INFORMATIONAL_STRING_ID Enumeration, um den vollständigen Namen, postScript-Namen und postScript-CID-Namen einer beliebigen Schriftart im System abzurufen. Diese Informationen sind hilfreich, wenn Sie Schriftarten in Ihrer App mit den entsprechenden Schriftarten im lokalen System abgleichen müssen.

Glyphenfortschritte

Die GetGlyphAdvances Methode für die IDWriteFontFace1 und IDWriteFont1 Schnittstellen übernimmt die Glyphenanzahl und -indizes, über die Sie Informationen benötigen, und gibt dann die Fortschritte für die fraglichen Glyphen zurück.

Unicode-Bereiche

Apps, die ihre eigene Schriftartauswahl verarbeiten möchten, benötigen Zugriff auf die Unicode-Bereiche, die von der Schriftart unterstützt werden. Wenn ein Unicode-Codepoint von der Schriftart nicht unterstützt wird, kann die App eine entsprechende Schriftart auswählen, die diese Glyphe enthält. Ohne diese Informationen kann die App eine Schriftart verwenden, die nicht alle Glyphen enthält, die zum Anzeigen der vorhandenen Informationen erforderlich sind.

Die GetUnicodeRanges Methode für die IDWriteFontFace1 und IDWriteFont1 Schnittstellen nimmt die maximale Anzahl von Bereichen zurück, die vom Client übergeben werden, und gibt die tatsächlichen Bereiche zurück, die von der Schriftart unterstützt werden.

EUDC-Schriftartsammlung

Verwenden Sie die GetEudcFontCollection-Methode für die IDWriteFactory1 Schnittstelle auf die EUDC-Schriftartsammlung zugreifen. Diese Methode funktioniert auf dieselbe Weise wie GetSystemFontCollection, sondern gibt stattdessen einen Zeiger auf eine EUDC-Schriftartsammlung zurück.