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
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
module Zint
|
|
2
|
+
module Constants
|
|
3
|
+
# Errors (API return values)
|
|
4
|
+
module Errors
|
|
5
|
+
ERRORS = {
|
|
6
|
+
error_too_long: 5,
|
|
7
|
+
error_invalid_data: 6,
|
|
8
|
+
error_invalid_check: 7,
|
|
9
|
+
error_invalid_option: 8,
|
|
10
|
+
error_encoding_problem: 9,
|
|
11
|
+
error_file_access: 10,
|
|
12
|
+
error_memory: 11,
|
|
13
|
+
error_file_write: 12,
|
|
14
|
+
error_uses_eci: 13,
|
|
15
|
+
error_noncompliant: 14
|
|
16
|
+
}
|
|
17
|
+
end
|
|
18
|
+
end
|
|
19
|
+
end
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
module Zint
|
|
2
|
+
module Constants
|
|
3
|
+
# Input data types (`symbol->input_mode`)
|
|
4
|
+
module InputDataTypes
|
|
5
|
+
DATA_MODE = 0
|
|
6
|
+
UNICODE_MODE = 1
|
|
7
|
+
GS1_MODE = 2
|
|
8
|
+
# The following may be OR-ed with above
|
|
9
|
+
ESCAPE_MODE = 8
|
|
10
|
+
GS1PARENS_MODE = 16
|
|
11
|
+
GS1NOCHECK_MODE = 32
|
|
12
|
+
end
|
|
13
|
+
end
|
|
14
|
+
end
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
module Zint
|
|
2
|
+
module Constants
|
|
3
|
+
# Output options (`symbol->output_options`)
|
|
4
|
+
module OutputOptions
|
|
5
|
+
BARCODE_NO_ASCII = 1 # Legacy (no-op)
|
|
6
|
+
BARCODE_BIND = 2 # Boundary bars above & below the symbol and between stacked symbols
|
|
7
|
+
BARCODE_BOX = 4 # Box around symbol
|
|
8
|
+
BARCODE_STDOUT = 8 # Output to stdout
|
|
9
|
+
READER_INIT = 16 # Reader Initialisation (Programming)
|
|
10
|
+
SMALL_TEXT = 32 # Use smaller font
|
|
11
|
+
BOLD_TEXT = 64 # Use bold font
|
|
12
|
+
CMYK_COLOUR = 128 # CMYK colour space (Encapsulated PostScript and TIF)
|
|
13
|
+
BARCODE_DOTTY_MODE = 256 # Plot a matrix symbol using dots rather than squares
|
|
14
|
+
GS1_GS_SEPARATOR = 512 # Use GS instead of FNC1 as GS1 separator (Data Matrix)
|
|
15
|
+
OUT_BUFFER_INTERMEDIATE = 1024 # Return ASCII values in bitmap buffer (OUT_BUFFER only)
|
|
16
|
+
end
|
|
17
|
+
end
|
|
18
|
+
end
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
module Zint
|
|
2
|
+
module Constants
|
|
3
|
+
# Specific options (`symbol->option_3`)
|
|
4
|
+
module SpecificOptions
|
|
5
|
+
DM_SQUARE = 100 # Only consider square versions on automatic symbol size selection
|
|
6
|
+
DM_DMRE = 101 # Consider DMRE versions on automatic symbol size selection
|
|
7
|
+
|
|
8
|
+
ZINT_FULL_MULTIBYTE = 200 # Enable Kanji/Hanzi compression for Latin-1 & binary data
|
|
9
|
+
ULTRA_COMPRESSION = 128 # Enable Ultracode compression (experimental)
|
|
10
|
+
end
|
|
11
|
+
end
|
|
12
|
+
end
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
module Zint
|
|
2
|
+
module Constants
|
|
3
|
+
# Symbologies (`symbol->symbology`)
|
|
4
|
+
module Symbologies
|
|
5
|
+
# Tbarcode 7 codes
|
|
6
|
+
BARCODE_CODE11 = 1 # Code 11
|
|
7
|
+
BARCODE_C25STANDARD = 2 # 2 of 5 Standard (Matrix)
|
|
8
|
+
BARCODE_C25MATRIX = 2 # Legacy
|
|
9
|
+
BARCODE_C25INTER = 3 # 2 of 5 Interleaved
|
|
10
|
+
BARCODE_C25IATA = 4 # 2 of 5 IATA
|
|
11
|
+
BARCODE_C25LOGIC = 6 # 2 of 5 Data Logic
|
|
12
|
+
BARCODE_C25IND = 7 # 2 of 5 Industrial
|
|
13
|
+
BARCODE_CODE39 = 8 # Code 39
|
|
14
|
+
BARCODE_EXCODE39 = 9 # Extended Code 39
|
|
15
|
+
BARCODE_EANX = 13 # EAN (European Article Number)
|
|
16
|
+
BARCODE_EANX_CHK = 14 # EAN + Check Digit
|
|
17
|
+
BARCODE_GS1_128 = 16 # GS1-128
|
|
18
|
+
BARCODE_EAN128 = 16 # Legacy
|
|
19
|
+
BARCODE_CODABAR = 18 # Codabar
|
|
20
|
+
BARCODE_CODE128 = 20 # Code 128
|
|
21
|
+
BARCODE_DPLEIT = 21 # Deutsche Post Leitcode
|
|
22
|
+
BARCODE_DPIDENT = 22 # Deutsche Post Identcode
|
|
23
|
+
BARCODE_CODE16K = 23 # Code 16k
|
|
24
|
+
BARCODE_CODE49 = 24 # Code 49
|
|
25
|
+
BARCODE_CODE93 = 25 # Code 93
|
|
26
|
+
BARCODE_FLAT = 28 # Flattermarken
|
|
27
|
+
BARCODE_DBAR_OMN = 29 # GS1 DataBar Omnidirectional
|
|
28
|
+
BARCODE_RSS14 = 29 # Legacy
|
|
29
|
+
BARCODE_DBAR_LTD = 30 # GS1 DataBar Limited
|
|
30
|
+
BARCODE_RSS_LTD = 30 # Legacy
|
|
31
|
+
BARCODE_DBAR_EXP = 31 # GS1 DataBar Expanded
|
|
32
|
+
BARCODE_RSS_EXP = 31 # Legacy
|
|
33
|
+
BARCODE_TELEPEN = 32 # Telepen Alpha
|
|
34
|
+
BARCODE_UPCA = 34 # UPC-A
|
|
35
|
+
BARCODE_UPCA_CHK = 35 # UPC-A + Check Digit
|
|
36
|
+
BARCODE_UPCE = 37 # UPC-E
|
|
37
|
+
BARCODE_UPCE_CHK = 38 # UPC-E + Check Digit
|
|
38
|
+
BARCODE_POSTNET = 40 # USPS POSTNET
|
|
39
|
+
BARCODE_MSI_PLESSEY = 47 # MSI Plessey
|
|
40
|
+
BARCODE_FIM = 49 # Facing Identification Mark
|
|
41
|
+
BARCODE_LOGMARS = 50 # LOGMARS
|
|
42
|
+
BARCODE_PHARMA = 51 # Pharmacode One-Track
|
|
43
|
+
BARCODE_PZN = 52 # Pharmazentralnummer
|
|
44
|
+
BARCODE_PHARMA_TWO = 53 # Pharmacode Two-Track
|
|
45
|
+
BARCODE_PDF417 = 55 # PDF417
|
|
46
|
+
BARCODE_PDF417COMP = 56 # Compact PDF417 (Truncated PDF417)
|
|
47
|
+
BARCODE_PDF417TRUNC = 56 # Legacy
|
|
48
|
+
BARCODE_MAXICODE = 57 # MaxiCode
|
|
49
|
+
BARCODE_QRCODE = 58 # QR Code
|
|
50
|
+
BARCODE_CODE128B = 60 # Code 128 (Subset B)
|
|
51
|
+
BARCODE_AUSPOST = 63 # Australia Post Standard Customer
|
|
52
|
+
BARCODE_AUSREPLY = 66 # Australia Post Reply Paid
|
|
53
|
+
BARCODE_AUSROUTE = 67 # Australia Post Routing
|
|
54
|
+
BARCODE_AUSREDIRECT = 68 # Australia Post Redirection
|
|
55
|
+
BARCODE_ISBNX = 69 # ISBN
|
|
56
|
+
BARCODE_RM4SCC = 70 # Royal Mail 4 State
|
|
57
|
+
BARCODE_DATAMATRIX = 71 # Data Matrix (ECC200)
|
|
58
|
+
BARCODE_EAN14 = 72 # EAN-14
|
|
59
|
+
BARCODE_VIN = 73 # Vehicle Identification Number
|
|
60
|
+
BARCODE_CODABLOCKF = 74 # Codablock-F
|
|
61
|
+
BARCODE_NVE18 = 75 # NVE-18 (SSCC-18)
|
|
62
|
+
BARCODE_JAPANPOST = 76 # Japanese Postal Code
|
|
63
|
+
BARCODE_KOREAPOST = 77 # Korea Post
|
|
64
|
+
BARCODE_DBAR_STK = 79 # GS1 DataBar Stacked
|
|
65
|
+
BARCODE_RSS14STACK = 79 # Legacy
|
|
66
|
+
BARCODE_DBAR_OMNSTK = 80 # GS1 DataBar Stacked Omnidirectional
|
|
67
|
+
BARCODE_RSS14STACK_OMNI = 80 # Legacy
|
|
68
|
+
BARCODE_DBAR_EXPSTK = 81 # GS1 DataBar Expanded Stacked
|
|
69
|
+
BARCODE_RSS_EXPSTACK = 81 # Legacy
|
|
70
|
+
BARCODE_PLANET = 82 # USPS PLANET
|
|
71
|
+
BARCODE_MICROPDF417 = 84 # MicroPDF417
|
|
72
|
+
BARCODE_USPS_IMAIL = 85 # USPS Intelligent Mail (OneCode)
|
|
73
|
+
BARCODE_ONECODE = 85 # Legacy
|
|
74
|
+
BARCODE_PLESSEY = 86 # Plessey Code
|
|
75
|
+
|
|
76
|
+
# Tbarcode 8 codes
|
|
77
|
+
BARCODE_TELEPEN_NUM = 87 # Telepen Numeric
|
|
78
|
+
BARCODE_ITF14 = 89 # ITF-14
|
|
79
|
+
BARCODE_KIX = 90 # Dutch Post KIX Code
|
|
80
|
+
BARCODE_AZTEC = 92 # Aztec Code
|
|
81
|
+
BARCODE_DAFT = 93 # DAFT Code
|
|
82
|
+
BARCODE_DPD = 96 # DPD Code
|
|
83
|
+
BARCODE_MICROQR = 97 # Micro QR Code
|
|
84
|
+
|
|
85
|
+
# Tbarcode 9 codes
|
|
86
|
+
BARCODE_HIBC_128 = 98 # HIBC Code 128
|
|
87
|
+
BARCODE_HIBC_39 = 99 # HIBC Code 39
|
|
88
|
+
BARCODE_HIBC_DM = 102 # HIBC Data Matrix
|
|
89
|
+
BARCODE_HIBC_QR = 104 # HIBC QR Code
|
|
90
|
+
BARCODE_HIBC_PDF = 106 # HIBC PDF417
|
|
91
|
+
BARCODE_HIBC_MICPDF = 108 # HIBC MicroPDF417
|
|
92
|
+
BARCODE_HIBC_BLOCKF = 110 # HIBC Codablock-F
|
|
93
|
+
BARCODE_HIBC_AZTEC = 112 # HIBC Aztec Code
|
|
94
|
+
|
|
95
|
+
# Tbarcode 10 codes
|
|
96
|
+
BARCODE_DOTCODE = 115 # DotCode
|
|
97
|
+
BARCODE_HANXIN = 116 # Han Xin (Chinese Sensible) Code
|
|
98
|
+
|
|
99
|
+
# Tbarcode 11 codes
|
|
100
|
+
BARCODE_MAILMARK = 121 # Royal Mail 4-state Mailmark
|
|
101
|
+
|
|
102
|
+
# Zint specific
|
|
103
|
+
BARCODE_AZRUNE = 128 # Aztec Runes
|
|
104
|
+
BARCODE_CODE32 = 129 # Code 32
|
|
105
|
+
BARCODE_EANX_CC = 130 # EAN Composite
|
|
106
|
+
BARCODE_GS1_128_CC = 131 # GS1-128 Composite
|
|
107
|
+
BARCODE_EAN128_CC = 131 # Legacy
|
|
108
|
+
BARCODE_DBAR_OMN_CC = 132 # GS1 DataBar Omnidirectional Composite
|
|
109
|
+
BARCODE_RSS14_CC = 132 # Legacy
|
|
110
|
+
BARCODE_DBAR_LTD_CC = 133 # GS1 DataBar Limited Composite
|
|
111
|
+
BARCODE_RSS_LTD_CC = 133 # Legacy
|
|
112
|
+
BARCODE_DBAR_EXP_CC = 134 # GS1 DataBar Expanded Composite
|
|
113
|
+
BARCODE_RSS_EXP_CC = 134 # Legacy
|
|
114
|
+
BARCODE_UPCA_CC = 135 # UPC-A Composite
|
|
115
|
+
BARCODE_UPCE_CC = 136 # UPC-E Composite
|
|
116
|
+
BARCODE_DBAR_STK_CC = 137 # GS1 DataBar Stacked Composite
|
|
117
|
+
BARCODE_RSS14STACK_CC = 137 # Legacy
|
|
118
|
+
BARCODE_DBAR_OMNSTK_CC = 138 # GS1 DataBar Stacked Omnidirectional Composite
|
|
119
|
+
BARCODE_RSS14_OMNI_CC = 138 # Legacy
|
|
120
|
+
BARCODE_DBAR_EXPSTK_CC = 139 # GS1 DataBar Expanded Stacked Composite
|
|
121
|
+
BARCODE_RSS_EXPSTACK_CC = 139 # Legacy
|
|
122
|
+
BARCODE_CHANNEL = 140 # Channel Code
|
|
123
|
+
BARCODE_CODEONE = 141 # Code One
|
|
124
|
+
BARCODE_GRIDMATRIX = 142 # Grid Matrix
|
|
125
|
+
BARCODE_UPNQR = 143 # UPNQR (Univerzalnega Plačilnega Naloga QR)
|
|
126
|
+
BARCODE_ULTRA = 144 # Ultracode
|
|
127
|
+
BARCODE_RMQR = 145 # Rectangular Micro QR Code (rMQR)
|
|
128
|
+
end
|
|
129
|
+
end
|
|
130
|
+
end
|
data/lib/zint/daft.rb
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
module Zint
|
|
2
|
+
class DataMatrix < Barcode
|
|
3
|
+
# Options
|
|
4
|
+
DM_NULL = 0
|
|
5
|
+
DM_ASCII = 1
|
|
6
|
+
DM_C40 = 2
|
|
7
|
+
DM_TEXT = 3
|
|
8
|
+
DM_X12 = 4
|
|
9
|
+
DM_EDIFACT = 5
|
|
10
|
+
DM_BASE256 = 6
|
|
11
|
+
|
|
12
|
+
def initialize(value: nil, input_file: nil, type: Zint::BARCODE_DATAMATRIX, options: {})
|
|
13
|
+
raise ArgumentError, "Invalid type for DataMatrix code" unless [Zint::BARCODE_DATAMATRIX, Zint::BARCODE_HIBC_DM].include?(type)
|
|
14
|
+
|
|
15
|
+
super(value: value, input_file: input_file, type: type, options: {option_3: Zint::DM_SQUARE}.merge(options))
|
|
16
|
+
end
|
|
17
|
+
end
|
|
18
|
+
end
|
data/lib/zint/dbarexp.rb
ADDED
data/lib/zint/dbarltd.rb
ADDED
data/lib/zint/dbaromn.rb
ADDED
data/lib/zint/dbarstk.rb
ADDED
data/lib/zint/dpd.rb
ADDED
data/lib/zint/dpident.rb
ADDED
data/lib/zint/dpleit.rb
ADDED
data/lib/zint/ean128.rb
ADDED
data/lib/zint/ean14.rb
ADDED
data/lib/zint/eanx.rb
ADDED
data/lib/zint/eanxchk.rb
ADDED
data/lib/zint/fim.rb
ADDED
data/lib/zint/flat.rb
ADDED
data/lib/zint/gs1_128.rb
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
module Zint
|
|
2
|
+
# standard:disable Naming/ClassAndModuleCamelCase
|
|
3
|
+
class Gs1_128 < Barcode
|
|
4
|
+
# standard:enable Naming/ClassAndModuleCamelCase
|
|
5
|
+
def initialize(value: nil, input_file: nil, options: {})
|
|
6
|
+
super(value: value, input_file: input_file, type: Zint::BARCODE_GS1_128, options: options)
|
|
7
|
+
end
|
|
8
|
+
end
|
|
9
|
+
end
|
data/lib/zint/hanxin.rb
ADDED
data/lib/zint/hibc128.rb
ADDED
data/lib/zint/hibc39.rb
ADDED
data/lib/zint/hibcdm.rb
ADDED
data/lib/zint/hibcpdf.rb
ADDED
data/lib/zint/hibcqr.rb
ADDED
data/lib/zint/isbnx.rb
ADDED
data/lib/zint/itf14.rb
ADDED
data/lib/zint/kix.rb
ADDED
data/lib/zint/logmars.rb
ADDED
data/lib/zint/noascii.rb
ADDED
data/lib/zint/nve18.rb
ADDED
data/lib/zint/pdf417.rb
ADDED