Page 1 of 1

Definicion de FONT no es igual en FW y FWH

Posted: Thu Jun 08, 2006 9:53 pm
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()

Posted: Thu Jun 08, 2006 10:06 pm
by dbzap
Este es un trozo de la imagen... fea verdad ?

http://www.random.cl/envios/fontmalo.jpg

Posted: Fri Jun 09, 2006 4:43 am
by Antonio Linares
Has probado a cambiar un poco el tamaño de los fonts y comprobar el resultado ?

Posted: Fri Jun 09, 2006 10:07 am
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.

Posted: Fri Jun 09, 2006 12:19 pm
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