レシートのテンプレートを作成するために、HTML/CSS でレシート プリンターをエミュレートしようとしています。プリンター、典型的な Epson ESC/POS プリンターは、2 倍の高さ、2 倍の幅、またはその両方を印刷する機能を備えています。
プリンターには標準で 40 列、倍幅または倍幅/高さで 20 列があるため、これはすべてモノスペース フォントである必要があります。Double-wide/tall は問題ではありません。CSS でフォントのサイズを 2 倍にするだけで、両方の寸法がスケーリングされます。これは、別の太字関数によってさらに複雑になります。
誰にも提案はありますか?これをサポートする特定のフォントは? これを複製する HTML/CSS 機能はありますか?
私が試してみました:
font-stretch
: - 特定のフォントでのみ動作します。幅の狭い書体のモノスペース フォントは見つかりませんでした。transform:scale()
: 動作しますが、オブジェクトの中心を参照しているため、レンダリングされたサイズを取得してからシフトし、行の高さを調整する必要があります。scale に基準点を指定する 3 番目のパラメーターがあればいいのにと思います。- 他のさまざまなフォント: 標準のモノスペース フォントに十分近い倍幅フォントのように、さまざまな書体を持っているか、組み合わせることができるフォントを探しましたが、見つかりませんでした。
- カスタム フォント: もっともらしく聞こえますが、私が取りたいと思う以上のものです。
より簡単ですtransform:scale()
か?
編集:
これは、courier 16px、courier 32px、scale(2,1)、および scale(1,2) で作成された画像ですが、translate(27px) で 2 倍幅のテキストを移動する必要がありました。
イメージを作成した jsfiddle: http://jsfiddle.net/ja7br/