mirror of
https://github.com/zint/zint
synced 2024-11-16 20:57:25 +13:00
code reworked
This commit is contained in:
parent
5fe18d0ffa
commit
f48d7ab6a6
@ -3,20 +3,6 @@
|
|||||||
/* Zint - A barcode generating program using libpng
|
/* Zint - A barcode generating program using libpng
|
||||||
Copyright (C) 2008 Robin Stuart <robin@zint.org.uk>
|
Copyright (C) 2008 Robin Stuart <robin@zint.org.uk>
|
||||||
Including bug fixes by Bryan Hatton
|
Including bug fixes by Bryan Hatton
|
||||||
|
|
||||||
This program is free software; you can redistribute it and/or modify
|
|
||||||
it under the terms of the GNU General Public License as published by
|
|
||||||
the Free Software Foundation; either version 3 of the License, or
|
|
||||||
(at your option) any later version.
|
|
||||||
|
|
||||||
This program is distributed in the hope that it will be useful,
|
|
||||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
GNU General Public License for more details.
|
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public License along
|
|
||||||
with this program; if not, write to the Free Software Foundation, Inc.,
|
|
||||||
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
@ -34,28 +20,28 @@
|
|||||||
#define SHKASUTSET "1234567890-ABCDEFGHIJKLMNOPQRSTUVWXYZ"
|
#define SHKASUTSET "1234567890-ABCDEFGHIJKLMNOPQRSTUVWXYZ"
|
||||||
|
|
||||||
/* PostNet number encoding table - In this table L is long as S is short */
|
/* PostNet number encoding table - In this table L is long as S is short */
|
||||||
static char *PNTable[10] = {"LLSSS", "SSSLL", "SSLSL", "SSLLS", "SLSSL", "SLSLS", "SLLSS", "LSSSL",
|
static const char *PNTable[10] = {"LLSSS", "SSSLL", "SSLSL", "SSLLS", "SLSSL", "SLSLS", "SLLSS", "LSSSL",
|
||||||
"LSSLS", "LSLSS"};
|
"LSSLS", "LSLSS"};
|
||||||
static char *PLTable[10] = {"SSLLL", "LLLSS", "LLSLS", "LLSSL", "LSLLS", "LSLSL", "LSSLL", "SLLLS",
|
static const char *PLTable[10] = {"SSLLL", "LLLSS", "LLSLS", "LLSSL", "LSLLS", "LSLSL", "LSSLL", "SLLLS",
|
||||||
"SLLSL", "SLSLL"};
|
"SLLSL", "SLSLL"};
|
||||||
|
|
||||||
static char *RoyalValues[36] = {"11", "12", "13", "14", "15", "10", "21", "22", "23", "24", "25",
|
static const char *RoyalValues[36] = {"11", "12", "13", "14", "15", "10", "21", "22", "23", "24", "25",
|
||||||
"20", "31", "32", "33", "34", "35", "30", "41", "42", "43", "44", "45", "40", "51", "52",
|
"20", "31", "32", "33", "34", "35", "30", "41", "42", "43", "44", "45", "40", "51", "52",
|
||||||
"53", "54", "55", "50", "01", "02", "03", "04", "05", "00"};
|
"53", "54", "55", "50", "01", "02", "03", "04", "05", "00"};
|
||||||
|
|
||||||
/* 0 = Full, 1 = Ascender, 2 = Descender, 3 = Tracker */
|
/* 0 = Full, 1 = Ascender, 2 = Descender, 3 = Tracker */
|
||||||
static char *RoyalTable[36] = {"3300", "3210", "3201", "2310", "2301", "2211", "3120", "3030", "3021",
|
static const char *RoyalTable[36] = {"3300", "3210", "3201", "2310", "2301", "2211", "3120", "3030", "3021",
|
||||||
"2130", "2121", "2031", "3102", "3012", "3003", "2112", "2103", "2013", "1320", "1230",
|
"2130", "2121", "2031", "3102", "3012", "3003", "2112", "2103", "2013", "1320", "1230",
|
||||||
"1221", "0330", "0321", "0231", "1302", "1212", "1203", "0312", "0303", "0213", "1122",
|
"1221", "0330", "0321", "0231", "1302", "1212", "1203", "0312", "0303", "0213", "1122",
|
||||||
"1032", "1023", "0132", "0123", "0033"};
|
"1032", "1023", "0132", "0123", "0033"};
|
||||||
|
|
||||||
static char *FlatTable[10] = {"0504", "18", "0117", "0216", "0315", "0414", "0513", "0612", "0711",
|
static const char *FlatTable[10] = {"0504", "18", "0117", "0216", "0315", "0414", "0513", "0612", "0711",
|
||||||
"0810"};
|
"0810"};
|
||||||
|
|
||||||
static char *KoreaTable[10] = {"1313150613", "0713131313", "0417131313", "1506131313",
|
static const char *KoreaTable[10] = {"1313150613", "0713131313", "0417131313", "1506131313",
|
||||||
"0413171313", "17171313", "1315061313", "0413131713", "17131713", "13171713"};
|
"0413171313", "17171313", "1315061313", "0413131713", "17131713", "13171713"};
|
||||||
|
|
||||||
static char *JapanTable[19] = {"114", "132", "312", "123", "141", "321", "213", "231", "411", "144",
|
static const char *JapanTable[19] = {"114", "132", "312", "123", "141", "321", "213", "231", "411", "144",
|
||||||
"414", "324", "342", "234", "432", "243", "423", "441", "111"};
|
"414", "324", "342", "234", "432", "243", "423", "441", "111"};
|
||||||
|
|
||||||
int postnet(struct zint_symbol *symbol, unsigned char source[], char dest[], int length)
|
int postnet(struct zint_symbol *symbol, unsigned char source[], char dest[], int length)
|
||||||
@ -313,7 +299,7 @@ char rm4scc(char source[], unsigned char dest[], int length)
|
|||||||
int royal_plot(struct zint_symbol *symbol, unsigned char source[], int length)
|
int royal_plot(struct zint_symbol *symbol, unsigned char source[], int length)
|
||||||
{
|
{
|
||||||
/* Puts RM4SCC into the data matrix */
|
/* Puts RM4SCC into the data matrix */
|
||||||
char height_pattern[200], check;
|
char height_pattern[200];
|
||||||
unsigned int loopey, h;
|
unsigned int loopey, h;
|
||||||
int writer;
|
int writer;
|
||||||
int error_number;
|
int error_number;
|
||||||
@ -331,7 +317,7 @@ int royal_plot(struct zint_symbol *symbol, unsigned char source[], int length)
|
|||||||
strcpy(symbol->errtxt, "Invalid characters in data");
|
strcpy(symbol->errtxt, "Invalid characters in data");
|
||||||
return error_number;
|
return error_number;
|
||||||
}
|
}
|
||||||
check = rm4scc((char*)source, (unsigned char*)height_pattern, length);
|
/*check = */rm4scc((char*)source, (unsigned char*)height_pattern, length);
|
||||||
|
|
||||||
writer = 0;
|
writer = 0;
|
||||||
h = strlen(height_pattern);
|
h = strlen(height_pattern);
|
||||||
|
Loading…
Reference in New Issue
Block a user