sábado, 15 de agosto de 2009

Configurando fonte de tela multiplataforma

Quem desenvolve aplicações multiplataforma, muitas vezes tem o problema de visual gerado pela fonte de tela, que sempre acaba irritando.

Eu resolvia esse problema definindo manualmente a fonte que seria usada no linux, e outra fonte no windows, assim:
{$IFDEF LINUX}
self.font.name:='Helvetica';
{$ENDIF}

Assim, no linux usava a font 'Helvetica' e no windows a font 'Ms Sans Serif'.
Naturalmente não ficava perfeito, pois os tamanhos são diferentes.

Isso quando eu usava o kylix3.

Mas agora, com lazarus e a widget QT, consegui resolver esse problema de forma satisfatória.

Das varias fonts que eu testei, descobri que o font Verdana tem exatamente o mesmo resultado visual, tanto no windows como no linux, assim não preciso me preocupar em ficar redimensionando os labels, pra caber o texto em ambos os sistemas operacionais.

Portanto, antes de desenhar qualquer componente visual no form, mudei o font pra Verdana e pronto.

Não é o font mais bonito, mas não dava pra continuar do jeito que estava, pois configurar um font pra windows e outro pra linux é complicado.

Tambem é possivel configurar o font padrão das aplicações QT no QTConfig, mas eu não aconselho fazer isso.

Esse procedimento foi testado apenas no linux (não uso widget QT no windows)

Se alguem ja resolveu esse problema de outra maneira, aceito criticas e sugestões ok.

No proximo post, mostrarei como resolvi o problema de executar o lazarus dentro do wine, corrigindo aquele bug do diretório, que impede de abrir os projetos no wine.

Até a próxima.


English Version

Configuring screen font multiplatform

Who develops applications multiplatforms, many times has the problem of appearance generated for the screen font, that always finishes annoying. I decided this problem manually defining the font that would be used in linux, and another font in windows, thus:
{$IFDEF LINUX}
self.font.name: =' Helvetica' ;
{$ENDIF}
Thus, in linux ' used font; Helvetica' e in windows font ' Ms Sans Serif'. Of course he was not perfect, therefore the sizes are different.
This when I used kylix3.
But now, with lazarus and widget QT, I obtained the solution this problem of satisfactory form. Of them you vary fonts that I tested, I discovered that font Verdana has accurately the same resulted visual, as much in windows as in linux, to worry thus not necessary me in being change labels width, to fit the text in both the operational systems.
Therefore, before drawing any visual component in form, I changed font to Verdana. He is not font prettier, but it did not give to continue of the skill that was, therefore to configure one font for windows and another one for linux is complicated.

Also standard of applications QT in the QTConfig is possible to configure font, but I do not advise to make this.
This procedure was tested only in linux (not use widget QT in windows)
If somebody already decided this problem in another way, accepted you criticize and suggestions. In next post, I will show as I decided the problem to inside execute lazarus under wine, correcting that one bug of the directory, that it hinders to open the projects under wine.
Until the next one.

Um comentário: