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

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

?? ttobjs.c

?? a very goog book
?? C
?? 第 1 頁 / 共 2 頁
字號:
/***************************************************************************//*                                                                         *//*  ttobjs.c                                                               *//*                                                                         *//*    Objects manager (body).                                              *//*                                                                         *//*  Copyright 1996-2001, 2002 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_TRUETYPE_IDS_H#include FT_TRUETYPE_TAGS_H#include FT_INTERNAL_SFNT_H#include FT_INTERNAL_POSTSCRIPT_NAMES_H#include "ttgload.h"#include "ttpload.h"#include "tterrors.h"#ifdef TT_CONFIG_OPTION_BYTECODE_INTERPRETER#include "ttinterp.h"#endif  /*************************************************************************/  /*                                                                       */  /* 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_ttobjs#ifdef TT_CONFIG_OPTION_BYTECODE_INTERPRETER  /*************************************************************************/  /*                                                                       */  /*                       GLYPH ZONE FUNCTIONS                            */  /*                                                                       */  /*************************************************************************/  /*************************************************************************/  /*                                                                       */  /* <Function>                                                            */  /*    TT_Done_GlyphZone                                                  */  /*                                                                       */  /* <Description>                                                         */  /*    Deallocates a glyph zone.                                          */  /*                                                                       */  /* <Input>                                                               */  /*    zone :: A pointer to the target glyph zone.                        */  /*                                                                       */  FT_LOCAL_DEF( void )  TT_Done_GlyphZone( TT_GlyphZone  zone )  {    FT_Memory  memory = zone->memory;    FT_FREE( zone->contours );    FT_FREE( zone->tags );    FT_FREE( zone->cur );    FT_FREE( zone->org );    zone->max_points   = zone->n_points   = 0;    zone->max_contours = zone->n_contours = 0;  }  /*************************************************************************/  /*                                                                       */  /* <Function>                                                            */  /*    TT_New_GlyphZone                                                   */  /*                                                                       */  /* <Description>                                                         */  /*    Allocates a new glyph zone.                                        */  /*                                                                       */  /* <Input>                                                               */  /*    memory      :: A handle to the current memory object.              */  /*                                                                       */  /*    maxPoints   :: The capacity of glyph zone in points.               */  /*                                                                       */  /*    maxContours :: The capacity of glyph zone in contours.             */  /*                                                                       */  /* <Output>                                                              */  /*    zone        :: A pointer to the target glyph zone record.          */  /*                                                                       */  /* <Return>                                                              */  /*    FreeType error code.  0 means success.                             */  /*                                                                       */  FT_LOCAL_DEF( FT_Error )  TT_New_GlyphZone( FT_Memory     memory,                    FT_UShort     maxPoints,                    FT_Short      maxContours,                    TT_GlyphZone  zone )  {    FT_Error  error;    if ( maxPoints > 0 )      maxPoints += 2;    FT_MEM_SET( zone, 0, sizeof ( *zone ) );    zone->memory = memory;    if ( FT_NEW_ARRAY( zone->org,      maxPoints * 2 ) ||         FT_NEW_ARRAY( zone->cur,      maxPoints * 2 ) ||         FT_NEW_ARRAY( zone->tags,     maxPoints     ) ||         FT_NEW_ARRAY( zone->contours, maxContours   ) )    {      TT_Done_GlyphZone( zone );    }    return error;  }#endif /* TT_CONFIG_OPTION_BYTECODE_INTERPRETER */  /*************************************************************************/  /*                                                                       */  /* <Function>                                                            */  /*    TT_Face_Init                                                       */  /*                                                                       */  /* <Description>                                                         */  /*    Initializes a given TrueType face object.                          */  /*                                                                       */  /* <Input>                                                               */  /*    stream     :: The source font stream.                              */  /*                                                                       */  /*    face_index :: The index of the font face in the resource.          */  /*                                                                       */  /*    num_params :: Number of additional generic parameters.  Ignored.   */  /*                                                                       */  /*    params     :: Additional generic parameters.  Ignored.             */  /*                                                                       */  /* <InOut>                                                               */  /*    face       :: The newly built face object.                         */  /*                                                                       */  /* <Return>                                                              */  /*    FreeType error code.  0 means success.                             */  /*                                                                       */  FT_LOCAL_DEF( FT_Error )  TT_Face_Init( FT_Stream      stream,                TT_Face        face,                FT_Int         face_index,                FT_Int         num_params,                FT_Parameter*  params )  {    FT_Error      error;    FT_Library    library;    SFNT_Service  sfnt;    library = face->root.driver->root.library;    sfnt    = (SFNT_Service)FT_Get_Module_Interface( library, "sfnt" );    if ( !sfnt )      goto Bad_Format;    /* create input stream from resource */    if ( FT_STREAM_SEEK( 0 ) )      goto Exit;    /* check that we have a valid TrueType file */    error = sfnt->init_face( stream, face, face_index, num_params, params );    if ( error )      goto Exit;    /* We must also be able to accept Mac/GX fonts, as well as OT ones */    if ( face->format_tag != 0x00010000L &&    /* MS fonts  */         face->format_tag != TTAG_true   )     /* Mac fonts */    {      FT_TRACE2(( "[not a valid TTF font]\n" ));      goto Bad_Format;    }    /* If we are performing a simple font format check, exit immediately */    if ( face_index < 0 )      return TT_Err_Ok;    /* Load font directory */    error = sfnt->load_face( stream, face, face_index, num_params, params );    if ( error )      goto Exit;    if ( face->root.face_flags & FT_FACE_FLAG_SCALABLE )      error = TT_Load_Locations( face, stream ) ||              TT_Load_CVT      ( face, stream ) ||              TT_Load_Programs ( face, stream );    /* initialize standard glyph loading routines */    TT_Init_Glyph_Loading( face );  Exit:    return error;  Bad_Format:    error = TT_Err_Unknown_File_Format;    goto Exit;  }  /*************************************************************************/  /*                                                                       */  /* <Function>                                                            */  /*    TT_Face_Done                                                       */  /*                                                                       */  /* <Description>                                                         */  /*    Finalizes a given face object.                                     */  /*                                                                       */  /* <Input>                                                               */  /*    face :: A pointer to the face object to destroy.                   */  /*                                                                       */  FT_LOCAL_DEF( void )  TT_Face_Done( TT_Face  face )  {    FT_Memory     memory = face->root.memory;    FT_Stream     stream = face->root.stream;    SFNT_Service  sfnt   = (SFNT_Service)face->sfnt;    /* for `extended TrueType formats' (i.e. compressed versions) */    if ( face->extra.finalizer )      face->extra.finalizer( face->extra.data );    if ( sfnt )      sfnt->done_face( face );    /* freeing the locations table */    FT_FREE( face->glyph_locations );    face->num_locations = 0;    /* freeing the CVT */    FT_FREE( face->cvt );    face->cvt_size = 0;    /* freeing the programs */    FT_FRAME_RELEASE( face->font_program );    FT_FRAME_RELEASE( face->cvt_program );    face->font_program_size = 0;    face->cvt_program_size  = 0;  }  /*************************************************************************/  /*                                                                       */  /*                           SIZE  FUNCTIONS                             */  /*                                                                       */  /*************************************************************************/  /*************************************************************************/  /*                                                                       */  /* <Function>                                                            */  /*    TT_Size_Init                                                       */  /*                                                                       */  /* <Description>                                                         */  /*    Initializes a new TrueType size object.                            */  /*                                                                       */  /* <InOut>                                                               */  /*    size :: A handle to the size object.                               */  /*                                                                       */  /* <Return>                                                              */  /*    FreeType error code.  0 means success.                             */  /*                                                                       */  FT_LOCAL_DEF( FT_Error )  TT_Size_Init( TT_Size  size )  {    FT_Error  error = TT_Err_Ok;#ifdef TT_CONFIG_OPTION_BYTECODE_INTERPRETER    TT_Face    face   = (TT_Face)size->root.face;    FT_Memory  memory = face->root.memory;    FT_Int     i;    TT_ExecContext  exec;    FT_UShort       n_twilight;    TT_MaxProfile*  maxp = &face->max_profile;    size->ttmetrics.valid = FALSE;    size->max_function_defs    = maxp->maxFunctionDefs;    size->max_instruction_defs = maxp->maxInstructionDefs;    size->num_function_defs    = 0;    size->num_instruction_defs = 0;    size->max_func = 0;    size->max_ins  = 0;    size->cvt_size     = face->cvt_size;    size->storage_size = maxp->maxStorage;    /* Set default metrics */    {      FT_Size_Metrics*  metrics  = &size->root.metrics;      TT_Size_Metrics*  metrics2 = &size->ttmetrics;      metrics->x_ppem = 0;      metrics->y_ppem = 0;      metrics2->rotated   = FALSE;      metrics2->stretched = FALSE;      /* set default compensation (all 0) */      for ( i = 0; i < 4; i++ )        metrics2->compensations[i] = 0;    }    /* allocate function defs, instruction defs, cvt, and storage area */    if ( FT_NEW_ARRAY( size->function_defs,    size->max_function_defs    ) ||         FT_NEW_ARRAY( size->instruction_defs, size->max_instruction_defs ) ||         FT_NEW_ARRAY( size->cvt,              size->cvt_size             ) ||         FT_NEW_ARRAY( size->storage,          size->storage_size         ) )      goto Fail_Memory;    /* reserve twilight zone */    n_twilight = maxp->maxTwilightPoints;    error = TT_New_GlyphZone( memory, n_twilight, 0, &size->twilight );    if ( error )      goto Fail_Memory;    size->twilight.n_points = n_twilight;    /* set `face->interpreter' according to the debug hook present */    {      FT_Library  library = face->root.driver->root.library;      face->interpreter = (TT_Interpreter)                            library->debug_hooks[FT_DEBUG_HOOK_TRUETYPE];      if ( !face->interpreter )        face->interpreter = (TT_Interpreter)TT_RunIns;    }    /* Fine, now execute the font program! */    exec = size->context;    /* size objects used during debugging have their own context */    if ( !size->debug )      exec = TT_New_Context( face );    if ( !exec )    {      error = TT_Err_Could_Not_Find_Context;      goto Fail_Memory;    }    size->GS = tt_default_graphics_state;    TT_Load_Context( exec, face, size );    exec->callTop   = 0;    exec->top       = 0;    exec->period    = 64;    exec->phase     = 0;    exec->threshold = 0;    {      FT_Size_Metrics*  metrics    = &exec->metrics;      TT_Size_Metrics*  tt_metrics = &exec->tt_metrics;      metrics->x_ppem   = 0;      metrics->y_ppem   = 0;      metrics->x_scale  = 0;      metrics->y_scale  = 0;      tt_metrics->ppem  = 0;      tt_metrics->scale = 0;      tt_metrics->ratio = 0x10000L;    }    exec->instruction_trap = FALSE;    exec->cvtSize = size->cvt_size;    exec->cvt     = size->cvt;    exec->F_dot_P = 0x10000L;    /* allow font program execution */    TT_Set_CodeRange( exec,                      tt_coderange_font,                      face->font_program,                      face->font_program_size );    /* disable CVT and glyph programs coderange */    TT_Clear_CodeRange( exec, tt_coderange_cvt );    TT_Clear_CodeRange( exec, tt_coderange_glyph );    if ( face->font_program_size > 0 )    {      error = TT_Goto_CodeRange( exec, tt_coderange_font, 0 );      if ( !error )        error = face->interpreter( exec );      if ( error )        goto Fail_Exec;    }    else      error = TT_Err_Ok;    TT_Save_Context( exec, size );    if ( !size->debug )

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美激情在线看| 国产美女精品人人做人人爽| 国内精品伊人久久久久影院对白| 99久久精品免费看| 精品国产一区a| 天天综合网天天综合色| 91美女片黄在线观看91美女| 久久久久久一二三区| 日本成人中文字幕在线视频| 91福利精品视频| 中文字幕一区二区三区视频| 国产九九视频一区二区三区| 制服丝袜一区二区三区| 亚洲最新视频在线观看| av资源网一区| 欧美国产欧美综合| 国产91在线看| 久久久91精品国产一区二区精品| 免费人成精品欧美精品| 久久久精品影视| 另类中文字幕网| 欧美一区二区三区人| 无吗不卡中文字幕| 欧美日韩亚洲另类| 亚洲国产日韩综合久久精品| 色老汉一区二区三区| 亚洲色图自拍偷拍美腿丝袜制服诱惑麻豆| 国产精品一区二区不卡| 精品国产91九色蝌蚪| 久久99久国产精品黄毛片色诱| 欧美一区二区久久| 午夜精品久久久| 欧美精品在线观看一区二区| 亚洲国产精品人人做人人爽| 欧美四级电影网| 午夜电影网一区| 欧美成人a视频| 精品亚洲国内自在自线福利| 欧美变态口味重另类| 另类小说图片综合网| 欧美电视剧在线观看完整版| 国内久久精品视频| 国产精品美女一区二区三区| 99久久婷婷国产综合精品| 亚洲欧美偷拍卡通变态| 欧美手机在线视频| 久色婷婷小香蕉久久| 亚洲精品一区二区精华| 国产不卡在线一区| 亚洲最大色网站| 精品免费日韩av| 99久久精品免费观看| 亚洲国产aⅴ成人精品无吗| 欧美人狂配大交3d怪物一区| 精品一区二区三区蜜桃| 一区在线中文字幕| 欧美国产精品久久| 在线亚洲+欧美+日本专区| 日本成人在线一区| 国产精品网曝门| 欧美日韩国产高清一区二区 | 欧美日韩一区 二区 三区 久久精品| 日韩美女视频一区| 99re视频精品| 亚洲激情男女视频| 精品不卡在线视频| 99久久精品国产一区| 午夜精品福利一区二区三区蜜桃| 日韩欧美一二区| 色综合久久综合网97色综合| 丝袜美腿一区二区三区| 国产偷v国产偷v亚洲高清| 欧美日韩视频在线一区二区| 国产精品自拍在线| 亚洲国产一区视频| 欧美国产日韩a欧美在线观看| 欧美日韩国产高清一区二区三区| 国产电影一区二区三区| 天天色天天操综合| 亚洲欧美一区二区三区国产精品 | 欧美一级理论性理论a| 99久久综合色| 蜜臀久久99精品久久久久久9| 国产拍欧美日韩视频二区| 91精品国产91久久综合桃花 | 亚洲综合色自拍一区| 日韩免费高清视频| 色悠久久久久综合欧美99| 狠狠色综合色综合网络| 一区二区三区蜜桃网| 亚洲一区二区综合| 国产精品国产三级国产普通话蜜臀 | 蜜桃视频在线观看一区二区| 国产精品成人午夜| 国产欧美一区二区在线观看| 欧美一区二区三区小说| 欧美日韩一区二区三区高清| 94色蜜桃网一区二区三区| 国产精品一区二区久久不卡| 久久国产精品色| 日欧美一区二区| 亚洲与欧洲av电影| 亚洲男人的天堂在线aⅴ视频| 26uuu色噜噜精品一区二区| 欧美美女喷水视频| 欧美日韩一区二区三区视频| 91福利资源站| 欧美亚洲一区三区| 一本到高清视频免费精品| 99精品在线观看视频| 成人激情小说网站| 国产99精品视频| 不卡的av电影| av中文一区二区三区| kk眼镜猥琐国模调教系列一区二区| 国产精品一区二区三区99| 国产不卡在线播放| 成人影视亚洲图片在线| 99久久777色| 色婷婷亚洲精品| 欧美亚洲国产怡红院影院| 欧美在线制服丝袜| 欧美精品乱码久久久久久按摩| 91精品麻豆日日躁夜夜躁| 欧美猛男gaygay网站| 日韩欧美一级片| 国产丝袜美腿一区二区三区| 国产精品久久三| 亚洲精品视频在线| 午夜精品福利在线| 精品一区二区三区不卡| 国产一区 二区| 成人免费看黄yyy456| 色哟哟国产精品免费观看| 欧美日韩一区二区三区免费看| 日韩亚洲欧美一区二区三区| 国产日韩一级二级三级| 亚洲欧美中日韩| 亚洲bt欧美bt精品| 国产一区二区不卡在线| 成人免费黄色在线| 欧美日韩亚洲综合| 久久久激情视频| 一区二区三区av电影| 蜜桃精品在线观看| av资源站一区| 51久久夜色精品国产麻豆| 国产喂奶挤奶一区二区三区| 洋洋成人永久网站入口| 精品一区二区三区免费视频| 91玉足脚交白嫩脚丫在线播放| 欧美一区二区在线免费观看| 国产精品婷婷午夜在线观看| 视频一区欧美精品| 国产+成+人+亚洲欧洲自线| 欧美日本国产一区| 中文字幕+乱码+中文字幕一区| 高清在线观看日韩| 欧美电影在线免费观看| 国产精品天天摸av网| 强制捆绑调教一区二区| 91亚洲国产成人精品一区二三| 欧美一区二区三区免费观看视频 | 中文字幕一区二区在线播放 | 欧美videos大乳护士334| 亚洲欧美一区二区三区国产精品| 九九精品视频在线看| 欧美亚洲国产bt| 国产精品女同一区二区三区| 久久精品国产秦先生| 欧美在线影院一区二区| 国产精品伦一区二区三级视频| 青青草原综合久久大伊人精品| 99免费精品在线观看| 国产欧美精品区一区二区三区| 日韩专区在线视频| 欧美私人免费视频| 亚洲免费高清视频在线| 成人丝袜18视频在线观看| 久久影院午夜论| 美女在线一区二区| 欧美日韩激情在线| 亚洲精品国产第一综合99久久| 国产精品中文字幕一区二区三区| 日韩小视频在线观看专区| 日韩电影在线看| 欧美日韩日日骚| 午夜精品福利一区二区三区av | 美女www一区二区| 制服丝袜av成人在线看| 一区二区三区不卡在线观看| 一本大道久久a久久精品综合| 国产精品国产三级国产a| 国产成人亚洲综合a∨婷婷| 欧美成人激情免费网| 蜜臀久久久久久久| 日韩久久精品一区| 狠狠色狠狠色综合| 国产午夜精品在线观看| 国产精品白丝av|