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

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

?? ttobjs.c

?? a very goog book
?? C
?? 第 1 頁(yè) / 共 2 頁(yè)
字號(hào):
/***************************************************************************//*                                                                         *//*  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 )

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
九色综合国产一区二区三区| 欧美日韩精品久久久| 国产精品自在欧美一区| 美日韩一区二区| 精品午夜久久福利影院| 久久99精品久久久| 国产真实乱偷精品视频免| 国产成人综合在线| 成人免费视频视频| 99国产精品99久久久久久| 99久久婷婷国产综合精品| 91丨九色丨尤物| 在线视频一区二区免费| 欧美久久婷婷综合色| 日韩欧美区一区二| 国产亚洲欧美一区在线观看| 国产精品美女一区二区三区 | 国产人成亚洲第一网站在线播放| 久久综合中文字幕| 久久婷婷国产综合国色天香| 国产精品水嫩水嫩| 亚洲男同1069视频| 视频一区视频二区中文| 黄一区二区三区| 成人国产精品视频| 在线免费观看日本欧美| 欧美一区二区三区免费大片| 久久综合色一综合色88| 国产精品网站导航| 亚洲一区在线视频| 免费成人在线网站| 成人综合婷婷国产精品久久蜜臀| 色综合天天性综合| 3d成人h动漫网站入口| 久久亚洲精品小早川怜子| 亚洲欧洲色图综合| 一区二区三区电影在线播| 奇米色一区二区三区四区| 丁香桃色午夜亚洲一区二区三区| 一本一本大道香蕉久在线精品| 欧美日韩国产小视频在线观看| 亚洲精品在线免费播放| 一色屋精品亚洲香蕉网站| 青青国产91久久久久久| av色综合久久天堂av综合| 9191久久久久久久久久久| 国产视频不卡一区| 欧美三级日韩三级| 精品成人一区二区三区四区| 亚洲国产激情av| 午夜视频一区在线观看| 国产一区久久久| 在线观看国产精品网站| 久久精品亚洲国产奇米99| 亚洲妇熟xx妇色黄| 成人av免费在线| 欧美一区二区在线免费播放| 国产精品久久久久一区二区三区共| 三级在线观看一区二区 | 91精品国产一区二区三区蜜臀| 久久精品日产第一区二区三区高清版| 伊人夜夜躁av伊人久久| 国产成人精品免费一区二区| 91麻豆精品国产91| 亚洲卡通动漫在线| 国产不卡免费视频| 欧美一区二区三区四区高清| 又紧又大又爽精品一区二区| 国产高清久久久| 欧美成人三级电影在线| 亚洲免费视频中文字幕| 99国产麻豆精品| 精品国产麻豆免费人成网站| 午夜精品久久久久久不卡8050| 成人免费观看av| 欧美精品一区二区三区蜜臀| av动漫一区二区| 日韩一区二区在线观看视频| 亚洲综合视频在线观看| 91在线视频18| 日本一区二区三区国色天香 | 国产精品 日产精品 欧美精品| 在线不卡一区二区| 亚洲亚洲人成综合网络| 99久久777色| 国产精品五月天| 国产精品一区三区| 精品剧情v国产在线观看在线| 午夜精品123| 欧美日本在线播放| 亚洲成a人片综合在线| 欧美午夜一区二区三区免费大片| 日韩理论片一区二区| 成人免费观看视频| 国产精品免费视频网站| 成人av网址在线| 国产女人18水真多18精品一级做| 国产一区二区在线观看免费| 精品欧美一区二区久久 | 欧美不卡在线视频| 九九九久久久精品| 日韩精品一区二区三区视频播放 | 成人妖精视频yjsp地址| 国产精品视频第一区| 成人av免费在线播放| 中文字幕在线不卡| 色综合天天做天天爱| 一区二区久久久久| 欧美日韩在线一区二区| 日韩精品久久理论片| 欧美tk—视频vk| 国产成人一区在线| 最新成人av在线| 欧洲另类一二三四区| 天天综合色天天| 精品国产伦一区二区三区观看方式| 黄色小说综合网站| 国产精品日韩精品欧美在线| 色婷婷国产精品| 亚洲高清一区二区三区| 日韩色视频在线观看| 国产一区二区网址| 国产精品国产三级国产普通话三级 | 樱花影视一区二区| 欧美日韩国产小视频在线观看| 免费在线看成人av| 亚洲精品一区二区三区99 | 国产亚洲一区二区三区| 不卡一区中文字幕| 亚洲3atv精品一区二区三区| 精品久久久久久久久久久院品网| 成人网页在线观看| 亚洲永久免费av| 精品国产乱码久久久久久影片| 成人avav在线| 日韩国产欧美一区二区三区| 久久精品一区二区三区av| 色婷婷久久久综合中文字幕| 免费观看30秒视频久久| 日本一区二区动态图| 欧美图片一区二区三区| 国产剧情一区二区| 亚洲精品高清在线| 日韩三级免费观看| av亚洲精华国产精华| 免费成人av资源网| 国产精品毛片无遮挡高清| 欧美日韩激情一区二区| 国产美女一区二区三区| 亚洲久本草在线中文字幕| 精品黑人一区二区三区久久| 91首页免费视频| 久久国产精品99久久人人澡| 亚洲乱码国产乱码精品精可以看 | 亚洲精品国产a久久久久久| 欧美成人精品福利| 91成人国产精品| 国产精品一区三区| 日韩激情一二三区| 自拍偷自拍亚洲精品播放| 欧美不卡一区二区三区四区| 在线观看欧美黄色| 成人国产亚洲欧美成人综合网| 日韩高清欧美激情| 亚洲少妇30p| 久久久久久久久久久久久久久99 | 国产精品国产三级国产aⅴ中文 | 天天色综合天天| 综合网在线视频| 亚洲精品在线网站| 69av一区二区三区| 色综合视频在线观看| 岛国精品一区二区| 裸体一区二区三区| 亚洲成人久久影院| 综合欧美一区二区三区| 久久精品人人爽人人爽| 欧美一区二区三区在线观看视频 | 欧美va亚洲va国产综合| 欧美日韩成人激情| 91久久一区二区| av爱爱亚洲一区| 懂色av中文一区二区三区| 另类综合日韩欧美亚洲| 日韩va亚洲va欧美va久久| 亚洲成人中文在线| 亚洲男人的天堂一区二区| 中文av一区二区| 国产日韩欧美高清| 精品电影一区二区| 精品国产网站在线观看| 日韩午夜在线播放| 欧美日韩国产电影| 欧美伦理电影网| 在线成人免费视频| 欧美老年两性高潮| 欧美日本在线观看| 欧美日韩激情一区二区| 欧美男人的天堂一二区| 欧美日韩午夜精品|