escpos_rust/command/
charset.rs

1extern crate serde;
2
3use serde::{Serialize, Deserialize};
4
5/// Possible character sets
6#[derive(Serialize, Deserialize, Clone, Debug)]
7pub enum Charset {
8    /// United states of america
9    USA,
10    /// France
11    France,
12    /// Germany
13    Germany,
14    /// United Kingdom
15    UK,
16    /// 1st possibility for Denmark
17    Denmark1,
18    /// Sweden
19    Sweden,
20    /// Italy
21    Italy,
22    /// 1st possibility for Spain
23    Spain1,
24    /// Japan
25    Japan,
26    /// Norway
27    Norway,
28    /// 2nd possibility for Denmark
29    Denmark2,
30    /// 2nd possibility for Spain
31    Spain2,
32    /// Latin America
33    LatinAmerica,
34    /// Korea
35    Korea,
36    /// Slovenia or Croatia
37    SloveniaCroatia,
38    /// China
39    China,
40    /// Vietnam
41    Vietnam,
42    /// Arabia
43    Arabia
44}
45
46impl Charset {
47    /// Returns the byte representation of the esc/pos command
48    pub fn as_bytes(&self) -> Vec<u8> {
49        match self {
50            Charset::USA => vec![0x00],
51            Charset::France => vec![0x01],
52            Charset::Germany => vec![0x02],
53            Charset::UK => vec![0x03],
54            Charset::Denmark1 => vec![0x04],
55            Charset::Sweden => vec![0x05],
56            Charset::Italy => vec![0x06],
57            Charset::Spain1 => vec![0x07],
58            Charset::Japan => vec![0x08],
59            Charset::Norway => vec![0x09],
60            Charset::Denmark2 => vec![0x0a],
61            Charset::Spain2 => vec![0x0b],
62            Charset::LatinAmerica => vec![0x0c],
63            Charset::Korea => vec![0x0d],
64            Charset::SloveniaCroatia => vec![0x0e],
65            Charset::China => vec![0x0f],
66            Charset::Vietnam => vec![0x10],
67            Charset::Arabia => vec![0x11]
68        }
69    }
70}