comparison mupdf-source/thirdparty/jbig2dec/jbig2_symbol_dict.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 /* Copyright (C) 2001-2023 Artifex Software, Inc.
2 All Rights Reserved.
3
4 This software is provided AS-IS with no warranty, either express or
5 implied.
6
7 This software is distributed under license and may not be copied,
8 modified or distributed except as expressly authorized under the terms
9 of the license contained in the file LICENSE in this distribution.
10
11 Refer to licensing information at http://www.artifex.com or contact
12 Artifex Software, Inc., 39 Mesa Street, Suite 108A, San Francisco,
13 CA 94129, USA, for further information.
14 */
15
16 /*
17 jbig2dec
18 */
19
20 #ifndef _JBIG2_SYMBOL_DICT_H
21 #define _JBIG2_SYMBOL_DICT_H
22
23 /* symbol dictionary header */
24
25 /* the results of decoding a symbol dictionary */
26 typedef struct {
27 uint32_t n_symbols;
28 Jbig2Image **glyphs;
29 } Jbig2SymbolDict;
30
31 /* decode a symbol dictionary segment and store the results */
32 int jbig2_symbol_dictionary(Jbig2Ctx *ctx, Jbig2Segment *segment, const byte *segment_data);
33
34 /* get a particular glyph by index */
35 Jbig2Image *jbig2_sd_glyph(Jbig2SymbolDict *dict, unsigned int id);
36
37 /* return a new empty symbol dict */
38 Jbig2SymbolDict *jbig2_sd_new(Jbig2Ctx *ctx, uint32_t n_symbols);
39
40 /* release the memory associated with a symbol dict */
41 void jbig2_sd_release(Jbig2Ctx *ctx, Jbig2SymbolDict *dict);
42
43 /* generate a new symbol dictionary by concatenating a list of
44 existing dictionaries */
45 Jbig2SymbolDict *jbig2_sd_cat(Jbig2Ctx *ctx, uint32_t n_dicts, Jbig2SymbolDict **dicts);
46
47 /* count the number of dictionary segments referred
48 to by the given segment */
49 uint32_t jbig2_sd_count_referred(Jbig2Ctx *ctx, Jbig2Segment *segment);
50
51 /* return an array of pointers to symbol dictionaries referred
52 to by a segment */
53 Jbig2SymbolDict **jbig2_sd_list_referred(Jbig2Ctx *ctx, Jbig2Segment *segment);
54
55 #endif /* _JBIG2_SYMBOL_DICT_H */