Función ScriptGetFontAlternateGlyphs (usp10.h)
Recupera una lista de glifos alternativos para un carácter especificado al que se puede tener acceso a través de una característica OpenType especificada.
Sintaxis
HRESULT ScriptGetFontAlternateGlyphs(
[in, optional] HDC hdc,
[in, out] SCRIPT_CACHE *psc,
[in, optional] SCRIPT_ANALYSIS *psa,
[in] OPENTYPE_TAG tagScript,
[in] OPENTYPE_TAG tagLangSys,
[in] OPENTYPE_TAG tagFeature,
[in] WORD wGlyphId,
[in] int cMaxAlternates,
[out] WORD *pAlternateGlyphs,
[out] int *pcAlternates
);
Parámetros
[in, optional] hdc
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 define la caché de scripts.
[in, optional] psa
Puntero a una estructura de SCRIPT_ANALYSIS obtenida de una llamada anterior a ScriptItemizeOpenType. Este parámetro identifica el motor de forma, de modo que la matriz de glifos alternativos se pueda crear con el ámbito correcto.
Como alternativa, la aplicación puede establecer este parámetro en NULL para recibir resultados sin filtrar.
[in] tagScript
Estructura OPENTYPE_TAG que define la etiqueta de script asociada a glifos alternativos.
[in] tagLangSys
Estructura OPENTYPE_TAG que define la etiqueta de idioma asociada a glifos alternativos.
[in] tagFeature
Estructura OPENTYPE_TAG que define la etiqueta de característica asociada a glifos alternativos.
[in] wGlyphId
Identificador del glifo original asignado desde la tabla de mapa de caracteres.
[in] cMaxAlternates
Longitud de la matriz especificada por pAlternateGlyphs.
[out] pAlternateGlyphs
Puntero al búfer en el que esta función recupera una matriz de identificadores de glifo. La matriz incluye el glifo original, seguido de glifos alternativos. El primer elemento es siempre el glifo original. Los formularios alternativos se identifican mediante un índice en la matriz. El índice es un valor mayor que uno y menor que el valor de pcAlternates.
Cuando el usuario elige un formulario alternativo de la interfaz de usuario, el glifo alternativo se aplica al carácter correspondiente y se vuelve a formatear la representación.
[out] pcAlternates
Puntero al número de elementos de la matriz especificada por pAlternateGlyphs.
Valor devuelto
Si la operación se realiza correctamente, devuelve 0. La función devuelve un valor HRESULT distinto de cero si no se realiza correctamente. La aplicación puede probar el valor devuelto con las macros SUCCEEDED y FAILED .
Si el número de glifos alternativos supera el valor de cMaxAlternates, se produce un error en la función con E_OUTOFMEMORY. La aplicación puede intentar llamar de nuevo con búferes más grandes.
Comentarios
Cuando se usan glifos alternativos, la aplicación cambia primero la forma del glifo original sin aplicar ninguna etiqueta de característica y, a continuación, selecciona una alternativa. El glifo original se establece como glifo base. Si se requiere otra alternativa, el glifo original proporciona información para que coincida con la lista de alternativas correspondiente.
Si se usa un glifo alternativo como glifo base, no se encuentra ninguna lista de salida coincidente. La interfaz de usuario usa el formulario final seleccionado sin proporcionar la capacidad de elegir otra alternativa.
Las operaciones de ScriptGetFontAlternateGlyphs se pueden emular mediante ScriptSubstituteSingleGlyph. La aplicación debe probar los parámetros uno por uno mientras se sustituyen los glifos.
Para dar forma a fuentes con Uniscribe, se prefiere ScriptShapeOpenType sobre la función ScriptShape anterior.
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Windows Vista [solo aplicaciones de escritorio] |
Servidor mínimo compatible | Windows Server 2008 [solo aplicaciones de escritorio] |
Plataforma de destino | Windows |
Encabezado | usp10.h |
Library | Usp10.lib |
Archivo DLL | Usp10.dll |
Redistribuible | Usp10.dll versión 1.600 o posterior en Windows XP |