Definicion de FONT no es igual en FW y FWH

Post Reply
User avatar
dbzap
Posts: 189
Joined: Mon Nov 07, 2005 7:36 pm
Location: Chile
Contact:

Definicion de FONT no es igual en FW y FWH

Post by dbzap »

Tengo un problemazo, y he perdido mucho tiempo ya con esto de intentar definir un tipo de font que en 16bits me funciona correctamente.
Lo mas raro de todo esto, es que para definir fonts con el REPORT lo hago de la misma forma.... y funciona, pero de esta forma no he podido.
Agradezco cualquier ayuda.
Saludos

He aqui un trozo de codigo....

Code: Select all

cImpresora := MisImpresoras( oWnd,, @cArchivo )
If Empty( cArchivo )
   cNewDevice := GetProfString( "Devices", cImpresora )
Else
   lArchivo := .T.
   lWindows := .F.
EndIf

bLastError := ERRORBLOCK( {|o| PosibleError(o) } )
BEGIN SEQUENCE

If lWindows

   oPrn := cNewDevice := PrintBegin( "Lista Fija", .F., lPreview, cImpresora )

   IF empty(oPrn:hDC)
      BREAK
   Endif

   DEFINE FONT oFont       NAME "Courier New"      SIZE 0,-10      OF oPrn
   DEFINE FONT oFontB      NAME "Courier New"      SIZE 0,-10 BOLD OF oPrn
   DEFINE FONT oFontChico  NAME "Courier New"      SIZE 0,-8       OF oPrn
   DEFINE FONT oFontBChico NAME "Courier New" BOLD SIZE 0,-8       OF oPrn

   PAGE

   (Paso)->( dbGoTop() )
   nPagAnt := (Paso)->Pagina

   If lAnchoEspecial
      nAncha := nGetAncho
   Else
      nAncha := If( (Paso)->Horizontal=="S", 250, 132 )
   EndIf

   If (Paso)->Horizontal == "S"
      oPrn:SetLandscape()
   EndIf

   While (Paso)->( !Eof() )

      If (Paso)->Pagina <> nPagAnt
         ENDPAGE
         PAGE
         nPagAnt := (Paso)->Pagina
      EndIf

      If (Paso)->Comprimida
         If (Paso)->Negrita
            oPrn:CmSay( (Paso)->fila * ( 2.529 / 6 ) , 1, Left( (Paso)->Descripcio, nAncha ), oFontBChico )
         Else
            oPrn:CmSay( (Paso)->fila * ( 2.529 / 6 ) , 1, Left( (Paso)->Descripcio, nAncha ), oFontChico )
         EndIf
      Else
         If (Paso)->Negrita
            oPrn:CmSay( (Paso)->fila * ( 2.529 / 6 ) , 1, Left( (Paso)->Descripcio, nAncha ), oFontB )
         Else
            oPrn:CmSay( (Paso)->fila * ( 2.529 / 6 ) , 1, Left( (Paso)->Descripcio, nAncha ), oFont )
         EndIf
      EndIf
      (Paso)->( dbSkip() )

   Enddo

   ENDPAGE
   ENDPRINT

   oFont:End()
   oFontB:End()
   oFontChico:End()
   oFontBChico:End()
User avatar
dbzap
Posts: 189
Joined: Mon Nov 07, 2005 7:36 pm
Location: Chile
Contact:

Post by dbzap »

Este es un trozo de la imagen... fea verdad ?

http://www.random.cl/envios/fontmalo.jpg
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Post by Antonio Linares »

Has probado a cambiar un poco el tamaño de los fonts y comprobar el resultado ?
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
RenOmaS
Posts: 205
Joined: Fri Oct 07, 2005 5:07 pm

Post by RenOmaS »

Has visto el modo en que esta seleccionado la impresora?
es decir si esta en Modo Economico, Normal, Alta Resolucion.
intenta cambia esto.
User avatar
dbzap
Posts: 189
Joined: Mon Nov 07, 2005 7:36 pm
Location: Chile
Contact:

Post by dbzap »

Es un error mio...
Pero me costo dar con el.
El SetLandScape() esta despues de iniciar el "PAGE", y es eso lo que provoca el error.
No se si sea un problema, pero bastó cambiarlo justo antes de la declaracion PAGE y funcionó correctamente.
Gracias a todos por los comentarios.
Saludos
Post Reply