Ubuntu で、たとえば 3x5 インチのカスタム メディアに何かを印刷する必要があるという要件があります。情報を印刷するために、「enscript」ツールを使用しています。
3 インチに印刷する必要がある行数は異なり、フォント サイズも異なります。
たとえば 3 インチでページあたり指定された行数を印刷するために必要なフォント サイズを計算するために使用できるアルゴリズムはありますか。
フォントの種類が常に「Courier」に固定されているとします。
1 インチが 72 ポイントであると仮定してフォント サイズを計算してみました。つまり、3 インチは 216 ポイントです。3 インチのスペースに 20 行を印刷する必要がある場合、フォント サイズは (216/20) となり、10.8 ポイントになります。
しかし、このアルゴリズムは機能せず、任意の数の行に対しては機能しません。
これを解決するためのヒントがあれば、ぜひ教えてください。
答え1
さて、私は問題を回避することができました。私がやったことは次のとおりです。
1 インチあたり 72 ポイントは実際には標準ではありませんが、フォントの種類、行間の間隔、その他の多くの要因によって異なります。そこで、「Courier」などのフォントを固定し、切り捨てやワードラップなしで印刷できる最大フォント サイズを調べました。このフォントに基づいて、1 インチあたりのポイント値に戻りました。
フォント幅とフォント高さの両方で「ポイント/インチ」が異なることがわかりました。
フォントの高さの値は「72」ではなく「64」のような値であることがわかりました。「64」に基づいて、次の式に基づいてフォント サイズの高さを計算することができました。
64 * 用紙の高さ / ページの行数
そして、すべての用紙サイズとページあたりの行数で機能しました。