Home | Info | Community | Development | myReactOS | Contact Us
ReactOS Development > Doxygencidparse.h
Go to the documentation of this file.
00001 /***************************************************************************/ 00002 /* */ 00003 /* cidparse.h */ 00004 /* */ 00005 /* CID-keyed Type1 parser (specification). */ 00006 /* */ 00007 /* Copyright 1996-2001, 2002, 2003, 2004 by */ 00008 /* David Turner, Robert Wilhelm, and Werner Lemberg. */ 00009 /* */ 00010 /* This file is part of the FreeType project, and may only be used, */ 00011 /* modified, and distributed under the terms of the FreeType project */ 00012 /* license, LICENSE.TXT. By continuing to use, modify, or distribute */ 00013 /* this file you indicate that you have read the license and */ 00014 /* understand and accept it fully. */ 00015 /* */ 00016 /***************************************************************************/ 00017 00018 00019 #ifndef __CIDPARSE_H__ 00020 #define __CIDPARSE_H__ 00021 00022 00023 #include <ft2build.h> 00024 #include FT_INTERNAL_TYPE1_TYPES_H 00025 #include FT_INTERNAL_STREAM_H 00026 #include FT_INTERNAL_POSTSCRIPT_AUX_H 00027 00028 00029 FT_BEGIN_HEADER 00030 00031 00032 /*************************************************************************/ 00033 /* */ 00034 /* <Struct> */ 00035 /* CID_Parser */ 00036 /* */ 00037 /* <Description> */ 00038 /* A CID_Parser is an object used to parse a Type 1 fonts very */ 00039 /* quickly. */ 00040 /* */ 00041 /* <Fields> */ 00042 /* root :: The root PS_ParserRec fields. */ 00043 /* */ 00044 /* stream :: The current input stream. */ 00045 /* */ 00046 /* postscript :: A pointer to the data to be parsed. */ 00047 /* */ 00048 /* postscript_len :: The length of the data to be parsed. */ 00049 /* */ 00050 /* data_offset :: The start position of the binary data (i.e., the */ 00051 /* end of the data to be parsed. */ 00052 /* */ 00053 /* binary_length :: The length of the data after the `StartData' */ 00054 /* command if the data format is hexadecimal. */ 00055 /* */ 00056 /* cid :: A structure which holds the information about */ 00057 /* the current font. */ 00058 /* */ 00059 /* num_dict :: The number of font dictionaries. */ 00060 /* */ 00061 typedef struct CID_Parser_ 00062 { 00063 PS_ParserRec root; 00064 FT_Stream stream; 00065 00066 FT_Byte* postscript; 00067 FT_Long postscript_len; 00068 00069 FT_ULong data_offset; 00070 00071 FT_Long binary_length; 00072 00073 CID_FaceInfo cid; 00074 FT_Int num_dict; 00075 00076 } CID_Parser; 00077 00078 00079 FT_LOCAL( FT_Error ) 00080 cid_parser_new( CID_Parser* parser, 00081 FT_Stream stream, 00082 FT_Memory memory, 00083 PSAux_Service psaux ); 00084 00085 FT_LOCAL( void ) 00086 cid_parser_done( CID_Parser* parser ); 00087 00088 00089 /*************************************************************************/ 00090 /* */ 00091 /* PARSING ROUTINES */ 00092 /* */ 00093 /*************************************************************************/ 00094 00095 #define cid_parser_skip_spaces( p ) \ 00096 (p)->root.funcs.skip_spaces( &(p)->root ) 00097 #define cid_parser_skip_PS_token( p ) \ 00098 (p)->root.funcs.skip_PS_token( &(p)->root ) 00099 00100 #define cid_parser_to_int( p ) (p)->root.funcs.to_int( &(p)->root ) 00101 #define cid_parser_to_fixed( p, t ) (p)->root.funcs.to_fixed( &(p)->root, t ) 00102 00103 #define cid_parser_to_coord_array( p, m, c ) \ 00104 (p)->root.funcs.to_coord_array( &(p)->root, m, c ) 00105 #define cid_parser_to_fixed_array( p, m, f, t ) \ 00106 (p)->root.funcs.to_fixed_array( &(p)->root, m, f, t ) 00107 #define cid_parser_to_token( p, t ) \ 00108 (p)->root.funcs.to_token( &(p)->root, t ) 00109 #define cid_parser_to_token_array( p, t, m, c ) \ 00110 (p)->root.funcs.to_token_array( &(p)->root, t, m, c ) 00111 00112 #define cid_parser_load_field( p, f, o ) \ 00113 (p)->root.funcs.load_field( &(p)->root, f, o, 0, 0 ) 00114 #define cid_parser_load_field_table( p, f, o ) \ 00115 (p)->root.funcs.load_field_table( &(p)->root, f, o, 0, 0 ) 00116 00117 00118 FT_END_HEADER 00119 00120 #endif /* __CIDPARSE_H__ */ 00121 00122 00123 /* END */ Generated on Sun May 27 2012 04:33:50 for ReactOS by
1.7.6.1
|