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

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

?? pango-script.c

?? GTK+-2.0源碼之pango-1.15.6.tar.gz
?? C
?? 第 1 頁 / 共 2 頁
字號:
      /*       * Paired character handling:       *       * if it's an open character, push it onto the stack.       * if it's a close character, find the matching open on the       * stack, and use that script code. Any non-matching open       * characters above it on the stack will be poped.       */      if (pair_index >= 0)	{	  if (IS_OPEN (pair_index))	    {	      /*	       * If the paren stack is full, empty it. This	       * means that deeply nested paired punctuation	       * characters will be ignored, but that's an unusual	       * case, and it's better to ignore them than to	       * write off the end of the stack...	       */	      if (++iter->paren_sp >= PAREN_STACK_DEPTH)		iter->paren_sp = 0;	      iter->paren_stack[iter->paren_sp].pair_index = pair_index;	      iter->paren_stack[iter->paren_sp].script_code = iter->script_code;	    }	  else if (iter->paren_sp >= 0)	    {	      int pi = pair_index & ~1;	      while (iter->paren_sp >= 0 && iter->paren_stack[iter->paren_sp].pair_index != pi)		iter->paren_sp--;	      if (iter->paren_sp < start_sp)		start_sp = iter->paren_sp;	      if (iter->paren_sp >= 0)		sc = iter->paren_stack[iter->paren_sp].script_code;	    }	}      if (SAME_SCRIPT (iter->script_code, sc))	{	  if (!REAL_SCRIPT (iter->script_code) && REAL_SCRIPT (sc))	    {	      iter->script_code = sc;	      /*	       * now that we have a final script code, fix any open	       * characters we pushed before we knew the script code.	       */	      while (start_sp < iter->paren_sp)		iter->paren_stack[++start_sp].script_code = iter->script_code;	    }	  /*	   * if this character is a close paired character,	   * pop it from the stack	   */	  if (pair_index >= 0 && !IS_OPEN (pair_index) && iter->paren_sp >= 0)	    {	      iter->paren_sp--;	      if (iter->paren_sp < start_sp)		start_sp = iter->paren_sp;	    }	}      else	{	  /* Different script, we're done */	  break;	}    }  return TRUE;}/********************************************************** * End of code from ICU **********************************************************/#include "pango-script-lang-table.h"/* The fact that this comparison function works is dependent * on a property of the pango_script_lang_table which accidental rather * than inherent. * * The property is if we take any element in the table and suffix it * <elem>-<suffix> then that must strcmp() between any elements * preceding the element in the table and any element following in the * table. So, if we had something like: * * 'zh' *' zh-cn' * * in the table we would have a problem since 'zh-tw' follows 'zh-cn'. * On the other hand: * * 'zh' * 'zha' * * Works because 'zh-tw' precedes 'zha'. */static intscript_for_lang_compare (gconstpointer key,			 gconstpointer member){  PangoLanguage *lang = (PangoLanguage *)key;  const PangoScriptForLang *script_for_lang = member;  if (pango_language_matches (lang, script_for_lang->lang))    return 0;  else    return strcmp (pango_language_to_string (lang),		   script_for_lang->lang);}/** * pango_language_includes_script: * @language: a #PangoLanguage * @script: a #PangoScript * * Determines if @script is one of the scripts used to * write @language. The returned value is conservative; * if nothing is known about the language tag @language, * %TRUE will be returned, since, as far as Pango knows, * @script might be used to write @language. * * This routine is used in Pango's itemization process when * determining if a supplied language tag is relevant to * a particular section of text. It probably is not useful for * applications in most circumstances. * * Return value: %TRUE if @script is one of the scripts used * to write @language, or if nothing is known about @language. * * Since: 1.4 **/gbooleanpango_language_includes_script (PangoLanguage *language,				PangoScript    script){  PangoScriptForLang *script_for_lang;  unsigned int j;  g_return_val_if_fail (language != NULL, FALSE);  if (!REAL_SCRIPT (script))    return TRUE;  /* This bsearch could be optimized to occur only once if   * we store the pointer to the PangoScriptForLang in the   * same block as the string value for the PangoLanguage.   */  script_for_lang = bsearch (pango_language_to_string (language),			     pango_script_for_lang,			     G_N_ELEMENTS (pango_script_for_lang),			     sizeof (PangoScriptForLang),			     script_for_lang_compare);  if (!script_for_lang)    return TRUE;  for (j = 0; j < G_N_ELEMENTS (script_for_lang->scripts); j++)    if (script_for_lang->scripts[j] == script)      return TRUE;  return FALSE;}/** * pango_script_get_sample_language: * @script: a #PangoScript * * Given a script, finds a language tag that is reasonably * representative of that script. This will usually be the * most widely spoken or used language written in that script: * for instance, the sample language for %PANGO_SCRIPT_CYRILLIC * is <literal>ru</literal> (Russian), the sample language * for %PANGO_SCRIPT_ARABIC is <literal>ar</literal>. * * For some * scripts, no sample language will be returned because there * is no language that is sufficiently representative. The best * example of this is %PANGO_SCRIPT_HAN, where various different * variants of written Chinese, Japanese, and Korean all use * significantly different sets of Han characters and forms * of shared characters. No sample language can be provided * for many historical scripts as well. * * Return value: a #PangoLanguage that is representative * of the script, or %NULL if no such language exists. * * Since: 1.4 **/PangoLanguage *pango_script_get_sample_language (PangoScript script){  /* Note that in the following, we want   * pango_language_includes_script() for the sample language   * to include the script, so alternate orthographies   * (Shavian for English, Osmanya for Somali, etc), typically   * have no sample language   */  const char sample_languages[][4] = {    "",    /* PANGO_SCRIPT_COMMON */    "",    /* PANGO_SCRIPT_INHERITED */    "ar",  /* PANGO_SCRIPT_ARABIC */    "hy",  /* PANGO_SCRIPT_ARMENIAN */    "bn",  /* PANGO_SCRIPT_BENGALI */    /* Used primarily in Taiwan, but not part of the standard     * zh-tw orthography  */    "",    /* PANGO_SCRIPT_BOPOMOFO */    "chr", /* PANGO_SCRIPT_CHEROKEE */    "cop", /* PANGO_SCRIPT_COPTIC */    "ru",  /* PANGO_SCRIPT_CYRILLIC */    /* Deseret was used to write English */    "",    /* PANGO_SCRIPT_DESERET */    "hi",  /* PANGO_SCRIPT_DEVANAGARI */    "am",  /* PANGO_SCRIPT_ETHIOPIC */    "ka",  /* PANGO_SCRIPT_GEORGIAN */    "",    /* PANGO_SCRIPT_GOTHIC */    "el",  /* PANGO_SCRIPT_GREEK */    "gu",  /* PANGO_SCRIPT_GUJARATI */    "pa",  /* PANGO_SCRIPT_GURMUKHI */    "",    /* PANGO_SCRIPT_HAN */    "ko",  /* PANGO_SCRIPT_HANGUL */    "he",  /* PANGO_SCRIPT_HEBREW */    "ja",  /* PANGO_SCRIPT_HIRAGANA */    "kn",  /* PANGO_SCRIPT_KANNADA */    "ja",  /* PANGO_SCRIPT_KATAKANA */    "km",  /* PANGO_SCRIPT_KHMER */    "lo",  /* PANGO_SCRIPT_LAO */    "en",  /* PANGO_SCRIPT_LATIN */    "ml",  /* PANGO_SCRIPT_MALAYALAM */    "mn",  /* PANGO_SCRIPT_MONGOLIAN */    "my",  /* PANGO_SCRIPT_MYANMAR */    /* Ogham was used to write old Irish */    "",    /* PANGO_SCRIPT_OGHAM */    "",    /* PANGO_SCRIPT_OLD_ITALIC */    "or",  /* PANGO_SCRIPT_ORIYA */    "",    /* PANGO_SCRIPT_RUNIC */    "si",  /* PANGO_SCRIPT_SINHALA */    "syr", /* PANGO_SCRIPT_SYRIAC */    "ta",  /* PANGO_SCRIPT_TAMIL */    "te",  /* PANGO_SCRIPT_TELUGU */    "dv",  /* PANGO_SCRIPT_THAANA */    "th",  /* PANGO_SCRIPT_THAI */    "bo",  /* PANGO_SCRIPT_TIBETAN */    "iu",  /* PANGO_SCRIPT_CANADIAN_ABORIGINAL */    "",    /* PANGO_SCRIPT_YI */    "tl",  /* PANGO_SCRIPT_TAGALOG */    /* There are no ISO-636 language codes for the following     * Phillipino languages/scripts */    "",    /* PANGO_SCRIPT_HANUNOO */    "",    /* PANGO_SCRIPT_BUHID */    "",    /* PANGO_SCRIPT_TAGBANWA */    "",    /* PANGO_SCRIPT_BRAILLE */    "",    /* PANGO_SCRIPT_CYPRIOT */    "",    /* PANGO_SCRIPT_LIMBU */    /* Used for Somali (so) in the past */    "",    /* PANGO_SCRIPT_OSMANYA */    /* The Shavian alphabet was designed for English */    "",    /* PANGO_SCRIPT_SHAVIAN */    "",    /* PANGO_SCRIPT_LINEAR_B */    "",    /* PANGO_SCRIPT_TAI_LE */    "uga", /* PANGO_SCRIPT_UGARITIC */    "",    /* PANGO_SCRIPT_NEW_TAI_LUE */    "bug", /* PANGO_SCRIPT_BUGINESE */    /* The original script for Old Church Slavonic (chu), later     * written with Cyrillic */    "",    /* PANGO_SCRIPT_GLAGOLITIC */    /* Used for for Berber (ber), but Arabic script is more common */    "",    /* PANGO_SCRIPT_TIFINAGH */    /* Syloti Nagri is used for Sylheti, no ISO 639 code */    "",    /* PANGO_SCRIPT_SYLOTI_NAGRI */    "peo", /* PANGO_SCRIPT_OLD_PERSIAN */    "",    /* PANGO_SCRIPT_KHAROSHTHI */    "",    /* PANGO_SCRIPT_UNKNOWN */    "",    /* PANGO_SCRIPT_BALINESE */    "",    /* PANGO_SCRIPT_CUNEIFORM */    "",    /* PANGO_SCRIPT_PHOENICIAN */    "",    /* PANGO_SCRIPT_PHAGS_PA */    "nqo"  /* PANGO_SCRIPT_NKO */  };  const char *sample_language;  g_return_val_if_fail (script >= 0, NULL);  g_return_val_if_fail ((guint)script < G_N_ELEMENTS (sample_languages), NULL);  sample_language = sample_languages[script];  if (!sample_language[0])    return NULL;  else    return pango_language_from_string (sample_language);}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
中文字幕一区二区三区四区不卡| 久久久亚洲午夜电影| 日韩欧美国产不卡| 欧美xxxxx裸体时装秀| 91精品一区二区三区久久久久久| 色综合中文字幕国产 | 99久久精品免费看国产免费软件| 成人精品视频一区| jlzzjlzz欧美大全| 91成人免费电影| 欧美日韩国产成人在线91| 欧美成人乱码一区二区三区| 精品国产乱子伦一区| ww久久中文字幕| 亚洲色图欧美在线| 日日欢夜夜爽一区| 国产经典欧美精品| 欧美在线观看视频一区二区| 精品视频免费在线| 国产精品传媒在线| 久久精品国产一区二区三区免费看| 高清在线观看日韩| 欧美日韩国产三级| 国产日韩欧美亚洲| 一级特黄大欧美久久久| 日韩av一区二区在线影视| 国产精品影视在线| 欧美午夜精品一区二区蜜桃| 中文一区一区三区高中清不卡| 亚洲高清免费在线| 国产乱人伦偷精品视频免下载| 欧美久久一二区| 亚洲另类在线一区| 国产美女av一区二区三区| 欧美日韩在线免费视频| 亚洲日韩欧美一区二区在线| 国产精品一二三四| 欧美一区二区美女| 日韩精品一卡二卡三卡四卡无卡| 一本色道**综合亚洲精品蜜桃冫| 亚洲国产精品99久久久久久久久| 日韩精品一级中文字幕精品视频免费观看 | 在线观看视频一区| 一区二区三区在线播| 欧美中文一区二区三区| 亚洲三级视频在线观看| 成人av在线资源| 成人免费视频在线观看| 成人av网站大全| 亚洲婷婷国产精品电影人久久| 国产成人免费视频精品含羞草妖精| 日韩精品一区二区三区中文不卡 | 91丨九色丨黑人外教| 亚洲欧美影音先锋| 色诱视频网站一区| 免费欧美高清视频| 成人黄色小视频在线观看| 综合久久给合久久狠狠狠97色 | 欧美色网站导航| 午夜日韩在线电影| 日韩一区二区中文字幕| 国产精品一区三区| 国产精品美女久久久久久久网站| 在线观看成人小视频| 国产自产视频一区二区三区| 国产精品蜜臀在线观看| 日韩一级高清毛片| www.欧美色图| 一区二区三区四区蜜桃| 精品欧美久久久| 色伊人久久综合中文字幕| 国产成人8x视频一区二区| 日韩高清在线不卡| 亚洲国产婷婷综合在线精品| 国产午夜精品理论片a级大结局 | 亚洲国产成人私人影院tom| 欧美久久久久久久久中文字幕| 婷婷中文字幕综合| 亚洲精品视频在线观看网站| 欧美成人女星排名| 色综合久久久久| 精东粉嫩av免费一区二区三区| 久久99在线观看| 国产亲近乱来精品视频| 678五月天丁香亚洲综合网| 色婷婷综合激情| 欧美亚洲动漫精品| 色老综合老女人久久久| 色网站国产精品| 欧美无砖专区一中文字| 欧美喷潮久久久xxxxx| 欧美美女黄视频| 精品国产一区二区亚洲人成毛片| 欧美精品久久久久久久多人混战 | 日韩电影一区二区三区| 五月婷婷综合网| 极品瑜伽女神91| 成人小视频在线观看| 色综合久久综合| 欧美精品日日鲁夜夜添| 精品盗摄一区二区三区| 国产精品天天看| 亚洲综合久久久久| 免费的成人av| 不卡区在线中文字幕| 欧美精品v国产精品v日韩精品| 久久亚洲一区二区三区明星换脸| 国产精品国产三级国产普通话99| 亚洲一级在线观看| 精品亚洲porn| 欧美日韩高清在线| 国产精品久久久久精k8| 亚洲bt欧美bt精品777| 懂色一区二区三区免费观看 | 亚洲综合激情小说| 欧美日韩综合不卡| 91精品中文字幕一区二区三区| √…a在线天堂一区| 欧美午夜宅男影院| 男男gaygay亚洲| 欧美国产国产综合| 91久久国产综合久久| 亚洲欧洲日产国产综合网| 在线观看日韩电影| 精品一区二区三区日韩| 专区另类欧美日韩| 91精品国产综合久久久久久| 久久66热re国产| 亚洲天堂中文字幕| 欧美videos大乳护士334| 99国产精品久久| 蜜桃91丨九色丨蝌蚪91桃色| 国产精品久久99| 亚洲123区在线观看| 麻豆精品一区二区av白丝在线| 欧美一区二区视频在线观看2020 | 九九精品视频在线看| 精品欧美一区二区久久| 国产精品一区二区x88av| 专区另类欧美日韩| 欧美成人一区二区| 97精品久久久午夜一区二区三区 | 欧美日韩一区二区三区在线看| 一区二区三区资源| 日韩欧美国产小视频| 国产iv一区二区三区| 亚洲综合色网站| 欧美国产欧美综合| 欧美在线高清视频| 国产精品夜夜嗨| 一区二区三区四区精品在线视频| 欧美精品高清视频| 国产ts人妖一区二区| 日韩国产欧美视频| 国产精品麻豆一区二区 | 中文字幕一区在线观看| 欧美欧美欧美欧美| 色综合久久久久综合体桃花网| 美腿丝袜在线亚洲一区| 亚洲在线一区二区三区| 久久色.com| 欧美网站大全在线观看| 午夜成人在线视频| 欧美日韩你懂的| 乱一区二区av| 欧美国产乱子伦| 91在线国内视频| 国产电影一区在线| 亚洲愉拍自拍另类高清精品| 日韩一级黄色片| 欧美日韩一区二区三区免费看| 极品少妇一区二区| 久久不见久久见免费视频1| 日韩二区三区在线观看| 亚洲午夜成aⅴ人片| 一区二区三区色| 一区二区三区精品视频在线| 亚洲免费av观看| 一区二区三区四区在线| 午夜精品一区二区三区三上悠亚| 亚洲女性喷水在线观看一区| 自拍偷拍国产精品| 一二三区精品福利视频| 亚洲精品少妇30p| 日本不卡的三区四区五区| 麻豆一区二区在线| 粉嫩在线一区二区三区视频| aaa国产一区| 欧美日本一区二区三区四区| 91精品国产丝袜白色高跟鞋| 久久在线观看免费| 亚洲精品视频在线| 蜜臀久久99精品久久久画质超高清| 久久 天天综合| 91香蕉视频在线| 欧美精品一区二区三区蜜臀| 中文字幕精品一区二区精品绿巨人| 一区二区三区丝袜| 国产精品中文字幕日韩精品| 色综合咪咪久久|