Listar Fontes Monoespaçadas instaladas

Projeto [x]Harbour - Compilador de código aberto compatível com o Clipper.

Moderador: Moderadores

Avatar do usuário
Luciano Bonfim
Usuário Nível 3
Usuário Nível 3
Mensagens: 414
Registrado em: 23 Ago 2007 09:34
Localização: Rio de Janeiro / São Paulo
Contato:

Listar Fontes Monoespaçadas instaladas

Mensagem por Luciano Bonfim »

Caros,

Como consigo saber quais as fontes monoespaçadas que estão instaladas na máquina que está rodando meu sistema, preciso possibilitar que o usuário altere a fonte do relatório, mas só posso listar para ele as fontes que estão instaladas no PC dele e que sejam monoespaçadas.

Muito Obrigado
Muito Obrigado,

Luciano Bonfim de Azevedo
www.bonfim.com.br
luciano@bonfim.com.br
www.linkedin.com/in/lucianobonfim
Skype : lucianobonfim
Avatar do usuário
Eolo
Colaborador
Colaborador
Mensagens: 1134
Registrado em: 08 Dez 2005 18:24
Localização: São Paulo - SP

Listar Fontes Monoespaçadas instaladas

Mensagem por Eolo »

Use a função oWin32Prn:getfonts(). Ela retorna uma matriz de n linhas (fontes instaladas) e 4 colunas:

1
Nome da fonte

2
.T. = fonte fixa ('m' ocupa o mesmo espaço que 'i')
.F. = fonte proporcional

3
.T. = fonte True Type
.F. = fonte bitmap

4
Número do set de caracteres requerido

Então, basta vc selecionar as linhas que tiverem .T. na coluna 2.

Sobre a Coluna 3, a diferença é resumidamente a seguinte:
. BITMAP - o sistema operacional mantém uma 'imagem' pronta de cada caracter. Quando vc escolhe a letra A, tamanho 12 e negrito de uma fonte bitmap, a imagem dela já tá na mão, é só mandar pra tela ou impressora. São as fontes usadas pelo DOS e as gravadas na memória de impressoras matriciais. A resposta é mais rápida porque requer menos processamento.
. TRUE TYPE - estas são 'construídas' na hora do uso, com base em instruções guardadas nos respectivos arquivos, então são mais lentas porque requerem mais processamento.

Faça o teste: em uma LX300, cronometre a impressão de uma folha usando uma fonte padrão e por exemplo a fonte John Handy Let... Com esta última, dá pra ir tomar uma gelada no bar da esquina.
Avatar do usuário
alaminojunior
Colaborador
Colaborador
Mensagens: 1717
Registrado em: 16 Dez 2005 21:26
Localização: Ubatuba - SP

Listar Fontes Monoespaçadas instaladas

Mensagem por alaminojunior »

Os moderadores que me perdoem ... mas olha o véio voltando em grande estilo.
Que aula !
Compilador xHarbour 1.2.3 + Embarcadero C++ 7.30
MySQL c/ SQLRDD
HwGui + GTWVG
Avatar do usuário
sygecom
Administrador
Administrador
Mensagens: 7131
Registrado em: 21 Jul 2006 10:12
Localização: Alvorada-RS
Contato:

Listar Fontes Monoespaçadas instaladas

Mensagem por sygecom »

Esse Xiru véio ai é sempre bem vindo aqui, quer ele queira ou não....
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
Responder