Página 1 de 1

Win11 - caracteres dos boxes nao aparecem na tela

Enviado: 02 Fev 2026 12:18
por ANDRIL
Apareceu um note com Win11 PRO 64bits e ao instalar o sistema em harbour 3.2 com uso da fonte CONSOLAS, os traços dos boxes desapareceram, FOI O PRIMEIRO que ocorreu isso, todos os demais aparecem normalmente.

Na primeira imagem esta normal em um outro PC com Win11, na segunda imagem, no NOTE com Win11 somem os traços.
win11-problema-fonte-tracos-somem.png
win11-problema-fonte-tracos-somem.png (426.29 KiB) Exibido 111 vezes

Pelo atalho não surte efeito a configuração nas opções da fonte, mesmo alterando lá, continua o problema na tela do sistema.

Suspeito de drivers corrompidos, o cliente alega que acabou de comprar o note.
Alguma ideia par aorrição?

Re: Win11 - caracteres dos boxes nao aparecem na tela

Enviado: 02 Fev 2026 12:51
por Kapiaba
Veja se ajuda:

O problema de caixas (boxes/molduras) e caracteres especiais (acentuação, linhas gráficas) não aparecerem corretamente em aplicações xHarbour no Windows 11 geralmente é causado por incompatibilidade de Code Page (codificação de caracteres) entre o console do Windows e a aplicação xHarbour, ou pelo uso de fontes que não suportam caracteres gráficos antigos (OEM).

Aqui estão os passos para resolver esse problema, focando no ambiente console do Windows:

1. Alterar a Fonte do Prompt de Comando (Windows 11)
As fontes padrão do Windows 11 muitas vezes não incluem os caracteres gráficos do Clipper/xHarbour (OEM CP 437/850).

Abra o seu sistema xHarbour.
Clique com o botão direito na barra de título da janela e selecione Propriedades.
Vá na aba Fonte.

Altere a fonte para Terminal ou Raster Fonts (Fontes Raster). Essas fontes suportam as linhas e cantos de boxes.
Nota: Evite fontes TrueType como "Consolas" ou "Lucida Console" se elas não renderizarem corretamente os caracteres.

2. Ajustar o Code Page no Prompt

Antes de rodar o programa, ou dentro do bat/script de inicialização, force o Prompt de Comando a usar a codificação correta.
No prompt, digite: chcp 850 (ou chcp 437) e pressione Enter.
Em seguida, execute seu programa (programa.exe).
Isso força o terminal a interpretar os caracteres gráficos corretamente.

3. Configuração interna no xHarbour

Se as opções acima não resolverem, force a aplicação xHarbour a definir o modo de vídeo e caracteres na inicialização.
Adicione ao seu código:

harbour

Código: Selecionar todos

REQUEST HB_CODEPAGE_PT850 // Ou PTISO, dependendo da sua DBF
PROCEDURE Main()
    HB_SETCODEPAGE("PT850")
    SetMode(25, 80) // Garante modo 25x80
    // ... restante do código
RETURN
4. Usar hb_GtInfo para boxes (Se usar GTWVW)

Se você utiliza a biblioteca gráfica GTWVW para controlar o console:
A GTWVW pode precisar que a codificação do box seja explicitamente definida.
Tente usar hb_GtInfo(HB_GTI_BOXCP, "PT850") no início do programa.

5. Alternativa: Utilizar a fonte "Terminal" + SetMode

Um erro comum no Windows 11 é o redimensionamento automático. Tente forçar o tamanho:

harbour

Código: Selecionar todos

#include "set.ch"
PROCEDURE Main()
   SETMODE(25, 80)
   // ...
RETURN
Resumo da solução mais eficaz
Geralmente, mudar a fonte para Terminal nas propriedades do prompt de comando e rodar chcp 850 resolve 90% desses casos no Windows

Re: Win11 - caracteres dos boxes nao aparecem na tela

Enviado: 02 Fev 2026 12:54
por Kapiaba

Re: Win11 - caracteres dos boxes nao aparecem na tela

Enviado: 02 Fev 2026 15:43
por ANDRIL
Kapiaba, obrigado por responder.
Mas não utilizo console puro, uso Gtwvg esqueci de mencionar.

Código: Selecionar todos

#include "hbgtinfo.ch"
   REQUEST HB_LANG_PT
   REQUEST HB_CODEPAGE_PT850
   hb_cdpSelect( "PT850" )
	// HABILITA O USO DO MOUSE, SO QUE NAO FUNCIONA NO MENU COM ACHOICE
    Set ( _SET_EVENTMASK, INKEY_ALL - INKEY_MOVE + HB_INKEY_GTEVENT )
  
	SETMODE(25, 80)
	
	*--SE deixar .T. seta o tamanho da janela sempre um pouco menor que o tamanho da janela justamente para poder
	*--permitir o uso do mouse para diminuir a janela, se for .F. a janela assume quase a tela total
	HB_GtInfo( HB_GTI_RESIZABLE, .T. )
	
	screenWidth := HB_GTINFO( HB_GTI_DESKTOPWIDTH )
	screenHeight:= HB_GTINFO( HB_GTI_DESKTOPHEIGHT ) 
	wvt_SetFont( "Lucida Console", Round(( screenHeight / MaxRow() ),0)-3, Round(( screenWidth / MaxCol() ),0), 0 )
	WVT_MAXIMIZE()
Quanto tentei ajustar pelo atalho NÃO surte efeito como surtia no modo console.

Re: Win11 - caracteres dos boxes nao aparecem na tela

Enviado: 02 Fev 2026 19:45
por JoséQuintas
é harbour ?
compila usando gtwvg.hbc ?
Por precaução, veja se assim resolve

Código: Selecionar todos

REQUEST HB_GTSYS

...
PROCEDURE HB_GTSYS
   REQUEST HB_GT_WVG_DEFAULT
   RETURN
Uma coisa é carregar as GTs.
Outra coisa é definir qual vai ser a default, a utilizada logo que o aplicativo começar a ser executado.
Isso acima força gtwvg como principal/inicial.

Pode colocar pra mostrar qual gt foi carregada:

Código: Selecionar todos

#include "hbgtinfo.ch"
Alert( hb_gtinfo( HB_GTI_VERSION ) )

Re: Win11 - caracteres dos boxes nao aparecem na tela

Enviado: 02 Fev 2026 19:57
por JoséQuintas
Aqui utilizo o fonte "Lucida Console"
Tenho uma vaga lembrança de numa versão do Windows haver um bug em determinado fonte.
Digo vaga lembrança, porque lembro de algum problema em fonte, mas não lembro mais detalhes.

Re: Win11 - caracteres dos boxes nao aparecem na tela

Enviado: 04 Fev 2026 09:44
por ANDRIL
JoséQuintas escreveu: 02 Fev 2026 19:45 compila usando gtwvg.hbc ?
Sim, e já esta setada a GtWvg.
JoséQuintas escreveu: 02 Fev 2026 19:57 Aqui utilizo o fonte "Lucida Console"
Tenho uma vaga lembrança de numa versão do Windows haver um bug em determinado fonte.
Digo vaga lembrança, porque lembro de algum problema em fonte, mas não lembro mais detalhes.
Também utilizo esta fonte, porem, fiz testes com Terminal, Courier e continuou o problema.

Procurando na internet, há relatos de ser uma configuração no Windows 11 que deve ser feita em PAINEL DE CONTROLE -> REGIAO -> ADMINISTRATIVO -> E AJUSTAR a localidade do sistema e desmarcar a opção USAR UNICODE UTF-8 PARA SUPORTE DE LIGUAGEM MUNDIAL.

Não consegui testar esta configuração pois o cliente acabou vendendo o note.

Agradeço a todos os participantes.

Re: Win11 - caracteres dos boxes nao aparecem na tela

Enviado: 04 Fev 2026 14:12
por Itamar M. Lins Jr.
Olá!
Foi o que pensei. Infelizmente não deu tempo nem de confirmar.
Mas fica a dica para todos.
Parece que o windows 11 vem com UTF8, igual no Linux.
Vai precisar mudar, isso que vc explicou, de mudar em configurações... em alguns sistemas.
Se fosse somente o "@ BOX", era só mudar para 437 quando for desenhar elas, mas eram as linhas do Browse também.
Tenho um sistema antigo que usei assim:

Código: Selecionar todos

Function BOX_JAN
private lin1,col1,lin2,col2,caixa,mensagem,coluna
PARAM lin1,col1,lin2,col2,mensagem,mcol
setcolor(corjanela)
CAIXA := "ÖÄ·º½ÄÓº "
HB_CDPSELECT( "EN" )
@ lin1,col1,lin2,col2 box CAIXA
ft_Shadow( lin1, col1, lin2, col2, 8 )

if PCOUNT() > 4
   @ lin1,col2-2 say "Ã"
   set color to "+w/b"
   @ lin1,(col2-2)-len(mensagem) say mensagem 
   setcoloR(corjanela)
   @ lin1,(col2-2)-len(mensagem)-1 say "´"
endif
HB_CDPSELECT( "PTISO" )
return .T.