我正在尝试在HTML/CSS中模拟一个收据打印机以进行模板设计。该打印机通常是爱普生ESC/POS打印机,具有打印双倍高度、双倍宽度或两者的能力。
所有这些都需要使用等宽字体,因为打印机在正常情况下有40列,在双倍宽度或双倍宽度/高度时有20列。双倍宽度/高度不是问题,我可以在CSS中将字体大小加倍,并且两个维度都会缩放。这进一步复杂化了单独的粗体功能。
有人有建议吗?支持此功能的特定字体? HTML/CSS是否具备复制此功能的能力?
我已经尝试过:
所有这些都需要使用等宽字体,因为打印机在正常情况下有40列,在双倍宽度或双倍宽度/高度时有20列。双倍宽度/高度不是问题,我可以在CSS中将字体大小加倍,并且两个维度都会缩放。这进一步复杂化了单独的粗体功能。
有人有建议吗?支持此功能的特定字体? HTML/CSS是否具备复制此功能的能力?
我已经尝试过:
font-stretch
: 只适用于某些字体,只能尽可能地使用狭窄/正常。我还没有找到任何具有狭窄字形的等宽字体。transform:scale()
: 能够工作,但是参考点是对象的中心,因此我必须获取渲染大小,然后移动它,并调整行高。我希望缩放有第三个参数来指定参考点。- 其他各种字体:我已经搜索过了,但没有找到任何具有不同字形或可以组合的字体,比如一个足够接近标准等宽字体的双倍宽度字体。
- 自定义字体:听起来很有道理,但超出了我的能力范围。
有比transform:scale()
更容易的方法吗?
编辑:
这是一张图片,使用Courier 16px,Courier 32px和scale(2,1)以及scale(1,2)完成,但我必须使用translate(27px)移动双倍宽度的文本。
创建该图片的 jsfiddle 链接: http://jsfiddle.net/ja7br/