pos-printer 0.0.9 → 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (3) hide show
  1. checksums.yaml +4 -4
  2. data/lib/pos/printer.rb +84 -0
  3. metadata +3 -3
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 7718e3f4f1ce4a9a080ecee290af845cff7cdf0a5d92807539ef40eff5e53f01
4
- data.tar.gz: aca4fe76e92c35a51efd75d91b799d0fe2e168361b3ace1c29d70ec10b8b988f
3
+ metadata.gz: 98919ecf4df5acf0ada18f7d0a2b4aecdd4acf3ccf587cea2c98ca71355c6c97
4
+ data.tar.gz: 36fc1946d73fcfe1cf007f95ad42aa5c2a535abf7a7aa36f317ea39bd21cfc00
5
5
  SHA512:
6
- metadata.gz: 025b8c473e444c9407e28bdef40759e49812530418fb06b8bf161c2b6f31db117b438c13d364a6cb3c20532101f761be89930913d94451b7ae745dafac83284f
7
- data.tar.gz: c7b338cb1b53678c4311057a79eb4487878c6d2508261176a84016e5b42400ae54299246211d8916d5e5b673bbd6ced878e2210c56f11c184dd8955e0fc328ec
6
+ metadata.gz: 404351ae8c620eedd824d4a4e47f448983360a233e216589bb600f09ff143860adad3af5770e47cc88b7f2716b7c77765c448c662c4991103035ea451a9c6e93
7
+ data.tar.gz: 1b7c91d6122389e88e3eebf016a416f2f1c8591f4ea0189af351beb8509ab4af582a36c239cca8f1cb078d4807d6005218c9a02943c384e6e600cb6a3d7a7210
data/lib/pos/printer.rb CHANGED
@@ -19,6 +19,7 @@ module POS
19
19
  end
20
20
 
21
21
  # ESC/POS commands
22
+ # FMI: http://www.bixolon.com/upload/download/unified%20command%20manual_rev_1_01.pdf
22
23
 
23
24
  def align_center
24
25
  add_command "\ea\1"
@@ -60,6 +61,15 @@ module POS
60
61
  add_command "\x1cp\1\0"
61
62
  end
62
63
 
64
+ def barcode(str, dpi = 162, width = 3)
65
+ add_command "\x1D\x48\x00"
66
+ add_command "\x1B\x61\x01"
67
+ add_command "\x1D\x68#{dpi.chr}"
68
+ add_command "\x1D\x77#{width.chr}"
69
+ add_command "\x1D\x6B\x49#{str.size.chr}"
70
+ add_command str
71
+ end
72
+
63
73
  def qr_code(str)
64
74
  qr_size = 4
65
75
  s = str.size + 3
@@ -75,6 +85,10 @@ module POS
75
85
  add_command "\x1D\x28\x6B\x03\x00\x31\x51\x30"
76
86
  end
77
87
 
88
+ def select_character_code_table(chr_table)
89
+ add_command "\et#{get_chr_table_code(chr_table)}"
90
+ end
91
+
78
92
  def small_font
79
93
  add_command "\eM\1"
80
94
  end
@@ -95,7 +109,77 @@ module POS
95
109
  return
96
110
  end
97
111
 
112
+ def get_chr_table_code(chr_table_sym)
113
+ case chr_table_sym
114
+ when :usa
115
+ 0
116
+ when :katakana
117
+ 1
118
+ when :multilingual
119
+ 2
120
+ when :portuguese
121
+ 3
122
+ when :canadian_french
123
+ 4
124
+ when :nordic
125
+ 5
126
+ when :latin_1
127
+ 16
128
+ when :cyrillic_2
129
+ 17
130
+ when :latin_2
131
+ 18
132
+ when :euro
133
+ 19
134
+ when :hebrew_dos_code
135
+ 21
136
+ when :arabic
137
+ 22
138
+ when :thai_42
139
+ 23
140
+ when :greek
141
+ 24
142
+ when :turkish
143
+ 25
144
+ when :baltic
145
+ 26
146
+ when :farsi
147
+ 27
148
+ when :cyrillic
149
+ 28
150
+ when :greek_2
151
+ 29
152
+ when :baltic_2
153
+ 30
154
+ when :thai_14
155
+ 31
156
+ when :hebrew_new_code
157
+ 33
158
+ when :thai_11
159
+ 34
160
+ when :thai_18
161
+ 35
162
+ when :cyrillic_3
163
+ 36
164
+ when :turkish_2
165
+ 37
166
+ when :greek_3
167
+ 38
168
+ when :thai_16
169
+ 39
170
+ when :arabic_2
171
+ 40
172
+ when :vietnam
173
+ 41
174
+ when :space
175
+ 255
176
+ else
177
+ 0
178
+ end.chr
179
+ end
180
+
98
181
  def replace_spanish_characters(str)
182
+ # Codes from: http://www.bixolon.com/upload/download/srp-f310312_code%20pages_english_rev_1_00.pdf
99
183
  str
100
184
  .b
101
185
  .gsub("Á".b, "\xB5".b)
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pos-printer
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.9
4
+ version: 0.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Yusent Chig
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-08-06 00:00:00.000000000 Z
11
+ date: 2024-12-03 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: Library for printing using ESC/POS (thermal) printers using CUPS.
14
14
  email: yusent@protonmail.com
@@ -37,7 +37,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
37
37
  - !ruby/object:Gem::Version
38
38
  version: '0'
39
39
  requirements: []
40
- rubygems_version: 3.0.4
40
+ rubygems_version: 3.0.3.1
41
41
  signing_key:
42
42
  specification_version: 4
43
43
  summary: Library for printing using ESC/POS (thermal) printers using CUPS.