diff --git a/backend/common.h b/backend/common.h
index d8d5fc2f..21fbf3a3 100644
--- a/backend/common.h
+++ b/backend/common.h
@@ -42,6 +42,10 @@ extern "C" {
#include
#include
+#define BARCODE_RAW_TEXT 0 /* BARCODE_RAW_TEXT temporarily disabled */
+#define ZINT_WARN_HRT_RAW_TEXT -1 /* BARCODE_RAW_TEXT temporarily disabled */
+#define ZINT_ERROR_HRT_RAW_TEXT 16 /* BARCODE_RAW_TEXT temporarily disabled */
+
/* Determine if C89 (excluding MSVC, which doesn't define __STDC_VERSION__) */
#ifndef _MSC_VER
# if !defined(__STDC_VERSION__) || __STDC_VERSION__ < 199000L
diff --git a/backend/tests/test_2of5.c b/backend/tests/test_2of5.c
index a4f5857b..dcb7dde1 100644
--- a/backend/tests/test_2of5.c
+++ b/backend/tests/test_2of5.c
@@ -181,6 +181,8 @@ static void test_hrt(const testCtx *const p_ctx) {
if (testContinue(p_ctx, i)) continue;
+ if (data[i].output_options == BARCODE_RAW_TEXT) continue; /* BARCODE_RAW_TEXT temporarily disabled */
+
symbol = ZBarcode_Create();
assert_nonnull(symbol, "Symbol not created\n");
diff --git a/backend/tests/test_auspost.c b/backend/tests/test_auspost.c
index d494ac4f..fe0e93c9 100644
--- a/backend/tests/test_auspost.c
+++ b/backend/tests/test_auspost.c
@@ -143,6 +143,8 @@ static void test_hrt(const testCtx *const p_ctx) {
if (testContinue(p_ctx, i)) continue;
+ if (data[i].output_options == BARCODE_RAW_TEXT) continue; /* BARCODE_RAW_TEXT temporarily disabled */
+
symbol = ZBarcode_Create();
assert_nonnull(symbol, "Symbol not created\n");
diff --git a/backend/tests/test_codabar.c b/backend/tests/test_codabar.c
index 1d93e332..69eb1a1d 100644
--- a/backend/tests/test_codabar.c
+++ b/backend/tests/test_codabar.c
@@ -123,6 +123,8 @@ static void test_hrt(const testCtx *const p_ctx) {
if (testContinue(p_ctx, i)) continue;
+ if (data[i].output_options == BARCODE_RAW_TEXT) continue; /* BARCODE_RAW_TEXT temporarily disabled */
+
symbol = ZBarcode_Create();
assert_nonnull(symbol, "Symbol not created\n");
diff --git a/backend/tests/test_code.c b/backend/tests/test_code.c
index 0fb1c4af..f9eb378d 100644
--- a/backend/tests/test_code.c
+++ b/backend/tests/test_code.c
@@ -196,6 +196,8 @@ static void test_hrt(const testCtx *const p_ctx) {
if (testContinue(p_ctx, i)) continue;
+ if (data[i].output_options == BARCODE_RAW_TEXT) continue; /* BARCODE_RAW_TEXT temporarily disabled */
+
symbol = ZBarcode_Create();
assert_nonnull(symbol, "Symbol not created\n");
diff --git a/backend/tests/test_code128.c b/backend/tests/test_code128.c
index 9122e1dc..bf3048ce 100644
--- a/backend/tests/test_code128.c
+++ b/backend/tests/test_code128.c
@@ -270,6 +270,8 @@ static void test_hrt(const testCtx *const p_ctx) {
if (testContinue(p_ctx, i)) continue;
+ if (data[i].output_options == BARCODE_RAW_TEXT) continue; /* BARCODE_RAW_TEXT temporarily disabled */
+
symbol = ZBarcode_Create();
assert_nonnull(symbol, "Symbol not created\n");
diff --git a/backend/tests/test_common.c b/backend/tests/test_common.c
index 14a308b7..c91cb631 100644
--- a/backend/tests/test_common.c
+++ b/backend/tests/test_common.c
@@ -779,6 +779,9 @@ static void test_hrt_cpy_iso8859_1(const testCtx *const p_ctx) {
assert_zero(strcmp((char *) symbol->text, data[i].expected), "i:%d symbol->text (%s) != expected (%s)\n",
i, symbol->text, data[i].expected);
+ #if 1 /* BARCODE_RAW_TEXT temporarily disabled */
+ (void)expected;
+ #else
memset(symbol, 0, sizeof(*symbol));
symbol->output_options = BARCODE_RAW_TEXT;
@@ -797,6 +800,7 @@ static void test_hrt_cpy_iso8859_1(const testCtx *const p_ctx) {
assert_equal(symbol->text_length, expected_length, "i:%d text_length %d != expected_length %d\n",
i, symbol->text_length, expected_length);
assert_zero(memcmp(symbol->text, expected, symbol->text_length), "i:%d symbol->text (%s) != expected (%s)\n", i, symbol->text, expected);
+ #endif
}
testFinish();
diff --git a/backend/tests/test_composite.c b/backend/tests/test_composite.c
index 20223d28..61670bce 100644
--- a/backend/tests/test_composite.c
+++ b/backend/tests/test_composite.c
@@ -3290,6 +3290,8 @@ static void test_hrt(const testCtx *const p_ctx) {
if (testContinue(p_ctx, i)) continue;
+ if (data[i].output_options == BARCODE_RAW_TEXT) continue; /* BARCODE_RAW_TEXT temporarily disabled */
+
symbol = ZBarcode_Create();
assert_nonnull(symbol, "Symbol not created\n");
diff --git a/backend/tests/test_dxfilmedge.c b/backend/tests/test_dxfilmedge.c
index 13a7a472..65b6acf1 100644
--- a/backend/tests/test_dxfilmedge.c
+++ b/backend/tests/test_dxfilmedge.c
@@ -68,6 +68,8 @@ static void test_hrt(const testCtx *const p_ctx) {
if (testContinue(p_ctx, i)) continue;
+ if (data[i].output_options == BARCODE_RAW_TEXT) continue; /* BARCODE_RAW_TEXT temporarily disabled */
+
symbol = ZBarcode_Create();
assert_nonnull(symbol, "Symbol not created\n");
diff --git a/backend/tests/test_gs1.c b/backend/tests/test_gs1.c
index ad05ef7b..1f8ed591 100644
--- a/backend/tests/test_gs1.c
+++ b/backend/tests/test_gs1.c
@@ -373,6 +373,8 @@ static void test_hrt(const testCtx *const p_ctx) {
if (testContinue(p_ctx, i)) continue;
+ if (data[i].output_options == BARCODE_RAW_TEXT) continue; /* BARCODE_RAW_TEXT temporarily disabled */
+
symbol = ZBarcode_Create();
assert_nonnull(symbol, "Symbol not created\n");
diff --git a/backend/tests/test_imail.c b/backend/tests/test_imail.c
index 30a0fa35..0ab504ff 100644
--- a/backend/tests/test_imail.c
+++ b/backend/tests/test_imail.c
@@ -187,6 +187,8 @@ static void test_hrt(const testCtx *const p_ctx) {
if (testContinue(p_ctx, i)) continue;
+ if (data[i].output_options == BARCODE_RAW_TEXT) continue; /* BARCODE_RAW_TEXT temporarily disabled */
+
symbol = ZBarcode_Create();
assert_nonnull(symbol, "Symbol not created\n");
diff --git a/backend/tests/test_mailmark.c b/backend/tests/test_mailmark.c
index 2b17c27f..fd57a5f5 100644
--- a/backend/tests/test_mailmark.c
+++ b/backend/tests/test_mailmark.c
@@ -64,6 +64,8 @@ static void test_4s_hrt(const testCtx *const p_ctx) {
if (testContinue(p_ctx, i)) continue;
+ if (data[i].output_options == BARCODE_RAW_TEXT) continue; /* BARCODE_RAW_TEXT temporarily disabled */
+
symbol = ZBarcode_Create();
assert_nonnull(symbol, "Symbol not created\n");
diff --git a/backend/tests/test_medical.c b/backend/tests/test_medical.c
index 1f214e49..6a16a516 100644
--- a/backend/tests/test_medical.c
+++ b/backend/tests/test_medical.c
@@ -148,6 +148,8 @@ static void test_hrt(const testCtx *const p_ctx) {
if (testContinue(p_ctx, i)) continue;
+ if (data[i].output_options == BARCODE_RAW_TEXT) continue; /* BARCODE_RAW_TEXT temporarily disabled */
+
symbol = ZBarcode_Create();
assert_nonnull(symbol, "Symbol not created\n");
diff --git a/backend/tests/test_plessey.c b/backend/tests/test_plessey.c
index dbb41655..1d829b3d 100644
--- a/backend/tests/test_plessey.c
+++ b/backend/tests/test_plessey.c
@@ -203,6 +203,8 @@ static void test_hrt(const testCtx *const p_ctx) {
if (testContinue(p_ctx, i)) continue;
+ if (data[i].output_options == BARCODE_RAW_TEXT) continue; /* BARCODE_RAW_TEXT temporarily disabled */
+
symbol = ZBarcode_Create();
assert_nonnull(symbol, "Symbol not created\n");
diff --git a/backend/tests/test_postal.c b/backend/tests/test_postal.c
index 19045637..a7c04b27 100644
--- a/backend/tests/test_postal.c
+++ b/backend/tests/test_postal.c
@@ -260,6 +260,8 @@ static void test_hrt(const testCtx *const p_ctx) {
if (testContinue(p_ctx, i)) continue;
+ if (data[i].output_options == BARCODE_RAW_TEXT) continue; /* BARCODE_RAW_TEXT temporarily disabled */
+
symbol = ZBarcode_Create();
assert_nonnull(symbol, "Symbol not created\n");
diff --git a/backend/tests/test_raster.c b/backend/tests/test_raster.c
index 7dabc1d7..fbad130b 100644
--- a/backend/tests/test_raster.c
+++ b/backend/tests/test_raster.c
@@ -558,6 +558,8 @@ static void test_upcean_hrt(const testCtx *const p_ctx) {
if (testContinue(p_ctx, i)) continue;
+ if (data[i].output_options == BARCODE_RAW_TEXT) continue; /* BARCODE_RAW_TEXT temporarily disabled */
+
symbol = ZBarcode_Create();
assert_nonnull(symbol, "Symbol not created\n");
@@ -3170,6 +3172,8 @@ static void test_hrt_raw_text(const testCtx *const p_ctx) {
if (testContinue(p_ctx, i)) continue;
+ if (data[i].ret == ZINT_WARN_HRT_RAW_TEXT || !data[i].show_hrt) continue; /* BARCODE_RAW_TEXT temporarily disabled */
+
symbol = ZBarcode_Create();
assert_nonnull(symbol, "Symbol not created\n");
diff --git a/backend/tests/test_rss.c b/backend/tests/test_rss.c
index fa9e78d5..b3728da9 100644
--- a/backend/tests/test_rss.c
+++ b/backend/tests/test_rss.c
@@ -1339,6 +1339,8 @@ static void test_hrt(const testCtx *const p_ctx) {
if (testContinue(p_ctx, i)) continue;
+ if (data[i].output_options == BARCODE_RAW_TEXT) continue; /* BARCODE_RAW_TEXT temporarily disabled */
+
symbol = ZBarcode_Create();
assert_nonnull(symbol, "Symbol not created\n");
diff --git a/backend/tests/test_telepen.c b/backend/tests/test_telepen.c
index 7145d1e1..693246de 100644
--- a/backend/tests/test_telepen.c
+++ b/backend/tests/test_telepen.c
@@ -130,6 +130,8 @@ static void test_hrt(const testCtx *const p_ctx) {
if (testContinue(p_ctx, i)) continue;
+ if (data[i].output_options == BARCODE_RAW_TEXT) continue; /* BARCODE_RAW_TEXT temporarily disabled */
+
symbol = ZBarcode_Create();
assert_nonnull(symbol, "Symbol not created\n");
diff --git a/backend/tests/test_vector.c b/backend/tests/test_vector.c
index b1267612..2c191c59 100644
--- a/backend/tests/test_vector.c
+++ b/backend/tests/test_vector.c
@@ -1006,6 +1006,8 @@ static void test_upcean_hrt(const testCtx *const p_ctx) {
if (testContinue(p_ctx, i)) continue;
+ if (data[i].output_options == BARCODE_RAW_TEXT) continue; /* BARCODE_RAW_TEXT temporarily disabled */
+
symbol = ZBarcode_Create();
assert_nonnull(symbol, "Symbol not created\n");
@@ -3175,6 +3177,8 @@ static void test_hrt_raw_text(const testCtx *const p_ctx) {
if (testContinue(p_ctx, i)) continue;
+ if (data[i].ret == ZINT_WARN_HRT_RAW_TEXT || !data[i].show_hrt) continue; /* BARCODE_RAW_TEXT temporarily disabled */
+
symbol = ZBarcode_Create();
assert_nonnull(symbol, "Symbol not created\n");
diff --git a/backend/zint.h b/backend/zint.h
index 6f0f063f..9a65a7c4 100644
--- a/backend/zint.h
+++ b/backend/zint.h
@@ -123,7 +123,7 @@ extern "C" {
int warn_level; /* Affects error/warning value returned by Zint API (see WARN_XXX below) */
int debug; /* Debugging flags */
unsigned char text[256]; /* Human Readable Text (HRT) (if any), UTF-8, NUL-terminated (output only) */
- int text_length; /* Length of text in bytes, useful if BARCODE_RAW_TEXT when may have NULs (output only) */
+ int text_length; /* Length of text in bytes (output only) */
int rows; /* Number of rows used by the symbol (output only) */
int width; /* Width of the generated symbol (output only) */
unsigned char encoded_data[200][144]; /* Encoded data (output only). Allows for rows of 1152 modules */
@@ -299,9 +299,6 @@ extern "C" {
#define EANUPC_GUARD_WHITESPACE 0x04000 /* Add quiet zone indicators ("<"/">") to HRT whitespace (EAN/UPC) */
#define EMBED_VECTOR_FONT 0x08000 /* Embed font in vector output - currently only for SVG output */
#define BARCODE_MEMORY_FILE 0x10000 /* Write output to in-memory buffer `memfile` instead of to `outfile` */
-#define BARCODE_RAW_TEXT 0x20000 /* Set HRT with no decoration (GS1 data will not have parentheses but GS
- separators as needed), complete with any control chars and check chars, and
- for all linear symbologies, including those that normally don't set it */
/* Input data types (`symbol->input_mode`) */
#define DATA_MODE 0 /* Binary */
@@ -329,7 +326,6 @@ extern "C" {
#define ULTRA_COMPRESSION 128 /* Enable Ultracode compression (experimental) */
/* Warning and error conditions (API return values) */
-#define ZINT_WARN_HRT_RAW_TEXT -1 /* Human Readable Text outputted with BARCODE_RAW_TEXT */
#define ZINT_WARN_HRT_TRUNCATED 1 /* Human Readable Text was truncated (max 199 bytes) */
#define ZINT_WARN_INVALID_OPTION 2 /* Invalid option given but overridden by Zint */
#define ZINT_WARN_USES_ECI 3 /* Automatic ECI inserted by Zint */
@@ -346,7 +342,6 @@ extern "C" {
#define ZINT_ERROR_USES_ECI 13 /* Error counterpart of warning if WARN_FAIL_ALL set (see below) */
#define ZINT_ERROR_NONCOMPLIANT 14 /* Error counterpart of warning if WARN_FAIL_ALL set */
#define ZINT_ERROR_HRT_TRUNCATED 15 /* Error counterpart of warning if WARN_FAIL_ALL set */
-#define ZINT_ERROR_HRT_RAW_TEXT 16 /* Error counterpart of warning if WARN_FAIL_ALL set */
/* Warning level (`symbol->warn_level`) */
#define WARN_DEFAULT 0 /* Default behaviour */
diff --git a/docs/manual.html b/docs/manual.html
index f078cbf5..054344e9 100644
--- a/docs/manual.html
+++ b/docs/manual.html
@@ -2379,11 +2379,12 @@ X-dimension at 600 dpi specify:
class="sourceCode bash">zint -b MAXICODE -d "MaxiCode (19 chars)" --scalexdimdp=0,600dpi
4.10 Human Readable Text (HRT)
Options
-For linear barcodes the text present in the output image can be
-removed by using the --notext
option. Note also that for
-raster output text will not be printed for scales less than 1 (see 4.9 Adjusting Image Size
-(X-dimension)).
+For linear barcodes the text present5 in
+the output image can be removed by using the --notext
+option. Note also that for raster output text will not be printed for
+scales less than 1 (see 4.9
+Adjusting Image Size (X-dimension)).
Text can be set to bold using the --bold
option, or a
smaller font can be substituted using the --small
option.
The --bold
and --small
options can be used
@@ -2497,8 +2498,8 @@ data-tag=": Default Character Sets">
Micro QR Code |
Latin-1 |
-Shift JIS (includes ASCII) |
+Shift JIS (includes ASCII) |
PDF417 |
@@ -2746,8 +2747,8 @@ translates the data into the target encoding.
170 |
-ISO/IEC 646 Invariant |
+ISO/IEC 646 Invariant |
899 |
@@ -3332,8 +3333,8 @@ member memfile
instead of to the output file
}
will print the SVG output to stdout
(the file
"mem.svg"
is not created). This is particularly useful for
-the textual formats EPS and SVG, allowing the output to
+the textual formats EPS and SVG, allowing the output to
be manipulated and processed by the client.
5.7 Setting Options
So far our application is not very useful unless we plan to only make
@@ -3373,8 +3374,8 @@ href="#specifying-a-symbology">5.9 Specifying a Symbology.
height |
float |
Symbol height in X-dimensions, excluding
-fixed width-to-height symbols. |
+fixed width-to-height symbols.
Symbol dependent |
@@ -3449,8 +3450,8 @@ resulting barcode symbol to. Must end in .png
,
.gif
, .bmp
, .emf
,
.eps
, .pcx
, .svg
,
.tif
or .txt
followed by a terminating
-NUL
.
+NUL
.
"out.png" |
@@ -3692,12 +3693,6 @@ data-tag=": API Warning and Error Return Values">
-ZINT_WARN_HRT_RAW_TEXT |
-The Human Readable Text returned in
-text was outputted as raw text (output_options
-set to BARCODE_RAW_TEXT ). |
-
-
ZINT_WARN_HRT_TRUNCATED |
The Human Readable Text returned in
text was truncated (maximum 255 bytes). |
@@ -3790,12 +3785,6 @@ occurs.
WARN_FAIL_ALL
and ZINT_WARN_HRT_TRUNCATED
occurs.
-
-ZINT_ERROR_HRT_RAW_TEXT |
-Returned if warn_level set to
-WARN_FAIL_ALL and ZINT_WARN_HRT_RAW_TEXT
-occurs. |
-
@@ -3864,15 +3853,15 @@ value:
BARCODE_BIND_TOP |
Boundary bar above the symbol only. |
+href="#fn11" class="footnote-ref" id="fnref11"
+role="doc-noteref">11
BARCODE_BIND |
Boundary bars above and below the symbol
-and between rows if stacking multiple symbols.11 |
+and between rows if stacking multiple symbols.12
BARCODE_BOX |
@@ -3922,8 +3911,8 @@ Memory (raster).
BARCODE_QUIET_ZONES |
Add compliant quiet zones (additional to
-any specified whitespace). |
+any specified whitespace).
BARCODE_NO_QUIET_ZONES |
@@ -3952,18 +3941,6 @@ available for SVG output only.
symbol->memfile
instead of to outfile
file.
-
-BARCODE_RAW_TEXT |
-Set HRT with no decoration,13
-complete with any control characters and check
-characters, and for all linear symbologies,
-including those that normally don’t set it.16 |
-
@@ -4225,8 +4202,8 @@ Text?
ZINT_CAP_EANUPC |
+href="#fn14" class="footnote-ref" id="fnref14"
+role="doc-noteref">14
Is the symbology EAN/UPC? |
@@ -4901,8 +4878,8 @@ aria-hidden="true">zint -b CODE128AB -d "130170X178"
It is sometimes advantageous to stop Code 128 from using Code Set C
which compresses numerical data. The BARCODE_CODE128AB
variant (symbology 60) suppresses
+href="#fn15" class="footnote-ref" id="fnref15"
+role="doc-noteref">15 variant (symbology 60) suppresses
Code Set C in favour of Code Sets A and B.
Note that the special extra escapes mentioned above are not available
for this variant (nor for any other).
@@ -5642,8 +5619,8 @@ the 6-digit version the first and last digit are ignored, leaving a
2047. The second format "NNN-NN"
represents the DX Extract
as two numbers separated by a dash (-
), the first number
being 1 to 3 digits (range 1 to 127) and the second 1 to 2 digits (range
-0 to 15).
+0 to 15).
The optional frame number is a number in the range 0 to 63, and may
have a half frame indicator "A"
appended. Special character
sequences (with or without a half frame indicator appended) may also be
@@ -9534,68 +9511,58 @@ and SVG when --nobackground
is given. For raster outputs
GIF, PCX, PNG and TIF, the background’s alpha channel is set to zero
(fully transparent).
-Shift JIS (JIS X 0201 Roman) re-maps two ASCII
+
For linear barcodes, Human Readable Text (HRT) is not
+shown for the postal codes Australia Post (all variants), USPS
+Intelligent Mail, POSTNET and PLANET, Brazilian CEPNet, Royal Mail
+4-State Customer Code and 4-State Mailmark, Dutch Post KIX Code,
+Japanese Postal Code, DAFT Code and FIM, the pharma codes Pharmacode
+One-Track and Pharmacode Two-Track, and the specialist codes DX Film
+Edge Barcode and Flattermarken. Note that HRT is never shown for stacked
+and matrix barcodes.
+Shift JIS (JIS X 0201 Roman) re-maps two ASCII
characters: backslash (\
) to the yen sign (¥), and tilde
-(~
) to overline (U+203E).~) to overline (U+203E).
-ISO/IEC 646 Invariant is a subset of ASCII with 12
+
ISO/IEC 646 Invariant is a subset of ASCII with 12
characters undefined: #
, $
, @
,
[
, \
, ]
, ^
,
`
, {
, |
, }
,
-~
.
-BARCODE_MEMORY_FILE textual formats EPS and SVG will
+
BARCODE_MEMORY_FILE textual formats EPS and SVG will
have Unix newlines (LF) on both Windows and Unix, i.e. not CR+LF on
-Windows.
-The height
value is ignored for Aztec
+
The height
value is ignored for Aztec
(including HIBC and Aztec Rune), Code One, Data Matrix (including HIBC),
DotCode, Grid Matrix, Han Xin, MaxiCode, QR Code (including HIBC, Micro
QR, rMQR and UPNQR), and Ultracode - all of which have a fixed
width-to-height ratio (or, in the case of Code One, a fixed height).
-For Windows, outfile
is assumed to be UTF-8
-encoded.
+For Windows, outfile
is assumed to be
+UTF-8 encoded.
-The BARCODE_BIND_TOP
flag is set by
+
The BARCODE_BIND_TOP
flag is set by
default for DPD - see 6.1.10.7 DPD Code.
-The BARCODE_BIND
flag is always set for
+href="#fnref11" class="footnote-back" role="doc-backlink">↩︎
+The BARCODE_BIND
flag is always set for
Codablock-F, Code 16K and Code 49. Special considerations apply to
-ITF-14 - see 6.1.2.6 ITF-14.6.1.2.6 ITF-14.
-Codablock-F, Code 16K, Code 49, EAN-2 to EAN-13, ISBN,
+
Codablock-F, Code 16K, Code 49, EAN-2 to EAN-13, ISBN,
ITF-14, UPC-A and UPC-E have compliant quiet zones added by default.
-In particular no parentheses will appear in the HRT for
-GS1 symbologies, and GS
separators will be added as
-required. However for EAN/UPC symbologies, any add-on data will be
-separated by a +
character as usual.↩︎
-Normally control characters (including
-DEL
) and non-ISO/IEC 8859-1 are replaced by spaces in the
-HRT.
-Except for Japanese Postal Code, whose check character
-is not truly representable in HRT.↩︎
-HRT is normally not set for the postal codes Australia
-Post (all variants), USPS Intelligent Mail, POSTNET and PLANET,
-Brazilian CEPNet, Royal Mail 4-State Customer Code and 4-State Mailmark,
-Dutch Post KIX Code, Japanese Postal Code, DAFT Code and FIM, the pharma
-codes Pharmacode One-Track and Pharmacode Two-Track, and DX Film Edge
-Barcode and Flattermarken.
-ZINT_CAP_EANUPC
was previously named
+href="#fnref13" class="footnote-back" role="doc-backlink">↩︎
+ZINT_CAP_EANUPC
was previously named
ZINT_CAP_EXTENDABLE
, which is still recognised.
-BARCODE_CODE128AB
previously used the name
+href="#fnref14" class="footnote-back" role="doc-backlink">↩︎
+BARCODE_CODE128AB
previously used the name
BARCODE_CODE128B
, which is still recognised.
-The DX number may be looked up in The (Modified) Big
+href="#fnref15" class="footnote-back" role="doc-backlink">↩︎
+The DX number may be looked up in The (Modified) Big
Film Database at https://thebigfilmdatabase.merinorus.com.
+href="#fnref16" class="footnote-back" role="doc-backlink">↩︎