otlparse.h
来自「下载来的一个看图软件的源代码」· C头文件 代码 · 共 100 行
H
100 行
#ifndef __OTL_PARSER_H__#define __OTL_PARSER_H__#include "otlayout.h"#include "otlgdef.h"#include "otlgsub.h"#include "otlgpos.h"OTL_BEGIN_HEADER typedef struct OTL_ParserRec_* OTL_Parser; typedef struct OTL_StringRec_* OTL_String; typedef struct OTL_StringGlyphRec_ { OTL_UInt gindex; OTL_UInt properties; OTL_UInt lig_component; OTL_UInt lig_id; } OTL_StringGlyphRec, *OTL_StringGlyph; typedef struct OTL_StringRec_ { OTL_StringGlyph glyphs; OTL_UInt cursor; OTL_UInt length; OTL_UInt capacity; } OTL_StringRec; typedef struct OTL_ParserRec_ { OTL_Bytes tab_gdef; OTL_Bytes tab_gsub; OTL_Bytes tab_gpos; OTL_Bytes tab_base; OTL_Bytes tab_jstf; OTL_Alternate alternate; /* external alternate handler */ OTL_UInt context_len; OTL_UInt markup_flags; OTL_jmp_buf jump_buffer; OTL_Memory memory; OTL_Error error; OTL_StringRec strings[2]; OTL_String str_in; OTL_String str_out; } OTL_ParserRec; typedef enum { OTL_Err_Parser_Ok = 0, OTL_Err_Parser_InvalidData, OTL_Err_Parser_UncoveredGlyph } OTL_ParseError; OTL_LOCAL( OTL_UInt ) otl_parser_get_gindex( OTL_Parser parser ); OTL_LOCAL( void ) otl_parser_error( OTL_Parser parser, OTL_ParserError error );#define OTL_PARSER_UNCOVERED(x) \ otl_parser_error( x, OTL_Err_Parser_UncoveredGlyph ) OTL_LOCAL( void ) otl_parser_check_property( OTL_Parser parser, OTL_UInt gindex, OTL_UInt flags, OTL_UInt *aproperty ); /* copy current input glyph to output */ OTL_LOCAL( void ) otl_parser_copy_1( OTL_Parser parser ); /* copy current input glyph to output, replacing its index */ OTL_LOCAL( void ) otl_parser_replace_1( OTL_Parser parser, OTL_UInt gindex ); /* copy current input glyph to output, replacing it by several indices */ /* read directly from the table */ OTL_LOCAL( void ) otl_parser_replace_n( OTL_Parser parser, OTL_UInt count, OTL_Bytes indices );OTL_END_HEADER#endif /* __OTL_PARSER_H__ */
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?