Función ScriptLayout (usp10.h)

Convierte una matriz de niveles de inserción de ejecución en un mapa de la posición visual a lógica o lógica a la posición visual.

Sintaxis

HRESULT ScriptLayout(
  [in]            int        cRuns,
  [in]            const BYTE *pbLevel,
  [out, optional] int        *piVisualToLogical,
  [out, optional] int        *piLogicalToVisual
);

Parámetros

[in] cRuns

Número de ejecuciones que se van a procesar.

[in] pbLevel

Puntero a una matriz, de longitud indicada por cRuns, que contiene niveles de inserción de ejecución. Los niveles de inserción de todas las ejecuciones de la línea deben incluirse, ordenados lógicamente. Para obtener más información, vea la sección Comentarios.

[out, optional] piVisualToLogical

Puntero a una matriz, de longitud indicada por cRuns, en la que esta función recupera los niveles de inserción de ejecución reordenados en orden visual. El primer elemento de matriz representa la ejecución que se va a mostrar en el extremo izquierdo y las entradas posteriores deben mostrarse progresando de izquierda a derecha. La función establece este parámetro en NULL si no hay ninguna salida.

[out, optional] piLogicalToVisual

Puntero a una matriz, de longitud indicada por cRuns, en la que esta función recupera las posiciones de ejecución visual. El primer elemento de matriz es la posición visual relativa donde se debe mostrar la primera ejecución lógica, la posición de visualización situada más a la izquierda es 0. La función establece este parámetro en NULL si no hay ninguna salida.

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 .

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 solo controla los datos que pertenecen a una sola línea de texto.

Los niveles de inserción de ejecución se definen en el algoritmo bidireccional Unicode. Describen la dirección de una ejecución, la dirección de las ejecuciones en las que está incrustada y la dirección del párrafo. No se requiere ninguna otra entrada para la llamada a esta función. Para obtener más información, consulte Unicode.

En la tabla siguiente se enumeran los niveles de inserción predefinidos. La aplicación puede agregar niveles según sea necesario.

Nivel Significado
0 Una ejecución de izquierda a derecha en un párrafo de izquierda a derecha.
1 Una ejecución de derecha a izquierda incrustada en una ejecución de izquierda a derecha en un párrafo de izquierda a derecha. Como alternativa, una ejecución de derecha a izquierda, no incrustada en otra ejecución, en un párrafo de derecha a izquierda.
2 Una ejecución de izquierda a derecha incrustada en una ejecución de derecha a izquierda de tipo 1.
3 Una ejecución de derecha a izquierda incrustada en una ejecución de izquierda a derecha de tipo 2.
 

Una "posición lógica" hace referencia a la colocación de una ejecución en relación con otras ejecuciones. Es la posición en una memoria auxiliar y corresponde al orden en que el usuario lee el texto en voz alta. La "posición visual" de una ejecución hace referencia a la forma en que la ejecución se muestra visualmente en la línea, teniendo en cuenta las posibles direcciones que puede tener la ejecución.

La aplicación puede llamar a esta configuración de función , ya sea piLogicalToVisual o piVisualToLogical, o ambas.

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

Uniscribe

Funciones de uniscribe