Mercurial > hgrepos > Python2 > PyMuPDF
comparison mupdf-source/thirdparty/zint/backend/eci.h @ 2:b50eed0cc0ef upstream
ADD: MuPDF v1.26.7: the MuPDF source as downloaded by a default build of PyMuPDF 1.26.4.
The directory name has changed: no version number in the expanded directory now.
| author | Franz Glasner <fzglas.hg@dom66.de> |
|---|---|
| date | Mon, 15 Sep 2025 11:43:07 +0200 |
| parents | |
| children |
comparison
equal
deleted
inserted
replaced
| 1:1d09e1dec1d9 | 2:b50eed0cc0ef |
|---|---|
| 1 /* eci.c - Extended Channel Interpretations to Unicode tables */ | |
| 2 /* | |
| 3 libzint - the open source barcode library | |
| 4 Copyright (C) 2009-2024 Robin Stuart <rstuart114@gmail.com> | |
| 5 | |
| 6 Redistribution and use in source and binary forms, with or without | |
| 7 modification, are permitted provided that the following conditions | |
| 8 are met: | |
| 9 | |
| 10 1. Redistributions of source code must retain the above copyright | |
| 11 notice, this list of conditions and the following disclaimer. | |
| 12 2. Redistributions in binary form must reproduce the above copyright | |
| 13 notice, this list of conditions and the following disclaimer in the | |
| 14 documentation and/or other materials provided with the distribution. | |
| 15 3. Neither the name of the project nor the names of its contributors | |
| 16 may be used to endorse or promote products derived from this software | |
| 17 without specific prior written permission. | |
| 18 | |
| 19 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND | |
| 20 ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE | |
| 21 IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE | |
| 22 ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE | |
| 23 FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL | |
| 24 DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS | |
| 25 OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) | |
| 26 HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT | |
| 27 LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY | |
| 28 OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF | |
| 29 SUCH DAMAGE. | |
| 30 */ | |
| 31 /* SPDX-License-Identifier: BSD-3-Clause */ | |
| 32 | |
| 33 #ifndef Z_ECI_H | |
| 34 #define Z_ECI_H | |
| 35 | |
| 36 #ifdef __cplusplus | |
| 37 extern "C" { | |
| 38 #endif /* __cplusplus */ | |
| 39 | |
| 40 INTERNAL int is_eci_convertible(const int eci); | |
| 41 INTERNAL int is_eci_convertible_segs(const struct zint_seg segs[], const int seg_count, int convertible[]); | |
| 42 | |
| 43 INTERNAL int get_eci_length(const int eci, const unsigned char source[], int length); | |
| 44 INTERNAL int get_eci_length_segs(const struct zint_seg segs[], const int seg_count); | |
| 45 | |
| 46 INTERNAL int utf8_to_eci(const int eci, const unsigned char source[], unsigned char dest[], int *p_length); | |
| 47 | |
| 48 INTERNAL int get_best_eci(const unsigned char source[], int length); | |
| 49 INTERNAL int get_best_eci_segs(struct zint_symbol *symbol, struct zint_seg segs[], const int seg_count); | |
| 50 | |
| 51 /* QRCODE Shift JIS helpers */ | |
| 52 INTERNAL int sjis_utf8(struct zint_symbol *symbol, const unsigned char source[], int *p_length, | |
| 53 unsigned int *ddata); | |
| 54 INTERNAL void sjis_cpy(const unsigned char source[], int *p_length, unsigned int *ddata, const int full_multibyte); | |
| 55 INTERNAL void sjis_cpy_segs(struct zint_seg segs[], const int seg_count, unsigned int *ddata, | |
| 56 const int full_multibyte); | |
| 57 INTERNAL int sjis_utf8_to_eci(const int eci, const unsigned char source[], int *p_length, unsigned int *ddata, | |
| 58 const int full_multibyte); | |
| 59 | |
| 60 /* GRIDMATRIX GB 2312 helpers */ | |
| 61 INTERNAL int gb2312_utf8(struct zint_symbol *symbol, const unsigned char source[], int *p_length, | |
| 62 unsigned int *ddata); | |
| 63 INTERNAL void gb2312_cpy_segs(struct zint_seg segs[], const int seg_count, unsigned int *ddata, | |
| 64 const int full_multibyte); | |
| 65 INTERNAL int gb2312_utf8_to_eci(const int eci, const unsigned char source[], int *p_length, unsigned int *ddata, | |
| 66 const int full_multibyte); | |
| 67 | |
| 68 /* HANXIN GB 18030 helpers */ | |
| 69 INTERNAL int gb18030_utf8(struct zint_symbol *symbol, const unsigned char source[], int *p_length, | |
| 70 unsigned int *ddata); | |
| 71 INTERNAL void gb18030_cpy_segs(struct zint_seg segs[], const int seg_count, unsigned int *ddata, | |
| 72 const int full_multibyte); | |
| 73 INTERNAL int gb18030_utf8_to_eci(const int eci, const unsigned char source[], int *p_length, unsigned int *ddata, | |
| 74 const int full_multibyte); | |
| 75 | |
| 76 #ifdef __cplusplus | |
| 77 } | |
| 78 #endif /* __cplusplus */ | |
| 79 | |
| 80 /* vim: set ts=4 sw=4 et : */ | |
| 81 #endif /* Z_ECI_H */ |
