1 /* Copyright (C) 2001-2006 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, modified
8    or distributed except as expressly authorized under the terms of that
9    license.  Refer to licensing information at http://www.artifex.com/
10    or contact Artifex Software, Inc.,  7 Mt. Lassen Drive - Suite A-134,
11    San Rafael, CA  94903, U.S.A., +1(415)492-9861, for further information.
12 */
13 
14 /* $Id: icid.h 9834 2009-07-03 09:27:02Z ken $ */
15 /* Interface to zcid.c, zfcid0.c */
16 
17 #ifndef icid_INCLUDED
18 #  define icid_INCLUDED
19 
20 #ifndef gs_cid_system_info_DEFINED
21 #  define gs_cid_system_info_DEFINED
22 typedef struct gs_cid_system_info_s gs_cid_system_info_t;
23 #endif
24 
25 /* Get the information from a CIDSystemInfo dictionary. */
26 int cid_system_info_param(gs_cid_system_info_t *, const ref *);
27 
28 /* Convert a CID into TT char code or to TT glyph index, using SubstNWP. */
29 /* Returns 1 if a glyph presents, 0 if not, <0 if error. */
30 int cid_to_TT_charcode(const gs_memory_t *mem,
31 		       const ref *Decoding, const ref *TT_cmap,
32 		       const ref *SubstNWP,
33                        uint nCID, uint *c, ref *src_type, ref *dst_type);
34 
35 /* Create a CIDMap from a True Type cmap, Decoding and SubstNWP. */
36 int cid_fill_CIDMap(const gs_memory_t *mem, const ref *Decoding, const ref *TT_cmap, const ref *SubstNWP,
37                     int GDBytes, ref *CIDMap);
38 /* Create an identity CIDMap. */
39 int cid_fill_Identity_CIDMap(const gs_memory_t *mem, ref *CIDMap);
40 
41 /* <cid9font> <cid> .type9mapcid <charstring> <font_index> */
42 int ztype9mapcid(i_ctx_t *i_ctx_p);
43 
44 #endif /* icid_INCLUDED */
45