Unicode; Unicode Encoding; 217 - TransAct Epic 3000 Programmer's Manual

Table of Contents

Advertisement

T480 Programmer's Guide

Unicode

As computer systems started to address more and more international environments, the
classic ASCII standard with code pages became unworkable. Several competing
systems were developed. however it was clear that a standard needed to be developed.
In 1991 Version 1.0 of the Unicode standard was developed, to standardize how and
where characters are to be addressed in an expanded addressing scheme. In 2006
Version 5.0 of the Unicode standard was published and generally accepted. The EPIC
3000 follows this standard for character placement and encoding and Unicode
addresses from 0 to 1114111 (0x00 to 0x010FFFF) are supported by the EPIC 3000
Printer.
Note: If a custom font is used that is not in Unicode order, the order of
the font will be used as if it were in Unicode order. Any subsequent
character mappings will assume to font is in Unicode order and may not
produce the desired effects.

Unicode Encoding

The EPIC 3000 Printer supports Unicode character addressing using Unicode
Transform Format or UTF as defined in the Version 5.0 Unicode Specification. There
are several forms of UTF encoding, UTF32 big and little-endian, UTF16 big and little
endian and UTF8.
UTF-32
UTF-32 is a straight forward although not very efficient way to access characters above
255. UTF-32 essentially sends four 8-bit bytes that form a 32-bit address to access the
desired character. Basic UTF-32 does not define the byte order. If you wish to use
UTF-32 and allow the printer to determine the byte order, you must send the byte order
mark (BOM) (0x0000FEFF) before you send any characters. It is difficult to prevent loss
of byte order synchronization with UTF32 however, sending the BOM periodically can
sometimes resynchronize the 8bit byte to the 32bit address. If UTF-32 is selected, all
data sent to the printer must be 32 bits. All commands and command parameters are
also 32 bit, however only values between 0 and 255 are valid. This makes UTF32 rather
inefficient.
UTF-32BE uses the big-endian method of sending the four bytes. This method sends the
high byte first and then the low byte. It is not required to send the byte order mark
(BOM) (0x0000FEFF) for the correct byte order to be initialized. Sending the BOM in
big-endian would be as follows:
0x00 0x00 0xFE 0xFF
UTF-32LE uses the little-endian method of sending the four bytes. This method sends
the low byte first and then the high byte. It is not required to send the byte order mark
(BOM) (0x0000FEFF) for the correct byte order to be initialized. Sending the BOM in
little-endian would be as follows:
0xFF 0xFE 0x00 0x00
100-14362
T480 Extended Printer Control
Rev A
Page 217

Advertisement

Table of Contents
loading

Table of Contents