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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? varbitmap.c

?? 這是針對 Linux (i386)平臺的 minigui 3.6.2 開發(fā)包(MiniGUI-Processes 運(yùn)行模式)。
?? C
?? 第 1 頁 / 共 2 頁
字號:
    for (i = 0; i < NR_VBFONTS; i++) {        if ((incore_vbf_dev_font [i].charset_ops                 = vbfGetCharsetOps (incore_vbfonts [i])) == NULL) {            fprintf (stderr,                 "GDI: Not supported charset for var-bitmap font %s.\n",                incore_vbfonts[i]->name);            free (incore_vbf_dev_font);            return FALSE;        }        strncpy (incore_vbf_dev_font [i].name, incore_vbfonts [i]->name, LEN_DEVFONT_NAME);        incore_vbf_dev_font [i].name [LEN_DEVFONT_NAME] = '\0';        incore_vbf_dev_font [i].font_ops = &var_bitmap_font_ops;        incore_vbf_dev_font [i].data     = incore_vbfonts [i];    }    for (i = 0; i < NR_VBFONTS; i++)        AddSBDevFont (incore_vbf_dev_font + i);    return TRUE;}void TermIncoreVBFonts (void){    free (incore_vbf_dev_font);    incore_vbf_dev_font = NULL;}#ifndef _INCORE_RES/********************** Load/Unload of var bitmap font ***********************/static BOOL LoadVarBitmapFont (const char* file, VBFINFO* info){#ifdef HAVE_MMAP    int fd;#else    FILE* fp;#endif    char* temp = NULL;    int len_header, len_offsets, len_widths, len_bits, len_bboxs = 0;    int font_size;    char version[LEN_VERSION_INFO + 1];#ifdef HAVE_MMAP    if ((fd = open (file, O_RDONLY)) < 0)        return FALSE;    if (read (fd, version, LEN_VERSION_INFO) == -1)        goto error;    version[LEN_VERSION_INFO] = '\0';    if (!strcmp (version, VBF_VERSION2))        info->version = 2;    else    {        info->version = 1;        if (strcmp (version, VBF_VERSION))            fprintf (stderr, "Error on loading vbf: %s, version: %s, invalid version.\n", file, version);    }    if (read (fd, &len_header, sizeof (int)) == -1)        goto error;#if MGUI_BYTEORDER == MGUI_BIG_ENDIAN    len_header = ArchSwap32 (len_header);#endif    if (read (fd, &info->max_width, sizeof (char) * 2) == -1) goto error;    if (read (fd, &info->height, sizeof (int) * 2) == -1) goto error;#if MGUI_BYTEORDER == MGUI_BIG_ENDIAN    info->height = ArchSwap32 (info->height);    info->descent = ArchSwap32 (info->descent);#endif    if (read (fd, &info->first_char, sizeof (char) * 3) == -1) goto error;    if (lseek (fd, len_header - (((info->version == 2)?5:4) * sizeof (int)), SEEK_SET) == -1)        goto error;    if (read (fd, &len_offsets, sizeof (int)) == -1            || read (fd, &len_widths, sizeof (int)) == -1            || (info->version == 2 && read (fd, &len_bboxs, sizeof (int)) == -1)            || read (fd, &len_bits, sizeof (int)) == -1            || read (fd, &font_size, sizeof (int)) == -1)        goto error;#if MGUI_BYTEORDER == MGUI_BIG_ENDIAN    len_offsets = ArchSwap32 (len_offsets);    len_widths = ArchSwap32 (len_widths);    if (info->version == 2)        len_bboxs = ArchSwap32 (len_bboxs);    len_bits = ArchSwap32 (len_bits);    font_size = ArchSwap32 (font_size);#endif    if ((temp = mmap (NULL, font_size, PROT_READ, MAP_SHARED,             fd, 0)) == MAP_FAILED)        goto error;    temp += len_header;    close (fd);#else    // Open font file and read information of font.    if (!(fp = fopen (file, "rb")))        return FALSE;    if (fread (version, sizeof (char), LEN_VERSION_INFO, fp) < LEN_VERSION_INFO)        goto error;    version [LEN_VERSION_INFO] = '\0';     if (!strcmp (version, VBF_VERSION2))        info->version = 2;    else    {        info->version = 1;        if (strcmp (version, VBF_VERSION))            fprintf (stderr, "Error on loading vbf: %s, version: %s, invalid version.\n", file, version);    }    if (fread (&len_header, sizeof (int), 1, fp) < 1)        goto error;#if MGUI_BYTEORDER == MGUI_BIG_ENDIAN    len_header = ArchSwap32 (len_header);#endif    if (fread (&info->max_width, sizeof (char), 2, fp) < 2) goto error;    if (fread (&info->height, sizeof (int), 2, fp) < 2) goto error;#if MGUI_BYTEORDER == MGUI_BIG_ENDIAN    info->height = ArchSwap32 (info->height);    info->descent = ArchSwap32 (info->descent);#endif    if (fread (&info->first_char, sizeof (char), 3, fp) < 3) goto error;    if (fseek (fp, len_header - (((info->version == 2)?5:4)*sizeof (int)), SEEK_SET) != 0)            goto error;    if (fread (&len_offsets, sizeof (int), 1, fp) < 1            || fread (&len_widths, sizeof (int), 1, fp) < 1            || (info->version == 2 && fread (&len_bboxs, sizeof (int), 1, fp) < 1)            || fread (&len_bits, sizeof (int), 1, fp) < 1            || fread (&font_size, sizeof (int), 1, fp) < 1)        goto error;#if MGUI_BYTEORDER == MGUI_BIG_ENDIAN    len_offsets = ArchSwap32 (len_offsets);    len_widths = ArchSwap32 (len_widths);    if (info->version == 2)        len_bboxs = ArchSwap32 (len_bboxs);    len_bits = ArchSwap32 (len_bits);    font_size = ArchSwap32 (font_size);#endif    // Allocate memory for font data.    font_size -= len_header;    if ((temp = (char *)malloc (font_size)) == NULL)        goto error;    if (fseek (fp, len_header, SEEK_SET) != 0)        goto error;    if (fread (temp, sizeof (char), font_size, fp) < font_size)        goto error;    fclose (fp);#endif    info->name = temp;    info->offset = (unsigned short*) (temp + LEN_DEVFONT_NAME + 1);    info->width = (unsigned char*) (temp + LEN_DEVFONT_NAME + 1 + len_offsets);    if (info->version == 2)    {        info->bbox_x = (int*) (temp + LEN_DEVFONT_NAME + 1 + len_offsets + len_widths);        info->bbox_y = (int*) (temp + LEN_DEVFONT_NAME + 1 + len_offsets + len_widths + len_bboxs);        info->bbox_w = (int*) (temp + LEN_DEVFONT_NAME + 1 + len_offsets + len_widths + 2*len_bboxs);        info->bbox_h = (int*) (temp + LEN_DEVFONT_NAME + 1 + len_offsets + len_widths + 3*len_bboxs);        info->bits = (unsigned char*) (temp + LEN_DEVFONT_NAME + 1 + len_offsets + len_widths + 4*len_bboxs);    }    else        info->bits = (unsigned char*) (temp + LEN_DEVFONT_NAME + 1 + len_offsets + len_widths);    info->font_size = font_size;#if 0    fprintf (stderr, "VBF: %s-%dx%d-%d (%d~%d:%d).\n",             info->name, info->max_width, info->height, info->descent,            info->first_char, info->last_char, info->def_char);#endif    return TRUE;error:#ifdef HAVE_MMAP    if (temp)        munmap (temp, font_size);    close (fd);#else    free (temp);    fclose (fp);#endif        return FALSE;}static void UnloadVarBitmapFont (VBFINFO* info){#ifdef HAVE_MMAP    if (info->name)        munmap ((void*)(info->name), info->font_size);#else    free ((void*)info->name);#endif}/******************** Init/Term of var bitmap font in file *******************/static int nr_fonts;static VBFINFO* file_vbf_infos;static DEVFONT* file_vbf_dev_fonts;#define SECTION_NAME    "varbitmapfonts"BOOL InitVarBitmapFonts (void){    int i;    char font_name [LEN_DEVFONT_NAME + 1];    if (GetMgEtcIntValue (SECTION_NAME, "font_number",                            &nr_fonts) < 0 )        return FALSE;    if ( nr_fonts < 1) return TRUE;    file_vbf_infos = calloc (nr_fonts, sizeof (VBFINFO));    file_vbf_dev_fonts = calloc (nr_fonts, sizeof (DEVFONT));    if (file_vbf_infos == NULL || file_vbf_dev_fonts == NULL) {        free (file_vbf_infos);        free (file_vbf_dev_fonts);        return FALSE;    }    for (i = 0; i < nr_fonts; i++)        file_vbf_infos [i].name = NULL;    for (i = 0; i < nr_fonts; i++) {        char key [11];        char charset [LEN_FONT_NAME + 1];        char file [MAX_PATH + 1];        CHARSETOPS* charset_ops;        sprintf (key, "name%d", i);        if (GetMgEtcValue (SECTION_NAME, key,                            font_name, LEN_DEVFONT_NAME) < 0 )            goto error_load;        if (!fontGetCharsetFromName (font_name, charset)) {            fprintf (stderr, "GDI: Invalid font name (charset): %s.\n",                     font_name);            goto error_load;        }        if ((charset_ops = GetCharsetOps (charset)) == NULL) {            fprintf (stderr, "GDI: Not supported charset: %s.\n", charset);            goto error_load;        }        sprintf (key, "fontfile%d", i);        if (GetMgEtcValue (SECTION_NAME, key,                            file, MAX_PATH) < 0)            goto error_load;        if (!LoadVarBitmapFont (file, file_vbf_infos + i))            goto error_load;        strncpy (file_vbf_dev_fonts[i].name, font_name, LEN_DEVFONT_NAME);        file_vbf_dev_fonts[i].name [LEN_DEVFONT_NAME] = '\0';        file_vbf_dev_fonts[i].font_ops = &var_bitmap_font_ops;        file_vbf_dev_fonts[i].charset_ops = charset_ops;        file_vbf_dev_fonts[i].data = file_vbf_infos + i;#if 0        fprintf (stderr, "GDI: VBFDevFont %i: %s.\n", i, file_vbf_dev_fonts[i].name);#endif    }    for (i = 0; i < nr_fonts; i++) {        if (file_vbf_dev_fonts [i].charset_ops->bytes_maxlen_char > 1)            AddMBDevFont (file_vbf_dev_fonts + i);        else            AddSBDevFont (file_vbf_dev_fonts + i);    }    return TRUE;error_load:    fprintf (stderr, "GDI: Error in loading vbf fonts!\n");    for (i = 0; i < nr_fonts; i++)        UnloadVarBitmapFont (file_vbf_infos + i);        free (file_vbf_infos);    free (file_vbf_dev_fonts);    file_vbf_infos = NULL;    file_vbf_dev_fonts = NULL;    return FALSE;}void TermVarBitmapFonts (void){    int i;    for (i = 0; i < nr_fonts; i++)        UnloadVarBitmapFont (file_vbf_infos + i);        free (file_vbf_infos);    free (file_vbf_dev_fonts);    file_vbf_infos = NULL;    file_vbf_dev_fonts = NULL;}#endif /* _INCORE_RES */#endif /* _VBF_SUPPORT */

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91美女蜜桃在线| 国产精品一区在线| 欧美精品在线一区二区三区| 视频一区二区三区在线| 欧美一区二区三区在线视频 | 777奇米四色成人影色区| 不卡av电影在线播放| 国产精品乱码一区二三区小蝌蚪| 91在线porny国产在线看| 亚洲伊人色欲综合网| 7777精品伊人久久久大香线蕉| 久久成人av少妇免费| 欧美国产一区在线| 精品影院一区二区久久久| 日韩欧美亚洲一区二区| 国产乱理伦片在线观看夜一区| 亚洲午夜久久久久久久久久久| 成人性色生活片| 亚洲美女电影在线| 国产精品日韩成人| 国产偷v国产偷v亚洲高清| 欧美成人一级视频| 一区二区激情小说| 亚洲三级理论片| 中文字幕一区二区三区不卡在线 | 欧美v国产在线一区二区三区| 精品视频123区在线观看| 一本大道久久a久久精品综合| av在线不卡免费看| 丁香六月综合激情| 国产成人精品1024| 成人久久视频在线观看| 国产91精品入口| 国产乱码精品一区二区三区av | 不卡的av电影| 成人av在线播放网站| 不卡一区二区三区四区| 成人午夜av在线| 92精品国产成人观看免费| 99久久婷婷国产综合精品 | 91丨porny丨蝌蚪视频| 99久久精品国产导航| 91香蕉视频黄| 91成人免费电影| 欧美三级日本三级少妇99| 欧美精品在欧美一区二区少妇| 欧美绝品在线观看成人午夜影视 | 国产精品乱码一区二区三区软件| 中文字幕av资源一区| 中文字幕一区二| 亚洲欧美成人一区二区三区| 亚洲已满18点击进入久久| 日日噜噜夜夜狠狠视频欧美人| 欧美aaaaaa午夜精品| 韩国精品免费视频| av一区二区三区在线| 欧美午夜一区二区三区免费大片| 7777精品伊人久久久大香线蕉超级流畅| 欧美一区二区三区在| www久久久久| 亚洲色图一区二区三区| 亚洲成av人片在线观看| 精品一区二区三区免费| 99视频一区二区| 欧美色大人视频| 久久婷婷久久一区二区三区| 亚洲视频中文字幕| 日韩av电影天堂| 成人性生交大片| 欧美日韩国产片| 久久精品亚洲麻豆av一区二区| 亚洲欧美日韩在线| 免费在线看成人av| 99久久久国产精品| 欧美一区二区在线看| 国产精品嫩草影院av蜜臀| 午夜精品成人在线| 国产大片一区二区| 在线免费观看成人短视频| 精品国产伦理网| 亚洲少妇最新在线视频| 久久国产剧场电影| 色妞www精品视频| 2023国产精品| 亚洲一区二区3| 国产成人午夜精品影院观看视频 | 欧美性色综合网| 欧美精品一区二区三区四区| 一区二区三区在线免费| 精品系列免费在线观看| 在线欧美日韩精品| 国产日韩欧美激情| 奇米影视在线99精品| 91丝袜美女网| 久久久电影一区二区三区| 午夜精品影院在线观看| av高清久久久| 日本伊人精品一区二区三区观看方式| 不卡电影一区二区三区| 日韩免费视频线观看| 亚洲一区二区三区影院| 成人免费视频网站在线观看| 欧美大片顶级少妇| 日日摸夜夜添夜夜添国产精品| 不卡av电影在线播放| 久久久亚洲午夜电影| 午夜精品久久久久久| 99精品国产91久久久久久| 久久久久久综合| 日韩高清在线一区| 欧美日韩中字一区| 亚洲免费资源在线播放| heyzo一本久久综合| 26uuu另类欧美亚洲曰本| 日本成人在线不卡视频| 91黄色激情网站| 亚洲丝袜自拍清纯另类| gogo大胆日本视频一区| 国产日韩在线不卡| 国产高清一区日本| 精品欧美一区二区在线观看 | 精品一区二区三区视频| 678五月天丁香亚洲综合网| 亚洲一区二区三区四区五区黄| 99国产精品久久久| 国产精品看片你懂得| 福利视频网站一区二区三区| 国产日韩欧美一区二区三区乱码| 麻豆91在线看| 精品日韩在线观看| 韩国女主播一区二区三区| 精品国产人成亚洲区| 久久精品国产亚洲aⅴ| 精品裸体舞一区二区三区| 免费精品视频在线| 精品日韩一区二区| 国产伦精品一区二区三区视频青涩| 精品处破学生在线二十三| 激情综合网最新| 国产欧美日韩在线视频| 粉嫩高潮美女一区二区三区| 国产精品视频看| 91一区二区三区在线观看| 亚洲一区成人在线| 欧美日韩成人一区| 天天色 色综合| 欧美电视剧在线观看完整版| 国产麻豆精品95视频| 欧美激情在线一区二区三区| 99久久伊人精品| 亚洲精品免费播放| 欧美人妖巨大在线| 韩国欧美一区二区| 国产精品麻豆网站| 欧美日韩亚洲综合一区二区三区| 视频一区视频二区中文字幕| 精品国产髙清在线看国产毛片 | 99久久99久久免费精品蜜臀| 亚洲欧美日韩久久精品| 欧美日韩和欧美的一区二区| 蜜臀av性久久久久蜜臀aⅴ| 精品精品欲导航| heyzo一本久久综合| 香蕉影视欧美成人| 久久美女艺术照精彩视频福利播放 | 在线观看一区日韩| 久久黄色级2电影| 中文字幕一区二区三区在线观看 | 久久综合九色综合97婷婷女人| www.久久精品| 亚洲va欧美va国产va天堂影院| 精品伦理精品一区| 99re热视频这里只精品| 日韩二区在线观看| 中文字幕日韩av资源站| 欧美日韩的一区二区| 粉嫩欧美一区二区三区高清影视| 亚洲综合激情另类小说区| 26uuu精品一区二区三区四区在线| 一本色道**综合亚洲精品蜜桃冫| 秋霞午夜av一区二区三区| 国产精品人妖ts系列视频| 欧美精品1区2区3区| 国产福利91精品| 亚洲国产wwwccc36天堂| 国产欧美日韩另类视频免费观看| 日本道精品一区二区三区| 国产综合色视频| 亚洲成人精品一区| 亚洲欧洲国产专区| 精品国产乱码久久久久久影片| 欧美亚洲免费在线一区| 成人一级黄色片| 蜜臀av性久久久久蜜臀aⅴ| 一区二区三区日韩欧美| 久久久不卡网国产精品一区| 欧美一区二区三区小说| 在线观看日韩精品| 成人爱爱电影网址| 国产精品1024|