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

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

?? ftxgpos.c

?? 字體縮放顯示
?? C
?? 第 1 頁 / 共 5 頁
字號:
      ban = br[m].BaseAnchor;            for ( n = 0; n < num_classes; n++ )        Free_Anchor( &ban[n] );      FREE( ban );    }    FREE( br );    return error;  }  static void  Free_BaseArray( TTO_BaseArray*  ba,                               UShort          num_classes )  {    UShort           m, n, count;    TTO_BaseRecord*  br;    TTO_Anchor*      ban;    if ( ba->BaseRecord )    {      count = ba->BaseCount;      br    = ba->BaseRecord;      for ( m = 0; m < count; m++ )      {        ban = br[m].BaseAnchor;        for ( n = 0; n < num_classes; n++ )          Free_Anchor( &ban[n] );        FREE( ban );      }      FREE( br );    }  }  /* MarkBasePosFormat1 */  TT_Error  Load_MarkBasePos( TTO_MarkBasePos*  mbp,                              PFace             input )  {    DEFINE_LOAD_LOCALS( input->stream );    ULong  cur_offset, new_offset, base_offset;    base_offset = FILE_Pos();    if ( ACCESS_Frame( 4L ) )      return error;    mbp->PosFormat = GET_UShort();    new_offset     = GET_UShort() + base_offset;    FORGET_Frame();    cur_offset = FILE_Pos();    if ( FILE_Seek( new_offset ) ||         ( error = Load_Coverage( &mbp->MarkCoverage, input ) ) != TT_Err_Ok )      return error;    (void)FILE_Seek( cur_offset );    if ( ACCESS_Frame( 2L ) )      goto Fail3;    new_offset = GET_UShort() + base_offset;    FORGET_Frame();    cur_offset = FILE_Pos();    if ( FILE_Seek( new_offset ) ||         ( error = Load_Coverage( &mbp->BaseCoverage, input ) ) != TT_Err_Ok )      goto Fail3;    (void)FILE_Seek( cur_offset );    if ( ACCESS_Frame( 4L ) )      goto Fail2;    mbp->ClassCount = GET_UShort();    new_offset      = GET_UShort() + base_offset;    FORGET_Frame();    cur_offset = FILE_Pos();    if ( FILE_Seek( new_offset ) ||         ( error = Load_MarkArray( &mbp->MarkArray, input ) ) != TT_Err_Ok )      goto Fail2;    (void)FILE_Seek( cur_offset );    if ( ACCESS_Frame( 2L ) )      goto Fail1;    new_offset = GET_UShort() + base_offset;    FORGET_Frame();    cur_offset = FILE_Pos();    if ( FILE_Seek( new_offset ) ||         ( error = Load_BaseArray( &mbp->BaseArray, mbp->ClassCount,                                   input ) ) != TT_Err_Ok )      goto Fail1;    return TT_Err_Ok;  Fail1:    Free_MarkArray( &mbp->MarkArray );  Fail2:    Free_Coverage( &mbp->BaseCoverage );  Fail3:    Free_Coverage( &mbp->MarkCoverage );    return error;  }  void  Free_MarkBasePos( TTO_MarkBasePos*  mbp )  {    Free_BaseArray( &mbp->BaseArray, mbp->ClassCount );    Free_MarkArray( &mbp->MarkArray );    Free_Coverage( &mbp->BaseCoverage );    Free_Coverage( &mbp->MarkCoverage );  }  static TT_Error  Lookup_MarkBasePos( GPOS_Instance*    gpi,                                       TTO_MarkBasePos*  mbp,                                       TTO_GSUB_String*  in,                                       TTO_GPOS_Data*    out,                                       UShort            flags,                                       UShort            context_length )  {    TT_UInt          i, j;    UShort           mark_index, base_index, property, class;    TT_Pos           x_mark_value, y_mark_value, x_base_value, y_base_value;    TT_Error         error;    TTO_GPOSHeader*  gpos = gpi->gpos;    TTO_MarkArray*   ma;    TTO_BaseArray*   ba;    TTO_BaseRecord*  br;    TTO_Anchor*      mark_anchor;    TTO_Anchor*      base_anchor;    TTO_GPOS_Data*   o;    if ( context_length != 0xFFFF && context_length < 1 )      return TTO_Err_Not_Covered;    if ( flags & IGNORE_BASE_GLYPHS )      return TTO_Err_Not_Covered;    if ( CHECK_Property( gpos->gdef, in->string[in->pos],                         flags, &property ) )      return error;    error = Coverage_Index( &mbp->MarkCoverage, in->string[in->pos],                            &mark_index );    if ( error )      return error;    /* now we search backwards for a non-mark glyph */    i = 1;    j = in->pos - 1;    while ( i <= in->pos )    {      error = TT_GDEF_Get_Glyph_Property( gpos->gdef, in->string[j],                                          &property );      if ( error )        return error;      if ( !( property == TTO_MARK || property & IGNORE_SPECIAL_MARKS ) )        break;      i++;      j--;    }    /* The following assertion is too strong -- at least for mangal.ttf. */#if 0    if ( property != TTO_BASE_GLYPH )      return TTO_Err_Not_Covered;#endif    if ( i > in->pos )      return TTO_Err_Not_Covered;    error = Coverage_Index( &mbp->BaseCoverage, in->string[j],                            &base_index );    if ( error )      return error;    ma = &mbp->MarkArray;    if ( mark_index >= ma->MarkCount )      return TTO_Err_Invalid_GPOS_SubTable;    class       = ma->MarkRecord[mark_index].Class;    mark_anchor = &ma->MarkRecord[mark_index].MarkAnchor;    if ( class >= mbp->ClassCount )      return TTO_Err_Invalid_GPOS_SubTable;    ba = &mbp->BaseArray;    if ( base_index >= ba->BaseCount )      return TTO_Err_Invalid_GPOS_SubTable;    br          = &ba->BaseRecord[base_index];    base_anchor = &br->BaseAnchor[class];    error = Get_Anchor( gpi, mark_anchor, in->string[in->pos],                        &x_mark_value, &y_mark_value );    if ( error )      return error;    error = Get_Anchor( gpi, base_anchor, in->string[j],                        &x_base_value, &y_base_value );    if ( error )      return error;    /* anchor points are not cumulative */    o = &out[in->pos];    o->x_pos     = x_base_value - x_mark_value;    o->y_pos     = y_base_value - y_mark_value;    o->x_advance = 0;    o->y_advance = 0;    o->back      = i;    (in->pos)++;    return TT_Err_Ok;  }  /* LookupType 5 */  /* LigatureAttach */  static TT_Error  Load_LigatureAttach( TTO_LigatureAttach*  lat,                                        UShort               num_classes,                                        PFace                input )  {    DEFINE_LOAD_LOCALS( input->stream );    UShort                m, n, count;    ULong                 cur_offset, new_offset, base_offset;    TTO_ComponentRecord*  cr;    TTO_Anchor*           lan;    base_offset = FILE_Pos();    if ( ACCESS_Frame( 2L ) )      return error;    count = lat->ComponentCount = GET_UShort();        FORGET_Frame();    lat->ComponentRecord = NULL;    if ( ALLOC_ARRAY( lat->ComponentRecord, count, TTO_ComponentRecord ) )      return error;    cr = lat->ComponentRecord;    for ( m = 0; m < count; m++ )    {      cr[m].LigatureAnchor = NULL;      if ( ALLOC_ARRAY( cr[m].LigatureAnchor, num_classes, TTO_Anchor ) )        goto Fail;      lan = cr[m].LigatureAnchor;      for ( n = 0; n < num_classes; n++ )      {        if ( ACCESS_Frame( 2L ) )          goto Fail;        new_offset = GET_UShort();        FORGET_Frame();        if ( new_offset )        {          new_offset += base_offset;          cur_offset = FILE_Pos();          if ( FILE_Seek( new_offset ) ||               ( error = Load_Anchor( &lan[n], input ) ) != TT_Err_Ok )            goto Fail;          (void)FILE_Seek( cur_offset );        }        else          lan[n].PosFormat = 0;      }    }    return TT_Err_Ok;  Fail:    for ( m = 0; m < count; m++ )    {      lan = cr[m].LigatureAnchor;            for ( n = 0; n < num_classes; n++ )        Free_Anchor( &lan[n] );      FREE( lan );    }    FREE( cr );    return error;  }  static void  Free_LigatureAttach( TTO_LigatureAttach*  lat,                                    UShort               num_classes )  {    UShort           m, n, count;    TTO_ComponentRecord*  cr;    TTO_Anchor*           lan;    if ( lat->ComponentRecord )    {      count = lat->ComponentCount;      cr    = lat->ComponentRecord;      for ( m = 0; m < count; m++ )      {        lan = cr[m].LigatureAnchor;        for ( n = 0; n < num_classes; n++ )          Free_Anchor( &lan[n] );        FREE( lan );      }      FREE( cr );    }  }  /* LigatureArray */  static TT_Error  Load_LigatureArray( TTO_LigatureArray*  la,                                       UShort              num_classes,                                       PFace               input )  {    DEFINE_LOAD_LOCALS( input->stream );    UShort               n, count;    ULong                cur_offset, new_offset, base_offset;    TTO_LigatureAttach*  lat;    base_offset = FILE_Pos();    if ( ACCESS_Frame( 2L ) )      return error;    count = la->LigatureCount = GET_UShort();    FORGET_Frame();    la->LigatureAttach = NULL;    if ( ALLOC_ARRAY( la->LigatureAttach, count, TTO_LigatureAttach ) )      return error;    lat = la->LigatureAttach;    for ( n = 0; n < count; n++ )    {      if ( ACCESS_Frame( 2L ) )        goto Fail;      new_offset = GET_UShort() + base_offset;      FORGET_Frame();      cur_offset = FILE_Pos();      if ( FILE_Seek( new_offset ) ||           ( error = Load_LigatureAttach( &lat[n], num_classes,                                          input ) ) != TT_Err_Ok )        goto Fail;      (void)FILE_Seek( cur_offset );    }    return TT_Err_Ok;  Fail:    for ( n = 0; n < count; n++ )      Free_LigatureAttach( &lat[n], num_classes );    FREE( lat );    return error;  }  static void  Free_LigatureArray( TTO_LigatureArray*  la,                                   UShort              num_classes )  {    UShort               n, count;    TTO_LigatureAttach*  lat;    if ( la->LigatureAttach )    {      count = la->LigatureCount;      lat   = la->LigatureAttach;      for ( n = 0; n < count; n++ )        Free_LigatureAttach( &lat[n], num_classes );      FREE( lat );    }  }  /* MarkLigPosFormat1 */  TT_Error  Load_MarkLigPos( TTO_MarkLigPos*  mlp,                             PFace            input )  {    DEFINE_LOAD_LOCALS( input->stream );    ULong  cur_offset, new_offset, base_offset;    base_offset = FILE_Pos();    if ( ACCESS_Frame( 4L ) )      return error;    mlp->PosFormat = GET_UShort();    new_offset     = GET_UShort() + base_offset;    FORGET_Frame();    cur_offset = FILE_Pos();    if ( FILE_Seek( new_offset ) ||         ( error = Load_Coverage( &mlp->MarkCoverage, input ) ) != TT_Err_Ok )      return error;    (void)FILE_Seek( cur_offset );    if ( ACCESS_Frame( 2L ) )      goto Fail3;    new_offset = GET_UShort() + base_offset;    FORGET_Frame();    cur_offset = FILE_Pos();    if ( FILE_Seek( new_offset ) ||         ( error = Load_Coverage( &mlp->LigatureCoverage,                                  input ) ) != TT_Err_Ok )      goto Fail3;    (void)FILE_Seek( cur_offset );    if ( ACCESS_Frame( 4L ) )      goto Fail2;    mlp->ClassCount = GET_UShort();    new_offset      = GET_UShort() + base_offset;    FORGET_Frame();    cur_offset = FILE_Pos();    if ( FILE_Seek( new_offset ) ||         ( error = Load_MarkArray( &mlp->MarkArray, input ) ) != TT_Err_Ok )      goto Fail2;    (void)FILE_Seek( cur_offset );    if ( ACCESS_Frame( 2L ) )      goto Fail1;    new_offset = GET_UShort() + base_offset;    FORGET_Frame();    cur_offset = FILE_Pos();    if ( FILE_Seek( new_offset ) ||         ( error = Load_LigatureArray( &mlp->LigatureArray, mlp->ClassCount,                                       input ) ) != TT_Err_Ok )      goto Fail1;    return TT_Err_Ok;  Fail1:    Free_MarkArray( &mlp->MarkArray );  Fail2:    Free_Coverage( &mlp->LigatureCoverage );  Fail3:    Free_Coverage( &mlp->MarkCoverage );    return error;  }  void  Free_MarkLigPos( TTO_MarkLigPos*  mlp )  {    Free_LigatureArray( &mlp->LigatureArray, mlp->ClassCount );    Free_MarkArray( &mlp->MarkArray );    Free_Coverage( &mlp->LigatureCoverage );    Free_Coverage( &mlp->MarkCoverage );  }  static TT_Error  Lookup_MarkLigPos( GPOS_Instance*    gpi,                                      TTO_MarkLigPos*   mlp,                                      TTO_GSUB_String*  in,                                      TTO_GPOS_Data*    out,                                      UShort            flags,                                      UShort            context_length )  {    TT_UInt          i, j;    UShort           mark_index, lig_index, property, class;    UShort           mark_glyph;    TT_Pos           

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美放荡的少妇| 97se亚洲国产综合在线| 欧美大片在线观看一区二区| 日av在线不卡| 精品国产伦一区二区三区免费 | 中文字幕第一区| 成人综合在线观看| 亚洲视频一区二区免费在线观看| 色吧成人激情小说| 日日夜夜免费精品| 26uuu成人网一区二区三区| 国产精品小仙女| 亚洲丝袜美腿综合| 欧美人与禽zozo性伦| 激情伊人五月天久久综合| 久久精品网站免费观看| 91视频免费播放| 日韩成人一级片| 中文字幕不卡一区| 欧美日韩三级视频| 韩日欧美一区二区三区| 亚洲少妇30p| 日韩精品一区二区三区视频 | wwwwww.欧美系列| 波多野结衣中文一区| 亚洲国产视频a| 久久毛片高清国产| 91久久国产最好的精华液| 日本亚洲电影天堂| 亚洲日本丝袜连裤袜办公室| 91精品在线麻豆| 成人app在线| 免费成人av资源网| 综合久久综合久久| 亚洲精品一区二区三区精华液| 99久久久久免费精品国产| 日韩精品福利网| 亚洲男人的天堂av| 久久精品一区二区三区不卡牛牛| 欧美体内she精视频| 高清免费成人av| 免费成人美女在线观看| 尤物av一区二区| 国产精品久久久久久亚洲毛片| 欧美久久久久久蜜桃| 色综合久久综合中文综合网| 裸体一区二区三区| 亚洲高清三级视频| 亚洲私人黄色宅男| 欧美激情一区二区| 亚洲精品一区二区三区99| 欧美日韩五月天| 91色在线porny| 成人在线综合网站| 国内一区二区视频| 久久se精品一区精品二区| 午夜不卡av在线| 亚洲精选视频免费看| 国产精品久久久久久久午夜片| 久久亚洲精华国产精华液| 884aa四虎影成人精品一区| 色老综合老女人久久久| 99久久精品免费| 国产成人超碰人人澡人人澡| 黄页网站大全一区二区| 免费高清视频精品| 蜜桃av一区二区在线观看| 日韩国产在线观看一区| 亚洲电影一区二区| 亚洲国产综合在线| 亚洲综合清纯丝袜自拍| 一区二区在线看| 亚洲另类在线制服丝袜| 亚洲欧洲精品一区二区三区不卡| 欧美高清在线精品一区| 中文字幕乱码亚洲精品一区| 欧美国产激情一区二区三区蜜月| 久久亚洲综合色一区二区三区| 欧美电影免费提供在线观看| 精品国产一区久久| 精品精品欲导航| 欧美精品一区二区三区在线| 精品sm捆绑视频| 久久久久久亚洲综合| 久久久精品免费免费| 亚洲国产精品黑人久久久| 中文子幕无线码一区tr| 最好看的中文字幕久久| 亚洲国产乱码最新视频| 日韩电影在线一区二区三区| 精品一二三四在线| 国产高清在线精品| av一区二区三区四区| 色综合久久久久| 欧美精品123区| 久久综合成人精品亚洲另类欧美| 国产午夜亚洲精品羞羞网站| 成人免费在线播放视频| 日韩一区精品视频| 国产美女精品人人做人人爽| 成人免费毛片片v| 在线观看亚洲精品| 欧美一区二区三区四区高清| 久久蜜桃av一区精品变态类天堂| 国产精品灌醉下药二区| 五月天婷婷综合| 国产乱子轮精品视频| 91丨九色丨尤物| 欧美va亚洲va香蕉在线| 国产精品久久久久四虎| 视频一区在线播放| 国产福利精品导航| 欧美三级电影网站| 久久一夜天堂av一区二区三区| 亚洲图片你懂的| 日本不卡中文字幕| 成人黄色av电影| 日韩一区二区在线免费观看| 欧美韩国日本不卡| 爽爽淫人综合网网站| 国产成人小视频| 欧美日韩亚洲不卡| 国产精品久久久久影院老司 | 精品一区二区免费视频| eeuss鲁片一区二区三区| 欧美一三区三区四区免费在线看| 国产日韩av一区| 日韩成人免费电影| 91猫先生在线| 久久九九久精品国产免费直播| 亚洲h在线观看| 99久久婷婷国产| 久久精品这里都是精品| 日韩电影在线免费| 一本到不卡精品视频在线观看| 欧美成人aa大片| 亚洲成人在线免费| 色香蕉成人二区免费| 久久久精品国产免大香伊 | 中文字幕亚洲区| 美女视频黄久久| 欧美在线制服丝袜| 国产精品福利av| 国产高清精品网站| 日韩精品一区二区三区在线观看| 亚洲黄色性网站| fc2成人免费人成在线观看播放| 精品福利一区二区三区免费视频| 一区二区在线免费| 91色.com| 中文字幕一区二区三区精华液 | 亚洲丝袜自拍清纯另类| 国产在线看一区| 精品人伦一区二区色婷婷| 首页国产丝袜综合| 欧美日韩高清一区二区三区| 亚洲视频一区二区免费在线观看 | 99久久精品免费看国产| 国产精品素人一区二区| 国产激情精品久久久第一区二区| 欧美r级电影在线观看| 狂野欧美性猛交blacked| 欧美一区二区三区在线看| 日韩在线a电影| 67194成人在线观看| 五月天激情小说综合| 欧美日韩五月天| 免费人成在线不卡| 91精品国产乱码久久蜜臀| 午夜a成v人精品| 精品国免费一区二区三区| 国产真实乱对白精彩久久| 国产亲近乱来精品视频| 成人教育av在线| 亚洲精品写真福利| 色噜噜偷拍精品综合在线| 亚洲国产日韩av| 7799精品视频| 久久国产精品第一页| 欧美高清一级片在线观看| eeuss鲁片一区二区三区在线看| 亚洲免费成人av| 9191成人精品久久| 久久er99精品| 国产精品久久久久久户外露出| 91看片淫黄大片一级| 亚洲国产毛片aaaaa无费看 | 久久久国产午夜精品| 99久久综合精品| 亚洲国产一区二区三区青草影视 | 极品瑜伽女神91| 国产精品欧美极品| 欧美三级欧美一级| 精品在线一区二区三区| 欧美激情综合在线| 欧美性做爰猛烈叫床潮| 韩国女主播成人在线| 亚洲色大成网站www久久九九| 欧美日韩高清在线| 国产成人精品综合在线观看 |