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

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

?? cffdrivr.c

?? 智能設(shè)備中PDF閱讀器的源碼!用于windows mobile2003或者WM5以上
?? C
?? 第 1 頁(yè) / 共 2 頁(yè)
字號(hào):

      FT_MEM_COPY( buffer, gname, len );
      ((FT_Byte*)buffer)[len] = 0;
    }

    FT_FREE( gname );
    error = CFF_Err_Ok;

    Exit:
      return error;
  }


  static FT_UInt
  cff_get_name_index( CFF_Face    face,
                      FT_String*  glyph_name )
  {
    CFF_Font            cff;
    CFF_Charset         charset;
    FT_Service_PsCMaps  psnames;
    FT_Memory           memory = FT_FACE_MEMORY( face );
    FT_String*          name;
    FT_UShort           sid;
    FT_UInt             i;
    FT_Int              result;


    cff     = (CFF_FontRec *)face->extra.data;
    charset = &cff->charset;

    FT_FACE_FIND_GLOBAL_SERVICE( face, psnames, POSTSCRIPT_CMAPS );
    if ( !psnames )
      return 0;

    for ( i = 0; i < cff->num_glyphs; i++ )
    {
      sid = charset->sids[i];

      if ( sid > 390 )
        name = cff_index_get_name( &cff->string_index, sid - 391 );
      else
        name = (FT_String *)psnames->adobe_std_strings( sid );

      result = ft_strcmp( glyph_name, name );

      if ( sid > 390 )
        FT_FREE( name );

      if ( !result )
        return i;
    }

    return 0;
  }


  static const FT_Service_GlyphDictRec  cff_service_glyph_dict =
  {
    (FT_GlyphDict_GetNameFunc)  cff_get_glyph_name,
    (FT_GlyphDict_NameIndexFunc)cff_get_name_index,
  };


 /*
  *  POSTSCRIPT INFO SERVICE
  *
  */

  static FT_Int
  cff_ps_has_glyph_names( FT_Face  face )
  {
    return ( face->face_flags & FT_FACE_FLAG_GLYPH_NAMES ) > 0;
  }


  static const FT_Service_PsInfoRec  cff_service_ps_info =
  {
    (PS_GetFontInfoFunc)   NULL,        /* unsupported with CFF fonts */
    (PS_HasGlyphNamesFunc) cff_ps_has_glyph_names,
    (PS_GetFontPrivateFunc)NULL         /* unsupported with CFF fonts */
  };


  /*
   * TT CMAP INFO
   *
   * If the charmap is a synthetic Unicode encoding cmap or
   * a Type 1 standard (or expert) encoding cmap, hide TT CMAP INFO
   * service defined in SFNT module.
   *
   * Otherwise call the service function in the sfnt module.
   *
   */
  static FT_Error
  cff_get_cmap_info( FT_CharMap    charmap,
                     TT_CMapInfo  *cmap_info )
  {
    FT_CMap   cmap  = FT_CMAP( charmap );
    FT_Error  error = CFF_Err_Ok;


    cmap_info->language = 0;

    if ( cmap->clazz != &cff_cmap_encoding_class_rec &&
         cmap->clazz != &cff_cmap_unicode_class_rec  )
    {
      FT_Face             face    = FT_CMAP_FACE( cmap );
      FT_Library          library = FT_FACE_LIBRARY( face );
      FT_Module           sfnt    = FT_Get_Module( library, "sfnt" );
      FT_Service_TTCMaps  service =
        (FT_Service_TTCMaps)ft_module_get_service( sfnt,
                                                   FT_SERVICE_ID_TT_CMAP );


      if ( service && service->get_cmap_info )
        error = service->get_cmap_info( charmap, cmap_info );
    }

    return error;
  }


  static const FT_Service_TTCMapsRec  cff_service_get_cmap_info =
  {
    (TT_CMap_Info_GetFunc)cff_get_cmap_info
  };


  /*************************************************************************/
  /*************************************************************************/
  /*************************************************************************/
  /****                                                                 ****/
  /****                                                                 ****/
  /****                D R I V E R  I N T E R F A C E                   ****/
  /****                                                                 ****/
  /****                                                                 ****/
  /*************************************************************************/
  /*************************************************************************/
  /*************************************************************************/

  static const FT_ServiceDescRec  cff_services[] =
  {
    { FT_SERVICE_ID_XF86_NAME,       FT_XF86_FORMAT_CFF },
    { FT_SERVICE_ID_POSTSCRIPT_INFO, &cff_service_ps_info },
#ifndef FT_CONFIG_OPTION_NO_GLYPH_NAMES
    { FT_SERVICE_ID_GLYPH_DICT,      &cff_service_glyph_dict },
#endif
    { FT_SERVICE_ID_TT_CMAP,         &cff_service_get_cmap_info },
    { NULL, NULL }
  };


  FT_CALLBACK_DEF( FT_Module_Interface )
  cff_get_interface( FT_Module    driver,       /* CFF_Driver */
                     const char*  module_interface )
  {
    FT_Module            sfnt;
    FT_Module_Interface  result;


    result = ft_service_list_lookup( cff_services, module_interface );
    if ( result != NULL )
      return  result;

    /* we pass our request to the `sfnt' module */
    sfnt = FT_Get_Module( driver->library, "sfnt" );

    return sfnt ? sfnt->clazz->get_interface( sfnt, module_interface ) : 0;
  }


  /* The FT_DriverInterface structure is defined in ftdriver.h. */

  FT_CALLBACK_TABLE_DEF
  const FT_Driver_ClassRec  cff_driver_class =
  {
    /* begin with the FT_Module_Class fields */
    {
      FT_MODULE_FONT_DRIVER       |
      FT_MODULE_DRIVER_SCALABLE   |
      FT_MODULE_DRIVER_HAS_HINTER,

      sizeof( CFF_DriverRec ),
      "cff",
      0x10000L,
      0x20000L,

      0,   /* module-specific interface */

      cff_driver_init,
      cff_driver_done,
      cff_get_interface,
    },

    /* now the specific driver fields */
    sizeof( TT_FaceRec ),
    sizeof( CFF_SizeRec ),
    sizeof( CFF_GlyphSlotRec ),

    cff_face_init,
    cff_face_done,
    cff_size_init,
    cff_size_done,
    cff_slot_init,
    cff_slot_done,

#ifdef FT_CONFIG_OPTION_OLD_INTERNALS
    ft_stub_set_char_sizes,
    ft_stub_set_pixel_sizes,
#endif

    Load_Glyph,

    cff_get_kerning,
    0,                      /* FT_Face_AttachFunc      */
    0,                      /* FT_Face_GetAdvancesFunc */

    cff_size_request,

#ifdef TT_CONFIG_OPTION_EMBEDDED_BITMAPS
    cff_size_select
#else
    0                       /* FT_Size_SelectFunc      */
#endif
  };


/* END */

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产成人免费高清| 91成人看片片| 不卡的av在线| 久久欧美中文字幕| 国产片一区二区| 午夜久久电影网| 粉嫩蜜臀av国产精品网站| 欧美日韩性生活| 国产中文字幕一区| 精品99一区二区| 久久精品亚洲精品国产欧美| 黄一区二区三区| 国产精品剧情在线亚洲| 成人免费av在线| 亚洲三级免费观看| 日本午夜精品一区二区三区电影 | 成人手机在线视频| 日韩一区二区三区精品视频| 久久精品一级爱片| 日韩精品视频网| 成人性视频免费网站| 91精品国产综合久久久久久| 久久精品欧美日韩精品 | 日韩精品一区在线| 亚洲欧洲av在线| 美脚の诱脚舐め脚责91| 成人午夜私人影院| 欧美成人性战久久| 欧美精品久久99久久在免费线 | 日韩成人伦理电影在线观看| 日本一区二区免费在线 | 狠狠久久亚洲欧美| 日韩午夜激情电影| av在线播放成人| 国产精品久久久久久久久免费樱桃| 国产一区二区三区在线观看精品| 精品日韩在线一区| 粉嫩绯色av一区二区在线观看| 中文字幕高清不卡| 欧美午夜精品一区| 全部av―极品视觉盛宴亚洲| 久久久久久一二三区| 从欧美一区二区三区| 日韩理论在线观看| 视频在线观看国产精品| 欧美精品在线观看一区二区| 91福利在线观看| 中文字幕日韩一区| 日韩精品亚洲一区二区三区免费| 国产精品免费aⅴ片在线观看| 亚洲精品在线免费播放| 精品av综合导航| 久久综合色综合88| 国产欧美一区二区精品秋霞影院 | 国产精品久久久爽爽爽麻豆色哟哟| 欧美午夜精品理论片a级按摩| 国产成人亚洲综合色影视 | 日韩午夜av电影| 97精品国产露脸对白| 国产一区二区剧情av在线| 一区二区视频在线| 亚洲私人影院在线观看| 久久久久97国产精华液好用吗| 欧美日韩国产系列| 色婷婷av久久久久久久| 99精品热视频| 91小视频免费看| 国产成人日日夜夜| 国产成人在线电影| 成人a免费在线看| 不卡电影一区二区三区| 99v久久综合狠狠综合久久| 欧美三级韩国三级日本三斤| 视频一区免费在线观看| 午夜精品福利一区二区三区av| 亚洲激情男女视频| 亚洲精品成人在线| 一区二区三区四区中文字幕| 国产精品无人区| 亚洲天堂a在线| 樱桃国产成人精品视频| 亚洲综合在线视频| 卡一卡二国产精品| 国内外精品视频| 成人黄页毛片网站| 欧美性淫爽ww久久久久无| 91精品国产手机| 国产精品素人一区二区| 一区二区免费在线| 久久精品国产一区二区三| 国产精品99久久久久久宅男| av午夜一区麻豆| 欧美成人精品1314www| 国产精品沙发午睡系列990531| 亚洲国产一区二区三区青草影视 | 欧美裸体bbwbbwbbw| 日韩精品综合一本久道在线视频| 欧美激情资源网| 香蕉久久一区二区不卡无毒影院 | 麻豆成人在线观看| 欧美色偷偷大香| 亚洲女爱视频在线| 在线观看日韩av先锋影音电影院| 国产三级精品在线| 丁香啪啪综合成人亚洲小说 | 日本亚洲最大的色成网站www| 亚洲综合在线观看视频| 在线欧美日韩国产| 久久久精品黄色| 亚洲成av人片在线观看无码| 国产麻豆日韩欧美久久| 欧美色精品天天在线观看视频| 国产午夜精品一区二区| 蜜臀久久99精品久久久久久9| 一道本成人在线| 亚洲欧美另类久久久精品2019| 岛国精品在线播放| 国产精品久久久久永久免费观看| 国产成人午夜精品影院观看视频| 日韩一区二区免费高清| 日本aⅴ精品一区二区三区| 91精品国产全国免费观看| 日韩av高清在线观看| 日韩一区二区精品| 久久精品国内一区二区三区| 精品福利一二区| 国产91精品在线观看| 中文字幕av一区二区三区免费看| 国产福利不卡视频| ...av二区三区久久精品| 色噜噜久久综合| 热久久国产精品| 国产色婷婷亚洲99精品小说| 国产剧情一区二区| 亚洲欧洲综合另类| 日韩欧美一级二级三级久久久| 国产精品一区免费在线观看| 国产精品初高中害羞小美女文| 91视频国产资源| 日本亚洲视频在线| 国产精品无圣光一区二区| 欧美午夜精品一区二区三区| 看片的网站亚洲| 综合久久给合久久狠狠狠97色| 欧美日韩国产中文| 国产成人精品综合在线观看| 亚洲精品综合在线| 国产无遮挡一区二区三区毛片日本| 色综合天天综合给合国产| 国产精品中文字幕一区二区三区| 亚洲图片欧美一区| 亚洲成人动漫av| 国产精品不卡一区二区三区| 日韩视频在线你懂得| 在线视频你懂得一区| 成人丝袜18视频在线观看| 精品亚洲成a人| 麻豆专区一区二区三区四区五区| 亚洲日本丝袜连裤袜办公室| 国产人成一区二区三区影院| 久久午夜色播影院免费高清 | 国产精品成人免费| 国产三级精品视频| 久久久久久免费毛片精品| 久久综合久久综合亚洲| 日韩午夜电影av| 精品国产乱码久久久久久牛牛 | 蜜桃免费网站一区二区三区 | 欧美无乱码久久久免费午夜一区| 99久久国产综合精品麻豆| av在线不卡免费看| 成人av片在线观看| 欧美专区日韩专区| 在线视频欧美精品| 欧美三级中文字幕在线观看| 欧美日韩国产高清一区二区三区| 91精品国产综合久久小美女| 欧美不卡一区二区三区四区| 久久久国产综合精品女国产盗摄| 国产女同性恋一区二区| 亚洲男人电影天堂| 三级精品在线观看| 国产91在线看| 欧美精品乱码久久久久久| 欧美不卡一区二区| 亚洲欧美日韩综合aⅴ视频| 天堂av在线一区| 成人激情图片网| 日韩欧美色电影| 专区另类欧美日韩| 国产在线视频精品一区| 欧美日韩国产片| 国产一区二区久久| 在线一区二区三区| 国产视频911| 久久国产尿小便嘘嘘| 日本国产一区二区| 中国色在线观看另类| 老司机一区二区| 日韩一区二区电影网|