Estructura NEWTEXTMETRICA (wingdi.h)
La estructura NEWTEXTMETRIC contiene datos que describen una fuente física.
Sintaxis
typedef struct tagNEWTEXTMETRICA {
LONG tmHeight;
LONG tmAscent;
LONG tmDescent;
LONG tmInternalLeading;
LONG tmExternalLeading;
LONG tmAveCharWidth;
LONG tmMaxCharWidth;
LONG tmWeight;
LONG tmOverhang;
LONG tmDigitizedAspectX;
LONG tmDigitizedAspectY;
BYTE tmFirstChar;
BYTE tmLastChar;
BYTE tmDefaultChar;
BYTE tmBreakChar;
BYTE tmItalic;
BYTE tmUnderlined;
BYTE tmStruckOut;
BYTE tmPitchAndFamily;
BYTE tmCharSet;
DWORD ntmFlags;
UINT ntmSizeEM;
UINT ntmCellHeight;
UINT ntmAvgWidth;
} NEWTEXTMETRICA, *PNEWTEXTMETRICA, *NPNEWTEXTMETRICA, *LPNEWTEXTMETRICA;
Miembros
tmHeight
Alto (ascenso + descenso) de caracteres.
tmAscent
Ascenso (unidades por encima de la línea base) de caracteres.
tmDescent
Descenso (unidades por debajo de la línea base) de caracteres.
tmInternalLeading
Cantidad de espacio inicial (espacio) dentro de los límites establecidos por el miembro tmHeight . Las marcas de énfasis y otros caracteres diacríticos pueden producirse en esta área. El diseñador puede establecer este miembro en cero.
tmExternalLeading
Cantidad de espacio adicional inicial (espacio) que la aplicación agrega entre filas. Dado que este área está fuera de la fuente, no contiene marcas y no se modifica mediante llamadas de salida de texto en modo OPAQUE o TRANSPARENT. El diseñador puede establecer este miembro en cero.
tmAveCharWidth
Ancho medio de caracteres en la fuente (generalmente definido como el ancho de la letra x). Este valor no incluye el voladizo necesario para caracteres en negrita o cursiva.
tmMaxCharWidth
El ancho del carácter más ancho de la fuente.
tmWeight
El grosor de la fuente.
tmOverhang
El ancho adicional por cadena que se puede agregar a algunas fuentes sintetizadas. Al sintetizar algunos atributos, como negrita o cursiva, la interfaz de dispositivo gráfico (GDI) o un dispositivo puede tener que agregar ancho a una cadena tanto por carácter como por cadena. Por ejemplo, GDI convierte una cadena en negrita al expandir el espaciado de cada carácter y sobrestrincar por un valor de desplazamiento; italiza una fuente mediante el escalonamiento de la cadena. En cualquier caso, hay un voladizo más allá de la cadena básica. En el caso de las cadenas en negrita, el voladizo es la distancia por la que se desplaza el overstrike. En el caso de las cadenas en cursiva, el voladizo es la cantidad en la que la parte superior de la fuente se ha quitado de la parte inferior de la fuente.
El miembro tmOverhang permite a la aplicación determinar la cantidad del ancho de caracteres devuelto por una llamada de función GetTextExtentPoint32 en un solo carácter es el ancho de caracteres real y cuánto es el ancho adicional por cadena. El ancho real es la extensión menos el voladizo.
tmDigitizedAspectX
El aspecto horizontal del dispositivo para el que se diseñó la fuente.
tmDigitizedAspectY
El aspecto vertical del dispositivo para el que se diseñó la fuente. La proporción de los miembros tmDigitizedAspectX y tmDigitizedAspectY es la relación de aspecto del dispositivo para el que se diseñó la fuente.
tmFirstChar
Valor del primer carácter definido en la fuente.
tmLastChar
Valor del último carácter definido en la fuente.
tmDefaultChar
Valor del carácter que se va a sustituir por caracteres que no están en la fuente.
tmBreakChar
Valor del carácter que se va a usar para definir saltos de palabra para la justificación del texto.
tmItalic
Fuente cursiva si no es cero.
tmUnderlined
Fuente subrayada si no es cero.
tmStruckOut
Fuente de tachado si no es cero.
tmPitchAndFamily
Tono y familia de la fuente seleccionada. El bit de orden bajo (bit 0) especifica el tono de la fuente. Si es 1, la fuente es de inclinación variable (o proporcional). Si es 0, la fuente es un tono fijo (o monoespacio). Los bits 1 y 2 especifican el tipo de fuente. Si ambos bits son 0, la fuente es una fuente ráster; si el bit 1 es 1 y el bit 2 es 0, la fuente es una fuente vectorial; si el bit 1 es 0 y 2 se establece, o si ambos bits son 1, la fuente es de otro tipo. El bit 3 es 1 si la fuente es una fuente del dispositivo; de lo contrario, es 0.
Los cuatro bits de orden alto designan la familia de fuentes. El miembro tmPitchAndFamily se puede combinar con el valor hexadecimal 0xF0 mediante el operador AND bit a bit y, a continuación, se puede comparar con los nombres de familia de fuentes para una coincidencia idéntica. Para obtener más información sobre las familias de fuentes, vea LOGFONT.
tmCharSet
Juego de caracteres de la fuente.
ntmFlags
Especifica si la fuente está en cursiva, subrayado, resaltado, negrita, etc. Puede ser cualquier combinación razonable de los valores siguientes.
bit | Nombre | Significado |
---|---|---|
0 | NTM_ITALIC | cursiva |
5 | NTM_BOLD | negrita |
8 | NTM_REGULAR | normal |
16 | NTM_NONNEGATIVE_AC | ningún glifo en una fuente de cualquier tamaño tiene un espacio A o C negativo. |
17 | NTM_PS_OPENTYPE | Fuente OpenType postScript |
18 | NTM_TT_OPENTYPE | Fuente TrueType OpenType |
19 | NTM_MULTIPLEMASTER | fuente maestra múltiple |
20 | NTM_TYPE1 | Fuente de tipo 1 |
21 | NTM_DSIG | fuente con una firma digital. Esto permite la rastreabilidad y garantiza que la fuente se ha probado y no está dañada. |
ntmSizeEM
Tamaño del cuadrado em para la fuente. Este valor está en unidades notionales (es decir, las unidades para las que se diseñó la fuente).
ntmCellHeight
Alto, en unidades notionales, de la fuente. Este valor debe compararse con el valor del miembro ntmSizeEM .
ntmAvgWidth
Ancho medio de caracteres en la fuente, en unidades notionales. Este valor debe compararse con el valor del miembro ntmSizeEM .
Comentarios
Los cuatro últimos miembros de la estructura NEWTEXTMETRIC no se incluyen en la estructura TEXTMETRIC ; en todos los demás aspectos, las estructuras son idénticas.
Los tamaños de la estructura NEWTEXTMETRIC se especifican normalmente en unidades lógicas; es decir, dependen del modo de asignación actual del contexto de visualización.
Nota
El encabezado wingdi.h define NEWTEXTMETRIC como alias que selecciona automáticamente la versión ANSI o Unicode de esta función en función de la definición de la constante de preprocesador UNICODE. La combinación del uso del alias neutro de codificación con código que no es neutral de codificación puede provocar discrepancias que dan lugar a errores de compilación o en tiempo de ejecución. Para obtener más información, vea Convenciones para prototipos de función.
Requisitos
Cliente mínimo compatible | Windows 2000 Professional [solo aplicaciones de escritorio] |
Servidor mínimo compatible | Windows 2000 Server [solo aplicaciones de escritorio] |
Encabezado | wingdi.h (incluye Windows.h) |