Compartir a través de


Función ScriptGetCMap (usp10.h)

Recupera los índices de glifo de los caracteres Unicode de una cadena según la tabla cmap TrueType o la tabla cmap estándar implementada para fuentes de estilo antiguo.

Sintaxis

HRESULT ScriptGetCMap(
  [in]      HDC          hdc,
  [in, out] SCRIPT_CACHE *psc,
  [in]      const WCHAR  *pwcInChars,
  [in]      int          cChars,
  [in]      DWORD        dwFlags,
  [out]     WORD         *pwOutGlyphs
);

Parámetros

[in] hdc

Opcional. Identificador del contexto del dispositivo. Para obtener más información, consulte Almacenamiento en caché.

[in, out] psc

Puntero a una estructura de SCRIPT_CACHE que identifica la caché de scripts.

[in] pwcInChars

Puntero a una cadena de caracteres Unicode.

[in] cChars

Número de caracteres Unicode en la cadena indicada por pwcInChars.

[in] dwFlags

Marcas que especifican cualquier control especial de los glifos. De forma predeterminada, los glifos se proporcionan en orden lógico sin control especial. Este parámetro puede tener el siguiente valor.

Valor Significado
SGCM_RTL
La matriz de glifos indicada por pwOutGlyphs debe contener glifos reflejados para esos glifos que tienen un equivalente reflejado.

[out] pwOutGlyphs

Puntero a un búfer en el que la función recupera una matriz de índices de glifo. Este búfer debe tener la misma longitud que el búfer de entrada indicado por pwcInChars. Cada punto de código se asigna a un solo glifo.

Valor devuelto

Devuelve S_OK si todos los puntos de código Unicode están presentes en la fuente. La función devuelve uno de los valores HRESULT distintos de cero enumerados a continuación si no se realiza correctamente.

Valor devuelto Significado
E_HANDLE La fuente o el sistema operativo no admiten índices de glifo.
S_FALSE Algunos de los puntos de código Unicode se asignaron al glifo predeterminado.

Comentarios

Vea Mostrar texto con Uniscribe para obtener una explicación del contexto en el que normalmente se llama a esta función.

Esta función se puede usar para determinar los caracteres de una ejecución compatible con la fuente seleccionada. La aplicación puede examinar el búfer de glifos recuperados, buscando el glifo predeterminado para determinar los caracteres que no están disponibles. La aplicación debe determinar el índice de glifo predeterminado para la fuente seleccionada mediante una llamada a ScriptGetFontProperties.

El valor devuelto de esta función indica la presencia de glifos que faltan.

Nota La función supone una relación 1:1 entre los elementos de las matrices de entrada y salida. Sin embargo, la función no admite esta relación para los pares suplentes UTF-16. Para un par suplente, la función no recupera el índice del glifo para el carácter complementario del plano. De forma similar, la función no admite secuencias Unicode Variation-Selector (VS), cada una de las cuales consta de un carácter gráfico Unicode seguido de uno de un conjunto de caracteres SELECTOR DE VARIANTEs para seleccionar una representación de glifo determinada para ese carácter gráfico. Para una secuencia de VS, la función recupera el índice de glifo para el glifo predeterminado asignado por el mapa c para los dos caracteres, en lugar del índice del glifo para el glifo concreto para la secuencia de VS.
 
Algunos puntos de código se pueden representar mediante una combinación de glifos, así como por un solo glifo, por ejemplo, 00C9; LETRA MAYÚSCULA E LATINA CON AGUDO. En este caso, si la fuente admite el glifo E mayúscula y el glifo agudo, pero no un solo glifo para 00C9, ScriptGetCMap muestra que 00C9 no es compatible. Para determinar la compatibilidad de fuentes para una cadena que contiene estos tipos de puntos de código, la aplicación puede llamar a ScriptShape. Si la función devuelve S_OK, la aplicación debe comprobar la salida de los glifos que faltan.
Importante A partir de Windows 8: para mantener la capacidad de ejecutarse en Windows 7, un módulo que usa Uniscribe debe especificar Usp10.lib antes de gdi32.lib en su lista de bibliotecas.
 

Requisitos

Requisito Value
Cliente mínimo compatible Windows 2000 Professional [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows 2000 Server [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado usp10.h
Library Usp10.lib
Archivo DLL Usp10.dll
Redistribuible Internet Explorer 5 o posterior en Windows Me/98/95

Consulte también

Mostrar texto con uniscribe

SCRIPT_CACHE

ScriptGetFontProperties

ScriptShape

Uniscribe

Funciones uniscribe