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

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

?? gdkfont-win32.c

?? linux下電話本所依賴的一些圖形庫
?? C
?? 第 1 頁 / 共 4 頁
字號:
/* GDK - The GIMP Drawing Kit * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald * Copyright (C) 1998-2002 Tor Lillqvist * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the * Free Software Foundation, Inc., 59 Temple Place - Suite 330, * Boston, MA 02111-1307, USA. *//* * Modified by the GTK+ Team and others 1997-2000.  See the AUTHORS * file for a list of people on the GTK+ Team.  See the ChangeLog * files for a list of changes.  These files are distributed with * GTK+ at ftp://ftp.gtk.org/pub/gtk/.  */#include <config.h>#include <stdio.h>#include <stdlib.h>#include <ctype.h>#include <pango/pangowin32.h>#include "gdkfont.h"#include "gdkpango.h" /* gdk_pango_context_get() */#include "gdkdisplay.h"#include "gdkprivate-win32.h"static GHashTable *font_name_hash = NULL;static GHashTable *fontset_name_hash = NULL;static voidgdk_font_hash_insert (GdkFontType  type,		      GdkFont     *font,		      const gchar *font_name){  GdkFontPrivateWin32 *private = (GdkFontPrivateWin32 *) font;  GHashTable **hashp = (type == GDK_FONT_FONT) ?    &font_name_hash : &fontset_name_hash;  if (!*hashp)    *hashp = g_hash_table_new (g_str_hash, g_str_equal);  private->names = g_slist_prepend (private->names, g_strdup (font_name));  g_hash_table_insert (*hashp, private->names->data, font);}static voidgdk_font_hash_remove (GdkFontType type,		      GdkFont    *font){  GdkFontPrivateWin32 *private = (GdkFontPrivateWin32 *) font;  GSList *tmp_list;  GHashTable *hash = (type == GDK_FONT_FONT) ?    font_name_hash : fontset_name_hash;  tmp_list = private->names;  while (tmp_list)    {      g_hash_table_remove (hash, tmp_list->data);      g_free (tmp_list->data);            tmp_list = tmp_list->next;    }  g_slist_free (private->names);  private->names = NULL;}static GdkFont *gdk_font_hash_lookup (GdkFontType  type,		      const gchar *font_name){  GdkFont *result;  GHashTable *hash = (type == GDK_FONT_FONT) ?    font_name_hash : fontset_name_hash;  if (!hash)    return NULL;  else    {      result = g_hash_table_lookup (hash, font_name);      if (result)	gdk_font_ref (result);            return result;    }}static const char *charset_name (DWORD charset){  switch (charset)    {    case ANSI_CHARSET: return "ansi";    case DEFAULT_CHARSET: return "default";    case SYMBOL_CHARSET: return "symbol";    case SHIFTJIS_CHARSET: return "shiftjis";    case HANGEUL_CHARSET: return "hangeul";    case GB2312_CHARSET: return "gb2312";    case CHINESEBIG5_CHARSET: return "big5";    case JOHAB_CHARSET: return "johab";    case HEBREW_CHARSET: return "hebrew";    case ARABIC_CHARSET: return "arabic";    case GREEK_CHARSET: return "greek";    case TURKISH_CHARSET: return "turkish";    case VIETNAMESE_CHARSET: return "vietnamese";    case THAI_CHARSET: return "thai";    case EASTEUROPE_CHARSET: return "easteurope";    case RUSSIAN_CHARSET: return "russian";    case MAC_CHARSET: return "mac";    case BALTIC_CHARSET: return "baltic";    }  return "unknown";}/* This table classifies Unicode characters according to the Microsoft * Unicode subset numbering. This is based on the table in "Developing * International Software for Windows 95 and Windows NT". This is almost, * but not quite, the same as the official Unicode block table in * Blocks.txt from ftp.unicode.org. The bit number field is the bitfield * number as in the FONTSIGNATURE struct's fsUsb field. * There are some grave bugs in the table in the books. For instance * it claims there are Hangul at U+3400..U+4DFF while this range in * fact contains CJK Unified Ideographs Extension A. Also, the whole * block of Hangul Syllables U+AC00..U+D7A3 is missing from the book. */typedef enum{  U_BASIC_LATIN = 0,  U_LATIN_1_SUPPLEMENT = 1,  U_LATIN_EXTENDED_A = 2,  U_LATIN_EXTENDED_B = 3,  U_IPA_EXTENSIONS = 4,  U_SPACING_MODIFIER_LETTERS = 5,  U_COMBINING_DIACRITICAL_MARKS = 6,  U_BASIC_GREEK = 7,  U_GREEK_SYMBOLS_AND_COPTIC = 8,  U_CYRILLIC = 9,  U_ARMENIAN = 10,  U_HEBREW_EXTENDED = 12,  U_BASIC_HEBREW = 11,  U_BASIC_ARABIC = 13,  U_ARABIC_EXTENDED = 14,  U_DEVANAGARI = 15,  U_BENGALI = 16,  U_GURMUKHI = 17,  U_GUJARATI = 18,  U_ORIYA = 19,  U_TAMIL = 20,  U_TELUGU = 21,  U_KANNADA = 22,  U_MALAYALAM = 23,  U_THAI = 24,  U_LAO = 25,  U_GEORGIAN_EXTENDED = 27,  U_BASIC_GEORGIAN = 26,  U_HANGUL_JAMO = 28,  U_LATIN_EXTENDED_ADDITIONAL = 29,  U_GREEK_EXTENDED = 30,  U_GENERAL_PUNCTUATION = 31,  U_SUPERSCRIPTS_AND_SUBSCRIPTS = 32,  U_CURRENCY_SYMBOLS = 33,  U_COMBINING_DIACRITICAL_MARKS_FOR_SYMBOLS = 34,  U_LETTERLIKE_SYMBOLS = 35,  U_NUMBER_FORMS = 36,  U_ARROWS = 37,  U_MATHEMATICAL_OPERATORS = 38,  U_MISCELLANEOUS_TECHNICAL = 39,  U_CONTROL_PICTURES = 40,  U_OPTICAL_CHARACTER_RECOGNITION = 41,  U_ENCLOSED_ALPHANUMERICS = 42,  U_BOX_DRAWING = 43,  U_BLOCK_ELEMENTS = 44,  U_GEOMETRIC_SHAPES = 45,  U_MISCELLANEOUS_SYMBOLS = 46,  U_DINGBATS = 47,  U_CJK_SYMBOLS_AND_PUNCTUATION = 48,  U_HIRAGANA = 49,  U_KATAKANA = 50,  U_BOPOMOFO = 51,  U_HANGUL_COMPATIBILITY_JAMO = 52,  U_CJK_MISCELLANEOUS = 53,  U_ENCLOSED_CJK = 54,  U_CJK_COMPATIBILITY = 55,  U_HANGUL = 56,  U_HANGUL_SUPPLEMENTARY_A = 57,  U_HANGUL_SUPPLEMENTARY_B = 58,  U_CJK_UNIFIED_IDEOGRAPHS = 59,  U_PRIVATE_USE_AREA = 60,  U_CJK_COMPATIBILITY_IDEOGRAPHS = 61,  U_ALPHABETIC_PRESENTATION_FORMS = 62,  U_ARABIC_PRESENTATION_FORMS_A = 63,  U_COMBINING_HALF_MARKS = 64,  U_CJK_COMPATIBILITY_FORMS = 65,  U_SMALL_FORM_VARIANTS = 66,  U_ARABIC_PRESENTATION_FORMS_B = 67,  U_SPECIALS = 69,  U_HALFWIDTH_AND_FULLWIDTH_FORMS = 68,  U_LAST_PLUS_ONE} unicode_subset;static struct {  wchar_t low, high;  unicode_subset bit;   gchar *name;} utab[] ={  { 0x0000, 0x007E,    U_BASIC_LATIN, "Basic Latin" },  { 0x00A0, 0x00FF,    U_LATIN_1_SUPPLEMENT, "Latin-1 Supplement" },  { 0x0100, 0x017F,    U_LATIN_EXTENDED_A, "Latin Extended-A" },  { 0x0180, 0x024F,    U_LATIN_EXTENDED_B, "Latin Extended-B" },  { 0x0250, 0x02AF,    U_IPA_EXTENSIONS, "IPA Extensions" },  { 0x02B0, 0x02FF,    U_SPACING_MODIFIER_LETTERS, "Spacing Modifier Letters" },  { 0x0300, 0x036F,    U_COMBINING_DIACRITICAL_MARKS, "Combining Diacritical Marks" },  { 0x0370, 0x03CF,    U_BASIC_GREEK, "Basic Greek" },  { 0x03D0, 0x03FF,    U_GREEK_SYMBOLS_AND_COPTIC, "Greek Symbols and Coptic" },  { 0x0400, 0x04FF,    U_CYRILLIC, "Cyrillic" },  { 0x0530, 0x058F,    U_ARMENIAN, "Armenian" },  { 0x0590, 0x05CF,    U_HEBREW_EXTENDED, "Hebrew Extended" },  { 0x05D0, 0x05FF,    U_BASIC_HEBREW, "Basic Hebrew" },  { 0x0600, 0x0652,    U_BASIC_ARABIC, "Basic Arabic" },  { 0x0653, 0x06FF,    U_ARABIC_EXTENDED, "Arabic Extended" },  { 0x0900, 0x097F,    U_DEVANAGARI, "Devanagari" },  { 0x0980, 0x09FF,    U_BENGALI, "Bengali" },  { 0x0A00, 0x0A7F,    U_GURMUKHI, "Gurmukhi" },  { 0x0A80, 0x0AFF,    U_GUJARATI, "Gujarati" },  { 0x0B00, 0x0B7F,    U_ORIYA, "Oriya" },  { 0x0B80, 0x0BFF,    U_TAMIL, "Tamil" },  { 0x0C00, 0x0C7F,    U_TELUGU, "Telugu" },  { 0x0C80, 0x0CFF,    U_KANNADA, "Kannada" },  { 0x0D00, 0x0D7F,    U_MALAYALAM, "Malayalam" },  { 0x0E00, 0x0E7F,    U_THAI, "Thai" },  { 0x0E80, 0x0EFF,    U_LAO, "Lao" },  { 0x10A0, 0x10CF,    U_GEORGIAN_EXTENDED, "Georgian Extended" },  { 0x10D0, 0x10FF,    U_BASIC_GEORGIAN, "Basic Georgian" },  { 0x1100, 0x11FF,    U_HANGUL_JAMO, "Hangul Jamo" },  { 0x1E00, 0x1EFF,    U_LATIN_EXTENDED_ADDITIONAL, "Latin Extended Additional" },  { 0x1F00, 0x1FFF,    U_GREEK_EXTENDED, "Greek Extended" },  { 0x2000, 0x206F,    U_GENERAL_PUNCTUATION, "General Punctuation" },  { 0x2070, 0x209F,    U_SUPERSCRIPTS_AND_SUBSCRIPTS, "Superscripts and Subscripts" },  { 0x20A0, 0x20CF,    U_CURRENCY_SYMBOLS, "Currency Symbols" },  { 0x20D0, 0x20FF,    U_COMBINING_DIACRITICAL_MARKS_FOR_SYMBOLS, "Combining Diacritical Marks for Symbols" },  { 0x2100, 0x214F,    U_LETTERLIKE_SYMBOLS, "Letterlike Symbols" },  { 0x2150, 0x218F,    U_NUMBER_FORMS, "Number Forms" },  { 0x2190, 0x21FF,    U_ARROWS, "Arrows" },  { 0x2200, 0x22FF,    U_MATHEMATICAL_OPERATORS, "Mathematical Operators" },  { 0x2300, 0x23FF,    U_MISCELLANEOUS_TECHNICAL, "Miscellaneous Technical" },  { 0x2400, 0x243F,    U_CONTROL_PICTURES, "Control Pictures" },  { 0x2440, 0x245F,    U_OPTICAL_CHARACTER_RECOGNITION, "Optical Character Recognition" },  { 0x2460, 0x24FF,    U_ENCLOSED_ALPHANUMERICS, "Enclosed Alphanumerics" },  { 0x2500, 0x257F,    U_BOX_DRAWING, "Box Drawing" },  { 0x2580, 0x259F,    U_BLOCK_ELEMENTS, "Block Elements" },  { 0x25A0, 0x25FF,    U_GEOMETRIC_SHAPES, "Geometric Shapes" },  { 0x2600, 0x26FF,    U_MISCELLANEOUS_SYMBOLS, "Miscellaneous Symbols" },  { 0x2700, 0x27BF,    U_DINGBATS, "Dingbats" },  { 0x3000, 0x303F,    U_CJK_SYMBOLS_AND_PUNCTUATION, "CJK Symbols and Punctuation" },  { 0x3040, 0x309F,    U_HIRAGANA, "Hiragana" },  { 0x30A0, 0x30FF,    U_KATAKANA, "Katakana" },  { 0x3100, 0x312F,    U_BOPOMOFO, "Bopomofo" },  { 0x3130, 0x318F,    U_HANGUL_COMPATIBILITY_JAMO, "Hangul Compatibility Jamo" },  { 0x3190, 0x319F,    U_CJK_MISCELLANEOUS, "CJK Miscellaneous" },  { 0x3200, 0x32FF,    U_ENCLOSED_CJK, "Enclosed CJK" },  { 0x3300, 0x33FF,    U_CJK_COMPATIBILITY, "CJK Compatibility" },  /* The book claims:   * U+3400..U+3D2D = Hangul   * U+3D2E..U+44B7 = Hangul Supplementary A   * U+44B8..U+4DFF = Hangul Supplementary B   * but actually in Unicode   * U+3400..U+4DB5 = CJK Unified Ideographs Extension A   */  { 0x3400, 0x4DB5,    U_CJK_UNIFIED_IDEOGRAPHS, "CJK Unified Ideographs Extension A" },  { 0x4E00, 0x9FFF,    U_CJK_UNIFIED_IDEOGRAPHS, "CJK Unified Ideographs" },  /* This was missing completely from the book's table. */  { 0xAC00, 0xD7A3,    U_HANGUL, "Hangul Syllables" },  { 0xE000, 0xF8FF,    U_PRIVATE_USE_AREA, "Private Use Area" },  { 0xF900, 0xFAFF,    U_CJK_COMPATIBILITY_IDEOGRAPHS, "CJK Compatibility Ideographs" },  { 0xFB00, 0xFB4F,    U_ALPHABETIC_PRESENTATION_FORMS, "Alphabetic Presentation Forms" },  { 0xFB50, 0xFDFF,    U_ARABIC_PRESENTATION_FORMS_A, "Arabic Presentation Forms-A" },  { 0xFE20, 0xFE2F,    U_COMBINING_HALF_MARKS, "Combining Half Marks" },  { 0xFE30, 0xFE4F,    U_CJK_COMPATIBILITY_FORMS, "CJK Compatibility Forms" },  { 0xFE50, 0xFE6F,    U_SMALL_FORM_VARIANTS, "Small Form Variants" },  { 0xFE70, 0xFEFE,    U_ARABIC_PRESENTATION_FORMS_B, "Arabic Presentation Forms-B" },  { 0xFEFF, 0xFEFF,    U_SPECIALS, "Specials" },  { 0xFF00, 0xFFEF,    U_HALFWIDTH_AND_FULLWIDTH_FORMS, "Halfwidth and Fullwidth Forms" },  { 0xFFF0, 0xFFFD,    U_SPECIALS, "Specials" }};static voidprint_unicode_subranges (FONTSIGNATURE *fsp){  int i;  gboolean checked[G_N_ELEMENTS (utab)];  gboolean need_comma = FALSE;  memset (checked, 0, sizeof (checked));  for (i = 0; i < G_N_ELEMENTS (utab); i++)    if (!checked[i]	&& (fsp->fsUsb[utab[i].bit/32] & (1 << (utab[i].bit % 32))))      {	g_print ("%s %s", (need_comma ? "," : ""), utab[i].name);	need_comma = TRUE;	checked[i] = TRUE;      }  if (!need_comma)    g_print (" none!");  g_print ("\n");}static gbooleancheck_unicode_subranges (UINT           charset,			 FONTSIGNATURE *fsp){  gint i;  gboolean retval = FALSE;  /* If the fsUsb bit array has at least one of the bits set, trust it */  for (i = 0; i < U_LAST_PLUS_ONE; i++)    if (i != U_PRIVATE_USE_AREA && (fsp->fsUsb[i/32] & (1 << (i % 32))))      return FALSE;  /* Otherwise, guess what subranges there should be in the font */  fsp->fsUsb[0] = fsp->fsUsb[1] = fsp->fsUsb[2] = fsp->fsUsb[3] = 0;#define set_bit(bitno) (fsp->fsUsb[(bitno)/32] |= (1 << ((bitno) % 32)))  /* Set Unicode subrange bits based on code pages supported.   * This is mostly just guesswork.   */#define check_cp(bit) (fsp->fsCsb[0] & (bit))  if (check_cp(FS_LATIN1))    {      set_bit (U_BASIC_LATIN);      set_bit (U_LATIN_1_SUPPLEMENT);      set_bit (U_CURRENCY_SYMBOLS);      retval = TRUE;    }  if (check_cp (FS_LATIN2))    {      set_bit (U_BASIC_LATIN);      set_bit (U_LATIN_1_SUPPLEMENT);      set_bit (U_LATIN_EXTENDED_A);      set_bit (U_CURRENCY_SYMBOLS);      retval = TRUE;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久99久久久欧美国产| 亚洲午夜一区二区| 91麻豆精品国产综合久久久久久| 一道本成人在线| 国产综合久久久久久鬼色| 美女国产一区二区| 久久精品国产秦先生| 麻豆一区二区在线| 激情都市一区二区| 成人深夜在线观看| 91免费观看视频在线| 91美女片黄在线观看91美女| 在线亚洲高清视频| 欧美精品色一区二区三区| 欧美久久久久中文字幕| 日韩视频国产视频| 日本一区二区三区久久久久久久久不| 国产欧美日韩久久| 亚洲欧美激情小说另类| 午夜精品123| 韩国精品一区二区| 不卡一区在线观看| 欧美日韩和欧美的一区二区| 欧美v国产在线一区二区三区| www久久久久| 自拍偷拍亚洲激情| 人人精品人人爱| 国产精品一卡二卡| 欧美视频第二页| 精品久久久久久亚洲综合网 | 国产麻豆精品在线| 99久久夜色精品国产网站| 欧美日韩免费一区二区三区 | 成人午夜免费视频| 91福利资源站| 日韩美女视频一区二区| 婷婷国产在线综合| 成人激情免费电影网址| 91麻豆精品国产91久久久久久 | 日韩精品成人一区二区在线| 国产在线精品视频| 欧美日韩国产首页| 国产精品人成在线观看免费 | 亚洲影院在线观看| 国产精品小仙女| 日韩一区二区高清| 亚洲综合色视频| youjizz久久| 久久久久亚洲蜜桃| 视频在线观看91| 91黄色免费看| 国产精品久久久一区麻豆最新章节| 免费不卡在线观看| 欧美日韩一区三区四区| 亚洲天堂福利av| 国产成人aaa| xf在线a精品一区二区视频网站| 亚洲成人免费视| 91九色02白丝porn| 亚洲女同一区二区| 成人av电影在线观看| 国产欧美日韩中文久久| 国产在线精品一区二区夜色| 欧美视频自拍偷拍| 亚洲伦理在线精品| 91蜜桃免费观看视频| 国产精品灌醉下药二区| jizzjizzjizz欧美| 国产女主播视频一区二区| 国模少妇一区二区三区| 欧美成人精品3d动漫h| 美腿丝袜在线亚洲一区 | 成人三级在线视频| 国产午夜亚洲精品不卡| 国产在线视视频有精品| 精品嫩草影院久久| 国产精品一区二区三区乱码| 精品国产髙清在线看国产毛片| 日本美女一区二区| 精品日韩成人av| 国产成人av一区二区三区在线观看| 日韩亚洲欧美一区| 激情深爱一区二区| 国产日韩欧美高清| 99久久er热在这里只有精品66| 1000部国产精品成人观看| 91污在线观看| 亚洲成人精品一区| 亚洲精品一区在线观看| 国产成人免费视频| 一区二区三区在线视频免费| 欧美日韩国产精品自在自线| 久久国产综合精品| 国产欧美日产一区| 色婷婷久久久综合中文字幕| 五月婷婷另类国产| 久久久久九九视频| 色综合久久中文字幕综合网| 亚洲第一成年网| 26uuu成人网一区二区三区| 成人av小说网| 日韩国产欧美一区二区三区| 欧美精品一区二区不卡| youjizz久久| 亚洲电影视频在线| 久久免费电影网| 欧美亚洲综合久久| 国产精品一区二区x88av| 亚洲在线免费播放| 国产午夜一区二区三区| 在线视频你懂得一区二区三区| 久久成人羞羞网站| 一区二区三区 在线观看视频| 欧美大白屁股肥臀xxxxxx| av电影在线观看完整版一区二区| 亚洲国产成人av| 国产精品狼人久久影院观看方式| 欧美夫妻性生活| 97久久精品人人做人人爽50路| 视频一区国产视频| 亚洲激情第一区| 久久久久久夜精品精品免费| 欧美理论片在线| 91麻豆国产福利在线观看| 国产精一品亚洲二区在线视频| 亚洲一区二区三区三| 国产精品成人免费| 欧美精品一区二区高清在线观看| 欧美亚洲一区三区| 9色porny自拍视频一区二区| 久久99热国产| 日产国产高清一区二区三区| 一区二区在线看| 国产精品久久网站| 久久精品日韩一区二区三区| 日韩一区二区精品葵司在线| 欧美亚洲动漫制服丝袜| 91伊人久久大香线蕉| 国产成人综合在线观看| 久久精品国产免费| 日本亚洲天堂网| 日本欧美一区二区三区乱码| 亚洲猫色日本管| 亚洲视频免费在线| 国产精品久久久一区麻豆最新章节| 久久久久久99久久久精品网站| 亚洲精品一区二区三区99| 欧美一级理论片| 欧美一区二区在线不卡| 欧美一区二区三区不卡| 日韩一区二区在线看| 日韩一区和二区| 日韩免费观看2025年上映的电影| 欧美一区二区三区免费| 欧美一区二区三区精品| 欧美一级片在线看| 精品国产a毛片| 久久久精品欧美丰满| 久久久久九九视频| 青青国产91久久久久久 | 久久综合av免费| 精品福利一二区| 久久亚洲一区二区三区明星换脸| 精品久久久三级丝袜| 国产日韩精品久久久| 国产女人aaa级久久久级| 欧美日韩精品一二三区| 6080日韩午夜伦伦午夜伦| 久久电影国产免费久久电影| 成人一区二区视频| 日韩一区二区三区高清免费看看| 亚洲激情六月丁香| 欧美人体做爰大胆视频| 中文字幕一区二区三区不卡在线| 麻豆国产欧美日韩综合精品二区| 91视频观看视频| 日本一区二区三区电影| 免费成人深夜小野草| 在线免费观看日本欧美| 久久婷婷国产综合国色天香| 午夜精品福利久久久| 在线观看日韩av先锋影音电影院| 国产日韩欧美a| 国产真实乱偷精品视频免| 91精品在线一区二区| 午夜精品久久久久久久蜜桃app| av中文字幕一区| 国产精品久久国产精麻豆99网站| 国产麻豆视频精品| 精品国产乱码久久久久久影片| 午夜欧美电影在线观看| 色欧美乱欧美15图片| 最近中文字幕一区二区三区| 成人开心网精品视频| 国产精品网站在线观看| 成人免费看视频| 国产精品久99| 91免费国产在线观看| 亚洲国产欧美在线| 欧美日韩精品一区二区天天拍小说|