1use crate::*;
5
6#[derive(Debug, Copy, Clone)]
7#[non_exhaustive]
8#[allow(non_camel_case_types)]
9pub enum Encoding {
11 #[doc = "Unimplemented Star-specific CP1001"] CP1001,
12 #[doc = "CP1098"] CP1098,
13 #[doc = "CP1125"] CP1125,
14 #[doc = "CP1250"] CP1250,
15 #[doc = "CP1251"] CP1251,
16 #[doc = "CP1252"] CP1252,
17 #[doc = "CP1253"] CP1253,
18 #[doc = "CP1254"] CP1254,
19 #[doc = "CP1255"] CP1255,
20 #[doc = "CP1256"] CP1256,
21 #[doc = "CP1257"] CP1257,
22 #[doc = "CP1258"] CP1258,
23 #[doc = "Unimplemented Star-specific CP2001"] CP2001,
24 #[doc = "Unimplemented Star-specific CP3001"] CP3001,
25 #[doc = "Unimplemented Star-specific CP3002"] CP3002,
26 #[doc = "CP3011 Latvian"] CP3011,
27 #[doc = "CP3012 Cyrillic"] CP3012,
28 #[doc = "Unimplemented Star-specific CP3021"] CP3021,
29 #[doc = "Unimplemented Star-specific CP3041"] CP3041,
30 #[doc = "Unimplemented Star-specific CP3840"] CP3840,
31 #[doc = "Unimplemented Star-specific CP3841"] CP3841,
32 #[doc = "Unimplemented Star-specific CP3843"] CP3843,
33 #[doc = "Unimplemented Star-specific CP3844"] CP3844,
34 #[doc = "Unimplemented Star-specific CP3845"] CP3845,
35 #[doc = "Unimplemented Star-specific CP3846"] CP3846,
36 #[doc = "Unimplemented Star-specific CP3847"] CP3847,
37 #[doc = "Unimplemented Star-specific CP3848"] CP3848,
38 #[doc = "CP437"] CP437,
39 #[doc = "CP720"] CP720,
40 #[doc = "CP737"] CP737,
41 #[doc = "CP747"] CP747,
42 #[doc = "CP772"] CP772,
43 #[doc = "CP774"] CP774,
44 #[doc = "CP775"] CP775,
45 #[doc = "CP850"] CP850,
46 #[doc = "Greek CP851\n\nNot used, due to inconsistencies between implementations."] CP851,
47 #[doc = "CP852"] CP852,
48 #[doc = "CP853"] CP853,
49 #[doc = "CP855"] CP855,
50 #[doc = "CP856"] CP856,
51 #[doc = "CP857"] CP857,
52 #[doc = "CP858"] CP858,
53 #[doc = "CP860"] CP860,
54 #[doc = "CP861"] CP861,
55 #[doc = "CP862"] CP862,
56 #[doc = "CP863"] CP863,
57 #[doc = "CP864"] CP864,
58 #[doc = "CP865"] CP865,
59 #[doc = "CP866"] CP866,
60 #[doc = "CP869"] CP869,
61 #[doc = "CP874"] CP874,
62 #[doc = "CP928"] CP928,
63 #[doc = "CP932"] CP932,
64 #[doc = "ISO_8859-1"] ISO_8859_1,
65 #[doc = "ISO_8859-15"] ISO_8859_15,
66 #[doc = "ISO_8859-2"] ISO_8859_2,
67 #[doc = "ISO_8859-3"] ISO_8859_3,
68 #[doc = "ISO_8859-4"] ISO_8859_4,
69 #[doc = "ISO_8859-5"] ISO_8859_5,
70 #[doc = "ISO_8859-6"] ISO_8859_6,
71 #[doc = "ISO_8859-7"] ISO_8859_7,
72 #[doc = "ISO_8859-8"] ISO_8859_8,
73 #[doc = "ISO_8859-9"] ISO_8859_9,
74 #[doc = "Katakana (codepage 1)"] KATAKANA,
75 #[doc = "Oxhoo-specific European"] OXHOO_EUROPEAN,
76 #[doc = "RK1048"] RK1048,
77 #[doc = "Vietnamese TCVN-3 1"] TCVN_3_1,
78 #[doc = "Vietnamese TCVN-3 1"] TCVN_3_2,
79 #[doc = "Unknown\n\nCode page that has not yet been identified."] UNKNOWN,
80}
81
82pub(crate) fn encoding_data(enc: Encoding) -> Option<&'static [char; 128]> {
83 match enc {
84 Encoding::CP3011 => Some(&['Ç', 'ü', 'é', 'â', 'ä', 'à', 'å', 'ç', 'ê', 'ë', 'è', 'ï', 'î', 'ì', 'Ä', 'Å', 'É', 'æ', 'Æ', 'ô', 'ö', 'ò', 'û', 'ù', 'ÿ', 'Ö', 'Ü', '¢', '£', '¥', '₧', 'ƒ', 'á', 'í', 'ó', 'ú', 'ñ', 'Ñ', 'ª', 'º', '¿', '⌐', '¬', '½', '¼', '¡', '«', '»', '░', '▒', '▓', '│', '┤', 'Ā', '╢', 'ņ', '╕', '╣', '║', '╗', '╝', '╜', '╛', '┐', '└', '┴', '┬', '├', '─', '┼', 'ā', '╟', '╚', '╔', '╩', '╦', '╠', '═', '╬', '╧', 'Š', '╤', 'č', 'Č', '╘', '╒', 'ģ', 'Ī', 'ī', '┘', '┌', '█', '▄', 'ū', 'Ū', '▀', 'α', 'ß', 'Γ', 'π', 'Σ', 'σ', 'µ', 'τ', 'Φ', 'Θ', 'Ω', 'δ', '∞', 'φ', 'ε', '∩', 'Ē', 'ē', 'Ģ', 'ķ', 'Ķ', 'ļ', 'Ļ', 'ž', 'Ž', '∙', '·', '√', 'Ņ', 'š', '■', ' ']),
85 Encoding::CP3012 => Some(&['А', 'Б', 'В', 'Г', 'Д', 'Е', 'Ж', 'З', 'И', 'Й', 'К', 'Л', 'М', 'Н', 'О', 'П', 'Р', 'С', 'Т', 'У', 'Ф', 'Х', 'Ц', 'Ч', 'Ш', 'Щ', 'Ъ', 'Ы', 'Ь', 'Э', 'Ю', 'Я', 'а', 'б', 'в', 'г', 'д', 'е', 'ж', 'з', 'и', 'й', 'к', 'л', 'м', 'н', 'о', 'п', '░', '▒', '▓', '│', '┤', 'Ā', '╢', 'ņ', '╕', '╣', '║', '╗', '╝', 'Ō', '╛', '┐', '└', '┴', '┬', '├', '─', '┼', 'ā', '╟', '╚', '╔', '╩', '╦', '╠', '═', '╬', '╧', 'Š', '╤', 'č', 'Č', '╘', '╒', 'ģ', 'Ī', 'ī', '┘', '┌', '█', '▄', 'ū', 'Ū', '▀', 'р', 'с', 'т', 'у', 'ф', 'х', 'ц', 'ч', 'ш', 'щ', 'ъ', 'ы', 'ь', 'э', 'ю', 'я', 'Ē', 'ē', 'Ģ', 'ķ', 'Ķ', 'ļ', 'Ļ', 'ž', 'Ž', '∙', '·', '√', 'Ņ', 'š', '■', ' ']),
86 Encoding::KATAKANA => Some(&['▁', '▂', '▃', '▄', '▅', '▆', '▇', '█', '▏', '▎', '▍', '▌', '▋', '▊', '▉', '┼', '┴', '┬', '┤', '├', '¯', '─', '│', '▕', '┌', '┐', '└', '┘', '╭', '╮', '╰', '╯', ' ', '。', '「', '」', '、', '・', 'ヲ', 'ァ', 'ィ', 'ゥ', 'ェ', 'ォ', 'ャ', 'ュ', 'ョ', 'ッ', 'ー', 'ア', 'イ', 'ウ', 'エ', 'オ', 'カ', 'キ', 'ク', 'ケ', 'コ', 'サ', 'シ', 'ス', 'セ', 'ソ', 'タ', 'チ', 'ツ', 'テ', 'ト', 'ナ', 'ニ', 'ヌ', 'ネ', 'ノ', 'ハ', 'ヒ', 'フ', 'ヘ', 'ホ', 'マ', 'ミ', 'ム', 'メ', 'モ', 'ヤ', 'ユ', 'ヨ', 'ラ', 'リ', 'ル', 'レ', 'ロ', 'ワ', 'ン', '\u{ff9e}', '\u{ff9f}', '═', '╞', '╪', '╡', '◢', '◣', '◥', '◤', '♠', '♥', '♦', '♣', '●', '○', '╱', '╲', '╳', '円', '年', '月', '日', '時', '分', '秒', '〒', '市', '区', '町', '村', '人', '▓', '\u{a0}']),
87 Encoding::OXHOO_EUROPEAN => Some(&['Ç', 'ü', 'é', 'â', 'ä', 'à', 'å', 'ç', 'ê', 'ë', 'è', 'ï', 'î', 'ì', 'Ä', 'Å', 'É', 'æ', 'Æ', 'ô', 'ö', 'ò', 'û', 'ù', 'ÿ', 'Ö', 'Ü', 'ñ', 'Ñ', 'ª', 'º', '¿', 'á', 'í', 'ó', 'ú', '¢', '£', '¥', '₧', 'ƒ', '¡', 'Ã', 'ã', 'Õ', 'õ', 'Ø', 'ø', '·', '¨', '°', '`', '´', '½', '¼', '×', '÷', '≤', '≥', '«', '»', '≠', '√', '¯', '⌠', '⌡', '∞', '◤', '↵', '↑', '↓', '→', '←', '┌', '┐', '└', '┘', '•', '®', '©', '™', '†', '§', '¶', 'Γ', '◢', 'Θ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', 'ß', ' ', ' ', ' ', 'ε', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', 'τ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ']),
88 Encoding::TCVN_3_1 => Some(&[' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', 'ă', 'â', 'ê', 'ô', 'ơ', 'ư', 'đ', ' ', ' ', ' ', ' ', ' ', ' ', 'à', 'ả', 'ã', 'á', 'ạ', ' ', 'ằ', 'ẳ', 'ẵ', 'ắ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', 'ặ', 'ầ', 'ẩ', 'ẫ', 'ấ', 'ậ', 'è', ' ', 'ẻ', 'ẽ', 'é', 'ẹ', 'ề', 'ể', 'ễ', 'ế', 'ệ', 'ì', 'ỉ', ' ', ' ', ' ', 'ĩ', 'í', 'ị', 'ò', ' ', 'ỏ', 'õ', 'ó', 'ọ', 'ồ', 'ổ', 'ỗ', 'ố', 'ộ', 'ờ', 'ở', 'ỡ', 'ớ', 'ợ', 'ù', ' ', 'ủ', 'ũ', 'ú', 'ụ', 'ừ', 'ử', 'ữ', 'ứ', 'ự', 'ỳ', 'ỷ', 'ỹ', 'ý', 'ỵ', ' ']),
89 Encoding::TCVN_3_2 => Some(&[' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', 'Ă', 'Â', ' ', ' ', ' ', ' ', 'Ð', ' ', ' ', 'Ê', 'Ô', 'Ơ', 'Ư', ' ', ' ', ' ', ' ', ' ', ' ', ' ', 'À', 'Ả', 'Ã', 'Á', 'Ạ', ' ', 'Ằ', 'Ẳ', 'Ẵ', 'Ắ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', 'Ặ', 'Ầ', 'Ẩ', 'Ẫ', 'Ấ', 'Ậ', 'È', ' ', 'Ẻ', 'Ẽ', 'É', 'Ẹ', 'Ề', 'Ể', 'Ễ', 'Ế', 'Ệ', 'Ì', 'Ỉ', ' ', ' ', ' ', 'Ĩ', 'Í', 'Ị', 'Ò', ' ', 'Ỏ', 'Õ', 'Ó', 'Ọ', 'Ồ', 'Ổ', 'Ỗ', 'Ố', 'Ộ', 'Ờ', 'Ở', 'Ỡ', 'Ớ', 'Ợ', 'Ù', ' ', 'Ủ', 'Ũ', 'Ú', 'Ụ', 'Ừ', 'Ử', 'Ữ', 'Ứ', 'Ự', 'Ỳ', 'Ỷ', 'Ỹ', 'Ý', 'Ỵ', ' ']),
90 _ => None,
91 }
92}
93bitflags::bitflags! { #[derive(Copy, Clone, Debug, Default)] pub(crate) struct FeaturesInner: u32 {
94 const BARCODE_A = 1;
95 const BARCODE_B = 2;
96 const BIT_IMAGE_COLUMN = 4;
97 const BIT_IMAGE_RASTER = 8;
98 const GRAPHICS = 16;
99 const HIGH_DENSITY = 32;
100 const PAPER_FULL_CUT = 64;
101 const PAPER_PART_CUT = 128;
102 const PDF417_CODE = 256;
103 const PULSE_BEL = 512;
104 const PULSE_STANDARD = 1024;
105 const QR_CODE = 2048;
106 const STAR_COMMANDS = 4096;
107} }
108impl Features {
109 #[doc = "Check if the `barcodeA` feature is supported."]
110 pub fn barcode_a(&self) -> bool {
111 self.0.contains(FeaturesInner::BARCODE_A)
112 }
113 #[doc = "Check if the `barcodeB` feature is supported."]
114 pub fn barcode_b(&self) -> bool {
115 self.0.contains(FeaturesInner::BARCODE_B)
116 }
117 #[doc = "Check if the `bitImageColumn` feature is supported."]
118 pub fn bit_image_column(&self) -> bool {
119 self.0.contains(FeaturesInner::BIT_IMAGE_COLUMN)
120 }
121 #[doc = "Check if the `bitImageRaster` feature is supported."]
122 pub fn bit_image_raster(&self) -> bool {
123 self.0.contains(FeaturesInner::BIT_IMAGE_RASTER)
124 }
125 #[doc = "Check if the `graphics` feature is supported."]
126 pub fn graphics(&self) -> bool {
127 self.0.contains(FeaturesInner::GRAPHICS)
128 }
129 #[doc = "Check if the `highDensity` feature is supported."]
130 pub fn high_density(&self) -> bool {
131 self.0.contains(FeaturesInner::HIGH_DENSITY)
132 }
133 #[doc = "Check if the `paperFullCut` feature is supported."]
134 pub fn paper_full_cut(&self) -> bool {
135 self.0.contains(FeaturesInner::PAPER_FULL_CUT)
136 }
137 #[doc = "Check if the `paperPartCut` feature is supported."]
138 pub fn paper_part_cut(&self) -> bool {
139 self.0.contains(FeaturesInner::PAPER_PART_CUT)
140 }
141 #[doc = "Check if the `pdf417Code` feature is supported."]
142 pub fn pdf417_code(&self) -> bool {
143 self.0.contains(FeaturesInner::PDF417_CODE)
144 }
145 #[doc = "Check if the `pulseBel` feature is supported."]
146 pub fn pulse_bel(&self) -> bool {
147 self.0.contains(FeaturesInner::PULSE_BEL)
148 }
149 #[doc = "Check if the `pulseStandard` feature is supported."]
150 pub fn pulse_standard(&self) -> bool {
151 self.0.contains(FeaturesInner::PULSE_STANDARD)
152 }
153 #[doc = "Check if the `qrCode` feature is supported."]
154 pub fn qr_code(&self) -> bool {
155 self.0.contains(FeaturesInner::QR_CODE)
156 }
157 #[doc = "Check if the `starCommands` feature is supported."]
158 pub fn star_commands(&self) -> bool {
159 self.0.contains(FeaturesInner::STAR_COMMANDS)
160 }
161}
162impl Features {
163pub const fn new() -> Self {
165 Self(FeaturesInner::empty())
166 }
167 #[doc = "Set the `barcodeA` feature to be on or off."]
168 pub fn with_barcode_a(self, on: bool) -> Self {
169 self._with(FeaturesInner::BARCODE_A, on)
170 }
171 #[doc = "Set the `barcodeB` feature to be on or off."]
172 pub fn with_barcode_b(self, on: bool) -> Self {
173 self._with(FeaturesInner::BARCODE_B, on)
174 }
175 #[doc = "Set the `bitImageColumn` feature to be on or off."]
176 pub fn with_bit_image_column(self, on: bool) -> Self {
177 self._with(FeaturesInner::BIT_IMAGE_COLUMN, on)
178 }
179 #[doc = "Set the `bitImageRaster` feature to be on or off."]
180 pub fn with_bit_image_raster(self, on: bool) -> Self {
181 self._with(FeaturesInner::BIT_IMAGE_RASTER, on)
182 }
183 #[doc = "Set the `graphics` feature to be on or off."]
184 pub fn with_graphics(self, on: bool) -> Self {
185 self._with(FeaturesInner::GRAPHICS, on)
186 }
187 #[doc = "Set the `highDensity` feature to be on or off."]
188 pub fn with_high_density(self, on: bool) -> Self {
189 self._with(FeaturesInner::HIGH_DENSITY, on)
190 }
191 #[doc = "Set the `paperFullCut` feature to be on or off."]
192 pub fn with_paper_full_cut(self, on: bool) -> Self {
193 self._with(FeaturesInner::PAPER_FULL_CUT, on)
194 }
195 #[doc = "Set the `paperPartCut` feature to be on or off."]
196 pub fn with_paper_part_cut(self, on: bool) -> Self {
197 self._with(FeaturesInner::PAPER_PART_CUT, on)
198 }
199 #[doc = "Set the `pdf417Code` feature to be on or off."]
200 pub fn with_pdf417_code(self, on: bool) -> Self {
201 self._with(FeaturesInner::PDF417_CODE, on)
202 }
203 #[doc = "Set the `pulseBel` feature to be on or off."]
204 pub fn with_pulse_bel(self, on: bool) -> Self {
205 self._with(FeaturesInner::PULSE_BEL, on)
206 }
207 #[doc = "Set the `pulseStandard` feature to be on or off."]
208 pub fn with_pulse_standard(self, on: bool) -> Self {
209 self._with(FeaturesInner::PULSE_STANDARD, on)
210 }
211 #[doc = "Set the `qrCode` feature to be on or off."]
212 pub fn with_qr_code(self, on: bool) -> Self {
213 self._with(FeaturesInner::QR_CODE, on)
214 }
215 #[doc = "Set the `starCommands` feature to be on or off."]
216 pub fn with_star_commands(self, on: bool) -> Self {
217 self._with(FeaturesInner::STAR_COMMANDS, on)
218 }
219}
220#[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"]
221pub static AF_240: Profile = Profile {
222 name: Cow::Borrowed("AF-240 Customer Display"),
223 vendor: Cow::Borrowed("Oxhoo"),
224 features: Features(FeaturesInner::empty()),
225 code_pages: Cow::Borrowed(IntMap::from_entries(&[
226 (0, Encoding::OXHOO_EUROPEAN),
227 ])),
228 colors: Cow::Borrowed(IntMap::from_entries(&[
229 (0, Color::Black),
230 ])),
231 fonts: Cow::Borrowed(IntMap::from_entries(&[
232 (0, FontInfo { columns: 20 }),
233 ])),
234 media: Media { dpi: None, width: Some(Width { mm: 120.0, px: 100 }) },
235};
236
237#[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"]
238pub static CT_S651: Profile = Profile {
239 name: Cow::Borrowed("CT-S651"),
240 vendor: Cow::Borrowed("Citizen"),
241 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)),
242 code_pages: Cow::Borrowed(IntMap::from_entries(&[
243 (0, Encoding::CP437),
244 (1, Encoding::CP932),
245 (2, Encoding::CP850),
246 (3, Encoding::CP860),
247 (4, Encoding::CP863),
248 (5, Encoding::CP865),
249 (6, Encoding::CP852),
250 (7, Encoding::CP866),
251 (8, Encoding::CP857),
252 (9, Encoding::CP1252),
253 (16, Encoding::CP1252),
254 (17, Encoding::CP866),
255 (18, Encoding::CP852),
256 (19, Encoding::CP858),
257 (20, Encoding::UNKNOWN),
258 (21, Encoding::UNKNOWN),
259 (25, Encoding::UNKNOWN),
260 (26, Encoding::UNKNOWN),
261 (30, Encoding::TCVN_3_1),
262 (31, Encoding::TCVN_3_2),
263 (40, Encoding::CP864),
264 (255, Encoding::UNKNOWN),
265 ])),
266 colors: Cow::Borrowed(IntMap::from_entries(&[
267 (0, Color::Black),
268 (1, Color::Red),
269 ])),
270 fonts: Cow::Borrowed(IntMap::from_entries(&[
271 (0, FontInfo { columns: 48 }),
272 (1, FontInfo { columns: 64 }),
273 (2, FontInfo { columns: 72 }),
274 ])),
275 media: Media { dpi: Some(203), width: Some(Width { mm: 80.0, px: 640 }) },
276};
277
278#[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"]
279pub static ITPP047: Profile = Profile {
280 name: Cow::Borrowed("ITPP047"),
281 vendor: Cow::Borrowed("Munbyn"),
282 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)),
283 code_pages: Cow::Borrowed(IntMap::from_entries(&[
284 (0, Encoding::CP437),
285 (1, Encoding::CP932),
286 (2, Encoding::CP850),
287 (3, Encoding::CP860),
288 (4, Encoding::CP863),
289 (5, Encoding::CP865),
290 (6, Encoding::CP1252),
291 (7, Encoding::UNKNOWN),
292 (8, Encoding::UNKNOWN),
293 (9, Encoding::UNKNOWN),
294 (10, Encoding::UNKNOWN),
295 (16, Encoding::UNKNOWN),
296 (17, Encoding::CP866),
297 (18, Encoding::CP852),
298 (19, Encoding::CP858),
299 (20, Encoding::UNKNOWN),
300 (21, Encoding::UNKNOWN),
301 ])),
302 colors: Cow::Borrowed(IntMap::from_entries(&[
303 (0, Color::Black),
304 ])),
305 fonts: Cow::Borrowed(IntMap::from_entries(&[
306 (0, FontInfo { columns: 42 }),
307 (1, FontInfo { columns: 56 }),
308 ])),
309 media: Media { dpi: None, width: Some(Width { mm: 80.0, px: 512 }) },
310};
311
312#[doc = "KR-306 profile\n\nKefar KR-306 printer with 200mm/s speed\n"]
313pub static KR_306: Profile = Profile {
314 name: Cow::Borrowed("KR-306"),
315 vendor: Cow::Borrowed("Kefar"),
316 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)),
317 code_pages: Cow::Borrowed(IntMap::from_entries(&[
318 (0, Encoding::CP437),
319 (1, Encoding::KATAKANA),
320 (2, Encoding::CP850),
321 (3, Encoding::CP860),
322 (4, Encoding::CP863),
323 (5, Encoding::CP865),
324 (6, Encoding::UNKNOWN),
325 (7, Encoding::UNKNOWN),
326 (8, Encoding::UNKNOWN),
327 (9, Encoding::UNKNOWN),
328 (10, Encoding::UNKNOWN),
329 (11, Encoding::CP1252),
330 (12, Encoding::CP866),
331 (13, Encoding::CP852),
332 (14, Encoding::CP858),
333 (15, Encoding::UNKNOWN),
334 (16, Encoding::UNKNOWN),
335 (17, Encoding::UNKNOWN),
336 (18, Encoding::UNKNOWN),
337 (19, Encoding::CP747),
338 (20, Encoding::UNKNOWN),
339 (21, Encoding::UNKNOWN),
340 (22, Encoding::UNKNOWN),
341 (23, Encoding::CP864),
342 (24, Encoding::UNKNOWN),
343 (25, Encoding::UNKNOWN),
344 (26, Encoding::UNKNOWN),
345 (27, Encoding::CP1255),
346 (28, Encoding::CP437),
347 (29, Encoding::KATAKANA),
348 (30, Encoding::CP437),
349 (31, Encoding::CP858),
350 (32, Encoding::CP852),
351 (33, Encoding::CP860),
352 (34, Encoding::CP861),
353 (35, Encoding::CP863),
354 (36, Encoding::CP865),
355 (37, Encoding::CP866),
356 (38, Encoding::CP855),
357 (39, Encoding::CP857),
358 (40, Encoding::CP862),
359 (41, Encoding::CP864),
360 (42, Encoding::CP737),
361 (43, Encoding::CP851),
362 (44, Encoding::CP869),
363 (45, Encoding::CP928),
364 (46, Encoding::CP772),
365 (47, Encoding::CP774),
366 (48, Encoding::CP874),
367 (49, Encoding::CP1252),
368 (50, Encoding::CP1250),
369 (51, Encoding::CP1251),
370 (52, Encoding::CP3840),
371 (53, Encoding::CP3841),
372 (54, Encoding::CP3843),
373 (55, Encoding::CP3844),
374 (56, Encoding::CP3845),
375 (57, Encoding::CP3846),
376 (58, Encoding::CP3847),
377 (59, Encoding::CP3848),
378 (60, Encoding::CP1001),
379 (61, Encoding::CP2001),
380 (62, Encoding::CP3001),
381 (63, Encoding::CP3002),
382 (64, Encoding::CP3011),
383 (65, Encoding::CP3012),
384 (66, Encoding::CP3021),
385 (67, Encoding::CP3041),
386 (68, Encoding::CP852),
387 (69, Encoding::UNKNOWN),
388 (70, Encoding::CP1256),
389 ])),
390 colors: Cow::Borrowed(IntMap::from_entries(&[
391 (0, Color::Black),
392 ])),
393 fonts: Cow::Borrowed(IntMap::from_entries(&[
394 (0, FontInfo { columns: 48 }),
395 (1, FontInfo { columns: 64 }),
396 ])),
397 media: Media { dpi: None, width: Some(Width { mm: 72.0, px: 576 }) },
398};
399
400#[doc = "NT-5890K profile\n\n"]
401pub static NT_5890K: Profile = Profile {
402 name: Cow::Borrowed("NT-5890K"),
403 vendor: Cow::Borrowed("Netum"),
404 features: Features(FeaturesInner::empty().union(FeaturesInner::BIT_IMAGE_COLUMN).union(FeaturesInner::BIT_IMAGE_RASTER).union(FeaturesInner::HIGH_DENSITY).union(FeaturesInner::PULSE_STANDARD)),
405 code_pages: Cow::Borrowed(IntMap::from_entries(&[
406 (0, Encoding::CP437),
407 (1, Encoding::CP932),
408 (2, Encoding::CP850),
409 (3, Encoding::CP860),
410 (4, Encoding::CP863),
411 (5, Encoding::CP865),
412 (6, Encoding::UNKNOWN),
413 (7, Encoding::UNKNOWN),
414 (8, Encoding::UNKNOWN),
415 (9, Encoding::UNKNOWN),
416 (10, Encoding::UNKNOWN),
417 (16, Encoding::CP1252),
418 (17, Encoding::CP866),
419 (18, Encoding::CP852),
420 (19, Encoding::CP858),
421 (20, Encoding::UNKNOWN),
422 (21, Encoding::UNKNOWN),
423 (22, Encoding::UNKNOWN),
424 (23, Encoding::UNKNOWN),
425 (24, Encoding::CP747),
426 (25, Encoding::CP1257),
427 (27, Encoding::CP1258),
428 (28, Encoding::CP864),
429 (31, Encoding::UNKNOWN),
430 (32, Encoding::CP1255),
431 (50, Encoding::CP437),
432 (52, Encoding::CP437),
433 (53, Encoding::CP858),
434 (54, Encoding::CP852),
435 (55, Encoding::CP860),
436 (56, Encoding::CP861),
437 (57, Encoding::CP863),
438 (58, Encoding::CP865),
439 (59, Encoding::CP866),
440 (60, Encoding::CP855),
441 (61, Encoding::CP857),
442 (62, Encoding::CP862),
443 (63, Encoding::CP864),
444 (64, Encoding::CP737),
445 (65, Encoding::CP851),
446 (66, Encoding::CP869),
447 (68, Encoding::CP772),
448 (69, Encoding::CP774),
449 (71, Encoding::CP1252),
450 (72, Encoding::CP1250),
451 (73, Encoding::CP1251),
452 (74, Encoding::CP3840),
453 (76, Encoding::CP3843),
454 (77, Encoding::CP3844),
455 (78, Encoding::CP3845),
456 (79, Encoding::CP3846),
457 (80, Encoding::CP3847),
458 (81, Encoding::CP3848),
459 (83, Encoding::CP2001),
460 (84, Encoding::CP3001),
461 (85, Encoding::CP3002),
462 (86, Encoding::CP3011),
463 (87, Encoding::CP3012),
464 (88, Encoding::CP3021),
465 (89, Encoding::CP3041),
466 (90, Encoding::CP1253),
467 (91, Encoding::CP1254),
468 (92, Encoding::CP1256),
469 (93, Encoding::CP720),
470 (94, Encoding::CP1258),
471 (95, Encoding::CP775),
472 (96, Encoding::UNKNOWN),
473 (255, Encoding::UNKNOWN),
474 ])),
475 colors: Cow::Borrowed(IntMap::from_entries(&[
476 (0, Color::Black),
477 ])),
478 fonts: Cow::Borrowed(IntMap::from_entries(&[
479 (0, FontInfo { columns: 32 }),
480 (1, FontInfo { columns: 42 }),
481 ])),
482 media: Media { dpi: Some(203), width: Some(Width { mm: 57.5, px: 384 }) },
483};
484
485#[doc = "80-V-UL profile\n\nNetum 80-V-UL thermal printer series.\n"]
486pub static NT_80_V_UL: Profile = Profile {
487 name: Cow::Borrowed("80-V-UL"),
488 vendor: Cow::Borrowed("Netum"),
489 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)),
490 code_pages: Cow::Borrowed(IntMap::from_entries(&[
491 (0, Encoding::CP437),
492 (1, Encoding::UNKNOWN),
493 (2, Encoding::CP850),
494 (3, Encoding::CP860),
495 (4, Encoding::CP863),
496 (5, Encoding::CP865),
497 (6, Encoding::UNKNOWN),
498 (7, Encoding::UNKNOWN),
499 (8, Encoding::UNKNOWN),
500 (9, Encoding::UNKNOWN),
501 (10, Encoding::UNKNOWN),
502 (16, Encoding::CP1252),
503 (17, Encoding::CP866),
504 (18, Encoding::CP852),
505 (19, Encoding::CP858),
506 (20, Encoding::UNKNOWN),
507 (21, Encoding::UNKNOWN),
508 (22, Encoding::ISO_8859_6),
509 (23, Encoding::UNKNOWN),
510 (24, Encoding::CP747),
511 (25, Encoding::CP1257),
512 (27, Encoding::UNKNOWN),
513 (28, Encoding::CP864),
514 (31, Encoding::UNKNOWN),
515 (32, Encoding::CP1255),
516 (50, Encoding::CP437),
517 (52, Encoding::CP437),
518 (53, Encoding::CP858),
519 (54, Encoding::CP852),
520 (55, Encoding::CP860),
521 (56, Encoding::CP861),
522 (57, Encoding::CP863),
523 (58, Encoding::CP865),
524 (59, Encoding::CP866),
525 (60, Encoding::CP855),
526 (61, Encoding::CP857),
527 (62, Encoding::CP862),
528 (63, Encoding::CP864),
529 (64, Encoding::CP737),
530 (65, Encoding::CP851),
531 (66, Encoding::CP869),
532 (68, Encoding::CP772),
533 (69, Encoding::CP774),
534 (71, Encoding::CP1252),
535 (72, Encoding::CP1250),
536 (73, Encoding::CP1251),
537 (74, Encoding::CP3840),
538 (76, Encoding::CP3843),
539 (77, Encoding::CP3844),
540 (78, Encoding::CP3845),
541 (79, Encoding::CP3846),
542 (80, Encoding::CP3847),
543 (81, Encoding::CP3848),
544 (83, Encoding::CP2001),
545 (84, Encoding::CP3001),
546 (85, Encoding::CP3002),
547 (86, Encoding::CP3011),
548 (87, Encoding::CP3012),
549 (88, Encoding::CP3021),
550 (89, Encoding::CP3041),
551 (90, Encoding::CP1253),
552 (91, Encoding::CP1254),
553 (92, Encoding::CP1256),
554 (93, Encoding::CP720),
555 (94, Encoding::CP1258),
556 (95, Encoding::CP775),
557 (96, Encoding::UNKNOWN),
558 (255, Encoding::UNKNOWN),
559 ])),
560 colors: Cow::Borrowed(IntMap::from_entries(&[
561 (0, Color::Black),
562 ])),
563 fonts: Cow::Borrowed(IntMap::from_entries(&[
564 (0, FontInfo { columns: 12 }),
565 (1, FontInfo { columns: 9 }),
566 ])),
567 media: Media { dpi: Some(203), width: Some(Width { mm: 80.0, px: 576 }) },
568};
569
570#[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"]
571pub static OCD_100: Profile = Profile {
572 name: Cow::Borrowed("OCD-100 Customer Display"),
573 vendor: Cow::Borrowed("Aures"),
574 features: Features(FeaturesInner::empty()),
575 code_pages: Cow::Borrowed(IntMap::from_entries(&[
576 (0, Encoding::CP437),
577 (1, Encoding::CP932),
578 (2, Encoding::CP850),
579 (3, Encoding::CP860),
580 (4, Encoding::CP863),
581 (5, Encoding::CP865),
582 (6, Encoding::UNKNOWN),
583 (7, Encoding::UNKNOWN),
584 (8, Encoding::UNKNOWN),
585 (9, Encoding::CP852),
586 (10, Encoding::CP862),
587 (11, Encoding::CP866),
588 (12, Encoding::CP1251),
589 (13, Encoding::CP1254),
590 (14, Encoding::CP1255),
591 (15, Encoding::CP1257),
592 (16, Encoding::CP1252),
593 (17, Encoding::CP1253),
594 (19, Encoding::CP858),
595 ])),
596 colors: Cow::Borrowed(IntMap::from_entries(&[
597 (0, Color::Black),
598 ])),
599 fonts: Cow::Borrowed(IntMap::from_entries(&[
600 (0, FontInfo { columns: 20 }),
601 ])),
602 media: Media { dpi: None, width: Some(Width { mm: 180.0, px: 100 }) },
603};
604
605#[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"]
606pub static OCD_300: Profile = Profile {
607 name: Cow::Borrowed("OCD-300 Customer Display"),
608 vendor: Cow::Borrowed("Aures"),
609 features: Features(FeaturesInner::empty()),
610 code_pages: Cow::Borrowed(IntMap::from_entries(&[
611 (0, Encoding::CP437),
612 (1, Encoding::CP932),
613 (2, Encoding::CP850),
614 (3, Encoding::CP860),
615 (4, Encoding::CP863),
616 (5, Encoding::CP865),
617 (6, Encoding::UNKNOWN),
618 (7, Encoding::UNKNOWN),
619 (8, Encoding::UNKNOWN),
620 (9, Encoding::CP852),
621 (10, Encoding::CP862),
622 (11, Encoding::CP866),
623 (12, Encoding::CP1251),
624 (13, Encoding::CP1254),
625 (14, Encoding::CP1255),
626 (15, Encoding::CP1257),
627 (16, Encoding::CP1252),
628 (17, Encoding::CP1253),
629 (18, Encoding::CP1250),
630 (19, Encoding::CP858),
631 (20, Encoding::UNKNOWN),
632 ])),
633 colors: Cow::Borrowed(IntMap::from_entries(&[
634 (0, Color::Black),
635 ])),
636 fonts: Cow::Borrowed(IntMap::from_entries(&[
637 (0, FontInfo { columns: 20 }),
638 ])),
639 media: Media { dpi: None, width: Some(Width { mm: 130.2, px: 240 }) },
640};
641
642#[doc = "P822D profile\n\n"]
643pub static P822D: Profile = Profile {
644 name: Cow::Borrowed("P822D"),
645 vendor: Cow::Borrowed("PBM"),
646 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)),
647 code_pages: Cow::Borrowed(IntMap::from_entries(&[
648 (0, Encoding::CP437),
649 (1, Encoding::KATAKANA),
650 (2, Encoding::CP850),
651 (3, Encoding::CP860),
652 (4, Encoding::CP863),
653 (5, Encoding::CP865),
654 (6, Encoding::UNKNOWN),
655 (7, Encoding::UNKNOWN),
656 (8, Encoding::UNKNOWN),
657 (9, Encoding::UNKNOWN),
658 (10, Encoding::UNKNOWN),
659 (16, Encoding::CP1252),
660 (17, Encoding::CP866),
661 (18, Encoding::CP852),
662 (19, Encoding::CP858),
663 (20, Encoding::UNKNOWN),
664 (21, Encoding::UNKNOWN),
665 (22, Encoding::UNKNOWN),
666 (23, Encoding::UNKNOWN),
667 (24, Encoding::CP747),
668 (25, Encoding::CP1257),
669 (27, Encoding::UNKNOWN),
670 (28, Encoding::CP864),
671 (29, Encoding::CP1001),
672 (30, Encoding::UNKNOWN),
673 (31, Encoding::UNKNOWN),
674 (32, Encoding::CP1255),
675 (33, Encoding::CP720),
676 (34, Encoding::CP1256),
677 (35, Encoding::CP1257),
678 (50, Encoding::CP437),
679 (51, Encoding::UNKNOWN),
680 (52, Encoding::CP437),
681 (53, Encoding::CP858),
682 (54, Encoding::CP852),
683 (55, Encoding::CP860),
684 (56, Encoding::CP861),
685 (57, Encoding::CP863),
686 (58, Encoding::CP865),
687 (59, Encoding::CP866),
688 (60, Encoding::CP855),
689 (61, Encoding::CP857),
690 (62, Encoding::CP862),
691 (63, Encoding::CP864),
692 (64, Encoding::CP737),
693 (65, Encoding::CP851),
694 (66, Encoding::CP869),
695 (67, Encoding::CP928),
696 (68, Encoding::CP772),
697 (69, Encoding::CP774),
698 (70, Encoding::CP874),
699 (71, Encoding::CP1252),
700 (72, Encoding::CP1250),
701 (73, Encoding::CP1251),
702 (74, Encoding::CP3840),
703 (75, Encoding::CP3841),
704 (76, Encoding::CP3843),
705 (77, Encoding::CP3844),
706 (78, Encoding::CP3845),
707 (79, Encoding::CP3846),
708 (80, Encoding::CP3847),
709 (81, Encoding::CP3848),
710 (82, Encoding::CP1001),
711 (83, Encoding::CP2001),
712 (84, Encoding::CP3001),
713 (85, Encoding::CP3002),
714 (86, Encoding::CP3011),
715 (87, Encoding::CP3012),
716 (88, Encoding::CP3021),
717 (89, Encoding::CP3041),
718 (255, Encoding::UNKNOWN),
719 ])),
720 colors: Cow::Borrowed(IntMap::from_entries(&[
721 (0, Color::Black),
722 ])),
723 fonts: Cow::Borrowed(IntMap::from_entries(&[
724 (0, FontInfo { columns: 42 }),
725 (1, FontInfo { columns: 56 }),
726 ])),
727 media: Media { dpi: None, width: Some(Width { mm: 79.5, px: 576 }) },
728};
729
730#[doc = "POS5890 Series profile\n\nPOS-5890 thermal printer series, also marketed under various other names.\n"]
731pub static POS_5890: Profile = Profile {
732 name: Cow::Borrowed("POS5890 Series"),
733 vendor: Cow::Borrowed("Zjiang"),
734 features: Features(FeaturesInner::empty().union(FeaturesInner::BIT_IMAGE_RASTER).union(FeaturesInner::HIGH_DENSITY).union(FeaturesInner::PULSE_STANDARD)),
735 code_pages: Cow::Borrowed(IntMap::from_entries(&[
736 (0, Encoding::CP437),
737 (1, Encoding::CP932),
738 (2, Encoding::CP850),
739 (3, Encoding::CP860),
740 (4, Encoding::CP863),
741 (5, Encoding::CP865),
742 (6, Encoding::UNKNOWN),
743 (7, Encoding::UNKNOWN),
744 (8, Encoding::UNKNOWN),
745 (9, Encoding::UNKNOWN),
746 (10, Encoding::UNKNOWN),
747 (16, Encoding::CP1252),
748 (17, Encoding::CP866),
749 (18, Encoding::CP852),
750 (19, Encoding::CP858),
751 (20, Encoding::UNKNOWN),
752 (21, Encoding::UNKNOWN),
753 (22, Encoding::UNKNOWN),
754 (23, Encoding::UNKNOWN),
755 (24, Encoding::CP747),
756 (25, Encoding::CP1257),
757 (27, Encoding::CP1258),
758 (28, Encoding::CP864),
759 (31, Encoding::UNKNOWN),
760 (32, Encoding::CP1255),
761 (50, Encoding::CP437),
762 (52, Encoding::CP437),
763 (53, Encoding::CP858),
764 (54, Encoding::CP852),
765 (55, Encoding::CP860),
766 (56, Encoding::CP861),
767 (57, Encoding::CP863),
768 (58, Encoding::CP865),
769 (59, Encoding::CP866),
770 (60, Encoding::CP855),
771 (61, Encoding::CP857),
772 (62, Encoding::CP862),
773 (63, Encoding::CP864),
774 (64, Encoding::CP737),
775 (65, Encoding::CP851),
776 (66, Encoding::CP869),
777 (68, Encoding::CP772),
778 (69, Encoding::CP774),
779 (71, Encoding::CP1252),
780 (72, Encoding::CP1250),
781 (73, Encoding::CP1251),
782 (74, Encoding::CP3840),
783 (76, Encoding::CP3843),
784 (77, Encoding::CP3844),
785 (78, Encoding::CP3845),
786 (79, Encoding::CP3846),
787 (80, Encoding::CP3847),
788 (81, Encoding::CP3848),
789 (83, Encoding::CP2001),
790 (84, Encoding::CP3001),
791 (85, Encoding::CP3002),
792 (86, Encoding::CP3011),
793 (87, Encoding::CP3012),
794 (88, Encoding::CP3021),
795 (89, Encoding::CP3041),
796 (90, Encoding::CP1253),
797 (91, Encoding::CP1254),
798 (92, Encoding::CP1256),
799 (93, Encoding::CP720),
800 (94, Encoding::CP1258),
801 (95, Encoding::CP775),
802 (96, Encoding::UNKNOWN),
803 (255, Encoding::UNKNOWN),
804 ])),
805 colors: Cow::Borrowed(IntMap::from_entries(&[
806 (0, Color::Black),
807 ])),
808 fonts: Cow::Borrowed(IntMap::from_entries(&[
809 (0, FontInfo { columns: 32 }),
810 (1, FontInfo { columns: 42 }),
811 ])),
812 media: Media { dpi: Some(203), width: Some(Width { mm: 57.5, px: 384 }) },
813};
814
815#[doc = "RP-F10 profile\n\nSeiko RP-F10 series with 58mm paper\n"]
816pub static RP_F10_58MM: Profile = Profile {
817 name: Cow::Borrowed("RP-F10"),
818 vendor: Cow::Borrowed("Seiko"),
819 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)),
820 code_pages: Cow::Borrowed(IntMap::from_entries(&[
821 (0, Encoding::CP437),
822 (1, Encoding::KATAKANA),
823 (2, Encoding::CP850),
824 (3, Encoding::CP860),
825 (4, Encoding::CP863),
826 (5, Encoding::CP865),
827 (13, Encoding::CP857),
828 (14, Encoding::CP737),
829 (16, Encoding::CP1252),
830 (17, Encoding::CP866),
831 (18, Encoding::CP852),
832 (19, Encoding::CP858),
833 (34, Encoding::CP855),
834 (37, Encoding::CP864),
835 (45, Encoding::CP1250),
836 (46, Encoding::CP1251),
837 (47, Encoding::CP1253),
838 (48, Encoding::CP1254),
839 (255, Encoding::UNKNOWN),
840 ])),
841 colors: Cow::Borrowed(IntMap::from_entries(&[
842 (0, Color::Black),
843 ])),
844 fonts: Cow::Borrowed(IntMap::from_entries(&[
845 (0, FontInfo { columns: 36 }),
846 (1, FontInfo { columns: 54 }),
847 ])),
848 media: Media { dpi: Some(203), width: Some(Width { mm: 54.0, px: 432 }) },
849};
850
851#[doc = "RP-F10 profile\n\nSeiko RP-F10 series with 80mm paper\n"]
852pub static RP_F10_80MM: Profile = Profile {
853 name: Cow::Borrowed("RP-F10"),
854 vendor: Cow::Borrowed("Seiko"),
855 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)),
856 code_pages: Cow::Borrowed(IntMap::from_entries(&[
857 (0, Encoding::CP437),
858 (1, Encoding::KATAKANA),
859 (2, Encoding::CP850),
860 (3, Encoding::CP860),
861 (4, Encoding::CP863),
862 (5, Encoding::CP865),
863 (13, Encoding::CP857),
864 (14, Encoding::CP737),
865 (16, Encoding::CP1252),
866 (17, Encoding::CP866),
867 (18, Encoding::CP852),
868 (19, Encoding::CP858),
869 (34, Encoding::CP855),
870 (37, Encoding::CP864),
871 (45, Encoding::CP1250),
872 (46, Encoding::CP1251),
873 (47, Encoding::CP1253),
874 (48, Encoding::CP1254),
875 (255, Encoding::UNKNOWN),
876 ])),
877 colors: Cow::Borrowed(IntMap::from_entries(&[
878 (0, Color::Black),
879 ])),
880 fonts: Cow::Borrowed(IntMap::from_entries(&[
881 (0, FontInfo { columns: 48 }),
882 (1, FontInfo { columns: 72 }),
883 ])),
884 media: Media { dpi: Some(203), width: Some(Width { mm: 72.0, px: 576 }) },
885};
886
887#[doc = "RP326 profile\n\n"]
888pub static RP326: Profile = Profile {
889 name: Cow::Borrowed("RP326"),
890 vendor: Cow::Borrowed("Rongta"),
891 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)),
892 code_pages: Cow::Borrowed(IntMap::from_entries(&[
893 (0, Encoding::CP437),
894 (1, Encoding::KATAKANA),
895 (2, Encoding::CP850),
896 (3, Encoding::CP860),
897 (4, Encoding::CP863),
898 (5, Encoding::CP865),
899 (6, Encoding::CP1251),
900 (7, Encoding::CP866),
901 (8, Encoding::UNKNOWN),
902 (9, Encoding::UNKNOWN),
903 (10, Encoding::UNKNOWN),
904 (15, Encoding::CP862),
905 (16, Encoding::CP1252),
906 (17, Encoding::CP1253),
907 (18, Encoding::CP852),
908 (19, Encoding::CP858),
909 (20, Encoding::UNKNOWN),
910 (21, Encoding::UNKNOWN),
911 (22, Encoding::UNKNOWN),
912 (23, Encoding::ISO_8859_1),
913 (24, Encoding::CP737),
914 (25, Encoding::CP1257),
915 (26, Encoding::UNKNOWN),
916 (27, Encoding::CP720),
917 (28, Encoding::CP855),
918 (29, Encoding::CP857),
919 (30, Encoding::CP1250),
920 (31, Encoding::CP775),
921 (32, Encoding::CP1254),
922 (33, Encoding::CP1255),
923 (34, Encoding::CP1256),
924 (35, Encoding::CP1258),
925 (36, Encoding::ISO_8859_2),
926 (37, Encoding::ISO_8859_3),
927 (38, Encoding::ISO_8859_4),
928 (39, Encoding::ISO_8859_5),
929 (40, Encoding::ISO_8859_6),
930 (41, Encoding::ISO_8859_7),
931 (42, Encoding::ISO_8859_8),
932 (43, Encoding::ISO_8859_9),
933 (44, Encoding::ISO_8859_15),
934 (45, Encoding::UNKNOWN),
935 (46, Encoding::CP856),
936 (47, Encoding::CP874),
937 ])),
938 colors: Cow::Borrowed(IntMap::from_entries(&[
939 (0, Color::Black),
940 ])),
941 fonts: Cow::Borrowed(IntMap::from_entries(&[
942 (0, FontInfo { columns: 42 }),
943 (1, FontInfo { columns: 56 }),
944 ])),
945 media: Media { dpi: Some(203), width: None },
946};
947
948#[doc = "SP2000 Series profile\n\nStar SP2000 impact printer series with ESC/POS emulation enabled"]
949pub static SP2000: Profile = Profile {
950 name: Cow::Borrowed("SP2000 Series"),
951 vendor: Cow::Borrowed("Star Micronics"),
952 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)),
953 code_pages: Cow::Borrowed(IntMap::from_entries(&[
954 (0, Encoding::CP437),
955 (1, Encoding::CP437),
956 (2, Encoding::CP932),
957 (3, Encoding::CP437),
958 (4, Encoding::CP858),
959 (5, Encoding::CP852),
960 (6, Encoding::CP860),
961 (7, Encoding::CP861),
962 (8, Encoding::CP863),
963 (9, Encoding::CP865),
964 (10, Encoding::CP866),
965 (11, Encoding::CP855),
966 (12, Encoding::CP857),
967 (13, Encoding::CP862),
968 (14, Encoding::CP864),
969 (15, Encoding::CP737),
970 (16, Encoding::CP851),
971 (17, Encoding::CP869),
972 (18, Encoding::CP928),
973 (19, Encoding::CP772),
974 (20, Encoding::CP774),
975 (21, Encoding::CP874),
976 (32, Encoding::CP1252),
977 (33, Encoding::CP1250),
978 (34, Encoding::CP1251),
979 (64, Encoding::CP3840),
980 (65, Encoding::CP3841),
981 (66, Encoding::CP3843),
982 (67, Encoding::CP3844),
983 (68, Encoding::CP3845),
984 (69, Encoding::CP3846),
985 (70, Encoding::CP3847),
986 (71, Encoding::CP3848),
987 (72, Encoding::CP1001),
988 (73, Encoding::CP2001),
989 (74, Encoding::CP3001),
990 (75, Encoding::CP3002),
991 (76, Encoding::CP3011),
992 (77, Encoding::CP3012),
993 (78, Encoding::CP3021),
994 (79, Encoding::CP3041),
995 (96, Encoding::UNKNOWN),
996 (97, Encoding::UNKNOWN),
997 (98, Encoding::UNKNOWN),
998 (99, Encoding::UNKNOWN),
999 (100, Encoding::UNKNOWN),
1000 (101, Encoding::UNKNOWN),
1001 (102, Encoding::UNKNOWN),
1002 (255, Encoding::UNKNOWN),
1003 ])),
1004 colors: Cow::Borrowed(IntMap::from_entries(&[
1005 (0, Color::Black),
1006 ])),
1007 fonts: Cow::Borrowed(IntMap::from_entries(&[
1008 (0, FontInfo { columns: 42 }),
1009 (1, FontInfo { columns: 56 }),
1010 ])),
1011 media: Media { dpi: Some(85), width: None },
1012};
1013
1014#[doc = "SRP-S300 profile\n\nBixolon SRP-S300 profile"]
1015pub static SRP_S300: Profile = Profile {
1016 name: Cow::Borrowed("SRP-S300"),
1017 vendor: Cow::Borrowed("Bixolon"),
1018 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)),
1019 code_pages: Cow::Borrowed(IntMap::from_entries(&[
1020 (0, Encoding::CP437),
1021 (1, Encoding::CP932),
1022 (2, Encoding::CP850),
1023 (3, Encoding::CP860),
1024 (4, Encoding::CP863),
1025 (5, Encoding::CP865),
1026 (16, Encoding::CP1252),
1027 (17, Encoding::CP866),
1028 (18, Encoding::CP852),
1029 (19, Encoding::CP858),
1030 (21, Encoding::CP874),
1031 (22, Encoding::UNKNOWN),
1032 (23, Encoding::UNKNOWN),
1033 (24, Encoding::UNKNOWN),
1034 (25, Encoding::UNKNOWN),
1035 (26, Encoding::UNKNOWN),
1036 (30, Encoding::TCVN_3_1),
1037 (31, Encoding::TCVN_3_2),
1038 (33, Encoding::CP775),
1039 (34, Encoding::CP855),
1040 (35, Encoding::CP861),
1041 (36, Encoding::CP862),
1042 (37, Encoding::CP864),
1043 (38, Encoding::CP869),
1044 (39, Encoding::ISO_8859_2),
1045 (40, Encoding::ISO_8859_15),
1046 (41, Encoding::CP1098),
1047 (42, Encoding::CP774),
1048 (47, Encoding::CP1253),
1049 (49, Encoding::CP1255),
1050 (50, Encoding::CP1256),
1051 (255, Encoding::UNKNOWN),
1052 ])),
1053 colors: Cow::Borrowed(IntMap::from_entries(&[
1054 (0, Color::Black),
1055 ])),
1056 fonts: Cow::Borrowed(IntMap::from_entries(&[
1057 (0, FontInfo { columns: 48 }),
1058 (1, FontInfo { columns: 64 }),
1059 (2, FontInfo { columns: 64 }),
1060 ])),
1061 media: Media { dpi: Some(203), width: Some(Width { mm: 80.0, px: 640 }) },
1062};
1063
1064#[doc = "Sunmi V2 profile\n\nSunmi mini-POS Android device with a built-in Virtual Bluetooth thermal printer.\n"]
1065pub static SUNMI_V2: Profile = Profile {
1066 name: Cow::Borrowed("Sunmi V2"),
1067 vendor: Cow::Borrowed("Sunmi"),
1068 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)),
1069 code_pages: Cow::Borrowed(IntMap::from_entries(&[
1070 (0, Encoding::CP437),
1071 (2, Encoding::CP850),
1072 (3, Encoding::CP860),
1073 (4, Encoding::CP863),
1074 (5, Encoding::CP865),
1075 (13, Encoding::CP857),
1076 (14, Encoding::CP737),
1077 (15, Encoding::ISO_8859_7),
1078 (16, Encoding::CP1252),
1079 (17, Encoding::CP866),
1080 (18, Encoding::CP852),
1081 (19, Encoding::CP858),
1082 (21, Encoding::CP874),
1083 (33, Encoding::CP775),
1084 (34, Encoding::CP855),
1085 (36, Encoding::CP862),
1086 (37, Encoding::CP864),
1087 (254, Encoding::CP855),
1088 ])),
1089 colors: Cow::Borrowed(IntMap::from_entries(&[
1090 (0, Color::Black),
1091 ])),
1092 fonts: Cow::Borrowed(IntMap::from_entries(&[
1093 (0, FontInfo { columns: 32 }),
1094 (1, FontInfo { columns: 42 }),
1095 ])),
1096 media: Media { dpi: None, width: Some(Width { mm: 57.5, px: 384 }) },
1097};
1098
1099#[doc = "T-1 profile\n\nMetapace T-1 Thermal Printer Rev. 1.00"]
1100pub static T_1: Profile = Profile {
1101 name: Cow::Borrowed("T-1"),
1102 vendor: Cow::Borrowed("Metapace"),
1103 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)),
1104 code_pages: Cow::Borrowed(IntMap::from_entries(&[
1105 (0, Encoding::CP437),
1106 (1, Encoding::KATAKANA),
1107 (2, Encoding::CP850),
1108 (3, Encoding::CP860),
1109 (4, Encoding::CP863),
1110 (5, Encoding::CP865),
1111 (19, Encoding::CP858),
1112 (255, Encoding::UNKNOWN),
1113 ])),
1114 colors: Cow::Borrowed(IntMap::from_entries(&[
1115 (0, Color::Black),
1116 ])),
1117 fonts: Cow::Borrowed(IntMap::from_entries(&[
1118 (0, FontInfo { columns: 42 }),
1119 (1, FontInfo { columns: 56 }),
1120 ])),
1121 media: Media { dpi: Some(180), width: Some(Width { mm: 80.0, px: 504 }) },
1122};
1123
1124#[doc = "TEP200M Series profile\n\n"]
1125pub static TEP_200M: Profile = Profile {
1126 name: Cow::Borrowed("TEP200M Series"),
1127 vendor: Cow::Borrowed("EPOS"),
1128 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)),
1129 code_pages: Cow::Borrowed(IntMap::from_entries(&[
1130 (0, Encoding::CP437),
1131 (1, Encoding::CP932),
1132 (2, Encoding::CP850),
1133 (3, Encoding::CP860),
1134 (4, Encoding::CP863),
1135 (5, Encoding::CP865),
1136 (6, Encoding::UNKNOWN),
1137 (7, Encoding::UNKNOWN),
1138 (8, Encoding::UNKNOWN),
1139 (11, Encoding::CP851),
1140 (12, Encoding::CP853),
1141 (13, Encoding::CP857),
1142 (14, Encoding::CP737),
1143 (15, Encoding::ISO_8859_7),
1144 (16, Encoding::CP1252),
1145 (17, Encoding::CP866),
1146 (18, Encoding::CP852),
1147 (19, Encoding::CP858),
1148 (20, Encoding::UNKNOWN),
1149 (21, Encoding::CP874),
1150 (22, Encoding::UNKNOWN),
1151 (23, Encoding::UNKNOWN),
1152 (24, Encoding::UNKNOWN),
1153 (25, Encoding::UNKNOWN),
1154 (26, Encoding::UNKNOWN),
1155 (30, Encoding::TCVN_3_1),
1156 (31, Encoding::TCVN_3_2),
1157 (32, Encoding::CP720),
1158 (33, Encoding::CP775),
1159 (34, Encoding::CP855),
1160 (35, Encoding::CP861),
1161 (36, Encoding::CP862),
1162 (37, Encoding::CP864),
1163 (38, Encoding::CP869),
1164 (39, Encoding::ISO_8859_2),
1165 (40, Encoding::ISO_8859_15),
1166 (41, Encoding::CP1098),
1167 (42, Encoding::CP774),
1168 (43, Encoding::CP772),
1169 (44, Encoding::CP1125),
1170 (45, Encoding::CP1250),
1171 (46, Encoding::CP1251),
1172 (47, Encoding::CP1253),
1173 (48, Encoding::CP1254),
1174 (49, Encoding::CP1255),
1175 (50, Encoding::CP1256),
1176 (51, Encoding::CP1257),
1177 (52, Encoding::CP1258),
1178 (53, Encoding::RK1048),
1179 (66, Encoding::UNKNOWN),
1180 (67, Encoding::UNKNOWN),
1181 (68, Encoding::UNKNOWN),
1182 (69, Encoding::UNKNOWN),
1183 (70, Encoding::UNKNOWN),
1184 (71, Encoding::UNKNOWN),
1185 (72, Encoding::UNKNOWN),
1186 (73, Encoding::UNKNOWN),
1187 (74, Encoding::UNKNOWN),
1188 (75, Encoding::UNKNOWN),
1189 (82, Encoding::UNKNOWN),
1190 (254, Encoding::UNKNOWN),
1191 (255, Encoding::UNKNOWN),
1192 ])),
1193 colors: Cow::Borrowed(IntMap::from_entries(&[
1194 (0, Color::Black),
1195 ])),
1196 fonts: Cow::Borrowed(IntMap::from_entries(&[
1197 (0, FontInfo { columns: 42 }),
1198 (1, FontInfo { columns: 56 }),
1199 ])),
1200 media: Media { dpi: Some(203), width: None },
1201};
1202
1203#[doc = "TH230 profile\n\nProfile for TH230. Use bitImageColumn to print properly.\n"]
1204pub static TH230: Profile = Profile {
1205 name: Cow::Borrowed("TH230"),
1206 vendor: Cow::Borrowed("Wincor Nixdorf"),
1207 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)),
1208 code_pages: Cow::Borrowed(IntMap::from_entries(&[
1209 (0, Encoding::CP437),
1210 (1, Encoding::CP850),
1211 (2, Encoding::CP852),
1212 (3, Encoding::CP860),
1213 (4, Encoding::CP863),
1214 (5, Encoding::CP865),
1215 (6, Encoding::CP858),
1216 (7, Encoding::CP866),
1217 (8, Encoding::CP1252),
1218 (9, Encoding::CP862),
1219 (10, Encoding::CP737),
1220 (11, Encoding::CP874),
1221 (12, Encoding::CP857),
1222 (16, Encoding::CP1254),
1223 (17, Encoding::CP1250),
1224 (18, Encoding::UNKNOWN),
1225 (19, Encoding::UNKNOWN),
1226 (20, Encoding::UNKNOWN),
1227 (21, Encoding::UNKNOWN),
1228 (22, Encoding::CP864),
1229 (23, Encoding::CP720),
1230 (24, Encoding::CP1256),
1231 (25, Encoding::UNKNOWN),
1232 (26, Encoding::KATAKANA),
1233 (27, Encoding::CP775),
1234 (28, Encoding::CP1257),
1235 (29, Encoding::UNKNOWN),
1236 ])),
1237 colors: Cow::Borrowed(IntMap::from_entries(&[
1238 (0, Color::Black),
1239 ])),
1240 fonts: Cow::Borrowed(IntMap::from_entries(&[
1241 (0, FontInfo { columns: 44 }),
1242 (1, FontInfo { columns: 57 }),
1243 ])),
1244 media: Media { dpi: Some(203), width: Some(Width { mm: 72.0, px: 576 }) },
1245};
1246
1247#[doc = "TH230+ profile\n\nProfile for TH230+. Use bitImageColumn to print properly. TH230+ supports native qr codes and PDF417 codes\n"]
1248pub static TH230_PLUS: Profile = Profile {
1249 name: Cow::Borrowed("TH230+"),
1250 vendor: Cow::Borrowed("Wincor Nixdorf"),
1251 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)),
1252 code_pages: Cow::Borrowed(IntMap::from_entries(&[
1253 (0, Encoding::CP437),
1254 (1, Encoding::CP850),
1255 (2, Encoding::CP852),
1256 (3, Encoding::CP860),
1257 (4, Encoding::CP863),
1258 (5, Encoding::CP865),
1259 (6, Encoding::CP858),
1260 (7, Encoding::CP866),
1261 (8, Encoding::CP1252),
1262 (9, Encoding::CP862),
1263 (10, Encoding::CP737),
1264 (11, Encoding::CP874),
1265 (12, Encoding::CP857),
1266 (16, Encoding::CP1254),
1267 (17, Encoding::CP1250),
1268 (18, Encoding::UNKNOWN),
1269 (19, Encoding::UNKNOWN),
1270 (20, Encoding::UNKNOWN),
1271 (21, Encoding::UNKNOWN),
1272 (22, Encoding::CP864),
1273 (23, Encoding::CP720),
1274 (24, Encoding::CP1256),
1275 (25, Encoding::UNKNOWN),
1276 (26, Encoding::KATAKANA),
1277 (27, Encoding::CP775),
1278 (28, Encoding::CP1257),
1279 (29, Encoding::UNKNOWN),
1280 ])),
1281 colors: Cow::Borrowed(IntMap::from_entries(&[
1282 (0, Color::Black),
1283 ])),
1284 fonts: Cow::Borrowed(IntMap::from_entries(&[
1285 (0, FontInfo { columns: 44 }),
1286 (1, FontInfo { columns: 57 }),
1287 ])),
1288 media: Media { dpi: Some(203), width: Some(Width { mm: 72.0, px: 576 }) },
1289};
1290
1291#[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"]
1292pub static TM_L90: Profile = Profile {
1293 name: Cow::Borrowed("TM-L90"),
1294 vendor: Cow::Borrowed("Epson"),
1295 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)),
1296 code_pages: Cow::Borrowed(IntMap::from_entries(&[
1297 (0, Encoding::CP437),
1298 (1, Encoding::CP932),
1299 (2, Encoding::CP850),
1300 (3, Encoding::CP860),
1301 (4, Encoding::CP863),
1302 (5, Encoding::CP865),
1303 (11, Encoding::CP851),
1304 (12, Encoding::CP853),
1305 (13, Encoding::CP857),
1306 (14, Encoding::CP737),
1307 (15, Encoding::ISO_8859_7),
1308 (16, Encoding::CP1252),
1309 (17, Encoding::CP866),
1310 (18, Encoding::CP852),
1311 (19, Encoding::CP858),
1312 (20, Encoding::UNKNOWN),
1313 (21, Encoding::CP874),
1314 (22, Encoding::UNKNOWN),
1315 (23, Encoding::UNKNOWN),
1316 (24, Encoding::UNKNOWN),
1317 (25, Encoding::UNKNOWN),
1318 (26, Encoding::UNKNOWN),
1319 (30, Encoding::TCVN_3_1),
1320 (31, Encoding::TCVN_3_2),
1321 (32, Encoding::CP720),
1322 (33, Encoding::CP775),
1323 (34, Encoding::CP855),
1324 (35, Encoding::CP861),
1325 (36, Encoding::CP862),
1326 (37, Encoding::CP864),
1327 (38, Encoding::CP869),
1328 (39, Encoding::ISO_8859_2),
1329 (40, Encoding::ISO_8859_15),
1330 (41, Encoding::CP1098),
1331 (42, Encoding::CP774),
1332 (43, Encoding::CP772),
1333 (44, Encoding::CP1125),
1334 (45, Encoding::CP1250),
1335 (46, Encoding::CP1251),
1336 (47, Encoding::CP1253),
1337 (48, Encoding::CP1254),
1338 (49, Encoding::CP1255),
1339 (50, Encoding::CP1256),
1340 (51, Encoding::CP1257),
1341 (52, Encoding::CP1258),
1342 (53, Encoding::RK1048),
1343 (255, Encoding::UNKNOWN),
1344 ])),
1345 colors: Cow::Borrowed(IntMap::from_entries(&[
1346 (0, Color::Black),
1347 ])),
1348 fonts: Cow::Borrowed(IntMap::from_entries(&[
1349 (0, FontInfo { columns: 48 }),
1350 (1, FontInfo { columns: 64 }),
1351 ])),
1352 media: Media { dpi: Some(203), width: Some(Width { mm: 80.0, px: 576 }) },
1353};
1354
1355#[doc = "TM-P80 profile\n\nPortable printer (48-column mode)"]
1356pub static TM_P80: Profile = Profile {
1357 name: Cow::Borrowed("TM-P80"),
1358 vendor: Cow::Borrowed("Epson"),
1359 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)),
1360 code_pages: Cow::Borrowed(IntMap::from_entries(&[
1361 (0, Encoding::CP437),
1362 (1, Encoding::CP932),
1363 (2, Encoding::CP850),
1364 (3, Encoding::CP860),
1365 (4, Encoding::CP863),
1366 (5, Encoding::CP865),
1367 (6, Encoding::UNKNOWN),
1368 (7, Encoding::UNKNOWN),
1369 (8, Encoding::UNKNOWN),
1370 (11, Encoding::CP851),
1371 (12, Encoding::CP853),
1372 (13, Encoding::CP857),
1373 (14, Encoding::CP737),
1374 (15, Encoding::ISO_8859_7),
1375 (16, Encoding::CP1252),
1376 (17, Encoding::CP866),
1377 (18, Encoding::CP852),
1378 (19, Encoding::CP858),
1379 (20, Encoding::UNKNOWN),
1380 (21, Encoding::CP874),
1381 (22, Encoding::UNKNOWN),
1382 (23, Encoding::UNKNOWN),
1383 (24, Encoding::UNKNOWN),
1384 (25, Encoding::UNKNOWN),
1385 (26, Encoding::UNKNOWN),
1386 (30, Encoding::TCVN_3_1),
1387 (31, Encoding::TCVN_3_2),
1388 (32, Encoding::CP720),
1389 (33, Encoding::CP775),
1390 (34, Encoding::CP855),
1391 (35, Encoding::CP861),
1392 (36, Encoding::CP862),
1393 (37, Encoding::CP864),
1394 (38, Encoding::CP869),
1395 (39, Encoding::ISO_8859_2),
1396 (40, Encoding::ISO_8859_15),
1397 (41, Encoding::CP1098),
1398 (42, Encoding::CP774),
1399 (43, Encoding::CP772),
1400 (44, Encoding::CP1125),
1401 (45, Encoding::CP1250),
1402 (46, Encoding::CP1251),
1403 (47, Encoding::CP1253),
1404 (48, Encoding::CP1254),
1405 (49, Encoding::CP1255),
1406 (50, Encoding::CP1256),
1407 (51, Encoding::CP1257),
1408 (52, Encoding::CP1258),
1409 (53, Encoding::RK1048),
1410 (66, Encoding::UNKNOWN),
1411 (67, Encoding::UNKNOWN),
1412 (68, Encoding::UNKNOWN),
1413 (69, Encoding::UNKNOWN),
1414 (70, Encoding::UNKNOWN),
1415 (71, Encoding::UNKNOWN),
1416 (72, Encoding::UNKNOWN),
1417 (73, Encoding::UNKNOWN),
1418 (74, Encoding::UNKNOWN),
1419 (75, Encoding::UNKNOWN),
1420 (82, Encoding::UNKNOWN),
1421 (254, Encoding::UNKNOWN),
1422 (255, Encoding::UNKNOWN),
1423 ])),
1424 colors: Cow::Borrowed(IntMap::from_entries(&[
1425 (0, Color::Black),
1426 ])),
1427 fonts: Cow::Borrowed(IntMap::from_entries(&[
1428 (0, FontInfo { columns: 42 }),
1429 (1, FontInfo { columns: 56 }),
1430 (2, FontInfo { columns: 24 }),
1431 ])),
1432 media: Media { dpi: Some(203), width: Some(Width { mm: 72.0, px: 576 }) },
1433};
1434
1435#[doc = "TM-P80 (42 column mode) profile\n\nPortable printer (42-column mode)"]
1436pub static TM_P80_42COL: Profile = Profile {
1437 name: Cow::Borrowed("TM-P80 (42 column mode)"),
1438 vendor: Cow::Borrowed("Epson"),
1439 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)),
1440 code_pages: Cow::Borrowed(IntMap::from_entries(&[
1441 (0, Encoding::CP437),
1442 (1, Encoding::CP932),
1443 (2, Encoding::CP850),
1444 (3, Encoding::CP860),
1445 (4, Encoding::CP863),
1446 (5, Encoding::CP865),
1447 (6, Encoding::UNKNOWN),
1448 (7, Encoding::UNKNOWN),
1449 (8, Encoding::UNKNOWN),
1450 (11, Encoding::CP851),
1451 (12, Encoding::CP853),
1452 (13, Encoding::CP857),
1453 (14, Encoding::CP737),
1454 (15, Encoding::ISO_8859_7),
1455 (16, Encoding::CP1252),
1456 (17, Encoding::CP866),
1457 (18, Encoding::CP852),
1458 (19, Encoding::CP858),
1459 (20, Encoding::UNKNOWN),
1460 (21, Encoding::CP874),
1461 (22, Encoding::UNKNOWN),
1462 (23, Encoding::UNKNOWN),
1463 (24, Encoding::UNKNOWN),
1464 (25, Encoding::UNKNOWN),
1465 (26, Encoding::UNKNOWN),
1466 (30, Encoding::TCVN_3_1),
1467 (31, Encoding::TCVN_3_2),
1468 (32, Encoding::CP720),
1469 (33, Encoding::CP775),
1470 (34, Encoding::CP855),
1471 (35, Encoding::CP861),
1472 (36, Encoding::CP862),
1473 (37, Encoding::CP864),
1474 (38, Encoding::CP869),
1475 (39, Encoding::ISO_8859_2),
1476 (40, Encoding::ISO_8859_15),
1477 (41, Encoding::CP1098),
1478 (42, Encoding::CP774),
1479 (43, Encoding::CP772),
1480 (44, Encoding::CP1125),
1481 (45, Encoding::CP1250),
1482 (46, Encoding::CP1251),
1483 (47, Encoding::CP1253),
1484 (48, Encoding::CP1254),
1485 (49, Encoding::CP1255),
1486 (50, Encoding::CP1256),
1487 (51, Encoding::CP1257),
1488 (52, Encoding::CP1258),
1489 (53, Encoding::RK1048),
1490 (66, Encoding::UNKNOWN),
1491 (67, Encoding::UNKNOWN),
1492 (68, Encoding::UNKNOWN),
1493 (69, Encoding::UNKNOWN),
1494 (70, Encoding::UNKNOWN),
1495 (71, Encoding::UNKNOWN),
1496 (72, Encoding::UNKNOWN),
1497 (73, Encoding::UNKNOWN),
1498 (74, Encoding::UNKNOWN),
1499 (75, Encoding::UNKNOWN),
1500 (82, Encoding::UNKNOWN),
1501 (254, Encoding::UNKNOWN),
1502 (255, Encoding::UNKNOWN),
1503 ])),
1504 colors: Cow::Borrowed(IntMap::from_entries(&[
1505 (0, Color::Black),
1506 ])),
1507 fonts: Cow::Borrowed(IntMap::from_entries(&[
1508 (0, FontInfo { columns: 42 }),
1509 (1, FontInfo { columns: 60 }),
1510 (2, FontInfo { columns: 21 }),
1511 ])),
1512 media: Media { dpi: None, width: Some(Width { mm: 63.6, px: 546 }) },
1513};
1514
1515#[doc = "TM-T20II profile\n\nEpson TM-T20II profile"]
1516pub static TM_T20II: Profile = Profile {
1517 name: Cow::Borrowed("TM-T20II"),
1518 vendor: Cow::Borrowed("Epson"),
1519 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)),
1520 code_pages: Cow::Borrowed(IntMap::from_entries(&[
1521 (0, Encoding::CP437),
1522 (1, Encoding::CP932),
1523 (2, Encoding::CP850),
1524 (3, Encoding::CP860),
1525 (4, Encoding::CP863),
1526 (5, Encoding::CP865),
1527 (11, Encoding::CP851),
1528 (12, Encoding::CP853),
1529 (13, Encoding::CP857),
1530 (14, Encoding::CP737),
1531 (15, Encoding::ISO_8859_7),
1532 (16, Encoding::CP1252),
1533 (17, Encoding::CP866),
1534 (18, Encoding::CP852),
1535 (19, Encoding::CP858),
1536 (30, Encoding::TCVN_3_1),
1537 (31, Encoding::TCVN_3_2),
1538 (32, Encoding::CP720),
1539 (33, Encoding::CP775),
1540 (34, Encoding::CP855),
1541 (35, Encoding::CP861),
1542 (36, Encoding::CP862),
1543 (37, Encoding::CP864),
1544 (38, Encoding::CP869),
1545 (39, Encoding::ISO_8859_2),
1546 (40, Encoding::ISO_8859_15),
1547 (41, Encoding::CP1098),
1548 (44, Encoding::CP1125),
1549 (45, Encoding::CP1250),
1550 (46, Encoding::CP1251),
1551 (47, Encoding::CP1253),
1552 (48, Encoding::CP1254),
1553 (49, Encoding::CP1255),
1554 (50, Encoding::CP1256),
1555 (51, Encoding::CP1257),
1556 (52, Encoding::CP1258),
1557 (53, Encoding::RK1048),
1558 (255, Encoding::UNKNOWN),
1559 ])),
1560 colors: Cow::Borrowed(IntMap::from_entries(&[
1561 (0, Color::Black),
1562 ])),
1563 fonts: Cow::Borrowed(IntMap::from_entries(&[
1564 (0, FontInfo { columns: 48 }),
1565 (1, FontInfo { columns: 64 }),
1566 ])),
1567 media: Media { dpi: Some(203), width: Some(Width { mm: 72.0, px: 576 }) },
1568};
1569
1570#[doc = "TM-T20II (42 column mode) profile\n\nEpson TM-T20II profile (42 column mode)"]
1571pub static TM_T20II_42COL: Profile = Profile {
1572 name: Cow::Borrowed("TM-T20II (42 column mode)"),
1573 vendor: Cow::Borrowed("Epson"),
1574 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)),
1575 code_pages: Cow::Borrowed(IntMap::from_entries(&[
1576 (0, Encoding::CP437),
1577 (1, Encoding::CP932),
1578 (2, Encoding::CP850),
1579 (3, Encoding::CP860),
1580 (4, Encoding::CP863),
1581 (5, Encoding::CP865),
1582 (11, Encoding::CP851),
1583 (12, Encoding::CP853),
1584 (13, Encoding::CP857),
1585 (14, Encoding::CP737),
1586 (15, Encoding::ISO_8859_7),
1587 (16, Encoding::CP1252),
1588 (17, Encoding::CP866),
1589 (18, Encoding::CP852),
1590 (19, Encoding::CP858),
1591 (30, Encoding::TCVN_3_1),
1592 (31, Encoding::TCVN_3_2),
1593 (32, Encoding::CP720),
1594 (33, Encoding::CP775),
1595 (34, Encoding::CP855),
1596 (35, Encoding::CP861),
1597 (36, Encoding::CP862),
1598 (37, Encoding::CP864),
1599 (38, Encoding::CP869),
1600 (39, Encoding::ISO_8859_2),
1601 (40, Encoding::ISO_8859_15),
1602 (41, Encoding::CP1098),
1603 (44, Encoding::CP1125),
1604 (45, Encoding::CP1250),
1605 (46, Encoding::CP1251),
1606 (47, Encoding::CP1253),
1607 (48, Encoding::CP1254),
1608 (49, Encoding::CP1255),
1609 (50, Encoding::CP1256),
1610 (51, Encoding::CP1257),
1611 (52, Encoding::CP1258),
1612 (53, Encoding::RK1048),
1613 (255, Encoding::UNKNOWN),
1614 ])),
1615 colors: Cow::Borrowed(IntMap::from_entries(&[
1616 (0, Color::Black),
1617 ])),
1618 fonts: Cow::Borrowed(IntMap::from_entries(&[
1619 (0, FontInfo { columns: 42 }),
1620 (1, FontInfo { columns: 60 }),
1621 ])),
1622 media: Media { dpi: None, width: Some(Width { mm: 68.3, px: 546 }) },
1623};
1624
1625#[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"]
1626pub static TM_T88II: Profile = Profile {
1627 name: Cow::Borrowed("TM-T88II"),
1628 vendor: Cow::Borrowed("Epson"),
1629 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)),
1630 code_pages: Cow::Borrowed(IntMap::from_entries(&[
1631 (0, Encoding::CP437),
1632 (1, Encoding::CP932),
1633 (2, Encoding::CP850),
1634 (3, Encoding::CP860),
1635 (4, Encoding::CP863),
1636 (5, Encoding::CP865),
1637 (6, Encoding::UNKNOWN),
1638 (7, Encoding::UNKNOWN),
1639 (8, Encoding::UNKNOWN),
1640 (11, Encoding::UNKNOWN),
1641 (12, Encoding::UNKNOWN),
1642 (13, Encoding::CP857),
1643 (14, Encoding::CP737),
1644 (15, Encoding::ISO_8859_7),
1645 (16, Encoding::CP1252),
1646 (17, Encoding::CP866),
1647 (18, Encoding::CP852),
1648 (19, Encoding::UNKNOWN),
1649 (20, Encoding::UNKNOWN),
1650 (21, Encoding::CP874),
1651 (22, Encoding::UNKNOWN),
1652 (23, Encoding::UNKNOWN),
1653 (24, Encoding::UNKNOWN),
1654 (25, Encoding::UNKNOWN),
1655 (26, Encoding::UNKNOWN),
1656 (30, Encoding::TCVN_3_1),
1657 (31, Encoding::TCVN_3_2),
1658 (32, Encoding::UNKNOWN),
1659 (33, Encoding::CP775),
1660 (34, Encoding::CP855),
1661 (35, Encoding::CP861),
1662 (36, Encoding::CP862),
1663 (37, Encoding::CP864),
1664 (38, Encoding::CP869),
1665 (39, Encoding::ISO_8859_2),
1666 (40, Encoding::ISO_8859_15),
1667 (41, Encoding::UNKNOWN),
1668 (42, Encoding::CP774),
1669 (43, Encoding::CP772),
1670 (44, Encoding::CP1125),
1671 (45, Encoding::CP1250),
1672 (46, Encoding::CP1251),
1673 (47, Encoding::CP1253),
1674 (48, Encoding::CP1254),
1675 (49, Encoding::CP1255),
1676 (50, Encoding::CP1256),
1677 (51, Encoding::CP1257),
1678 (52, Encoding::CP1258),
1679 (53, Encoding::RK1048),
1680 (66, Encoding::UNKNOWN),
1681 (67, Encoding::UNKNOWN),
1682 (68, Encoding::UNKNOWN),
1683 (69, Encoding::UNKNOWN),
1684 (70, Encoding::UNKNOWN),
1685 (71, Encoding::UNKNOWN),
1686 (72, Encoding::UNKNOWN),
1687 (73, Encoding::UNKNOWN),
1688 (74, Encoding::UNKNOWN),
1689 (75, Encoding::UNKNOWN),
1690 (82, Encoding::UNKNOWN),
1691 (254, Encoding::UNKNOWN),
1692 (255, Encoding::UNKNOWN),
1693 ])),
1694 colors: Cow::Borrowed(IntMap::from_entries(&[
1695 (0, Color::Black),
1696 ])),
1697 fonts: Cow::Borrowed(IntMap::from_entries(&[
1698 (0, FontInfo { columns: 42 }),
1699 (1, FontInfo { columns: 56 }),
1700 ])),
1701 media: Media { dpi: Some(180), width: Some(Width { mm: 72.0, px: 512 }) },
1702};
1703
1704#[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"]
1705pub static TM_T88III: Profile = Profile {
1706 name: Cow::Borrowed("TM-T88III"),
1707 vendor: Cow::Borrowed("Epson"),
1708 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)),
1709 code_pages: Cow::Borrowed(IntMap::from_entries(&[
1710 (0, Encoding::CP437),
1711 (1, Encoding::CP932),
1712 (2, Encoding::CP850),
1713 (3, Encoding::CP860),
1714 (4, Encoding::CP863),
1715 (5, Encoding::CP865),
1716 (6, Encoding::CP1251),
1717 (16, Encoding::CP1252),
1718 (17, Encoding::CP866),
1719 (18, Encoding::CP862),
1720 (19, Encoding::CP858),
1721 (255, Encoding::UNKNOWN),
1722 ])),
1723 colors: Cow::Borrowed(IntMap::from_entries(&[
1724 (0, Color::Black),
1725 ])),
1726 fonts: Cow::Borrowed(IntMap::from_entries(&[
1727 (0, FontInfo { columns: 42 }),
1728 (1, FontInfo { columns: 56 }),
1729 ])),
1730 media: Media { dpi: Some(180), width: Some(Width { mm: 80.0, px: 512 }) },
1731};
1732
1733#[doc = "TM-T88IV profile\n\nEpson TM-T88IV profile\n"]
1734pub static TM_T88IV: Profile = Profile {
1735 name: Cow::Borrowed("TM-T88IV"),
1736 vendor: Cow::Borrowed("Epson"),
1737 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)),
1738 code_pages: Cow::Borrowed(IntMap::from_entries(&[
1739 (0, Encoding::CP437),
1740 (1, Encoding::CP932),
1741 (2, Encoding::CP850),
1742 (3, Encoding::CP860),
1743 (4, Encoding::CP863),
1744 (5, Encoding::CP865),
1745 (16, Encoding::CP1252),
1746 (17, Encoding::CP866),
1747 (18, Encoding::CP852),
1748 (19, Encoding::CP858),
1749 (255, Encoding::UNKNOWN),
1750 ])),
1751 colors: Cow::Borrowed(IntMap::from_entries(&[
1752 (0, Color::Black),
1753 ])),
1754 fonts: Cow::Borrowed(IntMap::from_entries(&[
1755 (0, FontInfo { columns: 42 }),
1756 (1, FontInfo { columns: 56 }),
1757 ])),
1758 media: Media { dpi: Some(180), width: Some(Width { mm: 80.0, px: 512 }) },
1759};
1760
1761#[doc = "TM-T88IV South Asia profile\n\nEpson TM-T88IV profile (South Asia models)\n"]
1762pub static TM_T88IV_SA: Profile = Profile {
1763 name: Cow::Borrowed("TM-T88IV South Asia"),
1764 vendor: Cow::Borrowed("Epson"),
1765 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)),
1766 code_pages: Cow::Borrowed(IntMap::from_entries(&[
1767 (0, Encoding::CP437),
1768 (20, Encoding::UNKNOWN),
1769 (21, Encoding::CP874),
1770 (26, Encoding::UNKNOWN),
1771 (30, Encoding::TCVN_3_1),
1772 (31, Encoding::TCVN_3_2),
1773 ])),
1774 colors: Cow::Borrowed(IntMap::from_entries(&[
1775 (0, Color::Black),
1776 ])),
1777 fonts: Cow::Borrowed(IntMap::from_entries(&[
1778 (0, FontInfo { columns: 42 }),
1779 (1, FontInfo { columns: 56 }),
1780 ])),
1781 media: Media { dpi: Some(180), width: Some(Width { mm: 80.0, px: 512 }) },
1782};
1783
1784#[doc = "TM-T88V profile\n\nEpson TM-T88V profile\n"]
1785pub static TM_T88V: Profile = Profile {
1786 name: Cow::Borrowed("TM-T88V"),
1787 vendor: Cow::Borrowed("Epson"),
1788 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)),
1789 code_pages: Cow::Borrowed(IntMap::from_entries(&[
1790 (0, Encoding::CP437),
1791 (1, Encoding::CP932),
1792 (2, Encoding::CP850),
1793 (3, Encoding::CP860),
1794 (4, Encoding::CP863),
1795 (5, Encoding::CP865),
1796 (11, Encoding::CP851),
1797 (12, Encoding::CP853),
1798 (13, Encoding::CP857),
1799 (14, Encoding::CP737),
1800 (15, Encoding::ISO_8859_7),
1801 (16, Encoding::CP1252),
1802 (17, Encoding::CP866),
1803 (18, Encoding::CP852),
1804 (19, Encoding::CP858),
1805 (30, Encoding::TCVN_3_1),
1806 (31, Encoding::TCVN_3_2),
1807 (32, Encoding::CP720),
1808 (33, Encoding::CP775),
1809 (34, Encoding::CP855),
1810 (35, Encoding::CP861),
1811 (36, Encoding::CP862),
1812 (37, Encoding::CP864),
1813 (38, Encoding::CP869),
1814 (39, Encoding::ISO_8859_2),
1815 (40, Encoding::ISO_8859_15),
1816 (41, Encoding::CP1098),
1817 (45, Encoding::CP1250),
1818 (46, Encoding::CP1251),
1819 (47, Encoding::CP1253),
1820 (48, Encoding::CP1254),
1821 (49, Encoding::CP1255),
1822 (50, Encoding::CP1256),
1823 (51, Encoding::CP1257),
1824 (52, Encoding::CP1258),
1825 (53, Encoding::RK1048),
1826 (255, Encoding::UNKNOWN),
1827 ])),
1828 colors: Cow::Borrowed(IntMap::from_entries(&[
1829 (0, Color::Black),
1830 ])),
1831 fonts: Cow::Borrowed(IntMap::from_entries(&[
1832 (0, FontInfo { columns: 42 }),
1833 (1, FontInfo { columns: 56 }),
1834 ])),
1835 media: Media { dpi: Some(180), width: Some(Width { mm: 80.0, px: 512 }) },
1836};
1837
1838#[doc = "TM-U220 profile\n\nTwo-color impact printer with 80mm output"]
1839pub static TM_U220: Profile = Profile {
1840 name: Cow::Borrowed("TM-U220"),
1841 vendor: Cow::Borrowed("Epson"),
1842 features: Features(FeaturesInner::empty().union(FeaturesInner::BIT_IMAGE_COLUMN).union(FeaturesInner::PULSE_STANDARD)),
1843 code_pages: Cow::Borrowed(IntMap::from_entries(&[
1844 (0, Encoding::CP437),
1845 ])),
1846 colors: Cow::Borrowed(IntMap::from_entries(&[
1847 (0, Color::Black),
1848 (1, Color::Alternate),
1849 ])),
1850 fonts: Cow::Borrowed(IntMap::from_entries(&[
1851 (0, FontInfo { columns: 42 }),
1852 (1, FontInfo { columns: 56 }),
1853 ])),
1854 media: Media { dpi: None, width: Some(Width { mm: 63.4, px: 400 }) },
1855};
1856
1857#[doc = "TM-U220B profile\n\nTwo-color impact printer with 76mm output"]
1858pub static TM_U220B: Profile = Profile {
1859 name: Cow::Borrowed("TM-U220B"),
1860 vendor: Cow::Borrowed("Epson"),
1861 features: Features(FeaturesInner::empty().union(FeaturesInner::BIT_IMAGE_COLUMN).union(FeaturesInner::PAPER_PART_CUT).union(FeaturesInner::PULSE_STANDARD)),
1862 code_pages: Cow::Borrowed(IntMap::from_entries(&[
1863 (0, Encoding::CP437),
1864 ])),
1865 colors: Cow::Borrowed(IntMap::from_entries(&[
1866 (0, Color::Black),
1867 (1, Color::Alternate),
1868 ])),
1869 fonts: Cow::Borrowed(IntMap::from_entries(&[
1870 (0, FontInfo { columns: 42 }),
1871 (1, FontInfo { columns: 56 }),
1872 ])),
1873 media: Media { dpi: None, width: Some(Width { mm: 63.4, px: 400 }) },
1874};
1875
1876#[doc = "TSP600 Series profile\n\nStar TSP600 thermal printer series with ESC/POS emulation enabled"]
1877pub static TSP600: Profile = Profile {
1878 name: Cow::Borrowed("TSP600 Series"),
1879 vendor: Cow::Borrowed("Star Micronics"),
1880 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)),
1881 code_pages: Cow::Borrowed(IntMap::from_entries(&[
1882 (0, Encoding::CP437),
1883 (1, Encoding::CP437),
1884 (2, Encoding::CP932),
1885 (3, Encoding::CP437),
1886 (4, Encoding::CP858),
1887 (5, Encoding::CP852),
1888 (6, Encoding::CP860),
1889 (7, Encoding::CP861),
1890 (8, Encoding::CP863),
1891 (9, Encoding::CP865),
1892 (10, Encoding::CP866),
1893 (11, Encoding::CP855),
1894 (12, Encoding::CP857),
1895 (13, Encoding::CP862),
1896 (14, Encoding::CP864),
1897 (15, Encoding::CP737),
1898 (16, Encoding::CP851),
1899 (17, Encoding::CP869),
1900 (18, Encoding::CP928),
1901 (19, Encoding::CP772),
1902 (20, Encoding::CP774),
1903 (21, Encoding::CP874),
1904 (32, Encoding::CP1252),
1905 (33, Encoding::CP1250),
1906 (34, Encoding::CP1251),
1907 (64, Encoding::CP3840),
1908 (65, Encoding::CP3841),
1909 (66, Encoding::CP3843),
1910 (67, Encoding::CP3844),
1911 (68, Encoding::CP3845),
1912 (69, Encoding::CP3846),
1913 (70, Encoding::CP3847),
1914 (71, Encoding::CP3848),
1915 (72, Encoding::CP1001),
1916 (73, Encoding::CP2001),
1917 (74, Encoding::CP3001),
1918 (75, Encoding::CP3002),
1919 (76, Encoding::CP3011),
1920 (77, Encoding::CP3012),
1921 (78, Encoding::CP3021),
1922 (79, Encoding::CP3041),
1923 (96, Encoding::UNKNOWN),
1924 (97, Encoding::UNKNOWN),
1925 (98, Encoding::UNKNOWN),
1926 (99, Encoding::UNKNOWN),
1927 (100, Encoding::UNKNOWN),
1928 (101, Encoding::UNKNOWN),
1929 (102, Encoding::UNKNOWN),
1930 (255, Encoding::UNKNOWN),
1931 ])),
1932 colors: Cow::Borrowed(IntMap::from_entries(&[
1933 (0, Color::Black),
1934 ])),
1935 fonts: Cow::Borrowed(IntMap::from_entries(&[
1936 (0, FontInfo { columns: 42 }),
1937 (1, FontInfo { columns: 56 }),
1938 ])),
1939 media: Media { dpi: Some(203), width: Some(Width { mm: 72.0, px: 576 }) },
1940};
1941
1942#[doc = "TUP500 Series profile\n\nStar TUP500 thermal printer series with ESC/POS emulation enabled"]
1943pub static TUP500: Profile = Profile {
1944 name: Cow::Borrowed("TUP500 Series"),
1945 vendor: Cow::Borrowed("Star Micronics"),
1946 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)),
1947 code_pages: Cow::Borrowed(IntMap::from_entries(&[
1948 (0, Encoding::CP437),
1949 (1, Encoding::CP437),
1950 (2, Encoding::CP932),
1951 (3, Encoding::CP437),
1952 (4, Encoding::CP858),
1953 (5, Encoding::CP852),
1954 (6, Encoding::CP860),
1955 (7, Encoding::CP861),
1956 (8, Encoding::CP863),
1957 (9, Encoding::CP865),
1958 (10, Encoding::CP866),
1959 (11, Encoding::CP855),
1960 (12, Encoding::CP857),
1961 (13, Encoding::CP862),
1962 (14, Encoding::CP864),
1963 (15, Encoding::CP737),
1964 (16, Encoding::CP851),
1965 (17, Encoding::CP869),
1966 (18, Encoding::CP928),
1967 (19, Encoding::CP772),
1968 (20, Encoding::CP774),
1969 (21, Encoding::CP874),
1970 (32, Encoding::CP1252),
1971 (33, Encoding::CP1250),
1972 (34, Encoding::CP1251),
1973 (64, Encoding::CP3840),
1974 (65, Encoding::CP3841),
1975 (66, Encoding::CP3843),
1976 (67, Encoding::CP3844),
1977 (68, Encoding::CP3845),
1978 (69, Encoding::CP3846),
1979 (70, Encoding::CP3847),
1980 (71, Encoding::CP3848),
1981 (72, Encoding::CP1001),
1982 (73, Encoding::CP2001),
1983 (74, Encoding::CP3001),
1984 (75, Encoding::CP3002),
1985 (76, Encoding::CP3011),
1986 (77, Encoding::CP3012),
1987 (78, Encoding::CP3021),
1988 (79, Encoding::CP3041),
1989 (96, Encoding::UNKNOWN),
1990 (97, Encoding::UNKNOWN),
1991 (98, Encoding::UNKNOWN),
1992 (99, Encoding::UNKNOWN),
1993 (100, Encoding::UNKNOWN),
1994 (101, Encoding::UNKNOWN),
1995 (102, Encoding::UNKNOWN),
1996 (255, Encoding::UNKNOWN),
1997 ])),
1998 colors: Cow::Borrowed(IntMap::from_entries(&[
1999 (0, Color::Black),
2000 ])),
2001 fonts: Cow::Borrowed(IntMap::from_entries(&[
2002 (0, FontInfo { columns: 42 }),
2003 (1, FontInfo { columns: 56 }),
2004 ])),
2005 media: Media { dpi: Some(203), width: Some(Width { mm: 80.0, px: 65535 }) },
2006};
2007
2008#[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"]
2009pub static ZJ_5870: Profile = Profile {
2010 name: Cow::Borrowed("ZJ-5870 Thermal Receipt Printer"),
2011 vendor: Cow::Borrowed("ZiJiang"),
2012 features: Features(FeaturesInner::empty().union(FeaturesInner::BIT_IMAGE_COLUMN).union(FeaturesInner::BIT_IMAGE_RASTER).union(FeaturesInner::PULSE_STANDARD)),
2013 code_pages: Cow::Borrowed(IntMap::from_entries(&[
2014 (0, Encoding::CP437),
2015 (1, Encoding::CP932),
2016 (2, Encoding::CP850),
2017 (3, Encoding::CP860),
2018 (4, Encoding::CP863),
2019 (5, Encoding::CP865),
2020 (16, Encoding::CP1252),
2021 (17, Encoding::CP866),
2022 (18, Encoding::CP852),
2023 ])),
2024 colors: Cow::Borrowed(IntMap::from_entries(&[
2025 (0, Color::Black),
2026 ])),
2027 fonts: Cow::Borrowed(IntMap::from_entries(&[
2028 (0, FontInfo { columns: 32 }),
2029 ])),
2030 media: Media { dpi: Some(203), width: Some(Width { mm: 48.0, px: 384 }) },
2031};
2032
2033#[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"]
2034pub static DEFAULT: Profile = Profile {
2035 name: Cow::Borrowed("Default"),
2036 vendor: Cow::Borrowed("Generic"),
2037 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)),
2038 code_pages: Cow::Borrowed(IntMap::from_entries(&[
2039 (0, Encoding::CP437),
2040 (1, Encoding::CP932),
2041 (2, Encoding::CP850),
2042 (3, Encoding::CP860),
2043 (4, Encoding::CP863),
2044 (5, Encoding::CP865),
2045 (6, Encoding::UNKNOWN),
2046 (7, Encoding::UNKNOWN),
2047 (8, Encoding::UNKNOWN),
2048 (11, Encoding::CP851),
2049 (12, Encoding::CP853),
2050 (13, Encoding::CP857),
2051 (14, Encoding::CP737),
2052 (15, Encoding::ISO_8859_7),
2053 (16, Encoding::CP1252),
2054 (17, Encoding::CP866),
2055 (18, Encoding::CP852),
2056 (19, Encoding::CP858),
2057 (20, Encoding::UNKNOWN),
2058 (21, Encoding::CP874),
2059 (22, Encoding::UNKNOWN),
2060 (23, Encoding::UNKNOWN),
2061 (24, Encoding::UNKNOWN),
2062 (25, Encoding::UNKNOWN),
2063 (26, Encoding::UNKNOWN),
2064 (30, Encoding::TCVN_3_1),
2065 (31, Encoding::TCVN_3_2),
2066 (32, Encoding::CP720),
2067 (33, Encoding::CP775),
2068 (34, Encoding::CP855),
2069 (35, Encoding::CP861),
2070 (36, Encoding::CP862),
2071 (37, Encoding::CP864),
2072 (38, Encoding::CP869),
2073 (39, Encoding::ISO_8859_2),
2074 (40, Encoding::ISO_8859_15),
2075 (41, Encoding::CP1098),
2076 (42, Encoding::CP774),
2077 (43, Encoding::CP772),
2078 (44, Encoding::CP1125),
2079 (45, Encoding::CP1250),
2080 (46, Encoding::CP1251),
2081 (47, Encoding::CP1253),
2082 (48, Encoding::CP1254),
2083 (49, Encoding::CP1255),
2084 (50, Encoding::CP1256),
2085 (51, Encoding::CP1257),
2086 (52, Encoding::CP1258),
2087 (53, Encoding::RK1048),
2088 (66, Encoding::UNKNOWN),
2089 (67, Encoding::UNKNOWN),
2090 (68, Encoding::UNKNOWN),
2091 (69, Encoding::UNKNOWN),
2092 (70, Encoding::UNKNOWN),
2093 (71, Encoding::UNKNOWN),
2094 (72, Encoding::UNKNOWN),
2095 (73, Encoding::UNKNOWN),
2096 (74, Encoding::UNKNOWN),
2097 (75, Encoding::UNKNOWN),
2098 (82, Encoding::UNKNOWN),
2099 (254, Encoding::UNKNOWN),
2100 (255, Encoding::UNKNOWN),
2101 ])),
2102 colors: Cow::Borrowed(IntMap::from_entries(&[
2103 (0, Color::Black),
2104 ])),
2105 fonts: Cow::Borrowed(IntMap::from_entries(&[
2106 (0, FontInfo { columns: 42 }),
2107 (1, FontInfo { columns: 56 }),
2108 ])),
2109 media: Media { dpi: None, width: None },
2110};
2111
2112#[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"]
2113pub static MC_PRINT: Profile = Profile {
2114 name: Cow::Borrowed("Star mcPrint2/mcPrint3"),
2115 vendor: Cow::Borrowed("Star Micronics"),
2116 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)),
2117 code_pages: Cow::Borrowed(IntMap::from_entries(&[
2118 (0, Encoding::UNKNOWN),
2119 (1, Encoding::CP437),
2120 (2, Encoding::CP932),
2121 (3, Encoding::CP437),
2122 (4, Encoding::CP858),
2123 (5, Encoding::CP852),
2124 (6, Encoding::CP860),
2125 (7, Encoding::CP861),
2126 (8, Encoding::CP863),
2127 (9, Encoding::CP865),
2128 (10, Encoding::CP866),
2129 (11, Encoding::CP855),
2130 (12, Encoding::CP857),
2131 (13, Encoding::CP862),
2132 (14, Encoding::CP864),
2133 (15, Encoding::CP737),
2134 (16, Encoding::CP851),
2135 (17, Encoding::CP869),
2136 (18, Encoding::CP928),
2137 (19, Encoding::CP772),
2138 (20, Encoding::CP774),
2139 (21, Encoding::UNKNOWN),
2140 (32, Encoding::CP1252),
2141 (33, Encoding::CP1250),
2142 (34, Encoding::CP1251),
2143 (64, Encoding::CP3840),
2144 (65, Encoding::CP3841),
2145 (66, Encoding::CP3843),
2146 (67, Encoding::CP3844),
2147 (68, Encoding::CP3845),
2148 (69, Encoding::CP3846),
2149 (70, Encoding::CP3847),
2150 (71, Encoding::CP3848),
2151 (72, Encoding::CP1001),
2152 (73, Encoding::CP2001),
2153 (74, Encoding::CP3001),
2154 (75, Encoding::CP3002),
2155 (76, Encoding::CP3011),
2156 (77, Encoding::CP3012),
2157 (78, Encoding::CP3021),
2158 (79, Encoding::CP3041),
2159 (96, Encoding::UNKNOWN),
2160 (97, Encoding::UNKNOWN),
2161 (98, Encoding::UNKNOWN),
2162 (102, Encoding::UNKNOWN),
2163 (255, Encoding::UNKNOWN),
2164 ])),
2165 colors: Cow::Borrowed(IntMap::from_entries(&[
2166 (0, Color::Black),
2167 ])),
2168 fonts: Cow::Borrowed(IntMap::from_entries(&[
2169 (0, FontInfo { columns: 42 }),
2170 (1, FontInfo { columns: 56 }),
2171 ])),
2172 media: Media { dpi: None, width: None },
2173};
2174
2175#[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"]
2176pub static SAFE: Profile = Profile {
2177 name: Cow::Borrowed("Safe"),
2178 vendor: Cow::Borrowed("Generic"),
2179 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)),
2180 code_pages: Cow::Borrowed(IntMap::from_entries(&[
2181 (0, Encoding::CP437),
2182 (1, Encoding::CP932),
2183 (2, Encoding::CP850),
2184 (3, Encoding::CP860),
2185 (4, Encoding::CP863),
2186 (5, Encoding::CP865),
2187 (16, Encoding::CP1252),
2188 (17, Encoding::CP866),
2189 (18, Encoding::CP852),
2190 (19, Encoding::CP858),
2191 (255, Encoding::UNKNOWN),
2192 ])),
2193 colors: Cow::Borrowed(IntMap::from_entries(&[
2194 (0, Color::Black),
2195 ])),
2196 fonts: Cow::Borrowed(IntMap::from_entries(&[
2197 (0, FontInfo { columns: 42 }),
2198 (1, FontInfo { columns: 56 }),
2199 ])),
2200 media: Media { dpi: None, width: None },
2201};
2202
2203#[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"]
2204pub static SIMPLE: Profile = Profile {
2205 name: Cow::Borrowed("Simple"),
2206 vendor: Cow::Borrowed("Generic"),
2207 features: Features(FeaturesInner::empty().union(FeaturesInner::BIT_IMAGE_RASTER).union(FeaturesInner::HIGH_DENSITY).union(FeaturesInner::PULSE_STANDARD)),
2208 code_pages: Cow::Borrowed(IntMap::from_entries(&[
2209 (0, Encoding::CP437),
2210 ])),
2211 colors: Cow::Borrowed(IntMap::from_entries(&[
2212 (0, Color::Black),
2213 ])),
2214 fonts: Cow::Borrowed(IntMap::from_entries(&[
2215 (0, FontInfo { columns: 42 }),
2216 (1, FontInfo { columns: 56 }),
2217 ])),
2218 media: Media { dpi: None, width: None },
2219};
2220
2221pub static ALL_PROFILES: phf::Map<&'static str, &'static Profile<'static>> = ::phf::Map {
2223 key: 10121458955350035957,
2224 disps: &[
2225 (18, 26),
2226 (0, 8),
2227 (1, 2),
2228 (0, 2),
2229 (0, 10),
2230 (28, 17),
2231 (2, 0),
2232 (6, 11),
2233 ],
2234 entries: &[
2235 ("TM-P80", &TM_P80),
2236 ("CT-S651", &CT_S651),
2237 ("TH230Plus", &TH230_PLUS),
2238 ("TM-T88V", &TM_T88V),
2239 ("simple", &SIMPLE),
2240 ("KR-306", &KR_306),
2241 ("TM-T88IV", &TM_T88IV),
2242 ("TSP600", &TSP600),
2243 ("TM-T88III", &TM_T88III),
2244 ("TM-P80-42col", &TM_P80_42COL),
2245 ("TM-U220", &TM_U220),
2246 ("SRP-S300", &SRP_S300),
2247 ("RP-F10-58mm", &RP_F10_58MM),
2248 ("safe", &SAFE),
2249 ("TM-L90", &TM_L90),
2250 ("POS-5890", &POS_5890),
2251 ("TEP-200M", &TEP_200M),
2252 ("ZJ-5870", &ZJ_5870),
2253 ("P822D", &P822D),
2254 ("TM-T88II", &TM_T88II),
2255 ("AF-240", &AF_240),
2256 ("default", &DEFAULT),
2257 ("RP326", &RP326),
2258 ("TM-T88IV-SA", &TM_T88IV_SA),
2259 ("RP-F10-80mm", &RP_F10_80MM),
2260 ("NT-80-V-UL", &NT_80_V_UL),
2261 ("TUP500", &TUP500),
2262 ("OCD-300", &OCD_300),
2263 ("NT-5890K", &NT_5890K),
2264 ("ITPP047", &ITPP047),
2265 ("TM-U220B", &TM_U220B),
2266 ("TM-T20II", &TM_T20II),
2267 ("SP2000", &SP2000),
2268 ("mcPrint", &MC_PRINT),
2269 ("OCD-100", &OCD_100),
2270 ("T-1", &T_1),
2271 ("Sunmi-V2", &SUNMI_V2),
2272 ("TM-T20II-42col", &TM_T20II_42COL),
2273 ("TH230", &TH230),
2274 ],
2275};