esc-pos 0.0.8 → 0.0.9

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 39cd811bcfa44436c13c1e51bbf625eec659b81f
4
- data.tar.gz: 6444c99af6e97045adb88096e2d3d5914e4ffec3
3
+ metadata.gz: 0fc9acc1747bc27c00e47c244c52e749c13f2b81
4
+ data.tar.gz: 844cbf5dadb15a1ceddd487318586a8b756b90cc
5
5
  SHA512:
6
- metadata.gz: 36114be7f8451a5d23133dc1fb8858cdf7917e6152cfda59d1aff416d5db8130baa85755bb10f0361e96a8ac15454da209018cc2b5644e3e5188fcffe94cbca1
7
- data.tar.gz: f8ba862cfdec32c7d02c03d42466b0986a2755b9572a1c014a6e2f1cb99f71777965aa1cff208ce20775ce271d9194de9e8c704854964132c7f70d624a6a98b7
6
+ metadata.gz: da3e881eff46296c5eaf87515d8e4728640000b23abf5ed45f09203a26345c717a68f6a31d9a45f71826f16920ac4e5dc6def4b691aee010fb89e79c437a3454
7
+ data.tar.gz: 98ba9f8ba23b7849dfb2f32d9991cc8d84ca69e8f1938d46fcf8751795223426d35dd1c939a4560f3315d795d49117298a111baf74ceb0a2574da55bb4d38e43
data/Gemfile CHANGED
@@ -1,4 +1,4 @@
1
1
  source 'https://rubygems.org'
2
2
 
3
- # Specify your gem's dependencies in angus-remote.gemspec
3
+ # Specify your gem's dependencies in esc-pos.gemspec
4
4
  gemspec
data/README.md CHANGED
@@ -19,6 +19,24 @@ specification.render(template: 'payment_ticket')
19
19
  Templates
20
20
  ==============
21
21
 
22
+ Encoding
23
+ ==============
24
+ All the specifications that inherit from ESC_POS::Specifications::Epson use cp437 to encode the text
25
+ you can change this:
26
+ ```ruby
27
+ class PrinterTestPage < ESC_POS::Specifications::Epson::TM_U220
28
+ set :special_encoding, 'utf-8'
29
+ end
30
+ ```
31
+ or disable re-encoding:
32
+ ```ruby
33
+ class PrinterTestPage < ESC_POS::Specifications::Epson::TM_U220
34
+ set :special_encoding, nil
35
+ end
36
+ ```
37
+
38
+ Note: usage of this encoding was needed to print spanish character, ex: á, ñ, etc.
39
+
22
40
  Contributing
23
41
  ==============
24
42
 
@@ -25,7 +25,14 @@ module ESC_POS
25
25
  formatted_text << set_font(font)
26
26
  formatted_text << set_alignment(options[:align_type]) if options[:align_type]
27
27
  formatted_text << set_color(color)
28
- formatted_text << txt if txt
28
+
29
+ if txt && get_value(:special_encoding)
30
+ formatted_text << txt.encode(get_value(:special_encoding))
31
+ elsif txt
32
+ formatted_text << txt
33
+ end
34
+
35
+ formatted_text
29
36
  end
30
37
 
31
38
  def reset_printer
@@ -58,6 +65,14 @@ module ESC_POS
58
65
  "#{get_value(:esc_code)}#{get_value(:color_selector_code)}#{get_value(color)}"
59
66
  end
60
67
 
68
+ def set_international_character_set(character_set)
69
+ "#{get_value(:esc_code)}#{get_value(:international_character_selector_code)}#{get_value(character_set).chr}"
70
+ end
71
+
72
+ def set_character_code_table(character_code)
73
+ "#{get_value(:esc_code)}#{get_value(:character_table_selector_code)}#{get_value(character_code).chr}"
74
+ end
75
+
61
76
  def split_line(char = '-')
62
77
  text(char * get_value(:width), :font => :font_b)
63
78
  end
@@ -5,28 +5,53 @@ module ESC_POS
5
5
 
6
6
  class Epson < Base
7
7
 
8
- set :esc_code, "\x1B"
9
- set :gs_code, "\x1D"
10
- set :fs_code, "\x1C"
11
-
12
- set :reset_printer_code, '@'
13
- set :font_selector_code, 'M'
14
- set :alignment_selector_code, 'a'
15
- set :color_selector_code, 'r'
16
-
17
- set :width, 42
18
- set :lines_to_cut_line, 7
19
- set :spaces_to_end_page, 0
20
-
21
- set :font_a, 0
22
- set :font_b, 1
23
-
24
- set :color_black, 0
25
- set :color_red, 1
26
-
27
- set :align_left, 0
28
- set :align_center, 1
29
- set :align_right, 2
8
+ set :special_encoding, 'cp437'
9
+
10
+ set :esc_code, "\x1B"
11
+ set :gs_code, "\x1D"
12
+ set :fs_code, "\x1C"
13
+
14
+ set :reset_printer_code, '@'
15
+ set :font_selector_code, 'M'
16
+ set :alignment_selector_code, 'a'
17
+ set :color_selector_code, 'r'
18
+ set :international_character_selector_code, 'R'
19
+ set :character_table_selector_code, 't'
20
+
21
+ set :width, 42
22
+ set :lines_to_cut_line, 7
23
+ set :spaces_to_end_page, 0
24
+
25
+ set :font_a, 0
26
+ set :font_b, 1
27
+
28
+ set :color_black, 0
29
+ set :color_red, 1
30
+
31
+ set :align_left, 0
32
+ set :align_center, 1
33
+ set :align_right, 2
34
+
35
+ set :usa_character_set, 0
36
+ set :france_character_set, 1
37
+ set :germany_character_set, 2
38
+ set :uk_character_set, 3
39
+ set :denmark_character_set, 4
40
+ set :sweden_character_set, 5
41
+ set :italy_character_set, 6
42
+ set :spain_character_set, 7
43
+ set :japan_character_set, 8
44
+ set :norway_character_set, 9
45
+
46
+ set :usa_character_table, 0
47
+ set :katana_character_table, 1
48
+ set :multilingual_character_table, 2
49
+ set :portuguese_character_table, 3
50
+ set :french_character_table, 4
51
+ set :nordic_character_table, 5
52
+ set :cyrillic_character_table, 17
53
+ set :latin_character_table, 18
54
+ set :euro_character_table, 19
30
55
 
31
56
  end
32
57
 
@@ -1,5 +1,5 @@
1
1
  module ESC_POS
2
2
 
3
- VERSION = '0.0.8'
3
+ VERSION = '0.0.9'
4
4
 
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: esc-pos
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.8
4
+ version: 0.0.9
5
5
  platform: ruby
6
6
  authors:
7
7
  - Adrian Gomez