INFO: Las métricas de fuente y el uso de negativos lfHeight

Exención de responsabilidades de contenido KB retirado

Este artículo se refiere a productos para los que Microsoft ya no ofrece soporte técnico. Por tanto, el presente artículo se ofrece "tal cual" y no será actualizado.

Resumen

Las ilustraciones siguientes muestran las más utilizadas métricas, incluido el alto del carácter se selecciona con valores negativos de cada ilustración seguido de notas que describen las métricas de fuente.
 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

O O
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

/\
/ \
/ \
_ _ _ _ _ _ _ _ _ /______\ _ _ _ ___ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/ \ / \|
/ \ | |
_ _ _ _ _ _ _ _ /_ _ _ _ _ _ \ _ \___/| _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
|
|
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _\___/_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
|
|- External Leading
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _ _ _ _
|
O O |- Internal Leading
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _ _ _ _
| /\
| / \
| / \
| /______\ _ _ _ ___ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
Char Height -| / \ / \|
| / \ | |
| /_ _ _ _ _ _ \ _ \___/| _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
| |
| |
_ _ _ _ _ _ _|_ _ _ _ _ _ _ _ _ _\___/_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

| |
| O O |
| |
| /\ |
| / \ |
| / \ |- Ascent
Cell Height -| /______\ ___ |
| / \ / \| |
| / \ | | |
| /_ _ _ _ _ _ \ _ \___/| _ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _ _
| | |
| | |- Descent
_ _ _ _ _ _ _|_ _ _ _ _ _ _ _ _ _\___/_ _ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _ _

Alto de celda

Esto es el alto activado lfHeight positivo de LOGFONT. Es el alto del mapa de bits de fuente para fuentes de trama. Se devuelve como tmHeight en la estructura TEXTMETRIC desde GetTextMetrics().

Alto del carácter (también conocida como Em)

Esto es el alto activado lfHeight negativo de LOGFONT. (Es decir, el asignador intentará coincide con una fuente cuyo alto carácter coincide con el valor absoluto de la altura solicitada.)


Nota: por definición, el largo es igual al alto de celda menos líder interno. El Em define el tamaño de una fuente. En el modo de asignación MM_TEXT, Em está relacionado con el tamaño de punto como sigue:

   Em=dpiY*point_size/72;  // where dpiY is dots per inch in Y direction
Es igual a tmDigitizedAspectY en la estructura TEXTMETRICS el dpiY de una fuente.

Espacios iniciales internos

Esto se devuelve como tmInternalLeading en la estructura TEXTMETRIC desde GetTextMetrics() y a menudo, aunque no necesariamente, describe cuánto espacio se ha dejado en el mapa de bits de la fuente para marcas diacríticas (acentos).

Inicial externa

Esto se devuelve como tmExternalLeading en la estructura TEXTMETRIC desde GetTextMetrics() y describe cuánto espacio adicional del Diseñador de la fuente espera que la aplicación para dejar entre las filas de la fuente. Que no está incluido en el mapa de bits y no se modifica con TextOut()/ExtTextOut(), incluso en modo OPACO. Cuando se muestren varias líneas de texto, las líneas deben estar separadas por (tmHeight + tmExternalLeading).

 Character Width                       Character Width
| |
|-------------| |-------------|
| | / / |
| | / / |
| | / / |
| | / / |
|----------| /----------/ |
| | / / |
| | / / |
| | / / |
| | / / |
|________|
|_____________| |_____________| |
| | Overhang
Character width Character width
(including white space) (including white space)
Overhang = 0 Overhang > 0

Voladizo

tmOverhang especifica el por cadena ancho adicional que puede agregar a algunas fuentes sintetizadas. Cuando sintetiza algunos atributos como negrita o cursiva, GDI o un dispositivo que tenga que agregar ancho a una cadena en ambos un por carácter y por cadena base. Por ejemplo, GDI sintetiza embolding expandiendo el espaciado entre caracteres en función y overstriking con un desplazamiento y una fuente se escribe en cursiva sesgando la cadena.


En cualquier caso, hay una parte sobresaliente más allá de la cadena básica. Las cadenas de formato de negrita, es la distancia que se desplaza la sobreimpresión. Las cadenas de cursiva, es el importe de que la parte superior de la fuente se sesga más allá de la parte inferior de la fuente. tmOverhang permite que la aplicación para determinar la cantidad del ancho del carácter devuelto por una llamada GetTextExtent() en un solo carácter es el ancho de carácter real y cuánto es el por cadena ancho adicional. El ancho real es la extensión menos el voladizo. En otras palabras, tmOverhang es la diferencia entre el ancho de un carácter cuando se imprima individualmente frente a su ancho cuando se encuentra en el interior de una cadena.


Para obtener más información, busque los siguientes temas en la referencia del Kit de desarrollo de Software de Windows:


  • CreateFont() (en el volumen 1 de la referencia de la versión 3.0)
  • TEXTMETRIC (en el volumen 2 de la referencia de la versión 3.0)
Propiedades

Id. de artículo: 32667 - Última revisión: 01/17/2017 - Revisión: 1

Comentarios