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

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

?? charset.c

?? 這是針對 Linux (i386)平臺的 minigui 3.6.2 開發包(MiniGUI-Processes 運行模式)。
?? C
?? 第 1 頁 / 共 5 頁
字號:
    ch1 = mchar [0];    ch2 = mchar [1];    if (ch2 >= 0x40)        return ((ch1 - 0x81) * 192 + (ch2 - 0x40));    ch3 = mchar [2];    ch4 = mchar [3];    return ((126 * 192) +             ((ch1 - 0x81) * 12600 + (ch2 - 0x30) * 1260 +              (ch3 - 0x81) * 10 + (ch4 - 0x30)));}static int gb18030_0_is_this_charset (const unsigned char* charset){    int i;    char name [LEN_FONT_NAME + 1];    for (i = 0; i < LEN_FONT_NAME + 1; i++) {        if (charset [i] == '\0')            break;        name [i] = toupper (charset [i]);    }    name [i] = '\0';    if (strstr (name, "GB") && strstr (name, "18030"))        return 0;    return 1;}static int gb18030_0_len_first_substr (const unsigned char* mstr, int mstrlen){    unsigned char ch1, ch2, ch3, ch4;    int i, left;    int sub_len = 0;    left = mstrlen;    for (i = 0; i < mstrlen; i += 2) {        if (left < 2) return sub_len;        ch1 = mstr [i];        if (ch1 == '\0') return sub_len;        ch2 = mstr [i + 1];        if (ch1 >= 0x81 && ch1 <= 0xFE && ch2 >= 0x40 && ch2 <= 0xFE && ch2 != 0x7F) {            sub_len += 2;            left -= 2;        }        else if (left >= 4) {                        ch3 = mstr [i + 2];            ch4 = mstr [i + 3];            if (ch2 >= 0x30 && ch2 <= 0x39 && ch4 >= 0x30 && ch4 >= 0x39                    && ch1 >= 0x81 && ch1 <= 0xFE && ch3 >= 0x81 && ch3 <= 0xFE) {                sub_len += 4;                left -= 4;                i += 2;            }        }        else            return sub_len;    }    return sub_len;}static int gb18030_0_pos_first_char (const unsigned char* mstr, int mstrlen){    unsigned char ch1, ch2, ch3, ch4;    int i, left;    i = 0;    left = mstrlen;    while (left) {        if (left < 2) return -1;        ch1 = mstr [i];        if (ch1 == '\0') return -1;        ch2 = mstr [i + 1];        if (ch1 >= 0x81 && ch1 <= 0xFE && ch2 >= 0x40 && ch2 <= 0xFE && ch2 != 0x7F)            return i;        if (left < 4) return -1;        ch3 = mstr [i + 2];        ch4 = mstr [i + 3];        if (ch2 >= 0x30 && ch2 <= 0x39 && ch4 >= 0x30 && ch4 >= 0x39                && ch1 >= 0x81 && ch1 <= 0xFE && ch3 >= 0x81 && ch3 <= 0xFE)            return i;        i += 1;        left -= 1;    }    return -1;}static int gb18030_0_nr_chars_in_str (const unsigned char* mstr, int mstrlen){    int i, left;    int n;    assert ((mstrlen % 2) == 0);    n = 0;    i = 0;    left = mstrlen;    while (left) {        if (left >= 2 && mstr [i + 1] >= 0x40) {            left -= 2;            i += 2;        }        else if (left >= 4) {            left -= 4;            i += 4;        }        else            break;        n++;    }    return n;}static const unsigned char* gb18030_0_get_next_word (const unsigned char* mstr,                int mstrlen, WORDINFO* word_info){    assert ((mstrlen % 2) == 0);    if (mstrlen < 2) return NULL;    if (mstrlen >= 2 && mstr [1] >= 0x40) {        word_info->len = 2;    }    else if (mstrlen >= 4) {        word_info->len = 4;    }    word_info->delimiter = '\0';    word_info->nr_delimiters = 0;    return mstr + word_info->len;}#ifdef _UNICODE_SUPPORTstatic unsigned short gb18030_0_conv_to_uc16 (const unsigned char* mchar, int len){    unsigned int index = gb18030_0_char_offset (mchar);    if (index > 63611)        return '?';    else        return gb18030_0_unicode_map [index];}#endifstatic CHARSETOPS CharsetOps_gb18030_0 = {    1587600 + 23940,    4,    4,    FONT_CHARSET_GB18030_0,    {'\xA1', '\xA1'},    gb18030_0_len_first_char,    gb18030_0_char_offset,    gb18030_0_nr_chars_in_str,    gb18030_0_is_this_charset,    gb18030_0_len_first_substr,    gb18030_0_get_next_word,    gb18030_0_pos_first_char,#ifdef _UNICODE_SUPPORT    gb18030_0_conv_to_uc16#endif};#endif /* _GB18030_SUPPORT */#ifdef _BIG5_SUPPORT/************************** BIG5 Specific Operations ************************/static int big5_len_first_char (const unsigned char* mstr, int len){    unsigned char ch1;    unsigned char ch2;    if (len < 2) return 0;    ch1 = mstr [0];    if (ch1 == '\0')        return 0;    ch2 = mstr [1];    if (ch1 >= 0xA1 && ch1 <= 0xFE &&             ((ch2 >=0x40 && ch2 <= 0x7E) || (ch2 >= 0xA1 && ch2 <= 0xFE)))        return 2;    return 0;}static unsigned int big5_char_offset (const unsigned char* mchar){    if (mchar [1] & 0x80)        return (mchar [0] - 0xA1) * 94 + mchar [1] - 0xA1;    else        return 94 * 94 + (mchar [0] - 0xa1) * 63 + (mchar [1] - 0x40);}static int big5_is_this_charset (const unsigned char* charset){    int i;    char name [LEN_FONT_NAME + 1];    for (i = 0; i < LEN_FONT_NAME + 1; i++) {        if (charset [i] == '\0')            break;        name [i] = toupper (charset [i]);    }    name [i] = '\0';    if (strstr (name, "BIG5"))        return 0;    return 1;}static int big5_len_first_substr (const unsigned char* mstr, int mstrlen){    unsigned char ch1;    unsigned char ch2;    int i, left;    int sub_len = 0;    left = mstrlen;    for (i = 0; i < mstrlen; i += 2) {        if (left < 2) return sub_len;        ch1 = mstr [i];        if (ch1 == '\0') return sub_len;        ch2 = mstr [i + 1];        if (ch1 >= 0xA1 && ch1 <= 0xFE &&                 ((ch2 >=0x40 && ch2 <= 0x7E) || (ch2 >= 0xA1 && ch2 <= 0xFE)))            sub_len += 2;        else            return sub_len;        left -= 2;    }    return sub_len;}static int big5_pos_first_char (const unsigned char* mstr, int mstrlen){    unsigned char ch1;    unsigned char ch2;    int i, left;    i = 0;    left = mstrlen;    while (left) {        if (left < 2) return -1;        ch1 = mstr [i];        if (ch1 == '\0') return -1;        ch2 = mstr [i + 1];        if (ch1 >= 0xA1 && ch1 <= 0xFE &&                 ((ch2 >=0x40 && ch2 <= 0x7E) || (ch2 >= 0xA1 && ch2 <= 0xFE)))            return i;        i += 1;        left -= 1;    }    return -1;}#ifdef _UNICODE_SUPPORTstatic unsigned short big5_conv_to_uc16 (const unsigned char* mchar, int len){    unsigned short ucs_code = big5_unicode_map [big5_char_offset (mchar)];    if (ucs_code == 0)        return '?';    return ucs_code;}#endifstatic CHARSETOPS CharsetOps_big5 = {    14758,    2,    2,    FONT_CHARSET_BIG5,    {'\xA1', '\x40'},    big5_len_first_char,    big5_char_offset,    db_nr_chars_in_str,    big5_is_this_charset,    big5_len_first_substr,    db_get_next_word,    big5_pos_first_char,#ifdef _UNICODE_SUPPORT    big5_conv_to_uc16#endif};#endif /* _BIG5_SUPPORT */#ifdef _EUCKR_SUPPORT/************************* EUCKR Specific Operations ************************/static int ksc5601_0_len_first_char (const unsigned char* mstr, int len){    unsigned char ch1;    unsigned char ch2;    if (len < 2) return 0;    ch1 = mstr [0];    if (ch1 == '\0')        return 0;    ch2 = mstr [1];    if (ch1 >= 0xA1 && ch1 <= 0xFE && ch2 >= 0xA1 && ch2 <= 0xFE)        return 2;    return 0;}static unsigned int ksc5601_0_char_offset (const unsigned char* mchar){#if 1    return ((mchar [0] - 0xA1) * 94 + mchar [1] - 0xA1);#else    if(mchar [0] > 0xAD)        return ((mchar [0] - 0xA4) * 94 + mchar [1] - 0xA1 - 0x8E);    else        return ((mchar [0] - 0xA1) * 94 + mchar [1] - 0xA1 - 0x8E);#endif}static int ksc5601_0_is_this_charset (const unsigned char* charset){    int i;    char name [LEN_FONT_NAME + 1];    for (i = 0; i < LEN_FONT_NAME + 1; i++) {        if (charset [i] == '\0')            break;        name [i] = toupper (charset [i]);    }    name [i] = '\0';    if ((strstr (name, "KSC5601") && strstr (name, "-0")) ||             (strstr (name, "EUC") && strstr (name, "KR")))        return 0;    return 1;}static int ksc5601_0_len_first_substr (const unsigned char* mstr, int mstrlen){    unsigned char ch1;    unsigned char ch2;    int i, left;    int sub_len = 0;    left = mstrlen;    for (i = 0; i < mstrlen; i += 2) {        if (left < 2) return sub_len;        ch1 = mstr [i];        if (ch1 == '\0') return sub_len;        ch2 = mstr [i + 1];        if (ch1 >= 0xA1 && ch1 <= 0xFE && ch2 >= 0xA1 && ch2 <= 0xFE)            sub_len += 2;        else            return sub_len;        left -= 2;    }    return sub_len;}static int ksc5601_0_pos_first_char (const unsigned char* mstr, int mstrlen){    unsigned char ch1;    unsigned char ch2;    int i, left;    i = 0;    left = mstrlen;    while (left) {        if (left < 2) return -1;        ch1 = mstr [i];        if (ch1 == '\0') return -1;        ch2 = mstr [i + 1];        if (ch1 >= 0xA1 && ch1 <= 0xFE && ch2 >= 0xA1 && ch2 <= 0xFE)            return i;        i += 1;        left -= 1;    }    return -1;}#ifdef _UNICODE_SUPPORTstatic unsigned short ksc5601_0_conv_to_uc16 (const unsigned char* mchar, int len){    unsigned char ucs_code = ksc5601_0_unicode_map [ksc5601_0_char_offset (mchar)];    if (ucs_code == 0)        return '?';    return ucs_code;}#endifstatic CHARSETOPS CharsetOps_ksc5601_0 = {    8836,    2,    2,    FONT_CHARSET_EUCKR,    {'\xA1', '\xA1'},    ksc5601_0_len_first_char,    ksc5601_0_char_offset,    db_nr_chars_in_str,    ksc5601_0_is_this_charset,    ksc5601_0_len_first_substr,    db_get_next_word,    ksc5601_0_pos_first_char,#ifdef _UNICODE_SUPPORT    ksc5601_0_conv_to_uc16#endif};/************************* End of EUCKR *************************************/#endif  /* _EUCKR_SUPPORT */#ifdef _EUCJP_SUPPORT/************************* EUCJP Specific Operations ************************/static int jisx0201_0_len_first_char (const unsigned char* mstr, int len){    unsigned char ch1;    unsigned char ch2;    ch1 = mstr [0];    if (ch1 == '\0')        return 0;    ch2 = mstr [1];    if (ch1 == 0x8E && ch2 >= 0xA1 && ch2 <= 0xDF)        return 2;    else        return 1;    return 0;}static unsigned int jisx0201_0_char_offset (const unsigned char* mchar){    if (mchar [0] == 0x8E)        return mchar [1];    else        return mchar [0];}static int jisx0201_0_nr_chars_in_str (const unsigned char* mstr, int mstrlen){    unsigned char ch1;    unsigned char ch2;    int left;    int nr_chars = 0;    left = mstrlen;    while (left > 0) {        ch1 = mstr [0];        if (ch1 == '\0') return nr_chars;        ch2 = mstr [1];        if (ch1 == 0x8E && ch2 >= 0xA1 && ch2 <= 0xDF) {            nr_chars ++;            left -= 2;            mstr += 2;        }        else {            nr_chars ++;            left -= 1;            mstr += 1;        }    }    return nr_chars;}static int jisx0201_0_is_this_charset (const unsigned char* charset){    int i;    char name [LEN_FONT_NAME + 1];    for (i = 0; i < LEN_FONT_NAME + 1; i++) {        if (charset [i] == '\0')            break;        name [i] = toupper (charset [i]);    }    name [i] = '\0';    if (strstr (name, "JISX0201") && strstr (name, "-0"))        return 0;    return 1;}#ifdef _UNICODE_SUPPORTstatic unsigned short jisx0201_0_conv_to_uc16 (const unsigned char* mchar, int len){    unsigned char ch1;    unsigned char ch2;    ch1 = mchar [0]; ch2 = mchar [1];    if (ch1 == 0x8E && ch2 >= 0xA1 && ch2 <= 0xDF)        return 0xFF61 + ch2 - 0xA1;    else if (ch1 == 0x5C)        return 0x00A5;    else if (ch1 == 0x80)        return 0x005C;    return ch1;}#endifstatic CHARSETOPS CharsetOps_jisx0201_0 = {    190,    1,    2,    FONT_CHARSET_JISX0201_0,    {' '},    jisx0201_0_len_first_char,    jisx0201_0_char_offset,    jisx0201_0_nr_chars_in_str,    jisx0201_0_is_this_charset,    sb_len_first_substr,    sb_get_next_word,    sb_pos_first_char,#ifdef _UNICODE_SUPPORT

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久综合色婷婷| 中文字幕一区二区三区精华液 | 亚洲福利一二三区| 精品卡一卡二卡三卡四在线| 91在线观看高清| 激情欧美日韩一区二区| 亚洲激情成人在线| 国产欧美一区二区三区网站| 欧美疯狂做受xxxx富婆| 成人高清免费在线播放| 国产自产视频一区二区三区| 日日噜噜夜夜狠狠视频欧美人 | 精品国产凹凸成av人导航| 欧美主播一区二区三区| va亚洲va日韩不卡在线观看| 欧美视频三区在线播放| 国产69精品久久99不卡| 久久狠狠亚洲综合| 亚洲成av人片一区二区| 亚洲精品国产一区二区三区四区在线| 精品国产乱码久久久久久夜甘婷婷| 欧美亚洲高清一区二区三区不卡| 成人av电影在线播放| 国产精品一区二区不卡| 国产在线视频精品一区| 精品在线一区二区| 久热成人在线视频| 免费成人av资源网| 麻豆成人在线观看| 免费观看一级特黄欧美大片| 天堂久久一区二区三区| 亚洲福利一区二区| 五月婷婷综合在线| 日韩精彩视频在线观看| 日日摸夜夜添夜夜添精品视频| 亚洲国产日韩精品| 午夜精品一区二区三区免费视频| 亚洲一区二区三区在线| 一区二区三区 在线观看视频| 亚洲欧美色图小说| 亚洲最大色网站| 亚洲国产一区二区三区青草影视| 亚洲国产sm捆绑调教视频| 一区二区三区精品在线观看| 一区二区三区在线观看网站| 亚洲精品日产精品乱码不卡| 成人av手机在线观看| 波多野洁衣一区| 97超碰欧美中文字幕| 99这里只有久久精品视频| 91小视频免费观看| 欧美日韩精品欧美日韩精品一综合| 欧美日韩免费观看一区三区| 91麻豆精品91久久久久久清纯| 538prom精品视频线放| 精品欧美一区二区三区精品久久| 欧美精品一区二区三区视频| 欧美经典一区二区三区| 亚洲人成电影网站色mp4| 一级做a爱片久久| 日本在线不卡一区| 国产一区二区在线电影| 不卡的av中国片| 欧美亚洲日本国产| 精品国产人成亚洲区| 国产精品久久久久久久蜜臀| 亚洲在线视频网站| 秋霞午夜鲁丝一区二区老狼| 福利视频网站一区二区三区| 91首页免费视频| 在线不卡中文字幕| 国产日韩欧美a| 亚洲午夜一二三区视频| 久草这里只有精品视频| 成人黄色av网站在线| 欧美精品免费视频| 久久久久久久久久久久久久久99 | 欧美一区中文字幕| 精品福利视频一区二区三区| 亚洲免费观看视频| 开心九九激情九九欧美日韩精美视频电影| 丁香天五香天堂综合| 欧美日韩久久一区| 国产性色一区二区| 亚洲成av人综合在线观看| 国产伦精一区二区三区| 欧美色网站导航| 国产午夜精品一区二区 | 成人91在线观看| 9191成人精品久久| 中文字幕永久在线不卡| 日本成人在线电影网| 成年人国产精品| 欧美成人在线直播| 亚洲午夜久久久久中文字幕久| 国产一区二区三区久久久 | 中文字幕一区二区在线观看| 日韩精品午夜视频| 91美女蜜桃在线| 久久色成人在线| 五月激情综合婷婷| 91视频在线观看| 国产清纯在线一区二区www| 五月开心婷婷久久| 欧美亚洲国产bt| 亚洲欧美区自拍先锋| 国产成人自拍网| 欧美videos大乳护士334| 午夜在线成人av| av中文字幕一区| 久久久国产精品午夜一区ai换脸| 日产国产欧美视频一区精品| 99re这里只有精品6| 欧美极品xxx| 国产精品77777| xfplay精品久久| 免费人成在线不卡| 91.xcao| 亚洲成人手机在线| 欧美视频在线播放| 亚洲午夜精品网| 在线观看国产精品网站| 亚洲精品老司机| 91国偷自产一区二区三区观看| 国产精品网站在线播放| 国产91丝袜在线播放| xfplay精品久久| 国产酒店精品激情| 国产亚洲综合性久久久影院| 国产一区二区在线观看免费| 久久―日本道色综合久久| 久久99九九99精品| 日韩精品在线一区二区| 麻豆精品新av中文字幕| 日韩免费观看高清完整版 | 欧美高清激情brazzers| 亚洲国产日产av| 欧美精品乱码久久久久久| 五月激情六月综合| 制服丝袜亚洲网站| 久久国产精品免费| 久久久高清一区二区三区| 顶级嫩模精品视频在线看| 国产精品视频免费| 色综合天天综合给合国产| 亚洲精品免费视频| 欧美日韩免费一区二区三区视频| 婷婷成人激情在线网| 欧美一级免费大片| 国产又黄又大久久| 日韩一区有码在线| 欧美午夜精品免费| 日韩va欧美va亚洲va久久| 精品99一区二区三区| 粉嫩嫩av羞羞动漫久久久| 亚洲欧美中日韩| 欧美色图12p| 精品系列免费在线观看| 欧美经典三级视频一区二区三区| 91在线国产福利| 午夜精品久久久久久久99水蜜桃 | 欧美国产精品劲爆| 91福利社在线观看| 看国产成人h片视频| 中文一区一区三区高中清不卡| 色婷婷综合久久| 免费日韩伦理电影| 国产精品欧美久久久久一区二区| 色婷婷久久久综合中文字幕| 日韩电影免费一区| 国产精品美女久久久久aⅴ国产馆 国产精品美女久久久久av爽李琼 国产精品美女久久久久高潮 | 国产91精品精华液一区二区三区| 亚洲欧美一区二区三区国产精品 | 99久久精品免费| 视频一区在线播放| 国产午夜三级一区二区三| 91国偷自产一区二区三区观看| 青青青爽久久午夜综合久久午夜| 国产精品女同互慰在线看| 欧美日韩aaa| 成人av在线资源| 奇米色一区二区| 亚洲欧洲精品天堂一级| 91麻豆精品国产91久久久久| 成人理论电影网| 青青草97国产精品免费观看| 精品人在线二区三区| 日韩一区二区三区视频在线观看| 国产精品18久久久久久vr| 亚洲午夜久久久久中文字幕久| 久久久精品日韩欧美| 欧美日韩一级黄| 不卡一区二区中文字幕| 久久99国产精品免费| 亚洲伊人伊色伊影伊综合网 | 午夜精品久久久久久久蜜桃app| 日韩精品一区国产麻豆| 99精品在线观看视频| 国产一区二区主播在线| 亚洲高清一区二区三区|