The issue is determined by the fact that the generic driver cannot use the
^CI28 command to set the international character set because:
- The generic driver uses, by default, the Codepage 1250.
- The generic driver is not compatible with the UTF-8 formatting for Unicode characters.
It is possible to print Cyrillic characters with a generic driver, but it is quite a convoluted process.
Procedure:
- You must use the Codepage 1251, defined by the command ^CI33.
- You cannot directly type the Cyrillic characters in the notepad because they would trigger the corresponding Unicode values in Codepage 1251 and, eventually, print nothing (because most values would correspond to nothing in Codepage 1251). The only way to reliably print Cyrillic characters is to use the corresponding hexadecimal values.
- The command to set the printer to interpret hexadecimal values is ^FH.
- The table for the hexadecimal values of Cyrillic characters according to the Codepage 1251 is at the following link.
- Here follows an example of the code to print Cyrillic characters with a generic driver:
^XA^CI33^CWX,E:TT0003M_.FNT^FS
^FO50,50^AXN,50,50^FH_^FD_C0_C1_C2_C3_E0_E1_E2_E3^FS^XZWhich prints the following label:
| NOTE The command ^CW assigns a letter to a font to recall such font with the same letter as a parameter of the command ^A. It is used for practicality, but it is no different than declaring the font with @. |