Compartir a través de


Estructura STROBJ (winddi.h)

La clase STROBJ, o el objeto de cadena de texto, contiene una enumeración de identificadores de glifo y posiciones para el controlador del dispositivo.

Sintaxis

typedef struct _STROBJ {
  ULONG    cGlyphs;
  FLONG    flAccel;
  ULONG    ulCharInc;
  RECTL    rclBkGround;
  GLYPHPOS *pgp;
  LPWSTR   pwszOrg;
} STROBJ;

Miembros

cGlyphs

Especifica el número de glifos en el STROBJ.

flAccel

Marcas de aceleración. Este miembro puede ser cualquiera de los siguientes valores:

SO_BREAK_EXTRA

El espaciado de ancho fijo se agrega a cada carácter de salto.

SO_CHARACTER_EXTRA

El espaciado de ancho fijo se agrega entre cada par de glifos consecutivos.

SO_CHAR_INC_EQUAL_BM_BASE

El espaciado viene determinado por tamaños de mapa de bits. En este contexto, la base de mapa de bits se define como cx para mayúsculas y minúsculas horizontales, cy para mayúsculas y minúsculas verticales. Este bit se establece significa que cada glifo de una fuente que el mapa de bits (proporcionado en la estructura GLYPHBITS por GDI) tendrá una base igual al ancho avanzado de ese glifo. Esto no significa que se trata de una fuente de inclinación fija. (No se usa para PATHOBJs).

SO_DO_NOT_SUBSTITUTE_DEVICE_FONT

Un controlador de impresora no debe sustituir una de sus fuentes de impresora para la elección de fuente de GDI.

SO_DXDY

Los glifos se van a representar en posiciones aleatorias.

SO_ESC_NOT_ORIENT

La orientación de un glifo es diferente de la dirección de escape. El escape es el ángulo que hace la dirección del texto con la horizontal. La orientación es el ángulo entre la línea base del glifo y la dirección de escape.

SO_FLAG_DEFAULT_PLACEMENT

Los vectores de incremento predeterminados se usan para colocar los caracteres.

SO_GLYPHINDEX_TEXTOUT

pwszOrg apunta a una matriz de índices de glifo, en lugar de a una matriz Unicode.

SO_HORIZONTAL

El texto es horizontal; de izquierda a derecha o de derecha a izquierda, según SO_REVERSED. La coordenada y solo se proporciona para el primer glifo de la cadena.

SO_MAXEXT_EQUAL_BM_SIDE

Los mapas de bits tienen los mismos anchos. En este contexto, el lado del mapa de bits se define como cy para mayúsculas y minúsculas horizontales y cx para mayúsculas y minúsculas verticales. Esta marca garantiza que todos los glifos de la fuente tendrán el mismo lado igual a la suma de ascendentes y descendientes. Sin embargo, este bit indica más que un lado constante. En el caso horizontal, este bit también indica que la distancia vertical entre la parte superior del mapa de bits del glifo y su origen de caracteres es igual al ascendente para todos los glifos. En el caso vertical, este bit indica que la distancia horizontal entre el origen del glifo y la "parte superior" del mapa de bits del glifo (que es realmente derecho o izquierdo, dependiendo de si está escribiendo en la dirección del eje positivo o negativo y) es igual al ascendente. En cualquier caso, las partes superiores e inferiores de todos los mapas de bits de glifo se ponen en la misma línea en la dirección de escritura. (No se usa para PATHOBJs).

SO_REVERSED

Establezca si horizontal es de derecha a izquierda o vertical está de abajo a arriba.

SO_VERTICAL

El texto es vertical; de arriba a abajo o inferior a arriba, según SO_REVERSED. La coordenada x solo se proporciona para el primer glifo de la cadena.

SO_ZERO_BEARINGS

Todos los glifos tienen un espaciado A y cero C. Este bit garantiza que los cuadros negros del glifo no se superpongan.

ulCharInc

Especifica si la fuente es una fuente de tono fijo (monoespacio). Si es así, este miembro es igual al ancho avanzado de glifos en pels; de lo contrario, es cero. Cuando este miembro es distinto de cero, GDI proporciona una coordenada válida solo para el primer carácter de la cadena. El controlador debe generar todas las demás posiciones de caracteres agregando sucesivamente el valor de este miembro a lo largo de la dirección de escritura.

rclBkGround

Especifica una estructura RECTL que describe el rectángulo delimitador de la cadena.

pgp

Puntero a la matriz GLYPHPOS para toda la cadena. Puede ser NULL (consulte la siguiente sección Comentarios ).

pwszOrg

Puntero a la cadena Unicode original o caracteres cGlyphs . Al contrario que su nombre, esta cadena no suele terminar en null. Además, esta cadena no siempre es válida, como en el registro en diario con fuentes de impresora, en cuyo caso este parámetro será NULL.

Comentarios

Un controlador puede llamar a STROBJ_vEnumStart y STROBJ_bEnum para obtener identidades y posiciones de glifos en la cadena. Si pgp no es NULL, apunta a una matriz GLYPHPOS que describe toda la cadena y solo se requiere una sola llamada a STROBJ_bEnum . Si pgp es NULL, STROBJ_bEnum tendrá que llamarse repetidamente en un bucle para obtener todas las posiciones del glifo de la cadena.

Requisitos

Requisito Valor
Header winddi.h (incluya Winddi.h)

Consulte también

DrvGetGlyphMode

DrvTextOut