Share via


Función ScriptGetFontScriptTags (usp10.h)

Recupera una lista de scripts disponibles en la fuente para el procesamiento de OpenType. Los scripts que componen la lista se recuperan de la fuente ubicada en el contexto del dispositivo proporcionado o del motor de modelado de scripts que procesa la fuente de la ejecución actual.

Sintaxis

HRESULT ScriptGetFontScriptTags(
  [in, optional] HDC             hdc,
  [in, out]      SCRIPT_CACHE    *psc,
  [in, optional] SCRIPT_ANALYSIS *psa,
  [in]           int             cMaxTags,
  [out]          OPENTYPE_TAG    *pScriptTags,
  [out]          int             *pcTags
);

Parámetros

[in, optional] hdc

Identificador del contexto del dispositivo. Para 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, 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 se puedan recuperar las etiquetas de script de fuente adecuadas. La aplicación proporciona un valor distinto de NULL para este parámetro para recuperar etiquetas de script adecuadas para la ejecución actual.

Como alternativa, la aplicación puede establecer este parámetro en NULL para recuperar resultados sin filtrar.

[in] cMaxTags

Longitud de la matriz especificada por pScriptTags.

[out] pScriptTags

Puntero a un búfer en el que esta función recupera una matriz de OPENTYPE_TAG estructuras que definen etiquetas de script desde el contexto del dispositivo o el motor de scripting asociado a la ejecución actual. Si el valor del miembro eScript de la estructura SCRIPT_ANALYSIS proporcionada en el parámetro psa tiene una etiqueta de script definitiva asociada y la etiqueta está presente en la fuente, pScriptTags solo contiene esta etiqueta.

[out] pcTags

Puntero al número de elementos de la matriz de etiquetas de script indicada por pScriptTags.

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 etiquetas coincidentes supera el valor de cMaxTags, 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

Aunque se declara formalmente como un tipo ULONG, OPENTYPE_TAG define una matriz de 4 bytes que contiene cuatro valores ASCII de 8 bits de espacio, A-Z o a-z. Por ejemplo, las etiquetas de script para los scripts latinos y árabes son "latn" y "arab", respectivamente.

Esta función recupera una sola etiqueta de una fuente en los casos siguientes:

  • El valor psa está asociado al texto de un solo script complejo.
  • El parámetro psa indica NULL y la fuente admite un único script.
Si ScriptGetFontScriptTags recupera todas las etiquetas de una fuente, las etiquetas suelen ser para elementos neutros, como dígitos. Tenga en cuenta que es posible que se aplique más de una etiqueta porque algunas ejecuciones de texto de elementos neutros no son específicas del script.

Si hay una etiqueta correspondiente a un script determinado, es posible que un motor de forma no pueda usar la fuente para dar forma al elemento dado porque el motor carece de un elemento necesario, como un sistema de lenguaje específico o una característica específica.

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 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

Consulte también

Almacenamiento en caché

OPENTYPE_TAG

SCRIPT_ANALYSIS

SCRIPT_CACHE

ScriptItemizeOpenType

Uniscribe

Funciones de uniscribe