[Cascavel-pm] [OT] PDF tamanho do fonte

Agnaldo Macedo agnaldo em starweb-software.com.br
Sábado Junho 27 10:03:35 PDT 2009


O objetivo é alinhar um texto.
Estou gerando um documento PDF.
Tenho um texto, uma string.

Preciso "printar" esste texto, no PDF.
Tal texto deve ser alinhado. Pela direita e pela esquerda esta OK.
Mas para "justificar", ou seja, fazer com que o texto fique alinhado tanto pela direita quanto pela esquerda, estou com problemas.

Como comentado, usando fonte de letra proporcional, tam como o Courier, não ha problemas, pois cada "espaço" separador entre as palavras ocupada o espaço de um caracter qualquer e cada caracter ocupada o mesmo espaço de um caracter qualquer.

Não estou mexendo no espaço entre os caracteres. Apenas espaçando mais as palavras entre si afim de tentar o alinhamento justificado.

Porém, para fontes não proporcionais o calculo muda um pouco.

Como exemplo, usando fonte proporcional, o texto abaixo teria o seguinte resultado quando alinhado numa linha de 20 posições.
12345678901234567890
Este  é um teste
Este   é   um  teste

Mas com fontes não proporcionais isso não é viavel.

Voltando, meu objetivo é poder gerar um documento PDF.
Ou seja, minha aplicação esta gerando o documento.

Olhando comentários sobre a especificação AFM achei uma pequena formula que deve resolver.
width = (LENGTH(text) * individual character lengths / 1000) * Font Point Size

Ous seja, o width, comprimento de um texto pode ser calculado pela formula acima. O tamanho de cada caracter pode ser obtido a partir do arquivo de fonte AFM.
Sendo assim, posso ir colocando espaços em branco a mais e ir testando se o width calculado já estourou ou não o espaço disponivel para geração dos dados (comprimenro da linha).

Falta testar pra ver ...

Obs.: Não, não estou procurando um script, classe ou pacote que faça geração ou processamento de PDF. Minha necessidade é apenas a citada acima.





----- Original Message ----- 
From: "Blabos de Blebe" <blabos em gmail.com>
To: "Agnaldo Macedo" <agnaldo em starweb-software.com.br>; "Cascavel Perl Mongers" <cascavel-pm em pm.org>
Sent: Saturday, June 27, 2009 1:25 PM
Subject: Re: [Cascavel-pm] [OT] PDF tamanho do fonte


Eu devolvo a pergunta:

Você tem um conjunto com vários elementos (letras) de vários tamanhos
que serão enfileirados misturados, numa quantdade e ordem que vc não
sabe a priori. Qual o tamanho da fila?

Talvez seja mais fácil se você você nos contar o que está querendo
fazer. Podem haver várias soluções para o seu problema, embora sua
pergunta seja de difícil solução, em certos casos.

Abraços

2009/6/27 Agnaldo Macedo <agnaldo em starweb-software.com.br>:
>
> Corrigindo o nome, AFM (Adobe Font Metrics).
>
>
> ----- Original Message ----- From: "Agnaldo Macedo"
> <agnaldo em starweb-software.com.br>
> To: "Cascavel Perl Mongers" <cascavel-pm em pm.org>
> Sent: Saturday, June 27, 2009 11:04 AM
> Subject: [Cascavel-pm] [OT] PDF tamanho do fonte
>
>
>
> Pessoal, um documento PDF pode possuir diversos tipos de fontes de letra.
> Fontes com especificção AMF (Adobe Font Metrics), possuem um arquivo com
> informações sobre o fonte.
>
> Fontes de letra proporcionais, como o Courier, possuem tamanho fixo, então é
> simples calcular quantos caracteres cabem numa linha.
>
> Alguém conhece alguma documentação sobre como calcular o tamanho, mas
> especificamente, quantos caracteres caberiam numa linha, quando usando
> fontes de letra nao proporcionais??
>
>
> _______________________________________________
> Cascavel-pm mailing list
> Cascavel-pm em pm.org
> http://mail.pm.org/mailman/listinfo/cascavel-pm
> _______________________________________________
> Cascavel-pm mailing list
> Cascavel-pm em pm.org
> http://mail.pm.org/mailman/listinfo/cascavel-pm
>
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://mail.pm.org/pipermail/cascavel-pm/attachments/20090627/2c1a7c1d/attachment.html>


Mais detalhes sobre a lista de discussão Cascavel-pm