use crate::*;
#[derive(Debug, Copy, Clone)]
#[non_exhaustive]
#[allow(non_camel_case_types)]
pub enum Encoding {
#[doc = "Unimplemented Star-specific CP1001"] CP1001,
#[doc = "CP1098"] CP1098,
#[doc = "CP1125"] CP1125,
#[doc = "CP1250"] CP1250,
#[doc = "CP1251"] CP1251,
#[doc = "CP1252"] CP1252,
#[doc = "CP1253"] CP1253,
#[doc = "CP1254"] CP1254,
#[doc = "CP1255"] CP1255,
#[doc = "CP1256"] CP1256,
#[doc = "CP1257"] CP1257,
#[doc = "CP1258"] CP1258,
#[doc = "Unimplemented Star-specific CP2001"] CP2001,
#[doc = "Unimplemented Star-specific CP3001"] CP3001,
#[doc = "Unimplemented Star-specific CP3002"] CP3002,
#[doc = "CP3011 Latvian"] CP3011,
#[doc = "CP3012 Cyrillic"] CP3012,
#[doc = "Unimplemented Star-specific CP3021"] CP3021,
#[doc = "Unimplemented Star-specific CP3041"] CP3041,
#[doc = "Unimplemented Star-specific CP3840"] CP3840,
#[doc = "Unimplemented Star-specific CP3841"] CP3841,
#[doc = "Unimplemented Star-specific CP3843"] CP3843,
#[doc = "Unimplemented Star-specific CP3844"] CP3844,
#[doc = "Unimplemented Star-specific CP3845"] CP3845,
#[doc = "Unimplemented Star-specific CP3846"] CP3846,
#[doc = "Unimplemented Star-specific CP3847"] CP3847,
#[doc = "Unimplemented Star-specific CP3848"] CP3848,
#[doc = "CP437"] CP437,
#[doc = "CP720"] CP720,
#[doc = "CP737"] CP737,
#[doc = "CP747"] CP747,
#[doc = "CP772"] CP772,
#[doc = "CP774"] CP774,
#[doc = "CP775"] CP775,
#[doc = "CP850"] CP850,
#[doc = "Greek CP851\n\nNot used, due to inconsistencies between implementations."] CP851,
#[doc = "CP852"] CP852,
#[doc = "CP853"] CP853,
#[doc = "CP855"] CP855,
#[doc = "CP856"] CP856,
#[doc = "CP857"] CP857,
#[doc = "CP858"] CP858,
#[doc = "CP860"] CP860,
#[doc = "CP861"] CP861,
#[doc = "CP862"] CP862,
#[doc = "CP863"] CP863,
#[doc = "CP864"] CP864,
#[doc = "CP865"] CP865,
#[doc = "CP866"] CP866,
#[doc = "CP869"] CP869,
#[doc = "CP874"] CP874,
#[doc = "CP928"] CP928,
#[doc = "CP932"] CP932,
#[doc = "ISO_8859-1"] ISO_8859_1,
#[doc = "ISO_8859-15"] ISO_8859_15,
#[doc = "ISO_8859-2"] ISO_8859_2,
#[doc = "ISO_8859-3"] ISO_8859_3,
#[doc = "ISO_8859-4"] ISO_8859_4,
#[doc = "ISO_8859-5"] ISO_8859_5,
#[doc = "ISO_8859-6"] ISO_8859_6,
#[doc = "ISO_8859-7"] ISO_8859_7,
#[doc = "ISO_8859-8"] ISO_8859_8,
#[doc = "ISO_8859-9"] ISO_8859_9,
#[doc = "Katakana (codepage 1)"] KATAKANA,
#[doc = "Oxhoo-specific European"] OXHOO_EUROPEAN,
#[doc = "RK1048"] RK1048,
#[doc = "Vietnamese TCVN-3 1"] TCVN_3_1,
#[doc = "Vietnamese TCVN-3 1"] TCVN_3_2,
#[doc = "Unknown\n\nCode page that has not yet been identified."] UNKNOWN,
}
pub(crate) fn encoding_data(enc: Encoding) -> Option<&'static [char; 128]> {
match enc {
Encoding::CP3011 => Some(&['Ç', 'ü', 'é', 'â', 'ä', 'à', 'å', 'ç', 'ê', 'ë', 'è', 'ï', 'î', 'ì', 'Ä', 'Å', 'É', 'æ', 'Æ', 'ô', 'ö', 'ò', 'û', 'ù', 'ÿ', 'Ö', 'Ü', '¢', '£', '¥', '₧', 'ƒ', 'á', 'í', 'ó', 'ú', 'ñ', 'Ñ', 'ª', 'º', '¿', '⌐', '¬', '½', '¼', '¡', '«', '»', '░', '▒', '▓', '│', '┤', 'Ā', '╢', 'ņ', '╕', '╣', '║', '╗', '╝', '╜', '╛', '┐', '└', '┴', '┬', '├', '─', '┼', 'ā', '╟', '╚', '╔', '╩', '╦', '╠', '═', '╬', '╧', 'Š', '╤', 'č', 'Č', '╘', '╒', 'ģ', 'Ī', 'ī', '┘', '┌', '█', '▄', 'ū', 'Ū', '▀', 'α', 'ß', 'Γ', 'π', 'Σ', 'σ', 'µ', 'τ', 'Φ', 'Θ', 'Ω', 'δ', '∞', 'φ', 'ε', '∩', 'Ē', 'ē', 'Ģ', 'ķ', 'Ķ', 'ļ', 'Ļ', 'ž', 'Ž', '∙', '·', '√', 'Ņ', 'š', '■', ' ']),
Encoding::CP3012 => Some(&['А', 'Б', 'В', 'Г', 'Д', 'Е', 'Ж', 'З', 'И', 'Й', 'К', 'Л', 'М', 'Н', 'О', 'П', 'Р', 'С', 'Т', 'У', 'Ф', 'Х', 'Ц', 'Ч', 'Ш', 'Щ', 'Ъ', 'Ы', 'Ь', 'Э', 'Ю', 'Я', 'а', 'б', 'в', 'г', 'д', 'е', 'ж', 'з', 'и', 'й', 'к', 'л', 'м', 'н', 'о', 'п', '░', '▒', '▓', '│', '┤', 'Ā', '╢', 'ņ', '╕', '╣', '║', '╗', '╝', 'Ō', '╛', '┐', '└', '┴', '┬', '├', '─', '┼', 'ā', '╟', '╚', '╔', '╩', '╦', '╠', '═', '╬', '╧', 'Š', '╤', 'č', 'Č', '╘', '╒', 'ģ', 'Ī', 'ī', '┘', '┌', '█', '▄', 'ū', 'Ū', '▀', 'р', 'с', 'т', 'у', 'ф', 'х', 'ц', 'ч', 'ш', 'щ', 'ъ', 'ы', 'ь', 'э', 'ю', 'я', 'Ē', 'ē', 'Ģ', 'ķ', 'Ķ', 'ļ', 'Ļ', 'ž', 'Ž', '∙', '·', '√', 'Ņ', 'š', '■', ' ']),
Encoding::KATAKANA => Some(&['▁', '▂', '▃', '▄', '▅', '▆', '▇', '█', '▏', '▎', '▍', '▌', '▋', '▊', '▉', '┼', '┴', '┬', '┤', '├', '¯', '─', '│', '▕', '┌', '┐', '└', '┘', '╭', '╮', '╰', '╯', ' ', '。', '「', '」', '、', '・', 'ヲ', 'ァ', 'ィ', 'ゥ', 'ェ', 'ォ', 'ャ', 'ュ', 'ョ', 'ッ', 'ー', 'ア', 'イ', 'ウ', 'エ', 'オ', 'カ', 'キ', 'ク', 'ケ', 'コ', 'サ', 'シ', 'ス', 'セ', 'ソ', 'タ', 'チ', 'ツ', 'テ', 'ト', 'ナ', 'ニ', 'ヌ', 'ネ', 'ノ', 'ハ', 'ヒ', 'フ', 'ヘ', 'ホ', 'マ', 'ミ', 'ム', 'メ', 'モ', 'ヤ', 'ユ', 'ヨ', 'ラ', 'リ', 'ル', 'レ', 'ロ', 'ワ', 'ン', '\u{ff9e}', '\u{ff9f}', '═', '╞', '╪', '╡', '◢', '◣', '◥', '◤', '♠', '♥', '♦', '♣', '●', '○', '╱', '╲', '╳', '円', '年', '月', '日', '時', '分', '秒', '〒', '市', '区', '町', '村', '人', '▓', '\u{a0}']),
Encoding::OXHOO_EUROPEAN => Some(&['Ç', 'ü', 'é', 'â', 'ä', 'à', 'å', 'ç', 'ê', 'ë', 'è', 'ï', 'î', 'ì', 'Ä', 'Å', 'É', 'æ', 'Æ', 'ô', 'ö', 'ò', 'û', 'ù', 'ÿ', 'Ö', 'Ü', 'ñ', 'Ñ', 'ª', 'º', '¿', 'á', 'í', 'ó', 'ú', '¢', '£', '¥', '₧', 'ƒ', '¡', 'Ã', 'ã', 'Õ', 'õ', 'Ø', 'ø', '·', '¨', '°', '`', '´', '½', '¼', '×', '÷', '≤', '≥', '«', '»', '≠', '√', '¯', '⌠', '⌡', '∞', '◤', '↵', '↑', '↓', '→', '←', '┌', '┐', '└', '┘', '•', '®', '©', '™', '†', '§', '¶', 'Γ', '◢', 'Θ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', 'ß', ' ', ' ', ' ', 'ε', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', 'τ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ']),
Encoding::TCVN_3_1 => Some(&[' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', 'ă', 'â', 'ê', 'ô', 'ơ', 'ư', 'đ', ' ', ' ', ' ', ' ', ' ', ' ', 'à', 'ả', 'ã', 'á', 'ạ', ' ', 'ằ', 'ẳ', 'ẵ', 'ắ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', 'ặ', 'ầ', 'ẩ', 'ẫ', 'ấ', 'ậ', 'è', ' ', 'ẻ', 'ẽ', 'é', 'ẹ', 'ề', 'ể', 'ễ', 'ế', 'ệ', 'ì', 'ỉ', ' ', ' ', ' ', 'ĩ', 'í', 'ị', 'ò', ' ', 'ỏ', 'õ', 'ó', 'ọ', 'ồ', 'ổ', 'ỗ', 'ố', 'ộ', 'ờ', 'ở', 'ỡ', 'ớ', 'ợ', 'ù', ' ', 'ủ', 'ũ', 'ú', 'ụ', 'ừ', 'ử', 'ữ', 'ứ', 'ự', 'ỳ', 'ỷ', 'ỹ', 'ý', 'ỵ', ' ']),
Encoding::TCVN_3_2 => Some(&[' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', 'Ă', 'Â', ' ', ' ', ' ', ' ', 'Ð', ' ', ' ', 'Ê', 'Ô', 'Ơ', 'Ư', ' ', ' ', ' ', ' ', ' ', ' ', ' ', 'À', 'Ả', 'Ã', 'Á', 'Ạ', ' ', 'Ằ', 'Ẳ', 'Ẵ', 'Ắ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', 'Ặ', 'Ầ', 'Ẩ', 'Ẫ', 'Ấ', 'Ậ', 'È', ' ', 'Ẻ', 'Ẽ', 'É', 'Ẹ', 'Ề', 'Ể', 'Ễ', 'Ế', 'Ệ', 'Ì', 'Ỉ', ' ', ' ', ' ', 'Ĩ', 'Í', 'Ị', 'Ò', ' ', 'Ỏ', 'Õ', 'Ó', 'Ọ', 'Ồ', 'Ổ', 'Ỗ', 'Ố', 'Ộ', 'Ờ', 'Ở', 'Ỡ', 'Ớ', 'Ợ', 'Ù', ' ', 'Ủ', 'Ũ', 'Ú', 'Ụ', 'Ừ', 'Ử', 'Ữ', 'Ứ', 'Ự', 'Ỳ', 'Ỷ', 'Ỹ', 'Ý', 'Ỵ', ' ']),
_ => None,
}
}
bitflags::bitflags! { #[derive(Copy, Clone, Debug, Default)] pub(crate) struct FeaturesInner: u32 {
const BARCODE_A = 1;
const BARCODE_B = 2;
const BIT_IMAGE_COLUMN = 4;
const BIT_IMAGE_RASTER = 8;
const GRAPHICS = 16;
const HIGH_DENSITY = 32;
const PAPER_FULL_CUT = 64;
const PAPER_PART_CUT = 128;
const PDF417_CODE = 256;
const PULSE_BEL = 512;
const PULSE_STANDARD = 1024;
const QR_CODE = 2048;
const STAR_COMMANDS = 4096;
} }
impl Features {
#[doc = "Check if the `barcodeA` feature is supported."]
pub fn barcode_a(&self) -> bool {
self.0.contains(FeaturesInner::BARCODE_A)
}
#[doc = "Check if the `barcodeB` feature is supported."]
pub fn barcode_b(&self) -> bool {
self.0.contains(FeaturesInner::BARCODE_B)
}
#[doc = "Check if the `bitImageColumn` feature is supported."]
pub fn bit_image_column(&self) -> bool {
self.0.contains(FeaturesInner::BIT_IMAGE_COLUMN)
}
#[doc = "Check if the `bitImageRaster` feature is supported."]
pub fn bit_image_raster(&self) -> bool {
self.0.contains(FeaturesInner::BIT_IMAGE_RASTER)
}
#[doc = "Check if the `graphics` feature is supported."]
pub fn graphics(&self) -> bool {
self.0.contains(FeaturesInner::GRAPHICS)
}
#[doc = "Check if the `highDensity` feature is supported."]
pub fn high_density(&self) -> bool {
self.0.contains(FeaturesInner::HIGH_DENSITY)
}
#[doc = "Check if the `paperFullCut` feature is supported."]
pub fn paper_full_cut(&self) -> bool {
self.0.contains(FeaturesInner::PAPER_FULL_CUT)
}
#[doc = "Check if the `paperPartCut` feature is supported."]
pub fn paper_part_cut(&self) -> bool {
self.0.contains(FeaturesInner::PAPER_PART_CUT)
}
#[doc = "Check if the `pdf417Code` feature is supported."]
pub fn pdf417_code(&self) -> bool {
self.0.contains(FeaturesInner::PDF417_CODE)
}
#[doc = "Check if the `pulseBel` feature is supported."]
pub fn pulse_bel(&self) -> bool {
self.0.contains(FeaturesInner::PULSE_BEL)
}
#[doc = "Check if the `pulseStandard` feature is supported."]
pub fn pulse_standard(&self) -> bool {
self.0.contains(FeaturesInner::PULSE_STANDARD)
}
#[doc = "Check if the `qrCode` feature is supported."]
pub fn qr_code(&self) -> bool {
self.0.contains(FeaturesInner::QR_CODE)
}
#[doc = "Check if the `starCommands` feature is supported."]
pub fn star_commands(&self) -> bool {
self.0.contains(FeaturesInner::STAR_COMMANDS)
}
}
impl Features {
pub const fn new() -> Self {
Self(FeaturesInner::empty())
}
#[doc = "Set the `barcodeA` feature to be on or off."]
pub fn with_barcode_a(self, on: bool) -> Self {
self._with(FeaturesInner::BARCODE_A, on)
}
#[doc = "Set the `barcodeB` feature to be on or off."]
pub fn with_barcode_b(self, on: bool) -> Self {
self._with(FeaturesInner::BARCODE_B, on)
}
#[doc = "Set the `bitImageColumn` feature to be on or off."]
pub fn with_bit_image_column(self, on: bool) -> Self {
self._with(FeaturesInner::BIT_IMAGE_COLUMN, on)
}
#[doc = "Set the `bitImageRaster` feature to be on or off."]
pub fn with_bit_image_raster(self, on: bool) -> Self {
self._with(FeaturesInner::BIT_IMAGE_RASTER, on)
}
#[doc = "Set the `graphics` feature to be on or off."]
pub fn with_graphics(self, on: bool) -> Self {
self._with(FeaturesInner::GRAPHICS, on)
}
#[doc = "Set the `highDensity` feature to be on or off."]
pub fn with_high_density(self, on: bool) -> Self {
self._with(FeaturesInner::HIGH_DENSITY, on)
}
#[doc = "Set the `paperFullCut` feature to be on or off."]
pub fn with_paper_full_cut(self, on: bool) -> Self {
self._with(FeaturesInner::PAPER_FULL_CUT, on)
}
#[doc = "Set the `paperPartCut` feature to be on or off."]
pub fn with_paper_part_cut(self, on: bool) -> Self {
self._with(FeaturesInner::PAPER_PART_CUT, on)
}
#[doc = "Set the `pdf417Code` feature to be on or off."]
pub fn with_pdf417_code(self, on: bool) -> Self {
self._with(FeaturesInner::PDF417_CODE, on)
}
#[doc = "Set the `pulseBel` feature to be on or off."]
pub fn with_pulse_bel(self, on: bool) -> Self {
self._with(FeaturesInner::PULSE_BEL, on)
}
#[doc = "Set the `pulseStandard` feature to be on or off."]
pub fn with_pulse_standard(self, on: bool) -> Self {
self._with(FeaturesInner::PULSE_STANDARD, on)
}
#[doc = "Set the `qrCode` feature to be on or off."]
pub fn with_qr_code(self, on: bool) -> Self {
self._with(FeaturesInner::QR_CODE, on)
}
#[doc = "Set the `starCommands` feature to be on or off."]
pub fn with_star_commands(self, on: bool) -> Self {
self._with(FeaturesInner::STAR_COMMANDS, on)
}
}
#[doc = "AF-240 Customer Display profile\n\nThis is a two-line, ESC/POS-aware customer display from Oxhoo. The ESC/POS command mode can be activated persistently by sending:\n\n echo -ne \"\\n\\x02\\x05\\x43\\x31\\x03\" > /dev/ttyUSB0\n"]
pub static AF_240: Profile = Profile {
name: Cow::Borrowed("AF-240 Customer Display"),
vendor: Cow::Borrowed("Oxhoo"),
features: Features(FeaturesInner::empty()),
code_pages: Cow::Borrowed(IntMap::from_entries(&[
(0, Encoding::OXHOO_EUROPEAN),
])),
colors: Cow::Borrowed(IntMap::from_entries(&[
(0, Color::Black),
])),
fonts: Cow::Borrowed(IntMap::from_entries(&[
(0, FontInfo { columns: 20 }),
])),
media: Media { dpi: None, width: Some(Width { mm: 120.0, px: 100 }) },
};
#[doc = "CT-S651 profile\n\nCitizen CT-S651 profile. This is a two-color thermal printer, supporting paper sizes from 58mm up to 83mm\n"]
pub static CT_S651: Profile = Profile {
name: Cow::Borrowed("CT-S651"),
vendor: Cow::Borrowed("Citizen"),
features: Features(FeaturesInner::empty().union(FeaturesInner::BARCODE_A).union(FeaturesInner::BARCODE_B).union(FeaturesInner::BIT_IMAGE_COLUMN).union(FeaturesInner::BIT_IMAGE_RASTER).union(FeaturesInner::GRAPHICS).union(FeaturesInner::HIGH_DENSITY).union(FeaturesInner::PAPER_FULL_CUT).union(FeaturesInner::PAPER_PART_CUT).union(FeaturesInner::PDF417_CODE).union(FeaturesInner::PULSE_BEL).union(FeaturesInner::PULSE_STANDARD).union(FeaturesInner::QR_CODE)),
code_pages: Cow::Borrowed(IntMap::from_entries(&[
(0, Encoding::CP437),
(1, Encoding::CP932),
(2, Encoding::CP850),
(3, Encoding::CP860),
(4, Encoding::CP863),
(5, Encoding::CP865),
(6, Encoding::CP852),
(7, Encoding::CP866),
(8, Encoding::CP857),
(9, Encoding::CP1252),
(16, Encoding::CP1252),
(17, Encoding::CP866),
(18, Encoding::CP852),
(19, Encoding::CP858),
(20, Encoding::UNKNOWN),
(21, Encoding::UNKNOWN),
(25, Encoding::UNKNOWN),
(26, Encoding::UNKNOWN),
(30, Encoding::TCVN_3_1),
(31, Encoding::TCVN_3_2),
(40, Encoding::CP864),
(255, Encoding::UNKNOWN),
])),
colors: Cow::Borrowed(IntMap::from_entries(&[
(0, Color::Black),
(1, Color::Red),
])),
fonts: Cow::Borrowed(IntMap::from_entries(&[
(0, FontInfo { columns: 48 }),
(1, FontInfo { columns: 64 }),
(2, FontInfo { columns: 72 }),
])),
media: Media { dpi: Some(203), width: Some(Width { mm: 80.0, px: 640 }) },
};
#[doc = "ITPP047 profile\n\nMunbyn ITPP047/ITPP102 receipt printer with cutter.\nThis printer has all the standard features, but a somewhat reduced codepage set. This profile might work for other china printers (Meihengtong, ...), too.\nFor technical information, go to support.munbyn.com, look for \"Printer - Drivers / SDK\", then download the \"ITPP047 SDK\", which contains the \"ITPP047 Program Manual\".\n"]
pub static ITPP047: Profile = Profile {
name: Cow::Borrowed("ITPP047"),
vendor: Cow::Borrowed("Munbyn"),
features: Features(FeaturesInner::empty().union(FeaturesInner::BARCODE_A).union(FeaturesInner::BARCODE_B).union(FeaturesInner::BIT_IMAGE_COLUMN).union(FeaturesInner::BIT_IMAGE_RASTER).union(FeaturesInner::GRAPHICS).union(FeaturesInner::HIGH_DENSITY).union(FeaturesInner::PAPER_FULL_CUT).union(FeaturesInner::PAPER_PART_CUT).union(FeaturesInner::PDF417_CODE).union(FeaturesInner::PULSE_STANDARD).union(FeaturesInner::QR_CODE)),
code_pages: Cow::Borrowed(IntMap::from_entries(&[
(0, Encoding::CP437),
(1, Encoding::CP932),
(2, Encoding::CP850),
(3, Encoding::CP860),
(4, Encoding::CP863),
(5, Encoding::CP865),
(6, Encoding::CP1252),
(7, Encoding::UNKNOWN),
(8, Encoding::UNKNOWN),
(9, Encoding::UNKNOWN),
(10, Encoding::UNKNOWN),
(16, Encoding::UNKNOWN),
(17, Encoding::CP866),
(18, Encoding::CP852),
(19, Encoding::CP858),
(20, Encoding::UNKNOWN),
(21, Encoding::UNKNOWN),
])),
colors: Cow::Borrowed(IntMap::from_entries(&[
(0, Color::Black),
])),
fonts: Cow::Borrowed(IntMap::from_entries(&[
(0, FontInfo { columns: 42 }),
(1, FontInfo { columns: 56 }),
])),
media: Media { dpi: None, width: Some(Width { mm: 80.0, px: 512 }) },
};
#[doc = "KR-306 profile\n\nKefar KR-306 printer with 200mm/s speed\n"]
pub static KR_306: Profile = Profile {
name: Cow::Borrowed("KR-306"),
vendor: Cow::Borrowed("Kefar"),
features: Features(FeaturesInner::empty().union(FeaturesInner::BARCODE_A).union(FeaturesInner::BARCODE_B).union(FeaturesInner::BIT_IMAGE_COLUMN).union(FeaturesInner::BIT_IMAGE_RASTER).union(FeaturesInner::HIGH_DENSITY).union(FeaturesInner::PAPER_FULL_CUT).union(FeaturesInner::PAPER_PART_CUT).union(FeaturesInner::PDF417_CODE).union(FeaturesInner::PULSE_STANDARD).union(FeaturesInner::QR_CODE)),
code_pages: Cow::Borrowed(IntMap::from_entries(&[
(0, Encoding::CP437),
(1, Encoding::KATAKANA),
(2, Encoding::CP850),
(3, Encoding::CP860),
(4, Encoding::CP863),
(5, Encoding::CP865),
(6, Encoding::UNKNOWN),
(7, Encoding::UNKNOWN),
(8, Encoding::UNKNOWN),
(9, Encoding::UNKNOWN),
(10, Encoding::UNKNOWN),
(11, Encoding::CP1252),
(12, Encoding::CP866),
(13, Encoding::CP852),
(14, Encoding::CP858),
(15, Encoding::UNKNOWN),
(16, Encoding::UNKNOWN),
(17, Encoding::UNKNOWN),
(18, Encoding::UNKNOWN),
(19, Encoding::CP747),
(20, Encoding::UNKNOWN),
(21, Encoding::UNKNOWN),
(22, Encoding::UNKNOWN),
(23, Encoding::CP864),
(24, Encoding::UNKNOWN),
(25, Encoding::UNKNOWN),
(26, Encoding::UNKNOWN),
(27, Encoding::CP1255),
(28, Encoding::CP437),
(29, Encoding::KATAKANA),
(30, Encoding::CP437),
(31, Encoding::CP858),
(32, Encoding::CP852),
(33, Encoding::CP860),
(34, Encoding::CP861),
(35, Encoding::CP863),
(36, Encoding::CP865),
(37, Encoding::CP866),
(38, Encoding::CP855),
(39, Encoding::CP857),
(40, Encoding::CP862),
(41, Encoding::CP864),
(42, Encoding::CP737),
(43, Encoding::CP851),
(44, Encoding::CP869),
(45, Encoding::CP928),
(46, Encoding::CP772),
(47, Encoding::CP774),
(48, Encoding::CP874),
(49, Encoding::CP1252),
(50, Encoding::CP1250),
(51, Encoding::CP1251),
(52, Encoding::CP3840),
(53, Encoding::CP3841),
(54, Encoding::CP3843),
(55, Encoding::CP3844),
(56, Encoding::CP3845),
(57, Encoding::CP3846),
(58, Encoding::CP3847),
(59, Encoding::CP3848),
(60, Encoding::CP1001),
(61, Encoding::CP2001),
(62, Encoding::CP3001),
(63, Encoding::CP3002),
(64, Encoding::CP3011),
(65, Encoding::CP3012),
(66, Encoding::CP3021),
(67, Encoding::CP3041),
(68, Encoding::CP852),
(69, Encoding::UNKNOWN),
(70, Encoding::CP1256),
])),
colors: Cow::Borrowed(IntMap::from_entries(&[
(0, Color::Black),
])),
fonts: Cow::Borrowed(IntMap::from_entries(&[
(0, FontInfo { columns: 48 }),
(1, FontInfo { columns: 64 }),
])),
media: Media { dpi: None, width: Some(Width { mm: 72.0, px: 576 }) },
};
#[doc = "NT-5890K profile\n\n"]
pub static NT_5890K: Profile = Profile {
name: Cow::Borrowed("NT-5890K"),
vendor: Cow::Borrowed("Netum"),
features: Features(FeaturesInner::empty().union(FeaturesInner::BIT_IMAGE_COLUMN).union(FeaturesInner::BIT_IMAGE_RASTER).union(FeaturesInner::HIGH_DENSITY).union(FeaturesInner::PULSE_STANDARD)),
code_pages: Cow::Borrowed(IntMap::from_entries(&[
(0, Encoding::CP437),
(1, Encoding::CP932),
(2, Encoding::CP850),
(3, Encoding::CP860),
(4, Encoding::CP863),
(5, Encoding::CP865),
(6, Encoding::UNKNOWN),
(7, Encoding::UNKNOWN),
(8, Encoding::UNKNOWN),
(9, Encoding::UNKNOWN),
(10, Encoding::UNKNOWN),
(16, Encoding::CP1252),
(17, Encoding::CP866),
(18, Encoding::CP852),
(19, Encoding::CP858),
(20, Encoding::UNKNOWN),
(21, Encoding::UNKNOWN),
(22, Encoding::UNKNOWN),
(23, Encoding::UNKNOWN),
(24, Encoding::CP747),
(25, Encoding::CP1257),
(27, Encoding::CP1258),
(28, Encoding::CP864),
(31, Encoding::UNKNOWN),
(32, Encoding::CP1255),
(50, Encoding::CP437),
(52, Encoding::CP437),
(53, Encoding::CP858),
(54, Encoding::CP852),
(55, Encoding::CP860),
(56, Encoding::CP861),
(57, Encoding::CP863),
(58, Encoding::CP865),
(59, Encoding::CP866),
(60, Encoding::CP855),
(61, Encoding::CP857),
(62, Encoding::CP862),
(63, Encoding::CP864),
(64, Encoding::CP737),
(65, Encoding::CP851),
(66, Encoding::CP869),
(68, Encoding::CP772),
(69, Encoding::CP774),
(71, Encoding::CP1252),
(72, Encoding::CP1250),
(73, Encoding::CP1251),
(74, Encoding::CP3840),
(76, Encoding::CP3843),
(77, Encoding::CP3844),
(78, Encoding::CP3845),
(79, Encoding::CP3846),
(80, Encoding::CP3847),
(81, Encoding::CP3848),
(83, Encoding::CP2001),
(84, Encoding::CP3001),
(85, Encoding::CP3002),
(86, Encoding::CP3011),
(87, Encoding::CP3012),
(88, Encoding::CP3021),
(89, Encoding::CP3041),
(90, Encoding::CP1253),
(91, Encoding::CP1254),
(92, Encoding::CP1256),
(93, Encoding::CP720),
(94, Encoding::CP1258),
(95, Encoding::CP775),
(96, Encoding::UNKNOWN),
(255, Encoding::UNKNOWN),
])),
colors: Cow::Borrowed(IntMap::from_entries(&[
(0, Color::Black),
])),
fonts: Cow::Borrowed(IntMap::from_entries(&[
(0, FontInfo { columns: 32 }),
(1, FontInfo { columns: 42 }),
])),
media: Media { dpi: Some(203), width: Some(Width { mm: 57.5, px: 384 }) },
};
#[doc = "80-V-UL profile\n\nNetum 80-V-UL thermal printer series.\n"]
pub static NT_80_V_UL: Profile = Profile {
name: Cow::Borrowed("80-V-UL"),
vendor: Cow::Borrowed("Netum"),
features: Features(FeaturesInner::empty().union(FeaturesInner::BARCODE_A).union(FeaturesInner::BARCODE_B).union(FeaturesInner::BIT_IMAGE_COLUMN).union(FeaturesInner::BIT_IMAGE_RASTER).union(FeaturesInner::GRAPHICS).union(FeaturesInner::HIGH_DENSITY).union(FeaturesInner::PAPER_FULL_CUT).union(FeaturesInner::PAPER_PART_CUT).union(FeaturesInner::PDF417_CODE).union(FeaturesInner::PULSE_STANDARD).union(FeaturesInner::QR_CODE)),
code_pages: Cow::Borrowed(IntMap::from_entries(&[
(0, Encoding::CP437),
(1, Encoding::UNKNOWN),
(2, Encoding::CP850),
(3, Encoding::CP860),
(4, Encoding::CP863),
(5, Encoding::CP865),
(6, Encoding::UNKNOWN),
(7, Encoding::UNKNOWN),
(8, Encoding::UNKNOWN),
(9, Encoding::UNKNOWN),
(10, Encoding::UNKNOWN),
(16, Encoding::CP1252),
(17, Encoding::CP866),
(18, Encoding::CP852),
(19, Encoding::CP858),
(20, Encoding::UNKNOWN),
(21, Encoding::UNKNOWN),
(22, Encoding::ISO_8859_6),
(23, Encoding::UNKNOWN),
(24, Encoding::CP747),
(25, Encoding::CP1257),
(27, Encoding::UNKNOWN),
(28, Encoding::CP864),
(31, Encoding::UNKNOWN),
(32, Encoding::CP1255),
(50, Encoding::CP437),
(52, Encoding::CP437),
(53, Encoding::CP858),
(54, Encoding::CP852),
(55, Encoding::CP860),
(56, Encoding::CP861),
(57, Encoding::CP863),
(58, Encoding::CP865),
(59, Encoding::CP866),
(60, Encoding::CP855),
(61, Encoding::CP857),
(62, Encoding::CP862),
(63, Encoding::CP864),
(64, Encoding::CP737),
(65, Encoding::CP851),
(66, Encoding::CP869),
(68, Encoding::CP772),
(69, Encoding::CP774),
(71, Encoding::CP1252),
(72, Encoding::CP1250),
(73, Encoding::CP1251),
(74, Encoding::CP3840),
(76, Encoding::CP3843),
(77, Encoding::CP3844),
(78, Encoding::CP3845),
(79, Encoding::CP3846),
(80, Encoding::CP3847),
(81, Encoding::CP3848),
(83, Encoding::CP2001),
(84, Encoding::CP3001),
(85, Encoding::CP3002),
(86, Encoding::CP3011),
(87, Encoding::CP3012),
(88, Encoding::CP3021),
(89, Encoding::CP3041),
(90, Encoding::CP1253),
(91, Encoding::CP1254),
(92, Encoding::CP1256),
(93, Encoding::CP720),
(94, Encoding::CP1258),
(95, Encoding::CP775),
(96, Encoding::UNKNOWN),
(255, Encoding::UNKNOWN),
])),
colors: Cow::Borrowed(IntMap::from_entries(&[
(0, Color::Black),
])),
fonts: Cow::Borrowed(IntMap::from_entries(&[
(0, FontInfo { columns: 12 }),
(1, FontInfo { columns: 9 }),
])),
media: Media { dpi: Some(203), width: Some(Width { mm: 80.0, px: 576 }) },
};
#[doc = "OCD-100 Customer Display profile\n\nThis is a two-line, ESC/POS-aware customer display from Aures. It has some graphics support via custom fonts, but is otherwise text-only. This profile is also suitable for the OCD-150 pole-mounted display.\n"]
pub static OCD_100: Profile = Profile {
name: Cow::Borrowed("OCD-100 Customer Display"),
vendor: Cow::Borrowed("Aures"),
features: Features(FeaturesInner::empty()),
code_pages: Cow::Borrowed(IntMap::from_entries(&[
(0, Encoding::CP437),
(1, Encoding::CP932),
(2, Encoding::CP850),
(3, Encoding::CP860),
(4, Encoding::CP863),
(5, Encoding::CP865),
(6, Encoding::UNKNOWN),
(7, Encoding::UNKNOWN),
(8, Encoding::UNKNOWN),
(9, Encoding::CP852),
(10, Encoding::CP862),
(11, Encoding::CP866),
(12, Encoding::CP1251),
(13, Encoding::CP1254),
(14, Encoding::CP1255),
(15, Encoding::CP1257),
(16, Encoding::CP1252),
(17, Encoding::CP1253),
(19, Encoding::CP858),
])),
colors: Cow::Borrowed(IntMap::from_entries(&[
(0, Color::Black),
])),
fonts: Cow::Borrowed(IntMap::from_entries(&[
(0, FontInfo { columns: 20 }),
])),
media: Media { dpi: None, width: Some(Width { mm: 180.0, px: 100 }) },
};
#[doc = "OCD-300 Customer Display profile\n\nThis is a two-line, ESC/POS-aware customer display from Aures. It has some graphics support via vendor-provided tools, but is otherwise text-only.\n"]
pub static OCD_300: Profile = Profile {
name: Cow::Borrowed("OCD-300 Customer Display"),
vendor: Cow::Borrowed("Aures"),
features: Features(FeaturesInner::empty()),
code_pages: Cow::Borrowed(IntMap::from_entries(&[
(0, Encoding::CP437),
(1, Encoding::CP932),
(2, Encoding::CP850),
(3, Encoding::CP860),
(4, Encoding::CP863),
(5, Encoding::CP865),
(6, Encoding::UNKNOWN),
(7, Encoding::UNKNOWN),
(8, Encoding::UNKNOWN),
(9, Encoding::CP852),
(10, Encoding::CP862),
(11, Encoding::CP866),
(12, Encoding::CP1251),
(13, Encoding::CP1254),
(14, Encoding::CP1255),
(15, Encoding::CP1257),
(16, Encoding::CP1252),
(17, Encoding::CP1253),
(18, Encoding::CP1250),
(19, Encoding::CP858),
(20, Encoding::UNKNOWN),
])),
colors: Cow::Borrowed(IntMap::from_entries(&[
(0, Color::Black),
])),
fonts: Cow::Borrowed(IntMap::from_entries(&[
(0, FontInfo { columns: 20 }),
])),
media: Media { dpi: None, width: Some(Width { mm: 130.2, px: 240 }) },
};
#[doc = "P822D profile\n\n"]
pub static P822D: Profile = Profile {
name: Cow::Borrowed("P822D"),
vendor: Cow::Borrowed("PBM"),
features: Features(FeaturesInner::empty().union(FeaturesInner::BARCODE_A).union(FeaturesInner::BARCODE_B).union(FeaturesInner::BIT_IMAGE_COLUMN).union(FeaturesInner::BIT_IMAGE_RASTER).union(FeaturesInner::HIGH_DENSITY).union(FeaturesInner::PAPER_FULL_CUT).union(FeaturesInner::PAPER_PART_CUT).union(FeaturesInner::PDF417_CODE).union(FeaturesInner::PULSE_STANDARD).union(FeaturesInner::QR_CODE)),
code_pages: Cow::Borrowed(IntMap::from_entries(&[
(0, Encoding::CP437),
(1, Encoding::KATAKANA),
(2, Encoding::CP850),
(3, Encoding::CP860),
(4, Encoding::CP863),
(5, Encoding::CP865),
(6, Encoding::UNKNOWN),
(7, Encoding::UNKNOWN),
(8, Encoding::UNKNOWN),
(9, Encoding::UNKNOWN),
(10, Encoding::UNKNOWN),
(16, Encoding::CP1252),
(17, Encoding::CP866),
(18, Encoding::CP852),
(19, Encoding::CP858),
(20, Encoding::UNKNOWN),
(21, Encoding::UNKNOWN),
(22, Encoding::UNKNOWN),
(23, Encoding::UNKNOWN),
(24, Encoding::CP747),
(25, Encoding::CP1257),
(27, Encoding::UNKNOWN),
(28, Encoding::CP864),
(29, Encoding::CP1001),
(30, Encoding::UNKNOWN),
(31, Encoding::UNKNOWN),
(32, Encoding::CP1255),
(33, Encoding::CP720),
(34, Encoding::CP1256),
(35, Encoding::CP1257),
(50, Encoding::CP437),
(51, Encoding::UNKNOWN),
(52, Encoding::CP437),
(53, Encoding::CP858),
(54, Encoding::CP852),
(55, Encoding::CP860),
(56, Encoding::CP861),
(57, Encoding::CP863),
(58, Encoding::CP865),
(59, Encoding::CP866),
(60, Encoding::CP855),
(61, Encoding::CP857),
(62, Encoding::CP862),
(63, Encoding::CP864),
(64, Encoding::CP737),
(65, Encoding::CP851),
(66, Encoding::CP869),
(67, Encoding::CP928),
(68, Encoding::CP772),
(69, Encoding::CP774),
(70, Encoding::CP874),
(71, Encoding::CP1252),
(72, Encoding::CP1250),
(73, Encoding::CP1251),
(74, Encoding::CP3840),
(75, Encoding::CP3841),
(76, Encoding::CP3843),
(77, Encoding::CP3844),
(78, Encoding::CP3845),
(79, Encoding::CP3846),
(80, Encoding::CP3847),
(81, Encoding::CP3848),
(82, Encoding::CP1001),
(83, Encoding::CP2001),
(84, Encoding::CP3001),
(85, Encoding::CP3002),
(86, Encoding::CP3011),
(87, Encoding::CP3012),
(88, Encoding::CP3021),
(89, Encoding::CP3041),
(255, Encoding::UNKNOWN),
])),
colors: Cow::Borrowed(IntMap::from_entries(&[
(0, Color::Black),
])),
fonts: Cow::Borrowed(IntMap::from_entries(&[
(0, FontInfo { columns: 42 }),
(1, FontInfo { columns: 56 }),
])),
media: Media { dpi: None, width: Some(Width { mm: 79.5, px: 576 }) },
};
#[doc = "POS5890 Series profile\n\nPOS-5890 thermal printer series, also marketed under various other names.\n"]
pub static POS_5890: Profile = Profile {
name: Cow::Borrowed("POS5890 Series"),
vendor: Cow::Borrowed("Zjiang"),
features: Features(FeaturesInner::empty().union(FeaturesInner::BIT_IMAGE_RASTER).union(FeaturesInner::HIGH_DENSITY).union(FeaturesInner::PULSE_STANDARD)),
code_pages: Cow::Borrowed(IntMap::from_entries(&[
(0, Encoding::CP437),
(1, Encoding::CP932),
(2, Encoding::CP850),
(3, Encoding::CP860),
(4, Encoding::CP863),
(5, Encoding::CP865),
(6, Encoding::UNKNOWN),
(7, Encoding::UNKNOWN),
(8, Encoding::UNKNOWN),
(9, Encoding::UNKNOWN),
(10, Encoding::UNKNOWN),
(16, Encoding::CP1252),
(17, Encoding::CP866),
(18, Encoding::CP852),
(19, Encoding::CP858),
(20, Encoding::UNKNOWN),
(21, Encoding::UNKNOWN),
(22, Encoding::UNKNOWN),
(23, Encoding::UNKNOWN),
(24, Encoding::CP747),
(25, Encoding::CP1257),
(27, Encoding::CP1258),
(28, Encoding::CP864),
(31, Encoding::UNKNOWN),
(32, Encoding::CP1255),
(50, Encoding::CP437),
(52, Encoding::CP437),
(53, Encoding::CP858),
(54, Encoding::CP852),
(55, Encoding::CP860),
(56, Encoding::CP861),
(57, Encoding::CP863),
(58, Encoding::CP865),
(59, Encoding::CP866),
(60, Encoding::CP855),
(61, Encoding::CP857),
(62, Encoding::CP862),
(63, Encoding::CP864),
(64, Encoding::CP737),
(65, Encoding::CP851),
(66, Encoding::CP869),
(68, Encoding::CP772),
(69, Encoding::CP774),
(71, Encoding::CP1252),
(72, Encoding::CP1250),
(73, Encoding::CP1251),
(74, Encoding::CP3840),
(76, Encoding::CP3843),
(77, Encoding::CP3844),
(78, Encoding::CP3845),
(79, Encoding::CP3846),
(80, Encoding::CP3847),
(81, Encoding::CP3848),
(83, Encoding::CP2001),
(84, Encoding::CP3001),
(85, Encoding::CP3002),
(86, Encoding::CP3011),
(87, Encoding::CP3012),
(88, Encoding::CP3021),
(89, Encoding::CP3041),
(90, Encoding::CP1253),
(91, Encoding::CP1254),
(92, Encoding::CP1256),
(93, Encoding::CP720),
(94, Encoding::CP1258),
(95, Encoding::CP775),
(96, Encoding::UNKNOWN),
(255, Encoding::UNKNOWN),
])),
colors: Cow::Borrowed(IntMap::from_entries(&[
(0, Color::Black),
])),
fonts: Cow::Borrowed(IntMap::from_entries(&[
(0, FontInfo { columns: 32 }),
(1, FontInfo { columns: 42 }),
])),
media: Media { dpi: Some(203), width: Some(Width { mm: 57.5, px: 384 }) },
};
#[doc = "RP-F10 profile\n\nSeiko RP-F10 series with 58mm paper\n"]
pub static RP_F10_58MM: Profile = Profile {
name: Cow::Borrowed("RP-F10"),
vendor: Cow::Borrowed("Seiko"),
features: Features(FeaturesInner::empty().union(FeaturesInner::BARCODE_A).union(FeaturesInner::BARCODE_B).union(FeaturesInner::BIT_IMAGE_COLUMN).union(FeaturesInner::BIT_IMAGE_RASTER).union(FeaturesInner::GRAPHICS).union(FeaturesInner::HIGH_DENSITY).union(FeaturesInner::PAPER_FULL_CUT).union(FeaturesInner::PAPER_PART_CUT).union(FeaturesInner::PDF417_CODE).union(FeaturesInner::PULSE_STANDARD).union(FeaturesInner::QR_CODE)),
code_pages: Cow::Borrowed(IntMap::from_entries(&[
(0, Encoding::CP437),
(1, Encoding::KATAKANA),
(2, Encoding::CP850),
(3, Encoding::CP860),
(4, Encoding::CP863),
(5, Encoding::CP865),
(13, Encoding::CP857),
(14, Encoding::CP737),
(16, Encoding::CP1252),
(17, Encoding::CP866),
(18, Encoding::CP852),
(19, Encoding::CP858),
(34, Encoding::CP855),
(37, Encoding::CP864),
(45, Encoding::CP1250),
(46, Encoding::CP1251),
(47, Encoding::CP1253),
(48, Encoding::CP1254),
(255, Encoding::UNKNOWN),
])),
colors: Cow::Borrowed(IntMap::from_entries(&[
(0, Color::Black),
])),
fonts: Cow::Borrowed(IntMap::from_entries(&[
(0, FontInfo { columns: 36 }),
(1, FontInfo { columns: 54 }),
])),
media: Media { dpi: Some(203), width: Some(Width { mm: 54.0, px: 432 }) },
};
#[doc = "RP-F10 profile\n\nSeiko RP-F10 series with 80mm paper\n"]
pub static RP_F10_80MM: Profile = Profile {
name: Cow::Borrowed("RP-F10"),
vendor: Cow::Borrowed("Seiko"),
features: Features(FeaturesInner::empty().union(FeaturesInner::BARCODE_A).union(FeaturesInner::BARCODE_B).union(FeaturesInner::BIT_IMAGE_COLUMN).union(FeaturesInner::BIT_IMAGE_RASTER).union(FeaturesInner::GRAPHICS).union(FeaturesInner::HIGH_DENSITY).union(FeaturesInner::PAPER_FULL_CUT).union(FeaturesInner::PAPER_PART_CUT).union(FeaturesInner::PDF417_CODE).union(FeaturesInner::PULSE_STANDARD).union(FeaturesInner::QR_CODE)),
code_pages: Cow::Borrowed(IntMap::from_entries(&[
(0, Encoding::CP437),
(1, Encoding::KATAKANA),
(2, Encoding::CP850),
(3, Encoding::CP860),
(4, Encoding::CP863),
(5, Encoding::CP865),
(13, Encoding::CP857),
(14, Encoding::CP737),
(16, Encoding::CP1252),
(17, Encoding::CP866),
(18, Encoding::CP852),
(19, Encoding::CP858),
(34, Encoding::CP855),
(37, Encoding::CP864),
(45, Encoding::CP1250),
(46, Encoding::CP1251),
(47, Encoding::CP1253),
(48, Encoding::CP1254),
(255, Encoding::UNKNOWN),
])),
colors: Cow::Borrowed(IntMap::from_entries(&[
(0, Color::Black),
])),
fonts: Cow::Borrowed(IntMap::from_entries(&[
(0, FontInfo { columns: 48 }),
(1, FontInfo { columns: 72 }),
])),
media: Media { dpi: Some(203), width: Some(Width { mm: 72.0, px: 576 }) },
};
#[doc = "RP326 profile\n\n"]
pub static RP326: Profile = Profile {
name: Cow::Borrowed("RP326"),
vendor: Cow::Borrowed("Rongta"),
features: Features(FeaturesInner::empty().union(FeaturesInner::BARCODE_A).union(FeaturesInner::BARCODE_B).union(FeaturesInner::BIT_IMAGE_COLUMN).union(FeaturesInner::BIT_IMAGE_RASTER).union(FeaturesInner::HIGH_DENSITY).union(FeaturesInner::PAPER_FULL_CUT).union(FeaturesInner::PAPER_PART_CUT).union(FeaturesInner::PDF417_CODE).union(FeaturesInner::PULSE_STANDARD).union(FeaturesInner::QR_CODE)),
code_pages: Cow::Borrowed(IntMap::from_entries(&[
(0, Encoding::CP437),
(1, Encoding::KATAKANA),
(2, Encoding::CP850),
(3, Encoding::CP860),
(4, Encoding::CP863),
(5, Encoding::CP865),
(6, Encoding::CP1251),
(7, Encoding::CP866),
(8, Encoding::UNKNOWN),
(9, Encoding::UNKNOWN),
(10, Encoding::UNKNOWN),
(15, Encoding::CP862),
(16, Encoding::CP1252),
(17, Encoding::CP1253),
(18, Encoding::CP852),
(19, Encoding::CP858),
(20, Encoding::UNKNOWN),
(21, Encoding::UNKNOWN),
(22, Encoding::UNKNOWN),
(23, Encoding::ISO_8859_1),
(24, Encoding::CP737),
(25, Encoding::CP1257),
(26, Encoding::UNKNOWN),
(27, Encoding::CP720),
(28, Encoding::CP855),
(29, Encoding::CP857),
(30, Encoding::CP1250),
(31, Encoding::CP775),
(32, Encoding::CP1254),
(33, Encoding::CP1255),
(34, Encoding::CP1256),
(35, Encoding::CP1258),
(36, Encoding::ISO_8859_2),
(37, Encoding::ISO_8859_3),
(38, Encoding::ISO_8859_4),
(39, Encoding::ISO_8859_5),
(40, Encoding::ISO_8859_6),
(41, Encoding::ISO_8859_7),
(42, Encoding::ISO_8859_8),
(43, Encoding::ISO_8859_9),
(44, Encoding::ISO_8859_15),
(45, Encoding::UNKNOWN),
(46, Encoding::CP856),
(47, Encoding::CP874),
])),
colors: Cow::Borrowed(IntMap::from_entries(&[
(0, Color::Black),
])),
fonts: Cow::Borrowed(IntMap::from_entries(&[
(0, FontInfo { columns: 42 }),
(1, FontInfo { columns: 56 }),
])),
media: Media { dpi: Some(203), width: None },
};
#[doc = "SP2000 Series profile\n\nStar SP2000 impact printer series with ESC/POS emulation enabled"]
pub static SP2000: Profile = Profile {
name: Cow::Borrowed("SP2000 Series"),
vendor: Cow::Borrowed("Star Micronics"),
features: Features(FeaturesInner::empty().union(FeaturesInner::BARCODE_A).union(FeaturesInner::BARCODE_B).union(FeaturesInner::BIT_IMAGE_COLUMN).union(FeaturesInner::BIT_IMAGE_RASTER).union(FeaturesInner::GRAPHICS).union(FeaturesInner::HIGH_DENSITY).union(FeaturesInner::PAPER_FULL_CUT).union(FeaturesInner::PAPER_PART_CUT).union(FeaturesInner::PDF417_CODE).union(FeaturesInner::PULSE_STANDARD).union(FeaturesInner::QR_CODE).union(FeaturesInner::STAR_COMMANDS)),
code_pages: Cow::Borrowed(IntMap::from_entries(&[
(0, Encoding::CP437),
(1, Encoding::CP437),
(2, Encoding::CP932),
(3, Encoding::CP437),
(4, Encoding::CP858),
(5, Encoding::CP852),
(6, Encoding::CP860),
(7, Encoding::CP861),
(8, Encoding::CP863),
(9, Encoding::CP865),
(10, Encoding::CP866),
(11, Encoding::CP855),
(12, Encoding::CP857),
(13, Encoding::CP862),
(14, Encoding::CP864),
(15, Encoding::CP737),
(16, Encoding::CP851),
(17, Encoding::CP869),
(18, Encoding::CP928),
(19, Encoding::CP772),
(20, Encoding::CP774),
(21, Encoding::CP874),
(32, Encoding::CP1252),
(33, Encoding::CP1250),
(34, Encoding::CP1251),
(64, Encoding::CP3840),
(65, Encoding::CP3841),
(66, Encoding::CP3843),
(67, Encoding::CP3844),
(68, Encoding::CP3845),
(69, Encoding::CP3846),
(70, Encoding::CP3847),
(71, Encoding::CP3848),
(72, Encoding::CP1001),
(73, Encoding::CP2001),
(74, Encoding::CP3001),
(75, Encoding::CP3002),
(76, Encoding::CP3011),
(77, Encoding::CP3012),
(78, Encoding::CP3021),
(79, Encoding::CP3041),
(96, Encoding::UNKNOWN),
(97, Encoding::UNKNOWN),
(98, Encoding::UNKNOWN),
(99, Encoding::UNKNOWN),
(100, Encoding::UNKNOWN),
(101, Encoding::UNKNOWN),
(102, Encoding::UNKNOWN),
(255, Encoding::UNKNOWN),
])),
colors: Cow::Borrowed(IntMap::from_entries(&[
(0, Color::Black),
])),
fonts: Cow::Borrowed(IntMap::from_entries(&[
(0, FontInfo { columns: 42 }),
(1, FontInfo { columns: 56 }),
])),
media: Media { dpi: Some(85), width: None },
};
#[doc = "SRP-S300 profile\n\nBixolon SRP-S300 profile"]
pub static SRP_S300: Profile = Profile {
name: Cow::Borrowed("SRP-S300"),
vendor: Cow::Borrowed("Bixolon"),
features: Features(FeaturesInner::empty().union(FeaturesInner::BARCODE_A).union(FeaturesInner::BARCODE_B).union(FeaturesInner::BIT_IMAGE_COLUMN).union(FeaturesInner::BIT_IMAGE_RASTER).union(FeaturesInner::GRAPHICS).union(FeaturesInner::HIGH_DENSITY).union(FeaturesInner::PAPER_FULL_CUT).union(FeaturesInner::PAPER_PART_CUT).union(FeaturesInner::PDF417_CODE).union(FeaturesInner::PULSE_STANDARD).union(FeaturesInner::QR_CODE)),
code_pages: Cow::Borrowed(IntMap::from_entries(&[
(0, Encoding::CP437),
(1, Encoding::CP932),
(2, Encoding::CP850),
(3, Encoding::CP860),
(4, Encoding::CP863),
(5, Encoding::CP865),
(16, Encoding::CP1252),
(17, Encoding::CP866),
(18, Encoding::CP852),
(19, Encoding::CP858),
(21, Encoding::CP874),
(22, Encoding::UNKNOWN),
(23, Encoding::UNKNOWN),
(24, Encoding::UNKNOWN),
(25, Encoding::UNKNOWN),
(26, Encoding::UNKNOWN),
(30, Encoding::TCVN_3_1),
(31, Encoding::TCVN_3_2),
(33, Encoding::CP775),
(34, Encoding::CP855),
(35, Encoding::CP861),
(36, Encoding::CP862),
(37, Encoding::CP864),
(38, Encoding::CP869),
(39, Encoding::ISO_8859_2),
(40, Encoding::ISO_8859_15),
(41, Encoding::CP1098),
(42, Encoding::CP774),
(47, Encoding::CP1253),
(49, Encoding::CP1255),
(50, Encoding::CP1256),
(255, Encoding::UNKNOWN),
])),
colors: Cow::Borrowed(IntMap::from_entries(&[
(0, Color::Black),
])),
fonts: Cow::Borrowed(IntMap::from_entries(&[
(0, FontInfo { columns: 48 }),
(1, FontInfo { columns: 64 }),
(2, FontInfo { columns: 64 }),
])),
media: Media { dpi: Some(203), width: Some(Width { mm: 80.0, px: 640 }) },
};
#[doc = "Sunmi V2 profile\n\nSunmi mini-POS Android device with a built-in Virtual Bluetooth thermal printer.\n"]
pub static SUNMI_V2: Profile = Profile {
name: Cow::Borrowed("Sunmi V2"),
vendor: Cow::Borrowed("Sunmi"),
features: Features(FeaturesInner::empty().union(FeaturesInner::BARCODE_A).union(FeaturesInner::BARCODE_B).union(FeaturesInner::BIT_IMAGE_RASTER).union(FeaturesInner::HIGH_DENSITY).union(FeaturesInner::PDF417_CODE).union(FeaturesInner::PULSE_STANDARD).union(FeaturesInner::QR_CODE)),
code_pages: Cow::Borrowed(IntMap::from_entries(&[
(0, Encoding::CP437),
(2, Encoding::CP850),
(3, Encoding::CP860),
(4, Encoding::CP863),
(5, Encoding::CP865),
(13, Encoding::CP857),
(14, Encoding::CP737),
(15, Encoding::ISO_8859_7),
(16, Encoding::CP1252),
(17, Encoding::CP866),
(18, Encoding::CP852),
(19, Encoding::CP858),
(21, Encoding::CP874),
(33, Encoding::CP775),
(34, Encoding::CP855),
(36, Encoding::CP862),
(37, Encoding::CP864),
(254, Encoding::CP855),
])),
colors: Cow::Borrowed(IntMap::from_entries(&[
(0, Color::Black),
])),
fonts: Cow::Borrowed(IntMap::from_entries(&[
(0, FontInfo { columns: 32 }),
(1, FontInfo { columns: 42 }),
])),
media: Media { dpi: None, width: Some(Width { mm: 57.5, px: 384 }) },
};
#[doc = "T-1 profile\n\nMetapace T-1 Thermal Printer Rev. 1.00"]
pub static T_1: Profile = Profile {
name: Cow::Borrowed("T-1"),
vendor: Cow::Borrowed("Metapace"),
features: Features(FeaturesInner::empty().union(FeaturesInner::BARCODE_A).union(FeaturesInner::BARCODE_B).union(FeaturesInner::BIT_IMAGE_COLUMN).union(FeaturesInner::BIT_IMAGE_RASTER).union(FeaturesInner::GRAPHICS).union(FeaturesInner::HIGH_DENSITY).union(FeaturesInner::PAPER_FULL_CUT).union(FeaturesInner::PAPER_PART_CUT).union(FeaturesInner::PDF417_CODE).union(FeaturesInner::PULSE_STANDARD).union(FeaturesInner::QR_CODE)),
code_pages: Cow::Borrowed(IntMap::from_entries(&[
(0, Encoding::CP437),
(1, Encoding::KATAKANA),
(2, Encoding::CP850),
(3, Encoding::CP860),
(4, Encoding::CP863),
(5, Encoding::CP865),
(19, Encoding::CP858),
(255, Encoding::UNKNOWN),
])),
colors: Cow::Borrowed(IntMap::from_entries(&[
(0, Color::Black),
])),
fonts: Cow::Borrowed(IntMap::from_entries(&[
(0, FontInfo { columns: 42 }),
(1, FontInfo { columns: 56 }),
])),
media: Media { dpi: Some(180), width: Some(Width { mm: 80.0, px: 504 }) },
};
#[doc = "TEP200M Series profile\n\n"]
pub static TEP_200M: Profile = Profile {
name: Cow::Borrowed("TEP200M Series"),
vendor: Cow::Borrowed("EPOS"),
features: Features(FeaturesInner::empty().union(FeaturesInner::BARCODE_A).union(FeaturesInner::BARCODE_B).union(FeaturesInner::BIT_IMAGE_COLUMN).union(FeaturesInner::BIT_IMAGE_RASTER).union(FeaturesInner::GRAPHICS).union(FeaturesInner::HIGH_DENSITY).union(FeaturesInner::PAPER_FULL_CUT).union(FeaturesInner::PAPER_PART_CUT).union(FeaturesInner::PDF417_CODE).union(FeaturesInner::PULSE_STANDARD).union(FeaturesInner::QR_CODE)),
code_pages: Cow::Borrowed(IntMap::from_entries(&[
(0, Encoding::CP437),
(1, Encoding::CP932),
(2, Encoding::CP850),
(3, Encoding::CP860),
(4, Encoding::CP863),
(5, Encoding::CP865),
(6, Encoding::UNKNOWN),
(7, Encoding::UNKNOWN),
(8, Encoding::UNKNOWN),
(11, Encoding::CP851),
(12, Encoding::CP853),
(13, Encoding::CP857),
(14, Encoding::CP737),
(15, Encoding::ISO_8859_7),
(16, Encoding::CP1252),
(17, Encoding::CP866),
(18, Encoding::CP852),
(19, Encoding::CP858),
(20, Encoding::UNKNOWN),
(21, Encoding::CP874),
(22, Encoding::UNKNOWN),
(23, Encoding::UNKNOWN),
(24, Encoding::UNKNOWN),
(25, Encoding::UNKNOWN),
(26, Encoding::UNKNOWN),
(30, Encoding::TCVN_3_1),
(31, Encoding::TCVN_3_2),
(32, Encoding::CP720),
(33, Encoding::CP775),
(34, Encoding::CP855),
(35, Encoding::CP861),
(36, Encoding::CP862),
(37, Encoding::CP864),
(38, Encoding::CP869),
(39, Encoding::ISO_8859_2),
(40, Encoding::ISO_8859_15),
(41, Encoding::CP1098),
(42, Encoding::CP774),
(43, Encoding::CP772),
(44, Encoding::CP1125),
(45, Encoding::CP1250),
(46, Encoding::CP1251),
(47, Encoding::CP1253),
(48, Encoding::CP1254),
(49, Encoding::CP1255),
(50, Encoding::CP1256),
(51, Encoding::CP1257),
(52, Encoding::CP1258),
(53, Encoding::RK1048),
(66, Encoding::UNKNOWN),
(67, Encoding::UNKNOWN),
(68, Encoding::UNKNOWN),
(69, Encoding::UNKNOWN),
(70, Encoding::UNKNOWN),
(71, Encoding::UNKNOWN),
(72, Encoding::UNKNOWN),
(73, Encoding::UNKNOWN),
(74, Encoding::UNKNOWN),
(75, Encoding::UNKNOWN),
(82, Encoding::UNKNOWN),
(254, Encoding::UNKNOWN),
(255, Encoding::UNKNOWN),
])),
colors: Cow::Borrowed(IntMap::from_entries(&[
(0, Color::Black),
])),
fonts: Cow::Borrowed(IntMap::from_entries(&[
(0, FontInfo { columns: 42 }),
(1, FontInfo { columns: 56 }),
])),
media: Media { dpi: Some(203), width: None },
};
#[doc = "TH230 profile\n\nProfile for TH230. Use bitImageColumn to print properly.\n"]
pub static TH230: Profile = Profile {
name: Cow::Borrowed("TH230"),
vendor: Cow::Borrowed("Wincor Nixdorf"),
features: Features(FeaturesInner::empty().union(FeaturesInner::BARCODE_A).union(FeaturesInner::BARCODE_B).union(FeaturesInner::BIT_IMAGE_COLUMN).union(FeaturesInner::BIT_IMAGE_RASTER).union(FeaturesInner::GRAPHICS).union(FeaturesInner::HIGH_DENSITY).union(FeaturesInner::PAPER_FULL_CUT).union(FeaturesInner::PAPER_PART_CUT).union(FeaturesInner::PULSE_STANDARD)),
code_pages: Cow::Borrowed(IntMap::from_entries(&[
(0, Encoding::CP437),
(1, Encoding::CP850),
(2, Encoding::CP852),
(3, Encoding::CP860),
(4, Encoding::CP863),
(5, Encoding::CP865),
(6, Encoding::CP858),
(7, Encoding::CP866),
(8, Encoding::CP1252),
(9, Encoding::CP862),
(10, Encoding::CP737),
(11, Encoding::CP874),
(12, Encoding::CP857),
(16, Encoding::CP1254),
(17, Encoding::CP1250),
(18, Encoding::UNKNOWN),
(19, Encoding::UNKNOWN),
(20, Encoding::UNKNOWN),
(21, Encoding::UNKNOWN),
(22, Encoding::CP864),
(23, Encoding::CP720),
(24, Encoding::CP1256),
(25, Encoding::UNKNOWN),
(26, Encoding::KATAKANA),
(27, Encoding::CP775),
(28, Encoding::CP1257),
(29, Encoding::UNKNOWN),
])),
colors: Cow::Borrowed(IntMap::from_entries(&[
(0, Color::Black),
])),
fonts: Cow::Borrowed(IntMap::from_entries(&[
(0, FontInfo { columns: 44 }),
(1, FontInfo { columns: 57 }),
])),
media: Media { dpi: Some(203), width: Some(Width { mm: 72.0, px: 576 }) },
};
#[doc = "TH230+ profile\n\nProfile for TH230+. Use bitImageColumn to print properly. TH230+ supports native qr codes and PDF417 codes\n"]
pub static TH230_PLUS: Profile = Profile {
name: Cow::Borrowed("TH230+"),
vendor: Cow::Borrowed("Wincor Nixdorf"),
features: Features(FeaturesInner::empty().union(FeaturesInner::BARCODE_A).union(FeaturesInner::BARCODE_B).union(FeaturesInner::BIT_IMAGE_COLUMN).union(FeaturesInner::BIT_IMAGE_RASTER).union(FeaturesInner::GRAPHICS).union(FeaturesInner::HIGH_DENSITY).union(FeaturesInner::PAPER_FULL_CUT).union(FeaturesInner::PAPER_PART_CUT).union(FeaturesInner::PDF417_CODE).union(FeaturesInner::PULSE_STANDARD).union(FeaturesInner::QR_CODE)),
code_pages: Cow::Borrowed(IntMap::from_entries(&[
(0, Encoding::CP437),
(1, Encoding::CP850),
(2, Encoding::CP852),
(3, Encoding::CP860),
(4, Encoding::CP863),
(5, Encoding::CP865),
(6, Encoding::CP858),
(7, Encoding::CP866),
(8, Encoding::CP1252),
(9, Encoding::CP862),
(10, Encoding::CP737),
(11, Encoding::CP874),
(12, Encoding::CP857),
(16, Encoding::CP1254),
(17, Encoding::CP1250),
(18, Encoding::UNKNOWN),
(19, Encoding::UNKNOWN),
(20, Encoding::UNKNOWN),
(21, Encoding::UNKNOWN),
(22, Encoding::CP864),
(23, Encoding::CP720),
(24, Encoding::CP1256),
(25, Encoding::UNKNOWN),
(26, Encoding::KATAKANA),
(27, Encoding::CP775),
(28, Encoding::CP1257),
(29, Encoding::UNKNOWN),
])),
colors: Cow::Borrowed(IntMap::from_entries(&[
(0, Color::Black),
])),
fonts: Cow::Borrowed(IntMap::from_entries(&[
(0, FontInfo { columns: 44 }),
(1, FontInfo { columns: 57 }),
])),
media: Media { dpi: Some(203), width: Some(Width { mm: 72.0, px: 576 }) },
};
#[doc = "TM-L90 profile\n\nEpson TM-L90 profile. The standard 80mm paper width version was used here. The code page mapping is documented in the \"TM-L90 Technical Reference Guide\".\n"]
pub static TM_L90: Profile = Profile {
name: Cow::Borrowed("TM-L90"),
vendor: Cow::Borrowed("Epson"),
features: Features(FeaturesInner::empty().union(FeaturesInner::BARCODE_A).union(FeaturesInner::BARCODE_B).union(FeaturesInner::BIT_IMAGE_COLUMN).union(FeaturesInner::BIT_IMAGE_RASTER).union(FeaturesInner::GRAPHICS).union(FeaturesInner::HIGH_DENSITY).union(FeaturesInner::PAPER_FULL_CUT).union(FeaturesInner::PAPER_PART_CUT).union(FeaturesInner::PDF417_CODE).union(FeaturesInner::PULSE_STANDARD).union(FeaturesInner::QR_CODE)),
code_pages: Cow::Borrowed(IntMap::from_entries(&[
(0, Encoding::CP437),
(1, Encoding::CP932),
(2, Encoding::CP850),
(3, Encoding::CP860),
(4, Encoding::CP863),
(5, Encoding::CP865),
(11, Encoding::CP851),
(12, Encoding::CP853),
(13, Encoding::CP857),
(14, Encoding::CP737),
(15, Encoding::ISO_8859_7),
(16, Encoding::CP1252),
(17, Encoding::CP866),
(18, Encoding::CP852),
(19, Encoding::CP858),
(20, Encoding::UNKNOWN),
(21, Encoding::CP874),
(22, Encoding::UNKNOWN),
(23, Encoding::UNKNOWN),
(24, Encoding::UNKNOWN),
(25, Encoding::UNKNOWN),
(26, Encoding::UNKNOWN),
(30, Encoding::TCVN_3_1),
(31, Encoding::TCVN_3_2),
(32, Encoding::CP720),
(33, Encoding::CP775),
(34, Encoding::CP855),
(35, Encoding::CP861),
(36, Encoding::CP862),
(37, Encoding::CP864),
(38, Encoding::CP869),
(39, Encoding::ISO_8859_2),
(40, Encoding::ISO_8859_15),
(41, Encoding::CP1098),
(42, Encoding::CP774),
(43, Encoding::CP772),
(44, Encoding::CP1125),
(45, Encoding::CP1250),
(46, Encoding::CP1251),
(47, Encoding::CP1253),
(48, Encoding::CP1254),
(49, Encoding::CP1255),
(50, Encoding::CP1256),
(51, Encoding::CP1257),
(52, Encoding::CP1258),
(53, Encoding::RK1048),
(255, Encoding::UNKNOWN),
])),
colors: Cow::Borrowed(IntMap::from_entries(&[
(0, Color::Black),
])),
fonts: Cow::Borrowed(IntMap::from_entries(&[
(0, FontInfo { columns: 48 }),
(1, FontInfo { columns: 64 }),
])),
media: Media { dpi: Some(203), width: Some(Width { mm: 80.0, px: 576 }) },
};
#[doc = "TM-P80 profile\n\nPortable printer (48-column mode)"]
pub static TM_P80: Profile = Profile {
name: Cow::Borrowed("TM-P80"),
vendor: Cow::Borrowed("Epson"),
features: Features(FeaturesInner::empty().union(FeaturesInner::BARCODE_A).union(FeaturesInner::BARCODE_B).union(FeaturesInner::BIT_IMAGE_COLUMN).union(FeaturesInner::BIT_IMAGE_RASTER).union(FeaturesInner::GRAPHICS).union(FeaturesInner::HIGH_DENSITY).union(FeaturesInner::PAPER_FULL_CUT).union(FeaturesInner::PAPER_PART_CUT).union(FeaturesInner::PDF417_CODE).union(FeaturesInner::PULSE_STANDARD).union(FeaturesInner::QR_CODE)),
code_pages: Cow::Borrowed(IntMap::from_entries(&[
(0, Encoding::CP437),
(1, Encoding::CP932),
(2, Encoding::CP850),
(3, Encoding::CP860),
(4, Encoding::CP863),
(5, Encoding::CP865),
(6, Encoding::UNKNOWN),
(7, Encoding::UNKNOWN),
(8, Encoding::UNKNOWN),
(11, Encoding::CP851),
(12, Encoding::CP853),
(13, Encoding::CP857),
(14, Encoding::CP737),
(15, Encoding::ISO_8859_7),
(16, Encoding::CP1252),
(17, Encoding::CP866),
(18, Encoding::CP852),
(19, Encoding::CP858),
(20, Encoding::UNKNOWN),
(21, Encoding::CP874),
(22, Encoding::UNKNOWN),
(23, Encoding::UNKNOWN),
(24, Encoding::UNKNOWN),
(25, Encoding::UNKNOWN),
(26, Encoding::UNKNOWN),
(30, Encoding::TCVN_3_1),
(31, Encoding::TCVN_3_2),
(32, Encoding::CP720),
(33, Encoding::CP775),
(34, Encoding::CP855),
(35, Encoding::CP861),
(36, Encoding::CP862),
(37, Encoding::CP864),
(38, Encoding::CP869),
(39, Encoding::ISO_8859_2),
(40, Encoding::ISO_8859_15),
(41, Encoding::CP1098),
(42, Encoding::CP774),
(43, Encoding::CP772),
(44, Encoding::CP1125),
(45, Encoding::CP1250),
(46, Encoding::CP1251),
(47, Encoding::CP1253),
(48, Encoding::CP1254),
(49, Encoding::CP1255),
(50, Encoding::CP1256),
(51, Encoding::CP1257),
(52, Encoding::CP1258),
(53, Encoding::RK1048),
(66, Encoding::UNKNOWN),
(67, Encoding::UNKNOWN),
(68, Encoding::UNKNOWN),
(69, Encoding::UNKNOWN),
(70, Encoding::UNKNOWN),
(71, Encoding::UNKNOWN),
(72, Encoding::UNKNOWN),
(73, Encoding::UNKNOWN),
(74, Encoding::UNKNOWN),
(75, Encoding::UNKNOWN),
(82, Encoding::UNKNOWN),
(254, Encoding::UNKNOWN),
(255, Encoding::UNKNOWN),
])),
colors: Cow::Borrowed(IntMap::from_entries(&[
(0, Color::Black),
])),
fonts: Cow::Borrowed(IntMap::from_entries(&[
(0, FontInfo { columns: 42 }),
(1, FontInfo { columns: 56 }),
(2, FontInfo { columns: 24 }),
])),
media: Media { dpi: Some(203), width: Some(Width { mm: 72.0, px: 576 }) },
};
#[doc = "TM-P80 (42 column mode) profile\n\nPortable printer (42-column mode)"]
pub static TM_P80_42COL: Profile = Profile {
name: Cow::Borrowed("TM-P80 (42 column mode)"),
vendor: Cow::Borrowed("Epson"),
features: Features(FeaturesInner::empty().union(FeaturesInner::BARCODE_A).union(FeaturesInner::BARCODE_B).union(FeaturesInner::BIT_IMAGE_COLUMN).union(FeaturesInner::BIT_IMAGE_RASTER).union(FeaturesInner::GRAPHICS).union(FeaturesInner::HIGH_DENSITY).union(FeaturesInner::PAPER_FULL_CUT).union(FeaturesInner::PAPER_PART_CUT).union(FeaturesInner::PDF417_CODE).union(FeaturesInner::PULSE_STANDARD).union(FeaturesInner::QR_CODE)),
code_pages: Cow::Borrowed(IntMap::from_entries(&[
(0, Encoding::CP437),
(1, Encoding::CP932),
(2, Encoding::CP850),
(3, Encoding::CP860),
(4, Encoding::CP863),
(5, Encoding::CP865),
(6, Encoding::UNKNOWN),
(7, Encoding::UNKNOWN),
(8, Encoding::UNKNOWN),
(11, Encoding::CP851),
(12, Encoding::CP853),
(13, Encoding::CP857),
(14, Encoding::CP737),
(15, Encoding::ISO_8859_7),
(16, Encoding::CP1252),
(17, Encoding::CP866),
(18, Encoding::CP852),
(19, Encoding::CP858),
(20, Encoding::UNKNOWN),
(21, Encoding::CP874),
(22, Encoding::UNKNOWN),
(23, Encoding::UNKNOWN),
(24, Encoding::UNKNOWN),
(25, Encoding::UNKNOWN),
(26, Encoding::UNKNOWN),
(30, Encoding::TCVN_3_1),
(31, Encoding::TCVN_3_2),
(32, Encoding::CP720),
(33, Encoding::CP775),
(34, Encoding::CP855),
(35, Encoding::CP861),
(36, Encoding::CP862),
(37, Encoding::CP864),
(38, Encoding::CP869),
(39, Encoding::ISO_8859_2),
(40, Encoding::ISO_8859_15),
(41, Encoding::CP1098),
(42, Encoding::CP774),
(43, Encoding::CP772),
(44, Encoding::CP1125),
(45, Encoding::CP1250),
(46, Encoding::CP1251),
(47, Encoding::CP1253),
(48, Encoding::CP1254),
(49, Encoding::CP1255),
(50, Encoding::CP1256),
(51, Encoding::CP1257),
(52, Encoding::CP1258),
(53, Encoding::RK1048),
(66, Encoding::UNKNOWN),
(67, Encoding::UNKNOWN),
(68, Encoding::UNKNOWN),
(69, Encoding::UNKNOWN),
(70, Encoding::UNKNOWN),
(71, Encoding::UNKNOWN),
(72, Encoding::UNKNOWN),
(73, Encoding::UNKNOWN),
(74, Encoding::UNKNOWN),
(75, Encoding::UNKNOWN),
(82, Encoding::UNKNOWN),
(254, Encoding::UNKNOWN),
(255, Encoding::UNKNOWN),
])),
colors: Cow::Borrowed(IntMap::from_entries(&[
(0, Color::Black),
])),
fonts: Cow::Borrowed(IntMap::from_entries(&[
(0, FontInfo { columns: 42 }),
(1, FontInfo { columns: 60 }),
(2, FontInfo { columns: 21 }),
])),
media: Media { dpi: None, width: Some(Width { mm: 63.6, px: 546 }) },
};
#[doc = "TM-T20II profile\n\nEpson TM-T20II profile"]
pub static TM_T20II: Profile = Profile {
name: Cow::Borrowed("TM-T20II"),
vendor: Cow::Borrowed("Epson"),
features: Features(FeaturesInner::empty().union(FeaturesInner::BARCODE_A).union(FeaturesInner::BARCODE_B).union(FeaturesInner::BIT_IMAGE_COLUMN).union(FeaturesInner::BIT_IMAGE_RASTER).union(FeaturesInner::GRAPHICS).union(FeaturesInner::HIGH_DENSITY).union(FeaturesInner::PAPER_FULL_CUT).union(FeaturesInner::PAPER_PART_CUT).union(FeaturesInner::PDF417_CODE).union(FeaturesInner::PULSE_STANDARD).union(FeaturesInner::QR_CODE)),
code_pages: Cow::Borrowed(IntMap::from_entries(&[
(0, Encoding::CP437),
(1, Encoding::CP932),
(2, Encoding::CP850),
(3, Encoding::CP860),
(4, Encoding::CP863),
(5, Encoding::CP865),
(11, Encoding::CP851),
(12, Encoding::CP853),
(13, Encoding::CP857),
(14, Encoding::CP737),
(15, Encoding::ISO_8859_7),
(16, Encoding::CP1252),
(17, Encoding::CP866),
(18, Encoding::CP852),
(19, Encoding::CP858),
(30, Encoding::TCVN_3_1),
(31, Encoding::TCVN_3_2),
(32, Encoding::CP720),
(33, Encoding::CP775),
(34, Encoding::CP855),
(35, Encoding::CP861),
(36, Encoding::CP862),
(37, Encoding::CP864),
(38, Encoding::CP869),
(39, Encoding::ISO_8859_2),
(40, Encoding::ISO_8859_15),
(41, Encoding::CP1098),
(44, Encoding::CP1125),
(45, Encoding::CP1250),
(46, Encoding::CP1251),
(47, Encoding::CP1253),
(48, Encoding::CP1254),
(49, Encoding::CP1255),
(50, Encoding::CP1256),
(51, Encoding::CP1257),
(52, Encoding::CP1258),
(53, Encoding::RK1048),
(255, Encoding::UNKNOWN),
])),
colors: Cow::Borrowed(IntMap::from_entries(&[
(0, Color::Black),
])),
fonts: Cow::Borrowed(IntMap::from_entries(&[
(0, FontInfo { columns: 48 }),
(1, FontInfo { columns: 64 }),
])),
media: Media { dpi: Some(203), width: Some(Width { mm: 72.0, px: 576 }) },
};
#[doc = "TM-T20II (42 column mode) profile\n\nEpson TM-T20II profile (42 column mode)"]
pub static TM_T20II_42COL: Profile = Profile {
name: Cow::Borrowed("TM-T20II (42 column mode)"),
vendor: Cow::Borrowed("Epson"),
features: Features(FeaturesInner::empty().union(FeaturesInner::BARCODE_A).union(FeaturesInner::BARCODE_B).union(FeaturesInner::BIT_IMAGE_COLUMN).union(FeaturesInner::BIT_IMAGE_RASTER).union(FeaturesInner::GRAPHICS).union(FeaturesInner::HIGH_DENSITY).union(FeaturesInner::PAPER_FULL_CUT).union(FeaturesInner::PAPER_PART_CUT).union(FeaturesInner::PDF417_CODE).union(FeaturesInner::PULSE_STANDARD).union(FeaturesInner::QR_CODE)),
code_pages: Cow::Borrowed(IntMap::from_entries(&[
(0, Encoding::CP437),
(1, Encoding::CP932),
(2, Encoding::CP850),
(3, Encoding::CP860),
(4, Encoding::CP863),
(5, Encoding::CP865),
(11, Encoding::CP851),
(12, Encoding::CP853),
(13, Encoding::CP857),
(14, Encoding::CP737),
(15, Encoding::ISO_8859_7),
(16, Encoding::CP1252),
(17, Encoding::CP866),
(18, Encoding::CP852),
(19, Encoding::CP858),
(30, Encoding::TCVN_3_1),
(31, Encoding::TCVN_3_2),
(32, Encoding::CP720),
(33, Encoding::CP775),
(34, Encoding::CP855),
(35, Encoding::CP861),
(36, Encoding::CP862),
(37, Encoding::CP864),
(38, Encoding::CP869),
(39, Encoding::ISO_8859_2),
(40, Encoding::ISO_8859_15),
(41, Encoding::CP1098),
(44, Encoding::CP1125),
(45, Encoding::CP1250),
(46, Encoding::CP1251),
(47, Encoding::CP1253),
(48, Encoding::CP1254),
(49, Encoding::CP1255),
(50, Encoding::CP1256),
(51, Encoding::CP1257),
(52, Encoding::CP1258),
(53, Encoding::RK1048),
(255, Encoding::UNKNOWN),
])),
colors: Cow::Borrowed(IntMap::from_entries(&[
(0, Color::Black),
])),
fonts: Cow::Borrowed(IntMap::from_entries(&[
(0, FontInfo { columns: 42 }),
(1, FontInfo { columns: 60 }),
])),
media: Media { dpi: None, width: Some(Width { mm: 68.3, px: 546 }) },
};
#[doc = "TM-T88II profile\n\nEpson TM-T88II profile. The specs where taken from a TM-T88IIP machine (I assume the P just stands for parallel port). The standart 80mm paper width version was used here. There is also a custom 58mm factory option. If you are using the custom version change media width to 50.8mm and 360px accordingly. This printer is discontinued by the Vendor and has similar feature support to the TM-T88III. The code page mapping is documented in the \"TM-T88II/T88III Technical Reference Guide\".\n"]
pub static TM_T88II: Profile = Profile {
name: Cow::Borrowed("TM-T88II"),
vendor: Cow::Borrowed("Epson"),
features: Features(FeaturesInner::empty().union(FeaturesInner::BARCODE_A).union(FeaturesInner::BARCODE_B).union(FeaturesInner::BIT_IMAGE_COLUMN).union(FeaturesInner::BIT_IMAGE_RASTER).union(FeaturesInner::GRAPHICS).union(FeaturesInner::HIGH_DENSITY).union(FeaturesInner::PAPER_FULL_CUT).union(FeaturesInner::PAPER_PART_CUT).union(FeaturesInner::PDF417_CODE).union(FeaturesInner::PULSE_STANDARD).union(FeaturesInner::QR_CODE)),
code_pages: Cow::Borrowed(IntMap::from_entries(&[
(0, Encoding::CP437),
(1, Encoding::CP932),
(2, Encoding::CP850),
(3, Encoding::CP860),
(4, Encoding::CP863),
(5, Encoding::CP865),
(6, Encoding::UNKNOWN),
(7, Encoding::UNKNOWN),
(8, Encoding::UNKNOWN),
(11, Encoding::UNKNOWN),
(12, Encoding::UNKNOWN),
(13, Encoding::CP857),
(14, Encoding::CP737),
(15, Encoding::ISO_8859_7),
(16, Encoding::CP1252),
(17, Encoding::CP866),
(18, Encoding::CP852),
(19, Encoding::UNKNOWN),
(20, Encoding::UNKNOWN),
(21, Encoding::CP874),
(22, Encoding::UNKNOWN),
(23, Encoding::UNKNOWN),
(24, Encoding::UNKNOWN),
(25, Encoding::UNKNOWN),
(26, Encoding::UNKNOWN),
(30, Encoding::TCVN_3_1),
(31, Encoding::TCVN_3_2),
(32, Encoding::UNKNOWN),
(33, Encoding::CP775),
(34, Encoding::CP855),
(35, Encoding::CP861),
(36, Encoding::CP862),
(37, Encoding::CP864),
(38, Encoding::CP869),
(39, Encoding::ISO_8859_2),
(40, Encoding::ISO_8859_15),
(41, Encoding::UNKNOWN),
(42, Encoding::CP774),
(43, Encoding::CP772),
(44, Encoding::CP1125),
(45, Encoding::CP1250),
(46, Encoding::CP1251),
(47, Encoding::CP1253),
(48, Encoding::CP1254),
(49, Encoding::CP1255),
(50, Encoding::CP1256),
(51, Encoding::CP1257),
(52, Encoding::CP1258),
(53, Encoding::RK1048),
(66, Encoding::UNKNOWN),
(67, Encoding::UNKNOWN),
(68, Encoding::UNKNOWN),
(69, Encoding::UNKNOWN),
(70, Encoding::UNKNOWN),
(71, Encoding::UNKNOWN),
(72, Encoding::UNKNOWN),
(73, Encoding::UNKNOWN),
(74, Encoding::UNKNOWN),
(75, Encoding::UNKNOWN),
(82, Encoding::UNKNOWN),
(254, Encoding::UNKNOWN),
(255, Encoding::UNKNOWN),
])),
colors: Cow::Borrowed(IntMap::from_entries(&[
(0, Color::Black),
])),
fonts: Cow::Borrowed(IntMap::from_entries(&[
(0, FontInfo { columns: 42 }),
(1, FontInfo { columns: 56 }),
])),
media: Media { dpi: Some(180), width: Some(Width { mm: 72.0, px: 512 }) },
};
#[doc = "TM-T88III profile\n\nEpson TM-T88III profile. This printer has similar feature support to the TM-T88II. The code page mapping is documented in the \"TM-T88II/T88III Technical Reference Guide\".\n"]
pub static TM_T88III: Profile = Profile {
name: Cow::Borrowed("TM-T88III"),
vendor: Cow::Borrowed("Epson"),
features: Features(FeaturesInner::empty().union(FeaturesInner::BARCODE_A).union(FeaturesInner::BARCODE_B).union(FeaturesInner::BIT_IMAGE_COLUMN).union(FeaturesInner::BIT_IMAGE_RASTER).union(FeaturesInner::GRAPHICS).union(FeaturesInner::HIGH_DENSITY).union(FeaturesInner::PAPER_FULL_CUT).union(FeaturesInner::PAPER_PART_CUT).union(FeaturesInner::PDF417_CODE).union(FeaturesInner::PULSE_STANDARD).union(FeaturesInner::QR_CODE)),
code_pages: Cow::Borrowed(IntMap::from_entries(&[
(0, Encoding::CP437),
(1, Encoding::CP932),
(2, Encoding::CP850),
(3, Encoding::CP860),
(4, Encoding::CP863),
(5, Encoding::CP865),
(6, Encoding::CP1251),
(16, Encoding::CP1252),
(17, Encoding::CP866),
(18, Encoding::CP862),
(19, Encoding::CP858),
(255, Encoding::UNKNOWN),
])),
colors: Cow::Borrowed(IntMap::from_entries(&[
(0, Color::Black),
])),
fonts: Cow::Borrowed(IntMap::from_entries(&[
(0, FontInfo { columns: 42 }),
(1, FontInfo { columns: 56 }),
])),
media: Media { dpi: Some(180), width: Some(Width { mm: 80.0, px: 512 }) },
};
#[doc = "TM-T88IV profile\n\nEpson TM-T88IV profile\n"]
pub static TM_T88IV: Profile = Profile {
name: Cow::Borrowed("TM-T88IV"),
vendor: Cow::Borrowed("Epson"),
features: Features(FeaturesInner::empty().union(FeaturesInner::BARCODE_A).union(FeaturesInner::BARCODE_B).union(FeaturesInner::BIT_IMAGE_COLUMN).union(FeaturesInner::BIT_IMAGE_RASTER).union(FeaturesInner::GRAPHICS).union(FeaturesInner::HIGH_DENSITY).union(FeaturesInner::PAPER_FULL_CUT).union(FeaturesInner::PAPER_PART_CUT).union(FeaturesInner::PDF417_CODE).union(FeaturesInner::PULSE_STANDARD).union(FeaturesInner::QR_CODE)),
code_pages: Cow::Borrowed(IntMap::from_entries(&[
(0, Encoding::CP437),
(1, Encoding::CP932),
(2, Encoding::CP850),
(3, Encoding::CP860),
(4, Encoding::CP863),
(5, Encoding::CP865),
(16, Encoding::CP1252),
(17, Encoding::CP866),
(18, Encoding::CP852),
(19, Encoding::CP858),
(255, Encoding::UNKNOWN),
])),
colors: Cow::Borrowed(IntMap::from_entries(&[
(0, Color::Black),
])),
fonts: Cow::Borrowed(IntMap::from_entries(&[
(0, FontInfo { columns: 42 }),
(1, FontInfo { columns: 56 }),
])),
media: Media { dpi: Some(180), width: Some(Width { mm: 80.0, px: 512 }) },
};
#[doc = "TM-T88IV South Asia profile\n\nEpson TM-T88IV profile (South Asia models)\n"]
pub static TM_T88IV_SA: Profile = Profile {
name: Cow::Borrowed("TM-T88IV South Asia"),
vendor: Cow::Borrowed("Epson"),
features: Features(FeaturesInner::empty().union(FeaturesInner::BARCODE_A).union(FeaturesInner::BARCODE_B).union(FeaturesInner::BIT_IMAGE_COLUMN).union(FeaturesInner::BIT_IMAGE_RASTER).union(FeaturesInner::GRAPHICS).union(FeaturesInner::HIGH_DENSITY).union(FeaturesInner::PAPER_FULL_CUT).union(FeaturesInner::PAPER_PART_CUT).union(FeaturesInner::PDF417_CODE).union(FeaturesInner::PULSE_STANDARD).union(FeaturesInner::QR_CODE)),
code_pages: Cow::Borrowed(IntMap::from_entries(&[
(0, Encoding::CP437),
(20, Encoding::UNKNOWN),
(21, Encoding::CP874),
(26, Encoding::UNKNOWN),
(30, Encoding::TCVN_3_1),
(31, Encoding::TCVN_3_2),
])),
colors: Cow::Borrowed(IntMap::from_entries(&[
(0, Color::Black),
])),
fonts: Cow::Borrowed(IntMap::from_entries(&[
(0, FontInfo { columns: 42 }),
(1, FontInfo { columns: 56 }),
])),
media: Media { dpi: Some(180), width: Some(Width { mm: 80.0, px: 512 }) },
};
#[doc = "TM-T88V profile\n\nEpson TM-T88V profile\n"]
pub static TM_T88V: Profile = Profile {
name: Cow::Borrowed("TM-T88V"),
vendor: Cow::Borrowed("Epson"),
features: Features(FeaturesInner::empty().union(FeaturesInner::BARCODE_A).union(FeaturesInner::BARCODE_B).union(FeaturesInner::BIT_IMAGE_COLUMN).union(FeaturesInner::BIT_IMAGE_RASTER).union(FeaturesInner::GRAPHICS).union(FeaturesInner::HIGH_DENSITY).union(FeaturesInner::PAPER_FULL_CUT).union(FeaturesInner::PAPER_PART_CUT).union(FeaturesInner::PDF417_CODE).union(FeaturesInner::PULSE_STANDARD).union(FeaturesInner::QR_CODE)),
code_pages: Cow::Borrowed(IntMap::from_entries(&[
(0, Encoding::CP437),
(1, Encoding::CP932),
(2, Encoding::CP850),
(3, Encoding::CP860),
(4, Encoding::CP863),
(5, Encoding::CP865),
(11, Encoding::CP851),
(12, Encoding::CP853),
(13, Encoding::CP857),
(14, Encoding::CP737),
(15, Encoding::ISO_8859_7),
(16, Encoding::CP1252),
(17, Encoding::CP866),
(18, Encoding::CP852),
(19, Encoding::CP858),
(30, Encoding::TCVN_3_1),
(31, Encoding::TCVN_3_2),
(32, Encoding::CP720),
(33, Encoding::CP775),
(34, Encoding::CP855),
(35, Encoding::CP861),
(36, Encoding::CP862),
(37, Encoding::CP864),
(38, Encoding::CP869),
(39, Encoding::ISO_8859_2),
(40, Encoding::ISO_8859_15),
(41, Encoding::CP1098),
(45, Encoding::CP1250),
(46, Encoding::CP1251),
(47, Encoding::CP1253),
(48, Encoding::CP1254),
(49, Encoding::CP1255),
(50, Encoding::CP1256),
(51, Encoding::CP1257),
(52, Encoding::CP1258),
(53, Encoding::RK1048),
(255, Encoding::UNKNOWN),
])),
colors: Cow::Borrowed(IntMap::from_entries(&[
(0, Color::Black),
])),
fonts: Cow::Borrowed(IntMap::from_entries(&[
(0, FontInfo { columns: 42 }),
(1, FontInfo { columns: 56 }),
])),
media: Media { dpi: Some(180), width: Some(Width { mm: 80.0, px: 512 }) },
};
#[doc = "TM-U220 profile\n\nTwo-color impact printer with 80mm output"]
pub static TM_U220: Profile = Profile {
name: Cow::Borrowed("TM-U220"),
vendor: Cow::Borrowed("Epson"),
features: Features(FeaturesInner::empty().union(FeaturesInner::BIT_IMAGE_COLUMN).union(FeaturesInner::PULSE_STANDARD)),
code_pages: Cow::Borrowed(IntMap::from_entries(&[
(0, Encoding::CP437),
])),
colors: Cow::Borrowed(IntMap::from_entries(&[
(0, Color::Black),
(1, Color::Alternate),
])),
fonts: Cow::Borrowed(IntMap::from_entries(&[
(0, FontInfo { columns: 42 }),
(1, FontInfo { columns: 56 }),
])),
media: Media { dpi: None, width: Some(Width { mm: 63.4, px: 400 }) },
};
#[doc = "TM-U220B profile\n\nTwo-color impact printer with 76mm output"]
pub static TM_U220B: Profile = Profile {
name: Cow::Borrowed("TM-U220B"),
vendor: Cow::Borrowed("Epson"),
features: Features(FeaturesInner::empty().union(FeaturesInner::BIT_IMAGE_COLUMN).union(FeaturesInner::PAPER_PART_CUT).union(FeaturesInner::PULSE_STANDARD)),
code_pages: Cow::Borrowed(IntMap::from_entries(&[
(0, Encoding::CP437),
])),
colors: Cow::Borrowed(IntMap::from_entries(&[
(0, Color::Black),
(1, Color::Alternate),
])),
fonts: Cow::Borrowed(IntMap::from_entries(&[
(0, FontInfo { columns: 42 }),
(1, FontInfo { columns: 56 }),
])),
media: Media { dpi: None, width: Some(Width { mm: 63.4, px: 400 }) },
};
#[doc = "TSP600 Series profile\n\nStar TSP600 thermal printer series with ESC/POS emulation enabled"]
pub static TSP600: Profile = Profile {
name: Cow::Borrowed("TSP600 Series"),
vendor: Cow::Borrowed("Star Micronics"),
features: Features(FeaturesInner::empty().union(FeaturesInner::BARCODE_A).union(FeaturesInner::BARCODE_B).union(FeaturesInner::BIT_IMAGE_COLUMN).union(FeaturesInner::BIT_IMAGE_RASTER).union(FeaturesInner::GRAPHICS).union(FeaturesInner::HIGH_DENSITY).union(FeaturesInner::PAPER_FULL_CUT).union(FeaturesInner::PAPER_PART_CUT).union(FeaturesInner::PDF417_CODE).union(FeaturesInner::PULSE_STANDARD).union(FeaturesInner::QR_CODE).union(FeaturesInner::STAR_COMMANDS)),
code_pages: Cow::Borrowed(IntMap::from_entries(&[
(0, Encoding::CP437),
(1, Encoding::CP437),
(2, Encoding::CP932),
(3, Encoding::CP437),
(4, Encoding::CP858),
(5, Encoding::CP852),
(6, Encoding::CP860),
(7, Encoding::CP861),
(8, Encoding::CP863),
(9, Encoding::CP865),
(10, Encoding::CP866),
(11, Encoding::CP855),
(12, Encoding::CP857),
(13, Encoding::CP862),
(14, Encoding::CP864),
(15, Encoding::CP737),
(16, Encoding::CP851),
(17, Encoding::CP869),
(18, Encoding::CP928),
(19, Encoding::CP772),
(20, Encoding::CP774),
(21, Encoding::CP874),
(32, Encoding::CP1252),
(33, Encoding::CP1250),
(34, Encoding::CP1251),
(64, Encoding::CP3840),
(65, Encoding::CP3841),
(66, Encoding::CP3843),
(67, Encoding::CP3844),
(68, Encoding::CP3845),
(69, Encoding::CP3846),
(70, Encoding::CP3847),
(71, Encoding::CP3848),
(72, Encoding::CP1001),
(73, Encoding::CP2001),
(74, Encoding::CP3001),
(75, Encoding::CP3002),
(76, Encoding::CP3011),
(77, Encoding::CP3012),
(78, Encoding::CP3021),
(79, Encoding::CP3041),
(96, Encoding::UNKNOWN),
(97, Encoding::UNKNOWN),
(98, Encoding::UNKNOWN),
(99, Encoding::UNKNOWN),
(100, Encoding::UNKNOWN),
(101, Encoding::UNKNOWN),
(102, Encoding::UNKNOWN),
(255, Encoding::UNKNOWN),
])),
colors: Cow::Borrowed(IntMap::from_entries(&[
(0, Color::Black),
])),
fonts: Cow::Borrowed(IntMap::from_entries(&[
(0, FontInfo { columns: 42 }),
(1, FontInfo { columns: 56 }),
])),
media: Media { dpi: Some(203), width: Some(Width { mm: 72.0, px: 576 }) },
};
#[doc = "TUP500 Series profile\n\nStar TUP500 thermal printer series with ESC/POS emulation enabled"]
pub static TUP500: Profile = Profile {
name: Cow::Borrowed("TUP500 Series"),
vendor: Cow::Borrowed("Star Micronics"),
features: Features(FeaturesInner::empty().union(FeaturesInner::BARCODE_A).union(FeaturesInner::BARCODE_B).union(FeaturesInner::BIT_IMAGE_COLUMN).union(FeaturesInner::BIT_IMAGE_RASTER).union(FeaturesInner::GRAPHICS).union(FeaturesInner::HIGH_DENSITY).union(FeaturesInner::PAPER_FULL_CUT).union(FeaturesInner::PAPER_PART_CUT).union(FeaturesInner::PDF417_CODE).union(FeaturesInner::PULSE_STANDARD).union(FeaturesInner::QR_CODE).union(FeaturesInner::STAR_COMMANDS)),
code_pages: Cow::Borrowed(IntMap::from_entries(&[
(0, Encoding::CP437),
(1, Encoding::CP437),
(2, Encoding::CP932),
(3, Encoding::CP437),
(4, Encoding::CP858),
(5, Encoding::CP852),
(6, Encoding::CP860),
(7, Encoding::CP861),
(8, Encoding::CP863),
(9, Encoding::CP865),
(10, Encoding::CP866),
(11, Encoding::CP855),
(12, Encoding::CP857),
(13, Encoding::CP862),
(14, Encoding::CP864),
(15, Encoding::CP737),
(16, Encoding::CP851),
(17, Encoding::CP869),
(18, Encoding::CP928),
(19, Encoding::CP772),
(20, Encoding::CP774),
(21, Encoding::CP874),
(32, Encoding::CP1252),
(33, Encoding::CP1250),
(34, Encoding::CP1251),
(64, Encoding::CP3840),
(65, Encoding::CP3841),
(66, Encoding::CP3843),
(67, Encoding::CP3844),
(68, Encoding::CP3845),
(69, Encoding::CP3846),
(70, Encoding::CP3847),
(71, Encoding::CP3848),
(72, Encoding::CP1001),
(73, Encoding::CP2001),
(74, Encoding::CP3001),
(75, Encoding::CP3002),
(76, Encoding::CP3011),
(77, Encoding::CP3012),
(78, Encoding::CP3021),
(79, Encoding::CP3041),
(96, Encoding::UNKNOWN),
(97, Encoding::UNKNOWN),
(98, Encoding::UNKNOWN),
(99, Encoding::UNKNOWN),
(100, Encoding::UNKNOWN),
(101, Encoding::UNKNOWN),
(102, Encoding::UNKNOWN),
(255, Encoding::UNKNOWN),
])),
colors: Cow::Borrowed(IntMap::from_entries(&[
(0, Color::Black),
])),
fonts: Cow::Borrowed(IntMap::from_entries(&[
(0, FontInfo { columns: 42 }),
(1, FontInfo { columns: 56 }),
])),
media: Media { dpi: Some(203), width: Some(Width { mm: 80.0, px: 65535 }) },
};
#[doc = "ZJ-5870 Thermal Receipt Printer profile\n\nESC/POS Profile for ZiJiang ZJ-5870 Thermal Receipt Printer, which may be branded AGPtEK or Esky, and identifies itself as a POS-58 Thermal Printer on selftest. This profile is suitable for alphanumberic character mode, but is untested on Chinese character mode. (Change modes by holding down feed button during power-on until the mode LED turns off, then release immediately.)\n"]
pub static ZJ_5870: Profile = Profile {
name: Cow::Borrowed("ZJ-5870 Thermal Receipt Printer"),
vendor: Cow::Borrowed("ZiJiang"),
features: Features(FeaturesInner::empty().union(FeaturesInner::BIT_IMAGE_COLUMN).union(FeaturesInner::BIT_IMAGE_RASTER).union(FeaturesInner::PULSE_STANDARD)),
code_pages: Cow::Borrowed(IntMap::from_entries(&[
(0, Encoding::CP437),
(1, Encoding::CP932),
(2, Encoding::CP850),
(3, Encoding::CP860),
(4, Encoding::CP863),
(5, Encoding::CP865),
(16, Encoding::CP1252),
(17, Encoding::CP866),
(18, Encoding::CP852),
])),
colors: Cow::Borrowed(IntMap::from_entries(&[
(0, Color::Black),
])),
fonts: Cow::Borrowed(IntMap::from_entries(&[
(0, FontInfo { columns: 32 }),
])),
media: Media { dpi: Some(203), width: Some(Width { mm: 48.0, px: 384 }) },
};
#[doc = "Default profile\n\nDefault ESC/POS profile, suitable for standards-compliant or Epson-branded printers. This profile allows the use of standard ESC/POS features, and can encode a variety of code pages.\n"]
pub static DEFAULT: Profile = Profile {
name: Cow::Borrowed("Default"),
vendor: Cow::Borrowed("Generic"),
features: Features(FeaturesInner::empty().union(FeaturesInner::BARCODE_A).union(FeaturesInner::BARCODE_B).union(FeaturesInner::BIT_IMAGE_COLUMN).union(FeaturesInner::BIT_IMAGE_RASTER).union(FeaturesInner::GRAPHICS).union(FeaturesInner::HIGH_DENSITY).union(FeaturesInner::PAPER_FULL_CUT).union(FeaturesInner::PAPER_PART_CUT).union(FeaturesInner::PDF417_CODE).union(FeaturesInner::PULSE_STANDARD).union(FeaturesInner::QR_CODE)),
code_pages: Cow::Borrowed(IntMap::from_entries(&[
(0, Encoding::CP437),
(1, Encoding::CP932),
(2, Encoding::CP850),
(3, Encoding::CP860),
(4, Encoding::CP863),
(5, Encoding::CP865),
(6, Encoding::UNKNOWN),
(7, Encoding::UNKNOWN),
(8, Encoding::UNKNOWN),
(11, Encoding::CP851),
(12, Encoding::CP853),
(13, Encoding::CP857),
(14, Encoding::CP737),
(15, Encoding::ISO_8859_7),
(16, Encoding::CP1252),
(17, Encoding::CP866),
(18, Encoding::CP852),
(19, Encoding::CP858),
(20, Encoding::UNKNOWN),
(21, Encoding::CP874),
(22, Encoding::UNKNOWN),
(23, Encoding::UNKNOWN),
(24, Encoding::UNKNOWN),
(25, Encoding::UNKNOWN),
(26, Encoding::UNKNOWN),
(30, Encoding::TCVN_3_1),
(31, Encoding::TCVN_3_2),
(32, Encoding::CP720),
(33, Encoding::CP775),
(34, Encoding::CP855),
(35, Encoding::CP861),
(36, Encoding::CP862),
(37, Encoding::CP864),
(38, Encoding::CP869),
(39, Encoding::ISO_8859_2),
(40, Encoding::ISO_8859_15),
(41, Encoding::CP1098),
(42, Encoding::CP774),
(43, Encoding::CP772),
(44, Encoding::CP1125),
(45, Encoding::CP1250),
(46, Encoding::CP1251),
(47, Encoding::CP1253),
(48, Encoding::CP1254),
(49, Encoding::CP1255),
(50, Encoding::CP1256),
(51, Encoding::CP1257),
(52, Encoding::CP1258),
(53, Encoding::RK1048),
(66, Encoding::UNKNOWN),
(67, Encoding::UNKNOWN),
(68, Encoding::UNKNOWN),
(69, Encoding::UNKNOWN),
(70, Encoding::UNKNOWN),
(71, Encoding::UNKNOWN),
(72, Encoding::UNKNOWN),
(73, Encoding::UNKNOWN),
(74, Encoding::UNKNOWN),
(75, Encoding::UNKNOWN),
(82, Encoding::UNKNOWN),
(254, Encoding::UNKNOWN),
(255, Encoding::UNKNOWN),
])),
colors: Cow::Borrowed(IntMap::from_entries(&[
(0, Color::Black),
])),
fonts: Cow::Borrowed(IntMap::from_entries(&[
(0, FontInfo { columns: 42 }),
(1, FontInfo { columns: 56 }),
])),
media: Media { dpi: None, width: None },
};
#[doc = "Star mcPrint2/mcPrint3 profile\n\nStar mcPrint2/mcPrint3 printers. Technical documentation is in the \"StarPRNT Command specifications Rev. 2.40\" document, which can be found online.\n"]
pub static MC_PRINT: Profile = Profile {
name: Cow::Borrowed("Star mcPrint2/mcPrint3"),
vendor: Cow::Borrowed("Star Micronics"),
features: Features(FeaturesInner::empty().union(FeaturesInner::BARCODE_A).union(FeaturesInner::BARCODE_B).union(FeaturesInner::BIT_IMAGE_COLUMN).union(FeaturesInner::BIT_IMAGE_RASTER).union(FeaturesInner::GRAPHICS).union(FeaturesInner::HIGH_DENSITY).union(FeaturesInner::PAPER_FULL_CUT).union(FeaturesInner::PAPER_PART_CUT).union(FeaturesInner::PDF417_CODE).union(FeaturesInner::PULSE_STANDARD).union(FeaturesInner::QR_CODE).union(FeaturesInner::STAR_COMMANDS)),
code_pages: Cow::Borrowed(IntMap::from_entries(&[
(0, Encoding::UNKNOWN),
(1, Encoding::CP437),
(2, Encoding::CP932),
(3, Encoding::CP437),
(4, Encoding::CP858),
(5, Encoding::CP852),
(6, Encoding::CP860),
(7, Encoding::CP861),
(8, Encoding::CP863),
(9, Encoding::CP865),
(10, Encoding::CP866),
(11, Encoding::CP855),
(12, Encoding::CP857),
(13, Encoding::CP862),
(14, Encoding::CP864),
(15, Encoding::CP737),
(16, Encoding::CP851),
(17, Encoding::CP869),
(18, Encoding::CP928),
(19, Encoding::CP772),
(20, Encoding::CP774),
(21, Encoding::UNKNOWN),
(32, Encoding::CP1252),
(33, Encoding::CP1250),
(34, Encoding::CP1251),
(64, Encoding::CP3840),
(65, Encoding::CP3841),
(66, Encoding::CP3843),
(67, Encoding::CP3844),
(68, Encoding::CP3845),
(69, Encoding::CP3846),
(70, Encoding::CP3847),
(71, Encoding::CP3848),
(72, Encoding::CP1001),
(73, Encoding::CP2001),
(74, Encoding::CP3001),
(75, Encoding::CP3002),
(76, Encoding::CP3011),
(77, Encoding::CP3012),
(78, Encoding::CP3021),
(79, Encoding::CP3041),
(96, Encoding::UNKNOWN),
(97, Encoding::UNKNOWN),
(98, Encoding::UNKNOWN),
(102, Encoding::UNKNOWN),
(255, Encoding::UNKNOWN),
])),
colors: Cow::Borrowed(IntMap::from_entries(&[
(0, Color::Black),
])),
fonts: Cow::Borrowed(IntMap::from_entries(&[
(0, FontInfo { columns: 42 }),
(1, FontInfo { columns: 56 }),
])),
media: Media { dpi: None, width: None },
};
#[doc = "Safe profile\n\nDefault \"safe\" ESC/POS profile, suitable for standards-compliant or Epson-branded printers. This profile is similar to the \"generic\" profile, but has a lot less codepages to avoid encoding errors.\n"]
pub static SAFE: Profile = Profile {
name: Cow::Borrowed("Safe"),
vendor: Cow::Borrowed("Generic"),
features: Features(FeaturesInner::empty().union(FeaturesInner::BARCODE_A).union(FeaturesInner::BARCODE_B).union(FeaturesInner::BIT_IMAGE_COLUMN).union(FeaturesInner::BIT_IMAGE_RASTER).union(FeaturesInner::GRAPHICS).union(FeaturesInner::HIGH_DENSITY).union(FeaturesInner::PAPER_FULL_CUT).union(FeaturesInner::PAPER_PART_CUT).union(FeaturesInner::PDF417_CODE).union(FeaturesInner::PULSE_STANDARD).union(FeaturesInner::QR_CODE)),
code_pages: Cow::Borrowed(IntMap::from_entries(&[
(0, Encoding::CP437),
(1, Encoding::CP932),
(2, Encoding::CP850),
(3, Encoding::CP860),
(4, Encoding::CP863),
(5, Encoding::CP865),
(16, Encoding::CP1252),
(17, Encoding::CP866),
(18, Encoding::CP852),
(19, Encoding::CP858),
(255, Encoding::UNKNOWN),
])),
colors: Cow::Borrowed(IntMap::from_entries(&[
(0, Color::Black),
])),
fonts: Cow::Borrowed(IntMap::from_entries(&[
(0, FontInfo { columns: 42 }),
(1, FontInfo { columns: 56 }),
])),
media: Media { dpi: None, width: None },
};
#[doc = "Simple profile\n\nA profile for use in printers with unknown or poor compatibility. This profile indicates that a small number of features are supported, so that commands are not sent a printer that is unlikely to understand them.\n"]
pub static SIMPLE: Profile = Profile {
name: Cow::Borrowed("Simple"),
vendor: Cow::Borrowed("Generic"),
features: Features(FeaturesInner::empty().union(FeaturesInner::BIT_IMAGE_RASTER).union(FeaturesInner::HIGH_DENSITY).union(FeaturesInner::PULSE_STANDARD)),
code_pages: Cow::Borrowed(IntMap::from_entries(&[
(0, Encoding::CP437),
])),
colors: Cow::Borrowed(IntMap::from_entries(&[
(0, Color::Black),
])),
fonts: Cow::Borrowed(IntMap::from_entries(&[
(0, FontInfo { columns: 42 }),
(1, FontInfo { columns: 56 }),
])),
media: Media { dpi: None, width: None },
};
pub static ALL_PROFILES: phf::Map<&'static str, &'static Profile<'static>> = ::phf::Map {
key: 10121458955350035957,
disps: &[
(18, 26),
(0, 8),
(1, 2),
(0, 2),
(0, 10),
(28, 17),
(2, 0),
(6, 11),
],
entries: &[
("TM-P80", &TM_P80),
("CT-S651", &CT_S651),
("TH230Plus", &TH230_PLUS),
("TM-T88V", &TM_T88V),
("simple", &SIMPLE),
("KR-306", &KR_306),
("TM-T88IV", &TM_T88IV),
("TSP600", &TSP600),
("TM-T88III", &TM_T88III),
("TM-P80-42col", &TM_P80_42COL),
("TM-U220", &TM_U220),
("SRP-S300", &SRP_S300),
("RP-F10-58mm", &RP_F10_58MM),
("safe", &SAFE),
("TM-L90", &TM_L90),
("POS-5890", &POS_5890),
("TEP-200M", &TEP_200M),
("ZJ-5870", &ZJ_5870),
("P822D", &P822D),
("TM-T88II", &TM_T88II),
("AF-240", &AF_240),
("default", &DEFAULT),
("RP326", &RP326),
("TM-T88IV-SA", &TM_T88IV_SA),
("RP-F10-80mm", &RP_F10_80MM),
("NT-80-V-UL", &NT_80_V_UL),
("TUP500", &TUP500),
("OCD-300", &OCD_300),
("NT-5890K", &NT_5890K),
("ITPP047", &ITPP047),
("TM-U220B", &TM_U220B),
("TM-T20II", &TM_T20II),
("SP2000", &SP2000),
("mcPrint", &MC_PRINT),
("OCD-100", &OCD_100),
("T-1", &T_1),
("Sunmi-V2", &SUNMI_V2),
("TM-T20II-42col", &TM_T20II_42COL),
("TH230", &TH230),
],
};