亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? ftobjs.h

?? 可以在hge引擎中顯示中文字體
?? H
?? 第 1 頁 / 共 3 頁
字號:
/***************************************************************************/
/*                                                                         */
/*  ftobjs.h                                                               */
/*                                                                         */
/*    The FreeType private base classes (specification).                   */
/*                                                                         */
/*  Copyright 1996-2001, 2002, 2003, 2004, 2005, 2006 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.                                        */
/*                                                                         */
/***************************************************************************/


  /*************************************************************************/
  /*                                                                       */
  /*  This file contains the definition of all internal FreeType classes.  */
  /*                                                                       */
  /*************************************************************************/


#ifndef __FTOBJS_H__
#define __FTOBJS_H__

#include <ft2build.h>
#include FT_RENDER_H
#include FT_SIZES_H
#include FT_LCD_FILTER_H
#include FT_INTERNAL_MEMORY_H
#include FT_INTERNAL_GLYPH_LOADER_H
#include FT_INTERNAL_DRIVER_H
#include FT_INTERNAL_AUTOHINT_H
#include FT_INTERNAL_SERVICE_H

#ifdef FT_CONFIG_OPTION_INCREMENTAL
#include FT_INCREMENTAL_H
#endif


FT_BEGIN_HEADER


  /*************************************************************************/
  /*                                                                       */
  /* Some generic definitions.                                             */
  /*                                                                       */
#ifndef TRUE
#define TRUE  1
#endif

#ifndef FALSE
#define FALSE  0
#endif

#ifndef NULL
#define NULL  (void*)0
#endif


  /*************************************************************************/
  /*                                                                       */
  /* The min and max functions missing in C.  As usual, be careful not to  */
  /* write things like FT_MIN( a++, b++ ) to avoid side effects.           */
  /*                                                                       */
#define FT_MIN( a, b )  ( (a) < (b) ? (a) : (b) )
#define FT_MAX( a, b )  ( (a) > (b) ? (a) : (b) )

#define FT_ABS( a )     ( (a) < 0 ? -(a) : (a) )


#define FT_PAD_FLOOR( x, n )  ( (x) & ~((n)-1) )
#define FT_PAD_ROUND( x, n )  FT_PAD_FLOOR( (x) + ((n)/2), n )
#define FT_PAD_CEIL( x, n )   FT_PAD_FLOOR( (x) + ((n)-1), n )

#define FT_PIX_FLOOR( x )     ( (x) & ~63 )
#define FT_PIX_ROUND( x )     FT_PIX_FLOOR( (x) + 32 )
#define FT_PIX_CEIL( x )      FT_PIX_FLOOR( (x) + 63 )


  /*
   *  Return the highest power of 2 that is <= value; this correspond to
   *  the highest bit in a given 32-bit value.
   */
  FT_BASE( FT_UInt32 )
  ft_highpow2( FT_UInt32  value );


  /*
   *  character classification functions -- since these are used to parse
   *  font files, we must not use those in <ctypes.h> which are
   *  locale-dependent
   */
#define  ft_isdigit( x )   ( ( (unsigned)(x) - '0' ) < 10U )

#define  ft_isxdigit( x )  ( ( (unsigned)(x) - '0' ) < 10U || \
                             ( (unsigned)(x) - 'a' ) < 6U  || \
                             ( (unsigned)(x) - 'A' ) < 6U  )

  /* the next two macros assume ASCII representation */
#define  ft_isupper( x )  ( ( (unsigned)(x) - 'A' ) < 26U )
#define  ft_islower( x )  ( ( (unsigned)(x) - 'a' ) < 26U )

#define  ft_isalpha( x )  ( ft_isupper( x ) || ft_islower( x ) )
#define  ft_isalnum( x )  ( ft_isdigit( x ) || ft_isalpha( x ) )


  /*************************************************************************/
  /*************************************************************************/
  /*************************************************************************/
  /****                                                                 ****/
  /****                                                                 ****/
  /****                       C H A R M A P S                           ****/
  /****                                                                 ****/
  /****                                                                 ****/
  /*************************************************************************/
  /*************************************************************************/
  /*************************************************************************/

  /* handle to internal charmap object */
  typedef struct FT_CMapRec_*              FT_CMap;

  /* handle to charmap class structure */
  typedef const struct FT_CMap_ClassRec_*  FT_CMap_Class;

  /* internal charmap object structure */
  typedef struct  FT_CMapRec_
  {
    FT_CharMapRec  charmap;
    FT_CMap_Class  clazz;

  } FT_CMapRec;

  /* typecase any pointer to a charmap handle */
#define FT_CMAP( x )              ((FT_CMap)( x ))

  /* obvious macros */
#define FT_CMAP_PLATFORM_ID( x )  FT_CMAP( x )->charmap.platform_id
#define FT_CMAP_ENCODING_ID( x )  FT_CMAP( x )->charmap.encoding_id
#define FT_CMAP_ENCODING( x )     FT_CMAP( x )->charmap.encoding
#define FT_CMAP_FACE( x )         FT_CMAP( x )->charmap.face


  /* class method definitions */
  typedef FT_Error
  (*FT_CMap_InitFunc)( FT_CMap     cmap,
                       FT_Pointer  init_data );

  typedef void
  (*FT_CMap_DoneFunc)( FT_CMap  cmap );

  typedef FT_UInt
  (*FT_CMap_CharIndexFunc)( FT_CMap    cmap,
                            FT_UInt32  char_code );

  typedef FT_UInt
  (*FT_CMap_CharNextFunc)( FT_CMap     cmap,
                           FT_UInt32  *achar_code );


  typedef struct  FT_CMap_ClassRec_
  {
    FT_ULong               size;
    FT_CMap_InitFunc       init;
    FT_CMap_DoneFunc       done;
    FT_CMap_CharIndexFunc  char_index;
    FT_CMap_CharNextFunc   char_next;

  } FT_CMap_ClassRec;


  /* create a new charmap and add it to charmap->face */
  FT_BASE( FT_Error )
  FT_CMap_New( FT_CMap_Class  clazz,
               FT_Pointer     init_data,
               FT_CharMap     charmap,
               FT_CMap       *acmap );

  /* destroy a charmap and remove it from face's list */
  FT_BASE( void )
  FT_CMap_Done( FT_CMap  cmap );


  /*************************************************************************/
  /*                                                                       */
  /* <Struct>                                                              */
  /*    FT_Face_InternalRec                                                */
  /*                                                                       */
  /* <Description>                                                         */
  /*    This structure contains the internal fields of each FT_Face        */
  /*    object.  These fields may change between different releases of     */
  /*    FreeType.                                                          */
  /*                                                                       */
  /* <Fields>                                                              */
  /*    max_points ::                                                      */
  /*      The maximal number of points used to store the vectorial outline */
  /*      of any glyph in this face.  If this value cannot be known in     */
  /*      advance, or if the face isn't scalable, this should be set to 0. */
  /*      Only relevant for scalable formats.                              */
  /*                                                                       */
  /*    max_contours ::                                                    */
  /*      The maximal number of contours used to store the vectorial       */
  /*      outline of any glyph in this face.  If this value cannot be      */
  /*      known in advance, or if the face isn't scalable, this should be  */
  /*      set to 0.  Only relevant for scalable formats.                   */
  /*                                                                       */
  /*    transform_matrix ::                                                */
  /*      A 2x2 matrix of 16.16 coefficients used to transform glyph       */
  /*      outlines after they are loaded from the font.  Only used by the  */
  /*      convenience functions.                                           */
  /*                                                                       */
  /*    transform_delta ::                                                 */
  /*      A translation vector used to transform glyph outlines after they */
  /*      are loaded from the font.  Only used by the convenience          */
  /*      functions.                                                       */
  /*                                                                       */
  /*    transform_flags ::                                                 */
  /*      Some flags used to classify the transform.  Only used by the     */
  /*      convenience functions.                                           */
  /*                                                                       */
  /*    services ::                                                        */
  /*      A cache for frequently used services.  It should be only         */
  /*      accessed with the macro `FT_FACE_LOOKUP_SERVICE'.                */
  /*                                                                       */
  /*    incremental_interface ::                                           */
  /*      If non-null, the interface through which glyph data and metrics  */
  /*      are loaded incrementally for faces that do not provide all of    */
  /*      this data when first opened.  This field exists only if          */
  /*      @FT_CONFIG_OPTION_INCREMENTAL is defined.                        */
  /*                                                                       */
  /*    ignore_unpatented_hinter ::                                        */
  /*      This boolean flag instructs the glyph loader to ignore the       */
  /*      native font hinter, if one is found.  This is exclusively used   */
  /*      in the case when the unpatented hinter is compiled within the    */
  /*      library.                                                         */
  /*                                                                       */
  typedef struct  FT_Face_InternalRec_
  {
#ifdef FT_CONFIG_OPTION_OLD_INTERNALS
    FT_UShort           reserved1;
    FT_Short            reserved2;
#endif
    FT_Matrix           transform_matrix;
    FT_Vector           transform_delta;
    FT_Int              transform_flags;

    FT_ServiceCacheRec  services;

#ifdef FT_CONFIG_OPTION_INCREMENTAL
    FT_Incremental_InterfaceRec*  incremental_interface;
#endif

    FT_Bool             ignore_unpatented_hinter;

  } FT_Face_InternalRec;


  /*************************************************************************/
  /*                                                                       */
  /* <Struct>                                                              */
  /*    FT_Slot_InternalRec                                                */
  /*                                                                       */
  /* <Description>                                                         */
  /*    This structure contains the internal fields of each FT_GlyphSlot   */
  /*    object.  These fields may change between different releases of     */
  /*    FreeType.                                                          */
  /*                                                                       */
  /* <Fields>                                                              */
  /*    loader            :: The glyph loader object used to load outlines */
  /*                         into the glyph slot.                          */
  /*                                                                       */

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产亚洲福利社区一区| 精品视频一区二区三区免费| 天天做天天摸天天爽国产一区| 亚洲男人的天堂在线观看| 国产蜜臀av在线一区二区三区| 精品国产乱码久久久久久久| 日韩欧美一级精品久久| 日韩三级视频在线看| 欧美一级国产精品| 欧美不卡在线视频| 久久久午夜电影| 国产欧美精品区一区二区三区| 中文字幕欧美日韩一区| 国产精品久久久久影院| 亚洲日本一区二区| 亚洲影视在线播放| 午夜精品视频在线观看| 青青国产91久久久久久| 国产在线精品一区二区| 成人激情av网| 欧美日韩一区二区三区视频| 日韩一级完整毛片| 国产女人aaa级久久久级 | 精品毛片乱码1区2区3区| 精品国产青草久久久久福利| 日本一区二区三区在线观看| 中文字幕制服丝袜成人av | 日本乱人伦一区| 91精品国产91久久综合桃花| 日韩欧美国产一区二区在线播放| 精品日韩一区二区| 日本一二三不卡| 夜夜亚洲天天久久| 日韩av午夜在线观看| 国产不卡高清在线观看视频| 色婷婷香蕉在线一区二区| 欧美一区在线视频| 国产精品国产自产拍高清av| 午夜精品久久久久久久久久久 | 精品亚洲欧美一区| 一本久久a久久精品亚洲| 日韩一卡二卡三卡| 国产精品成人在线观看| 免费高清不卡av| 99久久婷婷国产| 日韩欧美色电影| 亚洲午夜电影在线| 国产一区二区视频在线| 欧美精品在线视频| 亚洲欧美综合另类在线卡通| 美女精品自拍一二三四| 欧美性生活影院| 国产精品每日更新| 国产综合久久久久久鬼色| 欧美亚男人的天堂| 国产精品乱子久久久久| 国产在线精品一区在线观看麻豆| 欧美久久一二三四区| 亚洲精品精品亚洲| 成人免费视频网站在线观看| 精品国产髙清在线看国产毛片| 视频一区视频二区中文| 粉嫩在线一区二区三区视频| 91精品国产色综合久久| 亚洲韩国精品一区| 色综合久久六月婷婷中文字幕| 国产日韩欧美不卡在线| 国内久久精品视频| 欧美一级一区二区| 五月天激情小说综合| 91首页免费视频| 亚洲欧美激情插| 99视频超级精品| 亚洲三级视频在线观看| 99精品视频一区二区| 中文字幕亚洲成人| av成人老司机| 亚洲精品亚洲人成人网| 一本到高清视频免费精品| 亚洲三级在线看| 欧美亚洲动漫另类| 天天综合网 天天综合色| 7777精品伊人久久久大香线蕉超级流畅| 一区二区三区不卡视频在线观看| 在线观看视频一区二区欧美日韩| 亚洲视频免费在线观看| 91黄色免费版| 午夜精品久久久久久久久| 日韩亚洲欧美高清| 国产剧情在线观看一区二区| 国产亚洲欧美在线| 成人av电影免费观看| 亚洲人成影院在线观看| 欧美日韩精品一区二区三区| 亚洲国产你懂的| 日韩一区二区精品葵司在线 | 中文字幕欧美日本乱码一线二线| 国产成人免费视频网站高清观看视频 | 国产一区二区三区四区五区入口| 久久亚洲综合av| gogogo免费视频观看亚洲一| 国产精品久久国产精麻豆99网站| av中文字幕不卡| 亚洲va欧美va国产va天堂影院| 欧美一区二区三区性视频| 国产成人午夜片在线观看高清观看| 日本一二三不卡| 717成人午夜免费福利电影| 久久99精品久久只有精品| 中文字幕亚洲精品在线观看 | 国产一区二区三区蝌蚪| 日韩国产高清影视| 久久综合九色综合欧美亚洲| 91在线观看地址| 另类人妖一区二区av| 中文字幕第一区二区| 欧美猛男gaygay网站| 国产一区视频网站| 亚洲国产日韩a在线播放性色| 久久综合一区二区| 欧美性猛交xxxx乱大交退制版| 国产一区欧美日韩| 亚洲第一久久影院| 久久久国产精品不卡| 欧美一区二区三区精品| 91在线高清观看| 国产91精品入口| 免费av成人在线| 亚洲成人免费影院| 国产精品久久久久天堂| 久久人人97超碰com| 欧美人牲a欧美精品| av不卡在线播放| 国产成人免费在线| 久久精品99久久久| 五月婷婷综合网| 亚洲免费三区一区二区| 国产精品天干天干在观线| 日韩精品一区二区三区中文精品 | 91精品国产免费久久综合| 99视频在线观看一区三区| 另类的小说在线视频另类成人小视频在线| 亚洲欧美日韩系列| 中文幕一区二区三区久久蜜桃| 日韩免费电影一区| 欧美精品久久99| 欧美三级日韩三级| 色呦呦网站一区| 91一区二区三区在线播放| 成人一道本在线| 成人手机电影网| 成人精品鲁一区一区二区| 懂色av中文字幕一区二区三区| 欧美图区在线视频| 在线观看日韩毛片| 91亚洲精品一区二区乱码| 97久久精品人人澡人人爽| thepron国产精品| 99久久精品久久久久久清纯| 成人av在线一区二区| 99精品热视频| 91久久精品日日躁夜夜躁欧美| 在线视频你懂得一区二区三区| 日本韩国精品在线| 欧美男男青年gay1069videost| 制服丝袜中文字幕一区| 日韩欧美一级二级三级久久久| 26uuu久久天堂性欧美| 国产视频一区二区三区在线观看| 久久精品视频免费| 日韩毛片一二三区| 亚洲国产精品一区二区久久| 日韩成人精品在线观看| 久久精品国产久精国产爱| 国产乱淫av一区二区三区| 99久久婷婷国产| 欧美日韩国产综合久久| 欧美α欧美αv大片| 国产精品无人区| 午夜精品久久久久久久久久| 激情欧美一区二区| 不卡视频一二三四| 欧美精品v国产精品v日韩精品| 欧美电影免费观看完整版| 国产精品久久久久天堂| 午夜精品久久久久久久| 国产九九视频一区二区三区| 不卡视频在线看| 日韩一区二区三区视频在线| 日本一区二区成人在线| 五月婷婷激情综合| 丁香亚洲综合激情啪啪综合| 欧美天天综合网| 中文字幕电影一区| 蜜臀久久99精品久久久画质超高清| 黄色小说综合网站| 欧美色视频一区| 国产精品网站在线播放| 日韩成人免费电影| 色猫猫国产区一区二在线视频|