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

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

?? test_afm.c

?? 智能設備中PDF閱讀器的源碼!用于windows mobile2003或者WM5以上
?? C
字號:
/*
 * gcc -DFT2_BUILD_LIBRARY -I../../include -o test_afm test_afm.c \
 *     -L../../objs/.libs -lfreetype -lz -static
 */
#include <ft2build.h>
#include FT_FREETYPE_H
#include FT_INTERNAL_STREAM_H
#include FT_INTERNAL_POSTSCRIPT_AUX_H

  void dump_fontinfo( AFM_FontInfo  fi )
  {
    FT_Int  i;


    printf( "This AFM is for %sCID font.\n\n",
            ( fi->IsCIDFont ) ? "" : "non-" );

    printf( "FontBBox: %.2f %.2f %.2f %.2f\n", fi->FontBBox.xMin / 65536.,
                                               fi->FontBBox.yMin / 65536.,
                                               fi->FontBBox.xMax / 65536.,
                                               fi->FontBBox.yMax / 65536. );
    printf( "Ascender: %.2f\n", fi->Ascender / 65536. );
    printf( "Descender: %.2f\n\n", fi->Descender / 65536. );

    if ( fi->NumTrackKern )
      printf( "There are %d sets of track kernings:\n",
              fi->NumTrackKern );
    else
      printf( "There is no track kerning.\n" );

    for ( i = 0; i < fi->NumTrackKern; i++ )
    {
      AFM_TrackKern  tk = fi->TrackKerns + i;


      printf( "\t%2d: %5.2f %5.2f %5.2f %5.2f\n", tk->degree,
                                                  tk->min_ptsize / 65536.,
                                                  tk->min_kern / 65536.,
                                                  tk->max_ptsize / 65536.,
                                                  tk->max_kern / 65536. );
    }

    printf( "\n" );

    if ( fi->NumKernPair )
      printf( "There are %d kerning pairs:\n",
              fi->NumKernPair );
    else
      printf( "There is no kerning pair.\n" );

    for ( i = 0; i < fi->NumKernPair; i++ )
    {
      AFM_KernPair  kp = fi->KernPairs + i;

      
      printf( "\t%3d + %3d => (%4d, %4d)\n", kp->index1,
                                             kp->index2,
                                             kp->x,
                                             kp->y );
    }

  }

  int
  dummy_get_index( const char*  name,
                   FT_UInt      len,
                   void*        user_data )
  {
    if ( len )
      return name[0];
    else
      return 0;
  }

  FT_Error
  parse_afm( FT_Library    library,
             FT_Stream     stream,
             AFM_FontInfo  fi )
  {
    PSAux_Service  psaux;
    AFM_ParserRec  parser;
    FT_Error       error = FT_Err_Ok;


    psaux = (PSAux_Service)FT_Get_Module_Interface( library, "psaux" );
    if ( !psaux || !psaux->afm_parser_funcs )
      return -1;

    error = FT_Stream_EnterFrame( stream, stream->size );
    if ( error )
      return error;

    error = psaux->afm_parser_funcs->init( &parser,
                                           library->memory,
                                           stream->cursor,
                                           stream->limit );
    if ( error )
      return error;

    parser.FontInfo = fi;
    parser.get_index = dummy_get_index;

    error = psaux->afm_parser_funcs->parse( &parser );

    psaux->afm_parser_funcs->done( &parser );

    return error;
  }


  int main( int    argc,
            char** argv )
  {
    FT_Library       library;
    FT_StreamRec     stream;
    FT_Error         error = FT_Err_Ok;
    AFM_FontInfoRec  fi;


    if ( argc < 2 )
      return FT_Err_Invalid_Argument;

    error = FT_Init_FreeType( &library );
    if ( error )
      return error;

    FT_ZERO( &stream );
    error = FT_Stream_Open( &stream, argv[1] );
    if ( error )
      goto Exit;
    stream.memory = library->memory;

    FT_ZERO( &fi );
    error = parse_afm( library, &stream, &fi );

    if ( !error )
    {
      FT_Memory  memory = library->memory;


      dump_fontinfo( &fi );

      if ( fi.KernPairs )
        FT_FREE( fi.KernPairs );
      if ( fi.TrackKerns )
        FT_FREE( fi.TrackKerns );
    }
    else
      printf( "parse error\n" );

    FT_Stream_Close( &stream );

  Exit:
    FT_Done_FreeType( library );

    return error;
  }

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
美女视频黄频大全不卡视频在线播放| 轻轻草成人在线| 91精品国产麻豆| 一本久道久久综合中文字幕 | 免费不卡在线视频| 亚洲成人免费电影| 亚洲愉拍自拍另类高清精品| 亚洲人成精品久久久久久| 中文字幕一区二区不卡| 国产精品毛片a∨一区二区三区| 久久精品男人天堂av| 久久精品男人天堂av| 综合av第一页| 亚洲一线二线三线视频| 天天影视涩香欲综合网| 久久精品噜噜噜成人88aⅴ| 国产麻豆精品在线观看| 成人小视频免费观看| 91麻豆精品秘密| 欧美日高清视频| 2019国产精品| 亚洲欧美视频在线观看| 午夜久久电影网| 精品一区二区三区免费观看| 91福利视频在线| 岛国精品一区二区| 色综合激情五月| 日韩欧美亚洲国产另类| 久久综合av免费| 亚洲妇熟xx妇色黄| 奇米影视在线99精品| 国产精品乡下勾搭老头1| 99精品视频一区| 欧美写真视频网站| 久久久蜜臀国产一区二区| 亚洲婷婷在线视频| 婷婷综合另类小说色区| 国产精品一二三区| 日本国产一区二区| 日韩欧美国产精品| 亚洲女人****多毛耸耸8| 青青草国产精品亚洲专区无| 国产成人精品www牛牛影视| 色哟哟一区二区在线观看| 欧美精三区欧美精三区| 久久久精品国产99久久精品芒果 | 欧美性猛交xxxx乱大交退制版| 91精品婷婷国产综合久久性色| 国产精品网站一区| 久久99精品久久久久婷婷| 色婷婷综合久色| 国产欧美精品一区二区三区四区 | 丰满放荡岳乱妇91ww| 欧美日韩国产高清一区| 亚洲欧洲日本在线| 国产成人综合网站| 日韩欧美电影一二三| 婷婷综合另类小说色区| 成人av集中营| 中文字幕av不卡| 国产精品亚洲午夜一区二区三区| 91精品国产综合久久精品性色| 一区二区在线观看视频| 99久久综合国产精品| 久久久精品综合| 国产一区二区精品久久99| 日韩美女视频在线| 人人爽香蕉精品| 日韩小视频在线观看专区| 亚洲成a人在线观看| 欧美日韩中文另类| 亚洲国产精品麻豆| 欧美美女bb生活片| 视频精品一区二区| 日韩欧美在线影院| 免费人成在线不卡| 精品美女一区二区三区| 激情综合色播激情啊| 91麻豆精品国产91久久久久久| 视频一区欧美精品| 精品国产a毛片| 久久精品国产精品青草| 欧美日韩高清一区二区三区| 亚洲午夜私人影院| 在线免费一区三区| 亚洲成人av中文| 国产精品网站导航| 91在线视频观看| 亚洲观看高清完整版在线观看| 色婷婷一区二区三区四区| 一区二区国产视频| 91精品在线免费观看| 久久国产精品免费| 国产欧美精品在线观看| 91成人免费网站| 蜜桃久久精品一区二区| 久久精品日产第一区二区三区高清版 | 久久综合综合久久综合| 欧美精品国产精品| 国产一区二区三区日韩| 国产精品高潮久久久久无| 在线观看欧美精品| 麻豆精品一区二区av白丝在线| 精品国产三级电影在线观看| 国产成人综合在线| 午夜电影一区二区| 国产午夜精品美女毛片视频| 色婷婷精品久久二区二区蜜臀av | 精品久久久久香蕉网| 国产精品77777| 美国精品在线观看| 亚洲天堂2014| 精品毛片乱码1区2区3区| 99久久99久久精品免费观看| 天天av天天翘天天综合网| 日韩一区二区电影在线| 午夜精品影院在线观看| 国产精品久久久久影院亚瑟| 91精品欧美福利在线观看| 99久久免费国产| 黑人巨大精品欧美一区| 亚洲精品一卡二卡| 国产午夜亚洲精品午夜鲁丝片| 欧美日韩亚洲综合在线| 国产大陆亚洲精品国产| 毛片av中文字幕一区二区| 亚洲精品国产一区二区三区四区在线| www亚洲一区| 欧美一区二区三区免费| 日本黄色一区二区| 91丨九色丨蝌蚪富婆spa| 国产很黄免费观看久久| 日韩精品每日更新| 亚洲国产视频直播| 一区二区三区四区乱视频| 中文字幕国产一区| 久久免费午夜影院| 精品国产一区二区亚洲人成毛片| 欧美色大人视频| 欧美在线免费观看视频| 色婷婷久久综合| 91在线小视频| 93久久精品日日躁夜夜躁欧美| 国产不卡视频一区二区三区| 国产综合色在线视频区| 另类人妖一区二区av| 蜜桃久久久久久久| 韩国视频一区二区| 国产一区二区主播在线| 精品系列免费在线观看| 久久疯狂做爰流白浆xx| 久久99精品一区二区三区 | 日本一区二区免费在线| 久久五月婷婷丁香社区| 久久综合丝袜日本网| 欧美精品一区二区高清在线观看| 日韩一级片网站| 久久人人爽爽爽人久久久| 1000精品久久久久久久久| 中文字幕制服丝袜一区二区三区| 中文字幕制服丝袜成人av| 亚洲三级免费电影| 一区二区三区四区精品在线视频| 亚洲免费观看在线观看| 亚洲午夜日本在线观看| 蜜臂av日日欢夜夜爽一区| 狠狠网亚洲精品| 成人午夜私人影院| 欧美中文字幕亚洲一区二区va在线| 日本韩国精品在线| 欧美大片国产精品| 中文字幕国产一区二区| 亚洲老妇xxxxxx| 免费久久99精品国产| 国产精品一区二区在线观看网站 | 亚洲日本在线看| 亚洲亚洲精品在线观看| 日韩福利视频网| 国产成人午夜视频| 欧美视频中文字幕| 精品国产一区二区三区不卡 | 91在线看国产| 欧美精品久久久久久久多人混战| 日韩欧美电影一二三| 国产精品免费丝袜| 中文字幕第一区二区| 国产a级毛片一区| 97久久精品人人做人人爽50路| 成人综合在线观看| 国v精品久久久网| 欧美日韩在线一区二区| 精品国产一区a| 洋洋av久久久久久久一区| 久久99精品视频| 91九色最新地址| 色天天综合色天天久久| 精品久久一区二区三区| 亚洲精品日日夜夜| 国产精品亚洲综合一区在线观看| 欧美日韩在线精品一区二区三区激情|