zint/backend/tools/gen_pwr928_table.php
gitlost eb035a6372 GUI: fix foreground/background picker invocations (broken
[f3a982c1dd])
AZTEC/CODE16K/CODEONE/DATAMATRIX/DBAR_EXP/GRIDMATRIX/HANXIN
/MAILMARK_4S/PDF417/MSI_PLESSEY/QRCODE/RMQR/TIF/ULTRA/USPS_IMAIL:
  lessen storage of some tables by using least integral size
  required (saves ~3K); reformat some tables, comments
AUSPOST/AZTEC: remove unnecessary int casts on array indexing
CODE11/CODE39: move start/stop chars into one entry in tables to
  save a few bytes; some reformatting, comments
CODEONE: add `c1_` prefixes
common: more precise compiler/version checks
composite: add `cc_` prefixes; UINT -> unsigned short; use
  `sizeof()` instead of `strlen()` for `in_linear_comp` static;
  some reformatting, comments
EMF: use table instead of string for `ultra_chars[]`
GIF: remove unnecessary cast
library: use `sizeof()` instead of `strlen()` for static;
  add `consts` to `escape_char_process()` & use unsigned for `ch`
DBAR: use `dbar_`, `dbar_ltd_`, `dbar_exp_` prefixes
docs: update pandoc version
2024-05-27 23:19:45 +01:00

49 lines
1.7 KiB
PHP

<?php
/* Generate mod 928 powers table for `encode928()` in "composite.c" */
/*
libzint - the open source barcode library
Copyright (C) 2020-2024 Robin Stuart <rstuart114@gmail.com>
*/
/* SPDX-License-Identifier: BSD-3-Clause */
/* The functions "getBit", "init928" and "encode928" are copyright BSI and are
released with permission under the following terms:
"Copyright subsists in all BSI publications. BSI also holds the copyright, in the
UK, of the international standardisation bodies. Except as
permitted under the Copyright, Designs and Patents Act 1988 no extract may be
reproduced, stored in a retrieval system or transmitted in any form or by any
means - electronic, photocopying, recording or otherwise - without prior written
permission from BSI.
"This does not preclude the free use, in the course of implementing the standard,
of necessary details such as symbols, and size, type or grade designations. If these
details are to be used for any other purpose than implementation then the prior
written permission of BSI must be obtained."
The date of publication for these functions is 31 May 2006
*/
$cw = array(0, 0, 0, 0, 0, 0, 1);
$pwr928 = array( $cw );
for ($j = 1; $j < 69; $j++) {
for ($v = 0, $i = 6; $i >= 1; $i--) {
$v = (2 * $cw[$i]) + (int)($v / 928);
$pwr928[$j][$i] = $cw[$i] = $v % 928;
}
$pwr928[$j][0] = $cw[0] = (2 * $cw[0]) + (int)($v / 928);
}
printf("static const unsigned short cc_pwr928[69][7] = {\n");
for ($i = 0; $i < 69; $i++) {
printf(" { ");
for ($j = 0; $j < 7; $j++) {
printf("%3d, ", $pwr928[$i][$j]);
}
printf("},\n");
}
printf("};\n");
/* vim: set ts=4 sw=4 et : */