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

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

?? cffobjs.c

?? QT 開發(fā)環(huán)境里面一個(gè)很重要的文件
?? C
?? 第 1 頁 / 共 2 頁
字號(hào):
/***************************************************************************//*                                                                         *//*  cffobjs.c                                                              *//*                                                                         *//*    OpenType objects manager (body).                                     *//*                                                                         *//*  Copyright 1996-2001, 2002, 2003, 2004, 2005, 2006 by                   *//*  David Turner, Robert Wilhelm, and Werner Lemberg.                      *//*                                                                         *//*  This file is part of the FreeType project, and may only be used,       *//*  modified, and distributed under the terms of the FreeType project      *//*  license, LICENSE.TXT.  By continuing to use, modify, or distribute     *//*  this file you indicate that you have read the license and              *//*  understand and accept it fully.                                        *//*                                                                         *//***************************************************************************/#include <ft2build.h>#include FT_INTERNAL_DEBUG_H#include FT_INTERNAL_CALC_H#include FT_INTERNAL_STREAM_H#include FT_ERRORS_H#include FT_TRUETYPE_IDS_H#include FT_TRUETYPE_TAGS_H#include FT_INTERNAL_SFNT_H#include FT_SERVICE_POSTSCRIPT_CMAPS_H#include FT_INTERNAL_POSTSCRIPT_HINTS_H#include "cffobjs.h"#include "cffload.h"#include "cffcmap.h"#include "cfferrs.h"  /*************************************************************************/  /*                                                                       */  /* The macro FT_COMPONENT is used in trace mode.  It is an implicit      */  /* parameter of the FT_TRACE() and FT_ERROR() macros, used to print/log  */  /* messages during execution.                                            */  /*                                                                       */#undef  FT_COMPONENT#define FT_COMPONENT  trace_cffobjs  /*************************************************************************/  /*                                                                       */  /*                            SIZE FUNCTIONS                             */  /*                                                                       */  /*  Note that we store the global hints in the size's `internal' root    */  /*  field.                                                               */  /*                                                                       */  /*************************************************************************/  static PSH_Globals_Funcs  cff_size_get_globals_funcs( CFF_Size  size )  {    CFF_Face          face     = (CFF_Face)size->root.face;    CFF_Font          font     = (CFF_FontRec *)face->extra.data;    PSHinter_Service  pshinter = (PSHinter_Service)font->pshinter;    FT_Module         module;    module = FT_Get_Module( size->root.face->driver->root.library,                            "pshinter" );    return ( module && pshinter && pshinter->get_globals_funcs )           ? pshinter->get_globals_funcs( module )           : 0;  }  FT_LOCAL_DEF( void )  cff_size_done( FT_Size  cffsize )        /* CFF_Size */  {    CFF_Size  size = (CFF_Size)cffsize;    if ( cffsize->internal )    {      PSH_Globals_Funcs  funcs;      funcs = cff_size_get_globals_funcs( size );      if ( funcs )        funcs->destroy( (PSH_Globals)cffsize->internal );      cffsize->internal = 0;    }  }  FT_LOCAL_DEF( FT_Error )  cff_size_init( FT_Size  cffsize )         /* CFF_Size */  {    CFF_Size           size  = (CFF_Size)cffsize;    FT_Error           error = CFF_Err_Ok;    PSH_Globals_Funcs  funcs = cff_size_get_globals_funcs( size );    if ( funcs )    {      PSH_Globals    globals;      CFF_Face       face    = (CFF_Face)cffsize->face;      CFF_Font       font    = (CFF_FontRec *)face->extra.data;      CFF_SubFont    subfont = &font->top_font;      CFF_Private    cpriv   = &subfont->private_dict;      PS_PrivateRec  priv;      /* IMPORTANT: The CFF and Type1 private dictionaries have    */      /*            slightly different structures; we need to      */      /*            synthetize a type1 dictionary on the fly here. */      {        FT_UInt  n, count;        FT_MEM_ZERO( &priv, sizeof ( priv ) );        count = priv.num_blue_values = cpriv->num_blue_values;        for ( n = 0; n < count; n++ )          priv.blue_values[n] = (FT_Short)cpriv->blue_values[n];        count = priv.num_other_blues = cpriv->num_other_blues;        for ( n = 0; n < count; n++ )          priv.other_blues[n] = (FT_Short)cpriv->other_blues[n];        count = priv.num_family_blues = cpriv->num_family_blues;        for ( n = 0; n < count; n++ )          priv.family_blues[n] = (FT_Short)cpriv->family_blues[n];        count = priv.num_family_other_blues = cpriv->num_family_other_blues;        for ( n = 0; n < count; n++ )          priv.family_other_blues[n] = (FT_Short)cpriv->family_other_blues[n];        priv.blue_scale = cpriv->blue_scale;        priv.blue_shift = (FT_Int)cpriv->blue_shift;        priv.blue_fuzz  = (FT_Int)cpriv->blue_fuzz;        priv.standard_width[0]  = (FT_UShort)cpriv->standard_width;        priv.standard_height[0] = (FT_UShort)cpriv->standard_height;        count = priv.num_snap_widths = cpriv->num_snap_widths;        for ( n = 0; n < count; n++ )          priv.snap_widths[n] = (FT_Short)cpriv->snap_widths[n];        count = priv.num_snap_heights = cpriv->num_snap_heights;        for ( n = 0; n < count; n++ )          priv.snap_heights[n] = (FT_Short)cpriv->snap_heights[n];        priv.force_bold     = cpriv->force_bold;        priv.language_group = cpriv->language_group;        priv.lenIV          = cpriv->lenIV;      }      error = funcs->create( cffsize->face->memory, &priv, &globals );      if ( !error )        cffsize->internal = (FT_Size_Internal)(void*)globals;    }    size->strike_index = 0xFFFFFFFFUL;    return error;  }#ifdef TT_CONFIG_OPTION_EMBEDDED_BITMAPS  FT_LOCAL_DEF( FT_Error )  cff_size_select( FT_Size   size,                   FT_ULong  strike_index )  {    CFF_Size           cffsize = (CFF_Size)size;    PSH_Globals_Funcs  funcs;    cffsize->strike_index = strike_index;    FT_Select_Metrics( size->face, strike_index );    funcs = cff_size_get_globals_funcs( cffsize );    if ( funcs )      funcs->set_scale( (PSH_Globals)size->internal,                        size->metrics.x_scale,                        size->metrics.y_scale,                        0, 0 );    return CFF_Err_Ok;  }#endif /* TT_CONFIG_OPTION_EMBEDDED_BITMAPS */  FT_LOCAL_DEF( FT_Error )  cff_size_request( FT_Size          size,                    FT_Size_Request  req )  {    CFF_Size           cffsize = (CFF_Size)size;    PSH_Globals_Funcs  funcs;#ifdef TT_CONFIG_OPTION_EMBEDDED_BITMAPS    if ( FT_HAS_FIXED_SIZES( size->face ) )    {      CFF_Face      cffface = (CFF_Face)size->face;      SFNT_Service  sfnt    = (SFNT_Service)cffface->sfnt;      FT_ULong      index;      if ( sfnt->set_sbit_strike( cffface, req, &index ) )        cffsize->strike_index = 0xFFFFFFFFUL;      else        return cff_size_select( size, index );    }#endif /* TT_CONFIG_OPTION_EMBEDDED_BITMAPS */    FT_Request_Metrics( size->face, req );    funcs = cff_size_get_globals_funcs( cffsize );    if ( funcs )      funcs->set_scale( (PSH_Globals)size->internal,                        size->metrics.x_scale,                        size->metrics.y_scale,                        0, 0 );    return CFF_Err_Ok;  }  /*************************************************************************/  /*                                                                       */  /*                            SLOT  FUNCTIONS                            */  /*                                                                       */  /*************************************************************************/  FT_LOCAL_DEF( void )  cff_slot_done( FT_GlyphSlot  slot )  {    slot->internal->glyph_hints = 0;  }  FT_LOCAL_DEF( FT_Error )  cff_slot_init( FT_GlyphSlot  slot )  {    CFF_Face          face     = (CFF_Face)slot->face;    CFF_Font          font     = (CFF_FontRec *)face->extra.data;    PSHinter_Service  pshinter = (PSHinter_Service)font->pshinter;    if ( pshinter )    {      FT_Module  module;      module = FT_Get_Module( slot->face->driver->root.library,                              "pshinter" );      if ( module )      {        T2_Hints_Funcs  funcs;        funcs = pshinter->get_t2_funcs( module );        slot->internal->glyph_hints = (void*)funcs;      }    }    return 0;  }  /*************************************************************************/  /*                                                                       */  /*                           FACE  FUNCTIONS                             */  /*                                                                       */  /*************************************************************************/  static FT_String*  cff_strcpy( FT_Memory         memory,              const FT_String*  source )  {    FT_Error    error;    FT_String*  result = 0;    FT_Int      len = (FT_Int)ft_strlen( source );    if ( !FT_ALLOC( result, len + 1 ) )    {      FT_MEM_COPY( result, source, len );      result[len] = 0;    }    FT_UNUSED( error );    return result;  }  FT_LOCAL_DEF( FT_Error )  cff_face_init( FT_Stream      stream,                 FT_Face        cffface,        /* CFF_Face */                 FT_Int         face_index,                 FT_Int         num_params,                 FT_Parameter*  params )  {    CFF_Face            face = (CFF_Face)cffface;    FT_Error            error;    SFNT_Service        sfnt;    FT_Service_PsCMaps  psnames;    PSHinter_Service    pshinter;    FT_Bool             pure_cff    = 1;    FT_Bool             sfnt_format = 0;#if 0    FT_FACE_FIND_GLOBAL_SERVICE( face, sfnt,     SFNT );    FT_FACE_FIND_GLOBAL_SERVICE( face, psnames,  POSTSCRIPT_NAMES );    FT_FACE_FIND_GLOBAL_SERVICE( face, pshinter, POSTSCRIPT_HINTER );    if ( !sfnt )      goto Bad_Format;#else    sfnt = (SFNT_Service)FT_Get_Module_Interface(             cffface->driver->root.library, "sfnt" );    if ( !sfnt )      goto Bad_Format;    FT_FACE_FIND_GLOBAL_SERVICE( face, psnames, POSTSCRIPT_CMAPS );    pshinter = (PSHinter_Service)FT_Get_Module_Interface(                 cffface->driver->root.library, "pshinter" );#endif    /* create input stream from resource */    if ( FT_STREAM_SEEK( 0 ) )      goto Exit;    /* check whether we have a valid OpenType file */    error = sfnt->init_face( stream, face, face_index, num_params, params );    if ( !error )    {      if ( face->format_tag != 0x4F54544FL )  /* `OTTO'; OpenType/CFF font */      {        FT_TRACE2(( "[not a valid OpenType/CFF font]\n" ));        goto Bad_Format;      }      /* if we are performing a simple font format check, exit immediately */      if ( face_index < 0 )        return CFF_Err_Ok;      /* UNDOCUMENTED!  A CFF in an SFNT can have only a single font. */      if ( face_index > 0 )      {        FT_ERROR(( "cff_face_init: invalid face index\n" ));        error = CFF_Err_Invalid_Argument;        goto Exit;      }      sfnt_format = 1;      /* now, the font can be either an OpenType/CFF font, or an SVG CEF */      /* font; in the latter case it doesn't have a `head' table         */      error = face->goto_table( face, TTAG_head, stream, 0 );      if ( !error )      {        pure_cff = 0;        /* load font directory */        error = sfnt->load_face( stream, face,                                 face_index, num_params, params );        if ( error )          goto Exit;      }      else      {        /* load the `cmap' table explicitly */        error = sfnt->load_cmap( face, stream );        if ( error )          goto Exit;        /* XXX: we don't load the GPOS table, as OpenType Layout     */        /* support will be added later to a layout library on top of */        /* FreeType 2                                                */      }      /* now load the CFF part of the file */      error = face->goto_table( face, TTAG_CFF, stream, 0 );      if ( error )        goto Exit;

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人免费福利片| 欧美欧美欧美欧美| 欧美日韩午夜精品| 亚洲国产成人私人影院tom| 无码av免费一区二区三区试看| 国产乱码精品一区二区三区av | 午夜精品久久久久久不卡8050| 久久se精品一区精品二区| 欧美中文字幕一区二区三区| 国产婷婷色一区二区三区在线| 日韩精品国产欧美| 欧美三级欧美一级| 亚洲视频1区2区| 懂色av一区二区三区免费看| 日韩欧美一区二区久久婷婷| 一区二区三区不卡在线观看 | 毛片基地黄久久久久久天堂| 欧美调教femdomvk| 亚洲一区二区三区四区在线免费观看 | 一区二区在线观看视频| 国产成人一级电影| 久久久亚洲午夜电影| 久久99最新地址| 精品久久久久久亚洲综合网| 日韩av午夜在线观看| 91福利国产成人精品照片| 亚洲欧洲精品天堂一级| 99久久国产免费看| 亚洲人成网站色在线观看| av中文字幕亚洲| 国产精品久久久久9999吃药| 成人免费精品视频| 亚洲少妇最新在线视频| 99re66热这里只有精品3直播| 国产精品欧美久久久久一区二区| 丰满少妇久久久久久久| 国产精品视频yy9299一区| 成人一级片网址| 亚洲少妇30p| 在线观看国产一区二区| 亚洲国产精品久久不卡毛片| 欧美精选一区二区| 美女视频第一区二区三区免费观看网站| 欧美一区二区三区免费在线看| 麻豆精品一区二区三区| 久久久精品中文字幕麻豆发布| 岛国一区二区在线观看| 亚洲欧洲美洲综合色网| 欧美综合色免费| 日本不卡免费在线视频| 久久久精品欧美丰满| 99在线视频精品| 午夜激情久久久| 26uuu久久天堂性欧美| 99久久亚洲一区二区三区青草| 亚洲精品综合在线| 91精品久久久久久蜜臀| 国产乱码字幕精品高清av| 亚洲图片欧美激情| 91精品欧美一区二区三区综合在 | 91美女蜜桃在线| 亚洲国产精品影院| 久久亚洲综合色一区二区三区| 不卡一区中文字幕| 日韩专区中文字幕一区二区| 久久久精品影视| 欧美日韩国产首页| 国产精品一卡二| 亚洲综合丝袜美腿| 2017欧美狠狠色| 欧美揉bbbbb揉bbbbb| 国产999精品久久| 午夜精品久久久久久久99樱桃| 久久精品这里都是精品| 在线观看欧美黄色| 高清在线不卡av| 免费黄网站欧美| 亚洲制服丝袜av| 亚洲国产成人一区二区三区| 欧美一区二区在线不卡| 91丨九色丨国产丨porny| 国产一区在线不卡| 国产一区二区三区久久久| 国产精品久久久久久久午夜片| 777午夜精品视频在线播放| 国产成人av电影在线| 性久久久久久久| 亚洲三级在线免费| 日本一区二区三级电影在线观看 | 不卡一区二区在线| 激情偷乱视频一区二区三区| 亚洲午夜久久久久久久久电影院| 国产欧美va欧美不卡在线 | 在线不卡中文字幕播放| www.欧美日韩| 国产福利91精品一区| 天堂av在线一区| 一区二区三区中文字幕精品精品| 欧美国产激情一区二区三区蜜月| 91精品国产综合久久精品麻豆 | caoporm超碰国产精品| 国产在线精品一区二区不卡了 | 亚洲午夜在线电影| 中文字幕中文字幕一区二区| 久久精品在这里| 精品对白一区国产伦| 在线不卡中文字幕| 欧美高清一级片在线| 欧美日本一区二区| 欧美日韩高清一区| 欧美美女黄视频| 欧美老年两性高潮| 欧美疯狂性受xxxxx喷水图片| 欧美三级韩国三级日本三斤 | a级精品国产片在线观看| 成人综合日日夜夜| heyzo一本久久综合| 99久久精品国产观看| 91麻豆国产精品久久| 色综合 综合色| 欧美中文字幕不卡| 欧美日本精品一区二区三区| 欧美理论电影在线| 日韩欧美中文字幕制服| 欧美大片在线观看| 国产欧美一区二区精品性色超碰| 亚洲国产精品精华液2区45| 国产精品你懂的| 亚洲另类色综合网站| 亚洲一线二线三线视频| 亚洲va天堂va国产va久| 日本va欧美va精品发布| 国产在线乱码一区二区三区| 国产成a人亚洲| 91日韩一区二区三区| 欧美私人免费视频| 欧美成人免费网站| 欧美高清在线一区二区| 亚洲影院理伦片| 久久激情五月婷婷| 成人av片在线观看| 欧美日韩精品免费观看视频 | 国产自产v一区二区三区c| 国产福利精品一区二区| 日本韩国欧美国产| 精品国产免费一区二区三区四区 | 亚洲欧美视频一区| 午夜精品久久久久久久蜜桃app | 麻豆免费精品视频| 成人午夜激情影院| 欧美日韩一二三区| 久久婷婷色综合| 亚洲成人av一区二区三区| 激情综合色综合久久综合| 91麻豆精品秘密| 精品国产一区二区在线观看| 中文字幕五月欧美| 老司机免费视频一区二区三区| 成人精品国产免费网站| 91精品国产综合久久香蕉麻豆| 亚洲综合视频在线| 成人免费毛片嘿嘿连载视频| 欧美人牲a欧美精品| 国产精品伦理一区二区| 久久精品国产**网站演员| 欧美在线制服丝袜| 国产精品久久久一本精品 | 日韩亚洲欧美中文三级| 亚洲人精品午夜| 国产在线视频不卡二| 欧美日韩在线电影| 国产精品国产三级国产aⅴ原创| 日本美女一区二区三区视频| 99久久精品国产毛片| 国产偷国产偷亚洲高清人白洁| 日韩中文字幕不卡| 91福利小视频| 日韩一区中文字幕| 成人综合激情网| 精品国产青草久久久久福利| 亚洲国产成人高清精品| 99re热视频这里只精品| 国产亚洲精久久久久久| 九九九久久久精品| 884aa四虎影成人精品一区| 亚洲制服欧美中文字幕中文字幕| 91在线视频播放地址| 久久久久久亚洲综合影院红桃| 日韩国产高清影视| 在线播放欧美女士性生活| 天堂va蜜桃一区二区三区 | 色欧美片视频在线观看| 国产精品成人免费精品自在线观看| 国产精品一线二线三线| 国产无一区二区| 国产精品一区不卡| 国产精品色一区二区三区| 成熟亚洲日本毛茸茸凸凹| 久久免费看少妇高潮| 国产乱子轮精品视频|