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

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

?? ttinterp.c

?? a very goog book
?? C
?? 第 1 頁 / 共 5 頁
字號:
  static FT_Long  Current_Ppem( EXEC_OP )  {    return TT_MULFIX( CUR.tt_metrics.ppem, CURRENT_Ratio() );  }  /*************************************************************************/  /*                                                                       */  /* Functions related to the control value table (CVT).                   */  /*                                                                       */  /*************************************************************************/  FT_CALLBACK_DEF( FT_F26Dot6 )  Read_CVT( EXEC_OP_ FT_ULong  idx )  {    return CUR.cvt[idx];  }  FT_CALLBACK_DEF( FT_F26Dot6 )  Read_CVT_Stretched( EXEC_OP_ FT_ULong  idx )  {    return TT_MULFIX( CUR.cvt[idx], CURRENT_Ratio() );  }  FT_CALLBACK_DEF( void )  Write_CVT( EXEC_OP_ FT_ULong    idx,                      FT_F26Dot6  value )  {    CUR.cvt[idx] = value;  }  FT_CALLBACK_DEF( void )  Write_CVT_Stretched( EXEC_OP_ FT_ULong    idx,                                FT_F26Dot6  value )  {    CUR.cvt[idx] = FT_DivFix( value, CURRENT_Ratio() );  }  FT_CALLBACK_DEF( void )  Move_CVT( EXEC_OP_ FT_ULong    idx,                     FT_F26Dot6  value )  {    CUR.cvt[idx] += value;  }  FT_CALLBACK_DEF( void )  Move_CVT_Stretched( EXEC_OP_ FT_ULong    idx,                               FT_F26Dot6  value )  {    CUR.cvt[idx] += FT_DivFix( value, CURRENT_Ratio() );  }  /*************************************************************************/  /*                                                                       */  /* <Function>                                                            */  /*    GetShortIns                                                        */  /*                                                                       */  /* <Description>                                                         */  /*    Returns a short integer taken from the instruction stream at       */  /*    address IP.                                                        */  /*                                                                       */  /* <Return>                                                              */  /*    Short read at code[IP].                                            */  /*                                                                       */  /* <Note>                                                                */  /*    This one could become a macro.                                     */  /*                                                                       */  static FT_Short  GetShortIns( EXEC_OP )  {    /* Reading a byte stream so there is no endianess (DaveP) */    CUR.IP += 2;    return (FT_Short)( ( CUR.code[CUR.IP - 2] << 8 ) +                         CUR.code[CUR.IP - 1]      );  }  /*************************************************************************/  /*                                                                       */  /* <Function>                                                            */  /*    Ins_Goto_CodeRange                                                 */  /*                                                                       */  /* <Description>                                                         */  /*    Goes to a certain code range in the instruction stream.            */  /*                                                                       */  /* <Input>                                                               */  /*    aRange :: The index of the code range.                             */  /*                                                                       */  /*    aIP    :: The new IP address in the code range.                    */  /*                                                                       */  /* <Return>                                                              */  /*    SUCCESS or FAILURE.                                                */  /*                                                                       */  static FT_Bool  Ins_Goto_CodeRange( EXEC_OP_ FT_Int    aRange,                               FT_ULong  aIP )  {    TT_CodeRange*  range;    if ( aRange < 1 || aRange > 3 )    {      CUR.error = TT_Err_Bad_Argument;      return FAILURE;    }    range = &CUR.codeRangeTable[aRange - 1];    if ( range->base == NULL )     /* invalid coderange */    {      CUR.error = TT_Err_Invalid_CodeRange;      return FAILURE;    }    /* NOTE: Because the last instruction of a program may be a CALL */    /*       which will return to the first byte *after* the code    */    /*       range, we test for AIP <= Size, instead of AIP < Size.  */    if ( aIP > range->size )    {      CUR.error = TT_Err_Code_Overflow;      return FAILURE;    }    CUR.code     = range->base;    CUR.codeSize = range->size;    CUR.IP       = aIP;    CUR.curRange = aRange;    return SUCCESS;  }  /*************************************************************************/  /*                                                                       */  /* <Function>                                                            */  /*    Direct_Move                                                        */  /*                                                                       */  /* <Description>                                                         */  /*    Moves a point by a given distance along the freedom vector.  The   */  /*    point will be `touched'.                                           */  /*                                                                       */  /* <Input>                                                               */  /*    point    :: The index of the point to move.                        */  /*                                                                       */  /*    distance :: The distance to apply.                                 */  /*                                                                       */  /* <InOut>                                                               */  /*    zone     :: The affected glyph zone.                               */  /*                                                                       */  static void  Direct_Move( EXEC_OP_ TT_GlyphZone  zone,                        FT_UShort     point,                        FT_F26Dot6    distance )  {    FT_F26Dot6  v;    v = CUR.GS.freeVector.x;    if ( v != 0 )    {#ifdef NO_APPLE_PATENT      if ( ABS( CUR.F_dot_P ) > APPLE_THRESHOLD )        zone->cur[point].x += distance;#else      zone->cur[point].x += TT_MULDIV( distance,                                       v * 0x10000L,                                       CUR.F_dot_P );#endif      zone->tags[point] |= FT_Curve_Tag_Touch_X;    }    v = CUR.GS.freeVector.y;    if ( v != 0 )    {#ifdef NO_APPLE_PATENT      if ( ABS( CUR.F_dot_P ) > APPLE_THRESHOLD )        zone->cur[point].y += distance;#else      zone->cur[point].y += TT_MULDIV( distance,                                       v * 0x10000L,                                       CUR.F_dot_P );#endif      zone->tags[point] |= FT_Curve_Tag_Touch_Y;    }  }  /*************************************************************************/  /*                                                                       */  /* Special versions of Direct_Move()                                     */  /*                                                                       */  /*   The following versions are used whenever both vectors are both      */  /*   along one of the coordinate unit vectors, i.e. in 90% of the cases. */  /*                                                                       */  /*************************************************************************/  static void  Direct_Move_X( EXEC_OP_ TT_GlyphZone  zone,                          FT_UShort     point,                          FT_F26Dot6    distance )  {    FT_UNUSED_EXEC;    zone->cur[point].x += distance;    zone->tags[point]  |= FT_Curve_Tag_Touch_X;  }  static void  Direct_Move_Y( EXEC_OP_ TT_GlyphZone  zone,                          FT_UShort     point,                          FT_F26Dot6    distance )  {    FT_UNUSED_EXEC;    zone->cur[point].y += distance;    zone->tags[point]  |= FT_Curve_Tag_Touch_Y;  }  /*************************************************************************/  /*                                                                       */  /* <Function>                                                            */  /*    Round_None                                                         */  /*                                                                       */  /* <Description>                                                         */  /*    Does not round, but adds engine compensation.                      */  /*                                                                       */  /* <Input>                                                               */  /*    distance     :: The distance (not) to round.                       */  /*                                                                       */  /*    compensation :: The engine compensation.                           */  /*                                                                       */  /* <Return>                                                              */  /*    The compensated distance.                                          */  /*                                                                       */  /* <Note>                                                                */  /*    The TrueType specification says very few about the relationship    */  /*    between rounding and engine compensation.  However, it seems from  */  /*    the description of super round that we should add the compensation */  /*    before rounding.                                                   */  /*                                                                       */  static FT_F26Dot6  Round_None( EXEC_OP_ FT_F26Dot6  distance,                       FT_F26Dot6  compensation )  {    FT_F26Dot6  val;    FT_UNUSED_EXEC;    if ( distance >= 0 )    {      val = distance + compensation;      if ( val < 0 )        val = 0;    }    else {      val = distance - compensation;      if ( val > 0 )        val = 0;    }    return val;  }  /*************************************************************************/  /*                                                                       */  /* <Function>                                                            */  /*    Round_To_Grid                                                      */  /*                                                                       */  /* <Description>                                                         */  /*    Rounds value to grid after adding engine compensation.             */  /*                                                                       */  /* <Input>                                                               */  /*    distance     :: The distance to round.                             */  /*                                                                       */  /*    compensation :: The engine compensation.                           */  /*                                                                       */  /* <Return>                                                              */  /*    Rounded distance.                                                  */  /*                                                                       */  static FT_F26Dot6  Round_To_Grid( EXEC_OP_ FT_F26Dot6  distance,                          FT_F26Dot6  compensation )  {    FT_F26Dot6  val;    FT_UNUSED_EXEC;    if ( distance >= 0 )    {      val = distance + compensation + 32;      if ( val > 0 )        val &= ~63;      else        val = 0;    }    else    {      val = -( ( compensation - distance + 32 ) & -64 );      if ( val > 0 )        val = 0;    }    return  val;  }  /*************************************************************************/  /*                                                                       */  /* <Function>                                                            */  /*    Round_To_Half_Grid                                   

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久久国产一区二区三区四区小说| 日产国产欧美视频一区精品| 国产精品亲子乱子伦xxxx裸| 久久久久久9999| 精品久久久久一区二区国产| 久久众筹精品私拍模特| 日韩三级中文字幕| 日韩午夜三级在线| 精品久久一二三区| 国产亚洲欧美日韩在线一区| 久久精品亚洲乱码伦伦中文| 国产日韩欧美一区二区三区综合| 国产日韩欧美精品一区| 中文字幕第一区综合| 国产精品久久久一本精品 | 久久精品视频一区二区三区| 久久久天堂av| 国产精品视频一二| 亚洲欧美日韩国产中文在线| 一级精品视频在线观看宜春院| 一区二区三区欧美| 亚洲综合色视频| 美女视频网站黄色亚洲| 国产一区二区三区精品视频| 成人国产一区二区三区精品| 91久久人澡人人添人人爽欧美| 欧美日韩国产a| 日韩色在线观看| 中日韩av电影| 亚洲国产精品尤物yw在线观看| 麻豆91免费观看| 国产成人在线视频网站| 一本色道a无线码一区v| 91精品免费在线| 国产拍揄自揄精品视频麻豆| 一区二区激情小说| 久久er精品视频| av影院午夜一区| 6080日韩午夜伦伦午夜伦| 久久久久久夜精品精品免费| 亚洲人妖av一区二区| 天堂va蜜桃一区二区三区漫画版 | 日韩你懂的在线播放| 国产三级精品在线| 亚洲小说欧美激情另类| 狠狠色丁香九九婷婷综合五月| 99久久精品免费观看| 欧美丰满少妇xxxbbb| 欧美高清在线视频| 天天综合日日夜夜精品| 国产成人久久精品77777最新版本| 色婷婷综合久久久中文一区二区| 日韩精品在线看片z| 亚洲欧洲成人自拍| 久久精品久久综合| 91丨porny丨蝌蚪视频| 欧美sm极限捆绑bd| 亚洲激情在线激情| 国产精品一区在线| 欧美日韩成人激情| 国产精品美女一区二区三区| 奇米777欧美一区二区| 一本到高清视频免费精品| 久久综合一区二区| 视频一区二区欧美| aaa欧美色吧激情视频| 精品国产亚洲在线| 午夜久久电影网| 91丨porny丨蝌蚪视频| 国产日韩欧美a| 欧美在线观看视频一区二区三区| 亚洲欧洲日韩av| 麻豆精品视频在线观看| 在线观看日韩精品| 欧美激情一区二区在线| 欧美aa在线视频| 日本久久电影网| 精品国精品国产| 91免费在线看| 精品久久一区二区三区| 亚洲二区在线观看| 99在线热播精品免费| 欧美tickling网站挠脚心| 日韩精品高清不卡| 欧美日韩国产片| 亚洲综合在线五月| 91免费版在线| 亚洲私人影院在线观看| 国产suv一区二区三区88区| 欧美mv日韩mv国产| 免费在线观看精品| 欧美精品18+| 天涯成人国产亚洲精品一区av| 欧美亚洲一区三区| 一区二区三区电影在线播| 92精品国产成人观看免费| 亚洲欧洲性图库| va亚洲va日韩不卡在线观看| 国产精品日韩成人| 成人app软件下载大全免费| 国产欧美视频一区二区三区| 国产精品一线二线三线精华| 国产亚洲1区2区3区| 国产精品一二三四区| 久久久久国产一区二区三区四区 | 看电影不卡的网站| 精品精品欲导航| 国产在线一区观看| 国产日韩欧美a| 成人av免费在线播放| 国产精品动漫网站| 日本韩国视频一区二区| 一区二区三区四区激情| 欧洲色大大久久| 日韩高清一区二区| 精品91自产拍在线观看一区| 国产一区二区h| 亚洲欧洲日韩综合一区二区| 在线中文字幕不卡| 日韩中文字幕亚洲一区二区va在线 | 亚洲国产日韩综合久久精品| 欧美中文字幕一区| 欧美aaaaaa午夜精品| www.色精品| 亚洲国产精品一区二区久久| 91精品视频网| 国产麻豆一精品一av一免费| 国产日韩在线不卡| 99久久国产综合色|国产精品| 亚洲黄色在线视频| 在线成人av网站| 国产精品综合网| 亚洲视频综合在线| 欧美片网站yy| 国产精品一级在线| 亚洲激情自拍视频| 91精品国产色综合久久不卡电影 | 国产不卡视频一区| 一区二区三区在线视频免费| 在线综合+亚洲+欧美中文字幕| 久久99精品久久只有精品| 国产精品久久久久久久午夜片| 在线亚洲一区二区| 久久99国产精品免费| 一色桃子久久精品亚洲| 欧美老女人第四色| 国产精品888| 夜夜嗨av一区二区三区网页| 日韩精品专区在线影院观看 | 久久精品亚洲精品国产欧美kt∨ | 国产亚洲精品超碰| 欧美日韩一区视频| 国产精品一区二区你懂的| 亚洲免费观看视频| 日韩免费高清视频| 一本大道综合伊人精品热热| 精品一区二区在线观看| 亚洲黄色免费网站| 久久久久99精品一区| 欧美视频一区二| 国产99久久精品| 婷婷成人激情在线网| 中文在线一区二区| 日韩视频一区二区三区在线播放 | 国产视频不卡一区| 欧美电影在哪看比较好| av亚洲产国偷v产偷v自拍| 免费成人av在线播放| 亚洲黄网站在线观看| 国产欧美一区二区精品秋霞影院| 91精品婷婷国产综合久久| 色婷婷av久久久久久久| 国产不卡视频一区二区三区| 久久国产成人午夜av影院| 尤物av一区二区| 日本一区二区三级电影在线观看 | 亚洲色图清纯唯美| 国产色产综合产在线视频| 欧美一区二区三区四区高清| 91久久精品一区二区三区| 福利一区福利二区| 精品一区二区三区免费观看| 亚洲va欧美va天堂v国产综合| 亚洲欧美日韩电影| 中文字幕精品一区二区三区精品| 精品精品国产高清一毛片一天堂| 欧美精品色一区二区三区| 在线欧美一区二区| 波多野结衣亚洲| 国产精品99久| 极品少妇一区二区| 蜜桃精品视频在线| 视频一区在线播放| 亚洲综合免费观看高清完整版在线| 国产精品女人毛片| 亚洲国产精华液网站w| 久久亚洲一级片| 2023国产精品视频| 久久综合狠狠综合久久激情| 亚洲精品一线二线三线无人区|