【发布时间】:2013-10-24 01:25:34
【问题描述】:
我正在尝试在 HTML/CSS 中模拟收据打印机来模板化收据。该打印机是典型的 Epson ESC/POS 打印机,能够打印双高、双宽或两者兼有。
这都需要是等宽字体,因为打印机正常有 40 列,双宽或双宽/高有 20 列。双宽/高不是问题,我可以将 CSS 中的字体大小加倍,并且两个尺寸都可以缩放。单独的粗体功能使这更加复杂。
有人有建议吗?支持此功能的特定字体? HTML/CSS 能否复制这一点?
我试过了:
-
font-stretch: - 仅适用于某些字体,据我所知仅适用于窄/正常。我还没有找到任何窄字体的等宽字体。 -
transform:scale():有效,但引用到对象的中心,所以我必须获取渲染大小,然后移动它,并调整行高。我当然希望 scale 有第三个参数来指定参考点。 - 其他各种字体:我看过,但没有找到任何字体,有各种字体,或者我可以组合使用,例如足够接近标准等宽字体的双宽字体。
- 自定义字体:听起来很合理,但超出了我的想象。
有什么比transform:scale() 更简单的吗?
编辑:
这是一张图片,用 courier 16px、courier 32px 和 scale(2,1) 和 scale(1,2) 完成,但我必须用 translate(27px) 移动双宽文本。
创建图像的 jsfiddle:http://jsfiddle.net/ja7br/
【问题讨论】:
-
你现在用什么字体?
-
双高双宽是什么意思?请显示一个示例(至少带有一个 URL)。解释“双宽/高不是问题”部分,因为它似乎与标题相矛盾。
-
是的,我很困惑。你说“双宽/高不是问题”,但不要继续解释问题是什么。那么......这里的问题是什么?如果您想将字体大小加倍,只需将父元素的字体设置为特定大小,然后使用“font-size: 2em;”在收据元素上加倍。
-
@Paul 您是否能够在 HTML/CSS 中模拟收据打印机以进行热收据打印机。我对此的解决方案非常感兴趣。