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