xref: /plan9/sys/src/cmd/gs/src/gxcid.h (revision 593dc095aefb2a85c828727bbfa9da139a49bdf4)
1 /* Copyright (C) 2000 Aladdin Enterprises.  All rights reserved.
2 
3   This software is provided AS-IS with no warranty, either express or
4   implied.
5 
6   This software is distributed under license and may not be copied,
7   modified or distributed except as expressly authorized under the terms
8   of the license contained in the file LICENSE in this distribution.
9 
10   For more information about licensing, please refer to
11   http://www.ghostscript.com/licensing/. For information on
12   commercial licensing, go to http://www.artifex.com/licensing/ or
13   contact Artifex Software, Inc., 101 Lucas Valley Road #110,
14   San Rafael, CA  94903, U.S.A., +1(415)492-9861.
15 */
16 
17 /* $Id: gxcid.h,v 1.7 2002/06/16 08:45:43 lpd Exp $ */
18 /* Common data definitions for CMaps and CID-keyed fonts */
19 
20 #ifndef gxcid_INCLUDED
21 #  define gxcid_INCLUDED
22 
23 #include "gsstype.h"
24 
25 /* Define the structure for CIDSystemInfo. */
26 #ifndef gs_cid_system_info_DEFINED
27 #  define gs_cid_system_info_DEFINED
28 typedef struct gs_cid_system_info_s gs_cid_system_info_t;
29 #endif
30 struct gs_cid_system_info_s {
31     gs_const_string Registry;
32     gs_const_string Ordering;
33     int Supplement;
34 };
35 extern_st(st_cid_system_info);
36 extern_st(st_cid_system_info_element);
37 #define public_st_cid_system_info() /* in gsfcid.c */\
38   gs_public_st_const_strings2(st_cid_system_info, gs_cid_system_info_t,\
39     "gs_cid_system_info_t", cid_si_enum_ptrs, cid_si_reloc_ptrs,\
40     Registry, Ordering)
41 #define st_cid_system_info_num_ptrs 2
42 #define public_st_cid_system_info_element() /* in gsfcid.c */\
43   gs_public_st_element(st_cid_system_info_element, gs_cid_system_info_t,\
44     "gs_cid_system_info_t[]", cid_si_elt_enum_ptrs, cid_si_elt_reloc_ptrs,\
45     st_cid_system_info)
46 
47 /*
48  * The CIDSystemInfo of a CMap may be null.  We represent this by setting
49  * Registry and Ordering to empty strings, and Supplement to 0.
50  */
51 void cid_system_info_set_null(gs_cid_system_info_t *);
52 bool cid_system_info_is_null(const gs_cid_system_info_t *);
53 
54 #endif /* gxcid_INCLUDED */
55