Dev - C++ - Problema al imprimir con fuent code128 usando TextOut()

 
Vista:

Problema al imprimir con fuent code128 usando TextOut()

Publicado por RedWolf (1 intervención) el 23/04/2015 11:40:23
Buenas!! Estoy programando para mi empresa en C++ con el VB 2010, la cuestión es que me pedían que convirtiera un número en code128 y lo imprimiera, decidí descargarme una fuente y hacerlo así, mi problema ha venido porque me veo incapaz de usar o cargar dicha fuente.

Para imprimir uso HDC, en concreto después de inicializar la impresora hago un TextOut(), es aquí donde pongo la fuente en el último parámetro.

He probado con la ruta a fonts de windows, ponerlo en la raíz del proyecto pero nada...

Alguien sería tan amable como para ayudarme, gracias de antemano.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Problema al imprimir con fuent code128 usando TextOut()

Publicado por nn (1 intervención) el 25/04/2015 16:45:20
una idea.....

1
2
3
4
5
6
LOGFONT lf;
  ::ZeroMemory(&lf, sizeof(LOGFONT));
  strcpy(lf.lfFaceName, "code128font");
  HFONT HFont = ::CreateFontIndirect(&lf);
  HDC hdc0 = ::GetDC(0);
  HFONT HOldFont = ::SelectObject(hdc0, HFont);
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Problema al imprimir con fuent code128 usando TextOut()

Publicado por RedWolf (2 intervenciones) el 27/04/2015 13:52:07
Gracias por el intento, pero tampoco... No se si es porque no pongo la fuente donde toca, por ejemplo:
donde pones "code128font" yo pongo la ruta donde está la fuente ttf....
Es ahí donde pongo la ruta o donde la pondría?

Gracias igualmente por tu inestimable ayuda!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Problema al imprimir con fuent code128 usando TextOut()

Publicado por nn (1 intervención) el 27/04/2015 21:48:44
asegurate que la fuente esté instalada

LOGFONT lf;
::ZeroMemory(&lf, sizeof(LOGFONT));
strcpy(lf.lfFaceName, "code 128");
lf.lfHeight = 30;
lf.lfCharSet = DEFAULT_CHARSET;

HFONT HFont = ::CreateFontIndirect(&lf);
HDC hdc0 = ::GetDC(0);
HFONT HOldFont = ::SelectObject(hdc0, HFont);

::TextOut(hdc0, 100, 100, "24579434", 8);
::SelectObject(hdc0, HOldFont);
::DeleteObject(HFont);

::ReleaseDC(NULL, hdc0);
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Problema al imprimir con fuent code128 usando TextOut()

Publicado por RedWolf (2 intervenciones) el 28/04/2015 11:50:48
Vale ya lo tengo solucionado!

Es tan facil como parecia, pero hay que asegurarse el nombre de la fuente, es decir, dentro de la carpeta Fonts de Windows la fuente se llamaba "Code 128 Normal", pero al abrir las propiedades se llamaba "code128", y si clickabas la fuente te salia la muestra de la letra y allí la fuente tenia otro nombre "Code 128", pues es este el nombre que se tenia que poner en CreateFont().

Gracias igualmente por intentar ayudarme !
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar