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

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

?? t42objs.c

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

        charmap.face = root;

        /* first of all, try to synthetize a Unicode charmap */
        charmap.platform_id = 3;
        charmap.encoding_id = 1;
        charmap.encoding    = FT_ENCODING_UNICODE;

        FT_CMap_New( cmap_classes->unicode, NULL, &charmap, NULL );

        /* now, generate an Adobe Standard encoding when appropriate */
        charmap.platform_id = 7;
        clazz               = NULL;

        switch ( type1->encoding_type )
        {
        case T1_ENCODING_TYPE_STANDARD:
          charmap.encoding    = FT_ENCODING_ADOBE_STANDARD;
          charmap.encoding_id = 0;
          clazz               = cmap_classes->standard;
          break;

        case T1_ENCODING_TYPE_EXPERT:
          charmap.encoding    = FT_ENCODING_ADOBE_EXPERT;
          charmap.encoding_id = 1;
          clazz               = cmap_classes->expert;
          break;

        case T1_ENCODING_TYPE_ARRAY:
          charmap.encoding    = FT_ENCODING_ADOBE_CUSTOM;
          charmap.encoding_id = 2;
          clazz               = cmap_classes->custom;
          break;

        case T1_ENCODING_TYPE_ISOLATIN1:
          charmap.encoding    = FT_ENCODING_ADOBE_LATIN_1;
          charmap.encoding_id = 3;
          clazz               = cmap_classes->unicode;
          break;

        default:
          ;
        }

        if ( clazz )
          FT_CMap_New( clazz, NULL, &charmap, NULL );

#if 0
        /* Select default charmap */
        if ( root->num_charmaps )
          root->charmap = root->charmaps[0];
#endif
      }
    }
  Exit:
    return error;
  }


  FT_LOCAL_DEF( void )
  T42_Face_Done( T42_Face  face )
  {
    T1_Font      type1;
    PS_FontInfo  info;
    FT_Memory    memory;


    if ( face )
    {
      type1  = &face->type1;
      info   = &type1->font_info;
      memory = face->root.memory;

      /* delete internal ttf face prior to freeing face->ttf_data */
      if ( face->ttf_face )
        FT_Done_Face( face->ttf_face );

      /* release font info strings */
      FT_FREE( info->version );
      FT_FREE( info->notice );
      FT_FREE( info->full_name );
      FT_FREE( info->family_name );
      FT_FREE( info->weight );

      /* release top dictionary */
      FT_FREE( type1->charstrings_len );
      FT_FREE( type1->charstrings );
      FT_FREE( type1->glyph_names );

      FT_FREE( type1->charstrings_block );
      FT_FREE( type1->glyph_names_block );

      FT_FREE( type1->encoding.char_index );
      FT_FREE( type1->encoding.char_name );
      FT_FREE( type1->font_name );

      FT_FREE( face->ttf_data );

#if 0
      /* release afm data if present */
      if ( face->afm_data )
        T1_Done_AFM( memory, (T1_AFM*)face->afm_data );
#endif

      /* release unicode map, if any */
      FT_FREE( face->unicode_map.maps );
      face->unicode_map.num_maps = 0;

      face->root.family_name = 0;
      face->root.style_name  = 0;
    }
  }


  /*************************************************************************/
  /*                                                                       */
  /* <Function>                                                            */
  /*    T42_Driver_Init                                                    */
  /*                                                                       */
  /* <Description>                                                         */
  /*    Initializes a given Type 42 driver object.                         */
  /*                                                                       */
  /* <Input>                                                               */
  /*    driver :: A handle to the target driver object.                    */
  /*                                                                       */
  /* <Return>                                                              */
  /*    FreeType error code.  0 means success.                             */
  /*                                                                       */
  FT_LOCAL_DEF( FT_Error )
  T42_Driver_Init( T42_Driver  driver )
  {
    FT_Module  ttmodule;


    ttmodule = FT_Get_Module( FT_MODULE(driver)->library, "truetype" );
    driver->ttclazz = (FT_Driver_Class)ttmodule->clazz;

    return T42_Err_Ok;
  }


  FT_LOCAL_DEF( void )
  T42_Driver_Done( T42_Driver  driver )
  {
    FT_UNUSED( driver );
  }


  FT_LOCAL_DEF( FT_Error )
  T42_Size_Init( T42_Size  size )
  {
    FT_Face   face = size->root.face;
    T42_Face  t42face = (T42_Face)face;
    FT_Size   ttsize;
    FT_Error  error   = T42_Err_Ok;


    error = FT_New_Size( t42face->ttf_face, &ttsize );
    size->ttsize = ttsize;

    FT_Activate_Size( ttsize );

    return error;
  }


  FT_LOCAL_DEF( FT_Error )
  T42_Size_Request( T42_Size         size,
                    FT_Size_Request  req )
  {
    T42_Face  face = (T42_Face)size->root.face;
    FT_Error  error;


    FT_Activate_Size( size->ttsize );

    error = FT_Request_Size( face->ttf_face, req );
    if ( !error )
      ( (FT_Size)size )->metrics = face->ttf_face->size->metrics;

    return error;
  }


  FT_LOCAL_DEF( FT_Error )
  T42_Size_Select( T42_Size  size,
                   FT_ULong  strike_index )
  {
    T42_Face  face = (T42_Face)size->root.face;
    FT_Error  error;


    FT_Activate_Size( size->ttsize );

    error = FT_Select_Size( face->ttf_face, strike_index );
    if ( !error )
      ( (FT_Size)size )->metrics = face->ttf_face->size->metrics;

    return error;

  }


  FT_LOCAL_DEF( void )
  T42_Size_Done( T42_Size  size )
  {
    FT_Face      face    = size->root.face;
    T42_Face     t42face = (T42_Face)face;
    FT_ListNode  node;


    node = FT_List_Find( &t42face->ttf_face->sizes_list, size->ttsize );
    if ( node )
    {
      FT_Done_Size( size->ttsize );
      size->ttsize = NULL;
    }
  }


  FT_LOCAL_DEF( FT_Error )
  T42_GlyphSlot_Init( T42_GlyphSlot  slot )
  {
    FT_Face       face    = slot->root.face;
    T42_Face      t42face = (T42_Face)face;
    FT_GlyphSlot  ttslot;
    FT_Error      error   = T42_Err_Ok;


    if ( face->glyph == NULL )
    {
      /* First glyph slot for this face */
      slot->ttslot = t42face->ttf_face->glyph;
    }
    else
    {
      error = FT_New_GlyphSlot( t42face->ttf_face, &ttslot );
      slot->ttslot = ttslot;
    }

    return error;
  }


  FT_LOCAL_DEF( void )
  T42_GlyphSlot_Done( T42_GlyphSlot slot )
  {
    FT_Done_GlyphSlot( slot->ttslot );
  }


  static void
  t42_glyphslot_clear( FT_GlyphSlot  slot )
  {
    /* free bitmap if needed */
    ft_glyphslot_free_bitmap( slot );

    /* clear all public fields in the glyph slot */
    FT_ZERO( &slot->metrics );
    FT_ZERO( &slot->outline );
    FT_ZERO( &slot->bitmap );

    slot->bitmap_left   = 0;
    slot->bitmap_top    = 0;
    slot->num_subglyphs = 0;
    slot->subglyphs     = 0;
    slot->control_data  = 0;
    slot->control_len   = 0;
    slot->other         = 0;
    slot->format        = FT_GLYPH_FORMAT_NONE;

    slot->linearHoriAdvance = 0;
    slot->linearVertAdvance = 0;
  }


  FT_LOCAL_DEF( FT_Error )
  T42_GlyphSlot_Load( FT_GlyphSlot  glyph,
                      FT_Size       size,
                      FT_UInt       glyph_index,
                      FT_Int32      load_flags )
  {
    FT_Error         error;
    T42_GlyphSlot    t42slot = (T42_GlyphSlot)glyph;
    T42_Size         t42size = (T42_Size)size;
    FT_Driver_Class  ttclazz = ((T42_Driver)glyph->face->driver)->ttclazz;


    t42_glyphslot_clear( t42slot->ttslot );
    error = ttclazz->load_glyph( t42slot->ttslot,
                                 t42size->ttsize,
                                 glyph_index,
                                 load_flags | FT_LOAD_NO_BITMAP );

    if ( !error )
    {
      glyph->metrics = t42slot->ttslot->metrics;

      glyph->linearHoriAdvance = t42slot->ttslot->linearHoriAdvance;
      glyph->linearVertAdvance = t42slot->ttslot->linearVertAdvance;

      glyph->format  = t42slot->ttslot->format;
      glyph->outline = t42slot->ttslot->outline;

      glyph->bitmap      = t42slot->ttslot->bitmap;
      glyph->bitmap_left = t42slot->ttslot->bitmap_left;
      glyph->bitmap_top  = t42slot->ttslot->bitmap_top;

      glyph->num_subglyphs = t42slot->ttslot->num_subglyphs;
      glyph->subglyphs     = t42slot->ttslot->subglyphs;

      glyph->control_data  = t42slot->ttslot->control_data;
      glyph->control_len   = t42slot->ttslot->control_len;
    }

    return error;
  }


/* END */

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产裸体歌舞团一区二区| 国产在线看一区| 精品粉嫩超白一线天av| 色综合天天做天天爱| 国产综合久久久久久久久久久久| 亚洲婷婷国产精品电影人久久| 日韩欧美的一区| 欧美视频第二页| 91一区一区三区| 国产美女一区二区三区| 肉肉av福利一精品导航| 1000精品久久久久久久久| 国产亚洲短视频| 精品sm捆绑视频| 日韩一级二级三级| 欧美精品久久天天躁| 91麻豆免费在线观看| 国产aⅴ精品一区二区三区色成熟| 日韩电影在线免费看| 亚洲一区二区视频| 一区二区三区影院| 亚洲人成网站精品片在线观看 | 欧美电影免费观看高清完整版在线| 91在线国产观看| 播五月开心婷婷综合| 国产一区二区三区免费| 久久99久国产精品黄毛片色诱| 亚洲国产精品久久人人爱蜜臀 | 欧美美女视频在线观看| 91精品福利视频| 99久久er热在这里只有精品15| 九九久久精品视频| 香蕉久久夜色精品国产使用方法| 国产精品久久网站| 国产精品久久久久久久久果冻传媒| 久久奇米777| 久久久91精品国产一区二区精品 | 欧美日韩另类一区| 欧美日韩亚洲综合在线| 欧美性xxxxxx少妇| 欧美美女网站色| 91精品黄色片免费大全| 日韩午夜电影在线观看| 日韩精品中文字幕在线不卡尤物| 91麻豆精品国产自产在线| 91精品国产综合久久蜜臀| 欧美一级在线视频| 精品电影一区二区三区| 久久伊人蜜桃av一区二区| 久久午夜色播影院免费高清| 久久精品欧美一区二区三区不卡| 国产亚洲美州欧州综合国| 日本一区二区三区四区在线视频 | 国产成人av网站| 99久久综合国产精品| 91视频在线观看免费| 欧美日韩久久不卡| 精品免费一区二区三区| 国产片一区二区三区| 亚洲三级电影网站| 日韩和欧美的一区| 国产美女一区二区| 一本色道久久综合亚洲精品按摩| 欧美三级视频在线观看| 日韩欧美中文一区| 国产精品女人毛片| 偷拍亚洲欧洲综合| 国产sm精品调教视频网站| 91看片淫黄大片一级| 欧美一级理论片| 中文字幕欧美一区| 天天综合网天天综合色| 国产精品1区2区| 在线观看日韩毛片| 久久在线免费观看| 亚洲综合色视频| 国产精品一区二区男女羞羞无遮挡| 99久久婷婷国产综合精品电影 | 国产精品久久福利| 亚洲一区成人在线| 国产精品一区二区男女羞羞无遮挡| 色综合久久六月婷婷中文字幕| 欧美三级蜜桃2在线观看| 久久久久一区二区三区四区| 亚洲一区二区成人在线观看| 国产一区二区看久久| 91精品福利在线| 国产色爱av资源综合区| 亚洲福利电影网| 成年人网站91| 欧美精品一区二区三区在线| 一区二区在线电影| 国产乱码字幕精品高清av| 日本福利一区二区| 欧美国产日本视频| 老司机精品视频线观看86 | 精品乱码亚洲一区二区不卡| 亚洲摸摸操操av| 国产不卡视频一区| 日韩精品中文字幕在线一区| 一区二区三区四区五区视频在线观看 | 国产色一区二区| 蜜桃视频一区二区三区| 日本二三区不卡| 中文字幕亚洲视频| 狠狠色丁香婷婷综合| 欧美久久高跟鞋激| 又紧又大又爽精品一区二区| 粉嫩av一区二区三区在线播放| 日韩三级伦理片妻子的秘密按摩| 亚洲国产中文字幕在线视频综合| 不卡一区二区在线| 国产网站一区二区| 精品一二线国产| 日韩精品专区在线影院重磅| 日韩中文字幕亚洲一区二区va在线 | 日韩一区二区在线看| 夜夜爽夜夜爽精品视频| 不卡视频在线看| 日本一二三四高清不卡| 国产伦精一区二区三区| 精品久久久久久久久久久久久久久 | 美女诱惑一区二区| 欧美日本视频在线| 亚洲成人动漫av| 精品视频色一区| 亚洲3atv精品一区二区三区| 欧美性猛片xxxx免费看久爱| 亚洲日本青草视频在线怡红院| 国产suv一区二区三区88区| 久久久久亚洲综合| 国产一区二区三区免费| 欧美α欧美αv大片| 久久 天天综合| 日韩丝袜情趣美女图片| 日本网站在线观看一区二区三区| 欧美少妇bbb| 日韩激情中文字幕| 日韩欧美激情一区| 加勒比av一区二区| 久久久777精品电影网影网| 国产超碰在线一区| 国产精品伦一区| 色综合天天综合网国产成人综合天| 国产精品国产自产拍高清av| 99视频有精品| 亚洲午夜国产一区99re久久| 欧美色网一区二区| 日日夜夜免费精品| 精品国产a毛片| 粉嫩久久99精品久久久久久夜| 一区在线观看视频| 在线亚洲欧美专区二区| 午夜欧美一区二区三区在线播放| 欧美一级日韩不卡播放免费| 久久国产精品露脸对白| 国产日韩欧美精品电影三级在线| 成人性生交大合| 亚洲精品视频一区| 欧美理论电影在线| 久草精品在线观看| 国产精品国模大尺度视频| 在线精品亚洲一区二区不卡| 亚洲成a天堂v人片| 日韩欧美激情一区| www.av精品| 日韩成人午夜电影| 中文文精品字幕一区二区| 91国偷自产一区二区三区成为亚洲经典| 性做久久久久久| 国产色婷婷亚洲99精品小说| 欧美综合欧美视频| 韩国av一区二区三区| 亚洲日本va午夜在线电影| 欧美日韩www| 高清成人免费视频| 日韩专区中文字幕一区二区| 国产日产欧美一区二区三区| 色88888久久久久久影院野外| 日本美女一区二区| 国产精品激情偷乱一区二区∴| 91精品国产一区二区| 成人黄色电影在线| 日日夜夜精品免费视频| 中文字幕永久在线不卡| 夜夜夜精品看看| 久久久夜色精品亚洲| 欧美日韩免费在线视频| 国产成人在线色| 午夜久久久久久久久久一区二区| 国产免费久久精品| 91精品免费观看| 91极品视觉盛宴| 成人午夜免费电影| 蜜桃在线一区二区三区| 一区二区三区精品视频在线| 国产日产欧产精品推荐色| 欧美一卡二卡三卡四卡| 色av一区二区| 大白屁股一区二区视频|