⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 otlbuffer.h

📁 qt-x11-opensource-src-4.1.4.tar.gz源码
💻 H
字号:
/* otlbuffer.h: Buffer of glyphs for substitution/positioning * * Copyrigh 2004 Red Hat Software * * Portions Copyright 1996-2000 by * David Turner, Robert Wilhelm, and Werner Lemberg. * * This file is part of the FreeType project, and may only be used * modified and distributed under the terms of the FreeType project * license, LICENSE.TXT.  By continuing to use, modify, or distribute * this file you indicate that you have read the license and * understand and accept it fully. */#ifndef OTL_BUFFER_H#define OTL_BUFFER_H#include <ft2build.h>#include FT_FREETYPE_HFT_BEGIN_HEADER#define OTL_GLYPH_PROPERTIES_UNKNOWN 0xFFFF#define IN_GLYPH( pos )      buffer->in_string[(pos)].gindex#define IN_ITEM( pos )       (&buffer->in_string[(pos)])#define IN_CURGLYPH()        buffer->in_string[buffer->in_pos].gindex#define IN_CURITEM()         (&buffer->in_string[buffer->in_pos])#define IN_PROPERTIES( pos ) buffer->in_string[(pos)].properties#define IN_LIGID( pos )      buffer->in_string[(pos)].ligID#define IN_COMPONENT( pos )    (buffer->in_string[(pos)].component)#define OUT_GLYPH( pos )     buffer->out_string[(pos)].gindex#define OUT_ITEM( pos )      (&buffer->out_string[(pos)])#define POSITION( pos )        (&buffer->positions[(pos)])#define ADD_String( buffer, num_in, num_out, glyph_data, component, ligID )             \          ( ( error = otl_buffer_add_output_glyphs( (buffer),                           \						    (num_in), (num_out),                \                                                    (glyph_data), (component), (ligID)  \                                                  ) ) != TT_Err_Ok )#define ADD_Glyph( buffer, glyph_index, component, ligID )             		 	 \          ( ( error = otl_buffer_add_output_glyph( (buffer),                             \                                                    (glyph_index), (component), (ligID)  \                                                  ) ) != TT_Err_Ok )  typedef struct OTL_GlyphItemRec_ {    FT_UInt     gindex;    FT_UInt     properties;    FT_UInt     cluster;    FT_UShort   component;    FT_UShort   ligID;    FT_UShort   gproperties;  } OTL_GlyphItemRec, *OTL_GlyphItem;  typedef struct OTL_PositionRec_ {    FT_Pos     x_pos;    FT_Pos     y_pos;    FT_Pos     x_advance;    FT_Pos     y_advance;    FT_UShort  back;            /* number of glyphs to go back                                   for drawing current glyph   */    FT_Bool    new_advance;     /* if set, the advance width values are                                   absolute, i.e., they won't be                                   added to the original glyph's value                                   but rather replace them.            */    FT_Short  cursive_chain;   /* character to which this connects, 				   may be positive or negative; used 				   only internally                     */  } OTL_PositionRec, *OTL_Position;  typedef struct OTL_BufferRec_{     FT_Memory   memory;    FT_ULong    allocated;    FT_ULong    in_length;    FT_ULong    out_length;    FT_ULong    in_pos;    FT_ULong    out_pos;        OTL_GlyphItem  in_string;    OTL_GlyphItem  out_string;    OTL_Position   positions;    FT_UShort      max_ligID;  } OTL_BufferRec, *OTL_Buffer;  FT_Error  otl_buffer_new( FT_Memory   memory,		  OTL_Buffer *buffer );  FT_Error  otl_buffer_swap( OTL_Buffer buffer );  FT_Error  otl_buffer_free( OTL_Buffer buffer );  FT_Error  otl_buffer_clear( OTL_Buffer buffer );  FT_Error  otl_buffer_add_glyph( OTL_Buffer buffer,			FT_UInt    glyph_index,			FT_UInt    properties,			FT_UInt    cluster );  FT_Error  otl_buffer_add_output_glyphs( OTL_Buffer buffer,				FT_UShort  num_in,				FT_UShort  num_out,				FT_UShort *glyph_data,				FT_UShort  component,				FT_UShort  ligID );  FT_Error  otl_buffer_add_output_glyph ( OTL_Buffer buffer,			        FT_UInt    glyph_index,			        FT_UShort  component,			        FT_UShort  ligID );  FT_Error  otl_buffer_copy_output_glyph ( OTL_Buffer buffer );  FT_UShort  otl_buffer_allocate_ligid( OTL_Buffer buffer );FT_END_HEADER#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -