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

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

?? ftmac.c

?? QT 開發環境里面一個很重要的文件
?? C
?? 第 1 頁 / 共 3 頁
字號:
    FT_Stream_OpenMemory( stream, base, size );    stream->close = close;    *astream = stream;  Exit:    return error;  }  /* Create a new FT_Face given a buffer and a driver name. */  static FT_Error  open_face_from_buffer( FT_Library  library,                         FT_Byte*    base,                         FT_ULong    size,                         FT_Long     face_index,                         char*       driver_name,                         FT_Face*    aface )  {    FT_Open_Args  args;    FT_Error      error;    FT_Stream     stream;    FT_Memory     memory = library->memory;    error = new_memory_stream( library,                               base,                               size,                               memory_stream_close,                               &stream );    if ( error )    {      FT_FREE( base );      return error;    }    args.flags  = FT_OPEN_STREAM;    args.stream = stream;    if ( driver_name )    {      args.flags  = args.flags | FT_OPEN_DRIVER;      args.driver = FT_Get_Module( library, driver_name );    }    /* At this point, face_index has served its purpose;      */    /* whoever calls this function has already used it to     */    /* locate the correct font data.  We should not propagate */    /* this index to FT_Open_Face() (unless it is negative).  */    if ( face_index > 0 )      face_index = 0;    error = FT_Open_Face( library, &args, face_index, aface );    if ( error == FT_Err_Ok )      (*aface)->face_flags &= ~FT_FACE_FLAG_EXTERNAL_STREAM;    return error;  }  /* Create a new FT_Face from a file spec to an LWFN file. */  static FT_Error  FT_New_Face_From_LWFN( FT_Library    library,                         const UInt8*  pathname,                         FT_Long       face_index,                         FT_Face*      aface )  {    FT_Byte*  pfb_data;    FT_ULong  pfb_size;    FT_Error  error;    short     res;    if ( noErr != FT_FSPathMakeRes( pathname, &res ) )      return FT_Err_Cannot_Open_Resource;    pfb_data = NULL;    pfb_size = 0;    error = read_lwfn( library->memory, res, &pfb_data, &pfb_size );    CloseResFile( res ); /* PFB is already loaded, useless anymore */    if ( error )      return error;    return open_face_from_buffer( library,                                  pfb_data,                                  pfb_size,                                  face_index,                                  "type1",                                  aface );  }  /* Create a new FT_Face from an SFNT resource, specified by res ID. */  static FT_Error  FT_New_Face_From_SFNT( FT_Library  library,                         short       sfnt_id,                         FT_Long     face_index,                         FT_Face*    aface )  {    Handle     sfnt = NULL;    FT_Byte*   sfnt_data;    size_t     sfnt_size;    FT_Error   error  = FT_Err_Ok;    FT_Memory  memory = library->memory;    int        is_cff;    sfnt = GetResource( 'sfnt', sfnt_id );    if ( ResError() )      return FT_Err_Invalid_Handle;    sfnt_size = (FT_ULong)GetHandleSize( sfnt );    if ( FT_ALLOC( sfnt_data, (FT_Long)sfnt_size ) )    {      ReleaseResource( sfnt );      return error;    }    HLock( sfnt );    ft_memcpy( sfnt_data, *sfnt, sfnt_size );    HUnlock( sfnt );    ReleaseResource( sfnt );    is_cff = sfnt_size > 4 && sfnt_data[0] == 'O' &&                              sfnt_data[1] == 'T' &&                              sfnt_data[2] == 'T' &&                              sfnt_data[3] == 'O';    return open_face_from_buffer( library,                                  sfnt_data,                                  sfnt_size,                                  face_index,                                  is_cff ? "cff" : "truetype",                                  aface );  }  /* Create a new FT_Face from a file spec to a suitcase file. */  static FT_Error  FT_New_Face_From_Suitcase( FT_Library    library,                             const UInt8*  pathname,                             FT_Long       face_index,                             FT_Face*      aface )  {    FT_Error  error = FT_Err_Cannot_Open_Resource;    short     res_ref, res_index;    Handle    fond;    short     num_faces_in_res, num_faces_in_fond;    if ( noErr != FT_FSPathMakeRes( pathname, &res_ref ) )      return FT_Err_Cannot_Open_Resource;    UseResFile( res_ref );    if ( ResError() )      return FT_Err_Cannot_Open_Resource;    num_faces_in_res = 0;    for ( res_index = 1; ; ++res_index )    {      fond = Get1IndResource( 'FOND', res_index );      if ( ResError() )        break;      num_faces_in_fond  = count_faces( fond, pathname );      num_faces_in_res  += num_faces_in_fond;      if ( 0 <= face_index && face_index < num_faces_in_fond && error )        error = FT_New_Face_From_FOND( library, fond, face_index, aface );      face_index -= num_faces_in_fond;    }    CloseResFile( res_ref );    if ( FT_Err_Ok == error && NULL != aface )      (*aface)->num_faces = num_faces_in_res;    return error;  }  /* documentation is in ftmac.h */  FT_EXPORT_DEF( FT_Error )  FT_New_Face_From_FOND( FT_Library  library,                         Handle      fond,                         FT_Long     face_index,                         FT_Face*    aface )  {    short     sfnt_id, have_sfnt, have_lwfn = 0;    short     fond_id;    OSType    fond_type;    Str255    fond_name;    Str255    lwfn_file_name;    UInt8     path_lwfn[HFS_MAXPATHLEN];    OSErr     err;    FT_Error  error;    GetResInfo( fond, &fond_id, &fond_type, fond_name );    if ( ResError() != noErr || fond_type != 'FOND' )      return FT_Err_Invalid_File_Format;    HLock( fond );    parse_fond( *fond, &have_sfnt, &sfnt_id, lwfn_file_name, face_index );    HUnlock( fond );    if ( lwfn_file_name[0] )    {      short  res;      res = HomeResFile( fond );      if ( noErr != ResError() )        goto found_no_lwfn_file;#if HAVE_FSREF      {        UInt8  path_fond[HFS_MAXPATHLEN];        FSRef  ref;        err = FSGetForkCBInfo( res, kFSInvalidVolumeRefNum,                               NULL, NULL, NULL, &ref, NULL );        if ( noErr != err )          goto found_no_lwfn_file;        err = FSRefMakePath( &ref, path_fond, sizeof ( path_fond ) );        if ( noErr != err )          goto found_no_lwfn_file;        error = lookup_lwfn_by_fond( path_fond, lwfn_file_name,                                     path_lwfn, sizeof ( path_lwfn ) );        if ( FT_Err_Ok == error )          have_lwfn = 1;      }#elif HAVE_FSSPEC      {        UInt8     path_fond[HFS_MAXPATHLEN];        FCBPBRec  pb;        Str255    fond_file_name;        FSSpec    spec;        FT_MEM_SET( &spec, 0, sizeof ( FSSpec ) );        FT_MEM_SET( &pb,   0, sizeof ( FCBPBRec ) );        pb.ioNamePtr = fond_file_name;        pb.ioVRefNum = 0;        pb.ioRefNum  = res;        pb.ioFCBIndx = 0;        err = PBGetFCBInfoSync( &pb );        if ( noErr != err )          goto found_no_lwfn_file;        err = FSMakeFSSpec( pb.ioFCBVRefNum, pb.ioFCBParID,                            fond_file_name, &spec );        if ( noErr != err )          goto found_no_lwfn_file;        err = FT_FSpMakePath( &spec, path_fond, sizeof ( path_fond ) );        if ( noErr != err )          goto found_no_lwfn_file;        error = lookup_lwfn_by_fond( path_fond, lwfn_file_name,                                     path_lwfn, sizeof ( path_lwfn ) );        if ( FT_Err_Ok == error )          have_lwfn = 1;      }#endif /* HAVE_FSREF, HAVE_FSSPEC */    }    if ( have_lwfn && ( !have_sfnt || PREFER_LWFN ) )      return FT_New_Face_From_LWFN( library,                                    path_lwfn,                                    face_index,                                    aface );  found_no_lwfn_file:    if ( have_sfnt )      return FT_New_Face_From_SFNT( library,                                    sfnt_id,                                    face_index,                                    aface );    return FT_Err_Unknown_File_Format;  }  /* Common function to load a new FT_Face from a resource file. */  static FT_Error  FT_New_Face_From_Resource( FT_Library    library,                             const UInt8*  pathname,                             FT_Long       face_index,                             FT_Face*      aface )  {    OSType    file_type;    FT_Error  error;    /* LWFN is a (very) specific file format, check for it explicitly */    file_type = get_file_type_from_path( pathname );    if ( file_type == 'LWFN' )      return FT_New_Face_From_LWFN( library, pathname, face_index, aface );    /* Otherwise the file type doesn't matter (there are more than  */    /* `FFIL' and `tfil').  Just try opening it as a font suitcase; */    /* if it works, fine.                                           */    error = FT_New_Face_From_Suitcase( library, pathname, face_index, aface );    if ( error == 0 )      return error;    /* let it fall through to normal loader (.ttf, .otf, etc.); */    /* we signal this by returning no error and no FT_Face      */    *aface = NULL;    return 0;  }  /*************************************************************************/  /*                                                                       */  /* <Function>                                                            */  /*    FT_New_Face                                                        */  /*                                                                       */  /* <Description>                                                         */  /*    This is the Mac-specific implementation of FT_New_Face.  In        */  /*    addition to the standard FT_New_Face() functionality, it also      */  /*    accepts pathnames to Mac suitcase files.  For further              */  /*    documentation see the original FT_New_Face() in freetype.h.        */  /*                                                                       */  FT_EXPORT_DEF( FT_Error )  FT_New_Face( FT_Library   library,               const char*  pathname,               FT_Long      face_index,               FT_Face*     aface )  {    FT_Open_Args  args;    FT_Error      error;    /* test for valid `library' and `aface' delayed to FT_Open_Face() */    if ( !pathname )      return FT_Err_Invalid_Argument;    error  = FT_Err_Ok;    *aface = NULL;    /* try resourcefork based font: LWFN, FFIL */    error = FT_New_Face_From_Resource( library, (UInt8 *)pathname,                                       face_index, aface );    if ( error != 0 || *aface != NULL )      return error;    /* let it fall through to normal loader (.ttf, .otf, etc.) */    args.flags    = FT_OPEN_PATHNAME;    args.pathname = (char*)pathname;    return FT_Open_Face( library, &args, face_index, aface );  }  /*************************************************************************/  /*                                                                       */  /* <Function>                                                            */  /*    FT_New_Face_From_FSRef                                             */  /*                                                                       */  /* <Description>                                                         */  /*    FT_New_Face_From_FSRef is identical to FT_New_Face except it       */  /*    accepts an FSRef instead of a path.                                */  /*                                                                       */  FT_EXPORT_DEF( FT_Error )  FT_New_Face_From_FSRef( FT_Library    library,                          const FSRef*  ref,                          FT_Long       face_index,                          FT_Face*      aface )  {#if !HAVE_FSREF    return FT_Err_Unimplemented_Feature;#else    FT_Error      error;    FT_Open_Args  args;    OSErr   err;    UInt8   pathname[HFS_MAXPATHLEN];    if ( !ref )      return FT_Err_Invalid_Argument;    err = FSRefMakePath( ref, pathname, sizeof ( pathname ) );    if ( err )      error = FT_Err_Cannot_Open_Resource;    error = FT_New_Face_From_Resource( library, pathname, face_index, aface );    if ( error != 0 || *aface != NULL )      return error;    /* fallback to datafork font */    args.flags    = FT_OPEN_PATHNAME;    args.pathname = (char*)pathname;    return FT_Open_Face( library, &args, face_index, aface );#endif /* HAVE_FSREF */  }  /*************************************************************************/  /*                                                                       */  /* <Function>                                                            */  /*    FT_New_Face_From_FSSpec                                            */  /*                                                                       */  /* <Description>                                                         */  /*    FT_New_Face_From_FSSpec is identical to FT_New_Face except it      */  /*    accepts an FSSpec instead of a path.                               */  /*                                                                       */  FT_EXPORT_DEF( FT_Error )  FT_New_Face_From_FSSpec( FT_Library     library,                           const FSSpec*  spec,                           FT_Long        face_index,                           FT_Face*       aface )  {#if HAVE_FSREF    FSRef  ref;    if ( !spec || FSpMakeFSRef( spec, &ref ) != noErr )      return FT_Err_Invalid_Argument;    else      return FT_New_Face_From_FSRef( library, &ref, face_index, aface );#elif HAVE_FSSPEC    FT_Error      error;    FT_Open_Args  args;    OSErr         err;    UInt8         pathname[HFS_MAXPATHLEN];    if ( !spec )      return FT_Err_Invalid_Argument;    err = FT_FSpMakePath( spec, pathname, sizeof ( pathname ) );    if ( err )      error = FT_Err_Cannot_Open_Resource;    error = FT_New_Face_From_Resource( library, pathname, face_index, aface );    if ( error != 0 || *aface != NULL )      return error;    /* fallback to datafork font */    args.flags    = FT_OPEN_PATHNAME;    args.pathname = (char*)pathname;    return FT_Open_Face( library, &args, face_index, aface );#else    return FT_Err_Unimplemented_Feature;#endif /* HAVE_FSREF, HAVE_FSSPEC */  }/* END */

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲色图欧洲色图婷婷| 亚洲视频在线观看一区| 成人高清av在线| 日韩精品亚洲专区| 亚洲国产岛国毛片在线| 国产日产欧美精品一区二区三区| 91网址在线看| 蜜臀久久久久久久| 亚洲一区视频在线观看视频| 久久久精品天堂| 欧美人与z0zoxxxx视频| 99国产精品久久久久久久久久 | 五月激情综合色| 亚洲色图视频网站| 亚洲国产高清aⅴ视频| 日韩视频123| 欧美日韩一级二级| 91亚洲精品乱码久久久久久蜜桃 | 色哟哟一区二区| 粉嫩嫩av羞羞动漫久久久| 免费成人在线视频观看| 洋洋成人永久网站入口| 国产精品国产三级国产a| 久久精品欧美一区二区三区麻豆| 在线电影一区二区三区| 欧美日韩中文另类| 91久久久免费一区二区| 91丨porny丨国产| www.欧美精品一二区| 国产东北露脸精品视频| 九九视频精品免费| 美女任你摸久久| 日韩av高清在线观看| 亚洲成人三级小说| 亚洲午夜日本在线观看| 亚洲欧美日韩国产另类专区| 国产精品网曝门| 中文字幕国产一区| 国产精品麻豆欧美日韩ww| 国产欧美日韩精品在线| 久久久精品国产免大香伊| 久久综合九色综合97_久久久| 在线播放中文一区| 日韩视频一区二区三区| 日韩欧美综合一区| 日韩三级中文字幕| 精品国产第一区二区三区观看体验| 日韩一区二区高清| 欧美不卡123| 久久精品欧美日韩精品| 国产精品国产三级国产有无不卡 | 亚洲欧美一区二区在线观看| 成人欧美一区二区三区视频网页 | 国产一区高清在线| 丁香一区二区三区| 色综合天天综合狠狠| 日本高清不卡在线观看| 欧美亚洲综合久久| 欧美一区二区久久久| 精品国产自在久精品国产| 国产亚洲成av人在线观看导航| 中文字幕二三区不卡| 亚洲男人的天堂在线aⅴ视频| 亚洲福利视频一区| 捆绑调教一区二区三区| 成人免费高清视频在线观看| 99国产一区二区三精品乱码| 欧美人狂配大交3d怪物一区 | 亚洲欧美福利一区二区| 亚洲国产一二三| 麻豆精品视频在线| 成人在线综合网站| 欧美视频一区在线观看| 日韩一区二区影院| 国产欧美久久久精品影院| 亚洲日本一区二区三区| 日日夜夜免费精品| 国产不卡在线一区| 欧洲精品在线观看| 欧美mv和日韩mv的网站| 日韩中文字幕区一区有砖一区 | 日韩一区二区三区在线观看| 久久精品欧美日韩| 一二三四区精品视频| 久久99精品久久久久久久久久久久| 国产99久久精品| 欧美系列一区二区| 亚洲精品一线二线三线 | 国产一区二区不卡老阿姨| 成人小视频免费观看| 欧美男生操女生| 国产欧美日韩卡一| 日韩精品一区第一页| 成人高清伦理免费影院在线观看| 538prom精品视频线放| 国产精品久久久久影院| 蜜桃av一区二区在线观看| 91免费视频网址| 久久精品一区二区三区不卡| 亚洲午夜成aⅴ人片| 国产精品1区2区3区| 欧美精品高清视频| 亚洲欧美日韩电影| 丰满放荡岳乱妇91ww| 日韩一区二区免费在线电影| 一区二区三区中文在线观看| 激情成人综合网| 538prom精品视频线放| 亚洲四区在线观看| 成人av在线资源网| www国产精品av| 日本欧美久久久久免费播放网| 99热精品国产| 国产精品久久久久三级| 国内精品伊人久久久久av一坑| 欧美日韩中文一区| 亚洲一线二线三线视频| 色综合视频在线观看| 国产精品电影院| 国产精品一二三四| 欧美精品一区二区三区在线播放| 亚洲国产精品尤物yw在线观看| 91丝袜高跟美女视频| 中文字幕一区日韩精品欧美| 国产激情偷乱视频一区二区三区| 91精品国产高清一区二区三区| 亚洲一区中文日韩| 欧美日韩一区二区在线视频| 一区二区免费在线| www.亚洲在线| 中文字幕在线观看一区二区| 成人免费福利片| 国产精品久久久久久户外露出| 蜜臀久久99精品久久久久久9| 欧美高清www午色夜在线视频| 亚洲国产综合视频在线观看| 成人夜色视频网站在线观看| 久久久亚洲综合| 国产成人精品一区二区三区四区| 欧美精品一区二区三区在线播放| 麻豆国产一区二区| 日韩精品中文字幕在线一区| youjizz久久| 中文字幕亚洲在| 91网站在线观看视频| 一区二区三区精品在线| 欧美无砖专区一中文字| 亚洲一级片在线观看| 在线不卡a资源高清| 精品一区二区三区视频 | 在线电影院国产精品| 蜜桃视频一区二区三区在线观看| 日韩欧美久久久| 激情另类小说区图片区视频区| 精品国产区一区| 国产成人av影院| 亚洲视频一区在线| 欧美日韩在线电影| 免费看欧美女人艹b| 久久久久久免费| 色综合久久综合网97色综合| 亚洲午夜精品在线| 2023国产精品自拍| 成人亚洲一区二区一| 亚洲地区一二三色| 日韩精品综合一本久道在线视频| 韩国成人精品a∨在线观看| 久久久精品天堂| 在线观看欧美黄色| 日本91福利区| 欧美极品少妇xxxxⅹ高跟鞋| 在线免费视频一区二区| 美国十次综合导航| 国产精品成人网| 日韩一级欧美一级| 成人国产一区二区三区精品| 五月婷婷综合在线| 国产午夜精品美女毛片视频| 91福利区一区二区三区| 久久99久久99| 亚洲精品国产一区二区三区四区在线| 欧美日本一道本在线视频| 国产一区二区不卡| 久久精品国产99久久6| 国产亚洲综合av| 亚洲精品国产无套在线观| 91精品福利在线一区二区三区 | 亚洲成av人片在线观看| 成人激情校园春色| 亚洲免费在线观看| 91色乱码一区二区三区| 另类欧美日韩国产在线| 亚洲乱码国产乱码精品精可以看| 欧美一区二区网站| 一本久久a久久免费精品不卡| 久久精品国产77777蜜臀| 亚洲激情自拍偷拍| 欧美国产一区视频在线观看| 欧美女孩性生活视频| 99久久国产综合精品色伊|