Necesito ayuda sobre fuentes con DC para imprimir

accarvajal
28 de Mayo del 2004
Hola!!

estoy realizando un programa para imprimir sobre formatos preimpresos, y utilizo las funciones del GDI: dc.Textout para enviar el texto a imprimir con las coordenadas, pero resulta que estoy creando fuentes de tamaño aprox. a 24 (arial), para el texto y noto que impresoras laser y en algunas deskjet avanzadas el texto se imprime en forma muy pequeña, casi diminuta. Como puedo hacer para que sin importar la impresora la proporción de tamaño de fuente sea la misma y que el tamaño sea similar a cuando se imprime con Word, ya que un tamaño por ejemplo de 24 en Word es GRANDE!!, pero en mi programa es demasiado pequeño.

MIL GRACIAS!!!

Mariano Ventaja
28 de Mayo del 2004
Siendo xp el DC de la impresora o del desktop y lfont un LOGFONT:

int Pixels = GetDeviceCaps(xp,LOGPIXELSY);
lfont.lfHeight = -MulDiv(24,,Pixels,72);
.... //aca pondrias los otros
--- //valores de la estructura
.... //logfont
HFONT LaFuente;
LaFuente = CreateFontIndirect(&lfont);

En mi trabajo hice un programa que genera fuentes SoftFont PCL a partir de las TrueType de Windows, si queres consultarme algo pasate por mi pagina.

Saludos,
Mariano http://www.c0d3rz.com.ar

accarvajal
28 de Mayo del 2004
oops! se me olvidaba otra pregunta!

en MulDiv(24,Pixels,72); 24 es el tamaño de fuente?, y que es 72?

Mariano Ventaja
28 de Mayo del 2004
Una constante que se utiliza en la formula, esta en la MSDN.

lfHeight = -MulDiv(PointSize, GetDeviceCaps(hDC, LOGPIXELSY), 72);

Lo podes ver aca:

http://msdn.microsoft.com/library/en-us/gdi/fontext_1wmq.asp

Saludos,
Mariano http://www.c0d3rz.com.ar

accarvajal
28 de Mayo del 2004
Gracias!, pero pregunto, no es necesario utilizar dc.SetMapMode, para fijas proporciones de salida o no tiene que ver con el mnejo de fuentes en DC.?


Mariano Ventaja
28 de Mayo del 2004
Mi programa no lo utiliza y consigue fuentes de CUALQUIER tamaño posible (dentro de los limites de TrueType claro).

Si necesitas algo especifico pasate por mi pagina y lo hablamos con mas tranquilidad; estas usando VC++ y MFC?

Saludos,
Mariano http://www.c0d3rz.com.ar