ruby-zint 1.0.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 +7 -0
- data/.rspec +3 -0
- data/.standard.yml +3 -0
- data/Gemfile +16 -0
- data/Gemfile.lock +79 -0
- data/LICENSE.txt +21 -0
- data/README.md +80 -0
- data/Rakefile +8 -0
- data/lib/ruby-zint.rb +1 -0
- data/lib/zint/aus_post.rb +7 -0
- data/lib/zint/aus_redirect.rb +7 -0
- data/lib/zint/aus_reply.rb +7 -0
- data/lib/zint/aus_route.rb +7 -0
- data/lib/zint/azrune.rb +7 -0
- data/lib/zint/aztec.rb +7 -0
- data/lib/zint/barcode.rb +148 -0
- data/lib/zint/bind.rb +7 -0
- data/lib/zint/bitmap.rb +4 -0
- data/lib/zint/bitmap_pixel.rb +4 -0
- data/lib/zint/box.rb +7 -0
- data/lib/zint/c25iata.rb +7 -0
- data/lib/zint/c25ind.rb +7 -0
- data/lib/zint/c25inter.rb +7 -0
- data/lib/zint/c25logic.rb +7 -0
- data/lib/zint/c25matrix.rb +7 -0
- data/lib/zint/c25standard.rb +7 -0
- data/lib/zint/channel.rb +7 -0
- data/lib/zint/codabar.rb +7 -0
- data/lib/zint/codablock_f.rb +7 -0
- data/lib/zint/code11.rb +7 -0
- data/lib/zint/code128.rb +7 -0
- data/lib/zint/code128b.rb +7 -0
- data/lib/zint/code16k.rb +7 -0
- data/lib/zint/code32.rb +7 -0
- data/lib/zint/code39.rb +7 -0
- data/lib/zint/code49.rb +7 -0
- data/lib/zint/code93.rb +7 -0
- data/lib/zint/code_one.rb +7 -0
- data/lib/zint/constants/capability_flags.rb +18 -0
- data/lib/zint/constants/debug_flags.rb +9 -0
- data/lib/zint/constants/errors.rb +19 -0
- data/lib/zint/constants/input_data_types.rb +14 -0
- data/lib/zint/constants/output_options.rb +18 -0
- data/lib/zint/constants/specific_options.rb +12 -0
- data/lib/zint/constants/symbologies.rb +130 -0
- data/lib/zint/constants/warn_levels.rb +9 -0
- data/lib/zint/constants/warnings.rb +12 -0
- data/lib/zint/daft.rb +7 -0
- data/lib/zint/data_matrix.rb +18 -0
- data/lib/zint/dbarexp.rb +7 -0
- data/lib/zint/dbarexpstk.rb +7 -0
- data/lib/zint/dbarltd.rb +7 -0
- data/lib/zint/dbaromn.rb +7 -0
- data/lib/zint/dbaromnstk.rb +7 -0
- data/lib/zint/dbarstk.rb +7 -0
- data/lib/zint/dot_code.rb +7 -0
- data/lib/zint/dotty_mode.rb +7 -0
- data/lib/zint/dpd.rb +7 -0
- data/lib/zint/dpident.rb +7 -0
- data/lib/zint/dpleit.rb +7 -0
- data/lib/zint/ean128.rb +7 -0
- data/lib/zint/ean14.rb +7 -0
- data/lib/zint/eanx.rb +7 -0
- data/lib/zint/eanxchk.rb +7 -0
- data/lib/zint/excode39.rb +7 -0
- data/lib/zint/fim.rb +7 -0
- data/lib/zint/flat.rb +7 -0
- data/lib/zint/grid_matrix.rb +7 -0
- data/lib/zint/gs1_128.rb +9 -0
- data/lib/zint/hanxin.rb +7 -0
- data/lib/zint/hibc128.rb +7 -0
- data/lib/zint/hibc39.rb +7 -0
- data/lib/zint/hibcaztec.rb +7 -0
- data/lib/zint/hibcblockf.rb +7 -0
- data/lib/zint/hibcdm.rb +7 -0
- data/lib/zint/hibcmicpdf.rb +7 -0
- data/lib/zint/hibcpdf.rb +7 -0
- data/lib/zint/hibcqr.rb +7 -0
- data/lib/zint/isbnx.rb +7 -0
- data/lib/zint/itf14.rb +7 -0
- data/lib/zint/japan_post.rb +7 -0
- data/lib/zint/kix.rb +7 -0
- data/lib/zint/korea_post.rb +7 -0
- data/lib/zint/logmars.rb +7 -0
- data/lib/zint/mailmark.rb +7 -0
- data/lib/zint/maxi_code.rb +7 -0
- data/lib/zint/micro_pdf417.rb +7 -0
- data/lib/zint/micro_qr.rb +7 -0
- data/lib/zint/msiplessey.rb +7 -0
- data/lib/zint/noascii.rb +7 -0
- data/lib/zint/nve18.rb +7 -0
- data/lib/zint/one_code.rb +7 -0
- data/lib/zint/pdf417.rb +7 -0
- data/lib/zint/pdf417comp.rb +7 -0
- data/lib/zint/pdf417trunc.rb +7 -0
- data/lib/zint/pharma.rb +7 -0
- data/lib/zint/pharmatwo.rb +7 -0
- data/lib/zint/planet.rb +7 -0
- data/lib/zint/plessey.rb +7 -0
- data/lib/zint/postnet.rb +7 -0
- data/lib/zint/pzn.rb +7 -0
- data/lib/zint/qr.rb +17 -0
- data/lib/zint/rmqr.rb +7 -0
- data/lib/zint/rss14.rb +7 -0
- data/lib/zint/rss14stack.rb +7 -0
- data/lib/zint/rss14stackomni.rb +7 -0
- data/lib/zint/rssexp.rb +7 -0
- data/lib/zint/rssexpstack.rb +7 -0
- data/lib/zint/rssltd.rb +7 -0
- data/lib/zint/stdout.rb +7 -0
- data/lib/zint/structs/circle.rb +11 -0
- data/lib/zint/structs/hexagon.rb +11 -0
- data/lib/zint/structs/rect.rb +12 -0
- data/lib/zint/structs/symbol.rb +41 -0
- data/lib/zint/structs/vector.rb +12 -0
- data/lib/zint/structs/vector_string.rb +15 -0
- data/lib/zint/telepen.rb +7 -0
- data/lib/zint/telepennum.rb +7 -0
- data/lib/zint/ultra.rb +7 -0
- data/lib/zint/upc_a.rb +7 -0
- data/lib/zint/upc_a_chk.rb +7 -0
- data/lib/zint/upc_e.rb +7 -0
- data/lib/zint/upc_e_chk.rb +7 -0
- data/lib/zint/upnqr.rb +7 -0
- data/lib/zint/uspsimail.rb +7 -0
- data/lib/zint/version.rb +3 -0
- data/lib/zint/vin.rb +7 -0
- data/lib/zint.rb +236 -0
- metadata +186 -0
data/lib/zint/pharma.rb
ADDED
data/lib/zint/planet.rb
ADDED
data/lib/zint/plessey.rb
ADDED
data/lib/zint/postnet.rb
ADDED
data/lib/zint/pzn.rb
ADDED
data/lib/zint/qr.rb
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
module Zint
|
|
2
|
+
class Qr < Barcode
|
|
3
|
+
# ECC Levels
|
|
4
|
+
ECC_LEVEL_L = 1
|
|
5
|
+
ECC_LEVEL_M = 2
|
|
6
|
+
ECC_LEVEL_Q = 3
|
|
7
|
+
ECC_LEVEL_H = 4
|
|
8
|
+
|
|
9
|
+
# Current ECC level of QR code
|
|
10
|
+
attr_reader :ecc_level
|
|
11
|
+
|
|
12
|
+
def initialize(value: nil, input_file: nil, ecc_level: ECC_LEVEL_L, options: {})
|
|
13
|
+
super(value: value, input_file: input_file, type: Zint::BARCODE_QRCODE, options: options.merge(option_1: ecc_level))
|
|
14
|
+
@ecc_level = ecc_level
|
|
15
|
+
end
|
|
16
|
+
end
|
|
17
|
+
end
|
data/lib/zint/rmqr.rb
ADDED
data/lib/zint/rss14.rb
ADDED
data/lib/zint/rssexp.rb
ADDED
data/lib/zint/rssltd.rb
ADDED
data/lib/zint/stdout.rb
ADDED
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
module Zint
|
|
2
|
+
module Structs
|
|
3
|
+
class Symbol < FFI::Struct
|
|
4
|
+
layout :symbology, :int,
|
|
5
|
+
:height, :float,
|
|
6
|
+
:whitespace_width, :int,
|
|
7
|
+
:whitespace_height, :int,
|
|
8
|
+
:border_width, :int,
|
|
9
|
+
:output_options, :int,
|
|
10
|
+
:fgcolour, [:char, 10],
|
|
11
|
+
:bgcolour, [:char, 10],
|
|
12
|
+
:fgcolor, :pointer,
|
|
13
|
+
:bgcolor, :pointer,
|
|
14
|
+
:outfile, [:char, 256],
|
|
15
|
+
:scale, :float,
|
|
16
|
+
:option_1, :int,
|
|
17
|
+
:option_2, :int,
|
|
18
|
+
:option_3, :int,
|
|
19
|
+
:show_hrt, :int,
|
|
20
|
+
:fontsize, :int,
|
|
21
|
+
:input_mode, :int,
|
|
22
|
+
:eci, :int,
|
|
23
|
+
:text, [:uchar, 128],
|
|
24
|
+
:rows, :int,
|
|
25
|
+
:width, :int,
|
|
26
|
+
:primary, [:char, 128],
|
|
27
|
+
:encoded_data, [:uchar, 200 * 143],
|
|
28
|
+
:row_height, [:float, 200],
|
|
29
|
+
:errtxt, [:char, 100],
|
|
30
|
+
:bitmap, :pointer,
|
|
31
|
+
:bitmap_width, :int,
|
|
32
|
+
:bitmap_height, :int,
|
|
33
|
+
:alphamap, :pointer,
|
|
34
|
+
:bitmap_byte_length, :uchar,
|
|
35
|
+
:dot_size, :float,
|
|
36
|
+
:vector, :pointer,
|
|
37
|
+
:debug, :int,
|
|
38
|
+
:warn_level, :int
|
|
39
|
+
end
|
|
40
|
+
end
|
|
41
|
+
end
|
data/lib/zint/telepen.rb
ADDED
data/lib/zint/ultra.rb
ADDED
data/lib/zint/upc_a.rb
ADDED
data/lib/zint/upc_e.rb
ADDED
data/lib/zint/upnqr.rb
ADDED
data/lib/zint/version.rb
ADDED
data/lib/zint/vin.rb
ADDED
data/lib/zint.rb
ADDED
|
@@ -0,0 +1,236 @@
|
|
|
1
|
+
require "ffi"
|
|
2
|
+
|
|
3
|
+
require "zint/version"
|
|
4
|
+
|
|
5
|
+
# Zint constants
|
|
6
|
+
require "zint/constants/capability_flags"
|
|
7
|
+
require "zint/constants/debug_flags"
|
|
8
|
+
require "zint/constants/errors"
|
|
9
|
+
require "zint/constants/input_data_types"
|
|
10
|
+
require "zint/constants/output_options"
|
|
11
|
+
require "zint/constants/specific_options"
|
|
12
|
+
require "zint/constants/symbologies"
|
|
13
|
+
require "zint/constants/warn_levels"
|
|
14
|
+
require "zint/constants/warnings"
|
|
15
|
+
|
|
16
|
+
# Zint structs
|
|
17
|
+
require "zint/structs/circle"
|
|
18
|
+
require "zint/structs/hexagon"
|
|
19
|
+
require "zint/structs/rect"
|
|
20
|
+
require "zint/structs/symbol"
|
|
21
|
+
require "zint/structs/vector_string"
|
|
22
|
+
require "zint/structs/vector"
|
|
23
|
+
|
|
24
|
+
module Zint
|
|
25
|
+
# Zint constants
|
|
26
|
+
include Constants::CapabilityFlags
|
|
27
|
+
include Constants::DebugFlags
|
|
28
|
+
include Constants::Errors
|
|
29
|
+
include Constants::InputDataTypes
|
|
30
|
+
include Constants::OutputOptions
|
|
31
|
+
include Constants::SpecificOptions
|
|
32
|
+
include Constants::Symbologies
|
|
33
|
+
include Constants::WarnLevels
|
|
34
|
+
include Constants::Warnings
|
|
35
|
+
|
|
36
|
+
# Barcode
|
|
37
|
+
autoload :Bitmap, "zint/bitmap"
|
|
38
|
+
autoload :BitmapPixel, "zint/bitmap_pixel"
|
|
39
|
+
autoload :Barcode, "zint/barcode"
|
|
40
|
+
autoload :AusPost, "zint/aus_post"
|
|
41
|
+
autoload :AusRedirect, "zint/aus_redirect"
|
|
42
|
+
autoload :AusReply, "zint/aus_reply"
|
|
43
|
+
autoload :AusRoute, "zint/aus_route"
|
|
44
|
+
autoload :Azrune, "zint/azrune"
|
|
45
|
+
autoload :Aztec, "zint/aztec"
|
|
46
|
+
autoload :Bind, "zint/bind"
|
|
47
|
+
autoload :Box, "zint/box"
|
|
48
|
+
autoload :C25iata, "zint/c25iata"
|
|
49
|
+
autoload :C25ind, "zint/c25ind"
|
|
50
|
+
autoload :C25inter, "zint/c25inter"
|
|
51
|
+
autoload :C25logic, "zint/c25logic"
|
|
52
|
+
autoload :C25matrix, "zint/c25matrix"
|
|
53
|
+
autoload :C25standard, "zint/c25standard"
|
|
54
|
+
autoload :Channel, "zint/channel"
|
|
55
|
+
autoload :Codabar, "zint/codabar"
|
|
56
|
+
autoload :CodablockF, "zint/codablock_f"
|
|
57
|
+
autoload :Code11, "zint/code11"
|
|
58
|
+
autoload :Code128, "zint/code128"
|
|
59
|
+
autoload :Code128b, "zint/code128b"
|
|
60
|
+
autoload :Code16k, "zint/code16k"
|
|
61
|
+
autoload :Code32, "zint/code32"
|
|
62
|
+
autoload :Code39, "zint/code39"
|
|
63
|
+
autoload :Code49, "zint/code49"
|
|
64
|
+
autoload :Code93, "zint/code93"
|
|
65
|
+
autoload :CodeOne, "zint/code_one"
|
|
66
|
+
autoload :Daft, "zint/daft"
|
|
67
|
+
autoload :DataMatrix, "zint/data_matrix"
|
|
68
|
+
autoload :DbarExp, "zint/dbarexp"
|
|
69
|
+
autoload :DbarExpstk, "zint/dbarexpstk"
|
|
70
|
+
autoload :DbarLtd, "zint/dbarltd"
|
|
71
|
+
autoload :DbarOmn, "zint/dbaromn"
|
|
72
|
+
autoload :DbarOmnstk, "zint/dbaromnstk"
|
|
73
|
+
autoload :DbarStk, "zint/dbarstk"
|
|
74
|
+
autoload :DotCode, "zint/dot_code"
|
|
75
|
+
autoload :DottyMode, "zint/dotty_mode"
|
|
76
|
+
autoload :Dpd, "zint/dpd"
|
|
77
|
+
autoload :Dpident, "zint/dpident"
|
|
78
|
+
autoload :Dpleit, "zint/dpleit"
|
|
79
|
+
autoload :Ean128, "zint/ean128"
|
|
80
|
+
autoload :Ean14, "zint/ean14"
|
|
81
|
+
autoload :Eanx, "zint/eanx"
|
|
82
|
+
autoload :EanxChk, "zint/eanxchk"
|
|
83
|
+
autoload :Excode39, "zint/excode39"
|
|
84
|
+
autoload :Fim, "zint/fim"
|
|
85
|
+
autoload :Flat, "zint/flat"
|
|
86
|
+
autoload :GridMatrix, "zint/grid_matrix"
|
|
87
|
+
autoload :Gs1_128, "zint/gs1_128"
|
|
88
|
+
autoload :Hanxin, "zint/hanxin"
|
|
89
|
+
autoload :Hibc128, "zint/hibc128"
|
|
90
|
+
autoload :Hibc39, "zint/hibc39"
|
|
91
|
+
autoload :HibcAztec, "zint/hibcaztec"
|
|
92
|
+
autoload :HibcBlockf, "zint/hibcblockf"
|
|
93
|
+
autoload :HibcDm, "zint/hibcdm"
|
|
94
|
+
autoload :HibcMicpdf, "zint/hibcmicpdf"
|
|
95
|
+
autoload :HibcPdf, "zint/hibcpdf"
|
|
96
|
+
autoload :HibcQr, "zint/hibcqr"
|
|
97
|
+
autoload :Isbnx, "zint/isbnx"
|
|
98
|
+
autoload :Itf14, "zint/itf14"
|
|
99
|
+
autoload :JapanPost, "zint/japan_post"
|
|
100
|
+
autoload :Kix, "zint/kix"
|
|
101
|
+
autoload :KoreaPost, "zint/korea_post"
|
|
102
|
+
autoload :Logmars, "zint/logmars"
|
|
103
|
+
autoload :Mailmark, "zint/mailmark"
|
|
104
|
+
autoload :MaxiCode, "zint/maxi_code"
|
|
105
|
+
autoload :MicroPdf417, "zint/micro_pdf417"
|
|
106
|
+
autoload :MicroQr, "zint/micro_qr"
|
|
107
|
+
autoload :MsiPlessey, "zint/msiplessey"
|
|
108
|
+
autoload :NoAscii, "zint/noascii"
|
|
109
|
+
autoload :Nve18, "zint/nve18"
|
|
110
|
+
autoload :OneCode, "zint/one_code"
|
|
111
|
+
autoload :Pdf417, "zint/pdf417"
|
|
112
|
+
autoload :Pdf417comp, "zint/pdf417comp"
|
|
113
|
+
autoload :Pdf417trunc, "zint/pdf417trunc"
|
|
114
|
+
autoload :Pharma, "zint/pharma"
|
|
115
|
+
autoload :PharmaTwo, "zint/pharmatwo"
|
|
116
|
+
autoload :Planet, "zint/planet"
|
|
117
|
+
autoload :Plessey, "zint/plessey"
|
|
118
|
+
autoload :Postnet, "zint/postnet"
|
|
119
|
+
autoload :Pzn, "zint/pzn"
|
|
120
|
+
autoload :Qr, "zint/qr"
|
|
121
|
+
autoload :Rmqr, "zint/rmqr"
|
|
122
|
+
autoload :Rss14, "zint/rss14"
|
|
123
|
+
autoload :Rss14stack, "zint/rss14stack"
|
|
124
|
+
autoload :Rss14stackOmni, "zint/rss14stackomni"
|
|
125
|
+
autoload :RssExp, "zint/rssexp"
|
|
126
|
+
autoload :RssExpstack, "zint/rssexpstack"
|
|
127
|
+
autoload :RssLtd, "zint/rssltd"
|
|
128
|
+
autoload :Stdout, "zint/stdout"
|
|
129
|
+
autoload :Telepen, "zint/telepen"
|
|
130
|
+
autoload :TelepenNum, "zint/telepennum"
|
|
131
|
+
autoload :Ultra, "zint/ultra"
|
|
132
|
+
autoload :UpcA, "zint/upc_a"
|
|
133
|
+
autoload :UpcAChk, "zint/upc_a_chk"
|
|
134
|
+
autoload :UpcE, "zint/upc_e"
|
|
135
|
+
autoload :UpcEChk, "zint/upc_e_chk"
|
|
136
|
+
autoload :Upnqr, "zint/upnqr"
|
|
137
|
+
autoload :UspsImail, "zint/uspsimail"
|
|
138
|
+
autoload :Vin, "zint/vin"
|
|
139
|
+
|
|
140
|
+
extend FFI::Library
|
|
141
|
+
|
|
142
|
+
class Error < StandardError; end
|
|
143
|
+
|
|
144
|
+
ERROR_CLASS_FOR_RESULT = {}
|
|
145
|
+
|
|
146
|
+
# Define an exception class for each error code
|
|
147
|
+
ERRORS.to_h.each do |k, v|
|
|
148
|
+
klass = Class.new(Error)
|
|
149
|
+
klass.send(:define_method, :code) { v }
|
|
150
|
+
klass_name = k.to_s.split("_").collect(&:capitalize).join
|
|
151
|
+
const_set(klass_name, klass)
|
|
152
|
+
ERROR_CLASS_FOR_RESULT[v] = klass
|
|
153
|
+
end
|
|
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
|
+
# Returns library version of the current zint
|
|
231
|
+
#
|
|
232
|
+
# @return [Integer] library version
|
|
233
|
+
def self.library_version
|
|
234
|
+
Zint.ZBarcode_Version
|
|
235
|
+
end
|
|
236
|
+
end
|