Página 1 de 1

Algumas dicas de um usuário iniciante em xharbour + linux

Enviado: 12 Nov 2005 21:38
por linux.eo
Caros colegas.

Andei brincando com o xHarbour no Linux, e no início
não tive muito sucesso. Sempre que tentava converter
algo usando hbmake ou harbour, não tinha sucesso.

Depois que descobri o comando xhbmk tudo ficou melhor.

Em posse de um .PRG, basta fazermos o seguinte:

xhbmk teste.prg -oteste
- Este comando gera o executável ./teste

Examinei também a questão das fontes no Linux,
e vi que estas precisam de arquivos que façam
uma espécie de tradução de caracteres, de
acordo com a "localização" utilizada.

Por exemplo, no UNICODE, os caracteres BOX ficam
numa posição muito alta, lá pelo U+253C ... Que
valeria 9532 na nossa escala de CHR().

E quando trabalhamos no PRG, costumamos usar
o caractere CHR(197) ou 0xC5 em hexadecimal.

Então, existe um arquivo de "localização", que
informa pro programa que nos exibe, que pode
ser o xterm, o dosemu, ou o console, algo como
o seguinte:

Se o programa pedir para exibir o caractere CHR(197),
que seria 0xC5, o sistema exiba o caractere U+253C
da fonte escolhida.

Um dos arquivos que faz este tipo de mapeamento,
ou tradução, é o Screen Font Map, ou SFM.

Mas para isso, a fonte escolhida tem que estar devidamente
construída seguindo o padrão UNICODE.

Com isso já deu para rodar bem os caracteres VGA
no console do LINUX.

Falta agora dominar as fontes no modo X.

Pelo que andei vendo, o Xterm se baseia na fonte
pedida pelo parâmetro -fn, e faz a sua "tradução"
baseado no "locales", e cada "locale" posui um
arquivo de "encoding".

Consegui criar fontes para o X, e cadastrá-las
usando o mkfontdir...

Mas falta ainda dominar a questão do
encoding para que ele exiba os caracteres
exatamente como ordenamos...

Afinal, quem manda aqui, a gente ou a máquina?

Alguém tem alguma dica sobre o controle dos
encodings em modo X, para que possamos alterar
ou criar um encoding personalizado?

Enviado: 14 Nov 2005 07:54
por culik
Ola

Primeiro nao use xhlnk para linkar sua apps

use sempre o utilitario hbmake para criar os makefiles de sua apps assim como para compilar as mesmas.

Agora a sua pergunta

Se vc vai rodar sua app no console grafico vc deve adicionar as seguintes linhas a no .prg com a funcao main
request HB_GT_XWC
request HB_CODEPAGE_PTISO
REQUEST HB_CODEPAGE_PT850

e dentro da main
hb_settermcp([ptiso],[pt850])

depois
edite o .bc gerado pelo hbmake e na secao libfiles adicione no final dessa linha -lgtxwc

recompile a app com o hbmake
dentro do console grafico execute a app com
./app //gt:xwc

[]s
Luiz Rafael
www.xharbour.com.br
PS: Para respostas mais rapidas , poste diretemente na news oficial em news://news.xharbour.org/xharbour.spanish.portuguese