Após baixar a última versão do harbour (nightly) hb32
Estou com problema na função sombra em box ou janelas que eu uso a muito tempo com clipper e harbour.
Não sei o que mudou nestas últimas versões do harbour para mudar o comportamento da exibição de caracteres!
Com versão harbour início de abril

Com versão harbour atual (nightly)

Vejam o código da função que eu uso e que vinha funcionando sem problemas (pequeno exemplo).
Código: Selecionar todos
#include "hbcompat.ch"
FUNCTION MAIN
SETCOLOR("B/W")
@00,00 CLEAR TO MaxRow(),MaxCol()
SOMBRA(10,01,20,20)
@10,01 TO 20,20
INKEY(0)
RETURN Nil
FUNCTION Sombra(_Li,_Ci,_Lf,_Cf)
LOCAL Tela1, Tela2, Tela3, Tela4
IF _Cf >= 80
_Cf:=79
ENDIF
Tela3 := SaveScreen(_Li+1,_Cf+1,_Lf+1,_Cf+1)
Tela4 := SaveScreen(_Lf+1,_Ci+1,_Lf+1,_Cf+1)
FOR Tela1:=2 TO Len(Tela3) STEP 2
Tela2:=Shadow(ASC(SubStr(Tela3,Tela1,1)))
Tela3:=Stuff(Tela3,Tela1,1,Tela2)
END
FOR Tela1 := 2 TO Len(Tela4) step 2
Tela2:=Shadow(ASC(SubStr(Tela4,Tela1,1)))
Tela4:=Stuff(Tela4,Tela1,1,Tela2)
END
RestScreen(_Li+1,_Cf+1,_Lf+1,_Cf+1,Tela3)
RestScreen(_Lf+1,_Ci+1,_Lf+1,_Cf+1,Tela4)
RETURN NIL
STATIC FUNCTION Shadow(_Car)
LOCAL Var1, Var2, Var3
Var1 := _Car % 16
Var2 := (_Car - Var1) / 16
Var3 := {0,0,8,8,0,8,0,8,0,1,2,3,4,5,6,7}
Var1 := Var3[Var1+1]
Var2 := Var3[Var2+1]
RETURN CHR(16 * Var2+Var1)

