xref: /plan9/sys/src/cmd/gs/src/ifont42.h (revision 593dc095aefb2a85c828727bbfa9da139a49bdf4)
1 /* Copyright (C) 2000, 2001 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: ifont42.h,v 1.9 2004/08/04 19:36:12 stefan Exp $ */
18 /* Procedure for building a Type 42 or CIDFontType 2 font */
19 
20 #ifndef ifont42_INCLUDED
21 #  define ifont42_INCLUDED
22 
23 /* Build a type 11 (TrueType CID-keyed) or 42 (TrueType) font. */
24 int build_gs_TrueType_font(i_ctx_t *, os_ptr, gs_font_type42 **, font_type,
25 			   gs_memory_type_ptr_t, const char *, const char *,
26 			   build_font_options_t);
27 
28 /*
29  * Check a parameter for being an array of strings.  Return the parameter
30  * value even if it is of the wrong type.
31  */
32 int font_string_array_param(const gs_memory_t *mem, os_ptr, const char *, ref *);
33 
34 /*
35  * Get a GlyphDirectory if present.  Return 0 if present, 1 if absent,
36  * or an error code.
37  */
38 int font_GlyphDirectory_param(os_ptr, ref *);
39 
40 /*
41  * Get a glyph outline from GlyphDirectory.  Return an empty string if
42  * the glyph is missing or out of range.
43  */
44 int font_gdir_get_outline(const gs_memory_t *mem, const ref *, long, gs_glyph_data_t *);
45 
46 /*
47  * Access a given byte offset and length in an array of strings.
48  * This is used for sfnts and for CIDMap.  The int argument is 2 for sfnts
49  * (because of the strange behavior of odd-length strings), 1 for CIDMap.
50  * Return code : 0 - success, <0 - error,
51  *               >0 - number of accessible bytes (client must cycle).
52  */
53 int string_array_access_proc(const gs_memory_t *mem, const ref *, int, ulong, uint, const byte **);
54 
55 #endif /* ifont42_INCLUDED */
56