17dd7cddfSDavid du Colombier /* Copyright (C) 1998, 1999 Aladdin Enterprises. All rights reserved. 27dd7cddfSDavid du Colombier 3*593dc095SDavid du Colombier This software is provided AS-IS with no warranty, either express or 4*593dc095SDavid du Colombier implied. 57dd7cddfSDavid du Colombier 6*593dc095SDavid du Colombier This software is distributed under license and may not be copied, 7*593dc095SDavid du Colombier modified or distributed except as expressly authorized under the terms 8*593dc095SDavid du Colombier of the license contained in the file LICENSE in this distribution. 97dd7cddfSDavid du Colombier 10*593dc095SDavid du Colombier For more information about licensing, please refer to 11*593dc095SDavid du Colombier http://www.ghostscript.com/licensing/. For information on 12*593dc095SDavid du Colombier commercial licensing, go to http://www.artifex.com/licensing/ or 13*593dc095SDavid du Colombier contact Artifex Software, Inc., 101 Lucas Valley Road #110, 14*593dc095SDavid du Colombier San Rafael, CA 94903, U.S.A., +1(415)492-9861. 157dd7cddfSDavid du Colombier */ 167dd7cddfSDavid du Colombier 17*593dc095SDavid du Colombier /* $Id: ifont1.h,v 1.7 2004/08/04 19:36:12 stefan Exp $ */ 187dd7cddfSDavid du Colombier /* Type 1 font utilities shared with Type 2 */ 197dd7cddfSDavid du Colombier 207dd7cddfSDavid du Colombier #ifndef ifont1_INCLUDED 217dd7cddfSDavid du Colombier # define ifont1_INCLUDED 227dd7cddfSDavid du Colombier 237dd7cddfSDavid du Colombier /* 247dd7cddfSDavid du Colombier * Define the temporary structure for holding pointers to substructures of a 257dd7cddfSDavid du Colombier * CharString-based font. This is used for parsing Type 1, 2, and 4 fonts. 267dd7cddfSDavid du Colombier */ 277dd7cddfSDavid du Colombier typedef struct charstring_font_refs_s { 287dd7cddfSDavid du Colombier ref *Private; 297dd7cddfSDavid du Colombier ref no_subrs; 307dd7cddfSDavid du Colombier ref *OtherSubrs; 317dd7cddfSDavid du Colombier ref *Subrs; 327dd7cddfSDavid du Colombier ref *GlobalSubrs; 337dd7cddfSDavid du Colombier } charstring_font_refs_t; 347dd7cddfSDavid du Colombier 353ff48bf5SDavid du Colombier /* Define the default lenIV value for a Type 1 font. */ 363ff48bf5SDavid du Colombier #define DEFAULT_LENIV_1 4 373ff48bf5SDavid du Colombier 387dd7cddfSDavid du Colombier /* 397dd7cddfSDavid du Colombier * Parse the substructures of a CharString-based font. 407dd7cddfSDavid du Colombier */ 41*593dc095SDavid du Colombier int charstring_font_get_refs(const_os_ptr op, charstring_font_refs_t *pfr); 427dd7cddfSDavid du Colombier 437dd7cddfSDavid du Colombier /* 443ff48bf5SDavid du Colombier * Get the parameters of a CharString-based font or a FDArray entry for a 453ff48bf5SDavid du Colombier * CIDFontType 0 font. The client has filled in pdata1->interpret, 463ff48bf5SDavid du Colombier * subroutineNumberBias, lenIV, and (if applicable) the Type 2 elements. 473ff48bf5SDavid du Colombier */ 48*593dc095SDavid du Colombier int charstring_font_params(const gs_memory_t *mem, 49*593dc095SDavid du Colombier const_os_ptr op, charstring_font_refs_t *pfr, 50*593dc095SDavid du Colombier gs_type1_data *pdata1); 513ff48bf5SDavid du Colombier 523ff48bf5SDavid du Colombier /* 533ff48bf5SDavid du Colombier * Fill in a newly built CharString-based font or FDArray entry. 543ff48bf5SDavid du Colombier */ 55*593dc095SDavid du Colombier int charstring_font_init(gs_font_type1 *pfont, 563ff48bf5SDavid du Colombier const charstring_font_refs_t *pfr, 57*593dc095SDavid du Colombier const gs_type1_data *pdata1); 583ff48bf5SDavid du Colombier 593ff48bf5SDavid du Colombier /* 603ff48bf5SDavid du Colombier * Finish building a CharString-based font. The client has filled in the 613ff48bf5SDavid du Colombier * same elements as for charstring_font_params. 627dd7cddfSDavid du Colombier */ 63*593dc095SDavid du Colombier int build_charstring_font(i_ctx_t *i_ctx_p, os_ptr op, 647dd7cddfSDavid du Colombier build_proc_refs * pbuild, font_type ftype, 657dd7cddfSDavid du Colombier charstring_font_refs_t *pfr, 667dd7cddfSDavid du Colombier gs_type1_data *pdata1, 67*593dc095SDavid du Colombier build_font_options_t options); 687dd7cddfSDavid du Colombier 697dd7cddfSDavid du Colombier #endif /* ifont1_INCLUDED */ 70