Compartir a través de


Uso de MS Shell Dlg y MS Shell Dlg 2

Windows está disponible en ediciones localizadas para muchos lenguajes. Sin embargo, la edición en inglés también se puede usar para ejecutar aplicaciones escritas en idiomas distintos del inglés. Esto es cierto incluso cuando el script usado para estos lenguajes es diferente, como cuando las aplicaciones se escriben en griego o japonés. Estas aplicaciones requieren una interfaz de usuario con cuadros de diálogo, iconos y utilidades que proporcionan información en el idioma de la aplicación, que podría ser diferente del idioma que se usa en la interfaz de usuario actual de Windows.

El problema al seleccionar la fuente de una interfaz de usuario es obvio. Por ejemplo, la fuente del shell, también conocida como fuente predeterminada o del sistema, para inglés (Estados Unidos) Windows 98 es MS Sans Serif, mientras que la fuente de shell para Griego (Grecia) Windows 98 es MS Sans Serif griego. En japonés (Japón) Windows 98, la fuente del shell es MS UI Gothic. Estos juegos de caracteres no se pueden asignar directamente entre sí. Reemplazar MS Sans Serif por MS Sans Serif griego cuando la configuración regional está establecida en griego (Grecia) no permite que las aplicaciones existentes se ejecuten adecuadamente o para mostrar caracteres griegos en menús del sistema, cuadros de diálogo y controles de edición.

Windows resuelve este problema mediante las fuentes lógicas DLg de MS Shell y MS Shell Dlg 2 para permitir la selección de la fuente adecuada para la visualización de scripts. En esta sección se abordan varias consideraciones de programación para usar las fuentes lógicas para implementar cuadros de diálogo, menús y similares para interfaces de usuario flexibles que se muestran bien en todos los sistemas operativos Windows compatibles y en todos los lenguajes. Para obtener más información, vea Creación y selección de fuentes. Consulte también Interfaz de usuario multilingüe para obtener una explicación del uso de la tecnología de interfaz de usuario multilingüe (MUI) para crear interfaces de usuario para sus aplicaciones multilingües.

Acerca de las fuentes lógicas

Las fuentes lógicas Dlg y MS Shell Dlg 2 son básicamente nombres de caras que se usan para la asignación para permitir la compatibilidad con configuraciones regionales o culturales que tienen caracteres que no están incluidos en la página de códigos 1252, el juego de caracteres de Windows para la Estados Unidos y Europa occidental. Ms Shell Dlg se asigna a la fuente de shell predeterminada asociada a la referencia cultural o configuración regional actual y admite el aspecto clásico del escritorio de Windows. Ms Shell Dlg 2 face name se introdujo en Windows 2000 para admitir la apariencia que se introdujo con Windows 2000.

Por ejemplo, si la aplicación usa MS Shell Dlg o MS Shell Dlg 2 para sus cuadros de diálogo, un equipo de localización que crea recursos de idioma griego para la aplicación puede centrarse en traducir texto. No tienen que preocuparse por cuestiones como la distinción entre MS Sans Serif y MS Sans Serif griego.

Nota

Las fuentes generadas por MS Shell Dlg y MS Shell Dlg 2 son diferentes en diferentes versiones de Windows. Por lo tanto, debe asegurarse de que los elementos de la interfaz de usuario se muestran bien en todas las plataformas.

 

Controlar Hard-Coded nombres de fuente

El uso de Unicode permite a las aplicaciones tratar con miles de caracteres diferentes, pero la mayoría de las fuentes no cubren todo el juego de caracteres Unicode. Las aplicaciones no deben codificar de forma rígida los nombres de fuente. Una razón es que codificar de forma rígida un nombre de fuente que muestra caracteres para un idioma y no caracteres para otro idioma hace que todo el texto localizado en el segundo idioma se muestre incorrectamente. Otra razón para no codificar los nombres de fuente es que es posible que la fuente deseada no se cargue en el sistema operativo que muestra el texto de la aplicación.

La mejor manera de tratar los nombres de fuente es considerarlos como recursos localizables. El uso de una fuente lógica resuelve el problema de ejecutar la interfaz con cualquier lenguaje en Windows NT o Windows 2000, para cualquier lenguaje. Establecer un nombre de fuente como un recurso localizable permite que el localizador cambie la fuente de la interfaz de usuario localizada.

Controlar Hard-Coded tamaños de fuente

Algunos scripts son complejos y requieren un gran número de píxeles para mostrarse correctamente. Por ejemplo, la mayoría de los caracteres en inglés se muestran en una cuadrícula de 5x7, pero los caracteres japoneses necesitan al menos una cuadrícula de 16 x 16 para verse claramente. Mientras que chino necesita una cuadrícula de 24 x 24, tailandés solo necesita 8 píxeles para el ancho, pero al menos 22 píxeles para el alto. Es fácil entender que algunos caracteres podrían no ser legibles en un tamaño de fuente pequeño.

La interfaz de usuario de la aplicación debe tratar los tamaños de fuente como recursos localizables. El uso de una fuente lógica resuelve el problema de ejecutar la interfaz con cualquier lenguaje en Windows NT o Windows 2000, para cualquier lenguaje. Establecer un tamaño de fuente como un recurso localizable permite que el localizador cambie la fuente de la interfaz de usuario localizada.

Asignar las fuentes lógicas

Cada una de las fuentes lógicas se asigna mediante una entrada del Registro a la fuente de shell adecuada para la configuración regional activa actualmente. Cuando se usa una de las fuentes lógicas, Windows cambia a la fuente de la configuración regional seleccionada actualmente en tiempo de ejecución. Esta operación permite mostrar correctamente la interfaz de usuario de Windows (Estados Unidos) inglés, así como caracteres que no están en la página de códigos 1252. Por lo tanto, actualmente, las aplicaciones localizadas se pueden ejecutar en la versión en inglés (Estados Unidos) de Windows sin modificaciones.

Cada equipo Windows asigna MS Shell Dlg y MS Shell Dlg 2 a una fuente física adecuada, basada en el lenguaje definido para programas que no son Unicode, descritos en Terminología nlS. Las asignaciones reales se almacenan en la clave del Registro HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\Current Version\FontSubstitutes.

Asignación de fuentes en Windows Me/98/95

Ms Shell Dlg generalmente se asigna a una versión específica de la página de códigos de MS Sans Serif.

Asignación de fuentes en Windows NT 4.0

MS Shell Dlg se asigna a MS Sans Serif para europa occidental y central, griego, turco, báltico y idiomas mediante script cirílico; MS UI Gothic para japonés; Gulim para coreano; Simsun para chino simplificado; PMinglu para chino tradicional; Etc.

Asignación de fuentes en Windows 2000, Windows XP, Windows Server 2003, Windows Vista y Windows 7

Ambas fuentes lógicas se asignan a fuentes TrueType basadas en Unicode. MS Shell Dlg usa Microsoft Sans Serif (distinto de MS Sans Serif) si el idioma de instalación no es japonés. MS Shell Dlg se asigna a MS UI Gothic si el idioma de instalación es japonés.

En los sistemas MUI de Windows XP, MS Shell Dlg se asigna a MS UI Gothic solo cuando la configuración regional del sistema y el idioma de la interfaz de usuario se establecen en japonés. De lo contrario, MS Shell Dlg se asigna a Microsoft Sans Serif.

En Windows Vista y Windows 7, MS Shell Dlg se asigna a MS UI Gothic si el idioma predeterminado de la interfaz de usuario del equipo está establecido en japonés (independientemente del idioma de instalación). MS Shell Dlg se asigna a Microsoft Sans Serif si el idioma predeterminado de la interfaz de usuario de la máquina está establecido en un idioma distinto del japonés.

MS Shell Dlg 2 simplemente usa la fuente Tahoma independientemente del idioma. La principal ventaja de Tahoma sobre Microsoft Sans Serif es que Tahoma tiene una cara de fuente en negrita nativa. Su principal desventaja es que es posible que los sistemas operativos más antiguos no lo tengan instalado y podrían sustituir una fuente menos atractiva.

Los caracteres que no se implementan en Tahoma o Microsoft Sans Serif se pueden implementar en otras fuentes de Windows que se usan para mostrar texto en interfaces de usuario. En función de qué controles o API se usan para mostrar texto, el sistema puede usar varios mecanismos como la vinculación de fuentes para seleccionar automáticamente dichas fuentes para mostrar esos caracteres.

Las aplicaciones pueden usar Microsoft Sans Serif o Tahoma explícitamente y guardar el nivel de direccionamiento indirecto implicado en el uso de MS Shell Dlg o MS Shell Dlg 2. Debido a la vinculación de fuentes, especificar Microsoft Sans Serif o Tahoma proporciona glifos adecuados para todos los idiomas.

Uso de MS Shell Dlg para una aplicación que no es inglés en Windows Me/98/95

En Windows Me/98/95, MS Shell Dlg no está pensado para su uso con una aplicación de interfaz de usuario estática no inglesa que se ejecuta cuando el usuario ha elegido una configuración regional con un juego de caracteres base de Windows diferente. En este caso, es posible que el lenguaje de la interfaz de usuario de la aplicación no se admita con la fuente que se sustituye por MS Shell Dlg.

Por ejemplo, si el usuario usa una versión en alemán de Windows y quiere instalar una aplicación que no sea unicode griego, el usuario intenta cambiar la configuración regional a griego (Grecia). Esta acción restablece MS Shell Dlg a una fuente griega, pero esta fuente no contiene todos los glifos necesarios para mostrarse en alemán. Por lo tanto, los caracteres que no sean ASCII en la interfaz de usuario de idioma alemán no se mostrarán correctamente. Para admitir este escenario, una aplicación debe establecer MS Shell Dlg en una fuente que contenga los glifos griegos y europeos occidentales.

Enumeración y selección de fuentes internacionales

Interfaz de usuario multilingüe