Función ScriptPlaceOpenType (usp10.h)
Genera glifos y atributos visuales para una ejecución Unicode con información de OpenType a partir de la salida de ScriptShapeOpenType.
Sintaxis
HRESULT ScriptPlaceOpenType(
[in, optional] HDC hdc,
[in, out] SCRIPT_CACHE *psc,
[in, out] SCRIPT_ANALYSIS *psa,
[in] OPENTYPE_TAG tagScript,
[in] OPENTYPE_TAG tagLangSys,
[in, optional] int *rcRangeChars,
[in, optional] TEXTRANGE_PROPERTIES **rpRangeProperties,
[in] int cRanges,
[in] const WCHAR *pwcChars,
[in] WORD *pwLogClust,
[in] SCRIPT_CHARPROP *pCharProps,
[in] int cChars,
[in] const WORD *pwGlyphs,
[in] const SCRIPT_GLYPHPROP *pGlyphProps,
[in] int cGlyphs,
[out] int *piAdvance,
[out] GOFFSET *pGoffset,
[out, optional] ABC *pABC
);
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, out] psa
Puntero a una estructura de SCRIPT_ANALYSIS obtenida de una llamada anterior a ScriptItemizeOpenType. Esta estructura identifica el motor de modelado que rige la lista generada de glifos y sus anchos asociados, y los desplazamientos de colocación x e y.
Como alternativa, la aplicación puede establecer este parámetro en NULL para recibir resultados sin filtrar.
[in] tagScript
Estructura OPENTYPE_TAG que contiene la etiqueta de script OpenType para que use el sistema de escritura.
[in] tagLangSys
Estructura OPENTYPE_TAG que contiene la etiqueta de idioma OpenType para el sistema de escritura.
[in, optional] rcRangeChars
Matriz del número de caracteres de cada intervalo. El número de miembros se indica en el parámetro cRanges . El total de valores debe ser igual al valor de cChars.
[in, optional] rpRangeProperties
Matriz de estructuras de TEXTRANGE_PROPERTIES que definen propiedades para cada intervalo. El número de elementos se define mediante el parámetro cRanges .
[in] cRanges
Número de intervalos de características openType.
[in] pwcChars
Puntero a una matriz de caracteres Unicode que contiene la ejecución. El número de elementos se define mediante el parámetro cRanges .
[in] pwLogClust
Puntero a una matriz de información del clúster lógico. Cada elemento de la matriz corresponde a un carácter de la matriz definida por pwcChars. El valor de cada elemento es el desplazamiento del primer glifo de la ejecución al primer glifo del clúster que contiene el carácter correspondiente. Tenga en cuenta que, cuando el miembro fRTL de la estructura de SCRIPT_ANALYSIS se establece en TRUE, los elementos de pwLogClust disminuyen a medida que se lee la matriz.
[in] pCharProps
Puntero a una matriz de valores de propiedad de caracteres en la ejecución Unicode.
[in] cChars
Número de caracteres de la ejecución unicode.
[in] pwGlyphs
Puntero a un búfer de glifo obtenido de una llamada anterior a la función ScriptShapeOpenType .
[in] pGlyphProps
Puntero a una matriz de atributos para cada uno de los glifos que se van a recuperar. El número de valores es igual al valor de los glifos. Dado que hay una propiedad de glifo por glifo, este parámetro tiene el número de elementos indicados por glifos.
[in] cGlyphs
Recuento de glifos en un búfer de matriz de glifos.
[out] piAdvance
Puntero a una matriz, de longitud indicada por cGlyphs, en el que esta función recupera información de ancho avanzada .
[out] pGoffset
Puntero a una matriz de estructuras GOFFSET en las que esta estructura recupera los desplazamientos x e y de combinar glifos. Esta matriz debe tener una longitud indicada por cGlyphs.
[out, optional] pABC
Puntero a una estructura ABC en la que esta función recupera el ancho ABC de toda la ejecución.
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. En todos los casos de error, los valores de salida no están definidos. La aplicación puede probar el valor devuelto con las macros SUCCEEDED y FAILED .
La función devuelve E_OUTOFMEMORY si la longitud del búfer de salida indicada por los glifos es demasiado pequeña. La aplicación puede intentar llamar de nuevo con búferes más grandes.
La función devuelve E_PENDING si la caché de scripts especificada por el parámetro psc no contiene suficiente información para colocar los glifos y el parámetro hdc se pasa como NULL para que la función no pueda completar el proceso de selección de ubicación. La aplicación debe configurar un contexto de dispositivo correcto para la ejecución y llamar a esta función de nuevo con el valor adecuado en hdc y con todos los demás parámetros iguales.
Comentarios
Esta función se prefiere sobre la anterior función ScriptPlace . Entre las ventajas de ScriptPlaceOpenType se incluyen las siguientes:
- Los parámetros corresponden directamente a etiquetas OpenType en tablas de diseño de fuentes.
- Los parámetros definen características aplicadas a cada carácter. La entrada se divide en intervalos y cada intervalo tiene propiedades OpenType asociadas.
Todas las matrices están en orden visual a menos que el miembro fLogicalOrder esté establecido en la estructura SCRIPT_ANALYSIS indicada por el parámetro psa .
Requisitos
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 |