ruby-zint 1.0.0 → 1.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.standard.yml +2 -0
- data/Gemfile +2 -0
- data/README.md +29 -7
- data/Rakefile +12 -0
- data/ext/ruby-zint/extconf.rb +86 -0
- data/lib/zint/barcode.rb +392 -46
- data/lib/zint/dependencies.rb +8 -0
- data/lib/zint/native.rb +87 -0
- data/lib/zint/structs/symbol.rb +7 -2
- data/lib/zint/structs/vector.rb +47 -5
- data/lib/zint/structs/vector_circle.rb +31 -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/version.rb +1 -1
- data/lib/zint/zint_recipe.rb +27 -0
- data/lib/zint.rb +7 -82
- data/ports/archives/zint-2.10.0-src.tar.gz +0 -0
- metadata +27 -7
- data/Gemfile.lock +0 -79
- 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/native.rb
ADDED
@@ -0,0 +1,87 @@
|
|
1
|
+
module Zint
|
2
|
+
module Native
|
3
|
+
extend FFI::Library
|
4
|
+
|
5
|
+
root_path = File.expand_path("../../..", __FILE__)
|
6
|
+
prefix = FFI::Platform::LIBPREFIX.empty? ? "lib" : FFI::Platform::LIBPREFIX
|
7
|
+
bundled_dll = File.join(root_path, "lib/#{prefix}zint.#{FFI::Platform::LIBSUFFIX}")
|
8
|
+
ffi_lib [bundled_dll, "libzint.so.2.10", "libzint", "zint"]
|
9
|
+
|
10
|
+
# Error codes (API return values)
|
11
|
+
enum :error_code, [Constants::Warnings::WARNINGS, Constants::Errors::ERRORS].map { |h| h.to_a }.flatten
|
12
|
+
|
13
|
+
# Aliases for better method signatures
|
14
|
+
typedef Structs::Symbol.by_ref, :zint_symbol
|
15
|
+
typedef :pointer, :filename
|
16
|
+
typedef :int32, :length
|
17
|
+
typedef :int32, :rotate_angle
|
18
|
+
typedef :int32, :symbol_id
|
19
|
+
typedef :uint32, :cap_flag
|
20
|
+
typedef :string, :source
|
21
|
+
|
22
|
+
# Create and initialize a symbol structure
|
23
|
+
attach_function(:ZBarcode_Create, [], :zint_symbol)
|
24
|
+
|
25
|
+
# Free any output buffers that may have been created and initialize output fields
|
26
|
+
attach_function(:ZBarcode_Clear, [:zint_symbol], :void)
|
27
|
+
|
28
|
+
# Free a symbol structure, including any output buffers
|
29
|
+
#
|
30
|
+
# For use with ruby's garbage collector ZBarcode_Delete must be called with a plain :pointer and not an :zint_symbol.
|
31
|
+
attach_function(:ZBarcode_Delete, [:pointer], :void)
|
32
|
+
|
33
|
+
# Encode a barcode. If `length` is 0, `source` must be NUL-terminated.
|
34
|
+
attach_function(:ZBarcode_Encode, [:zint_symbol, :source, :length], :error_code)
|
35
|
+
|
36
|
+
# Encode a barcode using input data from file `filename`
|
37
|
+
attach_function(:ZBarcode_Encode_File, [:zint_symbol, :filename], :error_code)
|
38
|
+
|
39
|
+
# Output a previously encoded symbol to file `symbol->outfile`
|
40
|
+
attach_function(:ZBarcode_Print, [:zint_symbol, :rotate_angle], :error_code)
|
41
|
+
|
42
|
+
# Encode and output a symbol to file `symbol->outfile`
|
43
|
+
attach_function(:ZBarcode_Encode_and_Print, [:zint_symbol, :source, :length, :rotate_angle], :error_code)
|
44
|
+
|
45
|
+
# Encode a symbol using input data from file `filename` and output to file `symbol->outfile`
|
46
|
+
attach_function(:ZBarcode_Encode_File_and_Print, [:zint_symbol, :filename, :rotate_angle], :error_code)
|
47
|
+
|
48
|
+
# Output a previously encoded symbol to memory as raster (`symbol->bitmap`)
|
49
|
+
attach_function(:ZBarcode_Buffer, [:zint_symbol, :rotate_angle], :error_code)
|
50
|
+
|
51
|
+
# Encode and output a symbol to memory as raster (`symbol->bitmap`)
|
52
|
+
attach_function(:ZBarcode_Encode_and_Buffer, [:zint_symbol, :source, :length, :rotate_angle], :error_code)
|
53
|
+
|
54
|
+
# Encode a symbol using input data from file `filename` and output to memory as raster (`symbol->bitmap`)
|
55
|
+
attach_function(:ZBarcode_Encode_File_and_Buffer, [:zint_symbol, :filename, :rotate_angle], :error_code)
|
56
|
+
|
57
|
+
# Output a previously encoded symbol to memory as vector (`symbol->vector`)
|
58
|
+
attach_function(:ZBarcode_Buffer_Vector, [:zint_symbol, :rotate_angle], :error_code)
|
59
|
+
|
60
|
+
# Encode and output a symbol to memory as vector (`symbol->vector`)
|
61
|
+
attach_function(:ZBarcode_Encode_and_Buffer_Vector, [:zint_symbol, :source, :length, :rotate_angle], :error_code)
|
62
|
+
|
63
|
+
# Encode a symbol using input data from file `filename` and output to memory as vector (`symbol->vector`)
|
64
|
+
attach_function(:ZBarcode_Encode_File_and_Buffer_Vector, [:zint_symbol, :filename, :rotate_angle], :error_code)
|
65
|
+
|
66
|
+
# Is `symbol_id` a recognized symbology?
|
67
|
+
attach_function(:ZBarcode_ValidID, [:symbol_id], :bool)
|
68
|
+
|
69
|
+
# Return the capability flags for symbology `symbol_id` that match `cap_flag`
|
70
|
+
attach_function(:ZBarcode_Cap, [:symbol_id, :cap_flag], :uint32)
|
71
|
+
|
72
|
+
# Return the version of Zint linked to
|
73
|
+
attach_function(:ZBarcode_Version, [], :int32)
|
74
|
+
|
75
|
+
# Raises specific error for API return code
|
76
|
+
#
|
77
|
+
# @param res [Symbol, Integer] API return code
|
78
|
+
# @param text [String] error text
|
79
|
+
# @raise [Error]
|
80
|
+
def self.raise_error(res, text)
|
81
|
+
klass = ERROR_CLASS_FOR_RESULT[res.is_a?(Symbol) ? Zint::ERRORS[res] : res]
|
82
|
+
raise klass, text
|
83
|
+
end
|
84
|
+
end
|
85
|
+
|
86
|
+
private_constant :Native
|
87
|
+
end
|
data/lib/zint/structs/symbol.rb
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
module Zint
|
2
2
|
module Structs
|
3
|
-
class Symbol < FFI::
|
3
|
+
class Symbol < FFI::ManagedStruct
|
4
4
|
layout :symbology, :int,
|
5
5
|
:height, :float,
|
6
6
|
:whitespace_width, :int,
|
@@ -33,9 +33,14 @@ module Zint
|
|
33
33
|
:alphamap, :pointer,
|
34
34
|
:bitmap_byte_length, :uchar,
|
35
35
|
:dot_size, :float,
|
36
|
-
:vector,
|
36
|
+
:vector, Vector.by_ref,
|
37
37
|
:debug, :int,
|
38
38
|
:warn_level, :int
|
39
|
+
|
40
|
+
# @private
|
41
|
+
def self.release(ptr)
|
42
|
+
Native.ZBarcode_Delete(ptr)
|
43
|
+
end
|
39
44
|
end
|
40
45
|
end
|
41
46
|
end
|
data/lib/zint/structs/vector.rb
CHANGED
@@ -1,12 +1,54 @@
|
|
1
1
|
module Zint
|
2
2
|
module Structs
|
3
3
|
class Vector < FFI::Struct
|
4
|
-
layout :width, :float,
|
4
|
+
layout :width, :float, # Width, height of barcode image (including text, whitespace)
|
5
5
|
:height, :float,
|
6
|
-
:rectangles,
|
7
|
-
:hexagons,
|
8
|
-
:strings,
|
9
|
-
:circles,
|
6
|
+
:rectangles, VectorRect.by_ref, # Pointer to first rectangle
|
7
|
+
:hexagons, VectorHexagon.by_ref, # Pointer to first hexagon
|
8
|
+
:strings, VectorString.by_ref, # Pointer to first string
|
9
|
+
:circles, VectorCircle.by_ref # Pointer to first circle
|
10
|
+
|
11
|
+
# Height of barcode image (including text, whitespace)
|
12
|
+
def height
|
13
|
+
self[:height]
|
14
|
+
end
|
15
|
+
|
16
|
+
# Width of barcode image (including text, whitespace)
|
17
|
+
def width
|
18
|
+
self[:width]
|
19
|
+
end
|
20
|
+
|
21
|
+
# Calls the given block and passes a VectorRect object for each rectangle to be printed.
|
22
|
+
def each_rectangle(&block)
|
23
|
+
each_vector(:rectangles, &block)
|
24
|
+
end
|
25
|
+
|
26
|
+
# Calls the given block and passes a VectorHexagon object for each hexagon to be printed.
|
27
|
+
def each_hexagon(&block)
|
28
|
+
each_vector(:hexagons, &block)
|
29
|
+
end
|
30
|
+
|
31
|
+
# Calls the given block and passes a VectorString object for each text string to be printed.
|
32
|
+
def each_string(&block)
|
33
|
+
each_vector(:strings, &block)
|
34
|
+
end
|
35
|
+
|
36
|
+
# Calls the given block and passes a VectorCircle object for each circle to be printed.
|
37
|
+
def each_circle(&block)
|
38
|
+
each_vector(:circles, &block)
|
39
|
+
end
|
40
|
+
|
41
|
+
private def each_vector(attr)
|
42
|
+
return to_enum(:each_vector, attr) unless block_given?
|
43
|
+
|
44
|
+
o = self[attr]
|
45
|
+
until o.null?
|
46
|
+
# Avoid garbage collection of Vector (and hence Barcode) before Vector*, since all memory is freed by ZBarcode_Delete()
|
47
|
+
o.instance_variable_set(:@vector, self)
|
48
|
+
yield o
|
49
|
+
o = o[:next]
|
50
|
+
end
|
51
|
+
end
|
10
52
|
end
|
11
53
|
end
|
12
54
|
end
|
@@ -0,0 +1,31 @@
|
|
1
|
+
module Zint
|
2
|
+
module Structs
|
3
|
+
class VectorCircle < FFI::Struct
|
4
|
+
layout :x, :float,
|
5
|
+
:y, :float,
|
6
|
+
:diameter, :float,
|
7
|
+
:colour, :int, # Non-zero for draw with background colour
|
8
|
+
:next, VectorCircle.by_ref # Pointer to next circle
|
9
|
+
|
10
|
+
# x position
|
11
|
+
def x
|
12
|
+
self[:x]
|
13
|
+
end
|
14
|
+
|
15
|
+
# y position
|
16
|
+
def y
|
17
|
+
self[:y]
|
18
|
+
end
|
19
|
+
|
20
|
+
# diameter
|
21
|
+
def diameter
|
22
|
+
self[:diameter]
|
23
|
+
end
|
24
|
+
|
25
|
+
# Non-zero for draw with background colour
|
26
|
+
def colour
|
27
|
+
self[:colour]
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
@@ -0,0 +1,31 @@
|
|
1
|
+
module Zint
|
2
|
+
module Structs
|
3
|
+
class VectorHexagon < FFI::Struct
|
4
|
+
layout :x, :float,
|
5
|
+
:y, :float,
|
6
|
+
:diameter, :float,
|
7
|
+
:rotation, :int, # 0, 90, 180, 270 degrees
|
8
|
+
:next, VectorHexagon.by_ref # Pointer to next hexagon
|
9
|
+
|
10
|
+
# x position
|
11
|
+
def x
|
12
|
+
self[:x]
|
13
|
+
end
|
14
|
+
|
15
|
+
# y position
|
16
|
+
def y
|
17
|
+
self[:y]
|
18
|
+
end
|
19
|
+
|
20
|
+
# diameter
|
21
|
+
def diameter
|
22
|
+
self[:diameter]
|
23
|
+
end
|
24
|
+
|
25
|
+
# 0, 90, 180, 270 degrees
|
26
|
+
def rotation
|
27
|
+
self[:rotation]
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
@@ -0,0 +1,37 @@
|
|
1
|
+
module Zint
|
2
|
+
module Structs
|
3
|
+
class VectorRect < FFI::Struct
|
4
|
+
layout :x, :float,
|
5
|
+
:y, :float,
|
6
|
+
:height, :float,
|
7
|
+
:width, :float,
|
8
|
+
:colour, :int, # -1 for foreground, 1-8 for Cyan, Blue, Magenta, Red, Yellow, Green, Black, White
|
9
|
+
:next, VectorRect.by_ref # Pointer to next rectangle
|
10
|
+
|
11
|
+
# x position
|
12
|
+
def x
|
13
|
+
self[:x]
|
14
|
+
end
|
15
|
+
|
16
|
+
# y position
|
17
|
+
def y
|
18
|
+
self[:y]
|
19
|
+
end
|
20
|
+
|
21
|
+
# height
|
22
|
+
def height
|
23
|
+
self[:height]
|
24
|
+
end
|
25
|
+
|
26
|
+
# width
|
27
|
+
def width
|
28
|
+
self[:width]
|
29
|
+
end
|
30
|
+
|
31
|
+
# -1 for foreground, 1-8 for Cyan, Blue, Magenta, Red, Yellow, Green, Black, White
|
32
|
+
def colour
|
33
|
+
self[:colour]
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
@@ -1,15 +1,50 @@
|
|
1
1
|
module Zint
|
2
2
|
module Structs
|
3
3
|
class VectorString < FFI::Struct
|
4
|
-
layout :x, :float,
|
4
|
+
layout :x, :float, # x, y position relative to halign
|
5
5
|
:y, :float,
|
6
|
-
:fsize, :float,
|
7
|
-
:width, :float,
|
8
|
-
:length, :int,
|
9
|
-
:rotation, :int,
|
10
|
-
:halign, :int,
|
11
|
-
:text, :pointer,
|
12
|
-
:next,
|
6
|
+
:fsize, :float, # font size
|
7
|
+
:width, :float, # Suggested string width, may be 0 if none recommended
|
8
|
+
:length, :int, # Number of characters
|
9
|
+
:rotation, :int, # 0, 90, 180, 270 degrees
|
10
|
+
:halign, :int, # Horizontal alignment: 0 for centre, 1 for left, 2 for right (end)
|
11
|
+
:text, :pointer, # the text string to be printed
|
12
|
+
:next, VectorString.by_ref # Pointer to next string
|
13
|
+
|
14
|
+
# x position relative to halign
|
15
|
+
def x
|
16
|
+
self[:x]
|
17
|
+
end
|
18
|
+
|
19
|
+
# y position
|
20
|
+
def y
|
21
|
+
self[:y]
|
22
|
+
end
|
23
|
+
|
24
|
+
# font size
|
25
|
+
def fsize
|
26
|
+
self[:fsize]
|
27
|
+
end
|
28
|
+
|
29
|
+
# Suggested string width, may be 0 if none recommended
|
30
|
+
def width
|
31
|
+
self[:width]
|
32
|
+
end
|
33
|
+
|
34
|
+
# 0, 90, 180, 270 degrees
|
35
|
+
def rotation
|
36
|
+
self[:rotation]
|
37
|
+
end
|
38
|
+
|
39
|
+
# Horizontal alignment: 0 for centre, 1 for left, 2 for right (end)
|
40
|
+
def halign
|
41
|
+
self[:halign]
|
42
|
+
end
|
43
|
+
|
44
|
+
# the text string to be printed
|
45
|
+
def text
|
46
|
+
self[:text].read_bytes(self[:length])
|
47
|
+
end
|
13
48
|
end
|
14
49
|
end
|
15
50
|
end
|
data/lib/zint/version.rb
CHANGED
@@ -0,0 +1,27 @@
|
|
1
|
+
require_relative "dependencies"
|
2
|
+
require "rubygems"
|
3
|
+
# Keep the version constraint in sync with libusb.gemspec
|
4
|
+
gem "mini_portile2", Zint::MINI_PORTILE_VERSION
|
5
|
+
require "mini_portile2"
|
6
|
+
|
7
|
+
module Zint
|
8
|
+
class ZintRecipe < MiniPortileCMake
|
9
|
+
ROOT = File.expand_path("../../..", __FILE__)
|
10
|
+
|
11
|
+
def initialize
|
12
|
+
super("libzint", ZINT_VERSION)
|
13
|
+
self.target = File.join(ROOT, "ports")
|
14
|
+
self.files = [url: ZINT_SOURCE_URI, sha1: ZINT_SOURCE_SHA1]
|
15
|
+
end
|
16
|
+
|
17
|
+
def cook_and_activate
|
18
|
+
checkpoint = File.join(target, "#{name}-#{version}-#{host}.installed")
|
19
|
+
unless File.exist?(checkpoint)
|
20
|
+
cook
|
21
|
+
FileUtils.touch checkpoint
|
22
|
+
end
|
23
|
+
activate
|
24
|
+
self
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
data/lib/zint.rb
CHANGED
@@ -1,6 +1,7 @@
|
|
1
1
|
require "ffi"
|
2
2
|
|
3
3
|
require "zint/version"
|
4
|
+
require "zint/dependencies"
|
4
5
|
|
5
6
|
# Zint constants
|
6
7
|
require "zint/constants/capability_flags"
|
@@ -14,12 +15,13 @@ require "zint/constants/warn_levels"
|
|
14
15
|
require "zint/constants/warnings"
|
15
16
|
|
16
17
|
# Zint structs
|
17
|
-
require "zint/structs/
|
18
|
-
require "zint/structs/
|
19
|
-
require "zint/structs/
|
20
|
-
require "zint/structs/symbol"
|
18
|
+
require "zint/structs/vector_circle"
|
19
|
+
require "zint/structs/vector_hexagon"
|
20
|
+
require "zint/structs/vector_rect"
|
21
21
|
require "zint/structs/vector_string"
|
22
22
|
require "zint/structs/vector"
|
23
|
+
require "zint/structs/symbol"
|
24
|
+
require "zint/native"
|
23
25
|
|
24
26
|
module Zint
|
25
27
|
# Zint constants
|
@@ -137,8 +139,6 @@ module Zint
|
|
137
139
|
autoload :UspsImail, "zint/uspsimail"
|
138
140
|
autoload :Vin, "zint/vin"
|
139
141
|
|
140
|
-
extend FFI::Library
|
141
|
-
|
142
142
|
class Error < StandardError; end
|
143
143
|
|
144
144
|
ERROR_CLASS_FOR_RESULT = {}
|
@@ -152,85 +152,10 @@ module Zint
|
|
152
152
|
ERROR_CLASS_FOR_RESULT[v] = klass
|
153
153
|
end
|
154
154
|
|
155
|
-
# Raises specific error for API return code
|
156
|
-
#
|
157
|
-
# @param res [Symbol, Integer] API return code
|
158
|
-
# @param text [String] error text
|
159
|
-
# @raise [Error]
|
160
|
-
def self.raise_error(res, text)
|
161
|
-
klass = ERROR_CLASS_FOR_RESULT[res.is_a?(Symbol) ? Zint::ERRORS[res] : res]
|
162
|
-
raise klass, text
|
163
|
-
end
|
164
|
-
|
165
|
-
ffi_lib %w[libzint.so.2.10 libzint zint]
|
166
|
-
|
167
|
-
# Error codes (API return values)
|
168
|
-
enum :error_code, [Zint::WARNINGS, Zint::ERRORS].map { |h| h.to_a }.flatten
|
169
|
-
|
170
|
-
# Aliases for better method signatures
|
171
|
-
typedef :pointer, :zint_symbol
|
172
|
-
typedef :pointer, :filename
|
173
|
-
typedef :int32, :length
|
174
|
-
typedef :int32, :rotate_angle
|
175
|
-
typedef :int32, :symbol_id
|
176
|
-
typedef :uint32, :cap_flag
|
177
|
-
typedef :string, :source
|
178
|
-
|
179
|
-
# Create and initialize a symbol structure
|
180
|
-
attach_function(:ZBarcode_Create, :ZBarcode_Create, [], :zint_symbol)
|
181
|
-
|
182
|
-
# Free any output buffers that may have been created and initialize output fields
|
183
|
-
attach_function(:ZBarcode_Clear, :ZBarcode_Clear, [:zint_symbol], :void)
|
184
|
-
|
185
|
-
# Free a symbol structure, including any output buffers
|
186
|
-
attach_function(:ZBarcode_Delete, :ZBarcode_Delete, [:zint_symbol], :void)
|
187
|
-
|
188
|
-
# Encode a barcode. If `length` is 0, `source` must be NUL-terminated.
|
189
|
-
attach_function(:ZBarcode_Encode, :ZBarcode_Encode, [:zint_symbol, :source, :length], :error_code)
|
190
|
-
|
191
|
-
# Encode a barcode using input data from file `filename`
|
192
|
-
attach_function(:ZBarcode_Encode_File, :ZBarcode_Encode_File, [:zint_symbol, :filename], :error_code)
|
193
|
-
|
194
|
-
# Output a previously encoded symbol to file `symbol->outfile`
|
195
|
-
attach_function(:ZBarcode_Print, :ZBarcode_Print, [:zint_symbol, :rotate_angle], :error_code)
|
196
|
-
|
197
|
-
# Encode and output a symbol to file `symbol->outfile`
|
198
|
-
attach_function(:ZBarcode_Encode_and_Print, :ZBarcode_Encode_and_Print, [:zint_symbol, :source, :length, :rotate_angle], :error_code)
|
199
|
-
|
200
|
-
# Encode a symbol using input data from file `filename` and output to file `symbol->outfile`
|
201
|
-
attach_function(:ZBarcode_Encode_File_and_Print, :ZBarcode_Encode_File_and_Print, [:zint_symbol, :filename, :rotate_angle], :error_code)
|
202
|
-
|
203
|
-
# Output a previously encoded symbol to memory as raster (`symbol->bitmap`)
|
204
|
-
attach_function(:ZBarcode_Buffer, :ZBarcode_Buffer, [:zint_symbol, :rotate_angle], :error_code)
|
205
|
-
|
206
|
-
# Encode and output a symbol to memory as raster (`symbol->bitmap`)
|
207
|
-
attach_function(:ZBarcode_Encode_and_Buffer, :ZBarcode_Encode_and_Buffer, [:zint_symbol, :source, :length, :rotate_angle], :error_code)
|
208
|
-
|
209
|
-
# Encode a symbol using input data from file `filename` and output to memory as raster (`symbol->bitmap`)
|
210
|
-
attach_function(:ZBarcode_Encode_File_and_Buffer, :ZBarcode_Encode_File_and_Buffer, [:zint_symbol, :filename, :rotate_angle], :error_code)
|
211
|
-
|
212
|
-
# Output a previously encoded symbol to memory as vector (`symbol->vector`)
|
213
|
-
attach_function(:ZBarcode_Buffer_Vector, :ZBarcode_Buffer_Vector, [:zint_symbol, :rotate_angle], :error_code)
|
214
|
-
|
215
|
-
# Encode and output a symbol to memory as vector (`symbol->vector`)
|
216
|
-
attach_function(:ZBarcode_Encode_and_Buffer_Vector, :ZBarcode_Encode_and_Buffer_Vector, [:zint_symbol, :source, :length, :rotate_angle], :error_code)
|
217
|
-
|
218
|
-
# Encode a symbol using input data from file `filename` and output to memory as vector (`symbol->vector`)
|
219
|
-
attach_function(:ZBarcode_Encode_File_and_Buffer_Vector, :ZBarcode_Encode_File_and_Buffer_Vector, [:zint_symbol, :filename, :rotate_angle], :error_code)
|
220
|
-
|
221
|
-
# Is `symbol_id` a recognized symbology?
|
222
|
-
attach_function(:ZBarcode_ValidID, :ZBarcode_ValidID, [:symbol_id], :bool)
|
223
|
-
|
224
|
-
# Return the capability flags for symbology `symbol_id` that match `cap_flag`
|
225
|
-
attach_function(:ZBarcode_Cap, :ZBarcode_Cap, [:symbol_id, :cap_flag], :uint32)
|
226
|
-
|
227
|
-
# Return the version of Zint linked to
|
228
|
-
attach_function(:ZBarcode_Version, :ZBarcode_Version, [], :int32)
|
229
|
-
|
230
155
|
# Returns library version of the current zint
|
231
156
|
#
|
232
157
|
# @return [Integer] library version
|
233
158
|
def self.library_version
|
234
|
-
|
159
|
+
Native.ZBarcode_Version
|
235
160
|
end
|
236
161
|
end
|
Binary file
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ruby-zint
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Elias Fröhner
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2023-
|
11
|
+
date: 2023-05-03 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: ffi
|
@@ -24,20 +24,35 @@ dependencies:
|
|
24
24
|
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: '1.15'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: mini_portile2
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - "~>"
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '2.1'
|
34
|
+
type: :runtime
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - "~>"
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '2.1'
|
27
41
|
description:
|
28
42
|
email:
|
29
43
|
- apiwalker96@gmail.com
|
30
44
|
executables: []
|
31
|
-
extensions:
|
45
|
+
extensions:
|
46
|
+
- ext/ruby-zint/extconf.rb
|
32
47
|
extra_rdoc_files: []
|
33
48
|
files:
|
34
49
|
- ".rspec"
|
35
50
|
- ".standard.yml"
|
36
51
|
- Gemfile
|
37
|
-
- Gemfile.lock
|
38
52
|
- LICENSE.txt
|
39
53
|
- README.md
|
40
54
|
- Rakefile
|
55
|
+
- ext/ruby-zint/extconf.rb
|
41
56
|
- lib/ruby-zint.rb
|
42
57
|
- lib/zint.rb
|
43
58
|
- lib/zint/aus_post.rb
|
@@ -86,6 +101,7 @@ files:
|
|
86
101
|
- lib/zint/dbaromn.rb
|
87
102
|
- lib/zint/dbaromnstk.rb
|
88
103
|
- lib/zint/dbarstk.rb
|
104
|
+
- lib/zint/dependencies.rb
|
89
105
|
- lib/zint/dot_code.rb
|
90
106
|
- lib/zint/dotty_mode.rb
|
91
107
|
- lib/zint/dpd.rb
|
@@ -120,6 +136,7 @@ files:
|
|
120
136
|
- lib/zint/micro_pdf417.rb
|
121
137
|
- lib/zint/micro_qr.rb
|
122
138
|
- lib/zint/msiplessey.rb
|
139
|
+
- lib/zint/native.rb
|
123
140
|
- lib/zint/noascii.rb
|
124
141
|
- lib/zint/nve18.rb
|
125
142
|
- lib/zint/one_code.rb
|
@@ -141,11 +158,11 @@ files:
|
|
141
158
|
- lib/zint/rssexpstack.rb
|
142
159
|
- lib/zint/rssltd.rb
|
143
160
|
- lib/zint/stdout.rb
|
144
|
-
- lib/zint/structs/circle.rb
|
145
|
-
- lib/zint/structs/hexagon.rb
|
146
|
-
- lib/zint/structs/rect.rb
|
147
161
|
- lib/zint/structs/symbol.rb
|
148
162
|
- lib/zint/structs/vector.rb
|
163
|
+
- lib/zint/structs/vector_circle.rb
|
164
|
+
- lib/zint/structs/vector_hexagon.rb
|
165
|
+
- lib/zint/structs/vector_rect.rb
|
149
166
|
- lib/zint/structs/vector_string.rb
|
150
167
|
- lib/zint/telepen.rb
|
151
168
|
- lib/zint/telepennum.rb
|
@@ -158,12 +175,15 @@ files:
|
|
158
175
|
- lib/zint/uspsimail.rb
|
159
176
|
- lib/zint/version.rb
|
160
177
|
- lib/zint/vin.rb
|
178
|
+
- lib/zint/zint_recipe.rb
|
179
|
+
- ports/archives/zint-2.10.0-src.tar.gz
|
161
180
|
homepage: https://github.com/api-walker/ruby-zint
|
162
181
|
licenses:
|
163
182
|
- MIT
|
164
183
|
metadata:
|
165
184
|
homepage_uri: https://github.com/api-walker/ruby-zint
|
166
185
|
source_code_uri: https://github.com/api-walker/ruby-zint
|
186
|
+
msys2_mingw_dependencies: cmake libpng
|
167
187
|
post_install_message:
|
168
188
|
rdoc_options: []
|
169
189
|
require_paths:
|
data/Gemfile.lock
DELETED
@@ -1,79 +0,0 @@
|
|
1
|
-
PATH
|
2
|
-
remote: .
|
3
|
-
specs:
|
4
|
-
ruby-zint (1.0.0)
|
5
|
-
ffi (~> 1.15)
|
6
|
-
|
7
|
-
GEM
|
8
|
-
remote: https://rubygems.org/
|
9
|
-
specs:
|
10
|
-
ast (2.4.2)
|
11
|
-
byebug (11.1.3)
|
12
|
-
chunky_png (1.4.0)
|
13
|
-
diff-lcs (1.5.0)
|
14
|
-
docile (1.4.0)
|
15
|
-
ffi (1.15.5)
|
16
|
-
json (2.6.3)
|
17
|
-
language_server-protocol (3.17.0.3)
|
18
|
-
parallel (1.22.1)
|
19
|
-
parser (3.2.1.1)
|
20
|
-
ast (~> 2.4.1)
|
21
|
-
rainbow (3.1.1)
|
22
|
-
rake (13.0.6)
|
23
|
-
regexp_parser (2.7.0)
|
24
|
-
rexml (3.2.5)
|
25
|
-
rspec (3.12.0)
|
26
|
-
rspec-core (~> 3.12.0)
|
27
|
-
rspec-expectations (~> 3.12.0)
|
28
|
-
rspec-mocks (~> 3.12.0)
|
29
|
-
rspec-core (3.12.1)
|
30
|
-
rspec-support (~> 3.12.0)
|
31
|
-
rspec-expectations (3.12.2)
|
32
|
-
diff-lcs (>= 1.2.0, < 2.0)
|
33
|
-
rspec-support (~> 3.12.0)
|
34
|
-
rspec-mocks (3.12.5)
|
35
|
-
diff-lcs (>= 1.2.0, < 2.0)
|
36
|
-
rspec-support (~> 3.12.0)
|
37
|
-
rspec-support (3.12.0)
|
38
|
-
rubocop (1.48.1)
|
39
|
-
json (~> 2.3)
|
40
|
-
parallel (~> 1.10)
|
41
|
-
parser (>= 3.2.0.0)
|
42
|
-
rainbow (>= 2.2.2, < 4.0)
|
43
|
-
regexp_parser (>= 1.8, < 3.0)
|
44
|
-
rexml (>= 3.2.5, < 4.0)
|
45
|
-
rubocop-ast (>= 1.26.0, < 2.0)
|
46
|
-
ruby-progressbar (~> 1.7)
|
47
|
-
unicode-display_width (>= 2.4.0, < 3.0)
|
48
|
-
rubocop-ast (1.28.0)
|
49
|
-
parser (>= 3.2.1.0)
|
50
|
-
rubocop-performance (1.16.0)
|
51
|
-
rubocop (>= 1.7.0, < 2.0)
|
52
|
-
rubocop-ast (>= 0.4.0)
|
53
|
-
ruby-progressbar (1.13.0)
|
54
|
-
simplecov (0.21.2)
|
55
|
-
docile (~> 1.1)
|
56
|
-
simplecov-html (~> 0.11)
|
57
|
-
simplecov_json_formatter (~> 0.1)
|
58
|
-
simplecov-html (0.12.3)
|
59
|
-
simplecov_json_formatter (0.1.4)
|
60
|
-
standard (1.25.3)
|
61
|
-
language_server-protocol (~> 3.17.0.2)
|
62
|
-
rubocop (~> 1.48.1)
|
63
|
-
rubocop-performance (~> 1.16.0)
|
64
|
-
unicode-display_width (2.4.2)
|
65
|
-
|
66
|
-
PLATFORMS
|
67
|
-
x86_64-linux
|
68
|
-
|
69
|
-
DEPENDENCIES
|
70
|
-
byebug
|
71
|
-
chunky_png
|
72
|
-
rake (~> 13.0)
|
73
|
-
rspec (~> 3.0)
|
74
|
-
ruby-zint!
|
75
|
-
simplecov
|
76
|
-
standard (~> 1.3)
|
77
|
-
|
78
|
-
BUNDLED WITH
|
79
|
-
2.4.8
|
data/lib/zint/structs/circle.rb
DELETED