Рассчитайте размер шрифта на основе количества строк на странице и размера страницы.

Рассчитайте размер шрифта на основе количества строк на странице и размера страницы.

У меня есть требование, когда мне нужно что-то напечатать на пользовательском носителе, скажем, 3x5 дюймов в Ubuntu. Я использую инструмент "enscript" для печати информации.

Количество строк, которые необходимо напечатать на 3-дюймовом экране, будет различаться, как и размер шрифта.

Есть ли какой-либо алгоритм, который я могу использовать для расчета размера шрифта, необходимого для печати заданного количества строк на странице, скажем, в 3 дюйма?

Допустим, мой тип шрифта всегда будет фиксированным — «Courier».

Я попытался рассчитать размер шрифта, исходя из предположения, что 1 дюйм равен 72 пунктам. Таким образом, 3 дюйма равны 216 пунктам. Если мне нужно напечатать 20 строк на 3-дюймовом пространстве, мой размер шрифта будет (216/20), что составит 10,8 пунктов.

Но этот алгоритм не работает и не работает ни для какого заданного количества строк.

Буду весьма признателен за любые указания по решению этой проблемы.

решение1

Хорошо, я смог обойти эту проблему. Вот что я сделал:

72 точки на дюйм — это не совсем стандарт, но зависит от типа шрифта, расстояния между строками и многих других факторов. Поэтому я зафиксировал шрифт вроде «Courier», а затем нашел максимальный размер шрифта, который я мог бы напечатать без усечения/переноса слов. Основываясь на этом шрифте, я вернулся к значению точек на дюйм.

Я обнаружил, что показатель «точек на дюйм» различается как для ширины шрифта, так и для высоты шрифта.

Я обнаружил, что это значение было чем-то вроде "64", а не "72" для высоты шрифта. На основе "64" я смог вычислить высоту размера шрифта по формуле:

64 * высота бумаги / количество строк на странице

И это работало для всех размеров бумаги и количества строк на странице.

Связанный контент