Función ScriptPlace (usp10.h)

Genera información de ancho avanzado de glifo y desplazamiento bidimensional a partir de la salida de ScriptShape.

Sintaxis

HRESULT ScriptPlace(
  [in]      HDC                  hdc,
  [in, out] SCRIPT_CACHE         *psc,
  [in]      const WORD           *pwGlyphs,
  [in]      int                  cGlyphs,
  [in]      const SCRIPT_VISATTR *psva,
  [in, out] SCRIPT_ANALYSIS      *psa,
  [out]     int                  *piAdvance,
  [out]     GOFFSET              *pGoffset,
  [out]     ABC                  *pABC
);

Parámetros

[in] hdc

Opcional. 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] pwGlyphs

Puntero a un búfer de glifo obtenido de una llamada anterior a la función ScriptShape .

[in] cGlyphs

Recuento de glifos en el búfer de glifos.

[in] psva

Puntero a una matriz de estructuras de SCRIPT_VISATTR que indican atributos visuales.

[in, out] psa

Puntero a una estructura de SCRIPT_ANALYSIS . En la entrada, esta estructura se obtiene de una llamada anterior a ScriptItemize. En la salida, esta estructura contiene valores recuperados por ScriptPlace.

[out] piAdvance

Puntero a una matriz en la que esta función recupera información de ancho avanzada.

[out] pGoffset

Opcional. Puntero a una matriz de estructuras GOFFSET en las que esta función recupera los desplazamientos x e y de combinar glifos. Esta matriz debe tener una longitud indicada por cGlyphs.

[out] 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. La aplicación puede probar el valor devuelto con las macros SUCCEEDED y FAILED .

La función devuelve E_PENDING si la memoria caché del script especificada por el parámetro psc no contiene suficiente información para colocar los glifos y el parámetro hdc se establece en 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 contexto de dispositivo adecuado y con todos los demás parámetros iguales.

Comentarios

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

El ancho ABC compuesto para todo el elemento identifica la cantidad de glifos que se superponen a la izquierda de la posición inicial y a la derecha de la longitud implícita por la suma de los anchos avanzados. El ancho de avance total de la línea es exactamente abcA+abcB+abcC. Los valores abcA y abcC se mantienen como proporciones del alto de celda representado en 8 bits y, por tanto, son aproximadamente +/-1%. El ancho total recuperado, que es la suma de los valores abcA+abcB+abcC indicados por piAdvance, es preciso para la resolución del motor de modelado TrueType.

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 .

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

Consulte también

Mostrar texto con Uniscribe

GOFFSET

SCRIPT_ANALYSIS

SCRIPT_CACHE

SCRIPT_VISATTR

ScriptItemize

ScriptPlaceOpenType

ScriptShape

Uniscribe

Funciones de uniscribe