作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在努力弄清楚它是如何工作的。我想更改工单中特定单词的字体大小。
在手册上,它说可以使用以下命令更改字符大小:
ASCI: GS ! n
HEX: 1D 21 n
其中 n 代表高度和宽度的扩展。位 0 到 2 设置字符宽度。 Bit 4 到 6 设置字符高度。
所以我尝试了这些不同的代码变体:
[commands appendBytes:"\x1d\x21\x00"
length:sizeof("\x1d\x21\x00") - 1];
[commands appendData:[@"ABCD1\n" dataUsingEncoding:NSASCIIStringEncoding]];
[commands appendBytes:"\x1d\x21\x02"
length:sizeof("\x1d\x21\x02") - 1];
[commands appendData:[@"ABCD2\n" dataUsingEncoding:NSASCIIStringEncoding]];
[commands appendBytes:"\x1d\x21\x04"
length:sizeof("\x1d\x21\x04") - 1];
[commands appendData:[@"ABCD3\n" dataUsingEncoding:NSASCIIStringEncoding]];
[commands appendBytes:"\x1d\x21\x06"
length:sizeof("\x1d\x21\x06") - 1];
[commands appendData:[@"ABCD4\n" dataUsingEncoding:NSASCIIStringEncoding]];
[commands appendBytes:"\x1d\x21\x08"
length:sizeof("\x1d\x21\x08") - 1];
[commands appendData:[@"ABCD5\n" dataUsingEncoding:NSASCIIStringEncoding]];
[commands appendBytes:"\x1d\x21\x10"
length:sizeof("\x1d\x21\x10") - 1];
[commands appendData:[@"ABCD6\n" dataUsingEncoding:NSASCIIStringEncoding]];
[commands appendBytes:"\x1d\x21\x12"
length:sizeof("\x1d\x21\x12") - 1];
[commands appendData:[@"ABCD7\n" dataUsingEncoding:NSASCIIStringEncoding]];
[commands appendBytes:"\x1d\x21\x14"
length:sizeof("\x1d\x21\x14") - 1];
[commands appendData:[@"ABCD8\n" dataUsingEncoding:NSASCIIStringEncoding]];
[commands appendBytes:"\x1d\x21\x16"
length:sizeof("\x1d\x21\x16") - 1];
[commands appendData:[@"ABCD9\n" dataUsingEncoding:NSASCIIStringEncoding]];
[commands appendBytes:"\x1d\x21\x18"
length:sizeof("\x1d\x21\x18") - 1];
[commands appendData:[@"ABCD10\n" dataUsingEncoding:NSASCIIStringEncoding]];
[commands appendBytes:"\x1d\x21\x19"
length:sizeof("\x1d\x21\x19") - 1];
[commands appendData:[@"ABCD11\n" dataUsingEncoding:NSASCIIStringEncoding]];
这给了我这个结果:
这是完全出乎意料的,至少对我来说是这样。谁能帮我理解这是如何工作的?我想要的最终输出是获得 ABCD9 的高度,但宽度成比例。
谢谢
最佳答案
我不知道那台打印机,但从你的示例输出来看,位 0-2 似乎定义了高度,第 4-6 位是字符的宽度(正好相反你描述的)。所以n
的位是
0www0hhh
字符串“ABCD9”用n =\x16 = 00010110
打印,对应高度 = 6(二进制 110
)和宽度 = 1(二进制 001
)。要获得 width = height = 6 打印的字符串,您需要
n = 01100110 = 0x66
因此
[commands appendBytes:"\x1d\x21\x66" length:3];
关于ios - 将字节命令发送到 Star Micronics SM-S220I 打印机,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20529078/
我是一名优秀的程序员,十分优秀!