📄 builtinfont.cc
字号:
//========================================================================//// BuiltinFont.cc//// Copyright 2001-2003 Glyph & Cog, LLC////========================================================================#include <aconf.h>#ifdef USE_GCC_PRAGMAS#pragma implementation#endif#include <stdlib.h>#include <string.h>#include "gmem.h"#include "FontEncodingTables.h"#include "BuiltinFont.h"//------------------------------------------------------------------------BuiltinFontWidths::BuiltinFontWidths(BuiltinFontWidth *widths, int sizeA) { int i, h; size = sizeA; tab = (BuiltinFontWidth **)gmallocn(size, sizeof(BuiltinFontWidth *)); for (i = 0; i < size; ++i) { tab[i] = NULL; } for (i = 0; i < sizeA; ++i) { h = hash(widths[i].name); widths[i].next = tab[h]; tab[h] = &widths[i]; }}BuiltinFontWidths::~BuiltinFontWidths() { gfree(tab);}GBool BuiltinFontWidths::getWidth(char *name, Gushort *width) { int h; BuiltinFontWidth *p; h = hash(name); for (p = tab[h]; p; p = p->next) { if (!strcmp(p->name, name)) { *width = p->width; return gTrue; } } return gFalse;}int BuiltinFontWidths::hash(char *name) { char *p; unsigned int h; h = 0; for (p = name; *p; ++p) { h = 17 * h + (int)(*p & 0xff); } return (int)(h % size);}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -