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

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

?? interp.c

?? ttfdump源代碼
?? C
?? 第 1 頁 / 共 2 頁
字號:
/* interp.c -- Instruction Interpreter * Copyright (C) 1996 Li-Da Lho, All right reserved. */#include "config.h"#include "ttf.h"#include "ttfutil.h"#ifdef MEMCHECK#include <dmalloc.h>#endif/* 	$Id: interp.c,v 1.1.1.1 1998/06/05 07:47:52 robert Exp $	 */#ifndef lintstatic char vcid[] = "$Id: interp.c,v 1.1.1.1 1998/06/05 07:47:52 robert Exp $";#endif /* lint *//* A bit about error checking: The execution of a TrueType instruction is  * "atomic" which mean that we don't process the error until a single * instruction is fully decoded and exectued *//* Pushing data onto the interpreter stack */void Interp_NPUSHB (VirtualMachine *vm){    BYTE i,n;    ULONG l;    n = GetBYTE(vm);    for (i=1;i<=n;i++)	{	    /* unsigned extension to four bytes */	    l = (ULONG) GetBYTE(vm);	    Push(vm, l);	}}void Interp_NPUSHW(VirtualMachine *vm){    BYTE i,n;    LONG l;    n = GetBYTE(vm);    for (i=1;i<=n;i++)	{	    /* signed extension to four bytes */	    l = (LONG) GetSHORT(vm);	    Push(vm, l);	}}void Interp_PUSHB(VirtualMachine *vm){    BYTE opcode,n,i;    ULONG l;    opcode = (vm->iStream)[vm->ip];    n = opcode - 0xB0;    for (i=0;i<=n;i++)	{	    l = (ULONG) GetBYTE(vm);	    Push(vm, l);	}}/* PUSHW[abc] Push Words  * Code Range 0xB8 - 0x0BF * From IS    w0,w1,...wn * Pushes     w0,w1,...wn */void Interp_PUSHW(VirtualMachine *vm){    BYTE opcode,n,i;    LONG l;    opcode = (vm->iStream)[vm->ip];    n = opcode - 0xB8;    for (i=0;i<=n;i++)	{	    l = (LONG) GetSHORT(vm);	    Push(vm,l);	}}/* Managing the Storage Area *//* RS[]   Read Store * Code Range 0x43 * Pops   location: Storage Area location (ULONG) * Pushes value: Storage Area value (ULONG) * Gets   Storage Area value */void Interp_RS(VirtualMachine *vm){    ULONG location,value;    location = Pop(vm);        value = (vm->StorageArea)[location];    Push(vm,value);}/* WS[]    Write Store * Code Range 0x42 * Pops    value: Storage Area value (ULONG) *         location: Storage Area location (ULONG) * Pushes  - * Sets    Storage Area */void Interp_WS(VirtualMachine *vm){    ULONG location,value;        value = Pop(vm);    location = Pop(vm);    (vm->StorageArea)[location] = value;}/* Managing the Control Value Table *//* WCVTP[] Write control Value Table in Pixel units * Code Range 0x44 * Pops    value: number in pixels (F26Dot6) *         location: Control Value Table location (ULONG) * Pushes  - * Sets    Control Value Table entry */void Interp_WCVTP(VirtualMachine *vm){    F26Dot6 value;    ULONG location;    value = Pop(vm);    location = Pop(vm);    (vm->cvt)[location] = value;}/* WCVTF[] Write Control Value Table in FUnits  * Code Range 0x70 * Pops    value: number in FUnits (ULONG) (LONG actually,i think) *         location: Control Value (ULONG) * Pushes  - * Sets    Control Value Table entry */void Interp_WCVTF(VirtualMachine *vm){    ULONG location;    LONG value;    value = Pop(vm);    location = Pop(vm);    value = ScaleToPoints(vm,value);    (vm->cvt)[location] = value;}/* RCVT[]  Read Control Value Table * Code Range 0x45 * Pops    location: CVT entry number (ULONG) * Pushes  value: CVT value (F26Dot6) * Gets    Control Value Table entry */void Interp_RCVT(VirtualMachine *vm){    ULONG location;    F26Dot6 value;    location = Pop(vm);    value = (vm->cvt)[location];    Push(vm,value);}/* Managing Graphics State *//* SVTCA[a] Set freedom and projection vector to Coordinate Axia * Code Range 0x00 - 0x01 * a        0: set to y axis *          1: set to x axis * Pops     - * Pushes   - * Sets     projection_vector *          freedom_vector */void Interp_SVTCA(VirtualMachine *vm){    BYTE opcode;    TTFUnitVector vect;    opcode = (vm->iStream)[vm->ip];    switch (opcode)	{	case 0x00:	    vect.x = 0;	    vect.y = F2Dot14_ONE;	    break;	case 0x01:	    vect.x = F2Dot14_ONE;	    vect.y = 0;	    break;	}    vm->gstate.projection_vector = vm->gstate.freedom_vector = vect;}/* SPVCA[a] Set projection vector to coordinate axis  * Code Range 0x02 - 0x03 * a        0: set to y axis *          1: set to x axis * Pops     - * Pushes   - * Sets     projection vector */void Interp_SPVTCA(VirtualMachine *vm){    BYTE opcode;    TTFUnitVector vect;    opcode = (vm->iStream)[vm->ip];    switch (opcode)	{	case 0x02:	    vect.x = 0;	    vect.y = F2Dot14_ONE;	    break;	case 0x03:	    vect.x = F2Dot14_ONE;	    vect.y = 0;	    break;	}    vm->gstate.projection_vector = vect;}/* SFVTCA[a] Set freedom vector to coordinate axis * Code Range 0x04 - 0x05 * a        0: set to y axis *          1: set to x axis * Pops     - * Pushes   - * Sets     freedom vector */void Interp_SFVTCA(VirtualMachine *vm){    BYTE opcode;    TTFUnitVector vect;    opcode = (vm->iStream)[vm->ip];    switch (opcode)	{	case 0x04:	    vect.x = 0;	    vect.y = F2Dot14_ONE;	    break;	case 0x05:	    vect.x = F2Dot14_ONE;	    vect.y = 0;	    break;	}    vm->gstate.freedom_vector = vect;}/* SPVTL[a] Set projection vector to line * Code Range 0x06 - 0x07 * a        0: set projection_vector to be parallel to line segment from p1  *             to p2 *          1: set projection_vector to be perpendicular to line segment from  *             p1 to p2; the vector is retated counter clockwise 90 degrees * Pops     p1: point number (ULONG) *          p2: point number (ULONG) * Pushes   - * Uses     point p1 in the zone pointed at by zp2 *          point p2 in the zone pointed at by zp1 * Sets     projection vector */void Interp_SPVTL(VirtualMachine *vm){    ULONG p1,p2;    BYTE opcode;    TTFUnitVector vect;    opcode = (vm->iStream)[vm->ip];    p1 = Pop(vm);    p2 = Pop(vm);    switch (opcode)	{	    /* not finished yet */	case 0x06:	    break;	case 0x07:	    break;	}    vm->gstate.projection_vector = vect;}/* SFVTL[a] Set freedom vector to line * Code Range 0x08 - 0x09 * a        0: set freedom_vector to be parallel to line segment from p1  *             to p2 *          1: set freedom_vector to be perpendicular to line segment from  *             p1 to p2; the vector is retated counter clockwise 90 degrees * Pops     p1: point number (ULONG) *          p2: point number (ULONG) * Pushes   - * Uses     point p1 in the zone pointed at by zp2 *          point p2 in the zone pointed at by zp1 * Sets     freedom vector */void Interp_SFVTL(VirtualMachine *vm){    ULONG p1,p2;    BYTE opcode;    TTFUnitVector vect;    opcode = (vm->iStream)[vm->ip];    p1 = Pop(vm);    p2 = Pop(vm);    switch (opcode)	{	    /* not finished yet */	case 0x08:	    break;	case 0x09:	    break;	}    vm->gstate.freedom_vector = vect;}/* SFVTPV[] Set freedom vector to projection vector * Code Range 0x0E * Pops     - * Pushes   - * Sets     freedom vector */void Interp_SFVTPV(VirtualMachine *vm){    vm->gstate.freedom_vector = vm->gstate.projection_vector;}/* SDPVTL[a] Set dual projection vector to line * Code Range 0x86 - 0x87 * a         0: vectors are parallel to line  *           1: vectors are perpendicular to line * Pops      p1: first point number (ULONG) *           p2: second point number (ULONG) * Pushes    - * Sets      dual_projection_vector and projection_vector * Uses      point p1 in the zone pointed by zp2 *           point p2 in the zone pointed by zp1 */void Interp_SDPVTL(VirtualMachine *vm){    ULONG p1,p2;    BYTE opcode;    TTFUnitVector vect;    opcode = (vm->iStream)[vm->ip];    p1 = Pop(vm);    p2 = Pop(vm);    switch (opcode)	{	    /* not finished yet */	case 0x86:	    break;	case 0x87:	    break;	}    vm->gstate.dual_projection_vector = vm->gstate.projection_vector = vect;}/* SPVFS[] Set projection vector from stack * Code Range 0x0A * Pops    y: y component of projection vector (2.14 padded with zeros) *         x: x component of projection vector (2.14 padded with zeros) * Pushes  - * Sets    projection_vector */void Inpterp_SPVFS(VirtualMachine *vm){    F2Dot14 x,y;    x = Pop(vm);    y = Pop(vm);    vm->gstate.projection_vector.x = x;    vm->gstate.projection_vector.y = y;    /* vm->gstate.projection = Normalize(vm->gstate.projection); ?? */}/* SFVFS[] Set freedom vector form stack * Code Range 0x0B * Pops    y: y component of freedom vector (2.14 padded with zeros) *         x: x component of freedom vector (2.14 padded with zeros) * Pushes  - * Sets    freedom_vector */void Inpterp_SFVFS(VirtualMachine *vm){    F2Dot14 x,y;    x = Pop(vm);    y = Pop(vm);    vm->gstate.freedom_vector.x = x;    vm->gstate.freedom_vector.y = y;    /* vm->gstate.freedom = Normalize(vm->gstate.freedom); ?? */}/* GPV[]   Get projection vector * Code Range 0x0C * Pops    - * Pushes  x: x component of projection vector (2.14 padded with zeros) *         y: y component of projection vector (2.14 padded with zeros) * Gets    projection vector */void Interp_GPV(VirtualMachine *vm){    ULONG l;    l = (ULONG) vm->gstate.projection_vector.x;    Push(vm,l);    l = (ULONG) vm->gstate.projection_vector.y;    Push(vm,l);}/* GFV[] Get freedom vector  * Code Range 0x0D * Pops    - * Pushes  x: x component of freedom vector (2.14 padded with zeros) *         y: y component of freedom vector (2.14 padded with zeros) * Gets    freedom vector */void Interp_GFV(VirtualMachine *vm){    ULONG l;    l = (ULONG) vm->gstate.freedom_vector.x;    Push(vm,l);    l = (ULONG) vm->gstate.freedom_vector.y;    Push(vm,l);}/* SRP0[]  Set reference point 0 * Code Range 0x10 * Pops    p: point number (ULONG) * Pushes  - * Sets    rp0

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产黄色精品网站| 五月天丁香久久| 91网址在线看| 亚洲人xxxx| 欧美亚洲动漫制服丝袜| 亚洲国产日韩一区二区| 日韩一区二区三区高清免费看看| 麻豆91在线观看| 中文字幕精品在线不卡| 91在线云播放| 视频一区二区中文字幕| 亚洲精品一区二区三区蜜桃下载| 国产精品一级黄| 亚洲精品视频一区| 欧美一区二区三区精品| 国产精品123| 性欧美大战久久久久久久久| 日韩美女在线视频| caoporm超碰国产精品| 亚洲国产cao| 精品国产91久久久久久久妲己| 丁香六月久久综合狠狠色| 亚洲一区二区在线免费观看视频| 精品免费一区二区三区| 国产69精品久久久久毛片| 亚洲午夜免费电影| 久久亚洲精华国产精华液| 91免费精品国自产拍在线不卡| 日韩电影一二三区| 国产精品久久久一本精品| 欧美精品九九99久久| 成人综合在线观看| 日韩成人免费看| 国产精品视频一二三区| 制服丝袜亚洲精品中文字幕| 成人黄色软件下载| 看电视剧不卡顿的网站| 亚洲人成网站色在线观看| 337p日本欧洲亚洲大胆色噜噜| 日本精品一区二区三区四区的功能| 久久爱另类一区二区小说| 亚洲女同ⅹxx女同tv| 久久久精品国产免大香伊| 91精品久久久久久蜜臀| 99精品视频一区二区三区| 狠狠久久亚洲欧美| 午夜天堂影视香蕉久久| 亚洲日本青草视频在线怡红院 | 欧美私模裸体表演在线观看| 久久99国产精品成人| 亚洲图片自拍偷拍| 国产精品久久久久三级| 久久久久久久综合| 日韩女优av电影| 在线不卡一区二区| 91电影在线观看| 波多野结衣视频一区| 国产精品一区二区久久不卡| 久久99国产精品免费网站| 日韩电影在线观看电影| 午夜不卡av在线| 亚洲国产乱码最新视频| 樱花影视一区二区| 一区二区三区鲁丝不卡| 成人免费视频在线观看| 国产精品久久综合| 日本一区二区三区电影| 久久精品日韩一区二区三区| 26uuu色噜噜精品一区二区| 日韩一级完整毛片| 日韩精品一区二区三区中文不卡| 欧美精品亚洲一区二区在线播放| 欧美午夜在线一二页| 欧美亚男人的天堂| 91福利视频在线| 欧美三级资源在线| 欧美日韩在线精品一区二区三区激情| 欧美性猛交一区二区三区精品| 欧美专区日韩专区| 欧美色成人综合| 7777精品久久久大香线蕉| 欧美日韩aaa| 日韩欧美电影一区| 久久品道一品道久久精品| 久久久激情视频| 国产精品久久久久aaaa| 最近中文字幕一区二区三区| 亚洲一区视频在线| 日本不卡免费在线视频| 国精产品一区一区三区mba桃花| 国产福利91精品| 成人黄页在线观看| 91久久一区二区| 91精品综合久久久久久| 久久亚洲精品国产精品紫薇| 国产精品国产三级国产aⅴ入口| 国产精品高潮呻吟久久| 亚洲国产一区二区在线播放| 麻豆高清免费国产一区| 懂色av噜噜一区二区三区av| 色综合久久中文综合久久牛| 欧美久久久影院| 久久精品视频在线免费观看| 亚洲精品精品亚洲| 奇米777欧美一区二区| 国产传媒日韩欧美成人| 一本到不卡免费一区二区| 日韩网站在线看片你懂的| 国产日韩精品视频一区| 一个色在线综合| 久久精品国产77777蜜臀| 欧美色精品在线视频| 欧美一区二区三区免费观看视频 | 国产九色sp调教91| 99久久精品费精品国产一区二区| 欧美日韩久久久| 国产午夜精品一区二区三区视频| 一区二区三区欧美亚洲| 激情久久五月天| 欧美伊人精品成人久久综合97| 日韩美女视频一区二区在线观看| 综合自拍亚洲综合图不卡区| 免费成人美女在线观看.| 99re这里只有精品视频首页| 欧美成人综合网站| 亚洲欧洲av色图| 国产综合久久久久影院| 欧美影视一区二区三区| 国产日产欧产精品推荐色| 日韩精品成人一区二区在线| www.99精品| www欧美成人18+| 天天综合色天天综合色h| 99国产精品国产精品毛片| 欧美videofree性高清杂交| 一区二区三区**美女毛片| 高清shemale亚洲人妖| 日韩免费性生活视频播放| 亚洲国产综合色| 色综合视频在线观看| 国产日韩av一区| 国内一区二区在线| 欧美肥大bbwbbw高潮| 亚洲综合免费观看高清完整版在线 | 欧美精品第1页| 亚洲精品中文在线影院| 成人高清av在线| 久久丝袜美腿综合| 麻豆视频观看网址久久| 在线91免费看| 亚洲视频一区二区在线| 国产成人综合视频| 精品国产a毛片| 日本不卡一二三| 欧美一区二区三区四区高清| 亚洲国产成人av网| 欧美性生活久久| 一区二区三区在线观看视频 | 国产九色精品成人porny| 欧美一区二区三区精品| 日韩激情一二三区| 久久蜜臀中文字幕| 另类小说欧美激情| 欧美一区二区在线观看| 亚洲国产精品精华液网站| 欧美三级欧美一级| 天天影视网天天综合色在线播放 | 欧美一二三在线| 首页国产丝袜综合| 在线成人免费视频| 日产国产高清一区二区三区 | 国产成人高清视频| 国产无人区一区二区三区| 国产在线视视频有精品| 国产亚洲欧美一区在线观看| 国产乱码字幕精品高清av| 国产人成亚洲第一网站在线播放| 福利一区在线观看| 亚洲欧美在线aaa| 色乱码一区二区三区88| 亚洲va天堂va国产va久| 日韩一卡二卡三卡四卡| 国模无码大尺度一区二区三区| 欧美国产成人在线| 在线一区二区视频| 日韩av电影免费观看高清完整版| 精品国产乱码久久久久久免费| 国产精品一二三在| 1024国产精品| 欧美精品自拍偷拍| 国产麻豆视频精品| 中文字幕在线一区免费| 欧美中文字幕一区二区三区亚洲 | 久久精品一区二区三区不卡| 成人97人人超碰人人99| 亚洲mv大片欧洲mv大片精品| 久久精品免费在线观看| 色哟哟国产精品| 久久国产综合精品| 亚洲欧美一区二区三区国产精品|