ruby-zint 1.0.0 → 1.2.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.
- checksums.yaml +4 -4
- data/.standard.yml +2 -0
- data/Gemfile +2 -0
- data/README.md +30 -8
- data/Rakefile +12 -0
- data/ext/ruby-zint/extconf.rb +86 -0
- data/lib/zint/aus_post.rb +1 -0
- data/lib/zint/aus_redirect.rb +1 -0
- data/lib/zint/aus_reply.rb +1 -0
- data/lib/zint/aus_route.rb +1 -0
- data/lib/zint/azrune.rb +1 -0
- data/lib/zint/aztec.rb +1 -0
- data/lib/zint/barcode.rb +439 -47
- data/lib/zint/{noascii.rb → bc_412.rb} +3 -2
- data/lib/zint/c25iata.rb +1 -0
- data/lib/zint/c25ind.rb +1 -0
- data/lib/zint/c25inter.rb +1 -0
- data/lib/zint/c25logic.rb +1 -0
- data/lib/zint/c25matrix.rb +1 -0
- data/lib/zint/c25standard.rb +1 -0
- data/lib/zint/{box.rb → cep_net.rb} +3 -2
- data/lib/zint/channel.rb +1 -0
- data/lib/zint/codabar.rb +1 -0
- data/lib/zint/codablock_f.rb +1 -0
- data/lib/zint/code11.rb +1 -0
- data/lib/zint/code128.rb +1 -0
- data/lib/zint/{dotty_mode.rb → code128ab.rb} +3 -2
- data/lib/zint/code128b.rb +2 -4
- data/lib/zint/code16k.rb +1 -0
- data/lib/zint/code32.rb +1 -0
- data/lib/zint/code39.rb +1 -0
- data/lib/zint/code49.rb +1 -0
- data/lib/zint/code93.rb +1 -0
- data/lib/zint/code_one.rb +1 -0
- data/lib/zint/constants/capability_flags.rb +14 -11
- data/lib/zint/constants/input_data_types.rb +8 -7
- data/lib/zint/constants/output_options.rb +14 -11
- data/lib/zint/constants/symbologies.rb +13 -6
- data/lib/zint/constants/warn_levels.rb +1 -1
- data/lib/zint/daft.rb +1 -0
- data/lib/zint/data_matrix.rb +1 -0
- data/lib/zint/dbarexp.rb +1 -0
- data/lib/zint/dbarexpstk.rb +1 -0
- data/lib/zint/dbarltd.rb +1 -0
- data/lib/zint/dbaromn.rb +1 -0
- data/lib/zint/dbaromnstk.rb +1 -0
- data/lib/zint/dbarstk.rb +1 -0
- data/lib/zint/dependencies.rb +8 -0
- data/lib/zint/dot_code.rb +1 -0
- data/lib/zint/dpd.rb +1 -0
- data/lib/zint/dpident.rb +1 -0
- data/lib/zint/dpleit.rb +1 -0
- data/lib/zint/ean128.rb +1 -0
- data/lib/zint/ean14.rb +1 -0
- data/lib/zint/eanx.rb +1 -0
- data/lib/zint/eanxchk.rb +1 -0
- data/lib/zint/excode39.rb +1 -0
- data/lib/zint/fim.rb +1 -0
- data/lib/zint/flat.rb +1 -0
- data/lib/zint/grid_matrix.rb +1 -0
- data/lib/zint/gs1_128.rb +1 -0
- data/lib/zint/hanxin.rb +1 -0
- data/lib/zint/hibc128.rb +1 -0
- data/lib/zint/hibc39.rb +1 -0
- data/lib/zint/hibcaztec.rb +1 -0
- data/lib/zint/hibcblockf.rb +1 -0
- data/lib/zint/hibcdm.rb +1 -0
- data/lib/zint/hibcmicpdf.rb +1 -0
- data/lib/zint/hibcpdf.rb +1 -0
- data/lib/zint/hibcqr.rb +1 -0
- data/lib/zint/isbnx.rb +1 -0
- data/lib/zint/itf14.rb +1 -0
- data/lib/zint/japan_post.rb +1 -0
- data/lib/zint/kix.rb +1 -0
- data/lib/zint/korea_post.rb +1 -0
- data/lib/zint/logmars.rb +1 -0
- data/lib/zint/mailmark.rb +1 -0
- data/lib/zint/mailmark_2d.rb +8 -0
- data/lib/zint/mailmark_4s.rb +8 -0
- data/lib/zint/maxi_code.rb +1 -0
- data/lib/zint/micro_pdf417.rb +1 -0
- data/lib/zint/micro_qr.rb +1 -0
- data/lib/zint/msiplessey.rb +1 -0
- data/lib/zint/native.rb +87 -0
- data/lib/zint/nve18.rb +1 -0
- data/lib/zint/one_code.rb +1 -0
- data/lib/zint/pdf417.rb +1 -0
- data/lib/zint/pdf417comp.rb +1 -0
- data/lib/zint/pdf417trunc.rb +1 -0
- data/lib/zint/pharma.rb +1 -0
- data/lib/zint/pharmatwo.rb +1 -0
- data/lib/zint/planet.rb +1 -0
- data/lib/zint/plessey.rb +1 -0
- data/lib/zint/postnet.rb +1 -0
- data/lib/zint/pzn.rb +1 -0
- data/lib/zint/qr.rb +1 -0
- data/lib/zint/rmqr.rb +1 -0
- data/lib/zint/rss14.rb +1 -0
- data/lib/zint/rss14stack.rb +1 -0
- data/lib/zint/rss14stackomni.rb +1 -0
- data/lib/zint/rssexp.rb +1 -0
- data/lib/zint/rssexpstack.rb +1 -0
- data/lib/zint/rssltd.rb +1 -0
- data/lib/zint/structs/structapp.rb +25 -0
- data/lib/zint/structs/symbol.rb +44 -36
- data/lib/zint/structs/vector.rb +47 -5
- data/lib/zint/structs/vector_circle.rb +32 -0
- data/lib/zint/structs/vector_hexagon.rb +31 -0
- data/lib/zint/structs/vector_rect.rb +37 -0
- data/lib/zint/structs/vector_string.rb +43 -8
- data/lib/zint/telepen.rb +1 -0
- data/lib/zint/telepennum.rb +1 -0
- data/lib/zint/ultra.rb +1 -0
- data/lib/zint/upc_a.rb +1 -0
- data/lib/zint/upc_a_chk.rb +1 -0
- data/lib/zint/upc_e.rb +1 -0
- data/lib/zint/upc_e_chk.rb +1 -0
- data/lib/zint/upnqr.rb +1 -0
- data/lib/zint/{bind.rb → upu_s10.rb} +3 -2
- data/lib/zint/uspsimail.rb +1 -0
- data/lib/zint/version.rb +1 -1
- data/lib/zint/vin.rb +1 -0
- data/lib/zint/zint_recipe.rb +27 -0
- data/lib/zint.rb +15 -83
- data/ports/archives/zint-2.12.0-src.tar.gz +0 -0
- metadata +34 -12
- data/Gemfile.lock +0 -79
- data/lib/zint/stdout.rb +0 -7
- data/lib/zint/structs/circle.rb +0 -11
- data/lib/zint/structs/hexagon.rb +0 -11
- data/lib/zint/structs/rect.rb +0 -12
data/lib/zint/barcode.rb
CHANGED
|
@@ -5,14 +5,12 @@ module Zint
|
|
|
5
5
|
# barcode = Zint::Barcode.new(value: "Test", type: Zint::BARCODE_QRCODE, options: {option_1: 1})
|
|
6
6
|
# barcode.to_file(path: "qr.png")
|
|
7
7
|
class Barcode
|
|
8
|
+
include Native
|
|
9
|
+
|
|
8
10
|
# @return [String, NilClass] Content of the barcode
|
|
9
11
|
attr_accessor :value
|
|
10
12
|
# @return [String, NilClass] Path to input file with content of the barcode
|
|
11
13
|
attr_accessor :input_file
|
|
12
|
-
# @return [Integer] Type of barcode
|
|
13
|
-
attr_reader :type
|
|
14
|
-
# @return [Zint::Structs::Symbol] The underlying FFI struct of the Zint C struct
|
|
15
|
-
attr_reader :zint_symbol
|
|
16
14
|
|
|
17
15
|
# @param value [String, NilClass] Content of the barcode
|
|
18
16
|
# @param input_file [String, NilClass] Path to input file with content of the barcode
|
|
@@ -27,33 +25,23 @@ module Zint
|
|
|
27
25
|
@zint_symbol[key] = value
|
|
28
26
|
end
|
|
29
27
|
|
|
30
|
-
@type = type
|
|
31
28
|
@value = value
|
|
32
29
|
@input_file = input_file
|
|
33
30
|
end
|
|
34
31
|
|
|
35
|
-
# Sets type of barcode
|
|
36
|
-
#
|
|
37
|
-
# @param type [Integer] Type of barcode
|
|
38
|
-
def type=(type)
|
|
39
|
-
@type = type
|
|
40
|
-
|
|
41
|
-
call_function(:ZBarcode_Clear, zint_symbol)
|
|
42
|
-
|
|
43
|
-
@zint_symbol[:symbology] = type
|
|
44
|
-
end
|
|
45
|
-
|
|
46
32
|
# Exports barcode to file
|
|
47
33
|
#
|
|
48
|
-
# @param path [String] Path to export file
|
|
34
|
+
# @param path [String] Path to export file.
|
|
35
|
+
# Contains the name of the file to output a resulting barcode symbol to.
|
|
36
|
+
# Must end in .png, .gif, .bmp, .emf, .eps, .pcx, .svg, .tif or .txt
|
|
49
37
|
# @param rotate_angle [Integer] Rotate angle in degrees (0, 90, 180, 270)
|
|
50
38
|
def to_file(path:, rotate_angle: 0)
|
|
51
39
|
@zint_symbol[:outfile] = path
|
|
52
40
|
|
|
53
41
|
if input_file
|
|
54
|
-
call_function(:ZBarcode_Encode_File_and_Print, zint_symbol, input_file, rotate_angle)
|
|
42
|
+
call_function(:ZBarcode_Encode_File_and_Print, @zint_symbol, input_file, rotate_angle)
|
|
55
43
|
else
|
|
56
|
-
call_function(:ZBarcode_Encode_and_Print, zint_symbol, value, 0, rotate_angle)
|
|
44
|
+
call_function(:ZBarcode_Encode_and_Print, @zint_symbol, value, 0, rotate_angle)
|
|
57
45
|
end
|
|
58
46
|
end
|
|
59
47
|
|
|
@@ -79,37 +67,34 @@ module Zint
|
|
|
79
67
|
# Exports barcode to buffer
|
|
80
68
|
#
|
|
81
69
|
# @param rotate_angle [Integer] Rotate angle in degrees (0, 90, 180, 270)
|
|
82
|
-
# @
|
|
83
|
-
|
|
84
|
-
def to_buffer(rotate_angle: 0, raw_bitmap: false)
|
|
70
|
+
# @return [String] Exported barcode buffer
|
|
71
|
+
def to_buffer(rotate_angle: 0)
|
|
85
72
|
@zint_symbol[:output_options] = Zint::OUT_BUFFER_INTERMEDIATE
|
|
86
73
|
|
|
87
74
|
if input_file
|
|
88
|
-
call_function(:ZBarcode_Encode_File_and_Buffer, zint_symbol, input_file, rotate_angle)
|
|
75
|
+
call_function(:ZBarcode_Encode_File_and_Buffer, @zint_symbol, input_file, rotate_angle)
|
|
89
76
|
else
|
|
90
|
-
call_function(:ZBarcode_Encode_and_Buffer, zint_symbol, value, 0, rotate_angle)
|
|
77
|
+
call_function(:ZBarcode_Encode_and_Buffer, @zint_symbol, value, 0, rotate_angle)
|
|
91
78
|
end
|
|
92
79
|
|
|
93
|
-
|
|
80
|
+
@zint_symbol[:bitmap].read_bytes((@zint_symbol[:bitmap_width] * @zint_symbol[:bitmap_height]))
|
|
81
|
+
end
|
|
94
82
|
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
pixel = zint_bitmap.slice!(0, 1)
|
|
102
|
-
colour = if %w[0 1].include?(pixel)
|
|
103
|
-
(pixel == "1") ? "K" : "W"
|
|
104
|
-
else
|
|
105
|
-
pixel
|
|
106
|
-
end
|
|
107
|
-
pixels << BitmapPixel.new(column, row, colour)
|
|
108
|
-
end
|
|
109
|
-
end
|
|
83
|
+
# Exports barcode to buffer
|
|
84
|
+
#
|
|
85
|
+
# @param rotate_angle [Integer] Rotate angle in degrees (0, 90, 180, 270)
|
|
86
|
+
# @return [Zint::Bitmap] Exported bitmap
|
|
87
|
+
def to_bitmap(rotate_angle: 0)
|
|
88
|
+
zint_bitmap = to_buffer(rotate_angle: rotate_angle)
|
|
110
89
|
|
|
111
|
-
|
|
90
|
+
pixels = []
|
|
91
|
+
@zint_symbol[:bitmap_height].times do |row|
|
|
92
|
+
@zint_symbol[:bitmap_width].times do |column|
|
|
93
|
+
pixels << BitmapPixel.new(column, row, zint_bitmap[pixels.size])
|
|
94
|
+
end
|
|
112
95
|
end
|
|
96
|
+
|
|
97
|
+
Bitmap.new(@zint_symbol[:bitmap_width], @zint_symbol[:bitmap_height], pixels)
|
|
113
98
|
end
|
|
114
99
|
|
|
115
100
|
# Exports barcode as Zint vector
|
|
@@ -118,28 +103,435 @@ module Zint
|
|
|
118
103
|
# @return [Zint::Structs::Vector] Vector data of barcode
|
|
119
104
|
def to_vector(rotate_angle: 0)
|
|
120
105
|
if input_file
|
|
121
|
-
call_function(:ZBarcode_Encode_File_and_Buffer_Vector, zint_symbol, input_file, rotate_angle)
|
|
106
|
+
call_function(:ZBarcode_Encode_File_and_Buffer_Vector, @zint_symbol, input_file, rotate_angle)
|
|
122
107
|
else
|
|
123
|
-
call_function(:ZBarcode_Encode_and_Buffer_Vector, zint_symbol, value, 0, rotate_angle)
|
|
108
|
+
call_function(:ZBarcode_Encode_and_Buffer_Vector, @zint_symbol, value, 0, rotate_angle)
|
|
124
109
|
end
|
|
125
110
|
|
|
126
|
-
|
|
111
|
+
v = @zint_symbol[:vector]
|
|
112
|
+
# Avoid garbage collection of Symbol before Vector, since the Vector is also freed by ZBarcode_Delete()
|
|
113
|
+
v.instance_variable_set(:@symbol, @zint_symbol)
|
|
114
|
+
v
|
|
115
|
+
end
|
|
116
|
+
|
|
117
|
+
# Free barcode and all memory associated with it.
|
|
118
|
+
def free
|
|
119
|
+
@zint_symbol.pointer.free
|
|
120
|
+
end
|
|
121
|
+
|
|
122
|
+
# Attributes
|
|
123
|
+
|
|
124
|
+
# Gets type of barcode
|
|
125
|
+
def symbology
|
|
126
|
+
@zint_symbol[:symbology]
|
|
127
|
+
end
|
|
128
|
+
|
|
129
|
+
# Sets symbol to use (see BARCODE_XXX below)
|
|
130
|
+
#
|
|
131
|
+
# @param type [Integer] Type of barcode
|
|
132
|
+
def symbology=(type)
|
|
133
|
+
reset_symbol
|
|
134
|
+
|
|
135
|
+
@zint_symbol[:symbology] = type
|
|
136
|
+
end
|
|
137
|
+
|
|
138
|
+
# Gets height of barcode
|
|
139
|
+
def height
|
|
140
|
+
@zint_symbol[:height]
|
|
141
|
+
end
|
|
142
|
+
|
|
143
|
+
# Sets height in X-dimensions (ignored for fixed-width barcodes)
|
|
144
|
+
#
|
|
145
|
+
# @param height [Float] Height of barcode
|
|
146
|
+
def height=(height)
|
|
147
|
+
reset_symbol
|
|
148
|
+
|
|
149
|
+
@zint_symbol[:height] = height
|
|
150
|
+
end
|
|
151
|
+
|
|
152
|
+
# Gets scale factor of barcode
|
|
153
|
+
def scale
|
|
154
|
+
@zint_symbol[:scale]
|
|
155
|
+
end
|
|
156
|
+
|
|
157
|
+
# Sets scale factor when printing barcode
|
|
158
|
+
#
|
|
159
|
+
# @param scale [Float] Scale of barcode
|
|
160
|
+
def scale=(scale)
|
|
161
|
+
reset_symbol
|
|
162
|
+
|
|
163
|
+
@zint_symbol[:scale] = scale
|
|
164
|
+
end
|
|
165
|
+
|
|
166
|
+
# Gets width in X-dimensions of whitespace to left & right of barcode
|
|
167
|
+
def whitespace_width
|
|
168
|
+
@zint_symbol[:whitespace_width]
|
|
169
|
+
end
|
|
170
|
+
|
|
171
|
+
# Sets width in X-dimensions of whitespace to left & right of barcode
|
|
172
|
+
#
|
|
173
|
+
# @param whitespace width [Integer] Whitespace width of barcode
|
|
174
|
+
def whitespace_width=(whitespace_width)
|
|
175
|
+
reset_symbol
|
|
176
|
+
|
|
177
|
+
@zint_symbol[:whitespace_width] = whitespace_width
|
|
178
|
+
end
|
|
179
|
+
|
|
180
|
+
# Gets height in X-dimensions of whitespace above & below the barcode
|
|
181
|
+
def whitespace_height
|
|
182
|
+
@zint_symbol[:whitespace_height]
|
|
183
|
+
end
|
|
184
|
+
|
|
185
|
+
# Sets height in X-dimensions of whitespace above & below the barcode
|
|
186
|
+
#
|
|
187
|
+
# @param whitespace height [Integer] Whitespace height of barcode
|
|
188
|
+
def whitespace_height=(whitespace_height)
|
|
189
|
+
reset_symbol
|
|
190
|
+
|
|
191
|
+
@zint_symbol[:whitespace_height] = whitespace_height
|
|
192
|
+
end
|
|
193
|
+
|
|
194
|
+
# Gets size of border in X-dimensions
|
|
195
|
+
def border_width
|
|
196
|
+
@zint_symbol[:border_width]
|
|
197
|
+
end
|
|
198
|
+
|
|
199
|
+
# Sets size of border in X-dimensions
|
|
200
|
+
#
|
|
201
|
+
# @param border width [Integer] Border width of barcode
|
|
202
|
+
def border_width=(border_width)
|
|
203
|
+
reset_symbol
|
|
204
|
+
|
|
205
|
+
@zint_symbol[:border_width] = border_width
|
|
206
|
+
end
|
|
207
|
+
|
|
208
|
+
# Gets output options of barcode
|
|
209
|
+
def output_options
|
|
210
|
+
@zint_symbol[:output_options]
|
|
211
|
+
end
|
|
212
|
+
|
|
213
|
+
# Set various output parameters (bind, box etc, see below) of barcode
|
|
214
|
+
#
|
|
215
|
+
# @param output options [Integer] Output options of barcode
|
|
216
|
+
def output_options=(output_options)
|
|
217
|
+
reset_symbol
|
|
218
|
+
|
|
219
|
+
@zint_symbol[:output_options] = output_options
|
|
220
|
+
end
|
|
221
|
+
|
|
222
|
+
# Gets foreground colour of barcode
|
|
223
|
+
def fgcolour
|
|
224
|
+
@zint_symbol[:fgcolour].to_s
|
|
225
|
+
end
|
|
226
|
+
|
|
227
|
+
# Sets foreground as RGB/RGBA hexadecimal string, 6 or 8 characters, NUL-terminated
|
|
228
|
+
#
|
|
229
|
+
# @param fgcolour [String] Foreground colour of barcode
|
|
230
|
+
def fgcolour=(fgcolour)
|
|
231
|
+
reset_symbol
|
|
232
|
+
|
|
233
|
+
@zint_symbol[:fgcolour] = fgcolour
|
|
234
|
+
end
|
|
235
|
+
|
|
236
|
+
# Gets background colour of barcode
|
|
237
|
+
def bgcolour
|
|
238
|
+
@zint_symbol[:bgcolour].to_s
|
|
239
|
+
end
|
|
240
|
+
|
|
241
|
+
# Sets background as RGB/RGBA hexadecimal string, 6 or 8 characters, NUL-terminated
|
|
242
|
+
#
|
|
243
|
+
# @param bgcolour [String] Background color of barcode
|
|
244
|
+
def bgcolour=(bgcolour)
|
|
245
|
+
reset_symbol
|
|
246
|
+
|
|
247
|
+
@zint_symbol[:bgcolour] = bgcolour
|
|
248
|
+
end
|
|
249
|
+
|
|
250
|
+
# Contains the name of the file to output a resulting barcode symbol to.
|
|
251
|
+
#
|
|
252
|
+
# Must end in .png, .gif, .bmp, .emf, .eps, .pcx, .svg, .tif or .txt
|
|
253
|
+
def outfile
|
|
254
|
+
@zint_symbol[:outfile].to_s
|
|
255
|
+
end
|
|
256
|
+
|
|
257
|
+
# Gets option 1 of barcode
|
|
258
|
+
def option_1
|
|
259
|
+
@zint_symbol[:option_1]
|
|
260
|
+
end
|
|
261
|
+
|
|
262
|
+
# Sets option 1 (symbol-specific options (see "../docs/manual.txt"))
|
|
263
|
+
#
|
|
264
|
+
# @param option_1 [Integer] Option 1 of barcode
|
|
265
|
+
def option_1=(option_1)
|
|
266
|
+
reset_symbol
|
|
267
|
+
|
|
268
|
+
@zint_symbol[:option_1] = option_1
|
|
269
|
+
end
|
|
270
|
+
|
|
271
|
+
# Gets option 2 of barcode
|
|
272
|
+
def option_2
|
|
273
|
+
@zint_symbol[:option_2]
|
|
274
|
+
end
|
|
275
|
+
|
|
276
|
+
# Sets option 2 (symbol-specific options) of barcode
|
|
277
|
+
#
|
|
278
|
+
# @param option 2 [Integer] Option 2 of barcode
|
|
279
|
+
def option_2=(option_2)
|
|
280
|
+
reset_symbol
|
|
281
|
+
|
|
282
|
+
@zint_symbol[:option_2] = option_2
|
|
283
|
+
end
|
|
284
|
+
|
|
285
|
+
# Gets option 3 of barcode
|
|
286
|
+
def option_3
|
|
287
|
+
@zint_symbol[:option_3]
|
|
288
|
+
end
|
|
289
|
+
|
|
290
|
+
# Sets option 3 (symbol-specific options) of barcode
|
|
291
|
+
#
|
|
292
|
+
# @param option 3 [Integer] Option 3 of barcode
|
|
293
|
+
def option_3=(option_3)
|
|
294
|
+
reset_symbol
|
|
295
|
+
|
|
296
|
+
@zint_symbol[:option_3] = option_3
|
|
297
|
+
end
|
|
298
|
+
|
|
299
|
+
# Gets show_hrt of barcode
|
|
300
|
+
def show_hrt
|
|
301
|
+
@zint_symbol[:show_hrt]
|
|
302
|
+
end
|
|
303
|
+
|
|
304
|
+
# Sets show_hrt of barcode
|
|
305
|
+
# show = 1 or hide = 0 Human Readable Text. Default is show (1)
|
|
306
|
+
#
|
|
307
|
+
# @param show_hrt [Integer] show_hrt of barcode
|
|
308
|
+
def show_hrt=(show_hrt)
|
|
309
|
+
reset_symbol
|
|
310
|
+
|
|
311
|
+
@zint_symbol[:show_hrt] = show_hrt
|
|
312
|
+
end
|
|
313
|
+
|
|
314
|
+
# Gets font size of barcode
|
|
315
|
+
def fontsize
|
|
316
|
+
@zint_symbol[:fontsize]
|
|
317
|
+
end
|
|
318
|
+
|
|
319
|
+
# Sets font size of barcode (Unused)
|
|
320
|
+
#
|
|
321
|
+
# @param font size [Integer] Font size of barcode
|
|
322
|
+
def fontsize=(fontsize)
|
|
323
|
+
reset_symbol
|
|
324
|
+
|
|
325
|
+
@zint_symbol[:fontsize] = fontsize
|
|
326
|
+
end
|
|
327
|
+
|
|
328
|
+
# Gets input mode of barcode
|
|
329
|
+
def input_mode
|
|
330
|
+
@zint_symbol[:input_mode]
|
|
331
|
+
end
|
|
332
|
+
|
|
333
|
+
# Sets encoding of input data (see DATA_MODE etc below). Default DATA_MODE
|
|
334
|
+
#
|
|
335
|
+
# @param input_mode [Integer] Input mode of barcode
|
|
336
|
+
def input_mode=(input_mode)
|
|
337
|
+
reset_symbol
|
|
338
|
+
|
|
339
|
+
@zint_symbol[:input_mode] = input_mode
|
|
340
|
+
end
|
|
341
|
+
|
|
342
|
+
# Gets ECI of barcode
|
|
343
|
+
def eci
|
|
344
|
+
@zint_symbol[:eci]
|
|
345
|
+
end
|
|
346
|
+
|
|
347
|
+
# Sets extended Channel Interpretation. Default 0 (none)
|
|
348
|
+
#
|
|
349
|
+
# @param eci [Integer] ECI of barcode
|
|
350
|
+
def eci=(eci)
|
|
351
|
+
reset_symbol
|
|
352
|
+
|
|
353
|
+
@zint_symbol[:eci] = eci
|
|
354
|
+
end
|
|
355
|
+
|
|
356
|
+
# Gets resolution of output in dots per mm (BMP/EMF/PCX/PNG/TIF only). Default 0 (none)
|
|
357
|
+
def dpmm
|
|
358
|
+
@zint_symbol[:dpmm]
|
|
359
|
+
end
|
|
360
|
+
|
|
361
|
+
# Sets resolution of output in dots per mm (BMP/EMF/PCX/PNG/TIF only). Default 0 (none)
|
|
362
|
+
#
|
|
363
|
+
# @param text [Float] Text of barcode
|
|
364
|
+
def dpmm=(dpmm)
|
|
365
|
+
reset_symbol
|
|
366
|
+
|
|
367
|
+
@zint_symbol[:dpmm] = dpmm
|
|
368
|
+
end
|
|
369
|
+
|
|
370
|
+
# Gets height in X-dimensions that EAN/UPC guard bars descend. Default 5
|
|
371
|
+
def guard_descent
|
|
372
|
+
@zint_symbol[:guard_descent]
|
|
373
|
+
end
|
|
374
|
+
|
|
375
|
+
# Sets height in X-dimensions that EAN/UPC guard bars descend. Default 5
|
|
376
|
+
#
|
|
377
|
+
# @param text [Float] Text of barcode
|
|
378
|
+
def guard_descent=(guard_descent)
|
|
379
|
+
reset_symbol
|
|
380
|
+
|
|
381
|
+
@zint_symbol[:guard_descent] = guard_descent
|
|
382
|
+
end
|
|
383
|
+
|
|
384
|
+
# Gets structured append info. Default structapp.count 0 (none)
|
|
385
|
+
def structapp
|
|
386
|
+
@zint_symbol[:structapp]
|
|
387
|
+
end
|
|
388
|
+
|
|
389
|
+
# Sets structured append info. Default structapp.count 0 (none)
|
|
390
|
+
#
|
|
391
|
+
# @param text [Structs::Structapp] Text of barcode
|
|
392
|
+
def structapp=(structapp)
|
|
393
|
+
reset_symbol
|
|
394
|
+
|
|
395
|
+
@zint_symbol[:structapp] = structapp
|
|
396
|
+
end
|
|
397
|
+
|
|
398
|
+
# Human Readable Text, which usually consists of input data plus one more check digit. Uses UTF-8 formatting.
|
|
399
|
+
def text
|
|
400
|
+
@zint_symbol[:text].to_s.force_encoding(Encoding::UTF_8)
|
|
401
|
+
end
|
|
402
|
+
|
|
403
|
+
# Sets Human Readable Text (if any), UTF-8, NUL-terminated (output only) of barcode
|
|
404
|
+
#
|
|
405
|
+
# @param text [String] Text of barcode
|
|
406
|
+
def text=(text)
|
|
407
|
+
reset_symbol
|
|
408
|
+
|
|
409
|
+
@zint_symbol[:text] = text
|
|
410
|
+
end
|
|
411
|
+
|
|
412
|
+
# Gets rows of barcode
|
|
413
|
+
def rows
|
|
414
|
+
@zint_symbol[:rows]
|
|
415
|
+
end
|
|
416
|
+
|
|
417
|
+
# Gets width of barcode
|
|
418
|
+
def width
|
|
419
|
+
@zint_symbol[:width]
|
|
420
|
+
end
|
|
421
|
+
|
|
422
|
+
# Gets primary message data for more complex symbols
|
|
423
|
+
def primary
|
|
424
|
+
@zint_symbol[:primary].to_s
|
|
425
|
+
end
|
|
426
|
+
|
|
427
|
+
# Sets primary message data (MaxiCode, Composite), NUL-terminated of barcode
|
|
428
|
+
#
|
|
429
|
+
# @param primary [String] Primary of barcode
|
|
430
|
+
def primary=(primary)
|
|
431
|
+
reset_symbol
|
|
432
|
+
|
|
433
|
+
@zint_symbol[:primary] = primary
|
|
434
|
+
end
|
|
435
|
+
|
|
436
|
+
# Gets encoded data of barcode
|
|
437
|
+
def encoded_data
|
|
438
|
+
@zint_symbol[:encoded_data]
|
|
439
|
+
end
|
|
440
|
+
|
|
441
|
+
# Sets encoded data (output only). Allows for rows of 1144 modules of barcode
|
|
442
|
+
#
|
|
443
|
+
# @param encoded_data [String] Encoded data of barcode
|
|
444
|
+
def encoded_data=(encoded_data)
|
|
445
|
+
reset_symbol
|
|
446
|
+
|
|
447
|
+
@zint_symbol[:encoded_data] = encoded_data
|
|
448
|
+
end
|
|
449
|
+
|
|
450
|
+
# Gets row height of barcode
|
|
451
|
+
def row_height
|
|
452
|
+
@zint_symbol[:row_height]
|
|
453
|
+
end
|
|
454
|
+
|
|
455
|
+
# Gets error message in the event that an error occurred
|
|
456
|
+
def errtxt
|
|
457
|
+
@zint_symbol[:errtxt].to_s.force_encoding(Encoding::UTF_8)
|
|
458
|
+
end
|
|
459
|
+
|
|
460
|
+
# Gets bitmap width of barcode
|
|
461
|
+
def bitmap_width
|
|
462
|
+
@zint_symbol[:bitmap_width]
|
|
463
|
+
end
|
|
464
|
+
|
|
465
|
+
# Gets bitmap height of barcode
|
|
466
|
+
def bitmap_height
|
|
467
|
+
@zint_symbol[:bitmap_height]
|
|
468
|
+
end
|
|
469
|
+
|
|
470
|
+
# Gets bitmap byte length of barcode
|
|
471
|
+
def bitmap_byte_length
|
|
472
|
+
@zint_symbol[:bitmap_byte_length]
|
|
473
|
+
end
|
|
474
|
+
|
|
475
|
+
# Gets dot size of barcode
|
|
476
|
+
def dot_size
|
|
477
|
+
@zint_symbol[:dot_size]
|
|
478
|
+
end
|
|
479
|
+
|
|
480
|
+
# Sets size of dots used in BARCODE_DOTTY_MODE
|
|
481
|
+
#
|
|
482
|
+
# @param dot size [Float] Dot size of barcode
|
|
483
|
+
def dot_size=(dot_size)
|
|
484
|
+
reset_symbol
|
|
485
|
+
|
|
486
|
+
@zint_symbol[:dot_size] = dot_size
|
|
487
|
+
end
|
|
488
|
+
|
|
489
|
+
# Gets debugging flags
|
|
490
|
+
def debug
|
|
491
|
+
@zint_symbol[:debug]
|
|
492
|
+
end
|
|
493
|
+
|
|
494
|
+
# Sets debugging flags
|
|
495
|
+
#
|
|
496
|
+
# @param debug [Integer] Debug level of barcode
|
|
497
|
+
def debug=(debug)
|
|
498
|
+
reset_symbol
|
|
499
|
+
|
|
500
|
+
@zint_symbol[:debug] = debug
|
|
501
|
+
end
|
|
502
|
+
|
|
503
|
+
# Gets warn level of barcode
|
|
504
|
+
def warn_level
|
|
505
|
+
@zint_symbol[:warn_level]
|
|
506
|
+
end
|
|
507
|
+
|
|
508
|
+
# Sets warn level (affects error/warning value returned by Zint API (see WARN_XXX below)) of barcode
|
|
509
|
+
#
|
|
510
|
+
# @param warn_level [Integer] Warn level of barcode
|
|
511
|
+
def warn_level=(warn_level)
|
|
512
|
+
reset_symbol
|
|
513
|
+
|
|
514
|
+
@zint_symbol[:warn_level] = warn_level
|
|
127
515
|
end
|
|
128
516
|
|
|
129
517
|
private
|
|
130
518
|
|
|
519
|
+
def reset_symbol
|
|
520
|
+
call_function(:ZBarcode_Clear, @zint_symbol)
|
|
521
|
+
end
|
|
522
|
+
|
|
131
523
|
def call_function(function_name, *args)
|
|
132
|
-
error_code =
|
|
524
|
+
error_code = Native.send(function_name.to_sym, *args)
|
|
133
525
|
|
|
134
526
|
if Zint::ERRORS[error_code]
|
|
135
|
-
|
|
527
|
+
Native.raise_error(error_code, @zint_symbol[:errtxt])
|
|
136
528
|
end
|
|
137
529
|
|
|
138
530
|
error_code
|
|
139
531
|
end
|
|
140
532
|
|
|
141
533
|
def create_symbol(type)
|
|
142
|
-
symbol =
|
|
534
|
+
symbol = Native.ZBarcode_Create
|
|
143
535
|
symbol[:symbology] = type
|
|
144
536
|
|
|
145
537
|
symbol
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
module Zint
|
|
2
|
-
|
|
2
|
+
# IBM BC412 (SEMI T1-95)
|
|
3
|
+
class Bc412 < Barcode
|
|
3
4
|
def initialize(value: nil, input_file: nil, options: {})
|
|
4
|
-
super(value: value, input_file: input_file, type: Zint::
|
|
5
|
+
super(value: value, input_file: input_file, type: Zint::BARCODE_BC412, options: options)
|
|
5
6
|
end
|
|
6
7
|
end
|
|
7
8
|
end
|
data/lib/zint/c25iata.rb
CHANGED
data/lib/zint/c25ind.rb
CHANGED
data/lib/zint/c25inter.rb
CHANGED
data/lib/zint/c25logic.rb
CHANGED
data/lib/zint/c25matrix.rb
CHANGED
data/lib/zint/c25standard.rb
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
module Zint
|
|
2
|
-
|
|
2
|
+
# Brazilian CEPNet Postal Code
|
|
3
|
+
class CepNet < Barcode
|
|
3
4
|
def initialize(value: nil, input_file: nil, options: {})
|
|
4
|
-
super(value: value, input_file: input_file, type: Zint::
|
|
5
|
+
super(value: value, input_file: input_file, type: Zint::BARCODE_CEPNET, options: options)
|
|
5
6
|
end
|
|
6
7
|
end
|
|
7
8
|
end
|
data/lib/zint/channel.rb
CHANGED
data/lib/zint/codabar.rb
CHANGED
data/lib/zint/codablock_f.rb
CHANGED
data/lib/zint/code11.rb
CHANGED
data/lib/zint/code128.rb
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
module Zint
|
|
2
|
-
|
|
2
|
+
# Code 128 (Suppress Code Set C)
|
|
3
|
+
class Code128AB < Barcode
|
|
3
4
|
def initialize(value: nil, input_file: nil, options: {})
|
|
4
|
-
super(value: value, input_file: input_file, type: Zint::
|
|
5
|
+
super(value: value, input_file: input_file, type: Zint::BARCODE_CODE128AB, options: options)
|
|
5
6
|
end
|
|
6
7
|
end
|
|
7
8
|
end
|
data/lib/zint/code128b.rb
CHANGED
data/lib/zint/code16k.rb
CHANGED
data/lib/zint/code32.rb
CHANGED