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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? ftxsbit.c

?? 字體縮放顯示
?? C
?? 第 1 頁 / 共 3 頁
字號(hào):
    case 8:    case 9:      {        /* Now, load composite sbit glyphs */        /* This code is not sophisticated */        TT_SBit_Component*  component_array;        UShort              num_components;        Int i = 0;        if ( ACCESS_Frame( 2L ) )          return error;        num_components = GET_UShort();        FORGET_Frame();        MEM_Alloc( component_array,                   sizeof ( TT_SBit_Component ) * num_components );        if ( ACCESS_Frame( 4L * num_components ) )          return error;        for ( i = 0; i < num_components; i++ )        {          component_array[i].glyph_code = GET_UShort();          component_array[i].x_offset   = GET_Char();          component_array[i].y_offset   = GET_Char();        }        FORGET_Frame();        component_depth++;        for ( i = 0; i < num_components; i++ )        {          error = Load_SBit_Image( strike, component_array[i].glyph_code,                                   component_array[i].x_offset,                                   component_array[i].y_offset,                                   ebdt_offset,                                   image,                                   component_depth, face );          if ( error )            return error;        }        FREE( component_array );        break;      default:        return TT_Err_Invalid_File_Format;      }    }    return TT_Err_Ok;  }/******************************************************************* * *  Function:  Load_TrueType_Ebdt * ******************************************************************/  static TT_Error  Load_TrueType_Ebdt( PFace           face,                      TT_SBit_Strike  strike,                      ULong           glyph_index,                      TT_SBit_Image*  image )  {    DEFINE_LOCALS;    ULong   ebdt_offset;    ULong   version;    Long    i;    /* Try to find the `EBDT' or `bdat' table in the font files. */    /* Both tags describe the same table, `EBDT' is for OpenType */    /* fonts, while `bdat' is for TrueType GX fonts.  Many fonts */    /* contain both tags pointing to the same table              */    i = TT_LookUp_Table( face, TTAG_EBDT );    if ( i < 0 )      i = TT_LookUp_Table( face, TTAG_bdat );    if ( i < 0 )      return TT_Err_Table_Missing;    ebdt_offset = face->dirTables[i].Offset;    if ( FILE_Seek( ebdt_offset ) ||         ACCESS_Frame( 4L )       )  /* read into frame */      return error;    version  = GET_ULong();    FORGET_Frame();    PTRACE2(( "-- Format version : %08lx\n", version ));    if ( version != 0x00020000 )    {      PERROR(( "Invalid file format!\n" ));      return TT_Err_Invalid_File_Format;    } /* This doesn't compile, I simply commented it out ?? - David */ /*    PTRACE4(( "-- Format: %d\n", range->image_format ));    */    error = Load_SBit_Image( strike,                             glyph_index,                             0, 0,                             ebdt_offset,                             image,                             0, face );    if ( error )      return error;    return TT_Err_Ok;  }  static TT_Error  EBLC_Create( void*  ext,                                PFace  face )  {    TT_EBLC*  eblc = (TT_EBLC*)ext;    /* by convention */    if ( !eblc )      return TT_Err_Ok;    return Load_TrueType_Eblc( face, eblc );  }  static TT_Error  EBLC_Destroy( void*  ext,                                 PFace  face )  {    TT_EBLC*  eblc = (TT_EBLC*)ext;    (void)face;    if ( eblc )      Free_TrueType_Eblc( eblc );    return TT_Err_Ok;  }  /*************************************************************/  /*                                                           */  /* <Function>                                                */  /*    TT_Init_SBit_Extension                                 */  /*                                                           */  /* <Description>                                             */  /*    Initialize the embedded bitmaps extension for the      */  /*    FreeType engine.                                       */  /*                                                           */  /* <Input>                                                   */  /*    engine :: handle to current FreeType library instance  */  /*                                                           */  /* <Return>                                                  */  /*    Error code. 0 means success.                           */  /*                                                           */  FT_EXPORT_FUNC( TT_Error )  TT_Init_SBit_Extension( TT_Engine  engine )  {    PEngine_Instance  _engine = HANDLE_Engine( engine );    TT_Error  error;    if ( !_engine )      return TT_Err_Invalid_Engine;    error = TT_Register_Extension( _engine,                                   SBIT_ID,                                   sizeof ( TT_EBLC ),                                   EBLC_Create,                                   EBLC_Destroy );    return error;  }  /*************************************************************/  /*                                                           */  /* <Function>                                                */  /*    TT_Get_Face_Bitmaps                                    */  /*                                                           */  /* <Description>                                             */  /*    Loads the `EBLC' table from a font file, if any.       */  /*                                                           */  /* <Input>                                                   */  /*    face :: handle to the source TrueType font/face        */  /*                                                           */  /* <Output>                                                  */  /*    eblc_table :: a descriptor for the EBLC table          */  /*                                                           */  /* <Return>                                                  */  /*    Error code.  0 means success.                          */  /*                                                           */  /* <Note>                                                    */  /*    This function returns TT_Err_Table_Missing if the      */  /*    font contains no embedded bitmaps.  All fields in      */  /*    `eblc_table' will then be set to 0.                    */  /*                                                           */  FT_EXPORT_FUNC( TT_Error )  TT_Get_Face_Bitmaps( TT_Face   face,                       TT_EBLC*  eblc_table )  {    PFace     faze = HANDLE_Face( face );    TT_EBLC*  eblc;    TT_Error  error;    error = TT_Extension_Get( faze, SBIT_ID, (void**)&eblc );    if ( !error )    {      if ( eblc->version )      {        *eblc_table = *eblc;        return TT_Err_Ok;      }      error = TT_Err_Table_Missing;    }    eblc_table->version     = 0;    eblc_table->num_strikes = 0;    eblc_table->strikes     = 0;    return error;  }/******************************************************************* * *  <Function> TT_Get_SBit_Strike * *  <Description> *     Loads suitable strike (bitmap sizetable) for given instance. *     This strike includes sbitLineMetrics. * *  <Input> *     face     :: the source face *     instance :: the current size instance * *  <Output> *     strike   :: the bitmap strike descriptor * *  <Return> *     TrueType error code.  0 means success. * ******************************************************************/  FT_EXPORT_FUNC( TT_Error )  TT_Get_SBit_Strike( TT_Face          face,                      TT_Instance      instance,                      TT_SBit_Strike*  strike )  {    TT_Error   error;    PFace      faze = HANDLE_Face( face );    PInstance  ins  = HANDLE_Instance( instance );    TT_EBLC*   eblc;    TT_Int     x_ppem, y_ppem;    if ( !strike || !ins || ins->owner != faze )      return TT_Err_Invalid_Argument;    error = TT_Extension_Get( faze, SBIT_ID, (void**)&eblc );    if ( error )      goto Exit;    /********************************************************************/    /*                                                                  */    /* Look for an sbit strike that matches the current x and y ppms    */    /*                                                                  */    {      UShort           count = eblc->num_strikes;      TT_SBit_Strike*  cur   = eblc->strikes;      x_ppem = ins->metrics.x_ppem;      y_ppem = ins->metrics.y_ppem;      MEM_Set( strike, 0, sizeof ( TT_SBit_Strike ) );      for ( ; count > 0; count--, cur++ )        if ( cur->x_ppem == x_ppem &&             cur->y_ppem == y_ppem )        {          *strike = *cur;          break;        }      /* return immediately if we didn't find an appropriate strike */      if ( !strike->num_ranges )        error = TT_Err_Invalid_PPem;    }  Exit:    return error;  }  /*************************************************************/  /*                                                           */  /* <Function>                                                */  /*    TT_Load_Glyph_Bitmap                                   */  /*                                                           */  /* <Description>                                             */  /*    Loads a given glyph embedded bitmap.                   */  /*                                                           */  /* <Input>                                                   */  /*    face        :: handle to the source TrueType font/face */  /*    instance    :: current size/transform instance         */  /*    glyph_index :: index of source glyph                   */  /*    bitmap      :: target embedded bitmap descriptor       */  /*                                                           */  /* <Return>                                                  */  /*    Error code.  0 means success.                          */  /*                                                           */  /* <Note>                                                    */  /*    This function returns an error if there is no          */  /*    embedded bitmap for the glyph at the given             */  /*    instance.                                              */  /*                                                           */  FT_EXPORT_FUNC( TT_Error )  TT_Load_Glyph_Bitmap( TT_Face         face,                        TT_Instance     instance,                        TT_UShort       glyph_index,                        TT_SBit_Image*  image )  {    TT_Stream  stream;    TT_Error   error;    PFace      faze = HANDLE_Face( face );    PInstance  ins  = HANDLE_Instance( instance );    TT_SBit_Strike  strike;    if ( ins->owner != faze )    {      error = TT_Err_Invalid_Argument;      goto Fail;    }    /********************************************************************/    /*                                                                  */    /* Look for an sbit strike that matches the current x and y ppms    */    /*                                                                  */    error = TT_Get_SBit_Strike( face, instance, &strike );    if ( error )      goto Fail;    /* return immediately if the glyph index isn't in the strike extent */    if ( glyph_index < strike.start_glyph ||         glyph_index > strike.end_glyph   )    {      error = TT_Err_Invalid_Glyph_Index;      goto Fail;    }    {      image->bit_depth = 1;      if ( !USE_Stream( faze->stream, stream ) )      {        error = Load_TrueType_Ebdt( faze, strike, glyph_index, image );        DONE_Stream( stream );        /* exit successfully if we can */        if ( !error )        {          image->map.flow = TT_Flow_Down;          Crop_Bitmap( image );          /* correct sbit metrics */          {            TT_Big_Glyph_Metrics*  metrics = &image->metrics;            metrics->bbox.xMin *= 64;            metrics->bbox.xMax *= 64;            metrics->bbox.yMax *= 64;            metrics->bbox.yMin *= 64;            metrics->horiBearingX *= 64;            metrics->horiBearingY *= 64;            metrics->horiAdvance  *= 64;            metrics->vertBearingX *= 64;            metrics->vertBearingY *= 64;            metrics->vertAdvance  *= 64;          }          goto Exit;        }      }    }  Fail:    image->map.width  = 0;    image->map.rows   = 0;    image->map.cols   = 0;    image->map.size   = 0;    image->map.bitmap = 0;    image->map.flow   = 0;    image->bit_depth  = 0;  Exit:    return error;  }  /*************************************************************/  /*                                                           */  /* <Function>                                                */  /*    TT_New_SBit_Image                                      */  /*                                                           */  /* <Description>                                             */  /*    Allocates a new embedded bitmap container.             */  /*                                                           */  /* <Output>                                                  */  /*    image :: sbit image                                    */  /*                                                           */  /* <Return>                                                  */  /*    Error code.  0 means success.                          */  /*                                                           */  FT_EXPORT_FUNC( TT_Error )  TT_New_SBit_Image( TT_SBit_Image**  image )  {    return MEM_Alloc( *image, sizeof ( **image ) );  }  /*************************************************************/  /*                                                           */  /* <Function>                                                */  /*    TT_Done_SBit_Image                                     */  /*                                                           */  /* <Description>                                             */  /*    Releases an embedded bitmap container.                 */  /*                                                           */  /* <Input>                                                   */  /*    image :: sbit image                                    */  /*                                                           */  FT_EXPORT_FUNC( void )  TT_Done_SBit_Image( TT_SBit_Image*  image )  {    FREE( image->map.bitmap );    FREE( image );  }/* END */

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久91精品久久久久久秒播| 制服丝袜在线91| 国产成人av自拍| 国产中文一区二区三区| 捆绑调教美女网站视频一区| 日本三级亚洲精品| 美腿丝袜亚洲一区| 久88久久88久久久| 黄页网站大全一区二区| 韩国成人在线视频| 成人午夜短视频| 不卡一二三区首页| 日本福利一区二区| 欧美二区乱c少妇| 91精品国产91久久久久久一区二区| 欧美一a一片一级一片| 欧美三区在线观看| 欧美一级日韩免费不卡| 欧美精品一区二区精品网| 久久―日本道色综合久久| 久久精品夜夜夜夜久久| 国产精品久久一卡二卡| 亚洲一区在线看| 美女一区二区三区| 国产乱子轮精品视频| caoporn国产精品| 91黄色免费版| 欧美不卡一二三| 国产精品国产三级国产三级人妇| 亚洲久本草在线中文字幕| 亚洲一区二区中文在线| 久久91精品国产91久久小草| 成人免费毛片app| 欧美mv和日韩mv国产网站| 国产亚洲福利社区一区| 综合色中文字幕| 天堂久久一区二区三区| 国产盗摄女厕一区二区三区| 91麻豆福利精品推荐| 717成人午夜免费福利电影| 久久综合九色综合97婷婷女人| 亚洲欧洲一区二区三区| 欧美aaaaaa午夜精品| 国产91精品一区二区麻豆亚洲| 欧美综合在线视频| 亚洲精品一区二区三区福利 | 国产精品美女久久福利网站| 亚洲免费视频成人| 国产美女一区二区三区| 在线观看不卡视频| 久久久久久久久久久久久女国产乱| 亚洲欧洲国产日韩| 久久精品国产免费| 色综合 综合色| 国产亚洲一区二区在线观看| 亚洲第一在线综合网站| 成人污视频在线观看| 91精品国产欧美日韩| 亚洲欧美视频一区| 国产精品99久久久久| 欧美日韩国产精品成人| 国产精品大尺度| 久久不见久久见免费视频1| 日本精品一区二区三区四区的功能| 精品国产免费一区二区三区四区| 亚洲永久精品国产| 99久久99精品久久久久久| 精品免费国产二区三区| 五月婷婷另类国产| 91高清视频免费看| 国产精品久久久久四虎| 国产精品亚洲专一区二区三区| 5858s免费视频成人| 亚洲高清一区二区三区| 久久综合成人精品亚洲另类欧美| 亚洲国产精品天堂| 91久久精品一区二区三区| 中文字幕欧美日韩一区| 国产专区欧美精品| 日韩三级视频中文字幕| 亚洲电影在线免费观看| 色综合婷婷久久| 国产精品亲子伦对白| 国产一区二区三区四区五区入口 | 日韩欧美一级在线播放| 亚洲一区二区三区国产| 99精品国产热久久91蜜凸| 国产欧美一区二区精品久导航| 久久99精品国产麻豆不卡| 欧美精品亚洲二区| 亚洲成人黄色影院| 欧美日韩一区精品| 亚洲午夜一区二区三区| 欧洲亚洲国产日韩| 亚洲男人天堂av网| 一本久道久久综合中文字幕| 国产精品久久久久久久久搜平片 | 精品国产乱码久久| 美女在线一区二区| 精品国产第一区二区三区观看体验 | 亚洲国产精品av| 东方欧美亚洲色图在线| 国产网站一区二区| www.色综合.com| 国产精品国产三级国产aⅴ无密码 国产精品国产三级国产aⅴ原创 | 精品一区二区在线看| 精品国产一区二区精华| 国内精品在线播放| 国产日本欧美一区二区| 丰满亚洲少妇av| 亚洲欧洲成人av每日更新| youjizz国产精品| 一区二区三区日本| 欧美人动与zoxxxx乱| 日本大胆欧美人术艺术动态| 欧美精品一区二区三区久久久| 国产成人午夜高潮毛片| 亚洲视频在线观看一区| 在线日韩av片| 日韩专区在线视频| 精品奇米国产一区二区三区| 国产一区二区在线电影| 国产精品美女久久久久久2018 | 国产精品的网站| 精品视频一区二区不卡| 日本亚洲三级在线| 国产欧美日产一区| 91国产丝袜在线播放| 免费成人av在线| 国产欧美日产一区| 欧美在线小视频| 精品制服美女丁香| 亚洲同性同志一二三专区| 欧美日韩国产一区| 国产在线视频一区二区三区| 亚洲欧洲av在线| 91精品国产色综合久久ai换脸| 国产一区二区女| 一区二区三区日韩精品| 欧美成人video| 91麻豆swag| 精品一区二区久久| 亚洲精品视频在线看| 欧美v国产在线一区二区三区| 777xxx欧美| 国产福利一区二区三区在线视频| 亚洲欧美区自拍先锋| 日韩欧美亚洲另类制服综合在线| 高清在线观看日韩| 午夜欧美在线一二页| 26uuu国产日韩综合| 在线视频综合导航| 国产一区二区在线看| 亚洲自拍另类综合| 中文字幕乱码久久午夜不卡| 欧美日韩一区国产| gogo大胆日本视频一区| 久久精品国产精品青草| 一区二区欧美视频| 国产亚洲精品福利| 这里只有精品视频在线观看| 91在线国产观看| 国产曰批免费观看久久久| 亚洲不卡在线观看| 日韩一区欧美一区| 久久久一区二区| 欧美丰满高潮xxxx喷水动漫| 99精品国产热久久91蜜凸| 国产在线精品一区二区三区不卡| 亚洲国产一区二区视频| 中文字幕中文字幕在线一区| 欧美变态tickling挠脚心| 欧美日韩高清一区二区不卡| 9l国产精品久久久久麻豆| 精品一区二区三区视频在线观看| 亚洲国产精品综合小说图片区| 国产精品欧美久久久久无广告| 日韩你懂的在线观看| 制服丝袜av成人在线看| 在线亚洲精品福利网址导航| caoporn国产精品| 国产成人亚洲综合a∨婷婷图片| 免费成人美女在线观看.| 亚洲一二三区在线观看| 亚洲美腿欧美偷拍| 国产精品盗摄一区二区三区| 国产清纯白嫩初高生在线观看91| 欧美一区二区国产| 制服丝袜亚洲精品中文字幕| 欧美日韩色一区| 欧美性猛片xxxx免费看久爱| a4yy欧美一区二区三区| 成人ar影院免费观看视频| 国产精品66部| 国产一区二区久久| 久久国产精品99精品国产| 免费成人你懂的| 另类小说图片综合网| 免费观看成人鲁鲁鲁鲁鲁视频| 丝袜诱惑亚洲看片|