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

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

?? name.c

?? ttfdump源代碼
?? C
字號(hào):
#include <stdio.h>#include <stdlib.h>#include <string.h>#include <ctype.h>#include "config.h"#include "ttf.h"#include "ttfutil.h"#ifdef MEMCHECK#include <dmalloc.h>#endif/* 	$Id: name.c,v 1.1.1.1 1998/06/05 07:47:52 robert Exp $	 */#ifndef lintstatic char vcid[] = "$Id: name.c,v 1.1.1.1 1998/06/05 07:47:52 robert Exp $";#endif /* lint */static NAMEPtr ttfAllocNAME(TTFontPtr font);static void ttfLoadNAME(FILE *fp,NAMEPtr name,ULONG offset);static void ttfLoadNameRecord(FILE *fp,NameRecordPtr rec,ULONG offset);static void ttfPrintNameRecord(FILE *fp,NameRecordPtr rec);static void ttfLoadNameRecordData(FILE *fp,NameRecordPtr rec,ULONG offset);static void ttfPrintNameRecordData(FILE *fp,NameRecordPtr rec);static void ttfFreeNameRecordData(NameRecordPtr rec);static void HexDump(char *p,char *hex,char *asc,int len);void ttfInitNAME(TTFontPtr font){    ULONG tag = 'n' | 'a' << 8 | 'm' << 16 | 'e' <<24;    TableDirPtr ptd;        if ((ptd = ttfLookUpTableDir(tag,font)) != NULL)	{	    font->name = ttfAllocNAME(font);	    ttfLoadNAME(font->fp,font->name,ptd->offset);	}}static NAMEPtr ttfAllocNAME(TTFontPtr font){    NAMEPtr name;    if((name = (NAMEPtr) calloc(1,sizeof(NAME))) == NULL)	{	    ttfError("Out of Memory in __FILE__:__LINE__\n");	    return NULL;	}    return name;}static void ttfLoadNAME(FILE *fp,NAMEPtr name,ULONG offset){    USHORT i,n;    ULONG pos;    if (fseek(fp,offset,SEEK_SET) !=0)	ttfError("Fseek Failed in ttfLOADNAME \n");	    name->format = ttfGetUSHORT(fp);    name->numberOfRecords = n = ttfGetUSHORT(fp);    name->offset = ttfGetUSHORT(fp);    if ((name->NameRecords = (NameRecordPtr) calloc(n,sizeof(NameRecord))) == NULL)	ttfError("Out Of Memory\n");    pos = offset + sizeof(USHORT)*3;    for(i=0;i<n;i++,pos+=12 /*sizeof(NameRecord)*/)	{	    ttfLoadNameRecord(fp,name->NameRecords+i,pos);	    ttfLoadNameRecordData(fp,name->NameRecords+i,offset+name->offset);	}}void ttfPrintNAME(FILE *fp,NAMEPtr name){    USHORT i;    fprintf(fp,"'name' Table - Naming Table\n");    fprintf(fp,"---------------------------\n");    fprintf(fp,"\t Format:\t\t %d\n",name->format);    fprintf(fp,"\t Number of Record:\t %d\n",name->numberOfRecords);    fprintf(fp,"\t Storage offset:\t %d\n",name->offset);        for (i=0;i<name->numberOfRecords;i++)	{	    fprintf(fp,"Name table %3d.\t",i);	    ttfPrintNameRecord(fp,name->NameRecords+i);	}    }void ttfFreeNAME(NAMEPtr name){    USHORT i;    for (i=0;i<name->numberOfRecords;i++)	ttfFreeNameRecordData(name->NameRecords+i);    free(name->NameRecords);    free(name);}/* offset: address of the beginning of the name record */static void ttfLoadNameRecord(FILE *fp,NameRecordPtr rec,ULONG offset){    if (fseek(fp,offset,SEEK_SET) !=0)	ttfError("Fseek Failed in ttfLoadNameRecord \n");    rec->PlatformID = ttfGetUSHORT(fp);    rec->EncodingID = ttfGetUSHORT(fp);    rec->LanguageID = ttfGetUSHORT(fp);    rec->NameID = ttfGetUSHORT(fp);    rec->length = ttfGetUSHORT(fp);    rec->offset = ttfGetUSHORT(fp);}static void ttfPrintNameRecord(FILE *fp,NameRecordPtr rec){    fprintf(fp," PlatformID:\t %d\n",rec->PlatformID);    fprintf(fp,"\t\t EncodingID:\t %d\n",rec->EncodingID);    fprintf(fp,"\t\t LanguageID:\t %d\n",rec->LanguageID);    fprintf(fp,"\t\t NameID:\t %d\n",rec->NameID);    fprintf(fp,"\t\t Length:\t %d\n",rec->length);    fprintf(fp,"\t\t Offset:\t %d\n",rec->offset);    ttfPrintNameRecordData(fp,rec);}/* ULONG offset: address of the beginning of the actual data (base actually) * base: start of data storage, specified by NAME.offset * offset: specified by NameRecord.offset */static void ttfLoadNameRecordData(FILE *fp,NameRecordPtr rec,ULONG offset){    ULONG pos;    pos =  offset  +  rec->offset;    if (fseek(fp,pos,SEEK_SET) !=0)	ttfError("Fseek Failed in ttfLoadSubTable\n");    if ((rec->data = (char *) calloc(rec->length,sizeof(char))) == NULL)	ttfError("Out Of Memory\n");    if (fread(rec->data,sizeof(char),rec->length,fp) != rec->length)	ttfError("Error when getting Name Record Data\n");}static void ttfPrintNameRecordData(FILE *fp,NameRecordPtr rec){    USHORT i,j;    char hexbuf[100],ascbuf[100],*p;    p = rec->data;    for (i=0;i<rec->length/10;i++,p+=10)	{	    HexDump(p,hexbuf,ascbuf,10);	    fprintf(fp,"\t\t %s >  %s\n",hexbuf,ascbuf);	}    HexDump(p,hexbuf,ascbuf,rec->length % 10);    /* i know that this is ugly, but this makes output beautiful */    i = strlen(hexbuf);    for (j=i;j<30;j++)	{	    hexbuf[j] = ' ';	}    fprintf(fp,"\t\t %s > %s\n",hexbuf,ascbuf);}static void HexDump(char *p,char *hex,char *asc,int len){    int i;    unsigned char c;    char buf[100];        *hex = '\0';    *asc = '\0';    for (i=0;i<len;i++)	{	    c = *(p+i);	    sprintf(buf,"%02x ",c);	    strcat(hex,buf);	    if (isprint(c))		*(asc+i) = c;	    else		*(asc+i) = '.';	}    *(asc+len) = *(hex+len*3) = '\0';}static void ttfFreeNameRecordData(NameRecordPtr rec){    free(rec->data);}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
视频一区在线播放| 亚洲精品一区二区三区影院 | 欧美性视频一区二区三区| 久久久精品蜜桃| 国产精品羞羞答答xxdd| 久久久亚洲欧洲日产国码αv| 久久激情五月婷婷| 久久久不卡网国产精品一区| 国产成人精品影院| 亚洲欧洲日本在线| 欧美性色黄大片| 九色综合狠狠综合久久| 欧美成人video| 成人国产精品免费网站| 中文字幕一区二区三区不卡| 色综合天天综合网天天狠天天| 亚洲欧美国产三级| 91精品久久久久久久99蜜桃| 精品午夜久久福利影院| 国产精品久久久久久久久果冻传媒| 成人小视频免费在线观看| 一区二区三区免费网站| 91精品国产综合久久福利软件| 国内一区二区在线| 亚洲尤物视频在线| 精品成人一区二区三区| 欧美亚洲自拍偷拍| 免费xxxx性欧美18vr| 亚洲免费观看高清完整| 日韩精品一区二区三区在线播放 | 日韩欧美亚洲一区二区| 波多野结衣在线一区| 色老汉av一区二区三区| 国产一区二区精品在线观看| 亚洲综合男人的天堂| 日本一区二区久久| 日韩欧美视频在线| 国产精品欧美精品| 日韩精品专区在线| 欧美日韩一区二区电影| 色999日韩国产欧美一区二区| 国产999精品久久久久久| 精品一区二区免费视频| 亚洲成人激情av| 亚洲国产精品一区二区久久| 日本一区二区免费在线| 国产午夜精品福利| 中文久久乱码一区二区| 国产精品传媒入口麻豆| 国产三级久久久| 中文字幕乱码亚洲精品一区| 国产精品久久久久久久久久免费看 | 国产美女主播视频一区| 精品一区二区三区欧美| 韩国成人福利片在线播放| 久久精品国产亚洲一区二区三区| 偷拍一区二区三区四区| 久久国产精品第一页| 激情欧美日韩一区二区| 成人午夜av电影| 91国偷自产一区二区三区成为亚洲经典 | 久久伊人中文字幕| 中文字幕在线不卡一区| 亚洲国产综合人成综合网站| 日韩av中文字幕一区二区三区| 久久精品国产精品亚洲综合| 成人一区二区三区中文字幕| 99re6这里只有精品视频在线观看| 欧美日韩中文字幕一区| 久久先锋影音av鲁色资源| 亚洲色图在线看| 国产精品一区免费视频| 欧美色图在线观看| 国产精品美女久久久久久| 视频一区二区三区在线| 色综合中文字幕国产| 日韩欧美高清一区| 亚洲一区二区三区视频在线播放| 精品在线一区二区| 欧美日高清视频| 综合久久给合久久狠狠狠97色 | 免费观看一级欧美片| av不卡免费电影| 精品粉嫩aⅴ一区二区三区四区| 亚洲综合久久av| 99国产精品久久久久久久久久 | 国产不卡视频在线播放| 欧美日韩精品一区二区三区四区 | 日韩美女视频一区二区| 国产成人精品一区二| 久久麻豆一区二区| 免费观看一级欧美片| 91精品国产一区二区三区| 日韩精品亚洲专区| 欧美日韩国产bt| 亚洲高清在线视频| 欧美日韩免费一区二区三区| 亚洲色图.com| 91麻豆国产福利在线观看| 中文子幕无线码一区tr| 波波电影院一区二区三区| 亚洲欧美自拍偷拍| 欧洲av在线精品| 五月天亚洲精品| 精品久久久久久久人人人人传媒 | 欧美性受xxxx| 日韩精品午夜视频| 日韩三区在线观看| 成人激情黄色小说| 亚洲一区二区三区中文字幕 | eeuss国产一区二区三区| 亚洲精品免费一二三区| 色老汉一区二区三区| 久久黄色级2电影| 亚洲色图欧美在线| 欧美一区二区三区色| 大桥未久av一区二区三区中文| 亚洲少妇最新在线视频| 欧美一区2区视频在线观看| 成人黄色片在线观看| 亚洲成人高清在线| 中文字幕精品一区二区三区精品| 91电影在线观看| 蜜桃精品在线观看| 亚洲另类在线一区| 亚洲国产精品国自产拍av| 日韩免费观看高清完整版在线观看| 国产一区二区三区不卡在线观看 | 另类小说视频一区二区| 亚洲午夜日本在线观看| 中文字幕第一区二区| 日韩欧美国产高清| 国产精品国产三级国产aⅴ无密码| 欧美精品日韩一区| 色屁屁一区二区| 91免费观看视频在线| 成人h版在线观看| 国产91精品一区二区麻豆网站| 蜜臀av性久久久久蜜臀aⅴ| 亚洲综合精品久久| 亚洲色图视频网| 亚洲欧洲日产国码二区| 中文字幕字幕中文在线中不卡视频| 国产欧美日本一区二区三区| 国产午夜亚洲精品午夜鲁丝片| 久久综合色婷婷| 国产网红主播福利一区二区| 久久精品亚洲一区二区三区浴池| 日韩欧美不卡一区| 欧美自拍偷拍午夜视频| 国产成人免费高清| 成人精品鲁一区一区二区| 福利视频网站一区二区三区| 国产高清久久久久| 成人av网站免费观看| 97久久精品人人做人人爽| 欧美色综合网站| 久久伊99综合婷婷久久伊| 亚洲国产精品成人久久综合一区| 国产午夜精品一区二区三区视频 | 国产美女av一区二区三区| 成人精品gif动图一区| 一本色道久久综合狠狠躁的推荐| 在线一区二区三区| 日韩精品一区二区三区在线| 中文字幕精品一区二区精品绿巨人 | 最新中文字幕一区二区三区| 亚洲成人综合网站| 成人免费高清视频在线观看| 在线精品国精品国产尤物884a| 欧美日韩高清不卡| 国产精品私房写真福利视频| 一区二区三区欧美久久| 久久成人综合网| 欧美无乱码久久久免费午夜一区| 精品日韩成人av| 日韩一区精品字幕| 在线国产电影不卡| 中文字幕视频一区二区三区久| 日韩精品1区2区3区| 在线一区二区三区做爰视频网站| 久久亚洲捆绑美女| 日韩成人午夜电影| 91成人免费在线视频| ...xxx性欧美| 不卡欧美aaaaa| 国产无一区二区| 丁香婷婷综合五月| 久久久久久电影| 国产一区二区三区蝌蚪| 久久婷婷色综合| 国产美女娇喘av呻吟久久| 久久日韩精品一区二区五区| 蜜桃精品在线观看| 精品国产一区二区亚洲人成毛片| 日韩精品一区第一页| 制服丝袜一区二区三区| 免费观看一级欧美片| 精品国产凹凸成av人网站| 国产乱一区二区|