Estructura TEXTMETRICA (wingdi.h)

La estructura TEXTMETRIC contiene información básica sobre una fuente física. Todos los tamaños se especifican en unidades lógicas; es decir, dependen del modo de asignación actual del contexto de visualización.

Sintaxis

typedef struct tagTEXTMETRICA {
  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;
} TEXTMETRICA, *PTEXTMETRICA, *NPTEXTMETRICA, *LPTEXTMETRICA;

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 usará para definir saltos de palabra para la justificación de texto.

tmItalic

Especifica una fuente cursiva si no es cero.

tmUnderlined

Especifica una fuente subrayada si no es cero.

tmStruckOut

Fuente de tachado si no es cero.

tmPitchAndFamily

Especifica información sobre el tono, la tecnología y la familia de una fuente física.

Los cuatro bits de orden bajo de este miembro especifican información sobre el tono y la tecnología de la fuente. Se define una constante para cada uno de los cuatro bits.

Constante Significado
TMPF_FIXED_PITCH Si este bit se establece, la fuente es una fuente de tono variable. Si este bit está claro, la fuente es una fuente de tono fijo. Tenga en cuenta con mucho cuidado que esos significados son lo contrario de lo que implica el nombre constante.
TMPF_VECTOR Si este bit se establece, la fuente es una fuente vectorial.
TMPF_TRUETYPE Si este bit se establece, la fuente es una fuente TrueType.
TMPF_DEVICE Si este bit se establece, la fuente es una fuente del dispositivo.
 

Una aplicación debe probar cuidadosamente las cualidades codificadas en estos bits de orden bajo, sin realizar suposiciones arbitrarias. Por ejemplo, además de tener sus propios bits establecidos, las fuentes TrueType y PostScript establecen el bit de TMPF_VECTOR. Una fuente de mapa de bits monoespacial tiene todos estos bits de orden bajo claros; Una fuente de mapa de bits proporcional establece el bit TMPF_FIXED_PITCH. Una fuente del dispositivo de impresora Postscript establece los bits de TMPF_DEVICE, TMPF_VECTOR y TMPF_FIXED_PITCH.

Los cuatro bits de orden alto de tmPitchAndFamily designan la familia de fuentes de la fuente. Una aplicación puede usar el valor 0xF0 y el operador AND bit a bit para enmascarar los cuatro bits de orden bajo de tmPitchAndFamily, obteniendo así un valor que se puede comparar directamente con los nombres de familia de fuentes para encontrar una coincidencia idéntica. Para obtener información sobre las familias de fuentes, vea la descripción de la estructura LOGFONT .

tmCharSet

Juego de caracteres de la fuente. El juego de caracteres puede ser uno de los siguientes valores.

  • ANSI_CHARSET
  • BALTIC_CHARSET
  • CHINESEBIG5_CHARSET
  • DEFAULT_CHARSET
  • EASTEUROPE_CHARSET
  • GB2312_CHARSET
  • GREEK_CHARSET
  • HANGUL_CHARSET
  • MAC_CHARSET
  • OEM_CHARSET
  • RUSSIAN_CHARSET
  • SHIFTJIS_CHARSET
  • SYMBOL_CHARSET
  • TURKISH_CHARSET
  • VIETNAMESE_CHARSET
Edición en coreano de Windows:
  • JOHAB_CHARSET
Edición de idioma de Oriente Medio de Windows:
  • ARABIC_CHARSET
  • HEBREW_CHARSET
Edición de idioma tailandés de Windows:
  • THAI_CHARSET

Comentarios

Nota

El encabezado wingdi.h define TEXTMETRIC 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

Requisito Value
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)

Consulte también

Estructuras de fuente y texto

Información general sobre fuentes y texto

GetTextExtentPoint32

GetTextMetrics

LOGFONT