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