gpt4 book ai didi

ios - 将字节命令发送到 Star Micronics SM-S220I 打印机

转载 作者:行者123 更新时间:2023-11-28 22:20:36 25 4
gpt4 key购买 nike

我正在努力弄清楚它是如何工作的。我想更改工单中特定单词的字体大小。

在手册上,它说可以使用以下命令更改字符大小:

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]];

这给了我这个结果:

enter image description here

这是完全出乎意料的,至少对我来说是这样。谁能帮我理解这是如何工作的?我想要的最终输出是获得 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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com