1
0
mirror of https://git.code.sf.net/p/zint/code synced 2026-05-01 19:55:29 +00:00

HANXIN/QRCODE: fix incorrect numeric costings (out-by-1) in

`qr_in_numeric()`/`hx_in_numeric()` (restrict to 3, not 4),
  ticket #300 (#16), props Andre Maute
manual: "Maxicode" -> "MaxiCode"; add max capacities for matrix
  barcodes
This commit is contained in:
gitlost
2023-12-09 10:07:11 +00:00
parent 4a340ab614
commit 0a6280dd80
9 changed files with 380 additions and 359 deletions

View File

@@ -2238,22 +2238,22 @@ option, which sets the X-dimension. The default scale is 1.</p>
being applied to the X-dimension. For MaxiCode, it is multiplied by 10
for raster output, by 40 for EMF vector output, and by 2 otherwise
(non-EMF vector output).</p>
<p>For non-Maxicode raster output, the default scale of 1 results in an
X-dimension of 2 pixels. For example for non-Maxicode PNG images a scale
of 5 will increase the X-dimension to 10 pixels. For Maxicode, see <a
<p>For non-MaxiCode raster output, the default scale of 1 results in an
X-dimension of 2 pixels. For example for non-MaxiCode PNG images a scale
of 5 will increase the X-dimension to 10 pixels. For MaxiCode, see <a
href="#maxicode-raster-scaling">4.9.3 MaxiCode Raster Scaling</a>
below.</p>
<p>Scales for non-Maxicode raster output should be given in increments
<p>Scales for non-MaxiCode raster output should be given in increments
of 0.5, i.e. 0.5, 1, 1.5, 2, 2.5, 3, 3.5, etc., to avoid the X-dimension
varying across the symbol due to interpolation. 0.5 increments are also
faster to render.</p>
<p>The minimum scale for non-Maxicode raster output in non-dotty mode is
<p>The minimum scale for non-MaxiCode raster output in non-dotty mode is
0.5, giving a minimum X-dimension of 1 pixel. For MaxiCode, it is 0.2.
The minimum scale for raster output in dotty mode is 1 (see <a
href="#working-with-dots">4.15 Working with Dots</a>). For raster
output, text will not be printed for scales less than 1.</p>
<p>The minimum scale for vector output is 0.1, giving a minimum
X-dimension of 0.2 (or for Maxicode EMF output, 4). The maximum scale
X-dimension of 0.2 (or for MaxiCode EMF output, 4). The maximum scale
for both raster and vector is 200.</p>
<p>To summarize the more intricate details:</p>
<div id="tbl:scaling_multiplers" class="tablenos">
@@ -5908,6 +5908,8 @@ from Zint.</p>
</tbody>
</table>
</div>
<p>The largest version 24 (144 x 144) can encode 3116 digits, around
2335 alphanumeric characters, or 1555 bytes of data.</p>
<p>When using automatic symbol sizes you can force Zint to use square
symbols (versions 1-24) at the command line by using the option
<code>--square</code> (API <code>option_3 = DM_SQUARE</code>).</p>
@@ -6482,6 +6484,8 @@ characters <code>"$%*+-./:"</code></td>
</tbody>
</table>
</div>
<p>Version M4 can encode up to 35 digits, 21 alphanumerics, 15 bytes or
9 Kanji characters.</p>
<p>Except for version M1, which is always ECC level L, the amount of ECC
codewords can be adjusted using the <code>--secure</code> option (API
<code>option_1</code>); however ECC level H is not available for any
@@ -6788,6 +6792,8 @@ while allowing Zint to determine the minimum symbol width.</p>
</tbody>
</table>
</div>
<p>The largest version R17x139 (32) can encode up to 361 digits, 219
alphanumerics, 150 bytes, or 92 Kanji characters.</p>
<p>For barcode readers that support it, non-ASCII data density may be
maximized by using the <code>--fullmultibyte</code> switch or in the API
by setting <code>option_3 = ZINT_FULL_MULTIBYTE</code>.</p>
@@ -7330,7 +7336,8 @@ aria-hidden="true"><code>zint -b GRIDMATRIX --eci=29 -d "AAT2556 电池充电器
supports the GB 2312 standard set, which includes Hanzi, ASCII and a
small number of ISO/IEC 8859-1 characters. Input should be entered as
UTF-8 with conversion to GB 2312 being carried out automatically by
Zint. The symbology also supports the ECI mechanism. Support for GS1
Zint. Up to around 1529 alphanumeric characters or 2751 digits may be
encoded. The symbology also supports the ECI mechanism. Support for GS1
data has not yet been implemented.</p>
<p>The size of the symbol and the error correction capacity can be
specified. If you specify both of these values then Zint will make a
@@ -7790,6 +7797,9 @@ to the following table.</p>
</tbody>
</table>
</div>
<p>The largest version (84) can encode 7827 digits, 4350 ASCII
characters, up to 2175 Chinese characters, or 3261 bytes, making it the
most capacious of all the barcodes supported by Zint.</p>
<p>There are four levels of error correction capacity available for Han
Xin Code which can be set by using the <code>--secure</code> option (API
<code>option_1</code>) to a value from the following table.</p>
@@ -7895,11 +7905,16 @@ data-tag=": Ultracode Error Correction Values">
this can be initiated through the API by setting</p>
<div class="sourceCode" id="cb117"><pre
class="sourceCode c"><code class="sourceCode c"><span id="cb117-1"><a href="#cb117-1" aria-hidden="true" tabindex="-1"></a>symbol<span class="op">-&gt;</span>option_3 <span class="op">=</span> ULTRA_COMPRESSION<span class="op">;</span></span></code></pre></div>
<p>WARNING: Ultracode data compression is experimental and should not be
used in a production environment.</p>
<p>Revision 2 of Ultracode (2021) which swops and inverts the DCCU and
<p>With compression, up to 504 digits, 375 alphanumerics or 252 bytes
can be encoded.</p>
<p>Revision 2 of Ultracode (2023) which swops and inverts the DCCU and
DCCL tiles may be specified using <code>--vers=2</code> (API
<code>option_2 = 2</code>).</p>
<hr />
<p>WARNING: Revision 2 of Ultracode is currently (December 2023)
undergoing major modifications, yet to be finalized, and should not be
used in a production environment.</p>
<hr />
<p>Ultracode supports Structured Append of up to 8 symbols and an
optional numeric ID (File Number), which can be set by using the
<code>--structapp</code> option (see <a href="#structured-append">4.17