Star micronics mpop iOS SDK - Save and print a character using the blank code page

一个人想着一个人 提交于 2019-12-14 00:26:16

问题


I have the star micronics mpop. I have read the documentation (http://www.starmicronics.com/support/mannualfolder/starprnt_cm_en.pdf) Section 2-8 states that you can write to the blank code page. I have followed these instructions but I am still unable to get it to print as intended. I contacted support but they basically told me to use trial and error as they didn't know.

It always seems to prints a string of characters. Below is the sample code I am using, just for testing i'm sending a solid block for font A and zero data for font B.

[commands appendBytes:
         "\x1b\x1d\x3d\x00\x30"
         "\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00"
         "\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00"
         "\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00"
         "\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00"
         "\xff\x00\xff\x00\xff\x00\xff\x00"
         "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
         "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
         "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
         "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
         "\x00\x00\x00\x00\x00\x00\x00\x00"
         "\x1b\x1d\x74\xff\x80"
                                         length:sizeof("\x1b\x1d\x3d\x00\x30"
                                                         "\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00"
                                                         "\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00"
                                                         "\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00"
                                                         "\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00"
                                                         "\xff\x00\xff\x00\xff\x00\xff\x00"
                                                         "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
                                                         "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
                                                         "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
                                                         "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
                                                         "\x00\x00\x00\x00\x00\x00\x00\x00"
                                                         "\x1b\x1d\x74\xff\x80")-1];

Any help to get this working would be greatly appreciated.


回答1:


I have finally managed to get this to work using the command ESC GS = n1 n2 da1 da2... to save a character and the command Esc % = n to print the character.

The example below will save a character to position 7F on the blank code page. This should be done at the start of each app startup as it is stored in RAM, not NV.

[commands appendBytes:
         "\x1b\x26\x01\x01\x7f" //Save the following to position 7F
         "\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00"
         "\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00"
         "\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00"
         "\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00"
         "\xff\x00\xff\x00\xff\x00\xff\x00" //end of character
         "\x1b\x25\x01\x7f" //Print the character
length:sizeof("\x1b\x26\x01\x01\x7f"
         "\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00"
         "\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00"
         "\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00"
         "\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00"
         "\xff\x00\xff\x00\xff\x00\xff\x00"
         "\x1b\x25\x01\x7f")-1];

It is also a good idea to switch back to the normal code page after this otherwise you will have some weird side effects. This can be done using using the command Esc GS t n. Where n = 0.

[commands appendBytes:
         "\x1b\x1d\x74\x00" //Switch back to normal code page
length:sizeof("\x1b\x1d\x74\x00")-1];


来源:https://stackoverflow.com/questions/39041943/star-micronics-mpop-ios-sdk-save-and-print-a-character-using-the-blank-code-pa

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!