根据每页行数和页面大小计算字体大小

根据每页行数和页面大小计算字体大小

我有一个需求,需要在自定义介质上打印一些内容,比如 Ubuntu 中的 3x5 英寸。我使用“enscript”工具来打印信息。

3 英寸内需要打印的行数会有所不同,字体大小也会有所不同。

是否有任何算法可以帮助我计算在 3 英寸的范围内每页打印给定行数所需的字体大小。

假设我的字体类型始终固定为“Courier”。

我尝试计算字体大小,假设 1 英寸为 72 点。因此 3 英寸为 216 点。如果我需要在 3 英寸空间内打印 20 行,我的字体大小将是 (216/20),即 10.8 点。

但是这种算法不起作用,并且对于任何给定的行数都不起作用。

任何能解决此问题的指点都将不胜感激。

答案1

好的,我能够解决这个问题。以下是我所做的:

每英寸 72 点并不是真正的标准,而是取决于字体类型、行间距和许多其他因素。因此,我修复了“Courier”之类的字体,然后找到了我可以打印的最大字体大小,而不会出现任何截断/自动换行。基于此字体,我找到了每英寸点的值。

我发现字体宽度和字体高度的“每英寸点数”不同。

我发现字体高度的值应该是“64”,而不是“72”。基于“64”,我能够根据以下公式计算出字体大小高度:

64 * 纸张高度/页面行数

它适用于所有纸张尺寸和每页行数。

相关内容