153 lines
8.7 KiB
JavaScript
Raw Normal View History

2018-06-09 02:25:45 -06:00
module.exports = {
// Feed control sequences
CTL_LF : new Buffer([0x0a]), // Print and line feed
CTL_FF : new Buffer([0x0c]), // Form feed
CTL_CR : new Buffer([0x0d]), // Carriage return
CTL_HT : new Buffer([0x09]), // Horizontal tab
CTL_VT : new Buffer([0x0b]), // Vertical tab
CTL_SET_HT : new Buffer([0x1b, 0x44]), // Set horizontal tab positions
CTL_SET_VT : new Buffer([0x1b, 0x42]), // Set vertical tab positions
// Printer hardware
HW_INIT : new Buffer([0x1b, 0x40]), // Clear data in buffer and reset modes
HW_SELECT : new Buffer([0x1b, 0x3d, 0x01]), // Printer select
HW_RESET : new Buffer([0x1b, 0x3f, 0x0a, 0x00]), // Reset printer hardware
UPSIDE_DOWN_ON : new Buffer([0x0F]), // Upside down printing ON (rotated 180 degrees).
UPSIDE_DOWN_OFF : new Buffer([0x12]), // Upside down printing OFF (default).
// Cash Drawer
CD_KICK_2 : new Buffer([0x1b, 0x70, 0x00]), // Sends a pulse to pin 2 []
CD_KICK_5 : new Buffer([0x1b, 0x70, 0x01]), // Sends a pulse to pin 5 []
CD_KICK : new Buffer([0x1b, 0x07, 0x0b, 0x37, 0x07]), // Kick the cash drawer
// Paper
PAPER_FULL_CUT : new Buffer([0x1b, 0x64, 0x02]), // Full cut paper
PAPER_PART_CUT : new Buffer([0x1b, 0x64, 0x03]), // Partial cut paper
// Text format
TXT_NORMAL : new Buffer([0x1b, 0x69, 0x00, 0x00]), // Normal text
TXT_2HEIGHT : new Buffer([0x1b, 0x69, 0x01, 0x00]), // Double height text
TXT_2WIDTH : new Buffer([0x1b, 0x69, 0x00, 0x01]), // Double width text
TXT_4SQUARE : new Buffer([0x1b, 0x69, 0x01, 0x01]), // Quad area text
TXT_UNDERL_OFF : new Buffer([0x1b, 0x2d, 0x00]), // Underline font OFF
TXT_UNDERL_ON : new Buffer([0x1b, 0x2d, 0x01]), // Underline font 1-dot ON
TXT_UNDERL2_ON : new Buffer([0x1b, 0x2d, 0x02]), // Underline font 2-dot ON
TXT_BOLD_OFF : new Buffer([0x1b, 0x46]), // Bold font OFF
TXT_BOLD_ON : new Buffer([0x1b, 0x45]), // Bold font ON
TXT_INVERT_OFF : new Buffer([0x1b, 0x35]), // Invert font OFF (eg. white background)
TXT_INVERT_ON : new Buffer([0x1b, 0x34]), // Invert font ON (eg. black background)
TXT_FONT_A : new Buffer([0x1b, 0x1e, 0x46, 0x00]), // Font type A
TXT_FONT_B : new Buffer([0x1b, 0x1e, 0x46, 0x01]), // Font type B
TXT_ALIGN_LT : new Buffer([0x1b, 0x1d, 0x61, 0x00]), // Left justification
TXT_ALIGN_CT : new Buffer([0x1b, 0x1d, 0x61, 0x01]), // Centering
TXT_ALIGN_RT : new Buffer([0x1b, 0x1d, 0x61, 0x02]), // Right justification
// Char code table
CHARCODE_PC437 : new Buffer([0x1b, 0x1d, 0x74, 0x00]), // USA: Standard Europe
CHARCODE_JIS : new Buffer([0x1b, 0x1d, 0x74, 0x02]), // Japanese Katakana
CHARCODE_PC858 : new Buffer([0x1b, 0x1d, 0x74, 0x04]), // Multilingual
CHARCODE_PC860 : new Buffer([0x1b, 0x1d, 0x74, 0x06]), // Portuguese
CHARCODE_PC863 : new Buffer([0x1b, 0x1d, 0x74, 0x08]), // Canadian-French
CHARCODE_PC865 : new Buffer([0x1b, 0x1d, 0x74, 0x09]), // Nordic
CHARCODE_GREEK : new Buffer([0x1b, 0x1d, 0x74, 0x0f]), // Greek
CHARCODE_HEBREW : new Buffer([0x1b, 0x1d, 0x74, 0x0d]), // Hebrew
CHARCODE_PC1252 : new Buffer([0x1b, 0x1d, 0x74, 0x20]), // Western European Windows Code Set
CHARCODE_PC866 : new Buffer([0x1b, 0x1d, 0x74, 0x0a]), // Cirillic //2
CHARCODE_PC852 : new Buffer([0x1b, 0x1d, 0x74, 0x05]), // Latin 2
CHARCODE_THAI42 : new Buffer([0x1b, 0x1d, 0x74, 0x60]), // Thai character code 42
CHARCODE_THAI11 : new Buffer([0x1b, 0x1d, 0x74, 0x61]), // Thai character code 11
CHARCODE_THAI13 : new Buffer([0x1b, 0x1d, 0x74, 0x62]), // Thai character code 13
CHARCODE_THAI14 : new Buffer([0x1b, 0x1d, 0x74, 0x63]), // Thai character code 14
CHARCODE_THAI16 : new Buffer([0x1b, 0x1d, 0x74, 0x64]), // Thai character code 16
CHARCODE_THAI17 : new Buffer([0x1b, 0x1d, 0x74, 0x65]), // Thai character code 17
CHARCODE_THAI18 : new Buffer([0x1b, 0x1d, 0x74, 0x66]), // Thai character code 18
// Barcode format
BARCODE_TXT_OFF : new Buffer([0x1d, 0x48, 0x00]), // HRI barcode chars OFF
BARCODE_TXT_ABV : new Buffer([0x1d, 0x48, 0x01]), // HRI barcode chars above
BARCODE_TXT_BLW : new Buffer([0x1d, 0x48, 0x02]), // HRI barcode chars below
BARCODE_TXT_BTH : new Buffer([0x1d, 0x48, 0x03]), // HRI barcode chars both above and below
BARCODE_FONT_A : new Buffer([0x1d, 0x66, 0x00]), // Font type A for HRI barcode chars
BARCODE_FONT_B : new Buffer([0x1d, 0x66, 0x01]), // Font type B for HRI barcode chars
BARCODE_HEIGHT : new Buffer([0x1d, 0x68, 0x64]), // Barcode Height [1-255]
BARCODE_WIDTH : new Buffer([0x1d, 0x77, 0x03]), // Barcode Width [2-6]
BARCODE_UPC_A : new Buffer([0x1d, 0x6b, 0x00]), // Barcode type UPC-A
BARCODE_UPC_E : new Buffer([0x1d, 0x6b, 0x01]), // Barcode type UPC-E
BARCODE_EAN13 : new Buffer([0x1d, 0x6b, 0x02]), // Barcode type EAN13
BARCODE_EAN8 : new Buffer([0x1d, 0x6b, 0x03]), // Barcode type EAN8
BARCODE_CODE39 : new Buffer([0x1d, 0x6b, 0x04]), // Barcode type CODE39
BARCODE_ITF : new Buffer([0x1d, 0x6b, 0x05]), // Barcode type ITF
BARCODE_NW7 : new Buffer([0x1d, 0x6b, 0x06]), // Barcode type NW7
BARCODE_CODE128 : new Buffer([0x1b, 0x62, 0x36]), // Barcode type CODE128
BARCODE_CODE128_TEXT_1: new Buffer([0x01]), // No text
BARCODE_CODE128_TEXT_2: new Buffer([0x02]), // Text on bottom
BARCODE_CODE128_TEXT_3: new Buffer([0x03]), // No text inline
BARCODE_CODE128_TEXT_4: new Buffer([0x04]), // Text on bottom inline
BARCODE_CODE128_WIDTH_SMALL: new Buffer([0x31]), // Small
BARCODE_CODE128_WIDTH_MEDIUM: new Buffer([0x32]), // Medium
BARCODE_CODE128_WIDTH_LARGE: new Buffer([0x33]), // Large
// QR Code
QRCODE_MODEL1: new Buffer([0x1b, 0x1d, 0x79, 0x53, 0x30, 0x01]), // Model 1
QRCODE_MODEL2: new Buffer([0x1b, 0x1d, 0x79, 0x53, 0x30, 0x02]), // Model 2
QRCODE_CORRECTION_L: new Buffer([0x1b, 0x1d, 0x79, 0x53, 0x31, 0x00]), // Correction level: L - 7%
QRCODE_CORRECTION_M: new Buffer([0x1b, 0x1d, 0x79, 0x53, 0x31, 0x01]), // Correction level: M - 15%
QRCODE_CORRECTION_Q: new Buffer([0x1b, 0x1d, 0x79, 0x53, 0x31, 0x02]), // Correction level: Q - 25%
QRCODE_CORRECTION_H: new Buffer([0x1b, 0x1d, 0x79, 0x53, 0x31, 0x03]), // Correction level: H - 30%
QRCODE_CELLSIZE_1: new Buffer([0x1b, 0x1d, 0x79, 0x53, 0x32, 0x01]), // Cell size 1
QRCODE_CELLSIZE_2: new Buffer([0x1b, 0x1d, 0x79, 0x53, 0x32, 0x02]), // Cell size 2
QRCODE_CELLSIZE_3: new Buffer([0x1b, 0x1d, 0x79, 0x53, 0x32, 0x03]), // Cell size 3
QRCODE_CELLSIZE_4: new Buffer([0x1b, 0x1d, 0x79, 0x53, 0x32, 0x04]), // Cell size 4
QRCODE_CELLSIZE_5: new Buffer([0x1b, 0x1d, 0x79, 0x53, 0x32, 0x05]), // Cell size 5
QRCODE_CELLSIZE_6: new Buffer([0x1b, 0x1d, 0x79, 0x53, 0x32, 0x06]), // Cell size 6
QRCODE_CELLSIZE_7: new Buffer([0x1b, 0x1d, 0x79, 0x53, 0x32, 0x07]), // Cell size 7
QRCODE_CELLSIZE_8: new Buffer([0x1b, 0x1d, 0x79, 0x53, 0x32, 0x08]), // Cell size 8
QRCODE_CELLSIZE : new Buffer([0x1b, 0x1d, 0x79, 0x44, 0x31, 0x00]), // Cell size nL nH dk
QRCODE_PRINT: new Buffer([0x1b, 0x1d, 0x79, 0x50]), // Print QR code
// Image format
S_RASTER_N : new Buffer([0x1d, 0x76, 0x30, 0x00]), // Set raster image normal size
S_RASTER_2W : new Buffer([0x1d, 0x76, 0x30, 0x01]), // Set raster image double width
S_RASTER_2H : new Buffer([0x1d, 0x76, 0x30, 0x02]), // Set raster image double height
S_RASTER_Q : new Buffer([0x1d, 0x76, 0x30, 0x03]), // Set raster image quadruple
// Printing Density
PD_N50 : new Buffer([0x1d, 0x7c, 0x00]), // Printing Density -50%
PD_N37 : new Buffer([0x1d, 0x7c, 0x01]), // Printing Density -37.5%
PD_N25 : new Buffer([0x1d, 0x7c, 0x02]), // Printing Density -25%
PD_N12 : new Buffer([0x1d, 0x7c, 0x03]), // Printing Density -12.5%
PD_0 : new Buffer([0x1d, 0x7c, 0x04]), // Printing Density 0%
PD_P50 : new Buffer([0x1d, 0x7c, 0x08]), // Printing Density +50%
PD_P37 : new Buffer([0x1d, 0x7c, 0x07]), // Printing Density +37.5%
PD_P25 : new Buffer([0x1d, 0x7c, 0x06]), // Printing Density +25%
specialCharacters: {
"Č": 172,
"č": 159,
"Š": 230,
"š": 231,
"Ž": 166,
"ž": 167,
"Đ": 209,
"đ": 208,
"Ć": 143,
"ć": 134,
"ß": 225,
"ẞ": 225,
"ö": 148,
"Ö": 153,
"Ä": 142,
"ä": 132,
"ü": 129,
"Ü": 154,
"é": 130
}
}