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
Listar Fontes Monoespaçadas instaladas
Moderador: Moderadores
- Luciano Bonfim
- 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
Muito Obrigado,
Luciano Bonfim de Azevedo
www.bonfim.com.br
luciano@bonfim.com.br
www.linkedin.com/in/lucianobonfim
Skype : lucianobonfim
Luciano Bonfim de Azevedo
www.bonfim.com.br
luciano@bonfim.com.br
www.linkedin.com/in/lucianobonfim
Skype : lucianobonfim
Listar Fontes Monoespaçadas instaladas
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.
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.
- alaminojunior
- Colaborador

- Mensagens: 1717
- Registrado em: 16 Dez 2005 21:26
- Localização: Ubatuba - SP
Listar Fontes Monoespaçadas instaladas
Os moderadores que me perdoem ... mas olha o véio voltando em grande estilo.
Que aula !
Que aula !
Compilador xHarbour 1.2.3 + Embarcadero C++ 7.30
MySQL c/ SQLRDD
HwGui + GTWVG
MySQL c/ SQLRDD
HwGui + GTWVG
- sygecom
- Administrador

- Mensagens: 7131
- Registrado em: 21 Jul 2006 10:12
- Localização: Alvorada-RS
- Contato:
Listar Fontes Monoespaçadas instaladas
Esse Xiru véio ai é sempre bem vindo aqui, quer ele queira ou não....
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
xHarbour.org + Hwgui + PostgreSql