Freigeben über


Internationale Schriftartenaufzählung und Auswahl

In jeder Hauptversion von Windows werden Schriftarten zur Unterstützung internationaler Sprachen und Skripts hinzugefügt. Bitte verweisen Sie auf Skript- und Schriftartunterstützung in Windows für die Schriftarten, die seit Windows 2000 in jeder Windows-Version hinzugefügt wurden, sowie auf die unterstützten Skripts, Regionen und Sprachen.

EnumFontFamiliesEx

Um internationale Schriftarten in Ihrer Anwendung aufzulisten, können Sie die funktion EnumFontFamiliesEx verwenden. EnumFontFamiliesEx- ermöglicht ihnen das Aufzählen von Schriftarten basierend auf dem Schriftartnamen und zeichensatz, indem Sie einen Zeiger an eine LOGFONT- Struktur übergeben, die den Namen und die Zeichensatzinformationen enthält. Um EnumFontFamiliesEx-aufzurufen, können Sie entweder einen Schriftartnamen oder ein Zeichensatz angeben, oder Sie können fragen, was verfügbar ist. Wenn Sie den Schriftartnamen des LOGFONT- auf NULL festlegen, werden alle Schriftartnamen aufgelistet. Wenn Sie das Zeichensatzfeld auf DEFAULT_CHARSET aufzählen, werden alle Zeichensätze aufgelistet.

Beachten Sie, dass Zeichensätze ein legacy-Konzept sind, das prä-Unicode-Zeichensätzen entspricht. Derzeit gibt es keinen Mechanismus zum Aufzählen von Schriftarten, die beliebige Skripts oder Zeichenbereiche in Unicode unterstützen. Die NEWTEXTMETRICEX Struktur, die von EnumFontFamExProc übergeben wird, enthält die FONTSIGNATURE- Struktur, die detailliertere Deklarationen enthält, die vom Schriftartentwickler bereitgestellt werden, wie Codeseiten und welche Unicode-Bereiche die Schriftart unterstützt. Um genauer zu bestimmen, welche Zeichenbereiche eine bestimmte Schriftart unterstützt, wählen Sie die Schriftart in einem Gerätekontext aus, und rufen Sie GetFontUnicodeRangesauf. Beachten Sie, dass diese API keine zusätzlichen Unicode-Ebenen unterstützt.

ChooseFont

Sie können die ChooseFont-Funktion verwenden, um ein allgemeines Dialogfeld anzuzeigen, in dem der Benutzer internationale Schriftarten basierend auf Zeichensatz auswählen kann. Sie können eine von drei Kennzeichen angeben, die basierend auf dem Zeichensatz ermittelt werden sollen, welche Schriftarten im Dialogfeld "ChooseFont" angezeigt werden: CF_SCRIPTSONLY, CF_SELECTSCRIPToder CF_NOSCRIPTSEL.

Das flag CF_SCRIPTSONLY weist die API an, Schriftarten für alle Zeichensätze aufzulisten, die nicht Symbol oder OEM sind.

Wenn Sie nur Schriftarten anzeigen möchten, die ein bestimmtes Zeichenset abdecken, müssen Sie das Kennzeichen CF_SELECTSCRIPTangeben. Initialisieren Sie vor dem Aufrufen ChooseFont-das Feld "lfCharSet" der LOGFONT--Struktur. Wenn Sie nur die Zeichenmenge angeben möchten, legen Sie die anderen Felder der LOGFONT- Struktur auf NULL-fest. Damit ChooseFont die LOGFONT- Struktur betrachten kann, müssen Sie auch das CF_INITTOLOGFONTSTRUCT Flag angeben.

Schließlich können Sie, wie bei jedem anderen Feld im Dialogfeld "Schriftart", ein leeres Skriptlistenfeld anzeigen. Diese Funktion ist nützlich, wenn der Benutzer mehrere verschiedene Schriftarten hervorgehoben hat, die mehrere Zeichensätze umfassen. In diesem Fall würden Sie ChooseFont mit der CF_NOSCRIPTSEL-Kennzeichnung aufrufen.

Ab Windows 7 implementiert ChooseFont Unterstützung für das Ausblenden von Schriftarten aus Schriftartauswahllisten. ChooseFont werden nur die angezeigten Schriftarten aufgelistet und die ausgeblendeten Schriftarten beim Anzeigen von Schriftarten im Listenfeld herausfiltern. Das zusätzliche Flag (CF_INACTIVEFONTS) im Flags-Element der ChooseFont--Struktur wird hinzugefügt, damit Sie alle installierten Schriftarten in der Schriftartenliste anzeigen können, identisch mit ChooseFont verhalten sich vor Windows 7. Details zu Verhaltensunterschieden in Windows 7 für die ChooseFont--Funktion finden Sie unter ChooseFont() Win32 Common Dialog im Windows 7 Application Quality Cookbook. Verweisen Sie auf ChooseFont--Funktion und CHOOSEFONT Struktur für die Unterschiede bei der Endbenutzerfreundlichkeit in Windows 7.

Beachten Sie, dass Zeichensätze ein legacy-Konzept sind, das prä-Unicode-Zeichensätzen entspricht. Derzeit gibt es keinen Mechanismus zum Filtern von Schriftarten auf Der Grundlage von Unicode-Skripts oder Zeichenbereichen.

Schriftartsteuerelemente im Windows-Menüband "Scenic"

In Windows 7 wird das Windows Scenic Ribbon eingeführt, das eine Reihe von Steuerelementen enthält, die auf die Schriftartauswahl ausgerichtet sind. Diese Schriftartsteuerelemente unterstützen das ausblenden des neuen Windows 7-Schriftartenverhaltens. Sie können diese Schriftartsteuerelemente verwenden, um nur angezeigte Schriftarten aufzulisten und dem Benutzer die Auswahl der Schriftart zu ermöglichen.

Anmerkung

Die Unterstützung für das Ausblenden von Schriftarten ist nicht verfügbar, wenn das Windows Scenic-Menüband auf einer beliebigen Plattform vor Windows 7 ausgeführt wird.

 

EnumFontFamiliesEx

ChooseFont-

CHOOSEFONT-Struktur

Schriftartsteuerelemente in windows Scenic Ribbon

ChooseFont() Win32 Common Dialog