Verwenden von MS Shell Dlg und MS Shell Dlg 2

Windows ist in lokalisierten Editionen für viele Sprachen verfügbar. Die englischsprachige Edition kann jedoch auch zum Ausführen von Anwendungen verwendet werden, die in anderen Sprachen als Englisch geschrieben wurden. Dies gilt auch dann, wenn sich das für diese Sprachen verwendete Skript unterscheidet, z. B. wenn Anwendungen auf Griechisch oder Japanisch geschrieben werden. Diese Anwendungen erfordern eine Benutzeroberfläche mit Dialogfeldern, Symbolen und Hilfsprogrammen, die Informationen in der Anwendungssprache bereitstellen, die sich möglicherweise von der Sprache unterscheiden, die in der aktuellen Windows-Benutzeroberfläche verwendet wird.

Das Problem bei der Auswahl der Schriftart für eine Benutzeroberfläche liegt auf der Hand. Beispielsweise ist die Shellschriftart, auch als System- oder Standardschriftart bezeichnet, für Englisch (USA) Windows 98 MS Sans Serif, während die Shellschriftart für Griechisch (Griechenland) Windows 98 MS Sans Serif Greek ist. Für japanisches Windows 98 ist die Shellschriftart MS UI Gothic. Diese Zeichensätze können nicht direkt einander zugeordnet werden. Wenn MS Sans Serif durch MS Sans Serif Greek ersetzt wird, wenn das Gebietsschema auf Griechisch (Griechenland) festgelegt ist, können vorhandene Anwendungen nicht ordnungsgemäß ausgeführt werden oder griechische Zeichen in Systemmenüs, Dialogfeldern und Steuerelementen bearbeiten.

Windows löst dieses Problem, indem die logischen Schriftarten MS Shell Dlg und MS Shell Dlg 2 verwendet werden, um die Auswahl der geeigneten Schriftart für die Skriptanzeige zu ermöglichen. In diesem Abschnitt werden verschiedene Programmierüberlegungen für die Verwendung der logischen Schriftarten zum Implementieren von Dialogfeldern, Menüs usw. für flexible Benutzeroberflächen behandelt, die auf allen unterstützten Windows-Betriebssystemen und in allen Sprachen gut angezeigt werden. Weitere Informationen finden Sie unter Erstellen und Auswählen von Schriftarten. Siehe auch Mehrsprachige Benutzeroberfläche , um die Verwendung der MUI-Technologie (Multilingual User Interface) beim Erstellen von Benutzeroberflächen für Ihre mehrsprachigen Anwendungen zu diskutieren.

Informationen zu logischen Schriftarten

Die logischen Schriftarten MS Shell Dlg und MS Shell Dlg 2 sind im Wesentlichen Gesichtsnamen, die für die Zuordnung verwendet werden, um die Unterstützung für Gebietsschemas/Kulturen mit Zeichen zu ermöglichen, die nicht in der Codepage 1252 enthalten sind, dem Windows-Zeichensatz für die USA und Westeuropa. MS Shell Dlg wird der Standard-Shellschriftart zugeordnet, die der aktuellen Kultur bzw. dem aktuellen Gebietsschema zugeordnet ist, und unterstützt den klassischen Windows-Desktoplook. Ms Shell Dlg 2 Gesichtsname wurde in Windows 2000 eingeführt, um das mit Windows 2000 eingeführte Aussehen zu unterstützen.

Wenn Ihre Anwendung beispielsweise MS Shell Dlg oder MS Shell Dlg 2 für ihre Dialogfelder verwendet, kann sich ein Lokalisierungsteam, das griechischsprachige Ressourcen für Ihre Anwendung erstellt, auf die Übersetzung von Text konzentrieren. Sie müssen sich nicht mit Fragen wie der Unterscheidung zwischen MS Sans Serif und MS Sans Serif Greek befassen.

Hinweis

Die von MS Shell Dlg und MS Shell Dlg 2 generierten Schriftarten unterscheiden sich unter verschiedenen Windows-Versionen. Daher sollten Sie sicherstellen, dass Ihre Benutzeroberflächenelemente auf allen Plattformen gut angezeigt werden.

 

Behandeln Hard-Coded Schriftartnamen

Die Verwendung von Unicode ermöglicht Es Anwendungen, Tausende von verschiedenen Zeichen zu behandeln, aber die meisten Schriftarten decken nicht den gesamten Unicode-Zeichensatz ab. Ihre Anwendungen sollten Schriftartnamen nicht hart codieren. Ein Grund dafür ist, dass das harte Codieren eines Schriftartnamens, der Zeichen für eine Sprache und nicht Zeichen für eine andere Sprache anzeigt, dazu führt, dass der gesamte lokalisierte Text in der zweiten Sprache falsch angezeigt wird. Ein weiterer Grund, Schriftartnamen nicht hart zu codieren, ist, dass die gewünschte Schriftart möglicherweise nicht auf das Betriebssystem geladen wird, das Anwendungstext anzeigt.

Die beste Möglichkeit, Schriftartnamen zu behandeln, besteht darin, sie als lokalisierbare Ressourcen zu betrachten. Die Verwendung einer logischen Schriftart löst das Problem der Ausführung Ihrer Benutzeroberfläche mit einer beliebigen Sprache unter Windows NT oder Windows 2000 für jede Sprache. Wenn Sie einen Schriftartnamen als lokalisierbare Ressource festlegen, können Sie die Schriftart für die lokalisierte Benutzeroberfläche ändern.

Behandeln Hard-Coded Schriftgrößen

Einige Skripts sind komplex und erfordern eine große Anzahl von Pixeln, um ordnungsgemäß angezeigt zu werden. Beispielsweise werden die meisten englischen Zeichen in einem 5x7-Raster angezeigt, aber japanische Zeichen benötigen mindestens ein Raster von 16x16, um deutlich sichtbar zu sein. Während Chinesisch ein Raster von 24 x 24 benötigt, benötigt Thai nur 8 Pixel für die Breite, aber mindestens 22 Pixel für die Höhe. Es ist leicht zu verstehen, dass einige Zeichen bei einem kleinen Schriftgrad möglicherweise nicht lesbar sind.

Die Benutzeroberfläche ihrer Anwendung sollte Schriftgrößen als lokalisierbare Ressourcen behandeln. Die Verwendung einer logischen Schriftart löst das Problem der Ausführung Ihrer Benutzeroberfläche mit einer beliebigen Sprache unter Windows NT oder Windows 2000 für jede Sprache. Wenn Sie einen Schriftgrad als lokalisierbare Ressource festlegen, können Sie die Schriftart für die lokalisierte Benutzeroberfläche ändern.

Zuordnen der logischen Schriftarten

Jede der logischen Schriftarten wird durch einen Eintrag in der Registrierung der entsprechenden Shellschriftart für das aktuell aktive Gebietsschema zugeordnet. Wenn eine der logischen Schriftarten verwendet wird, wechselt Windows zur Laufzeit zur Schriftart für das aktuell ausgewählte Gebietsschema. Dieser Vorgang ermöglicht die korrekte Anzeige der englischen (USA) Windows-Benutzeroberfläche sowie von Zeichen, die nicht in der Codepage 1252 enthalten sind. Daher können derzeit lokalisierte Anwendungen unter der englischen Version (USA) von Windows ohne Änderungen ausgeführt werden.

Jeder Windows-Computer ordnet MS Shell Dlg und MS Shell Dlg 2 einer entsprechenden physischen Schriftart zu, basierend auf der definierten Sprache für Nicht-Unicode-Programme, die in NLS-Terminologie beschrieben wird. Die tatsächlichen Zuordnungen werden im Registrierungsschlüssel HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\Current Version\FontSubstitutes gespeichert.

Schriftzuordnung unter Windows Me/98/95

MS Shell Dlg wird in der Regel einer Codepage-spezifischen Version von MS Sans Serif zugeordnet.

Schriftartzuordnung unter Windows NT 4.0

MS Shell Dlg kartiert MS Sans Serif für West- und Mitteleuropa, Griechisch, Türkisch, Baltikum und Sprachen mit kyrillischer Schrift; MS UI Gothic für Japanisch; Gulim für Koreanisch; Simsun für vereinfachtes Chinesisch; PMinglu für traditionelles Chinesisch; Etc.

Schriftzuordnung unter Windows 2000, Windows XP, Windows Server 2003, Windows Vista und Windows 7

Beide logischen Schriftarten werden Unicode-basierte TrueType-Schriftarten zugeordnet. MS Shell Dlg verwendet Microsoft Sans Serif (anders als MS Sans Serif), wenn die Installationssprache nicht Japanisch ist. MS Shell Dlg wird MS UI Gothic zugeordnet, wenn die Installationssprache Japanisch ist.

Auf Windows XP MUI-Systemen wird MS Shell Dlg nur dann MS UI Gothic zugeordnet, wenn das Systemgebietsschema und die UI-Sprache auf Japanisch festgelegt sind. Andernfalls wird MS Shell Dlg Microsoft Sans Serif zugeordnet.

Unter Windows Vista und Windows 7 wird MS Shell Dlg MS UI Gothic zugeordnet, wenn die Standardsprache der Benutzeroberfläche des Computers auf Japanisch festgelegt ist (unabhängig von der Installationssprache). MS Shell Dlg wird Microsoft Sans Serif zugeordnet, wenn die Standardsprache der Benutzeroberfläche des Computers auf eine andere Sprache als Japanisch festgelegt ist.

MS Shell Dlg 2 verwendet einfach die Tahoma-Schriftart unabhängig von der Sprache. Der Standard Vorteil von Tahoma gegenüber Microsoft Sans Serif ist, dass Tahoma eine native fett formatierte Schriftart hat. Sein Standard Nachteil ist, dass es bei älteren Betriebssystemen möglicherweise nicht installiert ist und eine weniger ansprechende Schriftart ersetzen kann.

Zeichen, die nicht in Tahoma oder Microsoft Sans Serif implementiert sind, können in anderen Windows-Schriftarten implementiert werden, die für die Textanzeige in Benutzeroberflächen verwendet werden. Je nachdem, welche Steuerelemente oder APIs zum Anzeigen von Text verwendet werden, können verschiedene Mechanismen wie die Schriftartverknüpfung vom System verwendet werden, um solche Schriftarten für die Anzeige dieser Zeichen automatisch auszuwählen.

Anwendungen können entweder Microsoft Sans Serif oder Tahoma explizit verwenden und die Dehnungsebene speichern, die bei der Verwendung von MS Shell Dlg oder MS Shell Dlg 2 erforderlich ist. Aufgrund der Schriftartverknüpfung bietet die Angabe von Microsoft Sans Serif oder Tahoma geeignete Glyphen für alle Sprachen.

Verwenden von MS Shell Dlg für eine nicht englische Anwendung unter Windows Me/98/95

Unter Windows Me/98/95 ist MS Shell Dlg nicht für die Verwendung mit einer statischen, nicht englischen Benutzeroberfläche vorgesehen, die ausgeführt wird, wenn der Benutzer ein Gebietsschema mit einem anderen Windows-Basiszeichensatz ausgewählt hat. In diesem Fall wird die Sprache der Benutzeroberfläche der Anwendung möglicherweise nicht mit der Schriftart unterstützt, die durch MS Shell Dlg ersetzt wird.

Wenn der Benutzer beispielsweise eine deutschsprachige Version von Windows verwendet und eine Nicht-Unicode-Anwendung in griechischer Sprache installieren möchte, versucht der Benutzer, das Gebietsschema in Griechisch (Griechenland) zu ändern. Diese Aktion setzt MS Shell Dlg auf eine griechische Schriftart zurück, aber diese Schriftart enthält nicht alle Glyphen, die für die Anzeige auf Deutsch erforderlich sind. Daher werden alle Nicht-ASCII-Zeichen in der deutschsprachigen Benutzeroberfläche nicht ordnungsgemäß angezeigt. Um dieses Szenario zu unterstützen, muss eine Anwendung MS Shell Dlg auf eine Schriftart festlegen, die sowohl die westeuropäischen als auch die griechischen Glyphen enthält.

Internationale Schriftartenaufzählung und -auswahl

Multilingual User Interface