Boa tarde pessoal!
Temos uma rotina de impressão de rótulos em formato A3 que usa a classe FwMsPrinter.
Criamos uma tabela que contém uma matriz de impressão, com campos, tamanho de fonte, posição e etc.
Quando um dado for maior que o espaço reservado para impressão do mesmo, nossa ideia é que o sistema vá diminuindo a fonte até que a informação caiba, sem perda de dados.
Pelo GetTextWidth consigo saber o tamanho que um texto vai ocupar de acordo com a fonte passada.
Porém, como calcular corretamente a largura do espaço para saber se o texto cabe (na linha, não podemos quebrar em mais de uma linha a informação) ou precisa ter sua fonte reduzida? Temos a largura dos componentes em centímetros.
Por exemplo: tenho um espaço de 15 centímetros para imprimir a informação "ESTADOS UNIDOS / UNITED STATES" iniciando a fonte em arial de 32:
Alguém tem alguma dica para trabalhar com esses valores?
Muito obrigada!