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

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

?? t1funcs.c

?? 遠程桌面連接工具
?? C
?? 第 1 頁 / 共 2 頁
字號:
/* $TOG: t1funcs.c /main/23 1997/06/09 14:55:44 barstow $ *//* Copyright International Business Machines,Corp. 1991 * All Rights Reserved * * License, subject to the license given below, to use, * copy, modify, and distribute this software * and its * documentation for any purpose and without fee is hereby * granted, provided that the above copyright notice appear * in all copies and that both that copyright notice and * this permission notice appear in supporting documentation, * and that the name of IBM not be used in advertising or * publicity pertaining to distribution of the software * without specific, written prior permission. * * IBM PROVIDES THIS SOFTWARE "AS IS", WITHOUT ANY WARRANTIES * OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT * LIMITED TO ANY IMPLIED WARRANTIES OF MERCHANTABILITY, * FITNESS FOR A PARTICULAR PURPOSE, AND NONINFRINGEMENT OF * THIRD PARTY RIGHTS.  THE ENTIRE RISK AS TO THE QUALITY AND * PERFORMANCE OF THE SOFTWARE, INCLUDING ANY DUTY TO SUPPORT * OR MAINTAIN, BELONGS TO THE LICENSEE.  SHOULD ANY PORTION OF * THE SOFTWARE PROVE DEFECTIVE, THE LICENSEE (NOT IBM) ASSUMES * THE ENTIRE COST OF ALL SERVICING, REPAIR AND CORRECTION.  IN * NO EVENT SHALL IBM BE LIABLE FOR ANY SPECIAL, INDIRECT OR * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING * FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF * CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT * OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS * SOFTWARE. * * Author: Jeffrey B. Lotspiech, IBM Almaden Research Center *   Modeled on spfuncs.c by Dave Lemke, Network Computing Devices, Inc *   which contains the following copyright and permission notices: * * Copyright 1990, 1991 Network Computing Devices; * Portions Copyright 1987 by Digital Equipment Corporation * * Permission to use, copy, modify, distribute, and sell this software and its * documentation for any purpose is hereby granted without fee, provided that * the above copyright notice appear in all copies and that both that * copyright notice and this permission notice appear in supporting * documentation, and that the names of Network Computing Devices * or Digital not be used in advertising or publicity pertaining to  * distribution of the software without specific, written prior permission.   * Network Computing Devices or Digital make no representations about the * suitability of this software for any purpose.  It is provided "as is" * without express or implied warranty. * * NETWORK COMPUTING DEVICES AND DIGITAL DISCLAIM ALL WARRANTIES WITH * REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY * AND FITNESS, IN NO EVENT SHALL NETWORK COMPUTING DEVICES OR DIGITAL BE * LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. *//* $XFree86: xc/lib/font/Type1/t1funcs.c,v 3.4.2.1 1997/07/05 15:55:35 dawes Exp $ *//*Copyright (c) 1987, 1994  X ConsortiumPermission is hereby granted, free of charge, to any person obtaininga copy of this software and associated documentation files (the"Software"), to deal in the Software without restriction, includingwithout limitation the rights to use, copy, modify, merge, publish,distribute, sublicense, and/or sell copies of the Software, and topermit persons to whom the Software is furnished to do so, subject tothe following conditions:The above copyright notice and this permission notice shall be includedin all copies or substantial portions of the Software.THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESSOR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OFMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OROTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OROTHER DEALINGS IN THE SOFTWARE.Except as contained in this notice, the name of the X Consortium shallnot be used in advertising or otherwise to promote the sale, use orother dealings in this Software without prior written authorizationfrom the X Consortium.*/ #include <string.h>#ifdef _XOPEN_SOURCE#include <math.h>#else#define _XOPEN_SOURCE	/* to get prototype for hypot on some systems */#include <math.h>#undef _XOPEN_SOURCE#endif#include "X11/Xfuncs.h"#include "fntfilst.h"#include "FSproto.h"#include "t1intf.h" #include "objects.h"#include "spaces.h"#include "regions.h"#include "t1stdio.h"#include "util.h"#include "fontfcn.h" int         Type1OpenScalable ();static int  Type1GetGlyphs();void        Type1CloseFont();extern int  Type1GetInfoScalable (); static int  Type1GetMetrics (); #define minchar(p) ((p).min_char_low + ((p).min_char_high << 8))#define maxchar(p) ((p).max_char_low + ((p).max_char_high << 8))static void fillrun();  extern psfont *FontP;extern psobj *ISOLatin1EncArrayP;extern unsigned long *Xalloc();static void fill(); /*ARGSUSED*/int Type1OpenScalable (fpe, ppFont, flags, entry, fileName, vals, format,		       fmask, non_cachable_font)    FontPathElementPtr  fpe;    FontPtr             *ppFont;    int                 flags;    FontEntryPtr        entry;    char                *fileName;    FontScalablePtr     vals;    fsBitmapFormat      format;    fsBitmapFormatMask  fmask;    FontPtr		non_cachable_font;	/* We don't do licensing */{       extern struct XYspace *IDENTITY;       extern Bool fontfcnA();       extern struct region *fontfcnB();         FontPtr     pFont;       int         bit,                   byte,                   glyph,                   scan,                   image;       int pad,wordsize;     /* scan & image in bits                         */       unsigned long *pool;  /* memory pool for ximager objects              */       int size;             /* for memory size calculations                 */       struct XYspace *S;    /* coordinate space for character               */       struct region *area;       CharInfoRec *glyphs;       register int i;       int len, rc, count = 0;       struct type1font *type1;       char *p;       psobj *fontencoding = NULL;       fsRange char_range;       psobj *fontmatrix;       long x0, total_width = 0, total_raw_width = 0;       double x1, y1, t1 = .001, t2 = 0.0, t3 = 0.0, t4 = .001;       double sxmult;       /* Reject ridiculously small font sizes that will blow up the math */       if (hypot(vals->pixel_matrix[0], vals->pixel_matrix[1]) < 1.0 ||	   hypot(vals->pixel_matrix[2], vals->pixel_matrix[3]) < 1.0)	   return BadFontName;       /* set up default values */       FontDefaultFormat(&bit, &byte, &glyph, &scan);       /* get any changes made from above */       rc = CheckFSFormat(format, fmask, &bit, &byte, &scan, &glyph, &image);       if (rc != Successful)               return rc;        pad                = glyph * 8;       wordsize           = scan * 8; #define  PAD(bits, pad)  (((bits)+(pad)-1)&-(pad))        pFont = (FontPtr) xalloc(sizeof(FontRec));       if (pFont == NULL)           return AllocError;        type1 = (struct type1font *)xalloc(sizeof(struct type1font));       if (type1 == NULL) {               xfree(pFont);               return AllocError;       }       bzero(type1, sizeof(struct type1font));        /* heuristic for "maximum" size of pool we'll need: */       size = 200000 + 120 *	      (int)hypot(vals->pixel_matrix[2], vals->pixel_matrix[3])	      * sizeof(short);       if (size < 0 || NULL == (pool = (unsigned long *) xalloc(size))) {               xfree(type1);               xfree(pFont);               return AllocError;       }        addmemory(pool, size);         glyphs = type1->glyphs;        /* load font if not already loaded */       if (!fontfcnA(fileName, &rc)) {         delmemory();	 xfree(type1);	 xfree(pFont);         xfree(pool);         return Type1ReturnCodeToXReturnCode(rc);       }       fontmatrix = &FontP->fontInfoP[FONTMATRIX].value;       if (objPIsArray(fontmatrix) && fontmatrix->len == 6)       {#define assign(n,d,f) if (objPIsInteger(fontmatrix->data.arrayP + n)) \			  d = fontmatrix->data.arrayP[n].data.integer; \		      else if (objPIsReal(fontmatrix->data.arrayP + n)) \			  d = fontmatrix->data.arrayP[n].data.real; \		      else d = f;	   assign(0, t1, .001);	   assign(1, t2, 0.0);	   assign(2, t3, 0.0);	   assign(3, t4, .001);       }       S = (struct XYspace *) t1_Transform(IDENTITY, t1, t2, t3, t4);       S = (struct XYspace *) Permanent(t1_Transform(S, vals->pixel_matrix[0],						       -vals->pixel_matrix[1],							vals->pixel_matrix[2],						       -vals->pixel_matrix[3]));       /* multiplier for computation of raw values */       sxmult = hypot(vals->pixel_matrix[0], vals->pixel_matrix[1]);       if (sxmult > EPS) sxmult = 1000.0 / sxmult;       p = entry->name.name + entry->name.length - 19;       if (entry->name.ndashes == 14 &&	   p >= entry->name.name &&	   !strcmp (p, "-adobe-fontspecific"))       {	   fontencoding = FontP->fontInfoP[ENCODING].value.data.arrayP;       }       if (!fontencoding)	   fontencoding = ISOLatin1EncArrayP;       pFont->info.firstCol = 255;       pFont->info.lastCol  = FIRSTCOL;       for (i=0; i < 256-FIRSTCOL; i++) {               long h,w;               long paddedW;	       int j;	       char *codename;	       codename = fontencoding[i + FIRSTCOL].data.valueP;	       len = fontencoding[i + FIRSTCOL].len;	       if (len == 7 && strcmp(codename,".notdef")==0)		   continue; 	       /* See if this character is in the list of ranges specified		  in the XLFD name */	       for (j = 0; j < vals->nranges; j++)		   if (i + FIRSTCOL >= minchar(vals->ranges[j]) &&		       i + FIRSTCOL <= maxchar(vals->ranges[j]))		       break;	       /* If not, don't realize it. */	       if (vals->nranges && j == vals->nranges)		   continue;	       if (pFont->info.firstCol > i + FIRSTCOL)		   pFont->info.firstCol = i + FIRSTCOL;	       if (pFont->info.lastCol < i + FIRSTCOL)		   pFont->info.lastCol = i + FIRSTCOL;               rc = 0;               area = fontfcnB(S, codename, &len, &rc);               if (rc < 0) {                       rc = Type1ReturnCodeToXReturnCode(rc);                       break;               }               else if (rc > 0)                       continue;                if (area == NULL)                       continue;                h       = area->ymax - area->ymin;               w       = area->xmax - area->xmin;               paddedW = PAD(w, pad);                if (h > 0 && w > 0) {                       size = h * paddedW / 8;                       glyphs[i].bits = (char *)xalloc(size);                       if (glyphs[i].bits == NULL) {                               rc = AllocError;                               break;                       }               }               else {		       size = 0;                       h = w = 0;                       area->xmin = area->xmax = 0;                       area->ymax = area->ymax = 0;               }                glyphs[i].metrics.leftSideBearing  = area->xmin;	       x1 = (double)(x0 = area->ending.x - area->origin.x);	       y1 = (double)(area->ending.y - area->origin.y);               glyphs[i].metrics.characterWidth   =		   (x0 + (x0 > 0 ? FPHALF : -FPHALF)) / (1 << FRACTBITS);               if (!glyphs[i].metrics.characterWidth && size == 0)	       {		   /* Zero size and zero extents: presumably caused by		      the choice of transformation.  Let's create a		      small bitmap so we're not mistaken for an undefined		      character. */		   h = w = 1;		   size = paddedW = PAD(w, pad);		   glyphs[i].bits = (char *)xalloc(size);                   if (glyphs[i].bits == NULL) {                       rc = AllocError;                       break;                   }	       }               glyphs[i].metrics.attributes =		   NEARESTPEL((long)(hypot(x1, y1) * sxmult));	       total_width += glyphs[i].metrics.attributes;	       total_raw_width += abs((int)(INT16)glyphs[i].metrics.attributes);	       count++;               glyphs[i].metrics.rightSideBearing = w + area->xmin;               glyphs[i].metrics.descent          = area->ymax - NEARESTPEL(area->origin.y);               glyphs[i].metrics.ascent           = h - glyphs[i].metrics.descent;                 bzero(glyphs[i].bits, size);

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国内不卡的二区三区中文字幕 | 亚洲欧美一区二区三区极速播放| 亚洲激情第一区| 色激情天天射综合网| 久久免费美女视频| 日韩一区精品字幕| 一本色道a无线码一区v| 久久夜色精品一区| 免费高清不卡av| 欧美巨大另类极品videosbest| 亚洲视频图片小说| 国产精品911| 日韩免费观看高清完整版| 亚洲一区二区黄色| 91亚洲精华国产精华精华液| 亚洲国产精品成人综合色在线婷婷| 丝袜美腿成人在线| 欧美日韩国产精品自在自线| 亚洲主播在线播放| 91麻豆123| 亚洲美女屁股眼交3| 97se亚洲国产综合在线| 久久久不卡网国产精品二区| 国产一区二区视频在线| 精品国产伦一区二区三区观看方式 | 99天天综合性| 国产婷婷色一区二区三区| 国内精品国产三级国产a久久| 日韩欧美精品三级| 欧美日韩精品电影| 亚洲精品乱码久久久久久久久 | 男人的天堂亚洲一区| 欧美性色黄大片| 亚洲sss视频在线视频| 8v天堂国产在线一区二区| 天天av天天翘天天综合网| 欧美三级欧美一级| 日韩av高清在线观看| 日韩欧美一卡二卡| 精品夜夜嗨av一区二区三区| 亚洲精品在线网站| 国产99久久久国产精品潘金网站| 中文字幕欧美日本乱码一线二线| 不卡大黄网站免费看| 亚洲精品一二三四区| 欧美日韩一卡二卡| 韩国毛片一区二区三区| 国产欧美日本一区视频| 91社区在线播放| 香蕉影视欧美成人| 日韩一级高清毛片| 成人免费视频caoporn| 亚洲精品五月天| 91精品国产一区二区三区蜜臀| 久久99精品视频| 亚洲国产高清不卡| 欧美在线观看一区| 久久99九九99精品| 亚洲免费电影在线| 亚洲九九爱视频| 欧美一级淫片007| 国产99久久久精品| 亚洲成在线观看| 国产色综合久久| 欧美日本在线播放| 成人午夜又粗又硬又大| 日日夜夜一区二区| 国产精品网站在线观看| 欧美肥胖老妇做爰| 国产精品99久| 秋霞成人午夜伦在线观看| 国产精品视频麻豆| 日韩欧美国产一区二区三区| 99久久99久久久精品齐齐| 欧美a级一区二区| 亚洲图片你懂的| 久久久国产精品不卡| 欧美日韩久久不卡| 91网站最新网址| 国产iv一区二区三区| 奇米精品一区二区三区在线观看一| 国产精品久久午夜夜伦鲁鲁| 91精品国产综合久久香蕉的特点 | 91麻豆精品国产自产在线观看一区 | 国产精品美女久久久久aⅴ国产馆| 欧洲精品中文字幕| 成人免费视频视频| 国产一区二区精品在线观看| 视频一区二区欧美| 亚洲欧美日韩在线不卡| 国产欧美一区二区精品忘忧草| 欧美一区二区三区影视| 91久久香蕉国产日韩欧美9色| 风间由美性色一区二区三区| 免费欧美在线视频| 亚洲高清一区二区三区| 亚洲激情在线播放| 亚洲欧美韩国综合色| 日本一区二区三区高清不卡| 精品国产a毛片| 久久综合久久综合亚洲| 日韩精品在线网站| 欧美一区二区日韩| 欧美日韩1234| 欧美剧情电影在线观看完整版免费励志电影| aaa欧美大片| 99久久99久久综合| 色哟哟一区二区| 99久久99久久精品国产片果冻 | 国产一区在线观看麻豆| 亚洲h精品动漫在线观看| 亚洲午夜视频在线观看| 亚洲最大成人综合| 亚洲国产日韩在线一区模特| 亚洲精品免费视频| 亚洲国产日日夜夜| 日韩av网站免费在线| 日本不卡一二三| 久久99久久久欧美国产| 国内精品久久久久影院薰衣草| 国产一区二区不卡在线| 国产福利精品一区| 99久久综合国产精品| 91丝袜高跟美女视频| 欧美性欧美巨大黑白大战| 在线免费一区三区| 在线电影一区二区三区| 欧美大片一区二区| 国产日韩精品视频一区| 国产精品毛片久久久久久| 亚洲情趣在线观看| 亚洲va欧美va人人爽午夜| 九九热在线视频观看这里只有精品| 麻豆精品国产91久久久久久| 国产老妇另类xxxxx| 粉嫩av一区二区三区在线播放 | 精品盗摄一区二区三区| 日本一区二区三区久久久久久久久不| 成人免费一区二区三区视频 | 国产福利一区二区三区在线视频| 99精品黄色片免费大全| 欧美精品1区2区3区| 久久精品一区四区| 亚洲美女视频一区| 久久97超碰色| 91在线丨porny丨国产| 6080午夜不卡| 国产精品视频免费看| 视频精品一区二区| 成人h动漫精品| 91精品福利在线一区二区三区| 中文字幕欧美日本乱码一线二线| 亚洲午夜在线电影| 国产91对白在线观看九色| 欧美色区777第一页| 久久久99精品免费观看| 亚洲高清视频的网址| 国产69精品久久777的优势| 欧美日韩国产免费一区二区| 久久精品欧美一区二区三区不卡| 亚洲午夜激情网页| 成人综合婷婷国产精品久久| 制服丝袜亚洲精品中文字幕| 国产精品福利av| 久久成人免费网站| 欧美性生交片4| 欧美韩国日本不卡| 免费成人在线播放| 欧美日韩中文字幕一区| 国产精品进线69影院| 麻豆精品一区二区综合av| 在线这里只有精品| 中文字幕在线一区二区三区| 国产在线视频不卡二| 欧美美女bb生活片| 一区二区三区四区视频精品免费 | 国产激情视频一区二区三区欧美| 欧美人与z0zoxxxx视频| 亚洲精品高清在线| 成年人网站91| 国产精品色哟哟| 国产乱淫av一区二区三区| 欧美精品电影在线播放| 亚洲综合免费观看高清在线观看| 成人国产精品免费观看视频| 久久精品这里都是精品| 国内精品不卡在线| 精品久久人人做人人爰| 美女国产一区二区| 欧美一级在线视频| 奇米精品一区二区三区四区| 91麻豆精品国产91久久久| 亚洲国产欧美日韩另类综合| 一本色道久久加勒比精品| 亚洲欧美日韩在线| 色噜噜狠狠色综合中国| 亚洲免费观看在线视频| 欧美性做爰猛烈叫床潮| 一区二区三区在线视频观看58| 欧美影视一区二区三区|