mirror of
https://github.com/zint/zint
synced 2024-11-16 20:57:25 +13:00
EAN/UPC: add quiet zone indicators option (API output_options
`EANUPC_GUARD_WHITESPACE`, CLI `--guardwhitespace`) (ticket #287) EAN-2/EAN-5: HRT now at top instead of at bottom for standalones, following BWIPP CLI: batch mode: don't close input if stdin EAN/UPC: fix excess 1X to right of add-ons Composites: fix excess whitespace; fix quiet zone calcs to allow for linear shifting CLI: use own (Wine) version of `CommandLineToArgvW()` to avoid loading "shell32.dll" Move "font.h" -> "raster_font.h" EPS/SVG: use new `out_putsf()` func to output floats, avoiding trailing zeroes & locale dependency EPS: simplify "TR" formula SVG: change font from "Helvetica, sans serif" to "OCR-B, monospace"; use single "<path>" instead of multiple "<rect>"s to draw boxes (reduces file size) Add `EMBED_VECTOR_FONT` to `output_options` (CLI `--embedfont`) to enable embedding of font in vector output - currently only for SVG output of EAN/UPC GUI: use "OCR-B" font for EAN/UPC and "Arimo" for all others (was "Helvetica" for both); paint background of screen preview light grey so as contrasts with whitespace and quiet zones EMF: prefix funcs with `emf_`; simplify string `halign` handling large: rename `large_int` -> `large_uint` CODE128/common: move `c128_hrt_cpy_iso8859_1()` to `hrt_cpy_iso8859_1()` and add `ZINT_WARN_HRT_TRUNCATED` warning (for future use) Various symbologies: replace `printf()` with `fputs()` (symbol->debug) QRCODE: better assert(), removing a NOLINT (2 left) CLI: add some more barcode synonyms for DBAR common: various fiddlings CMake: don't include png.c unless ZINT_USE_PNG (avoids clang warning)
This commit is contained in:
parent
6d015d6a8f
commit
607e4ed33a
51
ChangeLog
51
ChangeLog
@ -3,15 +3,25 @@ Version 2.12.0.9 (dev) not released yet
|
|||||||
|
|
||||||
**Incompatible changes**
|
**Incompatible changes**
|
||||||
------------------------
|
------------------------
|
||||||
- zint_symbol fgcolour and bgcolour buffer lengths extended 10 -> 16 to allow
|
- Buffer lengths of fields `fgcolour` and `bgcolour` in `zint_symbol` extended
|
||||||
for "C,M,Y,K" comma-separated decimal percentage strings
|
10 -> 16 to allow for "C,M,Y,K" comma-separated decimal percentage strings
|
||||||
- CMYK values for EPS (slightly) and TIF (significantly) have changed - now use
|
- CMYK values for EPS (slightly) and TIF (significantly) have changed - now use
|
||||||
the same RGB -> CMYK formula
|
the same RGB -> CMYK formula
|
||||||
- Text (HRT) placement for vector (EMF/EPS/SVG) output changed - for EAN/UPC
|
- Text (HRT) placement for vector (EMF/EPS/SVG) output changed - for EAN/UPC
|
||||||
slightly further away from barcode, for all others slightly nearer. Some
|
slightly further away from barcode, for all others slightly nearer. Some
|
||||||
horizontal alignments of EAN/UPC vector text also tweaked
|
horizontal alignments of EAN/UPC vector text also tweaked
|
||||||
|
- Text (HRT) for standalone EAN-2 and EAN-5 now at top of symbol
|
||||||
|
(was at bottom)
|
||||||
- For Windows, filenames are now assumed to be UTF-8 encoded. Affects `outfile`
|
- For Windows, filenames are now assumed to be UTF-8 encoded. Affects `outfile`
|
||||||
in `zint_symbol` and all API filename arguments
|
in `zint_symbol` and all API filename arguments
|
||||||
|
- Never used `fontsize` field removed from `zint_symbol`
|
||||||
|
- Buffer length of field `text` (HRT) in `zint_symbol` extended 128 -> 160
|
||||||
|
(client buffers may need checking/extending)
|
||||||
|
- Font of text of SVG vector output now "OCR-B, monospace"
|
||||||
|
(was "Helvetica, sans serif")
|
||||||
|
- Unintended excess horizontal whitespace of Composite symbols removed, and
|
||||||
|
quiet zone settings respected exactly, and centring of HRT (if any) now
|
||||||
|
relative to linear part of symbol only rather than whole symbol
|
||||||
|
|
||||||
Changes
|
Changes
|
||||||
-------
|
-------
|
||||||
@ -27,12 +37,39 @@ Changes
|
|||||||
comma-separated decimal percentage strings "C,M,Y,K" where "C", "M" etc. are
|
comma-separated decimal percentage strings "C,M,Y,K" where "C", "M" etc. are
|
||||||
0-100 (ticket #281, 3rd point)
|
0-100 (ticket #281, 3rd point)
|
||||||
- PCX: add alpha support
|
- PCX: add alpha support
|
||||||
- GUI: Rearrange some Appearance tab inputs (Border Type <-> Width, Show Text
|
- GUI: rearrange some Appearance tab inputs (Border Type <-> Width, Show Text
|
||||||
<-> Font, Text/Font <-> Printing Scale/Size) to flow more naturally;
|
<-> Font, Text/Font <-> Printing Scale/Size) to flow more naturally;
|
||||||
save button "Save As..." -> "Save..." and add icon
|
save button "Save As..." -> "Save..." and add icon
|
||||||
- Add `text_gap` option to allow adjustment of vertical gap between barcode and
|
- Add `text_gap` option to allow adjustment of vertical gap between barcode and
|
||||||
text (HRT)
|
text (HRT)
|
||||||
- DAFT: up max to 250 chars
|
- DAFT: up max to 250 chars
|
||||||
|
- CLI: use own (Wine) version of `CommandLineToArgvW()` to avoid loading
|
||||||
|
"shell32.dll"
|
||||||
|
- EAN/UPC: add quiet zone indicators option (API `output_options`
|
||||||
|
`EANUPC_GUARD_WHITESPACE`, CLI `--guardwhitespace`) (ticket #287)
|
||||||
|
- EAN-2/EAN-5: HRT now at top instead of at bottom for standalones, following
|
||||||
|
BWIPP
|
||||||
|
- Move "font.h" -> "raster_font.h"
|
||||||
|
- EPS/SVG: use new `out_putsf()` func to output floats, avoiding trailing zeroes
|
||||||
|
& locale dependency
|
||||||
|
- EPS: simplify "TR" formula
|
||||||
|
- SVG: change font from "Helvetica, sans serif" to "OCR-B, monospace";
|
||||||
|
use single "<path>" instead of multiple "<rect>"s to draw boxes (reduces file
|
||||||
|
size)
|
||||||
|
- Add `EMBED_VECTOR_FONT` to `output_options` (CLI `--embedfont`) to enable
|
||||||
|
embedding of font in vector output - currently only for SVG output of EAN/UPC
|
||||||
|
- GUI: use "OCR-B" font for EAN/UPC and "Arimo" for all others (was "Helvetica"
|
||||||
|
for both); add preview background colour option (default light grey) so as
|
||||||
|
whitespace will show up in contrast (access via preview context menu)
|
||||||
|
- EMF: prefix funcs with `emf_`; simplify string `halign` handling
|
||||||
|
- large: rename `large_int` -> `large_uint`
|
||||||
|
- CODE128/common: move `c128_hrt_cpy_iso8859_1()` to `hrt_cpy_iso8859_1()` and
|
||||||
|
add `ZINT_WARN_HRT_TRUNCATED` warning (for future use)
|
||||||
|
- Various symbologies: replace `printf()` with `fputs()` (symbol->debug)
|
||||||
|
- QRCODE: better assert(), removing a NOLINT (2 left)
|
||||||
|
- CLI: add some more barcode synonyms for DBAR
|
||||||
|
- common: various fiddlings
|
||||||
|
- CMake: don't include png.c unless ZINT_USE_PNG (avoids clang warning)
|
||||||
|
|
||||||
Bugs
|
Bugs
|
||||||
----
|
----
|
||||||
@ -45,6 +82,14 @@ Bugs
|
|||||||
- GUI: fix fg/gbcolor icon background not being reset on zap
|
- GUI: fix fg/gbcolor icon background not being reset on zap
|
||||||
- EMF/EPS/SVG/GUI: ignore BOLD_TEXT for EAN/UPC
|
- EMF/EPS/SVG/GUI: ignore BOLD_TEXT for EAN/UPC
|
||||||
- EMF/EPS/SVG: fix addon bars placement/length when text hidden
|
- EMF/EPS/SVG: fix addon bars placement/length when text hidden
|
||||||
|
- For Windows, assume `outfile` & API filename args are in UTF-8,
|
||||||
|
& use xxxW() APIs accordingly, ticket #288, props Marcel
|
||||||
|
**Backwards-incompatible change**
|
||||||
|
- GUI: fix `save_to_file()` `filename.toLatin1()` -> `toUtf8()`
|
||||||
|
- CLI: batch mode: don't close input if stdin
|
||||||
|
- EAN/UPC: fix excess 1X to right of add-ons
|
||||||
|
- Composites: fix excess whitespace; fix quiet zone calcs to allow for linear
|
||||||
|
shifting
|
||||||
|
|
||||||
|
|
||||||
Version 2.12.0 (2022-12-12)
|
Version 2.12.0 (2022-12-12)
|
||||||
|
@ -4,11 +4,19 @@
|
|||||||
|
|
||||||
project(zint)
|
project(zint)
|
||||||
|
|
||||||
|
if(ZINT_USE_PNG)
|
||||||
|
find_package(PNG)
|
||||||
|
endif()
|
||||||
|
|
||||||
set(zint_COMMON_SRCS common.c library.c large.c reedsol.c gs1.c eci.c general_field.c)
|
set(zint_COMMON_SRCS common.c library.c large.c reedsol.c gs1.c eci.c general_field.c)
|
||||||
set(zint_ONEDIM_SRCS bc412.c code.c code128.c 2of5.c upcean.c telepen.c medical.c plessey.c rss.c)
|
set(zint_ONEDIM_SRCS bc412.c code.c code128.c 2of5.c upcean.c telepen.c medical.c plessey.c rss.c)
|
||||||
set(zint_POSTAL_SRCS postal.c auspost.c imail.c mailmark.c)
|
set(zint_POSTAL_SRCS postal.c auspost.c imail.c mailmark.c)
|
||||||
set(zint_TWODIM_SRCS code16k.c codablock.c dmatrix.c pdf417.c qr.c maxicode.c composite.c aztec.c code49.c code1.c gridmtx.c hanxin.c dotcode.c ultra.c)
|
set(zint_TWODIM_SRCS code16k.c codablock.c dmatrix.c pdf417.c qr.c maxicode.c composite.c aztec.c code49.c code1.c gridmtx.c hanxin.c dotcode.c ultra.c)
|
||||||
|
if(ZINT_USE_PNG AND PNG_FOUND)
|
||||||
set(zint_OUTPUT_SRCS vector.c ps.c svg.c emf.c bmp.c pcx.c gif.c png.c tif.c raster.c output.c)
|
set(zint_OUTPUT_SRCS vector.c ps.c svg.c emf.c bmp.c pcx.c gif.c png.c tif.c raster.c output.c)
|
||||||
|
else()
|
||||||
|
set(zint_OUTPUT_SRCS vector.c ps.c svg.c emf.c bmp.c pcx.c gif.c tif.c raster.c output.c)
|
||||||
|
endif()
|
||||||
set(zint_SRCS ${zint_OUTPUT_SRCS} ${zint_COMMON_SRCS} ${zint_ONEDIM_SRCS} ${zint_POSTAL_SRCS} ${zint_TWODIM_SRCS})
|
set(zint_SRCS ${zint_OUTPUT_SRCS} ${zint_COMMON_SRCS} ${zint_ONEDIM_SRCS} ${zint_POSTAL_SRCS} ${zint_TWODIM_SRCS})
|
||||||
|
|
||||||
if(ZINT_SHARED)
|
if(ZINT_SHARED)
|
||||||
@ -60,10 +68,6 @@ if(ZINT_SHARED)
|
|||||||
VERSION ${ZINT_VERSION})
|
VERSION ${ZINT_VERSION})
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(ZINT_USE_PNG)
|
|
||||||
find_package(PNG)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
if(ZINT_USE_PNG AND PNG_FOUND)
|
if(ZINT_USE_PNG AND PNG_FOUND)
|
||||||
zint_target_link_libraries(PNG::PNG)
|
zint_target_link_libraries(PNG::PNG)
|
||||||
else()
|
else()
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
/* aztec.c - Handles Aztec 2D Symbols */
|
/* aztec.c - Handles Aztec 2D Symbols */
|
||||||
/*
|
/*
|
||||||
libzint - the open source barcode library
|
libzint - the open source barcode library
|
||||||
Copyright (C) 2009-2022 Robin Stuart <rstuart114@gmail.com>
|
Copyright (C) 2009-2023 Robin Stuart <rstuart114@gmail.com>
|
||||||
|
|
||||||
Redistribution and use in source and binary forms, with or without
|
Redistribution and use in source and binary forms, with or without
|
||||||
modification, are permitted provided that the following conditions
|
modification, are permitted provided that the following conditions
|
||||||
@ -180,7 +180,7 @@ static int aztec_text_process(const unsigned char source[], int src_len, int bp,
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (debug_print) {
|
if (debug_print) {
|
||||||
printf("First Pass:\n");
|
fputs("First Pass:\n", stdout);
|
||||||
printf("%.*s\n", src_len, encode_mode);
|
printf("%.*s\n", src_len, encode_mode);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1066,14 +1066,14 @@ INTERNAL int aztec(struct zint_symbol *symbol, struct zint_seg segs[], const int
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (debug_print) {
|
if (debug_print) {
|
||||||
printf("Codewords:\n");
|
fputs("Codewords:\n", stdout);
|
||||||
for (i = 0; i < (adjusted_length / codeword_size); i++) {
|
for (i = 0; i < (adjusted_length / codeword_size); i++) {
|
||||||
for (j = 0; j < codeword_size; j++) {
|
for (j = 0; j < codeword_size; j++) {
|
||||||
printf("%c", adjusted_string[(i * codeword_size) + j]);
|
printf("%c", adjusted_string[(i * codeword_size) + j]);
|
||||||
}
|
}
|
||||||
printf(" ");
|
fputc(' ', stdout);
|
||||||
}
|
}
|
||||||
printf("\n");
|
fputc('\n', stdout);
|
||||||
}
|
}
|
||||||
|
|
||||||
} while (adjusted_length > data_maxsize);
|
} while (adjusted_length > data_maxsize);
|
||||||
@ -1168,11 +1168,11 @@ INTERNAL int aztec(struct zint_symbol *symbol, struct zint_seg segs[], const int
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (debug_print) {
|
if (debug_print) {
|
||||||
printf("Codewords:\n");
|
fputs("Codewords:\n", stdout);
|
||||||
for (i = 0; i < (adjusted_length / codeword_size); i++) {
|
for (i = 0; i < (adjusted_length / codeword_size); i++) {
|
||||||
printf("%.*s ", codeword_size, adjusted_string + i * codeword_size);
|
printf("%.*s ", codeword_size, adjusted_string + i * codeword_size);
|
||||||
}
|
}
|
||||||
printf("\n");
|
fputc('\n', stdout);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
/* codablock.c - Handles Codablock-F */
|
/* codablock.c - Handles Codablock-F */
|
||||||
/*
|
/*
|
||||||
libzint - the open source barcode library
|
libzint - the open source barcode library
|
||||||
Copyright (C) 2016-2022 Harald Oehlmann
|
Copyright (C) 2016-2023 Harald Oehlmann
|
||||||
|
|
||||||
Redistribution and use in source and binary forms, with or without
|
Redistribution and use in source and binary forms, with or without
|
||||||
modification, are permitted provided that the following conditions
|
modification, are permitted provided that the following conditions
|
||||||
@ -645,10 +645,10 @@ INTERNAL int codablockf(struct zint_symbol *symbol, unsigned char source[], int
|
|||||||
|
|
||||||
if (symbol->debug & ZINT_DEBUG_PRINT) { /* start a new level of local variables */
|
if (symbol->debug & ZINT_DEBUG_PRINT) { /* start a new level of local variables */
|
||||||
int DPos;
|
int DPos;
|
||||||
printf("\nData:");
|
fputs("\nData:", stdout);
|
||||||
for (DPos = 0; DPos < dataLength; DPos++)
|
for (DPos = 0; DPos < dataLength; DPos++)
|
||||||
fputc(data[DPos], stdout);
|
fputc(data[DPos], stdout);
|
||||||
printf("\n Set:");
|
fputs("\n Set:", stdout);
|
||||||
for (DPos = 0; DPos < dataLength; DPos++) {
|
for (DPos = 0; DPos < dataLength; DPos++) {
|
||||||
switch (pSet[DPos] & (CodeA + CodeB + CodeC)) {
|
switch (pSet[DPos] & (CodeA + CodeB + CodeC)) {
|
||||||
case CodeA: fputc('A', stdout); break;
|
case CodeA: fputc('A', stdout); break;
|
||||||
@ -657,16 +657,16 @@ INTERNAL int codablockf(struct zint_symbol *symbol, unsigned char source[], int
|
|||||||
default: fputc('.', stdout); break;
|
default: fputc('.', stdout); break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
printf("\nFNC1:");
|
fputs("\nFNC1:", stdout);
|
||||||
for (DPos = 0; DPos < dataLength; DPos++)
|
for (DPos = 0; DPos < dataLength; DPos++)
|
||||||
fputc((pSet[DPos] & CodeFNC1) == 0 ? '.' : 'X', stdout);
|
fputc((pSet[DPos] & CodeFNC1) == 0 ? '.' : 'X', stdout);
|
||||||
printf("\n END:");
|
fputs("\n END:", stdout);
|
||||||
for (DPos = 0; DPos < dataLength; DPos++)
|
for (DPos = 0; DPos < dataLength; DPos++)
|
||||||
fputc((pSet[DPos] & CEnd) == 0 ? '.' : 'X', stdout);
|
fputc((pSet[DPos] & CEnd) == 0 ? '.' : 'X', stdout);
|
||||||
printf("\nShif:");
|
fputs("\nShif:", stdout);
|
||||||
for (DPos = 0; DPos < dataLength; DPos++)
|
for (DPos = 0; DPos < dataLength; DPos++)
|
||||||
fputc((pSet[DPos] & CShift) == 0 ? '.' : 'X', stdout);
|
fputc((pSet[DPos] & CShift) == 0 ? '.' : 'X', stdout);
|
||||||
printf("\nFILL:");
|
fputs("\nFILL:", stdout);
|
||||||
for (DPos = 0; DPos < dataLength; DPos++)
|
for (DPos = 0; DPos < dataLength; DPos++)
|
||||||
fputc((pSet[DPos] & CFill) == 0 ? '.' : 'X', stdout);
|
fputc((pSet[DPos] & CFill) == 0 ? '.' : 'X', stdout);
|
||||||
fputc('\n', stdout);
|
fputc('\n', stdout);
|
||||||
@ -831,14 +831,14 @@ INTERNAL int codablockf(struct zint_symbol *symbol, unsigned char source[], int
|
|||||||
if (symbol->debug & ZINT_DEBUG_PRINT) {
|
if (symbol->debug & ZINT_DEBUG_PRINT) {
|
||||||
/* Dump the output to the screen
|
/* Dump the output to the screen
|
||||||
*/
|
*/
|
||||||
printf("\nCode 128 Code Numbers:\n");
|
fputs("\nCode 128 Code Numbers:\n", stdout);
|
||||||
{ /* start a new level of local variables */
|
{ /* start a new level of local variables */
|
||||||
int DPos, DPos2;
|
int DPos, DPos2;
|
||||||
for (DPos = 0; DPos < rows; DPos++) {
|
for (DPos = 0; DPos < rows; DPos++) {
|
||||||
for (DPos2 = 0; DPos2 < columns; DPos2++) {
|
for (DPos2 = 0; DPos2 < columns; DPos2++) {
|
||||||
printf("%3d ", (int) (pOutput[DPos * columns + DPos2]));
|
printf("%3d ", (int) (pOutput[DPos * columns + DPos2]));
|
||||||
}
|
}
|
||||||
printf("\n");
|
fputc('\n', stdout);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
printf("rows=%d columns=%d (%d data) fillings=%d\n", rows, columns, columns - 5, fillings);
|
printf("rows=%d columns=%d (%d data) fillings=%d\n", rows, columns, columns - 5, fillings);
|
||||||
|
@ -601,11 +601,11 @@ static void channel_generate_precalc(int channels, long value, int mod, int last
|
|||||||
int smax[7]) {
|
int smax[7]) {
|
||||||
int i;
|
int i;
|
||||||
if (value == mod) printf("static channel_precalc channel_precalcs%d[] = {\n", channels);
|
if (value == mod) printf("static channel_precalc channel_precalcs%d[] = {\n", channels);
|
||||||
printf(" { %7ld, {", value); for (i = 0; i < 8; i++) printf(" %d,", B[i]); printf(" },");
|
printf(" { %7ld, {", value); for (i = 0; i < 8; i++) printf(" %d,", B[i]); fputs(" },", stdout);
|
||||||
printf(" {"); for (i = 0; i < 8; i++) printf(" %d,", S[i]); printf(" },");
|
fputs(" {", stdout); for (i = 0; i < 8; i++) printf(" %d,", S[i]); fputs(" },", stdout);
|
||||||
printf(" {"); for (i = 0; i < 7; i++) printf(" %d,", bmax[i]); printf(" },");
|
fputs(" {", stdout); for (i = 0; i < 7; i++) printf(" %d,", bmax[i]); fputs(" },", stdout);
|
||||||
printf(" {"); for (i = 0; i < 7; i++) printf(" %d,", smax[i]); printf(" }, },\n");
|
fputs(" {", stdout); for (i = 0; i < 7; i++) printf(" %d,", smax[i]); fputs(" }, },\n", stdout);
|
||||||
if (value == last) printf("};\n");
|
if (value == last) fputs("};\n", stdout);
|
||||||
}
|
}
|
||||||
#else
|
#else
|
||||||
#include "channel_precalcs.h"
|
#include "channel_precalcs.h"
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
/* code1.c - USS Code One */
|
/* code1.c - USS Code One */
|
||||||
/*
|
/*
|
||||||
libzint - the open source barcode library
|
libzint - the open source barcode library
|
||||||
Copyright (C) 2009-2022 Robin Stuart <rstuart114@gmail.com>
|
Copyright (C) 2009-2023 Robin Stuart <rstuart114@gmail.com>
|
||||||
|
|
||||||
Redistribution and use in source and binary forms, with or without
|
Redistribution and use in source and binary forms, with or without
|
||||||
modification, are permitted provided that the following conditions
|
modification, are permitted provided that the following conditions
|
||||||
@ -497,14 +497,14 @@ static int c1_encode(struct zint_symbol *symbol, unsigned char source[], int len
|
|||||||
if (length >= 15 && num_digits[0] >= 15) {
|
if (length >= 15 && num_digits[0] >= 15) {
|
||||||
target[tp++] = 236; /* FNC1 and change to Decimal */
|
target[tp++] = 236; /* FNC1 and change to Decimal */
|
||||||
next_mode = C1_DECIMAL;
|
next_mode = C1_DECIMAL;
|
||||||
if (debug_print) printf("FNC1Dec ");
|
if (debug_print) fputs("FNC1Dec ", stdout);
|
||||||
} else if (length >= 7 && num_digits[0] == length) {
|
} else if (length >= 7 && num_digits[0] == length) {
|
||||||
target[tp++] = 236; /* FNC1 and change to Decimal */
|
target[tp++] = 236; /* FNC1 and change to Decimal */
|
||||||
next_mode = C1_DECIMAL;
|
next_mode = C1_DECIMAL;
|
||||||
if (debug_print) printf("FNC1Dec ");
|
if (debug_print) fputs("FNC1Dec ", stdout);
|
||||||
} else {
|
} else {
|
||||||
target[tp++] = 232; /* FNC1 */
|
target[tp++] = 232; /* FNC1 */
|
||||||
if (debug_print) printf("FNC1 ");
|
if (debug_print) fputs("FNC1 ", stdout);
|
||||||
}
|
}
|
||||||
/* Note ignoring Structured Append and ECI if GS1 mode (up to caller to warn/error) */
|
/* Note ignoring Structured Append and ECI if GS1 mode (up to caller to warn/error) */
|
||||||
} else {
|
} else {
|
||||||
@ -516,11 +516,11 @@ static int c1_encode(struct zint_symbol *symbol, unsigned char source[], int len
|
|||||||
target[tp++] = 233; /* FNC2 */
|
target[tp++] = 233; /* FNC2 */
|
||||||
target[tp++] = (symbol->structapp.index - 1) * 15 + (symbol->structapp.count - 1);
|
target[tp++] = (symbol->structapp.index - 1) * 15 + (symbol->structapp.count - 1);
|
||||||
target[tp++] = '\\' + 1; /* Escape char */
|
target[tp++] = '\\' + 1; /* Escape char */
|
||||||
if (debug_print) printf("SAGrp ");
|
if (debug_print) fputs("SAGrp ", stdout);
|
||||||
} else {
|
} else {
|
||||||
target[tp++] = (symbol->structapp.index - 1) * 15 + (symbol->structapp.count - 1);
|
target[tp++] = (symbol->structapp.index - 1) * 15 + (symbol->structapp.count - 1);
|
||||||
target[tp++] = 233; /* FNC2 */
|
target[tp++] = 233; /* FNC2 */
|
||||||
if (debug_print) printf("FNC2 ");
|
if (debug_print) fputs("FNC2 ", stdout);
|
||||||
}
|
}
|
||||||
} else { /* Extended Group mode */
|
} else { /* Extended Group mode */
|
||||||
if ((eci || seg_count > 1) && symbol->structapp.index == 1) {
|
if ((eci || seg_count > 1) && symbol->structapp.index == 1) {
|
||||||
@ -530,12 +530,12 @@ static int c1_encode(struct zint_symbol *symbol, unsigned char source[], int len
|
|||||||
target[tp++] = 233; /* FNC2 */
|
target[tp++] = 233; /* FNC2 */
|
||||||
target[tp++] = symbol->structapp.index;
|
target[tp++] = symbol->structapp.index;
|
||||||
target[tp++] = symbol->structapp.count;
|
target[tp++] = symbol->structapp.count;
|
||||||
if (debug_print) printf("SAExGrp ");
|
if (debug_print) fputs("SAExGrp ", stdout);
|
||||||
} else {
|
} else {
|
||||||
target[tp++] = symbol->structapp.index;
|
target[tp++] = symbol->structapp.index;
|
||||||
target[tp++] = symbol->structapp.count;
|
target[tp++] = symbol->structapp.count;
|
||||||
target[tp++] = 233; /* FNC2 */
|
target[tp++] = 233; /* FNC2 */
|
||||||
if (debug_print) printf("FNC2 ");
|
if (debug_print) fputs("FNC2 ", stdout);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (eci) {
|
if (eci) {
|
||||||
@ -547,7 +547,7 @@ static int c1_encode(struct zint_symbol *symbol, unsigned char source[], int len
|
|||||||
if (tp == 0) {
|
if (tp == 0) {
|
||||||
target[tp++] = 129; /* Pad */
|
target[tp++] = 129; /* Pad */
|
||||||
target[tp++] = '\\' + 1; /* Escape char */
|
target[tp++] = '\\' + 1; /* Escape char */
|
||||||
if (debug_print) printf("PADEsc ");
|
if (debug_print) fputs("PADEsc ", stdout);
|
||||||
}
|
}
|
||||||
if (eci) {
|
if (eci) {
|
||||||
c1_eci_escape(eci, source, length, eci_buf, eci_length);
|
c1_eci_escape(eci, source, length, eci_buf, eci_length);
|
||||||
@ -563,16 +563,16 @@ static int c1_encode(struct zint_symbol *symbol, unsigned char source[], int len
|
|||||||
/* Change mode */
|
/* Change mode */
|
||||||
switch (next_mode) {
|
switch (next_mode) {
|
||||||
case C1_C40: target[tp++] = 230;
|
case C1_C40: target[tp++] = 230;
|
||||||
if (debug_print) printf("->C40 ");
|
if (debug_print) fputs("->C40 ", stdout);
|
||||||
break;
|
break;
|
||||||
case C1_TEXT: target[tp++] = 239;
|
case C1_TEXT: target[tp++] = 239;
|
||||||
if (debug_print) printf("->Text ");
|
if (debug_print) fputs("->Text ", stdout);
|
||||||
break;
|
break;
|
||||||
case C1_EDI: target[tp++] = 238;
|
case C1_EDI: target[tp++] = 238;
|
||||||
if (debug_print) printf("->EDI ");
|
if (debug_print) fputs("->EDI ", stdout);
|
||||||
break;
|
break;
|
||||||
case C1_BYTE: target[tp++] = 231;
|
case C1_BYTE: target[tp++] = 231;
|
||||||
if (debug_print) printf("->Byte ");
|
if (debug_print) fputs("->Byte ", stdout);
|
||||||
byte_start = tp;
|
byte_start = tp;
|
||||||
target[tp++] = 0; /* Byte count holder (may be expanded to 2 codewords) */
|
target[tp++] = 0; /* Byte count holder (may be expanded to 2 codewords) */
|
||||||
break;
|
break;
|
||||||
@ -605,13 +605,13 @@ static int c1_encode(struct zint_symbol *symbol, unsigned char source[], int len
|
|||||||
if (length - (sp + 1) >= 15 && num_digits[sp + 1] >= 15) {
|
if (length - (sp + 1) >= 15 && num_digits[sp + 1] >= 15) {
|
||||||
/* Step B4 */
|
/* Step B4 */
|
||||||
target[tp++] = 236; /* FNC1 and change to Decimal */
|
target[tp++] = 236; /* FNC1 and change to Decimal */
|
||||||
if (debug_print) printf("FNC1 ");
|
if (debug_print) fputs("FNC1 ", stdout);
|
||||||
sp++;
|
sp++;
|
||||||
next_mode = C1_DECIMAL;
|
next_mode = C1_DECIMAL;
|
||||||
} else if (length - (sp + 1) >= 7 && num_digits[sp + 1] == length - (sp + 1)) {
|
} else if (length - (sp + 1) >= 7 && num_digits[sp + 1] == length - (sp + 1)) {
|
||||||
/* Step B5 */
|
/* Step B5 */
|
||||||
target[tp++] = 236; /* FNC1 and change to Decimal */
|
target[tp++] = 236; /* FNC1 and change to Decimal */
|
||||||
if (debug_print) printf("FNC1 ");
|
if (debug_print) fputs("FNC1 ", stdout);
|
||||||
sp++;
|
sp++;
|
||||||
next_mode = C1_DECIMAL;
|
next_mode = C1_DECIMAL;
|
||||||
}
|
}
|
||||||
@ -633,7 +633,7 @@ static int c1_encode(struct zint_symbol *symbol, unsigned char source[], int len
|
|||||||
} else if ((gs1) && (source[sp] == '[')) {
|
} else if ((gs1) && (source[sp] == '[')) {
|
||||||
/* Step B8 */
|
/* Step B8 */
|
||||||
target[tp++] = 232; /* FNC1 */
|
target[tp++] = 232; /* FNC1 */
|
||||||
if (debug_print) printf("FNC1 ");
|
if (debug_print) fputs("FNC1 ", stdout);
|
||||||
} else {
|
} else {
|
||||||
/* Step B8 */
|
/* Step B8 */
|
||||||
target[tp++] = source[sp] + 1;
|
target[tp++] = source[sp] + 1;
|
||||||
@ -665,7 +665,7 @@ static int c1_encode(struct zint_symbol *symbol, unsigned char source[], int len
|
|||||||
if (next_mode != current_mode) {
|
if (next_mode != current_mode) {
|
||||||
/* Step C/D1c */
|
/* Step C/D1c */
|
||||||
target[tp++] = 255; /* Unlatch */
|
target[tp++] = 255; /* Unlatch */
|
||||||
if (debug_print) printf("Unlatch ");
|
if (debug_print) fputs("Unlatch ", stdout);
|
||||||
} else {
|
} else {
|
||||||
/* Step C/D2 */
|
/* Step C/D2 */
|
||||||
const char *ct_shift, *ct_value;
|
const char *ct_shift, *ct_value;
|
||||||
@ -677,7 +677,7 @@ static int c1_encode(struct zint_symbol *symbol, unsigned char source[], int len
|
|||||||
ct_shift = text_shift;
|
ct_shift = text_shift;
|
||||||
ct_value = text_value;
|
ct_value = text_value;
|
||||||
}
|
}
|
||||||
if (debug_print) printf(current_mode == C1_C40 ? "C40 " : "TEXT ");
|
if (debug_print) fputs(current_mode == C1_C40 ? "C40 " : "TEXT ", stdout);
|
||||||
|
|
||||||
if (source[sp] & 0x80) {
|
if (source[sp] & 0x80) {
|
||||||
cte_buffer[cte_p++] = 1; /* Shift 2 */
|
cte_buffer[cte_p++] = 1; /* Shift 2 */
|
||||||
@ -727,13 +727,13 @@ static int c1_encode(struct zint_symbol *symbol, unsigned char source[], int len
|
|||||||
/* No unlatch needed if data fits as ASCII in last data codeword */
|
/* No unlatch needed if data fits as ASCII in last data codeword */
|
||||||
} else {
|
} else {
|
||||||
target[tp++] = 255; /* Unlatch */
|
target[tp++] = 255; /* Unlatch */
|
||||||
if (debug_print) printf("Unlatch ");
|
if (debug_print) fputs("Unlatch ", stdout);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
/* Step E2 */
|
/* Step E2 */
|
||||||
static const char edi_nonalphanum_chars[] = "\015*> ";
|
static const char edi_nonalphanum_chars[] = "\015*> ";
|
||||||
|
|
||||||
if (debug_print) printf("EDI ");
|
if (debug_print) fputs("EDI ", stdout);
|
||||||
|
|
||||||
if (z_isdigit(source[sp])) {
|
if (z_isdigit(source[sp])) {
|
||||||
cte_buffer[cte_p++] = source[sp] - '0' + 4;
|
cte_buffer[cte_p++] = source[sp] - '0' + 4;
|
||||||
@ -752,7 +752,7 @@ static int c1_encode(struct zint_symbol *symbol, unsigned char source[], int len
|
|||||||
} else if (current_mode == C1_DECIMAL) {
|
} else if (current_mode == C1_DECIMAL) {
|
||||||
/* Step F - Decimal encodation */
|
/* Step F - Decimal encodation */
|
||||||
|
|
||||||
if (debug_print) printf("DEC ");
|
if (debug_print) fputs("DEC ", stdout);
|
||||||
|
|
||||||
next_mode = C1_DECIMAL;
|
next_mode = C1_DECIMAL;
|
||||||
|
|
||||||
@ -837,7 +837,7 @@ static int c1_encode(struct zint_symbol *symbol, unsigned char source[], int len
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (tp > 1480) {
|
if (tp > 1480) {
|
||||||
if (debug_print) printf("\n");
|
if (debug_print) fputc('\n', stdout);
|
||||||
/* Data is too large for symbol */
|
/* Data is too large for symbol */
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
@ -1040,7 +1040,7 @@ INTERNAL int codeone(struct zint_symbol *symbol, struct zint_seg segs[], const i
|
|||||||
if (symbol->option_2 == 9) {
|
if (symbol->option_2 == 9) {
|
||||||
/* Version S */
|
/* Version S */
|
||||||
int codewords;
|
int codewords;
|
||||||
large_int elreg;
|
large_uint elreg;
|
||||||
unsigned int target[30], ecc[15];
|
unsigned int target[30], ecc[15];
|
||||||
int block_width;
|
int block_width;
|
||||||
|
|
||||||
@ -1095,7 +1095,7 @@ INTERNAL int codeone(struct zint_symbol *symbol, struct zint_seg segs[], const i
|
|||||||
if (debug_print) {
|
if (debug_print) {
|
||||||
printf("Codewords (%d): ", codewords);
|
printf("Codewords (%d): ", codewords);
|
||||||
for (i = 0; i < codewords * 2; i++) printf(" %d", (int) target[i]);
|
for (i = 0; i < codewords * 2; i++) printf(" %d", (int) target[i]);
|
||||||
printf("\n");
|
fputc('\n', stdout);
|
||||||
}
|
}
|
||||||
|
|
||||||
i = 0;
|
i = 0;
|
||||||
@ -1183,7 +1183,7 @@ INTERNAL int codeone(struct zint_symbol *symbol, struct zint_seg segs[], const i
|
|||||||
if (debug_print) {
|
if (debug_print) {
|
||||||
printf("Codewords (%d):", data_cw + ecc_cw);
|
printf("Codewords (%d):", data_cw + ecc_cw);
|
||||||
for (i = 0; i < data_cw + ecc_cw; i++) printf(" %d", (int) target[i]);
|
for (i = 0; i < data_cw + ecc_cw; i++) printf(" %d", (int) target[i]);
|
||||||
printf("\n");
|
fputc('\n', stdout);
|
||||||
}
|
}
|
||||||
|
|
||||||
i = 0;
|
i = 0;
|
||||||
@ -1249,7 +1249,7 @@ INTERNAL int codeone(struct zint_symbol *symbol, struct zint_seg segs[], const i
|
|||||||
target[i] = 129; /* Pad */
|
target[i] = 129; /* Pad */
|
||||||
}
|
}
|
||||||
} else if (debug_print) {
|
} else if (debug_print) {
|
||||||
printf("No padding\n");
|
fputs("No padding\n", stdout);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Calculate error correction data */
|
/* Calculate error correction data */
|
||||||
@ -1273,7 +1273,7 @@ INTERNAL int codeone(struct zint_symbol *symbol, struct zint_seg segs[], const i
|
|||||||
if (debug_print) {
|
if (debug_print) {
|
||||||
printf("Codewords (%d):", data_cw + ecc_length);
|
printf("Codewords (%d):", data_cw + ecc_length);
|
||||||
for (i = 0; i < data_cw + ecc_length; i++) printf(" %d", (int) target[i]);
|
for (i = 0; i < data_cw + ecc_length; i++) printf(" %d", (int) target[i]);
|
||||||
printf("\n");
|
fputc('\n', stdout);
|
||||||
}
|
}
|
||||||
|
|
||||||
i = 0;
|
i = 0;
|
||||||
|
@ -340,45 +340,6 @@ INTERNAL void c128_put_in_set(int list[2][C128_MAX], const int indexliste, char
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Treats source as ISO 8859-1 and copies into symbol->text, converting to UTF-8. Returns length of symbol->text */
|
|
||||||
static int c128_hrt_cpy_iso8859_1(struct zint_symbol *symbol, const unsigned char source[], const int length) {
|
|
||||||
int i, j;
|
|
||||||
|
|
||||||
for (i = 0, j = 0; i < length && j < (int) sizeof(symbol->text); i++) {
|
|
||||||
if (source[i] < 0x80) {
|
|
||||||
symbol->text[j++] = source[i] >= ' ' && source[i] != 0x7F ? source[i] : ' ';
|
|
||||||
} else if (source[i] < 0xC0) {
|
|
||||||
if (source[i] >= 0xA0) { /* 0x80-0x9F not valid ISO 8859-1 */
|
|
||||||
if (j + 2 >= (int) sizeof(symbol->text)) {
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
symbol->text[j++] = 0xC2;
|
|
||||||
symbol->text[j++] = source[i];
|
|
||||||
} else {
|
|
||||||
symbol->text[j++] = ' ';
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
if (j + 2 >= (int) sizeof(symbol->text)) {
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
symbol->text[j++] = 0xC3;
|
|
||||||
symbol->text[j++] = source[i] - 0x40;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (j == sizeof(symbol->text)) {
|
|
||||||
j--;
|
|
||||||
}
|
|
||||||
symbol->text[j] = '\0';
|
|
||||||
|
|
||||||
return j;
|
|
||||||
}
|
|
||||||
|
|
||||||
#ifdef ZINT_TEST /* Wrapper for direct testing */
|
|
||||||
INTERNAL int c128_hrt_cpy_iso8859_1_test(struct zint_symbol *symbol, const unsigned char source[], const int length) {
|
|
||||||
return c128_hrt_cpy_iso8859_1(symbol, source, length);
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* Handle Code 128, 128B and HIBC 128 */
|
/* Handle Code 128, 128B and HIBC 128 */
|
||||||
INTERNAL int code128(struct zint_symbol *symbol, unsigned char source[], int length) {
|
INTERNAL int code128(struct zint_symbol *symbol, unsigned char source[], int length) {
|
||||||
int i, j, k, values[C128_MAX] = {0}, bar_characters = 0, read, total_sum;
|
int i, j, k, values[C128_MAX] = {0}, bar_characters = 0, read, total_sum;
|
||||||
@ -433,9 +394,9 @@ INTERNAL int code128(struct zint_symbol *symbol, unsigned char source[], int len
|
|||||||
src = src_buf;
|
src = src_buf;
|
||||||
src[length] = '\0';
|
src[length] = '\0';
|
||||||
if (symbol->debug & ZINT_DEBUG_PRINT) {
|
if (symbol->debug & ZINT_DEBUG_PRINT) {
|
||||||
printf("MSet: ");
|
fputs("MSet: ", stdout);
|
||||||
for (i = 0; i < length; i++) printf("%c", manual_set[i] ? manual_set[i] : '.');
|
for (i = 0; i < length; i++) printf("%c", manual_set[i] ? manual_set[i] : '.');
|
||||||
printf("\n");
|
fputc('\n', stdout);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -761,7 +722,7 @@ INTERNAL int code128(struct zint_symbol *symbol, unsigned char source[], int len
|
|||||||
values[bar_characters++] = 106;
|
values[bar_characters++] = 106;
|
||||||
|
|
||||||
if (symbol->debug & ZINT_DEBUG_PRINT) {
|
if (symbol->debug & ZINT_DEBUG_PRINT) {
|
||||||
printf("Codewords:");
|
fputs("Codewords:", stdout);
|
||||||
for (i = 0; i < bar_characters; i++) {
|
for (i = 0; i < bar_characters; i++) {
|
||||||
printf(" %d", values[i]);
|
printf(" %d", values[i]);
|
||||||
}
|
}
|
||||||
@ -779,7 +740,7 @@ INTERNAL int code128(struct zint_symbol *symbol, unsigned char source[], int len
|
|||||||
|
|
||||||
/* ISO/IEC 15417:2007 leaves dimensions/height as application specification */
|
/* ISO/IEC 15417:2007 leaves dimensions/height as application specification */
|
||||||
|
|
||||||
c128_hrt_cpy_iso8859_1(symbol, src, length);
|
(void) hrt_cpy_iso8859_1(symbol, src, length); /* Truncation can't happen */
|
||||||
|
|
||||||
return error_number;
|
return error_number;
|
||||||
}
|
}
|
||||||
@ -991,7 +952,7 @@ INTERNAL int gs1_128_cc(struct zint_symbol *symbol, unsigned char source[], int
|
|||||||
values[bar_characters++] = 106;
|
values[bar_characters++] = 106;
|
||||||
|
|
||||||
if (symbol->debug & ZINT_DEBUG_PRINT) {
|
if (symbol->debug & ZINT_DEBUG_PRINT) {
|
||||||
printf("Codewords:");
|
fputs("Codewords:", stdout);
|
||||||
for (i = 0; i < bar_characters; i++) {
|
for (i = 0; i < bar_characters; i++) {
|
||||||
printf(" %d", values[i]);
|
printf(" %d", values[i]);
|
||||||
}
|
}
|
||||||
@ -1246,7 +1207,7 @@ INTERNAL int upu_s10(struct zint_symbol *symbol, unsigned char source[], int len
|
|||||||
unsigned char local_source[13 + 1];
|
unsigned char local_source[13 + 1];
|
||||||
unsigned char have_check_digit = '\0';
|
unsigned char have_check_digit = '\0';
|
||||||
int check_digit;
|
int check_digit;
|
||||||
static char weights[8] = { 8, 6, 4, 2, 3, 5, 9, 7 };
|
static const char weights[8] = { 8, 6, 4, 2, 3, 5, 9, 7 };
|
||||||
int error_number = 0, warn_number = 0;
|
int error_number = 0, warn_number = 0;
|
||||||
|
|
||||||
if (length != 12 && length != 13) {
|
if (length != 12 && length != 13) {
|
||||||
|
@ -268,11 +268,11 @@ INTERNAL int code16k(struct zint_symbol *symbol, unsigned char source[], int len
|
|||||||
printf("Codewords (%d):", bar_characters);
|
printf("Codewords (%d):", bar_characters);
|
||||||
for (i = 0; i < bar_characters; i++) {
|
for (i = 0; i < bar_characters; i++) {
|
||||||
if (i % 5 == 0) {
|
if (i % 5 == 0) {
|
||||||
printf("\n");
|
fputc('\n', stdout);
|
||||||
}
|
}
|
||||||
printf(" %3d", values[i]);
|
printf(" %3d", values[i]);
|
||||||
}
|
}
|
||||||
printf("\n");
|
fputc('\n', stdout);
|
||||||
}
|
}
|
||||||
#ifdef ZINT_TEST
|
#ifdef ZINT_TEST
|
||||||
if (symbol->debug & ZINT_DEBUG_TEST) {
|
if (symbol->debug & ZINT_DEBUG_TEST) {
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
/* code49.c - Handles Code 49 */
|
/* code49.c - Handles Code 49 */
|
||||||
/*
|
/*
|
||||||
libzint - the open source barcode library
|
libzint - the open source barcode library
|
||||||
Copyright (C) 2009-2022 Robin Stuart <rstuart114@gmail.com>
|
Copyright (C) 2009-2023 Robin Stuart <rstuart114@gmail.com>
|
||||||
|
|
||||||
Redistribution and use in source and binary forms, with or without
|
Redistribution and use in source and binary forms, with or without
|
||||||
modification, are permitted provided that the following conditions
|
modification, are permitted provided that the following conditions
|
||||||
@ -317,12 +317,12 @@ INTERNAL int code49(struct zint_symbol *symbol, unsigned char source[], int leng
|
|||||||
c_grid[rows - 1][7] = j % 49;
|
c_grid[rows - 1][7] = j % 49;
|
||||||
|
|
||||||
if (symbol->debug & ZINT_DEBUG_PRINT) {
|
if (symbol->debug & ZINT_DEBUG_PRINT) {
|
||||||
printf("Codewords:\n");
|
fputs("Codewords:\n", stdout);
|
||||||
for (i = 0; i < rows; i++) {
|
for (i = 0; i < rows; i++) {
|
||||||
for (j = 0; j < 8; j++) {
|
for (j = 0; j < 8; j++) {
|
||||||
printf(" %2d", c_grid[i][j]);
|
printf(" %2d", c_grid[i][j]);
|
||||||
}
|
}
|
||||||
printf("\n");
|
fputc('\n', stdout);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#ifdef ZINT_TEST
|
#ifdef ZINT_TEST
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
/* common.c - Contains functions needed for a number of barcodes */
|
/* common.c - Contains functions needed for a number of barcodes */
|
||||||
/*
|
/*
|
||||||
libzint - the open source barcode library
|
libzint - the open source barcode library
|
||||||
Copyright (C) 2008-2022 Robin Stuart <rstuart114@gmail.com>
|
Copyright (C) 2008-2023 Robin Stuart <rstuart114@gmail.com>
|
||||||
|
|
||||||
Redistribution and use in source and binary forms, with or without
|
Redistribution and use in source and binary forms, with or without
|
||||||
modification, are permitted provided that the following conditions
|
modification, are permitted provided that the following conditions
|
||||||
@ -58,17 +58,16 @@ INTERNAL char itoc(const int source) {
|
|||||||
/* Converts decimal string of length <= 9 to integer value. Returns -1 if not numeric */
|
/* Converts decimal string of length <= 9 to integer value. Returns -1 if not numeric */
|
||||||
INTERNAL int to_int(const unsigned char source[], const int length) {
|
INTERNAL int to_int(const unsigned char source[], const int length) {
|
||||||
int val = 0;
|
int val = 0;
|
||||||
|
int non_digit = 0;
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
for (i = 0; i < length; i++) {
|
for (i = 0; i < length; i++) {
|
||||||
if (!z_isdigit(source[i])) {
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
val *= 10;
|
val *= 10;
|
||||||
val += source[i] - '0';
|
val += source[i] - '0';
|
||||||
|
non_digit |= !z_isdigit(source[i]);
|
||||||
}
|
}
|
||||||
|
|
||||||
return val;
|
return non_digit ? -1 : val;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Converts lower case characters to upper case in string `source` */
|
/* Converts lower case characters to upper case in string `source` */
|
||||||
@ -76,9 +75,7 @@ INTERNAL void to_upper(unsigned char source[], const int length) {
|
|||||||
int i;
|
int i;
|
||||||
|
|
||||||
for (i = 0; i < length; i++) {
|
for (i = 0; i < length; i++) {
|
||||||
if (z_islower(source[i])) {
|
source[i] &= z_islower(source[i]) ? 0x5F : 0xFF;
|
||||||
source[i] &= 0x5F;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -87,9 +84,7 @@ INTERNAL int chr_cnt(const unsigned char source[], const int length, const unsig
|
|||||||
int count = 0;
|
int count = 0;
|
||||||
int i;
|
int i;
|
||||||
for (i = 0; i < length; i++) {
|
for (i = 0; i < length; i++) {
|
||||||
if (source[i] == c) {
|
count += source[i] == c;
|
||||||
count++;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
return count;
|
return count;
|
||||||
}
|
}
|
||||||
@ -183,16 +178,10 @@ INTERNAL int posn(const char set_string[], const char data) {
|
|||||||
`bin_posn`. Returns `bin_posn` + `length` */
|
`bin_posn`. Returns `bin_posn` + `length` */
|
||||||
INTERNAL int bin_append_posn(const int arg, const int length, char *binary, const int bin_posn) {
|
INTERNAL int bin_append_posn(const int arg, const int length, char *binary, const int bin_posn) {
|
||||||
int i;
|
int i;
|
||||||
int start;
|
const int end = length - 1;
|
||||||
|
|
||||||
start = 0x01 << (length - 1);
|
|
||||||
|
|
||||||
for (i = 0; i < length; i++) {
|
for (i = 0; i < length; i++) {
|
||||||
if (arg & (start >> i)) {
|
binary[bin_posn + i] = '0' + ((arg >> (end - i)) & 1);
|
||||||
binary[bin_posn + i] = '1';
|
|
||||||
} else {
|
|
||||||
binary[bin_posn + i] = '0';
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
return bin_posn + length;
|
return bin_posn + length;
|
||||||
}
|
}
|
||||||
@ -280,7 +269,7 @@ INTERNAL int is_stackable(const int symbology) {
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Whether `symbology` can have addon (EAN-2 and EAN-5) */
|
/* Whether `symbology` can have add-on (EAN-2 and EAN-5) */
|
||||||
INTERNAL int is_extendable(const int symbology) {
|
INTERNAL int is_extendable(const int symbology) {
|
||||||
|
|
||||||
switch (symbology) {
|
switch (symbology) {
|
||||||
@ -464,6 +453,47 @@ INTERNAL int utf8_to_unicode(struct zint_symbol *symbol, const unsigned char sou
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Treats source as ISO/IEC 8859-1 and copies into `symbol->text`, converting to UTF-8. Control chars (incl. DEL) and
|
||||||
|
non-ISO/IEC 8859-1 (0x80-9F) are replaced with spaces. Returns warning if truncated, else 0 */
|
||||||
|
INTERNAL int hrt_cpy_iso8859_1(struct zint_symbol *symbol, const unsigned char source[], const int length) {
|
||||||
|
int i, j;
|
||||||
|
int warn_number = 0;
|
||||||
|
|
||||||
|
for (i = 0, j = 0; i < length && j < (int) sizeof(symbol->text); i++) {
|
||||||
|
if (source[i] < 0x80) {
|
||||||
|
symbol->text[j++] = source[i] >= ' ' && source[i] != 0x7F ? source[i] : ' ';
|
||||||
|
} else if (source[i] < 0xC0) {
|
||||||
|
if (source[i] >= 0xA0) { /* 0x80-0x9F not valid ISO/IEC 8859-1 */
|
||||||
|
if (j + 2 >= (int) sizeof(symbol->text)) {
|
||||||
|
warn_number = ZINT_WARN_HRT_TRUNCATED;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
symbol->text[j++] = 0xC2;
|
||||||
|
symbol->text[j++] = source[i];
|
||||||
|
} else {
|
||||||
|
symbol->text[j++] = ' ';
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
if (j + 2 >= (int) sizeof(symbol->text)) {
|
||||||
|
warn_number = ZINT_WARN_HRT_TRUNCATED;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
symbol->text[j++] = 0xC3;
|
||||||
|
symbol->text[j++] = source[i] - 0x40;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (j == sizeof(symbol->text)) {
|
||||||
|
warn_number = ZINT_WARN_HRT_TRUNCATED;
|
||||||
|
j--;
|
||||||
|
}
|
||||||
|
symbol->text[j] = '\0';
|
||||||
|
|
||||||
|
if (warn_number) {
|
||||||
|
strcpy(symbol->errtxt, "249: Human Readable Text truncated");
|
||||||
|
}
|
||||||
|
return warn_number;
|
||||||
|
}
|
||||||
|
|
||||||
/* Sets symbol height, returning a warning if not within minimum and/or maximum if given.
|
/* Sets symbol height, returning a warning if not within minimum and/or maximum if given.
|
||||||
`default_height` does not include height of fixed-height rows (i.e. separators/composite data) */
|
`default_height` does not include height of fixed-height rows (i.e. separators/composite data) */
|
||||||
INTERNAL int set_height(struct zint_symbol *symbol, const float min_row_height, const float default_height,
|
INTERNAL int set_height(struct zint_symbol *symbol, const float min_row_height, const float default_height,
|
||||||
@ -612,7 +642,7 @@ INTERNAL int colour_to_blue(const int colour) {
|
|||||||
|
|
||||||
#ifdef ZINT_TEST
|
#ifdef ZINT_TEST
|
||||||
/* Dumps hex-formatted codewords in symbol->errtxt (for use in testing) */
|
/* Dumps hex-formatted codewords in symbol->errtxt (for use in testing) */
|
||||||
void debug_test_codeword_dump(struct zint_symbol *symbol, const unsigned char *codewords, const int length) {
|
INTERNAL void debug_test_codeword_dump(struct zint_symbol *symbol, const unsigned char *codewords, const int length) {
|
||||||
int i, max = length, cnt_len = 0;
|
int i, max = length, cnt_len = 0;
|
||||||
if (length > 30) { /* 30*3 < errtxt 92 (100 - "Warning ") chars */
|
if (length > 30) { /* 30*3 < errtxt 92 (100 - "Warning ") chars */
|
||||||
sprintf(symbol->errtxt, "(%d) ", length); /* Place the number of codewords at the front */
|
sprintf(symbol->errtxt, "(%d) ", length); /* Place the number of codewords at the front */
|
||||||
@ -626,7 +656,7 @@ void debug_test_codeword_dump(struct zint_symbol *symbol, const unsigned char *c
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* Dumps decimal-formatted codewords in symbol->errtxt (for use in testing) */
|
/* Dumps decimal-formatted codewords in symbol->errtxt (for use in testing) */
|
||||||
void debug_test_codeword_dump_int(struct zint_symbol *symbol, const int *codewords, const int length) {
|
INTERNAL void debug_test_codeword_dump_int(struct zint_symbol *symbol, const int *codewords, const int length) {
|
||||||
int i, max = 0, cnt_len, errtxt_len;
|
int i, max = 0, cnt_len, errtxt_len;
|
||||||
char temp[20];
|
char temp[20];
|
||||||
errtxt_len = sprintf(symbol->errtxt, "(%d) ", length); /* Place the number of codewords at the front */
|
errtxt_len = sprintf(symbol->errtxt, "(%d) ", length); /* Place the number of codewords at the front */
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
/* common.h - Header for all common functions in common.c */
|
/* common.h - Header for all common functions in common.c */
|
||||||
/*
|
/*
|
||||||
libzint - the open source barcode library
|
libzint - the open source barcode library
|
||||||
Copyright (C) 2009-2022 Robin Stuart <rstuart114@gmail.com>
|
Copyright (C) 2009-2023 Robin Stuart <rstuart114@gmail.com>
|
||||||
|
|
||||||
Redistribution and use in source and binary forms, with or without
|
Redistribution and use in source and binary forms, with or without
|
||||||
modification, are permitted provided that the following conditions
|
modification, are permitted provided that the following conditions
|
||||||
@ -218,7 +218,7 @@ INTERNAL void expand(struct zint_symbol *symbol, const char data[], const int le
|
|||||||
/* Whether `symbology` can have row binding */
|
/* Whether `symbology` can have row binding */
|
||||||
INTERNAL int is_stackable(const int symbology);
|
INTERNAL int is_stackable(const int symbology);
|
||||||
|
|
||||||
/* Whether `symbology` can have addon (EAN-2 and EAN-5) */
|
/* Whether `symbology` can have add-on (EAN-2 and EAN-5) */
|
||||||
INTERNAL int is_extendable(const int symbology);
|
INTERNAL int is_extendable(const int symbology);
|
||||||
|
|
||||||
/* Whether `symbology` can have composite 2D component data */
|
/* Whether `symbology` can have composite 2D component data */
|
||||||
@ -249,11 +249,15 @@ INTERNAL int is_valid_utf8(const unsigned char source[], const int length);
|
|||||||
INTERNAL int utf8_to_unicode(struct zint_symbol *symbol, const unsigned char source[], unsigned int vals[],
|
INTERNAL int utf8_to_unicode(struct zint_symbol *symbol, const unsigned char source[], unsigned int vals[],
|
||||||
int *length, const int disallow_4byte);
|
int *length, const int disallow_4byte);
|
||||||
|
|
||||||
|
/* Treats source as ISO/IEC 8859-1 and copies into `symbol->text`, converting to UTF-8. Control chars (incl. DEL) and
|
||||||
|
non-ISO/IEC 8859-1 (0x80-9F) are replaced with spaces. Returns warning if truncated, else 0 */
|
||||||
|
INTERNAL int hrt_cpy_iso8859_1(struct zint_symbol *symbol, const unsigned char source[], const int length);
|
||||||
|
|
||||||
|
|
||||||
/* Sets symbol height, returning a warning if not within minimum and/or maximum if given.
|
/* Sets symbol height, returning a warning if not within minimum and/or maximum if given.
|
||||||
`default_height` does not include height of fixed-height rows (i.e. separators/composite data) */
|
`default_height` does not include height of fixed-height rows (i.e. separators/composite data) */
|
||||||
INTERNAL int set_height(struct zint_symbol *symbol, const float min_row_height, const float default_height,
|
INTERNAL int set_height(struct zint_symbol *symbol, const float min_row_height, const float default_height,
|
||||||
const float max_height, const int set_errtxt);
|
const float max_height, const int no_errtxt);
|
||||||
|
|
||||||
|
|
||||||
/* Removes excess precision from floats - see https://stackoverflow.com/q/503436 */
|
/* Removes excess precision from floats - see https://stackoverflow.com/q/503436 */
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
/* composite.c - Handles GS1 Composite Symbols */
|
/* composite.c - Handles GS1 Composite Symbols */
|
||||||
/*
|
/*
|
||||||
libzint - the open source barcode library
|
libzint - the open source barcode library
|
||||||
Copyright (C) 2008-2022 Robin Stuart <rstuart114@gmail.com>
|
Copyright (C) 2008-2023 Robin Stuart <rstuart114@gmail.com>
|
||||||
|
|
||||||
Redistribution and use in source and binary forms, with or without
|
Redistribution and use in source and binary forms, with or without
|
||||||
modification, are permitted provided that the following conditions
|
modification, are permitted provided that the following conditions
|
||||||
@ -545,7 +545,7 @@ static void cc_c(struct zint_symbol *symbol, const char source[], const int cc_w
|
|||||||
if (debug_print) {
|
if (debug_print) {
|
||||||
printf("CC-C Codewords (%d):", mclength);
|
printf("CC-C Codewords (%d):", mclength);
|
||||||
for (i = 0; i < mclength; i++) printf(" %d", chainemc[i]);
|
for (i = 0; i < mclength; i++) printf(" %d", chainemc[i]);
|
||||||
printf("\n");
|
fputc('\n', stdout);
|
||||||
}
|
}
|
||||||
|
|
||||||
k = 1;
|
k = 1;
|
||||||
@ -1408,6 +1408,7 @@ INTERNAL int composite(struct zint_symbol *symbol, unsigned char source[], int l
|
|||||||
linear->symbology = symbol->symbology;
|
linear->symbology = symbol->symbology;
|
||||||
linear->input_mode = symbol->input_mode;
|
linear->input_mode = symbol->input_mode;
|
||||||
linear->output_options = symbol->output_options;
|
linear->output_options = symbol->output_options;
|
||||||
|
linear->show_hrt = symbol->show_hrt;
|
||||||
linear->option_2 = symbol->option_2;
|
linear->option_2 = symbol->option_2;
|
||||||
linear->option_3 = symbol->option_3;
|
linear->option_3 = symbol->option_3;
|
||||||
/* If symbol->height given minimum row height will be returned, else default height */
|
/* If symbol->height given minimum row height will be returned, else default height */
|
||||||
@ -1489,7 +1490,8 @@ INTERNAL int composite(struct zint_symbol *symbol, unsigned char source[], int l
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case BARCODE_GS1_128_CC: if (cc_mode == 3) {
|
case BARCODE_GS1_128_CC:
|
||||||
|
if (cc_mode == 3) {
|
||||||
bottom_shift = 7; /* ISO/IEC 24723:2010 12.3 f) */
|
bottom_shift = 7; /* ISO/IEC 24723:2010 12.3 f) */
|
||||||
} else {
|
} else {
|
||||||
/* ISO/IEC 24723:2010 12.3 g) "GS1-128 components linked to the right quiet zone of the CC-A or CC-B:
|
/* ISO/IEC 24723:2010 12.3 g) "GS1-128 components linked to the right quiet zone of the CC-A or CC-B:
|
||||||
@ -1521,10 +1523,8 @@ INTERNAL int composite(struct zint_symbol *symbol, unsigned char source[], int l
|
|||||||
bottom_shift = 9;
|
bottom_shift = 9;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case BARCODE_DBAR_EXP_CC: k = 1;
|
case BARCODE_DBAR_EXP_CC:
|
||||||
while ((!(module_is_set(linear, 1, k - 1))) && module_is_set(linear, 1, k)) {
|
for (k = 1; !module_is_set(linear, 1, k - 1) && module_is_set(linear, 1, k); k++);
|
||||||
k++;
|
|
||||||
}
|
|
||||||
top_shift = k;
|
top_shift = k;
|
||||||
break;
|
break;
|
||||||
case BARCODE_UPCA_CC: bottom_shift = 2;
|
case BARCODE_UPCA_CC: bottom_shift = 2;
|
||||||
@ -1535,10 +1535,8 @@ INTERNAL int composite(struct zint_symbol *symbol, unsigned char source[], int l
|
|||||||
break;
|
break;
|
||||||
case BARCODE_DBAR_OMNSTK_CC: top_shift = 1;
|
case BARCODE_DBAR_OMNSTK_CC: top_shift = 1;
|
||||||
break;
|
break;
|
||||||
case BARCODE_DBAR_EXPSTK_CC: k = 1;
|
case BARCODE_DBAR_EXPSTK_CC:
|
||||||
while ((!(module_is_set(linear, 1, k - 1))) && module_is_set(linear, 1, k)) {
|
for (k = 1; !module_is_set(linear, 1, k - 1) && module_is_set(linear, 1, k); k++);
|
||||||
k++;
|
|
||||||
}
|
|
||||||
top_shift = k;
|
top_shift = k;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
/* dmatrix.c Handles Data Matrix ECC 200 symbols */
|
/* dmatrix.c Handles Data Matrix ECC 200 symbols */
|
||||||
/*
|
/*
|
||||||
libzint - the open source barcode library
|
libzint - the open source barcode library
|
||||||
Copyright (C) 2009-2022 Robin Stuart <rstuart114@gmail.com>
|
Copyright (C) 2009-2023 Robin Stuart <rstuart114@gmail.com>
|
||||||
|
|
||||||
developed from and including some functions from:
|
developed from and including some functions from:
|
||||||
IEC16022 bar code generation
|
IEC16022 bar code generation
|
||||||
@ -400,19 +400,19 @@ static int dm_look_ahead_test(const unsigned char source[], const int length, co
|
|||||||
/* Adjusted from <= b256_count */
|
/* Adjusted from <= b256_count */
|
||||||
if (cnt_1 < b256_count && cnt_1 <= edf_count && cnt_1 <= text_count && cnt_1 <= x12_count
|
if (cnt_1 < b256_count && cnt_1 <= edf_count && cnt_1 <= text_count && cnt_1 <= x12_count
|
||||||
&& cnt_1 <= c40_count) {
|
&& cnt_1 <= c40_count) {
|
||||||
if (debug_print) printf("ASC->");
|
if (debug_print) fputs("ASC->", stdout);
|
||||||
return DM_ASCII; /* step (r)(1) */
|
return DM_ASCII; /* step (r)(1) */
|
||||||
}
|
}
|
||||||
cnt_1 = b256_count + DM_MULT_1;
|
cnt_1 = b256_count + DM_MULT_1;
|
||||||
if (cnt_1 <= ascii_count || (cnt_1 < edf_count && cnt_1 < text_count && cnt_1 < x12_count
|
if (cnt_1 <= ascii_count || (cnt_1 < edf_count && cnt_1 < text_count && cnt_1 < x12_count
|
||||||
&& cnt_1 < c40_count)) {
|
&& cnt_1 < c40_count)) {
|
||||||
if (debug_print) printf("BAS->");
|
if (debug_print) fputs("BAS->", stdout);
|
||||||
return DM_BASE256; /* step (r)(2) */
|
return DM_BASE256; /* step (r)(2) */
|
||||||
}
|
}
|
||||||
cnt_1 = edf_count + DM_MULT_1;
|
cnt_1 = edf_count + DM_MULT_1;
|
||||||
if (cnt_1 < ascii_count && cnt_1 < b256_count && cnt_1 < text_count && cnt_1 < x12_count
|
if (cnt_1 < ascii_count && cnt_1 < b256_count && cnt_1 < text_count && cnt_1 < x12_count
|
||||||
&& cnt_1 < c40_count) {
|
&& cnt_1 < c40_count) {
|
||||||
if (debug_print) printf("EDI->");
|
if (debug_print) fputs("EDI->", stdout);
|
||||||
return DM_EDIFACT; /* step (r)(3) */
|
return DM_EDIFACT; /* step (r)(3) */
|
||||||
}
|
}
|
||||||
cnt_1 = text_count + DM_MULT_1;
|
cnt_1 = text_count + DM_MULT_1;
|
||||||
@ -421,32 +421,32 @@ static int dm_look_ahead_test(const unsigned char source[], const int length, co
|
|||||||
/* Adjusted to avoid early exit from Base 256 if have less than break-even sequence of TEXT chars */
|
/* Adjusted to avoid early exit from Base 256 if have less than break-even sequence of TEXT chars */
|
||||||
if (current_mode == DM_BASE256 && position + 6 < length) {
|
if (current_mode == DM_BASE256 && position + 6 < length) {
|
||||||
if (dm_text_sp_cnt(source, position, length, sp) >= 12) {
|
if (dm_text_sp_cnt(source, position, length, sp) >= 12) {
|
||||||
if (debug_print) printf("TEX->");
|
if (debug_print) fputs("TEX->", stdout);
|
||||||
return DM_TEXT; /* step (r)(4) */
|
return DM_TEXT; /* step (r)(4) */
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if (debug_print) printf("TEX->");
|
if (debug_print) fputs("TEX->", stdout);
|
||||||
return DM_TEXT; /* step (r)(4) */
|
return DM_TEXT; /* step (r)(4) */
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
cnt_1 = x12_count + DM_MULT_1;
|
cnt_1 = x12_count + DM_MULT_1;
|
||||||
if (cnt_1 < ascii_count && cnt_1 < b256_count && cnt_1 < edf_count && cnt_1 < text_count
|
if (cnt_1 < ascii_count && cnt_1 < b256_count && cnt_1 < edf_count && cnt_1 < text_count
|
||||||
&& cnt_1 < c40_count) {
|
&& cnt_1 < c40_count) {
|
||||||
if (debug_print) printf("X12->");
|
if (debug_print) fputs("X12->", stdout);
|
||||||
return DM_X12; /* step (r)(5) */
|
return DM_X12; /* step (r)(5) */
|
||||||
}
|
}
|
||||||
cnt_1 = c40_count + DM_MULT_1;
|
cnt_1 = c40_count + DM_MULT_1;
|
||||||
if (cnt_1 < ascii_count && cnt_1 < b256_count && cnt_1 < edf_count && cnt_1 < text_count) {
|
if (cnt_1 < ascii_count && cnt_1 < b256_count && cnt_1 < edf_count && cnt_1 < text_count) {
|
||||||
if (c40_count < x12_count) {
|
if (c40_count < x12_count) {
|
||||||
if (debug_print) printf("C40->");
|
if (debug_print) fputs("C40->", stdout);
|
||||||
return DM_C40; /* step (r)(6)(i) */
|
return DM_C40; /* step (r)(6)(i) */
|
||||||
}
|
}
|
||||||
if (c40_count == x12_count) {
|
if (c40_count == x12_count) {
|
||||||
if (dm_substep_r_6_2_1(source, length, sp) == 1) {
|
if (dm_substep_r_6_2_1(source, length, sp) == 1) {
|
||||||
if (debug_print) printf("X12->");
|
if (debug_print) fputs("X12->", stdout);
|
||||||
return DM_X12; /* step (r)(6)(ii)(I) */
|
return DM_X12; /* step (r)(6)(ii)(I) */
|
||||||
}
|
}
|
||||||
if (debug_print) printf("C40->");
|
if (debug_print) fputs("C40->", stdout);
|
||||||
return DM_C40; /* step (r)(6)(ii)(II) */
|
return DM_C40; /* step (r)(6)(ii)(II) */
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -470,32 +470,32 @@ static int dm_look_ahead_test(const unsigned char source[], const int length, co
|
|||||||
|
|
||||||
if (ascii_rnded <= b256_rnded && ascii_rnded <= edf_rnded && ascii_rnded <= text_rnded && ascii_rnded <= x12_rnded
|
if (ascii_rnded <= b256_rnded && ascii_rnded <= edf_rnded && ascii_rnded <= text_rnded && ascii_rnded <= x12_rnded
|
||||||
&& ascii_rnded <= c40_rnded) {
|
&& ascii_rnded <= c40_rnded) {
|
||||||
if (debug_print) printf("ASC->");
|
if (debug_print) fputs("ASC->", stdout);
|
||||||
return DM_ASCII; /* step (k)(2) */
|
return DM_ASCII; /* step (k)(2) */
|
||||||
}
|
}
|
||||||
if (b256_rnded < ascii_rnded && b256_rnded < edf_rnded && b256_rnded < text_rnded && b256_rnded < x12_rnded
|
if (b256_rnded < ascii_rnded && b256_rnded < edf_rnded && b256_rnded < text_rnded && b256_rnded < x12_rnded
|
||||||
&& b256_rnded < c40_rnded) {
|
&& b256_rnded < c40_rnded) {
|
||||||
if (debug_print) printf("BAS->");
|
if (debug_print) fputs("BAS->", stdout);
|
||||||
return DM_BASE256; /* step (k)(3) */
|
return DM_BASE256; /* step (k)(3) */
|
||||||
}
|
}
|
||||||
/* Adjusted from < x12_rnded */
|
/* Adjusted from < x12_rnded */
|
||||||
if (edf_rnded < ascii_rnded && edf_rnded < b256_rnded && edf_rnded < text_rnded && edf_rnded <= x12_rnded
|
if (edf_rnded < ascii_rnded && edf_rnded < b256_rnded && edf_rnded < text_rnded && edf_rnded <= x12_rnded
|
||||||
&& edf_rnded < c40_rnded) {
|
&& edf_rnded < c40_rnded) {
|
||||||
if (debug_print) printf("EDI->");
|
if (debug_print) fputs("EDI->", stdout);
|
||||||
return DM_EDIFACT; /* step (k)(4) */
|
return DM_EDIFACT; /* step (k)(4) */
|
||||||
}
|
}
|
||||||
if (text_rnded < ascii_rnded && text_rnded < b256_rnded && text_rnded < edf_rnded && text_rnded < x12_rnded
|
if (text_rnded < ascii_rnded && text_rnded < b256_rnded && text_rnded < edf_rnded && text_rnded < x12_rnded
|
||||||
&& text_rnded < c40_rnded) {
|
&& text_rnded < c40_rnded) {
|
||||||
if (debug_print) printf("TEX->");
|
if (debug_print) fputs("TEX->", stdout);
|
||||||
return DM_TEXT; /* step (k)(5) */
|
return DM_TEXT; /* step (k)(5) */
|
||||||
}
|
}
|
||||||
/* Adjusted from < edf_rnded */
|
/* Adjusted from < edf_rnded */
|
||||||
if (x12_rnded < ascii_rnded && x12_rnded < b256_rnded && x12_rnded <= edf_rnded && x12_rnded < text_rnded
|
if (x12_rnded < ascii_rnded && x12_rnded < b256_rnded && x12_rnded <= edf_rnded && x12_rnded < text_rnded
|
||||||
&& x12_rnded < c40_rnded) {
|
&& x12_rnded < c40_rnded) {
|
||||||
if (debug_print) printf("X12->");
|
if (debug_print) fputs("X12->", stdout);
|
||||||
return DM_X12; /* step (k)(6) */
|
return DM_X12; /* step (k)(6) */
|
||||||
}
|
}
|
||||||
if (debug_print) printf("C40->");
|
if (debug_print) fputs("C40->", stdout);
|
||||||
return DM_C40; /* step (k)(7) */
|
return DM_C40; /* step (k)(7) */
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -653,24 +653,24 @@ static int dm_switch_mode(const int next_mode, unsigned char target[], int tp, i
|
|||||||
const int debug_print) {
|
const int debug_print) {
|
||||||
switch (next_mode) {
|
switch (next_mode) {
|
||||||
case DM_ASCII:
|
case DM_ASCII:
|
||||||
if (debug_print) printf("ASC ");
|
if (debug_print) fputs("ASC ", stdout);
|
||||||
break;
|
break;
|
||||||
case DM_C40: target[tp++] = 230;
|
case DM_C40: target[tp++] = 230;
|
||||||
if (debug_print) printf("C40 ");
|
if (debug_print) fputs("C40 ", stdout);
|
||||||
break;
|
break;
|
||||||
case DM_TEXT: target[tp++] = 239;
|
case DM_TEXT: target[tp++] = 239;
|
||||||
if (debug_print) printf("TEX ");
|
if (debug_print) fputs("TEX ", stdout);
|
||||||
break;
|
break;
|
||||||
case DM_X12: target[tp++] = 238;
|
case DM_X12: target[tp++] = 238;
|
||||||
if (debug_print) printf("X12 ");
|
if (debug_print) fputs("X12 ", stdout);
|
||||||
break;
|
break;
|
||||||
case DM_EDIFACT: target[tp++] = 240;
|
case DM_EDIFACT: target[tp++] = 240;
|
||||||
if (debug_print) printf("EDI ");
|
if (debug_print) fputs("EDI ", stdout);
|
||||||
break;
|
break;
|
||||||
case DM_BASE256: target[tp++] = 231;
|
case DM_BASE256: target[tp++] = 231;
|
||||||
*p_b256_start = tp;
|
*p_b256_start = tp;
|
||||||
target[tp++] = 0; /* Byte count holder (may be expanded to 2 codewords) */
|
target[tp++] = 0; /* Byte count holder (may be expanded to 2 codewords) */
|
||||||
if (debug_print) printf("BAS ");
|
if (debug_print) fputs("BAS ", stdout);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1035,7 +1035,7 @@ static int dm_define_mode(struct zint_symbol *symbol, char modes[], const unsign
|
|||||||
if (debug_print) {
|
if (debug_print) {
|
||||||
printf("modes (%d): ", length);
|
printf("modes (%d): ", length);
|
||||||
for (i = 0; i < length; i++) printf("%c", dm_smodes[(int) modes[i]][0]);
|
for (i = 0; i < length; i++) printf("%c", dm_smodes[(int) modes[i]][0]);
|
||||||
printf("\n");
|
fputc('\n', stdout);
|
||||||
}
|
}
|
||||||
assert(mode_end == 0);
|
assert(mode_end == 0);
|
||||||
|
|
||||||
@ -1119,10 +1119,10 @@ static int dm_minimalenc(struct zint_symbol *symbol, const unsigned char source[
|
|||||||
if (gs1 && (source[sp] == '[')) {
|
if (gs1 && (source[sp] == '[')) {
|
||||||
if (gs1 == 2) {
|
if (gs1 == 2) {
|
||||||
target[tp++] = 29 + 1; /* GS */
|
target[tp++] = 29 + 1; /* GS */
|
||||||
if (debug_print) printf("GS ");
|
if (debug_print) fputs("GS ", stdout);
|
||||||
} else {
|
} else {
|
||||||
target[tp++] = 232; /* FNC1 */
|
target[tp++] = 232; /* FNC1 */
|
||||||
if (debug_print) printf("FN1 ");
|
if (debug_print) fputs("FN1 ", stdout);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
target[tp++] = source[sp] + 1;
|
target[tp++] = source[sp] + 1;
|
||||||
@ -1295,10 +1295,10 @@ static int dm_isoenc(struct zint_symbol *symbol, const unsigned char source[], c
|
|||||||
if (gs1 && (source[sp] == '[')) {
|
if (gs1 && (source[sp] == '[')) {
|
||||||
if (gs1 == 2) {
|
if (gs1 == 2) {
|
||||||
target[tp++] = 29 + 1; /* GS */
|
target[tp++] = 29 + 1; /* GS */
|
||||||
if (debug_print) printf("GS ");
|
if (debug_print) fputs("GS ", stdout);
|
||||||
} else {
|
} else {
|
||||||
target[tp++] = 232; /* FNC1 */
|
target[tp++] = 232; /* FNC1 */
|
||||||
if (debug_print) printf("FN1 ");
|
if (debug_print) fputs("FN1 ", stdout);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
target[tp++] = source[sp] + 1;
|
target[tp++] = source[sp] + 1;
|
||||||
@ -1320,7 +1320,7 @@ static int dm_isoenc(struct zint_symbol *symbol, const unsigned char source[], c
|
|||||||
if (next_mode != current_mode) {
|
if (next_mode != current_mode) {
|
||||||
target[tp++] = 254; /* Unlatch */
|
target[tp++] = 254; /* Unlatch */
|
||||||
next_mode = DM_ASCII;
|
next_mode = DM_ASCII;
|
||||||
if (debug_print) printf("ASC ");
|
if (debug_print) fputs("ASC ", stdout);
|
||||||
} else {
|
} else {
|
||||||
int shift_set, value;
|
int shift_set, value;
|
||||||
const char *ct_shift, *ct_value;
|
const char *ct_shift, *ct_value;
|
||||||
@ -1382,7 +1382,7 @@ static int dm_isoenc(struct zint_symbol *symbol, const unsigned char source[], c
|
|||||||
process_p = 0; /* Throw away buffer if any */
|
process_p = 0; /* Throw away buffer if any */
|
||||||
target[tp++] = 254; /* Unlatch */
|
target[tp++] = 254; /* Unlatch */
|
||||||
next_mode = DM_ASCII;
|
next_mode = DM_ASCII;
|
||||||
if (debug_print) printf("ASC ");
|
if (debug_print) fputs("ASC ", stdout);
|
||||||
} else {
|
} else {
|
||||||
static const char x12_nonalphanum_chars[] = "\015*> ";
|
static const char x12_nonalphanum_chars[] = "\015*> ";
|
||||||
int value = 0;
|
int value = 0;
|
||||||
@ -1422,7 +1422,7 @@ static int dm_isoenc(struct zint_symbol *symbol, const unsigned char source[], c
|
|||||||
process_buffer[process_p++] = 31;
|
process_buffer[process_p++] = 31;
|
||||||
process_p = dm_edi_buffer_xfer(process_buffer, process_p, target, &tp, 1 /*empty*/, debug_print);
|
process_p = dm_edi_buffer_xfer(process_buffer, process_p, target, &tp, 1 /*empty*/, debug_print);
|
||||||
next_mode = DM_ASCII;
|
next_mode = DM_ASCII;
|
||||||
if (debug_print) printf("ASC ");
|
if (debug_print) fputs("ASC ", stdout);
|
||||||
} else {
|
} else {
|
||||||
int value = source[sp];
|
int value = source[sp];
|
||||||
|
|
||||||
@ -1546,7 +1546,7 @@ static int dm_encode(struct zint_symbol *symbol, const unsigned char source[], c
|
|||||||
if (process_p == 0) {
|
if (process_p == 0) {
|
||||||
if (symbols_left > 0) {
|
if (symbols_left > 0) {
|
||||||
target[tp++] = 254; /* Unlatch */
|
target[tp++] = 254; /* Unlatch */
|
||||||
if (debug_print) printf("ASC ");
|
if (debug_print) fputs("ASC ", stdout);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if (process_p == 2 && symbols_left == 2) {
|
if (process_p == 2 && symbols_left == 2) {
|
||||||
@ -1559,7 +1559,7 @@ static int dm_encode(struct zint_symbol *symbol, const unsigned char source[], c
|
|||||||
if (symbols_left > 1) {
|
if (symbols_left > 1) {
|
||||||
/* 5.2.5.2 (c) */
|
/* 5.2.5.2 (c) */
|
||||||
target[tp++] = 254; /* Unlatch and encode remaining data in ascii. */
|
target[tp++] = 254; /* Unlatch and encode remaining data in ascii. */
|
||||||
if (debug_print) printf("ASC ");
|
if (debug_print) fputs("ASC ", stdout);
|
||||||
}
|
}
|
||||||
target[tp++] = source[length - 1] + 1;
|
target[tp++] = source[length - 1] + 1;
|
||||||
if (debug_print) printf("A%02X ", target[tp - 1] - 1);
|
if (debug_print) printf("A%02X ", target[tp - 1] - 1);
|
||||||
@ -1577,7 +1577,7 @@ static int dm_encode(struct zint_symbol *symbol, const unsigned char source[], c
|
|||||||
tp -= (total_cnt / 3) * 2;
|
tp -= (total_cnt / 3) * 2;
|
||||||
|
|
||||||
target[tp++] = 254; /* Unlatch */
|
target[tp++] = 254; /* Unlatch */
|
||||||
if (debug_print) printf("ASC ");
|
if (debug_print) fputs("ASC ", stdout);
|
||||||
for (; sp < length; sp++) {
|
for (; sp < length; sp++) {
|
||||||
if (is_twodigits(source, length, sp)) {
|
if (is_twodigits(source, length, sp)) {
|
||||||
target[tp++] = (unsigned char) ((10 * ctoi(source[sp])) + ctoi(source[sp + 1]) + 130);
|
target[tp++] = (unsigned char) ((10 * ctoi(source[sp])) + ctoi(source[sp + 1]) + 130);
|
||||||
@ -1590,10 +1590,10 @@ static int dm_encode(struct zint_symbol *symbol, const unsigned char source[], c
|
|||||||
} else if (gs1 && source[sp] == '[') {
|
} else if (gs1 && source[sp] == '[') {
|
||||||
if (gs1 == 2) {
|
if (gs1 == 2) {
|
||||||
target[tp++] = 29 + 1; /* GS */
|
target[tp++] = 29 + 1; /* GS */
|
||||||
if (debug_print) printf("GS ");
|
if (debug_print) fputs("GS ", stdout);
|
||||||
} else {
|
} else {
|
||||||
target[tp++] = 232; /* FNC1 */
|
target[tp++] = 232; /* FNC1 */
|
||||||
if (debug_print) printf("FN1 ");
|
if (debug_print) fputs("FN1 ", stdout);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
target[tp++] = source[sp] + 1;
|
target[tp++] = source[sp] + 1;
|
||||||
@ -1604,7 +1604,7 @@ static int dm_encode(struct zint_symbol *symbol, const unsigned char source[], c
|
|||||||
}
|
}
|
||||||
|
|
||||||
} else if (current_mode == DM_X12) {
|
} else if (current_mode == DM_X12) {
|
||||||
if (debug_print) printf("X12 ");
|
if (debug_print) fputs("X12 ", stdout);
|
||||||
if ((symbols_left == 1) && (process_p == 1)) {
|
if ((symbols_left == 1) && (process_p == 1)) {
|
||||||
/* Unlatch not required! */
|
/* Unlatch not required! */
|
||||||
target[tp++] = source[length - 1] + 1;
|
target[tp++] = source[length - 1] + 1;
|
||||||
@ -1612,7 +1612,7 @@ static int dm_encode(struct zint_symbol *symbol, const unsigned char source[], c
|
|||||||
} else {
|
} else {
|
||||||
if (symbols_left > 0) {
|
if (symbols_left > 0) {
|
||||||
target[tp++] = (254); /* Unlatch. */
|
target[tp++] = (254); /* Unlatch. */
|
||||||
if (debug_print) printf("ASC ");
|
if (debug_print) fputs("ASC ", stdout);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (process_p == 1) {
|
if (process_p == 1) {
|
||||||
@ -1626,7 +1626,7 @@ static int dm_encode(struct zint_symbol *symbol, const unsigned char source[], c
|
|||||||
}
|
}
|
||||||
|
|
||||||
} else if (current_mode == DM_EDIFACT) {
|
} else if (current_mode == DM_EDIFACT) {
|
||||||
if (debug_print) printf("EDI ");
|
if (debug_print) fputs("EDI ", stdout);
|
||||||
if (symbols_left <= 2 && process_p <= symbols_left) { /* Unlatch not required! */
|
if (symbols_left <= 2 && process_p <= symbols_left) { /* Unlatch not required! */
|
||||||
if (process_p == 1) {
|
if (process_p == 1) {
|
||||||
target[tp++] = source[length - 1] + 1;
|
target[tp++] = source[length - 1] + 1;
|
||||||
@ -1660,7 +1660,7 @@ static int dm_encode(struct zint_symbol *symbol, const unsigned char source[], c
|
|||||||
for (i = 0; i < tp; i++)
|
for (i = 0; i < tp; i++)
|
||||||
printf(" %d", target[i]);
|
printf(" %d", target[i]);
|
||||||
|
|
||||||
printf("\n");
|
fputc('\n', stdout);
|
||||||
}
|
}
|
||||||
|
|
||||||
*p_tp = tp;
|
*p_tp = tp;
|
||||||
@ -1761,7 +1761,7 @@ static int dm_encode_segs(struct zint_symbol *symbol, struct zint_seg segs[], co
|
|||||||
|
|
||||||
if (gs1) {
|
if (gs1) {
|
||||||
target[tp++] = 232;
|
target[tp++] = 232;
|
||||||
if (debug_print) printf("FN1 ");
|
if (debug_print) fputs("FN1 ", stdout);
|
||||||
} /* FNC1 */
|
} /* FNC1 */
|
||||||
|
|
||||||
if (symbol->output_options & READER_INIT) {
|
if (symbol->output_options & READER_INIT) {
|
||||||
@ -1774,7 +1774,7 @@ static int dm_encode_segs(struct zint_symbol *symbol, struct zint_seg segs[], co
|
|||||||
return ZINT_ERROR_INVALID_OPTION;
|
return ZINT_ERROR_INVALID_OPTION;
|
||||||
}
|
}
|
||||||
target[tp++] = 234; /* Reader Programming */
|
target[tp++] = 234; /* Reader Programming */
|
||||||
if (debug_print) printf("RP ");
|
if (debug_print) fputs("RP ", stdout);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Check for Macro05/Macro06 */
|
/* Check for Macro05/Macro06 */
|
||||||
@ -1791,10 +1791,10 @@ static int dm_encode_segs(struct zint_symbol *symbol, struct zint_seg segs[], co
|
|||||||
/* Output macro Codeword */
|
/* Output macro Codeword */
|
||||||
if (segs[0].source[5] == '5') {
|
if (segs[0].source[5] == '5') {
|
||||||
target[tp++] = 236;
|
target[tp++] = 236;
|
||||||
if (debug_print) printf("Macro05 ");
|
if (debug_print) fputs("Macro05 ", stdout);
|
||||||
} else {
|
} else {
|
||||||
target[tp++] = 237;
|
target[tp++] = 237;
|
||||||
if (debug_print) printf("Macro06 ");
|
if (debug_print) fputs("Macro06 ", stdout);
|
||||||
}
|
}
|
||||||
/* Remove macro characters from input string */
|
/* Remove macro characters from input string */
|
||||||
in_macro = 1;
|
in_macro = 1;
|
||||||
@ -1882,7 +1882,7 @@ static int dm_ecc200(struct zint_symbol *symbol, struct zint_seg segs[], const i
|
|||||||
if (debug_print) {
|
if (debug_print) {
|
||||||
printf("Pads (%d): ", taillength);
|
printf("Pads (%d): ", taillength);
|
||||||
for (i = binlen; i < binlen + taillength; i++) printf("%d ", binary[i]);
|
for (i = binlen; i < binlen + taillength; i++) printf("%d ", binary[i]);
|
||||||
printf("\n");
|
fputc('\n', stdout);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* ecc code */
|
/* ecc code */
|
||||||
@ -1893,7 +1893,7 @@ static int dm_ecc200(struct zint_symbol *symbol, struct zint_seg segs[], const i
|
|||||||
if (debug_print) {
|
if (debug_print) {
|
||||||
printf("ECC (%d): ", rsblock * (bytes / datablock));
|
printf("ECC (%d): ", rsblock * (bytes / datablock));
|
||||||
for (i = bytes; i < bytes + rsblock * (bytes / datablock); i++) printf("%d ", binary[i]);
|
for (i = bytes; i < bytes + rsblock * (bytes / datablock); i++) printf("%d ", binary[i]);
|
||||||
printf("\n");
|
fputc('\n', stdout);
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef ZINT_TEST
|
#ifdef ZINT_TEST
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
/* dotcode.c - Handles DotCode */
|
/* dotcode.c - Handles DotCode */
|
||||||
/*
|
/*
|
||||||
libzint - the open source barcode library
|
libzint - the open source barcode library
|
||||||
Copyright (C) 2017-2022 Robin Stuart <rstuart114@gmail.com>
|
Copyright (C) 2017-2023 Robin Stuart <rstuart114@gmail.com>
|
||||||
|
|
||||||
Redistribution and use in source and binary forms, with or without
|
Redistribution and use in source and binary forms, with or without
|
||||||
modification, are permitted provided that the following conditions
|
modification, are permitted provided that the following conditions
|
||||||
@ -633,7 +633,7 @@ static int dc_encode_message(struct zint_symbol *symbol, const unsigned char sou
|
|||||||
if (last_seg && (position == length - 2) && (inside_macro != 0) && (inside_macro != 100)) {
|
if (last_seg && (position == length - 2) && (inside_macro != 0) && (inside_macro != 100)) {
|
||||||
/* inside_macro only gets set to 97, 98 or 99 if the last two characters are RS/EOT */
|
/* inside_macro only gets set to 97, 98 or 99 if the last two characters are RS/EOT */
|
||||||
position += 2;
|
position += 2;
|
||||||
if (debug_print) printf("A ");
|
if (debug_print) fputs("A ", stdout);
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -641,7 +641,7 @@ static int dc_encode_message(struct zint_symbol *symbol, const unsigned char sou
|
|||||||
if (last_seg && (position == length - 1) && (inside_macro == 100)) {
|
if (last_seg && (position == length - 1) && (inside_macro == 100)) {
|
||||||
/* inside_macro only gets set to 100 if the last character is EOT */
|
/* inside_macro only gets set to 100 if the last character is EOT */
|
||||||
position++;
|
position++;
|
||||||
if (debug_print) printf("B ");
|
if (debug_print) fputs("B ", stdout);
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -654,7 +654,7 @@ static int dc_encode_message(struct zint_symbol *symbol, const unsigned char sou
|
|||||||
codeword_array[ap++] = to_int(source + position + 4, 2);
|
codeword_array[ap++] = to_int(source + position + 4, 2);
|
||||||
codeword_array[ap++] = to_int(source + position + 6, 2);
|
codeword_array[ap++] = to_int(source + position + 6, 2);
|
||||||
position += 10;
|
position += 10;
|
||||||
if (debug_print) printf("C2/1 ");
|
if (debug_print) fputs("C2/1 ", stdout);
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -666,7 +666,7 @@ static int dc_encode_message(struct zint_symbol *symbol, const unsigned char sou
|
|||||||
codeword_array[ap++] = to_int(source + position, 2);
|
codeword_array[ap++] = to_int(source + position, 2);
|
||||||
position += 2;
|
position += 2;
|
||||||
}
|
}
|
||||||
if (debug_print) printf("C2/2 ");
|
if (debug_print) fputs("C2/2 ", stdout);
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -686,7 +686,7 @@ static int dc_encode_message(struct zint_symbol *symbol, const unsigned char sou
|
|||||||
codeword_array[ap++] = 112; /* Bin Latch */
|
codeword_array[ap++] = 112; /* Bin Latch */
|
||||||
encoding_mode = 'X';
|
encoding_mode = 'X';
|
||||||
}
|
}
|
||||||
if (debug_print) printf("C3 ");
|
if (debug_print) fputs("C3 ", stdout);
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -722,7 +722,7 @@ static int dc_encode_message(struct zint_symbol *symbol, const unsigned char sou
|
|||||||
encoding_mode = 'B';
|
encoding_mode = 'B';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (debug_print) printf("C4 ");
|
if (debug_print) fputs("C4 ", stdout);
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
} /* encoding_mode == 'C' */
|
} /* encoding_mode == 'C' */
|
||||||
@ -742,7 +742,7 @@ static int dc_encode_message(struct zint_symbol *symbol, const unsigned char sou
|
|||||||
codeword_array[ap++] = 106; /* Latch C */
|
codeword_array[ap++] = 106; /* Latch C */
|
||||||
encoding_mode = 'C';
|
encoding_mode = 'C';
|
||||||
}
|
}
|
||||||
if (debug_print) printf("D1 ");
|
if (debug_print) fputs("D1 ", stdout);
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -750,7 +750,7 @@ static int dc_encode_message(struct zint_symbol *symbol, const unsigned char sou
|
|||||||
if ((source[position] == '[') && gs1) {
|
if ((source[position] == '[') && gs1) {
|
||||||
codeword_array[ap++] = 107; /* FNC1 */
|
codeword_array[ap++] = 107; /* FNC1 */
|
||||||
position++;
|
position++;
|
||||||
if (debug_print) printf("D2/1 ");
|
if (debug_print) fputs("D2/1 ", stdout);
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -781,7 +781,7 @@ static int dc_encode_message(struct zint_symbol *symbol, const unsigned char sou
|
|||||||
|
|
||||||
if (done == 1) {
|
if (done == 1) {
|
||||||
position++;
|
position++;
|
||||||
if (debug_print) printf("D2/2 ");
|
if (debug_print) fputs("D2/2 ", stdout);
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -801,7 +801,7 @@ static int dc_encode_message(struct zint_symbol *symbol, const unsigned char sou
|
|||||||
codeword_array[ap++] = 112; /* Bin Latch */
|
codeword_array[ap++] = 112; /* Bin Latch */
|
||||||
encoding_mode = 'X';
|
encoding_mode = 'X';
|
||||||
}
|
}
|
||||||
if (debug_print) printf("D3 ");
|
if (debug_print) fputs("D3 ", stdout);
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -818,7 +818,7 @@ static int dc_encode_message(struct zint_symbol *symbol, const unsigned char sou
|
|||||||
codeword_array[ap++] = 102; /* Latch A */
|
codeword_array[ap++] = 102; /* Latch A */
|
||||||
encoding_mode = 'A';
|
encoding_mode = 'A';
|
||||||
}
|
}
|
||||||
if (debug_print) printf("D4 ");
|
if (debug_print) fputs("D4 ", stdout);
|
||||||
continue;
|
continue;
|
||||||
} /* encoding_mode == 'B' */
|
} /* encoding_mode == 'B' */
|
||||||
|
|
||||||
@ -836,7 +836,7 @@ static int dc_encode_message(struct zint_symbol *symbol, const unsigned char sou
|
|||||||
codeword_array[ap++] = 106; /* Latch C */
|
codeword_array[ap++] = 106; /* Latch C */
|
||||||
encoding_mode = 'C';
|
encoding_mode = 'C';
|
||||||
}
|
}
|
||||||
if (debug_print) printf("E1 ");
|
if (debug_print) fputs("E1 ", stdout);
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -845,7 +845,7 @@ static int dc_encode_message(struct zint_symbol *symbol, const unsigned char sou
|
|||||||
/* Note: this branch probably never reached as no reason to be in Code Set A for GS1 data */
|
/* Note: this branch probably never reached as no reason to be in Code Set A for GS1 data */
|
||||||
codeword_array[ap++] = 107; /* FNC1 */
|
codeword_array[ap++] = 107; /* FNC1 */
|
||||||
position++;
|
position++;
|
||||||
if (debug_print) printf("E2/1 ");
|
if (debug_print) fputs("E2/1 ", stdout);
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
if (dc_datum_a(source, length, position)) {
|
if (dc_datum_a(source, length, position)) {
|
||||||
@ -855,7 +855,7 @@ static int dc_encode_message(struct zint_symbol *symbol, const unsigned char sou
|
|||||||
codeword_array[ap++] = source[position] - 32;
|
codeword_array[ap++] = source[position] - 32;
|
||||||
}
|
}
|
||||||
position++;
|
position++;
|
||||||
if (debug_print) printf("E2/2 ");
|
if (debug_print) fputs("E2/2 ", stdout);
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -874,7 +874,7 @@ static int dc_encode_message(struct zint_symbol *symbol, const unsigned char sou
|
|||||||
codeword_array[ap++] = 112; /* Bin Latch */
|
codeword_array[ap++] = 112; /* Bin Latch */
|
||||||
encoding_mode = 'X';
|
encoding_mode = 'X';
|
||||||
}
|
}
|
||||||
if (debug_print) printf("E3 ");
|
if (debug_print) fputs("E3 ", stdout);
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -903,7 +903,7 @@ static int dc_encode_message(struct zint_symbol *symbol, const unsigned char sou
|
|||||||
codeword_array[ap++] = 102; /* Latch B */
|
codeword_array[ap++] = 102; /* Latch B */
|
||||||
encoding_mode = 'B';
|
encoding_mode = 'B';
|
||||||
}
|
}
|
||||||
if (debug_print) printf("E4 ");
|
if (debug_print) fputs("E4 ", stdout);
|
||||||
continue;
|
continue;
|
||||||
} /* encoding_mode == 'A' */
|
} /* encoding_mode == 'A' */
|
||||||
|
|
||||||
@ -924,7 +924,7 @@ static int dc_encode_message(struct zint_symbol *symbol, const unsigned char sou
|
|||||||
codeword_array[ap++] = 111; /* Terminate with Latch to C */
|
codeword_array[ap++] = 111; /* Terminate with Latch to C */
|
||||||
encoding_mode = 'C';
|
encoding_mode = 'C';
|
||||||
}
|
}
|
||||||
if (debug_print) printf("F1 ");
|
if (debug_print) fputs("F1 ", stdout);
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -939,7 +939,7 @@ static int dc_encode_message(struct zint_symbol *symbol, const unsigned char sou
|
|||||||
|| dc_binary(source, length, position + 3)) {
|
|| dc_binary(source, length, position + 3)) {
|
||||||
ap = dc_append_to_bin_buf(codeword_array, ap, source[position], &bin_buf, &bin_buf_size);
|
ap = dc_append_to_bin_buf(codeword_array, ap, source[position], &bin_buf, &bin_buf_size);
|
||||||
position++;
|
position++;
|
||||||
if (debug_print) printf("F2 ");
|
if (debug_print) fputs("F2 ", stdout);
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -953,7 +953,7 @@ static int dc_encode_message(struct zint_symbol *symbol, const unsigned char sou
|
|||||||
codeword_array[ap++] = 110; /* Terminate with Latch to B */
|
codeword_array[ap++] = 110; /* Terminate with Latch to B */
|
||||||
encoding_mode = 'B';
|
encoding_mode = 'B';
|
||||||
}
|
}
|
||||||
if (debug_print) printf("F3 ");
|
if (debug_print) fputs("F3 ", stdout);
|
||||||
} /* encoding_mode == 'X' */
|
} /* encoding_mode == 'X' */
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -987,7 +987,7 @@ static int dc_encode_message(struct zint_symbol *symbol, const unsigned char sou
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (debug_print) {
|
if (debug_print) {
|
||||||
printf("\n");
|
fputc('\n', stdout);
|
||||||
}
|
}
|
||||||
|
|
||||||
*p_encoding_mode = encoding_mode;
|
*p_encoding_mode = encoding_mode;
|
||||||
@ -1404,11 +1404,11 @@ INTERNAL int dotcode(struct zint_symbol *symbol, struct zint_seg segs[], const i
|
|||||||
|
|
||||||
if (debug_print) {
|
if (debug_print) {
|
||||||
printf("Codeword length = %d, ECC length = %d\n", data_length, ecc_length);
|
printf("Codeword length = %d, ECC length = %d\n", data_length, ecc_length);
|
||||||
printf("Codewords:");
|
fputs("Codewords:", stdout);
|
||||||
for (i = 0; i < data_length; i++) {
|
for (i = 0; i < data_length; i++) {
|
||||||
printf(" %d", codeword_array[i]);
|
printf(" %d", codeword_array[i]);
|
||||||
}
|
}
|
||||||
printf("\n");
|
fputc('\n', stdout);
|
||||||
}
|
}
|
||||||
#ifdef ZINT_TEST
|
#ifdef ZINT_TEST
|
||||||
if (symbol->debug & ZINT_DEBUG_TEST) {
|
if (symbol->debug & ZINT_DEBUG_TEST) {
|
||||||
@ -1507,12 +1507,12 @@ INTERNAL int dotcode(struct zint_symbol *symbol, struct zint_seg segs[], const i
|
|||||||
for (i = 1; i < data_length + 1; i++) {
|
for (i = 1; i < data_length + 1; i++) {
|
||||||
printf(" [%d]", masked_codeword_array[i]);
|
printf(" [%d]", masked_codeword_array[i]);
|
||||||
}
|
}
|
||||||
printf("\n");
|
fputc('\n', stdout);
|
||||||
printf("Masked ECCs (%d):", ecc_length);
|
printf("Masked ECCs (%d):", ecc_length);
|
||||||
for (i = data_length + 1; i < data_length + ecc_length + 1; i++) {
|
for (i = data_length + 1; i < data_length + ecc_length + 1; i++) {
|
||||||
printf(" [%d]", masked_codeword_array[i]);
|
printf(" [%d]", masked_codeword_array[i]);
|
||||||
}
|
}
|
||||||
printf("\n");
|
fputc('\n', stdout);
|
||||||
}
|
}
|
||||||
|
|
||||||
dot_stream_length = dc_make_dotstream(masked_codeword_array, (data_length + ecc_length + 1), dot_stream);
|
dot_stream_length = dc_make_dotstream(masked_codeword_array, (data_length + ecc_length + 1), dot_stream);
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
/* eci.c - Extended Channel Interpretations */
|
/* eci.c - Extended Channel Interpretations */
|
||||||
/*
|
/*
|
||||||
libzint - the open source barcode library
|
libzint - the open source barcode library
|
||||||
Copyright (C) 2009-2022 Robin Stuart <rstuart114@gmail.com>
|
Copyright (C) 2009-2023 Robin Stuart <rstuart114@gmail.com>
|
||||||
|
|
||||||
Redistribution and use in source and binary forms, with or without
|
Redistribution and use in source and binary forms, with or without
|
||||||
modification, are permitted provided that the following conditions
|
modification, are permitted provided that the following conditions
|
||||||
@ -697,9 +697,9 @@ INTERNAL int get_eci_length_segs(const struct zint_seg segs[], const int seg_cou
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* Convert UTF-8 to other character encodings */
|
/* Convert UTF-8 to other character encodings */
|
||||||
|
typedef int (*eci_func_t)(const unsigned int u, unsigned char *dest);
|
||||||
INTERNAL int utf8_to_eci(const int eci, const unsigned char source[], unsigned char dest[], int *p_length) {
|
INTERNAL int utf8_to_eci(const int eci, const unsigned char source[], unsigned char dest[], int *p_length) {
|
||||||
|
|
||||||
typedef int (*eci_func_t)(const unsigned int u, unsigned char *dest);
|
|
||||||
static const eci_func_t eci_funcs[36] = {
|
static const eci_func_t eci_funcs[36] = {
|
||||||
NULL, NULL, NULL, NULL, u_iso8859_2, /*0-4*/
|
NULL, NULL, NULL, NULL, u_iso8859_2, /*0-4*/
|
||||||
u_iso8859_3, u_iso8859_4, u_iso8859_5, u_iso8859_6, u_iso8859_7, /*5-9*/
|
u_iso8859_3, u_iso8859_4, u_iso8859_5, u_iso8859_6, u_iso8859_7, /*5-9*/
|
||||||
|
104
backend/emf.c
104
backend/emf.c
@ -46,11 +46,11 @@
|
|||||||
#include "emf.h"
|
#include "emf.h"
|
||||||
|
|
||||||
/* Multiply truncating to 3 decimal places (avoids rounding differences on various platforms) */
|
/* Multiply truncating to 3 decimal places (avoids rounding differences on various platforms) */
|
||||||
#define mul3dpf(m, arg) stripf(roundf(m * arg * 1000.0) / 1000.0f)
|
#define mul3dpf(m, arg) stripf(roundf((m) * (arg) * 1000.0) / 1000.0f)
|
||||||
|
|
||||||
static int count_rectangles(struct zint_symbol *symbol) {
|
static int emf_count_rectangles(const struct zint_symbol *symbol) {
|
||||||
int rectangles = 0;
|
int rectangles = 0;
|
||||||
struct zint_vector_rect *rect;
|
const struct zint_vector_rect *rect;
|
||||||
|
|
||||||
rect = symbol->vector->rectangles;
|
rect = symbol->vector->rectangles;
|
||||||
while (rect) {
|
while (rect) {
|
||||||
@ -61,9 +61,9 @@ static int count_rectangles(struct zint_symbol *symbol) {
|
|||||||
return rectangles;
|
return rectangles;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int count_circles(struct zint_symbol *symbol) {
|
static int emf_count_circles(const struct zint_symbol *symbol) {
|
||||||
int circles = 0;
|
int circles = 0;
|
||||||
struct zint_vector_circle *circ;
|
const struct zint_vector_circle *circ;
|
||||||
|
|
||||||
circ = symbol->vector->circles;
|
circ = symbol->vector->circles;
|
||||||
while (circ) {
|
while (circ) {
|
||||||
@ -75,9 +75,9 @@ static int count_circles(struct zint_symbol *symbol) {
|
|||||||
return symbol->symbology == BARCODE_MAXICODE ? circles * 2 : circles;
|
return symbol->symbology == BARCODE_MAXICODE ? circles * 2 : circles;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int count_hexagons(struct zint_symbol *symbol) {
|
static int emf_count_hexagons(const struct zint_symbol *symbol) {
|
||||||
int hexagons = 0;
|
int hexagons = 0;
|
||||||
struct zint_vector_hexagon *hex;
|
const struct zint_vector_hexagon *hex;
|
||||||
|
|
||||||
hex = symbol->vector->hexagons;
|
hex = symbol->vector->hexagons;
|
||||||
while (hex) {
|
while (hex) {
|
||||||
@ -88,13 +88,13 @@ static int count_hexagons(struct zint_symbol *symbol) {
|
|||||||
return hexagons;
|
return hexagons;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int count_strings(struct zint_symbol *symbol, float *fsize, float *fsize2, int *halign, int *halign1,
|
static int emf_count_strings(const struct zint_symbol *symbol, float *fsize, float *fsize2, int *halign_left,
|
||||||
int *halign2) {
|
int *halign_right) {
|
||||||
int strings = 0;
|
int strings = 0;
|
||||||
struct zint_vector_string *str;
|
const struct zint_vector_string *str;
|
||||||
|
|
||||||
*fsize = *fsize2 = 0.0f;
|
*fsize = *fsize2 = 0.0f;
|
||||||
*halign = *halign1 = *halign2 = 0;
|
*halign_left = *halign_right = 0;
|
||||||
|
|
||||||
str = symbol->vector->strings;
|
str = symbol->vector->strings;
|
||||||
while (str) {
|
while (str) {
|
||||||
@ -104,12 +104,12 @@ static int count_strings(struct zint_symbol *symbol, float *fsize, float *fsize2
|
|||||||
} else if (str->fsize != *fsize && *fsize2 == 0.0f) {
|
} else if (str->fsize != *fsize && *fsize2 == 0.0f) {
|
||||||
*fsize2 = str->fsize;
|
*fsize2 = str->fsize;
|
||||||
}
|
}
|
||||||
/* Only 3 haligns possible */
|
/* Only 3 haligns possible and centre align always assumed used */
|
||||||
if (str->halign) {
|
if (str->halign) { /* Left or right align */
|
||||||
if (str->halign == 1) {
|
if (str->halign == 1) { /* Left align */
|
||||||
*halign1 = str->halign;
|
*halign_left = str->halign;
|
||||||
} else {
|
} else { /* Right align */
|
||||||
*halign2 = str->halign;
|
*halign_right = str->halign;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
strings++;
|
strings++;
|
||||||
@ -119,11 +119,11 @@ static int count_strings(struct zint_symbol *symbol, float *fsize, float *fsize2
|
|||||||
return strings;
|
return strings;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void utfle_copy(unsigned char *output, unsigned char *input, int length) {
|
/* Convert UTF-8 to UTF-16LE - only needs to handle characters <= U+00FF */
|
||||||
|
static void emf_utfle_copy(unsigned char *output, const unsigned char *input, const int length) {
|
||||||
int i;
|
int i;
|
||||||
int o;
|
int o;
|
||||||
|
|
||||||
/* Convert UTF-8 to UTF-16LE - only needs to handle characters <= U+00FF */
|
|
||||||
i = 0;
|
i = 0;
|
||||||
o = 0;
|
o = 0;
|
||||||
do {
|
do {
|
||||||
@ -143,15 +143,12 @@ static void utfle_copy(unsigned char *output, unsigned char *input, int length)
|
|||||||
} while (i < length);
|
} while (i < length);
|
||||||
}
|
}
|
||||||
|
|
||||||
static int bump_up(int input) {
|
|
||||||
/* Strings length must be a multiple of 4 bytes */
|
/* Strings length must be a multiple of 4 bytes */
|
||||||
if ((input & 1) == 1) {
|
static int emf_bump_up(const int input) {
|
||||||
input++;
|
return (input + (input & 1)) << 1;
|
||||||
}
|
|
||||||
return input;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static int utfle_length(unsigned char *input, int length) {
|
static int emf_utfle_length(const unsigned char *input, const int length) {
|
||||||
int result = 0;
|
int result = 0;
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
@ -227,12 +224,11 @@ INTERNAL int emf_plot(struct zint_symbol *symbol, int rotate_angle) {
|
|||||||
float fsize2;
|
float fsize2;
|
||||||
emr_extcreatefontindirectw_t emr_extcreatefontindirectw2;
|
emr_extcreatefontindirectw_t emr_extcreatefontindirectw2;
|
||||||
emr_selectobject_t emr_selectobject_font2;
|
emr_selectobject_t emr_selectobject_font2;
|
||||||
int halign;
|
emr_settextalign_t emr_settextalign_centre; /* Centre align */
|
||||||
emr_settextalign_t emr_settextalign;
|
int halign_left; /* Set if left halign used */
|
||||||
int halign1;
|
emr_settextalign_t emr_settextalign_left;
|
||||||
emr_settextalign_t emr_settextalign1;
|
int halign_right; /* Set if right halign used */
|
||||||
int halign2;
|
emr_settextalign_t emr_settextalign_right;
|
||||||
emr_settextalign_t emr_settextalign2;
|
|
||||||
|
|
||||||
float current_fsize;
|
float current_fsize;
|
||||||
int current_halign;
|
int current_halign;
|
||||||
@ -254,10 +250,10 @@ INTERNAL int emf_plot(struct zint_symbol *symbol, int rotate_angle) {
|
|||||||
draw_background = 0;
|
draw_background = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
rectangle_count = count_rectangles(symbol);
|
rectangle_count = emf_count_rectangles(symbol);
|
||||||
circle_count = count_circles(symbol);
|
circle_count = emf_count_circles(symbol);
|
||||||
hexagon_count = count_hexagons(symbol);
|
hexagon_count = emf_count_hexagons(symbol);
|
||||||
string_count = count_strings(symbol, &fsize, &fsize2, &halign, &halign1, &halign2);
|
string_count = emf_count_strings(symbol, &fsize, &fsize2, &halign_left, &halign_right);
|
||||||
|
|
||||||
/* Avoid sanitize runtime error by making always non-zero */
|
/* Avoid sanitize runtime error by making always non-zero */
|
||||||
rectangle = (emr_rectangle_t *) z_alloca(sizeof(emr_rectangle_t) * (rectangle_count ? rectangle_count : 1));
|
rectangle = (emr_rectangle_t *) z_alloca(sizeof(emr_rectangle_t) * (rectangle_count ? rectangle_count : 1));
|
||||||
@ -565,7 +561,7 @@ INTERNAL int emf_plot(struct zint_symbol *symbol, int rotate_angle) {
|
|||||||
emr_extcreatefontindirectw.elw.out_precision = 0x00; /* OUT_DEFAULT_PRECIS */
|
emr_extcreatefontindirectw.elw.out_precision = 0x00; /* OUT_DEFAULT_PRECIS */
|
||||||
emr_extcreatefontindirectw.elw.clip_precision = 0x00; /* CLIP_DEFAULT_PRECIS */
|
emr_extcreatefontindirectw.elw.clip_precision = 0x00; /* CLIP_DEFAULT_PRECIS */
|
||||||
emr_extcreatefontindirectw.elw.pitch_and_family = 0x02 | (0x02 << 6); /* FF_SWISS | VARIABLE_PITCH */
|
emr_extcreatefontindirectw.elw.pitch_and_family = 0x02 | (0x02 << 6); /* FF_SWISS | VARIABLE_PITCH */
|
||||||
utfle_copy(emr_extcreatefontindirectw.elw.facename, (unsigned char *) "sans-serif", 10);
|
emf_utfle_copy(emr_extcreatefontindirectw.elw.facename, (const unsigned char *) "sans-serif", 10);
|
||||||
bytecount += 104;
|
bytecount += 104;
|
||||||
recordcount++;
|
recordcount++;
|
||||||
|
|
||||||
@ -591,18 +587,18 @@ INTERNAL int emf_plot(struct zint_symbol *symbol, int rotate_angle) {
|
|||||||
|
|
||||||
/* Note select aligns counted below in strings loop */
|
/* Note select aligns counted below in strings loop */
|
||||||
|
|
||||||
emr_settextalign.type = 0x00000016; /* EMR_SETTEXTALIGN */
|
emr_settextalign_centre.type = 0x00000016; /* EMR_SETTEXTALIGN */
|
||||||
emr_settextalign.size = 12;
|
emr_settextalign_centre.size = 12;
|
||||||
emr_settextalign.text_alignment_mode = 0x0006 | 0x0018; /* TA_CENTER | TA_BASELINE */
|
emr_settextalign_centre.text_alignment_mode = 0x0006 | 0x0018; /* TA_CENTER | TA_BASELINE */
|
||||||
if (halign1) {
|
if (halign_left) {
|
||||||
emr_settextalign1.type = 0x00000016; /* EMR_SETTEXTALIGN */
|
emr_settextalign_left.type = 0x00000016; /* EMR_SETTEXTALIGN */
|
||||||
emr_settextalign1.size = 12;
|
emr_settextalign_left.size = 12;
|
||||||
emr_settextalign1.text_alignment_mode = 0x0000 | 0x0018; /* TA_LEFT | TA_BASELINE */
|
emr_settextalign_left.text_alignment_mode = 0x0000 | 0x0018; /* TA_LEFT | TA_BASELINE */
|
||||||
}
|
}
|
||||||
if (halign2) {
|
if (halign_right) {
|
||||||
emr_settextalign2.type = 0x00000016; /* EMR_SETTEXTALIGN */
|
emr_settextalign_right.type = 0x00000016; /* EMR_SETTEXTALIGN */
|
||||||
emr_settextalign2.size = 12;
|
emr_settextalign_right.size = 12;
|
||||||
emr_settextalign2.text_alignment_mode = 0x0002 | 0x0018; /* TA_RIGHT | TA_BASELINE */
|
emr_settextalign_right.text_alignment_mode = 0x0002 | 0x0018; /* TA_RIGHT | TA_BASELINE */
|
||||||
}
|
}
|
||||||
|
|
||||||
emr_settextcolor.type = 0x0000018; /* EMR_SETTEXTCOLOR */
|
emr_settextcolor.type = 0x0000018; /* EMR_SETTEXTCOLOR */
|
||||||
@ -636,8 +632,8 @@ INTERNAL int emf_plot(struct zint_symbol *symbol, int rotate_angle) {
|
|||||||
recordcount++;
|
recordcount++;
|
||||||
}
|
}
|
||||||
assert(str->length > 0);
|
assert(str->length > 0);
|
||||||
utfle_len = utfle_length(str->text, str->length);
|
utfle_len = emf_utfle_length(str->text, str->length);
|
||||||
bumped_len = bump_up(utfle_len) * 2;
|
bumped_len = emf_bump_up(utfle_len);
|
||||||
if (!(this_string[this_text] = (unsigned char *) malloc(bumped_len))) {
|
if (!(this_string[this_text] = (unsigned char *) malloc(bumped_len))) {
|
||||||
for (i = 0; i < this_text; i++) {
|
for (i = 0; i < this_text; i++) {
|
||||||
free(this_string[i]);
|
free(this_string[i]);
|
||||||
@ -665,7 +661,7 @@ INTERNAL int emf_plot(struct zint_symbol *symbol, int rotate_angle) {
|
|||||||
text[this_text].w_emr_text.rectangle.right = 0xffffffff;
|
text[this_text].w_emr_text.rectangle.right = 0xffffffff;
|
||||||
text[this_text].w_emr_text.rectangle.bottom = 0xffffffff;
|
text[this_text].w_emr_text.rectangle.bottom = 0xffffffff;
|
||||||
text[this_text].w_emr_text.off_dx = 0;
|
text[this_text].w_emr_text.off_dx = 0;
|
||||||
utfle_copy(this_string[this_text], str->text, str->length);
|
emf_utfle_copy(this_string[this_text], str->text, str->length);
|
||||||
bytecount += 76 + bumped_len;
|
bytecount += 76 + bumped_len;
|
||||||
recordcount++;
|
recordcount++;
|
||||||
|
|
||||||
@ -810,15 +806,15 @@ INTERNAL int emf_plot(struct zint_symbol *symbol, int rotate_angle) {
|
|||||||
if (text_haligns[i] != current_halign) {
|
if (text_haligns[i] != current_halign) {
|
||||||
current_halign = text_haligns[i];
|
current_halign = text_haligns[i];
|
||||||
if (current_halign == 0) {
|
if (current_halign == 0) {
|
||||||
fwrite(&emr_settextalign, sizeof(emr_settextalign_t), 1, emf_file);
|
fwrite(&emr_settextalign_centre, sizeof(emr_settextalign_t), 1, emf_file);
|
||||||
} else if (current_halign == 1) {
|
} else if (current_halign == 1) {
|
||||||
fwrite(&emr_settextalign1, sizeof(emr_settextalign_t), 1, emf_file);
|
fwrite(&emr_settextalign_left, sizeof(emr_settextalign_t), 1, emf_file);
|
||||||
} else {
|
} else {
|
||||||
fwrite(&emr_settextalign2, sizeof(emr_settextalign_t), 1, emf_file);
|
fwrite(&emr_settextalign_right, sizeof(emr_settextalign_t), 1, emf_file);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
fwrite(&text[i], sizeof(emr_exttextoutw_t), 1, emf_file);
|
fwrite(&text[i], sizeof(emr_exttextoutw_t), 1, emf_file);
|
||||||
fwrite(this_string[i], bump_up(text[i].w_emr_text.chars) * 2, 1, emf_file);
|
fwrite(this_string[i], emf_bump_up(text[i].w_emr_text.chars), 1, emf_file);
|
||||||
free(this_string[i]);
|
free(this_string[i]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
211
backend/fonts/upcean_ttf.h
Normal file
211
backend/fonts/upcean_ttf.h
Normal file
@ -0,0 +1,211 @@
|
|||||||
|
/* fonts/upcean_ttf.h - OCR-B TrueType (EAN/UPC subset) as static array */
|
||||||
|
/*
|
||||||
|
libzint - the open source barcode library
|
||||||
|
Copyright (C) 2023 Robin Stuart <rstuart114@gmail.com>
|
||||||
|
|
||||||
|
Redistribution and use in source and binary forms, with or without
|
||||||
|
modification, are permitted provided that the following conditions
|
||||||
|
are met:
|
||||||
|
|
||||||
|
1. Redistributions of source code must retain the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer.
|
||||||
|
2. Redistributions in binary form must reproduce the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer in the
|
||||||
|
documentation and/or other materials provided with the distribution.
|
||||||
|
3. Neither the name of the project nor the names of its contributors
|
||||||
|
may be used to endorse or promote products derived from this software
|
||||||
|
without specific prior written permission.
|
||||||
|
|
||||||
|
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
||||||
|
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||||
|
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||||
|
ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
|
||||||
|
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||||
|
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
||||||
|
OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||||
|
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||||
|
LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
||||||
|
OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||||
|
SUCH DAMAGE.
|
||||||
|
*/
|
||||||
|
/* SPDX-License-Identifier: BSD-3-Clause */
|
||||||
|
|
||||||
|
#ifndef Z_UPCEAN_TTF_H
|
||||||
|
#define Z_UPCEAN_TTF_H
|
||||||
|
|
||||||
|
/* Adapted from OCR-B font version 0.2 Matthew Skala
|
||||||
|
* https://tsukurimashou.osdn.jp/ocr.php.en
|
||||||
|
*
|
||||||
|
* Copyright Matthew Skala (2011); based on code by Norbert Schwarz (1986, 2011)
|
||||||
|
*
|
||||||
|
* "The version in this package descends from a set of Metafont
|
||||||
|
* definitions by Norbert Schwarz of Ruhr-Universitaet Bochum,
|
||||||
|
* bearing dates ranging from 1986 to 2010. He originally
|
||||||
|
* distributed it under a "non-commercial use only"
|
||||||
|
* restriction but has since released it for unrestricted use
|
||||||
|
* and distribution. See the README file for more details."
|
||||||
|
*
|
||||||
|
* The README states (http://mirrors.ctan.org/fonts/ocr-b.zip)
|
||||||
|
*
|
||||||
|
* "As far as the digitization in METAFONT input which I have
|
||||||
|
* developed, you may freely use, modify, and/or distribute any of
|
||||||
|
* these files or the resulting fonts, without limitation. A previous
|
||||||
|
* release of ocr-b only granted rights for non-commercial use; that
|
||||||
|
* restriction is now lifted."
|
||||||
|
*/
|
||||||
|
static const unsigned char upcean_ttf[2404] = {
|
||||||
|
0x00, 0x01, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x80, 0x00, 0x03, 0x00, 0x60, 0x47, 0x44, 0x45, 0x46,
|
||||||
|
0x00, 0x11, 0x00, 0x0d, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x00, 0x16, 0x47, 0x50, 0x4f, 0x53,
|
||||||
|
0x44, 0x76, 0x4c, 0x75, 0x00, 0x00, 0x09, 0x18, 0x00, 0x00, 0x00, 0x20, 0x47, 0x53, 0x55, 0x42,
|
||||||
|
0xb8, 0xfa, 0xb8, 0xf4, 0x00, 0x00, 0x09, 0x38, 0x00, 0x00, 0x00, 0x2a, 0x4f, 0x53, 0x2f, 0x32,
|
||||||
|
0x56, 0xd8, 0x60, 0xec, 0x00, 0x00, 0x06, 0xc4, 0x00, 0x00, 0x00, 0x56, 0x63, 0x6d, 0x61, 0x70,
|
||||||
|
0x00, 0x59, 0x00, 0xea, 0x00, 0x00, 0x07, 0x1c, 0x00, 0x00, 0x00, 0x44, 0x67, 0x61, 0x73, 0x70,
|
||||||
|
0xff, 0xff, 0x00, 0x03, 0x00, 0x00, 0x08, 0xf8, 0x00, 0x00, 0x00, 0x08, 0x67, 0x6c, 0x79, 0x66,
|
||||||
|
0x5a, 0xc9, 0xa9, 0xf4, 0x00, 0x00, 0x00, 0xec, 0x00, 0x00, 0x05, 0x22, 0x68, 0x65, 0x61, 0x64,
|
||||||
|
0xfa, 0xed, 0xa9, 0xe5, 0x00, 0x00, 0x06, 0x4c, 0x00, 0x00, 0x00, 0x36, 0x68, 0x68, 0x65, 0x61,
|
||||||
|
0x06, 0xc0, 0x01, 0x48, 0x00, 0x00, 0x06, 0xa0, 0x00, 0x00, 0x00, 0x24, 0x68, 0x6d, 0x74, 0x78,
|
||||||
|
0x05, 0x8a, 0x02, 0xdf, 0x00, 0x00, 0x06, 0x84, 0x00, 0x00, 0x00, 0x1c, 0x6c, 0x6f, 0x63, 0x61,
|
||||||
|
0x08, 0x29, 0x09, 0x54, 0x00, 0x00, 0x06, 0x30, 0x00, 0x00, 0x00, 0x1c, 0x6d, 0x61, 0x78, 0x70,
|
||||||
|
0x00, 0x54, 0x00, 0x5a, 0x00, 0x00, 0x06, 0x10, 0x00, 0x00, 0x00, 0x20, 0x6e, 0x61, 0x6d, 0x65,
|
||||||
|
0x19, 0xeb, 0x33, 0x64, 0x00, 0x00, 0x07, 0x60, 0x00, 0x00, 0x01, 0x76, 0x70, 0x6f, 0x73, 0x74,
|
||||||
|
0x00, 0x03, 0x00, 0x01, 0x00, 0x00, 0x08, 0xd8, 0x00, 0x00, 0x00, 0x20, 0x00, 0x02, 0x00, 0x71,
|
||||||
|
0xff, 0xf2, 0x02, 0x65, 0x03, 0x05, 0x00, 0x1d, 0x00, 0x31, 0x00, 0x00, 0x13, 0x34, 0x3e, 0x04,
|
||||||
|
0x33, 0x32, 0x1e, 0x04, 0x15, 0x14, 0x0e, 0x02, 0x07, 0x22, 0x06, 0x23, 0x22, 0x26, 0x23, 0x22,
|
||||||
|
0x2e, 0x02, 0x37, 0x14, 0x17, 0x16, 0x3b, 0x01, 0x32, 0x11, 0x35, 0x34, 0x2e, 0x02, 0x27, 0x26,
|
||||||
|
0x23, 0x22, 0x06, 0x07, 0x06, 0x71, 0x05, 0x10, 0x22, 0x36, 0x54, 0x39, 0x38, 0x54, 0x36, 0x22,
|
||||||
|
0x11, 0x05, 0x14, 0x2c, 0x54, 0x3a, 0x03, 0x0a, 0x02, 0x05, 0x13, 0x05, 0x48, 0x66, 0x35, 0x17,
|
||||||
|
0x64, 0x66, 0x0a, 0x26, 0x16, 0x80, 0x05, 0x13, 0x2c, 0x23, 0x09, 0x26, 0x3d, 0x3d, 0x0d, 0x0f,
|
||||||
|
0x01, 0x57, 0x43, 0x5c, 0x6c, 0x47, 0x3e, 0x1e, 0x1e, 0x3e, 0x48, 0x6b, 0x5d, 0x42, 0x45, 0x73,
|
||||||
|
0x68, 0x3f, 0x05, 0x01, 0x01, 0x37, 0x66, 0x79, 0x4e, 0xe8, 0x16, 0x02, 0x01, 0x00, 0x2e, 0x3a,
|
||||||
|
0x4b, 0x5a, 0x34, 0x07, 0x02, 0x32, 0x36, 0x3e, 0x00, 0x01, 0x00, 0x90, 0xff, 0xf6, 0x01, 0xc8,
|
||||||
|
0x03, 0x02, 0x00, 0x15, 0x00, 0x00, 0x13, 0x34, 0x3f, 0x01, 0x36, 0x3b, 0x01, 0x32, 0x16, 0x15,
|
||||||
|
0x11, 0x14, 0x06, 0x22, 0x26, 0x35, 0x11, 0x07, 0x06, 0x23, 0x22, 0x26, 0x90, 0x0f, 0xb7, 0x0e,
|
||||||
|
0x12, 0x20, 0x14, 0x1e, 0x1e, 0x28, 0x1e, 0x81, 0x0d, 0x14, 0x15, 0x1d, 0x02, 0x36, 0x17, 0x0c,
|
||||||
|
0x9d, 0x0c, 0x1e, 0x14, 0xfd, 0x58, 0x14, 0x1e, 0x1d, 0x15, 0x02, 0x56, 0x6e, 0x0c, 0x1e, 0x00,
|
||||||
|
0x00, 0x01, 0x00, 0x82, 0x00, 0x01, 0x02, 0x51, 0x03, 0x05, 0x00, 0x2f, 0x00, 0x00, 0x13, 0x34,
|
||||||
|
0x37, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x0e, 0x03, 0x07, 0x0e, 0x03, 0x07, 0x21, 0x32, 0x16,
|
||||||
|
0x14, 0x06, 0x23, 0x21, 0x22, 0x26, 0x3d, 0x01, 0x34, 0x37, 0x3e, 0x01, 0x37, 0x36, 0x37, 0x36,
|
||||||
|
0x35, 0x34, 0x26, 0x23, 0x22, 0x07, 0x06, 0x23, 0x22, 0x26, 0x82, 0x15, 0x5c, 0x78, 0x61, 0x7f,
|
||||||
|
0x1b, 0x21, 0x41, 0x23, 0x25, 0x28, 0x23, 0x31, 0x16, 0x02, 0x01, 0x2d, 0x15, 0x1d, 0x1e, 0x14,
|
||||||
|
0xfe, 0xa0, 0x14, 0x1e, 0x0a, 0x12, 0x5f, 0x48, 0x62, 0x1a, 0x1b, 0x47, 0x35, 0x5d, 0x3d, 0x0c,
|
||||||
|
0x11, 0x14, 0x1e, 0x02, 0x9e, 0x1c, 0x0e, 0x3d, 0x76, 0x5f, 0x26, 0x46, 0x2d, 0x37, 0x18, 0x17,
|
||||||
|
0x19, 0x1a, 0x32, 0x3d, 0x2a, 0x1e, 0x28, 0x1e, 0x1e, 0x14, 0x15, 0x4f, 0x22, 0x3e, 0x60, 0x2e,
|
||||||
|
0x3f, 0x23, 0x23, 0x26, 0x33, 0x3e, 0x2b, 0x09, 0x1e, 0x00, 0x00, 0x01, 0x00, 0x71, 0xff, 0xf3,
|
||||||
|
0x02, 0x5c, 0x02, 0xf6, 0x00, 0x2d, 0x00, 0x00, 0x37, 0x34, 0x36, 0x33, 0x32, 0x17, 0x16, 0x33,
|
||||||
|
0x32, 0x36, 0x37, 0x35, 0x34, 0x26, 0x23, 0x22, 0x26, 0x34, 0x3f, 0x01, 0x21, 0x22, 0x26, 0x35,
|
||||||
|
0x34, 0x36, 0x33, 0x21, 0x32, 0x16, 0x1d, 0x01, 0x14, 0x0f, 0x01, 0x1e, 0x01, 0x1d, 0x01, 0x0e,
|
||||||
|
0x01, 0x23, 0x22, 0x2e, 0x02, 0x71, 0x1e, 0x14, 0x07, 0x0c, 0x3f, 0x48, 0x4e, 0x69, 0x04, 0x77,
|
||||||
|
0x55, 0x14, 0x1e, 0x0b, 0xb8, 0xfe, 0xe9, 0x14, 0x1e, 0x1d, 0x15, 0x01, 0x6b, 0x14, 0x1e, 0x0f,
|
||||||
|
0x9f, 0x5a, 0x6d, 0x05, 0xa3, 0x77, 0x1d, 0x3b, 0x47, 0x2d, 0x45, 0x15, 0x1d, 0x04, 0x1c, 0x49,
|
||||||
|
0x47, 0x09, 0x48, 0x48, 0x1e, 0x28, 0x0b, 0xc1, 0x1e, 0x14, 0x15, 0x1d, 0x1e, 0x14, 0x23, 0x12,
|
||||||
|
0x0f, 0xa8, 0x17, 0x76, 0x5a, 0x0f, 0x6e, 0x81, 0x06, 0x0f, 0x23, 0x00, 0x00, 0x01, 0x00, 0x71,
|
||||||
|
0xff, 0xf6, 0x02, 0x65, 0x03, 0x02, 0x00, 0x26, 0x00, 0x00, 0x37, 0x35, 0x34, 0x37, 0x13, 0x3e,
|
||||||
|
0x01, 0x33, 0x32, 0x16, 0x15, 0x14, 0x07, 0x03, 0x33, 0x35, 0x34, 0x36, 0x32, 0x16, 0x1d, 0x01,
|
||||||
|
0x33, 0x32, 0x16, 0x14, 0x06, 0x2b, 0x01, 0x15, 0x14, 0x06, 0x22, 0x26, 0x3d, 0x01, 0x23, 0x22,
|
||||||
|
0x26, 0x71, 0x05, 0xd9, 0x05, 0x1a, 0x0e, 0x14, 0x1e, 0x05, 0xcc, 0xbd, 0x1e, 0x28, 0x1e, 0x35,
|
||||||
|
0x15, 0x1d, 0x1e, 0x14, 0x35, 0x1e, 0x28, 0x1e, 0xf7, 0x14, 0x1e, 0xd6, 0x2b, 0x09, 0x0c, 0x01,
|
||||||
|
0xcf, 0x0c, 0x11, 0x1e, 0x14, 0x0b, 0x0a, 0xfe, 0x4d, 0x74, 0x14, 0x1e, 0x1e, 0x14, 0x74, 0x1e,
|
||||||
|
0x28, 0x1e, 0x7c, 0x14, 0x1e, 0x1e, 0x14, 0x7c, 0x1d, 0x00, 0x00, 0x01, 0x00, 0x8b, 0xff, 0xf3,
|
||||||
|
0x02, 0x3d, 0x02, 0xf6, 0x00, 0x27, 0x00, 0x00, 0x36, 0x34, 0x36, 0x33, 0x32, 0x37, 0x36, 0x35,
|
||||||
|
0x34, 0x27, 0x26, 0x23, 0x22, 0x07, 0x23, 0x22, 0x26, 0x3d, 0x01, 0x37, 0x3e, 0x01, 0x33, 0x21,
|
||||||
|
0x32, 0x16, 0x14, 0x06, 0x2b, 0x01, 0x07, 0x33, 0x32, 0x16, 0x15, 0x14, 0x07, 0x06, 0x23, 0x22,
|
||||||
|
0x8b, 0x1e, 0x14, 0xce, 0x3d, 0x11, 0x21, 0x2e, 0x75, 0x21, 0x1f, 0x04, 0x14, 0x1e, 0x0e, 0x02,
|
||||||
|
0x1c, 0x14, 0x01, 0x26, 0x15, 0x1d, 0x1e, 0x14, 0xf7, 0x08, 0x0f, 0x88, 0xa0, 0x55, 0x65, 0xc6,
|
||||||
|
0x14, 0x10, 0x2a, 0x1d, 0x6c, 0x20, 0x1e, 0x46, 0x24, 0x32, 0x03, 0x1c, 0x13, 0x03, 0xfb, 0x14,
|
||||||
|
0x1b, 0x1e, 0x28, 0x1e, 0x91, 0x82, 0x7e, 0x67, 0x4d, 0x5a, 0x00, 0x02, 0x00, 0x71, 0xff, 0xf3,
|
||||||
|
0x02, 0x65, 0x03, 0x02, 0x00, 0x19, 0x00, 0x25, 0x00, 0x00, 0x37, 0x35, 0x34, 0x37, 0x3e, 0x02,
|
||||||
|
0x37, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x07, 0x06, 0x07, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14,
|
||||||
|
0x06, 0x22, 0x26, 0x37, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x06, 0x71,
|
||||||
|
0x46, 0x1c, 0x52, 0x38, 0x34, 0x0d, 0x17, 0x14, 0x1e, 0x0d, 0x76, 0x37, 0x1e, 0x20, 0x74, 0x86,
|
||||||
|
0x8c, 0xdc, 0x89, 0x61, 0x52, 0x44, 0x43, 0x53, 0x4c, 0x4a, 0x48, 0x4e, 0xe5, 0x0c, 0x7e, 0x74,
|
||||||
|
0x2f, 0x69, 0x3f, 0x39, 0x0f, 0x1e, 0x14, 0x13, 0x0f, 0x80, 0x4d, 0x06, 0x8c, 0x76, 0x6b, 0x87,
|
||||||
|
0x85, 0x6d, 0x42, 0x4c, 0x4d, 0x41, 0x4c, 0x52, 0x54, 0x00, 0x00, 0x01, 0x00, 0x71, 0xff, 0xf6,
|
||||||
|
0x02, 0x65, 0x02, 0xf6, 0x00, 0x1d, 0x00, 0x00, 0x13, 0x34, 0x36, 0x33, 0x21, 0x32, 0x16, 0x15,
|
||||||
|
0x14, 0x07, 0x0e, 0x01, 0x07, 0x06, 0x15, 0x14, 0x06, 0x22, 0x26, 0x35, 0x34, 0x37, 0x3e, 0x01,
|
||||||
|
0x37, 0x36, 0x37, 0x21, 0x22, 0x26, 0x71, 0x1d, 0x15, 0x01, 0x90, 0x15, 0x1d, 0x3c, 0x12, 0x6a,
|
||||||
|
0x17, 0x43, 0x1e, 0x28, 0x1e, 0x50, 0x18, 0x6e, 0x11, 0x19, 0x08, 0xfe, 0xac, 0x14, 0x1e, 0x02,
|
||||||
|
0xc4, 0x15, 0x1d, 0x1e, 0x14, 0x4d, 0x58, 0x1b, 0x82, 0x27, 0x76, 0xbd, 0x14, 0x1e, 0x1d, 0x15,
|
||||||
|
0xd8, 0x8c, 0x2a, 0x89, 0x19, 0x26, 0x14, 0x1e, 0x00, 0x03, 0x00, 0x71, 0xff, 0xf3, 0x02, 0x65,
|
||||||
|
0x03, 0x05, 0x00, 0x15, 0x00, 0x20, 0x00, 0x2f, 0x00, 0x00, 0x37, 0x34, 0x37, 0x26, 0x35, 0x34,
|
||||||
|
0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x06, 0x07, 0x16, 0x15, 0x14, 0x06, 0x07, 0x23, 0x22, 0x26,
|
||||||
|
0x37, 0x14, 0x16, 0x3b, 0x01, 0x32, 0x36, 0x35, 0x34, 0x27, 0x06, 0x13, 0x14, 0x1e, 0x02, 0x17,
|
||||||
|
0x3e, 0x03, 0x35, 0x34, 0x26, 0x22, 0x06, 0x71, 0x91, 0x6f, 0x84, 0x54, 0x53, 0x85, 0x3a, 0x35,
|
||||||
|
0x91, 0x77, 0x57, 0x2c, 0x6d, 0x8d, 0x63, 0x56, 0x41, 0x15, 0x35, 0x4c, 0x94, 0x99, 0x23, 0x12,
|
||||||
|
0x29, 0x1c, 0x1d, 0x1d, 0x1d, 0x28, 0x12, 0x4b, 0x52, 0x4b, 0xc8, 0x7c, 0x63, 0x43, 0x6e, 0x4c,
|
||||||
|
0x61, 0x62, 0x4b, 0x3d, 0x53, 0x21, 0x63, 0x7c, 0x51, 0x7d, 0x07, 0x77, 0x5e, 0x35, 0x3c, 0x43,
|
||||||
|
0x2e, 0x5c, 0x4d, 0x4e, 0x01, 0x35, 0x18, 0x24, 0x1e, 0x10, 0x0d, 0x0d, 0x0f, 0x1e, 0x25, 0x18,
|
||||||
|
0x23, 0x26, 0x26, 0x00, 0x00, 0x02, 0x00, 0x71, 0xff, 0xf6, 0x02, 0x65, 0x03, 0x05, 0x00, 0x17,
|
||||||
|
0x00, 0x24, 0x00, 0x00, 0x13, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x06, 0x07, 0x06, 0x07,
|
||||||
|
0x06, 0x23, 0x22, 0x26, 0x34, 0x37, 0x36, 0x37, 0x06, 0x23, 0x22, 0x26, 0x37, 0x14, 0x16, 0x33,
|
||||||
|
0x32, 0x37, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x06, 0x71, 0x92, 0x68, 0x6b, 0x8f, 0x2a, 0x27,
|
||||||
|
0x55, 0x7d, 0x0f, 0x12, 0x14, 0x1e, 0x10, 0x63, 0x46, 0x1b, 0x22, 0x70, 0x8a, 0x64, 0x51, 0x45,
|
||||||
|
0x78, 0x14, 0x0a, 0x52, 0x44, 0x3f, 0x57, 0x02, 0x02, 0x6a, 0x99, 0x8f, 0x74, 0x48, 0x73, 0x43,
|
||||||
|
0x91, 0x70, 0x0d, 0x1d, 0x2a, 0x10, 0x5a, 0x6e, 0x04, 0x8a, 0x67, 0x3f, 0x4e, 0x45, 0x21, 0x27,
|
||||||
|
0x49, 0x56, 0x5e, 0x00, 0x00, 0x01, 0x00, 0x71, 0x00, 0x40, 0x02, 0x65, 0x02, 0xb8, 0x00, 0x14,
|
||||||
|
0x00, 0x00, 0x12, 0x34, 0x37, 0x01, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x07, 0x0d, 0x01, 0x16,
|
||||||
|
0x15, 0x14, 0x06, 0x23, 0x22, 0x27, 0x01, 0x71, 0x0d, 0x01, 0x99, 0x0c, 0x10, 0x14, 0x1e, 0x0f,
|
||||||
|
0xfe, 0xa7, 0x01, 0x59, 0x0f, 0x1e, 0x14, 0x10, 0x0c, 0xfe, 0x67, 0x01, 0x65, 0x2e, 0x0d, 0x01,
|
||||||
|
0x0f, 0x09, 0x1e, 0x14, 0x1a, 0x0a, 0xe6, 0xe6, 0x0f, 0x15, 0x14, 0x1e, 0x09, 0x01, 0x0f, 0x00,
|
||||||
|
0x00, 0x01, 0x00, 0x71, 0x00, 0x40, 0x02, 0x65, 0x02, 0xb8, 0x00, 0x15, 0x00, 0x00, 0x37, 0x34,
|
||||||
|
0x37, 0x2d, 0x01, 0x26, 0x35, 0x34, 0x36, 0x33, 0x32, 0x17, 0x01, 0x16, 0x15, 0x14, 0x07, 0x01,
|
||||||
|
0x06, 0x23, 0x22, 0x26, 0x71, 0x0e, 0x01, 0x59, 0xfe, 0xa7, 0x0e, 0x1e, 0x14, 0x0f, 0x0d, 0x01,
|
||||||
|
0x98, 0x0e, 0x0e, 0xfe, 0x68, 0x0d, 0x0f, 0x14, 0x1e, 0x72, 0x14, 0x10, 0xe6, 0xe6, 0x10, 0x14,
|
||||||
|
0x15, 0x1d, 0x09, 0xfe, 0xf1, 0x0d, 0x17, 0x1b, 0x09, 0xfe, 0xf1, 0x09, 0x1d, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x01, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x57, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02,
|
||||||
|
0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x46, 0x00, 0x6a, 0x00, 0xaf, 0x00, 0xf0, 0x01, 0x27, 0x01, 0x5f,
|
||||||
|
0x01, 0x97, 0x01, 0xc6, 0x02, 0x0c, 0x02, 0x44, 0x02, 0x6a, 0x02, 0x91, 0x00, 0x01, 0x00, 0x00,
|
||||||
|
0x00, 0x02, 0x00, 0x00, 0xb6, 0x0c, 0xeb, 0x74, 0x5f, 0x0f, 0x3c, 0xf5, 0x00, 0x0b, 0x03, 0xe8,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0xcc, 0x8a, 0x33, 0x53, 0x00, 0x00, 0x00, 0x00, 0xcc, 0x8a, 0x33, 0x53,
|
||||||
|
0xff, 0xa9, 0xfe, 0xb0, 0x03, 0x10, 0x03, 0xaa, 0x00, 0x00, 0x00, 0x08, 0x00, 0x02, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x02, 0xd3, 0x00, 0x00, 0x00, 0x71, 0x00, 0x90, 0x00, 0x82, 0x00, 0x71,
|
||||||
|
0x00, 0x71, 0x00, 0x8b, 0x00, 0x71, 0x00, 0x71, 0x00, 0x71, 0x00, 0x71, 0x00, 0x71, 0x00, 0x71,
|
||||||
|
0x00, 0x01, 0x00, 0x00, 0x03, 0xaa, 0xfe, 0xb0, 0x00, 0x5a, 0x02, 0xd3, 0xff, 0xa9, 0xff, 0xc3,
|
||||||
|
0x03, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x02, 0xd3, 0x01, 0x90, 0x00, 0x05, 0x00, 0x00, 0x02, 0x8a,
|
||||||
|
0x02, 0xbc, 0x00, 0x00, 0x00, 0x8c, 0x02, 0x8a, 0x02, 0xbc, 0x00, 0x00, 0x01, 0xe0, 0x00, 0x31,
|
||||||
|
0x01, 0x02, 0x00, 0x00, 0x02, 0x00, 0x05, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x50, 0x66,
|
||||||
|
0x45, 0x64, 0x00, 0x40, 0x00, 0x30, 0x00, 0x3e, 0x03, 0x20, 0xff, 0x38, 0x00, 0x5a, 0x03, 0xaa,
|
||||||
|
0x01, 0x50, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02,
|
||||||
|
0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x14, 0x00, 0x03, 0x00, 0x01, 0x00, 0x00, 0x00, 0x14,
|
||||||
|
0x00, 0x04, 0x00, 0x30, 0x00, 0x00, 0x00, 0x08, 0x00, 0x08, 0x00, 0x02, 0x00, 0x00, 0x00, 0x39,
|
||||||
|
0x00, 0x3c, 0x00, 0x3e, 0xff, 0xff, 0x00, 0x00, 0x00, 0x30, 0x00, 0x3c, 0x00, 0x3e, 0xff, 0xff,
|
||||||
|
0xff, 0xd1, 0xff, 0xcf, 0xff, 0xce, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x07, 0x00, 0x5a, 0x00, 0x03, 0x00, 0x01, 0x04, 0x09, 0x00, 0x00, 0x00, 0x86,
|
||||||
|
0x00, 0x00, 0x00, 0x03, 0x00, 0x01, 0x04, 0x09, 0x00, 0x01, 0x00, 0x08, 0x00, 0x86, 0x00, 0x03,
|
||||||
|
0x00, 0x01, 0x04, 0x09, 0x00, 0x02, 0x00, 0x0e, 0x00, 0x8e, 0x00, 0x03, 0x00, 0x01, 0x04, 0x09,
|
||||||
|
0x00, 0x03, 0x00, 0x52, 0x00, 0x9c, 0x00, 0x03, 0x00, 0x01, 0x04, 0x09, 0x00, 0x04, 0x00, 0x1a,
|
||||||
|
0x00, 0xee, 0x00, 0x03, 0x00, 0x01, 0x04, 0x09, 0x00, 0x05, 0x00, 0x14, 0x01, 0x08, 0x00, 0x03,
|
||||||
|
0x00, 0x01, 0x04, 0x09, 0x00, 0x06, 0x00, 0x08, 0x00, 0x86, 0x00, 0x4d, 0x00, 0x61, 0x00, 0x74,
|
||||||
|
0x00, 0x74, 0x00, 0x68, 0x00, 0x65, 0x00, 0x77, 0x00, 0x20, 0x00, 0x53, 0x00, 0x6b, 0x00, 0x61,
|
||||||
|
0x00, 0x6c, 0x00, 0x61, 0x00, 0x20, 0x00, 0x28, 0x00, 0x32, 0x00, 0x30, 0x00, 0x31, 0x00, 0x31,
|
||||||
|
0x00, 0x29, 0x00, 0x3b, 0x00, 0x20, 0x00, 0x62, 0x00, 0x61, 0x00, 0x73, 0x00, 0x65, 0x00, 0x64,
|
||||||
|
0x00, 0x20, 0x00, 0x6f, 0x00, 0x6e, 0x00, 0x20, 0x00, 0x63, 0x00, 0x6f, 0x00, 0x64, 0x00, 0x65,
|
||||||
|
0x00, 0x20, 0x00, 0x62, 0x00, 0x79, 0x00, 0x20, 0x00, 0x4e, 0x00, 0x6f, 0x00, 0x72, 0x00, 0x62,
|
||||||
|
0x00, 0x65, 0x00, 0x72, 0x00, 0x74, 0x00, 0x20, 0x00, 0x53, 0x00, 0x63, 0x00, 0x68, 0x00, 0x77,
|
||||||
|
0x00, 0x61, 0x00, 0x72, 0x00, 0x7a, 0x00, 0x20, 0x00, 0x28, 0x00, 0x31, 0x00, 0x39, 0x00, 0x38,
|
||||||
|
0x00, 0x36, 0x00, 0x2c, 0x00, 0x20, 0x00, 0x32, 0x00, 0x30, 0x00, 0x31, 0x00, 0x31, 0x00, 0x29,
|
||||||
|
0x00, 0x4f, 0x00, 0x43, 0x00, 0x52, 0x00, 0x42, 0x00, 0x52, 0x00, 0x65, 0x00, 0x67, 0x00, 0x75,
|
||||||
|
0x00, 0x6c, 0x00, 0x61, 0x00, 0x72, 0x00, 0x46, 0x00, 0x6f, 0x00, 0x6e, 0x00, 0x74, 0x00, 0x46,
|
||||||
|
0x00, 0x6f, 0x00, 0x72, 0x00, 0x67, 0x00, 0x65, 0x00, 0x20, 0x00, 0x32, 0x00, 0x2e, 0x00, 0x30,
|
||||||
|
0x00, 0x20, 0x00, 0x3a, 0x00, 0x20, 0x00, 0x4f, 0x00, 0x43, 0x00, 0x52, 0x00, 0x20, 0x00, 0x42,
|
||||||
|
0x00, 0x20, 0x00, 0x52, 0x00, 0x65, 0x00, 0x67, 0x00, 0x75, 0x00, 0x6c, 0x00, 0x61, 0x00, 0x72,
|
||||||
|
0x00, 0x20, 0x00, 0x3a, 0x00, 0x20, 0x00, 0x32, 0x00, 0x37, 0x00, 0x2d, 0x00, 0x39, 0x00, 0x2d,
|
||||||
|
0x00, 0x32, 0x00, 0x30, 0x00, 0x31, 0x00, 0x32, 0x00, 0x4f, 0x00, 0x43, 0x00, 0x52, 0x00, 0x20,
|
||||||
|
0x00, 0x42, 0x00, 0x20, 0x00, 0x52, 0x00, 0x65, 0x00, 0x67, 0x00, 0x75, 0x00, 0x6c, 0x00, 0x61,
|
||||||
|
0x00, 0x72, 0x00, 0x56, 0x00, 0x65, 0x00, 0x72, 0x00, 0x73, 0x00, 0x69, 0x00, 0x6f, 0x00, 0x6e,
|
||||||
|
0x00, 0x20, 0x00, 0x32, 0x00, 0x20, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xff, 0xff, 0x00, 0x02,
|
||||||
|
0x00, 0x01, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x01,
|
||||||
|
0x00, 0x01, 0x00, 0x0c, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x1c,
|
||||||
|
0x00, 0x1e, 0x00, 0x01, 0x44, 0x46, 0x4c, 0x54, 0x00, 0x08, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x26,
|
||||||
|
0x00, 0x28, 0x00, 0x02, 0x44, 0x46, 0x4c, 0x54, 0x00, 0x0e, 0x6c, 0x61, 0x74, 0x6e, 0x00, 0x18,
|
||||||
|
0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00
|
||||||
|
};
|
||||||
|
|
||||||
|
/* vim: set ts=4 sw=4 et : */
|
||||||
|
#endif /* Z_UPCEAN_TTF_H */
|
77
backend/fonts/upcean_woff2.h
Normal file
77
backend/fonts/upcean_woff2.h
Normal file
@ -0,0 +1,77 @@
|
|||||||
|
/* ocrb_woff2.h - OCR-B (EAN/UPC subset) as base 64 string */
|
||||||
|
/*
|
||||||
|
libzint - the open source barcode library
|
||||||
|
Copyright (C) 2023 Robin Stuart <rstuart114@gmail.com>
|
||||||
|
|
||||||
|
Redistribution and use in source and binary forms, with or without
|
||||||
|
modification, are permitted provided that the following conditions
|
||||||
|
are met:
|
||||||
|
|
||||||
|
1. Redistributions of source code must retain the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer.
|
||||||
|
2. Redistributions in binary form must reproduce the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer in the
|
||||||
|
documentation and/or other materials provided with the distribution.
|
||||||
|
3. Neither the name of the project nor the names of its contributors
|
||||||
|
may be used to endorse or promote products derived from this software
|
||||||
|
without specific prior written permission.
|
||||||
|
|
||||||
|
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
||||||
|
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||||
|
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||||
|
ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
|
||||||
|
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||||
|
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
||||||
|
OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||||
|
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||||
|
LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
||||||
|
OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||||
|
SUCH DAMAGE.
|
||||||
|
*/
|
||||||
|
/* SPDX-License-Identifier: BSD-3-Clause */
|
||||||
|
|
||||||
|
#ifndef Z_UPCEAN_WOFF2_H
|
||||||
|
#define Z_UPCEAN_WOFF2_H
|
||||||
|
|
||||||
|
/* Adapted from OCR-B font version 0.2 Matthew Skala
|
||||||
|
* https://tsukurimashou.osdn.jp/ocr.php.en
|
||||||
|
*
|
||||||
|
* Copyright Matthew Skala (2011); based on code by Norbert Schwarz (1986, 2011)
|
||||||
|
*
|
||||||
|
* "The version in this package descends from a set of Metafont
|
||||||
|
* definitions by Norbert Schwarz of Ruhr-Universitaet Bochum,
|
||||||
|
* bearing dates ranging from 1986 to 2010. He originally
|
||||||
|
* distributed it under a "non-commercial use only"
|
||||||
|
* restriction but has since released it for unrestricted use
|
||||||
|
* and distribution. See the README file for more details."
|
||||||
|
*
|
||||||
|
* The README states (http://mirrors.ctan.org/fonts/ocr-b.zip)
|
||||||
|
*
|
||||||
|
* "As far as the digitization in METAFONT input which I have
|
||||||
|
* developed, you may freely use, modify, and/or distribute any of
|
||||||
|
* these files or the resulting fonts, without limitation. A previous
|
||||||
|
* release of ocr-b only granted rights for non-commercial use; that
|
||||||
|
* restriction is now lifted."
|
||||||
|
*/
|
||||||
|
static const char upcean_woff2[1905] =
|
||||||
|
"d09GMgABAAAAAAWUAA4AAAAACWwAAAVAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGhYbIBwqBlYARBEICoosiEMLHAABNgIkAxwEIAWCdgcgG3A"
|
||||||
|
"HUZQNToDsZ0Lmpodml0MocYiJWq3MrpVLZEJ+vN3Pv5v+uQSv2A20nhmlog7VlNREyOZ0r49OVZEJPLVfUR54bvk7Los0CqTnCfSi2iEa0i67dW"
|
||||||
|
"964kDG5b9/ecD9z/18fqPNwoZRuAHOhvii7ruLDKo8XiYbDftHU5QXfpIPyF9jbUb2MTDyZycgAJasIQ4EseR/EICYK3eoSVfQIMQFAP8DAIDSy"
|
||||||
|
"8hx1rMeage6wBFgoBvDB9LiAc4UHgCsLrPoC9W0EnDChcgR+dP8Pq0BEgWKj6g5Ull0JGhpggOEqscICLhYA0BION+IEiv+Es7AeuV899KL7QFR"
|
||||||
|
"GCpolRPO03YAbQGnpme53yJDTOskRg96rjuWBPp7yp0t3SUWNo5WpKScNUaWb40WM/rXeiWoddapmnVizQGxxlBl1MXrLeajBGLV6J3wDeOhV9S"
|
||||||
|
"ualbKbNR3HAau+pDmCOLRrOIRFzxXoLm3XNNdirx06dUpV6tljfqQ2HIrYj3OGhljwEnEGkJJgUYZ9qjmJR+H5Bxj5Y+wUoaN8imRbQBqTOv1AD"
|
||||||
|
"rddOyB4QYdk5ZvhOHwpK/EAqBVtFg9IIYzADIk44q2zFHExt8RaxYWEGK2rkYjSF/NS+vcSQaxzEnj26KNalJHHzx3VWNg1PoGjZcJ6qqvQbEXD"
|
||||||
|
"ul8dQcwInmfky6Wpy8xBsQ+V1JkQVosyuj7VLpy9fHL+xcdPHj1wdRGPCbSFq57asnI7BMfFmR26qWPrLT5RLGa2vUyOY5Kmhi9UF+3Ab0WNMp+"
|
||||||
|
"3CB6QY8qhVtu0z4vvbLILSoy/Rcr52XYtnErktMc+nyai+LXEVoOj+JlNoaHNkpG6pU/NJJzMoka/KO52falZ2WsLO72/V/h0zDpzxe2fbSnsBk"
|
||||||
|
"fwma5iVSpO59i8jmw212V5bEjtVOD1TLnNMvEcM/0ES9U4eRHPpebcQ02YzJvzq2qOsOvNn7NHllIelxY5ZNLdtgMPamkCQvO/pyZ25JJpIsyhz"
|
||||||
|
"KKsVl+5OItKUfsGdkevniB/W87DpZKOgbLbLide9TDbvvTre9Aj95HlPPuRY7WernJIuvpmesDQqQaGAjbMRA20XvzxO/YBBobbxN+Edtu455Ov"
|
||||||
|
"B6c9xUXf3QgrP5yuIJl2Kt+F2htVu5kp5ppRUPpAwzfWE6l9d8oaJmKfHGFn3J4MTgdrtBTA8tmhtpnlptWLq3pSC7ISU0pVCQpcgqyM5VFcJd8"
|
||||||
|
"RmrJ51gZwzi3sk3Jg9ffZ8+7vJnRzpXCZf30Qz/74YS2riu5S7Gkhi5aWpsTF1WYqK2bKBiaUPF9O1cP1VWGFcckkWE5yf4VaxWblPNDHR0+ufn"
|
||||||
|
"s2YtJ7Lgge1Fh8tmA2uY2tbTPzg5kevXJkmntRPcv9tjk/X9daVrn3vk9q1bVNyXkK9NGHFK1nlkFxakJqkqd0NP5P9tkvSmxl3X+sSTH9xvZeG"
|
||||||
|
"0vjet61vhzY/vnmDRhm0cbrZ9Sl3d56WaDn7+ICsCjqsbibdU2sX+hRfQDAM+mkCL/hMOfisroCPidGAGyT85klYVvCbmjApoDP+cQgF5ai3N1r"
|
||||||
|
"xneYEC9FQZP4pjMOJwouk2gDAHFBYDloDUiQsuNHNZmjYRC24xczn4z8uBAiHyx36FUa8CAFo2GUYq0q9WhFkUuWKAgQbzEoNSp1a9RA0q3LpR6"
|
||||||
|
"3Ro0zsOoD7l96GuhMceBjbT1WgyTKjEGcnlzlEjhfFEb2+ZJUShZYaPZoA4Y0w/AgRL65rARB3/TSIlGAWXOo0yWmg4WwU8Uv0OWDYZRdd1Uv9Z"
|
||||||
|
"HQXBqJgAAgewAAAAA";
|
||||||
|
|
||||||
|
/* vim: set ts=4 sw=4 et : */
|
||||||
|
#endif /* Z_UPCEAN_WOFF2_H */
|
@ -1,7 +1,7 @@
|
|||||||
/* gridmtx.c - Grid Matrix */
|
/* gridmtx.c - Grid Matrix */
|
||||||
/*
|
/*
|
||||||
libzint - the open source barcode library
|
libzint - the open source barcode library
|
||||||
Copyright (C) 2009-2022 Robin Stuart <rstuart114@gmail.com>
|
Copyright (C) 2009-2023 Robin Stuart <rstuart114@gmail.com>
|
||||||
|
|
||||||
Redistribution and use in source and binary forms, with or without
|
Redistribution and use in source and binary forms, with or without
|
||||||
modification, are permitted provided that the following conditions
|
modification, are permitted provided that the following conditions
|
||||||
@ -467,17 +467,17 @@ static int gm_encode(unsigned int ddata[], const int length, char binary[], cons
|
|||||||
}
|
}
|
||||||
if (debug_print) {
|
if (debug_print) {
|
||||||
switch (next_mode) {
|
switch (next_mode) {
|
||||||
case GM_CHINESE: printf("CHIN ");
|
case GM_CHINESE: fputs("CHIN ", stdout);
|
||||||
break;
|
break;
|
||||||
case GM_NUMBER: printf("NUMB ");
|
case GM_NUMBER: fputs("NUMB ", stdout);
|
||||||
break;
|
break;
|
||||||
case GM_LOWER: printf("LOWR ");
|
case GM_LOWER: fputs("LOWR ", stdout);
|
||||||
break;
|
break;
|
||||||
case GM_UPPER: printf("UPPR ");
|
case GM_UPPER: fputs("UPPR ", stdout);
|
||||||
break;
|
break;
|
||||||
case GM_MIXED: printf("MIXD ");
|
case GM_MIXED: fputs("MIXD ", stdout);
|
||||||
break;
|
break;
|
||||||
case GM_BYTE: printf("BYTE ");
|
case GM_BYTE: fputs("BYTE ", stdout);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
/* hanxin.c - Han Xin Code */
|
/* hanxin.c - Han Xin Code */
|
||||||
/*
|
/*
|
||||||
libzint - the open source barcode library
|
libzint - the open source barcode library
|
||||||
Copyright (C) 2009-2022 Robin Stuart <rstuart114@gmail.com>
|
Copyright (C) 2009-2023 Robin Stuart <rstuart114@gmail.com>
|
||||||
|
|
||||||
Redistribution and use in source and binary forms, with or without
|
Redistribution and use in source and binary forms, with or without
|
||||||
modification, are permitted provided that the following conditions
|
modification, are permitted provided that the following conditions
|
||||||
@ -548,7 +548,7 @@ static void hx_calculate_binary(char binary[], const char mode[], const unsigned
|
|||||||
bp = bin_append_posn(1, 4, binary, bp);
|
bp = bin_append_posn(1, 4, binary, bp);
|
||||||
|
|
||||||
if (debug_print) {
|
if (debug_print) {
|
||||||
printf("Numeric\n");
|
fputs("Numeric\n", stdout);
|
||||||
}
|
}
|
||||||
|
|
||||||
count = 0; /* Suppress gcc -Wmaybe-uninitialized */
|
count = 0; /* Suppress gcc -Wmaybe-uninitialized */
|
||||||
@ -604,7 +604,7 @@ static void hx_calculate_binary(char binary[], const char mode[], const unsigned
|
|||||||
bp = bin_append_posn(2, 4, binary, bp);
|
bp = bin_append_posn(2, 4, binary, bp);
|
||||||
|
|
||||||
if (debug_print) {
|
if (debug_print) {
|
||||||
printf("Text\n");
|
fputs("Text\n", stdout);
|
||||||
}
|
}
|
||||||
|
|
||||||
submode = 1;
|
submode = 1;
|
||||||
@ -618,7 +618,7 @@ static void hx_calculate_binary(char binary[], const char mode[], const unsigned
|
|||||||
bp = bin_append_posn(62, 6, binary, bp);
|
bp = bin_append_posn(62, 6, binary, bp);
|
||||||
submode = hx_getsubmode(ddata[i + position]);
|
submode = hx_getsubmode(ddata[i + position]);
|
||||||
if (debug_print) {
|
if (debug_print) {
|
||||||
printf("SWITCH ");
|
fputs("SWITCH ", stdout);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -640,7 +640,7 @@ static void hx_calculate_binary(char binary[], const char mode[], const unsigned
|
|||||||
bp = bin_append_posn(63, 6, binary, bp);
|
bp = bin_append_posn(63, 6, binary, bp);
|
||||||
|
|
||||||
if (debug_print) {
|
if (debug_print) {
|
||||||
printf("\n");
|
fputs("\n", stdout);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 'b':
|
case 'b':
|
||||||
@ -670,7 +670,7 @@ static void hx_calculate_binary(char binary[], const char mode[], const unsigned
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (debug_print) {
|
if (debug_print) {
|
||||||
printf("\n");
|
fputs("\n", stdout);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case '1':
|
case '1':
|
||||||
@ -766,7 +766,7 @@ static void hx_calculate_binary(char binary[], const char mode[], const unsigned
|
|||||||
bp = bin_append_posn(6, 4, binary, bp);
|
bp = bin_append_posn(6, 4, binary, bp);
|
||||||
|
|
||||||
if (debug_print) {
|
if (debug_print) {
|
||||||
printf("Double byte\n");
|
fputs("Double byte\n", stdout);
|
||||||
}
|
}
|
||||||
|
|
||||||
i = 0;
|
i = 0;
|
||||||
@ -795,13 +795,13 @@ static void hx_calculate_binary(char binary[], const char mode[], const unsigned
|
|||||||
- confirmed by Wang Yi */
|
- confirmed by Wang Yi */
|
||||||
|
|
||||||
if (debug_print) {
|
if (debug_print) {
|
||||||
printf("\n");
|
fputc('\n', stdout);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 'f':
|
case 'f':
|
||||||
/* Four-byte encoding */
|
/* Four-byte encoding */
|
||||||
if (debug_print) {
|
if (debug_print) {
|
||||||
printf("Four byte\n");
|
fputs("Four byte\n", stdout);
|
||||||
}
|
}
|
||||||
|
|
||||||
i = 0;
|
i = 0;
|
||||||
@ -830,7 +830,7 @@ static void hx_calculate_binary(char binary[], const char mode[], const unsigned
|
|||||||
/* No terminator */
|
/* No terminator */
|
||||||
|
|
||||||
if (debug_print) {
|
if (debug_print) {
|
||||||
printf("\n");
|
fputc('\n', stdout);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@ -1454,7 +1454,7 @@ static void hx_apply_bitmask(unsigned char *grid, const int size, const int vers
|
|||||||
if (!user_mask) {
|
if (!user_mask) {
|
||||||
for (pattern = 0; pattern < 4; pattern++) printf(" %d:%d", pattern, penalty[pattern]);
|
for (pattern = 0; pattern < 4; pattern++) printf(" %d:%d", pattern, penalty[pattern]);
|
||||||
}
|
}
|
||||||
printf("\n");
|
fputc('\n', stdout);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Apply mask */
|
/* Apply mask */
|
||||||
@ -1649,7 +1649,7 @@ INTERNAL int hanxin(struct zint_symbol *symbol, struct zint_seg segs[], const in
|
|||||||
for (i = 0; i < data_codewords; i++) {
|
for (i = 0; i < data_codewords; i++) {
|
||||||
printf(" %.2x", datastream[i]);
|
printf(" %.2x", datastream[i]);
|
||||||
}
|
}
|
||||||
printf("\n");
|
fputc('\n', stdout);
|
||||||
}
|
}
|
||||||
#ifdef ZINT_TEST
|
#ifdef ZINT_TEST
|
||||||
if (symbol->debug & ZINT_DEBUG_TEST) debug_test_codeword_dump(symbol, datastream, data_codewords);
|
if (symbol->debug & ZINT_DEBUG_TEST) debug_test_codeword_dump(symbol, datastream, data_codewords);
|
||||||
@ -1664,7 +1664,7 @@ INTERNAL int hanxin(struct zint_symbol *symbol, struct zint_seg segs[], const in
|
|||||||
for (i = 0; i < hx_total_codewords[version - 1]; i++) {
|
for (i = 0; i < hx_total_codewords[version - 1]; i++) {
|
||||||
printf(" %.2x", fullstream[i]);
|
printf(" %.2x", fullstream[i]);
|
||||||
}
|
}
|
||||||
printf("\n");
|
fputc('\n', stdout);
|
||||||
}
|
}
|
||||||
|
|
||||||
hx_make_picket_fence(fullstream, picket_fence, hx_total_codewords[version - 1]);
|
hx_make_picket_fence(fullstream, picket_fence, hx_total_codewords[version - 1]);
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
/* imail.c - Handles Intelligent Mail (aka OneCode) for USPS */
|
/* imail.c - Handles Intelligent Mail (aka OneCode) for USPS */
|
||||||
/*
|
/*
|
||||||
libzint - the open source barcode library
|
libzint - the open source barcode library
|
||||||
Copyright (C) 2008-2022 Robin Stuart <rstuart114@gmail.com>
|
Copyright (C) 2008-2023 Robin Stuart <rstuart114@gmail.com>
|
||||||
|
|
||||||
Redistribution and use in source and binary forms, with or without
|
Redistribution and use in source and binary forms, with or without
|
||||||
modification, are permitted provided that the following conditions
|
modification, are permitted provided that the following conditions
|
||||||
@ -248,8 +248,8 @@ INTERNAL int usps_imail(struct zint_symbol *symbol, unsigned char source[], int
|
|||||||
int error_number = 0;
|
int error_number = 0;
|
||||||
int i, j, read;
|
int i, j, read;
|
||||||
char zip[35], tracker[35], temp[2];
|
char zip[35], tracker[35], temp[2];
|
||||||
large_int accum;
|
large_uint accum;
|
||||||
large_int byte_array_reg;
|
large_uint byte_array_reg;
|
||||||
unsigned char byte_array[13];
|
unsigned char byte_array[13];
|
||||||
unsigned short usps_crc;
|
unsigned short usps_crc;
|
||||||
unsigned int codeword[10];
|
unsigned int codeword[10];
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
/* large.c - Handles binary manipulation of large numbers */
|
/* large.c - Handles binary manipulation of large numbers */
|
||||||
/*
|
/*
|
||||||
libzint - the open source barcode library
|
libzint - the open source barcode library
|
||||||
Copyright (C) 2008-2022 Robin Stuart <rstuart114@gmail.com>
|
Copyright (C) 2008-2023 Robin Stuart <rstuart114@gmail.com>
|
||||||
|
|
||||||
Redistribution and use in source and binary forms, with or without
|
Redistribution and use in source and binary forms, with or without
|
||||||
modification, are permitted provided that the following conditions
|
modification, are permitted provided that the following conditions
|
||||||
@ -52,7 +52,7 @@
|
|||||||
#define MASK32 0xFFFFFFFF
|
#define MASK32 0xFFFFFFFF
|
||||||
|
|
||||||
/* Convert decimal string `s` of (at most) length `length` to 64-bit and place in 128-bit `t` */
|
/* Convert decimal string `s` of (at most) length `length` to 64-bit and place in 128-bit `t` */
|
||||||
INTERNAL void large_load_str_u64(large_int *t, const unsigned char *s, const int length) {
|
INTERNAL void large_load_str_u64(large_uint *t, const unsigned char *s, const int length) {
|
||||||
uint64_t val = 0;
|
uint64_t val = 0;
|
||||||
const unsigned char *const se = s + length;
|
const unsigned char *const se = s + length;
|
||||||
for (; s < se && z_isdigit(*s); s++) {
|
for (; s < se && z_isdigit(*s); s++) {
|
||||||
@ -64,13 +64,13 @@ INTERNAL void large_load_str_u64(large_int *t, const unsigned char *s, const int
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* Add 128-bit `s` to 128-bit `t` */
|
/* Add 128-bit `s` to 128-bit `t` */
|
||||||
INTERNAL void large_add(large_int *t, const large_int *s) {
|
INTERNAL void large_add(large_uint *t, const large_uint *s) {
|
||||||
t->lo += s->lo;
|
t->lo += s->lo;
|
||||||
t->hi += s->hi + (t->lo < s->lo);
|
t->hi += s->hi + (t->lo < s->lo);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Add 64-bit `s` to 128-bit `t` */
|
/* Add 64-bit `s` to 128-bit `t` */
|
||||||
INTERNAL void large_add_u64(large_int *t, const uint64_t s) {
|
INTERNAL void large_add_u64(large_uint *t, const uint64_t s) {
|
||||||
t->lo += s;
|
t->lo += s;
|
||||||
if (t->lo < s) {
|
if (t->lo < s) {
|
||||||
t->hi++;
|
t->hi++;
|
||||||
@ -78,7 +78,7 @@ INTERNAL void large_add_u64(large_int *t, const uint64_t s) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* Subtract 64-bit `s` from 128-bit `t` */
|
/* Subtract 64-bit `s` from 128-bit `t` */
|
||||||
INTERNAL void large_sub_u64(large_int *t, const uint64_t s) {
|
INTERNAL void large_sub_u64(large_uint *t, const uint64_t s) {
|
||||||
uint64_t r = t->lo - s;
|
uint64_t r = t->lo - s;
|
||||||
if (r > t->lo) {
|
if (r > t->lo) {
|
||||||
t->hi--;
|
t->hi--;
|
||||||
@ -107,7 +107,7 @@ INTERNAL void large_sub_u64(large_int *t, const uint64_t s) {
|
|||||||
* p10
|
* p10
|
||||||
* p11 + k10
|
* p11 + k10
|
||||||
*/
|
*/
|
||||||
INTERNAL void large_mul_u64(large_int *t, const uint64_t s) {
|
INTERNAL void large_mul_u64(large_uint *t, const uint64_t s) {
|
||||||
uint64_t thi = t->hi;
|
uint64_t thi = t->hi;
|
||||||
uint64_t tlo0 = t->lo & MASK32;
|
uint64_t tlo0 = t->lo & MASK32;
|
||||||
uint64_t tlo1 = t->lo >> 32;
|
uint64_t tlo1 = t->lo >> 32;
|
||||||
@ -149,7 +149,7 @@ INTERNAL int clz_u64_test(uint64_t x) {
|
|||||||
/* Divide 128-bit dividend `t` by 64-bit divisor `v`, returning 64-bit remainder
|
/* Divide 128-bit dividend `t` by 64-bit divisor `v`, returning 64-bit remainder
|
||||||
* See Jacob `divmod128by128/64()` and Warren Section 9–2 (divmu64.c.txt)
|
* See Jacob `divmod128by128/64()` and Warren Section 9–2 (divmu64.c.txt)
|
||||||
* Note digits are 32-bit parts */
|
* Note digits are 32-bit parts */
|
||||||
INTERNAL uint64_t large_div_u64(large_int *t, uint64_t v) {
|
INTERNAL uint64_t large_div_u64(large_uint *t, uint64_t v) {
|
||||||
const uint64_t b = 0x100000000; /* Number base (2**32) */
|
const uint64_t b = 0x100000000; /* Number base (2**32) */
|
||||||
uint64_t qhi = 0; /* High digit of returned quotient */
|
uint64_t qhi = 0; /* High digit of returned quotient */
|
||||||
|
|
||||||
@ -241,7 +241,7 @@ INTERNAL uint64_t large_div_u64(large_int *t, uint64_t v) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* Unset a bit (zero-based) */
|
/* Unset a bit (zero-based) */
|
||||||
INTERNAL void large_unset_bit(large_int *t, const int bit) {
|
INTERNAL void large_unset_bit(large_uint *t, const int bit) {
|
||||||
if (bit < 64) {
|
if (bit < 64) {
|
||||||
t->lo &= ~(((uint64_t) 1) << bit);
|
t->lo &= ~(((uint64_t) 1) << bit);
|
||||||
} else if (bit < 128) {
|
} else if (bit < 128) {
|
||||||
@ -249,8 +249,8 @@ INTERNAL void large_unset_bit(large_int *t, const int bit) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Output large_int into an unsigned int array of size `size`, each element containing `bits` bits */
|
/* Output large_uint into an unsigned int array of size `size`, each element containing `bits` bits */
|
||||||
INTERNAL void large_uint_array(const large_int *t, unsigned int *uint_array, const int size, int bits) {
|
INTERNAL void large_uint_array(const large_uint *t, unsigned int *uint_array, const int size, int bits) {
|
||||||
int i, j;
|
int i, j;
|
||||||
uint64_t mask;
|
uint64_t mask;
|
||||||
if (bits <= 0) {
|
if (bits <= 0) {
|
||||||
@ -281,7 +281,7 @@ INTERNAL void large_uint_array(const large_int *t, unsigned int *uint_array, con
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* As `large_uint_array()` above, except output to unsigned char array */
|
/* As `large_uint_array()` above, except output to unsigned char array */
|
||||||
INTERNAL void large_uchar_array(const large_int *t, unsigned char *uchar_array, const int size, int bits) {
|
INTERNAL void large_uchar_array(const large_uint *t, unsigned char *uchar_array, const int size, int bits) {
|
||||||
int i;
|
int i;
|
||||||
unsigned int *uint_array = (unsigned int *) z_alloca(sizeof(unsigned int) * (size ? size : 1));
|
unsigned int *uint_array = (unsigned int *) z_alloca(sizeof(unsigned int) * (size ? size : 1));
|
||||||
|
|
||||||
@ -292,8 +292,8 @@ INTERNAL void large_uchar_array(const large_int *t, unsigned char *uchar_array,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Format large_int into buffer, which should be at least 35 chars in size */
|
/* Format large_uint into buffer, which should be at least 35 chars in size */
|
||||||
INTERNAL char *large_dump(const large_int *t, char *buf) {
|
INTERNAL char *large_dump(const large_uint *t, char *buf) {
|
||||||
unsigned int tlo1 = (unsigned int) (large_lo(t) >> 32);
|
unsigned int tlo1 = (unsigned int) (large_lo(t) >> 32);
|
||||||
unsigned int tlo0 = (unsigned int) (large_lo(t) & MASK32);
|
unsigned int tlo0 = (unsigned int) (large_lo(t) & MASK32);
|
||||||
unsigned int thi1 = (unsigned int) (large_hi(t) >> 32);
|
unsigned int thi1 = (unsigned int) (large_hi(t) >> 32);
|
||||||
@ -311,8 +311,8 @@ INTERNAL char *large_dump(const large_int *t, char *buf) {
|
|||||||
return buf;
|
return buf;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Output formatted large_int to stdout */
|
/* Output formatted large_uint to stdout */
|
||||||
INTERNAL void large_print(const large_int *t) {
|
INTERNAL void large_print(const large_uint *t) {
|
||||||
char buf[35]; /* 2 (0x) + 32 (hex) + 1 */
|
char buf[35]; /* 2 (0x) + 32 (hex) + 1 */
|
||||||
|
|
||||||
puts(large_dump(t, buf));
|
puts(large_dump(t, buf));
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
libzint - the open source barcode library
|
libzint - the open source barcode library
|
||||||
Copyright (C) 2008-2022 Robin Stuart <rstuart114@gmail.com>
|
Copyright (C) 2008-2023 Robin Stuart <rstuart114@gmail.com>
|
||||||
|
|
||||||
Redistribution and use in source and binary forms, with or without
|
Redistribution and use in source and binary forms, with or without
|
||||||
modification, are permitted provided that the following conditions
|
modification, are permitted provided that the following conditions
|
||||||
@ -38,7 +38,7 @@
|
|||||||
extern "C" {
|
extern "C" {
|
||||||
#endif /* __cplusplus */
|
#endif /* __cplusplus */
|
||||||
|
|
||||||
typedef struct { uint64_t lo; uint64_t hi; } large_int;
|
typedef struct { uint64_t lo; uint64_t hi; } large_uint;
|
||||||
|
|
||||||
#define large_lo(s) ((s)->lo)
|
#define large_lo(s) ((s)->lo)
|
||||||
#define large_hi(s) ((s)->hi)
|
#define large_hi(s) ((s)->hi)
|
||||||
@ -49,24 +49,35 @@ typedef struct { uint64_t lo; uint64_t hi; } large_int;
|
|||||||
/* Set 128-bit `t` from 64-bit `s` */
|
/* Set 128-bit `t` from 64-bit `s` */
|
||||||
#define large_load_u64(t, s) do { (t)->lo = (s); (t)->hi = 0; } while (0)
|
#define large_load_u64(t, s) do { (t)->lo = (s); (t)->hi = 0; } while (0)
|
||||||
|
|
||||||
INTERNAL void large_load_str_u64(large_int *t, const unsigned char *s, const int length);
|
/* Convert decimal string `s` of (at most) length `length` to 64-bit and place in 128-bit `t` */
|
||||||
|
INTERNAL void large_load_str_u64(large_uint *t, const unsigned char *s, const int length);
|
||||||
|
|
||||||
INTERNAL void large_add(large_int *t, const large_int *s);
|
/* Add 128-bit `s` to 128-bit `t` */
|
||||||
INTERNAL void large_add_u64(large_int *t, const uint64_t s);
|
INTERNAL void large_add(large_uint *t, const large_uint *s);
|
||||||
|
/* Add 64-bit `s` to 128-bit `t` */
|
||||||
|
INTERNAL void large_add_u64(large_uint *t, const uint64_t s);
|
||||||
|
|
||||||
INTERNAL void large_sub_u64(large_int *t, const uint64_t s);
|
/* Subtract 64-bit `s` from 128-bit `t` */
|
||||||
|
INTERNAL void large_sub_u64(large_uint *t, const uint64_t s);
|
||||||
|
|
||||||
INTERNAL void large_mul_u64(large_int *t, const uint64_t s);
|
/* Multiply 128-bit `t` by 64-bit `s` */
|
||||||
|
INTERNAL void large_mul_u64(large_uint *t, const uint64_t s);
|
||||||
|
|
||||||
INTERNAL uint64_t large_div_u64(large_int *t, uint64_t v);
|
/* Divide 128-bit dividend `t` by 64-bit divisor `v`, returning 64-bit remainder */
|
||||||
|
INTERNAL uint64_t large_div_u64(large_uint *t, uint64_t v);
|
||||||
|
|
||||||
INTERNAL void large_unset_bit(large_int *t, const int bit);
|
/* Unset a bit (zero-based) */
|
||||||
|
INTERNAL void large_unset_bit(large_uint *t, const int bit);
|
||||||
|
|
||||||
INTERNAL void large_uint_array(const large_int *t, unsigned int *uint_array, const int size, int bits);
|
/* Output large_uint into an unsigned int array of size `size`, each element containing `bits` bits */
|
||||||
INTERNAL void large_uchar_array(const large_int *t, unsigned char *uchar_array, const int size, int bits);
|
INTERNAL void large_uint_array(const large_uint *t, unsigned int *uint_array, const int size, int bits);
|
||||||
|
/* As `large_uint_array()` above, except output to unsigned char array */
|
||||||
|
INTERNAL void large_uchar_array(const large_uint *t, unsigned char *uchar_array, const int size, int bits);
|
||||||
|
|
||||||
INTERNAL char *large_dump(const large_int *t, char *buf);
|
/* Format large_uint into buffer, which should be at least 35 chars in size */
|
||||||
INTERNAL void large_print(const large_int *t);
|
INTERNAL char *large_dump(const large_uint *t, char *buf);
|
||||||
|
/* Output formatted large_uint to stdout */
|
||||||
|
INTERNAL void large_print(const large_uint *t);
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
|
@ -70,7 +70,6 @@ struct zint_symbol *ZBarcode_Create(void) {
|
|||||||
#endif
|
#endif
|
||||||
symbol->option_1 = -1;
|
symbol->option_1 = -1;
|
||||||
symbol->show_hrt = 1; /* Show human readable text */
|
symbol->show_hrt = 1; /* Show human readable text */
|
||||||
symbol->fontsize = 8;
|
|
||||||
symbol->input_mode = DATA_MODE;
|
symbol->input_mode = DATA_MODE;
|
||||||
symbol->eci = 0; /* Default 0 uses ECI 3 */
|
symbol->eci = 0; /* Default 0 uses ECI 3 */
|
||||||
symbol->dot_size = 4.0f / 5.0f;
|
symbol->dot_size = 4.0f / 5.0f;
|
||||||
@ -297,7 +296,7 @@ static int dump_plot(struct zint_symbol *symbol) {
|
|||||||
byt = byt << (4 - (symbol->width % 4));
|
byt = byt << (4 - (symbol->width % 4));
|
||||||
fputc(hex[byt], f);
|
fputc(hex[byt], f);
|
||||||
}
|
}
|
||||||
fputs("\n", f);
|
fputc('\n', f);
|
||||||
space = 0;
|
space = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -858,7 +857,7 @@ INTERNAL int escape_char_process_test(struct zint_symbol *symbol, unsigned char
|
|||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* Encode a barcode. If `length` is 0, `source` must be NUL-terminated. */
|
/* Encode a barcode. If `length` is 0, `source` must be NUL-terminated */
|
||||||
int ZBarcode_Encode(struct zint_symbol *symbol, const unsigned char *source, int length) {
|
int ZBarcode_Encode(struct zint_symbol *symbol, const unsigned char *source, int length) {
|
||||||
struct zint_seg segs[1];
|
struct zint_seg segs[1];
|
||||||
|
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
/* mailmark.c - Royal Mail 4-state and 2D Mailmark barcodes */
|
/* mailmark.c - Royal Mail 4-state and 2D Mailmark barcodes */
|
||||||
/*
|
/*
|
||||||
libzint - the open source barcode library
|
libzint - the open source barcode library
|
||||||
Copyright (C) 2008-2022 Robin Stuart <rstuart114@gmail.com>
|
Copyright (C) 2008-2023 Robin Stuart <rstuart114@gmail.com>
|
||||||
|
|
||||||
Redistribution and use in source and binary forms, with or without
|
Redistribution and use in source and binary forms, with or without
|
||||||
modification, are permitted provided that the following conditions
|
modification, are permitted provided that the following conditions
|
||||||
@ -179,9 +179,9 @@ INTERNAL int mailmark_4s(struct zint_symbol *symbol, unsigned char source[], int
|
|||||||
unsigned int item_id;
|
unsigned int item_id;
|
||||||
char postcode[10];
|
char postcode[10];
|
||||||
int postcode_type;
|
int postcode_type;
|
||||||
large_int destination_postcode;
|
large_uint destination_postcode;
|
||||||
large_int b;
|
large_uint b;
|
||||||
large_int cdv;
|
large_uint cdv;
|
||||||
unsigned char data[26];
|
unsigned char data[26];
|
||||||
int data_top, data_step;
|
int data_top, data_step;
|
||||||
unsigned char check[7];
|
unsigned char check[7];
|
||||||
@ -382,7 +382,7 @@ INTERNAL int mailmark_4s(struct zint_symbol *symbol, unsigned char source[], int
|
|||||||
|
|
||||||
if (symbol->debug & ZINT_DEBUG_PRINT) {
|
if (symbol->debug & ZINT_DEBUG_PRINT) {
|
||||||
printf("DPC type %d\n", postcode_type);
|
printf("DPC type %d\n", postcode_type);
|
||||||
printf("CDV: ");
|
fputs("CDV: ", stdout);
|
||||||
large_print(&cdv);
|
large_print(&cdv);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -417,11 +417,11 @@ INTERNAL int mailmark_4s(struct zint_symbol *symbol, unsigned char source[], int
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (symbol->debug & ZINT_DEBUG_PRINT) {
|
if (symbol->debug & ZINT_DEBUG_PRINT) {
|
||||||
printf("Codewords: ");
|
fputs("Codewords:", stdout);
|
||||||
for (i = 0; i <= data_top + check_count; i++) {
|
for (i = 0; i <= data_top + check_count; i++) {
|
||||||
printf(" %d", (int) data[i]);
|
printf(" %d", (int) data[i]);
|
||||||
}
|
}
|
||||||
printf("\n");
|
fputc('\n', stdout);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Conversion from Data Numbers and Check Numbers to Data Symbols and Check Symbols */
|
/* Conversion from Data Numbers and Check Numbers to Data Symbols and Check Symbols */
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
/* maxicode.c - Handles MaxiCode */
|
/* maxicode.c - Handles MaxiCode */
|
||||||
/*
|
/*
|
||||||
libzint - the open source barcode library
|
libzint - the open source barcode library
|
||||||
Copyright (C) 2010-2022 Robin Stuart <rstuart114@gmail.com>
|
Copyright (C) 2010-2023 Robin Stuart <rstuart114@gmail.com>
|
||||||
|
|
||||||
Redistribution and use in source and binary forms, with or without
|
Redistribution and use in source and binary forms, with or without
|
||||||
modification, are permitted provided that the following conditions
|
modification, are permitted provided that the following conditions
|
||||||
@ -327,33 +327,33 @@ static int maxi_text_process(unsigned char set[144], unsigned char character[144
|
|||||||
character[sp + i] = 63; /* Set B Latch A */
|
character[sp + i] = 63; /* Set B Latch A */
|
||||||
current_set = 1;
|
current_set = 1;
|
||||||
i += 3; /* Next 3 Set A so skip over */
|
i += 3; /* Next 3 Set A so skip over */
|
||||||
if (debug_print) printf("LCHA ");
|
if (debug_print) fputs("LCHA ", stdout);
|
||||||
} else {
|
} else {
|
||||||
/* 3 Shift A */
|
/* 3 Shift A */
|
||||||
maxi_bump(set, character, sp + i, &length);
|
maxi_bump(set, character, sp + i, &length);
|
||||||
character[sp + i] = 57; /* Set B triple shift A */
|
character[sp + i] = 57; /* Set B triple shift A */
|
||||||
i += 2; /* Next 2 Set A so skip over */
|
i += 2; /* Next 2 Set A so skip over */
|
||||||
if (debug_print) printf("3SHA ");
|
if (debug_print) fputs("3SHA ", stdout);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
/* 2 Shift A */
|
/* 2 Shift A */
|
||||||
maxi_bump(set, character, sp + i, &length);
|
maxi_bump(set, character, sp + i, &length);
|
||||||
character[sp + i] = 56; /* Set B double shift A */
|
character[sp + i] = 56; /* Set B double shift A */
|
||||||
i++; /* Next Set A so skip over */
|
i++; /* Next Set A so skip over */
|
||||||
if (debug_print) printf("2SHA ");
|
if (debug_print) fputs("2SHA ", stdout);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
/* Shift A */
|
/* Shift A */
|
||||||
maxi_bump(set, character, sp + i, &length);
|
maxi_bump(set, character, sp + i, &length);
|
||||||
character[sp + i] = 59; /* Set A Shift B */
|
character[sp + i] = 59; /* Set A Shift B */
|
||||||
if (debug_print) printf("SHA ");
|
if (debug_print) fputs("SHA ", stdout);
|
||||||
}
|
}
|
||||||
} else { /* All sets other than B only have latch */
|
} else { /* All sets other than B only have latch */
|
||||||
/* Latch A */
|
/* Latch A */
|
||||||
maxi_bump(set, character, sp + i, &length);
|
maxi_bump(set, character, sp + i, &length);
|
||||||
character[sp + i] = 58; /* Sets C,D,E Latch A */
|
character[sp + i] = 58; /* Sets C,D,E Latch A */
|
||||||
current_set = 1;
|
current_set = 1;
|
||||||
if (debug_print) printf("LCHA ");
|
if (debug_print) fputs("LCHA ", stdout);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 2: /* Set B */
|
case 2: /* Set B */
|
||||||
@ -363,12 +363,12 @@ static int maxi_text_process(unsigned char set[144], unsigned char character[144
|
|||||||
maxi_bump(set, character, sp + i, &length);
|
maxi_bump(set, character, sp + i, &length);
|
||||||
character[sp + i] = 63; /* Sets A,C,D,E Latch B */
|
character[sp + i] = 63; /* Sets A,C,D,E Latch B */
|
||||||
current_set = 2;
|
current_set = 2;
|
||||||
if (debug_print) printf("LCHB ");
|
if (debug_print) fputs("LCHB ", stdout);
|
||||||
} else { /* Only available from Set A */
|
} else { /* Only available from Set A */
|
||||||
/* Shift B */
|
/* Shift B */
|
||||||
maxi_bump(set, character, sp + i, &length);
|
maxi_bump(set, character, sp + i, &length);
|
||||||
character[sp + i] = 59; /* Set B Shift A */
|
character[sp + i] = 59; /* Set B Shift A */
|
||||||
if (debug_print) printf("SHB ");
|
if (debug_print) fputs("SHB ", stdout);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 3: /* Set C */
|
case 3: /* Set C */
|
||||||
@ -408,7 +408,7 @@ static int maxi_text_process(unsigned char set[144], unsigned char character[144
|
|||||||
i++;
|
i++;
|
||||||
} while (sp + i < 144);
|
} while (sp + i < 144);
|
||||||
|
|
||||||
if (debug_print) printf("\n");
|
if (debug_print) fputc('\n', stdout);
|
||||||
|
|
||||||
/* Number compression has not been forgotten! - It's handled below */
|
/* Number compression has not been forgotten! - It's handled below */
|
||||||
i = 0;
|
i = 0;
|
||||||
@ -685,9 +685,9 @@ INTERNAL int maxicode(struct zint_symbol *symbol, struct zint_seg segs[], const
|
|||||||
maxi_do_secondary_chk_odd(maxi_codeword, eclen / 2); /* do error correction of odd */
|
maxi_do_secondary_chk_odd(maxi_codeword, eclen / 2); /* do error correction of odd */
|
||||||
|
|
||||||
if (debug_print) {
|
if (debug_print) {
|
||||||
printf("Codewords:");
|
fputs("Codewords:", stdout);
|
||||||
for (i = 0; i < 144; i++) printf(" %d", maxi_codeword[i]);
|
for (i = 0; i < 144; i++) printf(" %d", maxi_codeword[i]);
|
||||||
printf("\n");
|
fputc('\n', stdout);
|
||||||
}
|
}
|
||||||
#ifdef ZINT_TEST
|
#ifdef ZINT_TEST
|
||||||
if (symbol->debug & ZINT_DEBUG_TEST) {
|
if (symbol->debug & ZINT_DEBUG_TEST) {
|
||||||
|
159
backend/output.c
159
backend/output.c
@ -190,7 +190,7 @@ INTERNAL int out_colour_get_cmyk(const char *colour, int *cyan, int *magenta, in
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* Return minimum quiet zones for each symbology */
|
/* Return minimum quiet zones for each symbology */
|
||||||
static int out_quiet_zones(const struct zint_symbol *symbol, const int hide_text,
|
static int out_quiet_zones(const struct zint_symbol *symbol, const int hide_text, const int comp_xoffset,
|
||||||
float *left, float *right, float *top, float *bottom) {
|
float *left, float *right, float *top, float *bottom) {
|
||||||
int done = 0;
|
int done = 0;
|
||||||
|
|
||||||
@ -235,33 +235,39 @@ static int out_quiet_zones(const struct zint_symbol *symbol, const int hide_text
|
|||||||
case BARCODE_ISBNX:
|
case BARCODE_ISBNX:
|
||||||
/* GS1 General Specifications 21.0.1 Section 5.2.3.4 */
|
/* GS1 General Specifications 21.0.1 Section 5.2.3.4 */
|
||||||
switch (ustrlen(symbol->text)) {
|
switch (ustrlen(symbol->text)) {
|
||||||
case 13: /* EAN-13 */
|
case 13: /* EAN-13/ISBN */
|
||||||
if (!(symbol->output_options & BARCODE_NO_QUIET_ZONES)) {
|
if (!(symbol->output_options & BARCODE_NO_QUIET_ZONES)) {
|
||||||
*left = 11.0f;
|
*left = comp_xoffset >= 10 ? 1.0f : 11.0f - comp_xoffset; /* Need at least 1X for CC-A/B */
|
||||||
*right = 7.0f;
|
*right = 7.0f - (comp_xoffset != 0);
|
||||||
} else if (!hide_text) {
|
} else if (!hide_text) {
|
||||||
*left = 11.0f; /* Need for outside left digit */
|
*left = comp_xoffset >= 10 ? 1.0f : 11.0f - comp_xoffset; /* Need for outside left digit */
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 16: /* EAN-13/ISBN + 2 digit addon */
|
case 16: /* EAN-13/ISBN + 2 digit add-on */
|
||||||
case 19: /* EAN-13/ISBN + 5 digit addon */
|
case 19: /* EAN-13/ISBN + 5 digit add-on */
|
||||||
if (!(symbol->output_options & BARCODE_NO_QUIET_ZONES)) {
|
if (!(symbol->output_options & BARCODE_NO_QUIET_ZONES)) {
|
||||||
*left = 11.0f;
|
*left = comp_xoffset >= 10 ? 1.0f : 11.0f - comp_xoffset; /* Need at least 1X for CC-A/B */
|
||||||
*right = 5.0f;
|
*right = 5.0f;
|
||||||
} else if (!hide_text) {
|
} else if (!hide_text) {
|
||||||
*left = 11.0f; /* Need for outside left digit */
|
*left = comp_xoffset >= 10 ? 1.0f : 11.0f - comp_xoffset; /* Need for outside left digit */
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 5: /* EAN-5 addon */
|
case 5: /* EAN-5 add-on */
|
||||||
case 2: /* EAN-2 addon */
|
case 2: /* EAN-2 add-on */
|
||||||
if (!(symbol->output_options & BARCODE_NO_QUIET_ZONES)) {
|
if (!(symbol->output_options & BARCODE_NO_QUIET_ZONES)) {
|
||||||
*left = 7.0f;
|
|
||||||
*right = 5.0f;
|
*right = 5.0f;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
default: /* EAN-8 (+/- 2/5 digit addon) */
|
case 8: /* EAN-8 */
|
||||||
if (!(symbol->output_options & BARCODE_NO_QUIET_ZONES)) {
|
if (!(symbol->output_options & BARCODE_NO_QUIET_ZONES)) {
|
||||||
*left = *right = 7.0f;
|
*left = comp_xoffset >= 6 ? 1.0f : 7.0f - comp_xoffset; /* Need at least 1X for CC-A/B */
|
||||||
|
*right = 7.0f - (comp_xoffset != 0);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
default: /* EAN-8 + 2/5 digit add-on */
|
||||||
|
if (!(symbol->output_options & BARCODE_NO_QUIET_ZONES)) {
|
||||||
|
*left = comp_xoffset >= 6 ? 1.0f : 7.0f - comp_xoffset; /* Need at least 1X for CC-A/B */
|
||||||
|
*right = 5.0f;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@ -272,16 +278,16 @@ static int out_quiet_zones(const struct zint_symbol *symbol, const int hide_text
|
|||||||
case BARCODE_UPCA_CC:
|
case BARCODE_UPCA_CC:
|
||||||
/* GS1 General Specifications 21.0.1 Section 5.2.3.4 */
|
/* GS1 General Specifications 21.0.1 Section 5.2.3.4 */
|
||||||
if (!(symbol->output_options & BARCODE_NO_QUIET_ZONES)) {
|
if (!(symbol->output_options & BARCODE_NO_QUIET_ZONES)) {
|
||||||
*left = 9.0f;
|
*left = comp_xoffset >= 8 ? 1.0f : 9.0f - comp_xoffset; /* Need at least 1X for CC-A/B */
|
||||||
if (ustrlen(symbol->text) > 12) { /* UPC-A + addon */
|
if (ustrlen(symbol->text) > 12) { /* UPC-A + add-on */
|
||||||
*right = 5.0f;
|
*right = 5.0f;
|
||||||
} else {
|
} else {
|
||||||
*right = 9.0f;
|
*right = 9.0f - (comp_xoffset != 0);
|
||||||
}
|
}
|
||||||
} else if (!hide_text) {
|
} else if (!hide_text) {
|
||||||
*left = 9.0f; /* Need for outside left digit */
|
*left = comp_xoffset >= 8 ? 1.0f : 9.0f - comp_xoffset; /* Need for outside left digit */
|
||||||
if (ustrlen(symbol->text) <= 12) { /* No addon */
|
if (ustrlen(symbol->text) <= 12) { /* No add-on */
|
||||||
*right = 9.0f; /* Need for outside right digit */
|
*right = 9.0f - (comp_xoffset != 0); /* Need for outside right digit */
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
done = 1;
|
done = 1;
|
||||||
@ -291,16 +297,16 @@ static int out_quiet_zones(const struct zint_symbol *symbol, const int hide_text
|
|||||||
case BARCODE_UPCE_CC:
|
case BARCODE_UPCE_CC:
|
||||||
/* GS1 General Specifications 21.0.1 Section 5.2.3.4 */
|
/* GS1 General Specifications 21.0.1 Section 5.2.3.4 */
|
||||||
if (!(symbol->output_options & BARCODE_NO_QUIET_ZONES)) {
|
if (!(symbol->output_options & BARCODE_NO_QUIET_ZONES)) {
|
||||||
*left = 9.0f;
|
*left = comp_xoffset >= 8 ? 1.0f : 9.0f - comp_xoffset;
|
||||||
if (ustrlen(symbol->text) > 8) { /* UPC-E + addon */
|
if (ustrlen(symbol->text) > 8) { /* UPC-E + add-on */
|
||||||
*right = 5.0f;
|
*right = 5.0f;
|
||||||
} else {
|
} else {
|
||||||
*right = 7.0f;
|
*right = 7.0f - (comp_xoffset != 0);
|
||||||
}
|
}
|
||||||
} else if (!hide_text) {
|
} else if (!hide_text) {
|
||||||
*left = 9.0f; /* Need for outside left digit */
|
*left = comp_xoffset >= 8 ? 1.0f : 9.0f - comp_xoffset; /* Need for outside left digit */
|
||||||
if (ustrlen(symbol->text) <= 8) { /* No addon */
|
if (ustrlen(symbol->text) <= 8) { /* No add-on */
|
||||||
*right = 7.0f; /* Need for outside right digit */
|
*right = 7.0f - (comp_xoffset != 0); /* Need for outside right digit */
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
done = 1;
|
done = 1;
|
||||||
@ -349,12 +355,28 @@ static int out_quiet_zones(const struct zint_symbol *symbol, const int hide_text
|
|||||||
done = 1;
|
done = 1;
|
||||||
break;
|
break;
|
||||||
case BARCODE_GS1_128: /* GS1-128 */
|
case BARCODE_GS1_128: /* GS1-128 */
|
||||||
case BARCODE_GS1_128_CC:
|
|
||||||
case BARCODE_EAN14:
|
case BARCODE_EAN14:
|
||||||
/* GS1 General Specifications 21.0.1 Section 5.4.4.2 */
|
/* GS1 General Specifications 21.0.1 Section 5.4.4.2 */
|
||||||
*left = *right = 10.0f;
|
*left = *right = 10.0f;
|
||||||
done = 1;
|
done = 1;
|
||||||
break;
|
break;
|
||||||
|
case BARCODE_GS1_128_CC:
|
||||||
|
/* GS1 General Specifications 21.0.1 Sections 5.11.2.1 (CC-A), 5.11.2.2 (CC-B) & 5.11.2.3 (CC-C) */
|
||||||
|
{
|
||||||
|
int comp_roffset = 0; /* Right offset of linear */
|
||||||
|
int min_qz; /* Minimum quiet zone - 1X for CC-A/B, 2X for CC-C */
|
||||||
|
int x;
|
||||||
|
for (x = symbol->width - 1; x >= 0 && !module_is_set(symbol, symbol->rows - 1, x); x--) {
|
||||||
|
comp_roffset++;
|
||||||
|
}
|
||||||
|
/* Determine if CC-C by counting initial start pattern */
|
||||||
|
for (x = 0; x < 8 && module_is_set(symbol, 0, x); x++);
|
||||||
|
min_qz = x == 8 ? 2 : 1;
|
||||||
|
*left = comp_xoffset >= 10 - min_qz ? min_qz : 10.0f - comp_xoffset;
|
||||||
|
*right = comp_roffset >= 10 - min_qz ? min_qz : 10.0f - comp_roffset;
|
||||||
|
}
|
||||||
|
done = 1;
|
||||||
|
break;
|
||||||
case BARCODE_CODABAR:
|
case BARCODE_CODABAR:
|
||||||
/* BS EN 798:1995 Section 4.4.1 (d) */
|
/* BS EN 798:1995 Section 4.4.1 (d) */
|
||||||
*left = *right = 10.0f;
|
*left = *right = 10.0f;
|
||||||
@ -394,14 +416,26 @@ static int out_quiet_zones(const struct zint_symbol *symbol, const int hide_text
|
|||||||
/* GS1 General Specifications 21.0.1 Section 5.5.1.1 - Quiet Zones: None required */
|
/* GS1 General Specifications 21.0.1 Section 5.5.1.1 - Quiet Zones: None required */
|
||||||
done = 1;
|
done = 1;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
/* GS1 General Specifications 21.0.1 Sections 5.11.2.1 (CC-A) & 5.11.2.2 (CC-B) require 1X either side
|
||||||
|
but this may be supplied by the positioning of the linear component */
|
||||||
case BARCODE_DBAR_OMN_CC:
|
case BARCODE_DBAR_OMN_CC:
|
||||||
case BARCODE_DBAR_LTD_CC:
|
case BARCODE_DBAR_LTD_CC:
|
||||||
case BARCODE_DBAR_EXP_CC:
|
/* Always have at least 1X to right of CC-A/B */
|
||||||
|
if (comp_xoffset > 1) { /* Exclude DBAR_LTD_CC with CC-A which always has 1X to left */
|
||||||
|
*left = 1.0f;
|
||||||
|
}
|
||||||
|
done = 1;
|
||||||
|
break;
|
||||||
case BARCODE_DBAR_STK_CC:
|
case BARCODE_DBAR_STK_CC:
|
||||||
case BARCODE_DBAR_OMNSTK_CC:
|
case BARCODE_DBAR_OMNSTK_CC:
|
||||||
|
/* Always have at least 1X to left of CC-A/B */
|
||||||
|
*right = 1.0f;
|
||||||
|
done = 1;
|
||||||
|
break;
|
||||||
|
case BARCODE_DBAR_EXP_CC:
|
||||||
case BARCODE_DBAR_EXPSTK_CC:
|
case BARCODE_DBAR_EXPSTK_CC:
|
||||||
/* GS1 General Specifications 21.0.1 Sections 5.11.2.1 (CC-A) & 5.11.2.2 (CC-B) */
|
/* Always have at least 1X to left and right of CC-A/B */
|
||||||
*left = *right = 1.0f;
|
|
||||||
done = 1;
|
done = 1;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
@ -614,19 +648,19 @@ static int out_quiet_zones(const struct zint_symbol *symbol, const int hide_text
|
|||||||
}
|
}
|
||||||
|
|
||||||
#ifdef ZINT_TEST /* Wrapper for direct testing */
|
#ifdef ZINT_TEST /* Wrapper for direct testing */
|
||||||
INTERNAL int out_quiet_zones_test(const struct zint_symbol *symbol, const int hide_text,
|
INTERNAL int out_quiet_zones_test(const struct zint_symbol *symbol, const int hide_text, const int comp_xoffset,
|
||||||
float *left, float *right, float *top, float *bottom) {
|
float *left, float *right, float *top, float *bottom) {
|
||||||
return out_quiet_zones(symbol, hide_text, left, right, top, bottom);
|
return out_quiet_zones(symbol, hide_text, comp_xoffset, left, right, top, bottom);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* Set left (x), top (y), right and bottom offsets for whitespace */
|
/* Set left (x), top (y), right and bottom offsets for whitespace */
|
||||||
INTERNAL void out_set_whitespace_offsets(const struct zint_symbol *symbol, const int hide_text,
|
INTERNAL void out_set_whitespace_offsets(const struct zint_symbol *symbol, const int hide_text,
|
||||||
float *xoffset, float *yoffset, float *roffset, float *boffset, const float scaler,
|
const int comp_xoffset, float *xoffset, float *yoffset, float *roffset, float *boffset,
|
||||||
int *xoffset_si, int *yoffset_si, int *roffset_si, int *boffset_si) {
|
const float scaler, int *xoffset_si, int *yoffset_si, int *roffset_si, int *boffset_si) {
|
||||||
float qz_left, qz_right, qz_top, qz_bottom;
|
float qz_left, qz_right, qz_top, qz_bottom;
|
||||||
|
|
||||||
out_quiet_zones(symbol, hide_text, &qz_left, &qz_right, &qz_top, &qz_bottom);
|
out_quiet_zones(symbol, hide_text, comp_xoffset, &qz_left, &qz_right, &qz_top, &qz_bottom);
|
||||||
|
|
||||||
*xoffset = symbol->whitespace_width + qz_left;
|
*xoffset = symbol->whitespace_width + qz_left;
|
||||||
*roffset = symbol->whitespace_width + qz_right;
|
*roffset = symbol->whitespace_width + qz_right;
|
||||||
@ -658,22 +692,22 @@ INTERNAL void out_set_whitespace_offsets(const struct zint_symbol *symbol, const
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Set composite offset and main width excluding addon (for start of addon calc) and addon text, returning
|
/* Set composite offset and main width excluding add-on (for start of add-on calc) and add-on text, returning
|
||||||
UPC/EAN type */
|
UPC/EAN type */
|
||||||
INTERNAL int out_process_upcean(const struct zint_symbol *symbol, int *p_main_width, int *p_comp_xoffset,
|
INTERNAL int out_process_upcean(const struct zint_symbol *symbol, const int comp_xoffset, int *p_main_width,
|
||||||
unsigned char addon[6], int *p_addon_gap) {
|
unsigned char addon[6], int *p_addon_gap) {
|
||||||
int main_width; /* Width of main linear symbol, excluding addon */
|
int main_width; /* Width of main linear symbol, excluding add-on */
|
||||||
int comp_xoffset; /* Whitespace offset (if any) of main linear symbol due to having composite */
|
|
||||||
int upceanflag; /* UPC/EAN type flag */
|
int upceanflag; /* UPC/EAN type flag */
|
||||||
int i, j, latch;
|
int i, j, latch;
|
||||||
int text_length = (int) ustrlen(symbol->text);
|
const int text_length = (int) ustrlen(symbol->text);
|
||||||
|
|
||||||
latch = 0;
|
latch = 0;
|
||||||
j = 0;
|
j = 0;
|
||||||
/* Isolate add-on text */
|
/* Isolate add-on text */
|
||||||
for (i = 6; i < text_length && j < 5; i++) {
|
for (i = 6; i < text_length && j < 5; i++) {
|
||||||
if (latch == 1) {
|
if (latch == 1) {
|
||||||
addon[j] = symbol->show_hrt ? symbol->text[i] : ' '; /* Use dummy space-filled addon if no hrt */
|
/* Use dummy space-filled add-on if no hrt */
|
||||||
|
addon[j] = symbol->show_hrt ? symbol->text[i] : ' ';
|
||||||
j++;
|
j++;
|
||||||
} else if (symbol->text[i] == '+') {
|
} else if (symbol->text[i] == '+') {
|
||||||
latch = 1;
|
latch = 1;
|
||||||
@ -689,14 +723,6 @@ INTERNAL int out_process_upcean(const struct zint_symbol *symbol, int *p_main_wi
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Calculate composite offset */
|
|
||||||
comp_xoffset = 0;
|
|
||||||
if (is_composite(symbol->symbology)) {
|
|
||||||
while (!(module_is_set(symbol, symbol->rows - 1, comp_xoffset))) {
|
|
||||||
comp_xoffset++;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
upceanflag = 0;
|
upceanflag = 0;
|
||||||
main_width = symbol->width;
|
main_width = symbol->width;
|
||||||
if ((symbol->symbology == BARCODE_EANX) || (symbol->symbology == BARCODE_EANX_CHK)
|
if ((symbol->symbology == BARCODE_EANX) || (symbol->symbology == BARCODE_EANX_CHK)
|
||||||
@ -709,11 +735,11 @@ INTERNAL int out_process_upcean(const struct zint_symbol *symbol, int *p_main_wi
|
|||||||
upceanflag = 13;
|
upceanflag = 13;
|
||||||
break;
|
break;
|
||||||
case 2:
|
case 2:
|
||||||
/* EAN-2 can't have addon or be composite */
|
/* EAN-2 can't have add-on or be composite */
|
||||||
upceanflag = 2;
|
upceanflag = 2;
|
||||||
break;
|
break;
|
||||||
case 5:
|
case 5:
|
||||||
/* EAN-5 can't have addon or be composite */
|
/* EAN-5 can't have add-on or be composite */
|
||||||
upceanflag = 5;
|
upceanflag = 5;
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
@ -731,7 +757,6 @@ INTERNAL int out_process_upcean(const struct zint_symbol *symbol, int *p_main_wi
|
|||||||
upceanflag = 6;
|
upceanflag = 6;
|
||||||
}
|
}
|
||||||
|
|
||||||
*p_comp_xoffset = comp_xoffset;
|
|
||||||
*p_main_width = main_width;
|
*p_main_width = main_width;
|
||||||
|
|
||||||
return upceanflag;
|
return upceanflag;
|
||||||
@ -989,4 +1014,34 @@ INTERNAL FILE *out_fopen(const char filename[256], const char *mode) {
|
|||||||
return outfile;
|
return outfile;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Output float without trailing zeroes to `fp` with decimal pts `dp` (precision) */
|
||||||
|
INTERNAL void out_putsf(const char *const prefix, const int dp, const float arg, FILE *fp) {
|
||||||
|
int i, end;
|
||||||
|
char buf[256]; /* Assuming `dp` reasonable */
|
||||||
|
const int len = sprintf(buf, "%.*f", dp, arg);
|
||||||
|
|
||||||
|
if (*prefix) {
|
||||||
|
fputs(prefix, fp);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Adapted from https://stackoverflow.com/a/36202854/664741 */
|
||||||
|
for (i = len - 1, end = len; i >= 0; i--) {
|
||||||
|
if (buf[i] == '0') {
|
||||||
|
if (end == i + 1) {
|
||||||
|
end = i;
|
||||||
|
}
|
||||||
|
} else if (!z_isdigit(buf[i]) && buf[i] != '-') { /* If not digit or minus then decimal point */
|
||||||
|
if (end == i + 1) {
|
||||||
|
end = i;
|
||||||
|
} else {
|
||||||
|
buf[i] = '.'; /* Overwrite any locale-specific setting for decimal point */
|
||||||
|
}
|
||||||
|
buf[end] = '\0';
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
fputs(buf, fp);
|
||||||
|
}
|
||||||
|
|
||||||
/* vim: set ts=4 sw=4 et : */
|
/* vim: set ts=4 sw=4 et : */
|
||||||
|
@ -51,12 +51,12 @@ INTERNAL int out_colour_get_cmyk(const char *colour, int *cyan, int *magenta, in
|
|||||||
|
|
||||||
/* Set left (x), top (y), right and bottom offsets for whitespace */
|
/* Set left (x), top (y), right and bottom offsets for whitespace */
|
||||||
INTERNAL void out_set_whitespace_offsets(const struct zint_symbol *symbol, const int hide_text,
|
INTERNAL void out_set_whitespace_offsets(const struct zint_symbol *symbol, const int hide_text,
|
||||||
float *xoffset, float *yoffset, float *roffset, float *boffset, const float scaler,
|
const int comp_xoffset, float *xoffset, float *yoffset, float *roffset, float *boffset,
|
||||||
int *xoffset_si, int *yoffset_si, int *roffset_si, int *boffset_si);
|
const float scaler, int *xoffset_si, int *yoffset_si, int *roffset_si, int *boffset_si);
|
||||||
|
|
||||||
/* Set composite offset and main width excluding addon (for start of addon calc) and addon text, returning
|
/* Set composite offset and main width excluding add-on (for start of add-on calc) and add-on text, returning
|
||||||
UPC/EAN type */
|
UPC/EAN type */
|
||||||
INTERNAL int out_process_upcean(const struct zint_symbol *symbol, int *p_main_width, int *p_comp_xoffset,
|
INTERNAL int out_process_upcean(const struct zint_symbol *symbol, const int comp_xoffset, int *p_main_width,
|
||||||
unsigned char addon[6], int *p_addon_gap);
|
unsigned char addon[6], int *p_addon_gap);
|
||||||
|
|
||||||
/* Calculate large bar height i.e. linear bars with zero row height that respond to the symbol height.
|
/* Calculate large bar height i.e. linear bars with zero row height that respond to the symbol height.
|
||||||
@ -76,6 +76,9 @@ INTERNAL FILE *out_fopen(const char filename[256], const char *mode);
|
|||||||
INTERNAL FILE *out_win_fopen(const char *filename, const char *mode);
|
INTERNAL FILE *out_win_fopen(const char *filename, const char *mode);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
/* Output float without trailing zeroes to `fp` with decimal pts `dp` (precision) */
|
||||||
|
INTERNAL void out_putsf(const char *const prefix, const int dp, const float arg, FILE *fp);
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
#endif /* __cplusplus */
|
#endif /* __cplusplus */
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
/* pdf417.c - Handles PDF417 stacked symbology */
|
/* pdf417.c - Handles PDF417 stacked symbology */
|
||||||
/*
|
/*
|
||||||
libzint - the open source barcode library
|
libzint - the open source barcode library
|
||||||
Copyright (C) 2008-2022 Robin Stuart <rstuart114@gmail.com>
|
Copyright (C) 2008-2023 Robin Stuart <rstuart114@gmail.com>
|
||||||
Portions Copyright (C) 2004 Grandzebu
|
Portions Copyright (C) 2004 Grandzebu
|
||||||
Bug Fixes thanks to KL Chin <klchin@users.sourceforge.net>
|
Bug Fixes thanks to KL Chin <klchin@users.sourceforge.net>
|
||||||
|
|
||||||
@ -561,13 +561,13 @@ INTERNAL void pdf_byteprocess(int *chainemc, int *p_mclength, const unsigned cha
|
|||||||
/* select the switch for multiple of 6 bytes */
|
/* select the switch for multiple of 6 bytes */
|
||||||
if (length % 6 == 0) {
|
if (length % 6 == 0) {
|
||||||
chainemc[(*p_mclength)++] = 924;
|
chainemc[(*p_mclength)++] = 924;
|
||||||
if (debug_print) printf("924 ");
|
if (debug_print) fputs("924 ", stdout);
|
||||||
} else {
|
} else {
|
||||||
/* Default mode for MICROPDF417 is Byte Compaction (ISO/IEC 24728:2006 5.4.3), but not emitting it
|
/* Default mode for MICROPDF417 is Byte Compaction (ISO/IEC 24728:2006 5.4.3), but not emitting it
|
||||||
* depends on whether an ECI has been emitted previously (or not) it appears, so simpler and safer
|
* depends on whether an ECI has been emitted previously (or not) it appears, so simpler and safer
|
||||||
* to always emit it. */
|
* to always emit it. */
|
||||||
chainemc[(*p_mclength)++] = 901;
|
chainemc[(*p_mclength)++] = 901;
|
||||||
if (debug_print) printf("901 ");
|
if (debug_print) fputs("901 ", stdout);
|
||||||
}
|
}
|
||||||
|
|
||||||
len = 0;
|
len = 0;
|
||||||
@ -977,7 +977,7 @@ static int pdf_define_mode(int liste[3][PDF_MAX_LEN], int *p_indexliste, const u
|
|||||||
if (debug_print) {
|
if (debug_print) {
|
||||||
printf("modes (%d):", *p_indexliste);
|
printf("modes (%d):", *p_indexliste);
|
||||||
for (i = 0; i < *p_indexliste; i++) printf(" %c(%d,%d)", pdf_smodes[liste[1][i]], liste[2][i], liste[0][i]);
|
for (i = 0; i < *p_indexliste; i++) printf(" %c(%d,%d)", pdf_smodes[liste[1][i]], liste[2][i], liste[0][i]);
|
||||||
printf("\n");
|
fputc('\n', stdout);
|
||||||
}
|
}
|
||||||
|
|
||||||
free(edges);
|
free(edges);
|
||||||
@ -1013,7 +1013,7 @@ static int pdf_initial(struct zint_symbol *symbol, const unsigned char chaine[],
|
|||||||
} while (indexchaine < length);
|
} while (indexchaine < length);
|
||||||
|
|
||||||
if (debug_print) {
|
if (debug_print) {
|
||||||
printf("\nInitial block pattern:\n");
|
fputs("\nInitial block pattern:\n", stdout);
|
||||||
for (i = 0; i < indexliste; i++) {
|
for (i = 0; i < indexliste; i++) {
|
||||||
printf("Start: %d Len: %d Type: %s\n", liste[2][i], liste[0][i], pdf_mode_str(liste[1][i]));
|
printf("Start: %d Len: %d Type: %s\n", liste[2][i], liste[0][i], pdf_mode_str(liste[1][i]));
|
||||||
}
|
}
|
||||||
@ -1028,7 +1028,7 @@ static int pdf_initial(struct zint_symbol *symbol, const unsigned char chaine[],
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (debug_print) {
|
if (debug_print) {
|
||||||
printf("\nCompacted block pattern:\n");
|
fputs("\nCompacted block pattern:\n", stdout);
|
||||||
for (i = 0; i < indexliste; i++) {
|
for (i = 0; i < indexliste; i++) {
|
||||||
printf("Start: %d Len: %d Type: %s\n", liste[2][i], liste[0][i],
|
printf("Start: %d Len: %d Type: %s\n", liste[2][i], liste[0][i],
|
||||||
pdf_mode_str(PDF_REAL_MODE(liste[1][i])));
|
pdf_mode_str(PDF_REAL_MODE(liste[1][i])));
|
||||||
@ -1216,7 +1216,7 @@ static int pdf_enc(struct zint_symbol *symbol, struct zint_seg segs[], const int
|
|||||||
for (i = 1; i < mclength; i++) { /* Skip unset length descriptor */
|
for (i = 1; i < mclength; i++) { /* Skip unset length descriptor */
|
||||||
printf("%d ", chainemc[i]);
|
printf("%d ", chainemc[i]);
|
||||||
}
|
}
|
||||||
printf("\n\n");
|
fputs("\n\n", stdout);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* 752 - Now take care of the number of CWs per row */
|
/* 752 - Now take care of the number of CWs per row */
|
||||||
@ -1365,7 +1365,7 @@ static int pdf_enc(struct zint_symbol *symbol, struct zint_seg segs[], const int
|
|||||||
for (i = 0; i < mclength; i++) {
|
for (i = 0; i < mclength; i++) {
|
||||||
printf("%d ", chainemc[i]);
|
printf("%d ", chainemc[i]);
|
||||||
}
|
}
|
||||||
printf("\n");
|
fputc('\n', stdout);
|
||||||
}
|
}
|
||||||
#ifdef ZINT_TEST
|
#ifdef ZINT_TEST
|
||||||
if (symbol->debug & ZINT_DEBUG_TEST) {
|
if (symbol->debug & ZINT_DEBUG_TEST) {
|
||||||
@ -1531,7 +1531,7 @@ INTERNAL int micropdf417(struct zint_symbol *symbol, struct zint_seg segs[], con
|
|||||||
for (i = 0; i < mclength; i++) {
|
for (i = 0; i < mclength; i++) {
|
||||||
printf("%3d ", chainemc[i]);
|
printf("%3d ", chainemc[i]);
|
||||||
}
|
}
|
||||||
printf("\n");
|
fputc('\n', stdout);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Now figure out which variant of the symbol to use and load values accordingly */
|
/* Now figure out which variant of the symbol to use and load values accordingly */
|
||||||
@ -1671,10 +1671,10 @@ INTERNAL int micropdf417(struct zint_symbol *symbol, struct zint_seg segs[], con
|
|||||||
offset = pdf_MicroVariants[variant + 102]; /* coefficient offset */
|
offset = pdf_MicroVariants[variant + 102]; /* coefficient offset */
|
||||||
|
|
||||||
if (debug_print) {
|
if (debug_print) {
|
||||||
printf("\nChoose symbol size:\n");
|
fputs("\nChoose symbol size:\n", stdout);
|
||||||
printf("%d columns x %d rows, variant %d\n", symbol->option_2, symbol->rows, variant + 1);
|
printf("%d columns x %d rows, variant %d\n", symbol->option_2, symbol->rows, variant + 1);
|
||||||
printf("%d data codewords (including %d pads), %d ecc codewords\n", longueur, i, k);
|
printf("%d data codewords (including %d pads), %d ecc codewords\n", longueur, i, k);
|
||||||
printf("\n");
|
fputc('\n', stdout);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* We add the padding */
|
/* We add the padding */
|
||||||
@ -1718,7 +1718,7 @@ INTERNAL int micropdf417(struct zint_symbol *symbol, struct zint_seg segs[], con
|
|||||||
for (i = 0; i < mclength; i++) {
|
for (i = 0; i < mclength; i++) {
|
||||||
printf("%3d ", chainemc[i]);
|
printf("%3d ", chainemc[i]);
|
||||||
}
|
}
|
||||||
printf("\n");
|
fputc('\n', stdout);
|
||||||
}
|
}
|
||||||
#ifdef ZINT_TEST
|
#ifdef ZINT_TEST
|
||||||
if (symbol->debug & ZINT_DEBUG_TEST) {
|
if (symbol->debug & ZINT_DEBUG_TEST) {
|
||||||
@ -1736,7 +1736,7 @@ INTERNAL int micropdf417(struct zint_symbol *symbol, struct zint_seg segs[], con
|
|||||||
|
|
||||||
/* Cluster can be 0, 1 or 2 for Cluster(0), Cluster(3) and Cluster(6) */
|
/* Cluster can be 0, 1 or 2 for Cluster(0), Cluster(3) and Cluster(6) */
|
||||||
|
|
||||||
if (debug_print) printf("\nInternal row representation:\n");
|
if (debug_print) fputs("\nInternal row representation:\n", stdout);
|
||||||
for (i = 0; i < symbol->rows; i++) {
|
for (i = 0; i < symbol->rows; i++) {
|
||||||
if (debug_print) printf("row %d: ", i);
|
if (debug_print) printf("row %d: ", i);
|
||||||
bp = 0;
|
bp = 0;
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
/* pdf417_trace.h - Trace routines for optimal PDF417 optimization algorithm */
|
/* pdf417_trace.h - Trace routines for optimal PDF417 optimization algorithm */
|
||||||
/*
|
/*
|
||||||
libzint - the open source barcode library
|
libzint - the open source barcode library
|
||||||
Copyright (C) 2022 Robin Stuart <rstuart114@gmail.com>
|
Copyright (C) 2022-2023 Robin Stuart <rstuart114@gmail.com>
|
||||||
|
|
||||||
Redistribution and use in source and binary forms, with or without
|
Redistribution and use in source and binary forms, with or without
|
||||||
modification, are permitted provided that the following conditions
|
modification, are permitted provided that the following conditions
|
||||||
|
@ -349,8 +349,5 @@ INTERNAL int png_pixel_plot(struct zint_symbol *symbol, const unsigned char *pix
|
|||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
#else
|
|
||||||
/* https://stackoverflow.com/a/26541331 Suppresses gcc warning ISO C forbids an empty translation unit */
|
|
||||||
typedef int make_iso_compilers_happy;
|
|
||||||
/* vim: set ts=4 sw=4 et : */
|
/* vim: set ts=4 sw=4 et : */
|
||||||
#endif /* ZINT_NO_PNG */
|
#endif /* ZINT_NO_PNG */
|
||||||
|
307
backend/ps.c
307
backend/ps.c
@ -31,75 +31,45 @@
|
|||||||
/* SPDX-License-Identifier: BSD-3-Clause */
|
/* SPDX-License-Identifier: BSD-3-Clause */
|
||||||
|
|
||||||
#include <errno.h>
|
#include <errno.h>
|
||||||
#include <locale.h>
|
|
||||||
#include <math.h>
|
#include <math.h>
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include "common.h"
|
#include "common.h"
|
||||||
#include "output.h"
|
#include "output.h"
|
||||||
|
|
||||||
static void colour_to_pscolor(int option, int colour, char *output) {
|
/* Convert Ultracode rectangle colour to PostScript setrgbcolor/setcmykcolor format */
|
||||||
*output = '\0';
|
static void ps_colour(const int is_rgb, const int colour, char ps_color[21]) {
|
||||||
if ((option & CMYK_COLOUR) == 0) {
|
const int idx = colour >= 1 && colour <= 8 ? colour - 1 : 6 /*black*/;
|
||||||
|
if (is_rgb) {
|
||||||
/* Use RGB colour space */
|
/* Use RGB colour space */
|
||||||
switch (colour) {
|
static const char ps_rgbs[8][6] = {
|
||||||
case 1: /* Cyan */
|
"0 1 1", /* 0: Cyan (1) */
|
||||||
strcat(output, "0.00 1.00 1.00");
|
"0 0 1", /* 1: Blue (2) */
|
||||||
break;
|
"1 0 1", /* 2: Magenta (3) */
|
||||||
case 2: /* Blue */
|
"1 0 0", /* 3: Red (4) */
|
||||||
strcat(output, "0.00 0.00 1.00");
|
"1 1 0", /* 4: Yellow (5) */
|
||||||
break;
|
"0 1 0", /* 5: Green (6) */
|
||||||
case 3: /* Magenta */
|
"0 0 0", /* 6: Black (7) */
|
||||||
strcat(output, "1.00 0.00 1.00");
|
"1 1 1", /* 7: White (8) */
|
||||||
break;
|
};
|
||||||
case 4: /* Red */
|
strcpy(ps_color, ps_rgbs[idx]);
|
||||||
strcat(output, "1.00 0.00 0.00");
|
strcpy(ps_color + 5, " setrgbcolor");
|
||||||
break;
|
|
||||||
case 5: /* Yellow */
|
|
||||||
strcat(output, "1.00 1.00 0.00");
|
|
||||||
break;
|
|
||||||
case 6: /* Green */
|
|
||||||
strcat(output, "0.00 1.00 0.00");
|
|
||||||
break;
|
|
||||||
case 8: /* White */
|
|
||||||
strcat(output, "1.00 1.00 1.00");
|
|
||||||
break;
|
|
||||||
default: /* Black */
|
|
||||||
strcat(output, "0.00 0.00 0.00");
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
strcat(output, " setrgbcolor");
|
|
||||||
} else {
|
} else {
|
||||||
/* Use CMYK colour space */
|
static const char ps_cmyks[8][8] = {
|
||||||
switch (colour) {
|
"1 0 0 0", /* 0: Cyan (1) */
|
||||||
case 1: /* Cyan */
|
"1 1 0 0", /* 1: Blue (2) */
|
||||||
strcat(output, "1.00 0.00 0.00 0.00");
|
"0 1 0 0", /* 2: Magenta (3) */
|
||||||
break;
|
"0 1 1 0", /* 3: Red (4) */
|
||||||
case 2: /* Blue */
|
"0 0 1 0", /* 4: Yellow (5) */
|
||||||
strcat(output, "1.00 1.00 0.00 0.00");
|
"1 0 1 0", /* 5: Green (6) */
|
||||||
break;
|
"0 0 0 1", /* 6: Black (7) */
|
||||||
case 3: /* Magenta */
|
"0 0 0 0", /* 7: White (8) */
|
||||||
strcat(output, "0.00 1.00 0.00 0.00");
|
};
|
||||||
break;
|
strcpy(ps_color, ps_cmyks[idx]);
|
||||||
case 4: /* Red */
|
strcpy(ps_color + 7, " setcmykcolor");
|
||||||
strcat(output, "0.00 1.00 1.00 0.00");
|
|
||||||
break;
|
|
||||||
case 5: /* Yellow */
|
|
||||||
strcat(output, "0.00 0.00 1.00 0.00");
|
|
||||||
break;
|
|
||||||
case 6: /* Green */
|
|
||||||
strcat(output, "1.00 0.00 1.00 0.00");
|
|
||||||
break;
|
|
||||||
case 8: /* White */
|
|
||||||
strcat(output, "0.00 0.00 0.00 0.00");
|
|
||||||
break;
|
|
||||||
default: /* Black */
|
|
||||||
strcat(output, "0.00 0.00 0.00 1.00");
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
strcat(output, " setcmykcolor");
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Escape special PostScript chars. Assumes valid UTF-8-encoded ISO/IEC 8859-1 */
|
||||||
static void ps_convert(const unsigned char *string, unsigned char *ps_string) {
|
static void ps_convert(const unsigned char *string, unsigned char *ps_string) {
|
||||||
const unsigned char *s;
|
const unsigned char *s;
|
||||||
unsigned char *p = ps_string;
|
unsigned char *p = ps_string;
|
||||||
@ -135,6 +105,47 @@ INTERNAL void ps_convert_test(const unsigned char *string, unsigned char *ps_str
|
|||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
/* Helper to output RGB colour */
|
||||||
|
static void ps_put_rgbcolor(const float red, const float green, const float blue, FILE *feps) {
|
||||||
|
out_putsf("", 2, red, feps);
|
||||||
|
out_putsf(" ", 2, green, feps);
|
||||||
|
out_putsf(" ", 2, blue, feps);
|
||||||
|
fputs(" setrgbcolor\n", feps);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Helper to output CMYK colour */
|
||||||
|
static void ps_put_cmykcolor(const float cyan, const float magenta, const float yellow, const float black,
|
||||||
|
FILE *feps) {
|
||||||
|
out_putsf("", 2, cyan, feps);
|
||||||
|
out_putsf(" ", 2, magenta, feps);
|
||||||
|
out_putsf(" ", 2, yellow, feps);
|
||||||
|
out_putsf(" ", 2, black, feps);
|
||||||
|
fputs(" setcmykcolor\n", feps);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Helper to output rectangle */
|
||||||
|
static void ps_put_rect(const struct zint_symbol *symbol, const struct zint_vector_rect *rect, FILE *feps) {
|
||||||
|
out_putsf("", 2, rect->height, feps);
|
||||||
|
out_putsf(" ", 2, rect->width, feps);
|
||||||
|
out_putsf(" ", 2, rect->x, feps);
|
||||||
|
out_putsf(" ", 2, (symbol->vector->height - rect->y) - rect->height, feps);
|
||||||
|
fputs(" TR\n", feps);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Helper to output circle/disc */
|
||||||
|
static void ps_put_circle(const struct zint_symbol *symbol, const struct zint_vector_circle *circle,
|
||||||
|
const float radius, FILE *feps) {
|
||||||
|
out_putsf("", 2, circle->x, feps);
|
||||||
|
out_putsf(" ", 2, symbol->vector->height - circle->y, feps);
|
||||||
|
out_putsf(" ", 3, radius, feps);
|
||||||
|
if (circle->width) {
|
||||||
|
out_putsf(" ", 3, circle->width, feps);
|
||||||
|
fputs(" TC\n", feps);
|
||||||
|
} else {
|
||||||
|
fputs(" TD\n", feps);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
INTERNAL int ps_plot(struct zint_symbol *symbol) {
|
INTERNAL int ps_plot(struct zint_symbol *symbol) {
|
||||||
FILE *feps;
|
FILE *feps;
|
||||||
unsigned char fgred, fggrn, fgblu, bgred, bggrn, bgblu, bgalpha;
|
unsigned char fgred, fggrn, fgblu, bgred, bggrn, bgblu, bgalpha;
|
||||||
@ -144,24 +155,22 @@ INTERNAL int ps_plot(struct zint_symbol *symbol) {
|
|||||||
float cyan_ink = 0.0f, magenta_ink = 0.0f, yellow_ink = 0.0f, black_ink = 0.0f;
|
float cyan_ink = 0.0f, magenta_ink = 0.0f, yellow_ink = 0.0f, black_ink = 0.0f;
|
||||||
float cyan_paper = 0.0f, magenta_paper = 0.0f, yellow_paper = 0.0f, black_paper = 0.0f;
|
float cyan_paper = 0.0f, magenta_paper = 0.0f, yellow_paper = 0.0f, black_paper = 0.0f;
|
||||||
int error_number = 0;
|
int error_number = 0;
|
||||||
float ax, ay, bx, by, cx, cy, dx, dy, ex, ey, fx, fy;
|
|
||||||
float previous_diameter;
|
float previous_diameter;
|
||||||
float radius, half_radius, half_sqrt3_radius;
|
float radius, half_radius, half_sqrt3_radius;
|
||||||
int colour_index, colour_rect_flag;
|
int colour_index, colour_rect_flag;
|
||||||
char ps_color[33]; /* max "1.00 0.00 0.00 0.00 setcmykcolor" = 32 + 1 */
|
char ps_color[21]; /* max "1 0 0 0 setcmykcolor" = 20 + 1 */
|
||||||
int draw_background = 1;
|
int draw_background = 1;
|
||||||
struct zint_vector_rect *rect;
|
struct zint_vector_rect *rect;
|
||||||
struct zint_vector_hexagon *hex;
|
struct zint_vector_hexagon *hex;
|
||||||
struct zint_vector_circle *circle;
|
struct zint_vector_circle *circle;
|
||||||
struct zint_vector_string *string;
|
struct zint_vector_string *string;
|
||||||
const char *locale = NULL;
|
|
||||||
const char *font;
|
|
||||||
int i, len;
|
int i, len;
|
||||||
int ps_len = 0;
|
int ps_len = 0;
|
||||||
int iso_latin1 = 0;
|
int iso_latin1 = 0;
|
||||||
int have_circles_with_width = 0, have_circles_without_width = 0;
|
int have_circles_with_width = 0, have_circles_without_width = 0;
|
||||||
|
const int extendable = is_extendable(symbol->symbology);
|
||||||
const int output_to_stdout = symbol->output_options & BARCODE_STDOUT;
|
const int output_to_stdout = symbol->output_options & BARCODE_STDOUT;
|
||||||
unsigned char *ps_string;
|
const int is_rgb = (symbol->output_options & CMYK_COLOUR) == 0;
|
||||||
|
|
||||||
if (symbol->vector == NULL) {
|
if (symbol->vector == NULL) {
|
||||||
strcpy(symbol->errtxt, "646: Vector header NULL");
|
strcpy(symbol->errtxt, "646: Vector header NULL");
|
||||||
@ -177,9 +186,7 @@ INTERNAL int ps_plot(struct zint_symbol *symbol) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
locale = setlocale(LC_ALL, "C");
|
if (is_rgb) {
|
||||||
|
|
||||||
if ((symbol->output_options & CMYK_COLOUR) == 0) {
|
|
||||||
(void) out_colour_get_rgb(symbol->fgcolour, &fgred, &fggrn, &fgblu, NULL /*alpha*/);
|
(void) out_colour_get_rgb(symbol->fgcolour, &fgred, &fggrn, &fgblu, NULL /*alpha*/);
|
||||||
red_ink = fgred / 255.0f;
|
red_ink = fgred / 255.0f;
|
||||||
green_ink = fggrn / 255.0f;
|
green_ink = fggrn / 255.0f;
|
||||||
@ -222,14 +229,18 @@ INTERNAL int ps_plot(struct zint_symbol *symbol) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
ps_string = (unsigned char *) z_alloca(ps_len + 1);
|
|
||||||
|
|
||||||
/* Check for circle widths */
|
/* Check for circle widths */
|
||||||
for (circle = symbol->vector->circles; circle; circle = circle->next) {
|
for (circle = symbol->vector->circles; circle; circle = circle->next) {
|
||||||
if (circle->width) {
|
if (circle->width) {
|
||||||
have_circles_with_width = 1;
|
have_circles_with_width = 1;
|
||||||
|
if (have_circles_without_width) {
|
||||||
|
break;
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
have_circles_without_width = 1;
|
have_circles_without_width = 1;
|
||||||
|
if (have_circles_with_width) {
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -260,10 +271,11 @@ INTERNAL int ps_plot(struct zint_symbol *symbol) {
|
|||||||
if (symbol->vector->hexagons) {
|
if (symbol->vector->hexagons) {
|
||||||
fputs("/TH { 0 setlinewidth moveto lineto lineto lineto lineto lineto closepath fill } bind def\n", feps);
|
fputs("/TH { 0 setlinewidth moveto lineto lineto lineto lineto lineto closepath fill } bind def\n", feps);
|
||||||
}
|
}
|
||||||
fputs("/TB { 2 copy } bind def\n"
|
if (symbol->vector->rectangles || draw_background) {
|
||||||
"/TR { newpath 4 1 roll exch moveto 1 index 0 rlineto 0 exch rlineto neg 0 rlineto closepath fill }"
|
/* Rectangle: h w x y */
|
||||||
" bind def\n"
|
fputs("/TR { newpath moveto dup 3 1 roll 0 rlineto 0 exch rlineto neg 0 rlineto closepath fill } bind def\n",
|
||||||
"/TE { pop pop } bind def\n", feps);
|
feps);
|
||||||
|
}
|
||||||
|
|
||||||
fputs("newpath\n", feps);
|
fputs("newpath\n", feps);
|
||||||
|
|
||||||
@ -271,21 +283,22 @@ INTERNAL int ps_plot(struct zint_symbol *symbol) {
|
|||||||
|
|
||||||
/* Background */
|
/* Background */
|
||||||
if (draw_background) {
|
if (draw_background) {
|
||||||
if ((symbol->output_options & CMYK_COLOUR) == 0) {
|
if (is_rgb) {
|
||||||
fprintf(feps, "%.2f %.2f %.2f setrgbcolor\n", red_paper, green_paper, blue_paper);
|
ps_put_rgbcolor(red_paper, green_paper, blue_paper, feps);
|
||||||
} else {
|
} else {
|
||||||
fprintf(feps, "%.2f %.2f %.2f %.2f setcmykcolor\n", cyan_paper, magenta_paper, yellow_paper, black_paper);
|
ps_put_cmykcolor(cyan_paper, magenta_paper, yellow_paper, black_paper, feps);
|
||||||
}
|
}
|
||||||
|
|
||||||
fprintf(feps, "%.2f 0.00 TB 0.00 %.2f TR\n", symbol->vector->height, symbol->vector->width);
|
out_putsf("", 2, symbol->vector->height, feps);
|
||||||
fputs("TE\n", feps);
|
out_putsf(" ", 2, symbol->vector->width, feps);
|
||||||
|
fputs(" 0 0 TR\n", feps);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (symbol->symbology != BARCODE_ULTRA) {
|
if (symbol->symbology != BARCODE_ULTRA) {
|
||||||
if ((symbol->output_options & CMYK_COLOUR) == 0) {
|
if (is_rgb) {
|
||||||
fprintf(feps, "%.2f %.2f %.2f setrgbcolor\n", red_ink, green_ink, blue_ink);
|
ps_put_rgbcolor(red_ink, green_ink, blue_ink, feps);
|
||||||
} else {
|
} else {
|
||||||
fprintf(feps, "%.2f %.2f %.2f %.2f setcmykcolor\n", cyan_ink, magenta_ink, yellow_ink, black_ink);
|
ps_put_cmykcolor(cyan_ink, magenta_ink, yellow_ink, black_ink, feps);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -297,17 +310,14 @@ INTERNAL int ps_plot(struct zint_symbol *symbol) {
|
|||||||
if (rect->colour == -1) { /* Foreground */
|
if (rect->colour == -1) { /* Foreground */
|
||||||
if (colour_rect_flag == 0) {
|
if (colour_rect_flag == 0) {
|
||||||
/* Set foreground colour */
|
/* Set foreground colour */
|
||||||
if ((symbol->output_options & CMYK_COLOUR) == 0) {
|
if (is_rgb) {
|
||||||
fprintf(feps, "%.2f %.2f %.2f setrgbcolor\n", red_ink, green_ink, blue_ink);
|
ps_put_rgbcolor(red_ink, green_ink, blue_ink, feps);
|
||||||
} else {
|
} else {
|
||||||
fprintf(feps, "%.2f %.2f %.2f %.2f setcmykcolor\n",
|
ps_put_cmykcolor(cyan_ink, magenta_ink, yellow_ink, black_ink, feps);
|
||||||
cyan_ink, magenta_ink, yellow_ink, black_ink);
|
|
||||||
}
|
}
|
||||||
colour_rect_flag = 1;
|
colour_rect_flag = 1;
|
||||||
}
|
}
|
||||||
fprintf(feps, "%.2f %.2f TB %.2f %.2f TR\n",
|
ps_put_rect(symbol, rect, feps);
|
||||||
rect->height, (symbol->vector->height - rect->y) - rect->height, rect->x, rect->width);
|
|
||||||
fputs("TE\n", feps);
|
|
||||||
}
|
}
|
||||||
rect = rect->next;
|
rect = rect->next;
|
||||||
}
|
}
|
||||||
@ -318,13 +328,11 @@ INTERNAL int ps_plot(struct zint_symbol *symbol) {
|
|||||||
if (rect->colour == colour_index) {
|
if (rect->colour == colour_index) {
|
||||||
if (colour_rect_flag == 0) {
|
if (colour_rect_flag == 0) {
|
||||||
/* Set new colour */
|
/* Set new colour */
|
||||||
colour_to_pscolor(symbol->output_options, colour_index, ps_color);
|
ps_colour(is_rgb, colour_index, ps_color);
|
||||||
fprintf(feps, "%s\n", ps_color);
|
fprintf(feps, "%s\n", ps_color);
|
||||||
colour_rect_flag = 1;
|
colour_rect_flag = 1;
|
||||||
}
|
}
|
||||||
fprintf(feps, "%.2f %.2f TB %.2f %.2f TR\n",
|
ps_put_rect(symbol, rect, feps);
|
||||||
rect->height, (symbol->vector->height - rect->y) - rect->height, rect->x, rect->width);
|
|
||||||
fputs("TE\n", feps);
|
|
||||||
}
|
}
|
||||||
rect = rect->next;
|
rect = rect->next;
|
||||||
}
|
}
|
||||||
@ -332,9 +340,7 @@ INTERNAL int ps_plot(struct zint_symbol *symbol) {
|
|||||||
} else {
|
} else {
|
||||||
rect = symbol->vector->rectangles;
|
rect = symbol->vector->rectangles;
|
||||||
while (rect) {
|
while (rect) {
|
||||||
fprintf(feps, "%.2f %.2f TB %.2f %.2f TR\n",
|
ps_put_rect(symbol, rect, feps);
|
||||||
rect->height, (symbol->vector->height - rect->y) - rect->height, rect->x, rect->width);
|
|
||||||
fputs("TE\n", feps);
|
|
||||||
rect = rect->next;
|
rect = rect->next;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -343,6 +349,7 @@ INTERNAL int ps_plot(struct zint_symbol *symbol) {
|
|||||||
previous_diameter = radius = half_radius = half_sqrt3_radius = 0.0f;
|
previous_diameter = radius = half_radius = half_sqrt3_radius = 0.0f;
|
||||||
hex = symbol->vector->hexagons;
|
hex = symbol->vector->hexagons;
|
||||||
while (hex) {
|
while (hex) {
|
||||||
|
float hy = symbol->vector->height - hex->y;
|
||||||
if (previous_diameter != hex->diameter) {
|
if (previous_diameter != hex->diameter) {
|
||||||
previous_diameter = hex->diameter;
|
previous_diameter = hex->diameter;
|
||||||
radius = (float) (0.5 * previous_diameter);
|
radius = (float) (0.5 * previous_diameter);
|
||||||
@ -350,34 +357,33 @@ INTERNAL int ps_plot(struct zint_symbol *symbol) {
|
|||||||
half_sqrt3_radius = (float) (0.43301270189221932338 * previous_diameter);
|
half_sqrt3_radius = (float) (0.43301270189221932338 * previous_diameter);
|
||||||
}
|
}
|
||||||
if ((hex->rotation == 0) || (hex->rotation == 180)) {
|
if ((hex->rotation == 0) || (hex->rotation == 180)) {
|
||||||
ay = (symbol->vector->height - hex->y) + radius;
|
out_putsf("", 2, hex->x, feps);
|
||||||
by = (symbol->vector->height - hex->y) + half_radius;
|
out_putsf(" ", 2, hy + radius, feps);
|
||||||
cy = (symbol->vector->height - hex->y) - half_radius;
|
out_putsf(" ", 2, hex->x + half_sqrt3_radius, feps);
|
||||||
dy = (symbol->vector->height - hex->y) - radius;
|
out_putsf(" ", 2, hy + half_radius, feps);
|
||||||
ey = (symbol->vector->height - hex->y) - half_radius;
|
out_putsf(" ", 2, hex->x + half_sqrt3_radius, feps);
|
||||||
fy = (symbol->vector->height - hex->y) + half_radius;
|
out_putsf(" ", 2, hy - half_radius, feps);
|
||||||
ax = hex->x;
|
out_putsf(" ", 2, hex->x, feps);
|
||||||
bx = hex->x + half_sqrt3_radius;
|
out_putsf(" ", 2, hy - radius, feps);
|
||||||
cx = hex->x + half_sqrt3_radius;
|
out_putsf(" ", 2, hex->x - half_sqrt3_radius, feps);
|
||||||
dx = hex->x;
|
out_putsf(" ", 2, hy - half_radius, feps);
|
||||||
ex = hex->x - half_sqrt3_radius;
|
out_putsf(" ", 2, hex->x - half_sqrt3_radius, feps);
|
||||||
fx = hex->x - half_sqrt3_radius;
|
out_putsf(" ", 2, hy + half_radius, feps);
|
||||||
} else {
|
} else {
|
||||||
ay = (symbol->vector->height - hex->y);
|
out_putsf("", 2, hex->x - radius, feps);
|
||||||
by = (symbol->vector->height - hex->y) + half_sqrt3_radius;
|
out_putsf(" ", 2, hy, feps);
|
||||||
cy = (symbol->vector->height - hex->y) + half_sqrt3_radius;
|
out_putsf(" ", 2, hex->x - half_radius, feps);
|
||||||
dy = (symbol->vector->height - hex->y);
|
out_putsf(" ", 2, hy + half_sqrt3_radius, feps);
|
||||||
ey = (symbol->vector->height - hex->y) - half_sqrt3_radius;
|
out_putsf(" ", 2, hex->x + half_radius, feps);
|
||||||
fy = (symbol->vector->height - hex->y) - half_sqrt3_radius;
|
out_putsf(" ", 2, hy + half_sqrt3_radius, feps);
|
||||||
ax = hex->x - radius;
|
out_putsf(" ", 2, hex->x + radius, feps);
|
||||||
bx = hex->x - half_radius;
|
out_putsf(" ", 2, hy, feps);
|
||||||
cx = hex->x + half_radius;
|
out_putsf(" ", 2, hex->x + half_radius, feps);
|
||||||
dx = hex->x + radius;
|
out_putsf(" ", 2, hy - half_sqrt3_radius, feps);
|
||||||
ex = hex->x + half_radius;
|
out_putsf(" ", 2, hex->x - half_radius, feps);
|
||||||
fx = hex->x - half_radius;
|
out_putsf(" ", 2, hy - half_sqrt3_radius, feps);
|
||||||
}
|
}
|
||||||
fprintf(feps, "%.2f %.2f %.2f %.2f %.2f %.2f %.2f %.2f %.2f %.2f %.2f %.2f TH\n",
|
fputs(" TH\n", feps);
|
||||||
ax, ay, bx, by, cx, cy, dx, dy, ex, ey, fx, fy);
|
|
||||||
hex = hex->next;
|
hex = hex->next;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -391,33 +397,22 @@ INTERNAL int ps_plot(struct zint_symbol *symbol) {
|
|||||||
}
|
}
|
||||||
if (circle->colour) { /* Legacy - no longer used */
|
if (circle->colour) { /* Legacy - no longer used */
|
||||||
/* A 'white' circle */
|
/* A 'white' circle */
|
||||||
if ((symbol->output_options & CMYK_COLOUR) == 0) {
|
if (is_rgb) {
|
||||||
fprintf(feps, "%.2f %.2f %.2f setrgbcolor\n", red_paper, green_paper, blue_paper);
|
ps_put_rgbcolor(red_paper, green_paper, blue_paper, feps);
|
||||||
} else {
|
} else {
|
||||||
fprintf(feps, "%.2f %.2f %.2f %.2f setcmykcolor\n",
|
ps_put_cmykcolor(cyan_paper, magenta_paper, yellow_paper, black_paper, feps);
|
||||||
cyan_paper, magenta_paper, yellow_paper, black_paper);
|
|
||||||
}
|
|
||||||
if (circle->width) {
|
|
||||||
fprintf(feps, "%.2f %.2f %.3f %.3f TC\n",
|
|
||||||
circle->x, (symbol->vector->height - circle->y), radius, circle->width);
|
|
||||||
} else {
|
|
||||||
fprintf(feps, "%.2f %.2f %.2f TD\n", circle->x, (symbol->vector->height - circle->y), radius);
|
|
||||||
}
|
}
|
||||||
|
ps_put_circle(symbol, circle, radius, feps);
|
||||||
if (circle->next) {
|
if (circle->next) {
|
||||||
if ((symbol->output_options & CMYK_COLOUR) == 0) {
|
if (is_rgb) {
|
||||||
fprintf(feps, "%.2f %.2f %.2f setrgbcolor\n", red_ink, green_ink, blue_ink);
|
ps_put_rgbcolor(red_ink, green_ink, blue_ink, feps);
|
||||||
} else {
|
} else {
|
||||||
fprintf(feps, "%.2f %.2f %.2f %.2f setcmykcolor\n", cyan_ink, magenta_ink, yellow_ink, black_ink);
|
ps_put_cmykcolor(cyan_ink, magenta_ink, yellow_ink, black_ink, feps);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
/* A 'black' circle */
|
/* A 'black' circle */
|
||||||
if (circle->width) {
|
ps_put_circle(symbol, circle, radius, feps);
|
||||||
fprintf(feps, "%.2f %.2f %.3f %.3f TC\n",
|
|
||||||
circle->x, (symbol->vector->height - circle->y), radius, circle->width);
|
|
||||||
} else {
|
|
||||||
fprintf(feps, "%.2f %.2f %.2f TD\n", circle->x, (symbol->vector->height - circle->y), radius);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
circle = circle->next;
|
circle = circle->next;
|
||||||
}
|
}
|
||||||
@ -427,7 +422,11 @@ INTERNAL int ps_plot(struct zint_symbol *symbol) {
|
|||||||
string = symbol->vector->strings;
|
string = symbol->vector->strings;
|
||||||
|
|
||||||
if (string) {
|
if (string) {
|
||||||
if ((symbol->output_options & BOLD_TEXT) && !is_extendable(symbol->symbology)) {
|
float previous_fsize = 0.0f;
|
||||||
|
const char *font;
|
||||||
|
unsigned char *ps_string = (unsigned char *) z_alloca(ps_len + 1);
|
||||||
|
|
||||||
|
if ((symbol->output_options & BOLD_TEXT) && !extendable) {
|
||||||
font = "Helvetica-Bold";
|
font = "Helvetica-Bold";
|
||||||
} else {
|
} else {
|
||||||
font = "Helvetica";
|
font = "Helvetica";
|
||||||
@ -445,34 +444,32 @@ INTERNAL int ps_plot(struct zint_symbol *symbol) {
|
|||||||
}
|
}
|
||||||
do {
|
do {
|
||||||
ps_convert(string->text, ps_string);
|
ps_convert(string->text, ps_string);
|
||||||
fputs("matrix currentmatrix\n", feps);
|
if (string->fsize != previous_fsize) {
|
||||||
fprintf(feps, "/%s findfont\n", font);
|
fprintf(feps, "/%s findfont", font);
|
||||||
fprintf(feps, "%.2f scalefont setfont\n", string->fsize);
|
/* Compensate for Helvetica being smaller than Zint's OCR-B */
|
||||||
fprintf(feps, " 0 0 moveto %.2f %.2f translate 0.00 rotate 0 0 moveto\n",
|
out_putsf( " ", 2, extendable ? string->fsize * 1.07f : string->fsize, feps);
|
||||||
string->x, (symbol->vector->height - string->y));
|
fputs(" scalefont setfont\n", feps);
|
||||||
|
previous_fsize = string->fsize;
|
||||||
|
}
|
||||||
|
out_putsf(" ", 2, string->x, feps);
|
||||||
|
out_putsf(" ", 2, symbol->vector->height - string->y, feps);
|
||||||
|
fputs(" moveto\n", feps);
|
||||||
if (string->halign == 0 || string->halign == 2) { /* Need width for middle or right align */
|
if (string->halign == 0 || string->halign == 2) { /* Need width for middle or right align */
|
||||||
fprintf(feps, " (%s) stringwidth\n", ps_string);
|
fprintf(feps, " (%s) stringwidth pop" /* Returns "width height" - discard "height" */
|
||||||
|
" %s 0 rmoveto\n", ps_string, string->halign == 2 ? "neg" : "-2 div");
|
||||||
}
|
}
|
||||||
if (string->rotation != 0) {
|
if (string->rotation != 0) {
|
||||||
fputs(" gsave\n", feps);
|
fputs(" gsave\n", feps);
|
||||||
fprintf(feps, " %d rotate\n", 360 - string->rotation);
|
fprintf(feps, " %d rotate\n", 360 - string->rotation);
|
||||||
}
|
}
|
||||||
if (string->halign == 0 || string->halign == 2) {
|
|
||||||
fputs("pop\n", feps);
|
|
||||||
fprintf(feps, "%s 0 rmoveto\n", string->halign == 2 ? "neg" : "-2 div");
|
|
||||||
}
|
|
||||||
fprintf(feps, " (%s) show\n", ps_string);
|
fprintf(feps, " (%s) show\n", ps_string);
|
||||||
if (string->rotation != 0) {
|
if (string->rotation != 0) {
|
||||||
fputs(" grestore\n", feps);
|
fputs(" grestore\n", feps);
|
||||||
}
|
}
|
||||||
fputs("setmatrix\n", feps);
|
|
||||||
string = string->next;
|
string = string->next;
|
||||||
} while (string);
|
} while (string);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (locale)
|
|
||||||
setlocale(LC_ALL, locale);
|
|
||||||
|
|
||||||
if (ferror(feps)) {
|
if (ferror(feps)) {
|
||||||
sprintf(symbol->errtxt, "647: Incomplete write to output (%d: %.30s)", errno, strerror(errno));
|
sprintf(symbol->errtxt, "647: Incomplete write to output (%d: %.30s)", errno, strerror(errno));
|
||||||
if (!output_to_stdout) {
|
if (!output_to_stdout) {
|
||||||
|
39
backend/qr.c
39
backend/qr.c
@ -1,7 +1,7 @@
|
|||||||
/* qr.c Handles QR Code, Micro QR Code, UPNQR and rMQR */
|
/* qr.c Handles QR Code, Micro QR Code, UPNQR and rMQR */
|
||||||
/*
|
/*
|
||||||
libzint - the open source barcode library
|
libzint - the open source barcode library
|
||||||
Copyright (C) 2009-2022 Robin Stuart <rstuart114@gmail.com>
|
Copyright (C) 2009-2023 Robin Stuart <rstuart114@gmail.com>
|
||||||
|
|
||||||
Redistribution and use in source and binary forms, with or without
|
Redistribution and use in source and binary forms, with or without
|
||||||
modification, are permitted provided that the following conditions
|
modification, are permitted provided that the following conditions
|
||||||
@ -442,7 +442,7 @@ static int qr_binary(char binary[], int bp, const int version, const char mode[]
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (debug_print) {
|
if (debug_print) {
|
||||||
printf("\n");
|
fputc('\n', stdout);
|
||||||
}
|
}
|
||||||
|
|
||||||
break;
|
break;
|
||||||
@ -473,7 +473,7 @@ static int qr_binary(char binary[], int bp, const int version, const char mode[]
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (debug_print) {
|
if (debug_print) {
|
||||||
printf("\n");
|
fputc('\n', stdout);
|
||||||
}
|
}
|
||||||
|
|
||||||
break;
|
break;
|
||||||
@ -572,7 +572,7 @@ static int qr_binary(char binary[], int bp, const int version, const char mode[]
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (debug_print) {
|
if (debug_print) {
|
||||||
printf("\n");
|
fputc('\n', stdout);
|
||||||
}
|
}
|
||||||
|
|
||||||
break;
|
break;
|
||||||
@ -618,7 +618,7 @@ static int qr_binary(char binary[], int bp, const int version, const char mode[]
|
|||||||
};
|
};
|
||||||
|
|
||||||
if (debug_print) {
|
if (debug_print) {
|
||||||
printf("\n");
|
fputc('\n', stdout);
|
||||||
}
|
}
|
||||||
|
|
||||||
break;
|
break;
|
||||||
@ -722,11 +722,11 @@ static int qr_binary_segs(unsigned char datastream[], const int version, const i
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (debug_print) {
|
if (debug_print) {
|
||||||
printf("Resulting codewords:\n\t");
|
fputs("Resulting codewords:\n\t", stdout);
|
||||||
for (i = 0; i < target_codewords; i++) {
|
for (i = 0; i < target_codewords; i++) {
|
||||||
printf("0x%02X ", datastream[i]);
|
printf("0x%02X ", datastream[i]);
|
||||||
}
|
}
|
||||||
printf("\n");
|
fputc('\n', stdout);
|
||||||
}
|
}
|
||||||
|
|
||||||
return 0; /* Not used */
|
return 0; /* Not used */
|
||||||
@ -755,6 +755,7 @@ static void qr_add_ecc(unsigned char fullstream[], const unsigned char datastrea
|
|||||||
|
|
||||||
/* Suppress some clang-tidy clang-analyzer-core.UndefinedBinaryOperatorResult/uninitialized.Assign warnings */
|
/* Suppress some clang-tidy clang-analyzer-core.UndefinedBinaryOperatorResult/uninitialized.Assign warnings */
|
||||||
assert(blocks > 0);
|
assert(blocks > 0);
|
||||||
|
|
||||||
short_data_block_length = data_cw / blocks;
|
short_data_block_length = data_cw / blocks;
|
||||||
qty_long_blocks = data_cw % blocks;
|
qty_long_blocks = data_cw % blocks;
|
||||||
qty_short_blocks = blocks - qty_long_blocks;
|
qty_short_blocks = blocks - qty_long_blocks;
|
||||||
@ -762,7 +763,7 @@ static void qr_add_ecc(unsigned char fullstream[], const unsigned char datastrea
|
|||||||
|
|
||||||
/* Suppress some clang-tidy clang-analyzer-core.UndefinedBinaryOperatorResult/uninitialized.Assign warnings */
|
/* Suppress some clang-tidy clang-analyzer-core.UndefinedBinaryOperatorResult/uninitialized.Assign warnings */
|
||||||
assert(short_data_block_length > 0);
|
assert(short_data_block_length > 0);
|
||||||
assert(ecc_block_length * blocks == ecc_cw);
|
assert(qty_long_blocks || qty_short_blocks);
|
||||||
|
|
||||||
data_block = (unsigned char *) z_alloca(short_data_block_length + 1);
|
data_block = (unsigned char *) z_alloca(short_data_block_length + 1);
|
||||||
ecc_block = (unsigned char *) z_alloca(ecc_block_length);
|
ecc_block = (unsigned char *) z_alloca(ecc_block_length);
|
||||||
@ -781,10 +782,6 @@ static void qr_add_ecc(unsigned char fullstream[], const unsigned char datastrea
|
|||||||
length_this_block = short_data_block_length + 1;
|
length_this_block = short_data_block_length + 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
for (j = 0; j < ecc_block_length; j++) {
|
|
||||||
ecc_block[j] = 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
for (j = 0; j < length_this_block; j++) {
|
for (j = 0; j < length_this_block; j++) {
|
||||||
data_block[j] = datastream[in_posn + j]; /* NOLINT false-positive popped up with clang-tidy 14.0.1 */
|
data_block[j] = datastream[in_posn + j]; /* NOLINT false-positive popped up with clang-tidy 14.0.1 */
|
||||||
}
|
}
|
||||||
@ -797,13 +794,13 @@ static void qr_add_ecc(unsigned char fullstream[], const unsigned char datastrea
|
|||||||
printf("%2X ", data_block[j]);
|
printf("%2X ", data_block[j]);
|
||||||
}
|
}
|
||||||
if (i < qty_short_blocks) {
|
if (i < qty_short_blocks) {
|
||||||
printf(" ");
|
fputs(" ", stdout);
|
||||||
}
|
}
|
||||||
printf(" // ");
|
fputs(" // ", stdout);
|
||||||
for (j = 0; j < ecc_block_length; j++) {
|
for (j = 0; j < ecc_block_length; j++) {
|
||||||
printf("%2X ", ecc_block[ecc_block_length - j - 1]);
|
printf("%2X ", ecc_block[ecc_block_length - j - 1]);
|
||||||
}
|
}
|
||||||
printf("\n");
|
fputc('\n', stdout);
|
||||||
}
|
}
|
||||||
|
|
||||||
for (j = 0; j < short_data_block_length; j++) {
|
for (j = 0; j < short_data_block_length; j++) {
|
||||||
@ -826,15 +823,15 @@ static void qr_add_ecc(unsigned char fullstream[], const unsigned char datastrea
|
|||||||
fullstream[j] = interleaved_data[j];
|
fullstream[j] = interleaved_data[j];
|
||||||
}
|
}
|
||||||
for (j = 0; j < ecc_cw; j++) {
|
for (j = 0; j < ecc_cw; j++) {
|
||||||
fullstream[j + data_cw] = interleaved_ecc[j]; /* NOLINT ditto clang-tidy 14.0.6 */
|
fullstream[j + data_cw] = interleaved_ecc[j];
|
||||||
}
|
}
|
||||||
|
|
||||||
if (debug_print) {
|
if (debug_print) {
|
||||||
printf("\nData Stream: \n");
|
fputs("\nData Stream: \n", stdout);
|
||||||
for (j = 0; j < (data_cw + ecc_cw); j++) {
|
for (j = 0; j < (data_cw + ecc_cw); j++) {
|
||||||
printf("%2X ", fullstream[j]);
|
printf("%2X ", fullstream[j]);
|
||||||
}
|
}
|
||||||
printf("\n");
|
fputc('\n', stdout);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1371,7 +1368,7 @@ static int qr_apply_bitmask(unsigned char *grid, const int size, const int ecc_l
|
|||||||
for (pattern = 0; pattern < 8; pattern++) printf(" %d:%d", pattern, penalty[pattern]);
|
for (pattern = 0; pattern < 8; pattern++) printf(" %d:%d", pattern, penalty[pattern]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
printf("\n");
|
fputc('\n', stdout);
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef ZINTLOG
|
#ifdef ZINTLOG
|
||||||
@ -1400,7 +1397,7 @@ static int qr_apply_bitmask(unsigned char *grid, const int size, const int ecc_l
|
|||||||
static void qr_add_version_info(unsigned char *grid, const int size, const int version) {
|
static void qr_add_version_info(unsigned char *grid, const int size, const int version) {
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
long int version_data = qr_annex_d[version - 7];
|
unsigned int version_data = qr_annex_d[version - 7];
|
||||||
for (i = 0; i < 6; i++) {
|
for (i = 0; i < 6; i++) {
|
||||||
grid[((size - 11) * size) + i] += (version_data >> (i * 3)) & 0x41;
|
grid[((size - 11) * size) + i] += (version_data >> (i * 3)) & 0x41;
|
||||||
grid[((size - 10) * size) + i] += (version_data >> ((i * 3) + 1)) & 0x41;
|
grid[((size - 10) * size) + i] += (version_data >> ((i * 3) + 1)) & 0x41;
|
||||||
@ -2432,7 +2429,7 @@ static int micro_apply_bitmask(unsigned char *grid, const int size, const int us
|
|||||||
if (!user_mask) {
|
if (!user_mask) {
|
||||||
for (pattern = 0; pattern < 4; pattern++) printf(" %d:%d", pattern, value[pattern]);
|
for (pattern = 0; pattern < 4; pattern++) printf(" %d:%d", pattern, value[pattern]);
|
||||||
}
|
}
|
||||||
printf("\n");
|
fputc('\n', stdout);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Apply mask */
|
/* Apply mask */
|
||||||
|
@ -42,7 +42,7 @@
|
|||||||
#include "output.h"
|
#include "output.h"
|
||||||
#include "zfiletypes.h"
|
#include "zfiletypes.h"
|
||||||
|
|
||||||
#include "font.h" /* Font for human readable text */
|
#include "raster_font.h" /* Font for human readable text */
|
||||||
|
|
||||||
#define DEFAULT_INK '1' /* Black */
|
#define DEFAULT_INK '1' /* Black */
|
||||||
#define DEFAULT_PAPER '0' /* White */
|
#define DEFAULT_PAPER '0' /* White */
|
||||||
@ -300,7 +300,7 @@ static void draw_letter(unsigned char *pixelbuf, const unsigned char letter, int
|
|||||||
int glyph_no;
|
int glyph_no;
|
||||||
int x, y;
|
int x, y;
|
||||||
int max_x, max_y;
|
int max_x, max_y;
|
||||||
font_item *font_table;
|
const raster_font_item *font_table;
|
||||||
int bold = 0;
|
int bold = 0;
|
||||||
unsigned glyph_mask;
|
unsigned glyph_mask;
|
||||||
int font_y;
|
int font_y;
|
||||||
@ -317,11 +317,6 @@ static void draw_letter(unsigned char *pixelbuf, const unsigned char letter, int
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Following should never happen (ISBN check digit "X" not printed) */
|
|
||||||
if ((textflags & UPCEAN_TEXT) && !z_isdigit(letter)) {
|
|
||||||
return; /* Not reached */
|
|
||||||
}
|
|
||||||
|
|
||||||
if (yposn < 0) { /* Allow xposn < 0, dealt with below */
|
if (yposn < 0) { /* Allow xposn < 0, dealt with below */
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@ -718,8 +713,8 @@ static int plot_raster_maxicode(struct zint_symbol *symbol, const int rotate_ang
|
|||||||
}
|
}
|
||||||
scaler *= 10.0f;
|
scaler *= 10.0f;
|
||||||
|
|
||||||
out_set_whitespace_offsets(symbol, 0 /*hide_text*/, &xoffset, &yoffset, &roffset, &boffset, scaler,
|
out_set_whitespace_offsets(symbol, 0 /*hide_text*/, 0 /*comp_xoffset*/, &xoffset, &yoffset, &roffset, &boffset,
|
||||||
&xoffset_si, &yoffset_si, &roffset_si, &boffset_si);
|
scaler, &xoffset_si, &yoffset_si, &roffset_si, &boffset_si);
|
||||||
|
|
||||||
hex_width = (int) roundf(scaler); /* Short diameter, X in ISO/IEC 16023:2000 Figure 8 (same as W) */
|
hex_width = (int) roundf(scaler); /* Short diameter, X in ISO/IEC 16023:2000 Figure 8 (same as W) */
|
||||||
hex_height = (int) roundf(scaler * two_div_sqrt3); /* Long diameter, V in Figure 8 */
|
hex_height = (int) roundf(scaler * two_div_sqrt3); /* Long diameter, V in Figure 8 */
|
||||||
@ -816,8 +811,8 @@ static int plot_raster_dotty(struct zint_symbol *symbol, const int rotate_angle,
|
|||||||
dot_radius_s = (symbol->dot_size * scaler) / 2.0f;
|
dot_radius_s = (symbol->dot_size * scaler) / 2.0f;
|
||||||
dot_radius_si = (int) dot_radius_s;
|
dot_radius_si = (int) dot_radius_s;
|
||||||
|
|
||||||
out_set_whitespace_offsets(symbol, 0 /*hide_text*/, &xoffset, &yoffset, &roffset, &boffset, scaler,
|
out_set_whitespace_offsets(symbol, 0 /*hide_text*/, 0 /*comp_xoffset*/, &xoffset, &yoffset, &roffset, &boffset,
|
||||||
&xoffset_si, &yoffset_si, &roffset_si, &boffset_si);
|
scaler, &xoffset_si, &yoffset_si, &roffset_si, &boffset_si);
|
||||||
|
|
||||||
/* TODO: Revisit this overspill stuff, it's hacky */
|
/* TODO: Revisit this overspill stuff, it's hacky */
|
||||||
if (symbol->dot_size < 1.0f) {
|
if (symbol->dot_size < 1.0f) {
|
||||||
@ -923,6 +918,8 @@ static int plot_raster_default(struct zint_symbol *symbol, const int rotate_angl
|
|||||||
int text_height; /* Font pixel size (so whole integers) */
|
int text_height; /* Font pixel size (so whole integers) */
|
||||||
float text_gap; /* Gap between barcode and text */
|
float text_gap; /* Gap between barcode and text */
|
||||||
float guard_descent;
|
float guard_descent;
|
||||||
|
const int upcean_guard_whitespace = !(symbol->output_options & BARCODE_NO_QUIET_ZONES)
|
||||||
|
&& (symbol->output_options & EANUPC_GUARD_WHITESPACE);
|
||||||
const int is_codablockf = symbol->symbology == BARCODE_CODABLOCKF || symbol->symbology == BARCODE_HIBC_BLOCKF;
|
const int is_codablockf = symbol->symbology == BARCODE_CODABLOCKF || symbol->symbology == BARCODE_HIBC_BLOCKF;
|
||||||
|
|
||||||
int textflags = 0;
|
int textflags = 0;
|
||||||
@ -953,13 +950,18 @@ static int plot_raster_default(struct zint_symbol *symbol, const int rotate_angl
|
|||||||
|
|
||||||
main_width = symbol->width;
|
main_width = symbol->width;
|
||||||
|
|
||||||
|
if (is_composite(symbol->symbology)) {
|
||||||
|
while (!module_is_set(symbol, symbol->rows - 1, comp_xoffset)) {
|
||||||
|
comp_xoffset++;
|
||||||
|
}
|
||||||
|
}
|
||||||
if (is_extendable(symbol->symbology)) {
|
if (is_extendable(symbol->symbology)) {
|
||||||
upceanflag = out_process_upcean(symbol, &main_width, &comp_xoffset, addon, &addon_gap);
|
upceanflag = out_process_upcean(symbol, comp_xoffset, &main_width, addon, &addon_gap);
|
||||||
}
|
}
|
||||||
|
|
||||||
hide_text = ((!symbol->show_hrt) || (ustrlen(symbol->text) == 0) || scaler < 1.0f);
|
hide_text = ((!symbol->show_hrt) || (ustrlen(symbol->text) == 0) || scaler < 1.0f);
|
||||||
|
|
||||||
out_set_whitespace_offsets(symbol, hide_text, &xoffset, &yoffset, &roffset, &boffset, si,
|
out_set_whitespace_offsets(symbol, hide_text, comp_xoffset, &xoffset, &yoffset, &roffset, &boffset, si,
|
||||||
&xoffset_si, &yoffset_si, &roffset_si, &boffset_si);
|
&xoffset_si, &yoffset_si, &roffset_si, &boffset_si);
|
||||||
|
|
||||||
comp_xoffset_si = xoffset_si + comp_xoffset * si;
|
comp_xoffset_si = xoffset_si + comp_xoffset * si;
|
||||||
@ -970,7 +972,7 @@ static int plot_raster_default(struct zint_symbol *symbol, const int rotate_angl
|
|||||||
text_height = (UPCEAN_FONT_HEIGHT + 1) / 2;
|
text_height = (UPCEAN_FONT_HEIGHT + 1) / 2;
|
||||||
text_gap = symbol->text_gap ? symbol->text_gap : 1.0f;
|
text_gap = symbol->text_gap ? symbol->text_gap : 1.0f;
|
||||||
/* Height of guard bar descent (none for EAN-2 and EAN-5) */
|
/* Height of guard bar descent (none for EAN-2 and EAN-5) */
|
||||||
guard_descent = upceanflag != 2 && upceanflag != 5 ? symbol->guard_descent : 0.0f;
|
guard_descent = upceanflag >= 6 ? symbol->guard_descent : 0.0f;
|
||||||
} else {
|
} else {
|
||||||
textflags = symbol->output_options & (SMALL_TEXT | BOLD_TEXT);
|
textflags = symbol->output_options & (SMALL_TEXT | BOLD_TEXT);
|
||||||
text_height = textflags & SMALL_TEXT ? (SMALL_FONT_HEIGHT + 1) / 2 : (NORMAL_FONT_HEIGHT + 1) / 2;
|
text_height = textflags & SMALL_TEXT ? (SMALL_FONT_HEIGHT + 1) / 2 : (NORMAL_FONT_HEIGHT + 1) / 2;
|
||||||
@ -1063,6 +1065,9 @@ static int plot_raster_default(struct zint_symbol *symbol, const int rotate_angl
|
|||||||
}
|
}
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
|
if (upceanflag && !hide_text) { /* EAN-2, EAN-5 (standalone add-ons) */
|
||||||
|
yposn_si += (int) (text_height + text_gap) * si;
|
||||||
|
}
|
||||||
for (r = 0; r < symbol->rows; r++) {
|
for (r = 0; r < symbol->rows; r++) {
|
||||||
const int row_height_si = row_heights_si[r];
|
const int row_height_si = row_heights_si[r];
|
||||||
|
|
||||||
@ -1142,6 +1147,9 @@ static int plot_raster_default(struct zint_symbol *symbol, const int rotate_angl
|
|||||||
|
|
||||||
if (!hide_text) {
|
if (!hide_text) {
|
||||||
int text_yposn = yoffset_si + symbol_height_si + (int) (text_gap * si); /* Calculated to top of text */
|
int text_yposn = yoffset_si + symbol_height_si + (int) (text_gap * si); /* Calculated to top of text */
|
||||||
|
if (upceanflag == 2 || upceanflag == 5) { /* EAN-2/5 */
|
||||||
|
text_yposn = yoffset_si;
|
||||||
|
}
|
||||||
if (symbol->border_width > 0 && (symbol->output_options & (BARCODE_BOX | BARCODE_BIND))) {
|
if (symbol->border_width > 0 && (symbol->output_options & (BARCODE_BOX | BARCODE_BIND))) {
|
||||||
text_yposn += symbol->border_width * si; /* Note not needed for BARCODE_BIND_TOP */
|
text_yposn += symbol->border_width * si; /* Note not needed for BARCODE_BIND_TOP */
|
||||||
}
|
}
|
||||||
@ -1172,10 +1180,22 @@ static int plot_raster_default(struct zint_symbol *symbol, const int rotate_angl
|
|||||||
text_xposn = ((addon_len == 2 ? 61 : 75) + addon_gap) * si + comp_xoffset_si;
|
text_xposn = ((addon_len == 2 ? 61 : 75) + addon_gap) * si + comp_xoffset_si;
|
||||||
draw_string(pixelbuf, addon, text_xposn, addon_text_yposn, textflags,
|
draw_string(pixelbuf, addon, text_xposn, addon_text_yposn, textflags,
|
||||||
image_width, image_height, si);
|
image_width, image_height, si);
|
||||||
|
if (upcean_guard_whitespace) {
|
||||||
|
text_xposn = (int) (((addon_len == 2 ? 70 : 97) + 1.5f + upcea_width_adj + addon_gap) * si)
|
||||||
|
+ comp_xoffset_si;
|
||||||
|
draw_string(pixelbuf, (const unsigned char *) ">", text_xposn, addon_text_yposn, textflags,
|
||||||
|
image_width, image_height, si);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
} else if (upceanflag == 8) { /* EAN-8 */
|
} else if (upceanflag == 8) { /* EAN-8 */
|
||||||
int text_xposn = 17 * si + comp_xoffset_si;
|
int text_xposn;
|
||||||
|
if (upcean_guard_whitespace) {
|
||||||
|
text_xposn = -(ean_width_adj + 2) * si + comp_xoffset_si;
|
||||||
|
draw_string(pixelbuf, (const unsigned char *) "<", text_xposn, text_yposn, textflags,
|
||||||
|
image_width, image_height, si);
|
||||||
|
}
|
||||||
|
text_xposn = 17 * si + comp_xoffset_si;
|
||||||
draw_string(pixelbuf, textparts[0], text_xposn, text_yposn, textflags, image_width, image_height, si);
|
draw_string(pixelbuf, textparts[0], text_xposn, text_yposn, textflags, image_width, image_height, si);
|
||||||
text_xposn = 50 * si + comp_xoffset_si;
|
text_xposn = 50 * si + comp_xoffset_si;
|
||||||
draw_string(pixelbuf, textparts[1], text_xposn, text_yposn, textflags, image_width, image_height, si);
|
draw_string(pixelbuf, textparts[1], text_xposn, text_yposn, textflags, image_width, image_height, si);
|
||||||
@ -1183,6 +1203,16 @@ static int plot_raster_default(struct zint_symbol *symbol, const int rotate_angl
|
|||||||
text_xposn = ((addon_len == 2 ? 77 : 91) + addon_gap) * si + comp_xoffset_si;
|
text_xposn = ((addon_len == 2 ? 77 : 91) + addon_gap) * si + comp_xoffset_si;
|
||||||
draw_string(pixelbuf, addon, text_xposn, addon_text_yposn, textflags,
|
draw_string(pixelbuf, addon, text_xposn, addon_text_yposn, textflags,
|
||||||
image_width, image_height, si);
|
image_width, image_height, si);
|
||||||
|
if (upcean_guard_whitespace) {
|
||||||
|
text_xposn = (int) (((addon_len == 2 ? 86 : 113) + 0.5f + ean_width_adj + addon_gap) * si)
|
||||||
|
+ comp_xoffset_si;
|
||||||
|
draw_string(pixelbuf, (const unsigned char *) ">", text_xposn, addon_text_yposn, textflags,
|
||||||
|
image_width, image_height, si);
|
||||||
|
}
|
||||||
|
} else if (upcean_guard_whitespace) {
|
||||||
|
text_xposn = (int) ((68 + 0.5f + ean_width_adj) * si) + comp_xoffset_si;
|
||||||
|
draw_string(pixelbuf, (const unsigned char *) ">", text_xposn, text_yposn, textflags,
|
||||||
|
image_width, image_height, si);
|
||||||
}
|
}
|
||||||
|
|
||||||
} else if (upceanflag == 12) { /* UPC-A */
|
} else if (upceanflag == 12) { /* UPC-A */
|
||||||
@ -1200,6 +1230,12 @@ static int plot_raster_default(struct zint_symbol *symbol, const int rotate_angl
|
|||||||
text_xposn = ((addon_len == 2 ? 105 : 119) + addon_gap) * si + comp_xoffset_si;
|
text_xposn = ((addon_len == 2 ? 105 : 119) + addon_gap) * si + comp_xoffset_si;
|
||||||
draw_string(pixelbuf, addon, text_xposn, addon_text_yposn, textflags,
|
draw_string(pixelbuf, addon, text_xposn, addon_text_yposn, textflags,
|
||||||
image_width, image_height, si);
|
image_width, image_height, si);
|
||||||
|
if (upcean_guard_whitespace) {
|
||||||
|
text_xposn = (int) (((addon_len == 2 ? 114 : 141) + 0.5f + ean_width_adj + addon_gap) * si)
|
||||||
|
+ comp_xoffset_si;
|
||||||
|
draw_string(pixelbuf, (const unsigned char *) ">", text_xposn, addon_text_yposn, textflags,
|
||||||
|
image_width, image_height, si);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
} else { /* EAN-13 */
|
} else { /* EAN-13 */
|
||||||
@ -1213,15 +1249,33 @@ static int plot_raster_default(struct zint_symbol *symbol, const int rotate_angl
|
|||||||
text_xposn = ((addon_len == 2 ? 105 : 119) + addon_gap) * si + comp_xoffset_si;
|
text_xposn = ((addon_len == 2 ? 105 : 119) + addon_gap) * si + comp_xoffset_si;
|
||||||
draw_string(pixelbuf, addon, text_xposn, addon_text_yposn, textflags,
|
draw_string(pixelbuf, addon, text_xposn, addon_text_yposn, textflags,
|
||||||
image_width, image_height, si);
|
image_width, image_height, si);
|
||||||
|
if (upcean_guard_whitespace) {
|
||||||
|
text_xposn = (int) (((addon_len == 2 ? 114 : 141) + 0.5f + ean_width_adj + addon_gap) * si)
|
||||||
|
+ comp_xoffset_si;
|
||||||
|
draw_string(pixelbuf, (const unsigned char *) ">", text_xposn, addon_text_yposn, textflags,
|
||||||
|
image_width, image_height, si);
|
||||||
|
}
|
||||||
|
} else if (upcean_guard_whitespace) {
|
||||||
|
text_xposn = (int) ((96 + 0.5f + ean_width_adj) * si) + comp_xoffset_si;
|
||||||
|
draw_string(pixelbuf, (const unsigned char *) ">", text_xposn, text_yposn, textflags,
|
||||||
|
image_width, image_height, si);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
int text_xposn = (main_width / 2) * si + comp_xoffset_si;
|
int text_xposn = (main_width / 2) * si + xoffset_si;
|
||||||
/* Suppress clang-analyzer-core.CallAndMessage warning */
|
/* Suppress clang-analyzer-core.CallAndMessage warning */
|
||||||
unsigned char local_text[sizeof(symbol->text)] = {0};
|
unsigned char local_text[sizeof(symbol->text)] = {0};
|
||||||
to_iso8859_1(symbol->text, local_text);
|
to_iso8859_1(symbol->text, local_text);
|
||||||
/* Put the human readable text at the bottom */
|
/* Put the human readable text at the bottom (or top if EAN-2/5) */
|
||||||
draw_string(pixelbuf, local_text, text_xposn, text_yposn, textflags, image_width, image_height, si);
|
draw_string(pixelbuf, local_text, text_xposn, text_yposn, textflags, image_width, image_height, si);
|
||||||
|
/* EAN-2/5 */
|
||||||
|
if (upceanflag && upcean_guard_whitespace) {
|
||||||
|
const int ean_width_adj = (UPCEAN_FONT_WIDTH + 3) / 4;
|
||||||
|
const int addon_len = (int) ustrlen(symbol->text);
|
||||||
|
text_xposn = (int) (((addon_len == 2 ? 19 : 46) + 0.5f + ean_width_adj) * si) + xoffset_si;
|
||||||
|
draw_string(pixelbuf, (const unsigned char *) ">", text_xposn, text_yposn, textflags,
|
||||||
|
image_width, image_height, si);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
/* font.h - Font for PNG images */
|
/* raster_font.h - Font for raster images (NOTE: was "font.h") */
|
||||||
/*
|
/*
|
||||||
libzint - the open source barcode library
|
libzint - the open source barcode library
|
||||||
Copyright (C) 2008-2022 Robin Stuart <rstuart114@gmail.com>
|
Copyright (C) 2008-2023 Robin Stuart <rstuart114@gmail.com>
|
||||||
|
|
||||||
Redistribution and use in source and binary forms, with or without
|
Redistribution and use in source and binary forms, with or without
|
||||||
modification, are permitted provided that the following conditions
|
modification, are permitted provided that the following conditions
|
||||||
@ -30,15 +30,15 @@
|
|||||||
*/
|
*/
|
||||||
/* SPDX-License-Identifier: BSD-3-Clause */
|
/* SPDX-License-Identifier: BSD-3-Clause */
|
||||||
|
|
||||||
#ifndef Z_FONT_H
|
#ifndef Z_RASTER_FONT_H
|
||||||
#define Z_FONT_H
|
#define Z_RASTER_FONT_H
|
||||||
|
|
||||||
typedef const unsigned short font_item;
|
typedef unsigned short raster_font_item;
|
||||||
|
|
||||||
#define NORMAL_FONT_WIDTH 7
|
#define NORMAL_FONT_WIDTH 7
|
||||||
#define NORMAL_FONT_HEIGHT 14
|
#define NORMAL_FONT_HEIGHT 14
|
||||||
|
|
||||||
static font_item ascii_font[] = {
|
static const raster_font_item ascii_font[] = {
|
||||||
/* Each character is 7 x 14 pixels */
|
/* Each character is 7 x 14 pixels */
|
||||||
0, 0, 8, 8, 8, 8, 8, 8, 8, 0, 8, 8, 0, 0, /* ! */
|
0, 0, 8, 8, 8, 8, 8, 8, 8, 0, 8, 8, 0, 0, /* ! */
|
||||||
0, 20, 20, 20, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* " */
|
0, 20, 20, 20, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* " */
|
||||||
@ -234,7 +234,7 @@ static font_item ascii_font[] = {
|
|||||||
#define SMALL_FONT_WIDTH 5
|
#define SMALL_FONT_WIDTH 5
|
||||||
#define SMALL_FONT_HEIGHT 9
|
#define SMALL_FONT_HEIGHT 9
|
||||||
|
|
||||||
static font_item small_font[] = {
|
static const raster_font_item small_font[] = {
|
||||||
/* Each character is 5 x 9 pixels */
|
/* Each character is 5 x 9 pixels */
|
||||||
0, 2, 2, 2, 2, 0, 2, 0, 0, /* ! */
|
0, 2, 2, 2, 2, 0, 2, 0, 0, /* ! */
|
||||||
0, 5, 5, 5, 0, 0, 0, 0, 0, /* " */
|
0, 5, 5, 5, 0, 0, 0, 0, 0, /* " */
|
||||||
@ -456,7 +456,7 @@ static font_item small_font[] = {
|
|||||||
#define UPCEAN_FONT_HEIGHT 14
|
#define UPCEAN_FONT_HEIGHT 14
|
||||||
|
|
||||||
/* Each character is 9 x 14 pixels */
|
/* Each character is 9 x 14 pixels */
|
||||||
static font_item upcean_font[] = {
|
static const raster_font_item upcean_font[] = {
|
||||||
/*30*/ 0x007C, 0x00FE, 0x00C6, 0x0183, 0x0183, 0x0183, 0x0183, 0x0183, 0x0183, 0x0183, 0x0183, 0x00C6, 0x00FE, 0x007C, /* 0 */
|
/*30*/ 0x007C, 0x00FE, 0x00C6, 0x0183, 0x0183, 0x0183, 0x0183, 0x0183, 0x0183, 0x0183, 0x0183, 0x00C6, 0x00FE, 0x007C, /* 0 */
|
||||||
/*31*/ 0x000C, 0x001C, 0x003C, 0x006C, 0x004C, 0x000C, 0x000C, 0x000C, 0x000C, 0x000C, 0x000C, 0x000C, 0x000C, 0x000C, /* 1 */
|
/*31*/ 0x000C, 0x001C, 0x003C, 0x006C, 0x004C, 0x000C, 0x000C, 0x000C, 0x000C, 0x000C, 0x000C, 0x000C, 0x000C, 0x000C, /* 1 */
|
||||||
/*32*/ 0x007C, 0x00FE, 0x0183, 0x0003, 0x0007, 0x000E, 0x001C, 0x0038, 0x0070, 0x00E0, 0x01C0, 0x0180, 0x01FE, 0x00FF, /* 2 */
|
/*32*/ 0x007C, 0x00FE, 0x0183, 0x0003, 0x0007, 0x000E, 0x001C, 0x0038, 0x0070, 0x00E0, 0x01C0, 0x0180, 0x01FE, 0x00FF, /* 2 */
|
||||||
@ -467,13 +467,18 @@ static font_item upcean_font[] = {
|
|||||||
/*37*/ 0x01FF, 0x01FF, 0x0003, 0x0006, 0x000E, 0x000C, 0x0018, 0x0030, 0x0030, 0x0030, 0x0060, 0x0060, 0x0060, 0x0060, /* 7 */
|
/*37*/ 0x01FF, 0x01FF, 0x0003, 0x0006, 0x000E, 0x000C, 0x0018, 0x0030, 0x0030, 0x0030, 0x0060, 0x0060, 0x0060, 0x0060, /* 7 */
|
||||||
/*38*/ 0x007C, 0x00FE, 0x00C6, 0x0082, 0x00C6, 0x007C, 0x007C, 0x00EE, 0x01C7, 0x0183, 0x0183, 0x0183, 0x00FE, 0x007C, /* 8 */
|
/*38*/ 0x007C, 0x00FE, 0x00C6, 0x0082, 0x00C6, 0x007C, 0x007C, 0x00EE, 0x01C7, 0x0183, 0x0183, 0x0183, 0x00FE, 0x007C, /* 8 */
|
||||||
/*39*/ 0x007C, 0x00FE, 0x00C7, 0x0183, 0x0183, 0x0183, 0x01C3, 0x00FE, 0x007E, 0x000C, 0x000C, 0x0018, 0x0030, 0x0060, /* 9 */
|
/*39*/ 0x007C, 0x00FE, 0x00C7, 0x0183, 0x0183, 0x0183, 0x01C3, 0x00FE, 0x007E, 0x000C, 0x000C, 0x0018, 0x0030, 0x0060, /* 9 */
|
||||||
|
/*3A*/ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, /* : (blank) */
|
||||||
|
/*3B*/ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, /* ; (blank) */
|
||||||
|
/*3C*/ 0x0000, 0x0000, 0x0007, 0x000E, 0x003C, 0x0070, 0x01E0, 0x01C0, 0x00F0, 0x0038, 0x001E, 0x0007, 0x0003, 0x0000, /* < */
|
||||||
|
/*3D*/ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, /* = (blank) */
|
||||||
|
/*3E*/ 0x0000, 0x0000, 0x01C0, 0x00E0, 0x0078, 0x001C, 0x000F, 0x0007, 0x001E, 0x0038, 0x00F0, 0x01C0, 0x0180, 0x0000, /* > */
|
||||||
};
|
};
|
||||||
|
|
||||||
#define UPCEAN_SMALL_FONT_WIDTH 8
|
#define UPCEAN_SMALL_FONT_WIDTH 8
|
||||||
#define UPCEAN_SMALL_FONT_HEIGHT 13
|
#define UPCEAN_SMALL_FONT_HEIGHT 13
|
||||||
|
|
||||||
/* Each character is 8 x 13 pixels */
|
/* Each character is 8 x 13 pixels */
|
||||||
static font_item upcean_small_font[] = {
|
static const raster_font_item upcean_small_font[] = {
|
||||||
/*30*/ 0x3C, 0x7E, 0x66, 0xC3, 0xC3, 0xC3, 0xC3, 0xC3, 0xC3, 0xC3, 0x66, 0x7E, 0x3C, /* 0 */
|
/*30*/ 0x3C, 0x7E, 0x66, 0xC3, 0xC3, 0xC3, 0xC3, 0xC3, 0xC3, 0xC3, 0x66, 0x7E, 0x3C, /* 0 */
|
||||||
/*31*/ 0x00, 0x0E, 0x1E, 0x36, 0x26, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, /* 1 */
|
/*31*/ 0x00, 0x0E, 0x1E, 0x36, 0x26, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, /* 1 */
|
||||||
/*32*/ 0x38, 0x7C, 0xC6, 0x02, 0x02, 0x06, 0x0C, 0x18, 0x30, 0x60, 0xC0, 0xFC, 0x7E, /* 2 */
|
/*32*/ 0x38, 0x7C, 0xC6, 0x02, 0x02, 0x06, 0x0C, 0x18, 0x30, 0x60, 0xC0, 0xFC, 0x7E, /* 2 */
|
||||||
@ -484,7 +489,12 @@ static font_item upcean_small_font[] = {
|
|||||||
/*37*/ 0x00, 0xFF, 0xFF, 0x03, 0x06, 0x0C, 0x18, 0x18, 0x30, 0x30, 0x30, 0x30, 0x30, /* 7 */
|
/*37*/ 0x00, 0xFF, 0xFF, 0x03, 0x06, 0x0C, 0x18, 0x18, 0x30, 0x30, 0x30, 0x30, 0x30, /* 7 */
|
||||||
/*38*/ 0x3C, 0x7E, 0x66, 0x42, 0x66, 0x3C, 0x3C, 0x66, 0xC3, 0xC3, 0xC3, 0x7E, 0x3C, /* 8 */
|
/*38*/ 0x3C, 0x7E, 0x66, 0x42, 0x66, 0x3C, 0x3C, 0x66, 0xC3, 0xC3, 0xC3, 0x7E, 0x3C, /* 8 */
|
||||||
/*39*/ 0x3C, 0x7E, 0xE7, 0xC3, 0xC3, 0xC3, 0xE3, 0x7E, 0x1E, 0x0C, 0x18, 0x30, 0x60, /* 9 */
|
/*39*/ 0x3C, 0x7E, 0xE7, 0xC3, 0xC3, 0xC3, 0xE3, 0x7E, 0x1E, 0x0C, 0x18, 0x30, 0x60, /* 9 */
|
||||||
|
/*3A*/ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* : (blank) */
|
||||||
|
/*3B*/ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* ; (blank) */
|
||||||
|
/*3C*/ 0x00, 0x00, 0x03, 0x0E, 0x1C, 0x70, 0xE0, 0xE0, 0x30, 0x1C, 0x06, 0x03, 0x00, /* < */
|
||||||
|
/*3D*/ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* = (blank) */
|
||||||
|
/*3E*/ 0x00, 0x00, 0xC0, 0xE0, 0x38, 0x1C, 0x07, 0x07, 0x1C, 0x38, 0xE0, 0xC0, 0x00, /* > */
|
||||||
};
|
};
|
||||||
|
|
||||||
/* vim: set ts=4 sw=4 et : */
|
/* vim: set ts=4 sw=4 et : */
|
||||||
#endif /* Z_FONT_H */
|
#endif /* Z_RASTER_FONT_H */
|
@ -1,7 +1,7 @@
|
|||||||
/* rss.c - GS1 DataBar (formerly Reduced Space Symbology) */
|
/* rss.c - GS1 DataBar (formerly Reduced Space Symbology) */
|
||||||
/*
|
/*
|
||||||
libzint - the open source barcode library
|
libzint - the open source barcode library
|
||||||
Copyright (C) 2008-2022 Robin Stuart <rstuart114@gmail.com>
|
Copyright (C) 2008-2023 Robin Stuart <rstuart114@gmail.com>
|
||||||
|
|
||||||
Redistribution and use in source and binary forms, with or without
|
Redistribution and use in source and binary forms, with or without
|
||||||
modification, are permitted provided that the following conditions
|
modification, are permitted provided that the following conditions
|
||||||
@ -123,14 +123,14 @@ static void getRSSwidths(int widths[], int val, int n, const int elements, const
|
|||||||
for (elmWidth = 1, narrowMask |= (1 << bar);
|
for (elmWidth = 1, narrowMask |= (1 << bar);
|
||||||
;
|
;
|
||||||
elmWidth++, narrowMask &= ~(1 << bar)) {
|
elmWidth++, narrowMask &= ~(1 << bar)) {
|
||||||
/* get all combinations */
|
/* Get all combinations */
|
||||||
subVal = rss_combins(n - elmWidth - 1, elements - bar - 2);
|
subVal = rss_combins(n - elmWidth - 1, elements - bar - 2);
|
||||||
/* less combinations with no single-module element */
|
/* Less combinations with no single-module element */
|
||||||
if ((!noNarrow) && (!narrowMask)
|
if ((!noNarrow) && (!narrowMask)
|
||||||
&& (n - elmWidth - (elements - bar - 1) >= elements - bar - 1)) {
|
&& (n - elmWidth - (elements - bar - 1) >= elements - bar - 1)) {
|
||||||
subVal -= rss_combins(n - elmWidth - (elements - bar), elements - bar - 2);
|
subVal -= rss_combins(n - elmWidth - (elements - bar), elements - bar - 2);
|
||||||
}
|
}
|
||||||
/* less combinations with elements > maxVal */
|
/* Less combinations with elements > maxVal */
|
||||||
if (elements - bar - 1 > 1) {
|
if (elements - bar - 1 > 1) {
|
||||||
lessVal = 0;
|
lessVal = 0;
|
||||||
for (mxwElement = n - elmWidth - (elements - bar - 2);
|
for (mxwElement = n - elmWidth - (elements - bar - 2);
|
||||||
@ -285,7 +285,7 @@ INTERNAL int dbar_omnstk_set_height(struct zint_symbol *symbol, const int first_
|
|||||||
/* GS1 DataBar Omnidirectional/Truncated/Stacked, allowing for composite if `cc_rows` set */
|
/* GS1 DataBar Omnidirectional/Truncated/Stacked, allowing for composite if `cc_rows` set */
|
||||||
INTERNAL int dbar_omn_cc(struct zint_symbol *symbol, unsigned char source[], int length, const int cc_rows) {
|
INTERNAL int dbar_omn_cc(struct zint_symbol *symbol, unsigned char source[], int length, const int cc_rows) {
|
||||||
int error_number = 0, i;
|
int error_number = 0, i;
|
||||||
large_int accum;
|
large_uint accum;
|
||||||
uint64_t left_pair, right_pair;
|
uint64_t left_pair, right_pair;
|
||||||
int data_character[4] = {0}, data_group[4] = {0}, v_odd[4], v_even[4];
|
int data_character[4] = {0}, data_group[4] = {0}, v_odd[4], v_even[4];
|
||||||
int data_widths[8][4], checksum, c_left, c_right, total_widths[46], writer;
|
int data_widths[8][4], checksum, c_left, c_right, total_widths[46], writer;
|
||||||
@ -313,7 +313,7 @@ INTERNAL int dbar_omn_cc(struct zint_symbol *symbol, unsigned char source[], int
|
|||||||
length--; /* Ignore */
|
length--; /* Ignore */
|
||||||
}
|
}
|
||||||
|
|
||||||
/* make some room for a separator row for composite symbols */
|
/* Make some room for a separator row for composite symbols */
|
||||||
switch (symbol->symbology) {
|
switch (symbol->symbology) {
|
||||||
case BARCODE_DBAR_OMN_CC:
|
case BARCODE_DBAR_OMN_CC:
|
||||||
case BARCODE_DBAR_STK_CC:
|
case BARCODE_DBAR_STK_CC:
|
||||||
@ -477,7 +477,7 @@ INTERNAL int dbar_omn_cc(struct zint_symbol *symbol, unsigned char source[], int
|
|||||||
symbol->width = writer;
|
symbol->width = writer;
|
||||||
}
|
}
|
||||||
if (symbol->symbology == BARCODE_DBAR_OMN_CC) {
|
if (symbol->symbology == BARCODE_DBAR_OMN_CC) {
|
||||||
/* separator pattern for composite symbol */
|
/* Separator pattern for composite symbol */
|
||||||
dbar_omn_separator(symbol, 96, separator_row, 1 /*above*/, 18, 63, 0 /*bottom_finder_value_3*/);
|
dbar_omn_separator(symbol, 96, separator_row, 1 /*above*/, 18, 63, 0 /*bottom_finder_value_3*/);
|
||||||
}
|
}
|
||||||
symbol->rows = symbol->rows + 1;
|
symbol->rows = symbol->rows + 1;
|
||||||
@ -502,7 +502,7 @@ INTERNAL int dbar_omn_cc(struct zint_symbol *symbol, unsigned char source[], int
|
|||||||
}
|
}
|
||||||
|
|
||||||
} else if ((symbol->symbology == BARCODE_DBAR_STK) || (symbol->symbology == BARCODE_DBAR_STK_CC)) {
|
} else if ((symbol->symbology == BARCODE_DBAR_STK) || (symbol->symbology == BARCODE_DBAR_STK_CC)) {
|
||||||
/* top row */
|
/* Top row */
|
||||||
writer = 0;
|
writer = 0;
|
||||||
latch = 0;
|
latch = 0;
|
||||||
for (i = 0; i < 23; i++) {
|
for (i = 0; i < 23; i++) {
|
||||||
@ -512,7 +512,7 @@ INTERNAL int dbar_omn_cc(struct zint_symbol *symbol, unsigned char source[], int
|
|||||||
unset_module(symbol, symbol->rows, writer + 1);
|
unset_module(symbol, symbol->rows, writer + 1);
|
||||||
symbol->row_height[symbol->rows] = 5.0f; /* ISO/IEC 24724:2011 5.3.2.1 set to 5X */
|
symbol->row_height[symbol->rows] = 5.0f; /* ISO/IEC 24724:2011 5.3.2.1 set to 5X */
|
||||||
|
|
||||||
/* bottom row */
|
/* Bottom row */
|
||||||
symbol->rows = symbol->rows + 2;
|
symbol->rows = symbol->rows + 2;
|
||||||
set_module(symbol, symbol->rows, 0);
|
set_module(symbol, symbol->rows, 0);
|
||||||
unset_module(symbol, symbol->rows, 1);
|
unset_module(symbol, symbol->rows, 1);
|
||||||
@ -523,7 +523,7 @@ INTERNAL int dbar_omn_cc(struct zint_symbol *symbol, unsigned char source[], int
|
|||||||
}
|
}
|
||||||
symbol->row_height[symbol->rows] = 7.0f; /* ISO/IEC 24724:2011 5.3.2.1 set to 7X */
|
symbol->row_height[symbol->rows] = 7.0f; /* ISO/IEC 24724:2011 5.3.2.1 set to 7X */
|
||||||
|
|
||||||
/* separator pattern */
|
/* Separator pattern */
|
||||||
/* See #183 for this interpretation of ISO/IEC 24724:2011 5.3.2.1 */
|
/* See #183 for this interpretation of ISO/IEC 24724:2011 5.3.2.1 */
|
||||||
for (i = 1; i < 46; i++) {
|
for (i = 1; i < 46; i++) {
|
||||||
if (module_is_set(symbol, symbol->rows - 2, i) == module_is_set(symbol, symbol->rows, i)) {
|
if (module_is_set(symbol, symbol->rows - 2, i) == module_is_set(symbol, symbol->rows, i)) {
|
||||||
@ -542,7 +542,7 @@ INTERNAL int dbar_omn_cc(struct zint_symbol *symbol, unsigned char source[], int
|
|||||||
symbol->row_height[symbol->rows - 1] = 1;
|
symbol->row_height[symbol->rows - 1] = 1;
|
||||||
|
|
||||||
if (symbol->symbology == BARCODE_DBAR_STK_CC) {
|
if (symbol->symbology == BARCODE_DBAR_STK_CC) {
|
||||||
/* separator pattern for composite symbol */
|
/* Separator pattern for composite symbol */
|
||||||
dbar_omn_separator(symbol, 50, separator_row, 1 /*above*/, 18, 0, 0 /*bottom_finder_value_3*/);
|
dbar_omn_separator(symbol, 50, separator_row, 1 /*above*/, 18, 0, 0 /*bottom_finder_value_3*/);
|
||||||
}
|
}
|
||||||
symbol->rows = symbol->rows + 1;
|
symbol->rows = symbol->rows + 1;
|
||||||
@ -555,7 +555,7 @@ INTERNAL int dbar_omn_cc(struct zint_symbol *symbol, unsigned char source[], int
|
|||||||
}
|
}
|
||||||
|
|
||||||
} else if ((symbol->symbology == BARCODE_DBAR_OMNSTK) || (symbol->symbology == BARCODE_DBAR_OMNSTK_CC)) {
|
} else if ((symbol->symbology == BARCODE_DBAR_OMNSTK) || (symbol->symbology == BARCODE_DBAR_OMNSTK_CC)) {
|
||||||
/* top row */
|
/* Top row */
|
||||||
writer = 0;
|
writer = 0;
|
||||||
latch = 0;
|
latch = 0;
|
||||||
for (i = 0; i < 23; i++) {
|
for (i = 0; i < 23; i++) {
|
||||||
@ -564,7 +564,7 @@ INTERNAL int dbar_omn_cc(struct zint_symbol *symbol, unsigned char source[], int
|
|||||||
set_module(symbol, symbol->rows, writer);
|
set_module(symbol, symbol->rows, writer);
|
||||||
unset_module(symbol, symbol->rows, writer + 1);
|
unset_module(symbol, symbol->rows, writer + 1);
|
||||||
|
|
||||||
/* bottom row */
|
/* Bottom row */
|
||||||
symbol->rows = symbol->rows + 4;
|
symbol->rows = symbol->rows + 4;
|
||||||
set_module(symbol, symbol->rows, 0);
|
set_module(symbol, symbol->rows, 0);
|
||||||
unset_module(symbol, symbol->rows, 1);
|
unset_module(symbol, symbol->rows, 1);
|
||||||
@ -574,17 +574,17 @@ INTERNAL int dbar_omn_cc(struct zint_symbol *symbol, unsigned char source[], int
|
|||||||
writer = dbar_expand(symbol, writer, &latch, total_widths[i]);
|
writer = dbar_expand(symbol, writer, &latch, total_widths[i]);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* middle separator */
|
/* Middle separator */
|
||||||
for (i = 5; i < 46; i += 2) {
|
for (i = 5; i < 46; i += 2) {
|
||||||
set_module(symbol, symbol->rows - 2, i);
|
set_module(symbol, symbol->rows - 2, i);
|
||||||
}
|
}
|
||||||
symbol->row_height[symbol->rows - 2] = 1;
|
symbol->row_height[symbol->rows - 2] = 1;
|
||||||
|
|
||||||
/* top separator */
|
/* Top separator */
|
||||||
dbar_omn_separator(symbol, 50, symbol->rows - 3, -1 /*below*/, 18, 0, 0 /*bottom_finder_value_3*/);
|
dbar_omn_separator(symbol, 50, symbol->rows - 3, -1 /*below*/, 18, 0, 0 /*bottom_finder_value_3*/);
|
||||||
symbol->row_height[symbol->rows - 3] = 1;
|
symbol->row_height[symbol->rows - 3] = 1;
|
||||||
|
|
||||||
/* bottom separator */
|
/* Bottom separator */
|
||||||
/* 17 == 2 (guard) + 15 (inner char); +2 to skip over finder elements 4 & 5 (right to left) */
|
/* 17 == 2 (guard) + 15 (inner char); +2 to skip over finder elements 4 & 5 (right to left) */
|
||||||
dbar_omn_separator(symbol, 50, symbol->rows - 1, 1 /*above*/, 17 + 2, 0, c_right == 3);
|
dbar_omn_separator(symbol, 50, symbol->rows - 1, 1 /*above*/, 17 + 2, 0, c_right == 3);
|
||||||
symbol->row_height[symbol->rows - 1] = 1;
|
symbol->row_height[symbol->rows - 1] = 1;
|
||||||
@ -593,7 +593,7 @@ INTERNAL int dbar_omn_cc(struct zint_symbol *symbol, unsigned char source[], int
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (symbol->symbology == BARCODE_DBAR_OMNSTK_CC) {
|
if (symbol->symbology == BARCODE_DBAR_OMNSTK_CC) {
|
||||||
/* separator pattern for composite symbol */
|
/* Separator pattern for composite symbol */
|
||||||
dbar_omn_separator(symbol, 50, separator_row, 1 /*above*/, 18, 0, 0 /*bottom_finder_value_3*/);
|
dbar_omn_separator(symbol, 50, separator_row, 1 /*above*/, 18, 0, 0 /*bottom_finder_value_3*/);
|
||||||
}
|
}
|
||||||
symbol->rows = symbol->rows + 1;
|
symbol->rows = symbol->rows + 1;
|
||||||
@ -621,7 +621,7 @@ INTERNAL int dbar_omn(struct zint_symbol *symbol, unsigned char source[], int le
|
|||||||
/* GS1 DataBar Limited, allowing for composite if `cc_rows` set */
|
/* GS1 DataBar Limited, allowing for composite if `cc_rows` set */
|
||||||
INTERNAL int dbar_ltd_cc(struct zint_symbol *symbol, unsigned char source[], int length, const int cc_rows) {
|
INTERNAL int dbar_ltd_cc(struct zint_symbol *symbol, unsigned char source[], int length, const int cc_rows) {
|
||||||
int error_number = 0, i;
|
int error_number = 0, i;
|
||||||
large_int accum;
|
large_uint accum;
|
||||||
uint64_t left_character, right_character;
|
uint64_t left_character, right_character;
|
||||||
int left_group, right_group, left_odd, left_even, right_odd, right_even;
|
int left_group, right_group, left_odd, left_even, right_odd, right_even;
|
||||||
int left_widths[14], right_widths[14];
|
int left_widths[14], right_widths[14];
|
||||||
@ -657,7 +657,7 @@ INTERNAL int dbar_ltd_cc(struct zint_symbol *symbol, unsigned char source[], int
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* make some room for a separator row for composite symbols */
|
/* Make some room for a separator row for composite symbols */
|
||||||
if (symbol->symbology == BARCODE_DBAR_LTD_CC) {
|
if (symbol->symbology == BARCODE_DBAR_LTD_CC) {
|
||||||
separator_row = symbol->rows;
|
separator_row = symbol->rows;
|
||||||
symbol->row_height[separator_row] = 1;
|
symbol->row_height[separator_row] = 1;
|
||||||
@ -778,7 +778,7 @@ INTERNAL int dbar_ltd_cc(struct zint_symbol *symbol, unsigned char source[], int
|
|||||||
}
|
}
|
||||||
symbol->rows = symbol->rows + 1;
|
symbol->rows = symbol->rows + 1;
|
||||||
|
|
||||||
/* add separator pattern if composite symbol */
|
/* Add separator pattern if composite symbol */
|
||||||
if (symbol->symbology == BARCODE_DBAR_LTD_CC) {
|
if (symbol->symbology == BARCODE_DBAR_LTD_CC) {
|
||||||
for (i = 4; i < 70; i++) {
|
for (i = 4; i < 70; i++) {
|
||||||
if (!(module_is_set(symbol, separator_row + 1, i))) {
|
if (!(module_is_set(symbol, separator_row + 1, i))) {
|
||||||
@ -843,17 +843,17 @@ static int dbar_exp_binary_string(struct zint_symbol *symbol, const unsigned cha
|
|||||||
if ((length >= 16) && ((source[0] == '0') && (source[1] == '1'))) {
|
if ((length >= 16) && ((source[0] == '0') && (source[1] == '1'))) {
|
||||||
/* (01) and other AIs */
|
/* (01) and other AIs */
|
||||||
encoding_method = 1;
|
encoding_method = 1;
|
||||||
if (debug_print) printf("Choosing Method 1\n");
|
if (debug_print) fputs("Choosing Method 1\n", stdout);
|
||||||
} else {
|
} else {
|
||||||
/* any AIs */
|
/* Any AIs */
|
||||||
encoding_method = 2;
|
encoding_method = 2;
|
||||||
if (debug_print) printf("Choosing Method 2\n");
|
if (debug_print) fputs("Choosing Method 2\n", stdout);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (((length >= 20) && (encoding_method == 1)) && ((source[2] == '9') && (source[16] == '3'))) {
|
if (((length >= 20) && (encoding_method == 1)) && ((source[2] == '9') && (source[16] == '3'))) {
|
||||||
/* Possibly encoding method > 2 */
|
/* Possibly encoding method > 2 */
|
||||||
|
|
||||||
if (debug_print) printf("Checking for other methods\n");
|
if (debug_print) fputs("Checking for other methods\n", stdout);
|
||||||
|
|
||||||
if ((length >= 26) && (source[17] == '1') && (source[18] == '0')) {
|
if ((length >= 26) && (source[17] == '1') && (source[18] == '0')) {
|
||||||
/* Methods 3, 7, 9, 11 and 13 */
|
/* Methods 3, 7, 9, 11 and 13 */
|
||||||
@ -948,18 +948,17 @@ static int dbar_exp_binary_string(struct zint_symbol *symbol, const unsigned cha
|
|||||||
case 6: bp = bin_append_posn(0x34, 7, binary_string, bp); /* "01101XX" */
|
case 6: bp = bin_append_posn(0x34, 7, binary_string, bp); /* "01101XX" */
|
||||||
read_posn = 23;
|
read_posn = 23;
|
||||||
break;
|
break;
|
||||||
default: /* modes 7 to 14 */
|
default: /* Modes 7 to 14 */
|
||||||
bp = bin_append_posn(56 + (encoding_method - 7), 7, binary_string, bp);
|
bp = bin_append_posn(56 + (encoding_method - 7), 7, binary_string, bp);
|
||||||
read_posn = length; /* 34 or 26 */
|
read_posn = length; /* 34 or 26 */
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
if (debug_print) printf("Setting binary = %.*s\n", bp, binary_string);
|
if (debug_print) printf("Setting binary = %.*s\n", bp, binary_string);
|
||||||
|
|
||||||
/* Variable length symbol bit field is just given a place holder (XX)
|
/* Variable length symbol bit field is just given a place holder (XX) for the time being */
|
||||||
for the time being */
|
|
||||||
|
|
||||||
/* Verify that the data to be placed in the compressed data field is all
|
/* Verify that the data to be placed in the compressed data field is all numeric data
|
||||||
numeric data before carrying out compression */
|
before carrying out compression */
|
||||||
for (i = 0; i < read_posn; i++) {
|
for (i = 0; i < read_posn; i++) {
|
||||||
if (!z_isdigit(source[i])) {
|
if (!z_isdigit(source[i])) {
|
||||||
if (source[i] != '[') {
|
if (source[i] != '[') {
|
||||||
@ -972,7 +971,7 @@ static int dbar_exp_binary_string(struct zint_symbol *symbol, const unsigned cha
|
|||||||
|
|
||||||
/* Now encode the compressed data field */
|
/* Now encode the compressed data field */
|
||||||
|
|
||||||
if (debug_print) printf("Proceeding to encode data\n");
|
if (debug_print) fputs("Proceeding to encode data\n", stdout);
|
||||||
cdf_bp_start = bp; /* Debug use only */
|
cdf_bp_start = bp; /* Debug use only */
|
||||||
|
|
||||||
if (encoding_method == 1) {
|
if (encoding_method == 1) {
|
||||||
@ -985,10 +984,8 @@ static int dbar_exp_binary_string(struct zint_symbol *symbol, const unsigned cha
|
|||||||
}
|
}
|
||||||
|
|
||||||
} else if ((encoding_method == 3) || (encoding_method == 4)) {
|
} else if ((encoding_method == 3) || (encoding_method == 4)) {
|
||||||
/* Encoding method field "0100" - variable weight item
|
/* Encoding method field "0100" - variable weight item (0,001 kilogram increments) */
|
||||||
(0,001 kilogram icrements) */
|
/* Encoding method field "0101" - variable weight item (0,01 or 0,001 pound increment) */
|
||||||
/* Encoding method field "0101" - variable weight item (0,01 or
|
|
||||||
0,001 pound increment) */
|
|
||||||
|
|
||||||
for (i = 3; i < 15; i += 3) { /* Leading "019" stripped, and final check digit excluded */
|
for (i = 3; i < 15; i += 3) { /* Leading "019" stripped, and final check digit excluded */
|
||||||
bp = bin_append_posn(to_int(source + i, 3), 10, binary_string, bp);
|
bp = bin_append_posn(to_int(source + i, 3), 10, binary_string, bp);
|
||||||
@ -1002,8 +999,7 @@ static int dbar_exp_binary_string(struct zint_symbol *symbol, const unsigned cha
|
|||||||
|
|
||||||
} else if ((encoding_method == 5) || (encoding_method == 6)) {
|
} else if ((encoding_method == 5) || (encoding_method == 6)) {
|
||||||
/* Encoding method "01100" - variable measure item and price */
|
/* Encoding method "01100" - variable measure item and price */
|
||||||
/* Encoding method "01101" - variable measure item and price with ISO 4217
|
/* Encoding method "01101" - variable measure item and price with ISO 4217 Currency Code */
|
||||||
Currency Code */
|
|
||||||
|
|
||||||
for (i = 3; i < 15; i += 3) { /* Leading "019" stripped, and final check digit excluded */
|
for (i = 3; i < 15; i += 3) { /* Leading "019" stripped, and final check digit excluded */
|
||||||
bp = bin_append_posn(to_int(source + i, 3), 10, binary_string, bp);
|
bp = bin_append_posn(to_int(source + i, 3), 10, binary_string, bp);
|
||||||
@ -1016,8 +1012,7 @@ static int dbar_exp_binary_string(struct zint_symbol *symbol, const unsigned cha
|
|||||||
}
|
}
|
||||||
|
|
||||||
} else if ((encoding_method >= 7) && (encoding_method <= 14)) {
|
} else if ((encoding_method >= 7) && (encoding_method <= 14)) {
|
||||||
/* Encoding method fields "0111000" through "0111111" - variable
|
/* Encoding method fields "0111000" through "0111111" - variable weight item plus date */
|
||||||
weight item plus date */
|
|
||||||
int group_val;
|
int group_val;
|
||||||
char weight_str[8];
|
char weight_str[8];
|
||||||
|
|
||||||
@ -1096,7 +1091,7 @@ static int dbar_exp_binary_string(struct zint_symbol *symbol, const unsigned cha
|
|||||||
|
|
||||||
if (last_digit) {
|
if (last_digit) {
|
||||||
/* There is still one more numeric digit to encode */
|
/* There is still one more numeric digit to encode */
|
||||||
if (debug_print) printf("Adding extra (odd) numeric digit\n");
|
if (debug_print) fputs("Adding extra (odd) numeric digit\n", stdout);
|
||||||
|
|
||||||
if ((remainder >= 4) && (remainder <= 6)) {
|
if ((remainder >= 4) && (remainder <= 6)) {
|
||||||
bp = bin_append_posn(ctoi(last_digit) + 1, 4, binary_string, bp);
|
bp = bin_append_posn(ctoi(last_digit) + 1, 4, binary_string, bp);
|
||||||
@ -1198,7 +1193,7 @@ static void dbar_exp_separator(struct zint_symbol *symbol, int width, const int
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* finder adjustment */
|
/* Finder adjustment */
|
||||||
for (j = 0; j < cols; j++) {
|
for (j = 0; j < cols; j++) {
|
||||||
/* 49 == data (17) + finder (15) + data(17) triplet, 19 == 2 (guard) + 17 (initial check/data character) */
|
/* 49 == data (17) + finder (15) + data(17) triplet, 19 == 2 (guard) + 17 (initial check/data character) */
|
||||||
k = (49 * j) + 19 + special_case_row;
|
k = (49 * j) + 19 + special_case_row;
|
||||||
@ -1295,7 +1290,7 @@ INTERNAL int dbar_exp_cc(struct zint_symbol *symbol, unsigned char source[], int
|
|||||||
}
|
}
|
||||||
|
|
||||||
if ((symbol->symbology == BARCODE_DBAR_EXP_CC) || (symbol->symbology == BARCODE_DBAR_EXPSTK_CC)) {
|
if ((symbol->symbology == BARCODE_DBAR_EXP_CC) || (symbol->symbology == BARCODE_DBAR_EXPSTK_CC)) {
|
||||||
/* make space for a composite separator pattern */
|
/* Make space for a composite separator pattern */
|
||||||
separator_row = symbol->rows;
|
separator_row = symbol->rows;
|
||||||
symbol->row_height[separator_row] = 1;
|
symbol->row_height[separator_row] = 1;
|
||||||
symbol->rows += 1;
|
symbol->rows += 1;
|
||||||
@ -1329,7 +1324,7 @@ INTERNAL int dbar_exp_cc(struct zint_symbol *symbol, unsigned char source[], int
|
|||||||
|
|
||||||
data_chars = bp / 12;
|
data_chars = bp / 12;
|
||||||
|
|
||||||
if (debug_print) printf("Data:");
|
if (debug_print) fputs("Data:", stdout);
|
||||||
for (i = 0; i < data_chars; i++) {
|
for (i = 0; i < data_chars; i++) {
|
||||||
k = i * 12;
|
k = i * 12;
|
||||||
vs = 0;
|
vs = 0;
|
||||||
@ -1365,7 +1360,7 @@ INTERNAL int dbar_exp_cc(struct zint_symbol *symbol, unsigned char source[], int
|
|||||||
char_widths[i][5] = widths[2];
|
char_widths[i][5] = widths[2];
|
||||||
char_widths[i][7] = widths[3];
|
char_widths[i][7] = widths[3];
|
||||||
}
|
}
|
||||||
if (debug_print) printf("\n");
|
if (debug_print) fputc('\n', stdout);
|
||||||
|
|
||||||
/* 7.2.6 Check character */
|
/* 7.2.6 Check character */
|
||||||
/* The checksum value is equal to the mod 211 residue of the weighted sum of the widths of the
|
/* The checksum value is equal to the mod 211 residue of the weighted sum of the widths of the
|
||||||
@ -1449,10 +1444,10 @@ INTERNAL int dbar_exp_cc(struct zint_symbol *symbol, unsigned char source[], int
|
|||||||
if ((symbol->symbology == BARCODE_DBAR_EXP) || (symbol->symbology == BARCODE_DBAR_EXP_CC)) {
|
if ((symbol->symbology == BARCODE_DBAR_EXP) || (symbol->symbology == BARCODE_DBAR_EXP_CC)) {
|
||||||
/* Copy elements into symbol */
|
/* Copy elements into symbol */
|
||||||
|
|
||||||
elements[0] = 1; /* left guard */
|
elements[0] = 1; /* Left guard */
|
||||||
elements[1] = 1;
|
elements[1] = 1;
|
||||||
|
|
||||||
elements[pattern_width - 2] = 1; /* right guard */
|
elements[pattern_width - 2] = 1; /* Right guard */
|
||||||
elements[pattern_width - 1] = 1;
|
elements[pattern_width - 1] = 1;
|
||||||
|
|
||||||
writer = 0;
|
writer = 0;
|
||||||
@ -1497,12 +1492,12 @@ INTERNAL int dbar_exp_cc(struct zint_symbol *symbol, unsigned char source[], int
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* Row Start */
|
/* Row Start */
|
||||||
sub_elements[0] = 1; /* left guard */
|
sub_elements[0] = 1; /* Left guard */
|
||||||
sub_elements[1] = 1;
|
sub_elements[1] = 1;
|
||||||
elements_in_sub = 2;
|
elements_in_sub = 2;
|
||||||
|
|
||||||
/* If last row and is partial and even-numbered, and have even columns (segment pairs),
|
/* If last row and is partial and even-numbered, and have even columns (segment pairs),
|
||||||
* and odd number of finders (== odd number of columns) */
|
and odd number of finders (== odd number of columns) */
|
||||||
if ((current_row == stack_rows) && (num_columns != cols_per_row) && !(current_row & 1)
|
if ((current_row == stack_rows) && (num_columns != cols_per_row) && !(current_row & 1)
|
||||||
&& !(cols_per_row & 1) && (num_columns & 1)) {
|
&& !(cols_per_row & 1) && (num_columns & 1)) {
|
||||||
/* Special case bottom row */
|
/* Special case bottom row */
|
||||||
@ -1511,7 +1506,7 @@ INTERNAL int dbar_exp_cc(struct zint_symbol *symbol, unsigned char source[], int
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* If odd number of columns or current row odd-numbered or special case last row then left-to-right,
|
/* If odd number of columns or current row odd-numbered or special case last row then left-to-right,
|
||||||
* else right-to-left */
|
else right-to-left */
|
||||||
if ((cols_per_row & 1) || (current_row & 1) || special_case_row) {
|
if ((cols_per_row & 1) || (current_row & 1) || special_case_row) {
|
||||||
left_to_right = 1;
|
left_to_right = 1;
|
||||||
} else {
|
} else {
|
||||||
@ -1544,7 +1539,7 @@ INTERNAL int dbar_exp_cc(struct zint_symbol *symbol, unsigned char source[], int
|
|||||||
} while ((reader < cols_per_row) && (current_block < codeblocks));
|
} while ((reader < cols_per_row) && (current_block < codeblocks));
|
||||||
|
|
||||||
/* Row Stop */
|
/* Row Stop */
|
||||||
sub_elements[elements_in_sub] = 1; /* right guard */
|
sub_elements[elements_in_sub] = 1; /* Right guard */
|
||||||
sub_elements[elements_in_sub + 1] = 1;
|
sub_elements[elements_in_sub + 1] = 1;
|
||||||
elements_in_sub += 2;
|
elements_in_sub += 2;
|
||||||
|
|
||||||
@ -1561,20 +1556,20 @@ INTERNAL int dbar_exp_cc(struct zint_symbol *symbol, unsigned char source[], int
|
|||||||
if (current_row != 1) {
|
if (current_row != 1) {
|
||||||
int odd_last_row = (current_row == stack_rows) && (data_chars % 2 == 0);
|
int odd_last_row = (current_row == stack_rows) && (data_chars % 2 == 0);
|
||||||
|
|
||||||
/* middle separator pattern (above current row) */
|
/* Middle separator pattern (above current row) */
|
||||||
for (j = 5; j < (49 * cols_per_row); j += 2) {
|
for (j = 5; j < (49 * cols_per_row); j += 2) {
|
||||||
set_module(symbol, symbol->rows - 2, j);
|
set_module(symbol, symbol->rows - 2, j);
|
||||||
}
|
}
|
||||||
symbol->row_height[symbol->rows - 2] = 1;
|
symbol->row_height[symbol->rows - 2] = 1;
|
||||||
|
|
||||||
/* bottom separator pattern (above current row) */
|
/* Bottom separator pattern (above current row) */
|
||||||
dbar_exp_separator(symbol, writer, reader, symbol->rows - 1, 1 /*above*/, special_case_row,
|
dbar_exp_separator(symbol, writer, reader, symbol->rows - 1, 1 /*above*/, special_case_row,
|
||||||
left_to_right, odd_last_row, &v2_latch);
|
left_to_right, odd_last_row, &v2_latch);
|
||||||
symbol->row_height[symbol->rows - 1] = 1;
|
symbol->row_height[symbol->rows - 1] = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (current_row != stack_rows) {
|
if (current_row != stack_rows) {
|
||||||
/* top separator pattern (below current row) */
|
/* Top separator pattern (below current row) */
|
||||||
dbar_exp_separator(symbol, writer, reader, symbol->rows + 1, -1 /*below*/, 0 /*special_case_row*/,
|
dbar_exp_separator(symbol, writer, reader, symbol->rows + 1, -1 /*below*/, 0 /*special_case_row*/,
|
||||||
left_to_right, 0 /*odd_last_row*/, &v2_latch);
|
left_to_right, 0 /*odd_last_row*/, &v2_latch);
|
||||||
symbol->row_height[symbol->rows + 1] = 1;
|
symbol->row_height[symbol->rows + 1] = 1;
|
||||||
|
268
backend/svg.c
268
backend/svg.c
@ -31,93 +31,90 @@
|
|||||||
/* SPDX-License-Identifier: BSD-3-Clause */
|
/* SPDX-License-Identifier: BSD-3-Clause */
|
||||||
|
|
||||||
#include <errno.h>
|
#include <errno.h>
|
||||||
#include <locale.h>
|
|
||||||
#include <math.h>
|
#include <math.h>
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
|
|
||||||
#include "common.h"
|
#include "common.h"
|
||||||
#include "output.h"
|
#include "output.h"
|
||||||
|
#include "fonts/upcean_woff2.h"
|
||||||
|
|
||||||
static void pick_colour(int colour, char colour_code[]) {
|
/* Convert Ultracode rectangle colour to RGB */
|
||||||
switch (colour) {
|
static void svg_pick_colour(const int colour, char colour_code[7]) {
|
||||||
case 1: /* Cyan */
|
const int idx = colour >= 1 && colour <= 8 ? colour - 1 : 6 /*black*/;
|
||||||
strcpy(colour_code, "00ffff");
|
static const char rgbs[8][7] = {
|
||||||
break;
|
"00ffff", /* 0: Cyan (1) */
|
||||||
case 2: /* Blue */
|
"0000ff", /* 1: Blue (2) */
|
||||||
strcpy(colour_code, "0000ff");
|
"ff00ff", /* 2: Magenta (3) */
|
||||||
break;
|
"ff0000", /* 3: Red (4) */
|
||||||
case 3: /* Magenta */
|
"ffff00", /* 4: Yellow (5) */
|
||||||
strcpy(colour_code, "ff00ff");
|
"00ff00", /* 5: Green (6) */
|
||||||
break;
|
"000000", /* 6: Black (7) */
|
||||||
case 4: /* Red */
|
"ffffff", /* 7: White (8) */
|
||||||
strcpy(colour_code, "ff0000");
|
};
|
||||||
break;
|
strcpy(colour_code, rgbs[idx]);
|
||||||
case 5: /* Yellow */
|
|
||||||
strcpy(colour_code, "ffff00");
|
|
||||||
break;
|
|
||||||
case 6: /* Green */
|
|
||||||
strcpy(colour_code, "00ff00");
|
|
||||||
break;
|
|
||||||
case 8: /* White */
|
|
||||||
strcpy(colour_code, "ffffff");
|
|
||||||
break;
|
|
||||||
default: /* Black */
|
|
||||||
strcpy(colour_code, "000000");
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void make_html_friendly(unsigned char *string, char *html_version) {
|
/* Convert text to use HTML entity codes */
|
||||||
/* Converts text to use HTML entity codes */
|
static void svg_make_html_friendly(const unsigned char *string, char *html_version) {
|
||||||
|
|
||||||
int i, len, html_pos;
|
for (; *string; string++) {
|
||||||
|
switch (*string) {
|
||||||
html_pos = 0;
|
|
||||||
html_version[html_pos] = '\0';
|
|
||||||
len = (int) ustrlen(string);
|
|
||||||
|
|
||||||
for (i = 0; i < len; i++) {
|
|
||||||
switch (string[i]) {
|
|
||||||
case '>':
|
case '>':
|
||||||
strcat(html_version, ">");
|
strcpy(html_version, ">");
|
||||||
html_pos += 4;
|
html_version += 4;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case '<':
|
case '<':
|
||||||
strcat(html_version, "<");
|
strcpy(html_version, "<");
|
||||||
html_pos += 4;
|
html_version += 4;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case '&':
|
case '&':
|
||||||
strcat(html_version, "&");
|
strcpy(html_version, "&");
|
||||||
html_pos += 5;
|
html_version += 5;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case '"':
|
case '"':
|
||||||
strcat(html_version, """);
|
strcpy(html_version, """);
|
||||||
html_pos += 6;
|
html_version += 6;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case '\'':
|
case '\'':
|
||||||
strcat(html_version, "'");
|
strcpy(html_version, "'");
|
||||||
html_pos += 6;
|
html_version += 6;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
html_version[html_pos] = string[i];
|
*html_version++ = *string;
|
||||||
html_pos++;
|
|
||||||
html_version[html_pos] = '\0';
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
*html_version = '\0';
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Helper to output floating point attribute */
|
||||||
|
static void svg_put_fattrib(const char *prefix, const int dp, const float val, FILE *fsvg) {
|
||||||
|
out_putsf(prefix, dp, val, fsvg);
|
||||||
|
fputc('"', fsvg);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Helper to output opacity attribute attribute and close tag (maybe) */
|
||||||
|
static void svg_put_opacity_close(const unsigned char alpha, const float val, const int close, FILE *fsvg) {
|
||||||
|
if (alpha != 0xff) {
|
||||||
|
svg_put_fattrib(" opacity=\"", 3, val, fsvg);
|
||||||
|
}
|
||||||
|
if (close) {
|
||||||
|
fputc('/', fsvg);
|
||||||
|
}
|
||||||
|
fputs(">\n", fsvg);
|
||||||
}
|
}
|
||||||
|
|
||||||
INTERNAL int svg_plot(struct zint_symbol *symbol) {
|
INTERNAL int svg_plot(struct zint_symbol *symbol) {
|
||||||
static const char font_family[] = "Helvetica, sans-serif";
|
static const char font_family[] = "Helvetica, sans-serif";
|
||||||
|
static const char upcean_font_family[] = "OCRB, monospace";
|
||||||
FILE *fsvg;
|
FILE *fsvg;
|
||||||
int error_number = 0;
|
int error_number = 0;
|
||||||
const char *locale = NULL;
|
|
||||||
float ax, ay, bx, by, cx, cy, dx, dy, ex, ey, fx, fy;
|
|
||||||
float previous_diameter;
|
float previous_diameter;
|
||||||
float radius, half_radius, half_sqrt3_radius;
|
float radius, half_radius, half_sqrt3_radius;
|
||||||
int i;
|
int i;
|
||||||
@ -136,6 +133,7 @@ INTERNAL int svg_plot(struct zint_symbol *symbol) {
|
|||||||
char colour_code[7];
|
char colour_code[7];
|
||||||
int len, html_len;
|
int len, html_len;
|
||||||
|
|
||||||
|
const int extendable = is_extendable(symbol->symbology);
|
||||||
const int output_to_stdout = symbol->output_options & BARCODE_STDOUT;
|
const int output_to_stdout = symbol->output_options & BARCODE_STDOUT;
|
||||||
char *html_string;
|
char *html_string;
|
||||||
|
|
||||||
@ -164,6 +162,9 @@ INTERNAL int svg_plot(struct zint_symbol *symbol) {
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if (symbol->output_options & EANUPC_GUARD_WHITESPACE) {
|
||||||
|
html_len += 12; /* Allow for "<" & ">" */
|
||||||
|
}
|
||||||
|
|
||||||
html_string = (char *) z_alloca(html_len);
|
html_string = (char *) z_alloca(html_len);
|
||||||
|
|
||||||
@ -182,45 +183,60 @@ INTERNAL int svg_plot(struct zint_symbol *symbol) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
locale = setlocale(LC_ALL, "C");
|
|
||||||
|
|
||||||
/* Start writing the header */
|
/* Start writing the header */
|
||||||
fputs("<?xml version=\"1.0\" standalone=\"no\"?>\n"
|
fputs("<?xml version=\"1.0\" standalone=\"no\"?>\n"
|
||||||
"<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\"\n"
|
"<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\" \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\n",
|
||||||
" \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\n", fsvg);
|
fsvg);
|
||||||
fprintf(fsvg, "<svg width=\"%d\" height=\"%d\" version=\"1.1\"\n",
|
fprintf(fsvg, "<svg width=\"%d\" height=\"%d\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\">\n",
|
||||||
(int) ceilf(symbol->vector->width), (int) ceilf(symbol->vector->height));
|
(int) ceilf(symbol->vector->width), (int) ceilf(symbol->vector->height));
|
||||||
fputs(" xmlns=\"http://www.w3.org/2000/svg\">\n"
|
fputs(" <desc>Zint Generated Symbol</desc>\n", fsvg);
|
||||||
" <desc>Zint Generated Symbol\n"
|
if ((symbol->output_options & EMBED_VECTOR_FONT) && extendable && symbol->vector->strings) {
|
||||||
" </desc>\n", fsvg);
|
fprintf(fsvg, " <style>@font-face {font-family:\"OCRB\"; src:url(data:font/woff2;base64,%s);}</style>\n",
|
||||||
fprintf(fsvg, "\n <g id=\"barcode\" fill=\"#%s\">\n", fgcolour_string);
|
upcean_woff2);
|
||||||
|
}
|
||||||
|
fprintf(fsvg, " <g id=\"barcode\" fill=\"#%s\">\n", fgcolour_string);
|
||||||
|
|
||||||
if (bg_alpha != 0) {
|
if (bg_alpha != 0) {
|
||||||
fprintf(fsvg, " <rect x=\"0\" y=\"0\" width=\"%d\" height=\"%d\" fill=\"#%s\"",
|
fprintf(fsvg, " <rect x=\"0\" y=\"0\" width=\"%d\" height=\"%d\" fill=\"#%s\"",
|
||||||
(int) ceilf(symbol->vector->width), (int) ceilf(symbol->vector->height), bgcolour_string);
|
(int) ceilf(symbol->vector->width), (int) ceilf(symbol->vector->height), bgcolour_string);
|
||||||
if (bg_alpha != 0xff) {
|
svg_put_opacity_close(bg_alpha, bg_alpha_opacity, 1 /*close*/, fsvg);
|
||||||
fprintf(fsvg, " opacity=\"%.3f\"", bg_alpha_opacity);
|
|
||||||
}
|
|
||||||
fputs(" />\n", fsvg);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (symbol->vector->rectangles) {
|
||||||
|
int current_colour = 0;
|
||||||
rect = symbol->vector->rectangles;
|
rect = symbol->vector->rectangles;
|
||||||
|
fputs(" <path d=\"", fsvg);
|
||||||
while (rect) {
|
while (rect) {
|
||||||
fprintf(fsvg, " <rect x=\"%.2f\" y=\"%.2f\" width=\"%.2f\" height=\"%.2f\"",
|
if (current_colour && rect->colour != current_colour) {
|
||||||
rect->x, rect->y, rect->width, rect->height);
|
fputc('"', fsvg);
|
||||||
if (rect->colour != -1) {
|
if (current_colour != -1) {
|
||||||
pick_colour(rect->colour, colour_code);
|
svg_pick_colour(current_colour, colour_code);
|
||||||
fprintf(fsvg, " fill=\"#%s\"", colour_code);
|
fprintf(fsvg, " fill=\"#%s\"", colour_code);
|
||||||
}
|
}
|
||||||
if (fg_alpha != 0xff) {
|
svg_put_opacity_close(fg_alpha, fg_alpha_opacity, 1 /*close*/, fsvg);
|
||||||
fprintf(fsvg, " opacity=\"%.3f\"", fg_alpha_opacity);
|
fputs(" <path d=\"", fsvg);
|
||||||
}
|
}
|
||||||
fputs(" />\n", fsvg);
|
current_colour = rect->colour;
|
||||||
|
out_putsf("M", 2, rect->x, fsvg);
|
||||||
|
out_putsf(" ", 2, rect->y, fsvg);
|
||||||
|
out_putsf("h", 2, rect->width, fsvg);
|
||||||
|
out_putsf("v", 2, rect->height, fsvg);
|
||||||
|
out_putsf("h-", 2, rect->width, fsvg);
|
||||||
|
fputs("Z", fsvg);
|
||||||
rect = rect->next;
|
rect = rect->next;
|
||||||
}
|
}
|
||||||
|
fputc('"', fsvg);
|
||||||
|
if (current_colour != -1) {
|
||||||
|
svg_pick_colour(current_colour, colour_code);
|
||||||
|
fprintf(fsvg, " fill=\"#%s\"", colour_code);
|
||||||
|
}
|
||||||
|
svg_put_opacity_close(fg_alpha, fg_alpha_opacity, 1 /*close*/, fsvg);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (symbol->vector->hexagons) {
|
||||||
previous_diameter = radius = half_radius = half_sqrt3_radius = 0.0f;
|
previous_diameter = radius = half_radius = half_sqrt3_radius = 0.0f;
|
||||||
hex = symbol->vector->hexagons;
|
hex = symbol->vector->hexagons;
|
||||||
|
fputs(" <path d=\"", fsvg);
|
||||||
while (hex) {
|
while (hex) {
|
||||||
if (previous_diameter != hex->diameter) {
|
if (previous_diameter != hex->diameter) {
|
||||||
previous_diameter = hex->diameter;
|
previous_diameter = hex->diameter;
|
||||||
@ -229,40 +245,38 @@ INTERNAL int svg_plot(struct zint_symbol *symbol) {
|
|||||||
half_sqrt3_radius = (float) (0.43301270189221932338 * previous_diameter);
|
half_sqrt3_radius = (float) (0.43301270189221932338 * previous_diameter);
|
||||||
}
|
}
|
||||||
if ((hex->rotation == 0) || (hex->rotation == 180)) {
|
if ((hex->rotation == 0) || (hex->rotation == 180)) {
|
||||||
ay = hex->y + radius;
|
out_putsf("M", 2, hex->x, fsvg);
|
||||||
by = hex->y + half_radius;
|
out_putsf(" ", 2, hex->y + radius, fsvg);
|
||||||
cy = hex->y - half_radius;
|
out_putsf("L", 2, hex->x + half_sqrt3_radius, fsvg);
|
||||||
dy = hex->y - radius;
|
out_putsf(" ", 2, hex->y + half_radius, fsvg);
|
||||||
ey = hex->y - half_radius;
|
out_putsf("L", 2, hex->x + half_sqrt3_radius, fsvg);
|
||||||
fy = hex->y + half_radius;
|
out_putsf(" ", 2, hex->y - half_radius, fsvg);
|
||||||
ax = hex->x;
|
out_putsf("L", 2, hex->x, fsvg);
|
||||||
bx = hex->x + half_sqrt3_radius;
|
out_putsf(" ", 2, hex->y - radius, fsvg);
|
||||||
cx = hex->x + half_sqrt3_radius;
|
out_putsf("L", 2, hex->x - half_sqrt3_radius, fsvg);
|
||||||
dx = hex->x;
|
out_putsf(" ", 2, hex->y - half_radius, fsvg);
|
||||||
ex = hex->x - half_sqrt3_radius;
|
out_putsf("L", 2, hex->x - half_sqrt3_radius, fsvg);
|
||||||
fx = hex->x - half_sqrt3_radius;
|
out_putsf(" ", 2, hex->y + half_radius, fsvg);
|
||||||
} else {
|
} else {
|
||||||
ay = hex->y;
|
out_putsf("M", 2, hex->x - radius, fsvg);
|
||||||
by = hex->y + half_sqrt3_radius;
|
out_putsf(" ", 2, hex->y, fsvg);
|
||||||
cy = hex->y + half_sqrt3_radius;
|
out_putsf("L", 2, hex->x - half_radius, fsvg);
|
||||||
dy = hex->y;
|
out_putsf(" ", 2, hex->y + half_sqrt3_radius, fsvg);
|
||||||
ey = hex->y - half_sqrt3_radius;
|
out_putsf("L", 2, hex->x + half_radius, fsvg);
|
||||||
fy = hex->y - half_sqrt3_radius;
|
out_putsf(" ", 2, hex->y + half_sqrt3_radius, fsvg);
|
||||||
ax = hex->x - radius;
|
out_putsf("L", 2, hex->x + radius, fsvg);
|
||||||
bx = hex->x - half_radius;
|
out_putsf(" ", 2, hex->y, fsvg);
|
||||||
cx = hex->x + half_radius;
|
out_putsf("L", 2, hex->x + half_radius, fsvg);
|
||||||
dx = hex->x + radius;
|
out_putsf(" ", 2, hex->y - half_sqrt3_radius, fsvg);
|
||||||
ex = hex->x + half_radius;
|
out_putsf("L", 2, hex->x - half_radius, fsvg);
|
||||||
fx = hex->x - half_radius;
|
out_putsf(" ", 2, hex->y - half_sqrt3_radius, fsvg);
|
||||||
}
|
}
|
||||||
fprintf(fsvg, " <path d=\"M %.2f %.2f L %.2f %.2f L %.2f %.2f L %.2f %.2f L %.2f %.2f L %.2f %.2f Z\"",
|
fputc('Z', fsvg);
|
||||||
ax, ay, bx, by, cx, cy, dx, dy, ex, ey, fx, fy);
|
|
||||||
if (fg_alpha != 0xff) {
|
|
||||||
fprintf(fsvg, " opacity=\"%.3f\"", fg_alpha_opacity);
|
|
||||||
}
|
|
||||||
fputs(" />\n", fsvg);
|
|
||||||
hex = hex->next;
|
hex = hex->next;
|
||||||
}
|
}
|
||||||
|
fputc('"', fsvg);
|
||||||
|
svg_put_opacity_close(fg_alpha, fg_alpha_opacity, 1 /*close*/, fsvg);
|
||||||
|
}
|
||||||
|
|
||||||
previous_diameter = radius = 0.0f;
|
previous_diameter = radius = 0.0f;
|
||||||
circle = symbol->vector->circles;
|
circle = symbol->vector->circles;
|
||||||
@ -271,48 +285,53 @@ INTERNAL int svg_plot(struct zint_symbol *symbol) {
|
|||||||
previous_diameter = circle->diameter;
|
previous_diameter = circle->diameter;
|
||||||
radius = (float) (0.5 * previous_diameter);
|
radius = (float) (0.5 * previous_diameter);
|
||||||
}
|
}
|
||||||
fprintf(fsvg, " <circle cx=\"%.2f\" cy=\"%.2f\" r=\"%.*f\"",
|
fputs(" <circle", fsvg);
|
||||||
circle->x, circle->y, circle->width ? 3 : 2, radius);
|
svg_put_fattrib(" cx=\"", 2, circle->x, fsvg);
|
||||||
|
svg_put_fattrib(" cy=\"", 2, circle->y, fsvg);
|
||||||
|
svg_put_fattrib(" r=\"", circle->width ? 3 : 2, radius, fsvg);
|
||||||
|
|
||||||
if (circle->colour) { /* Legacy - no longer used */
|
if (circle->colour) { /* Legacy - no longer used */
|
||||||
if (circle->width) {
|
if (circle->width) {
|
||||||
fprintf(fsvg, " stroke=\"#%s\" stroke-width=\"%.3f\" fill=\"none\"", bgcolour_string, circle->width);
|
fprintf(fsvg, " stroke=\"#%s\"", bgcolour_string);
|
||||||
|
svg_put_fattrib(" stroke-width=\"", 3, circle->width, fsvg);
|
||||||
|
fputs(" fill=\"none\"", fsvg);
|
||||||
} else {
|
} else {
|
||||||
fprintf(fsvg, " fill=\"#%s\"", bgcolour_string);
|
fprintf(fsvg, " fill=\"#%s\"", bgcolour_string);
|
||||||
}
|
}
|
||||||
if (bg_alpha != 0xff) {
|
|
||||||
/* This doesn't work how the user is likely to expect - more work needed! */
|
/* This doesn't work how the user is likely to expect - more work needed! */
|
||||||
fprintf(fsvg, " opacity=\"%.3f\"", bg_alpha_opacity);
|
svg_put_opacity_close(bg_alpha, bg_alpha_opacity, 1 /*close*/, fsvg);
|
||||||
}
|
|
||||||
} else {
|
} else {
|
||||||
if (circle->width) {
|
if (circle->width) {
|
||||||
fprintf(fsvg, " stroke=\"#%s\" stroke-width=\"%.3f\" fill=\"none\"", fgcolour_string, circle->width);
|
fprintf(fsvg, " stroke=\"#%s\"", fgcolour_string);
|
||||||
|
svg_put_fattrib(" stroke-width=\"", 3, circle->width, fsvg);
|
||||||
|
fputs(" fill=\"none\"", fsvg);
|
||||||
}
|
}
|
||||||
if (fg_alpha != 0xff) {
|
svg_put_opacity_close(fg_alpha, fg_alpha_opacity, 1 /*close*/, fsvg);
|
||||||
fprintf(fsvg, " opacity=\"%.3f\"", fg_alpha_opacity);
|
|
||||||
}
|
}
|
||||||
}
|
|
||||||
fputs(" />\n", fsvg);
|
|
||||||
circle = circle->next;
|
circle = circle->next;
|
||||||
}
|
}
|
||||||
|
|
||||||
bold = (symbol->output_options & BOLD_TEXT) && !is_extendable(symbol->symbology);
|
bold = (symbol->output_options & BOLD_TEXT) && !extendable;
|
||||||
string = symbol->vector->strings;
|
string = symbol->vector->strings;
|
||||||
while (string) {
|
while (string) {
|
||||||
const char *const halign = string->halign == 2 ? "end" : string->halign == 1 ? "start" : "middle";
|
const char *const halign = string->halign == 2 ? "end" : string->halign == 1 ? "start" : "middle";
|
||||||
fprintf(fsvg, " <text x=\"%.2f\" y=\"%.2f\" text-anchor=\"%s\"\n", string->x, string->y, halign);
|
fputs(" <text", fsvg);
|
||||||
fprintf(fsvg, " font-family=\"%s\" font-size=\"%.1f\"", font_family, string->fsize);
|
svg_put_fattrib(" x=\"", 2, string->x, fsvg);
|
||||||
|
svg_put_fattrib(" y=\"", 2, string->y, fsvg);
|
||||||
|
fprintf(fsvg, " text-anchor=\"%s\"", halign);
|
||||||
|
fprintf(fsvg, " font-family=\"%s\"", extendable ? upcean_font_family : font_family);
|
||||||
|
svg_put_fattrib(" font-size=\"", 1, string->fsize, fsvg);
|
||||||
if (bold) {
|
if (bold) {
|
||||||
fputs(" font-weight=\"bold\"", fsvg);
|
fputs(" font-weight=\"bold\"", fsvg);
|
||||||
}
|
}
|
||||||
if (fg_alpha != 0xff) {
|
|
||||||
fprintf(fsvg, " opacity=\"%.3f\"", fg_alpha_opacity);
|
|
||||||
}
|
|
||||||
if (string->rotation != 0) {
|
if (string->rotation != 0) {
|
||||||
fprintf(fsvg, " transform=\"rotate(%d,%.2f,%.2f)\"", string->rotation, string->x, string->y);
|
fprintf(fsvg, " transform=\"rotate(%d", string->rotation);
|
||||||
|
out_putsf(",", 2, string->x, fsvg);
|
||||||
|
out_putsf(",", 2, string->y, fsvg);
|
||||||
|
fputs(")\"", fsvg);
|
||||||
}
|
}
|
||||||
fputs(" >\n", fsvg);
|
svg_put_opacity_close(fg_alpha, fg_alpha_opacity, 0 /*close*/, fsvg);
|
||||||
make_html_friendly(string->text, html_string);
|
svg_make_html_friendly(string->text, html_string);
|
||||||
fprintf(fsvg, " %s\n", html_string);
|
fprintf(fsvg, " %s\n", html_string);
|
||||||
fputs(" </text>\n", fsvg);
|
fputs(" </text>\n", fsvg);
|
||||||
string = string->next;
|
string = string->next;
|
||||||
@ -321,9 +340,6 @@ INTERNAL int svg_plot(struct zint_symbol *symbol) {
|
|||||||
fputs(" </g>\n"
|
fputs(" </g>\n"
|
||||||
"</svg>\n", fsvg);
|
"</svg>\n", fsvg);
|
||||||
|
|
||||||
if (locale)
|
|
||||||
setlocale(LC_ALL, locale);
|
|
||||||
|
|
||||||
if (ferror(fsvg)) {
|
if (ferror(fsvg)) {
|
||||||
sprintf(symbol->errtxt, "682: Incomplete write to output (%d: %.30s)", errno, strerror(errno));
|
sprintf(symbol->errtxt, "682: Incomplete write to output (%d: %.30s)", errno, strerror(errno));
|
||||||
if (!output_to_stdout) {
|
if (!output_to_stdout) {
|
||||||
|
Binary file not shown.
Binary file not shown.
BIN
backend/tests/data/emf/ean13_5addon_ggs_5.2.2.5.2-2_gws.emf
Normal file
BIN
backend/tests/data/emf/ean13_5addon_ggs_5.2.2.5.2-2_gws.emf
Normal file
Binary file not shown.
BIN
backend/tests/data/emf/ean13_ggs_5.2.2.1-1.emf
Normal file
BIN
backend/tests/data/emf/ean13_ggs_5.2.2.1-1.emf
Normal file
Binary file not shown.
BIN
backend/tests/data/emf/ean13_ggs_5.2.2.1-1_gws.emf
Normal file
BIN
backend/tests/data/emf/ean13_ggs_5.2.2.1-1_gws.emf
Normal file
Binary file not shown.
BIN
backend/tests/data/emf/ean8_gss_5.2.2.2-1.emf
Normal file
BIN
backend/tests/data/emf/ean8_gss_5.2.2.2-1.emf
Normal file
Binary file not shown.
BIN
backend/tests/data/emf/ean8_gss_5.2.2.2-1_gws.emf
Normal file
BIN
backend/tests/data/emf/ean8_gss_5.2.2.2-1_gws.emf
Normal file
Binary file not shown.
Binary file not shown.
BIN
backend/tests/data/emf/upca_2addon_ggs_5.2.6.6-5_gws.emf
Normal file
BIN
backend/tests/data/emf/upca_2addon_ggs_5.2.6.6-5_gws.emf
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
backend/tests/data/emf/upce_2addon_gws.emf
Normal file
BIN
backend/tests/data/emf/upce_2addon_gws.emf
Normal file
Binary file not shown.
Binary file not shown.
BIN
backend/tests/data/emf/upce_2addon_small_bold_gws.emf
Normal file
BIN
backend/tests/data/emf/upce_2addon_small_bold_gws.emf
Normal file
Binary file not shown.
@ -4,76 +4,42 @@
|
|||||||
%%Pages: 0
|
%%Pages: 0
|
||||||
%%BoundingBox: 0 0 224 119
|
%%BoundingBox: 0 0 224 119
|
||||||
%%EndComments
|
%%EndComments
|
||||||
/TB { 2 copy } bind def
|
/TR { newpath moveto dup 3 1 roll 0 rlineto 0 exch rlineto neg 0 rlineto closepath fill } bind def
|
||||||
/TR { newpath 4 1 roll exch moveto 1 index 0 rlineto 0 exch rlineto neg 0 rlineto closepath fill } bind def
|
|
||||||
/TE { pop pop } bind def
|
|
||||||
newpath
|
newpath
|
||||||
1.00 1.00 1.00 setrgbcolor
|
1 1 1 setrgbcolor
|
||||||
118.90 0.00 TB 0.00 224.00 TR
|
118.9 224 0 0 TR
|
||||||
TE
|
0 0 0 setrgbcolor
|
||||||
0.00 0.00 0.00 setrgbcolor
|
100 4 0 18.9 TR
|
||||||
100.00 18.90 TB 0.00 4.00 TR
|
100 2 6 18.9 TR
|
||||||
TE
|
100 2 12 18.9 TR
|
||||||
100.00 18.90 TB 6.00 2.00 TR
|
100 2 22 18.9 TR
|
||||||
TE
|
100 8 26 18.9 TR
|
||||||
100.00 18.90 TB 12.00 2.00 TR
|
100 6 36 18.9 TR
|
||||||
TE
|
100 4 44 18.9 TR
|
||||||
100.00 18.90 TB 22.00 2.00 TR
|
100 2 54 18.9 TR
|
||||||
TE
|
100 2 62 18.9 TR
|
||||||
100.00 18.90 TB 26.00 8.00 TR
|
100 2 66 18.9 TR
|
||||||
TE
|
100 4 72 18.9 TR
|
||||||
100.00 18.90 TB 36.00 6.00 TR
|
100 2 78 18.9 TR
|
||||||
TE
|
100 2 88 18.9 TR
|
||||||
100.00 18.90 TB 44.00 4.00 TR
|
100 4 98 18.9 TR
|
||||||
TE
|
100 2 106 18.9 TR
|
||||||
100.00 18.90 TB 54.00 2.00 TR
|
100 2 110 18.9 TR
|
||||||
TE
|
100 2 114 18.9 TR
|
||||||
100.00 18.90 TB 62.00 2.00 TR
|
100 8 120 18.9 TR
|
||||||
TE
|
100 2 132 18.9 TR
|
||||||
100.00 18.90 TB 66.00 2.00 TR
|
100 2 138 18.9 TR
|
||||||
TE
|
100 8 142 18.9 TR
|
||||||
100.00 18.90 TB 72.00 4.00 TR
|
100 4 154 18.9 TR
|
||||||
TE
|
100 4 160 18.9 TR
|
||||||
100.00 18.90 TB 78.00 2.00 TR
|
100 8 166 18.9 TR
|
||||||
TE
|
100 2 176 18.9 TR
|
||||||
100.00 18.90 TB 88.00 2.00 TR
|
100 4 184 18.9 TR
|
||||||
TE
|
100 2 194 18.9 TR
|
||||||
100.00 18.90 TB 98.00 4.00 TR
|
100 4 198 18.9 TR
|
||||||
TE
|
100 6 208 18.9 TR
|
||||||
100.00 18.90 TB 106.00 2.00 TR
|
100 2 216 18.9 TR
|
||||||
TE
|
100 4 220 18.9 TR
|
||||||
100.00 18.90 TB 110.00 2.00 TR
|
|
||||||
TE
|
|
||||||
100.00 18.90 TB 114.00 2.00 TR
|
|
||||||
TE
|
|
||||||
100.00 18.90 TB 120.00 8.00 TR
|
|
||||||
TE
|
|
||||||
100.00 18.90 TB 132.00 2.00 TR
|
|
||||||
TE
|
|
||||||
100.00 18.90 TB 138.00 2.00 TR
|
|
||||||
TE
|
|
||||||
100.00 18.90 TB 142.00 8.00 TR
|
|
||||||
TE
|
|
||||||
100.00 18.90 TB 154.00 4.00 TR
|
|
||||||
TE
|
|
||||||
100.00 18.90 TB 160.00 4.00 TR
|
|
||||||
TE
|
|
||||||
100.00 18.90 TB 166.00 8.00 TR
|
|
||||||
TE
|
|
||||||
100.00 18.90 TB 176.00 2.00 TR
|
|
||||||
TE
|
|
||||||
100.00 18.90 TB 184.00 4.00 TR
|
|
||||||
TE
|
|
||||||
100.00 18.90 TB 194.00 2.00 TR
|
|
||||||
TE
|
|
||||||
100.00 18.90 TB 198.00 4.00 TR
|
|
||||||
TE
|
|
||||||
100.00 18.90 TB 208.00 6.00 TR
|
|
||||||
TE
|
|
||||||
100.00 18.90 TB 216.00 2.00 TR
|
|
||||||
TE
|
|
||||||
100.00 18.90 TB 220.00 4.00 TR
|
|
||||||
TE
|
|
||||||
/Helvetica-Bold findfont
|
/Helvetica-Bold findfont
|
||||||
dup length dict begin
|
dup length dict begin
|
||||||
{1 index /FID ne {def} {pop pop} ifelse} forall
|
{1 index /FID ne {def} {pop pop} ifelse} forall
|
||||||
@ -81,12 +47,7 @@ dup length dict begin
|
|||||||
currentdict
|
currentdict
|
||||||
end
|
end
|
||||||
/Helvetica-ISOLatin1 exch definefont pop
|
/Helvetica-ISOLatin1 exch definefont pop
|
||||||
matrix currentmatrix
|
/Helvetica-ISOLatin1 findfont 14 scalefont setfont
|
||||||
/Helvetica-ISOLatin1 findfont
|
112 4.9 moveto
|
||||||
14.00 scalefont setfont
|
(Égjpqy) stringwidth pop -2 div 0 rmoveto
|
||||||
0 0 moveto 112.00 4.90 translate 0.00 rotate 0 0 moveto
|
|
||||||
(Égjpqy) stringwidth
|
|
||||||
pop
|
|
||||||
-2 div 0 rmoveto
|
|
||||||
(Égjpqy) show
|
(Égjpqy) show
|
||||||
setmatrix
|
|
||||||
|
@ -4,76 +4,42 @@
|
|||||||
%%Pages: 0
|
%%Pages: 0
|
||||||
%%BoundingBox: 0 0 119 224
|
%%BoundingBox: 0 0 119 224
|
||||||
%%EndComments
|
%%EndComments
|
||||||
/TB { 2 copy } bind def
|
/TR { newpath moveto dup 3 1 roll 0 rlineto 0 exch rlineto neg 0 rlineto closepath fill } bind def
|
||||||
/TR { newpath 4 1 roll exch moveto 1 index 0 rlineto 0 exch rlineto neg 0 rlineto closepath fill } bind def
|
|
||||||
/TE { pop pop } bind def
|
|
||||||
newpath
|
newpath
|
||||||
1.00 1.00 1.00 setrgbcolor
|
1 1 1 setrgbcolor
|
||||||
224.00 0.00 TB 0.00 118.90 TR
|
224 118.9 0 0 TR
|
||||||
TE
|
0 0 0 setrgbcolor
|
||||||
0.00 0.00 0.00 setrgbcolor
|
4 100 18.9 220 TR
|
||||||
4.00 220.00 TB 18.90 100.00 TR
|
2 100 18.9 216 TR
|
||||||
TE
|
2 100 18.9 210 TR
|
||||||
2.00 216.00 TB 18.90 100.00 TR
|
2 100 18.9 200 TR
|
||||||
TE
|
8 100 18.9 190 TR
|
||||||
2.00 210.00 TB 18.90 100.00 TR
|
6 100 18.9 182 TR
|
||||||
TE
|
4 100 18.9 176 TR
|
||||||
2.00 200.00 TB 18.90 100.00 TR
|
2 100 18.9 168 TR
|
||||||
TE
|
2 100 18.9 160 TR
|
||||||
8.00 190.00 TB 18.90 100.00 TR
|
2 100 18.9 156 TR
|
||||||
TE
|
4 100 18.9 148 TR
|
||||||
6.00 182.00 TB 18.90 100.00 TR
|
2 100 18.9 144 TR
|
||||||
TE
|
2 100 18.9 134 TR
|
||||||
4.00 176.00 TB 18.90 100.00 TR
|
4 100 18.9 122 TR
|
||||||
TE
|
2 100 18.9 116 TR
|
||||||
2.00 168.00 TB 18.90 100.00 TR
|
2 100 18.9 112 TR
|
||||||
TE
|
2 100 18.9 108 TR
|
||||||
2.00 160.00 TB 18.90 100.00 TR
|
8 100 18.9 96 TR
|
||||||
TE
|
2 100 18.9 90 TR
|
||||||
2.00 156.00 TB 18.90 100.00 TR
|
2 100 18.9 84 TR
|
||||||
TE
|
8 100 18.9 74 TR
|
||||||
4.00 148.00 TB 18.90 100.00 TR
|
4 100 18.9 66 TR
|
||||||
TE
|
4 100 18.9 60 TR
|
||||||
2.00 144.00 TB 18.90 100.00 TR
|
8 100 18.9 50 TR
|
||||||
TE
|
2 100 18.9 46 TR
|
||||||
2.00 134.00 TB 18.90 100.00 TR
|
4 100 18.9 36 TR
|
||||||
TE
|
2 100 18.9 28 TR
|
||||||
4.00 122.00 TB 18.90 100.00 TR
|
4 100 18.9 22 TR
|
||||||
TE
|
6 100 18.9 10 TR
|
||||||
2.00 116.00 TB 18.90 100.00 TR
|
2 100 18.9 6 TR
|
||||||
TE
|
4 100 18.9 0 TR
|
||||||
2.00 112.00 TB 18.90 100.00 TR
|
|
||||||
TE
|
|
||||||
2.00 108.00 TB 18.90 100.00 TR
|
|
||||||
TE
|
|
||||||
8.00 96.00 TB 18.90 100.00 TR
|
|
||||||
TE
|
|
||||||
2.00 90.00 TB 18.90 100.00 TR
|
|
||||||
TE
|
|
||||||
2.00 84.00 TB 18.90 100.00 TR
|
|
||||||
TE
|
|
||||||
8.00 74.00 TB 18.90 100.00 TR
|
|
||||||
TE
|
|
||||||
4.00 66.00 TB 18.90 100.00 TR
|
|
||||||
TE
|
|
||||||
4.00 60.00 TB 18.90 100.00 TR
|
|
||||||
TE
|
|
||||||
8.00 50.00 TB 18.90 100.00 TR
|
|
||||||
TE
|
|
||||||
2.00 46.00 TB 18.90 100.00 TR
|
|
||||||
TE
|
|
||||||
4.00 36.00 TB 18.90 100.00 TR
|
|
||||||
TE
|
|
||||||
2.00 28.00 TB 18.90 100.00 TR
|
|
||||||
TE
|
|
||||||
4.00 22.00 TB 18.90 100.00 TR
|
|
||||||
TE
|
|
||||||
6.00 10.00 TB 18.90 100.00 TR
|
|
||||||
TE
|
|
||||||
2.00 6.00 TB 18.90 100.00 TR
|
|
||||||
TE
|
|
||||||
4.00 0.00 TB 18.90 100.00 TR
|
|
||||||
TE
|
|
||||||
/Helvetica-Bold findfont
|
/Helvetica-Bold findfont
|
||||||
dup length dict begin
|
dup length dict begin
|
||||||
{1 index /FID ne {def} {pop pop} ifelse} forall
|
{1 index /FID ne {def} {pop pop} ifelse} forall
|
||||||
@ -81,15 +47,10 @@ dup length dict begin
|
|||||||
currentdict
|
currentdict
|
||||||
end
|
end
|
||||||
/Helvetica-ISOLatin1 exch definefont pop
|
/Helvetica-ISOLatin1 exch definefont pop
|
||||||
matrix currentmatrix
|
/Helvetica-ISOLatin1 findfont 14 scalefont setfont
|
||||||
/Helvetica-ISOLatin1 findfont
|
4.9 112 moveto
|
||||||
14.00 scalefont setfont
|
(Égjpqy) stringwidth pop -2 div 0 rmoveto
|
||||||
0 0 moveto 4.90 112.00 translate 0.00 rotate 0 0 moveto
|
|
||||||
(Égjpqy) stringwidth
|
|
||||||
gsave
|
gsave
|
||||||
270 rotate
|
270 rotate
|
||||||
pop
|
|
||||||
-2 div 0 rmoveto
|
|
||||||
(Égjpqy) show
|
(Égjpqy) show
|
||||||
grestore
|
grestore
|
||||||
setmatrix
|
|
||||||
|
@ -4,82 +4,45 @@
|
|||||||
%%Pages: 0
|
%%Pages: 0
|
||||||
%%BoundingBox: 0 0 246 119
|
%%BoundingBox: 0 0 246 119
|
||||||
%%EndComments
|
%%EndComments
|
||||||
/TB { 2 copy } bind def
|
/TR { newpath moveto dup 3 1 roll 0 rlineto 0 exch rlineto neg 0 rlineto closepath fill } bind def
|
||||||
/TR { newpath 4 1 roll exch moveto 1 index 0 rlineto 0 exch rlineto neg 0 rlineto closepath fill } bind def
|
|
||||||
/TE { pop pop } bind def
|
|
||||||
newpath
|
newpath
|
||||||
1.00 1.00 1.00 setrgbcolor
|
1 1 1 setrgbcolor
|
||||||
118.90 0.00 TB 0.00 246.00 TR
|
118.9 246 0 0 TR
|
||||||
TE
|
0 0 0 setrgbcolor
|
||||||
0.00 0.00 0.00 setrgbcolor
|
100 4 0 18.9 TR
|
||||||
100.00 18.90 TB 0.00 4.00 TR
|
100 2 6 18.9 TR
|
||||||
TE
|
100 2 12 18.9 TR
|
||||||
100.00 18.90 TB 6.00 2.00 TR
|
100 2 22 18.9 TR
|
||||||
TE
|
100 2 26 18.9 TR
|
||||||
100.00 18.90 TB 12.00 2.00 TR
|
100 4 34 18.9 TR
|
||||||
TE
|
100 6 44 18.9 TR
|
||||||
100.00 18.90 TB 22.00 2.00 TR
|
100 8 52 18.9 TR
|
||||||
TE
|
100 2 62 18.9 TR
|
||||||
100.00 18.90 TB 26.00 2.00 TR
|
100 2 66 18.9 TR
|
||||||
TE
|
100 2 74 18.9 TR
|
||||||
100.00 18.90 TB 34.00 4.00 TR
|
100 4 78 18.9 TR
|
||||||
TE
|
100 4 88 18.9 TR
|
||||||
100.00 18.90 TB 44.00 6.00 TR
|
100 2 96 18.9 TR
|
||||||
TE
|
100 2 102 18.9 TR
|
||||||
100.00 18.90 TB 52.00 8.00 TR
|
100 2 110 18.9 TR
|
||||||
TE
|
100 8 114 18.9 TR
|
||||||
100.00 18.90 TB 62.00 2.00 TR
|
100 6 124 18.9 TR
|
||||||
TE
|
100 2 132 18.9 TR
|
||||||
100.00 18.90 TB 66.00 2.00 TR
|
100 4 138 18.9 TR
|
||||||
TE
|
100 2 144 18.9 TR
|
||||||
100.00 18.90 TB 74.00 2.00 TR
|
100 2 154 18.9 TR
|
||||||
TE
|
100 4 162 18.9 TR
|
||||||
100.00 18.90 TB 78.00 4.00 TR
|
100 2 170 18.9 TR
|
||||||
TE
|
100 2 176 18.9 TR
|
||||||
100.00 18.90 TB 88.00 4.00 TR
|
100 4 180 18.9 TR
|
||||||
TE
|
100 2 190 18.9 TR
|
||||||
100.00 18.90 TB 96.00 2.00 TR
|
100 2 198 18.9 TR
|
||||||
TE
|
100 6 204 18.9 TR
|
||||||
100.00 18.90 TB 102.00 2.00 TR
|
100 4 214 18.9 TR
|
||||||
TE
|
100 4 220 18.9 TR
|
||||||
100.00 18.90 TB 110.00 2.00 TR
|
100 6 230 18.9 TR
|
||||||
TE
|
100 2 238 18.9 TR
|
||||||
100.00 18.90 TB 114.00 8.00 TR
|
100 4 242 18.9 TR
|
||||||
TE
|
|
||||||
100.00 18.90 TB 124.00 6.00 TR
|
|
||||||
TE
|
|
||||||
100.00 18.90 TB 132.00 2.00 TR
|
|
||||||
TE
|
|
||||||
100.00 18.90 TB 138.00 4.00 TR
|
|
||||||
TE
|
|
||||||
100.00 18.90 TB 144.00 2.00 TR
|
|
||||||
TE
|
|
||||||
100.00 18.90 TB 154.00 2.00 TR
|
|
||||||
TE
|
|
||||||
100.00 18.90 TB 162.00 4.00 TR
|
|
||||||
TE
|
|
||||||
100.00 18.90 TB 170.00 2.00 TR
|
|
||||||
TE
|
|
||||||
100.00 18.90 TB 176.00 2.00 TR
|
|
||||||
TE
|
|
||||||
100.00 18.90 TB 180.00 4.00 TR
|
|
||||||
TE
|
|
||||||
100.00 18.90 TB 190.00 2.00 TR
|
|
||||||
TE
|
|
||||||
100.00 18.90 TB 198.00 2.00 TR
|
|
||||||
TE
|
|
||||||
100.00 18.90 TB 204.00 6.00 TR
|
|
||||||
TE
|
|
||||||
100.00 18.90 TB 214.00 4.00 TR
|
|
||||||
TE
|
|
||||||
100.00 18.90 TB 220.00 4.00 TR
|
|
||||||
TE
|
|
||||||
100.00 18.90 TB 230.00 6.00 TR
|
|
||||||
TE
|
|
||||||
100.00 18.90 TB 238.00 2.00 TR
|
|
||||||
TE
|
|
||||||
100.00 18.90 TB 242.00 4.00 TR
|
|
||||||
TE
|
|
||||||
/Helvetica findfont
|
/Helvetica findfont
|
||||||
dup length dict begin
|
dup length dict begin
|
||||||
{1 index /FID ne {def} {pop pop} ifelse} forall
|
{1 index /FID ne {def} {pop pop} ifelse} forall
|
||||||
@ -87,12 +50,7 @@ dup length dict begin
|
|||||||
currentdict
|
currentdict
|
||||||
end
|
end
|
||||||
/Helvetica-ISOLatin1 exch definefont pop
|
/Helvetica-ISOLatin1 exch definefont pop
|
||||||
matrix currentmatrix
|
/Helvetica-ISOLatin1 findfont 14 scalefont setfont
|
||||||
/Helvetica-ISOLatin1 findfont
|
123 4.9 moveto
|
||||||
14.00 scalefont setfont
|
(A\\B\)ç\(D) stringwidth pop -2 div 0 rmoveto
|
||||||
0 0 moveto 123.00 4.90 translate 0.00 rotate 0 0 moveto
|
|
||||||
(A\\B\)ç\(D) stringwidth
|
|
||||||
pop
|
|
||||||
-2 div 0 rmoveto
|
|
||||||
(A\\B\)ç\(D) show
|
(A\\B\)ç\(D) show
|
||||||
setmatrix
|
|
||||||
|
@ -4,70 +4,37 @@
|
|||||||
%%Pages: 0
|
%%Pages: 0
|
||||||
%%BoundingBox: 0 0 128 119
|
%%BoundingBox: 0 0 128 119
|
||||||
%%EndComments
|
%%EndComments
|
||||||
/TB { 2 copy } bind def
|
/TR { newpath moveto dup 3 1 roll 0 rlineto 0 exch rlineto neg 0 rlineto closepath fill } bind def
|
||||||
/TR { newpath 4 1 roll exch moveto 1 index 0 rlineto 0 exch rlineto neg 0 rlineto closepath fill } bind def
|
|
||||||
/TE { pop pop } bind def
|
|
||||||
newpath
|
newpath
|
||||||
0.99 0.59 0.19 setrgbcolor
|
0.99 0.59 0.19 setrgbcolor
|
||||||
118.90 0.00 TB 0.00 128.00 TR
|
118.9 128 0 0 TR
|
||||||
TE
|
|
||||||
0.08 0.48 0.82 setrgbcolor
|
0.08 0.48 0.82 setrgbcolor
|
||||||
100.00 18.90 TB 0.00 2.00 TR
|
100 2 0 18.9 TR
|
||||||
TE
|
100 2 6 18.9 TR
|
||||||
100.00 18.90 TB 6.00 2.00 TR
|
100 4 10 18.9 TR
|
||||||
TE
|
100 4 16 18.9 TR
|
||||||
100.00 18.90 TB 10.00 4.00 TR
|
100 2 22 18.9 TR
|
||||||
TE
|
100 4 26 18.9 TR
|
||||||
100.00 18.90 TB 16.00 4.00 TR
|
100 2 32 18.9 TR
|
||||||
TE
|
100 2 38 18.9 TR
|
||||||
100.00 18.90 TB 22.00 2.00 TR
|
100 2 42 18.9 TR
|
||||||
TE
|
100 4 46 18.9 TR
|
||||||
100.00 18.90 TB 26.00 4.00 TR
|
100 2 52 18.9 TR
|
||||||
TE
|
100 4 56 18.9 TR
|
||||||
100.00 18.90 TB 32.00 2.00 TR
|
100 2 64 18.9 TR
|
||||||
TE
|
100 2 68 18.9 TR
|
||||||
100.00 18.90 TB 38.00 2.00 TR
|
100 4 72 18.9 TR
|
||||||
TE
|
100 4 78 18.9 TR
|
||||||
100.00 18.90 TB 42.00 2.00 TR
|
100 4 84 18.9 TR
|
||||||
TE
|
100 2 92 18.9 TR
|
||||||
100.00 18.90 TB 46.00 4.00 TR
|
100 2 96 18.9 TR
|
||||||
TE
|
100 2 100 18.9 TR
|
||||||
100.00 18.90 TB 52.00 2.00 TR
|
100 2 104 18.9 TR
|
||||||
TE
|
100 2 110 18.9 TR
|
||||||
100.00 18.90 TB 56.00 4.00 TR
|
100 4 114 18.9 TR
|
||||||
TE
|
100 4 120 18.9 TR
|
||||||
100.00 18.90 TB 64.00 2.00 TR
|
100 2 126 18.9 TR
|
||||||
TE
|
/Helvetica findfont 14 scalefont setfont
|
||||||
100.00 18.90 TB 68.00 2.00 TR
|
64 4.9 moveto
|
||||||
TE
|
(*123*) stringwidth pop -2 div 0 rmoveto
|
||||||
100.00 18.90 TB 72.00 4.00 TR
|
|
||||||
TE
|
|
||||||
100.00 18.90 TB 78.00 4.00 TR
|
|
||||||
TE
|
|
||||||
100.00 18.90 TB 84.00 4.00 TR
|
|
||||||
TE
|
|
||||||
100.00 18.90 TB 92.00 2.00 TR
|
|
||||||
TE
|
|
||||||
100.00 18.90 TB 96.00 2.00 TR
|
|
||||||
TE
|
|
||||||
100.00 18.90 TB 100.00 2.00 TR
|
|
||||||
TE
|
|
||||||
100.00 18.90 TB 104.00 2.00 TR
|
|
||||||
TE
|
|
||||||
100.00 18.90 TB 110.00 2.00 TR
|
|
||||||
TE
|
|
||||||
100.00 18.90 TB 114.00 4.00 TR
|
|
||||||
TE
|
|
||||||
100.00 18.90 TB 120.00 4.00 TR
|
|
||||||
TE
|
|
||||||
100.00 18.90 TB 126.00 2.00 TR
|
|
||||||
TE
|
|
||||||
matrix currentmatrix
|
|
||||||
/Helvetica findfont
|
|
||||||
14.00 scalefont setfont
|
|
||||||
0 0 moveto 64.00 4.90 translate 0.00 rotate 0 0 moveto
|
|
||||||
(*123*) stringwidth
|
|
||||||
pop
|
|
||||||
-2 div 0 rmoveto
|
|
||||||
(*123*) show
|
(*123*) show
|
||||||
setmatrix
|
|
||||||
|
@ -4,70 +4,37 @@
|
|||||||
%%Pages: 0
|
%%Pages: 0
|
||||||
%%BoundingBox: 0 0 128 119
|
%%BoundingBox: 0 0 128 119
|
||||||
%%EndComments
|
%%EndComments
|
||||||
/TB { 2 copy } bind def
|
/TR { newpath moveto dup 3 1 roll 0 rlineto 0 exch rlineto neg 0 rlineto closepath fill } bind def
|
||||||
/TR { newpath 4 1 roll exch moveto 1 index 0 rlineto 0 exch rlineto neg 0 rlineto closepath fill } bind def
|
|
||||||
/TE { pop pop } bind def
|
|
||||||
newpath
|
newpath
|
||||||
0.00 0.40 0.81 0.01 setcmykcolor
|
0 0.4 0.81 0.01 setcmykcolor
|
||||||
118.90 0.00 TB 0.00 128.00 TR
|
118.9 128 0 0 TR
|
||||||
TE
|
0.9 0.41 0 0.18 setcmykcolor
|
||||||
0.90 0.41 0.00 0.18 setcmykcolor
|
100 2 0 18.9 TR
|
||||||
100.00 18.90 TB 0.00 2.00 TR
|
100 2 6 18.9 TR
|
||||||
TE
|
100 4 10 18.9 TR
|
||||||
100.00 18.90 TB 6.00 2.00 TR
|
100 4 16 18.9 TR
|
||||||
TE
|
100 2 22 18.9 TR
|
||||||
100.00 18.90 TB 10.00 4.00 TR
|
100 4 26 18.9 TR
|
||||||
TE
|
100 2 32 18.9 TR
|
||||||
100.00 18.90 TB 16.00 4.00 TR
|
100 2 38 18.9 TR
|
||||||
TE
|
100 2 42 18.9 TR
|
||||||
100.00 18.90 TB 22.00 2.00 TR
|
100 4 46 18.9 TR
|
||||||
TE
|
100 2 52 18.9 TR
|
||||||
100.00 18.90 TB 26.00 4.00 TR
|
100 4 56 18.9 TR
|
||||||
TE
|
100 2 64 18.9 TR
|
||||||
100.00 18.90 TB 32.00 2.00 TR
|
100 2 68 18.9 TR
|
||||||
TE
|
100 4 72 18.9 TR
|
||||||
100.00 18.90 TB 38.00 2.00 TR
|
100 4 78 18.9 TR
|
||||||
TE
|
100 4 84 18.9 TR
|
||||||
100.00 18.90 TB 42.00 2.00 TR
|
100 2 92 18.9 TR
|
||||||
TE
|
100 2 96 18.9 TR
|
||||||
100.00 18.90 TB 46.00 4.00 TR
|
100 2 100 18.9 TR
|
||||||
TE
|
100 2 104 18.9 TR
|
||||||
100.00 18.90 TB 52.00 2.00 TR
|
100 2 110 18.9 TR
|
||||||
TE
|
100 4 114 18.9 TR
|
||||||
100.00 18.90 TB 56.00 4.00 TR
|
100 4 120 18.9 TR
|
||||||
TE
|
100 2 126 18.9 TR
|
||||||
100.00 18.90 TB 64.00 2.00 TR
|
/Helvetica findfont 14 scalefont setfont
|
||||||
TE
|
64 4.9 moveto
|
||||||
100.00 18.90 TB 68.00 2.00 TR
|
(*123*) stringwidth pop -2 div 0 rmoveto
|
||||||
TE
|
|
||||||
100.00 18.90 TB 72.00 4.00 TR
|
|
||||||
TE
|
|
||||||
100.00 18.90 TB 78.00 4.00 TR
|
|
||||||
TE
|
|
||||||
100.00 18.90 TB 84.00 4.00 TR
|
|
||||||
TE
|
|
||||||
100.00 18.90 TB 92.00 2.00 TR
|
|
||||||
TE
|
|
||||||
100.00 18.90 TB 96.00 2.00 TR
|
|
||||||
TE
|
|
||||||
100.00 18.90 TB 100.00 2.00 TR
|
|
||||||
TE
|
|
||||||
100.00 18.90 TB 104.00 2.00 TR
|
|
||||||
TE
|
|
||||||
100.00 18.90 TB 110.00 2.00 TR
|
|
||||||
TE
|
|
||||||
100.00 18.90 TB 114.00 4.00 TR
|
|
||||||
TE
|
|
||||||
100.00 18.90 TB 120.00 4.00 TR
|
|
||||||
TE
|
|
||||||
100.00 18.90 TB 126.00 2.00 TR
|
|
||||||
TE
|
|
||||||
matrix currentmatrix
|
|
||||||
/Helvetica findfont
|
|
||||||
14.00 scalefont setfont
|
|
||||||
0 0 moveto 64.00 4.90 translate 0.00 rotate 0 0 moveto
|
|
||||||
(*123*) stringwidth
|
|
||||||
pop
|
|
||||||
-2 div 0 rmoveto
|
|
||||||
(*123*) show
|
(*123*) show
|
||||||
setmatrix
|
|
||||||
|
@ -4,67 +4,35 @@
|
|||||||
%%Pages: 0
|
%%Pages: 0
|
||||||
%%BoundingBox: 0 0 128 119
|
%%BoundingBox: 0 0 128 119
|
||||||
%%EndComments
|
%%EndComments
|
||||||
/TB { 2 copy } bind def
|
/TR { newpath moveto dup 3 1 roll 0 rlineto 0 exch rlineto neg 0 rlineto closepath fill } bind def
|
||||||
/TR { newpath 4 1 roll exch moveto 1 index 0 rlineto 0 exch rlineto neg 0 rlineto closepath fill } bind def
|
|
||||||
/TE { pop pop } bind def
|
|
||||||
newpath
|
newpath
|
||||||
0.90 0.40 0.00 0.09 setcmykcolor
|
0.9 0.4 0 0.09 setcmykcolor
|
||||||
100.00 18.90 TB 0.00 2.00 TR
|
100 2 0 18.9 TR
|
||||||
TE
|
100 2 6 18.9 TR
|
||||||
100.00 18.90 TB 6.00 2.00 TR
|
100 4 10 18.9 TR
|
||||||
TE
|
100 4 16 18.9 TR
|
||||||
100.00 18.90 TB 10.00 4.00 TR
|
100 2 22 18.9 TR
|
||||||
TE
|
100 4 26 18.9 TR
|
||||||
100.00 18.90 TB 16.00 4.00 TR
|
100 2 32 18.9 TR
|
||||||
TE
|
100 2 38 18.9 TR
|
||||||
100.00 18.90 TB 22.00 2.00 TR
|
100 2 42 18.9 TR
|
||||||
TE
|
100 4 46 18.9 TR
|
||||||
100.00 18.90 TB 26.00 4.00 TR
|
100 2 52 18.9 TR
|
||||||
TE
|
100 4 56 18.9 TR
|
||||||
100.00 18.90 TB 32.00 2.00 TR
|
100 2 64 18.9 TR
|
||||||
TE
|
100 2 68 18.9 TR
|
||||||
100.00 18.90 TB 38.00 2.00 TR
|
100 4 72 18.9 TR
|
||||||
TE
|
100 4 78 18.9 TR
|
||||||
100.00 18.90 TB 42.00 2.00 TR
|
100 4 84 18.9 TR
|
||||||
TE
|
100 2 92 18.9 TR
|
||||||
100.00 18.90 TB 46.00 4.00 TR
|
100 2 96 18.9 TR
|
||||||
TE
|
100 2 100 18.9 TR
|
||||||
100.00 18.90 TB 52.00 2.00 TR
|
100 2 104 18.9 TR
|
||||||
TE
|
100 2 110 18.9 TR
|
||||||
100.00 18.90 TB 56.00 4.00 TR
|
100 4 114 18.9 TR
|
||||||
TE
|
100 4 120 18.9 TR
|
||||||
100.00 18.90 TB 64.00 2.00 TR
|
100 2 126 18.9 TR
|
||||||
TE
|
/Helvetica findfont 14 scalefont setfont
|
||||||
100.00 18.90 TB 68.00 2.00 TR
|
64 4.9 moveto
|
||||||
TE
|
(*123*) stringwidth pop -2 div 0 rmoveto
|
||||||
100.00 18.90 TB 72.00 4.00 TR
|
|
||||||
TE
|
|
||||||
100.00 18.90 TB 78.00 4.00 TR
|
|
||||||
TE
|
|
||||||
100.00 18.90 TB 84.00 4.00 TR
|
|
||||||
TE
|
|
||||||
100.00 18.90 TB 92.00 2.00 TR
|
|
||||||
TE
|
|
||||||
100.00 18.90 TB 96.00 2.00 TR
|
|
||||||
TE
|
|
||||||
100.00 18.90 TB 100.00 2.00 TR
|
|
||||||
TE
|
|
||||||
100.00 18.90 TB 104.00 2.00 TR
|
|
||||||
TE
|
|
||||||
100.00 18.90 TB 110.00 2.00 TR
|
|
||||||
TE
|
|
||||||
100.00 18.90 TB 114.00 4.00 TR
|
|
||||||
TE
|
|
||||||
100.00 18.90 TB 120.00 4.00 TR
|
|
||||||
TE
|
|
||||||
100.00 18.90 TB 126.00 2.00 TR
|
|
||||||
TE
|
|
||||||
matrix currentmatrix
|
|
||||||
/Helvetica findfont
|
|
||||||
14.00 scalefont setfont
|
|
||||||
0 0 moveto 64.00 4.90 translate 0.00 rotate 0 0 moveto
|
|
||||||
(*123*) stringwidth
|
|
||||||
pop
|
|
||||||
-2 div 0 rmoveto
|
|
||||||
(*123*) show
|
(*123*) show
|
||||||
setmatrix
|
|
||||||
|
@ -4,66 +4,35 @@
|
|||||||
%%Pages: 0
|
%%Pages: 0
|
||||||
%%BoundingBox: 0 0 158 119
|
%%BoundingBox: 0 0 158 119
|
||||||
%%EndComments
|
%%EndComments
|
||||||
/TB { 2 copy } bind def
|
/TR { newpath moveto dup 3 1 roll 0 rlineto 0 exch rlineto neg 0 rlineto closepath fill } bind def
|
||||||
/TR { newpath 4 1 roll exch moveto 1 index 0 rlineto 0 exch rlineto neg 0 rlineto closepath fill } bind def
|
|
||||||
/TE { pop pop } bind def
|
|
||||||
newpath
|
newpath
|
||||||
1.00 1.00 1.00 setrgbcolor
|
1 1 1 setrgbcolor
|
||||||
118.90 0.00 TB 0.00 158.00 TR
|
118.9 158 0 0 TR
|
||||||
TE
|
0 0 0 setrgbcolor
|
||||||
0.00 0.00 0.00 setrgbcolor
|
100 2 2 18.9 TR
|
||||||
100.00 18.90 TB 2.00 2.00 TR
|
100 4 10 18.9 TR
|
||||||
TE
|
100 4 18 18.9 TR
|
||||||
100.00 18.90 TB 10.00 4.00 TR
|
100 4 28 18.9 TR
|
||||||
TE
|
100 4 34 18.9 TR
|
||||||
100.00 18.90 TB 18.00 4.00 TR
|
100 2 40 18.9 TR
|
||||||
TE
|
100 2 44 18.9 TR
|
||||||
100.00 18.90 TB 28.00 4.00 TR
|
100 6 50 18.9 TR
|
||||||
TE
|
100 2 58 18.9 TR
|
||||||
100.00 18.90 TB 34.00 4.00 TR
|
100 2 64 18.9 TR
|
||||||
TE
|
100 2 68 18.9 TR
|
||||||
100.00 18.90 TB 40.00 2.00 TR
|
100 4 72 18.9 TR
|
||||||
TE
|
100 2 78 18.9 TR
|
||||||
100.00 18.90 TB 44.00 2.00 TR
|
100 4 84 18.9 TR
|
||||||
TE
|
100 2 90 18.9 TR
|
||||||
100.00 18.90 TB 50.00 6.00 TR
|
100 2 96 18.9 TR
|
||||||
TE
|
100 2 102 18.9 TR
|
||||||
100.00 18.90 TB 58.00 2.00 TR
|
100 4 106 18.9 TR
|
||||||
TE
|
100 4 116 18.9 TR
|
||||||
100.00 18.90 TB 64.00 2.00 TR
|
100 6 122 18.9 TR
|
||||||
TE
|
100 4 132 18.9 TR
|
||||||
100.00 18.90 TB 68.00 2.00 TR
|
100 4 140 18.9 TR
|
||||||
TE
|
100 2 146 18.9 TR
|
||||||
100.00 18.90 TB 72.00 4.00 TR
|
/Helvetica-Bold findfont 14 scalefont setfont
|
||||||
TE
|
79 4.9 moveto
|
||||||
100.00 18.90 TB 78.00 2.00 TR
|
(\(01\)15012345678907) stringwidth pop -2 div 0 rmoveto
|
||||||
TE
|
|
||||||
100.00 18.90 TB 84.00 4.00 TR
|
|
||||||
TE
|
|
||||||
100.00 18.90 TB 90.00 2.00 TR
|
|
||||||
TE
|
|
||||||
100.00 18.90 TB 96.00 2.00 TR
|
|
||||||
TE
|
|
||||||
100.00 18.90 TB 102.00 2.00 TR
|
|
||||||
TE
|
|
||||||
100.00 18.90 TB 106.00 4.00 TR
|
|
||||||
TE
|
|
||||||
100.00 18.90 TB 116.00 4.00 TR
|
|
||||||
TE
|
|
||||||
100.00 18.90 TB 122.00 6.00 TR
|
|
||||||
TE
|
|
||||||
100.00 18.90 TB 132.00 4.00 TR
|
|
||||||
TE
|
|
||||||
100.00 18.90 TB 140.00 4.00 TR
|
|
||||||
TE
|
|
||||||
100.00 18.90 TB 146.00 2.00 TR
|
|
||||||
TE
|
|
||||||
matrix currentmatrix
|
|
||||||
/Helvetica-Bold findfont
|
|
||||||
14.00 scalefont setfont
|
|
||||||
0 0 moveto 79.00 4.90 translate 0.00 rotate 0 0 moveto
|
|
||||||
(\(01\)15012345678907) stringwidth
|
|
||||||
pop
|
|
||||||
-2 div 0 rmoveto
|
|
||||||
(\(01\)15012345678907) show
|
(\(01\)15012345678907) show
|
||||||
setmatrix
|
|
||||||
|
@ -1,43 +1,40 @@
|
|||||||
%!PS-Adobe-3.0 EPSF-3.0
|
%!PS-Adobe-3.0 EPSF-3.0
|
||||||
%%Creator: Zint 2.10.0.9
|
%%Creator: Zint 2.12.0.9
|
||||||
%%Title: Zint Generated Symbol
|
%%Title: Zint Generated Symbol
|
||||||
%%Pages: 0
|
%%Pages: 0
|
||||||
%%BoundingBox: 0 0 3 2
|
%%BoundingBox: 0 0 3 2
|
||||||
%%EndComments
|
%%EndComments
|
||||||
/TD { newpath 0 360 arc fill } bind def
|
/TD { newpath 0 360 arc fill } bind def
|
||||||
/TB { 2 copy } bind def
|
/TR { newpath moveto dup 3 1 roll 0 rlineto 0 exch rlineto neg 0 rlineto closepath fill } bind def
|
||||||
/TR { newpath 4 1 roll exch moveto 1 index 0 rlineto 0 exch rlineto neg 0 rlineto closepath fill } bind def
|
|
||||||
/TE { pop pop } bind def
|
|
||||||
newpath
|
newpath
|
||||||
1.00 1.00 1.00 setrgbcolor
|
1 1 1 setrgbcolor
|
||||||
1.60 0.00 TB 0.00 2.20 TR
|
1.6 2.2 0 0 TR
|
||||||
TE
|
0 0 0 setrgbcolor
|
||||||
0.00 0.00 0.00 setrgbcolor
|
0.1 1.5 0.08 TD
|
||||||
0.10 1.50 0.08 TD
|
0.9 1.5 0.08 TD
|
||||||
0.90 1.50 0.08 TD
|
1.3 1.5 0.08 TD
|
||||||
1.30 1.50 0.08 TD
|
1.7 1.5 0.08 TD
|
||||||
1.70 1.50 0.08 TD
|
2.1 1.5 0.08 TD
|
||||||
2.10 1.50 0.08 TD
|
0.7 1.3 0.08 TD
|
||||||
0.70 1.30 0.08 TD
|
1.1 1.3 0.08 TD
|
||||||
1.10 1.30 0.08 TD
|
1.5 1.3 0.08 TD
|
||||||
1.50 1.30 0.08 TD
|
0.1 1.1 0.08 TD
|
||||||
0.10 1.10 0.08 TD
|
0.5 1.1 0.08 TD
|
||||||
0.50 1.10 0.08 TD
|
1.3 1.1 0.08 TD
|
||||||
1.30 1.10 0.08 TD
|
1.7 1.1 0.08 TD
|
||||||
1.70 1.10 0.08 TD
|
2.1 1.1 0.08 TD
|
||||||
2.10 1.10 0.08 TD
|
0.3 0.9 0.08 TD
|
||||||
0.30 0.90 0.08 TD
|
0.1 0.7 0.08 TD
|
||||||
0.10 0.70 0.08 TD
|
2.1 0.7 0.08 TD
|
||||||
2.10 0.70 0.08 TD
|
0.3 0.5 0.08 TD
|
||||||
0.30 0.50 0.08 TD
|
0.7 0.5 0.08 TD
|
||||||
0.70 0.50 0.08 TD
|
1.1 0.5 0.08 TD
|
||||||
1.10 0.50 0.08 TD
|
1.5 0.5 0.08 TD
|
||||||
1.50 0.50 0.08 TD
|
0.1 0.3 0.08 TD
|
||||||
0.10 0.30 0.08 TD
|
0.5 0.3 0.08 TD
|
||||||
0.50 0.30 0.08 TD
|
1.7 0.3 0.08 TD
|
||||||
1.70 0.30 0.08 TD
|
2.1 0.3 0.08 TD
|
||||||
2.10 0.30 0.08 TD
|
0.3 0.1 0.08 TD
|
||||||
0.30 0.10 0.08 TD
|
0.7 0.1 0.08 TD
|
||||||
0.70 0.10 0.08 TD
|
1.5 0.1 0.08 TD
|
||||||
1.50 0.10 0.08 TD
|
1.9 0.1 0.08 TD
|
||||||
1.90 0.10 0.08 TD
|
|
||||||
|
@ -1,43 +1,40 @@
|
|||||||
%!PS-Adobe-3.0 EPSF-3.0
|
%!PS-Adobe-3.0 EPSF-3.0
|
||||||
%%Creator: Zint 2.10.0.9
|
%%Creator: Zint 2.12.0.9
|
||||||
%%Title: Zint Generated Symbol
|
%%Title: Zint Generated Symbol
|
||||||
%%Pages: 0
|
%%Pages: 0
|
||||||
%%BoundingBox: 0 0 22 16
|
%%BoundingBox: 0 0 22 16
|
||||||
%%EndComments
|
%%EndComments
|
||||||
/TD { newpath 0 360 arc fill } bind def
|
/TD { newpath 0 360 arc fill } bind def
|
||||||
/TB { 2 copy } bind def
|
/TR { newpath moveto dup 3 1 roll 0 rlineto 0 exch rlineto neg 0 rlineto closepath fill } bind def
|
||||||
/TR { newpath 4 1 roll exch moveto 1 index 0 rlineto 0 exch rlineto neg 0 rlineto closepath fill } bind def
|
|
||||||
/TE { pop pop } bind def
|
|
||||||
newpath
|
newpath
|
||||||
1.00 1.00 1.00 setrgbcolor
|
1 1 1 setrgbcolor
|
||||||
16.00 0.00 TB 0.00 22.00 TR
|
16 22 0 0 TR
|
||||||
TE
|
0 0 0 setrgbcolor
|
||||||
0.00 0.00 0.00 setrgbcolor
|
1 15 0.8 TD
|
||||||
1.00 15.00 0.80 TD
|
9 15 0.8 TD
|
||||||
9.00 15.00 0.80 TD
|
13 15 0.8 TD
|
||||||
13.00 15.00 0.80 TD
|
17 15 0.8 TD
|
||||||
17.00 15.00 0.80 TD
|
21 15 0.8 TD
|
||||||
21.00 15.00 0.80 TD
|
7 13 0.8 TD
|
||||||
7.00 13.00 0.80 TD
|
11 13 0.8 TD
|
||||||
11.00 13.00 0.80 TD
|
15 13 0.8 TD
|
||||||
15.00 13.00 0.80 TD
|
1 11 0.8 TD
|
||||||
1.00 11.00 0.80 TD
|
5 11 0.8 TD
|
||||||
5.00 11.00 0.80 TD
|
13 11 0.8 TD
|
||||||
13.00 11.00 0.80 TD
|
17 11 0.8 TD
|
||||||
17.00 11.00 0.80 TD
|
21 11 0.8 TD
|
||||||
21.00 11.00 0.80 TD
|
3 9 0.8 TD
|
||||||
3.00 9.00 0.80 TD
|
1 7 0.8 TD
|
||||||
1.00 7.00 0.80 TD
|
21 7 0.8 TD
|
||||||
21.00 7.00 0.80 TD
|
3 5 0.8 TD
|
||||||
3.00 5.00 0.80 TD
|
7 5 0.8 TD
|
||||||
7.00 5.00 0.80 TD
|
11 5 0.8 TD
|
||||||
11.00 5.00 0.80 TD
|
15 5 0.8 TD
|
||||||
15.00 5.00 0.80 TD
|
1 3 0.8 TD
|
||||||
1.00 3.00 0.80 TD
|
5 3 0.8 TD
|
||||||
5.00 3.00 0.80 TD
|
17 3 0.8 TD
|
||||||
17.00 3.00 0.80 TD
|
21 3 0.8 TD
|
||||||
21.00 3.00 0.80 TD
|
3 1 0.8 TD
|
||||||
3.00 1.00 0.80 TD
|
7 1 0.8 TD
|
||||||
7.00 1.00 0.80 TD
|
15 1 0.8 TD
|
||||||
15.00 1.00 0.80 TD
|
19 1 0.8 TD
|
||||||
19.00 1.00 0.80 TD
|
|
||||||
|
@ -1,43 +1,40 @@
|
|||||||
%!PS-Adobe-3.0 EPSF-3.0
|
%!PS-Adobe-3.0 EPSF-3.0
|
||||||
%%Creator: Zint 2.10.0.9
|
%%Creator: Zint 2.12.0.9
|
||||||
%%Title: Zint Generated Symbol
|
%%Title: Zint Generated Symbol
|
||||||
%%Pages: 0
|
%%Pages: 0
|
||||||
%%BoundingBox: 0 0 22 16
|
%%BoundingBox: 0 0 22 16
|
||||||
%%EndComments
|
%%EndComments
|
||||||
/TD { newpath 0 360 arc fill } bind def
|
/TD { newpath 0 360 arc fill } bind def
|
||||||
/TB { 2 copy } bind def
|
/TR { newpath moveto dup 3 1 roll 0 rlineto 0 exch rlineto neg 0 rlineto closepath fill } bind def
|
||||||
/TR { newpath 4 1 roll exch moveto 1 index 0 rlineto 0 exch rlineto neg 0 rlineto closepath fill } bind def
|
|
||||||
/TE { pop pop } bind def
|
|
||||||
newpath
|
newpath
|
||||||
1.00 1.00 1.00 setrgbcolor
|
1 1 1 setrgbcolor
|
||||||
16.00 0.00 TB 0.00 22.00 TR
|
16 22 0 0 TR
|
||||||
TE
|
0 0 0 setrgbcolor
|
||||||
0.00 0.00 0.00 setrgbcolor
|
1 15 0.1 TD
|
||||||
1.00 15.00 0.10 TD
|
9 15 0.1 TD
|
||||||
9.00 15.00 0.10 TD
|
13 15 0.1 TD
|
||||||
13.00 15.00 0.10 TD
|
17 15 0.1 TD
|
||||||
17.00 15.00 0.10 TD
|
21 15 0.1 TD
|
||||||
21.00 15.00 0.10 TD
|
7 13 0.1 TD
|
||||||
7.00 13.00 0.10 TD
|
11 13 0.1 TD
|
||||||
11.00 13.00 0.10 TD
|
15 13 0.1 TD
|
||||||
15.00 13.00 0.10 TD
|
1 11 0.1 TD
|
||||||
1.00 11.00 0.10 TD
|
5 11 0.1 TD
|
||||||
5.00 11.00 0.10 TD
|
13 11 0.1 TD
|
||||||
13.00 11.00 0.10 TD
|
17 11 0.1 TD
|
||||||
17.00 11.00 0.10 TD
|
21 11 0.1 TD
|
||||||
21.00 11.00 0.10 TD
|
3 9 0.1 TD
|
||||||
3.00 9.00 0.10 TD
|
1 7 0.1 TD
|
||||||
1.00 7.00 0.10 TD
|
21 7 0.1 TD
|
||||||
21.00 7.00 0.10 TD
|
3 5 0.1 TD
|
||||||
3.00 5.00 0.10 TD
|
7 5 0.1 TD
|
||||||
7.00 5.00 0.10 TD
|
11 5 0.1 TD
|
||||||
11.00 5.00 0.10 TD
|
15 5 0.1 TD
|
||||||
15.00 5.00 0.10 TD
|
1 3 0.1 TD
|
||||||
1.00 3.00 0.10 TD
|
5 3 0.1 TD
|
||||||
5.00 3.00 0.10 TD
|
17 3 0.1 TD
|
||||||
17.00 3.00 0.10 TD
|
21 3 0.1 TD
|
||||||
21.00 3.00 0.10 TD
|
3 1 0.1 TD
|
||||||
3.00 1.00 0.10 TD
|
7 1 0.1 TD
|
||||||
7.00 1.00 0.10 TD
|
15 1 0.1 TD
|
||||||
15.00 1.00 0.10 TD
|
19 1 0.1 TD
|
||||||
19.00 1.00 0.10 TD
|
|
||||||
|
@ -1,43 +1,40 @@
|
|||||||
%!PS-Adobe-3.0 EPSF-3.0
|
%!PS-Adobe-3.0 EPSF-3.0
|
||||||
%%Creator: Zint 2.10.0.9
|
%%Creator: Zint 2.12.0.9
|
||||||
%%Title: Zint Generated Symbol
|
%%Title: Zint Generated Symbol
|
||||||
%%Pages: 0
|
%%Pages: 0
|
||||||
%%BoundingBox: 0 0 23 17
|
%%BoundingBox: 0 0 23 17
|
||||||
%%EndComments
|
%%EndComments
|
||||||
/TD { newpath 0 360 arc fill } bind def
|
/TD { newpath 0 360 arc fill } bind def
|
||||||
/TB { 2 copy } bind def
|
/TR { newpath moveto dup 3 1 roll 0 rlineto 0 exch rlineto neg 0 rlineto closepath fill } bind def
|
||||||
/TR { newpath 4 1 roll exch moveto 1 index 0 rlineto 0 exch rlineto neg 0 rlineto closepath fill } bind def
|
|
||||||
/TE { pop pop } bind def
|
|
||||||
newpath
|
newpath
|
||||||
1.00 1.00 1.00 setrgbcolor
|
1 1 1 setrgbcolor
|
||||||
16.40 0.00 TB 0.00 22.40 TR
|
16.4 22.4 0 0 TR
|
||||||
TE
|
0 0 0 setrgbcolor
|
||||||
0.00 0.00 0.00 setrgbcolor
|
1.2 15.2 1.1 TD
|
||||||
1.20 15.20 1.10 TD
|
9.2 15.2 1.1 TD
|
||||||
9.20 15.20 1.10 TD
|
13.2 15.2 1.1 TD
|
||||||
13.20 15.20 1.10 TD
|
17.2 15.2 1.1 TD
|
||||||
17.20 15.20 1.10 TD
|
21.2 15.2 1.1 TD
|
||||||
21.20 15.20 1.10 TD
|
7.2 13.2 1.1 TD
|
||||||
7.20 13.20 1.10 TD
|
11.2 13.2 1.1 TD
|
||||||
11.20 13.20 1.10 TD
|
15.2 13.2 1.1 TD
|
||||||
15.20 13.20 1.10 TD
|
1.2 11.2 1.1 TD
|
||||||
1.20 11.20 1.10 TD
|
5.2 11.2 1.1 TD
|
||||||
5.20 11.20 1.10 TD
|
13.2 11.2 1.1 TD
|
||||||
13.20 11.20 1.10 TD
|
17.2 11.2 1.1 TD
|
||||||
17.20 11.20 1.10 TD
|
21.2 11.2 1.1 TD
|
||||||
21.20 11.20 1.10 TD
|
3.2 9.2 1.1 TD
|
||||||
3.20 9.20 1.10 TD
|
1.2 7.2 1.1 TD
|
||||||
1.20 7.20 1.10 TD
|
21.2 7.2 1.1 TD
|
||||||
21.20 7.20 1.10 TD
|
3.2 5.2 1.1 TD
|
||||||
3.20 5.20 1.10 TD
|
7.2 5.2 1.1 TD
|
||||||
7.20 5.20 1.10 TD
|
11.2 5.2 1.1 TD
|
||||||
11.20 5.20 1.10 TD
|
15.2 5.2 1.1 TD
|
||||||
15.20 5.20 1.10 TD
|
1.2 3.2 1.1 TD
|
||||||
1.20 3.20 1.10 TD
|
5.2 3.2 1.1 TD
|
||||||
5.20 3.20 1.10 TD
|
17.2 3.2 1.1 TD
|
||||||
17.20 3.20 1.10 TD
|
21.2 3.2 1.1 TD
|
||||||
21.20 3.20 1.10 TD
|
3.2 1.2 1.1 TD
|
||||||
3.20 1.20 1.10 TD
|
7.2 1.2 1.1 TD
|
||||||
7.20 1.20 1.10 TD
|
15.2 1.2 1.1 TD
|
||||||
15.20 1.20 1.10 TD
|
19.2 1.2 1.1 TD
|
||||||
19.20 1.20 1.10 TD
|
|
||||||
|
@ -1,43 +1,40 @@
|
|||||||
%!PS-Adobe-3.0 EPSF-3.0
|
%!PS-Adobe-3.0 EPSF-3.0
|
||||||
%%Creator: Zint 2.10.0.9
|
%%Creator: Zint 2.12.0.9
|
||||||
%%Title: Zint Generated Symbol
|
%%Title: Zint Generated Symbol
|
||||||
%%Pages: 0
|
%%Pages: 0
|
||||||
%%BoundingBox: 0 0 33 24
|
%%BoundingBox: 0 0 33 24
|
||||||
%%EndComments
|
%%EndComments
|
||||||
/TD { newpath 0 360 arc fill } bind def
|
/TD { newpath 0 360 arc fill } bind def
|
||||||
/TB { 2 copy } bind def
|
/TR { newpath moveto dup 3 1 roll 0 rlineto 0 exch rlineto neg 0 rlineto closepath fill } bind def
|
||||||
/TR { newpath 4 1 roll exch moveto 1 index 0 rlineto 0 exch rlineto neg 0 rlineto closepath fill } bind def
|
|
||||||
/TE { pop pop } bind def
|
|
||||||
newpath
|
newpath
|
||||||
1.00 1.00 1.00 setrgbcolor
|
1 1 1 setrgbcolor
|
||||||
24.00 0.00 TB 0.00 33.00 TR
|
24 33 0 0 TR
|
||||||
TE
|
0 0 0 setrgbcolor
|
||||||
0.00 0.00 0.00 setrgbcolor
|
1.5 22.5 1.2 TD
|
||||||
1.50 22.50 1.20 TD
|
13.5 22.5 1.2 TD
|
||||||
13.50 22.50 1.20 TD
|
19.5 22.5 1.2 TD
|
||||||
19.50 22.50 1.20 TD
|
25.5 22.5 1.2 TD
|
||||||
25.50 22.50 1.20 TD
|
31.5 22.5 1.2 TD
|
||||||
31.50 22.50 1.20 TD
|
10.5 19.5 1.2 TD
|
||||||
10.50 19.50 1.20 TD
|
16.5 19.5 1.2 TD
|
||||||
16.50 19.50 1.20 TD
|
22.5 19.5 1.2 TD
|
||||||
22.50 19.50 1.20 TD
|
1.5 16.5 1.2 TD
|
||||||
1.50 16.50 1.20 TD
|
7.5 16.5 1.2 TD
|
||||||
7.50 16.50 1.20 TD
|
19.5 16.5 1.2 TD
|
||||||
19.50 16.50 1.20 TD
|
25.5 16.5 1.2 TD
|
||||||
25.50 16.50 1.20 TD
|
31.5 16.5 1.2 TD
|
||||||
31.50 16.50 1.20 TD
|
4.5 13.5 1.2 TD
|
||||||
4.50 13.50 1.20 TD
|
1.5 10.5 1.2 TD
|
||||||
1.50 10.50 1.20 TD
|
31.5 10.5 1.2 TD
|
||||||
31.50 10.50 1.20 TD
|
4.5 7.5 1.2 TD
|
||||||
4.50 7.50 1.20 TD
|
10.5 7.5 1.2 TD
|
||||||
10.50 7.50 1.20 TD
|
16.5 7.5 1.2 TD
|
||||||
16.50 7.50 1.20 TD
|
22.5 7.5 1.2 TD
|
||||||
22.50 7.50 1.20 TD
|
1.5 4.5 1.2 TD
|
||||||
1.50 4.50 1.20 TD
|
7.5 4.5 1.2 TD
|
||||||
7.50 4.50 1.20 TD
|
25.5 4.5 1.2 TD
|
||||||
25.50 4.50 1.20 TD
|
31.5 4.5 1.2 TD
|
||||||
31.50 4.50 1.20 TD
|
4.5 1.5 1.2 TD
|
||||||
4.50 1.50 1.20 TD
|
10.5 1.5 1.2 TD
|
||||||
10.50 1.50 1.20 TD
|
22.5 1.5 1.2 TD
|
||||||
22.50 1.50 1.20 TD
|
28.5 1.5 1.2 TD
|
||||||
28.50 1.50 1.20 TD
|
|
||||||
|
@ -1,43 +1,40 @@
|
|||||||
%!PS-Adobe-3.0 EPSF-3.0
|
%!PS-Adobe-3.0 EPSF-3.0
|
||||||
%%Creator: Zint 2.10.0.9
|
%%Creator: Zint 2.12.0.9
|
||||||
%%Title: Zint Generated Symbol
|
%%Title: Zint Generated Symbol
|
||||||
%%Pages: 0
|
%%Pages: 0
|
||||||
%%BoundingBox: 0 0 33 24
|
%%BoundingBox: 0 0 33 24
|
||||||
%%EndComments
|
%%EndComments
|
||||||
/TD { newpath 0 360 arc fill } bind def
|
/TD { newpath 0 360 arc fill } bind def
|
||||||
/TB { 2 copy } bind def
|
/TR { newpath moveto dup 3 1 roll 0 rlineto 0 exch rlineto neg 0 rlineto closepath fill } bind def
|
||||||
/TR { newpath 4 1 roll exch moveto 1 index 0 rlineto 0 exch rlineto neg 0 rlineto closepath fill } bind def
|
|
||||||
/TE { pop pop } bind def
|
|
||||||
newpath
|
newpath
|
||||||
1.00 1.00 1.00 setrgbcolor
|
1 1 1 setrgbcolor
|
||||||
24.00 0.00 TB 0.00 33.00 TR
|
24 33 0 0 TR
|
||||||
TE
|
0 0 0 setrgbcolor
|
||||||
0.00 0.00 0.00 setrgbcolor
|
1.5 22.5 0.6 TD
|
||||||
1.50 22.50 0.60 TD
|
13.5 22.5 0.6 TD
|
||||||
13.50 22.50 0.60 TD
|
19.5 22.5 0.6 TD
|
||||||
19.50 22.50 0.60 TD
|
25.5 22.5 0.6 TD
|
||||||
25.50 22.50 0.60 TD
|
31.5 22.5 0.6 TD
|
||||||
31.50 22.50 0.60 TD
|
10.5 19.5 0.6 TD
|
||||||
10.50 19.50 0.60 TD
|
16.5 19.5 0.6 TD
|
||||||
16.50 19.50 0.60 TD
|
22.5 19.5 0.6 TD
|
||||||
22.50 19.50 0.60 TD
|
1.5 16.5 0.6 TD
|
||||||
1.50 16.50 0.60 TD
|
7.5 16.5 0.6 TD
|
||||||
7.50 16.50 0.60 TD
|
19.5 16.5 0.6 TD
|
||||||
19.50 16.50 0.60 TD
|
25.5 16.5 0.6 TD
|
||||||
25.50 16.50 0.60 TD
|
31.5 16.5 0.6 TD
|
||||||
31.50 16.50 0.60 TD
|
4.5 13.5 0.6 TD
|
||||||
4.50 13.50 0.60 TD
|
1.5 10.5 0.6 TD
|
||||||
1.50 10.50 0.60 TD
|
31.5 10.5 0.6 TD
|
||||||
31.50 10.50 0.60 TD
|
4.5 7.5 0.6 TD
|
||||||
4.50 7.50 0.60 TD
|
10.5 7.5 0.6 TD
|
||||||
10.50 7.50 0.60 TD
|
16.5 7.5 0.6 TD
|
||||||
16.50 7.50 0.60 TD
|
22.5 7.5 0.6 TD
|
||||||
22.50 7.50 0.60 TD
|
1.5 4.5 0.6 TD
|
||||||
1.50 4.50 0.60 TD
|
7.5 4.5 0.6 TD
|
||||||
7.50 4.50 0.60 TD
|
25.5 4.5 0.6 TD
|
||||||
25.50 4.50 0.60 TD
|
31.5 4.5 0.6 TD
|
||||||
31.50 4.50 0.60 TD
|
4.5 1.5 0.6 TD
|
||||||
4.50 1.50 0.60 TD
|
10.5 1.5 0.6 TD
|
||||||
10.50 1.50 0.60 TD
|
22.5 1.5 0.6 TD
|
||||||
22.50 1.50 0.60 TD
|
28.5 1.5 0.6 TD
|
||||||
28.50 1.50 0.60 TD
|
|
||||||
|
@ -1,43 +1,40 @@
|
|||||||
%!PS-Adobe-3.0 EPSF-3.0
|
%!PS-Adobe-3.0 EPSF-3.0
|
||||||
%%Creator: Zint 2.10.0.9
|
%%Creator: Zint 2.12.0.9
|
||||||
%%Title: Zint Generated Symbol
|
%%Title: Zint Generated Symbol
|
||||||
%%Pages: 0
|
%%Pages: 0
|
||||||
%%BoundingBox: 0 0 34 25
|
%%BoundingBox: 0 0 34 25
|
||||||
%%EndComments
|
%%EndComments
|
||||||
/TD { newpath 0 360 arc fill } bind def
|
/TD { newpath 0 360 arc fill } bind def
|
||||||
/TB { 2 copy } bind def
|
/TR { newpath moveto dup 3 1 roll 0 rlineto 0 exch rlineto neg 0 rlineto closepath fill } bind def
|
||||||
/TR { newpath 4 1 roll exch moveto 1 index 0 rlineto 0 exch rlineto neg 0 rlineto closepath fill } bind def
|
|
||||||
/TE { pop pop } bind def
|
|
||||||
newpath
|
newpath
|
||||||
1.00 1.00 1.00 setrgbcolor
|
1 1 1 setrgbcolor
|
||||||
24.60 0.00 TB 0.00 33.60 TR
|
24.6 33.6 0 0 TR
|
||||||
TE
|
0 0 0 setrgbcolor
|
||||||
0.00 0.00 0.00 setrgbcolor
|
1.8 22.8 1.65 TD
|
||||||
1.80 22.80 1.65 TD
|
13.8 22.8 1.65 TD
|
||||||
13.80 22.80 1.65 TD
|
19.8 22.8 1.65 TD
|
||||||
19.80 22.80 1.65 TD
|
25.8 22.8 1.65 TD
|
||||||
25.80 22.80 1.65 TD
|
31.8 22.8 1.65 TD
|
||||||
31.80 22.80 1.65 TD
|
10.8 19.8 1.65 TD
|
||||||
10.80 19.80 1.65 TD
|
16.8 19.8 1.65 TD
|
||||||
16.80 19.80 1.65 TD
|
22.8 19.8 1.65 TD
|
||||||
22.80 19.80 1.65 TD
|
1.8 16.8 1.65 TD
|
||||||
1.80 16.80 1.65 TD
|
7.8 16.8 1.65 TD
|
||||||
7.80 16.80 1.65 TD
|
19.8 16.8 1.65 TD
|
||||||
19.80 16.80 1.65 TD
|
25.8 16.8 1.65 TD
|
||||||
25.80 16.80 1.65 TD
|
31.8 16.8 1.65 TD
|
||||||
31.80 16.80 1.65 TD
|
4.8 13.8 1.65 TD
|
||||||
4.80 13.80 1.65 TD
|
1.8 10.8 1.65 TD
|
||||||
1.80 10.80 1.65 TD
|
31.8 10.8 1.65 TD
|
||||||
31.80 10.80 1.65 TD
|
4.8 7.8 1.65 TD
|
||||||
4.80 7.80 1.65 TD
|
10.8 7.8 1.65 TD
|
||||||
10.80 7.80 1.65 TD
|
16.8 7.8 1.65 TD
|
||||||
16.80 7.80 1.65 TD
|
22.8 7.8 1.65 TD
|
||||||
22.80 7.80 1.65 TD
|
1.8 4.8 1.65 TD
|
||||||
1.80 4.80 1.65 TD
|
7.8 4.8 1.65 TD
|
||||||
7.80 4.80 1.65 TD
|
25.8 4.8 1.65 TD
|
||||||
25.80 4.80 1.65 TD
|
31.8 4.8 1.65 TD
|
||||||
31.80 4.80 1.65 TD
|
4.8 1.8 1.65 TD
|
||||||
4.80 1.80 1.65 TD
|
10.8 1.8 1.65 TD
|
||||||
10.80 1.80 1.65 TD
|
22.8 1.8 1.65 TD
|
||||||
22.80 1.80 1.65 TD
|
28.8 1.8 1.65 TD
|
||||||
28.80 1.80 1.65 TD
|
|
||||||
|
@ -1,43 +1,40 @@
|
|||||||
%!PS-Adobe-3.0 EPSF-3.0
|
%!PS-Adobe-3.0 EPSF-3.0
|
||||||
%%Creator: Zint 2.10.0.9
|
%%Creator: Zint 2.12.0.9
|
||||||
%%Title: Zint Generated Symbol
|
%%Title: Zint Generated Symbol
|
||||||
%%Pages: 0
|
%%Pages: 0
|
||||||
%%BoundingBox: 0 0 37 28
|
%%BoundingBox: 0 0 37 28
|
||||||
%%EndComments
|
%%EndComments
|
||||||
/TD { newpath 0 360 arc fill } bind def
|
/TD { newpath 0 360 arc fill } bind def
|
||||||
/TB { 2 copy } bind def
|
/TR { newpath moveto dup 3 1 roll 0 rlineto 0 exch rlineto neg 0 rlineto closepath fill } bind def
|
||||||
/TR { newpath 4 1 roll exch moveto 1 index 0 rlineto 0 exch rlineto neg 0 rlineto closepath fill } bind def
|
|
||||||
/TE { pop pop } bind def
|
|
||||||
newpath
|
newpath
|
||||||
1.00 1.00 1.00 setrgbcolor
|
1 1 1 setrgbcolor
|
||||||
27.60 0.00 TB 0.00 36.60 TR
|
27.6 36.6 0 0 TR
|
||||||
TE
|
0 0 0 setrgbcolor
|
||||||
0.00 0.00 0.00 setrgbcolor
|
3.3 24.3 3.15 TD
|
||||||
3.30 24.30 3.15 TD
|
15.3 24.3 3.15 TD
|
||||||
15.30 24.30 3.15 TD
|
21.3 24.3 3.15 TD
|
||||||
21.30 24.30 3.15 TD
|
27.3 24.3 3.15 TD
|
||||||
27.30 24.30 3.15 TD
|
33.3 24.3 3.15 TD
|
||||||
33.30 24.30 3.15 TD
|
12.3 21.3 3.15 TD
|
||||||
12.30 21.30 3.15 TD
|
18.3 21.3 3.15 TD
|
||||||
18.30 21.30 3.15 TD
|
24.3 21.3 3.15 TD
|
||||||
24.30 21.30 3.15 TD
|
3.3 18.3 3.15 TD
|
||||||
3.30 18.30 3.15 TD
|
9.3 18.3 3.15 TD
|
||||||
9.30 18.30 3.15 TD
|
21.3 18.3 3.15 TD
|
||||||
21.30 18.30 3.15 TD
|
27.3 18.3 3.15 TD
|
||||||
27.30 18.30 3.15 TD
|
33.3 18.3 3.15 TD
|
||||||
33.30 18.30 3.15 TD
|
6.3 15.3 3.15 TD
|
||||||
6.30 15.30 3.15 TD
|
3.3 12.3 3.15 TD
|
||||||
3.30 12.30 3.15 TD
|
33.3 12.3 3.15 TD
|
||||||
33.30 12.30 3.15 TD
|
6.3 9.3 3.15 TD
|
||||||
6.30 9.30 3.15 TD
|
12.3 9.3 3.15 TD
|
||||||
12.30 9.30 3.15 TD
|
18.3 9.3 3.15 TD
|
||||||
18.30 9.30 3.15 TD
|
24.3 9.3 3.15 TD
|
||||||
24.30 9.30 3.15 TD
|
3.3 6.3 3.15 TD
|
||||||
3.30 6.30 3.15 TD
|
9.3 6.3 3.15 TD
|
||||||
9.30 6.30 3.15 TD
|
27.3 6.3 3.15 TD
|
||||||
27.30 6.30 3.15 TD
|
33.3 6.3 3.15 TD
|
||||||
33.30 6.30 3.15 TD
|
6.3 3.3 3.15 TD
|
||||||
6.30 3.30 3.15 TD
|
12.3 3.3 3.15 TD
|
||||||
12.30 3.30 3.15 TD
|
24.3 3.3 3.15 TD
|
||||||
24.30 3.30 3.15 TD
|
30.3 3.3 3.15 TD
|
||||||
30.30 3.30 3.15 TD
|
|
||||||
|
@ -1,43 +1,40 @@
|
|||||||
%!PS-Adobe-3.0 EPSF-3.0
|
%!PS-Adobe-3.0 EPSF-3.0
|
||||||
%%Creator: Zint 2.10.0.9
|
%%Creator: Zint 2.12.0.9
|
||||||
%%Title: Zint Generated Symbol
|
%%Title: Zint Generated Symbol
|
||||||
%%Pages: 0
|
%%Pages: 0
|
||||||
%%BoundingBox: 0 0 44 32
|
%%BoundingBox: 0 0 44 32
|
||||||
%%EndComments
|
%%EndComments
|
||||||
/TD { newpath 0 360 arc fill } bind def
|
/TD { newpath 0 360 arc fill } bind def
|
||||||
/TB { 2 copy } bind def
|
/TR { newpath moveto dup 3 1 roll 0 rlineto 0 exch rlineto neg 0 rlineto closepath fill } bind def
|
||||||
/TR { newpath 4 1 roll exch moveto 1 index 0 rlineto 0 exch rlineto neg 0 rlineto closepath fill } bind def
|
|
||||||
/TE { pop pop } bind def
|
|
||||||
newpath
|
newpath
|
||||||
1.00 1.00 1.00 setrgbcolor
|
1 1 1 setrgbcolor
|
||||||
32.00 0.00 TB 0.00 44.00 TR
|
32 44 0 0 TR
|
||||||
TE
|
0 0 0 setrgbcolor
|
||||||
0.00 0.00 0.00 setrgbcolor
|
2 30 1.6 TD
|
||||||
2.00 30.00 1.60 TD
|
18 30 1.6 TD
|
||||||
18.00 30.00 1.60 TD
|
26 30 1.6 TD
|
||||||
26.00 30.00 1.60 TD
|
34 30 1.6 TD
|
||||||
34.00 30.00 1.60 TD
|
42 30 1.6 TD
|
||||||
42.00 30.00 1.60 TD
|
14 26 1.6 TD
|
||||||
14.00 26.00 1.60 TD
|
22 26 1.6 TD
|
||||||
22.00 26.00 1.60 TD
|
30 26 1.6 TD
|
||||||
30.00 26.00 1.60 TD
|
2 22 1.6 TD
|
||||||
2.00 22.00 1.60 TD
|
10 22 1.6 TD
|
||||||
10.00 22.00 1.60 TD
|
26 22 1.6 TD
|
||||||
26.00 22.00 1.60 TD
|
34 22 1.6 TD
|
||||||
34.00 22.00 1.60 TD
|
42 22 1.6 TD
|
||||||
42.00 22.00 1.60 TD
|
6 18 1.6 TD
|
||||||
6.00 18.00 1.60 TD
|
2 14 1.6 TD
|
||||||
2.00 14.00 1.60 TD
|
42 14 1.6 TD
|
||||||
42.00 14.00 1.60 TD
|
6 10 1.6 TD
|
||||||
6.00 10.00 1.60 TD
|
14 10 1.6 TD
|
||||||
14.00 10.00 1.60 TD
|
22 10 1.6 TD
|
||||||
22.00 10.00 1.60 TD
|
30 10 1.6 TD
|
||||||
30.00 10.00 1.60 TD
|
2 6 1.6 TD
|
||||||
2.00 6.00 1.60 TD
|
10 6 1.6 TD
|
||||||
10.00 6.00 1.60 TD
|
34 6 1.6 TD
|
||||||
34.00 6.00 1.60 TD
|
42 6 1.6 TD
|
||||||
42.00 6.00 1.60 TD
|
6 2 1.6 TD
|
||||||
6.00 2.00 1.60 TD
|
14 2 1.6 TD
|
||||||
14.00 2.00 1.60 TD
|
30 2 1.6 TD
|
||||||
30.00 2.00 1.60 TD
|
38 2 1.6 TD
|
||||||
38.00 2.00 1.60 TD
|
|
||||||
|
@ -1,43 +1,40 @@
|
|||||||
%!PS-Adobe-3.0 EPSF-3.0
|
%!PS-Adobe-3.0 EPSF-3.0
|
||||||
%%Creator: Zint 2.10.0.9
|
%%Creator: Zint 2.12.0.9
|
||||||
%%Title: Zint Generated Symbol
|
%%Title: Zint Generated Symbol
|
||||||
%%Pages: 0
|
%%Pages: 0
|
||||||
%%BoundingBox: 0 0 44 32
|
%%BoundingBox: 0 0 44 32
|
||||||
%%EndComments
|
%%EndComments
|
||||||
/TD { newpath 0 360 arc fill } bind def
|
/TD { newpath 0 360 arc fill } bind def
|
||||||
/TB { 2 copy } bind def
|
/TR { newpath moveto dup 3 1 roll 0 rlineto 0 exch rlineto neg 0 rlineto closepath fill } bind def
|
||||||
/TR { newpath 4 1 roll exch moveto 1 index 0 rlineto 0 exch rlineto neg 0 rlineto closepath fill } bind def
|
|
||||||
/TE { pop pop } bind def
|
|
||||||
newpath
|
newpath
|
||||||
1.00 1.00 1.00 setrgbcolor
|
1 1 1 setrgbcolor
|
||||||
32.00 0.00 TB 0.00 44.00 TR
|
32 44 0 0 TR
|
||||||
TE
|
0 0 0 setrgbcolor
|
||||||
0.00 0.00 0.00 setrgbcolor
|
2 30 1.8 TD
|
||||||
2.00 30.00 1.80 TD
|
18 30 1.8 TD
|
||||||
18.00 30.00 1.80 TD
|
26 30 1.8 TD
|
||||||
26.00 30.00 1.80 TD
|
34 30 1.8 TD
|
||||||
34.00 30.00 1.80 TD
|
42 30 1.8 TD
|
||||||
42.00 30.00 1.80 TD
|
14 26 1.8 TD
|
||||||
14.00 26.00 1.80 TD
|
22 26 1.8 TD
|
||||||
22.00 26.00 1.80 TD
|
30 26 1.8 TD
|
||||||
30.00 26.00 1.80 TD
|
2 22 1.8 TD
|
||||||
2.00 22.00 1.80 TD
|
10 22 1.8 TD
|
||||||
10.00 22.00 1.80 TD
|
26 22 1.8 TD
|
||||||
26.00 22.00 1.80 TD
|
34 22 1.8 TD
|
||||||
34.00 22.00 1.80 TD
|
42 22 1.8 TD
|
||||||
42.00 22.00 1.80 TD
|
6 18 1.8 TD
|
||||||
6.00 18.00 1.80 TD
|
2 14 1.8 TD
|
||||||
2.00 14.00 1.80 TD
|
42 14 1.8 TD
|
||||||
42.00 14.00 1.80 TD
|
6 10 1.8 TD
|
||||||
6.00 10.00 1.80 TD
|
14 10 1.8 TD
|
||||||
14.00 10.00 1.80 TD
|
22 10 1.8 TD
|
||||||
22.00 10.00 1.80 TD
|
30 10 1.8 TD
|
||||||
30.00 10.00 1.80 TD
|
2 6 1.8 TD
|
||||||
2.00 6.00 1.80 TD
|
10 6 1.8 TD
|
||||||
10.00 6.00 1.80 TD
|
34 6 1.8 TD
|
||||||
34.00 6.00 1.80 TD
|
42 6 1.8 TD
|
||||||
42.00 6.00 1.80 TD
|
6 2 1.8 TD
|
||||||
6.00 2.00 1.80 TD
|
14 2 1.8 TD
|
||||||
14.00 2.00 1.80 TD
|
30 2 1.8 TD
|
||||||
30.00 2.00 1.80 TD
|
38 2 1.8 TD
|
||||||
38.00 2.00 1.80 TD
|
|
||||||
|
@ -1,43 +1,40 @@
|
|||||||
%!PS-Adobe-3.0 EPSF-3.0
|
%!PS-Adobe-3.0 EPSF-3.0
|
||||||
%%Creator: Zint 2.10.0.9
|
%%Creator: Zint 2.12.0.9
|
||||||
%%Title: Zint Generated Symbol
|
%%Title: Zint Generated Symbol
|
||||||
%%Pages: 0
|
%%Pages: 0
|
||||||
%%BoundingBox: 0 0 45 33
|
%%BoundingBox: 0 0 45 33
|
||||||
%%EndComments
|
%%EndComments
|
||||||
/TD { newpath 0 360 arc fill } bind def
|
/TD { newpath 0 360 arc fill } bind def
|
||||||
/TB { 2 copy } bind def
|
/TR { newpath moveto dup 3 1 roll 0 rlineto 0 exch rlineto neg 0 rlineto closepath fill } bind def
|
||||||
/TR { newpath 4 1 roll exch moveto 1 index 0 rlineto 0 exch rlineto neg 0 rlineto closepath fill } bind def
|
|
||||||
/TE { pop pop } bind def
|
|
||||||
newpath
|
newpath
|
||||||
1.00 1.00 1.00 setrgbcolor
|
1 1 1 setrgbcolor
|
||||||
32.80 0.00 TB 0.00 44.80 TR
|
32.8 44.8 0 0 TR
|
||||||
TE
|
0 0 0 setrgbcolor
|
||||||
0.00 0.00 0.00 setrgbcolor
|
2.4 30.4 2.2 TD
|
||||||
2.40 30.40 2.20 TD
|
18.4 30.4 2.2 TD
|
||||||
18.40 30.40 2.20 TD
|
26.4 30.4 2.2 TD
|
||||||
26.40 30.40 2.20 TD
|
34.4 30.4 2.2 TD
|
||||||
34.40 30.40 2.20 TD
|
42.4 30.4 2.2 TD
|
||||||
42.40 30.40 2.20 TD
|
14.4 26.4 2.2 TD
|
||||||
14.40 26.40 2.20 TD
|
22.4 26.4 2.2 TD
|
||||||
22.40 26.40 2.20 TD
|
30.4 26.4 2.2 TD
|
||||||
30.40 26.40 2.20 TD
|
2.4 22.4 2.2 TD
|
||||||
2.40 22.40 2.20 TD
|
10.4 22.4 2.2 TD
|
||||||
10.40 22.40 2.20 TD
|
26.4 22.4 2.2 TD
|
||||||
26.40 22.40 2.20 TD
|
34.4 22.4 2.2 TD
|
||||||
34.40 22.40 2.20 TD
|
42.4 22.4 2.2 TD
|
||||||
42.40 22.40 2.20 TD
|
6.4 18.4 2.2 TD
|
||||||
6.40 18.40 2.20 TD
|
2.4 14.4 2.2 TD
|
||||||
2.40 14.40 2.20 TD
|
42.4 14.4 2.2 TD
|
||||||
42.40 14.40 2.20 TD
|
6.4 10.4 2.2 TD
|
||||||
6.40 10.40 2.20 TD
|
14.4 10.4 2.2 TD
|
||||||
14.40 10.40 2.20 TD
|
22.4 10.4 2.2 TD
|
||||||
22.40 10.40 2.20 TD
|
30.4 10.4 2.2 TD
|
||||||
30.40 10.40 2.20 TD
|
2.4 6.4 2.2 TD
|
||||||
2.40 6.40 2.20 TD
|
10.4 6.4 2.2 TD
|
||||||
10.40 6.40 2.20 TD
|
34.4 6.4 2.2 TD
|
||||||
34.40 6.40 2.20 TD
|
42.4 6.4 2.2 TD
|
||||||
42.40 6.40 2.20 TD
|
6.4 2.4 2.2 TD
|
||||||
6.40 2.40 2.20 TD
|
14.4 2.4 2.2 TD
|
||||||
14.40 2.40 2.20 TD
|
30.4 2.4 2.2 TD
|
||||||
30.40 2.40 2.20 TD
|
38.4 2.4 2.2 TD
|
||||||
38.40 2.40 2.20 TD
|
|
||||||
|
@ -1,43 +1,40 @@
|
|||||||
%!PS-Adobe-3.0 EPSF-3.0
|
%!PS-Adobe-3.0 EPSF-3.0
|
||||||
%%Creator: Zint 2.10.0.9
|
%%Creator: Zint 2.12.0.9
|
||||||
%%Title: Zint Generated Symbol
|
%%Title: Zint Generated Symbol
|
||||||
%%Pages: 0
|
%%Pages: 0
|
||||||
%%BoundingBox: 0 0 66 48
|
%%BoundingBox: 0 0 66 48
|
||||||
%%EndComments
|
%%EndComments
|
||||||
/TD { newpath 0 360 arc fill } bind def
|
/TD { newpath 0 360 arc fill } bind def
|
||||||
/TB { 2 copy } bind def
|
/TR { newpath moveto dup 3 1 roll 0 rlineto 0 exch rlineto neg 0 rlineto closepath fill } bind def
|
||||||
/TR { newpath 4 1 roll exch moveto 1 index 0 rlineto 0 exch rlineto neg 0 rlineto closepath fill } bind def
|
|
||||||
/TE { pop pop } bind def
|
|
||||||
newpath
|
newpath
|
||||||
1.00 1.00 1.00 setrgbcolor
|
1 1 1 setrgbcolor
|
||||||
48.00 0.00 TB 0.00 66.00 TR
|
48 66 0 0 TR
|
||||||
TE
|
0 0 0 setrgbcolor
|
||||||
0.00 0.00 0.00 setrgbcolor
|
3 45 2.4 TD
|
||||||
3.00 45.00 2.40 TD
|
27 45 2.4 TD
|
||||||
27.00 45.00 2.40 TD
|
39 45 2.4 TD
|
||||||
39.00 45.00 2.40 TD
|
51 45 2.4 TD
|
||||||
51.00 45.00 2.40 TD
|
63 45 2.4 TD
|
||||||
63.00 45.00 2.40 TD
|
21 39 2.4 TD
|
||||||
21.00 39.00 2.40 TD
|
33 39 2.4 TD
|
||||||
33.00 39.00 2.40 TD
|
45 39 2.4 TD
|
||||||
45.00 39.00 2.40 TD
|
3 33 2.4 TD
|
||||||
3.00 33.00 2.40 TD
|
15 33 2.4 TD
|
||||||
15.00 33.00 2.40 TD
|
39 33 2.4 TD
|
||||||
39.00 33.00 2.40 TD
|
51 33 2.4 TD
|
||||||
51.00 33.00 2.40 TD
|
63 33 2.4 TD
|
||||||
63.00 33.00 2.40 TD
|
9 27 2.4 TD
|
||||||
9.00 27.00 2.40 TD
|
3 21 2.4 TD
|
||||||
3.00 21.00 2.40 TD
|
63 21 2.4 TD
|
||||||
63.00 21.00 2.40 TD
|
9 15 2.4 TD
|
||||||
9.00 15.00 2.40 TD
|
21 15 2.4 TD
|
||||||
21.00 15.00 2.40 TD
|
33 15 2.4 TD
|
||||||
33.00 15.00 2.40 TD
|
45 15 2.4 TD
|
||||||
45.00 15.00 2.40 TD
|
3 9 2.4 TD
|
||||||
3.00 9.00 2.40 TD
|
15 9 2.4 TD
|
||||||
15.00 9.00 2.40 TD
|
51 9 2.4 TD
|
||||||
51.00 9.00 2.40 TD
|
63 9 2.4 TD
|
||||||
63.00 9.00 2.40 TD
|
9 3 2.4 TD
|
||||||
9.00 3.00 2.40 TD
|
21 3 2.4 TD
|
||||||
21.00 3.00 2.40 TD
|
45 3 2.4 TD
|
||||||
45.00 3.00 2.40 TD
|
57 3 2.4 TD
|
||||||
57.00 3.00 2.40 TD
|
|
||||||
|
@ -1,43 +1,40 @@
|
|||||||
%!PS-Adobe-3.0 EPSF-3.0
|
%!PS-Adobe-3.0 EPSF-3.0
|
||||||
%%Creator: Zint 2.10.0.9
|
%%Creator: Zint 2.12.0.9
|
||||||
%%Title: Zint Generated Symbol
|
%%Title: Zint Generated Symbol
|
||||||
%%Pages: 0
|
%%Pages: 0
|
||||||
%%BoundingBox: 0 0 66 48
|
%%BoundingBox: 0 0 66 48
|
||||||
%%EndComments
|
%%EndComments
|
||||||
/TD { newpath 0 360 arc fill } bind def
|
/TD { newpath 0 360 arc fill } bind def
|
||||||
/TB { 2 copy } bind def
|
/TR { newpath moveto dup 3 1 roll 0 rlineto 0 exch rlineto neg 0 rlineto closepath fill } bind def
|
||||||
/TR { newpath 4 1 roll exch moveto 1 index 0 rlineto 0 exch rlineto neg 0 rlineto closepath fill } bind def
|
|
||||||
/TE { pop pop } bind def
|
|
||||||
newpath
|
newpath
|
||||||
1.00 1.00 1.00 setrgbcolor
|
1 1 1 setrgbcolor
|
||||||
48.00 0.00 TB 0.00 66.00 TR
|
48 66 0 0 TR
|
||||||
TE
|
0 0 0 setrgbcolor
|
||||||
0.00 0.00 0.00 setrgbcolor
|
3 45 1.2 TD
|
||||||
3.00 45.00 1.20 TD
|
27 45 1.2 TD
|
||||||
27.00 45.00 1.20 TD
|
39 45 1.2 TD
|
||||||
39.00 45.00 1.20 TD
|
51 45 1.2 TD
|
||||||
51.00 45.00 1.20 TD
|
63 45 1.2 TD
|
||||||
63.00 45.00 1.20 TD
|
21 39 1.2 TD
|
||||||
21.00 39.00 1.20 TD
|
33 39 1.2 TD
|
||||||
33.00 39.00 1.20 TD
|
45 39 1.2 TD
|
||||||
45.00 39.00 1.20 TD
|
3 33 1.2 TD
|
||||||
3.00 33.00 1.20 TD
|
15 33 1.2 TD
|
||||||
15.00 33.00 1.20 TD
|
39 33 1.2 TD
|
||||||
39.00 33.00 1.20 TD
|
51 33 1.2 TD
|
||||||
51.00 33.00 1.20 TD
|
63 33 1.2 TD
|
||||||
63.00 33.00 1.20 TD
|
9 27 1.2 TD
|
||||||
9.00 27.00 1.20 TD
|
3 21 1.2 TD
|
||||||
3.00 21.00 1.20 TD
|
63 21 1.2 TD
|
||||||
63.00 21.00 1.20 TD
|
9 15 1.2 TD
|
||||||
9.00 15.00 1.20 TD
|
21 15 1.2 TD
|
||||||
21.00 15.00 1.20 TD
|
33 15 1.2 TD
|
||||||
33.00 15.00 1.20 TD
|
45 15 1.2 TD
|
||||||
45.00 15.00 1.20 TD
|
3 9 1.2 TD
|
||||||
3.00 9.00 1.20 TD
|
15 9 1.2 TD
|
||||||
15.00 9.00 1.20 TD
|
51 9 1.2 TD
|
||||||
51.00 9.00 1.20 TD
|
63 9 1.2 TD
|
||||||
63.00 9.00 1.20 TD
|
9 3 1.2 TD
|
||||||
9.00 3.00 1.20 TD
|
21 3 1.2 TD
|
||||||
21.00 3.00 1.20 TD
|
45 3 1.2 TD
|
||||||
45.00 3.00 1.20 TD
|
57 3 1.2 TD
|
||||||
57.00 3.00 1.20 TD
|
|
||||||
|
@ -1,43 +1,40 @@
|
|||||||
%!PS-Adobe-3.0 EPSF-3.0
|
%!PS-Adobe-3.0 EPSF-3.0
|
||||||
%%Creator: Zint 2.10.0.9
|
%%Creator: Zint 2.12.0.9
|
||||||
%%Title: Zint Generated Symbol
|
%%Title: Zint Generated Symbol
|
||||||
%%Pages: 0
|
%%Pages: 0
|
||||||
%%BoundingBox: 0 0 68 50
|
%%BoundingBox: 0 0 68 50
|
||||||
%%EndComments
|
%%EndComments
|
||||||
/TD { newpath 0 360 arc fill } bind def
|
/TD { newpath 0 360 arc fill } bind def
|
||||||
/TB { 2 copy } bind def
|
/TR { newpath moveto dup 3 1 roll 0 rlineto 0 exch rlineto neg 0 rlineto closepath fill } bind def
|
||||||
/TR { newpath 4 1 roll exch moveto 1 index 0 rlineto 0 exch rlineto neg 0 rlineto closepath fill } bind def
|
|
||||||
/TE { pop pop } bind def
|
|
||||||
newpath
|
newpath
|
||||||
1.00 1.00 1.00 setrgbcolor
|
1 1 1 setrgbcolor
|
||||||
49.20 0.00 TB 0.00 67.20 TR
|
49.2 67.2 0 0 TR
|
||||||
TE
|
0 0 0 setrgbcolor
|
||||||
0.00 0.00 0.00 setrgbcolor
|
3.6 45.6 3.3 TD
|
||||||
3.60 45.60 3.30 TD
|
27.6 45.6 3.3 TD
|
||||||
27.60 45.60 3.30 TD
|
39.6 45.6 3.3 TD
|
||||||
39.60 45.60 3.30 TD
|
51.6 45.6 3.3 TD
|
||||||
51.60 45.60 3.30 TD
|
63.6 45.6 3.3 TD
|
||||||
63.60 45.60 3.30 TD
|
21.6 39.6 3.3 TD
|
||||||
21.60 39.60 3.30 TD
|
33.6 39.6 3.3 TD
|
||||||
33.60 39.60 3.30 TD
|
45.6 39.6 3.3 TD
|
||||||
45.60 39.60 3.30 TD
|
3.6 33.6 3.3 TD
|
||||||
3.60 33.60 3.30 TD
|
15.6 33.6 3.3 TD
|
||||||
15.60 33.60 3.30 TD
|
39.6 33.6 3.3 TD
|
||||||
39.60 33.60 3.30 TD
|
51.6 33.6 3.3 TD
|
||||||
51.60 33.60 3.30 TD
|
63.6 33.6 3.3 TD
|
||||||
63.60 33.60 3.30 TD
|
9.6 27.6 3.3 TD
|
||||||
9.60 27.60 3.30 TD
|
3.6 21.6 3.3 TD
|
||||||
3.60 21.60 3.30 TD
|
63.6 21.6 3.3 TD
|
||||||
63.60 21.60 3.30 TD
|
9.6 15.6 3.3 TD
|
||||||
9.60 15.60 3.30 TD
|
21.6 15.6 3.3 TD
|
||||||
21.60 15.60 3.30 TD
|
33.6 15.6 3.3 TD
|
||||||
33.60 15.60 3.30 TD
|
45.6 15.6 3.3 TD
|
||||||
45.60 15.60 3.30 TD
|
3.6 9.6 3.3 TD
|
||||||
3.60 9.60 3.30 TD
|
15.6 9.6 3.3 TD
|
||||||
15.60 9.60 3.30 TD
|
51.6 9.6 3.3 TD
|
||||||
51.60 9.60 3.30 TD
|
63.6 9.6 3.3 TD
|
||||||
63.60 9.60 3.30 TD
|
9.6 3.6 3.3 TD
|
||||||
9.60 3.60 3.30 TD
|
21.6 3.6 3.3 TD
|
||||||
21.60 3.60 3.30 TD
|
45.6 3.6 3.3 TD
|
||||||
45.60 3.60 3.30 TD
|
57.6 3.6 3.3 TD
|
||||||
57.60 3.60 3.30 TD
|
|
||||||
|
@ -1,43 +1,40 @@
|
|||||||
%!PS-Adobe-3.0 EPSF-3.0
|
%!PS-Adobe-3.0 EPSF-3.0
|
||||||
%%Creator: Zint 2.10.0.9
|
%%Creator: Zint 2.12.0.9
|
||||||
%%Title: Zint Generated Symbol
|
%%Title: Zint Generated Symbol
|
||||||
%%Pages: 0
|
%%Pages: 0
|
||||||
%%BoundingBox: 0 0 77 56
|
%%BoundingBox: 0 0 77 56
|
||||||
%%EndComments
|
%%EndComments
|
||||||
/TD { newpath 0 360 arc fill } bind def
|
/TD { newpath 0 360 arc fill } bind def
|
||||||
/TB { 2 copy } bind def
|
/TR { newpath moveto dup 3 1 roll 0 rlineto 0 exch rlineto neg 0 rlineto closepath fill } bind def
|
||||||
/TR { newpath 4 1 roll exch moveto 1 index 0 rlineto 0 exch rlineto neg 0 rlineto closepath fill } bind def
|
|
||||||
/TE { pop pop } bind def
|
|
||||||
newpath
|
newpath
|
||||||
1.00 1.00 1.00 setrgbcolor
|
1 1 1 setrgbcolor
|
||||||
56.00 0.00 TB 0.00 77.00 TR
|
56 77 0 0 TR
|
||||||
TE
|
0 0 0 setrgbcolor
|
||||||
0.00 0.00 0.00 setrgbcolor
|
3.5 52.5 2.8 TD
|
||||||
3.50 52.50 2.80 TD
|
31.5 52.5 2.8 TD
|
||||||
31.50 52.50 2.80 TD
|
45.5 52.5 2.8 TD
|
||||||
45.50 52.50 2.80 TD
|
59.5 52.5 2.8 TD
|
||||||
59.50 52.50 2.80 TD
|
73.5 52.5 2.8 TD
|
||||||
73.50 52.50 2.80 TD
|
24.5 45.5 2.8 TD
|
||||||
24.50 45.50 2.80 TD
|
38.5 45.5 2.8 TD
|
||||||
38.50 45.50 2.80 TD
|
52.5 45.5 2.8 TD
|
||||||
52.50 45.50 2.80 TD
|
3.5 38.5 2.8 TD
|
||||||
3.50 38.50 2.80 TD
|
17.5 38.5 2.8 TD
|
||||||
17.50 38.50 2.80 TD
|
45.5 38.5 2.8 TD
|
||||||
45.50 38.50 2.80 TD
|
59.5 38.5 2.8 TD
|
||||||
59.50 38.50 2.80 TD
|
73.5 38.5 2.8 TD
|
||||||
73.50 38.50 2.80 TD
|
10.5 31.5 2.8 TD
|
||||||
10.50 31.50 2.80 TD
|
3.5 24.5 2.8 TD
|
||||||
3.50 24.50 2.80 TD
|
73.5 24.5 2.8 TD
|
||||||
73.50 24.50 2.80 TD
|
10.5 17.5 2.8 TD
|
||||||
10.50 17.50 2.80 TD
|
24.5 17.5 2.8 TD
|
||||||
24.50 17.50 2.80 TD
|
38.5 17.5 2.8 TD
|
||||||
38.50 17.50 2.80 TD
|
52.5 17.5 2.8 TD
|
||||||
52.50 17.50 2.80 TD
|
3.5 10.5 2.8 TD
|
||||||
3.50 10.50 2.80 TD
|
17.5 10.5 2.8 TD
|
||||||
17.50 10.50 2.80 TD
|
59.5 10.5 2.8 TD
|
||||||
59.50 10.50 2.80 TD
|
73.5 10.5 2.8 TD
|
||||||
73.50 10.50 2.80 TD
|
10.5 3.5 2.8 TD
|
||||||
10.50 3.50 2.80 TD
|
24.5 3.5 2.8 TD
|
||||||
24.50 3.50 2.80 TD
|
52.5 3.5 2.8 TD
|
||||||
52.50 3.50 2.80 TD
|
66.5 3.5 2.8 TD
|
||||||
66.50 3.50 2.80 TD
|
|
||||||
|
@ -1,43 +1,40 @@
|
|||||||
%!PS-Adobe-3.0 EPSF-3.0
|
%!PS-Adobe-3.0 EPSF-3.0
|
||||||
%%Creator: Zint 2.10.0.9
|
%%Creator: Zint 2.12.0.9
|
||||||
%%Title: Zint Generated Symbol
|
%%Title: Zint Generated Symbol
|
||||||
%%Pages: 0
|
%%Pages: 0
|
||||||
%%BoundingBox: 0 0 77 56
|
%%BoundingBox: 0 0 77 56
|
||||||
%%EndComments
|
%%EndComments
|
||||||
/TD { newpath 0 360 arc fill } bind def
|
/TD { newpath 0 360 arc fill } bind def
|
||||||
/TB { 2 copy } bind def
|
/TR { newpath moveto dup 3 1 roll 0 rlineto 0 exch rlineto neg 0 rlineto closepath fill } bind def
|
||||||
/TR { newpath 4 1 roll exch moveto 1 index 0 rlineto 0 exch rlineto neg 0 rlineto closepath fill } bind def
|
|
||||||
/TE { pop pop } bind def
|
|
||||||
newpath
|
newpath
|
||||||
1.00 1.00 1.00 setrgbcolor
|
1 1 1 setrgbcolor
|
||||||
56.00 0.00 TB 0.00 77.00 TR
|
56 77 0 0 TR
|
||||||
TE
|
0 0 0 setrgbcolor
|
||||||
0.00 0.00 0.00 setrgbcolor
|
3.5 52.5 1.4 TD
|
||||||
3.50 52.50 1.40 TD
|
31.5 52.5 1.4 TD
|
||||||
31.50 52.50 1.40 TD
|
45.5 52.5 1.4 TD
|
||||||
45.50 52.50 1.40 TD
|
59.5 52.5 1.4 TD
|
||||||
59.50 52.50 1.40 TD
|
73.5 52.5 1.4 TD
|
||||||
73.50 52.50 1.40 TD
|
24.5 45.5 1.4 TD
|
||||||
24.50 45.50 1.40 TD
|
38.5 45.5 1.4 TD
|
||||||
38.50 45.50 1.40 TD
|
52.5 45.5 1.4 TD
|
||||||
52.50 45.50 1.40 TD
|
3.5 38.5 1.4 TD
|
||||||
3.50 38.50 1.40 TD
|
17.5 38.5 1.4 TD
|
||||||
17.50 38.50 1.40 TD
|
45.5 38.5 1.4 TD
|
||||||
45.50 38.50 1.40 TD
|
59.5 38.5 1.4 TD
|
||||||
59.50 38.50 1.40 TD
|
73.5 38.5 1.4 TD
|
||||||
73.50 38.50 1.40 TD
|
10.5 31.5 1.4 TD
|
||||||
10.50 31.50 1.40 TD
|
3.5 24.5 1.4 TD
|
||||||
3.50 24.50 1.40 TD
|
73.5 24.5 1.4 TD
|
||||||
73.50 24.50 1.40 TD
|
10.5 17.5 1.4 TD
|
||||||
10.50 17.50 1.40 TD
|
24.5 17.5 1.4 TD
|
||||||
24.50 17.50 1.40 TD
|
38.5 17.5 1.4 TD
|
||||||
38.50 17.50 1.40 TD
|
52.5 17.5 1.4 TD
|
||||||
52.50 17.50 1.40 TD
|
3.5 10.5 1.4 TD
|
||||||
3.50 10.50 1.40 TD
|
17.5 10.5 1.4 TD
|
||||||
17.50 10.50 1.40 TD
|
59.5 10.5 1.4 TD
|
||||||
59.50 10.50 1.40 TD
|
73.5 10.5 1.4 TD
|
||||||
73.50 10.50 1.40 TD
|
10.5 3.5 1.4 TD
|
||||||
10.50 3.50 1.40 TD
|
24.5 3.5 1.4 TD
|
||||||
24.50 3.50 1.40 TD
|
52.5 3.5 1.4 TD
|
||||||
52.50 3.50 1.40 TD
|
66.5 3.5 1.4 TD
|
||||||
66.50 3.50 1.40 TD
|
|
||||||
|
@ -1,43 +1,40 @@
|
|||||||
%!PS-Adobe-3.0 EPSF-3.0
|
%!PS-Adobe-3.0 EPSF-3.0
|
||||||
%%Creator: Zint 2.10.0.9
|
%%Creator: Zint 2.12.0.9
|
||||||
%%Title: Zint Generated Symbol
|
%%Title: Zint Generated Symbol
|
||||||
%%Pages: 0
|
%%Pages: 0
|
||||||
%%BoundingBox: 0 0 79 58
|
%%BoundingBox: 0 0 79 58
|
||||||
%%EndComments
|
%%EndComments
|
||||||
/TD { newpath 0 360 arc fill } bind def
|
/TD { newpath 0 360 arc fill } bind def
|
||||||
/TB { 2 copy } bind def
|
/TR { newpath moveto dup 3 1 roll 0 rlineto 0 exch rlineto neg 0 rlineto closepath fill } bind def
|
||||||
/TR { newpath 4 1 roll exch moveto 1 index 0 rlineto 0 exch rlineto neg 0 rlineto closepath fill } bind def
|
|
||||||
/TE { pop pop } bind def
|
|
||||||
newpath
|
newpath
|
||||||
1.00 1.00 1.00 setrgbcolor
|
1 1 1 setrgbcolor
|
||||||
57.40 0.00 TB 0.00 78.40 TR
|
57.4 78.4 0 0 TR
|
||||||
TE
|
0 0 0 setrgbcolor
|
||||||
0.00 0.00 0.00 setrgbcolor
|
4.2 53.2 3.85 TD
|
||||||
4.20 53.20 3.85 TD
|
32.2 53.2 3.85 TD
|
||||||
32.20 53.20 3.85 TD
|
46.2 53.2 3.85 TD
|
||||||
46.20 53.20 3.85 TD
|
60.2 53.2 3.85 TD
|
||||||
60.20 53.20 3.85 TD
|
74.2 53.2 3.85 TD
|
||||||
74.20 53.20 3.85 TD
|
25.2 46.2 3.85 TD
|
||||||
25.20 46.20 3.85 TD
|
39.2 46.2 3.85 TD
|
||||||
39.20 46.20 3.85 TD
|
53.2 46.2 3.85 TD
|
||||||
53.20 46.20 3.85 TD
|
4.2 39.2 3.85 TD
|
||||||
4.20 39.20 3.85 TD
|
18.2 39.2 3.85 TD
|
||||||
18.20 39.20 3.85 TD
|
46.2 39.2 3.85 TD
|
||||||
46.20 39.20 3.85 TD
|
60.2 39.2 3.85 TD
|
||||||
60.20 39.20 3.85 TD
|
74.2 39.2 3.85 TD
|
||||||
74.20 39.20 3.85 TD
|
11.2 32.2 3.85 TD
|
||||||
11.20 32.20 3.85 TD
|
4.2 25.2 3.85 TD
|
||||||
4.20 25.20 3.85 TD
|
74.2 25.2 3.85 TD
|
||||||
74.20 25.20 3.85 TD
|
11.2 18.2 3.85 TD
|
||||||
11.20 18.20 3.85 TD
|
25.2 18.2 3.85 TD
|
||||||
25.20 18.20 3.85 TD
|
39.2 18.2 3.85 TD
|
||||||
39.20 18.20 3.85 TD
|
53.2 18.2 3.85 TD
|
||||||
53.20 18.20 3.85 TD
|
4.2 11.2 3.85 TD
|
||||||
4.20 11.20 3.85 TD
|
18.2 11.2 3.85 TD
|
||||||
18.20 11.20 3.85 TD
|
60.2 11.2 3.85 TD
|
||||||
60.20 11.20 3.85 TD
|
74.2 11.2 3.85 TD
|
||||||
74.20 11.20 3.85 TD
|
11.2 4.2 3.85 TD
|
||||||
11.20 4.20 3.85 TD
|
25.2 4.2 3.85 TD
|
||||||
25.20 4.20 3.85 TD
|
53.2 4.2 3.85 TD
|
||||||
53.20 4.20 3.85 TD
|
67.2 4.2 3.85 TD
|
||||||
67.20 4.20 3.85 TD
|
|
||||||
|
@ -1,43 +1,40 @@
|
|||||||
%!PS-Adobe-3.0 EPSF-3.0
|
%!PS-Adobe-3.0 EPSF-3.0
|
||||||
%%Creator: Zint 2.10.0.9
|
%%Creator: Zint 2.12.0.9
|
||||||
%%Title: Zint Generated Symbol
|
%%Title: Zint Generated Symbol
|
||||||
%%Pages: 0
|
%%Pages: 0
|
||||||
%%BoundingBox: 0 0 110 80
|
%%BoundingBox: 0 0 110 80
|
||||||
%%EndComments
|
%%EndComments
|
||||||
/TD { newpath 0 360 arc fill } bind def
|
/TD { newpath 0 360 arc fill } bind def
|
||||||
/TB { 2 copy } bind def
|
/TR { newpath moveto dup 3 1 roll 0 rlineto 0 exch rlineto neg 0 rlineto closepath fill } bind def
|
||||||
/TR { newpath 4 1 roll exch moveto 1 index 0 rlineto 0 exch rlineto neg 0 rlineto closepath fill } bind def
|
|
||||||
/TE { pop pop } bind def
|
|
||||||
newpath
|
newpath
|
||||||
1.00 1.00 1.00 setrgbcolor
|
1 1 1 setrgbcolor
|
||||||
80.00 0.00 TB 0.00 110.00 TR
|
80 110 0 0 TR
|
||||||
TE
|
0 0 0 setrgbcolor
|
||||||
0.00 0.00 0.00 setrgbcolor
|
5 75 4 TD
|
||||||
5.00 75.00 4.00 TD
|
45 75 4 TD
|
||||||
45.00 75.00 4.00 TD
|
65 75 4 TD
|
||||||
65.00 75.00 4.00 TD
|
85 75 4 TD
|
||||||
85.00 75.00 4.00 TD
|
105 75 4 TD
|
||||||
105.00 75.00 4.00 TD
|
35 65 4 TD
|
||||||
35.00 65.00 4.00 TD
|
55 65 4 TD
|
||||||
55.00 65.00 4.00 TD
|
75 65 4 TD
|
||||||
75.00 65.00 4.00 TD
|
5 55 4 TD
|
||||||
5.00 55.00 4.00 TD
|
25 55 4 TD
|
||||||
25.00 55.00 4.00 TD
|
65 55 4 TD
|
||||||
65.00 55.00 4.00 TD
|
85 55 4 TD
|
||||||
85.00 55.00 4.00 TD
|
105 55 4 TD
|
||||||
105.00 55.00 4.00 TD
|
15 45 4 TD
|
||||||
15.00 45.00 4.00 TD
|
5 35 4 TD
|
||||||
5.00 35.00 4.00 TD
|
105 35 4 TD
|
||||||
105.00 35.00 4.00 TD
|
15 25 4 TD
|
||||||
15.00 25.00 4.00 TD
|
35 25 4 TD
|
||||||
35.00 25.00 4.00 TD
|
55 25 4 TD
|
||||||
55.00 25.00 4.00 TD
|
75 25 4 TD
|
||||||
75.00 25.00 4.00 TD
|
5 15 4 TD
|
||||||
5.00 15.00 4.00 TD
|
25 15 4 TD
|
||||||
25.00 15.00 4.00 TD
|
85 15 4 TD
|
||||||
85.00 15.00 4.00 TD
|
105 15 4 TD
|
||||||
105.00 15.00 4.00 TD
|
15 5 4 TD
|
||||||
15.00 5.00 4.00 TD
|
35 5 4 TD
|
||||||
35.00 5.00 4.00 TD
|
75 5 4 TD
|
||||||
75.00 5.00 4.00 TD
|
95 5 4 TD
|
||||||
95.00 5.00 4.00 TD
|
|
||||||
|
@ -1,43 +1,40 @@
|
|||||||
%!PS-Adobe-3.0 EPSF-3.0
|
%!PS-Adobe-3.0 EPSF-3.0
|
||||||
%%Creator: Zint 2.10.0.9
|
%%Creator: Zint 2.12.0.9
|
||||||
%%Title: Zint Generated Symbol
|
%%Title: Zint Generated Symbol
|
||||||
%%Pages: 0
|
%%Pages: 0
|
||||||
%%BoundingBox: 0 0 110 80
|
%%BoundingBox: 0 0 110 80
|
||||||
%%EndComments
|
%%EndComments
|
||||||
/TD { newpath 0 360 arc fill } bind def
|
/TD { newpath 0 360 arc fill } bind def
|
||||||
/TB { 2 copy } bind def
|
/TR { newpath moveto dup 3 1 roll 0 rlineto 0 exch rlineto neg 0 rlineto closepath fill } bind def
|
||||||
/TR { newpath 4 1 roll exch moveto 1 index 0 rlineto 0 exch rlineto neg 0 rlineto closepath fill } bind def
|
|
||||||
/TE { pop pop } bind def
|
|
||||||
newpath
|
newpath
|
||||||
1.00 1.00 1.00 setrgbcolor
|
1 1 1 setrgbcolor
|
||||||
80.00 0.00 TB 0.00 110.00 TR
|
80 110 0 0 TR
|
||||||
TE
|
0 0 0 setrgbcolor
|
||||||
0.00 0.00 0.00 setrgbcolor
|
5 75 1 TD
|
||||||
5.00 75.00 1.00 TD
|
45 75 1 TD
|
||||||
45.00 75.00 1.00 TD
|
65 75 1 TD
|
||||||
65.00 75.00 1.00 TD
|
85 75 1 TD
|
||||||
85.00 75.00 1.00 TD
|
105 75 1 TD
|
||||||
105.00 75.00 1.00 TD
|
35 65 1 TD
|
||||||
35.00 65.00 1.00 TD
|
55 65 1 TD
|
||||||
55.00 65.00 1.00 TD
|
75 65 1 TD
|
||||||
75.00 65.00 1.00 TD
|
5 55 1 TD
|
||||||
5.00 55.00 1.00 TD
|
25 55 1 TD
|
||||||
25.00 55.00 1.00 TD
|
65 55 1 TD
|
||||||
65.00 55.00 1.00 TD
|
85 55 1 TD
|
||||||
85.00 55.00 1.00 TD
|
105 55 1 TD
|
||||||
105.00 55.00 1.00 TD
|
15 45 1 TD
|
||||||
15.00 45.00 1.00 TD
|
5 35 1 TD
|
||||||
5.00 35.00 1.00 TD
|
105 35 1 TD
|
||||||
105.00 35.00 1.00 TD
|
15 25 1 TD
|
||||||
15.00 25.00 1.00 TD
|
35 25 1 TD
|
||||||
35.00 25.00 1.00 TD
|
55 25 1 TD
|
||||||
55.00 25.00 1.00 TD
|
75 25 1 TD
|
||||||
75.00 25.00 1.00 TD
|
5 15 1 TD
|
||||||
5.00 15.00 1.00 TD
|
25 15 1 TD
|
||||||
25.00 15.00 1.00 TD
|
85 15 1 TD
|
||||||
85.00 15.00 1.00 TD
|
105 15 1 TD
|
||||||
105.00 15.00 1.00 TD
|
15 5 1 TD
|
||||||
15.00 5.00 1.00 TD
|
35 5 1 TD
|
||||||
35.00 5.00 1.00 TD
|
75 5 1 TD
|
||||||
75.00 5.00 1.00 TD
|
95 5 1 TD
|
||||||
95.00 5.00 1.00 TD
|
|
||||||
|
@ -1,43 +1,40 @@
|
|||||||
%!PS-Adobe-3.0 EPSF-3.0
|
%!PS-Adobe-3.0 EPSF-3.0
|
||||||
%%Creator: Zint 2.10.0.9
|
%%Creator: Zint 2.12.0.9
|
||||||
%%Title: Zint Generated Symbol
|
%%Title: Zint Generated Symbol
|
||||||
%%Pages: 0
|
%%Pages: 0
|
||||||
%%BoundingBox: 0 0 112 82
|
%%BoundingBox: 0 0 112 82
|
||||||
%%EndComments
|
%%EndComments
|
||||||
/TD { newpath 0 360 arc fill } bind def
|
/TD { newpath 0 360 arc fill } bind def
|
||||||
/TB { 2 copy } bind def
|
/TR { newpath moveto dup 3 1 roll 0 rlineto 0 exch rlineto neg 0 rlineto closepath fill } bind def
|
||||||
/TR { newpath 4 1 roll exch moveto 1 index 0 rlineto 0 exch rlineto neg 0 rlineto closepath fill } bind def
|
|
||||||
/TE { pop pop } bind def
|
|
||||||
newpath
|
newpath
|
||||||
1.00 1.00 1.00 setrgbcolor
|
1 1 1 setrgbcolor
|
||||||
82.00 0.00 TB 0.00 112.00 TR
|
82 112 0 0 TR
|
||||||
TE
|
0 0 0 setrgbcolor
|
||||||
0.00 0.00 0.00 setrgbcolor
|
6 76 5.5 TD
|
||||||
6.00 76.00 5.50 TD
|
46 76 5.5 TD
|
||||||
46.00 76.00 5.50 TD
|
66 76 5.5 TD
|
||||||
66.00 76.00 5.50 TD
|
86 76 5.5 TD
|
||||||
86.00 76.00 5.50 TD
|
106 76 5.5 TD
|
||||||
106.00 76.00 5.50 TD
|
36 66 5.5 TD
|
||||||
36.00 66.00 5.50 TD
|
56 66 5.5 TD
|
||||||
56.00 66.00 5.50 TD
|
76 66 5.5 TD
|
||||||
76.00 66.00 5.50 TD
|
6 56 5.5 TD
|
||||||
6.00 56.00 5.50 TD
|
26 56 5.5 TD
|
||||||
26.00 56.00 5.50 TD
|
66 56 5.5 TD
|
||||||
66.00 56.00 5.50 TD
|
86 56 5.5 TD
|
||||||
86.00 56.00 5.50 TD
|
106 56 5.5 TD
|
||||||
106.00 56.00 5.50 TD
|
16 46 5.5 TD
|
||||||
16.00 46.00 5.50 TD
|
6 36 5.5 TD
|
||||||
6.00 36.00 5.50 TD
|
106 36 5.5 TD
|
||||||
106.00 36.00 5.50 TD
|
16 26 5.5 TD
|
||||||
16.00 26.00 5.50 TD
|
36 26 5.5 TD
|
||||||
36.00 26.00 5.50 TD
|
56 26 5.5 TD
|
||||||
56.00 26.00 5.50 TD
|
76 26 5.5 TD
|
||||||
76.00 26.00 5.50 TD
|
6 16 5.5 TD
|
||||||
6.00 16.00 5.50 TD
|
26 16 5.5 TD
|
||||||
26.00 16.00 5.50 TD
|
86 16 5.5 TD
|
||||||
86.00 16.00 5.50 TD
|
106 16 5.5 TD
|
||||||
106.00 16.00 5.50 TD
|
16 6 5.5 TD
|
||||||
16.00 6.00 5.50 TD
|
36 6 5.5 TD
|
||||||
36.00 6.00 5.50 TD
|
76 6 5.5 TD
|
||||||
76.00 6.00 5.50 TD
|
96 6 5.5 TD
|
||||||
96.00 6.00 5.50 TD
|
|
||||||
|
@ -1,43 +1,40 @@
|
|||||||
%!PS-Adobe-3.0 EPSF-3.0
|
%!PS-Adobe-3.0 EPSF-3.0
|
||||||
%%Creator: Zint 2.10.0.9
|
%%Creator: Zint 2.12.0.9
|
||||||
%%Title: Zint Generated Symbol
|
%%Title: Zint Generated Symbol
|
||||||
%%Pages: 0
|
%%Pages: 0
|
||||||
%%BoundingBox: 0 0 118 88
|
%%BoundingBox: 0 0 118 88
|
||||||
%%EndComments
|
%%EndComments
|
||||||
/TD { newpath 0 360 arc fill } bind def
|
/TD { newpath 0 360 arc fill } bind def
|
||||||
/TB { 2 copy } bind def
|
/TR { newpath moveto dup 3 1 roll 0 rlineto 0 exch rlineto neg 0 rlineto closepath fill } bind def
|
||||||
/TR { newpath 4 1 roll exch moveto 1 index 0 rlineto 0 exch rlineto neg 0 rlineto closepath fill } bind def
|
|
||||||
/TE { pop pop } bind def
|
|
||||||
newpath
|
newpath
|
||||||
1.00 1.00 1.00 setrgbcolor
|
1 1 1 setrgbcolor
|
||||||
88.00 0.00 TB 0.00 118.00 TR
|
88 118 0 0 TR
|
||||||
TE
|
0 0 0 setrgbcolor
|
||||||
0.00 0.00 0.00 setrgbcolor
|
9 79 8.5 TD
|
||||||
9.00 79.00 8.50 TD
|
49 79 8.5 TD
|
||||||
49.00 79.00 8.50 TD
|
69 79 8.5 TD
|
||||||
69.00 79.00 8.50 TD
|
89 79 8.5 TD
|
||||||
89.00 79.00 8.50 TD
|
109 79 8.5 TD
|
||||||
109.00 79.00 8.50 TD
|
39 69 8.5 TD
|
||||||
39.00 69.00 8.50 TD
|
59 69 8.5 TD
|
||||||
59.00 69.00 8.50 TD
|
79 69 8.5 TD
|
||||||
79.00 69.00 8.50 TD
|
9 59 8.5 TD
|
||||||
9.00 59.00 8.50 TD
|
29 59 8.5 TD
|
||||||
29.00 59.00 8.50 TD
|
69 59 8.5 TD
|
||||||
69.00 59.00 8.50 TD
|
89 59 8.5 TD
|
||||||
89.00 59.00 8.50 TD
|
109 59 8.5 TD
|
||||||
109.00 59.00 8.50 TD
|
19 49 8.5 TD
|
||||||
19.00 49.00 8.50 TD
|
9 39 8.5 TD
|
||||||
9.00 39.00 8.50 TD
|
109 39 8.5 TD
|
||||||
109.00 39.00 8.50 TD
|
19 29 8.5 TD
|
||||||
19.00 29.00 8.50 TD
|
39 29 8.5 TD
|
||||||
39.00 29.00 8.50 TD
|
59 29 8.5 TD
|
||||||
59.00 29.00 8.50 TD
|
79 29 8.5 TD
|
||||||
79.00 29.00 8.50 TD
|
9 19 8.5 TD
|
||||||
9.00 19.00 8.50 TD
|
29 19 8.5 TD
|
||||||
29.00 19.00 8.50 TD
|
89 19 8.5 TD
|
||||||
89.00 19.00 8.50 TD
|
109 19 8.5 TD
|
||||||
109.00 19.00 8.50 TD
|
19 9 8.5 TD
|
||||||
19.00 9.00 8.50 TD
|
39 9 8.5 TD
|
||||||
39.00 9.00 8.50 TD
|
79 9 8.5 TD
|
||||||
79.00 9.00 8.50 TD
|
99 9 8.5 TD
|
||||||
99.00 9.00 8.50 TD
|
|
||||||
|
@ -1,40 +1,37 @@
|
|||||||
%!PS-Adobe-3.0 EPSF-3.0
|
%!PS-Adobe-3.0 EPSF-3.0
|
||||||
%%Creator: Zint 2.10.0.9
|
%%Creator: Zint 2.12.0.9
|
||||||
%%Title: Zint Generated Symbol
|
%%Title: Zint Generated Symbol
|
||||||
%%Pages: 0
|
%%Pages: 0
|
||||||
%%BoundingBox: 0 0 22 16
|
%%BoundingBox: 0 0 22 16
|
||||||
%%EndComments
|
%%EndComments
|
||||||
/TD { newpath 0 360 arc fill } bind def
|
/TD { newpath 0 360 arc fill } bind def
|
||||||
/TB { 2 copy } bind def
|
|
||||||
/TR { newpath 4 1 roll exch moveto 1 index 0 rlineto 0 exch rlineto neg 0 rlineto closepath fill } bind def
|
|
||||||
/TE { pop pop } bind def
|
|
||||||
newpath
|
newpath
|
||||||
1.00 0.00 0.00 setrgbcolor
|
1 0 0 setrgbcolor
|
||||||
1.00 15.00 0.80 TD
|
1 15 0.8 TD
|
||||||
9.00 15.00 0.80 TD
|
9 15 0.8 TD
|
||||||
13.00 15.00 0.80 TD
|
13 15 0.8 TD
|
||||||
17.00 15.00 0.80 TD
|
17 15 0.8 TD
|
||||||
21.00 15.00 0.80 TD
|
21 15 0.8 TD
|
||||||
7.00 13.00 0.80 TD
|
7 13 0.8 TD
|
||||||
11.00 13.00 0.80 TD
|
11 13 0.8 TD
|
||||||
15.00 13.00 0.80 TD
|
15 13 0.8 TD
|
||||||
1.00 11.00 0.80 TD
|
1 11 0.8 TD
|
||||||
5.00 11.00 0.80 TD
|
5 11 0.8 TD
|
||||||
13.00 11.00 0.80 TD
|
13 11 0.8 TD
|
||||||
17.00 11.00 0.80 TD
|
17 11 0.8 TD
|
||||||
21.00 11.00 0.80 TD
|
21 11 0.8 TD
|
||||||
3.00 9.00 0.80 TD
|
3 9 0.8 TD
|
||||||
1.00 7.00 0.80 TD
|
1 7 0.8 TD
|
||||||
21.00 7.00 0.80 TD
|
21 7 0.8 TD
|
||||||
3.00 5.00 0.80 TD
|
3 5 0.8 TD
|
||||||
7.00 5.00 0.80 TD
|
7 5 0.8 TD
|
||||||
11.00 5.00 0.80 TD
|
11 5 0.8 TD
|
||||||
15.00 5.00 0.80 TD
|
15 5 0.8 TD
|
||||||
1.00 3.00 0.80 TD
|
1 3 0.8 TD
|
||||||
5.00 3.00 0.80 TD
|
5 3 0.8 TD
|
||||||
17.00 3.00 0.80 TD
|
17 3 0.8 TD
|
||||||
21.00 3.00 0.80 TD
|
21 3 0.8 TD
|
||||||
3.00 1.00 0.80 TD
|
3 1 0.8 TD
|
||||||
7.00 1.00 0.80 TD
|
7 1 0.8 TD
|
||||||
15.00 1.00 0.80 TD
|
15 1 0.8 TD
|
||||||
19.00 1.00 0.80 TD
|
19 1 0.8 TD
|
||||||
|
@ -2,123 +2,60 @@
|
|||||||
%%Creator: Zint 2.12.0.9
|
%%Creator: Zint 2.12.0.9
|
||||||
%%Title: Zint Generated Symbol
|
%%Title: Zint Generated Symbol
|
||||||
%%Pages: 0
|
%%Pages: 0
|
||||||
%%BoundingBox: 0 0 276 117
|
%%BoundingBox: 0 0 276 118
|
||||||
%%EndComments
|
%%EndComments
|
||||||
/TB { 2 copy } bind def
|
/TR { newpath moveto dup 3 1 roll 0 rlineto 0 exch rlineto neg 0 rlineto closepath fill } bind def
|
||||||
/TR { newpath 4 1 roll exch moveto 1 index 0 rlineto 0 exch rlineto neg 0 rlineto closepath fill } bind def
|
|
||||||
/TE { pop pop } bind def
|
|
||||||
newpath
|
newpath
|
||||||
1.00 1.00 1.00 setrgbcolor
|
1 1 1 setrgbcolor
|
||||||
116.90 0.00 TB 0.00 276.00 TR
|
118 276 0 0 TR
|
||||||
TE
|
0 0 0 setrgbcolor
|
||||||
0.00 0.00 0.00 setrgbcolor
|
110 2 22 8 TR
|
||||||
110.00 6.90 TB 22.00 2.00 TR
|
110 2 26 8 TR
|
||||||
TE
|
100 6 30 18 TR
|
||||||
110.00 6.90 TB 26.00 2.00 TR
|
100 4 38 18 TR
|
||||||
TE
|
100 2 46 18 TR
|
||||||
100.00 16.90 TB 30.00 6.00 TR
|
100 2 54 18 TR
|
||||||
TE
|
100 4 58 18 TR
|
||||||
100.00 16.90 TB 38.00 4.00 TR
|
100 4 66 18 TR
|
||||||
TE
|
100 8 72 18 TR
|
||||||
100.00 16.90 TB 46.00 2.00 TR
|
100 2 82 18 TR
|
||||||
TE
|
100 2 90 18 TR
|
||||||
100.00 16.90 TB 54.00 2.00 TR
|
100 2 96 18 TR
|
||||||
TE
|
100 2 100 18 TR
|
||||||
100.00 16.90 TB 58.00 4.00 TR
|
100 4 108 18 TR
|
||||||
TE
|
110 2 114 8 TR
|
||||||
100.00 16.90 TB 66.00 4.00 TR
|
110 2 118 8 TR
|
||||||
TE
|
100 2 122 18 TR
|
||||||
100.00 16.90 TB 72.00 8.00 TR
|
100 6 128 18 TR
|
||||||
TE
|
100 4 136 18 TR
|
||||||
100.00 16.90 TB 82.00 2.00 TR
|
100 4 142 18 TR
|
||||||
TE
|
100 2 150 18 TR
|
||||||
100.00 16.90 TB 90.00 2.00 TR
|
100 6 154 18 TR
|
||||||
TE
|
100 6 164 18 TR
|
||||||
100.00 16.90 TB 96.00 2.00 TR
|
100 2 174 18 TR
|
||||||
TE
|
100 4 178 18 TR
|
||||||
100.00 16.90 TB 100.00 2.00 TR
|
100 4 186 18 TR
|
||||||
TE
|
100 2 192 18 TR
|
||||||
100.00 16.90 TB 108.00 4.00 TR
|
100 2 200 18 TR
|
||||||
TE
|
110 2 206 8 TR
|
||||||
110.00 6.90 TB 114.00 2.00 TR
|
110 2 210 8 TR
|
||||||
TE
|
92 2 226 8 TR
|
||||||
110.00 6.90 TB 118.00 2.00 TR
|
92 4 230 8 TR
|
||||||
TE
|
92 4 238 8 TR
|
||||||
100.00 16.90 TB 122.00 2.00 TR
|
92 2 246 8 TR
|
||||||
TE
|
92 2 250 8 TR
|
||||||
100.00 16.90 TB 128.00 6.00 TR
|
92 2 256 8 TR
|
||||||
TE
|
92 4 262 8 TR
|
||||||
100.00 16.90 TB 136.00 4.00 TR
|
/Helvetica findfont 21.4 scalefont setfont
|
||||||
TE
|
12.2 0.8 moveto
|
||||||
100.00 16.90 TB 142.00 4.00 TR
|
(9) stringwidth pop neg 0 rmoveto
|
||||||
TE
|
|
||||||
100.00 16.90 TB 150.00 2.00 TR
|
|
||||||
TE
|
|
||||||
100.00 16.90 TB 154.00 6.00 TR
|
|
||||||
TE
|
|
||||||
100.00 16.90 TB 164.00 6.00 TR
|
|
||||||
TE
|
|
||||||
100.00 16.90 TB 174.00 2.00 TR
|
|
||||||
TE
|
|
||||||
100.00 16.90 TB 178.00 4.00 TR
|
|
||||||
TE
|
|
||||||
100.00 16.90 TB 186.00 4.00 TR
|
|
||||||
TE
|
|
||||||
100.00 16.90 TB 192.00 2.00 TR
|
|
||||||
TE
|
|
||||||
100.00 16.90 TB 200.00 2.00 TR
|
|
||||||
TE
|
|
||||||
110.00 6.90 TB 206.00 2.00 TR
|
|
||||||
TE
|
|
||||||
110.00 6.90 TB 210.00 2.00 TR
|
|
||||||
TE
|
|
||||||
93.10 6.90 TB 226.00 2.00 TR
|
|
||||||
TE
|
|
||||||
93.10 6.90 TB 230.00 4.00 TR
|
|
||||||
TE
|
|
||||||
93.10 6.90 TB 238.00 4.00 TR
|
|
||||||
TE
|
|
||||||
93.10 6.90 TB 246.00 2.00 TR
|
|
||||||
TE
|
|
||||||
93.10 6.90 TB 250.00 2.00 TR
|
|
||||||
TE
|
|
||||||
93.10 6.90 TB 256.00 2.00 TR
|
|
||||||
TE
|
|
||||||
93.10 6.90 TB 262.00 4.00 TR
|
|
||||||
TE
|
|
||||||
matrix currentmatrix
|
|
||||||
/Helvetica findfont
|
|
||||||
20.00 scalefont setfont
|
|
||||||
0 0 moveto 12.20 0.80 translate 0.00 rotate 0 0 moveto
|
|
||||||
(9) stringwidth
|
|
||||||
pop
|
|
||||||
neg 0 rmoveto
|
|
||||||
(9) show
|
(9) show
|
||||||
setmatrix
|
71 0.8 moveto
|
||||||
matrix currentmatrix
|
(771384) stringwidth pop -2 div 0 rmoveto
|
||||||
/Helvetica findfont
|
|
||||||
20.00 scalefont setfont
|
|
||||||
0 0 moveto 71.00 0.80 translate 0.00 rotate 0 0 moveto
|
|
||||||
(771384) stringwidth
|
|
||||||
pop
|
|
||||||
-2 div 0 rmoveto
|
|
||||||
(771384) show
|
(771384) show
|
||||||
setmatrix
|
163 0.8 moveto
|
||||||
matrix currentmatrix
|
(524017) stringwidth pop -2 div 0 rmoveto
|
||||||
/Helvetica findfont
|
|
||||||
20.00 scalefont setfont
|
|
||||||
0 0 moveto 163.00 0.80 translate 0.00 rotate 0 0 moveto
|
|
||||||
(524017) stringwidth
|
|
||||||
pop
|
|
||||||
-2 div 0 rmoveto
|
|
||||||
(524017) show
|
(524017) show
|
||||||
setmatrix
|
246 102.4 moveto
|
||||||
matrix currentmatrix
|
(12) stringwidth pop -2 div 0 rmoveto
|
||||||
/Helvetica findfont
|
|
||||||
20.00 scalefont setfont
|
|
||||||
0 0 moveto 246.00 101.90 translate 0.00 rotate 0 0 moveto
|
|
||||||
(12) stringwidth
|
|
||||||
pop
|
|
||||||
-2 div 0 rmoveto
|
|
||||||
(12) show
|
(12) show
|
||||||
setmatrix
|
|
||||||
|
63
backend/tests/data/eps/ean13_2addon_ggs_5.2.2.5.1-2_gws.eps
Normal file
63
backend/tests/data/eps/ean13_2addon_ggs_5.2.2.5.1-2_gws.eps
Normal file
@ -0,0 +1,63 @@
|
|||||||
|
%!PS-Adobe-3.0 EPSF-3.0
|
||||||
|
%%Creator: Zint 2.12.0.9
|
||||||
|
%%Title: Zint Generated Symbol
|
||||||
|
%%Pages: 0
|
||||||
|
%%BoundingBox: 0 0 276 118
|
||||||
|
%%EndComments
|
||||||
|
/TR { newpath moveto dup 3 1 roll 0 rlineto 0 exch rlineto neg 0 rlineto closepath fill } bind def
|
||||||
|
newpath
|
||||||
|
1 1 1 setrgbcolor
|
||||||
|
118 276 0 0 TR
|
||||||
|
0 0 0 setrgbcolor
|
||||||
|
110 2 22 8 TR
|
||||||
|
110 2 26 8 TR
|
||||||
|
100 6 30 18 TR
|
||||||
|
100 4 38 18 TR
|
||||||
|
100 2 46 18 TR
|
||||||
|
100 2 54 18 TR
|
||||||
|
100 4 58 18 TR
|
||||||
|
100 4 66 18 TR
|
||||||
|
100 8 72 18 TR
|
||||||
|
100 2 82 18 TR
|
||||||
|
100 2 90 18 TR
|
||||||
|
100 2 96 18 TR
|
||||||
|
100 2 100 18 TR
|
||||||
|
100 4 108 18 TR
|
||||||
|
110 2 114 8 TR
|
||||||
|
110 2 118 8 TR
|
||||||
|
100 2 122 18 TR
|
||||||
|
100 6 128 18 TR
|
||||||
|
100 4 136 18 TR
|
||||||
|
100 4 142 18 TR
|
||||||
|
100 2 150 18 TR
|
||||||
|
100 6 154 18 TR
|
||||||
|
100 6 164 18 TR
|
||||||
|
100 2 174 18 TR
|
||||||
|
100 4 178 18 TR
|
||||||
|
100 4 186 18 TR
|
||||||
|
100 2 192 18 TR
|
||||||
|
100 2 200 18 TR
|
||||||
|
110 2 206 8 TR
|
||||||
|
110 2 210 8 TR
|
||||||
|
92 2 226 8 TR
|
||||||
|
92 4 230 8 TR
|
||||||
|
92 4 238 8 TR
|
||||||
|
92 2 246 8 TR
|
||||||
|
92 2 250 8 TR
|
||||||
|
92 2 256 8 TR
|
||||||
|
92 4 262 8 TR
|
||||||
|
/Helvetica findfont 21.4 scalefont setfont
|
||||||
|
12.2 0.8 moveto
|
||||||
|
(9) stringwidth pop neg 0 rmoveto
|
||||||
|
(9) show
|
||||||
|
71 0.8 moveto
|
||||||
|
(771384) stringwidth pop -2 div 0 rmoveto
|
||||||
|
(771384) show
|
||||||
|
163 0.8 moveto
|
||||||
|
(524017) stringwidth pop -2 div 0 rmoveto
|
||||||
|
(524017) show
|
||||||
|
246 102.4 moveto
|
||||||
|
(12) stringwidth pop -2 div 0 rmoveto
|
||||||
|
(12) show
|
||||||
|
264 102.4 moveto
|
||||||
|
(>) show
|
51
backend/tests/data/eps/ean13_ggs_5.2.2.1-1.eps
Normal file
51
backend/tests/data/eps/ean13_ggs_5.2.2.1-1.eps
Normal file
@ -0,0 +1,51 @@
|
|||||||
|
%!PS-Adobe-3.0 EPSF-3.0
|
||||||
|
%%Creator: Zint 2.12.0.9
|
||||||
|
%%Title: Zint Generated Symbol
|
||||||
|
%%Pages: 0
|
||||||
|
%%BoundingBox: 0 0 226 118
|
||||||
|
%%EndComments
|
||||||
|
/TR { newpath moveto dup 3 1 roll 0 rlineto 0 exch rlineto neg 0 rlineto closepath fill } bind def
|
||||||
|
newpath
|
||||||
|
1 1 1 setrgbcolor
|
||||||
|
118 226 0 0 TR
|
||||||
|
0 0 0 setrgbcolor
|
||||||
|
110 2 22 8 TR
|
||||||
|
110 2 26 8 TR
|
||||||
|
100 4 30 18 TR
|
||||||
|
100 2 40 18 TR
|
||||||
|
100 2 44 18 TR
|
||||||
|
100 6 50 18 TR
|
||||||
|
100 4 58 18 TR
|
||||||
|
100 4 66 18 TR
|
||||||
|
100 4 74 18 TR
|
||||||
|
100 2 82 18 TR
|
||||||
|
100 2 86 18 TR
|
||||||
|
100 6 92 18 TR
|
||||||
|
100 4 102 18 TR
|
||||||
|
100 2 110 18 TR
|
||||||
|
110 2 114 8 TR
|
||||||
|
110 2 118 8 TR
|
||||||
|
100 2 122 18 TR
|
||||||
|
100 6 128 18 TR
|
||||||
|
100 2 136 18 TR
|
||||||
|
100 2 146 18 TR
|
||||||
|
100 4 150 18 TR
|
||||||
|
100 4 158 18 TR
|
||||||
|
100 6 164 18 TR
|
||||||
|
100 2 174 18 TR
|
||||||
|
100 6 178 18 TR
|
||||||
|
100 2 188 18 TR
|
||||||
|
100 6 192 18 TR
|
||||||
|
100 2 202 18 TR
|
||||||
|
110 2 206 8 TR
|
||||||
|
110 2 210 8 TR
|
||||||
|
/Helvetica findfont 21.4 scalefont setfont
|
||||||
|
12.2 0.8 moveto
|
||||||
|
(9) stringwidth pop neg 0 rmoveto
|
||||||
|
(9) show
|
||||||
|
71 0.8 moveto
|
||||||
|
(501101) stringwidth pop -2 div 0 rmoveto
|
||||||
|
(501101) show
|
||||||
|
163 0.8 moveto
|
||||||
|
(531000) stringwidth pop -2 div 0 rmoveto
|
||||||
|
(531000) show
|
53
backend/tests/data/eps/ean13_ggs_5.2.2.1-1_gws.eps
Normal file
53
backend/tests/data/eps/ean13_ggs_5.2.2.1-1_gws.eps
Normal file
@ -0,0 +1,53 @@
|
|||||||
|
%!PS-Adobe-3.0 EPSF-3.0
|
||||||
|
%%Creator: Zint 2.12.0.9
|
||||||
|
%%Title: Zint Generated Symbol
|
||||||
|
%%Pages: 0
|
||||||
|
%%BoundingBox: 0 0 226 118
|
||||||
|
%%EndComments
|
||||||
|
/TR { newpath moveto dup 3 1 roll 0 rlineto 0 exch rlineto neg 0 rlineto closepath fill } bind def
|
||||||
|
newpath
|
||||||
|
1 1 1 setrgbcolor
|
||||||
|
118 226 0 0 TR
|
||||||
|
0 0 0 setrgbcolor
|
||||||
|
110 2 22 8 TR
|
||||||
|
110 2 26 8 TR
|
||||||
|
100 4 30 18 TR
|
||||||
|
100 2 40 18 TR
|
||||||
|
100 2 44 18 TR
|
||||||
|
100 6 50 18 TR
|
||||||
|
100 4 58 18 TR
|
||||||
|
100 4 66 18 TR
|
||||||
|
100 4 74 18 TR
|
||||||
|
100 2 82 18 TR
|
||||||
|
100 2 86 18 TR
|
||||||
|
100 6 92 18 TR
|
||||||
|
100 4 102 18 TR
|
||||||
|
100 2 110 18 TR
|
||||||
|
110 2 114 8 TR
|
||||||
|
110 2 118 8 TR
|
||||||
|
100 2 122 18 TR
|
||||||
|
100 6 128 18 TR
|
||||||
|
100 2 136 18 TR
|
||||||
|
100 2 146 18 TR
|
||||||
|
100 4 150 18 TR
|
||||||
|
100 4 158 18 TR
|
||||||
|
100 6 164 18 TR
|
||||||
|
100 2 174 18 TR
|
||||||
|
100 6 178 18 TR
|
||||||
|
100 2 188 18 TR
|
||||||
|
100 6 192 18 TR
|
||||||
|
100 2 202 18 TR
|
||||||
|
110 2 206 8 TR
|
||||||
|
110 2 210 8 TR
|
||||||
|
/Helvetica findfont 21.4 scalefont setfont
|
||||||
|
12.2 0.8 moveto
|
||||||
|
(9) stringwidth pop neg 0 rmoveto
|
||||||
|
(9) show
|
||||||
|
71 0.8 moveto
|
||||||
|
(501101) stringwidth pop -2 div 0 rmoveto
|
||||||
|
(501101) show
|
||||||
|
163 0.8 moveto
|
||||||
|
(531000) stringwidth pop -2 div 0 rmoveto
|
||||||
|
(531000) show
|
||||||
|
214 0.8 moveto
|
||||||
|
(>) show
|
31
backend/tests/data/eps/ean5.eps
Normal file
31
backend/tests/data/eps/ean5.eps
Normal file
@ -0,0 +1,31 @@
|
|||||||
|
%!PS-Adobe-3.0 EPSF-3.0
|
||||||
|
%%Creator: Zint 2.12.0.9
|
||||||
|
%%Title: Zint Generated Symbol
|
||||||
|
%%Pages: 0
|
||||||
|
%%BoundingBox: 0 0 104 118
|
||||||
|
%%EndComments
|
||||||
|
/TR { newpath moveto dup 3 1 roll 0 rlineto 0 exch rlineto neg 0 rlineto closepath fill } bind def
|
||||||
|
newpath
|
||||||
|
1 1 1 setrgbcolor
|
||||||
|
118 104 0 0 TR
|
||||||
|
0 0 0 setrgbcolor
|
||||||
|
100 2 0 0 TR
|
||||||
|
100 4 4 0 TR
|
||||||
|
100 2 14 0 TR
|
||||||
|
100 4 18 0 TR
|
||||||
|
100 2 24 0 TR
|
||||||
|
100 4 28 0 TR
|
||||||
|
100 6 34 0 TR
|
||||||
|
100 2 42 0 TR
|
||||||
|
100 2 48 0 TR
|
||||||
|
100 2 56 0 TR
|
||||||
|
100 2 60 0 TR
|
||||||
|
100 2 64 0 TR
|
||||||
|
100 8 68 0 TR
|
||||||
|
100 2 78 0 TR
|
||||||
|
100 6 82 0 TR
|
||||||
|
100 2 92 0 TR
|
||||||
|
/Helvetica findfont 21.4 scalefont setfont
|
||||||
|
47 102.4 moveto
|
||||||
|
(98765) stringwidth pop -2 div 0 rmoveto
|
||||||
|
(98765) show
|
33
backend/tests/data/eps/ean5_gws.eps
Normal file
33
backend/tests/data/eps/ean5_gws.eps
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
%!PS-Adobe-3.0 EPSF-3.0
|
||||||
|
%%Creator: Zint 2.12.0.9
|
||||||
|
%%Title: Zint Generated Symbol
|
||||||
|
%%Pages: 0
|
||||||
|
%%BoundingBox: 0 0 104 118
|
||||||
|
%%EndComments
|
||||||
|
/TR { newpath moveto dup 3 1 roll 0 rlineto 0 exch rlineto neg 0 rlineto closepath fill } bind def
|
||||||
|
newpath
|
||||||
|
1 1 1 setrgbcolor
|
||||||
|
118 104 0 0 TR
|
||||||
|
0 0 0 setrgbcolor
|
||||||
|
100 2 0 0 TR
|
||||||
|
100 4 4 0 TR
|
||||||
|
100 2 14 0 TR
|
||||||
|
100 4 18 0 TR
|
||||||
|
100 2 24 0 TR
|
||||||
|
100 4 28 0 TR
|
||||||
|
100 6 34 0 TR
|
||||||
|
100 2 42 0 TR
|
||||||
|
100 2 48 0 TR
|
||||||
|
100 2 56 0 TR
|
||||||
|
100 2 60 0 TR
|
||||||
|
100 2 64 0 TR
|
||||||
|
100 8 68 0 TR
|
||||||
|
100 2 78 0 TR
|
||||||
|
100 6 82 0 TR
|
||||||
|
100 2 92 0 TR
|
||||||
|
/Helvetica findfont 21.4 scalefont setfont
|
||||||
|
47 102.4 moveto
|
||||||
|
(98765) stringwidth pop -2 div 0 rmoveto
|
||||||
|
(98765) show
|
||||||
|
91.5 102.4 moveto
|
||||||
|
(>) show
|
40
backend/tests/data/eps/ean8_gss_5.2.2.2-1.eps
Normal file
40
backend/tests/data/eps/ean8_gss_5.2.2.2-1.eps
Normal file
@ -0,0 +1,40 @@
|
|||||||
|
%!PS-Adobe-3.0 EPSF-3.0
|
||||||
|
%%Creator: Zint 2.12.0.9
|
||||||
|
%%Title: Zint Generated Symbol
|
||||||
|
%%Pages: 0
|
||||||
|
%%BoundingBox: 0 0 162 118
|
||||||
|
%%EndComments
|
||||||
|
/TR { newpath moveto dup 3 1 roll 0 rlineto 0 exch rlineto neg 0 rlineto closepath fill } bind def
|
||||||
|
newpath
|
||||||
|
1 1 1 setrgbcolor
|
||||||
|
118 162 0 0 TR
|
||||||
|
0 0 0 setrgbcolor
|
||||||
|
110 2 14 8 TR
|
||||||
|
110 2 18 8 TR
|
||||||
|
100 2 26 18 TR
|
||||||
|
100 4 30 18 TR
|
||||||
|
100 4 36 18 TR
|
||||||
|
100 2 46 18 TR
|
||||||
|
100 4 54 18 TR
|
||||||
|
100 2 60 18 TR
|
||||||
|
100 4 66 18 TR
|
||||||
|
100 2 74 18 TR
|
||||||
|
110 2 78 8 TR
|
||||||
|
110 2 82 8 TR
|
||||||
|
100 4 86 18 TR
|
||||||
|
100 4 92 18 TR
|
||||||
|
100 2 100 18 TR
|
||||||
|
100 2 110 18 TR
|
||||||
|
100 2 114 18 TR
|
||||||
|
100 6 118 18 TR
|
||||||
|
100 2 128 18 TR
|
||||||
|
100 2 132 18 TR
|
||||||
|
110 2 142 8 TR
|
||||||
|
110 2 146 8 TR
|
||||||
|
/Helvetica findfont 21.4 scalefont setfont
|
||||||
|
49 0.8 moveto
|
||||||
|
(9501) stringwidth pop -2 div 0 rmoveto
|
||||||
|
(9501) show
|
||||||
|
113 0.8 moveto
|
||||||
|
(2346) stringwidth pop -2 div 0 rmoveto
|
||||||
|
(2346) show
|
45
backend/tests/data/eps/ean8_gss_5.2.2.2-1_gws.eps
Normal file
45
backend/tests/data/eps/ean8_gss_5.2.2.2-1_gws.eps
Normal file
@ -0,0 +1,45 @@
|
|||||||
|
%!PS-Adobe-3.0 EPSF-3.0
|
||||||
|
%%Creator: Zint 2.12.0.9
|
||||||
|
%%Title: Zint Generated Symbol
|
||||||
|
%%Pages: 0
|
||||||
|
%%BoundingBox: 0 0 162 118
|
||||||
|
%%EndComments
|
||||||
|
/TR { newpath moveto dup 3 1 roll 0 rlineto 0 exch rlineto neg 0 rlineto closepath fill } bind def
|
||||||
|
newpath
|
||||||
|
1 1 1 setrgbcolor
|
||||||
|
118 162 0 0 TR
|
||||||
|
0 0 0 setrgbcolor
|
||||||
|
110 2 14 8 TR
|
||||||
|
110 2 18 8 TR
|
||||||
|
100 2 26 18 TR
|
||||||
|
100 4 30 18 TR
|
||||||
|
100 4 36 18 TR
|
||||||
|
100 2 46 18 TR
|
||||||
|
100 4 54 18 TR
|
||||||
|
100 2 60 18 TR
|
||||||
|
100 4 66 18 TR
|
||||||
|
100 2 74 18 TR
|
||||||
|
110 2 78 8 TR
|
||||||
|
110 2 82 8 TR
|
||||||
|
100 4 86 18 TR
|
||||||
|
100 4 92 18 TR
|
||||||
|
100 2 100 18 TR
|
||||||
|
100 2 110 18 TR
|
||||||
|
100 2 114 18 TR
|
||||||
|
100 6 118 18 TR
|
||||||
|
100 2 128 18 TR
|
||||||
|
100 2 132 18 TR
|
||||||
|
110 2 142 8 TR
|
||||||
|
110 2 146 8 TR
|
||||||
|
/Helvetica findfont 21.4 scalefont setfont
|
||||||
|
12.5 0.8 moveto
|
||||||
|
(<) stringwidth pop neg 0 rmoveto
|
||||||
|
(<) show
|
||||||
|
49 0.8 moveto
|
||||||
|
(9501) stringwidth pop -2 div 0 rmoveto
|
||||||
|
(9501) show
|
||||||
|
113 0.8 moveto
|
||||||
|
(2346) stringwidth pop -2 div 0 rmoveto
|
||||||
|
(2346) show
|
||||||
|
149.6 0.8 moveto
|
||||||
|
(>) show
|
@ -1,370 +1,367 @@
|
|||||||
%!PS-Adobe-3.0 EPSF-3.0
|
%!PS-Adobe-3.0 EPSF-3.0
|
||||||
%%Creator: Zint 2.10.0.9
|
%%Creator: Zint 2.12.0.9
|
||||||
%%Title: Zint Generated Symbol
|
%%Title: Zint Generated Symbol
|
||||||
%%Pages: 0
|
%%Pages: 0
|
||||||
%%BoundingBox: 0 0 72 58
|
%%BoundingBox: 0 0 72 58
|
||||||
%%EndComments
|
%%EndComments
|
||||||
/TC { newpath 4 1 roll 3 copy 0 360 arc closepath 4 -1 roll add 360 0 arcn closepath fill } bind def
|
/TC { newpath 4 1 roll 3 copy 0 360 arc closepath 4 -1 roll add 360 0 arcn closepath fill } bind def
|
||||||
/TH { 0 setlinewidth moveto lineto lineto lineto lineto lineto closepath fill } bind def
|
/TH { 0 setlinewidth moveto lineto lineto lineto lineto lineto closepath fill } bind def
|
||||||
/TB { 2 copy } bind def
|
|
||||||
/TR { newpath 4 1 roll exch moveto 1 index 0 rlineto 0 exch rlineto neg 0 rlineto closepath fill } bind def
|
|
||||||
/TE { pop pop } bind def
|
|
||||||
newpath
|
newpath
|
||||||
0.00 0.00 0.00 setrgbcolor
|
0 0 0 setrgbcolor
|
||||||
63.00 2.15 63.87 1.65 63.87 0.65 63.00 0.15 62.13 0.65 62.13 1.65 TH
|
63 2.15 63.87 1.65 63.87 0.65 63 0.15 62.13 0.65 62.13 1.65 TH
|
||||||
59.00 2.15 59.87 1.65 59.87 0.65 59.00 0.15 58.13 0.65 58.13 1.65 TH
|
59 2.15 59.87 1.65 59.87 0.65 59 0.15 58.13 0.65 58.13 1.65 TH
|
||||||
55.00 2.15 55.87 1.65 55.87 0.65 55.00 0.15 54.13 0.65 54.13 1.65 TH
|
55 2.15 55.87 1.65 55.87 0.65 55 0.15 54.13 0.65 54.13 1.65 TH
|
||||||
51.00 2.15 51.87 1.65 51.87 0.65 51.00 0.15 50.13 0.65 50.13 1.65 TH
|
51 2.15 51.87 1.65 51.87 0.65 51 0.15 50.13 0.65 50.13 1.65 TH
|
||||||
47.00 2.15 47.87 1.65 47.87 0.65 47.00 0.15 46.13 0.65 46.13 1.65 TH
|
47 2.15 47.87 1.65 47.87 0.65 47 0.15 46.13 0.65 46.13 1.65 TH
|
||||||
43.00 2.15 43.87 1.65 43.87 0.65 43.00 0.15 42.13 0.65 42.13 1.65 TH
|
43 2.15 43.87 1.65 43.87 0.65 43 0.15 42.13 0.65 42.13 1.65 TH
|
||||||
39.00 2.15 39.87 1.65 39.87 0.65 39.00 0.15 38.13 0.65 38.13 1.65 TH
|
39 2.15 39.87 1.65 39.87 0.65 39 0.15 38.13 0.65 38.13 1.65 TH
|
||||||
35.00 2.15 35.87 1.65 35.87 0.65 35.00 0.15 34.13 0.65 34.13 1.65 TH
|
35 2.15 35.87 1.65 35.87 0.65 35 0.15 34.13 0.65 34.13 1.65 TH
|
||||||
31.00 2.15 31.87 1.65 31.87 0.65 31.00 0.15 30.13 0.65 30.13 1.65 TH
|
31 2.15 31.87 1.65 31.87 0.65 31 0.15 30.13 0.65 30.13 1.65 TH
|
||||||
27.00 2.15 27.87 1.65 27.87 0.65 27.00 0.15 26.13 0.65 26.13 1.65 TH
|
27 2.15 27.87 1.65 27.87 0.65 27 0.15 26.13 0.65 26.13 1.65 TH
|
||||||
23.00 2.15 23.87 1.65 23.87 0.65 23.00 0.15 22.13 0.65 22.13 1.65 TH
|
23 2.15 23.87 1.65 23.87 0.65 23 0.15 22.13 0.65 22.13 1.65 TH
|
||||||
19.00 2.15 19.87 1.65 19.87 0.65 19.00 0.15 18.13 0.65 18.13 1.65 TH
|
19 2.15 19.87 1.65 19.87 0.65 19 0.15 18.13 0.65 18.13 1.65 TH
|
||||||
15.00 2.15 15.87 1.65 15.87 0.65 15.00 0.15 14.13 0.65 14.13 1.65 TH
|
15 2.15 15.87 1.65 15.87 0.65 15 0.15 14.13 0.65 14.13 1.65 TH
|
||||||
11.00 2.15 11.87 1.65 11.87 0.65 11.00 0.15 10.13 0.65 10.13 1.65 TH
|
11 2.15 11.87 1.65 11.87 0.65 11 0.15 10.13 0.65 10.13 1.65 TH
|
||||||
9.00 2.15 9.87 1.65 9.87 0.65 9.00 0.15 8.13 0.65 8.13 1.65 TH
|
9 2.15 9.87 1.65 9.87 0.65 9 0.15 8.13 0.65 8.13 1.65 TH
|
||||||
7.00 2.15 7.87 1.65 7.87 0.65 7.00 0.15 6.13 0.65 6.13 1.65 TH
|
7 2.15 7.87 1.65 7.87 0.65 7 0.15 6.13 0.65 6.13 1.65 TH
|
||||||
65.00 5.62 65.87 5.12 65.87 4.12 65.00 3.62 64.13 4.12 64.13 5.12 TH
|
65 5.62 65.87 5.12 65.87 4.12 65 3.62 64.13 4.12 64.13 5.12 TH
|
||||||
61.00 5.62 61.87 5.12 61.87 4.12 61.00 3.62 60.13 4.12 60.13 5.12 TH
|
61 5.62 61.87 5.12 61.87 4.12 61 3.62 60.13 4.12 60.13 5.12 TH
|
||||||
57.00 5.62 57.87 5.12 57.87 4.12 57.00 3.62 56.13 4.12 56.13 5.12 TH
|
57 5.62 57.87 5.12 57.87 4.12 57 3.62 56.13 4.12 56.13 5.12 TH
|
||||||
53.00 5.62 53.87 5.12 53.87 4.12 53.00 3.62 52.13 4.12 52.13 5.12 TH
|
53 5.62 53.87 5.12 53.87 4.12 53 3.62 52.13 4.12 52.13 5.12 TH
|
||||||
49.00 5.62 49.87 5.12 49.87 4.12 49.00 3.62 48.13 4.12 48.13 5.12 TH
|
49 5.62 49.87 5.12 49.87 4.12 49 3.62 48.13 4.12 48.13 5.12 TH
|
||||||
45.00 5.62 45.87 5.12 45.87 4.12 45.00 3.62 44.13 4.12 44.13 5.12 TH
|
45 5.62 45.87 5.12 45.87 4.12 45 3.62 44.13 4.12 44.13 5.12 TH
|
||||||
41.00 5.62 41.87 5.12 41.87 4.12 41.00 3.62 40.13 4.12 40.13 5.12 TH
|
41 5.62 41.87 5.12 41.87 4.12 41 3.62 40.13 4.12 40.13 5.12 TH
|
||||||
37.00 5.62 37.87 5.12 37.87 4.12 37.00 3.62 36.13 4.12 36.13 5.12 TH
|
37 5.62 37.87 5.12 37.87 4.12 37 3.62 36.13 4.12 36.13 5.12 TH
|
||||||
33.00 5.62 33.87 5.12 33.87 4.12 33.00 3.62 32.13 4.12 32.13 5.12 TH
|
33 5.62 33.87 5.12 33.87 4.12 33 3.62 32.13 4.12 32.13 5.12 TH
|
||||||
29.00 5.62 29.87 5.12 29.87 4.12 29.00 3.62 28.13 4.12 28.13 5.12 TH
|
29 5.62 29.87 5.12 29.87 4.12 29 3.62 28.13 4.12 28.13 5.12 TH
|
||||||
25.00 5.62 25.87 5.12 25.87 4.12 25.00 3.62 24.13 4.12 24.13 5.12 TH
|
25 5.62 25.87 5.12 25.87 4.12 25 3.62 24.13 4.12 24.13 5.12 TH
|
||||||
21.00 5.62 21.87 5.12 21.87 4.12 21.00 3.62 20.13 4.12 20.13 5.12 TH
|
21 5.62 21.87 5.12 21.87 4.12 21 3.62 20.13 4.12 20.13 5.12 TH
|
||||||
17.00 5.62 17.87 5.12 17.87 4.12 17.00 3.62 16.13 4.12 16.13 5.12 TH
|
17 5.62 17.87 5.12 17.87 4.12 17 3.62 16.13 4.12 16.13 5.12 TH
|
||||||
13.00 5.62 13.87 5.12 13.87 4.12 13.00 3.62 12.13 4.12 12.13 5.12 TH
|
13 5.62 13.87 5.12 13.87 4.12 13 3.62 12.13 4.12 12.13 5.12 TH
|
||||||
9.00 5.62 9.87 5.12 9.87 4.12 9.00 3.62 8.13 4.12 8.13 5.12 TH
|
9 5.62 9.87 5.12 9.87 4.12 9 3.62 8.13 4.12 8.13 5.12 TH
|
||||||
62.00 7.35 62.87 6.85 62.87 5.85 62.00 5.35 61.13 5.85 61.13 6.85 TH
|
62 7.35 62.87 6.85 62.87 5.85 62 5.35 61.13 5.85 61.13 6.85 TH
|
||||||
58.00 7.35 58.87 6.85 58.87 5.85 58.00 5.35 57.13 5.85 57.13 6.85 TH
|
58 7.35 58.87 6.85 58.87 5.85 58 5.35 57.13 5.85 57.13 6.85 TH
|
||||||
54.00 7.35 54.87 6.85 54.87 5.85 54.00 5.35 53.13 5.85 53.13 6.85 TH
|
54 7.35 54.87 6.85 54.87 5.85 54 5.35 53.13 5.85 53.13 6.85 TH
|
||||||
50.00 7.35 50.87 6.85 50.87 5.85 50.00 5.35 49.13 5.85 49.13 6.85 TH
|
50 7.35 50.87 6.85 50.87 5.85 50 5.35 49.13 5.85 49.13 6.85 TH
|
||||||
46.00 7.35 46.87 6.85 46.87 5.85 46.00 5.35 45.13 5.85 45.13 6.85 TH
|
46 7.35 46.87 6.85 46.87 5.85 46 5.35 45.13 5.85 45.13 6.85 TH
|
||||||
42.00 7.35 42.87 6.85 42.87 5.85 42.00 5.35 41.13 5.85 41.13 6.85 TH
|
42 7.35 42.87 6.85 42.87 5.85 42 5.35 41.13 5.85 41.13 6.85 TH
|
||||||
38.00 7.35 38.87 6.85 38.87 5.85 38.00 5.35 37.13 5.85 37.13 6.85 TH
|
38 7.35 38.87 6.85 38.87 5.85 38 5.35 37.13 5.85 37.13 6.85 TH
|
||||||
34.00 7.35 34.87 6.85 34.87 5.85 34.00 5.35 33.13 5.85 33.13 6.85 TH
|
34 7.35 34.87 6.85 34.87 5.85 34 5.35 33.13 5.85 33.13 6.85 TH
|
||||||
30.00 7.35 30.87 6.85 30.87 5.85 30.00 5.35 29.13 5.85 29.13 6.85 TH
|
30 7.35 30.87 6.85 30.87 5.85 30 5.35 29.13 5.85 29.13 6.85 TH
|
||||||
26.00 7.35 26.87 6.85 26.87 5.85 26.00 5.35 25.13 5.85 25.13 6.85 TH
|
26 7.35 26.87 6.85 26.87 5.85 26 5.35 25.13 5.85 25.13 6.85 TH
|
||||||
22.00 7.35 22.87 6.85 22.87 5.85 22.00 5.35 21.13 5.85 21.13 6.85 TH
|
22 7.35 22.87 6.85 22.87 5.85 22 5.35 21.13 5.85 21.13 6.85 TH
|
||||||
18.00 7.35 18.87 6.85 18.87 5.85 18.00 5.35 17.13 5.85 17.13 6.85 TH
|
18 7.35 18.87 6.85 18.87 5.85 18 5.35 17.13 5.85 17.13 6.85 TH
|
||||||
14.00 7.35 14.87 6.85 14.87 5.85 14.00 5.35 13.13 5.85 13.13 6.85 TH
|
14 7.35 14.87 6.85 14.87 5.85 14 5.35 13.13 5.85 13.13 6.85 TH
|
||||||
10.00 7.35 10.87 6.85 10.87 5.85 10.00 5.35 9.13 5.85 9.13 6.85 TH
|
10 7.35 10.87 6.85 10.87 5.85 10 5.35 9.13 5.85 9.13 6.85 TH
|
||||||
8.00 7.35 8.87 6.85 8.87 5.85 8.00 5.35 7.13 5.85 7.13 6.85 TH
|
8 7.35 8.87 6.85 8.87 5.85 8 5.35 7.13 5.85 7.13 6.85 TH
|
||||||
7.00 9.08 7.87 8.58 7.87 7.58 7.00 7.08 6.13 7.58 6.13 8.58 TH
|
7 9.08 7.87 8.58 7.87 7.58 7 7.08 6.13 7.58 6.13 8.58 TH
|
||||||
64.00 10.81 64.87 10.31 64.87 9.31 64.00 8.81 63.13 9.31 63.13 10.31 TH
|
64 10.81 64.87 10.31 64.87 9.31 64 8.81 63.13 9.31 63.13 10.31 TH
|
||||||
60.00 10.81 60.87 10.31 60.87 9.31 60.00 8.81 59.13 9.31 59.13 10.31 TH
|
60 10.81 60.87 10.31 60.87 9.31 60 8.81 59.13 9.31 59.13 10.31 TH
|
||||||
56.00 10.81 56.87 10.31 56.87 9.31 56.00 8.81 55.13 9.31 55.13 10.31 TH
|
56 10.81 56.87 10.31 56.87 9.31 56 8.81 55.13 9.31 55.13 10.31 TH
|
||||||
52.00 10.81 52.87 10.31 52.87 9.31 52.00 8.81 51.13 9.31 51.13 10.31 TH
|
52 10.81 52.87 10.31 52.87 9.31 52 8.81 51.13 9.31 51.13 10.31 TH
|
||||||
48.00 10.81 48.87 10.31 48.87 9.31 48.00 8.81 47.13 9.31 47.13 10.31 TH
|
48 10.81 48.87 10.31 48.87 9.31 48 8.81 47.13 9.31 47.13 10.31 TH
|
||||||
44.00 10.81 44.87 10.31 44.87 9.31 44.00 8.81 43.13 9.31 43.13 10.31 TH
|
44 10.81 44.87 10.31 44.87 9.31 44 8.81 43.13 9.31 43.13 10.31 TH
|
||||||
40.00 10.81 40.87 10.31 40.87 9.31 40.00 8.81 39.13 9.31 39.13 10.31 TH
|
40 10.81 40.87 10.31 40.87 9.31 40 8.81 39.13 9.31 39.13 10.31 TH
|
||||||
36.00 10.81 36.87 10.31 36.87 9.31 36.00 8.81 35.13 9.31 35.13 10.31 TH
|
36 10.81 36.87 10.31 36.87 9.31 36 8.81 35.13 9.31 35.13 10.31 TH
|
||||||
32.00 10.81 32.87 10.31 32.87 9.31 32.00 8.81 31.13 9.31 31.13 10.31 TH
|
32 10.81 32.87 10.31 32.87 9.31 32 8.81 31.13 9.31 31.13 10.31 TH
|
||||||
28.00 10.81 28.87 10.31 28.87 9.31 28.00 8.81 27.13 9.31 27.13 10.31 TH
|
28 10.81 28.87 10.31 28.87 9.31 28 8.81 27.13 9.31 27.13 10.31 TH
|
||||||
24.00 10.81 24.87 10.31 24.87 9.31 24.00 8.81 23.13 9.31 23.13 10.31 TH
|
24 10.81 24.87 10.31 24.87 9.31 24 8.81 23.13 9.31 23.13 10.31 TH
|
||||||
20.00 10.81 20.87 10.31 20.87 9.31 20.00 8.81 19.13 9.31 19.13 10.31 TH
|
20 10.81 20.87 10.31 20.87 9.31 20 8.81 19.13 9.31 19.13 10.31 TH
|
||||||
16.00 10.81 16.87 10.31 16.87 9.31 16.00 8.81 15.13 9.31 15.13 10.31 TH
|
16 10.81 16.87 10.31 16.87 9.31 16 8.81 15.13 9.31 15.13 10.31 TH
|
||||||
12.00 10.81 12.87 10.31 12.87 9.31 12.00 8.81 11.13 9.31 11.13 10.31 TH
|
12 10.81 12.87 10.31 12.87 9.31 12 8.81 11.13 9.31 11.13 10.31 TH
|
||||||
63.00 12.55 63.87 12.05 63.87 11.05 63.00 10.55 62.13 11.05 62.13 12.05 TH
|
63 12.55 63.87 12.05 63.87 11.05 63 10.55 62.13 11.05 62.13 12.05 TH
|
||||||
59.00 12.55 59.87 12.05 59.87 11.05 59.00 10.55 58.13 11.05 58.13 12.05 TH
|
59 12.55 59.87 12.05 59.87 11.05 59 10.55 58.13 11.05 58.13 12.05 TH
|
||||||
55.00 12.55 55.87 12.05 55.87 11.05 55.00 10.55 54.13 11.05 54.13 12.05 TH
|
55 12.55 55.87 12.05 55.87 11.05 55 10.55 54.13 11.05 54.13 12.05 TH
|
||||||
51.00 12.55 51.87 12.05 51.87 11.05 51.00 10.55 50.13 11.05 50.13 12.05 TH
|
51 12.55 51.87 12.05 51.87 11.05 51 10.55 50.13 11.05 50.13 12.05 TH
|
||||||
47.00 12.55 47.87 12.05 47.87 11.05 47.00 10.55 46.13 11.05 46.13 12.05 TH
|
47 12.55 47.87 12.05 47.87 11.05 47 10.55 46.13 11.05 46.13 12.05 TH
|
||||||
43.00 12.55 43.87 12.05 43.87 11.05 43.00 10.55 42.13 11.05 42.13 12.05 TH
|
43 12.55 43.87 12.05 43.87 11.05 43 10.55 42.13 11.05 42.13 12.05 TH
|
||||||
39.00 12.55 39.87 12.05 39.87 11.05 39.00 10.55 38.13 11.05 38.13 12.05 TH
|
39 12.55 39.87 12.05 39.87 11.05 39 10.55 38.13 11.05 38.13 12.05 TH
|
||||||
35.00 12.55 35.87 12.05 35.87 11.05 35.00 10.55 34.13 11.05 34.13 12.05 TH
|
35 12.55 35.87 12.05 35.87 11.05 35 10.55 34.13 11.05 34.13 12.05 TH
|
||||||
31.00 12.55 31.87 12.05 31.87 11.05 31.00 10.55 30.13 11.05 30.13 12.05 TH
|
31 12.55 31.87 12.05 31.87 11.05 31 10.55 30.13 11.05 30.13 12.05 TH
|
||||||
27.00 12.55 27.87 12.05 27.87 11.05 27.00 10.55 26.13 11.05 26.13 12.05 TH
|
27 12.55 27.87 12.05 27.87 11.05 27 10.55 26.13 11.05 26.13 12.05 TH
|
||||||
23.00 12.55 23.87 12.05 23.87 11.05 23.00 10.55 22.13 11.05 22.13 12.05 TH
|
23 12.55 23.87 12.05 23.87 11.05 23 10.55 22.13 11.05 22.13 12.05 TH
|
||||||
19.00 12.55 19.87 12.05 19.87 11.05 19.00 10.55 18.13 11.05 18.13 12.05 TH
|
19 12.55 19.87 12.05 19.87 11.05 19 10.55 18.13 11.05 18.13 12.05 TH
|
||||||
15.00 12.55 15.87 12.05 15.87 11.05 15.00 10.55 14.13 11.05 14.13 12.05 TH
|
15 12.55 15.87 12.05 15.87 11.05 15 10.55 14.13 11.05 14.13 12.05 TH
|
||||||
11.00 12.55 11.87 12.05 11.87 11.05 11.00 10.55 10.13 11.05 10.13 12.05 TH
|
11 12.55 11.87 12.05 11.87 11.05 11 10.55 10.13 11.05 10.13 12.05 TH
|
||||||
9.00 12.55 9.87 12.05 9.87 11.05 9.00 10.55 8.13 11.05 8.13 12.05 TH
|
9 12.55 9.87 12.05 9.87 11.05 9 10.55 8.13 11.05 8.13 12.05 TH
|
||||||
8.00 14.28 8.87 13.78 8.87 12.78 8.00 12.28 7.13 12.78 7.13 13.78 TH
|
8 14.28 8.87 13.78 8.87 12.78 8 12.28 7.13 12.78 7.13 13.78 TH
|
||||||
65.00 16.01 65.87 15.51 65.87 14.51 65.00 14.01 64.13 14.51 64.13 15.51 TH
|
65 16.01 65.87 15.51 65.87 14.51 65 14.01 64.13 14.51 64.13 15.51 TH
|
||||||
61.00 16.01 61.87 15.51 61.87 14.51 61.00 14.01 60.13 14.51 60.13 15.51 TH
|
61 16.01 61.87 15.51 61.87 14.51 61 14.01 60.13 14.51 60.13 15.51 TH
|
||||||
57.00 16.01 57.87 15.51 57.87 14.51 57.00 14.01 56.13 14.51 56.13 15.51 TH
|
57 16.01 57.87 15.51 57.87 14.51 57 14.01 56.13 14.51 56.13 15.51 TH
|
||||||
53.00 16.01 53.87 15.51 53.87 14.51 53.00 14.01 52.13 14.51 52.13 15.51 TH
|
53 16.01 53.87 15.51 53.87 14.51 53 14.01 52.13 14.51 52.13 15.51 TH
|
||||||
49.00 16.01 49.87 15.51 49.87 14.51 49.00 14.01 48.13 14.51 48.13 15.51 TH
|
49 16.01 49.87 15.51 49.87 14.51 49 14.01 48.13 14.51 48.13 15.51 TH
|
||||||
45.00 16.01 45.87 15.51 45.87 14.51 45.00 14.01 44.13 14.51 44.13 15.51 TH
|
45 16.01 45.87 15.51 45.87 14.51 45 14.01 44.13 14.51 44.13 15.51 TH
|
||||||
41.00 16.01 41.87 15.51 41.87 14.51 41.00 14.01 40.13 14.51 40.13 15.51 TH
|
41 16.01 41.87 15.51 41.87 14.51 41 14.01 40.13 14.51 40.13 15.51 TH
|
||||||
37.00 16.01 37.87 15.51 37.87 14.51 37.00 14.01 36.13 14.51 36.13 15.51 TH
|
37 16.01 37.87 15.51 37.87 14.51 37 14.01 36.13 14.51 36.13 15.51 TH
|
||||||
33.00 16.01 33.87 15.51 33.87 14.51 33.00 14.01 32.13 14.51 32.13 15.51 TH
|
33 16.01 33.87 15.51 33.87 14.51 33 14.01 32.13 14.51 32.13 15.51 TH
|
||||||
29.00 16.01 29.87 15.51 29.87 14.51 29.00 14.01 28.13 14.51 28.13 15.51 TH
|
29 16.01 29.87 15.51 29.87 14.51 29 14.01 28.13 14.51 28.13 15.51 TH
|
||||||
25.00 16.01 25.87 15.51 25.87 14.51 25.00 14.01 24.13 14.51 24.13 15.51 TH
|
25 16.01 25.87 15.51 25.87 14.51 25 14.01 24.13 14.51 24.13 15.51 TH
|
||||||
21.00 16.01 21.87 15.51 21.87 14.51 21.00 14.01 20.13 14.51 20.13 15.51 TH
|
21 16.01 21.87 15.51 21.87 14.51 21 14.01 20.13 14.51 20.13 15.51 TH
|
||||||
17.00 16.01 17.87 15.51 17.87 14.51 17.00 14.01 16.13 14.51 16.13 15.51 TH
|
17 16.01 17.87 15.51 17.87 14.51 17 14.01 16.13 14.51 16.13 15.51 TH
|
||||||
13.00 16.01 13.87 15.51 13.87 14.51 13.00 14.01 12.13 14.51 12.13 15.51 TH
|
13 16.01 13.87 15.51 13.87 14.51 13 14.01 12.13 14.51 12.13 15.51 TH
|
||||||
7.00 16.01 7.87 15.51 7.87 14.51 7.00 14.01 6.13 14.51 6.13 15.51 TH
|
7 16.01 7.87 15.51 7.87 14.51 7 14.01 6.13 14.51 6.13 15.51 TH
|
||||||
62.00 17.74 62.87 17.24 62.87 16.24 62.00 15.74 61.13 16.24 61.13 17.24 TH
|
62 17.74 62.87 17.24 62.87 16.24 62 15.74 61.13 16.24 61.13 17.24 TH
|
||||||
58.00 17.74 58.87 17.24 58.87 16.24 58.00 15.74 57.13 16.24 57.13 17.24 TH
|
58 17.74 58.87 17.24 58.87 16.24 58 15.74 57.13 16.24 57.13 17.24 TH
|
||||||
54.00 17.74 54.87 17.24 54.87 16.24 54.00 15.74 53.13 16.24 53.13 17.24 TH
|
54 17.74 54.87 17.24 54.87 16.24 54 15.74 53.13 16.24 53.13 17.24 TH
|
||||||
50.00 17.74 50.87 17.24 50.87 16.24 50.00 15.74 49.13 16.24 49.13 17.24 TH
|
50 17.74 50.87 17.24 50.87 16.24 50 15.74 49.13 16.24 49.13 17.24 TH
|
||||||
46.00 17.74 46.87 17.24 46.87 16.24 46.00 15.74 45.13 16.24 45.13 17.24 TH
|
46 17.74 46.87 17.24 46.87 16.24 46 15.74 45.13 16.24 45.13 17.24 TH
|
||||||
44.00 17.74 44.87 17.24 44.87 16.24 44.00 15.74 43.13 16.24 43.13 17.24 TH
|
44 17.74 44.87 17.24 44.87 16.24 44 15.74 43.13 16.24 43.13 17.24 TH
|
||||||
42.00 17.74 42.87 17.24 42.87 16.24 42.00 15.74 41.13 16.24 41.13 17.24 TH
|
42 17.74 42.87 17.24 42.87 16.24 42 15.74 41.13 16.24 41.13 17.24 TH
|
||||||
40.00 17.74 40.87 17.24 40.87 16.24 40.00 15.74 39.13 16.24 39.13 17.24 TH
|
40 17.74 40.87 17.24 40.87 16.24 40 15.74 39.13 16.24 39.13 17.24 TH
|
||||||
38.00 17.74 38.87 17.24 38.87 16.24 38.00 15.74 37.13 16.24 37.13 17.24 TH
|
38 17.74 38.87 17.24 38.87 16.24 38 15.74 37.13 16.24 37.13 17.24 TH
|
||||||
34.00 17.74 34.87 17.24 34.87 16.24 34.00 15.74 33.13 16.24 33.13 17.24 TH
|
34 17.74 34.87 17.24 34.87 16.24 34 15.74 33.13 16.24 33.13 17.24 TH
|
||||||
24.00 17.74 24.87 17.24 24.87 16.24 24.00 15.74 23.13 16.24 23.13 17.24 TH
|
24 17.74 24.87 17.24 24.87 16.24 24 15.74 23.13 16.24 23.13 17.24 TH
|
||||||
18.00 17.74 18.87 17.24 18.87 16.24 18.00 15.74 17.13 16.24 17.13 17.24 TH
|
18 17.74 18.87 17.24 18.87 16.24 18 15.74 17.13 16.24 17.13 17.24 TH
|
||||||
14.00 17.74 14.87 17.24 14.87 16.24 14.00 15.74 13.13 16.24 13.13 17.24 TH
|
14 17.74 14.87 17.24 14.87 16.24 14 15.74 13.13 16.24 13.13 17.24 TH
|
||||||
10.00 17.74 10.87 17.24 10.87 16.24 10.00 15.74 9.13 16.24 9.13 17.24 TH
|
10 17.74 10.87 17.24 10.87 16.24 10 15.74 9.13 16.24 9.13 17.24 TH
|
||||||
43.00 19.47 43.87 18.97 43.87 17.97 43.00 17.47 42.13 17.97 42.13 18.97 TH
|
43 19.47 43.87 18.97 43.87 17.97 43 17.47 42.13 17.97 42.13 18.97 TH
|
||||||
33.00 19.47 33.87 18.97 33.87 17.97 33.00 17.47 32.13 17.97 32.13 18.97 TH
|
33 19.47 33.87 18.97 33.87 17.97 33 17.47 32.13 17.97 32.13 18.97 TH
|
||||||
23.00 19.47 23.87 18.97 23.87 17.97 23.00 17.47 22.13 17.97 22.13 18.97 TH
|
23 19.47 23.87 18.97 23.87 17.97 23 17.47 22.13 17.97 22.13 18.97 TH
|
||||||
64.00 21.21 64.87 20.71 64.87 19.71 64.00 19.21 63.13 19.71 63.13 20.71 TH
|
64 21.21 64.87 20.71 64.87 19.71 64 19.21 63.13 19.71 63.13 20.71 TH
|
||||||
60.00 21.21 60.87 20.71 60.87 19.71 60.00 19.21 59.13 19.71 59.13 20.71 TH
|
60 21.21 60.87 20.71 60.87 19.71 60 19.21 59.13 19.71 59.13 20.71 TH
|
||||||
56.00 21.21 56.87 20.71 56.87 19.71 56.00 19.21 55.13 19.71 55.13 20.71 TH
|
56 21.21 56.87 20.71 56.87 19.71 56 19.21 55.13 19.71 55.13 20.71 TH
|
||||||
52.00 21.21 52.87 20.71 52.87 19.71 52.00 19.21 51.13 19.71 51.13 20.71 TH
|
52 21.21 52.87 20.71 52.87 19.71 52 19.21 51.13 19.71 51.13 20.71 TH
|
||||||
46.00 21.21 46.87 20.71 46.87 19.71 46.00 19.21 45.13 19.71 45.13 20.71 TH
|
46 21.21 46.87 20.71 46.87 19.71 46 19.21 45.13 19.71 45.13 20.71 TH
|
||||||
44.00 21.21 44.87 20.71 44.87 19.71 44.00 19.21 43.13 19.71 43.13 20.71 TH
|
44 21.21 44.87 20.71 44.87 19.71 44 19.21 43.13 19.71 43.13 20.71 TH
|
||||||
28.00 21.21 28.87 20.71 28.87 19.71 28.00 19.21 27.13 19.71 27.13 20.71 TH
|
28 21.21 28.87 20.71 28.87 19.71 28 19.21 27.13 19.71 27.13 20.71 TH
|
||||||
22.00 21.21 22.87 20.71 22.87 19.71 22.00 19.21 21.13 19.71 21.13 20.71 TH
|
22 21.21 22.87 20.71 22.87 19.71 22 19.21 21.13 19.71 21.13 20.71 TH
|
||||||
20.00 21.21 20.87 20.71 20.87 19.71 20.00 19.21 19.13 19.71 19.13 20.71 TH
|
20 21.21 20.87 20.71 20.87 19.71 20 19.21 19.13 19.71 19.13 20.71 TH
|
||||||
16.00 21.21 16.87 20.71 16.87 19.71 16.00 19.21 15.13 19.71 15.13 20.71 TH
|
16 21.21 16.87 20.71 16.87 19.71 16 19.21 15.13 19.71 15.13 20.71 TH
|
||||||
12.00 21.21 12.87 20.71 12.87 19.71 12.00 19.21 11.13 19.71 11.13 20.71 TH
|
12 21.21 12.87 20.71 12.87 19.71 12 19.21 11.13 19.71 11.13 20.71 TH
|
||||||
8.00 21.21 8.87 20.71 8.87 19.71 8.00 19.21 7.13 19.71 7.13 20.71 TH
|
8 21.21 8.87 20.71 8.87 19.71 8 19.21 7.13 19.71 7.13 20.71 TH
|
||||||
63.00 22.94 63.87 22.44 63.87 21.44 63.00 20.94 62.13 21.44 62.13 22.44 TH
|
63 22.94 63.87 22.44 63.87 21.44 63 20.94 62.13 21.44 62.13 22.44 TH
|
||||||
59.00 22.94 59.87 22.44 59.87 21.44 59.00 20.94 58.13 21.44 58.13 22.44 TH
|
59 22.94 59.87 22.44 59.87 21.44 59 20.94 58.13 21.44 58.13 22.44 TH
|
||||||
55.00 22.94 55.87 22.44 55.87 21.44 55.00 20.94 54.13 21.44 54.13 22.44 TH
|
55 22.94 55.87 22.44 55.87 21.44 55 20.94 54.13 21.44 54.13 22.44 TH
|
||||||
51.00 22.94 51.87 22.44 51.87 21.44 51.00 20.94 50.13 21.44 50.13 22.44 TH
|
51 22.94 51.87 22.44 51.87 21.44 51 20.94 50.13 21.44 50.13 22.44 TH
|
||||||
47.00 22.94 47.87 22.44 47.87 21.44 47.00 20.94 46.13 21.44 46.13 22.44 TH
|
47 22.94 47.87 22.44 47.87 21.44 47 20.94 46.13 21.44 46.13 22.44 TH
|
||||||
45.00 22.94 45.87 22.44 45.87 21.44 45.00 20.94 44.13 21.44 44.13 22.44 TH
|
45 22.94 45.87 22.44 45.87 21.44 45 20.94 44.13 21.44 44.13 22.44 TH
|
||||||
23.00 22.94 23.87 22.44 23.87 21.44 23.00 20.94 22.13 21.44 22.13 22.44 TH
|
23 22.94 23.87 22.44 23.87 21.44 23 20.94 22.13 21.44 22.13 22.44 TH
|
||||||
19.00 22.94 19.87 22.44 19.87 21.44 19.00 20.94 18.13 21.44 18.13 22.44 TH
|
19 22.94 19.87 22.44 19.87 21.44 19 20.94 18.13 21.44 18.13 22.44 TH
|
||||||
15.00 22.94 15.87 22.44 15.87 21.44 15.00 20.94 14.13 21.44 14.13 22.44 TH
|
15 22.94 15.87 22.44 15.87 21.44 15 20.94 14.13 21.44 14.13 22.44 TH
|
||||||
11.00 22.94 11.87 22.44 11.87 21.44 11.00 20.94 10.13 21.44 10.13 22.44 TH
|
11 22.94 11.87 22.44 11.87 21.44 11 20.94 10.13 21.44 10.13 22.44 TH
|
||||||
9.00 22.94 9.87 22.44 9.87 21.44 9.00 20.94 8.13 21.44 8.13 22.44 TH
|
9 22.94 9.87 22.44 9.87 21.44 9 20.94 8.13 21.44 8.13 22.44 TH
|
||||||
50.00 24.67 50.87 24.17 50.87 23.17 50.00 22.67 49.13 23.17 49.13 24.17 TH
|
50 24.67 50.87 24.17 50.87 23.17 50 22.67 49.13 23.17 49.13 24.17 TH
|
||||||
22.00 24.67 22.87 24.17 22.87 23.17 22.00 22.67 21.13 23.17 21.13 24.17 TH
|
22 24.67 22.87 24.17 22.87 23.17 22 22.67 21.13 23.17 21.13 24.17 TH
|
||||||
65.00 26.40 65.87 25.90 65.87 24.90 65.00 24.40 64.13 24.90 64.13 25.90 TH
|
65 26.4 65.87 25.9 65.87 24.9 65 24.4 64.13 24.9 64.13 25.9 TH
|
||||||
61.00 26.40 61.87 25.90 61.87 24.90 61.00 24.40 60.13 24.90 60.13 25.90 TH
|
61 26.4 61.87 25.9 61.87 24.9 61 24.4 60.13 24.9 60.13 25.9 TH
|
||||||
57.00 26.40 57.87 25.90 57.87 24.90 57.00 24.40 56.13 24.90 56.13 25.90 TH
|
57 26.4 57.87 25.9 57.87 24.9 57 24.4 56.13 24.9 56.13 25.9 TH
|
||||||
49.00 26.40 49.87 25.90 49.87 24.90 49.00 24.40 48.13 24.90 48.13 25.90 TH
|
49 26.4 49.87 25.9 49.87 24.9 49 24.4 48.13 24.9 48.13 25.9 TH
|
||||||
27.00 26.40 27.87 25.90 27.87 24.90 27.00 24.40 26.13 24.90 26.13 25.90 TH
|
27 26.4 27.87 25.9 27.87 24.9 27 24.4 26.13 24.9 26.13 25.9 TH
|
||||||
25.00 26.40 25.87 25.90 25.87 24.90 25.00 24.40 24.13 24.90 24.13 25.90 TH
|
25 26.4 25.87 25.9 25.87 24.9 25 24.4 24.13 24.9 24.13 25.9 TH
|
||||||
21.00 26.40 21.87 25.90 21.87 24.90 21.00 24.40 20.13 24.90 20.13 25.90 TH
|
21 26.4 21.87 25.9 21.87 24.9 21 24.4 20.13 24.9 20.13 25.9 TH
|
||||||
17.00 26.40 17.87 25.90 17.87 24.90 17.00 24.40 16.13 24.90 16.13 25.90 TH
|
17 26.4 17.87 25.9 17.87 24.9 17 24.4 16.13 24.9 16.13 25.9 TH
|
||||||
13.00 26.40 13.87 25.90 13.87 24.90 13.00 24.40 12.13 24.90 12.13 25.90 TH
|
13 26.4 13.87 25.9 13.87 24.9 13 24.4 12.13 24.9 12.13 25.9 TH
|
||||||
62.00 28.13 62.87 27.63 62.87 26.63 62.00 26.13 61.13 26.63 61.13 27.63 TH
|
62 28.13 62.87 27.63 62.87 26.63 62 26.13 61.13 26.63 61.13 27.63 TH
|
||||||
58.00 28.13 58.87 27.63 58.87 26.63 58.00 26.13 57.13 26.63 57.13 27.63 TH
|
58 28.13 58.87 27.63 58.87 26.63 58 26.13 57.13 26.63 57.13 27.63 TH
|
||||||
54.00 28.13 54.87 27.63 54.87 26.63 54.00 26.13 53.13 26.63 53.13 27.63 TH
|
54 28.13 54.87 27.63 54.87 26.63 54 26.13 53.13 26.63 53.13 27.63 TH
|
||||||
52.00 28.13 52.87 27.63 52.87 26.63 52.00 26.13 51.13 26.63 51.13 27.63 TH
|
52 28.13 52.87 27.63 52.87 26.63 52 26.13 51.13 26.63 51.13 27.63 TH
|
||||||
50.00 28.13 50.87 27.63 50.87 26.63 50.00 26.13 49.13 26.63 49.13 27.63 TH
|
50 28.13 50.87 27.63 50.87 26.63 50 26.13 49.13 26.63 49.13 27.63 TH
|
||||||
48.00 28.13 48.87 27.63 48.87 26.63 48.00 26.13 47.13 26.63 47.13 27.63 TH
|
48 28.13 48.87 27.63 48.87 26.63 48 26.13 47.13 26.63 47.13 27.63 TH
|
||||||
24.00 28.13 24.87 27.63 24.87 26.63 24.00 26.13 23.13 26.63 23.13 27.63 TH
|
24 28.13 24.87 27.63 24.87 26.63 24 26.13 23.13 26.63 23.13 27.63 TH
|
||||||
18.00 28.13 18.87 27.63 18.87 26.63 18.00 26.13 17.13 26.63 17.13 27.63 TH
|
18 28.13 18.87 27.63 18.87 26.63 18 26.13 17.13 26.63 17.13 27.63 TH
|
||||||
14.00 28.13 14.87 27.63 14.87 26.63 14.00 26.13 13.13 26.63 13.13 27.63 TH
|
14 28.13 14.87 27.63 14.87 26.63 14 26.13 13.13 26.63 13.13 27.63 TH
|
||||||
10.00 28.13 10.87 27.63 10.87 26.63 10.00 26.13 9.13 26.63 9.13 27.63 TH
|
10 28.13 10.87 27.63 10.87 26.63 10 26.13 9.13 26.63 9.13 27.63 TH
|
||||||
8.00 28.13 8.87 27.63 8.87 26.63 8.00 26.13 7.13 26.63 7.13 27.63 TH
|
8 28.13 8.87 27.63 8.87 26.63 8 26.13 7.13 26.63 7.13 27.63 TH
|
||||||
49.00 29.87 49.87 29.37 49.87 28.37 49.00 27.87 48.13 28.37 48.13 29.37 TH
|
49 29.87 49.87 29.37 49.87 28.37 49 27.87 48.13 28.37 48.13 29.37 TH
|
||||||
25.00 29.87 25.87 29.37 25.87 28.37 25.00 27.87 24.13 28.37 24.13 29.37 TH
|
25 29.87 25.87 29.37 25.87 28.37 25 27.87 24.13 28.37 24.13 29.37 TH
|
||||||
9.00 29.87 9.87 29.37 9.87 28.37 9.00 27.87 8.13 28.37 8.13 29.37 TH
|
9 29.87 9.87 29.37 9.87 28.37 9 27.87 8.13 28.37 8.13 29.37 TH
|
||||||
64.00 31.60 64.87 31.10 64.87 30.10 64.00 29.60 63.13 30.10 63.13 31.10 TH
|
64 31.6 64.87 31.1 64.87 30.1 64 29.6 63.13 30.1 63.13 31.1 TH
|
||||||
60.00 31.60 60.87 31.10 60.87 30.10 60.00 29.60 59.13 30.10 59.13 31.10 TH
|
60 31.6 60.87 31.1 60.87 30.1 60 29.6 59.13 30.1 59.13 31.1 TH
|
||||||
56.00 31.60 56.87 31.10 56.87 30.10 56.00 29.60 55.13 30.10 55.13 31.10 TH
|
56 31.6 56.87 31.1 56.87 30.1 56 29.6 55.13 30.1 55.13 31.1 TH
|
||||||
24.00 31.60 24.87 31.10 24.87 30.10 24.00 29.60 23.13 30.10 23.13 31.10 TH
|
24 31.6 24.87 31.1 24.87 30.1 24 29.6 23.13 30.1 23.13 31.1 TH
|
||||||
22.00 31.60 22.87 31.10 22.87 30.10 22.00 29.60 21.13 30.10 21.13 31.10 TH
|
22 31.6 22.87 31.1 22.87 30.1 22 29.6 21.13 30.1 21.13 31.1 TH
|
||||||
20.00 31.60 20.87 31.10 20.87 30.10 20.00 29.60 19.13 30.10 19.13 31.10 TH
|
20 31.6 20.87 31.1 20.87 30.1 20 29.6 19.13 30.1 19.13 31.1 TH
|
||||||
16.00 31.60 16.87 31.10 16.87 30.10 16.00 29.60 15.13 30.10 15.13 31.10 TH
|
16 31.6 16.87 31.1 16.87 30.1 16 29.6 15.13 30.1 15.13 31.1 TH
|
||||||
12.00 31.60 12.87 31.10 12.87 30.10 12.00 29.60 11.13 30.10 11.13 31.10 TH
|
12 31.6 12.87 31.1 12.87 30.1 12 29.6 11.13 30.1 11.13 31.1 TH
|
||||||
63.00 33.33 63.87 32.83 63.87 31.83 63.00 31.33 62.13 31.83 62.13 32.83 TH
|
63 33.33 63.87 32.83 63.87 31.83 63 31.33 62.13 31.83 62.13 32.83 TH
|
||||||
59.00 33.33 59.87 32.83 59.87 31.83 59.00 31.33 58.13 31.83 58.13 32.83 TH
|
59 33.33 59.87 32.83 59.87 31.83 59 31.33 58.13 31.83 58.13 32.83 TH
|
||||||
55.00 33.33 55.87 32.83 55.87 31.83 55.00 31.33 54.13 31.83 54.13 32.83 TH
|
55 33.33 55.87 32.83 55.87 31.83 55 31.33 54.13 31.83 54.13 32.83 TH
|
||||||
51.00 33.33 51.87 32.83 51.87 31.83 51.00 31.33 50.13 31.83 50.13 32.83 TH
|
51 33.33 51.87 32.83 51.87 31.83 51 31.33 50.13 31.83 50.13 32.83 TH
|
||||||
49.00 33.33 49.87 32.83 49.87 31.83 49.00 31.33 48.13 31.83 48.13 32.83 TH
|
49 33.33 49.87 32.83 49.87 31.83 49 31.33 48.13 31.83 48.13 32.83 TH
|
||||||
47.00 33.33 47.87 32.83 47.87 31.83 47.00 31.33 46.13 31.83 46.13 32.83 TH
|
47 33.33 47.87 32.83 47.87 31.83 47 31.33 46.13 31.83 46.13 32.83 TH
|
||||||
23.00 33.33 23.87 32.83 23.87 31.83 23.00 31.33 22.13 31.83 22.13 32.83 TH
|
23 33.33 23.87 32.83 23.87 31.83 23 31.33 22.13 31.83 22.13 32.83 TH
|
||||||
19.00 33.33 19.87 32.83 19.87 31.83 19.00 31.33 18.13 31.83 18.13 32.83 TH
|
19 33.33 19.87 32.83 19.87 31.83 19 31.33 18.13 31.83 18.13 32.83 TH
|
||||||
15.00 33.33 15.87 32.83 15.87 31.83 15.00 31.33 14.13 31.83 14.13 32.83 TH
|
15 33.33 15.87 32.83 15.87 31.83 15 31.33 14.13 31.83 14.13 32.83 TH
|
||||||
11.00 33.33 11.87 32.83 11.87 31.83 11.00 31.33 10.13 31.83 10.13 32.83 TH
|
11 33.33 11.87 32.83 11.87 31.83 11 31.33 10.13 31.83 10.13 32.83 TH
|
||||||
9.00 33.33 9.87 32.83 9.87 31.83 9.00 31.33 8.13 31.83 8.13 32.83 TH
|
9 33.33 9.87 32.83 9.87 31.83 9 31.33 8.13 31.83 8.13 32.83 TH
|
||||||
7.00 33.33 7.87 32.83 7.87 31.83 7.00 31.33 6.13 31.83 6.13 32.83 TH
|
7 33.33 7.87 32.83 7.87 31.83 7 31.33 6.13 31.83 6.13 32.83 TH
|
||||||
48.00 35.06 48.87 34.56 48.87 33.56 48.00 33.06 47.13 33.56 47.13 34.56 TH
|
48 35.06 48.87 34.56 48.87 33.56 48 33.06 47.13 33.56 47.13 34.56 TH
|
||||||
8.00 35.06 8.87 34.56 8.87 33.56 8.00 33.06 7.13 33.56 7.13 34.56 TH
|
8 35.06 8.87 34.56 8.87 33.56 8 33.06 7.13 33.56 7.13 34.56 TH
|
||||||
65.00 36.79 65.87 36.29 65.87 35.29 65.00 34.79 64.13 35.29 64.13 36.29 TH
|
65 36.79 65.87 36.29 65.87 35.29 65 34.79 64.13 35.29 64.13 36.29 TH
|
||||||
61.00 36.79 61.87 36.29 61.87 35.29 61.00 34.79 60.13 35.29 60.13 36.29 TH
|
61 36.79 61.87 36.29 61.87 35.29 61 34.79 60.13 35.29 60.13 36.29 TH
|
||||||
57.00 36.79 57.87 36.29 57.87 35.29 57.00 34.79 56.13 35.29 56.13 36.29 TH
|
57 36.79 57.87 36.29 57.87 35.29 57 34.79 56.13 35.29 56.13 36.29 TH
|
||||||
53.00 36.79 53.87 36.29 53.87 35.29 53.00 34.79 52.13 35.29 52.13 36.29 TH
|
53 36.79 53.87 36.29 53.87 35.29 53 34.79 52.13 35.29 52.13 36.29 TH
|
||||||
51.00 36.79 51.87 36.29 51.87 35.29 51.00 34.79 50.13 35.29 50.13 36.29 TH
|
51 36.79 51.87 36.29 51.87 35.29 51 34.79 50.13 35.29 50.13 36.29 TH
|
||||||
29.00 36.79 29.87 36.29 29.87 35.29 29.00 34.79 28.13 35.29 28.13 36.29 TH
|
29 36.79 29.87 36.29 29.87 35.29 29 34.79 28.13 35.29 28.13 36.29 TH
|
||||||
27.00 36.79 27.87 36.29 27.87 35.29 27.00 34.79 26.13 35.29 26.13 36.29 TH
|
27 36.79 27.87 36.29 27.87 35.29 27 34.79 26.13 35.29 26.13 36.29 TH
|
||||||
25.00 36.79 25.87 36.29 25.87 35.29 25.00 34.79 24.13 35.29 24.13 36.29 TH
|
25 36.79 25.87 36.29 25.87 35.29 25 34.79 24.13 35.29 24.13 36.29 TH
|
||||||
23.00 36.79 23.87 36.29 23.87 35.29 23.00 34.79 22.13 35.29 22.13 36.29 TH
|
23 36.79 23.87 36.29 23.87 35.29 23 34.79 22.13 35.29 22.13 36.29 TH
|
||||||
21.00 36.79 21.87 36.29 21.87 35.29 21.00 34.79 20.13 35.29 20.13 36.29 TH
|
21 36.79 21.87 36.29 21.87 35.29 21 34.79 20.13 35.29 20.13 36.29 TH
|
||||||
17.00 36.79 17.87 36.29 17.87 35.29 17.00 34.79 16.13 35.29 16.13 36.29 TH
|
17 36.79 17.87 36.29 17.87 35.29 17 34.79 16.13 35.29 16.13 36.29 TH
|
||||||
13.00 36.79 13.87 36.29 13.87 35.29 13.00 34.79 12.13 35.29 12.13 36.29 TH
|
13 36.79 13.87 36.29 13.87 35.29 13 34.79 12.13 35.29 12.13 36.29 TH
|
||||||
9.00 36.79 9.87 36.29 9.87 35.29 9.00 34.79 8.13 35.29 8.13 36.29 TH
|
9 36.79 9.87 36.29 9.87 35.29 9 34.79 8.13 35.29 8.13 36.29 TH
|
||||||
7.00 36.79 7.87 36.29 7.87 35.29 7.00 34.79 6.13 35.29 6.13 36.29 TH
|
7 36.79 7.87 36.29 7.87 35.29 7 34.79 6.13 35.29 6.13 36.29 TH
|
||||||
62.00 38.53 62.87 38.03 62.87 37.03 62.00 36.53 61.13 37.03 61.13 38.03 TH
|
62 38.53 62.87 38.03 62.87 37.03 62 36.53 61.13 37.03 61.13 38.03 TH
|
||||||
58.00 38.53 58.87 38.03 58.87 37.03 58.00 36.53 57.13 37.03 57.13 38.03 TH
|
58 38.53 58.87 38.03 58.87 37.03 58 36.53 57.13 37.03 57.13 38.03 TH
|
||||||
54.00 38.53 54.87 38.03 54.87 37.03 54.00 36.53 53.13 37.03 53.13 38.03 TH
|
54 38.53 54.87 38.03 54.87 37.03 54 36.53 53.13 37.03 53.13 38.03 TH
|
||||||
50.00 38.53 50.87 38.03 50.87 37.03 50.00 36.53 49.13 37.03 49.13 38.03 TH
|
50 38.53 50.87 38.03 50.87 37.03 50 36.53 49.13 37.03 49.13 38.03 TH
|
||||||
46.00 38.53 46.87 38.03 46.87 37.03 46.00 36.53 45.13 37.03 45.13 38.03 TH
|
46 38.53 46.87 38.03 46.87 37.03 46 36.53 45.13 37.03 45.13 38.03 TH
|
||||||
26.00 38.53 26.87 38.03 26.87 37.03 26.00 36.53 25.13 37.03 25.13 38.03 TH
|
26 38.53 26.87 38.03 26.87 37.03 26 36.53 25.13 37.03 25.13 38.03 TH
|
||||||
24.00 38.53 24.87 38.03 24.87 37.03 24.00 36.53 23.13 37.03 23.13 38.03 TH
|
24 38.53 24.87 38.03 24.87 37.03 24 36.53 23.13 37.03 23.13 38.03 TH
|
||||||
22.00 38.53 22.87 38.03 22.87 37.03 22.00 36.53 21.13 37.03 21.13 38.03 TH
|
22 38.53 22.87 38.03 22.87 37.03 22 36.53 21.13 37.03 21.13 38.03 TH
|
||||||
18.00 38.53 18.87 38.03 18.87 37.03 18.00 36.53 17.13 37.03 17.13 38.03 TH
|
18 38.53 18.87 38.03 18.87 37.03 18 36.53 17.13 37.03 17.13 38.03 TH
|
||||||
14.00 38.53 14.87 38.03 14.87 37.03 14.00 36.53 13.13 37.03 13.13 38.03 TH
|
14 38.53 14.87 38.03 14.87 37.03 14 36.53 13.13 37.03 13.13 38.03 TH
|
||||||
10.00 38.53 10.87 38.03 10.87 37.03 10.00 36.53 9.13 37.03 9.13 38.03 TH
|
10 38.53 10.87 38.03 10.87 37.03 10 36.53 9.13 37.03 9.13 38.03 TH
|
||||||
47.00 40.26 47.87 39.76 47.87 38.76 47.00 38.26 46.13 38.76 46.13 39.76 TH
|
47 40.26 47.87 39.76 47.87 38.76 47 38.26 46.13 38.76 46.13 39.76 TH
|
||||||
45.00 40.26 45.87 39.76 45.87 38.76 45.00 38.26 44.13 38.76 44.13 39.76 TH
|
45 40.26 45.87 39.76 45.87 38.76 45 38.26 44.13 38.76 44.13 39.76 TH
|
||||||
41.00 40.26 41.87 39.76 41.87 38.76 41.00 38.26 40.13 38.76 40.13 39.76 TH
|
41 40.26 41.87 39.76 41.87 38.76 41 38.26 40.13 38.76 40.13 39.76 TH
|
||||||
39.00 40.26 39.87 39.76 39.87 38.76 39.00 38.26 38.13 38.76 38.13 39.76 TH
|
39 40.26 39.87 39.76 39.87 38.76 39 38.26 38.13 38.76 38.13 39.76 TH
|
||||||
37.00 40.26 37.87 39.76 37.87 38.76 37.00 38.26 36.13 38.76 36.13 39.76 TH
|
37 40.26 37.87 39.76 37.87 38.76 37 38.26 36.13 38.76 36.13 39.76 TH
|
||||||
33.00 40.26 33.87 39.76 33.87 38.76 33.00 38.26 32.13 38.76 32.13 39.76 TH
|
33 40.26 33.87 39.76 33.87 38.76 33 38.26 32.13 38.76 32.13 39.76 TH
|
||||||
31.00 40.26 31.87 39.76 31.87 38.76 31.00 38.26 30.13 38.76 30.13 39.76 TH
|
31 40.26 31.87 39.76 31.87 38.76 31 38.26 30.13 38.76 30.13 39.76 TH
|
||||||
29.00 40.26 29.87 39.76 29.87 38.76 29.00 38.26 28.13 38.76 28.13 39.76 TH
|
29 40.26 29.87 39.76 29.87 38.76 29 38.26 28.13 38.76 28.13 39.76 TH
|
||||||
25.00 40.26 25.87 39.76 25.87 38.76 25.00 38.26 24.13 38.76 24.13 39.76 TH
|
25 40.26 25.87 39.76 25.87 38.76 25 38.26 24.13 38.76 24.13 39.76 TH
|
||||||
9.00 40.26 9.87 39.76 9.87 38.76 9.00 38.26 8.13 38.76 8.13 39.76 TH
|
9 40.26 9.87 39.76 9.87 38.76 9 38.26 8.13 38.76 8.13 39.76 TH
|
||||||
7.00 40.26 7.87 39.76 7.87 38.76 7.00 38.26 6.13 38.76 6.13 39.76 TH
|
7 40.26 7.87 39.76 7.87 38.76 7 38.26 6.13 38.76 6.13 39.76 TH
|
||||||
64.00 41.99 64.87 41.49 64.87 40.49 64.00 39.99 63.13 40.49 63.13 41.49 TH
|
64 41.99 64.87 41.49 64.87 40.49 64 39.99 63.13 40.49 63.13 41.49 TH
|
||||||
60.00 41.99 60.87 41.49 60.87 40.49 60.00 39.99 59.13 40.49 59.13 41.49 TH
|
60 41.99 60.87 41.49 60.87 40.49 60 39.99 59.13 40.49 59.13 41.49 TH
|
||||||
56.00 41.99 56.87 41.49 56.87 40.49 56.00 39.99 55.13 40.49 55.13 41.49 TH
|
56 41.99 56.87 41.49 56.87 40.49 56 39.99 55.13 40.49 55.13 41.49 TH
|
||||||
52.00 41.99 52.87 41.49 52.87 40.49 52.00 39.99 51.13 40.49 51.13 41.49 TH
|
52 41.99 52.87 41.49 52.87 40.49 52 39.99 51.13 40.49 51.13 41.49 TH
|
||||||
46.00 41.99 46.87 41.49 46.87 40.49 46.00 39.99 45.13 40.49 45.13 41.49 TH
|
46 41.99 46.87 41.49 46.87 40.49 46 39.99 45.13 40.49 45.13 41.49 TH
|
||||||
44.00 41.99 44.87 41.49 44.87 40.49 44.00 39.99 43.13 40.49 43.13 41.49 TH
|
44 41.99 44.87 41.49 44.87 40.49 44 39.99 43.13 40.49 43.13 41.49 TH
|
||||||
34.00 41.99 34.87 41.49 34.87 40.49 34.00 39.99 33.13 40.49 33.13 41.49 TH
|
34 41.99 34.87 41.49 34.87 40.49 34 39.99 33.13 40.49 33.13 41.49 TH
|
||||||
30.00 41.99 30.87 41.49 30.87 40.49 30.00 39.99 29.13 40.49 29.13 41.49 TH
|
30 41.99 30.87 41.49 30.87 40.49 30 39.99 29.13 40.49 29.13 41.49 TH
|
||||||
28.00 41.99 28.87 41.49 28.87 40.49 28.00 39.99 27.13 40.49 27.13 41.49 TH
|
28 41.99 28.87 41.49 28.87 40.49 28 39.99 27.13 40.49 27.13 41.49 TH
|
||||||
20.00 41.99 20.87 41.49 20.87 40.49 20.00 39.99 19.13 40.49 19.13 41.49 TH
|
20 41.99 20.87 41.49 20.87 40.49 20 39.99 19.13 40.49 19.13 41.49 TH
|
||||||
16.00 41.99 16.87 41.49 16.87 40.49 16.00 39.99 15.13 40.49 15.13 41.49 TH
|
16 41.99 16.87 41.49 16.87 40.49 16 39.99 15.13 40.49 15.13 41.49 TH
|
||||||
12.00 41.99 12.87 41.49 12.87 40.49 12.00 39.99 11.13 40.49 11.13 41.49 TH
|
12 41.99 12.87 41.49 12.87 40.49 12 39.99 11.13 40.49 11.13 41.49 TH
|
||||||
8.00 41.99 8.87 41.49 8.87 40.49 8.00 39.99 7.13 40.49 7.13 41.49 TH
|
8 41.99 8.87 41.49 8.87 40.49 8 39.99 7.13 40.49 7.13 41.49 TH
|
||||||
63.00 43.72 63.87 43.22 63.87 42.22 63.00 41.72 62.13 42.22 62.13 43.22 TH
|
63 43.72 63.87 43.22 63.87 42.22 63 41.72 62.13 42.22 62.13 43.22 TH
|
||||||
59.00 43.72 59.87 43.22 59.87 42.22 59.00 41.72 58.13 42.22 58.13 43.22 TH
|
59 43.72 59.87 43.22 59.87 42.22 59 41.72 58.13 42.22 58.13 43.22 TH
|
||||||
55.00 43.72 55.87 43.22 55.87 42.22 55.00 41.72 54.13 42.22 54.13 43.22 TH
|
55 43.72 55.87 43.22 55.87 42.22 55 41.72 54.13 42.22 54.13 43.22 TH
|
||||||
51.00 43.72 51.87 43.22 51.87 42.22 51.00 41.72 50.13 42.22 50.13 43.22 TH
|
51 43.72 51.87 43.22 51.87 42.22 51 41.72 50.13 42.22 50.13 43.22 TH
|
||||||
47.00 43.72 47.87 43.22 47.87 42.22 47.00 41.72 46.13 42.22 46.13 43.22 TH
|
47 43.72 47.87 43.22 47.87 42.22 47 41.72 46.13 42.22 46.13 43.22 TH
|
||||||
43.00 43.72 43.87 43.22 43.87 42.22 43.00 41.72 42.13 42.22 42.13 43.22 TH
|
43 43.72 43.87 43.22 43.87 42.22 43 41.72 42.13 42.22 42.13 43.22 TH
|
||||||
39.00 43.72 39.87 43.22 39.87 42.22 39.00 41.72 38.13 42.22 38.13 43.22 TH
|
39 43.72 39.87 43.22 39.87 42.22 39 41.72 38.13 42.22 38.13 43.22 TH
|
||||||
35.00 43.72 35.87 43.22 35.87 42.22 35.00 41.72 34.13 42.22 34.13 43.22 TH
|
35 43.72 35.87 43.22 35.87 42.22 35 41.72 34.13 42.22 34.13 43.22 TH
|
||||||
31.00 43.72 31.87 43.22 31.87 42.22 31.00 41.72 30.13 42.22 30.13 43.22 TH
|
31 43.72 31.87 43.22 31.87 42.22 31 41.72 30.13 42.22 30.13 43.22 TH
|
||||||
27.00 43.72 27.87 43.22 27.87 42.22 27.00 41.72 26.13 42.22 26.13 43.22 TH
|
27 43.72 27.87 43.22 27.87 42.22 27 41.72 26.13 42.22 26.13 43.22 TH
|
||||||
25.00 43.72 25.87 43.22 25.87 42.22 25.00 41.72 24.13 42.22 24.13 43.22 TH
|
25 43.72 25.87 43.22 25.87 42.22 25 41.72 24.13 42.22 24.13 43.22 TH
|
||||||
23.00 43.72 23.87 43.22 23.87 42.22 23.00 41.72 22.13 42.22 22.13 43.22 TH
|
23 43.72 23.87 43.22 23.87 42.22 23 41.72 22.13 42.22 22.13 43.22 TH
|
||||||
21.00 43.72 21.87 43.22 21.87 42.22 21.00 41.72 20.13 42.22 20.13 43.22 TH
|
21 43.72 21.87 43.22 21.87 42.22 21 41.72 20.13 42.22 20.13 43.22 TH
|
||||||
19.00 43.72 19.87 43.22 19.87 42.22 19.00 41.72 18.13 42.22 18.13 43.22 TH
|
19 43.72 19.87 43.22 19.87 42.22 19 41.72 18.13 42.22 18.13 43.22 TH
|
||||||
15.00 43.72 15.87 43.22 15.87 42.22 15.00 41.72 14.13 42.22 14.13 43.22 TH
|
15 43.72 15.87 43.22 15.87 42.22 15 41.72 14.13 42.22 14.13 43.22 TH
|
||||||
11.00 43.72 11.87 43.22 11.87 42.22 11.00 41.72 10.13 42.22 10.13 43.22 TH
|
11 43.72 11.87 43.22 11.87 42.22 11 41.72 10.13 42.22 10.13 43.22 TH
|
||||||
9.00 43.72 9.87 43.22 9.87 42.22 9.00 41.72 8.13 42.22 8.13 43.22 TH
|
9 43.72 9.87 43.22 9.87 42.22 9 41.72 8.13 42.22 8.13 43.22 TH
|
||||||
7.00 43.72 7.87 43.22 7.87 42.22 7.00 41.72 6.13 42.22 6.13 43.22 TH
|
7 43.72 7.87 43.22 7.87 42.22 7 41.72 6.13 42.22 6.13 43.22 TH
|
||||||
24.00 45.45 24.87 44.95 24.87 43.95 24.00 43.45 23.13 43.95 23.13 44.95 TH
|
24 45.45 24.87 44.95 24.87 43.95 24 43.45 23.13 43.95 23.13 44.95 TH
|
||||||
22.00 45.45 22.87 44.95 22.87 43.95 22.00 43.45 21.13 43.95 21.13 44.95 TH
|
22 45.45 22.87 44.95 22.87 43.95 22 43.45 21.13 43.95 21.13 44.95 TH
|
||||||
20.00 45.45 20.87 44.95 20.87 43.95 20.00 43.45 19.13 43.95 19.13 44.95 TH
|
20 45.45 20.87 44.95 20.87 43.95 20 43.45 19.13 43.95 19.13 44.95 TH
|
||||||
18.00 45.45 18.87 44.95 18.87 43.95 18.00 43.45 17.13 43.95 17.13 44.95 TH
|
18 45.45 18.87 44.95 18.87 43.95 18 43.45 17.13 43.95 17.13 44.95 TH
|
||||||
14.00 45.45 14.87 44.95 14.87 43.95 14.00 43.45 13.13 43.95 13.13 44.95 TH
|
14 45.45 14.87 44.95 14.87 43.95 14 43.45 13.13 43.95 13.13 44.95 TH
|
||||||
10.00 45.45 10.87 44.95 10.87 43.95 10.00 43.45 9.13 43.95 9.13 44.95 TH
|
10 45.45 10.87 44.95 10.87 43.95 10 43.45 9.13 43.95 9.13 44.95 TH
|
||||||
8.00 45.45 8.87 44.95 8.87 43.95 8.00 43.45 7.13 43.95 7.13 44.95 TH
|
8 45.45 8.87 44.95 8.87 43.95 8 43.45 7.13 43.95 7.13 44.95 TH
|
||||||
65.00 47.19 65.87 46.69 65.87 45.69 65.00 45.19 64.13 45.69 64.13 46.69 TH
|
65 47.19 65.87 46.69 65.87 45.69 65 45.19 64.13 45.69 64.13 46.69 TH
|
||||||
61.00 47.19 61.87 46.69 61.87 45.69 61.00 45.19 60.13 45.69 60.13 46.69 TH
|
61 47.19 61.87 46.69 61.87 45.69 61 45.19 60.13 45.69 60.13 46.69 TH
|
||||||
57.00 47.19 57.87 46.69 57.87 45.69 57.00 45.19 56.13 45.69 56.13 46.69 TH
|
57 47.19 57.87 46.69 57.87 45.69 57 45.19 56.13 45.69 56.13 46.69 TH
|
||||||
53.00 47.19 53.87 46.69 53.87 45.69 53.00 45.19 52.13 45.69 52.13 46.69 TH
|
53 47.19 53.87 46.69 53.87 45.69 53 45.19 52.13 45.69 52.13 46.69 TH
|
||||||
49.00 47.19 49.87 46.69 49.87 45.69 49.00 45.19 48.13 45.69 48.13 46.69 TH
|
49 47.19 49.87 46.69 49.87 45.69 49 45.19 48.13 45.69 48.13 46.69 TH
|
||||||
45.00 47.19 45.87 46.69 45.87 45.69 45.00 45.19 44.13 45.69 44.13 46.69 TH
|
45 47.19 45.87 46.69 45.87 45.69 45 45.19 44.13 45.69 44.13 46.69 TH
|
||||||
41.00 47.19 41.87 46.69 41.87 45.69 41.00 45.19 40.13 45.69 40.13 46.69 TH
|
41 47.19 41.87 46.69 41.87 45.69 41 45.19 40.13 45.69 40.13 46.69 TH
|
||||||
37.00 47.19 37.87 46.69 37.87 45.69 37.00 45.19 36.13 45.69 36.13 46.69 TH
|
37 47.19 37.87 46.69 37.87 45.69 37 45.19 36.13 45.69 36.13 46.69 TH
|
||||||
33.00 47.19 33.87 46.69 33.87 45.69 33.00 45.19 32.13 45.69 32.13 46.69 TH
|
33 47.19 33.87 46.69 33.87 45.69 33 45.19 32.13 45.69 32.13 46.69 TH
|
||||||
29.00 47.19 29.87 46.69 29.87 45.69 29.00 45.19 28.13 45.69 28.13 46.69 TH
|
29 47.19 29.87 46.69 29.87 45.69 29 45.19 28.13 45.69 28.13 46.69 TH
|
||||||
9.00 47.19 9.87 46.69 9.87 45.69 9.00 45.19 8.13 45.69 8.13 46.69 TH
|
9 47.19 9.87 46.69 9.87 45.69 9 45.19 8.13 45.69 8.13 46.69 TH
|
||||||
64.00 48.92 64.87 48.42 64.87 47.42 64.00 46.92 63.13 47.42 63.13 48.42 TH
|
64 48.92 64.87 48.42 64.87 47.42 64 46.92 63.13 47.42 63.13 48.42 TH
|
||||||
62.00 48.92 62.87 48.42 62.87 47.42 62.00 46.92 61.13 47.42 61.13 48.42 TH
|
62 48.92 62.87 48.42 62.87 47.42 62 46.92 61.13 47.42 61.13 48.42 TH
|
||||||
60.00 48.92 60.87 48.42 60.87 47.42 60.00 46.92 59.13 47.42 59.13 48.42 TH
|
60 48.92 60.87 48.42 60.87 47.42 60 46.92 59.13 47.42 59.13 48.42 TH
|
||||||
58.00 48.92 58.87 48.42 58.87 47.42 58.00 46.92 57.13 47.42 57.13 48.42 TH
|
58 48.92 58.87 48.42 58.87 47.42 58 46.92 57.13 47.42 57.13 48.42 TH
|
||||||
56.00 48.92 56.87 48.42 56.87 47.42 56.00 46.92 55.13 47.42 55.13 48.42 TH
|
56 48.92 56.87 48.42 56.87 47.42 56 46.92 55.13 47.42 55.13 48.42 TH
|
||||||
54.00 48.92 54.87 48.42 54.87 47.42 54.00 46.92 53.13 47.42 53.13 48.42 TH
|
54 48.92 54.87 48.42 54.87 47.42 54 46.92 53.13 47.42 53.13 48.42 TH
|
||||||
52.00 48.92 52.87 48.42 52.87 47.42 52.00 46.92 51.13 47.42 51.13 48.42 TH
|
52 48.92 52.87 48.42 52.87 47.42 52 46.92 51.13 47.42 51.13 48.42 TH
|
||||||
50.00 48.92 50.87 48.42 50.87 47.42 50.00 46.92 49.13 47.42 49.13 48.42 TH
|
50 48.92 50.87 48.42 50.87 47.42 50 46.92 49.13 47.42 49.13 48.42 TH
|
||||||
40.00 48.92 40.87 48.42 40.87 47.42 40.00 46.92 39.13 47.42 39.13 48.42 TH
|
40 48.92 40.87 48.42 40.87 47.42 40 46.92 39.13 47.42 39.13 48.42 TH
|
||||||
38.00 48.92 38.87 48.42 38.87 47.42 38.00 46.92 37.13 47.42 37.13 48.42 TH
|
38 48.92 38.87 48.42 38.87 47.42 38 46.92 37.13 47.42 37.13 48.42 TH
|
||||||
36.00 48.92 36.87 48.42 36.87 47.42 36.00 46.92 35.13 47.42 35.13 48.42 TH
|
36 48.92 36.87 48.42 36.87 47.42 36 46.92 35.13 47.42 35.13 48.42 TH
|
||||||
34.00 48.92 34.87 48.42 34.87 47.42 34.00 46.92 33.13 47.42 33.13 48.42 TH
|
34 48.92 34.87 48.42 34.87 47.42 34 46.92 33.13 47.42 33.13 48.42 TH
|
||||||
22.00 48.92 22.87 48.42 22.87 47.42 22.00 46.92 21.13 47.42 21.13 48.42 TH
|
22 48.92 22.87 48.42 22.87 47.42 22 46.92 21.13 47.42 21.13 48.42 TH
|
||||||
18.00 48.92 18.87 48.42 18.87 47.42 18.00 46.92 17.13 47.42 17.13 48.42 TH
|
18 48.92 18.87 48.42 18.87 47.42 18 46.92 17.13 47.42 17.13 48.42 TH
|
||||||
63.00 50.65 63.87 50.15 63.87 49.15 63.00 48.65 62.13 49.15 62.13 50.15 TH
|
63 50.65 63.87 50.15 63.87 49.15 63 48.65 62.13 49.15 62.13 50.15 TH
|
||||||
59.00 50.65 59.87 50.15 59.87 49.15 59.00 48.65 58.13 49.15 58.13 50.15 TH
|
59 50.65 59.87 50.15 59.87 49.15 59 48.65 58.13 49.15 58.13 50.15 TH
|
||||||
57.00 50.65 57.87 50.15 57.87 49.15 57.00 48.65 56.13 49.15 56.13 50.15 TH
|
57 50.65 57.87 50.15 57.87 49.15 57 48.65 56.13 49.15 56.13 50.15 TH
|
||||||
53.00 50.65 53.87 50.15 53.87 49.15 53.00 48.65 52.13 49.15 52.13 50.15 TH
|
53 50.65 53.87 50.15 53.87 49.15 53 48.65 52.13 49.15 52.13 50.15 TH
|
||||||
49.00 50.65 49.87 50.15 49.87 49.15 49.00 48.65 48.13 49.15 48.13 50.15 TH
|
49 50.65 49.87 50.15 49.87 49.15 49 48.65 48.13 49.15 48.13 50.15 TH
|
||||||
47.00 50.65 47.87 50.15 47.87 49.15 47.00 48.65 46.13 49.15 46.13 50.15 TH
|
47 50.65 47.87 50.15 47.87 49.15 47 48.65 46.13 49.15 46.13 50.15 TH
|
||||||
45.00 50.65 45.87 50.15 45.87 49.15 45.00 48.65 44.13 49.15 44.13 50.15 TH
|
45 50.65 45.87 50.15 45.87 49.15 45 48.65 44.13 49.15 44.13 50.15 TH
|
||||||
43.00 50.65 43.87 50.15 43.87 49.15 43.00 48.65 42.13 49.15 42.13 50.15 TH
|
43 50.65 43.87 50.15 43.87 49.15 43 48.65 42.13 49.15 42.13 50.15 TH
|
||||||
33.00 50.65 33.87 50.15 33.87 49.15 33.00 48.65 32.13 49.15 32.13 50.15 TH
|
33 50.65 33.87 50.15 33.87 49.15 33 48.65 32.13 49.15 32.13 50.15 TH
|
||||||
31.00 50.65 31.87 50.15 31.87 49.15 31.00 48.65 30.13 49.15 30.13 50.15 TH
|
31 50.65 31.87 50.15 31.87 49.15 31 48.65 30.13 49.15 30.13 50.15 TH
|
||||||
29.00 50.65 29.87 50.15 29.87 49.15 29.00 48.65 28.13 49.15 28.13 50.15 TH
|
29 50.65 29.87 50.15 29.87 49.15 29 48.65 28.13 49.15 28.13 50.15 TH
|
||||||
27.00 50.65 27.87 50.15 27.87 49.15 27.00 48.65 26.13 49.15 26.13 50.15 TH
|
27 50.65 27.87 50.15 27.87 49.15 27 48.65 26.13 49.15 26.13 50.15 TH
|
||||||
23.00 50.65 23.87 50.15 23.87 49.15 23.00 48.65 22.13 49.15 22.13 50.15 TH
|
23 50.65 23.87 50.15 23.87 49.15 23 48.65 22.13 49.15 22.13 50.15 TH
|
||||||
19.00 50.65 19.87 50.15 19.87 49.15 19.00 48.65 18.13 49.15 18.13 50.15 TH
|
19 50.65 19.87 50.15 19.87 49.15 19 48.65 18.13 49.15 18.13 50.15 TH
|
||||||
15.00 50.65 15.87 50.15 15.87 49.15 15.00 48.65 14.13 49.15 14.13 50.15 TH
|
15 50.65 15.87 50.15 15.87 49.15 15 48.65 14.13 49.15 14.13 50.15 TH
|
||||||
11.00 50.65 11.87 50.15 11.87 49.15 11.00 48.65 10.13 49.15 10.13 50.15 TH
|
11 50.65 11.87 50.15 11.87 49.15 11 48.65 10.13 49.15 10.13 50.15 TH
|
||||||
64.00 52.38 64.87 51.88 64.87 50.88 64.00 50.38 63.13 50.88 63.13 51.88 TH
|
64 52.38 64.87 51.88 64.87 50.88 64 50.38 63.13 50.88 63.13 51.88 TH
|
||||||
60.00 52.38 60.87 51.88 60.87 50.88 60.00 50.38 59.13 50.88 59.13 51.88 TH
|
60 52.38 60.87 51.88 60.87 50.88 60 50.38 59.13 50.88 59.13 51.88 TH
|
||||||
56.00 52.38 56.87 51.88 56.87 50.88 56.00 50.38 55.13 50.88 55.13 51.88 TH
|
56 52.38 56.87 51.88 56.87 50.88 56 50.38 55.13 50.88 55.13 51.88 TH
|
||||||
52.00 52.38 52.87 51.88 52.87 50.88 52.00 50.38 51.13 50.88 51.13 51.88 TH
|
52 52.38 52.87 51.88 52.87 50.88 52 50.38 51.13 50.88 51.13 51.88 TH
|
||||||
38.00 52.38 38.87 51.88 38.87 50.88 38.00 50.38 37.13 50.88 37.13 51.88 TH
|
38 52.38 38.87 51.88 38.87 50.88 38 50.38 37.13 50.88 37.13 51.88 TH
|
||||||
34.00 52.38 34.87 51.88 34.87 50.88 34.00 50.38 33.13 50.88 33.13 51.88 TH
|
34 52.38 34.87 51.88 34.87 50.88 34 50.38 33.13 50.88 33.13 51.88 TH
|
||||||
30.00 52.38 30.87 51.88 30.87 50.88 30.00 50.38 29.13 50.88 29.13 51.88 TH
|
30 52.38 30.87 51.88 30.87 50.88 30 50.38 29.13 50.88 29.13 51.88 TH
|
||||||
26.00 52.38 26.87 51.88 26.87 50.88 26.00 50.38 25.13 50.88 25.13 51.88 TH
|
26 52.38 26.87 51.88 26.87 50.88 26 50.38 25.13 50.88 25.13 51.88 TH
|
||||||
24.00 52.38 24.87 51.88 24.87 50.88 24.00 50.38 23.13 50.88 23.13 51.88 TH
|
24 52.38 24.87 51.88 24.87 50.88 24 50.38 23.13 50.88 23.13 51.88 TH
|
||||||
22.00 52.38 22.87 51.88 22.87 50.88 22.00 50.38 21.13 50.88 21.13 51.88 TH
|
22 52.38 22.87 51.88 22.87 50.88 22 50.38 21.13 50.88 21.13 51.88 TH
|
||||||
20.00 52.38 20.87 51.88 20.87 50.88 20.00 50.38 19.13 50.88 19.13 51.88 TH
|
20 52.38 20.87 51.88 20.87 50.88 20 50.38 19.13 50.88 19.13 51.88 TH
|
||||||
18.00 52.38 18.87 51.88 18.87 50.88 18.00 50.38 17.13 50.88 17.13 51.88 TH
|
18 52.38 18.87 51.88 18.87 50.88 18 50.38 17.13 50.88 17.13 51.88 TH
|
||||||
16.00 52.38 16.87 51.88 16.87 50.88 16.00 50.38 15.13 50.88 15.13 51.88 TH
|
16 52.38 16.87 51.88 16.87 50.88 16 50.38 15.13 50.88 15.13 51.88 TH
|
||||||
12.00 52.38 12.87 51.88 12.87 50.88 12.00 50.38 11.13 50.88 11.13 51.88 TH
|
12 52.38 12.87 51.88 12.87 50.88 12 50.38 11.13 50.88 11.13 51.88 TH
|
||||||
8.00 52.38 8.87 51.88 8.87 50.88 8.00 50.38 7.13 50.88 7.13 51.88 TH
|
8 52.38 8.87 51.88 8.87 50.88 8 50.38 7.13 50.88 7.13 51.88 TH
|
||||||
65.00 54.11 65.87 53.61 65.87 52.61 65.00 52.11 64.13 52.61 64.13 53.61 TH
|
65 54.11 65.87 53.61 65.87 52.61 65 52.11 64.13 52.61 64.13 53.61 TH
|
||||||
63.00 54.11 63.87 53.61 63.87 52.61 63.00 52.11 62.13 52.61 62.13 53.61 TH
|
63 54.11 63.87 53.61 63.87 52.61 63 52.11 62.13 52.61 62.13 53.61 TH
|
||||||
61.00 54.11 61.87 53.61 61.87 52.61 61.00 52.11 60.13 52.61 60.13 53.61 TH
|
61 54.11 61.87 53.61 61.87 52.61 61 52.11 60.13 52.61 60.13 53.61 TH
|
||||||
59.00 54.11 59.87 53.61 59.87 52.61 59.00 52.11 58.13 52.61 58.13 53.61 TH
|
59 54.11 59.87 53.61 59.87 52.61 59 52.11 58.13 52.61 58.13 53.61 TH
|
||||||
55.00 54.11 55.87 53.61 55.87 52.61 55.00 52.11 54.13 52.61 54.13 53.61 TH
|
55 54.11 55.87 53.61 55.87 52.61 55 52.11 54.13 52.61 54.13 53.61 TH
|
||||||
51.00 54.11 51.87 53.61 51.87 52.61 51.00 52.11 50.13 52.61 50.13 53.61 TH
|
51 54.11 51.87 53.61 51.87 52.61 51 52.11 50.13 52.61 50.13 53.61 TH
|
||||||
49.00 54.11 49.87 53.61 49.87 52.61 49.00 52.11 48.13 52.61 48.13 53.61 TH
|
49 54.11 49.87 53.61 49.87 52.61 49 52.11 48.13 52.61 48.13 53.61 TH
|
||||||
45.00 54.11 45.87 53.61 45.87 52.61 45.00 52.11 44.13 52.61 44.13 53.61 TH
|
45 54.11 45.87 53.61 45.87 52.61 45 52.11 44.13 52.61 44.13 53.61 TH
|
||||||
33.00 54.11 33.87 53.61 33.87 52.61 33.00 52.11 32.13 52.61 32.13 53.61 TH
|
33 54.11 33.87 53.61 33.87 52.61 33 52.11 32.13 52.61 32.13 53.61 TH
|
||||||
31.00 54.11 31.87 53.61 31.87 52.61 31.00 52.11 30.13 52.61 30.13 53.61 TH
|
31 54.11 31.87 53.61 31.87 52.61 31 52.11 30.13 52.61 30.13 53.61 TH
|
||||||
29.00 54.11 29.87 53.61 29.87 52.61 29.00 52.11 28.13 52.61 28.13 53.61 TH
|
29 54.11 29.87 53.61 29.87 52.61 29 52.11 28.13 52.61 28.13 53.61 TH
|
||||||
27.00 54.11 27.87 53.61 27.87 52.61 27.00 52.11 26.13 52.61 26.13 53.61 TH
|
27 54.11 27.87 53.61 27.87 52.61 27 52.11 26.13 52.61 26.13 53.61 TH
|
||||||
23.00 54.11 23.87 53.61 23.87 52.61 23.00 52.11 22.13 52.61 22.13 53.61 TH
|
23 54.11 23.87 53.61 23.87 52.61 23 52.11 22.13 52.61 22.13 53.61 TH
|
||||||
19.00 54.11 19.87 53.61 19.87 52.61 19.00 52.11 18.13 52.61 18.13 53.61 TH
|
19 54.11 19.87 53.61 19.87 52.61 19 52.11 18.13 52.61 18.13 53.61 TH
|
||||||
17.00 54.11 17.87 53.61 17.87 52.61 17.00 52.11 16.13 52.61 16.13 53.61 TH
|
17 54.11 17.87 53.61 17.87 52.61 17 52.11 16.13 52.61 16.13 53.61 TH
|
||||||
13.00 54.11 13.87 53.61 13.87 52.61 13.00 52.11 12.13 52.61 12.13 53.61 TH
|
13 54.11 13.87 53.61 13.87 52.61 13 52.11 12.13 52.61 12.13 53.61 TH
|
||||||
9.00 54.11 9.87 53.61 9.87 52.61 9.00 52.11 8.13 52.61 8.13 53.61 TH
|
9 54.11 9.87 53.61 9.87 52.61 9 52.11 8.13 52.61 8.13 53.61 TH
|
||||||
62.00 55.85 62.87 55.35 62.87 54.35 62.00 53.85 61.13 54.35 61.13 55.35 TH
|
62 55.85 62.87 55.35 62.87 54.35 62 53.85 61.13 54.35 61.13 55.35 TH
|
||||||
58.00 55.85 58.87 55.35 58.87 54.35 58.00 53.85 57.13 54.35 57.13 55.35 TH
|
58 55.85 58.87 55.35 58.87 54.35 58 53.85 57.13 54.35 57.13 55.35 TH
|
||||||
56.00 55.85 56.87 55.35 56.87 54.35 56.00 53.85 55.13 54.35 55.13 55.35 TH
|
56 55.85 56.87 55.35 56.87 54.35 56 53.85 55.13 54.35 55.13 55.35 TH
|
||||||
52.00 55.85 52.87 55.35 52.87 54.35 52.00 53.85 51.13 54.35 51.13 55.35 TH
|
52 55.85 52.87 55.35 52.87 54.35 52 53.85 51.13 54.35 51.13 55.35 TH
|
||||||
48.00 55.85 48.87 55.35 48.87 54.35 48.00 53.85 47.13 54.35 47.13 55.35 TH
|
48 55.85 48.87 55.35 48.87 54.35 48 53.85 47.13 54.35 47.13 55.35 TH
|
||||||
46.00 55.85 46.87 55.35 46.87 54.35 46.00 53.85 45.13 54.35 45.13 55.35 TH
|
46 55.85 46.87 55.35 46.87 54.35 46 53.85 45.13 54.35 45.13 55.35 TH
|
||||||
44.00 55.85 44.87 55.35 44.87 54.35 44.00 53.85 43.13 54.35 43.13 55.35 TH
|
44 55.85 44.87 55.35 44.87 54.35 44 53.85 43.13 54.35 43.13 55.35 TH
|
||||||
42.00 55.85 42.87 55.35 42.87 54.35 42.00 53.85 41.13 54.35 41.13 55.35 TH
|
42 55.85 42.87 55.35 42.87 54.35 42 53.85 41.13 54.35 41.13 55.35 TH
|
||||||
38.00 55.85 38.87 55.35 38.87 54.35 38.00 53.85 37.13 54.35 37.13 55.35 TH
|
38 55.85 38.87 55.35 38.87 54.35 38 53.85 37.13 54.35 37.13 55.35 TH
|
||||||
34.00 55.85 34.87 55.35 34.87 54.35 34.00 53.85 33.13 54.35 33.13 55.35 TH
|
34 55.85 34.87 55.35 34.87 54.35 34 53.85 33.13 54.35 33.13 55.35 TH
|
||||||
32.00 55.85 32.87 55.35 32.87 54.35 32.00 53.85 31.13 54.35 31.13 55.35 TH
|
32 55.85 32.87 55.35 32.87 54.35 32 53.85 31.13 54.35 31.13 55.35 TH
|
||||||
28.00 55.85 28.87 55.35 28.87 54.35 28.00 53.85 27.13 54.35 27.13 55.35 TH
|
28 55.85 28.87 55.35 28.87 54.35 28 53.85 27.13 54.35 27.13 55.35 TH
|
||||||
24.00 55.85 24.87 55.35 24.87 54.35 24.00 53.85 23.13 54.35 23.13 55.35 TH
|
24 55.85 24.87 55.35 24.87 54.35 24 53.85 23.13 54.35 23.13 55.35 TH
|
||||||
20.00 55.85 20.87 55.35 20.87 54.35 20.00 53.85 19.13 54.35 19.13 55.35 TH
|
20 55.85 20.87 55.35 20.87 54.35 20 53.85 19.13 54.35 19.13 55.35 TH
|
||||||
16.00 55.85 16.87 55.35 16.87 54.35 16.00 53.85 15.13 54.35 15.13 55.35 TH
|
16 55.85 16.87 55.35 16.87 54.35 16 53.85 15.13 54.35 15.13 55.35 TH
|
||||||
14.00 55.85 14.87 55.35 14.87 54.35 14.00 53.85 13.13 54.35 13.13 55.35 TH
|
14 55.85 14.87 55.35 14.87 54.35 14 53.85 13.13 54.35 13.13 55.35 TH
|
||||||
12.00 55.85 12.87 55.35 12.87 54.35 12.00 53.85 11.13 54.35 11.13 55.35 TH
|
12 55.85 12.87 55.35 12.87 54.35 12 53.85 11.13 54.35 11.13 55.35 TH
|
||||||
10.00 55.85 10.87 55.35 10.87 54.35 10.00 53.85 9.13 54.35 9.13 55.35 TH
|
10 55.85 10.87 55.35 10.87 54.35 10 53.85 9.13 54.35 9.13 55.35 TH
|
||||||
63.00 57.58 63.87 57.08 63.87 56.08 63.00 55.58 62.13 56.08 62.13 57.08 TH
|
63 57.58 63.87 57.08 63.87 56.08 63 55.58 62.13 56.08 62.13 57.08 TH
|
||||||
59.00 57.58 59.87 57.08 59.87 56.08 59.00 55.58 58.13 56.08 58.13 57.08 TH
|
59 57.58 59.87 57.08 59.87 56.08 59 55.58 58.13 56.08 58.13 57.08 TH
|
||||||
39.00 57.58 39.87 57.08 39.87 56.08 39.00 55.58 38.13 56.08 38.13 57.08 TH
|
39 57.58 39.87 57.08 39.87 56.08 39 55.58 38.13 56.08 38.13 57.08 TH
|
||||||
35.00 57.58 35.87 57.08 35.87 56.08 35.00 55.58 34.13 56.08 34.13 57.08 TH
|
35 57.58 35.87 57.08 35.87 56.08 35 55.58 34.13 56.08 34.13 57.08 TH
|
||||||
33.00 57.58 33.87 57.08 33.87 56.08 33.00 55.58 32.13 56.08 32.13 57.08 TH
|
33 57.58 33.87 57.08 33.87 56.08 33 55.58 32.13 56.08 32.13 57.08 TH
|
||||||
29.00 57.58 29.87 57.08 29.87 56.08 29.00 55.58 28.13 56.08 28.13 57.08 TH
|
29 57.58 29.87 57.08 29.87 56.08 29 55.58 28.13 56.08 28.13 57.08 TH
|
||||||
25.00 57.58 25.87 57.08 25.87 56.08 25.00 55.58 24.13 56.08 24.13 57.08 TH
|
25 57.58 25.87 57.08 25.87 56.08 25 55.58 24.13 56.08 24.13 57.08 TH
|
||||||
21.00 57.58 21.87 57.08 21.87 56.08 21.00 55.58 20.13 56.08 20.13 57.08 TH
|
21 57.58 21.87 57.08 21.87 56.08 21 55.58 20.13 56.08 20.13 57.08 TH
|
||||||
15.00 57.58 15.87 57.08 15.87 56.08 15.00 55.58 14.13 56.08 14.13 57.08 TH
|
15 57.58 15.87 57.08 15.87 56.08 15 55.58 14.13 56.08 14.13 57.08 TH
|
||||||
11.00 57.58 11.87 57.08 11.87 56.08 11.00 55.58 10.13 56.08 10.13 57.08 TH
|
11 57.58 11.87 57.08 11.87 56.08 11 55.58 10.13 56.08 10.13 57.08 TH
|
||||||
37.00 28.87 7.431 1.569 TC
|
37 28.87 7.431 1.569 TC
|
||||||
37.00 28.87 4.293 1.569 TC
|
37 28.87 4.293 1.569 TC
|
||||||
37.00 28.87 1.155 1.569 TC
|
37 28.87 1.155 1.569 TC
|
||||||
|
@ -1,373 +1,370 @@
|
|||||||
%!PS-Adobe-3.0 EPSF-3.0
|
%!PS-Adobe-3.0 EPSF-3.0
|
||||||
%%Creator: Zint 2.10.0.9
|
%%Creator: Zint 2.12.0.9
|
||||||
%%Title: Zint Generated Symbol
|
%%Title: Zint Generated Symbol
|
||||||
%%Pages: 0
|
%%Pages: 0
|
||||||
%%BoundingBox: 0 0 58 60
|
%%BoundingBox: 0 0 58 60
|
||||||
%%EndComments
|
%%EndComments
|
||||||
/TC { newpath 4 1 roll 3 copy 0 360 arc closepath 4 -1 roll add 360 0 arcn closepath fill } bind def
|
/TC { newpath 4 1 roll 3 copy 0 360 arc closepath 4 -1 roll add 360 0 arcn closepath fill } bind def
|
||||||
/TH { 0 setlinewidth moveto lineto lineto lineto lineto lineto closepath fill } bind def
|
/TH { 0 setlinewidth moveto lineto lineto lineto lineto lineto closepath fill } bind def
|
||||||
/TB { 2 copy } bind def
|
/TR { newpath moveto dup 3 1 roll 0 rlineto 0 exch rlineto neg 0 rlineto closepath fill } bind def
|
||||||
/TR { newpath 4 1 roll exch moveto 1 index 0 rlineto 0 exch rlineto neg 0 rlineto closepath fill } bind def
|
|
||||||
/TE { pop pop } bind def
|
|
||||||
newpath
|
newpath
|
||||||
0.00 0.00 0.00 0.00 setcmykcolor
|
0 0 0 0 setcmykcolor
|
||||||
60.00 0.00 TB 0.00 57.73 TR
|
60 57.73 0 0 TR
|
||||||
TE
|
0 0 0 1 setcmykcolor
|
||||||
0.00 0.00 0.00 1.00 setcmykcolor
|
0.15 3 0.65 3.87 1.65 3.87 2.15 3 1.65 2.13 0.65 2.13 TH
|
||||||
0.15 3.00 0.65 3.87 1.65 3.87 2.15 3.00 1.65 2.13 0.65 2.13 TH
|
0.15 7 0.65 7.87 1.65 7.87 2.15 7 1.65 6.13 0.65 6.13 TH
|
||||||
0.15 7.00 0.65 7.87 1.65 7.87 2.15 7.00 1.65 6.13 0.65 6.13 TH
|
0.15 11 0.65 11.87 1.65 11.87 2.15 11 1.65 10.13 0.65 10.13 TH
|
||||||
0.15 11.00 0.65 11.87 1.65 11.87 2.15 11.00 1.65 10.13 0.65 10.13 TH
|
0.15 15 0.65 15.87 1.65 15.87 2.15 15 1.65 14.13 0.65 14.13 TH
|
||||||
0.15 15.00 0.65 15.87 1.65 15.87 2.15 15.00 1.65 14.13 0.65 14.13 TH
|
0.15 19 0.65 19.87 1.65 19.87 2.15 19 1.65 18.13 0.65 18.13 TH
|
||||||
0.15 19.00 0.65 19.87 1.65 19.87 2.15 19.00 1.65 18.13 0.65 18.13 TH
|
0.15 23 0.65 23.87 1.65 23.87 2.15 23 1.65 22.13 0.65 22.13 TH
|
||||||
0.15 23.00 0.65 23.87 1.65 23.87 2.15 23.00 1.65 22.13 0.65 22.13 TH
|
0.15 27 0.65 27.87 1.65 27.87 2.15 27 1.65 26.13 0.65 26.13 TH
|
||||||
0.15 27.00 0.65 27.87 1.65 27.87 2.15 27.00 1.65 26.13 0.65 26.13 TH
|
0.15 31 0.65 31.87 1.65 31.87 2.15 31 1.65 30.13 0.65 30.13 TH
|
||||||
0.15 31.00 0.65 31.87 1.65 31.87 2.15 31.00 1.65 30.13 0.65 30.13 TH
|
0.15 35 0.65 35.87 1.65 35.87 2.15 35 1.65 34.13 0.65 34.13 TH
|
||||||
0.15 35.00 0.65 35.87 1.65 35.87 2.15 35.00 1.65 34.13 0.65 34.13 TH
|
0.15 39 0.65 39.87 1.65 39.87 2.15 39 1.65 38.13 0.65 38.13 TH
|
||||||
0.15 39.00 0.65 39.87 1.65 39.87 2.15 39.00 1.65 38.13 0.65 38.13 TH
|
0.15 43 0.65 43.87 1.65 43.87 2.15 43 1.65 42.13 0.65 42.13 TH
|
||||||
0.15 43.00 0.65 43.87 1.65 43.87 2.15 43.00 1.65 42.13 0.65 42.13 TH
|
0.15 47 0.65 47.87 1.65 47.87 2.15 47 1.65 46.13 0.65 46.13 TH
|
||||||
0.15 47.00 0.65 47.87 1.65 47.87 2.15 47.00 1.65 46.13 0.65 46.13 TH
|
0.15 51 0.65 51.87 1.65 51.87 2.15 51 1.65 50.13 0.65 50.13 TH
|
||||||
0.15 51.00 0.65 51.87 1.65 51.87 2.15 51.00 1.65 50.13 0.65 50.13 TH
|
0.15 55 0.65 55.87 1.65 55.87 2.15 55 1.65 54.13 0.65 54.13 TH
|
||||||
0.15 55.00 0.65 55.87 1.65 55.87 2.15 55.00 1.65 54.13 0.65 54.13 TH
|
0.15 57 0.65 57.87 1.65 57.87 2.15 57 1.65 56.13 0.65 56.13 TH
|
||||||
0.15 57.00 0.65 57.87 1.65 57.87 2.15 57.00 1.65 56.13 0.65 56.13 TH
|
0.15 59 0.65 59.87 1.65 59.87 2.15 59 1.65 58.13 0.65 58.13 TH
|
||||||
0.15 59.00 0.65 59.87 1.65 59.87 2.15 59.00 1.65 58.13 0.65 58.13 TH
|
3.62 1 4.12 1.87 5.12 1.87 5.62 1 5.12 0.13 4.12 0.13 TH
|
||||||
3.62 1.00 4.12 1.87 5.12 1.87 5.62 1.00 5.12 0.13 4.12 0.13 TH
|
3.62 5 4.12 5.87 5.12 5.87 5.62 5 5.12 4.13 4.12 4.13 TH
|
||||||
3.62 5.00 4.12 5.87 5.12 5.87 5.62 5.00 5.12 4.13 4.12 4.13 TH
|
3.62 9 4.12 9.87 5.12 9.87 5.62 9 5.12 8.13 4.12 8.13 TH
|
||||||
3.62 9.00 4.12 9.87 5.12 9.87 5.62 9.00 5.12 8.13 4.12 8.13 TH
|
3.62 13 4.12 13.87 5.12 13.87 5.62 13 5.12 12.13 4.12 12.13 TH
|
||||||
3.62 13.00 4.12 13.87 5.12 13.87 5.62 13.00 5.12 12.13 4.12 12.13 TH
|
3.62 17 4.12 17.87 5.12 17.87 5.62 17 5.12 16.13 4.12 16.13 TH
|
||||||
3.62 17.00 4.12 17.87 5.12 17.87 5.62 17.00 5.12 16.13 4.12 16.13 TH
|
3.62 21 4.12 21.87 5.12 21.87 5.62 21 5.12 20.13 4.12 20.13 TH
|
||||||
3.62 21.00 4.12 21.87 5.12 21.87 5.62 21.00 5.12 20.13 4.12 20.13 TH
|
3.62 25 4.12 25.87 5.12 25.87 5.62 25 5.12 24.13 4.12 24.13 TH
|
||||||
3.62 25.00 4.12 25.87 5.12 25.87 5.62 25.00 5.12 24.13 4.12 24.13 TH
|
3.62 29 4.12 29.87 5.12 29.87 5.62 29 5.12 28.13 4.12 28.13 TH
|
||||||
3.62 29.00 4.12 29.87 5.12 29.87 5.62 29.00 5.12 28.13 4.12 28.13 TH
|
3.62 33 4.12 33.87 5.12 33.87 5.62 33 5.12 32.13 4.12 32.13 TH
|
||||||
3.62 33.00 4.12 33.87 5.12 33.87 5.62 33.00 5.12 32.13 4.12 32.13 TH
|
3.62 37 4.12 37.87 5.12 37.87 5.62 37 5.12 36.13 4.12 36.13 TH
|
||||||
3.62 37.00 4.12 37.87 5.12 37.87 5.62 37.00 5.12 36.13 4.12 36.13 TH
|
3.62 41 4.12 41.87 5.12 41.87 5.62 41 5.12 40.13 4.12 40.13 TH
|
||||||
3.62 41.00 4.12 41.87 5.12 41.87 5.62 41.00 5.12 40.13 4.12 40.13 TH
|
3.62 45 4.12 45.87 5.12 45.87 5.62 45 5.12 44.13 4.12 44.13 TH
|
||||||
3.62 45.00 4.12 45.87 5.12 45.87 5.62 45.00 5.12 44.13 4.12 44.13 TH
|
3.62 49 4.12 49.87 5.12 49.87 5.62 49 5.12 48.13 4.12 48.13 TH
|
||||||
3.62 49.00 4.12 49.87 5.12 49.87 5.62 49.00 5.12 48.13 4.12 48.13 TH
|
3.62 53 4.12 53.87 5.12 53.87 5.62 53 5.12 52.13 4.12 52.13 TH
|
||||||
3.62 53.00 4.12 53.87 5.12 53.87 5.62 53.00 5.12 52.13 4.12 52.13 TH
|
3.62 57 4.12 57.87 5.12 57.87 5.62 57 5.12 56.13 4.12 56.13 TH
|
||||||
3.62 57.00 4.12 57.87 5.12 57.87 5.62 57.00 5.12 56.13 4.12 56.13 TH
|
5.35 4 5.85 4.87 6.85 4.87 7.35 4 6.85 3.13 5.85 3.13 TH
|
||||||
5.35 4.00 5.85 4.87 6.85 4.87 7.35 4.00 6.85 3.13 5.85 3.13 TH
|
5.35 8 5.85 8.87 6.85 8.87 7.35 8 6.85 7.13 5.85 7.13 TH
|
||||||
5.35 8.00 5.85 8.87 6.85 8.87 7.35 8.00 6.85 7.13 5.85 7.13 TH
|
5.35 12 5.85 12.87 6.85 12.87 7.35 12 6.85 11.13 5.85 11.13 TH
|
||||||
5.35 12.00 5.85 12.87 6.85 12.87 7.35 12.00 6.85 11.13 5.85 11.13 TH
|
5.35 16 5.85 16.87 6.85 16.87 7.35 16 6.85 15.13 5.85 15.13 TH
|
||||||
5.35 16.00 5.85 16.87 6.85 16.87 7.35 16.00 6.85 15.13 5.85 15.13 TH
|
5.35 20 5.85 20.87 6.85 20.87 7.35 20 6.85 19.13 5.85 19.13 TH
|
||||||
5.35 20.00 5.85 20.87 6.85 20.87 7.35 20.00 6.85 19.13 5.85 19.13 TH
|
5.35 24 5.85 24.87 6.85 24.87 7.35 24 6.85 23.13 5.85 23.13 TH
|
||||||
5.35 24.00 5.85 24.87 6.85 24.87 7.35 24.00 6.85 23.13 5.85 23.13 TH
|
5.35 28 5.85 28.87 6.85 28.87 7.35 28 6.85 27.13 5.85 27.13 TH
|
||||||
5.35 28.00 5.85 28.87 6.85 28.87 7.35 28.00 6.85 27.13 5.85 27.13 TH
|
5.35 32 5.85 32.87 6.85 32.87 7.35 32 6.85 31.13 5.85 31.13 TH
|
||||||
5.35 32.00 5.85 32.87 6.85 32.87 7.35 32.00 6.85 31.13 5.85 31.13 TH
|
5.35 36 5.85 36.87 6.85 36.87 7.35 36 6.85 35.13 5.85 35.13 TH
|
||||||
5.35 36.00 5.85 36.87 6.85 36.87 7.35 36.00 6.85 35.13 5.85 35.13 TH
|
5.35 40 5.85 40.87 6.85 40.87 7.35 40 6.85 39.13 5.85 39.13 TH
|
||||||
5.35 40.00 5.85 40.87 6.85 40.87 7.35 40.00 6.85 39.13 5.85 39.13 TH
|
5.35 44 5.85 44.87 6.85 44.87 7.35 44 6.85 43.13 5.85 43.13 TH
|
||||||
5.35 44.00 5.85 44.87 6.85 44.87 7.35 44.00 6.85 43.13 5.85 43.13 TH
|
5.35 48 5.85 48.87 6.85 48.87 7.35 48 6.85 47.13 5.85 47.13 TH
|
||||||
5.35 48.00 5.85 48.87 6.85 48.87 7.35 48.00 6.85 47.13 5.85 47.13 TH
|
5.35 52 5.85 52.87 6.85 52.87 7.35 52 6.85 51.13 5.85 51.13 TH
|
||||||
5.35 52.00 5.85 52.87 6.85 52.87 7.35 52.00 6.85 51.13 5.85 51.13 TH
|
5.35 56 5.85 56.87 6.85 56.87 7.35 56 6.85 55.13 5.85 55.13 TH
|
||||||
5.35 56.00 5.85 56.87 6.85 56.87 7.35 56.00 6.85 55.13 5.85 55.13 TH
|
5.35 58 5.85 58.87 6.85 58.87 7.35 58 6.85 57.13 5.85 57.13 TH
|
||||||
5.35 58.00 5.85 58.87 6.85 58.87 7.35 58.00 6.85 57.13 5.85 57.13 TH
|
7.08 59 7.58 59.87 8.58 59.87 9.08 59 8.58 58.13 7.58 58.13 TH
|
||||||
7.08 59.00 7.58 59.87 8.58 59.87 9.08 59.00 8.58 58.13 7.58 58.13 TH
|
8.81 2 9.31 2.87 10.31 2.87 10.81 2 10.31 1.13 9.31 1.13 TH
|
||||||
8.81 2.00 9.31 2.87 10.31 2.87 10.81 2.00 10.31 1.13 9.31 1.13 TH
|
8.81 6 9.31 6.87 10.31 6.87 10.81 6 10.31 5.13 9.31 5.13 TH
|
||||||
8.81 6.00 9.31 6.87 10.31 6.87 10.81 6.00 10.31 5.13 9.31 5.13 TH
|
8.81 10 9.31 10.87 10.31 10.87 10.81 10 10.31 9.13 9.31 9.13 TH
|
||||||
8.81 10.00 9.31 10.87 10.31 10.87 10.81 10.00 10.31 9.13 9.31 9.13 TH
|
8.81 14 9.31 14.87 10.31 14.87 10.81 14 10.31 13.13 9.31 13.13 TH
|
||||||
8.81 14.00 9.31 14.87 10.31 14.87 10.81 14.00 10.31 13.13 9.31 13.13 TH
|
8.81 18 9.31 18.87 10.31 18.87 10.81 18 10.31 17.13 9.31 17.13 TH
|
||||||
8.81 18.00 9.31 18.87 10.31 18.87 10.81 18.00 10.31 17.13 9.31 17.13 TH
|
8.81 22 9.31 22.87 10.31 22.87 10.81 22 10.31 21.13 9.31 21.13 TH
|
||||||
8.81 22.00 9.31 22.87 10.31 22.87 10.81 22.00 10.31 21.13 9.31 21.13 TH
|
8.81 26 9.31 26.87 10.31 26.87 10.81 26 10.31 25.13 9.31 25.13 TH
|
||||||
8.81 26.00 9.31 26.87 10.31 26.87 10.81 26.00 10.31 25.13 9.31 25.13 TH
|
8.81 30 9.31 30.87 10.31 30.87 10.81 30 10.31 29.13 9.31 29.13 TH
|
||||||
8.81 30.00 9.31 30.87 10.31 30.87 10.81 30.00 10.31 29.13 9.31 29.13 TH
|
8.81 34 9.31 34.87 10.31 34.87 10.81 34 10.31 33.13 9.31 33.13 TH
|
||||||
8.81 34.00 9.31 34.87 10.31 34.87 10.81 34.00 10.31 33.13 9.31 33.13 TH
|
8.81 38 9.31 38.87 10.31 38.87 10.81 38 10.31 37.13 9.31 37.13 TH
|
||||||
8.81 38.00 9.31 38.87 10.31 38.87 10.81 38.00 10.31 37.13 9.31 37.13 TH
|
8.81 42 9.31 42.87 10.31 42.87 10.81 42 10.31 41.13 9.31 41.13 TH
|
||||||
8.81 42.00 9.31 42.87 10.31 42.87 10.81 42.00 10.31 41.13 9.31 41.13 TH
|
8.81 46 9.31 46.87 10.31 46.87 10.81 46 10.31 45.13 9.31 45.13 TH
|
||||||
8.81 46.00 9.31 46.87 10.31 46.87 10.81 46.00 10.31 45.13 9.31 45.13 TH
|
8.81 50 9.31 50.87 10.31 50.87 10.81 50 10.31 49.13 9.31 49.13 TH
|
||||||
8.81 50.00 9.31 50.87 10.31 50.87 10.81 50.00 10.31 49.13 9.31 49.13 TH
|
8.81 54 9.31 54.87 10.31 54.87 10.81 54 10.31 53.13 9.31 53.13 TH
|
||||||
8.81 54.00 9.31 54.87 10.31 54.87 10.81 54.00 10.31 53.13 9.31 53.13 TH
|
10.55 3 11.05 3.87 12.05 3.87 12.55 3 12.05 2.13 11.05 2.13 TH
|
||||||
10.55 3.00 11.05 3.87 12.05 3.87 12.55 3.00 12.05 2.13 11.05 2.13 TH
|
10.55 7 11.05 7.87 12.05 7.87 12.55 7 12.05 6.13 11.05 6.13 TH
|
||||||
10.55 7.00 11.05 7.87 12.05 7.87 12.55 7.00 12.05 6.13 11.05 6.13 TH
|
10.55 11 11.05 11.87 12.05 11.87 12.55 11 12.05 10.13 11.05 10.13 TH
|
||||||
10.55 11.00 11.05 11.87 12.05 11.87 12.55 11.00 12.05 10.13 11.05 10.13 TH
|
10.55 15 11.05 15.87 12.05 15.87 12.55 15 12.05 14.13 11.05 14.13 TH
|
||||||
10.55 15.00 11.05 15.87 12.05 15.87 12.55 15.00 12.05 14.13 11.05 14.13 TH
|
10.55 19 11.05 19.87 12.05 19.87 12.55 19 12.05 18.13 11.05 18.13 TH
|
||||||
10.55 19.00 11.05 19.87 12.05 19.87 12.55 19.00 12.05 18.13 11.05 18.13 TH
|
10.55 23 11.05 23.87 12.05 23.87 12.55 23 12.05 22.13 11.05 22.13 TH
|
||||||
10.55 23.00 11.05 23.87 12.05 23.87 12.55 23.00 12.05 22.13 11.05 22.13 TH
|
10.55 27 11.05 27.87 12.05 27.87 12.55 27 12.05 26.13 11.05 26.13 TH
|
||||||
10.55 27.00 11.05 27.87 12.05 27.87 12.55 27.00 12.05 26.13 11.05 26.13 TH
|
10.55 31 11.05 31.87 12.05 31.87 12.55 31 12.05 30.13 11.05 30.13 TH
|
||||||
10.55 31.00 11.05 31.87 12.05 31.87 12.55 31.00 12.05 30.13 11.05 30.13 TH
|
10.55 35 11.05 35.87 12.05 35.87 12.55 35 12.05 34.13 11.05 34.13 TH
|
||||||
10.55 35.00 11.05 35.87 12.05 35.87 12.55 35.00 12.05 34.13 11.05 34.13 TH
|
10.55 39 11.05 39.87 12.05 39.87 12.55 39 12.05 38.13 11.05 38.13 TH
|
||||||
10.55 39.00 11.05 39.87 12.05 39.87 12.55 39.00 12.05 38.13 11.05 38.13 TH
|
10.55 43 11.05 43.87 12.05 43.87 12.55 43 12.05 42.13 11.05 42.13 TH
|
||||||
10.55 43.00 11.05 43.87 12.05 43.87 12.55 43.00 12.05 42.13 11.05 42.13 TH
|
10.55 47 11.05 47.87 12.05 47.87 12.55 47 12.05 46.13 11.05 46.13 TH
|
||||||
10.55 47.00 11.05 47.87 12.05 47.87 12.55 47.00 12.05 46.13 11.05 46.13 TH
|
10.55 51 11.05 51.87 12.05 51.87 12.55 51 12.05 50.13 11.05 50.13 TH
|
||||||
10.55 51.00 11.05 51.87 12.05 51.87 12.55 51.00 12.05 50.13 11.05 50.13 TH
|
10.55 55 11.05 55.87 12.05 55.87 12.55 55 12.05 54.13 11.05 54.13 TH
|
||||||
10.55 55.00 11.05 55.87 12.05 55.87 12.55 55.00 12.05 54.13 11.05 54.13 TH
|
10.55 57 11.05 57.87 12.05 57.87 12.55 57 12.05 56.13 11.05 56.13 TH
|
||||||
10.55 57.00 11.05 57.87 12.05 57.87 12.55 57.00 12.05 56.13 11.05 56.13 TH
|
12.28 58 12.78 58.87 13.78 58.87 14.28 58 13.78 57.13 12.78 57.13 TH
|
||||||
12.28 58.00 12.78 58.87 13.78 58.87 14.28 58.00 13.78 57.13 12.78 57.13 TH
|
14.01 1 14.51 1.87 15.51 1.87 16.01 1 15.51 0.13 14.51 0.13 TH
|
||||||
14.01 1.00 14.51 1.87 15.51 1.87 16.01 1.00 15.51 0.13 14.51 0.13 TH
|
14.01 5 14.51 5.87 15.51 5.87 16.01 5 15.51 4.13 14.51 4.13 TH
|
||||||
14.01 5.00 14.51 5.87 15.51 5.87 16.01 5.00 15.51 4.13 14.51 4.13 TH
|
14.01 9 14.51 9.87 15.51 9.87 16.01 9 15.51 8.13 14.51 8.13 TH
|
||||||
14.01 9.00 14.51 9.87 15.51 9.87 16.01 9.00 15.51 8.13 14.51 8.13 TH
|
14.01 13 14.51 13.87 15.51 13.87 16.01 13 15.51 12.13 14.51 12.13 TH
|
||||||
14.01 13.00 14.51 13.87 15.51 13.87 16.01 13.00 15.51 12.13 14.51 12.13 TH
|
14.01 17 14.51 17.87 15.51 17.87 16.01 17 15.51 16.13 14.51 16.13 TH
|
||||||
14.01 17.00 14.51 17.87 15.51 17.87 16.01 17.00 15.51 16.13 14.51 16.13 TH
|
14.01 21 14.51 21.87 15.51 21.87 16.01 21 15.51 20.13 14.51 20.13 TH
|
||||||
14.01 21.00 14.51 21.87 15.51 21.87 16.01 21.00 15.51 20.13 14.51 20.13 TH
|
14.01 25 14.51 25.87 15.51 25.87 16.01 25 15.51 24.13 14.51 24.13 TH
|
||||||
14.01 25.00 14.51 25.87 15.51 25.87 16.01 25.00 15.51 24.13 14.51 24.13 TH
|
14.01 29 14.51 29.87 15.51 29.87 16.01 29 15.51 28.13 14.51 28.13 TH
|
||||||
14.01 29.00 14.51 29.87 15.51 29.87 16.01 29.00 15.51 28.13 14.51 28.13 TH
|
14.01 33 14.51 33.87 15.51 33.87 16.01 33 15.51 32.13 14.51 32.13 TH
|
||||||
14.01 33.00 14.51 33.87 15.51 33.87 16.01 33.00 15.51 32.13 14.51 32.13 TH
|
14.01 37 14.51 37.87 15.51 37.87 16.01 37 15.51 36.13 14.51 36.13 TH
|
||||||
14.01 37.00 14.51 37.87 15.51 37.87 16.01 37.00 15.51 36.13 14.51 36.13 TH
|
14.01 41 14.51 41.87 15.51 41.87 16.01 41 15.51 40.13 14.51 40.13 TH
|
||||||
14.01 41.00 14.51 41.87 15.51 41.87 16.01 41.00 15.51 40.13 14.51 40.13 TH
|
14.01 45 14.51 45.87 15.51 45.87 16.01 45 15.51 44.13 14.51 44.13 TH
|
||||||
14.01 45.00 14.51 45.87 15.51 45.87 16.01 45.00 15.51 44.13 14.51 44.13 TH
|
14.01 49 14.51 49.87 15.51 49.87 16.01 49 15.51 48.13 14.51 48.13 TH
|
||||||
14.01 49.00 14.51 49.87 15.51 49.87 16.01 49.00 15.51 48.13 14.51 48.13 TH
|
14.01 53 14.51 53.87 15.51 53.87 16.01 53 15.51 52.13 14.51 52.13 TH
|
||||||
14.01 53.00 14.51 53.87 15.51 53.87 16.01 53.00 15.51 52.13 14.51 52.13 TH
|
14.01 59 14.51 59.87 15.51 59.87 16.01 59 15.51 58.13 14.51 58.13 TH
|
||||||
14.01 59.00 14.51 59.87 15.51 59.87 16.01 59.00 15.51 58.13 14.51 58.13 TH
|
15.74 4 16.24 4.87 17.24 4.87 17.74 4 17.24 3.13 16.24 3.13 TH
|
||||||
15.74 4.00 16.24 4.87 17.24 4.87 17.74 4.00 17.24 3.13 16.24 3.13 TH
|
15.74 8 16.24 8.87 17.24 8.87 17.74 8 17.24 7.13 16.24 7.13 TH
|
||||||
15.74 8.00 16.24 8.87 17.24 8.87 17.74 8.00 17.24 7.13 16.24 7.13 TH
|
15.74 12 16.24 12.87 17.24 12.87 17.74 12 17.24 11.13 16.24 11.13 TH
|
||||||
15.74 12.00 16.24 12.87 17.24 12.87 17.74 12.00 17.24 11.13 16.24 11.13 TH
|
15.74 16 16.24 16.87 17.24 16.87 17.74 16 17.24 15.13 16.24 15.13 TH
|
||||||
15.74 16.00 16.24 16.87 17.24 16.87 17.74 16.00 17.24 15.13 16.24 15.13 TH
|
15.74 20 16.24 20.87 17.24 20.87 17.74 20 17.24 19.13 16.24 19.13 TH
|
||||||
15.74 20.00 16.24 20.87 17.24 20.87 17.74 20.00 17.24 19.13 16.24 19.13 TH
|
15.74 22 16.24 22.87 17.24 22.87 17.74 22 17.24 21.13 16.24 21.13 TH
|
||||||
15.74 22.00 16.24 22.87 17.24 22.87 17.74 22.00 17.24 21.13 16.24 21.13 TH
|
15.74 24 16.24 24.87 17.24 24.87 17.74 24 17.24 23.13 16.24 23.13 TH
|
||||||
15.74 24.00 16.24 24.87 17.24 24.87 17.74 24.00 17.24 23.13 16.24 23.13 TH
|
15.74 26 16.24 26.87 17.24 26.87 17.74 26 17.24 25.13 16.24 25.13 TH
|
||||||
15.74 26.00 16.24 26.87 17.24 26.87 17.74 26.00 17.24 25.13 16.24 25.13 TH
|
15.74 28 16.24 28.87 17.24 28.87 17.74 28 17.24 27.13 16.24 27.13 TH
|
||||||
15.74 28.00 16.24 28.87 17.24 28.87 17.74 28.00 17.24 27.13 16.24 27.13 TH
|
15.74 32 16.24 32.87 17.24 32.87 17.74 32 17.24 31.13 16.24 31.13 TH
|
||||||
15.74 32.00 16.24 32.87 17.24 32.87 17.74 32.00 17.24 31.13 16.24 31.13 TH
|
15.74 42 16.24 42.87 17.24 42.87 17.74 42 17.24 41.13 16.24 41.13 TH
|
||||||
15.74 42.00 16.24 42.87 17.24 42.87 17.74 42.00 17.24 41.13 16.24 41.13 TH
|
15.74 48 16.24 48.87 17.24 48.87 17.74 48 17.24 47.13 16.24 47.13 TH
|
||||||
15.74 48.00 16.24 48.87 17.24 48.87 17.74 48.00 17.24 47.13 16.24 47.13 TH
|
15.74 52 16.24 52.87 17.24 52.87 17.74 52 17.24 51.13 16.24 51.13 TH
|
||||||
15.74 52.00 16.24 52.87 17.24 52.87 17.74 52.00 17.24 51.13 16.24 51.13 TH
|
15.74 56 16.24 56.87 17.24 56.87 17.74 56 17.24 55.13 16.24 55.13 TH
|
||||||
15.74 56.00 16.24 56.87 17.24 56.87 17.74 56.00 17.24 55.13 16.24 55.13 TH
|
17.47 23 17.97 23.87 18.97 23.87 19.47 23 18.97 22.13 17.97 22.13 TH
|
||||||
17.47 23.00 17.97 23.87 18.97 23.87 19.47 23.00 18.97 22.13 17.97 22.13 TH
|
17.47 33 17.97 33.87 18.97 33.87 19.47 33 18.97 32.13 17.97 32.13 TH
|
||||||
17.47 33.00 17.97 33.87 18.97 33.87 19.47 33.00 18.97 32.13 17.97 32.13 TH
|
17.47 43 17.97 43.87 18.97 43.87 19.47 43 18.97 42.13 17.97 42.13 TH
|
||||||
17.47 43.00 17.97 43.87 18.97 43.87 19.47 43.00 18.97 42.13 17.97 42.13 TH
|
19.21 2 19.71 2.87 20.71 2.87 21.21 2 20.71 1.13 19.71 1.13 TH
|
||||||
19.21 2.00 19.71 2.87 20.71 2.87 21.21 2.00 20.71 1.13 19.71 1.13 TH
|
19.21 6 19.71 6.87 20.71 6.87 21.21 6 20.71 5.13 19.71 5.13 TH
|
||||||
19.21 6.00 19.71 6.87 20.71 6.87 21.21 6.00 20.71 5.13 19.71 5.13 TH
|
19.21 10 19.71 10.87 20.71 10.87 21.21 10 20.71 9.13 19.71 9.13 TH
|
||||||
19.21 10.00 19.71 10.87 20.71 10.87 21.21 10.00 20.71 9.13 19.71 9.13 TH
|
19.21 14 19.71 14.87 20.71 14.87 21.21 14 20.71 13.13 19.71 13.13 TH
|
||||||
19.21 14.00 19.71 14.87 20.71 14.87 21.21 14.00 20.71 13.13 19.71 13.13 TH
|
19.21 20 19.71 20.87 20.71 20.87 21.21 20 20.71 19.13 19.71 19.13 TH
|
||||||
19.21 20.00 19.71 20.87 20.71 20.87 21.21 20.00 20.71 19.13 19.71 19.13 TH
|
19.21 22 19.71 22.87 20.71 22.87 21.21 22 20.71 21.13 19.71 21.13 TH
|
||||||
19.21 22.00 19.71 22.87 20.71 22.87 21.21 22.00 20.71 21.13 19.71 21.13 TH
|
19.21 38 19.71 38.87 20.71 38.87 21.21 38 20.71 37.13 19.71 37.13 TH
|
||||||
19.21 38.00 19.71 38.87 20.71 38.87 21.21 38.00 20.71 37.13 19.71 37.13 TH
|
19.21 44 19.71 44.87 20.71 44.87 21.21 44 20.71 43.13 19.71 43.13 TH
|
||||||
19.21 44.00 19.71 44.87 20.71 44.87 21.21 44.00 20.71 43.13 19.71 43.13 TH
|
19.21 46 19.71 46.87 20.71 46.87 21.21 46 20.71 45.13 19.71 45.13 TH
|
||||||
19.21 46.00 19.71 46.87 20.71 46.87 21.21 46.00 20.71 45.13 19.71 45.13 TH
|
19.21 50 19.71 50.87 20.71 50.87 21.21 50 20.71 49.13 19.71 49.13 TH
|
||||||
19.21 50.00 19.71 50.87 20.71 50.87 21.21 50.00 20.71 49.13 19.71 49.13 TH
|
19.21 54 19.71 54.87 20.71 54.87 21.21 54 20.71 53.13 19.71 53.13 TH
|
||||||
19.21 54.00 19.71 54.87 20.71 54.87 21.21 54.00 20.71 53.13 19.71 53.13 TH
|
19.21 58 19.71 58.87 20.71 58.87 21.21 58 20.71 57.13 19.71 57.13 TH
|
||||||
19.21 58.00 19.71 58.87 20.71 58.87 21.21 58.00 20.71 57.13 19.71 57.13 TH
|
20.94 3 21.44 3.87 22.44 3.87 22.94 3 22.44 2.13 21.44 2.13 TH
|
||||||
20.94 3.00 21.44 3.87 22.44 3.87 22.94 3.00 22.44 2.13 21.44 2.13 TH
|
20.94 7 21.44 7.87 22.44 7.87 22.94 7 22.44 6.13 21.44 6.13 TH
|
||||||
20.94 7.00 21.44 7.87 22.44 7.87 22.94 7.00 22.44 6.13 21.44 6.13 TH
|
20.94 11 21.44 11.87 22.44 11.87 22.94 11 22.44 10.13 21.44 10.13 TH
|
||||||
20.94 11.00 21.44 11.87 22.44 11.87 22.94 11.00 22.44 10.13 21.44 10.13 TH
|
20.94 15 21.44 15.87 22.44 15.87 22.94 15 22.44 14.13 21.44 14.13 TH
|
||||||
20.94 15.00 21.44 15.87 22.44 15.87 22.94 15.00 22.44 14.13 21.44 14.13 TH
|
20.94 19 21.44 19.87 22.44 19.87 22.94 19 22.44 18.13 21.44 18.13 TH
|
||||||
20.94 19.00 21.44 19.87 22.44 19.87 22.94 19.00 22.44 18.13 21.44 18.13 TH
|
20.94 21 21.44 21.87 22.44 21.87 22.94 21 22.44 20.13 21.44 20.13 TH
|
||||||
20.94 21.00 21.44 21.87 22.44 21.87 22.94 21.00 22.44 20.13 21.44 20.13 TH
|
20.94 43 21.44 43.87 22.44 43.87 22.94 43 22.44 42.13 21.44 42.13 TH
|
||||||
20.94 43.00 21.44 43.87 22.44 43.87 22.94 43.00 22.44 42.13 21.44 42.13 TH
|
20.94 47 21.44 47.87 22.44 47.87 22.94 47 22.44 46.13 21.44 46.13 TH
|
||||||
20.94 47.00 21.44 47.87 22.44 47.87 22.94 47.00 22.44 46.13 21.44 46.13 TH
|
20.94 51 21.44 51.87 22.44 51.87 22.94 51 22.44 50.13 21.44 50.13 TH
|
||||||
20.94 51.00 21.44 51.87 22.44 51.87 22.94 51.00 22.44 50.13 21.44 50.13 TH
|
20.94 55 21.44 55.87 22.44 55.87 22.94 55 22.44 54.13 21.44 54.13 TH
|
||||||
20.94 55.00 21.44 55.87 22.44 55.87 22.94 55.00 22.44 54.13 21.44 54.13 TH
|
20.94 57 21.44 57.87 22.44 57.87 22.94 57 22.44 56.13 21.44 56.13 TH
|
||||||
20.94 57.00 21.44 57.87 22.44 57.87 22.94 57.00 22.44 56.13 21.44 56.13 TH
|
22.67 16 23.17 16.87 24.17 16.87 24.67 16 24.17 15.13 23.17 15.13 TH
|
||||||
22.67 16.00 23.17 16.87 24.17 16.87 24.67 16.00 24.17 15.13 23.17 15.13 TH
|
22.67 44 23.17 44.87 24.17 44.87 24.67 44 24.17 43.13 23.17 43.13 TH
|
||||||
22.67 44.00 23.17 44.87 24.17 44.87 24.67 44.00 24.17 43.13 23.17 43.13 TH
|
24.4 1 24.9 1.87 25.9 1.87 26.4 1 25.9 0.13 24.9 0.13 TH
|
||||||
24.40 1.00 24.90 1.87 25.90 1.87 26.40 1.00 25.90 0.13 24.90 0.13 TH
|
24.4 5 24.9 5.87 25.9 5.87 26.4 5 25.9 4.13 24.9 4.13 TH
|
||||||
24.40 5.00 24.90 5.87 25.90 5.87 26.40 5.00 25.90 4.13 24.90 4.13 TH
|
24.4 9 24.9 9.87 25.9 9.87 26.4 9 25.9 8.13 24.9 8.13 TH
|
||||||
24.40 9.00 24.90 9.87 25.90 9.87 26.40 9.00 25.90 8.13 24.90 8.13 TH
|
24.4 17 24.9 17.87 25.9 17.87 26.4 17 25.9 16.13 24.9 16.13 TH
|
||||||
24.40 17.00 24.90 17.87 25.90 17.87 26.40 17.00 25.90 16.13 24.90 16.13 TH
|
24.4 39 24.9 39.87 25.9 39.87 26.4 39 25.9 38.13 24.9 38.13 TH
|
||||||
24.40 39.00 24.90 39.87 25.90 39.87 26.40 39.00 25.90 38.13 24.90 38.13 TH
|
24.4 41 24.9 41.87 25.9 41.87 26.4 41 25.9 40.13 24.9 40.13 TH
|
||||||
24.40 41.00 24.90 41.87 25.90 41.87 26.40 41.00 25.90 40.13 24.90 40.13 TH
|
24.4 45 24.9 45.87 25.9 45.87 26.4 45 25.9 44.13 24.9 44.13 TH
|
||||||
24.40 45.00 24.90 45.87 25.90 45.87 26.40 45.00 25.90 44.13 24.90 44.13 TH
|
24.4 49 24.9 49.87 25.9 49.87 26.4 49 25.9 48.13 24.9 48.13 TH
|
||||||
24.40 49.00 24.90 49.87 25.90 49.87 26.40 49.00 25.90 48.13 24.90 48.13 TH
|
24.4 53 24.9 53.87 25.9 53.87 26.4 53 25.9 52.13 24.9 52.13 TH
|
||||||
24.40 53.00 24.90 53.87 25.90 53.87 26.40 53.00 25.90 52.13 24.90 52.13 TH
|
26.13 4 26.63 4.87 27.63 4.87 28.13 4 27.63 3.13 26.63 3.13 TH
|
||||||
26.13 4.00 26.63 4.87 27.63 4.87 28.13 4.00 27.63 3.13 26.63 3.13 TH
|
26.13 8 26.63 8.87 27.63 8.87 28.13 8 27.63 7.13 26.63 7.13 TH
|
||||||
26.13 8.00 26.63 8.87 27.63 8.87 28.13 8.00 27.63 7.13 26.63 7.13 TH
|
26.13 12 26.63 12.87 27.63 12.87 28.13 12 27.63 11.13 26.63 11.13 TH
|
||||||
26.13 12.00 26.63 12.87 27.63 12.87 28.13 12.00 27.63 11.13 26.63 11.13 TH
|
26.13 14 26.63 14.87 27.63 14.87 28.13 14 27.63 13.13 26.63 13.13 TH
|
||||||
26.13 14.00 26.63 14.87 27.63 14.87 28.13 14.00 27.63 13.13 26.63 13.13 TH
|
26.13 16 26.63 16.87 27.63 16.87 28.13 16 27.63 15.13 26.63 15.13 TH
|
||||||
26.13 16.00 26.63 16.87 27.63 16.87 28.13 16.00 27.63 15.13 26.63 15.13 TH
|
26.13 18 26.63 18.87 27.63 18.87 28.13 18 27.63 17.13 26.63 17.13 TH
|
||||||
26.13 18.00 26.63 18.87 27.63 18.87 28.13 18.00 27.63 17.13 26.63 17.13 TH
|
26.13 42 26.63 42.87 27.63 42.87 28.13 42 27.63 41.13 26.63 41.13 TH
|
||||||
26.13 42.00 26.63 42.87 27.63 42.87 28.13 42.00 27.63 41.13 26.63 41.13 TH
|
26.13 48 26.63 48.87 27.63 48.87 28.13 48 27.63 47.13 26.63 47.13 TH
|
||||||
26.13 48.00 26.63 48.87 27.63 48.87 28.13 48.00 27.63 47.13 26.63 47.13 TH
|
26.13 52 26.63 52.87 27.63 52.87 28.13 52 27.63 51.13 26.63 51.13 TH
|
||||||
26.13 52.00 26.63 52.87 27.63 52.87 28.13 52.00 27.63 51.13 26.63 51.13 TH
|
26.13 56 26.63 56.87 27.63 56.87 28.13 56 27.63 55.13 26.63 55.13 TH
|
||||||
26.13 56.00 26.63 56.87 27.63 56.87 28.13 56.00 27.63 55.13 26.63 55.13 TH
|
26.13 58 26.63 58.87 27.63 58.87 28.13 58 27.63 57.13 26.63 57.13 TH
|
||||||
26.13 58.00 26.63 58.87 27.63 58.87 28.13 58.00 27.63 57.13 26.63 57.13 TH
|
27.87 17 28.37 17.87 29.37 17.87 29.87 17 29.37 16.13 28.37 16.13 TH
|
||||||
27.87 17.00 28.37 17.87 29.37 17.87 29.87 17.00 29.37 16.13 28.37 16.13 TH
|
27.87 41 28.37 41.87 29.37 41.87 29.87 41 29.37 40.13 28.37 40.13 TH
|
||||||
27.87 41.00 28.37 41.87 29.37 41.87 29.87 41.00 29.37 40.13 28.37 40.13 TH
|
27.87 57 28.37 57.87 29.37 57.87 29.87 57 29.37 56.13 28.37 56.13 TH
|
||||||
27.87 57.00 28.37 57.87 29.37 57.87 29.87 57.00 29.37 56.13 28.37 56.13 TH
|
29.6 2 30.1 2.87 31.1 2.87 31.6 2 31.1 1.13 30.1 1.13 TH
|
||||||
29.60 2.00 30.10 2.87 31.10 2.87 31.60 2.00 31.10 1.13 30.10 1.13 TH
|
29.6 6 30.1 6.87 31.1 6.87 31.6 6 31.1 5.13 30.1 5.13 TH
|
||||||
29.60 6.00 30.10 6.87 31.10 6.87 31.60 6.00 31.10 5.13 30.10 5.13 TH
|
29.6 10 30.1 10.87 31.1 10.87 31.6 10 31.1 9.13 30.1 9.13 TH
|
||||||
29.60 10.00 30.10 10.87 31.10 10.87 31.60 10.00 31.10 9.13 30.10 9.13 TH
|
29.6 42 30.1 42.87 31.1 42.87 31.6 42 31.1 41.13 30.1 41.13 TH
|
||||||
29.60 42.00 30.10 42.87 31.10 42.87 31.60 42.00 31.10 41.13 30.10 41.13 TH
|
29.6 44 30.1 44.87 31.1 44.87 31.6 44 31.1 43.13 30.1 43.13 TH
|
||||||
29.60 44.00 30.10 44.87 31.10 44.87 31.60 44.00 31.10 43.13 30.10 43.13 TH
|
29.6 46 30.1 46.87 31.1 46.87 31.6 46 31.1 45.13 30.1 45.13 TH
|
||||||
29.60 46.00 30.10 46.87 31.10 46.87 31.60 46.00 31.10 45.13 30.10 45.13 TH
|
29.6 50 30.1 50.87 31.1 50.87 31.6 50 31.1 49.13 30.1 49.13 TH
|
||||||
29.60 50.00 30.10 50.87 31.10 50.87 31.60 50.00 31.10 49.13 30.10 49.13 TH
|
29.6 54 30.1 54.87 31.1 54.87 31.6 54 31.1 53.13 30.1 53.13 TH
|
||||||
29.60 54.00 30.10 54.87 31.10 54.87 31.60 54.00 31.10 53.13 30.10 53.13 TH
|
31.33 3 31.83 3.87 32.83 3.87 33.33 3 32.83 2.13 31.83 2.13 TH
|
||||||
31.33 3.00 31.83 3.87 32.83 3.87 33.33 3.00 32.83 2.13 31.83 2.13 TH
|
31.33 7 31.83 7.87 32.83 7.87 33.33 7 32.83 6.13 31.83 6.13 TH
|
||||||
31.33 7.00 31.83 7.87 32.83 7.87 33.33 7.00 32.83 6.13 31.83 6.13 TH
|
31.33 11 31.83 11.87 32.83 11.87 33.33 11 32.83 10.13 31.83 10.13 TH
|
||||||
31.33 11.00 31.83 11.87 32.83 11.87 33.33 11.00 32.83 10.13 31.83 10.13 TH
|
31.33 15 31.83 15.87 32.83 15.87 33.33 15 32.83 14.13 31.83 14.13 TH
|
||||||
31.33 15.00 31.83 15.87 32.83 15.87 33.33 15.00 32.83 14.13 31.83 14.13 TH
|
31.33 17 31.83 17.87 32.83 17.87 33.33 17 32.83 16.13 31.83 16.13 TH
|
||||||
31.33 17.00 31.83 17.87 32.83 17.87 33.33 17.00 32.83 16.13 31.83 16.13 TH
|
31.33 19 31.83 19.87 32.83 19.87 33.33 19 32.83 18.13 31.83 18.13 TH
|
||||||
31.33 19.00 31.83 19.87 32.83 19.87 33.33 19.00 32.83 18.13 31.83 18.13 TH
|
31.33 43 31.83 43.87 32.83 43.87 33.33 43 32.83 42.13 31.83 42.13 TH
|
||||||
31.33 43.00 31.83 43.87 32.83 43.87 33.33 43.00 32.83 42.13 31.83 42.13 TH
|
31.33 47 31.83 47.87 32.83 47.87 33.33 47 32.83 46.13 31.83 46.13 TH
|
||||||
31.33 47.00 31.83 47.87 32.83 47.87 33.33 47.00 32.83 46.13 31.83 46.13 TH
|
31.33 51 31.83 51.87 32.83 51.87 33.33 51 32.83 50.13 31.83 50.13 TH
|
||||||
31.33 51.00 31.83 51.87 32.83 51.87 33.33 51.00 32.83 50.13 31.83 50.13 TH
|
31.33 55 31.83 55.87 32.83 55.87 33.33 55 32.83 54.13 31.83 54.13 TH
|
||||||
31.33 55.00 31.83 55.87 32.83 55.87 33.33 55.00 32.83 54.13 31.83 54.13 TH
|
31.33 57 31.83 57.87 32.83 57.87 33.33 57 32.83 56.13 31.83 56.13 TH
|
||||||
31.33 57.00 31.83 57.87 32.83 57.87 33.33 57.00 32.83 56.13 31.83 56.13 TH
|
31.33 59 31.83 59.87 32.83 59.87 33.33 59 32.83 58.13 31.83 58.13 TH
|
||||||
31.33 59.00 31.83 59.87 32.83 59.87 33.33 59.00 32.83 58.13 31.83 58.13 TH
|
33.06 18 33.56 18.87 34.56 18.87 35.06 18 34.56 17.13 33.56 17.13 TH
|
||||||
33.06 18.00 33.56 18.87 34.56 18.87 35.06 18.00 34.56 17.13 33.56 17.13 TH
|
33.06 58 33.56 58.87 34.56 58.87 35.06 58 34.56 57.13 33.56 57.13 TH
|
||||||
33.06 58.00 33.56 58.87 34.56 58.87 35.06 58.00 34.56 57.13 33.56 57.13 TH
|
34.79 1 35.29 1.87 36.29 1.87 36.79 1 36.29 0.13 35.29 0.13 TH
|
||||||
34.79 1.00 35.29 1.87 36.29 1.87 36.79 1.00 36.29 0.13 35.29 0.13 TH
|
34.79 5 35.29 5.87 36.29 5.87 36.79 5 36.29 4.13 35.29 4.13 TH
|
||||||
34.79 5.00 35.29 5.87 36.29 5.87 36.79 5.00 36.29 4.13 35.29 4.13 TH
|
34.79 9 35.29 9.87 36.29 9.87 36.79 9 36.29 8.13 35.29 8.13 TH
|
||||||
34.79 9.00 35.29 9.87 36.29 9.87 36.79 9.00 36.29 8.13 35.29 8.13 TH
|
34.79 13 35.29 13.87 36.29 13.87 36.79 13 36.29 12.13 35.29 12.13 TH
|
||||||
34.79 13.00 35.29 13.87 36.29 13.87 36.79 13.00 36.29 12.13 35.29 12.13 TH
|
34.79 15 35.29 15.87 36.29 15.87 36.79 15 36.29 14.13 35.29 14.13 TH
|
||||||
34.79 15.00 35.29 15.87 36.29 15.87 36.79 15.00 36.29 14.13 35.29 14.13 TH
|
34.79 37 35.29 37.87 36.29 37.87 36.79 37 36.29 36.13 35.29 36.13 TH
|
||||||
34.79 37.00 35.29 37.87 36.29 37.87 36.79 37.00 36.29 36.13 35.29 36.13 TH
|
34.79 39 35.29 39.87 36.29 39.87 36.79 39 36.29 38.13 35.29 38.13 TH
|
||||||
34.79 39.00 35.29 39.87 36.29 39.87 36.79 39.00 36.29 38.13 35.29 38.13 TH
|
34.79 41 35.29 41.87 36.29 41.87 36.79 41 36.29 40.13 35.29 40.13 TH
|
||||||
34.79 41.00 35.29 41.87 36.29 41.87 36.79 41.00 36.29 40.13 35.29 40.13 TH
|
34.79 43 35.29 43.87 36.29 43.87 36.79 43 36.29 42.13 35.29 42.13 TH
|
||||||
34.79 43.00 35.29 43.87 36.29 43.87 36.79 43.00 36.29 42.13 35.29 42.13 TH
|
34.79 45 35.29 45.87 36.29 45.87 36.79 45 36.29 44.13 35.29 44.13 TH
|
||||||
34.79 45.00 35.29 45.87 36.29 45.87 36.79 45.00 36.29 44.13 35.29 44.13 TH
|
34.79 49 35.29 49.87 36.29 49.87 36.79 49 36.29 48.13 35.29 48.13 TH
|
||||||
34.79 49.00 35.29 49.87 36.29 49.87 36.79 49.00 36.29 48.13 35.29 48.13 TH
|
34.79 53 35.29 53.87 36.29 53.87 36.79 53 36.29 52.13 35.29 52.13 TH
|
||||||
34.79 53.00 35.29 53.87 36.29 53.87 36.79 53.00 36.29 52.13 35.29 52.13 TH
|
34.79 57 35.29 57.87 36.29 57.87 36.79 57 36.29 56.13 35.29 56.13 TH
|
||||||
34.79 57.00 35.29 57.87 36.29 57.87 36.79 57.00 36.29 56.13 35.29 56.13 TH
|
34.79 59 35.29 59.87 36.29 59.87 36.79 59 36.29 58.13 35.29 58.13 TH
|
||||||
34.79 59.00 35.29 59.87 36.29 59.87 36.79 59.00 36.29 58.13 35.29 58.13 TH
|
36.53 4 37.03 4.87 38.03 4.87 38.53 4 38.03 3.13 37.03 3.13 TH
|
||||||
36.53 4.00 37.03 4.87 38.03 4.87 38.53 4.00 38.03 3.13 37.03 3.13 TH
|
36.53 8 37.03 8.87 38.03 8.87 38.53 8 38.03 7.13 37.03 7.13 TH
|
||||||
36.53 8.00 37.03 8.87 38.03 8.87 38.53 8.00 38.03 7.13 37.03 7.13 TH
|
36.53 12 37.03 12.87 38.03 12.87 38.53 12 38.03 11.13 37.03 11.13 TH
|
||||||
36.53 12.00 37.03 12.87 38.03 12.87 38.53 12.00 38.03 11.13 37.03 11.13 TH
|
36.53 16 37.03 16.87 38.03 16.87 38.53 16 38.03 15.13 37.03 15.13 TH
|
||||||
36.53 16.00 37.03 16.87 38.03 16.87 38.53 16.00 38.03 15.13 37.03 15.13 TH
|
36.53 20 37.03 20.87 38.03 20.87 38.53 20 38.03 19.13 37.03 19.13 TH
|
||||||
36.53 20.00 37.03 20.87 38.03 20.87 38.53 20.00 38.03 19.13 37.03 19.13 TH
|
36.53 40 37.03 40.87 38.03 40.87 38.53 40 38.03 39.13 37.03 39.13 TH
|
||||||
36.53 40.00 37.03 40.87 38.03 40.87 38.53 40.00 38.03 39.13 37.03 39.13 TH
|
36.53 42 37.03 42.87 38.03 42.87 38.53 42 38.03 41.13 37.03 41.13 TH
|
||||||
36.53 42.00 37.03 42.87 38.03 42.87 38.53 42.00 38.03 41.13 37.03 41.13 TH
|
36.53 44 37.03 44.87 38.03 44.87 38.53 44 38.03 43.13 37.03 43.13 TH
|
||||||
36.53 44.00 37.03 44.87 38.03 44.87 38.53 44.00 38.03 43.13 37.03 43.13 TH
|
36.53 48 37.03 48.87 38.03 48.87 38.53 48 38.03 47.13 37.03 47.13 TH
|
||||||
36.53 48.00 37.03 48.87 38.03 48.87 38.53 48.00 38.03 47.13 37.03 47.13 TH
|
36.53 52 37.03 52.87 38.03 52.87 38.53 52 38.03 51.13 37.03 51.13 TH
|
||||||
36.53 52.00 37.03 52.87 38.03 52.87 38.53 52.00 38.03 51.13 37.03 51.13 TH
|
36.53 56 37.03 56.87 38.03 56.87 38.53 56 38.03 55.13 37.03 55.13 TH
|
||||||
36.53 56.00 37.03 56.87 38.03 56.87 38.53 56.00 38.03 55.13 37.03 55.13 TH
|
38.26 19 38.76 19.87 39.76 19.87 40.26 19 39.76 18.13 38.76 18.13 TH
|
||||||
38.26 19.00 38.76 19.87 39.76 19.87 40.26 19.00 39.76 18.13 38.76 18.13 TH
|
38.26 21 38.76 21.87 39.76 21.87 40.26 21 39.76 20.13 38.76 20.13 TH
|
||||||
38.26 21.00 38.76 21.87 39.76 21.87 40.26 21.00 39.76 20.13 38.76 20.13 TH
|
38.26 25 38.76 25.87 39.76 25.87 40.26 25 39.76 24.13 38.76 24.13 TH
|
||||||
38.26 25.00 38.76 25.87 39.76 25.87 40.26 25.00 39.76 24.13 38.76 24.13 TH
|
38.26 27 38.76 27.87 39.76 27.87 40.26 27 39.76 26.13 38.76 26.13 TH
|
||||||
38.26 27.00 38.76 27.87 39.76 27.87 40.26 27.00 39.76 26.13 38.76 26.13 TH
|
38.26 29 38.76 29.87 39.76 29.87 40.26 29 39.76 28.13 38.76 28.13 TH
|
||||||
38.26 29.00 38.76 29.87 39.76 29.87 40.26 29.00 39.76 28.13 38.76 28.13 TH
|
38.26 33 38.76 33.87 39.76 33.87 40.26 33 39.76 32.13 38.76 32.13 TH
|
||||||
38.26 33.00 38.76 33.87 39.76 33.87 40.26 33.00 39.76 32.13 38.76 32.13 TH
|
38.26 35 38.76 35.87 39.76 35.87 40.26 35 39.76 34.13 38.76 34.13 TH
|
||||||
38.26 35.00 38.76 35.87 39.76 35.87 40.26 35.00 39.76 34.13 38.76 34.13 TH
|
38.26 37 38.76 37.87 39.76 37.87 40.26 37 39.76 36.13 38.76 36.13 TH
|
||||||
38.26 37.00 38.76 37.87 39.76 37.87 40.26 37.00 39.76 36.13 38.76 36.13 TH
|
38.26 41 38.76 41.87 39.76 41.87 40.26 41 39.76 40.13 38.76 40.13 TH
|
||||||
38.26 41.00 38.76 41.87 39.76 41.87 40.26 41.00 39.76 40.13 38.76 40.13 TH
|
38.26 57 38.76 57.87 39.76 57.87 40.26 57 39.76 56.13 38.76 56.13 TH
|
||||||
38.26 57.00 38.76 57.87 39.76 57.87 40.26 57.00 39.76 56.13 38.76 56.13 TH
|
38.26 59 38.76 59.87 39.76 59.87 40.26 59 39.76 58.13 38.76 58.13 TH
|
||||||
38.26 59.00 38.76 59.87 39.76 59.87 40.26 59.00 39.76 58.13 38.76 58.13 TH
|
39.99 2 40.49 2.87 41.49 2.87 41.99 2 41.49 1.13 40.49 1.13 TH
|
||||||
39.99 2.00 40.49 2.87 41.49 2.87 41.99 2.00 41.49 1.13 40.49 1.13 TH
|
39.99 6 40.49 6.87 41.49 6.87 41.99 6 41.49 5.13 40.49 5.13 TH
|
||||||
39.99 6.00 40.49 6.87 41.49 6.87 41.99 6.00 41.49 5.13 40.49 5.13 TH
|
39.99 10 40.49 10.87 41.49 10.87 41.99 10 41.49 9.13 40.49 9.13 TH
|
||||||
39.99 10.00 40.49 10.87 41.49 10.87 41.99 10.00 41.49 9.13 40.49 9.13 TH
|
39.99 14 40.49 14.87 41.49 14.87 41.99 14 41.49 13.13 40.49 13.13 TH
|
||||||
39.99 14.00 40.49 14.87 41.49 14.87 41.99 14.00 41.49 13.13 40.49 13.13 TH
|
39.99 20 40.49 20.87 41.49 20.87 41.99 20 41.49 19.13 40.49 19.13 TH
|
||||||
39.99 20.00 40.49 20.87 41.49 20.87 41.99 20.00 41.49 19.13 40.49 19.13 TH
|
39.99 22 40.49 22.87 41.49 22.87 41.99 22 41.49 21.13 40.49 21.13 TH
|
||||||
39.99 22.00 40.49 22.87 41.49 22.87 41.99 22.00 41.49 21.13 40.49 21.13 TH
|
39.99 32 40.49 32.87 41.49 32.87 41.99 32 41.49 31.13 40.49 31.13 TH
|
||||||
39.99 32.00 40.49 32.87 41.49 32.87 41.99 32.00 41.49 31.13 40.49 31.13 TH
|
39.99 36 40.49 36.87 41.49 36.87 41.99 36 41.49 35.13 40.49 35.13 TH
|
||||||
39.99 36.00 40.49 36.87 41.49 36.87 41.99 36.00 41.49 35.13 40.49 35.13 TH
|
39.99 38 40.49 38.87 41.49 38.87 41.99 38 41.49 37.13 40.49 37.13 TH
|
||||||
39.99 38.00 40.49 38.87 41.49 38.87 41.99 38.00 41.49 37.13 40.49 37.13 TH
|
39.99 46 40.49 46.87 41.49 46.87 41.99 46 41.49 45.13 40.49 45.13 TH
|
||||||
39.99 46.00 40.49 46.87 41.49 46.87 41.99 46.00 41.49 45.13 40.49 45.13 TH
|
39.99 50 40.49 50.87 41.49 50.87 41.99 50 41.49 49.13 40.49 49.13 TH
|
||||||
39.99 50.00 40.49 50.87 41.49 50.87 41.99 50.00 41.49 49.13 40.49 49.13 TH
|
39.99 54 40.49 54.87 41.49 54.87 41.99 54 41.49 53.13 40.49 53.13 TH
|
||||||
39.99 54.00 40.49 54.87 41.49 54.87 41.99 54.00 41.49 53.13 40.49 53.13 TH
|
39.99 58 40.49 58.87 41.49 58.87 41.99 58 41.49 57.13 40.49 57.13 TH
|
||||||
39.99 58.00 40.49 58.87 41.49 58.87 41.99 58.00 41.49 57.13 40.49 57.13 TH
|
41.72 3 42.22 3.87 43.22 3.87 43.72 3 43.22 2.13 42.22 2.13 TH
|
||||||
41.72 3.00 42.22 3.87 43.22 3.87 43.72 3.00 43.22 2.13 42.22 2.13 TH
|
41.72 7 42.22 7.87 43.22 7.87 43.72 7 43.22 6.13 42.22 6.13 TH
|
||||||
41.72 7.00 42.22 7.87 43.22 7.87 43.72 7.00 43.22 6.13 42.22 6.13 TH
|
41.72 11 42.22 11.87 43.22 11.87 43.72 11 43.22 10.13 42.22 10.13 TH
|
||||||
41.72 11.00 42.22 11.87 43.22 11.87 43.72 11.00 43.22 10.13 42.22 10.13 TH
|
41.72 15 42.22 15.87 43.22 15.87 43.72 15 43.22 14.13 42.22 14.13 TH
|
||||||
41.72 15.00 42.22 15.87 43.22 15.87 43.72 15.00 43.22 14.13 42.22 14.13 TH
|
41.72 19 42.22 19.87 43.22 19.87 43.72 19 43.22 18.13 42.22 18.13 TH
|
||||||
41.72 19.00 42.22 19.87 43.22 19.87 43.72 19.00 43.22 18.13 42.22 18.13 TH
|
41.72 23 42.22 23.87 43.22 23.87 43.72 23 43.22 22.13 42.22 22.13 TH
|
||||||
41.72 23.00 42.22 23.87 43.22 23.87 43.72 23.00 43.22 22.13 42.22 22.13 TH
|
41.72 27 42.22 27.87 43.22 27.87 43.72 27 43.22 26.13 42.22 26.13 TH
|
||||||
41.72 27.00 42.22 27.87 43.22 27.87 43.72 27.00 43.22 26.13 42.22 26.13 TH
|
41.72 31 42.22 31.87 43.22 31.87 43.72 31 43.22 30.13 42.22 30.13 TH
|
||||||
41.72 31.00 42.22 31.87 43.22 31.87 43.72 31.00 43.22 30.13 42.22 30.13 TH
|
41.72 35 42.22 35.87 43.22 35.87 43.72 35 43.22 34.13 42.22 34.13 TH
|
||||||
41.72 35.00 42.22 35.87 43.22 35.87 43.72 35.00 43.22 34.13 42.22 34.13 TH
|
41.72 39 42.22 39.87 43.22 39.87 43.72 39 43.22 38.13 42.22 38.13 TH
|
||||||
41.72 39.00 42.22 39.87 43.22 39.87 43.72 39.00 43.22 38.13 42.22 38.13 TH
|
41.72 41 42.22 41.87 43.22 41.87 43.72 41 43.22 40.13 42.22 40.13 TH
|
||||||
41.72 41.00 42.22 41.87 43.22 41.87 43.72 41.00 43.22 40.13 42.22 40.13 TH
|
41.72 43 42.22 43.87 43.22 43.87 43.72 43 43.22 42.13 42.22 42.13 TH
|
||||||
41.72 43.00 42.22 43.87 43.22 43.87 43.72 43.00 43.22 42.13 42.22 42.13 TH
|
41.72 45 42.22 45.87 43.22 45.87 43.72 45 43.22 44.13 42.22 44.13 TH
|
||||||
41.72 45.00 42.22 45.87 43.22 45.87 43.72 45.00 43.22 44.13 42.22 44.13 TH
|
41.72 47 42.22 47.87 43.22 47.87 43.72 47 43.22 46.13 42.22 46.13 TH
|
||||||
41.72 47.00 42.22 47.87 43.22 47.87 43.72 47.00 43.22 46.13 42.22 46.13 TH
|
41.72 51 42.22 51.87 43.22 51.87 43.72 51 43.22 50.13 42.22 50.13 TH
|
||||||
41.72 51.00 42.22 51.87 43.22 51.87 43.72 51.00 43.22 50.13 42.22 50.13 TH
|
41.72 55 42.22 55.87 43.22 55.87 43.72 55 43.22 54.13 42.22 54.13 TH
|
||||||
41.72 55.00 42.22 55.87 43.22 55.87 43.72 55.00 43.22 54.13 42.22 54.13 TH
|
41.72 57 42.22 57.87 43.22 57.87 43.72 57 43.22 56.13 42.22 56.13 TH
|
||||||
41.72 57.00 42.22 57.87 43.22 57.87 43.72 57.00 43.22 56.13 42.22 56.13 TH
|
41.72 59 42.22 59.87 43.22 59.87 43.72 59 43.22 58.13 42.22 58.13 TH
|
||||||
41.72 59.00 42.22 59.87 43.22 59.87 43.72 59.00 43.22 58.13 42.22 58.13 TH
|
43.45 42 43.95 42.87 44.95 42.87 45.45 42 44.95 41.13 43.95 41.13 TH
|
||||||
43.45 42.00 43.95 42.87 44.95 42.87 45.45 42.00 44.95 41.13 43.95 41.13 TH
|
43.45 44 43.95 44.87 44.95 44.87 45.45 44 44.95 43.13 43.95 43.13 TH
|
||||||
43.45 44.00 43.95 44.87 44.95 44.87 45.45 44.00 44.95 43.13 43.95 43.13 TH
|
43.45 46 43.95 46.87 44.95 46.87 45.45 46 44.95 45.13 43.95 45.13 TH
|
||||||
43.45 46.00 43.95 46.87 44.95 46.87 45.45 46.00 44.95 45.13 43.95 45.13 TH
|
43.45 48 43.95 48.87 44.95 48.87 45.45 48 44.95 47.13 43.95 47.13 TH
|
||||||
43.45 48.00 43.95 48.87 44.95 48.87 45.45 48.00 44.95 47.13 43.95 47.13 TH
|
43.45 52 43.95 52.87 44.95 52.87 45.45 52 44.95 51.13 43.95 51.13 TH
|
||||||
43.45 52.00 43.95 52.87 44.95 52.87 45.45 52.00 44.95 51.13 43.95 51.13 TH
|
43.45 56 43.95 56.87 44.95 56.87 45.45 56 44.95 55.13 43.95 55.13 TH
|
||||||
43.45 56.00 43.95 56.87 44.95 56.87 45.45 56.00 44.95 55.13 43.95 55.13 TH
|
43.45 58 43.95 58.87 44.95 58.87 45.45 58 44.95 57.13 43.95 57.13 TH
|
||||||
43.45 58.00 43.95 58.87 44.95 58.87 45.45 58.00 44.95 57.13 43.95 57.13 TH
|
45.19 1 45.69 1.87 46.69 1.87 47.19 1 46.69 0.13 45.69 0.13 TH
|
||||||
45.19 1.00 45.69 1.87 46.69 1.87 47.19 1.00 46.69 0.13 45.69 0.13 TH
|
45.19 5 45.69 5.87 46.69 5.87 47.19 5 46.69 4.13 45.69 4.13 TH
|
||||||
45.19 5.00 45.69 5.87 46.69 5.87 47.19 5.00 46.69 4.13 45.69 4.13 TH
|
45.19 9 45.69 9.87 46.69 9.87 47.19 9 46.69 8.13 45.69 8.13 TH
|
||||||
45.19 9.00 45.69 9.87 46.69 9.87 47.19 9.00 46.69 8.13 45.69 8.13 TH
|
45.19 13 45.69 13.87 46.69 13.87 47.19 13 46.69 12.13 45.69 12.13 TH
|
||||||
45.19 13.00 45.69 13.87 46.69 13.87 47.19 13.00 46.69 12.13 45.69 12.13 TH
|
45.19 17 45.69 17.87 46.69 17.87 47.19 17 46.69 16.13 45.69 16.13 TH
|
||||||
45.19 17.00 45.69 17.87 46.69 17.87 47.19 17.00 46.69 16.13 45.69 16.13 TH
|
45.19 21 45.69 21.87 46.69 21.87 47.19 21 46.69 20.13 45.69 20.13 TH
|
||||||
45.19 21.00 45.69 21.87 46.69 21.87 47.19 21.00 46.69 20.13 45.69 20.13 TH
|
45.19 25 45.69 25.87 46.69 25.87 47.19 25 46.69 24.13 45.69 24.13 TH
|
||||||
45.19 25.00 45.69 25.87 46.69 25.87 47.19 25.00 46.69 24.13 45.69 24.13 TH
|
45.19 29 45.69 29.87 46.69 29.87 47.19 29 46.69 28.13 45.69 28.13 TH
|
||||||
45.19 29.00 45.69 29.87 46.69 29.87 47.19 29.00 46.69 28.13 45.69 28.13 TH
|
45.19 33 45.69 33.87 46.69 33.87 47.19 33 46.69 32.13 45.69 32.13 TH
|
||||||
45.19 33.00 45.69 33.87 46.69 33.87 47.19 33.00 46.69 32.13 45.69 32.13 TH
|
45.19 37 45.69 37.87 46.69 37.87 47.19 37 46.69 36.13 45.69 36.13 TH
|
||||||
45.19 37.00 45.69 37.87 46.69 37.87 47.19 37.00 46.69 36.13 45.69 36.13 TH
|
45.19 57 45.69 57.87 46.69 57.87 47.19 57 46.69 56.13 45.69 56.13 TH
|
||||||
45.19 57.00 45.69 57.87 46.69 57.87 47.19 57.00 46.69 56.13 45.69 56.13 TH
|
46.92 2 47.42 2.87 48.42 2.87 48.92 2 48.42 1.13 47.42 1.13 TH
|
||||||
46.92 2.00 47.42 2.87 48.42 2.87 48.92 2.00 48.42 1.13 47.42 1.13 TH
|
46.92 4 47.42 4.87 48.42 4.87 48.92 4 48.42 3.13 47.42 3.13 TH
|
||||||
46.92 4.00 47.42 4.87 48.42 4.87 48.92 4.00 48.42 3.13 47.42 3.13 TH
|
46.92 6 47.42 6.87 48.42 6.87 48.92 6 48.42 5.13 47.42 5.13 TH
|
||||||
46.92 6.00 47.42 6.87 48.42 6.87 48.92 6.00 48.42 5.13 47.42 5.13 TH
|
46.92 8 47.42 8.87 48.42 8.87 48.92 8 48.42 7.13 47.42 7.13 TH
|
||||||
46.92 8.00 47.42 8.87 48.42 8.87 48.92 8.00 48.42 7.13 47.42 7.13 TH
|
46.92 10 47.42 10.87 48.42 10.87 48.92 10 48.42 9.13 47.42 9.13 TH
|
||||||
46.92 10.00 47.42 10.87 48.42 10.87 48.92 10.00 48.42 9.13 47.42 9.13 TH
|
46.92 12 47.42 12.87 48.42 12.87 48.92 12 48.42 11.13 47.42 11.13 TH
|
||||||
46.92 12.00 47.42 12.87 48.42 12.87 48.92 12.00 48.42 11.13 47.42 11.13 TH
|
46.92 14 47.42 14.87 48.42 14.87 48.92 14 48.42 13.13 47.42 13.13 TH
|
||||||
46.92 14.00 47.42 14.87 48.42 14.87 48.92 14.00 48.42 13.13 47.42 13.13 TH
|
46.92 16 47.42 16.87 48.42 16.87 48.92 16 48.42 15.13 47.42 15.13 TH
|
||||||
46.92 16.00 47.42 16.87 48.42 16.87 48.92 16.00 48.42 15.13 47.42 15.13 TH
|
46.92 26 47.42 26.87 48.42 26.87 48.92 26 48.42 25.13 47.42 25.13 TH
|
||||||
46.92 26.00 47.42 26.87 48.42 26.87 48.92 26.00 48.42 25.13 47.42 25.13 TH
|
46.92 28 47.42 28.87 48.42 28.87 48.92 28 48.42 27.13 47.42 27.13 TH
|
||||||
46.92 28.00 47.42 28.87 48.42 28.87 48.92 28.00 48.42 27.13 47.42 27.13 TH
|
46.92 30 47.42 30.87 48.42 30.87 48.92 30 48.42 29.13 47.42 29.13 TH
|
||||||
46.92 30.00 47.42 30.87 48.42 30.87 48.92 30.00 48.42 29.13 47.42 29.13 TH
|
46.92 32 47.42 32.87 48.42 32.87 48.92 32 48.42 31.13 47.42 31.13 TH
|
||||||
46.92 32.00 47.42 32.87 48.42 32.87 48.92 32.00 48.42 31.13 47.42 31.13 TH
|
46.92 44 47.42 44.87 48.42 44.87 48.92 44 48.42 43.13 47.42 43.13 TH
|
||||||
46.92 44.00 47.42 44.87 48.42 44.87 48.92 44.00 48.42 43.13 47.42 43.13 TH
|
46.92 48 47.42 48.87 48.42 48.87 48.92 48 48.42 47.13 47.42 47.13 TH
|
||||||
46.92 48.00 47.42 48.87 48.42 48.87 48.92 48.00 48.42 47.13 47.42 47.13 TH
|
48.65 3 49.15 3.87 50.15 3.87 50.65 3 50.15 2.13 49.15 2.13 TH
|
||||||
48.65 3.00 49.15 3.87 50.15 3.87 50.65 3.00 50.15 2.13 49.15 2.13 TH
|
48.65 7 49.15 7.87 50.15 7.87 50.65 7 50.15 6.13 49.15 6.13 TH
|
||||||
48.65 7.00 49.15 7.87 50.15 7.87 50.65 7.00 50.15 6.13 49.15 6.13 TH
|
48.65 9 49.15 9.87 50.15 9.87 50.65 9 50.15 8.13 49.15 8.13 TH
|
||||||
48.65 9.00 49.15 9.87 50.15 9.87 50.65 9.00 50.15 8.13 49.15 8.13 TH
|
48.65 13 49.15 13.87 50.15 13.87 50.65 13 50.15 12.13 49.15 12.13 TH
|
||||||
48.65 13.00 49.15 13.87 50.15 13.87 50.65 13.00 50.15 12.13 49.15 12.13 TH
|
48.65 17 49.15 17.87 50.15 17.87 50.65 17 50.15 16.13 49.15 16.13 TH
|
||||||
48.65 17.00 49.15 17.87 50.15 17.87 50.65 17.00 50.15 16.13 49.15 16.13 TH
|
48.65 19 49.15 19.87 50.15 19.87 50.65 19 50.15 18.13 49.15 18.13 TH
|
||||||
48.65 19.00 49.15 19.87 50.15 19.87 50.65 19.00 50.15 18.13 49.15 18.13 TH
|
48.65 21 49.15 21.87 50.15 21.87 50.65 21 50.15 20.13 49.15 20.13 TH
|
||||||
48.65 21.00 49.15 21.87 50.15 21.87 50.65 21.00 50.15 20.13 49.15 20.13 TH
|
48.65 23 49.15 23.87 50.15 23.87 50.65 23 50.15 22.13 49.15 22.13 TH
|
||||||
48.65 23.00 49.15 23.87 50.15 23.87 50.65 23.00 50.15 22.13 49.15 22.13 TH
|
48.65 33 49.15 33.87 50.15 33.87 50.65 33 50.15 32.13 49.15 32.13 TH
|
||||||
48.65 33.00 49.15 33.87 50.15 33.87 50.65 33.00 50.15 32.13 49.15 32.13 TH
|
48.65 35 49.15 35.87 50.15 35.87 50.65 35 50.15 34.13 49.15 34.13 TH
|
||||||
48.65 35.00 49.15 35.87 50.15 35.87 50.65 35.00 50.15 34.13 49.15 34.13 TH
|
48.65 37 49.15 37.87 50.15 37.87 50.65 37 50.15 36.13 49.15 36.13 TH
|
||||||
48.65 37.00 49.15 37.87 50.15 37.87 50.65 37.00 50.15 36.13 49.15 36.13 TH
|
48.65 39 49.15 39.87 50.15 39.87 50.65 39 50.15 38.13 49.15 38.13 TH
|
||||||
48.65 39.00 49.15 39.87 50.15 39.87 50.65 39.00 50.15 38.13 49.15 38.13 TH
|
48.65 43 49.15 43.87 50.15 43.87 50.65 43 50.15 42.13 49.15 42.13 TH
|
||||||
48.65 43.00 49.15 43.87 50.15 43.87 50.65 43.00 50.15 42.13 49.15 42.13 TH
|
48.65 47 49.15 47.87 50.15 47.87 50.65 47 50.15 46.13 49.15 46.13 TH
|
||||||
48.65 47.00 49.15 47.87 50.15 47.87 50.65 47.00 50.15 46.13 49.15 46.13 TH
|
48.65 51 49.15 51.87 50.15 51.87 50.65 51 50.15 50.13 49.15 50.13 TH
|
||||||
48.65 51.00 49.15 51.87 50.15 51.87 50.65 51.00 50.15 50.13 49.15 50.13 TH
|
48.65 55 49.15 55.87 50.15 55.87 50.65 55 50.15 54.13 49.15 54.13 TH
|
||||||
48.65 55.00 49.15 55.87 50.15 55.87 50.65 55.00 50.15 54.13 49.15 54.13 TH
|
50.38 2 50.88 2.87 51.88 2.87 52.38 2 51.88 1.13 50.88 1.13 TH
|
||||||
50.38 2.00 50.88 2.87 51.88 2.87 52.38 2.00 51.88 1.13 50.88 1.13 TH
|
50.38 6 50.88 6.87 51.88 6.87 52.38 6 51.88 5.13 50.88 5.13 TH
|
||||||
50.38 6.00 50.88 6.87 51.88 6.87 52.38 6.00 51.88 5.13 50.88 5.13 TH
|
50.38 10 50.88 10.87 51.88 10.87 52.38 10 51.88 9.13 50.88 9.13 TH
|
||||||
50.38 10.00 50.88 10.87 51.88 10.87 52.38 10.00 51.88 9.13 50.88 9.13 TH
|
50.38 14 50.88 14.87 51.88 14.87 52.38 14 51.88 13.13 50.88 13.13 TH
|
||||||
50.38 14.00 50.88 14.87 51.88 14.87 52.38 14.00 51.88 13.13 50.88 13.13 TH
|
50.38 28 50.88 28.87 51.88 28.87 52.38 28 51.88 27.13 50.88 27.13 TH
|
||||||
50.38 28.00 50.88 28.87 51.88 28.87 52.38 28.00 51.88 27.13 50.88 27.13 TH
|
50.38 32 50.88 32.87 51.88 32.87 52.38 32 51.88 31.13 50.88 31.13 TH
|
||||||
50.38 32.00 50.88 32.87 51.88 32.87 52.38 32.00 51.88 31.13 50.88 31.13 TH
|
50.38 36 50.88 36.87 51.88 36.87 52.38 36 51.88 35.13 50.88 35.13 TH
|
||||||
50.38 36.00 50.88 36.87 51.88 36.87 52.38 36.00 51.88 35.13 50.88 35.13 TH
|
50.38 40 50.88 40.87 51.88 40.87 52.38 40 51.88 39.13 50.88 39.13 TH
|
||||||
50.38 40.00 50.88 40.87 51.88 40.87 52.38 40.00 51.88 39.13 50.88 39.13 TH
|
50.38 42 50.88 42.87 51.88 42.87 52.38 42 51.88 41.13 50.88 41.13 TH
|
||||||
50.38 42.00 50.88 42.87 51.88 42.87 52.38 42.00 51.88 41.13 50.88 41.13 TH
|
50.38 44 50.88 44.87 51.88 44.87 52.38 44 51.88 43.13 50.88 43.13 TH
|
||||||
50.38 44.00 50.88 44.87 51.88 44.87 52.38 44.00 51.88 43.13 50.88 43.13 TH
|
50.38 46 50.88 46.87 51.88 46.87 52.38 46 51.88 45.13 50.88 45.13 TH
|
||||||
50.38 46.00 50.88 46.87 51.88 46.87 52.38 46.00 51.88 45.13 50.88 45.13 TH
|
50.38 48 50.88 48.87 51.88 48.87 52.38 48 51.88 47.13 50.88 47.13 TH
|
||||||
50.38 48.00 50.88 48.87 51.88 48.87 52.38 48.00 51.88 47.13 50.88 47.13 TH
|
50.38 50 50.88 50.87 51.88 50.87 52.38 50 51.88 49.13 50.88 49.13 TH
|
||||||
50.38 50.00 50.88 50.87 51.88 50.87 52.38 50.00 51.88 49.13 50.88 49.13 TH
|
50.38 54 50.88 54.87 51.88 54.87 52.38 54 51.88 53.13 50.88 53.13 TH
|
||||||
50.38 54.00 50.88 54.87 51.88 54.87 52.38 54.00 51.88 53.13 50.88 53.13 TH
|
50.38 58 50.88 58.87 51.88 58.87 52.38 58 51.88 57.13 50.88 57.13 TH
|
||||||
50.38 58.00 50.88 58.87 51.88 58.87 52.38 58.00 51.88 57.13 50.88 57.13 TH
|
52.11 1 52.61 1.87 53.61 1.87 54.11 1 53.61 0.13 52.61 0.13 TH
|
||||||
52.11 1.00 52.61 1.87 53.61 1.87 54.11 1.00 53.61 0.13 52.61 0.13 TH
|
52.11 3 52.61 3.87 53.61 3.87 54.11 3 53.61 2.13 52.61 2.13 TH
|
||||||
52.11 3.00 52.61 3.87 53.61 3.87 54.11 3.00 53.61 2.13 52.61 2.13 TH
|
52.11 5 52.61 5.87 53.61 5.87 54.11 5 53.61 4.13 52.61 4.13 TH
|
||||||
52.11 5.00 52.61 5.87 53.61 5.87 54.11 5.00 53.61 4.13 52.61 4.13 TH
|
52.11 7 52.61 7.87 53.61 7.87 54.11 7 53.61 6.13 52.61 6.13 TH
|
||||||
52.11 7.00 52.61 7.87 53.61 7.87 54.11 7.00 53.61 6.13 52.61 6.13 TH
|
52.11 11 52.61 11.87 53.61 11.87 54.11 11 53.61 10.13 52.61 10.13 TH
|
||||||
52.11 11.00 52.61 11.87 53.61 11.87 54.11 11.00 53.61 10.13 52.61 10.13 TH
|
52.11 15 52.61 15.87 53.61 15.87 54.11 15 53.61 14.13 52.61 14.13 TH
|
||||||
52.11 15.00 52.61 15.87 53.61 15.87 54.11 15.00 53.61 14.13 52.61 14.13 TH
|
52.11 17 52.61 17.87 53.61 17.87 54.11 17 53.61 16.13 52.61 16.13 TH
|
||||||
52.11 17.00 52.61 17.87 53.61 17.87 54.11 17.00 53.61 16.13 52.61 16.13 TH
|
52.11 21 52.61 21.87 53.61 21.87 54.11 21 53.61 20.13 52.61 20.13 TH
|
||||||
52.11 21.00 52.61 21.87 53.61 21.87 54.11 21.00 53.61 20.13 52.61 20.13 TH
|
52.11 33 52.61 33.87 53.61 33.87 54.11 33 53.61 32.13 52.61 32.13 TH
|
||||||
52.11 33.00 52.61 33.87 53.61 33.87 54.11 33.00 53.61 32.13 52.61 32.13 TH
|
52.11 35 52.61 35.87 53.61 35.87 54.11 35 53.61 34.13 52.61 34.13 TH
|
||||||
52.11 35.00 52.61 35.87 53.61 35.87 54.11 35.00 53.61 34.13 52.61 34.13 TH
|
52.11 37 52.61 37.87 53.61 37.87 54.11 37 53.61 36.13 52.61 36.13 TH
|
||||||
52.11 37.00 52.61 37.87 53.61 37.87 54.11 37.00 53.61 36.13 52.61 36.13 TH
|
52.11 39 52.61 39.87 53.61 39.87 54.11 39 53.61 38.13 52.61 38.13 TH
|
||||||
52.11 39.00 52.61 39.87 53.61 39.87 54.11 39.00 53.61 38.13 52.61 38.13 TH
|
52.11 43 52.61 43.87 53.61 43.87 54.11 43 53.61 42.13 52.61 42.13 TH
|
||||||
52.11 43.00 52.61 43.87 53.61 43.87 54.11 43.00 53.61 42.13 52.61 42.13 TH
|
52.11 47 52.61 47.87 53.61 47.87 54.11 47 53.61 46.13 52.61 46.13 TH
|
||||||
52.11 47.00 52.61 47.87 53.61 47.87 54.11 47.00 53.61 46.13 52.61 46.13 TH
|
52.11 49 52.61 49.87 53.61 49.87 54.11 49 53.61 48.13 52.61 48.13 TH
|
||||||
52.11 49.00 52.61 49.87 53.61 49.87 54.11 49.00 53.61 48.13 52.61 48.13 TH
|
52.11 53 52.61 53.87 53.61 53.87 54.11 53 53.61 52.13 52.61 52.13 TH
|
||||||
52.11 53.00 52.61 53.87 53.61 53.87 54.11 53.00 53.61 52.13 52.61 52.13 TH
|
52.11 57 52.61 57.87 53.61 57.87 54.11 57 53.61 56.13 52.61 56.13 TH
|
||||||
52.11 57.00 52.61 57.87 53.61 57.87 54.11 57.00 53.61 56.13 52.61 56.13 TH
|
53.85 4 54.35 4.87 55.35 4.87 55.85 4 55.35 3.13 54.35 3.13 TH
|
||||||
53.85 4.00 54.35 4.87 55.35 4.87 55.85 4.00 55.35 3.13 54.35 3.13 TH
|
53.85 8 54.35 8.87 55.35 8.87 55.85 8 55.35 7.13 54.35 7.13 TH
|
||||||
53.85 8.00 54.35 8.87 55.35 8.87 55.85 8.00 55.35 7.13 54.35 7.13 TH
|
53.85 10 54.35 10.87 55.35 10.87 55.85 10 55.35 9.13 54.35 9.13 TH
|
||||||
53.85 10.00 54.35 10.87 55.35 10.87 55.85 10.00 55.35 9.13 54.35 9.13 TH
|
53.85 14 54.35 14.87 55.35 14.87 55.85 14 55.35 13.13 54.35 13.13 TH
|
||||||
53.85 14.00 54.35 14.87 55.35 14.87 55.85 14.00 55.35 13.13 54.35 13.13 TH
|
53.85 18 54.35 18.87 55.35 18.87 55.85 18 55.35 17.13 54.35 17.13 TH
|
||||||
53.85 18.00 54.35 18.87 55.35 18.87 55.85 18.00 55.35 17.13 54.35 17.13 TH
|
53.85 20 54.35 20.87 55.35 20.87 55.85 20 55.35 19.13 54.35 19.13 TH
|
||||||
53.85 20.00 54.35 20.87 55.35 20.87 55.85 20.00 55.35 19.13 54.35 19.13 TH
|
53.85 22 54.35 22.87 55.35 22.87 55.85 22 55.35 21.13 54.35 21.13 TH
|
||||||
53.85 22.00 54.35 22.87 55.35 22.87 55.85 22.00 55.35 21.13 54.35 21.13 TH
|
53.85 24 54.35 24.87 55.35 24.87 55.85 24 55.35 23.13 54.35 23.13 TH
|
||||||
53.85 24.00 54.35 24.87 55.35 24.87 55.85 24.00 55.35 23.13 54.35 23.13 TH
|
53.85 28 54.35 28.87 55.35 28.87 55.85 28 55.35 27.13 54.35 27.13 TH
|
||||||
53.85 28.00 54.35 28.87 55.35 28.87 55.85 28.00 55.35 27.13 54.35 27.13 TH
|
53.85 32 54.35 32.87 55.35 32.87 55.85 32 55.35 31.13 54.35 31.13 TH
|
||||||
53.85 32.00 54.35 32.87 55.35 32.87 55.85 32.00 55.35 31.13 54.35 31.13 TH
|
53.85 34 54.35 34.87 55.35 34.87 55.85 34 55.35 33.13 54.35 33.13 TH
|
||||||
53.85 34.00 54.35 34.87 55.35 34.87 55.85 34.00 55.35 33.13 54.35 33.13 TH
|
53.85 38 54.35 38.87 55.35 38.87 55.85 38 55.35 37.13 54.35 37.13 TH
|
||||||
53.85 38.00 54.35 38.87 55.35 38.87 55.85 38.00 55.35 37.13 54.35 37.13 TH
|
53.85 42 54.35 42.87 55.35 42.87 55.85 42 55.35 41.13 54.35 41.13 TH
|
||||||
53.85 42.00 54.35 42.87 55.35 42.87 55.85 42.00 55.35 41.13 54.35 41.13 TH
|
53.85 46 54.35 46.87 55.35 46.87 55.85 46 55.35 45.13 54.35 45.13 TH
|
||||||
53.85 46.00 54.35 46.87 55.35 46.87 55.85 46.00 55.35 45.13 54.35 45.13 TH
|
53.85 50 54.35 50.87 55.35 50.87 55.85 50 55.35 49.13 54.35 49.13 TH
|
||||||
53.85 50.00 54.35 50.87 55.35 50.87 55.85 50.00 55.35 49.13 54.35 49.13 TH
|
53.85 52 54.35 52.87 55.35 52.87 55.85 52 55.35 51.13 54.35 51.13 TH
|
||||||
53.85 52.00 54.35 52.87 55.35 52.87 55.85 52.00 55.35 51.13 54.35 51.13 TH
|
53.85 54 54.35 54.87 55.35 54.87 55.85 54 55.35 53.13 54.35 53.13 TH
|
||||||
53.85 54.00 54.35 54.87 55.35 54.87 55.85 54.00 55.35 53.13 54.35 53.13 TH
|
53.85 56 54.35 56.87 55.35 56.87 55.85 56 55.35 55.13 54.35 55.13 TH
|
||||||
53.85 56.00 54.35 56.87 55.35 56.87 55.85 56.00 55.35 55.13 54.35 55.13 TH
|
55.58 3 56.08 3.87 57.08 3.87 57.58 3 57.08 2.13 56.08 2.13 TH
|
||||||
55.58 3.00 56.08 3.87 57.08 3.87 57.58 3.00 57.08 2.13 56.08 2.13 TH
|
55.58 7 56.08 7.87 57.08 7.87 57.58 7 57.08 6.13 56.08 6.13 TH
|
||||||
55.58 7.00 56.08 7.87 57.08 7.87 57.58 7.00 57.08 6.13 56.08 6.13 TH
|
55.58 27 56.08 27.87 57.08 27.87 57.58 27 57.08 26.13 56.08 26.13 TH
|
||||||
55.58 27.00 56.08 27.87 57.08 27.87 57.58 27.00 57.08 26.13 56.08 26.13 TH
|
55.58 31 56.08 31.87 57.08 31.87 57.58 31 57.08 30.13 56.08 30.13 TH
|
||||||
55.58 31.00 56.08 31.87 57.08 31.87 57.58 31.00 57.08 30.13 56.08 30.13 TH
|
55.58 33 56.08 33.87 57.08 33.87 57.58 33 57.08 32.13 56.08 32.13 TH
|
||||||
55.58 33.00 56.08 33.87 57.08 33.87 57.58 33.00 57.08 32.13 56.08 32.13 TH
|
55.58 37 56.08 37.87 57.08 37.87 57.58 37 57.08 36.13 56.08 36.13 TH
|
||||||
55.58 37.00 56.08 37.87 57.08 37.87 57.58 37.00 57.08 36.13 56.08 36.13 TH
|
55.58 41 56.08 41.87 57.08 41.87 57.58 41 57.08 40.13 56.08 40.13 TH
|
||||||
55.58 41.00 56.08 41.87 57.08 41.87 57.58 41.00 57.08 40.13 56.08 40.13 TH
|
55.58 45 56.08 45.87 57.08 45.87 57.58 45 57.08 44.13 56.08 44.13 TH
|
||||||
55.58 45.00 56.08 45.87 57.08 45.87 57.58 45.00 57.08 44.13 56.08 44.13 TH
|
55.58 51 56.08 51.87 57.08 51.87 57.58 51 57.08 50.13 56.08 50.13 TH
|
||||||
55.58 51.00 56.08 51.87 57.08 51.87 57.58 51.00 57.08 50.13 56.08 50.13 TH
|
55.58 55 56.08 55.87 57.08 55.87 57.58 55 57.08 54.13 56.08 54.13 TH
|
||||||
55.58 55.00 56.08 55.87 57.08 55.87 57.58 55.00 57.08 54.13 56.08 54.13 TH
|
28.87 29 7.431 1.569 TC
|
||||||
28.87 29.00 7.431 1.569 TC
|
28.87 29 4.293 1.569 TC
|
||||||
28.87 29.00 4.293 1.569 TC
|
28.87 29 1.155 1.569 TC
|
||||||
28.87 29.00 1.155 1.569 TC
|
|
||||||
|
@ -4,212 +4,111 @@
|
|||||||
%%Pages: 0
|
%%Pages: 0
|
||||||
%%BoundingBox: 0 0 28 26
|
%%BoundingBox: 0 0 28 26
|
||||||
%%EndComments
|
%%EndComments
|
||||||
/TB { 2 copy } bind def
|
/TR { newpath moveto dup 3 1 roll 0 rlineto 0 exch rlineto neg 0 rlineto closepath fill } bind def
|
||||||
/TR { newpath 4 1 roll exch moveto 1 index 0 rlineto 0 exch rlineto neg 0 rlineto closepath fill } bind def
|
|
||||||
/TE { pop pop } bind def
|
|
||||||
newpath
|
newpath
|
||||||
0.99 0.59 0.19 setrgbcolor
|
0.99 0.59 0.19 setrgbcolor
|
||||||
26.00 0.00 TB 0.00 28.00 TR
|
26 28 0 0 TR
|
||||||
TE
|
0 1 1 setrgbcolor
|
||||||
0.00 1.00 1.00 setrgbcolor
|
2 4 16 22 TR
|
||||||
2.00 22.00 TB 16.00 4.00 TR
|
2 4 22 22 TR
|
||||||
TE
|
2 2 12 20 TR
|
||||||
2.00 22.00 TB 22.00 4.00 TR
|
2 2 4 18 TR
|
||||||
TE
|
2 2 16 18 TR
|
||||||
2.00 20.00 TB 12.00 2.00 TR
|
2 4 22 18 TR
|
||||||
TE
|
2 2 10 14 TR
|
||||||
2.00 18.00 TB 4.00 2.00 TR
|
2 2 10 10 TR
|
||||||
TE
|
2 2 14 10 TR
|
||||||
2.00 18.00 TB 16.00 2.00 TR
|
2 8 18 10 TR
|
||||||
TE
|
2 2 4 8 TR
|
||||||
2.00 18.00 TB 22.00 4.00 TR
|
2 2 16 8 TR
|
||||||
TE
|
2 4 20 6 TR
|
||||||
2.00 14.00 TB 10.00 2.00 TR
|
2 6 10 4 TR
|
||||||
TE
|
2 2 24 4 TR
|
||||||
2.00 10.00 TB 10.00 2.00 TR
|
2 2 4 2 TR
|
||||||
TE
|
1 0 1 setrgbcolor
|
||||||
2.00 10.00 TB 14.00 2.00 TR
|
2 2 14 22 TR
|
||||||
TE
|
2 2 4 20 TR
|
||||||
2.00 10.00 TB 18.00 8.00 TR
|
2 2 10 20 TR
|
||||||
TE
|
2 4 16 20 TR
|
||||||
2.00 8.00 TB 4.00 2.00 TR
|
2 2 12 18 TR
|
||||||
TE
|
2 2 14 16 TR
|
||||||
2.00 8.00 TB 16.00 2.00 TR
|
2 2 18 16 TR
|
||||||
TE
|
2 2 4 14 TR
|
||||||
2.00 6.00 TB 20.00 4.00 TR
|
2 2 16 14 TR
|
||||||
TE
|
2 2 22 14 TR
|
||||||
2.00 4.00 TB 10.00 6.00 TR
|
2 2 10 8 TR
|
||||||
TE
|
2 4 18 8 TR
|
||||||
2.00 4.00 TB 24.00 2.00 TR
|
2 2 24 8 TR
|
||||||
TE
|
2 2 14 6 TR
|
||||||
2.00 2.00 TB 4.00 2.00 TR
|
2 12 10 2 TR
|
||||||
TE
|
1 1 0 setrgbcolor
|
||||||
1.00 0.00 1.00 setrgbcolor
|
2 2 4 22 TR
|
||||||
2.00 22.00 TB 14.00 2.00 TR
|
2 2 12 22 TR
|
||||||
TE
|
2 2 20 22 TR
|
||||||
2.00 20.00 TB 4.00 2.00 TR
|
2 2 14 18 TR
|
||||||
TE
|
2 2 20 18 TR
|
||||||
2.00 20.00 TB 10.00 2.00 TR
|
2 2 4 16 TR
|
||||||
TE
|
2 2 10 16 TR
|
||||||
2.00 20.00 TB 16.00 4.00 TR
|
2 2 16 16 TR
|
||||||
TE
|
2 2 22 16 TR
|
||||||
2.00 18.00 TB 12.00 2.00 TR
|
2 4 12 14 TR
|
||||||
TE
|
2 2 20 14 TR
|
||||||
2.00 16.00 TB 14.00 2.00 TR
|
2 2 24 14 TR
|
||||||
TE
|
2 2 16 10 TR
|
||||||
2.00 16.00 TB 18.00 2.00 TR
|
2 4 12 8 TR
|
||||||
TE
|
2 2 4 6 TR
|
||||||
2.00 14.00 TB 4.00 2.00 TR
|
2 2 10 6 TR
|
||||||
TE
|
2 4 16 6 TR
|
||||||
2.00 14.00 TB 16.00 2.00 TR
|
2 2 24 6 TR
|
||||||
TE
|
2 2 22 4 TR
|
||||||
2.00 14.00 TB 22.00 2.00 TR
|
2 2 24 2 TR
|
||||||
TE
|
0 1 0 setrgbcolor
|
||||||
2.00 8.00 TB 10.00 2.00 TR
|
2 2 10 22 TR
|
||||||
TE
|
2 2 14 20 TR
|
||||||
2.00 8.00 TB 18.00 4.00 TR
|
2 6 20 20 TR
|
||||||
TE
|
2 2 10 18 TR
|
||||||
2.00 8.00 TB 24.00 2.00 TR
|
2 2 18 18 TR
|
||||||
TE
|
2 2 12 16 TR
|
||||||
2.00 6.00 TB 14.00 2.00 TR
|
2 2 20 16 TR
|
||||||
TE
|
2 2 24 16 TR
|
||||||
2.00 2.00 TB 10.00 12.00 TR
|
2 2 18 14 TR
|
||||||
TE
|
2 2 4 10 TR
|
||||||
1.00 1.00 0.00 setrgbcolor
|
2 2 12 10 TR
|
||||||
2.00 22.00 TB 4.00 2.00 TR
|
2 2 22 8 TR
|
||||||
TE
|
2 2 12 6 TR
|
||||||
2.00 22.00 TB 12.00 2.00 TR
|
2 2 4 4 TR
|
||||||
TE
|
2 6 16 4 TR
|
||||||
2.00 22.00 TB 20.00 2.00 TR
|
2 2 22 2 TR
|
||||||
TE
|
0 0 0 setrgbcolor
|
||||||
2.00 18.00 TB 14.00 2.00 TR
|
2 28 0 24 TR
|
||||||
TE
|
2 2 0 22 TR
|
||||||
2.00 18.00 TB 20.00 2.00 TR
|
22 2 6 2 TR
|
||||||
TE
|
22 2 26 2 TR
|
||||||
2.00 16.00 TB 4.00 2.00 TR
|
2 4 0 20 TR
|
||||||
TE
|
2 2 0 18 TR
|
||||||
2.00 16.00 TB 10.00 2.00 TR
|
2 4 0 16 TR
|
||||||
TE
|
2 2 0 14 TR
|
||||||
2.00 16.00 TB 16.00 2.00 TR
|
2 4 0 12 TR
|
||||||
TE
|
2 2 10 12 TR
|
||||||
2.00 16.00 TB 22.00 2.00 TR
|
2 2 14 12 TR
|
||||||
TE
|
2 2 18 12 TR
|
||||||
2.00 14.00 TB 12.00 4.00 TR
|
2 2 22 12 TR
|
||||||
TE
|
2 2 0 10 TR
|
||||||
2.00 14.00 TB 20.00 2.00 TR
|
2 4 0 8 TR
|
||||||
TE
|
2 2 0 6 TR
|
||||||
2.00 14.00 TB 24.00 2.00 TR
|
2 4 0 4 TR
|
||||||
TE
|
2 2 0 2 TR
|
||||||
2.00 10.00 TB 16.00 2.00 TR
|
2 28 0 0 TR
|
||||||
TE
|
1 1 1 setrgbcolor
|
||||||
2.00 8.00 TB 12.00 4.00 TR
|
2 2 2 22 TR
|
||||||
TE
|
22 2 8 2 TR
|
||||||
2.00 6.00 TB 4.00 2.00 TR
|
2 2 2 18 TR
|
||||||
TE
|
2 2 2 14 TR
|
||||||
2.00 6.00 TB 10.00 2.00 TR
|
2 2 4 12 TR
|
||||||
TE
|
2 2 12 12 TR
|
||||||
2.00 6.00 TB 16.00 4.00 TR
|
2 2 16 12 TR
|
||||||
TE
|
2 2 20 12 TR
|
||||||
2.00 6.00 TB 24.00 2.00 TR
|
2 2 24 12 TR
|
||||||
TE
|
2 2 2 10 TR
|
||||||
2.00 4.00 TB 22.00 2.00 TR
|
2 2 2 6 TR
|
||||||
TE
|
2 2 2 2 TR
|
||||||
2.00 2.00 TB 24.00 2.00 TR
|
|
||||||
TE
|
|
||||||
0.00 1.00 0.00 setrgbcolor
|
|
||||||
2.00 22.00 TB 10.00 2.00 TR
|
|
||||||
TE
|
|
||||||
2.00 20.00 TB 14.00 2.00 TR
|
|
||||||
TE
|
|
||||||
2.00 20.00 TB 20.00 6.00 TR
|
|
||||||
TE
|
|
||||||
2.00 18.00 TB 10.00 2.00 TR
|
|
||||||
TE
|
|
||||||
2.00 18.00 TB 18.00 2.00 TR
|
|
||||||
TE
|
|
||||||
2.00 16.00 TB 12.00 2.00 TR
|
|
||||||
TE
|
|
||||||
2.00 16.00 TB 20.00 2.00 TR
|
|
||||||
TE
|
|
||||||
2.00 16.00 TB 24.00 2.00 TR
|
|
||||||
TE
|
|
||||||
2.00 14.00 TB 18.00 2.00 TR
|
|
||||||
TE
|
|
||||||
2.00 10.00 TB 4.00 2.00 TR
|
|
||||||
TE
|
|
||||||
2.00 10.00 TB 12.00 2.00 TR
|
|
||||||
TE
|
|
||||||
2.00 8.00 TB 22.00 2.00 TR
|
|
||||||
TE
|
|
||||||
2.00 6.00 TB 12.00 2.00 TR
|
|
||||||
TE
|
|
||||||
2.00 4.00 TB 4.00 2.00 TR
|
|
||||||
TE
|
|
||||||
2.00 4.00 TB 16.00 6.00 TR
|
|
||||||
TE
|
|
||||||
2.00 2.00 TB 22.00 2.00 TR
|
|
||||||
TE
|
|
||||||
0.00 0.00 0.00 setrgbcolor
|
|
||||||
2.00 24.00 TB 0.00 28.00 TR
|
|
||||||
TE
|
|
||||||
2.00 22.00 TB 0.00 2.00 TR
|
|
||||||
TE
|
|
||||||
22.00 2.00 TB 6.00 2.00 TR
|
|
||||||
TE
|
|
||||||
22.00 2.00 TB 26.00 2.00 TR
|
|
||||||
TE
|
|
||||||
2.00 20.00 TB 0.00 4.00 TR
|
|
||||||
TE
|
|
||||||
2.00 18.00 TB 0.00 2.00 TR
|
|
||||||
TE
|
|
||||||
2.00 16.00 TB 0.00 4.00 TR
|
|
||||||
TE
|
|
||||||
2.00 14.00 TB 0.00 2.00 TR
|
|
||||||
TE
|
|
||||||
2.00 12.00 TB 0.00 4.00 TR
|
|
||||||
TE
|
|
||||||
2.00 12.00 TB 10.00 2.00 TR
|
|
||||||
TE
|
|
||||||
2.00 12.00 TB 14.00 2.00 TR
|
|
||||||
TE
|
|
||||||
2.00 12.00 TB 18.00 2.00 TR
|
|
||||||
TE
|
|
||||||
2.00 12.00 TB 22.00 2.00 TR
|
|
||||||
TE
|
|
||||||
2.00 10.00 TB 0.00 2.00 TR
|
|
||||||
TE
|
|
||||||
2.00 8.00 TB 0.00 4.00 TR
|
|
||||||
TE
|
|
||||||
2.00 6.00 TB 0.00 2.00 TR
|
|
||||||
TE
|
|
||||||
2.00 4.00 TB 0.00 4.00 TR
|
|
||||||
TE
|
|
||||||
2.00 2.00 TB 0.00 2.00 TR
|
|
||||||
TE
|
|
||||||
2.00 0.00 TB 0.00 28.00 TR
|
|
||||||
TE
|
|
||||||
1.00 1.00 1.00 setrgbcolor
|
|
||||||
2.00 22.00 TB 2.00 2.00 TR
|
|
||||||
TE
|
|
||||||
22.00 2.00 TB 8.00 2.00 TR
|
|
||||||
TE
|
|
||||||
2.00 18.00 TB 2.00 2.00 TR
|
|
||||||
TE
|
|
||||||
2.00 14.00 TB 2.00 2.00 TR
|
|
||||||
TE
|
|
||||||
2.00 12.00 TB 4.00 2.00 TR
|
|
||||||
TE
|
|
||||||
2.00 12.00 TB 12.00 2.00 TR
|
|
||||||
TE
|
|
||||||
2.00 12.00 TB 16.00 2.00 TR
|
|
||||||
TE
|
|
||||||
2.00 12.00 TB 20.00 2.00 TR
|
|
||||||
TE
|
|
||||||
2.00 12.00 TB 24.00 2.00 TR
|
|
||||||
TE
|
|
||||||
2.00 10.00 TB 2.00 2.00 TR
|
|
||||||
TE
|
|
||||||
2.00 6.00 TB 2.00 2.00 TR
|
|
||||||
TE
|
|
||||||
2.00 2.00 TB 2.00 2.00 TR
|
|
||||||
TE
|
|
||||||
|
@ -1,224 +1,119 @@
|
|||||||
%!PS-Adobe-3.0 EPSF-3.0
|
%!PS-Adobe-3.0 EPSF-3.0
|
||||||
%%Creator: Zint 2.10.0.9
|
%%Creator: Zint 2.12.0.9
|
||||||
%%Title: Zint Generated Symbol
|
%%Title: Zint Generated Symbol
|
||||||
%%Pages: 0
|
%%Pages: 0
|
||||||
%%BoundingBox: 0 0 40 30
|
%%BoundingBox: 0 0 40 30
|
||||||
%%EndComments
|
%%EndComments
|
||||||
/TB { 2 copy } bind def
|
/TR { newpath moveto dup 3 1 roll 0 rlineto 0 exch rlineto neg 0 rlineto closepath fill } bind def
|
||||||
/TR { newpath 4 1 roll exch moveto 1 index 0 rlineto 0 exch rlineto neg 0 rlineto closepath fill } bind def
|
|
||||||
/TE { pop pop } bind def
|
|
||||||
newpath
|
newpath
|
||||||
1.00 0.00 0.00 setrgbcolor
|
1 0 0 setrgbcolor
|
||||||
30.00 0.00 TB 0.00 40.00 TR
|
30 40 0 0 TR
|
||||||
TE
|
0 0 1 setrgbcolor
|
||||||
0.00 0.00 1.00 setrgbcolor
|
2 40 0 28 TR
|
||||||
2.00 28.00 TB 0.00 40.00 TR
|
2 40 0 0 TR
|
||||||
TE
|
26 2 0 2 TR
|
||||||
2.00 0.00 TB 0.00 40.00 TR
|
26 2 38 2 TR
|
||||||
TE
|
0 1 1 setrgbcolor
|
||||||
26.00 2.00 TB 0.00 2.00 TR
|
2 4 22 24 TR
|
||||||
TE
|
2 4 28 24 TR
|
||||||
26.00 2.00 TB 38.00 2.00 TR
|
2 2 18 22 TR
|
||||||
TE
|
2 2 10 20 TR
|
||||||
0.00 1.00 1.00 setrgbcolor
|
2 2 22 20 TR
|
||||||
2.00 24.00 TB 22.00 4.00 TR
|
2 4 28 20 TR
|
||||||
TE
|
2 2 16 16 TR
|
||||||
2.00 24.00 TB 28.00 4.00 TR
|
2 2 16 12 TR
|
||||||
TE
|
2 2 20 12 TR
|
||||||
2.00 22.00 TB 18.00 2.00 TR
|
2 8 24 12 TR
|
||||||
TE
|
2 2 10 10 TR
|
||||||
2.00 20.00 TB 10.00 2.00 TR
|
2 2 22 10 TR
|
||||||
TE
|
2 4 26 8 TR
|
||||||
2.00 20.00 TB 22.00 2.00 TR
|
2 6 16 6 TR
|
||||||
TE
|
2 2 30 6 TR
|
||||||
2.00 20.00 TB 28.00 4.00 TR
|
2 2 10 4 TR
|
||||||
TE
|
1 0 1 setrgbcolor
|
||||||
2.00 16.00 TB 16.00 2.00 TR
|
2 2 20 24 TR
|
||||||
TE
|
2 2 10 22 TR
|
||||||
2.00 12.00 TB 16.00 2.00 TR
|
2 2 16 22 TR
|
||||||
TE
|
2 4 22 22 TR
|
||||||
2.00 12.00 TB 20.00 2.00 TR
|
2 2 18 20 TR
|
||||||
TE
|
2 2 20 18 TR
|
||||||
2.00 12.00 TB 24.00 8.00 TR
|
2 2 24 18 TR
|
||||||
TE
|
2 2 10 16 TR
|
||||||
2.00 10.00 TB 10.00 2.00 TR
|
2 2 22 16 TR
|
||||||
TE
|
2 2 28 16 TR
|
||||||
2.00 10.00 TB 22.00 2.00 TR
|
2 2 16 10 TR
|
||||||
TE
|
2 4 24 10 TR
|
||||||
2.00 8.00 TB 26.00 4.00 TR
|
2 2 30 10 TR
|
||||||
TE
|
2 2 20 8 TR
|
||||||
2.00 6.00 TB 16.00 6.00 TR
|
2 12 16 4 TR
|
||||||
TE
|
1 1 0 setrgbcolor
|
||||||
2.00 6.00 TB 30.00 2.00 TR
|
2 2 10 24 TR
|
||||||
TE
|
2 2 18 24 TR
|
||||||
2.00 4.00 TB 10.00 2.00 TR
|
2 2 26 24 TR
|
||||||
TE
|
2 2 20 20 TR
|
||||||
1.00 0.00 1.00 setrgbcolor
|
2 2 26 20 TR
|
||||||
2.00 24.00 TB 20.00 2.00 TR
|
2 2 10 18 TR
|
||||||
TE
|
2 2 16 18 TR
|
||||||
2.00 22.00 TB 10.00 2.00 TR
|
2 2 22 18 TR
|
||||||
TE
|
2 2 28 18 TR
|
||||||
2.00 22.00 TB 16.00 2.00 TR
|
2 4 18 16 TR
|
||||||
TE
|
2 2 26 16 TR
|
||||||
2.00 22.00 TB 22.00 4.00 TR
|
2 2 30 16 TR
|
||||||
TE
|
2 2 22 12 TR
|
||||||
2.00 20.00 TB 18.00 2.00 TR
|
2 4 18 10 TR
|
||||||
TE
|
2 2 10 8 TR
|
||||||
2.00 18.00 TB 20.00 2.00 TR
|
2 2 16 8 TR
|
||||||
TE
|
2 4 22 8 TR
|
||||||
2.00 18.00 TB 24.00 2.00 TR
|
2 2 30 8 TR
|
||||||
TE
|
2 2 28 6 TR
|
||||||
2.00 16.00 TB 10.00 2.00 TR
|
2 2 30 4 TR
|
||||||
TE
|
0 1 0 setrgbcolor
|
||||||
2.00 16.00 TB 22.00 2.00 TR
|
2 2 16 24 TR
|
||||||
TE
|
2 2 20 22 TR
|
||||||
2.00 16.00 TB 28.00 2.00 TR
|
2 6 26 22 TR
|
||||||
TE
|
2 2 16 20 TR
|
||||||
2.00 10.00 TB 16.00 2.00 TR
|
2 2 24 20 TR
|
||||||
TE
|
2 2 18 18 TR
|
||||||
2.00 10.00 TB 24.00 4.00 TR
|
2 2 26 18 TR
|
||||||
TE
|
2 2 30 18 TR
|
||||||
2.00 10.00 TB 30.00 2.00 TR
|
2 2 24 16 TR
|
||||||
TE
|
2 2 10 12 TR
|
||||||
2.00 8.00 TB 20.00 2.00 TR
|
2 2 18 12 TR
|
||||||
TE
|
2 2 28 10 TR
|
||||||
2.00 4.00 TB 16.00 12.00 TR
|
2 2 18 8 TR
|
||||||
TE
|
2 2 10 6 TR
|
||||||
1.00 1.00 0.00 setrgbcolor
|
2 6 22 6 TR
|
||||||
2.00 24.00 TB 10.00 2.00 TR
|
2 2 28 4 TR
|
||||||
TE
|
0 0 0 setrgbcolor
|
||||||
2.00 24.00 TB 18.00 2.00 TR
|
2 28 6 26 TR
|
||||||
TE
|
2 2 6 24 TR
|
||||||
2.00 24.00 TB 26.00 2.00 TR
|
22 2 12 4 TR
|
||||||
TE
|
22 2 32 4 TR
|
||||||
2.00 20.00 TB 20.00 2.00 TR
|
2 4 6 22 TR
|
||||||
TE
|
2 2 6 20 TR
|
||||||
2.00 20.00 TB 26.00 2.00 TR
|
2 4 6 18 TR
|
||||||
TE
|
2 2 6 16 TR
|
||||||
2.00 18.00 TB 10.00 2.00 TR
|
2 4 6 14 TR
|
||||||
TE
|
2 2 16 14 TR
|
||||||
2.00 18.00 TB 16.00 2.00 TR
|
2 2 20 14 TR
|
||||||
TE
|
2 2 24 14 TR
|
||||||
2.00 18.00 TB 22.00 2.00 TR
|
2 2 28 14 TR
|
||||||
TE
|
2 2 6 12 TR
|
||||||
2.00 18.00 TB 28.00 2.00 TR
|
2 4 6 10 TR
|
||||||
TE
|
2 2 6 8 TR
|
||||||
2.00 16.00 TB 18.00 4.00 TR
|
2 4 6 6 TR
|
||||||
TE
|
2 2 6 4 TR
|
||||||
2.00 16.00 TB 26.00 2.00 TR
|
2 28 6 2 TR
|
||||||
TE
|
1 1 1 setrgbcolor
|
||||||
2.00 16.00 TB 30.00 2.00 TR
|
2 2 8 24 TR
|
||||||
TE
|
22 2 14 4 TR
|
||||||
2.00 12.00 TB 22.00 2.00 TR
|
2 2 8 20 TR
|
||||||
TE
|
2 2 8 16 TR
|
||||||
2.00 10.00 TB 18.00 4.00 TR
|
2 2 10 14 TR
|
||||||
TE
|
2 2 18 14 TR
|
||||||
2.00 8.00 TB 10.00 2.00 TR
|
2 2 22 14 TR
|
||||||
TE
|
2 2 26 14 TR
|
||||||
2.00 8.00 TB 16.00 2.00 TR
|
2 2 30 14 TR
|
||||||
TE
|
2 2 8 12 TR
|
||||||
2.00 8.00 TB 22.00 4.00 TR
|
2 2 8 8 TR
|
||||||
TE
|
2 2 8 4 TR
|
||||||
2.00 8.00 TB 30.00 2.00 TR
|
|
||||||
TE
|
|
||||||
2.00 6.00 TB 28.00 2.00 TR
|
|
||||||
TE
|
|
||||||
2.00 4.00 TB 30.00 2.00 TR
|
|
||||||
TE
|
|
||||||
0.00 1.00 0.00 setrgbcolor
|
|
||||||
2.00 24.00 TB 16.00 2.00 TR
|
|
||||||
TE
|
|
||||||
2.00 22.00 TB 20.00 2.00 TR
|
|
||||||
TE
|
|
||||||
2.00 22.00 TB 26.00 6.00 TR
|
|
||||||
TE
|
|
||||||
2.00 20.00 TB 16.00 2.00 TR
|
|
||||||
TE
|
|
||||||
2.00 20.00 TB 24.00 2.00 TR
|
|
||||||
TE
|
|
||||||
2.00 18.00 TB 18.00 2.00 TR
|
|
||||||
TE
|
|
||||||
2.00 18.00 TB 26.00 2.00 TR
|
|
||||||
TE
|
|
||||||
2.00 18.00 TB 30.00 2.00 TR
|
|
||||||
TE
|
|
||||||
2.00 16.00 TB 24.00 2.00 TR
|
|
||||||
TE
|
|
||||||
2.00 12.00 TB 10.00 2.00 TR
|
|
||||||
TE
|
|
||||||
2.00 12.00 TB 18.00 2.00 TR
|
|
||||||
TE
|
|
||||||
2.00 10.00 TB 28.00 2.00 TR
|
|
||||||
TE
|
|
||||||
2.00 8.00 TB 18.00 2.00 TR
|
|
||||||
TE
|
|
||||||
2.00 6.00 TB 10.00 2.00 TR
|
|
||||||
TE
|
|
||||||
2.00 6.00 TB 22.00 6.00 TR
|
|
||||||
TE
|
|
||||||
2.00 4.00 TB 28.00 2.00 TR
|
|
||||||
TE
|
|
||||||
0.00 0.00 0.00 setrgbcolor
|
|
||||||
2.00 26.00 TB 6.00 28.00 TR
|
|
||||||
TE
|
|
||||||
2.00 24.00 TB 6.00 2.00 TR
|
|
||||||
TE
|
|
||||||
22.00 4.00 TB 12.00 2.00 TR
|
|
||||||
TE
|
|
||||||
22.00 4.00 TB 32.00 2.00 TR
|
|
||||||
TE
|
|
||||||
2.00 22.00 TB 6.00 4.00 TR
|
|
||||||
TE
|
|
||||||
2.00 20.00 TB 6.00 2.00 TR
|
|
||||||
TE
|
|
||||||
2.00 18.00 TB 6.00 4.00 TR
|
|
||||||
TE
|
|
||||||
2.00 16.00 TB 6.00 2.00 TR
|
|
||||||
TE
|
|
||||||
2.00 14.00 TB 6.00 4.00 TR
|
|
||||||
TE
|
|
||||||
2.00 14.00 TB 16.00 2.00 TR
|
|
||||||
TE
|
|
||||||
2.00 14.00 TB 20.00 2.00 TR
|
|
||||||
TE
|
|
||||||
2.00 14.00 TB 24.00 2.00 TR
|
|
||||||
TE
|
|
||||||
2.00 14.00 TB 28.00 2.00 TR
|
|
||||||
TE
|
|
||||||
2.00 12.00 TB 6.00 2.00 TR
|
|
||||||
TE
|
|
||||||
2.00 10.00 TB 6.00 4.00 TR
|
|
||||||
TE
|
|
||||||
2.00 8.00 TB 6.00 2.00 TR
|
|
||||||
TE
|
|
||||||
2.00 6.00 TB 6.00 4.00 TR
|
|
||||||
TE
|
|
||||||
2.00 4.00 TB 6.00 2.00 TR
|
|
||||||
TE
|
|
||||||
2.00 2.00 TB 6.00 28.00 TR
|
|
||||||
TE
|
|
||||||
1.00 1.00 1.00 setrgbcolor
|
|
||||||
2.00 24.00 TB 8.00 2.00 TR
|
|
||||||
TE
|
|
||||||
22.00 4.00 TB 14.00 2.00 TR
|
|
||||||
TE
|
|
||||||
2.00 20.00 TB 8.00 2.00 TR
|
|
||||||
TE
|
|
||||||
2.00 16.00 TB 8.00 2.00 TR
|
|
||||||
TE
|
|
||||||
2.00 14.00 TB 10.00 2.00 TR
|
|
||||||
TE
|
|
||||||
2.00 14.00 TB 18.00 2.00 TR
|
|
||||||
TE
|
|
||||||
2.00 14.00 TB 22.00 2.00 TR
|
|
||||||
TE
|
|
||||||
2.00 14.00 TB 26.00 2.00 TR
|
|
||||||
TE
|
|
||||||
2.00 14.00 TB 30.00 2.00 TR
|
|
||||||
TE
|
|
||||||
2.00 12.00 TB 8.00 2.00 TR
|
|
||||||
TE
|
|
||||||
2.00 8.00 TB 8.00 2.00 TR
|
|
||||||
TE
|
|
||||||
2.00 4.00 TB 8.00 2.00 TR
|
|
||||||
TE
|
|
||||||
|
@ -1,224 +1,119 @@
|
|||||||
%!PS-Adobe-3.0 EPSF-3.0
|
%!PS-Adobe-3.0 EPSF-3.0
|
||||||
%%Creator: Zint 2.10.0.9
|
%%Creator: Zint 2.12.0.9
|
||||||
%%Title: Zint Generated Symbol
|
%%Title: Zint Generated Symbol
|
||||||
%%Pages: 0
|
%%Pages: 0
|
||||||
%%BoundingBox: 0 0 40 38
|
%%BoundingBox: 0 0 40 38
|
||||||
%%EndComments
|
%%EndComments
|
||||||
/TB { 2 copy } bind def
|
/TR { newpath moveto dup 3 1 roll 0 rlineto 0 exch rlineto neg 0 rlineto closepath fill } bind def
|
||||||
/TR { newpath 4 1 roll exch moveto 1 index 0 rlineto 0 exch rlineto neg 0 rlineto closepath fill } bind def
|
|
||||||
/TE { pop pop } bind def
|
|
||||||
newpath
|
newpath
|
||||||
0.00 1.00 1.00 0.00 setcmykcolor
|
0 1 1 0 setcmykcolor
|
||||||
38.00 0.00 TB 0.00 40.00 TR
|
38 40 0 0 TR
|
||||||
TE
|
1 1 0 0 setcmykcolor
|
||||||
1.00 1.00 0.00 0.00 setcmykcolor
|
4 40 0 34 TR
|
||||||
4.00 34.00 TB 0.00 40.00 TR
|
4 40 0 0 TR
|
||||||
TE
|
30 4 0 4 TR
|
||||||
4.00 0.00 TB 0.00 40.00 TR
|
30 4 36 4 TR
|
||||||
TE
|
1 0 0 0 setcmykcolor
|
||||||
30.00 4.00 TB 0.00 4.00 TR
|
2 4 22 28 TR
|
||||||
TE
|
2 4 28 28 TR
|
||||||
30.00 4.00 TB 36.00 4.00 TR
|
2 2 18 26 TR
|
||||||
TE
|
2 2 10 24 TR
|
||||||
1.00 0.00 0.00 0.00 setcmykcolor
|
2 2 22 24 TR
|
||||||
2.00 28.00 TB 22.00 4.00 TR
|
2 4 28 24 TR
|
||||||
TE
|
2 2 16 20 TR
|
||||||
2.00 28.00 TB 28.00 4.00 TR
|
2 2 16 16 TR
|
||||||
TE
|
2 2 20 16 TR
|
||||||
2.00 26.00 TB 18.00 2.00 TR
|
2 8 24 16 TR
|
||||||
TE
|
2 2 10 14 TR
|
||||||
2.00 24.00 TB 10.00 2.00 TR
|
2 2 22 14 TR
|
||||||
TE
|
2 4 26 12 TR
|
||||||
2.00 24.00 TB 22.00 2.00 TR
|
2 6 16 10 TR
|
||||||
TE
|
2 2 30 10 TR
|
||||||
2.00 24.00 TB 28.00 4.00 TR
|
2 2 10 8 TR
|
||||||
TE
|
0 1 0 0 setcmykcolor
|
||||||
2.00 20.00 TB 16.00 2.00 TR
|
2 2 20 28 TR
|
||||||
TE
|
2 2 10 26 TR
|
||||||
2.00 16.00 TB 16.00 2.00 TR
|
2 2 16 26 TR
|
||||||
TE
|
2 4 22 26 TR
|
||||||
2.00 16.00 TB 20.00 2.00 TR
|
2 2 18 24 TR
|
||||||
TE
|
2 2 20 22 TR
|
||||||
2.00 16.00 TB 24.00 8.00 TR
|
2 2 24 22 TR
|
||||||
TE
|
2 2 10 20 TR
|
||||||
2.00 14.00 TB 10.00 2.00 TR
|
2 2 22 20 TR
|
||||||
TE
|
2 2 28 20 TR
|
||||||
2.00 14.00 TB 22.00 2.00 TR
|
2 2 16 14 TR
|
||||||
TE
|
2 4 24 14 TR
|
||||||
2.00 12.00 TB 26.00 4.00 TR
|
2 2 30 14 TR
|
||||||
TE
|
2 2 20 12 TR
|
||||||
2.00 10.00 TB 16.00 6.00 TR
|
2 12 16 8 TR
|
||||||
TE
|
0 0 1 0 setcmykcolor
|
||||||
2.00 10.00 TB 30.00 2.00 TR
|
2 2 10 28 TR
|
||||||
TE
|
2 2 18 28 TR
|
||||||
2.00 8.00 TB 10.00 2.00 TR
|
2 2 26 28 TR
|
||||||
TE
|
2 2 20 24 TR
|
||||||
0.00 1.00 0.00 0.00 setcmykcolor
|
2 2 26 24 TR
|
||||||
2.00 28.00 TB 20.00 2.00 TR
|
2 2 10 22 TR
|
||||||
TE
|
2 2 16 22 TR
|
||||||
2.00 26.00 TB 10.00 2.00 TR
|
2 2 22 22 TR
|
||||||
TE
|
2 2 28 22 TR
|
||||||
2.00 26.00 TB 16.00 2.00 TR
|
2 4 18 20 TR
|
||||||
TE
|
2 2 26 20 TR
|
||||||
2.00 26.00 TB 22.00 4.00 TR
|
2 2 30 20 TR
|
||||||
TE
|
2 2 22 16 TR
|
||||||
2.00 24.00 TB 18.00 2.00 TR
|
2 4 18 14 TR
|
||||||
TE
|
2 2 10 12 TR
|
||||||
2.00 22.00 TB 20.00 2.00 TR
|
2 2 16 12 TR
|
||||||
TE
|
2 4 22 12 TR
|
||||||
2.00 22.00 TB 24.00 2.00 TR
|
2 2 30 12 TR
|
||||||
TE
|
2 2 28 10 TR
|
||||||
2.00 20.00 TB 10.00 2.00 TR
|
2 2 30 8 TR
|
||||||
TE
|
1 0 1 0 setcmykcolor
|
||||||
2.00 20.00 TB 22.00 2.00 TR
|
2 2 16 28 TR
|
||||||
TE
|
2 2 20 26 TR
|
||||||
2.00 20.00 TB 28.00 2.00 TR
|
2 6 26 26 TR
|
||||||
TE
|
2 2 16 24 TR
|
||||||
2.00 14.00 TB 16.00 2.00 TR
|
2 2 24 24 TR
|
||||||
TE
|
2 2 18 22 TR
|
||||||
2.00 14.00 TB 24.00 4.00 TR
|
2 2 26 22 TR
|
||||||
TE
|
2 2 30 22 TR
|
||||||
2.00 14.00 TB 30.00 2.00 TR
|
2 2 24 20 TR
|
||||||
TE
|
2 2 10 16 TR
|
||||||
2.00 12.00 TB 20.00 2.00 TR
|
2 2 18 16 TR
|
||||||
TE
|
2 2 28 14 TR
|
||||||
2.00 8.00 TB 16.00 12.00 TR
|
2 2 18 12 TR
|
||||||
TE
|
2 2 10 10 TR
|
||||||
0.00 0.00 1.00 0.00 setcmykcolor
|
2 6 22 10 TR
|
||||||
2.00 28.00 TB 10.00 2.00 TR
|
2 2 28 8 TR
|
||||||
TE
|
0 0 0 1 setcmykcolor
|
||||||
2.00 28.00 TB 18.00 2.00 TR
|
2 28 6 30 TR
|
||||||
TE
|
2 2 6 28 TR
|
||||||
2.00 28.00 TB 26.00 2.00 TR
|
22 2 12 8 TR
|
||||||
TE
|
22 2 32 8 TR
|
||||||
2.00 24.00 TB 20.00 2.00 TR
|
2 4 6 26 TR
|
||||||
TE
|
2 2 6 24 TR
|
||||||
2.00 24.00 TB 26.00 2.00 TR
|
2 4 6 22 TR
|
||||||
TE
|
2 2 6 20 TR
|
||||||
2.00 22.00 TB 10.00 2.00 TR
|
2 4 6 18 TR
|
||||||
TE
|
2 2 16 18 TR
|
||||||
2.00 22.00 TB 16.00 2.00 TR
|
2 2 20 18 TR
|
||||||
TE
|
2 2 24 18 TR
|
||||||
2.00 22.00 TB 22.00 2.00 TR
|
2 2 28 18 TR
|
||||||
TE
|
2 2 6 16 TR
|
||||||
2.00 22.00 TB 28.00 2.00 TR
|
2 4 6 14 TR
|
||||||
TE
|
2 2 6 12 TR
|
||||||
2.00 20.00 TB 18.00 4.00 TR
|
2 4 6 10 TR
|
||||||
TE
|
2 2 6 8 TR
|
||||||
2.00 20.00 TB 26.00 2.00 TR
|
2 28 6 6 TR
|
||||||
TE
|
0 0 0 0 setcmykcolor
|
||||||
2.00 20.00 TB 30.00 2.00 TR
|
2 2 8 28 TR
|
||||||
TE
|
22 2 14 8 TR
|
||||||
2.00 16.00 TB 22.00 2.00 TR
|
2 2 8 24 TR
|
||||||
TE
|
2 2 8 20 TR
|
||||||
2.00 14.00 TB 18.00 4.00 TR
|
2 2 10 18 TR
|
||||||
TE
|
2 2 18 18 TR
|
||||||
2.00 12.00 TB 10.00 2.00 TR
|
2 2 22 18 TR
|
||||||
TE
|
2 2 26 18 TR
|
||||||
2.00 12.00 TB 16.00 2.00 TR
|
2 2 30 18 TR
|
||||||
TE
|
2 2 8 16 TR
|
||||||
2.00 12.00 TB 22.00 4.00 TR
|
2 2 8 12 TR
|
||||||
TE
|
2 2 8 8 TR
|
||||||
2.00 12.00 TB 30.00 2.00 TR
|
|
||||||
TE
|
|
||||||
2.00 10.00 TB 28.00 2.00 TR
|
|
||||||
TE
|
|
||||||
2.00 8.00 TB 30.00 2.00 TR
|
|
||||||
TE
|
|
||||||
1.00 0.00 1.00 0.00 setcmykcolor
|
|
||||||
2.00 28.00 TB 16.00 2.00 TR
|
|
||||||
TE
|
|
||||||
2.00 26.00 TB 20.00 2.00 TR
|
|
||||||
TE
|
|
||||||
2.00 26.00 TB 26.00 6.00 TR
|
|
||||||
TE
|
|
||||||
2.00 24.00 TB 16.00 2.00 TR
|
|
||||||
TE
|
|
||||||
2.00 24.00 TB 24.00 2.00 TR
|
|
||||||
TE
|
|
||||||
2.00 22.00 TB 18.00 2.00 TR
|
|
||||||
TE
|
|
||||||
2.00 22.00 TB 26.00 2.00 TR
|
|
||||||
TE
|
|
||||||
2.00 22.00 TB 30.00 2.00 TR
|
|
||||||
TE
|
|
||||||
2.00 20.00 TB 24.00 2.00 TR
|
|
||||||
TE
|
|
||||||
2.00 16.00 TB 10.00 2.00 TR
|
|
||||||
TE
|
|
||||||
2.00 16.00 TB 18.00 2.00 TR
|
|
||||||
TE
|
|
||||||
2.00 14.00 TB 28.00 2.00 TR
|
|
||||||
TE
|
|
||||||
2.00 12.00 TB 18.00 2.00 TR
|
|
||||||
TE
|
|
||||||
2.00 10.00 TB 10.00 2.00 TR
|
|
||||||
TE
|
|
||||||
2.00 10.00 TB 22.00 6.00 TR
|
|
||||||
TE
|
|
||||||
2.00 8.00 TB 28.00 2.00 TR
|
|
||||||
TE
|
|
||||||
0.00 0.00 0.00 1.00 setcmykcolor
|
|
||||||
2.00 30.00 TB 6.00 28.00 TR
|
|
||||||
TE
|
|
||||||
2.00 28.00 TB 6.00 2.00 TR
|
|
||||||
TE
|
|
||||||
22.00 8.00 TB 12.00 2.00 TR
|
|
||||||
TE
|
|
||||||
22.00 8.00 TB 32.00 2.00 TR
|
|
||||||
TE
|
|
||||||
2.00 26.00 TB 6.00 4.00 TR
|
|
||||||
TE
|
|
||||||
2.00 24.00 TB 6.00 2.00 TR
|
|
||||||
TE
|
|
||||||
2.00 22.00 TB 6.00 4.00 TR
|
|
||||||
TE
|
|
||||||
2.00 20.00 TB 6.00 2.00 TR
|
|
||||||
TE
|
|
||||||
2.00 18.00 TB 6.00 4.00 TR
|
|
||||||
TE
|
|
||||||
2.00 18.00 TB 16.00 2.00 TR
|
|
||||||
TE
|
|
||||||
2.00 18.00 TB 20.00 2.00 TR
|
|
||||||
TE
|
|
||||||
2.00 18.00 TB 24.00 2.00 TR
|
|
||||||
TE
|
|
||||||
2.00 18.00 TB 28.00 2.00 TR
|
|
||||||
TE
|
|
||||||
2.00 16.00 TB 6.00 2.00 TR
|
|
||||||
TE
|
|
||||||
2.00 14.00 TB 6.00 4.00 TR
|
|
||||||
TE
|
|
||||||
2.00 12.00 TB 6.00 2.00 TR
|
|
||||||
TE
|
|
||||||
2.00 10.00 TB 6.00 4.00 TR
|
|
||||||
TE
|
|
||||||
2.00 8.00 TB 6.00 2.00 TR
|
|
||||||
TE
|
|
||||||
2.00 6.00 TB 6.00 28.00 TR
|
|
||||||
TE
|
|
||||||
0.00 0.00 0.00 0.00 setcmykcolor
|
|
||||||
2.00 28.00 TB 8.00 2.00 TR
|
|
||||||
TE
|
|
||||||
22.00 8.00 TB 14.00 2.00 TR
|
|
||||||
TE
|
|
||||||
2.00 24.00 TB 8.00 2.00 TR
|
|
||||||
TE
|
|
||||||
2.00 20.00 TB 8.00 2.00 TR
|
|
||||||
TE
|
|
||||||
2.00 18.00 TB 10.00 2.00 TR
|
|
||||||
TE
|
|
||||||
2.00 18.00 TB 18.00 2.00 TR
|
|
||||||
TE
|
|
||||||
2.00 18.00 TB 22.00 2.00 TR
|
|
||||||
TE
|
|
||||||
2.00 18.00 TB 26.00 2.00 TR
|
|
||||||
TE
|
|
||||||
2.00 18.00 TB 30.00 2.00 TR
|
|
||||||
TE
|
|
||||||
2.00 16.00 TB 8.00 2.00 TR
|
|
||||||
TE
|
|
||||||
2.00 12.00 TB 8.00 2.00 TR
|
|
||||||
TE
|
|
||||||
2.00 8.00 TB 8.00 2.00 TR
|
|
||||||
TE
|
|
||||||
|
@ -2,129 +2,65 @@
|
|||||||
%%Creator: Zint 2.12.0.9
|
%%Creator: Zint 2.12.0.9
|
||||||
%%Title: Zint Generated Symbol
|
%%Title: Zint Generated Symbol
|
||||||
%%Pages: 0
|
%%Pages: 0
|
||||||
%%BoundingBox: 0 0 276 117
|
%%BoundingBox: 0 0 276 118
|
||||||
%%EndComments
|
%%EndComments
|
||||||
/TB { 2 copy } bind def
|
/TR { newpath moveto dup 3 1 roll 0 rlineto 0 exch rlineto neg 0 rlineto closepath fill } bind def
|
||||||
/TR { newpath 4 1 roll exch moveto 1 index 0 rlineto 0 exch rlineto neg 0 rlineto closepath fill } bind def
|
|
||||||
/TE { pop pop } bind def
|
|
||||||
newpath
|
newpath
|
||||||
1.00 1.00 1.00 setrgbcolor
|
1 1 1 setrgbcolor
|
||||||
116.90 0.00 TB 0.00 276.00 TR
|
118 276 0 0 TR
|
||||||
TE
|
0 0 0 setrgbcolor
|
||||||
0.00 0.00 0.00 setrgbcolor
|
110 2 18 8 TR
|
||||||
110.00 6.90 TB 18.00 2.00 TR
|
110 2 22 8 TR
|
||||||
TE
|
110 4 30 8 TR
|
||||||
110.00 6.90 TB 22.00 2.00 TR
|
110 2 36 8 TR
|
||||||
TE
|
100 4 42 18 TR
|
||||||
110.00 6.90 TB 30.00 4.00 TR
|
100 2 50 18 TR
|
||||||
TE
|
100 2 56 18 TR
|
||||||
110.00 6.90 TB 36.00 2.00 TR
|
100 4 62 18 TR
|
||||||
TE
|
100 8 68 18 TR
|
||||||
100.00 16.90 TB 42.00 4.00 TR
|
100 2 78 18 TR
|
||||||
TE
|
100 2 82 18 TR
|
||||||
100.00 16.90 TB 50.00 2.00 TR
|
100 4 90 18 TR
|
||||||
TE
|
100 4 96 18 TR
|
||||||
100.00 16.90 TB 56.00 2.00 TR
|
100 2 106 18 TR
|
||||||
TE
|
110 2 110 8 TR
|
||||||
100.00 16.90 TB 62.00 4.00 TR
|
110 2 114 8 TR
|
||||||
TE
|
100 2 118 18 TR
|
||||||
100.00 16.90 TB 68.00 8.00 TR
|
100 2 122 18 TR
|
||||||
TE
|
100 2 132 18 TR
|
||||||
100.00 16.90 TB 78.00 2.00 TR
|
100 2 140 18 TR
|
||||||
TE
|
100 2 146 18 TR
|
||||||
100.00 16.90 TB 82.00 2.00 TR
|
100 2 152 18 TR
|
||||||
TE
|
100 6 160 18 TR
|
||||||
100.00 16.90 TB 90.00 4.00 TR
|
100 2 168 18 TR
|
||||||
TE
|
100 6 174 18 TR
|
||||||
100.00 16.90 TB 96.00 4.00 TR
|
100 2 184 18 TR
|
||||||
TE
|
110 2 188 8 TR
|
||||||
100.00 16.90 TB 106.00 2.00 TR
|
110 6 194 8 TR
|
||||||
TE
|
110 2 202 8 TR
|
||||||
110.00 6.90 TB 110.00 2.00 TR
|
110 2 206 8 TR
|
||||||
TE
|
82 2 226 18 TR
|
||||||
110.00 6.90 TB 114.00 2.00 TR
|
82 4 230 18 TR
|
||||||
TE
|
82 2 238 18 TR
|
||||||
100.00 16.90 TB 118.00 2.00 TR
|
82 4 244 18 TR
|
||||||
TE
|
82 2 250 18 TR
|
||||||
100.00 16.90 TB 122.00 2.00 TR
|
82 2 254 18 TR
|
||||||
TE
|
82 4 262 18 TR
|
||||||
100.00 16.90 TB 132.00 2.00 TR
|
/Helvetica findfont 14.98 scalefont setfont
|
||||||
TE
|
8.7 0.8 moveto
|
||||||
100.00 16.90 TB 140.00 2.00 TR
|
(0) stringwidth pop neg 0 rmoveto
|
||||||
TE
|
|
||||||
100.00 16.90 TB 146.00 2.00 TR
|
|
||||||
TE
|
|
||||||
100.00 16.90 TB 152.00 2.00 TR
|
|
||||||
TE
|
|
||||||
100.00 16.90 TB 160.00 6.00 TR
|
|
||||||
TE
|
|
||||||
100.00 16.90 TB 168.00 2.00 TR
|
|
||||||
TE
|
|
||||||
100.00 16.90 TB 174.00 6.00 TR
|
|
||||||
TE
|
|
||||||
100.00 16.90 TB 184.00 2.00 TR
|
|
||||||
TE
|
|
||||||
110.00 6.90 TB 188.00 2.00 TR
|
|
||||||
TE
|
|
||||||
110.00 6.90 TB 194.00 6.00 TR
|
|
||||||
TE
|
|
||||||
110.00 6.90 TB 202.00 2.00 TR
|
|
||||||
TE
|
|
||||||
110.00 6.90 TB 206.00 2.00 TR
|
|
||||||
TE
|
|
||||||
83.10 16.90 TB 226.00 2.00 TR
|
|
||||||
TE
|
|
||||||
83.10 16.90 TB 230.00 4.00 TR
|
|
||||||
TE
|
|
||||||
83.10 16.90 TB 238.00 2.00 TR
|
|
||||||
TE
|
|
||||||
83.10 16.90 TB 244.00 4.00 TR
|
|
||||||
TE
|
|
||||||
83.10 16.90 TB 250.00 2.00 TR
|
|
||||||
TE
|
|
||||||
83.10 16.90 TB 254.00 2.00 TR
|
|
||||||
TE
|
|
||||||
83.10 16.90 TB 262.00 4.00 TR
|
|
||||||
TE
|
|
||||||
matrix currentmatrix
|
|
||||||
/Helvetica findfont
|
|
||||||
14.00 scalefont setfont
|
|
||||||
0 0 moveto 8.70 0.80 translate 0.00 rotate 0 0 moveto
|
|
||||||
(0) stringwidth
|
|
||||||
pop
|
|
||||||
neg 0 rmoveto
|
|
||||||
(0) show
|
(0) show
|
||||||
setmatrix
|
/Helvetica findfont 21.4 scalefont setfont
|
||||||
matrix currentmatrix
|
74 0.8 moveto
|
||||||
/Helvetica findfont
|
(12345) stringwidth pop -2 div 0 rmoveto
|
||||||
20.00 scalefont setfont
|
|
||||||
0 0 moveto 74.00 0.80 translate 0.00 rotate 0 0 moveto
|
|
||||||
(12345) stringwidth
|
|
||||||
pop
|
|
||||||
-2 div 0 rmoveto
|
|
||||||
(12345) show
|
(12345) show
|
||||||
setmatrix
|
152 0.8 moveto
|
||||||
matrix currentmatrix
|
(67890) stringwidth pop -2 div 0 rmoveto
|
||||||
/Helvetica findfont
|
|
||||||
20.00 scalefont setfont
|
|
||||||
0 0 moveto 152.00 0.80 translate 0.00 rotate 0 0 moveto
|
|
||||||
(67890) stringwidth
|
|
||||||
pop
|
|
||||||
-2 div 0 rmoveto
|
|
||||||
(67890) show
|
(67890) show
|
||||||
setmatrix
|
/Helvetica findfont 14.98 scalefont setfont
|
||||||
matrix currentmatrix
|
217.3 0.8 moveto
|
||||||
/Helvetica findfont
|
|
||||||
14.00 scalefont setfont
|
|
||||||
0 0 moveto 217.30 0.80 translate 0.00 rotate 0 0 moveto
|
|
||||||
(5) show
|
(5) show
|
||||||
setmatrix
|
/Helvetica findfont 21.4 scalefont setfont
|
||||||
matrix currentmatrix
|
246 102.4 moveto
|
||||||
/Helvetica findfont
|
(24) stringwidth pop -2 div 0 rmoveto
|
||||||
20.00 scalefont setfont
|
|
||||||
0 0 moveto 246.00 101.90 translate 0.00 rotate 0 0 moveto
|
|
||||||
(24) stringwidth
|
|
||||||
pop
|
|
||||||
-2 div 0 rmoveto
|
|
||||||
(24) show
|
(24) show
|
||||||
setmatrix
|
|
||||||
|
68
backend/tests/data/eps/upca_2addon_ggs_5.2.6.6-5_gws.eps
Normal file
68
backend/tests/data/eps/upca_2addon_ggs_5.2.6.6-5_gws.eps
Normal file
@ -0,0 +1,68 @@
|
|||||||
|
%!PS-Adobe-3.0 EPSF-3.0
|
||||||
|
%%Creator: Zint 2.12.0.9
|
||||||
|
%%Title: Zint Generated Symbol
|
||||||
|
%%Pages: 0
|
||||||
|
%%BoundingBox: 0 0 276 118
|
||||||
|
%%EndComments
|
||||||
|
/TR { newpath moveto dup 3 1 roll 0 rlineto 0 exch rlineto neg 0 rlineto closepath fill } bind def
|
||||||
|
newpath
|
||||||
|
1 1 1 setrgbcolor
|
||||||
|
118 276 0 0 TR
|
||||||
|
0 0 0 setrgbcolor
|
||||||
|
110 2 18 8 TR
|
||||||
|
110 2 22 8 TR
|
||||||
|
110 4 30 8 TR
|
||||||
|
110 2 36 8 TR
|
||||||
|
100 4 42 18 TR
|
||||||
|
100 2 50 18 TR
|
||||||
|
100 2 56 18 TR
|
||||||
|
100 4 62 18 TR
|
||||||
|
100 8 68 18 TR
|
||||||
|
100 2 78 18 TR
|
||||||
|
100 2 82 18 TR
|
||||||
|
100 4 90 18 TR
|
||||||
|
100 4 96 18 TR
|
||||||
|
100 2 106 18 TR
|
||||||
|
110 2 110 8 TR
|
||||||
|
110 2 114 8 TR
|
||||||
|
100 2 118 18 TR
|
||||||
|
100 2 122 18 TR
|
||||||
|
100 2 132 18 TR
|
||||||
|
100 2 140 18 TR
|
||||||
|
100 2 146 18 TR
|
||||||
|
100 2 152 18 TR
|
||||||
|
100 6 160 18 TR
|
||||||
|
100 2 168 18 TR
|
||||||
|
100 6 174 18 TR
|
||||||
|
100 2 184 18 TR
|
||||||
|
110 2 188 8 TR
|
||||||
|
110 6 194 8 TR
|
||||||
|
110 2 202 8 TR
|
||||||
|
110 2 206 8 TR
|
||||||
|
82 2 226 18 TR
|
||||||
|
82 4 230 18 TR
|
||||||
|
82 2 238 18 TR
|
||||||
|
82 4 244 18 TR
|
||||||
|
82 2 250 18 TR
|
||||||
|
82 2 254 18 TR
|
||||||
|
82 4 262 18 TR
|
||||||
|
/Helvetica findfont 14.98 scalefont setfont
|
||||||
|
8.7 0.8 moveto
|
||||||
|
(0) stringwidth pop neg 0 rmoveto
|
||||||
|
(0) show
|
||||||
|
/Helvetica findfont 21.4 scalefont setfont
|
||||||
|
74 0.8 moveto
|
||||||
|
(12345) stringwidth pop -2 div 0 rmoveto
|
||||||
|
(12345) show
|
||||||
|
152 0.8 moveto
|
||||||
|
(67890) stringwidth pop -2 div 0 rmoveto
|
||||||
|
(67890) show
|
||||||
|
/Helvetica findfont 14.98 scalefont setfont
|
||||||
|
217.3 0.8 moveto
|
||||||
|
(5) show
|
||||||
|
/Helvetica findfont 21.4 scalefont setfont
|
||||||
|
246 102.4 moveto
|
||||||
|
(24) stringwidth pop -2 div 0 rmoveto
|
||||||
|
(24) show
|
||||||
|
263.6 102.4 moveto
|
||||||
|
(>) show
|
@ -2,112 +2,58 @@
|
|||||||
%%Creator: Zint 2.12.0.9
|
%%Creator: Zint 2.12.0.9
|
||||||
%%Title: Zint Generated Symbol
|
%%Title: Zint Generated Symbol
|
||||||
%%Pages: 0
|
%%Pages: 0
|
||||||
%%BoundingBox: 0 0 238 117
|
%%BoundingBox: 0 0 238 118
|
||||||
%%EndComments
|
%%EndComments
|
||||||
/TB { 2 copy } bind def
|
/TR { newpath moveto dup 3 1 roll 0 rlineto 0 exch rlineto neg 0 rlineto closepath fill } bind def
|
||||||
/TR { newpath 4 1 roll exch moveto 1 index 0 rlineto 0 exch rlineto neg 0 rlineto closepath fill } bind def
|
|
||||||
/TE { pop pop } bind def
|
|
||||||
newpath
|
newpath
|
||||||
1.00 1.00 1.00 setrgbcolor
|
1 1 1 setrgbcolor
|
||||||
116.90 0.00 TB 0.00 238.00 TR
|
118 238 0 0 TR
|
||||||
TE
|
0 0 0 setrgbcolor
|
||||||
0.00 0.00 0.00 setrgbcolor
|
110 2 18 8 TR
|
||||||
110.00 6.90 TB 18.00 2.00 TR
|
110 2 22 8 TR
|
||||||
TE
|
100 4 26 18 TR
|
||||||
110.00 6.90 TB 22.00 2.00 TR
|
100 4 34 18 TR
|
||||||
TE
|
100 2 42 18 TR
|
||||||
100.00 16.90 TB 26.00 4.00 TR
|
100 4 48 18 TR
|
||||||
TE
|
100 8 54 18 TR
|
||||||
100.00 16.90 TB 34.00 4.00 TR
|
100 2 64 18 TR
|
||||||
TE
|
100 6 70 18 TR
|
||||||
100.00 16.90 TB 42.00 2.00 TR
|
100 2 78 18 TR
|
||||||
TE
|
100 6 82 18 TR
|
||||||
100.00 16.90 TB 48.00 4.00 TR
|
100 2 92 18 TR
|
||||||
TE
|
100 2 96 18 TR
|
||||||
100.00 16.90 TB 54.00 8.00 TR
|
100 8 100 18 TR
|
||||||
TE
|
110 2 110 8 TR
|
||||||
100.00 16.90 TB 64.00 2.00 TR
|
110 2 114 8 TR
|
||||||
TE
|
110 2 118 8 TR
|
||||||
100.00 16.90 TB 70.00 6.00 TR
|
82 2 134 18 TR
|
||||||
TE
|
82 4 138 18 TR
|
||||||
100.00 16.90 TB 78.00 2.00 TR
|
82 4 144 18 TR
|
||||||
TE
|
82 4 152 18 TR
|
||||||
100.00 16.90 TB 82.00 6.00 TR
|
82 2 158 18 TR
|
||||||
TE
|
82 2 164 18 TR
|
||||||
100.00 16.90 TB 92.00 2.00 TR
|
82 4 170 18 TR
|
||||||
TE
|
82 2 176 18 TR
|
||||||
100.00 16.90 TB 96.00 2.00 TR
|
82 2 180 18 TR
|
||||||
TE
|
82 2 190 18 TR
|
||||||
100.00 16.90 TB 100.00 8.00 TR
|
82 2 194 18 TR
|
||||||
TE
|
82 2 198 18 TR
|
||||||
110.00 6.90 TB 110.00 2.00 TR
|
82 4 206 18 TR
|
||||||
TE
|
82 2 212 18 TR
|
||||||
110.00 6.90 TB 114.00 2.00 TR
|
82 4 216 18 TR
|
||||||
TE
|
82 2 226 18 TR
|
||||||
110.00 6.90 TB 118.00 2.00 TR
|
/Helvetica findfont 14.98 scalefont setfont
|
||||||
TE
|
8.7 0.8 moveto
|
||||||
83.10 16.90 TB 134.00 2.00 TR
|
(0) stringwidth pop neg 0 rmoveto
|
||||||
TE
|
|
||||||
83.10 16.90 TB 138.00 4.00 TR
|
|
||||||
TE
|
|
||||||
83.10 16.90 TB 144.00 4.00 TR
|
|
||||||
TE
|
|
||||||
83.10 16.90 TB 152.00 4.00 TR
|
|
||||||
TE
|
|
||||||
83.10 16.90 TB 158.00 2.00 TR
|
|
||||||
TE
|
|
||||||
83.10 16.90 TB 164.00 2.00 TR
|
|
||||||
TE
|
|
||||||
83.10 16.90 TB 170.00 4.00 TR
|
|
||||||
TE
|
|
||||||
83.10 16.90 TB 176.00 2.00 TR
|
|
||||||
TE
|
|
||||||
83.10 16.90 TB 180.00 2.00 TR
|
|
||||||
TE
|
|
||||||
83.10 16.90 TB 190.00 2.00 TR
|
|
||||||
TE
|
|
||||||
83.10 16.90 TB 194.00 2.00 TR
|
|
||||||
TE
|
|
||||||
83.10 16.90 TB 198.00 2.00 TR
|
|
||||||
TE
|
|
||||||
83.10 16.90 TB 206.00 4.00 TR
|
|
||||||
TE
|
|
||||||
83.10 16.90 TB 212.00 2.00 TR
|
|
||||||
TE
|
|
||||||
83.10 16.90 TB 216.00 4.00 TR
|
|
||||||
TE
|
|
||||||
83.10 16.90 TB 226.00 2.00 TR
|
|
||||||
TE
|
|
||||||
matrix currentmatrix
|
|
||||||
/Helvetica findfont
|
|
||||||
14.00 scalefont setfont
|
|
||||||
0 0 moveto 8.70 0.80 translate 0.00 rotate 0 0 moveto
|
|
||||||
(0) stringwidth
|
|
||||||
pop
|
|
||||||
neg 0 rmoveto
|
|
||||||
(0) show
|
(0) show
|
||||||
setmatrix
|
/Helvetica findfont 21.4 scalefont setfont
|
||||||
matrix currentmatrix
|
67 0.8 moveto
|
||||||
/Helvetica findfont
|
(123456) stringwidth pop -2 div 0 rmoveto
|
||||||
20.00 scalefont setfont
|
|
||||||
0 0 moveto 67.00 0.80 translate 0.00 rotate 0 0 moveto
|
|
||||||
(123456) stringwidth
|
|
||||||
pop
|
|
||||||
-2 div 0 rmoveto
|
|
||||||
(123456) show
|
(123456) show
|
||||||
setmatrix
|
/Helvetica findfont 14.98 scalefont setfont
|
||||||
matrix currentmatrix
|
125.3 0.8 moveto
|
||||||
/Helvetica findfont
|
|
||||||
14.00 scalefont setfont
|
|
||||||
0 0 moveto 125.30 0.80 translate 0.00 rotate 0 0 moveto
|
|
||||||
(5) show
|
(5) show
|
||||||
setmatrix
|
/Helvetica findfont 21.4 scalefont setfont
|
||||||
matrix currentmatrix
|
182 102.4 moveto
|
||||||
/Helvetica findfont
|
(12345) stringwidth pop -2 div 0 rmoveto
|
||||||
20.00 scalefont setfont
|
|
||||||
0 0 moveto 182.00 101.90 translate 0.00 rotate 0 0 moveto
|
|
||||||
(12345) stringwidth
|
|
||||||
pop
|
|
||||||
-2 div 0 rmoveto
|
|
||||||
(12345) show
|
(12345) show
|
||||||
setmatrix
|
|
||||||
|
61
backend/tests/data/eps/upce_5addon_gws.eps
Normal file
61
backend/tests/data/eps/upce_5addon_gws.eps
Normal file
@ -0,0 +1,61 @@
|
|||||||
|
%!PS-Adobe-3.0 EPSF-3.0
|
||||||
|
%%Creator: Zint 2.12.0.9
|
||||||
|
%%Title: Zint Generated Symbol
|
||||||
|
%%Pages: 0
|
||||||
|
%%BoundingBox: 0 0 238 118
|
||||||
|
%%EndComments
|
||||||
|
/TR { newpath moveto dup 3 1 roll 0 rlineto 0 exch rlineto neg 0 rlineto closepath fill } bind def
|
||||||
|
newpath
|
||||||
|
1 1 1 setrgbcolor
|
||||||
|
118 238 0 0 TR
|
||||||
|
0 0 0 setrgbcolor
|
||||||
|
110 2 18 8 TR
|
||||||
|
110 2 22 8 TR
|
||||||
|
100 4 26 18 TR
|
||||||
|
100 4 34 18 TR
|
||||||
|
100 2 42 18 TR
|
||||||
|
100 4 48 18 TR
|
||||||
|
100 8 54 18 TR
|
||||||
|
100 2 64 18 TR
|
||||||
|
100 6 70 18 TR
|
||||||
|
100 2 78 18 TR
|
||||||
|
100 6 82 18 TR
|
||||||
|
100 2 92 18 TR
|
||||||
|
100 2 96 18 TR
|
||||||
|
100 8 100 18 TR
|
||||||
|
110 2 110 8 TR
|
||||||
|
110 2 114 8 TR
|
||||||
|
110 2 118 8 TR
|
||||||
|
82 2 134 18 TR
|
||||||
|
82 4 138 18 TR
|
||||||
|
82 4 144 18 TR
|
||||||
|
82 4 152 18 TR
|
||||||
|
82 2 158 18 TR
|
||||||
|
82 2 164 18 TR
|
||||||
|
82 4 170 18 TR
|
||||||
|
82 2 176 18 TR
|
||||||
|
82 2 180 18 TR
|
||||||
|
82 2 190 18 TR
|
||||||
|
82 2 194 18 TR
|
||||||
|
82 2 198 18 TR
|
||||||
|
82 4 206 18 TR
|
||||||
|
82 2 212 18 TR
|
||||||
|
82 4 216 18 TR
|
||||||
|
82 2 226 18 TR
|
||||||
|
/Helvetica findfont 14.98 scalefont setfont
|
||||||
|
8.7 0.8 moveto
|
||||||
|
(0) stringwidth pop neg 0 rmoveto
|
||||||
|
(0) show
|
||||||
|
/Helvetica findfont 21.4 scalefont setfont
|
||||||
|
67 0.8 moveto
|
||||||
|
(123456) stringwidth pop -2 div 0 rmoveto
|
||||||
|
(123456) show
|
||||||
|
/Helvetica findfont 14.98 scalefont setfont
|
||||||
|
125.3 0.8 moveto
|
||||||
|
(5) show
|
||||||
|
/Helvetica findfont 21.4 scalefont setfont
|
||||||
|
182 102.4 moveto
|
||||||
|
(12345) stringwidth pop -2 div 0 rmoveto
|
||||||
|
(12345) show
|
||||||
|
225.6 102.4 moveto
|
||||||
|
(>) show
|
@ -2,112 +2,58 @@
|
|||||||
%%Creator: Zint 2.12.0.9
|
%%Creator: Zint 2.12.0.9
|
||||||
%%Title: Zint Generated Symbol
|
%%Title: Zint Generated Symbol
|
||||||
%%Pages: 0
|
%%Pages: 0
|
||||||
%%BoundingBox: 0 0 238 113
|
%%BoundingBox: 0 0 238 114
|
||||||
%%EndComments
|
%%EndComments
|
||||||
/TB { 2 copy } bind def
|
/TR { newpath moveto dup 3 1 roll 0 rlineto 0 exch rlineto neg 0 rlineto closepath fill } bind def
|
||||||
/TR { newpath 4 1 roll exch moveto 1 index 0 rlineto 0 exch rlineto neg 0 rlineto closepath fill } bind def
|
|
||||||
/TE { pop pop } bind def
|
|
||||||
newpath
|
newpath
|
||||||
1.00 1.00 1.00 setrgbcolor
|
1 1 1 setrgbcolor
|
||||||
112.28 0.00 TB 0.00 238.00 TR
|
113.2 238 0 0 TR
|
||||||
TE
|
0 0 0 setrgbcolor
|
||||||
0.00 0.00 0.00 setrgbcolor
|
110 2 18 3.2 TR
|
||||||
110.00 2.28 TB 18.00 2.00 TR
|
110 2 22 3.2 TR
|
||||||
TE
|
100 4 26 13.2 TR
|
||||||
110.00 2.28 TB 22.00 2.00 TR
|
100 4 34 13.2 TR
|
||||||
TE
|
100 2 42 13.2 TR
|
||||||
100.00 12.28 TB 26.00 4.00 TR
|
100 4 48 13.2 TR
|
||||||
TE
|
100 8 54 13.2 TR
|
||||||
100.00 12.28 TB 34.00 4.00 TR
|
100 2 64 13.2 TR
|
||||||
TE
|
100 6 70 13.2 TR
|
||||||
100.00 12.28 TB 42.00 2.00 TR
|
100 2 78 13.2 TR
|
||||||
TE
|
100 6 82 13.2 TR
|
||||||
100.00 12.28 TB 48.00 4.00 TR
|
100 2 92 13.2 TR
|
||||||
TE
|
100 2 96 13.2 TR
|
||||||
100.00 12.28 TB 54.00 8.00 TR
|
100 8 100 13.2 TR
|
||||||
TE
|
110 2 110 3.2 TR
|
||||||
100.00 12.28 TB 64.00 2.00 TR
|
110 2 114 3.2 TR
|
||||||
TE
|
110 2 118 3.2 TR
|
||||||
100.00 12.28 TB 70.00 6.00 TR
|
86.8 2 134 13.2 TR
|
||||||
TE
|
86.8 4 138 13.2 TR
|
||||||
100.00 12.28 TB 78.00 2.00 TR
|
86.8 4 144 13.2 TR
|
||||||
TE
|
86.8 4 152 13.2 TR
|
||||||
100.00 12.28 TB 82.00 6.00 TR
|
86.8 2 158 13.2 TR
|
||||||
TE
|
86.8 2 164 13.2 TR
|
||||||
100.00 12.28 TB 92.00 2.00 TR
|
86.8 4 170 13.2 TR
|
||||||
TE
|
86.8 2 176 13.2 TR
|
||||||
100.00 12.28 TB 96.00 2.00 TR
|
86.8 2 180 13.2 TR
|
||||||
TE
|
86.8 2 190 13.2 TR
|
||||||
100.00 12.28 TB 100.00 8.00 TR
|
86.8 2 194 13.2 TR
|
||||||
TE
|
86.8 2 198 13.2 TR
|
||||||
110.00 2.28 TB 110.00 2.00 TR
|
86.8 4 206 13.2 TR
|
||||||
TE
|
86.8 2 212 13.2 TR
|
||||||
110.00 2.28 TB 114.00 2.00 TR
|
86.8 4 216 13.2 TR
|
||||||
TE
|
86.8 2 226 13.2 TR
|
||||||
110.00 2.28 TB 118.00 2.00 TR
|
/Helvetica findfont 12.84 scalefont setfont
|
||||||
TE
|
8.7 0.56 moveto
|
||||||
87.72 12.28 TB 134.00 2.00 TR
|
(0) stringwidth pop neg 0 rmoveto
|
||||||
TE
|
|
||||||
87.72 12.28 TB 138.00 4.00 TR
|
|
||||||
TE
|
|
||||||
87.72 12.28 TB 144.00 4.00 TR
|
|
||||||
TE
|
|
||||||
87.72 12.28 TB 152.00 4.00 TR
|
|
||||||
TE
|
|
||||||
87.72 12.28 TB 158.00 2.00 TR
|
|
||||||
TE
|
|
||||||
87.72 12.28 TB 164.00 2.00 TR
|
|
||||||
TE
|
|
||||||
87.72 12.28 TB 170.00 4.00 TR
|
|
||||||
TE
|
|
||||||
87.72 12.28 TB 176.00 2.00 TR
|
|
||||||
TE
|
|
||||||
87.72 12.28 TB 180.00 2.00 TR
|
|
||||||
TE
|
|
||||||
87.72 12.28 TB 190.00 2.00 TR
|
|
||||||
TE
|
|
||||||
87.72 12.28 TB 194.00 2.00 TR
|
|
||||||
TE
|
|
||||||
87.72 12.28 TB 198.00 2.00 TR
|
|
||||||
TE
|
|
||||||
87.72 12.28 TB 206.00 4.00 TR
|
|
||||||
TE
|
|
||||||
87.72 12.28 TB 212.00 2.00 TR
|
|
||||||
TE
|
|
||||||
87.72 12.28 TB 216.00 4.00 TR
|
|
||||||
TE
|
|
||||||
87.72 12.28 TB 226.00 2.00 TR
|
|
||||||
TE
|
|
||||||
matrix currentmatrix
|
|
||||||
/Helvetica findfont
|
|
||||||
12.00 scalefont setfont
|
|
||||||
0 0 moveto 8.70 0.56 translate 0.00 rotate 0 0 moveto
|
|
||||||
(0) stringwidth
|
|
||||||
pop
|
|
||||||
neg 0 rmoveto
|
|
||||||
(0) show
|
(0) show
|
||||||
setmatrix
|
/Helvetica findfont 14.98 scalefont setfont
|
||||||
matrix currentmatrix
|
67 0.56 moveto
|
||||||
/Helvetica findfont
|
(123456) stringwidth pop -2 div 0 rmoveto
|
||||||
14.00 scalefont setfont
|
|
||||||
0 0 moveto 67.00 0.56 translate 0.00 rotate 0 0 moveto
|
|
||||||
(123456) stringwidth
|
|
||||||
pop
|
|
||||||
-2 div 0 rmoveto
|
|
||||||
(123456) show
|
(123456) show
|
||||||
setmatrix
|
/Helvetica findfont 12.84 scalefont setfont
|
||||||
matrix currentmatrix
|
125.3 0.56 moveto
|
||||||
/Helvetica findfont
|
|
||||||
12.00 scalefont setfont
|
|
||||||
0 0 moveto 125.30 0.56 translate 0.00 rotate 0 0 moveto
|
|
||||||
(5) show
|
(5) show
|
||||||
setmatrix
|
/Helvetica findfont 14.98 scalefont setfont
|
||||||
matrix currentmatrix
|
182 102.28 moveto
|
||||||
/Helvetica findfont
|
(12345) stringwidth pop -2 div 0 rmoveto
|
||||||
14.00 scalefont setfont
|
|
||||||
0 0 moveto 182.00 101.78 translate 0.00 rotate 0 0 moveto
|
|
||||||
(12345) stringwidth
|
|
||||||
pop
|
|
||||||
-2 div 0 rmoveto
|
|
||||||
(12345) show
|
(12345) show
|
||||||
setmatrix
|
|
||||||
|
61
backend/tests/data/eps/upce_5addon_small_bold_gws.eps
Normal file
61
backend/tests/data/eps/upce_5addon_small_bold_gws.eps
Normal file
@ -0,0 +1,61 @@
|
|||||||
|
%!PS-Adobe-3.0 EPSF-3.0
|
||||||
|
%%Creator: Zint 2.12.0.9
|
||||||
|
%%Title: Zint Generated Symbol
|
||||||
|
%%Pages: 0
|
||||||
|
%%BoundingBox: 0 0 238 114
|
||||||
|
%%EndComments
|
||||||
|
/TR { newpath moveto dup 3 1 roll 0 rlineto 0 exch rlineto neg 0 rlineto closepath fill } bind def
|
||||||
|
newpath
|
||||||
|
1 1 1 setrgbcolor
|
||||||
|
113.2 238 0 0 TR
|
||||||
|
0 0 0 setrgbcolor
|
||||||
|
110 2 18 3.2 TR
|
||||||
|
110 2 22 3.2 TR
|
||||||
|
100 4 26 13.2 TR
|
||||||
|
100 4 34 13.2 TR
|
||||||
|
100 2 42 13.2 TR
|
||||||
|
100 4 48 13.2 TR
|
||||||
|
100 8 54 13.2 TR
|
||||||
|
100 2 64 13.2 TR
|
||||||
|
100 6 70 13.2 TR
|
||||||
|
100 2 78 13.2 TR
|
||||||
|
100 6 82 13.2 TR
|
||||||
|
100 2 92 13.2 TR
|
||||||
|
100 2 96 13.2 TR
|
||||||
|
100 8 100 13.2 TR
|
||||||
|
110 2 110 3.2 TR
|
||||||
|
110 2 114 3.2 TR
|
||||||
|
110 2 118 3.2 TR
|
||||||
|
86.8 2 134 13.2 TR
|
||||||
|
86.8 4 138 13.2 TR
|
||||||
|
86.8 4 144 13.2 TR
|
||||||
|
86.8 4 152 13.2 TR
|
||||||
|
86.8 2 158 13.2 TR
|
||||||
|
86.8 2 164 13.2 TR
|
||||||
|
86.8 4 170 13.2 TR
|
||||||
|
86.8 2 176 13.2 TR
|
||||||
|
86.8 2 180 13.2 TR
|
||||||
|
86.8 2 190 13.2 TR
|
||||||
|
86.8 2 194 13.2 TR
|
||||||
|
86.8 2 198 13.2 TR
|
||||||
|
86.8 4 206 13.2 TR
|
||||||
|
86.8 2 212 13.2 TR
|
||||||
|
86.8 4 216 13.2 TR
|
||||||
|
86.8 2 226 13.2 TR
|
||||||
|
/Helvetica findfont 12.84 scalefont setfont
|
||||||
|
8.7 0.56 moveto
|
||||||
|
(0) stringwidth pop neg 0 rmoveto
|
||||||
|
(0) show
|
||||||
|
/Helvetica findfont 14.98 scalefont setfont
|
||||||
|
67 0.56 moveto
|
||||||
|
(123456) stringwidth pop -2 div 0 rmoveto
|
||||||
|
(123456) show
|
||||||
|
/Helvetica findfont 12.84 scalefont setfont
|
||||||
|
125.3 0.56 moveto
|
||||||
|
(5) show
|
||||||
|
/Helvetica findfont 14.98 scalefont setfont
|
||||||
|
182 102.28 moveto
|
||||||
|
(12345) stringwidth pop -2 div 0 rmoveto
|
||||||
|
(12345) show
|
||||||
|
225.6 102.28 moveto
|
||||||
|
(>) show
|
BIN
backend/tests/data/png/ean13_2addon_ggs_5.2.2.5.1-2_gws.png
Normal file
BIN
backend/tests/data/png/ean13_2addon_ggs_5.2.2.5.1-2_gws.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 448 B |
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user