1 /* Copyright (C) 2001-2012 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.,  7 Mt. Lassen Drive - Suite A-134, San Rafael,
13    CA  94903, U.S.A., +1(415)492-9861, for further information.
14 */
15 
16 
17 /* Common data definitions for CMaps and CID-keyed fonts */
18 
19 #ifndef gxcid_INCLUDED
20 #  define gxcid_INCLUDED
21 
22 #include "gsstype.h"
23 
24 /* Define the structure for CIDSystemInfo. */
25 #ifndef gs_cid_system_info_DEFINED
26 #  define gs_cid_system_info_DEFINED
27 typedef struct gs_cid_system_info_s gs_cid_system_info_t;
28 #endif
29 struct gs_cid_system_info_s {
30     gs_const_string Registry;
31     gs_const_string Ordering;
32     int Supplement;
33 };
34 extern_st(st_cid_system_info);
35 extern_st(st_cid_system_info_element);
36 #define public_st_cid_system_info() /* in gsfcid.c */\
37   gs_public_st_const_strings2(st_cid_system_info, gs_cid_system_info_t,\
38     "gs_cid_system_info_t", cid_si_enum_ptrs, cid_si_reloc_ptrs,\
39     Registry, Ordering)
40 #define st_cid_system_info_num_ptrs 2
41 #define public_st_cid_system_info_element() /* in gsfcid.c */\
42   gs_public_st_element(st_cid_system_info_element, gs_cid_system_info_t,\
43     "gs_cid_system_info_t[]", cid_si_elt_enum_ptrs, cid_si_elt_reloc_ptrs,\
44     st_cid_system_info)
45 
46 /*
47  * The CIDSystemInfo of a CMap may be null.  We represent this by setting
48  * Registry and Ordering to empty strings, and Supplement to 0.
49  */
50 void cid_system_info_set_null(gs_cid_system_info_t *);
51 bool cid_system_info_is_null(const gs_cid_system_info_t *);
52 
53 #endif /* gxcid_INCLUDED */
54