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

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

?? fontname.c

?? 這是針對 Linux (i386)平臺的 minigui 3.6.2 開發(fā)包(MiniGUI-Processes 運行模式)。
?? C
字號:
/*** $Id: fontname.c,v 1.14 2005/02/03 05:00:44 snig Exp $** ** fontname.c: Font name parser.**** Copyright (C) 2003 Feynman Software.** Copyright (C) 2000 ~ 2002 Wei Yongming.**** Current maintainer: Wei Yongming.** ** Created by Wei Yongming, 2000/07/11*//*** This program is free software; you can redistribute it and/or modify** it under the terms of the GNU General Public License as published by** the Free Software Foundation; either version 2 of the License, or** (at your option) any later version.**** This program 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 General Public License for more details.**** You should have received a copy of the GNU General Public License** along with this program; if not, write to the Free Software** Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA*/#include <stdio.h>#include <stdlib.h>#include <string.h>#include "common.h"#include "minigui.h"#include "gdi.h"#include "fontname.h"/*  * Font name format: * type-family-style-width-height-charset-encoding1[,encoding2,...] */#define NR_LOOP_FOR_STYLE   2#define NR_LOOP_FOR_WIDTH   3#define NR_LOOP_FOR_HEIGHT  4#define NR_LOOP_FOR_CHARSET 5int fontConvertFontType (const char* type){    if (strcasecmp (type, FONT_TYPE_NAME_BITMAP_RAW) == 0)        return FONT_TYPE_BITMAP_RAW;    if (strcasecmp (type, FONT_TYPE_NAME_BITMAP_VAR) == 0)        return FONT_TYPE_BITMAP_VAR;    if (strcasecmp (type, FONT_TYPE_NAME_SCALE_TTF) == 0)        return FONT_TYPE_SCALE_TTF;    if (strcasecmp (type, FONT_TYPE_NAME_SCALE_T1F) == 0)        return FONT_TYPE_SCALE_T1F;    if (strcasecmp (type, FONT_TYPE_NAME_ALL) == 0)        return FONT_TYPE_ALL;    return -1;}BOOL fontGetTypeNameFromName (const char* name, char* type){    int i = 0;    while (name [i]) {        if (name [i] == '-') {            type [i] = '\0';            break;        }        type [i] = name [i];        i++;    }    if (name [i] == '\0')        return FALSE;    return TRUE;}int fontGetFontTypeFromName (const char* name){    char type [LEN_FONT_NAME + 1];    if (!fontGetTypeNameFromName (name, type))        return -1;    return fontConvertFontType (type);}BOOL fontGetFamilyFromName (const char* name, char* family){    int i = 0;    const char* family_part;    if ((family_part = strchr (name, '-')) == NULL)        return FALSE;    if (*(++family_part) == '\0')        return FALSE;    while (family_part [i] && i <= LEN_FONT_NAME) {        if (family_part [i] == '-') {            family [i] = '\0';            break;        }        family [i] = family_part [i];        i++;    }    return TRUE;}DWORD fontConvertStyle (const char* style_part){    DWORD style = 0;    switch (style_part [0]) {    case FONT_WEIGHT_BLACK:        style |= FS_WEIGHT_BLACK;        break;    case FONT_WEIGHT_BOLD:        style |= FS_WEIGHT_BOLD;        break;    case FONT_WEIGHT_BOOK:        style |= FS_WEIGHT_BOOK;        break;    case FONT_WEIGHT_DEMIBOLD:        style |= FS_WEIGHT_DEMIBOLD;        break;    case FONT_WEIGHT_LIGHT:        style |= FS_WEIGHT_LIGHT;        break;    case FONT_WEIGHT_MEDIUM:        style |= FS_WEIGHT_MEDIUM;        break;    case FONT_WEIGHT_REGULAR:        style |= FS_WEIGHT_REGULAR;        break;    case FONT_WEIGHT_ALL:        style |= FS_WEIGHT_MASK;    default:        return 0xFFFFFFFF;    }    switch (style_part [1]) {    case FONT_SLANT_ITALIC:        style |= FS_SLANT_ITALIC;        break;    case FONT_SLANT_OBLIQUE:        style |= FS_SLANT_OBLIQUE;        break;    case FONT_SLANT_ROMAN:        style |= FS_SLANT_ROMAN;        break;    case FONT_SLANT_ALL:        style |= FS_SLANT_MASK;        break;    default:        return 0xFFFFFFFF;    }    switch (style_part [2]) {    case FONT_SETWIDTH_BOLD:        style |= FS_SETWIDTH_BOLD;        break;    case FONT_SETWIDTH_CONDENSED:        style |= FS_SETWIDTH_CONDENSED;        break;    case FONT_SETWIDTH_SEMICONDENSED:        style |= FS_SETWIDTH_SEMICONDENSED;        break;    case FONT_SETWIDTH_NORMAL:        style |= FS_SETWIDTH_NORMAL;        break;    case FONT_SETWIDTH_ALL:        style |= FS_SETWIDTH_MASK;        break;    default:        return 0xFFFFFFFF;    }    switch (style_part [3]) {    case FONT_SPACING_MONOSPACING:        style |= FS_SPACING_MONOSPACING;        break;    case FONT_SPACING_PROPORTIONAL:        style |= FS_SPACING_PROPORTIONAL;        break;    case FONT_SPACING_CHARCELL:        style |= FS_SPACING_CHARCELL;        break;    case FONT_SPACING_ALL:        style |= FS_SPACING_MASK;        break;    default:        return 0xFFFFFFFF;    }    switch (style_part [4]) {    case FONT_UNDERLINE_LINE:        style |= FS_UNDERLINE_LINE;        break;    case FONT_UNDERLINE_ALL:        style |= FS_UNDERLINE_MASK;        break;    case FONT_UNDERLINE_NONE:        style &= ~FS_UNDERLINE_MASK;        break;    default:        return 0xFFFFFFFF;    }    switch (style_part [5]) {    case FONT_STRUCKOUT_LINE:        style |= FS_STRUCKOUT_LINE;        break;    case FONT_STRUCKOUT_ALL:        style |= FS_STRUCKOUT_MASK;        break;    case FONT_STRUCKOUT_NONE:        style &= ~FS_STRUCKOUT_MASK;        break;    default:        return 0xFFFFFFFF;    }    return style;}DWORD fontGetStyleFromName (const char* name){    int i;    const char* style_part = name;    char style_name[7];    for (i = 0; i < NR_LOOP_FOR_STYLE; i++) {        if ((style_part = strchr (style_part, '-')) == NULL)            return 0xFFFFFFFF;        if (*(++style_part) == '\0')            return 0xFFFFFFFF;    }    strncpy (style_name, style_part, 6);    style_name[6] = '\0';    return fontConvertStyle (style_name);}int fontGetWidthFromName (const char* name){    int i;    const char* width_part = name;    char width [LEN_FONT_NAME + 1];    for (i = 0; i < NR_LOOP_FOR_WIDTH; i++) {        if ((width_part = strchr (width_part, '-')) == NULL)            return -1;        if (*(++width_part) == '\0')            return -1;    }    i = 0;    while (width_part [i]) {        if (width_part [i] == '-') {            width [i] = '\0';            break;        }        width [i] = width_part [i];        i++;    }    if (width_part [i] == '\0')        return -1;    return atoi (width);}int fontGetHeightFromName (const char* name){    int i;    const char* height_part = name;    char height [LEN_FONT_NAME + 1];    for (i = 0; i < NR_LOOP_FOR_HEIGHT; i++) {        if ((height_part = strchr (height_part, '-')) == NULL)            return -1;        if (*(++height_part) == '\0')            return -1;    }    i = 0;    while (height_part [i]) {        if (height_part [i] == '-') {            height [i] = '\0';            break;        }        height [i] = height_part [i];        i++;    }    if (height_part [i] == '\0')        return -1;    return atoi (height);}BOOL fontGetCharsetFromName (const char* name, char* charset){    int i;    char* delim;    const char* charset_part = name;    for (i = 0; i < NR_LOOP_FOR_CHARSET; i++) {        if ((charset_part = strchr (charset_part, '-')) == NULL)            return FALSE;        if (*(++charset_part) == '\0')            return FALSE;#if 0        fprintf (stderr, "%s\n", charset_part);#endif    }    if ((delim = strchr (charset_part, ','))) {        int len;        len = delim - charset_part;        strncpy (charset, charset_part, len);        charset [len] = '\0';        return TRUE;    }    strncpy (charset, charset_part, LEN_FONT_NAME);    charset [LEN_FONT_NAME] = '\0';    return TRUE;}BOOL fontGetCompatibleCharsetFromName (const char* name, char* charset){    int i;    const char* charset_part = name;    for (i = 0; i < NR_LOOP_FOR_CHARSET; i++) {        if ((charset_part = strchr (charset_part, '-')) == NULL)            return FALSE;        if (*(++charset_part) == '\0')            return FALSE;#if 0        fprintf (stderr, "%s\n", charset_part);#endif    }    if ((charset_part = strchr (charset_part, ',')) == NULL)        return FALSE;    if (*(++charset_part) == '\0')        return FALSE;    strncpy (charset, charset_part, LEN_FONT_NAME);    charset [LEN_FONT_NAME] = '\0';    return TRUE;}BOOL fontGetCharsetPartFromName (const char* name, char* charset){    int i;    const char* charset_part = name;    for (i = 0; i < NR_LOOP_FOR_CHARSET; i++) {        if ((charset_part = strchr (charset_part, '-')) == NULL)            return FALSE;        if (*(++charset_part) == '\0')            return FALSE;    }    strncpy (charset, charset_part, LEN_DEVFONT_NAME);    charset [LEN_DEVFONT_NAME] = '\0';    return TRUE;}int charsetGetCharsetsNumber (const char* charsets){    int n = 1;    while (1) {        if ((charsets = strchr (charsets, ',')) == NULL)            break;        charsets ++;        n ++;    }    return n;}BOOL charsetGetSpecificCharset (const char* charsets, int index, char* charset){    int i;    char* delim;    for (i = 0; i < index && charsets; i++) {        charsets = strchr (charsets, ',');        if (charsets)            charsets ++;    }    if (charsets == NULL)        return FALSE;    if ((delim = strchr (charsets, ','))) {        int len;        len = delim - charsets;        strncpy (charset, charsets, len);        charset [len] = '\0';        return TRUE;    }    strncpy (charset, charsets, LEN_FONT_NAME);    charset [LEN_FONT_NAME] = '\0';    return TRUE;}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩电影网1区2区| 3751色影院一区二区三区| 久久人人爽人人爽| 狠狠色伊人亚洲综合成人| 欧美精品一区视频| 成人免费高清在线观看| 最新热久久免费视频| 色婷婷综合久久久| 亚洲五月六月丁香激情| 欧美一卡二卡在线| 国产成人综合亚洲网站| 亚洲欧美视频一区| 欧美日韩在线亚洲一区蜜芽| 日韩激情视频网站| 精品国产乱码久久久久久老虎| 国产不卡免费视频| 亚洲激情自拍偷拍| 欧美一区二区黄| 高清不卡一二三区| 亚洲电影激情视频网站| 2017欧美狠狠色| 色综合久久66| 蜜桃精品视频在线| 国产精品国产三级国产普通话蜜臀 | 7777精品伊人久久久大香线蕉的 | 日韩在线卡一卡二| 日韩美女一区二区三区四区| 国产mv日韩mv欧美| 亚洲国产精品久久不卡毛片| 欧美大白屁股肥臀xxxxxx| 国产成人午夜视频| 亚洲h在线观看| 久久久99精品免费观看| 色婷婷久久久久swag精品| 三级欧美韩日大片在线看| 欧美激情一区二区三区蜜桃视频| 欧美亚洲动漫精品| 国产成人h网站| 日本最新不卡在线| 亚洲欧美一区二区不卡| 日韩精品一区二区三区在线| 色综合色狠狠综合色| 国精产品一区一区三区mba桃花| 亚洲综合丁香婷婷六月香| 久久欧美中文字幕| 欧美一区二区精品在线| 欧美午夜视频网站| www.成人在线| 国产suv精品一区二区6| 精品一区二区三区欧美| 亚洲va韩国va欧美va精品| 亚洲视频在线一区二区| 日本一区二区成人在线| 精品国产伦理网| 91精品国产综合久久福利| 欧亚洲嫩模精品一区三区| 成人永久免费视频| 国产风韵犹存在线视精品| 久久精品国产一区二区| 日韩av不卡一区二区| 亚洲18影院在线观看| 亚洲精品菠萝久久久久久久| 国产精品第13页| 久久久精品免费网站| 精品毛片乱码1区2区3区| 欧美高清视频不卡网| 在线一区二区三区四区五区| 成人激情动漫在线观看| 国产91精品一区二区| 国产精品1024| 国产精一品亚洲二区在线视频| 麻豆精品国产传媒mv男同| 青青草精品视频| 日本不卡1234视频| 免费观看久久久4p| 免费观看在线色综合| 久久国产三级精品| 韩国av一区二区三区四区| 久久99精品久久久久久久久久久久 | 欧美日韩久久久久久| 欧美亚洲国产怡红院影院| 日本精品视频一区二区三区| 在线免费精品视频| 在线观看视频一区二区| 欧美日产在线观看| 91精品午夜视频| 日韩一级大片在线| www激情久久| 久久九九久久九九| 中文字幕av不卡| 亚洲乱码精品一二三四区日韩在线| 国产精品护士白丝一区av| 亚洲精品视频自拍| 亚洲国产精品一区二区久久恐怖片| 亚洲成人av电影| 美腿丝袜在线亚洲一区| 国产精品一区二区久久精品爱涩| 国产99久久久精品| 色综合天天综合在线视频| 欧美三级电影精品| 精品区一区二区| 中文欧美字幕免费| 亚洲国产一区二区在线播放| 久久精品国产一区二区三| 国产69精品久久99不卡| 色94色欧美sute亚洲13| 欧美一级精品大片| 国产精品午夜春色av| 午夜精品久久一牛影视| 国产综合久久久久久鬼色| 99久久99精品久久久久久 | 美女性感视频久久| 国产成人亚洲精品青草天美| 欧洲一区二区三区在线| 精品国偷自产国产一区| 亚洲三级在线观看| 免费国产亚洲视频| 色94色欧美sute亚洲线路二| 日韩一区和二区| 日韩码欧中文字| 日本大胆欧美人术艺术动态 | 亚洲中国最大av网站| 麻豆成人综合网| 色综合久久中文综合久久97| 91精品国产综合久久久蜜臀粉嫩| 欧美激情一区三区| 奇米一区二区三区| 91在线精品一区二区| 亚洲精品一线二线三线| 玉足女爽爽91| 国产91丝袜在线18| 日韩一区二区免费在线电影 | 国产亚洲一区二区三区| 亚洲国产乱码最新视频| 不卡的看片网站| 久久影院电视剧免费观看| 午夜一区二区三区在线观看| 北条麻妃一区二区三区| 2019国产精品| 日本在线不卡视频一二三区| 色视频欧美一区二区三区| 国产亚洲va综合人人澡精品| 人人狠狠综合久久亚洲| 91影视在线播放| 国产色婷婷亚洲99精品小说| 捆绑变态av一区二区三区| 欧美日韩一区二区欧美激情| 日韩美女视频一区| 国产麻豆91精品| 日韩欧美在线123| 日日摸夜夜添夜夜添国产精品| 色88888久久久久久影院野外| 中文字幕精品在线不卡| 国产综合成人久久大片91| 欧美大片一区二区| 免费观看日韩电影| 日韩一区二区免费在线观看| 午夜电影网一区| 欧洲日韩一区二区三区| 一个色综合av| 欧美专区在线观看一区| 亚洲精品美国一| 欧美综合亚洲图片综合区| 亚洲色图自拍偷拍美腿丝袜制服诱惑麻豆 | 亚洲影视资源网| 色香色香欲天天天影视综合网| 亚洲欧洲三级电影| 色综合天天综合网国产成人综合天| 国产精品免费视频一区| 不卡av在线网| 最新高清无码专区| 91美女在线看| 亚洲一级不卡视频| 欧美日韩国产高清一区二区 | 一区二区三区中文在线观看| 91原创在线视频| 亚洲精品国久久99热| 欧美性大战久久久久久久蜜臀| 亚洲成人综合在线| 8x福利精品第一导航| 久久99精品久久久久久动态图| 久久欧美中文字幕| 成人av免费在线观看| 一区二区三区精品| 制服丝袜在线91| 国产真实乱子伦精品视频| 国产欧美日本一区二区三区| 972aa.com艺术欧美| 午夜国产不卡在线观看视频| 精品人在线二区三区| 成人精品一区二区三区四区 | 国产精品麻豆网站| 91久久精品一区二区三| 日本午夜精品一区二区三区电影| 精品国产乱码久久久久久免费| 懂色av一区二区三区免费看| 亚洲一区二区三区国产| 欧美r级电影在线观看| 不卡的av在线| 日本午夜精品一区二区三区电影|