Module: FT

Extended by:
LibBase
Defined in:
lib/ft-ffi.rb,
lib/ft-ffi/config.rb,
lib/ft-ffi/version.rb,
lib/ft-ffi/lib_base.rb,
lib/ft-ffi/macro/face.rb,
lib/ft-ffi/macro/list.rb,
lib/ft-ffi/enum/fstype.rb,
lib/ft-ffi/macro/cache.rb,
lib/ft-ffi/macro/error.rb,
lib/ft-ffi/struct/data.rb,
lib/ft-ffi/function/pfr.rb,
lib/ft-ffi/macro/module.rb,
lib/ft-ffi/struct/stubs.rb,
lib/ft-ffi/enum/encoding.rb,
lib/ft-ffi/enum/sfnt_tag.rb,
lib/ft-ffi/function/face.rb,
lib/ft-ffi/function/gzip.rb,
lib/ft-ffi/function/list.rb,
lib/ft-ffi/function/size.rb,
lib/ft-ffi/function/ttgx.rb,
lib/ft-ffi/struct/matrix.rb,
lib/ft-ffi/enum/face_flag.rb,
lib/ft-ffi/enum/load_flag.rb,
lib/ft-ffi/enum/winfnt_id.rb,
lib/ft-ffi/function/cache.rb,
lib/ft-ffi/function/sfont.rb,
lib/ft-ffi/struct/generic.rb,
lib/ft-ffi/enum/gasp_table.rb,
lib/ft-ffi/enum/lcd_filter.rb,
lib/ft-ffi/enum/style_flag.rb,
lib/ft-ffi/function/stream.rb,
lib/ft-ffi/function/system.rb,
lib/ft-ffi/struct/cmap_rec.rb,
lib/ft-ffi/struct/face_rec.rb,
lib/ft-ffi/struct/list/rec.rb,
lib/ft-ffi/struct/size/rec.rb,
lib/ft-ffi/enum/cff_hinting.rb,
lib/ft-ffi/enum/load_target.rb,
lib/ft-ffi/enum/render_mode.rb,
lib/ft-ffi/function/library.rb,
lib/ft-ffi/function/outline.rb,
lib/ft-ffi/function/version.rb,
lib/ft-ffi/function/win_fnt.rb,
lib/ft-ffi/macro/basic_type.rb,
lib/ft-ffi/struct/glyph/rec.rb,
lib/ft-ffi/struct/open_args.rb,
lib/ft-ffi/struct/parameter.rb,
lib/ft-ffi/struct/sfnt/name.rb,
lib/ft-ffi/enum/kerning_mode.rb,
lib/ft-ffi/enum/outline_flag.rb,
lib/ft-ffi/function/char_map.rb,
lib/ft-ffi/struct/driver_rec.rb,
lib/ft-ffi/struct/image/bbox.rb,
lib/ft-ffi/struct/image/span.rb,
lib/ft-ffi/struct/memory_rec.rb,
lib/ft-ffi/struct/module/rec.rb,
lib/ft-ffi/struct/stream/rec.rb,
lib/ft-ffi/enum/subglyph_flag.rb,
lib/ft-ffi/function/cid_fonts.rb,
lib/ft-ffi/function/open_type.rb,
lib/ft-ffi/function/true_type.rb,
lib/ft-ffi/struct/frame_field.rb,
lib/ft-ffi/struct/glyph/class.rb,
lib/ft-ffi/struct/library_rec.rb,
lib/ft-ffi/struct/stream/desc.rb,
lib/ft-ffi/struct/unit_vector.rb,
lib/ft-ffi/enum/open_args_flag.rb,
lib/ft-ffi/enum/stroker/border.rb,
lib/ft-ffi/function/glyph_slot.rb,
lib/ft-ffi/function/postscript.rb,
lib/ft-ffi/struct/char_map_rec.rb,
lib/ft-ffi/struct/ftc_sbit_rec.rb,
lib/ft-ffi/struct/image/bitmap.rb,
lib/ft-ffi/struct/image/vector.rb,
lib/ft-ffi/struct/module/class.rb,
lib/ft-ffi/struct/renderer/rec.rb,
lib/ft-ffi/struct/size/metrics.rb,
lib/ft-ffi/typedef/ftc_face_id.rb,
lib/ft-ffi/enum/glyph_bbox_mode.rb,
lib/ft-ffi/enum/module_bit_flag.rb,
lib/ft-ffi/enum/stroker/linecap.rb,
lib/ft-ffi/enum/true_type/ms_id.rb,
lib/ft-ffi/function/computation.rb,
lib/ft-ffi/struct/glyph/metrics.rb,
lib/ft-ffi/struct/image/outline.rb,
lib/ft-ffi/struct/list/node_rec.rb,
lib/ft-ffi/struct/sfnt/lang_tag.rb,
lib/ft-ffi/struct/sub_glyph_rec.rb,
lib/ft-ffi/struct/true_type/os2.rb,
lib/ft-ffi/struct/validator_rec.rb,
lib/ft-ffi/enum/image/pixel_mode.rb,
lib/ft-ffi/enum/stroker/linejoin.rb,
lib/ft-ffi/enum/true_type/iso_id.rb,
lib/ft-ffi/enum/true_type/mac_id.rb,
lib/ft-ffi/enum/validation_level.rb,
lib/ft-ffi/function/font_formats.rb,
lib/ft-ffi/struct/cmap_class_rec.rb,
lib/ft-ffi/struct/ftc_scaler_rec.rb,
lib/ft-ffi/struct/glyph/load_rec.rb,
lib/ft-ffi/struct/glyph/slot_rec.rb,
lib/ft-ffi/struct/renderer/class.rb,
lib/ft-ffi/struct/true_type/pclt.rb,
lib/ft-ffi/enum/size_request_type.rb,
lib/ft-ffi/function/glyph_stroker.rb,
lib/ft-ffi/function/lcd_filtering.rb,
lib/ft-ffi/enum/auto_hinter_script.rb,
lib/ft-ffi/enum/image/glyph_format.rb,
lib/ft-ffi/enum/slot_internal_flag.rb,
lib/ft-ffi/enum/true_type/adobe_id.rb,
lib/ft-ffi/enum/true_type/apple_id.rb,
lib/ft-ffi/enum/true_type/platform.rb,
lib/ft-ffi/enum/validate_open_type.rb,
lib/ft-ffi/struct/bdf/property_rec.rb,
lib/ft-ffi/struct/driver_class_rec.rb,
lib/ft-ffi/struct/glyph/loader_rec.rb,
lib/ft-ffi/struct/service_desc_rec.rb,
lib/ft-ffi/struct/size/request_rec.rb,
lib/ft-ffi/struct/true_type/header.rb,
lib/ft-ffi/enum/outline_orientation.rb,
lib/ft-ffi/enum/true_type/ms_langid.rb,
lib/ft-ffi/function/bitmap_handling.rb,
lib/ft-ffi/function/multiple_master.rb,
lib/ft-ffi/struct/face_internal_rec.rb,
lib/ft-ffi/struct/image/bitmap_size.rb,
lib/ft-ffi/struct/service_cache_rec.rb,
lib/ft-ffi/struct/slot_internal_rec.rb,
lib/ft-ffi/enum/postscript/dict_keys.rb,
lib/ft-ffi/enum/true_type/mac_langid.rb,
lib/ft-ffi/function/glyph_management.rb,
lib/ft-ffi/struct/ftc_image_type_rec.rb,
lib/ft-ffi/struct/image/raster_funcs.rb,
lib/ft-ffi/struct/win_fnt_header_rec.rb,
lib/ft-ffi/enum/bdf_pcf/property_type.rb,
lib/ft-ffi/function/module_management.rb,
lib/ft-ffi/struct/image/outline_funcs.rb,
lib/ft-ffi/struct/image/raster_params.rb,
lib/ft-ffi/enum/postscript/blend_flags.rb,
lib/ft-ffi/struct/postscript/blend_rec.rb,
lib/ft-ffi/struct/true_type/postscript.rb,
lib/ft-ffi/struct/incremental/funcs_rec.rb,
lib/ft-ffi/struct/postscript/design_map.rb,
lib/ft-ffi/struct/true_type/hori_header.rb,
lib/ft-ffi/struct/true_type/max_profile.rb,
lib/ft-ffi/struct/true_type/vert_header.rb,
lib/ft-ffi/enum/image/raster_params_flag.rb,
lib/ft-ffi/struct/glyph/bitmap_glyph_rec.rb,
lib/ft-ffi/struct/postscript/private_rec.rb,
lib/ft-ffi/struct/prop_increase_x_height.rb,
lib/ft-ffi/enum/postscript/enconding_type.rb,
lib/ft-ffi/struct/glyph/outline_glyph_rec.rb,
lib/ft-ffi/struct/incremental/metrics_rec.rb,
lib/ft-ffi/struct/multiple_masters/mm_var.rb,
lib/ft-ffi/struct/multiple_masters/mm_axis.rb,
lib/ft-ffi/struct/postscript/font_info_rec.rb,
lib/ft-ffi/struct/prop_glyph_to_script_map.rb,
lib/ft-ffi/struct/incremental/interface_rec.rb,
lib/ft-ffi/struct/multiple_masters/var_axis.rb,
lib/ft-ffi/enum/true_type/intrepreter_version.rb,
lib/ft-ffi/struct/postscript/cid_face_dict_rec.rb,
lib/ft-ffi/struct/postscript/cid_face_info_rec.rb,
lib/ft-ffi/enum/true_type/true_type_engine_type.rb,
lib/ft-ffi/struct/multiple_masters/multi_master.rb,
lib/ft-ffi/struct/multiple_masters/var_named_style.rb

Defined Under Namespace

Modules: AF, CFF, LibBase, T1, TT Classes: BBox, Bitmap, BitmapGlyphRec, Bitmap_Size, BlendRec, CID_FaceDictRec, CID_FaceInfoRec, CMapRec, CMap_ClassRec, CharMapRec, Data, DesignMapRec, DriverRec, Driver_ClassRec, FTC_ImageTypeRec, FTC_SBitRec, FTC_ScalerRec, FaceRec, Face_InternalRec, Frame_Field, FreeTypeError, Generic, GlyphClass, GlyphLoadRec, GlyphLoaderRec, GlyphRec, GlyphSlotRec, Glyph_Metrics, Incremental_FuncsRec, Incremental_InterfaceRec, Incremental_MetricsRec, LibraryRec, ListNodeRec, ListRec, MM_Axis, MM_Var, Matrix, MemoryRec, ModuleRec, Module_Class, Multi_Master, Open_Args, Outline, OutlineGlyphRec, Outline_Funcs, PS_FontInfoRec, PS_PrivateRec, Parameter, Prop_GlyphToScriptMap, Prop_IncreaseXHeight, PropertyRec, PropertyRecUnion, Raster_Funcs, Raster_Params, RendererRec, Renderer_Class, ServiceCacheRec, ServiceDescRec, SfntLangTag, SfntName, SizeRec, Size_Metrics, Size_RequestRec, Slot_InternalRec, Span, StreamDesc, StreamRec, SubGlyphRec, TT_Header, TT_HoriHeader, TT_MaxProfile, TT_OS2, TT_PCLT, TT_Postscript, TT_VertHeader, UnitVector, ValidatorRec, Var_Axis, Var_Named_Style, Vector, WinFNT_HeaderRec

Constant Summary collapse

CONFIG_OPTION =
{
    ENVIRONMENT_PROPERTIES: true,
    SUBPIXEL_RENDERING:     false,
    FORCE_INT64:            false,
    NO_ASSEMBLER:           false,
    INLINE_MULFIX:          true,
    USE_LZW:                true,
    USE_ZLIB:               true,
    SYSTEM_ZLIB:            false,
    USE_BZIP2:              false,
    DISABLE_STREAM_SUPPORT: false,
    USE_PNG:                false,
    USE_HARFBUZZ:           false,
    POSTSCRIPT_NAMES:       true,
    ADOBE_GLYPH_LIST:       true,
    MAC_FONTS:              true,
    INCREMENTAL:            true
}
RENDER_POOL_SIZE =
16384
MAX_MODULES =
32
DEBUG_AUTOFIT =

DEBUG_LEVEL = :ERROR DEBUG_LEVEL = :DEBUG

false
DEBUG_MEMORY =
false
VERSION =
'0.1.1'
LOGGER =
Logger.new(STDOUT)
UShort =
typedef :ushort,  :FT_UShort
Long =
typedef :long,    :FT_Long
ULong =
typedef :ulong,   :FT_ULong
FSType =
enum Long, :fstype, [
    :INSTALLABLE_EMBEDDING,         0x0000,
    :RESTRICTED_LICENSE_EMBEDDING,  0x0002,
    :PREVIEW_AND_PRINT_EMBEDDING,   0x0004,
    :EDITABLE_EMBEDDING,            0x0008,
    :NO_SUBSETTING,                 0x0100,
    :BITMAP_EMBEDDING_ONLY,         0x0200,
]
ERR_PREFIX =
:Err_
ERR_BASE =
CONFIG_OPTION[:USE_MODULE_ERRORS] ? :Mod_Err_Base : 0
Encoding =
enum :encoding, [
    :NONE,           0x00000000,

    :MS_SYMBOL,      0x73796d62, # 'symb'
    :UNICODE,        0x756e6963, # 'unic'

    :MS_SJIS,        0x736a6973, # backward compatibility
    :MS_GB2312,      0x67622020, # backward compatibility
    :GB2312,         0x67622020, # backward compatibility
    :MS_BIG5,        0x62696735, # backward compatibility
    :MS_WANSUNG,     0x77616e73, # backward compatibility
    :MS_JOHAB,       0x6a6f6861, # 'joha'

    :PRC,            0x67622020, # 'gb  '
    :SJIS,           0x736a6973, # 'sjis'
    :BIG5,           0x62696735, # 'big5'
    :WANSUNG,        0x77616e73, # 'wans'
    :JOHAB,          0x6a6f6861, # 'joha'

    :ADOBE_STANDARD, 0x41444f42, # 'ADOB'
    :ADOBE_EXPERT,   0x41444245, # 'ADBE'
    :ADOBE_CUSTOM,   0x41444243, # 'ADBC'
    :ADOBE_LATIN_1,  0x6c617431, # 'lat1'

    :OLD_LATIN_2,    0x6c617432, # 'lat2'

    :APPLE_ROMAN,    0x61726d6e, # 'armn'
]
SfntTag =
enum :sfnt_tag, [
    :HEAD,
    :MAXP,
    :OS2,
    :HHEA,
    :VHEA,
    :POST,
    :PCLT,

    :MAX
]
ADVANCE_FLAG_FAST_ONLY =

TODO

0x20000000
List_Destructor =
callback 'List_Destructor', [MemoryRec.ptr, :pointer, :pointer], :void
List_Iterator =
callback 'List_Iterator', [ListNodeRec.ptr(:in), :pointer], :FT_Error
FaceFlag =
enum Long, :face_flag, [
    :SCALABLE,         0x0001,
    :FIXED_SIZES,      0x0002,
    :FIXED_WIDTH,      0x0004,
    :SFNT,             0x0008,
    :HORIZONTAL,       0x0010,
    :VERTICAL,         0x0020,
    :KERNING,          0x0040,
    :FAST_GLYPHS,      0x0080,
    :MULTIPLE_MASTERS, 0x0100,
    :GLYPH_NAMES,      0x0200,
    :EXTERNAL_STREAM,  0x0400,
    :HINTER,           0x0800,
    :CID_KEYED,        0x1000,
    :TRICKY,           0x2000,
    :COLOR,            0x4000,
    :VARIATION,        0x8000
]
LoadFlag =
enum :load_flag, [
  :DEFAULT,                     0x000000,
  :NO_SCALE,                    0x000001,
  :NO_HINTING,                  0x000002,
  :RENDER,                      0x000004,
  :NO_BITMAP,                   0x000008,
  :VERTICAL_LAYOUT,             0x000010,
  :FORCE_AUTOHINT,              0x000020,
  :CROP_BITMAP,                 0x000040,
  :PEDANTIC,                    0x000080,
  :IGNORE_GLOBAL_ADVANCE_WIDTH, 0x000200,
  :NO_RECURSE,                  0x000400,
  :IGNORE_TRANSFORM,            0x000800,
  :MONOCHROME,                  0x001000,
  :LINEAR_DESIGN,               0x002000,
  :NO_AUTOHINT,                 0x008000,

  :COLOR,                       0x100000,
  :COMPUTE_METRICS,             0x200000,
  :BITMAP_METRICS_ONLY,         0x400000,

  :ADVANCE_ONLY,                0x000100,
  :SBITS_ONLY,                  0x004000
]
WinFNT_ID_XXX =
enum :win_fnt_id_xxx, [
    :CP1252,    0,
    :DEFAULT,   1,
    :SYMBOL,    2,
    :MAC,      77,
    :CP932,   128,
    :CP949,   129,
    :CP1361,  130,
    :CP936,   134,
    :CP950,   136,
    :CP1253,  161,
    :CP1254,  162,
    :CP1258,  163,
    :CP1255,  177,
    :CP1256,  178,
    :CP1257,  186,
    :CP1251,  204,
    :CP874,   222,
    :CP1250,  238,
    :OEM,     255,
]
FTC_Face_Requester =
callback 'FTC_Face_Requester',
[:FTC_FaceID, LibraryRec.ptr(:in), :FT_Pointer, FaceRec.ptr(:out)], :FT_Error
Generic_Finalizer =
callback 'Generic_Finalizer', [:pointer], :void
GaspTable =
enum :gasp_table, [
    :NO_TABLE,               -1,
    :DO_GRIDFIT,           0x01,
    :DO_GRAY,              0x02,
    :SYMMETRIC_SMOOTHING,  0x08,
    :SYMMETRIC_GRIDFIT,    0x10,
]
LcdFilter =
enum :lcd_filter, [
    :NONE,    0,
    :DEFAULT, 1,
    :LIGHT,   2,
    :LEGACY1, 3,
    :LEGACY, 16,
]
StyleFlag =
enum Long, :style_flag, [
    :ITALIC,  0x1,
    :BOLD,    0x2
]
CFFHinting =
enum :cff_hinting, [:FREETYPE, 0, :ADOBE, 1]
LoadTarget =
enum :load_target, [
    :NORMAL,   0x00000,
    :LIGHT,    0x10000,
    :MONO,     0x20000,
    :LCD,      0x30000,
    :LCD_V,    0x40000,
    :MODE_MAX, 0x50000
]
RenderMode =
enum :render_mode, [:NORMAL, 0, :LIGHT, :MONO, :LCD, :LCD_V, :MODE_MAX]
KerningMode =
enum :kerning_mode, [
    :DEFAULT,
    :UNFITTED,
    :UNSCALED
]
OutlineFlag =
enum :outline_flag, [
    :NONE,              0x0,
    :OWNER,             0x1,
    :EVEN_ODD_FILL,     0x2,
    :REVERSE_FILL,      0x4,
    :IGNORE_DROPOUTS,   0x8,
    :SMART_DROPOUTS,   0x10,
    :INCLUDE_STUBS,    0x20,

    :HIGH_PRECISION,  0x100,
    :SINGLE_PASS,     0x200,

#define FT_OUTLINE_CONTOURS_MAX  SHRT_MAX
#define FT_OUTLINE_POINTS_MAX    SHRT_MAX
]
Alloc_Func =

MemoryRec

callback 'Alloc_Func', [MemoryRec.ptr(:in), :long], :pointer
Free_Func =
callback 'Free_Func', [MemoryRec.ptr(:in), :pointer], :void
Realloc_Func =
callback 'Realloc_Func', [MemoryRec.ptr(:in), :long, :long, :pointer], :pointer
Stream_IoFunc =
callback 'Stream_IoFunc', [StreamRec.ptr(:in), :ulong, :pointer, :ulong], :ulong
Stream_CloseFunc =
callback 'Stream_CloseFunc', [StreamRec.ptr(:in)], :void
SUBGLYPH_FLAG_XXX =
enum :subglyph_flag_xxx, [
    :ARGS_ARE_WORDS,          1,
    :ARGS_ARE_XY_VALUES,      2,
    :ROUND_XY_TO_GRID,        4,
    :SCALE,                   8,
    :XY_SCALE,             0x40,
    :N2X2,                 0x80,
    :USE_MY_METRICS,      0x200,
]
Glyph_InitFunc =
callback 'Glyph_InitFunc', [GlyphRec.ptr, GlyphSlotRec.ptr], :FT_Error
Glyph_DoneFunc =
callback 'Glyph_DoneFunc', [GlyphRec.ptr], :void
Glyph_CopyFunc =
callback 'Glyph_CopyFunc', [GlyphRec.ptr, GlyphRec.ptr], :FT_Error
Glyph_TransformFunc =
callback 'Glyph_TransformFunc', [GlyphRec.ptr, Matrix.ptr, Vector.ptr], :void
Glyph_GetBBoxFunc =
callback 'Glyph_GetBBoxFunc', [GlyphRec.ptr, BBox.ptr], :void
Glyph_PrepareFunc =
callback 'Glyph_PrepareFunc', [GlyphRec.ptr, GlyphSlotRec.ptr], :FT_Error
DebugHook_Func =
callback 'DebugHook_Func', [LibraryRec.ptr], :void
OpenArgsFlag =
enum :open_args_flag, [
    :MEMORY,   0x1,
    :STREAM,   0x2,
    :PATHNAME, 0x4,
    :DRIVER,   0x8,
    :PARAMS,  0x10,
]
StrokerBorder =
enum :stroker_border, [:LEFT, 0, :RIGHT]
Module_Constructor =
callback 'Module_Constructor', [ModuleRec.ptr(:in)], :FT_Error
Module_Destructor =
callback 'Module_Destructor', [ModuleRec.ptr(:in)], :void
Module_Requester =
callback 'Module_Requester', [ModuleRec.ptr(:in), :string], :pointer
GlyphBBoxMode =
enum :glyph_bbox_mode, [:UNSCALED,  0, :SUBPIXELS, 0, :GRIDFIT, 1, :TRUNCATE, 2, :PIXELS, 3]
ModuleBitFlag =
enum :module_bit_flag, [
    :FONT_DRIVER,              1,
    :RENDERER,                 2,
    :HINTER,                   4,
    :STYLER,                   8,

    :DRIVER_SCALABLE,      0x100,

    :DRIVER_NO_OUTLINES,   0x200,

    :DRIVER_HAS_HINTER,    0x400,

    :DRIVER_HINTS_LIGHTLY, 0x800,
]
Stroker_LineCap =
enum :Stroker_LineCap, [
    :BUTT, 0,
    :ROUND,
    :SQUARE
]
MsId =
enum :ms_id, [
    :SYMBOL_CS,  0,
    :UNICODE_CS, 1,
    :SJIS,       2,
    :GB2312,     3,
    :PRC,        3,
    :BIG_5,      4,
    :WANSUNG,    5,
    :JOHAB,      6,
    :UCS_4,     10,
]
FT_ANGLE_PI =
180 << 16
FT_ANGLE_2PI =
FT_ANGLE_PI * 2
FT_ANGLE_PI2 =
FT_ANGLE_PI / 2
FT_ANGLE_PI4 =
FT_ANGLE_PI / 4
PixelMode =
enum FFI.find_type(:uchar), :pixel_mode, [
    :NONE,
    :MONO,
    :GRAY,
    :GRAY2,
    :GRAY4,
    :LCD,
    :LCD_V,
    :BGRA,
    :MAX
]
Stroker_LineJoin =
enum :stroker_line_join, [
    :ROUND,          0,
    :BEVEL,          1,
    :MITER_VARIABLE, 2,
    :MITER,          2,
    :MITER_FIXED,    3
]
IsoId =
enum :iso_id, [
    :ID_7BIT_ASCII, 0,
    :ID_10646,      1,
    :ID_8859_1,     2,
]
MacId =
enum :mac_id, [
    :ROMAN,                0,
    :JAPANESE,             1,
    :TRADITIONAL_CHINESE,  2,
    :KOREAN,               3,
    :ARABIC,               4,
    :HEBREW,               5,
    :GREEK,                6,
    :RUSSIAN,              7,
    :RSYMBOL,              8,
    :DEVANAGARI,           9,
    :GURMUKHI,            10,
    :GUJARATI,            11,
    :ORIYA,               12,
    :BENGALI,             13,
    :TAMIL,               14,
    :TELUGU,              15,
    :KANNADA,             16,
    :MALAYALAM,           17,
    :SINHALESE,           18,
    :BURMESE,             19,
    :KHMER,               20,
    :THAI,                21,
    :LAOTIAN,             22,
    :GEORGIAN,            23,
    :ARMENIAN,            24,
    :MALDIVIAN,           25,
    :SIMPLIFIED_CHINESE,  25,
    :TIBETAN,             26,
    :MONGOLIAN,           27,
    :GEEZ,                28,
    :SLAVIC,              29,
    :VIETNAMESE,          30,
    :SINDHI,              31,
    :UNINTERP,            32,
]
ValidationLevel =
enum :validation_level, [
    :DEFAULT, 0,
    :TIGHT,
    :PARANOID
]
CMap_InitFunc =
callback 'CMap_InitFunc', [CMapRec, :FT_Pointer], :FT_Error
CMap_DoneFunc =
callback 'CMap_DoneFunc', [CMapRec], :void
CMap_CharIndexFunc =
callback 'CMap_CharIndexFunc', [CMapRec, :FT_UInt32], :FT_UInt
CMap_CharNextFunc =
callback 'CMap_CharNextFunc', [CMapRec, :pointer], :FT_UInt
CMap_CharVarIndexFunc =
callback 'CMap_CharVarIndexFunc', [CMapRec, CMapRec, :FT_UInt32, :FT_UInt32], :FT_UInt
CMap_CharVarIsDefaultFunc =
callback 'CMap_CharVarIsDefaultFunc', [CMapRec, :FT_UInt32, :FT_UInt32], :FT_Bool
CMap_VariantListFunc =
callback 'CMap_VariantListFunc', [CMapRec, MemoryRec], :pointer
CMap_CharVariantListFunc =
callback 'CMap_CharVariantListFunc', [CMapRec, MemoryRec, :FT_UInt32], :pointer
CMap_VariantCharListFunc =
callback 'CMap_VariantCharListFunc', [CMapRec, MemoryRec, :FT_UInt32], :pointer
Renderer_RenderFunc =
callback 'Renderer_RenderFunc', [RendererRec.ptr, GlyphSlotRec.ptr, :FT_UInt, Vector.ptr], :FT_Error
Renderer_TransformFunc =
callback 'Renderer_TransformFunc', [RendererRec.ptr, GlyphSlotRec.ptr, Matrix.ptr, Vector.ptr], :FT_Error
Renderer_GetCBoxFunc =
callback 'Renderer_GetCBoxFunc', [RendererRec.ptr, GlyphSlotRec.ptr, BBox.ptr], :void
Renderer_SetModeFunc =
callback 'Renderer_SetModeFunc', [RendererRec.ptr, :FT_ULong, :FT_Pointer], :void
SizeRequestType =
enum :size_request_type, [
    :NOMINAL,
    :REAL_DIM,
    :BBOX,
    :CELL,
    :SCALES,

    :MAX
]
LCD_FILTER_FIVE_TAPS =
5
AutohinterScript =
enum :autohinter_script, [:NONE,   0, :LATIN, 1, :CJK, 2, :INDIC, 3]
GlyphFormat =
enum ULong, :glyph_format, [
    :NONE,      0,
    :COMPOSITE, 0x636f6d70, #'comp'
    :BITMAP,    0x62697473, #'bits'
    :OUTLINE,   0x6f75746c, #'outl'
    :PLOTTER,   0x706c6f74  #'plot'
]
SlotInternalFlag =
enum :slot_internal_flag, [:GLYPH_OWN_BITMAP, 0x1]
AdobeId =
enum :adobe_id, [
    :STANDARD, 0,
    :EXPERT,   1,
    :CUSTOM,   2,
    :LATIN_1,  3,
]
AppleId =
enum :apple_id, [
    :DEFAULT,          0,
    :UNICODE_1_1,      1,
    :ISO_10646,        2, # deprecated
    :UNICODE_2_0,      3,
    :UNICODE_32,       4,
    :VARIANT_SELECTOR, 5,
]
Platform =
enum UShort, :platform, [
    :APPLE_UNICODE, 0,
    :MACINTOSH,     1,
    :ISO,           2, # deprecated
    :MICROSOFT,     3,
    :CUSTOM,        4,
    :ADOBE,         7, # artificial
]
ValidateOpenType =
enum :validate_open_type, [
   :BASE, 0x0100,
   :GDEF, 0x0200,
   :GPOS, 0x0400,
   :GSUB, 0x0800,
   :JSTF, 0x1000,
   :MATH, 0x2000,

   :OT,   0x3F00
]
Face_InitFunc =
callback 'Face_InitFunc', [StreamRec.ptr, FaceRec.ptr, :FT_Int, :FT_Int, Parameter.ptr], :FT_Error
Face_DoneFunc =
callback 'Face_DoneFunc', [FaceRec.ptr], :void
Size_InitFunc =
callback 'Size_InitFunc', [SizeRec.ptr], :FT_Error
Size_DoneFunc =
callback 'Size_DoneFunc', [SizeRec.ptr], :void
Slot_InitFunc =
callback 'Slot_InitFunc', [GlyphSlotRec.ptr], :FT_Error
Slot_DoneFunc =
callback 'Slot_DoneFunc', [GlyphSlotRec.ptr], :void
Slot_LoadFunc =
callback 'Slot_LoadFunc', [GlyphSlotRec.ptr, SizeRec.ptr, :FT_UInt, :FT_Int32], :FT_Error
Face_GetKerningFunc =
callback 'Face_GetKerningFunc', [FaceRec.ptr, :FT_UInt, :FT_UInt, Vector.ptr], :FT_Error
Face_AttachFunc =
callback 'Face_AttachFunc', [FaceRec.ptr, StreamRec.ptr], :FT_Error
Face_GetAdvancesFunc =
callback 'Face_GetAdvancesFunc', [FaceRec.ptr, :FT_UInt, :FT_UInt, :FT_Int32, :pointer], :FT_Error
Size_RequestFunc =
callback 'Size_RequestFunc', [SizeRec.ptr, SizeRequestType], :FT_Error
Size_SelectFunc =
callback 'Size_SelectFunc', [SizeRec.ptr, :FT_ULong], :FT_Error
Orientation =
enum :orientation, [
    :FILL_RIGHT,  0,
    :FILL_LEFT,   1,
    :TRUETYPE,    0,
    :POSTSCRIPT,  1,
    :NONE
]
MsLangid =
enum :ms_langid, [
    :ARABIC_SAUDI_ARABIA,               0x0401,
    :ARABIC_IRAQ,                       0x0801,
    :ARABIC_EGYPT,                      0x0C01,
    :ARABIC_LIBYA,                      0x1001,
    :ARABIC_ALGERIA,                    0x1401,
    :ARABIC_MOROCCO,                    0x1801,
    :ARABIC_TUNISIA,                    0x1C01,
    :ARABIC_OMAN,                       0x2001,
    :ARABIC_YEMEN,                      0x2401,
    :ARABIC_SYRIA,                      0x2801,
    :ARABIC_JORDAN,                     0x2C01,
    :ARABIC_LEBANON,                    0x3001,
    :ARABIC_KUWAIT,                     0x3401,
    :ARABIC_UAE,                        0x3801,
    :ARABIC_BAHRAIN,                    0x3C01,
    :ARABIC_QATAR,                      0x4001,
    :BULGARIAN_BULGARIA,                0x0402,
    :CATALAN_SPAIN,                     0x0403,
    :CATALAN_CATALAN,                   0x0403,
    :CHINESE_TAIWAN,                    0x0404,
    :CHINESE_PRC,                       0x0804,
    :CHINESE_HONG_KONG,                 0x0C04,
    :CHINESE_SINGAPORE,                 0x1004,
    :CHINESE_MACAU,                     0x1404,
    :CHINESE_MACAO,                     0x1404,
    :CZECH_CZECH_REPUBLIC,              0x0405,
    :DANISH_DENMARK,                    0x0406,
    :GERMAN_GERMANY,                    0x0407,
    :GERMAN_SWITZERLAND,                0x0807,
    :GERMAN_AUSTRIA,                    0x0C07,
    :GERMAN_LUXEMBOURG,                 0x1007,
    :GERMAN_LIECHTENSTEI,              0x1407,
    :GERMAN_LIECHTENSTEIN,              0x1407,
    :GREEK_GREECE,                      0x0408,
    :ENGLISH_UNITED_STATES,             0x0409,
    :ENGLISH_UNITED_KINGDOM,            0x0809,
    :ENGLISH_AUSTRALIA,                 0x0C09,
    :ENGLISH_CANADA,                    0x1009,
    :ENGLISH_NEW_ZEALAND,               0x1409,
    :ENGLISH_IRELAND,                   0x1809,
    :ENGLISH_SOUTH_AFRICA,              0x1C09,
    :ENGLISH_JAMAICA,                   0x2009,
    :ENGLISH_CARIBBEAN,                 0x2409,
    :ENGLISH_BELIZE,                    0x2809,
    :ENGLISH_TRINIDAD,                  0x2C09,
    :ENGLISH_ZIMBABWE,                  0x3009,
    :ENGLISH_PHILIPPINES,               0x3409,
    :ENGLISH_INDIA,                     0x4009,
    :ENGLISH_MALAYSIA,                  0x4409,
    :ENGLISH_SINGAPORE,                 0x4809,
    :SPANISH_SPAIN_TRADITIONAL_SORT,    0x040A,
    :SPANISH_MEXICO,                    0x080A,
    :SPANISH_SPAIN_INTERNATIONAL_SORT,  0x0C0A,
    :SPANISH_SPAIN_MODERN_SORT,         0x0C0A,
    :SPANISH_GUATEMALA,                 0x100A,
    :SPANISH_COSTA_RICA,                0x140A,
    :SPANISH_PANAMA,                    0x180A,
    :SPANISH_DOMINICAN_REPUBLIC,        0x1C0A,
    :SPANISH_VENEZUELA,                 0x200A,
    :SPANISH_COLOMBIA,                  0x240A,
    :SPANISH_PERU,                      0x280A,
    :SPANISH_ARGENTINA,                 0x2C0A,
    :SPANISH_ECUADOR,                   0x300A,
    :SPANISH_CHILE,                     0x340A,
    :SPANISH_URUGUAY,                   0x380A,
    :SPANISH_PARAGUAY,                  0x3C0A,
    :SPANISH_BOLIVIA,                   0x400A,
    :SPANISH_EL_SALVADOR,               0x440A,
    :SPANISH_HONDURAS,                  0x480A,
    :SPANISH_NICARAGUA,                 0x4C0A,
    :SPANISH_PUERTO_RICO,               0x500A,
    :SPANISH_UNITED_STATES,             0x540A,
    :FINNISH_FINLAND,                   0x040B,
    :FRENCH_FRANCE,                     0x040C,
    :FRENCH_BELGIUM,                    0x080C,
    :FRENCH_CANADA,                     0x0C0C,
    :FRENCH_SWITZERLAND,                0x100C,
    :FRENCH_LUXEMBOURG,                 0x140C,
    :FRENCH_MONACO,                     0x180C,
    :HEBREW_ISRAEL,                     0x040D,
    :HUNGARIAN_HUNGARY,                 0x040E,
    :ICELANDIC_ICELAND,                 0x040F,
    :ITALIAN_ITALY,                     0x0410,
    :ITALIAN_SWITZERLAND,               0x0810,
    :JAPANESE_JAPAN,                    0x0411,
    :KOREAN_EXTENDED_WANSUNG_KOREA ,    0x0412,
    :KOREAN_KOREA,                      0x0412,
    :DUTCH_NETHERLANDS,                 0x0413,
    :DUTCH_BELGIUM,                     0x0813,
    :NORWEGIAN_NORWAY_BOKMAL,           0x0414,
    :NORWEGIAN_NORWAY_NYNORSK,          0x0814,
    :POLISH_POLAND,                     0x0415,
    :PORTUGUESE_BRAZIL,                 0x0416,
    :PORTUGUESE_PORTUGAL,               0x0816,
    :RHAETO_ROMANIC_SWITZERLAND,       0x0417,
    :ROMANSH_SWITZERLAND,               0x0417,
    :ROMANIAN_ROMANIA,                  0x0418,
    :RUSSIAN_RUSSIA,                    0x0419,
    :CROATIAN_CROATIA,                  0x041A,
    :SERBIAN_SERBIA_LATIN,              0x081A,
    :SERBIAN_SERBIA_CYRILLIC,           0x0C1A,
    :CROATIAN_BOSNIA_HERZEGOVINA,       0x101A,
    :BOSNIAN_BOSNIA_HERZEGOVINA,        0x141A,
    :SERBIAN_BOSNIA_HERZ_LATIN,         0x181A,
    :SERBIAN_BOSNIA_HERZ_CYRILLIC,      0x1C1A,
    :BOSNIAN_BOSNIA_HERZ_CYRILLIC,      0x201A,
    :SLOVAK_SLOVAKIA,                   0x041B,
    :ALBANIAN_ALBANIA,                  0x041C,
    :SWEDISH_SWEDEN,                    0x041D,
    :SWEDISH_FINLAND,                   0x081D,
    :THAI_THAILAND,                     0x041E,
    :TURKISH_TURKEY,                    0x041F,
    :URDU_PAKISTAN,                     0x0420,
    :INDONESIAN_INDONESIA,              0x0421,
    :UKRAINIAN_UKRAINE,                 0x0422,
    :BELARUSIAN_BELARUS,                0x0423,
    :SLOVENE_SLOVENIA,                  0x0424,
    :SLOVENIAN_SLOVENIA,                0x0424,
    :ESTONIAN_ESTONIA,                  0x0425,
    :LATVIAN_LATVIA,                    0x0426,
    :LITHUANIAN_LITHUANIA,              0x0427,
    :TAJIK_TAJIKISTAN,                  0x0428,
    :VIETNAMESE_VIET_NAM,               0x042A,
    :ARMENIAN_ARMENIA,                  0x042B,
    :AZERI_AZERBAIJAN_LATIN,            0x042C,
    :AZERI_AZERBAIJAN_CYRILLIC,         0x082C,
    :BASQUE_SPAIN,                      0x042D,
    :BASQUE_BASQUE,                     0x042D,
    :SORBIAN_GERMANY,                   0x042E,
    :UPPER_SORBIAN_GERMANY,             0x042E,
    :LOWER_SORBIAN_GERMANY,             0x082E,
    :MACEDONIAN_MACEDONIA,              0x042F,
    :TSWANA_SOUTH_AFRICA,               0x0432,
    :SETSWANA_SOUTH_AFRICA,             0x0432,
    :ISIXHOSA_SOUTH_AFRICA,             0x0434,
    :ISIZULU_SOUTH_AFRICA,              0x0435,
    :AFRIKAANS_SOUTH_AFRICA,            0x0436,
    :GEORGIAN_GEORGIA,                  0x0437,
    :FAEROESE_FAEROE_ISLANDS,           0x0438,
    :HINDI_INDIA,                       0x0439,
    :MALTESE_MALTA,                     0x043A,
    :SAMI_NORTHERN_NORWAY,              0x043B,
    :SAMI_NORTHERN_SWEDEN,              0x083B,
    :SAMI_NORTHERN_FINLAND,             0x0C3B,
    :SAMI_LULE_NORWAY,                  0x103B,
    :SAMI_LULE_SWEDEN,                  0x143B,
    :SAMI_SOUTHERN_NORWAY,              0x183B,
    :SAMI_SOUTHERN_SWEDEN,              0x1C3B,
    :SAMI_SKOLT_FINLAND,                0x203B,
    :SAMI_INARI_FINLAND,                0x243B,
    :IRISH_IRELAND,                     0x083C,
    :MALAY_MALAYSIA,                    0x043E,
    :MALAY_BRUNEI_DARUSSALAM,           0x083E,
    :KAZAKH_KAZAKHSTAN,                 0x043F,
    :KYRGYZ_KYRGYZSTAN,                 0x0440, # /* Cyrillic*/
    :KISWAHILI_KENYA,                   0x0441,
    :TURKMEN_TURKMENISTAN,              0x0442,
    :UZBEK_UZBEKISTAN_LATIN,            0x0443,
    :UZBEK_UZBEKISTAN_CYRILLIC,         0x0843,
    :TATAR_RUSSIA,                      0x0444,
    :BENGALI_INDIA,                     0x0445,
    :BENGALI_BANGLADESH,                0x0845,
    :PUNJABI_INDIA,                     0x0446,
    :GUJARATI_INDIA,                    0x0447,
    :ODIA_INDIA,                        0x0448,
    :TAMIL_INDIA,                       0x0449,
    :TELUGU_INDIA,                      0x044A,
    :KANNADA_INDIA,                     0x044B,
    :MALAYALAM_INDIA,                   0x044C,
    :ASSAMESE_INDIA,                    0x044D,
    :MARATHI_INDIA,                     0x044E,
    :SANSKRIT_INDIA,                    0x044F,
    :MONGOLIAN_MONGOLIA,                0x0450, # /* Cyrillic */
    :MONGOLIAN_PRC,                     0x0850,
    :TIBETAN_PRC,                       0x0451,
    :WELSH_UNITED_KINGDOM,              0x0452,
    :KHMER_CAMBODIA,                    0x0453,
    :LAO_LAOS,                          0x0454,
    :GALICIAN_GALICIAN,                 0x0456,
    :KONKANI_INDIA,                     0x0457,
    :SYRIAC_SYRIA,                      0x045A,
    :SINHALA_SRI_LANKA,                 0x045B,
    :INUKTITUT_CANADA,                  0x045D,
    :INUKTITUT_CANADA_LATIN,            0x085D,
    :AMHARIC_ETHIOPIA,                  0x045E,
    :TAMAZIGHT_ALGERIA,                 0x085F,
    :NEPALI_NEPAL,                      0x0461,
    :FRISIAN_NETHERLANDS,               0x0462,
    :PASHTO_AFGHANISTAN,                0x0463,
    :FILIPINO_PHILIPPINES,              0x0464,
    :DHIVEHI_MALDIVES,                  0x0465,
    :HAUSA_NIGERIA,                     0x0468,
    :YORUBA_NIGERIA,                    0x046A,
    :QUECHUA_BOLIVIA,                   0x046B,
    :QUECHUA_ECUADOR,                   0x086B,
    :QUECHUA_PERU,                      0x0C6B,
    :SESOTHO_SA_LEBOA_SOUTH_AFRICA,     0x046C,
    :BASHKIR_RUSSIA,                    0x046D,
    :LUXEMBOURGISH_LUXEMBOURG,          0x046E,
    :GREENLANDIC_GREENLAND,             0x046F,
    :IGBO_NIGERIA,                      0x0470,
    :YI_PRC,                            0x0478,
    :MAPUDUNGUN_CHILE,                  0x047A,
    :MOHAWK_MOHAWK,                     0x047C,
    :BRETON_FRANCE,                     0x047E,
    :UIGHUR_PRC,                        0x0480,
    :MAORI_NEW_ZEALAND,                 0x0481,
    :OCCITAN_FRANCE,                    0x0482,
    :CORSICAN_FRANCE,                   0x0483,
    :ALSATIAN_FRANCE,                   0x0484,
    :YAKUT_RUSSIA,                      0x0485,
    :KICHE_GUATEMALA,                   0x0486,
    :KINYARWANDA_RWANDA,                0x0487,
    :WOLOF_SENEGAL,                     0x0488,
    :DARI_AFGHANISTAN,                  0x048C,

    :ARABIC_GENERAL,                    0x0001,
    :CHINESE_GENERAL,                   0x0004,
    :ENGLISH_GENERAL,                   0x0009,
    :ENGLISH_INDONESIA,                 0x3809,
    :ENGLISH_HONG_KONG,                 0x3C09,
    :SPANISH_LATIN_AMERICA,             0xE40A,
    :FRENCH_WEST_INDIES,                0x1C0C,
    :FRENCH_REUNION,                    0x200C,
    :FRENCH_ZAIRE,                      0x240C,
    :FRENCH_CONGO,                      0x240C,
    :FRENCH_SENEGAL,                    0x280C,
    :FRENCH_CAMEROON,                   0x2C0C,
    :FRENCH_COTE_D_IVOIRE,              0x300C,
    :FRENCH_MALI,                       0x340C,
    :FRENCH_MOROCCO,                    0x380C,
    :FRENCH_HAITI,                      0x3C0C,
    :FRENCH_NORTH_AFRICA,               0xE40C,
    :KOREAN_JOHAB_KOREA,                0x0812,
    :MOLDAVIAN_MOLDAVIA,                0x0818,
    :RUSSIAN_MOLDAVIA,                  0x0819,
    :URDU_INDIA,                        0x0820,
    :CLASSIC_LITHUANIAN_LITHUANIA,      0x0827,
    :FARSI_IRAN,                        0x0429,
    :SUTU_SOUTH_AFRICA,                 0x0430,
    :TSONGA_SOUTH_AFRICA,               0x0431,
    :VENDA_SOUTH_AFRICA,                0x0433,



]
VAR_AXIS_FLAG_HIDDEN =

define FT_VAR_AXIS_FLAG_HIDDEN 1

1
DictKeys =
enum :dict_keys, [
    # conventionally in the font dictionary
    :FONT_TYPE,
    :FONT_MATRIX,
    :FONT_BBOX,
    :PAINT_TYPE,
    :FONT_NAME,
    :UNIQUE_ID,
    :NUM_CHAR_STRINGS,
    :CHAR_STRING_KEY,
    :CHAR_STRING,
    :ENCODING_TYPE,
    :ENCODING_ENTRY,

    # conventionally in the font Private dictionary
    :NUM_SUBRS,
    :SUBR,
    :STD_HW,
    :STD_VW,
    :NUM_BLUE_VALUES,
    :BLUE_VALUE,
    :BLUE_FUZZ,
    :NUM_OTHER_BLUES,
    :OTHER_BLUE,
    :NUM_FAMILY_BLUES,
    :FAMILY_BLUE,
    :NUM_FAMILY_OTHER_BLUES,
    :FAMILY_OTHER_BLUE,
    :BLUE_SCALE,
    :BLUE_SHIFT,
    :NUM_STEM_SNAP_H,
    :STEM_SNAP_H,
    :NUM_STEM_SNAP_V,
    :STEM_SNAP_V,
    :FORCE_BOLD,
    :RND_STEM_UP,
    :MIN_FEATURE,
    :LEN_IV,
    :PASSWORD,
    :LANGUAGE_GROUP,

    # conventionally in the font FontInfo dictionary
    :VERSION,
    :NOTICE,
    :FULL_NAME,
    :FAMILY_NAME,
    :WEIGHT,
    :IS_FIXED_PITCH,
    :UNDERLINE_POSITION,
    :UNDERLINE_THICKNESS,
    :FS_TYPE,
    :ITALIC_ANGLE,
]
PS_DICT_MAX =
MacLangid =
enum :mac_langid, [
    :ENGLISH,                       0,
    :FRENCH,                        1,
    :GERMAN,                        2,
    :ITALIAN,                       3,
    :DUTCH,                         4,
    :SWEDISH,                       5,
    :SPANISH,                       6,
    :DANISH,                        7,
    :PORTUGUESE,                    8,
    :NORWEGIAN,                     9,
    :HEBREW,                       10,
    :JAPANESE,                     11,
    :ARABIC,                       12,
    :FINNISH,                      13,
    :GREEK,                        14,
    :ICELANDIC,                    15,
    :MALTESE,                      16,
    :TURKISH,                      17,
    :CROATIAN,                     18,
    :CHINESE_TRADITIONAL,          19,
    :URDU,                         20,
    :HINDI,                        21,
    :THAI,                         22,
    :KOREAN,                       23,
    :LITHUANIAN,                   24,
    :POLISH,                       25,
    :HUNGARIAN,                    26,
    :ESTONIAN,                     27,
    :LETTISH,                      28,
    :SAAMISK,                      29,
    :FAEROESE,                     30,
    :FARSI,                        31,
    :RUSSIAN,                      32,
    :CHINESE_SIMPLIFIED,           33,
    :FLEMISH,                      34,
    :IRISH,                        35,
    :ALBANIAN,                     36,
    :ROMANIAN,                     37,
    :CZECH,                        38,
    :SLOVAK,                       39,
    :SLOVENIAN,                    40,
    :YIDDISH,                      41,
    :SERBIAN,                      42,
    :MACEDONIAN,                   43,
    :BULGARIAN,                    44,
    :UKRAINIAN,                    45,
    :BYELORUSSIAN,                 46,
    :UZBEK,                        47,
    :KAZAKH,                       48,
    :AZERBAIJANI,                  49,
    :AZERBAIJANI_CYRILLIC_SCRIPT,  49,
    :AZERBAIJANI_ARABIC_SCRIPT,    50,
    :ARMENIAN,                     51,
    :GEORGIAN,                     52,
    :MOLDAVIAN,                    53,
    :KIRGHIZ,                      54,
    :TAJIKI,                       55,
    :TURKMEN,                      56,
    :MONGOLIAN,                    57,
    :MONGOLIAN_MONGOLIAN_SCRIPT,   57,
    :MONGOLIAN_CYRILLIC_SCRIPT,    58,
    :PASHTO,                       59,
    :KURDISH,                      60,
    :KASHMIRI,                     61,
    :SINDHI,                       62,
    :TIBETAN,                      63,
    :NEPALI,                       64,
    :SANSKRIT,                     65,
    :MARATHI,                      66,
    :BENGALI,                      67,
    :ASSAMESE,                     68,
    :GUJARATI,                     69,
    :PUNJABI,                      70,
    :ORIYA,                        71,
    :MALAYALAM,                    72,
    :KANNADA,                      73,
    :TAMIL,                        74,
    :TELUGU,                       75,
    :SINHALESE,                    76,
    :BURMESE,                      77,
    :KHMER,                        78,
    :LAO,                          79,
    :VIETNAMESE,                   80,
    :INDONESIAN,                   81,
    :TAGALOG,                      82,
    :MALAY_ROMAN_SCRIPT,           83,
    :MALAY_ARABIC_SCRIPT,          84,
    :AMHARIC,                      85,
    :TIGRINYA,                     86,
    :GALLA,                        87,
    :SOMALI,                       88,
    :SWAHILI,                      89,
    :RUANDA,                       90,
    :RUNDI,                        91,
    :CHEWA,                        92,
    :MALAGASY,                     93,
    :ESPERANTO,                    94,
    :WELSH,                       128,
    :BASQUE,                      129,
    :CATALAN,                     130,
    :LATIN,                       131,
    :QUECHUA,                     132,
    :GUARANI,                     133,
    :AYMARA,                      134,
    :TATAR,                       135,
    :UIGHUR,                      136,
    :DZONGKHA,                    137,
    :JAVANESE,                    138,
    :SUNDANESE,                   139,

    :GALICIAN,                    140,
    :AFRIKAANS,                   141,
    :BRETON,                      142,
    :INUKTITUT,                   143,
    :SCOTTISH_GAELIC,             144,
    :MANX_GAELIC,                 145,
    :IRISH_GAELIC,                146,
    :TONGAN,                      147,
    :GREEK_POLYTONIC,             148,
    :GREELANDIC,                  149,
    :AZERBAIJANI_ROMAN_SCRIPT,    150
]
Raster_NewFunc =
callback 'Raster_NewFunc', [:pointer, :pointer], :int
Raster_DoneFunc =
callback 'Raster_DoneFunc', [:pointer], :void
Raster_ResetFunc =
callback 'Raster_ResetFunc', [:pointer, :pointer, :ulong], :void
Raster_SetModeFunc =
callback 'Raster_SetModeFunc', [:pointer, :ulong, :pointer], :int
Raster_RenderFunc =
callback 'Raster_RenderFunc', [:pointer, Raster_Params.ptr], :int
PropertyType =
enum :property_type, [
    :NONE,     0,
    :ATOM,     1,
    :INTEGER,  2,
    :CARDINAL, 3
]
Outline_MoveToFunc =
callback 'Outline_MoveToFunc', [Vector.ptr(:in), :pointer], :int
Outline_LineToFunc =
callback 'Outline_LineToFunc', [Vector.ptr(:in), :pointer], :int
Outline_ConicToFunc =
callback 'Outline_ConicToFunc', [Vector.ptr(:in), Vector.ptr(:in), :pointer], :int
Outline_CubicToFunc =
callback 'Outline_CubicToFunc', [Vector.ptr(:in), Vector.ptr(:in), Vector.ptr(:in), :pointer], :int
SpanFunc =
callback 'SpanFunc', [:int, :int, :pointer, :pointer], :void
Raster_BitTest_Func =
callback 'Raster_BitTest_Func', [:int, :int, :pointer], :int
Raster_BitSet_Func =
callback 'Raster_BitSet_Func', [:int, :int, :pointer], :void
BlendFlags =
enum :blend_flags, [
    :UNDERLINE_POSITION, 0,
    :UNDERLINE_THICKNESS,
    :ITALIC_ANGLE,

    :BLUE_VALUES,
    :OTHER_BLUES,
    :STANDARD_WIDTH,
    :STANDARD_HEIGHT,
    :STEM_SNAP_WIDTHS,
    :STEM_SNAP_HEIGHTS,
    :BLUE_SCALE,
    :BLUE_SHIFT,
    :FAMILY_BLUES,
    :FAMILY_OTHER_BLUES,
    :MAX,
    :FORCE_BOLD, 13,
]
T1_MAX_MM_DESIGNS =
16
T1_MAX_MM_MAP_POINTS =
20
Incremental_GetGlyphDataFunc =
callback 'Incremental_GetGlyphDataFunc', [:pointer, :FT_UInt, Data.ptr(:out)], :FT_Error
Incremental_FreeGlyphDataFunc =
callback 'Incremental_FreeGlyphDataFunc', [:pointer, Data.ptr(:in)], :void
Incremental_GetGlyphMetricsFunc =
callback 'Incremental_GetGlyphMetricsFunc',
[:pointer, :FT_UInt, :FT_Bool, Incremental_MetricsRec.ptr(:in)], :FT_Error
RasterParamsFlag =
enum :raster_params_flag, [
    :DEFAULT, 0x0,
    :AA,      0x1,
    :DIRECT,  0x2,
    :CLIP,    0x4,
]
EncodingType =
enum :enconding_type, [
    :NONE, 0,
    :ARRAY,
    :STANDARD,
    :ISOLATIN1,
    :EXPERT,
]
Interpreter =
enum :interpreter, [:VERSION_35, 35, :VERSION_38, 38, :VERSION_40, 40]
TrueTypeEngineType =
enum :true_type_engine_type, [:NONE, :UNPATENTED, :PATENTED]

Constants included from LibBase

LibBase::ERROR_CODE

Class Method Summary collapse

Instance Method Summary collapse

Methods included from LibBase

define_prefix, extended, ft_function

Class Method Details

.Activate_Size(size) ⇒ Object



20
# File 'lib/ft-ffi/function/size.rb', line 20

def self.Activate_Size(size); end

.Add_Default_Modules(library) ⇒ Object



24
# File 'lib/ft-ffi/function/module_management.rb', line 24

def self.Add_Default_Modules(library); end

.Add_Module(library, clazz) ⇒ Object



9
# File 'lib/ft-ffi/function/module_management.rb', line 9

def self.Add_Module(library, clazz); end

.Angle_Diff(angle1, angle2) ⇒ Object



83
# File 'lib/ft-ffi/function/computation.rb', line 83

def self.Angle_Diff(angle1, angle2); end

.Atan2(x, y) ⇒ Object



78
# File 'lib/ft-ffi/function/computation.rb', line 78

def self.Atan2(x, y); end

.Attach_File(face, filepathname) ⇒ Object



13
# File 'lib/ft-ffi/function/face.rb', line 13

def self.Attach_File(face, filepathname); end

.Attach_Stream(face, parameters) ⇒ Object



18
# File 'lib/ft-ffi/function/face.rb', line 18

def self.Attach_Stream(face, parameters); end

.Bitmap_Convert(library, source, target, alignment) ⇒ Object



30
# File 'lib/ft-ffi/function/bitmap_handling.rb', line 30

def self.Bitmap_Convert(library, source, target, alignment); end

.Bitmap_Copy(library, source, target) ⇒ Object



16
# File 'lib/ft-ffi/function/bitmap_handling.rb', line 16

def self.Bitmap_Copy(library, source, target); end

.Bitmap_Done(bitmap) ⇒ Object



39
# File 'lib/ft-ffi/function/bitmap_handling.rb', line 39

def self.Bitmap_Done(bitmap); end

.Bitmap_Embolden(library, bitmap, xStrength, yStrength) ⇒ Object



21
# File 'lib/ft-ffi/function/bitmap_handling.rb', line 21

def self.Bitmap_Embolden(library, bitmap, xStrength, yStrength); end

.Bitmap_Init(abitmap) ⇒ Object



6
# File 'lib/ft-ffi/function/bitmap_handling.rb', line 6

def self.Bitmap_Init(abitmap); end

.Bitmap_New(abitmap) ⇒ Object

Deprecated name for FT_Bitmap_Init



11
# File 'lib/ft-ffi/function/bitmap_handling.rb', line 11

def self.Bitmap_New(abitmap); end

.BOOL(x) ⇒ Object



8
9
10
# File 'lib/ft-ffi/macro/basic_type.rb', line 8

def BOOL(x)
  x != 0
end

.CeilFix(a) ⇒ Object



38
# File 'lib/ft-ffi/function/computation.rb', line 38

def self.CeilFix(a); end

.ClassicKern_Free(face, table) ⇒ Object



27
# File 'lib/ft-ffi/function/ttgx.rb', line 27

def self.ClassicKern_Free(face, table); end

.ClassicKern_Validate(face, validation_flags, ckern_table) ⇒ Object



20
# File 'lib/ft-ffi/function/ttgx.rb', line 20

def self.ClassicKern_Validate(face, validation_flags, ckern_table); end

.CMapCache_Lookup(cache, face_id, cmap_index, char_code) ⇒ Object



29
# File 'lib/ft-ffi/function/cache.rb', line 29

def self.CMapCache_Lookup(cache, face_id, cmap_index, char_code); end

.CMapCache_New(manager, acache) ⇒ Object



35
# File 'lib/ft-ffi/function/cache.rb', line 35

def self.CMapCache_New(manager, acache); end

.Cos(angle) ⇒ Object



68
# File 'lib/ft-ffi/function/computation.rb', line 68

def self.Cos(angle); end

.DivFix(a, b) ⇒ Object



28
# File 'lib/ft-ffi/function/computation.rb', line 28

def self.DivFix(a, b); end

.Done_Face(face) ⇒ Object



23
# File 'lib/ft-ffi/function/face.rb', line 23

def self.Done_Face(face); end

.Done_FreeType(library) ⇒ Object



5
# File 'lib/ft-ffi/function/library.rb', line 5

def self.Done_FreeType(library); end

.Done_Glyph(glyph) ⇒ Object



13
# File 'lib/ft-ffi/function/glyph_management.rb', line 13

def self.Done_Glyph(glyph); end

.Done_Library(library) ⇒ Object



57
# File 'lib/ft-ffi/function/module_management.rb', line 57

def self.Done_Library(library); end

.Done_MM_Var(library, amaster) ⇒ Object



17
# File 'lib/ft-ffi/function/multiple_master.rb', line 17

def self.Done_MM_Var(library, amaster); end

.Done_Size(size) ⇒ Object



15
# File 'lib/ft-ffi/function/size.rb', line 15

def self.Done_Size(size); end

.Face_CheckTrueTypePatents(face) ⇒ Object



13
# File 'lib/ft-ffi/function/version.rb', line 13

def self.Face_CheckTrueTypePatents(face); end

.Face_GetCharsOfVariant(face, variantSelector) ⇒ Object



186
# File 'lib/ft-ffi/function/face.rb', line 186

def self.Face_GetCharsOfVariant(face, variantSelector); end

.Face_GetCharVariantIndex(face, charcode, variantSelector) ⇒ Object



164
# File 'lib/ft-ffi/function/face.rb', line 164

def self.Face_GetCharVariantIndex(face, charcode, variantSelector); end

.Face_GetCharVariantIsDefault(face, charcode, variantSelector) ⇒ Object



170
# File 'lib/ft-ffi/function/face.rb', line 170

def self.Face_GetCharVariantIsDefault(face, charcode, variantSelector); end

.Face_GetVariantSelectors(face) ⇒ Object



176
# File 'lib/ft-ffi/function/face.rb', line 176

def self.Face_GetVariantSelectors(face); end

.Face_GetVariantsOfChar(face, charcode) ⇒ Object



181
# File 'lib/ft-ffi/function/face.rb', line 181

def self.Face_GetVariantsOfChar(face, charcode); end

.Face_Properties(face, num_properties, properties) ⇒ Object



58
# File 'lib/ft-ffi/function/face.rb', line 58

def self.Face_Properties(face, num_properties, properties); end

.Face_SetUnpatentedHinting(face, value) ⇒ Object



18
# File 'lib/ft-ffi/function/version.rb', line 18

def self.Face_SetUnpatentedHinting(face, value); end

.FloorFix(a) ⇒ Object



43
# File 'lib/ft-ffi/function/computation.rb', line 43

def self.FloorFix(a); end

.FT_IMAGE_TAG(value, x1, x2, x3, x4) ⇒ Object



13
14
15
# File 'lib/ft-ffi/macro/basic_type.rb', line 13

def FT_IMAGE_TAG(value, x1, x2, x3, x4 )
  value = x1 << 24 | x2 << 16 | x3 << 8 | x4
end

.Get_Advance(face, gindex, load_flags, padvance) ⇒ Object



66
# File 'lib/ft-ffi/function/face.rb', line 66

def self.Get_Advance(face, gindex, load_flags, padvance); end

.Get_Advances(face, start, count, load_flags, padvances) ⇒ Object



71
# File 'lib/ft-ffi/function/face.rb', line 71

def self.Get_Advances(face, start, count, load_flags, padvances); end

.Get_BDF_Charset_ID(face, acharset_encoding, acharset_registry) ⇒ Object



198
# File 'lib/ft-ffi/function/face.rb', line 198

def self.Get_BDF_Charset_ID(face, acharset_encoding, acharset_registry); end

.Get_BDF_Property(face, prop_name, aproperty) ⇒ Object



203
# File 'lib/ft-ffi/function/face.rb', line 203

def self.Get_BDF_Property(face, prop_name, aproperty); end

.Get_Char_Index(face, charcode) ⇒ Object



76
# File 'lib/ft-ffi/function/face.rb', line 76

def self.Get_Char_Index(face, charcode); end

.Get_Charmap_Index(chamap) ⇒ Object



6
# File 'lib/ft-ffi/function/char_map.rb', line 6

def self.Get_Charmap_Index(chamap); end

.Get_CID_From_Glyph_Index(face, glyph_index, cid) ⇒ Object



19
# File 'lib/ft-ffi/function/cid_fonts.rb', line 19

def self.Get_CID_From_Glyph_Index(face, glyph_index, cid); end

.Get_CID_Is_Internally_CID_Keyed(face, is_cid) ⇒ Object



14
# File 'lib/ft-ffi/function/cid_fonts.rb', line 14

def self.Get_CID_Is_Internally_CID_Keyed(face, is_cid); end

.Get_CID_Registry_Ordering_Supplement(face, registry, ordering, supplement) ⇒ Object



5
# File 'lib/ft-ffi/function/cid_fonts.rb', line 5

def self.Get_CID_Registry_Ordering_Supplement(face, registry, ordering, supplement); end

.Get_CMap_Format(charmap) ⇒ Object



35
# File 'lib/ft-ffi/function/true_type.rb', line 35

def self.Get_CMap_Format(charmap); end

.Get_CMap_Language_ID(charmap) ⇒ Object



30
# File 'lib/ft-ffi/function/true_type.rb', line 30

def self.Get_CMap_Language_ID(charmap); end

.Get_First_Char(face, agindex) ⇒ Object



81
# File 'lib/ft-ffi/function/face.rb', line 81

def self.Get_First_Char(face, agindex); end

.Get_Font_Format(face) ⇒ Object



5
# File 'lib/ft-ffi/function/font_formats.rb', line 5

def self.Get_Font_Format(face); end

.Get_FSType_Flags(face) ⇒ Object



86
# File 'lib/ft-ffi/function/face.rb', line 86

def self.Get_FSType_Flags(face); end

.Get_Gasp(face, ppem) ⇒ Object



91
# File 'lib/ft-ffi/function/face.rb', line 91

def self.Get_Gasp(face, ppem); end

.Get_Glyph(slot, aglyph) ⇒ Object



18
# File 'lib/ft-ffi/function/glyph_management.rb', line 18

def self.Get_Glyph(slot, aglyph); end

.Get_Glyph_Name(face, glyph_index, buffer, buffer_max) ⇒ Object



97
# File 'lib/ft-ffi/function/face.rb', line 97

def self.Get_Glyph_Name(face, glyph_index, buffer, buffer_max); end

.Get_Kerning(face, left_glyph, right_glyph, kern_mode, akerning) ⇒ Object



102
# File 'lib/ft-ffi/function/face.rb', line 102

def self.Get_Kerning(face, left_glyph, right_glyph, kern_mode, akerning); end

.Get_MM_Blend_Coordinates(face, num_coords, coords) ⇒ Object



45
# File 'lib/ft-ffi/function/multiple_master.rb', line 45

def self.Get_MM_Blend_Coordinates(face, num_coords, coords); end

.Get_MM_Var(face, amaster) ⇒ Object



12
# File 'lib/ft-ffi/function/multiple_master.rb', line 12

def self.Get_MM_Var(face, amaster); end

.Get_Module(library, module_name) ⇒ Object



14
# File 'lib/ft-ffi/function/module_management.rb', line 14

def self.Get_Module(library, module_name); end

.Get_Multi_Master(face, amaster) ⇒ Object



7
# File 'lib/ft-ffi/function/multiple_master.rb', line 7

def self.Get_Multi_Master(face, amaster); end

.Get_Name_Index(face, glyph_name) ⇒ Object



117
# File 'lib/ft-ffi/function/face.rb', line 117

def self.Get_Name_Index(face, glyph_name); end

.Get_Next_Char(face, char_code, agindex) ⇒ Object



112
# File 'lib/ft-ffi/function/face.rb', line 112

def self.Get_Next_Char(face, char_code, agindex); end

.Get_PFR_Advance(face, gindex, aadvance) ⇒ Object



23
# File 'lib/ft-ffi/function/pfr.rb', line 23

def self.Get_PFR_Advance(face, gindex, aadvance); end

.Get_PFR_Kerning(face, left, right, avector) ⇒ Object



18
# File 'lib/ft-ffi/function/pfr.rb', line 18

def self.Get_PFR_Kerning(face, left, right, avector); end

.Get_PFR_Metrics(face, aoutline_resolution, ametrics_resolution, ametrics_x_scale, ametrics_y_scale) ⇒ Object



8
# File 'lib/ft-ffi/function/pfr.rb', line 8

def self.Get_PFR_Metrics(face, aoutline_resolution, ametrics_resolution, ametrics_x_scale, ametrics_y_scale); end

.Get_Postscript_Name(face) ⇒ Object



122
# File 'lib/ft-ffi/function/face.rb', line 122

def self.Get_Postscript_Name(face); end

.Get_PS_Font_Info(face, afont_info) ⇒ Object



14
# File 'lib/ft-ffi/function/postscript.rb', line 14

def self.Get_PS_Font_Info(face, afont_info); end

.Get_PS_Font_Private(face, afont_private) ⇒ Object



19
# File 'lib/ft-ffi/function/postscript.rb', line 19

def self.Get_PS_Font_Private(face, afont_private); end

.Get_PS_Font_Value(face, key, idx, value, value_len) ⇒ Object



24
# File 'lib/ft-ffi/function/postscript.rb', line 24

def self.Get_PS_Font_Value(face, key, idx, value, value_len); end

.Get_Renderer(library, format) ⇒ Object



71
# File 'lib/ft-ffi/function/module_management.rb', line 71

def self.Get_Renderer(library, format); end

.Get_Sfnt_LangTag(face, langID, alangTag) ⇒ Object



18
# File 'lib/ft-ffi/function/sfont.rb', line 18

def self.Get_Sfnt_LangTag(face, langID, alangTag); end

.Get_Sfnt_Name(face, idx, aname) ⇒ Object



13
# File 'lib/ft-ffi/function/sfont.rb', line 13

def self.Get_Sfnt_Name(face, idx, aname); end

.Get_Sfnt_Name_Count(face) ⇒ Object



8
# File 'lib/ft-ffi/function/sfont.rb', line 8

def self.Get_Sfnt_Name_Count(face); end

.Get_Sfnt_Table(face, tag) ⇒ Object



6
# File 'lib/ft-ffi/function/true_type.rb', line 6

def self.Get_Sfnt_Table(face, tag); end

.Get_SubGlyph_Info(glyph, sub_index, p_index, p_flags, p_arg1, p_arg2, p_transform) ⇒ Object



7
# File 'lib/ft-ffi/function/glyph_slot.rb', line 7

def self.Get_SubGlyph_Info(glyph, sub_index, p_index, p_flags, p_arg1, p_arg2, p_transform); end

.Get_Track_Kerning(face, point_size, degree, akerning) ⇒ Object



152
# File 'lib/ft-ffi/function/face.rb', line 152

def self.Get_Track_Kerning(face, point_size, degree, akerning); end

.Get_TrueType_Engine_Type(library) ⇒ Object



40
# File 'lib/ft-ffi/function/true_type.rb', line 40

def self.Get_TrueType_Engine_Type(library); end

.Get_Var_Axis_Flags(master, axis_index, flags) ⇒ Object



30
# File 'lib/ft-ffi/function/multiple_master.rb', line 30

def self.Get_Var_Axis_Flags(master, axis_index, flags); end

.Get_Var_Blend_Coordinates(face, num_coords, coords) ⇒ Object



55
# File 'lib/ft-ffi/function/multiple_master.rb', line 55

def self.Get_Var_Blend_Coordinates(face, num_coords, coords); end

.Get_Var_Design_Coordinates(face, num_coords, coords) ⇒ Object



35
# File 'lib/ft-ffi/function/multiple_master.rb', line 35

def self.Get_Var_Design_Coordinates(face, num_coords, coords); end

.Get_WinFNT_Header(aheader) ⇒ Object



6
# File 'lib/ft-ffi/function/win_fnt.rb', line 6

def self.Get_WinFNT_Header(aheader); end

.Get_X11_Font_Format(face) ⇒ Object

deprecated



10
# File 'lib/ft-ffi/function/font_formats.rb', line 10

def self.Get_X11_Font_Format(face); end

.Glyph_Copy(source, target) ⇒ Object



28
# File 'lib/ft-ffi/function/glyph_management.rb', line 28

def self.Glyph_Copy(source, target); end

.Glyph_Get_CBox(glyph, bbox_mode, acbox) ⇒ Object



23
# File 'lib/ft-ffi/function/glyph_management.rb', line 23

def self.Glyph_Get_CBox(glyph, bbox_mode, acbox); end

.Glyph_Stroke(pglyph, stroker, destroy) ⇒ Object



11
# File 'lib/ft-ffi/function/glyph_stroker.rb', line 11

def self.Glyph_Stroke(pglyph, stroker, destroy); end

.Glyph_StrokeBorder(pglyph, stroker, inside, destroy) ⇒ Object



16
# File 'lib/ft-ffi/function/glyph_stroker.rb', line 16

def self.Glyph_StrokeBorder(pglyph, stroker, inside, destroy); end

.Glyph_To_Bitmap(the_glyph, render_mode, origin, destroy) ⇒ Object



38
# File 'lib/ft-ffi/function/glyph_management.rb', line 38

def self.Glyph_To_Bitmap(the_glyph, render_mode, origin, destroy); end

.Glyph_Transform(glyph, matrix, delta) ⇒ Object



33
# File 'lib/ft-ffi/function/glyph_management.rb', line 33

def self.Glyph_Transform(glyph, matrix, delta); end

.GlyphSlot_Embolden(slot) ⇒ Object



19
# File 'lib/ft-ffi/function/glyph_slot.rb', line 19

def self.GlyphSlot_Embolden(slot); end

.GlyphSlot_Oblique(slot) ⇒ Object



23
# File 'lib/ft-ffi/function/glyph_slot.rb', line 23

def self.GlyphSlot_Oblique(slot); end

.GlyphSlot_Own_Bitmap(slot) ⇒ Object



28
# File 'lib/ft-ffi/function/glyph_slot.rb', line 28

def self.GlyphSlot_Own_Bitmap(slot); end

.Gzip_Uncompress(memory, output, output_len, input, input_len) ⇒ Object



13
# File 'lib/ft-ffi/function/gzip.rb', line 13

def self.Gzip_Uncompress(memory, output, output_len, input, input_len); end

.Has_PS_Glyph_Names(face) ⇒ Object



9
# File 'lib/ft-ffi/function/postscript.rb', line 9

def self.Has_PS_Glyph_Names(face); end

.ImageCache_Lookup(cache, type, gindex, aglyph, anode) ⇒ Object



40
# File 'lib/ft-ffi/function/cache.rb', line 40

def self.ImageCache_Lookup(cache, type, gindex, aglyph, anode); end

.ImageCache_LookupScaler(cache, scaler, load_flags, gindex, aglyph, anode) ⇒ Object



51
# File 'lib/ft-ffi/function/cache.rb', line 51

def self.ImageCache_LookupScaler(cache, scaler, load_flags, gindex, aglyph, anode); end

.ImageCache_New(manager, acache) ⇒ Object



64
# File 'lib/ft-ffi/function/cache.rb', line 64

def self.ImageCache_New(manager, acache); end

.Init_FreeType(library) ⇒ Object



10
# File 'lib/ft-ffi/function/library.rb', line 10

def self.Init_FreeType(library); end

.Library_SetLcdFilter(library, filter) ⇒ Object



12
# File 'lib/ft-ffi/function/lcd_filtering.rb', line 12

def self.Library_SetLcdFilter(library, filter); end

.Library_SetLcdFilterWeights(library, weights) ⇒ Object



17
# File 'lib/ft-ffi/function/lcd_filtering.rb', line 17

def self.Library_SetLcdFilterWeights(library, weights); end

.Library_Version(library, amajor, aminor, apatch) ⇒ Object



3
# File 'lib/ft-ffi/function/version.rb', line 3

def self.Library_Version(library, amajor, aminor, apatch); end

.List_Add(list, node) ⇒ Object



13
# File 'lib/ft-ffi/function/list.rb', line 13

def self.List_Add(list, node); end

.List_Finalize(list, destroy, memory, user) ⇒ Object



18
# File 'lib/ft-ffi/function/list.rb', line 18

def self.List_Finalize(list, destroy, memory, user); end

.List_Find(list, data) ⇒ Object



27
# File 'lib/ft-ffi/function/list.rb', line 27

def self.List_Find(list, data); end

.List_Insert(list, node) ⇒ Object



32
# File 'lib/ft-ffi/function/list.rb', line 32

def self.List_Insert(list, node); end

.List_Iterate(list, iterator, user) ⇒ Object



37
# File 'lib/ft-ffi/function/list.rb', line 37

def self.List_Iterate(list, iterator, user); end

.List_Remove(list, node) ⇒ Object



42
# File 'lib/ft-ffi/function/list.rb', line 42

def self.List_Remove(list, node); end

.List_Up(list, node) ⇒ Object



47
# File 'lib/ft-ffi/function/list.rb', line 47

def self.List_Up(list, node); end

.Load_Char(face, char_code, load_flags) ⇒ Object



127
# File 'lib/ft-ffi/function/face.rb', line 127

def self.Load_Char(face, char_code, load_flags); end

.Load_Glyph(face, glyph_index, load_flags) ⇒ Object



132
# File 'lib/ft-ffi/function/face.rb', line 132

def self.Load_Glyph(face, glyph_index, load_flags); end

.Load_Sfnt_Table(face, tag, offset, buffer, length) ⇒ Object



11
# File 'lib/ft-ffi/function/true_type.rb', line 11

def self.Load_Sfnt_Table(face, tag, offset, buffer, length); end

.MAKE_TAG(x1, x2, x3, x4) ⇒ Object



4
5
6
# File 'lib/ft-ffi/macro/basic_type.rb', line 4

def MAKE_TAG(x1, x2, x3, x4)
  x1 << 24 | x2 << 16 | x3 << 8 | x4
end

.Manager_Done(manager) ⇒ Object



69
# File 'lib/ft-ffi/function/cache.rb', line 69

def self.Manager_Done(manager); end

.Manager_LookupFace(manager, face_id, aface) ⇒ Object



74
# File 'lib/ft-ffi/function/cache.rb', line 74

def self.Manager_LookupFace(manager, face_id, aface); end

.Manager_LookupSize(manager, scaler, asize) ⇒ Object



80
# File 'lib/ft-ffi/function/cache.rb', line 80

def self.Manager_LookupSize(manager, scaler, asize); end

.Manager_New(library, max_faces, max_sizes, max_bytes, requester, req_data, amanager) ⇒ Object



86
# File 'lib/ft-ffi/function/cache.rb', line 86

def self.Manager_New(library, max_faces, max_sizes, max_bytes, requester, req_data, amanager); end

.Manager_RemoveFaceID(manager, face_id) ⇒ Object



99
# File 'lib/ft-ffi/function/cache.rb', line 99

def self.Manager_RemoveFaceID(manager, face_id); end

.Manager_Reset(manager) ⇒ Object



104
# File 'lib/ft-ffi/function/cache.rb', line 104

def self.Manager_Reset(manager); end

.Matrix_Invert(matrix) ⇒ Object



58
# File 'lib/ft-ffi/function/computation.rb', line 58

def self.Matrix_Invert(matrix); end

.Matrix_Multiply(a, b) ⇒ Object



53
# File 'lib/ft-ffi/function/computation.rb', line 53

def self.Matrix_Multiply(a, b); end

.MulDiv(a, b, c) ⇒ Object



18
# File 'lib/ft-ffi/function/computation.rb', line 18

def self.MulDiv(a, b, c); end

.MulFix(a, b) ⇒ Object



23
# File 'lib/ft-ffi/function/computation.rb', line 23

def self.MulFix(a, b); end

.New_Face(library, filepathname, face_index, aface) ⇒ Object



48
# File 'lib/ft-ffi/function/face.rb', line 48

def self.New_Face(library, filepathname, face_index, aface); end

.New_Library(memory, alibrary) ⇒ Object



52
# File 'lib/ft-ffi/function/module_management.rb', line 52

def self.New_Library(memory, alibrary); end

.New_Memory_Face(library, file_base, file_size, face_index, aface) ⇒ Object



33
# File 'lib/ft-ffi/function/face.rb', line 33

def self.New_Memory_Face(library, file_base, file_size, face_index, aface); end

.New_Size(face, size) ⇒ Object



10
# File 'lib/ft-ffi/function/size.rb', line 10

def self.New_Size(face, size); end

.Node_Unref(node, manager) ⇒ Object



109
# File 'lib/ft-ffi/function/cache.rb', line 109

def self.Node_Unref(node, manager); end

.Open_Face(library, args, face_index, aface) ⇒ Object



43
# File 'lib/ft-ffi/function/face.rb', line 43

def self.Open_Face(library, args, face_index, aface); end

.OpenType_Free(face, table) ⇒ Object



5
# File 'lib/ft-ffi/function/open_type.rb', line 5

def self.OpenType_Free(face, table); end

.OpenType_Validate(face, validation_flags, bASE_table, gDEF_table, gPOS_table, gSUB_table, jSTF_table) ⇒ Object



10
# File 'lib/ft-ffi/function/open_type.rb', line 10

def self.OpenType_Validate(face, validation_flags, bASE_table, gDEF_table, gPOS_table, gSUB_table, jSTF_table); end

.Outline_Check(outline) ⇒ Object



9
# File 'lib/ft-ffi/function/outline.rb', line 9

def self.Outline_Check(outline); end

.Outline_Copy(source, target) ⇒ Object



14
# File 'lib/ft-ffi/function/outline.rb', line 14

def self.Outline_Copy(source, target); end

.Outline_Decompose(outline, func_interface, user) ⇒ Object



19
# File 'lib/ft-ffi/function/outline.rb', line 19

def self.Outline_Decompose(outline, func_interface, user); end

.Outline_Done(library, outline) ⇒ Object



24
# File 'lib/ft-ffi/function/outline.rb', line 24

def self.Outline_Done(library, outline); end

.Outline_Done_Internal(memory, outline) ⇒ Object



28
# File 'lib/ft-ffi/function/outline.rb', line 28

def self.Outline_Done_Internal(memory, outline); end

.Outline_Embolden(outline, strength) ⇒ Object



33
# File 'lib/ft-ffi/function/outline.rb', line 33

def self.Outline_Embolden(outline, strength); end

.Outline_EmboldenXY(outline, xstrength, ystrength) ⇒ Object



38
# File 'lib/ft-ffi/function/outline.rb', line 38

def self.Outline_EmboldenXY(outline, xstrength, ystrength); end

.Outline_Get_BBox(outline, abbox) ⇒ Object



43
# File 'lib/ft-ffi/function/outline.rb', line 43

def self.Outline_Get_BBox(outline, abbox); end

.Outline_Get_Bitmap(library, outline, abitmap) ⇒ Object



48
# File 'lib/ft-ffi/function/outline.rb', line 48

def self.Outline_Get_Bitmap(library, outline, abitmap); end

.Outline_Get_CBox(outline, acbox) ⇒ Object



53
# File 'lib/ft-ffi/function/outline.rb', line 53

def self.Outline_Get_CBox(outline, acbox); end

.Outline_Get_Orientation(outline) ⇒ Object



58
# File 'lib/ft-ffi/function/outline.rb', line 58

def self.Outline_Get_Orientation(outline); end

.Outline_GetInsideBorder(outline) ⇒ Object



21
# File 'lib/ft-ffi/function/glyph_stroker.rb', line 21

def self.Outline_GetInsideBorder(outline); end

.Outline_GetOutsideBorder(outline) ⇒ Object



25
# File 'lib/ft-ffi/function/glyph_stroker.rb', line 25

def self.Outline_GetOutsideBorder(outline); end

.Outline_New(library, numPoints, numContours, anoutline) ⇒ Object



63
# File 'lib/ft-ffi/function/outline.rb', line 63

def self.Outline_New(library, numPoints, numContours, anoutline); end

.Outline_New_Internal(memory, numPoints, numContours, anoutline) ⇒ Object



71
# File 'lib/ft-ffi/function/outline.rb', line 71

def self.Outline_New_Internal(memory, numPoints, numContours, anoutline); end

.Outline_Render(library, outline, params) ⇒ Object



80
# File 'lib/ft-ffi/function/outline.rb', line 80

def self.Outline_Render(library, outline, params); end

.Outline_Reverse(outline) ⇒ Object



85
# File 'lib/ft-ffi/function/outline.rb', line 85

def self.Outline_Reverse(outline); end

.Outline_Transform(outline, matrix) ⇒ Object



90
# File 'lib/ft-ffi/function/outline.rb', line 90

def self.Outline_Transform(outline, matrix); end

.Outline_Translate(outline, xOffset, yOffset) ⇒ Object



95
# File 'lib/ft-ffi/function/outline.rb', line 95

def self.Outline_Translate(outline, xOffset, yOffset); end

.Property_Get(library, module_name, property_name, value) ⇒ Object



38
# File 'lib/ft-ffi/function/module_management.rb', line 38

def self.Property_Get(library, module_name, property_name, value); end

.Property_Set(library, module_name, property_name, value) ⇒ Object



29
# File 'lib/ft-ffi/function/module_management.rb', line 29

def self.Property_Set(library, module_name, property_name, value); end

.Reference_Face(face) ⇒ Object



28
# File 'lib/ft-ffi/function/face.rb', line 28

def self.Reference_Face(face); end

.Reference_Library(library) ⇒ Object



62
# File 'lib/ft-ffi/function/module_management.rb', line 62

def self.Reference_Library(library); end

.Remove_Module(library, amodule) ⇒ Object



19
# File 'lib/ft-ffi/function/module_management.rb', line 19

def self.Remove_Module(library, amodule); end

.Render_Glyph(slot, render_mode) ⇒ Object



33
# File 'lib/ft-ffi/function/glyph_slot.rb', line 33

def self.Render_Glyph(slot, render_mode); end

.Request_Size(face, req) ⇒ Object



208
# File 'lib/ft-ffi/function/face.rb', line 208

def self.Request_Size(face, req); end

.RoundFix(a) ⇒ Object



33
# File 'lib/ft-ffi/function/computation.rb', line 33

def self.RoundFix(a); end

.SBitCache_Lookup(cache, type, gindex, sbit, anode) ⇒ Object



114
# File 'lib/ft-ffi/function/cache.rb', line 114

def self.SBitCache_Lookup(cache, type, gindex, sbit, anode); end

.SBitCache_LookupScaler(cache, scaler, load_flags, gindex, sbit, anode) ⇒ Object



125
# File 'lib/ft-ffi/function/cache.rb', line 125

def self.SBitCache_LookupScaler(cache, scaler, load_flags, gindex, sbit, anode); end

.SBitCache_New(manager, acache) ⇒ Object



138
# File 'lib/ft-ffi/function/cache.rb', line 138

def self.SBitCache_New(manager, acache); end

.Select_Charmap(face, encoding) ⇒ Object



192
# File 'lib/ft-ffi/function/face.rb', line 192

def self.Select_Charmap(face, encoding); end

.Select_Size(face, strike_index) ⇒ Object



213
# File 'lib/ft-ffi/function/face.rb', line 213

def self.Select_Size(face, strike_index); end

.Set_Char_Size(face, char_width, char_height, horz_resolution, vert_resolution) ⇒ Object



137
# File 'lib/ft-ffi/function/face.rb', line 137

def self.Set_Char_Size(face, char_width, char_height, horz_resolution, vert_resolution); end

.Set_Charmap(face, charmap) ⇒ Object



218
# File 'lib/ft-ffi/function/face.rb', line 218

def self.Set_Charmap(face, charmap); end

.Set_Debug_Hook(library, hook_index, debug_hook) ⇒ Object



84
# File 'lib/ft-ffi/function/module_management.rb', line 84

def self.Set_Debug_Hook(library, hook_index, debug_hook); end

.Set_Default_Properties(library) ⇒ Object



47
# File 'lib/ft-ffi/function/module_management.rb', line 47

def self.Set_Default_Properties(library); end

.Set_MM_Blend_Coordinates(face, num_coords, coords) ⇒ Object



50
# File 'lib/ft-ffi/function/multiple_master.rb', line 50

def self.Set_MM_Blend_Coordinates(face, num_coords, coords); end

.Set_MM_Design_Coordinates(face, num_coords, coords) ⇒ Object



22
# File 'lib/ft-ffi/function/multiple_master.rb', line 22

def self.Set_MM_Design_Coordinates(face, num_coords, coords); end

.Set_Named_Instance(face, instance_index) ⇒ Object



65
# File 'lib/ft-ffi/function/multiple_master.rb', line 65

def self.Set_Named_Instance(face, instance_index); end

.Set_Pixel_Sizes(face, pixel_width, pixel_height) ⇒ Object



147
# File 'lib/ft-ffi/function/face.rb', line 147

def self.Set_Pixel_Sizes(face, pixel_width, pixel_height); end

.Set_Renderer(library, renderer, num_params, parameters) ⇒ Object



76
# File 'lib/ft-ffi/function/module_management.rb', line 76

def self.Set_Renderer(library, renderer, num_params, parameters); end

.Set_Transform(face, matrix, delta) ⇒ Object



223
# File 'lib/ft-ffi/function/face.rb', line 223

def self.Set_Transform(face, matrix, delta); end

.Set_Var_Blend_Coordinates(face, num_coords, coords) ⇒ Object



60
# File 'lib/ft-ffi/function/multiple_master.rb', line 60

def self.Set_Var_Blend_Coordinates(face, num_coords, coords); end

.Set_Var_Design_Coordinates(face, num_coords, coords) ⇒ Object



40
# File 'lib/ft-ffi/function/multiple_master.rb', line 40

def self.Set_Var_Design_Coordinates(face, num_coords, coords); end

.Sfnt_Table_Info(face, table_index, tag, length) ⇒ Object



21
# File 'lib/ft-ffi/function/true_type.rb', line 21

def self.Sfnt_Table_Info(face, table_index, tag, length); end

.Sin(angle) ⇒ Object



63
# File 'lib/ft-ffi/function/computation.rb', line 63

def self.Sin(angle); end

.Stream_OpenGzip(stream, source) ⇒ Object



8
# File 'lib/ft-ffi/function/gzip.rb', line 8

def self.Stream_OpenGzip(stream, source); end

.Stream_OpenLZW(stream, source) ⇒ Object



6
# File 'lib/ft-ffi/function/stream.rb', line 6

def self.Stream_OpenLZW(stream, source); end

.Stroker_BeginSubPath(stroker, to, open) ⇒ Object



30
# File 'lib/ft-ffi/function/glyph_stroker.rb', line 30

def self.Stroker_BeginSubPath(stroker, to, open); end

.Stroker_ConicTo(stroker, control, to) ⇒ Object



35
# File 'lib/ft-ffi/function/glyph_stroker.rb', line 35

def self.Stroker_ConicTo(stroker, control, to); end

.Stroker_CubicTo(stroker, control1, control2, to) ⇒ Object



40
# File 'lib/ft-ffi/function/glyph_stroker.rb', line 40

def self.Stroker_CubicTo(stroker, control1, control2, to); end

.Stroker_Done(stroker) ⇒ Object



45
# File 'lib/ft-ffi/function/glyph_stroker.rb', line 45

def self.Stroker_Done(stroker); end

.Stroker_EndSubPath(stroker) ⇒ Object



50
# File 'lib/ft-ffi/function/glyph_stroker.rb', line 50

def self.Stroker_EndSubPath(stroker); end

.Stroker_Export(stroker, outline) ⇒ Object



61
# File 'lib/ft-ffi/function/glyph_stroker.rb', line 61

def self.Stroker_Export(stroker, outline); end

.Stroker_ExportBorder(stroker, border, outline) ⇒ Object



55
# File 'lib/ft-ffi/function/glyph_stroker.rb', line 55

def self.Stroker_ExportBorder(stroker, border, outline); end

.Stroker_GetBorderCounts(stroker, border, anum_points, anum_contours) ⇒ Object



67
# File 'lib/ft-ffi/function/glyph_stroker.rb', line 67

def self.Stroker_GetBorderCounts(stroker, border, anum_points, anum_contours); end

.Stroker_GetCounts(stroker, anum_points, anum_contours) ⇒ Object



76
# File 'lib/ft-ffi/function/glyph_stroker.rb', line 76

def self.Stroker_GetCounts(stroker, anum_points, anum_contours); end

.Stroker_LineTo(stroker, to) ⇒ Object



81
# File 'lib/ft-ffi/function/glyph_stroker.rb', line 81

def self.Stroker_LineTo(stroker, to); end

.Stroker_New(library, astroker) ⇒ Object



86
# File 'lib/ft-ffi/function/glyph_stroker.rb', line 86

def self.Stroker_New(library, astroker); end

.Stroker_ParseOutline(stroker, outline, opened) ⇒ Object



91
# File 'lib/ft-ffi/function/glyph_stroker.rb', line 91

def self.Stroker_ParseOutline(stroker, outline, opened); end

.Stroker_Rewind(stroker) ⇒ Object



96
# File 'lib/ft-ffi/function/glyph_stroker.rb', line 96

def self.Stroker_Rewind(stroker); end

.Stroker_Set(stroker, radius, line_cap, line_join, miter_limit) ⇒ Object



101
# File 'lib/ft-ffi/function/glyph_stroker.rb', line 101

def self.Stroker_Set(stroker, radius, line_cap, line_join, miter_limit); end

.Tan(angle) ⇒ Object



73
# File 'lib/ft-ffi/function/computation.rb', line 73

def self.Tan(angle); end

.TrueTypeGX_Free(face, table) ⇒ Object



16
# File 'lib/ft-ffi/function/ttgx.rb', line 16

def self.TrueTypeGX_Free(face, table); end

.TrueTypeGX_Validate(face, validation_flags, tables, table_length) ⇒ Object



7
# File 'lib/ft-ffi/function/ttgx.rb', line 7

def self.TrueTypeGX_Validate(face, validation_flags, tables, table_length); end

.Vector_From_Polar(vec, length, angle) ⇒ Object



108
# File 'lib/ft-ffi/function/computation.rb', line 108

def self.Vector_From_Polar(vec, length, angle); end

.Vector_Length(vec) ⇒ Object



98
# File 'lib/ft-ffi/function/computation.rb', line 98

def self.Vector_Length(vec); end

.Vector_Polarize(vec, length, angle) ⇒ Object



103
# File 'lib/ft-ffi/function/computation.rb', line 103

def self.Vector_Polarize(vec, length, angle); end

.Vector_Rotate(vec, angle) ⇒ Object



93
# File 'lib/ft-ffi/function/computation.rb', line 93

def self.Vector_Rotate(vec, angle); end

.Vector_Transform(vec, matrix) ⇒ Object



48
# File 'lib/ft-ffi/function/computation.rb', line 48

def self.Vector_Transform(vec, matrix); end

.Vector_Unit(vec, angle) ⇒ Object



88
# File 'lib/ft-ffi/function/computation.rb', line 88

def self.Vector_Unit(vec, angle); end

Instance Method Details

#FT_HAS_COLOR(face) ⇒ Object

define FT_HAS_COLOR( face )( (face)->face_flags & FT_FACE_FLAG_COLOR )



75
76
77
# File 'lib/ft-ffi/macro/face.rb', line 75

def FT_HAS_COLOR(face)
  face.face_flags & FaceFlag[:COLOR]
end

#FT_HAS_FAST_GLYPHS(face) ⇒ Object

define FT_HAS_FAST_GLYPHS( face ) 0 // Deprecated



40
41
42
# File 'lib/ft-ffi/macro/face.rb', line 40

def FT_HAS_FAST_GLYPHS( face )
  0
end

#FT_HAS_FIXED_SIZES(face) ⇒ Object

define FT_HAS_FIXED_SIZES( face )( (face)->face_flags & FT_FACE_FLAG_FIXED_SIZES )



35
36
37
# File 'lib/ft-ffi/macro/face.rb', line 35

def FT_HAS_FIXED_SIZES(face)
  face.face_flags & FaceFlag[:FIXED_SIZES]
end

#FT_HAS_GLYPH_NAMES(face) ⇒ Object

define FT_HAS_GLYPH_NAMES( face )( (face)->face_flags & FT_FACE_FLAG_GLYPH_NAMES )



45
46
47
# File 'lib/ft-ffi/macro/face.rb', line 45

def FT_HAS_GLYPH_NAMES(face)
  face.face_flags & FaceFlag[:GLYPH_NAMES]
end

#FT_HAS_HORIZONTAL(face) ⇒ Object

define FT_HAS_HORIZONTAL( face )( (face)->face_flags & FT_FACE_FLAG_HORIZONTAL )



5
6
7
# File 'lib/ft-ffi/macro/face.rb', line 5

def FT_HAS_HORIZONTAL(face)
  face.face_flags & FaceFlag[:HORIZONTAL]
end

#FT_HAS_KERNING(face) ⇒ Object

define FT_HAS_KERNING( face )( (face)->face_flags & FT_FACE_FLAG_KERNING )



15
16
17
# File 'lib/ft-ffi/macro/face.rb', line 15

def FT_HAS_KERNING(face)
  face.face_flags & FaceFlag[:KERNING]
end

#FT_HAS_MULTIPLE_MASTERS(face) ⇒ Object

define FT_HAS_MULTIPLE_MASTERS( face )( (face)->face_flags & FT_FACE_FLAG_MULTIPLE_MASTERS )



50
51
52
# File 'lib/ft-ffi/macro/face.rb', line 50

def FT_HAS_MULTIPLE_MASTERS(face)
  face.face_flags & FaceFlag[:MULTIPLE_MASTERS]
end

#FT_HAS_VERTICAL(face) ⇒ Object

define FT_HAS_VERTICAL( face )( (face)->face_flags & FT_FACE_FLAG_VERTICAL )



10
11
12
# File 'lib/ft-ffi/macro/face.rb', line 10

def FT_HAS_VERTICAL(face)
  face.face_flags & FaceFlag[:VERTICAL]
end

#FT_IS_CID_KEYED(face) ⇒ Object

define FT_IS_CID_KEYED( face )( (face)->face_flags & FT_FACE_FLAG_CID_KEYED )



65
66
67
# File 'lib/ft-ffi/macro/face.rb', line 65

def FT_IS_CID_KEYED(face)
  face.face_flags & FaceFlag[:CID_KEYED]
end

#FT_IS_FIXED_WIDTH(face) ⇒ Object

define FT_IS_FIXED_WIDTH( face )( (face)->face_flags & FT_FACE_FLAG_FIXED_WIDTH )



30
31
32
# File 'lib/ft-ffi/macro/face.rb', line 30

def FT_IS_FIXED_WIDTH(face)
  face.face_flags & FaceFlag[:FIXED_WIDTH]
end

#FT_IS_NAMED_INSTANCE(face) ⇒ Object

define FT_IS_NAMED_INSTANCE( face ) ( (face)->face_index & 0x7FFF0000L )



55
56
57
# File 'lib/ft-ffi/macro/face.rb', line 55

def FT_IS_NAMED_INSTANCE(face)
  face.face_index & 0x7FFF0000
end

#FT_IS_SCALABLE(face) ⇒ Object

define FT_IS_SCALABLE( face )( (face)->face_flags & FT_FACE_FLAG_SCALABLE )



20
21
22
# File 'lib/ft-ffi/macro/face.rb', line 20

def FT_IS_SCALABLE(face)
  face.face_flags & FaceFlag[:SCALABLE]
end

#FT_IS_SFNT(face) ⇒ Object

define FT_IS_SFNT( face )( (face)->face_flags & FT_FACE_FLAG_SFNT )



25
26
27
# File 'lib/ft-ffi/macro/face.rb', line 25

def FT_IS_SFNT(face)
  face.face_flags & FaceFlag[:SFNT]
end

#FT_IS_TRICKY(face) ⇒ Object

define FT_IS_TRICKY( face )( (face)->face_flags & FT_FACE_FLAG_TRICKY )



70
71
72
# File 'lib/ft-ffi/macro/face.rb', line 70

def FT_IS_TRICKY(face)
  face.face_flags & FaceFlag[:TRICKY]
end

#FT_IS_VARIATION(face) ⇒ Object

define FT_IS_VARIATION( face )( (face)->face_flags & FT_FACE_FLAG_VARIATION )



60
61
62
# File 'lib/ft-ffi/macro/face.rb', line 60

def FT_IS_VARIATION(face)
  face.face_flags & FaceFlag[:VARIATION]
end

#FTC_IMAGE_TYPE_COMPARE(d1, d2) ⇒ Object



2
3
4
# File 'lib/ft-ffi/macro/cache.rb', line 2

def FTC_IMAGE_TYPE_COMPARE( d1, d2 )
  d1.face_id == d2.face_id && d1.width == d2.width && d1.flags == d2.flags
end

#IS_EMPTY(list) ⇒ Object

define FT_IS_EMPTY( list ) ( (list).head == 0 )



5
6
7
# File 'lib/ft-ffi/macro/list.rb', line 5

def IS_EMPTY( list )
  list.head == 0
end