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 ASCII5) +Shift JIS (includes ASCII6) PDF417 @@ -2746,8 +2747,8 @@ translates the data into the target encoding.

170 -ISO/IEC 646 Invariant6 +ISO/IEC 646 Invariant7 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,7 allowing the output to +the textual formats EPS and SVG,8 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.8 +fixed width-to-height symbols.9 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.9 +NUL.10 "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.10 +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).12 +any specified whitespace).13 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 characters14 and check -characters,15 and for all linear symbologies, -including those that normally don’t set it.16 - @@ -4225,8 +4202,8 @@ Text? ZINT_CAP_EANUPC17 +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_CODE128AB18 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).19

+0 to 15).16

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">↩︎

    diff --git a/docs/manual.pmd b/docs/manual.pmd index b895a71e..1f5f15a3 100644 --- a/docs/manual.pmd +++ b/docs/manual.pmd @@ -1186,9 +1186,9 @@ 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 present[^5] 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 @@ -1210,6 +1210,14 @@ for all others) can be embedded in the file for portability using the ![`zint -d "Áccent" --embedfont`](images/code128_embedfont.svg){.lin} +[^5]: 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. + ## 4.11 Input Modes ### 4.11.1 Unicode, Data, and GS1 Modes @@ -1238,7 +1246,7 @@ Grid Matrix GB 2312 (includes ASCII) N/A Han Xin Latin-1 GB 18030 (includes ASCII) MaxiCode Latin-1 None MicroPDF417 Latin-1 None -Micro QR Code Latin-1 Shift JIS (includes ASCII[^5]) +Micro QR Code Latin-1 Shift JIS (includes ASCII[^6]) PDF417 Latin-1 None QR Code Latin-1 Shift JIS (see above) rMQR Latin-1 Shift JIS (see above) @@ -1248,7 +1256,7 @@ All others ASCII N/A Table: {#tbl:default_character_sets tag=": Default Character Sets"} -[^5]: Shift JIS (JIS X 0201 Roman) re-maps two ASCII characters: backslash (`\`) +[^6]: Shift JIS (JIS X 0201 Roman) re-maps two ASCII characters: backslash (`\`) to the yen sign (¥), and tilde (`~`) to overline (U+203E). If Zint encounters characters which can not be encoded using the default @@ -1343,12 +1351,12 @@ ECI Code Character Encoding Scheme (ISO/IEC 8859 schemes include ASCII) 33 UTF-16LE (Low order byte first) 34 UTF-32BE (High order bytes first) 35 UTF-32LE (Low order bytes first) -170 ISO/IEC 646 Invariant[^6] +170 ISO/IEC 646 Invariant[^7] 899 8-bit binary data Table: {#tbl:eci_codes tag=": ECI Codes"} -[^6]: ISO/IEC 646 Invariant is a subset of ASCII with 12 characters undefined: +[^7]: ISO/IEC 646 Invariant is a subset of ASCII with 12 characters undefined: `#`, `$`, `@`, `[`, `\`, `]`, `^`, `` ` ``, `{`, `|`, `}`, `~`. An ECI value of 0 does not encode any ECI information in the code symbol (unless @@ -1907,10 +1915,10 @@ int main(int argc, char **argv) ``` 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,[^7] allowing +This is particularly useful for the textual formats EPS and SVG,[^8] allowing the output to be manipulated and processed by the client. -[^7]: BARCODE_MEMORY_FILE textual formats EPS and SVG will have Unix newlines +[^8]: 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. ## 5.7 Setting Options @@ -1931,7 +1939,7 @@ Member Name Type Meaning Default Value `height` float Symbol height in Symbol dependent X-dimensions, excluding fixed width-to-height - symbols.[^8] + symbols.[^9] `scale` float Scale factor for 1.0 adjusting size of image @@ -1981,7 +1989,7 @@ Member Name Type Meaning Default Value `.eps`, `.pcx`, `.svg`, `.tif` or `.txt` followed by a terminating - `NUL`.[^9] + `NUL`.[^10] `primary` character Primary message data for `""` (empty) string more complex symbols, @@ -2100,13 +2108,13 @@ Member Name Type Meaning Default Value Table: API Structure `zint_symbol` {#tbl:api_structure_zint_symbol tag="$ $"} -[^8]: The `height` value is ignored for Aztec (including HIBC and Aztec Rune), +[^9]: 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). -[^9]: For Windows, `outfile` is assumed to be UTF-8 encoded. +[^10]: For Windows, `outfile` is assumed to be UTF-8 encoded. To alter these values use the syntax shown in the example below. This code has the same result as the previous example except the output is now taller and @@ -2146,10 +2154,6 @@ detailing the nature of the error. The errors generated by Zint are: ------------------------------------------------------------------------------ Return Value Meaning ----------------------------- ----------------------------------------------- -`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). @@ -2211,9 +2215,6 @@ Return Value Meaning `ZINT_ERROR_HRT_TRUNCATED` Returned if `warn_level` set to `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. ------------------------------------------------------------------------------ Table: {#tbl:api_warnings_errors tag=": API Warning and Error Return Values"} @@ -2285,10 +2286,10 @@ Value Effect ------------------------- --------------------------------------------------- 0 No options selected. -`BARCODE_BIND_TOP` Boundary bar above the symbol only.[^10] +`BARCODE_BIND_TOP` Boundary bar above the symbol only.[^11] `BARCODE_BIND` Boundary bars above and below the symbol and - between rows if stacking multiple symbols.[^11] + between rows if stacking multiple symbols.[^12] `BARCODE_BOX` Add a box surrounding the symbol and whitespace. @@ -2315,7 +2316,7 @@ Value Effect Symbols in Memory (raster)]. `BARCODE_QUIET_ZONES` Add compliant quiet zones (additional to any - specified whitespace).[^12] + specified whitespace).[^13] `BARCODE_NO_QUIET_ZONES` Disable quiet zones, notably those with defaults. @@ -2330,40 +2331,19 @@ Value Effect `BARCODE_MEMORY_FILE` Write output to in-memory buffer `symbol->memfile` instead of to `outfile` file. - -`BARCODE_RAW_TEXT` Set HRT with no decoration,[^13] complete with any - control characters[^14] and check characters,[^15] - and for all linear symbologies, including those - that normally don't set it.[^16] ------------------------------------------------------------------------------ Table: API `output_options` Values {#tbl:api_output_options tag="$ $"} -[^10]: The `BARCODE_BIND_TOP` flag is set by default for DPD - see [6.1.10.7 DPD +[^11]: The `BARCODE_BIND_TOP` flag is set by default for DPD - see [6.1.10.7 DPD Code]. -[^11]: The `BARCODE_BIND` flag is always set for Codablock-F, Code 16K and Code +[^12]: 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]. -[^12]: Codablock-F, Code 16K, Code 49, EAN-2 to EAN-13, ISBN, ITF-14, UPC-A and +[^13]: 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. -[^13]: 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. - -[^14]: Normally control characters (including `DEL`) and non-ISO/IEC 8859-1 are -replaced by spaces in the HRT. - -[^15]: Except for Japanese Postal Code, whose check character is not truly -representable in HRT. - -[^16]: 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. - ## 5.11 Setting the Input Mode The way in which the input data is encoded can be set using the `input_mode` @@ -2616,7 +2596,7 @@ Value Meaning `ZINT_CAP_STACKABLE` Is the symbology stackable? -`ZINT_CAP_EANUPC`[^17] Is the symbology EAN/UPC? +`ZINT_CAP_EANUPC`[^14] Is the symbology EAN/UPC? `ZINT_CAP_COMPOSITE` Does the symbology support composite data? (see [6.3 GS1 Composite Symbols (ISO 24723)] below) @@ -2647,7 +2627,7 @@ Value Meaning Table: {#tbl:api_cap tag=": API Capability Flags"} -[^17]: `ZINT_CAP_EANUPC` was previously named `ZINT_CAP_EXTENDABLE`, which is +[^14]: `ZINT_CAP_EANUPC` was previously named `ZINT_CAP_EXTENDABLE`, which is still recognised. For example: @@ -3190,13 +3170,13 @@ alphanumerics) are not recommended. ![`zint -b CODE128AB -d "130170X178"`](images/code128ab.svg){.lin} It is sometimes advantageous to stop Code 128 from using Code Set C which -compresses numerical data. The `BARCODE_CODE128AB`[^18] variant (symbology 60) +compresses numerical data. The `BARCODE_CODE128AB`[^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). -[^18]: `BARCODE_CODE128AB` previously used the name `BARCODE_CODE128B`, which is +[^15]: `BARCODE_CODE128AB` previously used the name `BARCODE_CODE128B`, which is still recognised. #### 6.1.10.3 GS1-128 @@ -3788,7 +3768,7 @@ first and last digit are ignored, leaving a 4-digit DX Extract number in any case, which must be in the range 16 to 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).[^19] +0 to 15).[^16] 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 @@ -3798,7 +3778,7 @@ number 62, `"K"` or `"00"` means frame number 63, and `"F"` means frame number A parity bit is automatically added by Zint. -[^19]: The DX number may be looked up in The (Modified) Big Film Database at +[^16]: The DX number may be looked up in The (Modified) Big Film Database at [https://thebigfilmdatabase.merinorus.com]( https://thebigfilmdatabase.merinorus.com). diff --git a/docs/manual.txt b/docs/manual.txt index 4f17560d..2d9958bb 100644 --- a/docs/manual.txt +++ b/docs/manual.txt @@ -1268,9 +1268,9 @@ MaxiCode symbols have fixed size ranges of 24.82mm to 27.93mm in width, and 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 present[5] 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 @@ -1320,7 +1320,7 @@ Latin-2 (ISO/IEC 8859-2 plus ASCII). Han Xin Latin-1 GB 18030 (includes ASCII) MaxiCode Latin-1 None MicroPDF417 Latin-1 None - Micro QR Code Latin-1 Shift JIS (includes ASCII[5]) + Micro QR Code Latin-1 Shift JIS (includes ASCII[6]) PDF417 Latin-1 None QR Code Latin-1 Shift JIS (see above) rMQR Latin-1 Shift JIS (see above) @@ -1422,7 +1422,7 @@ formatted. Zint automatically translates the data into the target encoding. 33 UTF-16LE (Low order byte first) 34 UTF-32BE (High order bytes first) 35 UTF-32LE (Low order bytes first) - 170 ISO/IEC 646 Invariant[6] + 170 ISO/IEC 646 Invariant[7] 899 8-bit binary data Table : ECI Codes @@ -1929,7 +1929,7 @@ the buffer is given in memfile_size. For instance: } 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,[7] allowing the output +particularly useful for the textual formats EPS and SVG,[8] allowing the output to be manipulated and processed by the client. 5.7 Setting Options @@ -1950,7 +1950,7 @@ the following members: height float Symbol height in Symbol dependent X-dimensions, excluding fixed width-to-height - symbols.[8] + symbols.[9] scale float Scale factor for adjusting 1.0 size of image (sets @@ -1997,7 +1997,7 @@ the following members: end in .png, .gif, .bmp, .emf, .eps, .pcx, .svg, .tif or .txt followed by a - terminating NUL.[9] + terminating NUL.[10] primary character Primary message data for "" (empty) string more complex symbols, with @@ -2146,10 +2146,6 @@ the nature of the error. The errors generated by Zint are: ------------------------------------------------------------------------------ Return Value Meaning ------------------------------ ----------------------------------------------- - 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). @@ -2211,9 +2207,6 @@ the nature of the error. The errors generated by Zint are: ZINT_ERROR_HRT_TRUNCATED Returned if warn_level set to 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. ------------------------------------------------------------------------------ Table : API Warning and Error Return Values @@ -2275,10 +2268,10 @@ together when adjusting this value: -------------------------- --------------------------------------------------- 0 No options selected. - BARCODE_BIND_TOP Boundary bar above the symbol only.[10] + BARCODE_BIND_TOP Boundary bar above the symbol only.[11] BARCODE_BIND Boundary bars above and below the symbol and - between rows if stacking multiple symbols.[11] + between rows if stacking multiple symbols.[12] BARCODE_BOX Add a box surrounding the symbol and whitespace. @@ -2305,7 +2298,7 @@ together when adjusting this value: Symbols in Memory (raster). BARCODE_QUIET_ZONES Add compliant quiet zones (additional to any - specified whitespace).[12] + specified whitespace).[13] BARCODE_NO_QUIET_ZONES Disable quiet zones, notably those with defaults. @@ -2320,11 +2313,6 @@ together when adjusting this value: BARCODE_MEMORY_FILE Write output to in-memory buffer symbol->memfile instead of to outfile file. - - BARCODE_RAW_TEXT Set HRT with no decoration,[13] complete with any - control characters[14] and check characters,[15] - and for all linear symbologies, including those - that normally don’t set it.[16] ------------------------------------------------------------------------------ : Table  : API output_options Values @@ -2553,7 +2541,7 @@ see which are set. ZINT_CAP_STACKABLE Is the symbology stackable? - ZINT_CAP_EANUPC[17] Is the symbology EAN/UPC? + ZINT_CAP_EANUPC[14] Is the symbology EAN/UPC? ZINT_CAP_COMPOSITE Does the symbology support composite data? (see 6.3 GS1 Composite Symbols (ISO 24723) below) @@ -3069,7 +3057,7 @@ alphanumerics) are not recommended. [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[18] variant (symbology 60) +compresses numerical data. The BARCODE_CODE128AB[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 @@ -3621,7 +3609,7 @@ first and last digit are ignored, leaving a 4-digit DX Extract number in any case, which must be in the range 16 to 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).[19] +0 to 15).[16] 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 @@ -5609,53 +5597,45 @@ supported in future versions. --nobackground is given. For raster outputs GIF, PCX, PNG and TIF, the background’s alpha channel is set to zero (fully transparent). -[5] Shift JIS (JIS X 0201 Roman) re-maps two ASCII characters: backslash (\) to +[5] 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. + +[6] Shift JIS (JIS X 0201 Roman) re-maps two ASCII characters: backslash (\) to the yen sign (¥), and tilde (~) to overline (U+203E). -[6] ISO/IEC 646 Invariant is a subset of ASCII with 12 characters undefined: #, +[7] ISO/IEC 646 Invariant is a subset of ASCII with 12 characters undefined: #, $, @, [, \, ], ^, `, {, |, }, ~. -[7] BARCODE_MEMORY_FILE textual formats EPS and SVG will have Unix newlines (LF) +[8] 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. -[8] The height value is ignored for Aztec (including HIBC and Aztec Rune), Code +[9] 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). -[9] For Windows, outfile is assumed to be UTF-8 encoded. +[10] For Windows, outfile is assumed to be UTF-8 encoded. -[10] The BARCODE_BIND_TOP flag is set by default for DPD - see 6.1.10.7 DPD +[11] The BARCODE_BIND_TOP flag is set by default for DPD - see 6.1.10.7 DPD Code. -[11] The BARCODE_BIND flag is always set for Codablock-F, Code 16K and Code 49. +[12] 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. -[12] Codablock-F, Code 16K, Code 49, EAN-2 to EAN-13, ISBN, ITF-14, UPC-A and +[13] 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. -[13] 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. - -[14] Normally control characters (including DEL) and non-ISO/IEC 8859-1 are -replaced by spaces in the HRT. - -[15] Except for Japanese Postal Code, whose check character is not truly -representable in HRT. - -[16] 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. - -[17] ZINT_CAP_EANUPC was previously named ZINT_CAP_EXTENDABLE, which is still +[14] ZINT_CAP_EANUPC was previously named ZINT_CAP_EXTENDABLE, which is still recognised. -[18] BARCODE_CODE128AB previously used the name BARCODE_CODE128B, which is still +[15] BARCODE_CODE128AB previously used the name BARCODE_CODE128B, which is still recognised. -[19] The DX number may be looked up in The (Modified) Big Film Database at +[16] The DX number may be looked up in The (Modified) Big Film Database at https://thebigfilmdatabase.merinorus.com.