1 #ifndef __OTL_PARSER_H__
2 #define __OTL_PARSER_H__
11 typedef struct OTL_ParserRec_* OTL_Parser;
13 typedef struct OTL_StringRec_* OTL_String;
15 typedef struct OTL_StringGlyphRec_
19 OTL_UInt lig_component;
22 } OTL_StringGlyphRec, *OTL_StringGlyph;
24 typedef struct OTL_StringRec_
26 OTL_StringGlyph glyphs;
33 typedef struct OTL_ParserRec_
41 OTL_Alternate alternate; /* external alternate handler */
44 OTL_UInt markup_flags;
46 OTL_jmp_buf jump_buffer;
50 OTL_StringRec strings[2];
58 OTL_Err_Parser_Ok = 0,
59 OTL_Err_Parser_InvalidData,
60 OTL_Err_Parser_UncoveredGlyph
65 otl_parser_get_gindex( OTL_Parser parser );
69 otl_parser_error( OTL_Parser parser, OTL_ParserError error );
71 #define OTL_PARSER_UNCOVERED(x) \
72 otl_parser_error( x, OTL_Err_Parser_UncoveredGlyph )
75 otl_parser_check_property( OTL_Parser parser,
78 OTL_UInt *aproperty );
80 /* copy current input glyph to output */
82 otl_parser_copy_1( OTL_Parser parser );
84 /* copy current input glyph to output, replacing its index */
86 otl_parser_replace_1( OTL_Parser parser,
89 /* copy current input glyph to output, replacing it by several indices */
90 /* read directly from the table */
92 otl_parser_replace_n( OTL_Parser parser,
98 #endif /* __OTL_PARSER_H__ */