esc-pos 0.0.8 → 0.0.9

Sign up to get free protection for your applications and to get access to all the features.
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