I bought a thermal receipt printer from Amazon which supports Windows-1258 for Vietnamese. But unlike Unicode with precomposed characters, most Vietnamese symbols are not present in the 1258 codepage. For example, Ả ả Ã ã Ạ ạ Ắ ắ Ằ ằ Ẳ ẳ Ẵ ẵ Ặ ặ Ấ ấ Ầ ầ Ẩ ẩ Ẫ ẫ Ậ ậ Ẻ ẻ Ẽ ẽ Ẹ ẹ Ế ế Ề ề Ể ể Ễ ễ Ệ ệ, etc.
How can I print these non-precomposed characters using the ESC/POS commands? I was thinking to move the printing cursor backward and then superimposing/overlaying the accent on top. But even though this maybe possible it seems to be too tedious. I am looking for a more elegant solution.
You must use user-defined characters which are defined using the ESC & command. The full description of the command is found in the ESC/POS Application Programming Guide (APG).
Once defined, switch to user defined character set whenever you want to print such a character.
Also not that not all ESC/POS printers support user-defined characters, e.g. the Epson TM-T60 does not.
Hope this helps.