INFORMACIÓN: Extensiones de texto del texto de negrita y cursiva de cálculo

Seleccione idioma Seleccione idioma
Id. de artículo: 74298 - Ver los productos a los que se aplica este artículo
Este artículo se ha archivado. Se ofrece "tal cual" y no se volverá a actualizar.
Expandir todo | Contraer todo

Resumen

GetTextExtent() puede utilizarse para calcular el alcance de una cadena. El valor devuelto puede ser necesario ajustar, según el estilo de la fuente. Cuando se solicita una fuente negrita o cursiva, y ninguno está disponible, la interfaz de dispositivo de gráficos (GDI) puede simular los estilos mediante un mapa de bits existente o fuente vectorial.

Más información

Simulada GDI negrita y cursiva fuentes ambos incluyen overhangs. La parte sobresaliente se especifica en una estructura TEXTMETRIC obtenida llamando a la función GetTextMetrics . El método adecuado para calcular el alcance de una línea de texto de negrita o cursiva se muestra a continuación:
   dwExtent = GetTextExtent(hDC, lpString, nCount);
   GetTextMetrics(hDC, &tm);
   xExtent = LOWORD(dwExtent) - tm.tmOverhang;
				
enumerados a continuación son ejemplos de alineación de texto en cursiva. Si el carácter siguiente no es cursiva, la parte sobresaliente debe no se resta el ancho de avance devuelto por la función GetTextExtent . La parte sobresaliente necesita se resta sólo cuando el siguiente carácter de alineación de texto tiene el mismo estilo.
                                        GetTextExtent yields
                                        this as the extent:

                                              ||
       /   /                                  \/ 
      /   /           /   / /   /         /   /|   |
     /---/           /   / /   /         /   / |   |
    /   /           /---/ /---/         /---/  |---|
   /   /           /   / /   /         /   /   |   |
       -----      /   / /   /         /   /    |   |
         ^            /\                      /\ 
      Overhang        ||                      ||
               Because the next        Start the nonitalic H
               character is italic,    here because it does not
               start the next          slant and would partially
               character within the    overwrite the previous
               overhang of the         italic character.
               current character
				
sobresaliente para caracteres en negrita sintetizados por GDI generalmente es 1 porque GDI sintetiza fuentes en negrita por generar dos veces el texto, compensar el segundo resultado por píxel, eficazmente aumentando el ancho de cada carácter en un píxel. Calcular el ancho de avance del texto negrita es similar al método de texto en cursiva. La función GetTextExtent siempre devuelve la extensión de texto más 1 para texto en negrita. Por lo tanto restando el tmOverhang(1) se consigue el avance adecuado.
        ||   ||
        ||   ||
        ||===||
        ||   ||
        ||   ||
              ---<= This line represents the "extra" overhang of 1.
                /\ 
                ||
             GetTextExtent yields
             this as the extent of the
             bold H.
				
Nota : este artículo se aplica sólo a trama y fuentes Vectory. La familia GetTextExtent() de ancho de avance siempre retorno de funciones de cadenas para fuentes TrueType como descrito por estructura de los anchos de ABC. Para obtener más información acerca de los anchos de avance de ABC, consulte la documentación de función GetCharABCWidths() .

Propiedades

Id. de artículo: 74298 - Última revisión: miércoles, 26 de febrero de 2014 - Versión: 3.2
La información de este artículo se refiere a:
  • Microsoft Windows Software Development Kit 3.1
  • Microsoft Win32 Application Programming Interface sobre las siguientes plataformas
    • Microsoft Windows NT Server 3.5
    • Microsoft Windows NT Server 3.51
    • Microsoft Windows NT Server 4.0 Standard Edition
    • Microsoft Windows NT Workstation 3.5
    • Microsoft Windows NT Workstation 3.51
    • Microsoft Windows NT Workstation 4.0 Developer Edition
Palabras clave: 
kbnosurvey kbarchive kbmt kbinfo KB74298 KbMtes
Traducción automática
IMPORTANTE: Este artículo ha sido traducido por un software de traducción automática de Microsoft (http://support.microsoft.com/gp/mtdetails) en lugar de un traductor humano. Microsoft le ofrece artículos traducidos por un traductor humano y artículos traducidos automáticamente para que tenga acceso en su propio idioma a todos los artículos de nuestra base de conocimientos (Knowledge Base). Sin embargo, los artículos traducidos automáticamente pueden contener errores en el vocabulario, la sintaxis o la gramática, como los que un extranjero podría cometer al hablar el idioma. Microsoft no se hace responsable de cualquier imprecisión, error o daño ocasionado por una mala traducción del contenido o como consecuencia de su utilización por nuestros clientes. Microsoft suele actualizar el software de traducción frecuentemente.
Haga clic aquí para ver el artículo original (en inglés): 74298

Enviar comentarios

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com