mirror of
https://github.com/VincentWei/MiniGUI.git
synced 2026-09-24 09:14:09 +08:00
tune length of devfont name fields; devfont now supports family aliases
This commit is contained in:
@@ -239,9 +239,9 @@ int GUIAPI GetFirstWord (PLOGFONT log_font, const char* mstr, int len,
|
||||
496 static int euckr_is_this_charset (const unsigned char* charset)
|
||||
497 {
|
||||
498 int i;
|
||||
499 char name [LEN_FONT_NAME + 1];
|
||||
499 char name [LEN_LOGFONT_NAME_FIELD + 1];
|
||||
500
|
||||
501 for (i = 0; i < LEN_FONT_NAME + 1; i++) {
|
||||
501 for (i = 0; i < LEN_LOGFONT_NAME_FIELD + 1; i++) {
|
||||
502 if (charset [i] == '\0')
|
||||
503 break;
|
||||
504 name [i] = toupper (charset [i]);
|
||||
@@ -388,9 +388,9 @@ int GUIAPI GetFirstWord (PLOGFONT log_font, const char* mstr, int len,
|
||||
|
||||
<table border="0" cellpadding="0" class="code-sample" width="100%"><tr><td> <pre>
|
||||
228 typedef struct _LOGFONT {
|
||||
229 char type [LEN_FONT_NAME + 1];
|
||||
230 char family [LEN_FONT_NAME + 1];
|
||||
231 char charset [LEN_FONT_NAME + 1];
|
||||
229 char type [LEN_LOGFONT_NAME_FIELD + 1];
|
||||
230 char family [LEN_LOGFONT_NAME_FIELD + 1];
|
||||
231 char charset [LEN_LOGFONT_NAME_FIELD + 1];
|
||||
232 DWORD style;
|
||||
233 int size;
|
||||
234 int rotation;
|
||||
|
||||
+17
-8
@@ -5456,9 +5456,9 @@ MG_EXPORT int GUIAPI SubtractRect (RECT* rc, const RECT* psrc1, const RECT* psrc
|
||||
*/
|
||||
|
||||
/* Font-related structures */
|
||||
#define LEN_FONT_NAME 31
|
||||
#define LEN_DEVFONT_NAME 79
|
||||
#define LEN_UNIDEVFONT_NAME 127
|
||||
#define LEN_LOGFONT_NAME_FIELD 31
|
||||
#define LEN_UNIDEVFONT_NAME 255
|
||||
#define LEN_DEVFONT_NAME LEN_UNIDEVFONT_NAME
|
||||
|
||||
#define FONT_WEIGHT_NIL '\0'
|
||||
#define FONT_WEIGHT_ALL '*'
|
||||
@@ -5728,11 +5728,11 @@ typedef struct _DEVFONT DEVFONT;
|
||||
/** The logical font structure. */
|
||||
typedef struct _LOGFONT {
|
||||
/** The type of the logical font. */
|
||||
char type [LEN_FONT_NAME + 1];
|
||||
char type [LEN_LOGFONT_NAME_FIELD + 1];
|
||||
/** The family name of the logical font. */
|
||||
char family [LEN_FONT_NAME + 1];
|
||||
char family [LEN_LOGFONT_NAME_FIELD + 1];
|
||||
/** The charset of the logical font. */
|
||||
char charset [LEN_FONT_NAME + 1];
|
||||
char charset [LEN_LOGFONT_NAME_FIELD + 1];
|
||||
/** The styles of the logical font. */
|
||||
DWORD style;
|
||||
/** The size of the logical font. */
|
||||
@@ -5888,11 +5888,20 @@ struct _CHARSETOPS;
|
||||
typedef struct _FONTOPS FONTOPS;
|
||||
typedef struct _CHARSETOPS CHARSETOPS;
|
||||
|
||||
/* charops fontops devont structure is here. */
|
||||
/* charops fontops devont structure is here. */
|
||||
/** The device font structure. */
|
||||
struct _DEVFONT
|
||||
{
|
||||
/** The device font name. */
|
||||
/**
|
||||
* The device font name.
|
||||
* The family name supports aliases since 3.4.0:
|
||||
*
|
||||
* <fonttype>-<family[,aliase]*>-<styles>-<width>-<height>-<charsets>
|
||||
*
|
||||
* for example:
|
||||
*
|
||||
* ttf-courier,monospace-rrncnn-8-16-ISO8859-1,UTF-8
|
||||
*/
|
||||
char name [LEN_UNIDEVFONT_NAME + 1];
|
||||
|
||||
/** The styles of the device font. */
|
||||
|
||||
@@ -469,7 +469,7 @@ DEVFONT *CreateBMPDevFont (const char *bmpfont_name, const BITMAP* glyph_bmp,
|
||||
{
|
||||
DEVFONT* bitmapfont_dev_font = NULL;
|
||||
CHARSETOPS* charset_ops;
|
||||
char charset[LEN_FONT_NAME + 1];
|
||||
char charset[LEN_LOGFONT_NAME_FIELD + 1];
|
||||
BMPFONTINFO *bmpfont_info;
|
||||
int offset;
|
||||
|
||||
|
||||
@@ -94,9 +94,9 @@ static const SHAPEINFO shape_info[SHAPENUMBER] = {
|
||||
static int iso8859_6_is_this_charset (const unsigned char* charset)
|
||||
{
|
||||
int i;
|
||||
char name [LEN_FONT_NAME + 1];
|
||||
char name [LEN_LOGFONT_NAME_FIELD + 1];
|
||||
|
||||
for (i = 0; i < LEN_FONT_NAME + 1; i++) {
|
||||
for (i = 0; i < LEN_LOGFONT_NAME_FIELD + 1; i++) {
|
||||
if (charset [i] == '\0')
|
||||
break;
|
||||
name [i] = toupper (charset [i]);
|
||||
|
||||
+56
-56
@@ -180,9 +180,9 @@ static const unsigned char* sb_get_next_word (const unsigned char* mstr,
|
||||
static int ascii_is_this_charset (const unsigned char* charset)
|
||||
{
|
||||
int i;
|
||||
char name [LEN_FONT_NAME + 1];
|
||||
char name [LEN_LOGFONT_NAME_FIELD + 1];
|
||||
|
||||
for (i = 0; i < LEN_FONT_NAME + 1; i++) {
|
||||
for (i = 0; i < LEN_LOGFONT_NAME_FIELD + 1; i++) {
|
||||
if (charset [i] == '\0')
|
||||
break;
|
||||
name [i] = toupper (charset [i]);
|
||||
@@ -242,10 +242,10 @@ static CHARSETOPS CharsetOps_ascii = {
|
||||
static int iso8859_1_is_this_charset (const unsigned char* charset)
|
||||
{
|
||||
int i;
|
||||
char name [LEN_FONT_NAME + 1];
|
||||
char name [LEN_LOGFONT_NAME_FIELD + 1];
|
||||
char* sub_enc;
|
||||
|
||||
for (i = 0; i < LEN_FONT_NAME + 1; i++) {
|
||||
for (i = 0; i < LEN_LOGFONT_NAME_FIELD + 1; i++) {
|
||||
if (charset [i] == '\0')
|
||||
break;
|
||||
name [i] = toupper (charset [i]);
|
||||
@@ -308,9 +308,9 @@ static CHARSETOPS CharsetOps_iso8859_1 = {
|
||||
static int iso8859_2_is_this_charset (const unsigned char* charset)
|
||||
{
|
||||
int i;
|
||||
char name [LEN_FONT_NAME + 1];
|
||||
char name [LEN_LOGFONT_NAME_FIELD + 1];
|
||||
|
||||
for (i = 0; i < LEN_FONT_NAME + 1; i++) {
|
||||
for (i = 0; i < LEN_LOGFONT_NAME_FIELD + 1; i++) {
|
||||
if (charset [i] == '\0')
|
||||
break;
|
||||
name [i] = toupper (charset [i]);
|
||||
@@ -422,9 +422,9 @@ static CHARSETOPS CharsetOps_iso8859_2 = {
|
||||
static int iso8859_3_is_this_charset (const unsigned char* charset)
|
||||
{
|
||||
int i;
|
||||
char name [LEN_FONT_NAME + 1];
|
||||
char name [LEN_LOGFONT_NAME_FIELD + 1];
|
||||
|
||||
for (i = 0; i < LEN_FONT_NAME + 1; i++) {
|
||||
for (i = 0; i < LEN_LOGFONT_NAME_FIELD + 1; i++) {
|
||||
if (charset [i] == '\0')
|
||||
break;
|
||||
name [i] = toupper (charset [i]);
|
||||
@@ -535,9 +535,9 @@ static CHARSETOPS CharsetOps_iso8859_3 = {
|
||||
static int iso8859_4_is_this_charset (const unsigned char* charset)
|
||||
{
|
||||
int i;
|
||||
char name [LEN_FONT_NAME + 1];
|
||||
char name [LEN_LOGFONT_NAME_FIELD + 1];
|
||||
|
||||
for (i = 0; i < LEN_FONT_NAME + 1; i++) {
|
||||
for (i = 0; i < LEN_LOGFONT_NAME_FIELD + 1; i++) {
|
||||
if (charset [i] == '\0')
|
||||
break;
|
||||
name [i] = toupper (charset [i]);
|
||||
@@ -650,9 +650,9 @@ static CHARSETOPS CharsetOps_iso8859_4 = {
|
||||
static int iso8859_5_is_this_charset (const unsigned char* charset)
|
||||
{
|
||||
int i;
|
||||
char name [LEN_FONT_NAME + 1];
|
||||
char name [LEN_LOGFONT_NAME_FIELD + 1];
|
||||
|
||||
for (i = 0; i < LEN_FONT_NAME + 1; i++) {
|
||||
for (i = 0; i < LEN_LOGFONT_NAME_FIELD + 1; i++) {
|
||||
if (charset [i] == '\0')
|
||||
break;
|
||||
name [i] = toupper (charset [i]);
|
||||
@@ -799,9 +799,9 @@ static BOOL get_mirror_glyph (const BIDICHAR_MIRROR_MAP* map, int n, Glyph32 gly
|
||||
static int iso8859_7_is_this_charset (const unsigned char* charset)
|
||||
{
|
||||
int i;
|
||||
char name [LEN_FONT_NAME + 1];
|
||||
char name [LEN_LOGFONT_NAME_FIELD + 1];
|
||||
|
||||
for (i = 0; i < LEN_FONT_NAME + 1; i++) {
|
||||
for (i = 0; i < LEN_LOGFONT_NAME_FIELD + 1; i++) {
|
||||
if (charset [i] == '\0')
|
||||
break;
|
||||
name [i] = toupper (charset [i]);
|
||||
@@ -901,9 +901,9 @@ static CHARSETOPS CharsetOps_iso8859_7 = {
|
||||
static int iso8859_8_is_this_charset (const unsigned char* charset)
|
||||
{
|
||||
int i;
|
||||
char name [LEN_FONT_NAME + 1];
|
||||
char name [LEN_LOGFONT_NAME_FIELD + 1];
|
||||
|
||||
for (i = 0; i < LEN_FONT_NAME + 1; i++) {
|
||||
for (i = 0; i < LEN_LOGFONT_NAME_FIELD + 1; i++) {
|
||||
if (charset [i] == '\0')
|
||||
break;
|
||||
name [i] = toupper (charset [i]);
|
||||
@@ -1170,9 +1170,9 @@ static CHARSETOPS CharsetOps_iso8859_8 = {
|
||||
static int iso8859_9_is_this_charset (const unsigned char* charset)
|
||||
{
|
||||
int i;
|
||||
char name [LEN_FONT_NAME + 1];
|
||||
char name [LEN_LOGFONT_NAME_FIELD + 1];
|
||||
|
||||
for (i = 0; i < LEN_FONT_NAME + 1; i++) {
|
||||
for (i = 0; i < LEN_LOGFONT_NAME_FIELD + 1; i++) {
|
||||
if (charset [i] == '\0')
|
||||
break;
|
||||
name [i] = toupper (charset [i]);
|
||||
@@ -1272,9 +1272,9 @@ static CHARSETOPS CharsetOps_iso8859_9 = {
|
||||
static int iso8859_10_is_this_charset (const unsigned char* charset)
|
||||
{
|
||||
int i;
|
||||
char name [LEN_FONT_NAME + 1];
|
||||
char name [LEN_LOGFONT_NAME_FIELD + 1];
|
||||
|
||||
for (i = 0; i < LEN_FONT_NAME + 1; i++) {
|
||||
for (i = 0; i < LEN_LOGFONT_NAME_FIELD + 1; i++) {
|
||||
if (charset [i] == '\0')
|
||||
break;
|
||||
name [i] = toupper (charset [i]);
|
||||
@@ -1386,9 +1386,9 @@ static CHARSETOPS CharsetOps_iso8859_10 = {
|
||||
static int iso8859_11_is_this_charset (const unsigned char* charset)
|
||||
{
|
||||
int i;
|
||||
char name [LEN_FONT_NAME + 1];
|
||||
char name [LEN_LOGFONT_NAME_FIELD + 1];
|
||||
|
||||
for (i = 0; i < LEN_FONT_NAME + 1; i++) {
|
||||
for (i = 0; i < LEN_LOGFONT_NAME_FIELD + 1; i++) {
|
||||
if (charset [i] == '\0')
|
||||
break;
|
||||
name [i] = toupper (charset [i]);
|
||||
@@ -1499,9 +1499,9 @@ static CHARSETOPS CharsetOps_iso8859_11 = {
|
||||
static int iso8859_13_is_this_charset (const unsigned char* charset)
|
||||
{
|
||||
int i;
|
||||
char name [LEN_FONT_NAME + 1];
|
||||
char name [LEN_LOGFONT_NAME_FIELD + 1];
|
||||
|
||||
for (i = 0; i < LEN_FONT_NAME + 1; i++) {
|
||||
for (i = 0; i < LEN_LOGFONT_NAME_FIELD + 1; i++) {
|
||||
if (charset [i] == '\0')
|
||||
break;
|
||||
name [i] = toupper (charset [i]);
|
||||
@@ -1612,9 +1612,9 @@ static CHARSETOPS CharsetOps_iso8859_13 = {
|
||||
static int iso8859_14_is_this_charset (const unsigned char* charset)
|
||||
{
|
||||
int i;
|
||||
char name [LEN_FONT_NAME + 1];
|
||||
char name [LEN_LOGFONT_NAME_FIELD + 1];
|
||||
|
||||
for (i = 0; i < LEN_FONT_NAME + 1; i++) {
|
||||
for (i = 0; i < LEN_LOGFONT_NAME_FIELD + 1; i++) {
|
||||
if (charset [i] == '\0')
|
||||
break;
|
||||
name [i] = toupper (charset [i]);
|
||||
@@ -1725,9 +1725,9 @@ static CHARSETOPS CharsetOps_iso8859_14 = {
|
||||
static int iso8859_15_is_this_charset (const unsigned char* charset)
|
||||
{
|
||||
int i;
|
||||
char name [LEN_FONT_NAME + 1];
|
||||
char name [LEN_LOGFONT_NAME_FIELD + 1];
|
||||
|
||||
for (i = 0; i < LEN_FONT_NAME + 1; i++) {
|
||||
for (i = 0; i < LEN_LOGFONT_NAME_FIELD + 1; i++) {
|
||||
if (charset [i] == '\0')
|
||||
break;
|
||||
name [i] = toupper (charset [i]);
|
||||
@@ -1836,9 +1836,9 @@ static CHARSETOPS CharsetOps_iso8859_15 = {
|
||||
static int iso8859_16_is_this_charset (const unsigned char* charset)
|
||||
{
|
||||
int i;
|
||||
char name [LEN_FONT_NAME + 1];
|
||||
char name [LEN_LOGFONT_NAME_FIELD + 1];
|
||||
|
||||
for (i = 0; i < LEN_FONT_NAME + 1; i++) {
|
||||
for (i = 0; i < LEN_LOGFONT_NAME_FIELD + 1; i++) {
|
||||
if (charset [i] == '\0')
|
||||
break;
|
||||
name [i] = toupper (charset [i]);
|
||||
@@ -2059,9 +2059,9 @@ static Glyph32 gb2312_0_char_glyph_value (const unsigned char* pre_mchar,
|
||||
static int gb2312_0_is_this_charset (const unsigned char* charset)
|
||||
{
|
||||
int i;
|
||||
char name [LEN_FONT_NAME + 1];
|
||||
char name [LEN_LOGFONT_NAME_FIELD + 1];
|
||||
|
||||
for (i = 0; i < LEN_FONT_NAME + 1; i++) {
|
||||
for (i = 0; i < LEN_LOGFONT_NAME_FIELD + 1; i++) {
|
||||
if (charset [i] == '\0')
|
||||
break;
|
||||
name [i] = toupper (charset [i]);
|
||||
@@ -2214,9 +2214,9 @@ static Glyph32 gbk_char_glyph_value (const unsigned char* pre_mchar, int pre_le
|
||||
static int gbk_is_this_charset (const unsigned char* charset)
|
||||
{
|
||||
int i;
|
||||
char name [LEN_FONT_NAME + 1];
|
||||
char name [LEN_LOGFONT_NAME_FIELD + 1];
|
||||
|
||||
for (i = 0; i < LEN_FONT_NAME + 1; i++) {
|
||||
for (i = 0; i < LEN_LOGFONT_NAME_FIELD + 1; i++) {
|
||||
if (charset [i] == '\0')
|
||||
break;
|
||||
name [i] = toupper (charset [i]);
|
||||
@@ -2390,9 +2390,9 @@ static Glyph32 gb18030_0_char_glyph_value (const unsigned char* pre_mchar,
|
||||
static int gb18030_0_is_this_charset (const unsigned char* charset)
|
||||
{
|
||||
int i;
|
||||
char name [LEN_FONT_NAME + 1];
|
||||
char name [LEN_LOGFONT_NAME_FIELD + 1];
|
||||
|
||||
for (i = 0; i < LEN_FONT_NAME + 1; i++) {
|
||||
for (i = 0; i < LEN_LOGFONT_NAME_FIELD + 1; i++) {
|
||||
if (charset [i] == '\0')
|
||||
break;
|
||||
name [i] = toupper (charset [i]);
|
||||
@@ -2638,9 +2638,9 @@ static Glyph32 big5_char_glyph_value (const unsigned char* pre_mchar, int pre_l
|
||||
static int big5_is_this_charset (const unsigned char* charset)
|
||||
{
|
||||
int i;
|
||||
char name [LEN_FONT_NAME + 1];
|
||||
char name [LEN_LOGFONT_NAME_FIELD + 1];
|
||||
|
||||
for (i = 0; i < LEN_FONT_NAME + 1; i++) {
|
||||
for (i = 0; i < LEN_LOGFONT_NAME_FIELD + 1; i++) {
|
||||
if (charset [i] == '\0')
|
||||
break;
|
||||
name [i] = toupper (charset [i]);
|
||||
@@ -2798,9 +2798,9 @@ static Glyph32 ksc5601_0_char_glyph_value (const unsigned char* pre_mchar,
|
||||
static int ksc5601_0_is_this_charset (const unsigned char* charset)
|
||||
{
|
||||
int i;
|
||||
char name [LEN_FONT_NAME + 1];
|
||||
char name [LEN_LOGFONT_NAME_FIELD + 1];
|
||||
|
||||
for (i = 0; i < LEN_FONT_NAME + 1; i++) {
|
||||
for (i = 0; i < LEN_LOGFONT_NAME_FIELD + 1; i++) {
|
||||
if (charset [i] == '\0')
|
||||
break;
|
||||
name [i] = toupper (charset [i]);
|
||||
@@ -2970,9 +2970,9 @@ static int jisx0201_0_nr_chars_in_str (const unsigned char* mstr, int mstrlen)
|
||||
static int jisx0201_0_is_this_charset (const unsigned char* charset)
|
||||
{
|
||||
int i;
|
||||
char name [LEN_FONT_NAME + 1];
|
||||
char name [LEN_LOGFONT_NAME_FIELD + 1];
|
||||
|
||||
for (i = 0; i < LEN_FONT_NAME + 1; i++) {
|
||||
for (i = 0; i < LEN_LOGFONT_NAME_FIELD + 1; i++) {
|
||||
if (charset [i] == '\0')
|
||||
break;
|
||||
name [i] = toupper (charset [i]);
|
||||
@@ -3065,9 +3065,9 @@ static Glyph32 jisx0208_0_char_glyph_value (const unsigned char* pre_mchar,
|
||||
static int jisx0208_0_is_this_charset (const unsigned char* charset)
|
||||
{
|
||||
int i;
|
||||
char name [LEN_FONT_NAME + 1];
|
||||
char name [LEN_LOGFONT_NAME_FIELD + 1];
|
||||
|
||||
for (i = 0; i < LEN_FONT_NAME + 1; i++) {
|
||||
for (i = 0; i < LEN_LOGFONT_NAME_FIELD + 1; i++) {
|
||||
if (charset [i] == '\0')
|
||||
break;
|
||||
name [i] = toupper (charset [i]);
|
||||
@@ -3183,9 +3183,9 @@ static CHARSETOPS CharsetOps_jisx0208_0 = {
|
||||
static int jisx0201_1_is_this_charset (const unsigned char* charset)
|
||||
{
|
||||
int i;
|
||||
char name [LEN_FONT_NAME + 1];
|
||||
char name [LEN_LOGFONT_NAME_FIELD + 1];
|
||||
|
||||
for (i = 0; i < LEN_FONT_NAME + 1; i++) {
|
||||
for (i = 0; i < LEN_LOGFONT_NAME_FIELD + 1; i++) {
|
||||
if (charset [i] == '\0')
|
||||
break;
|
||||
name [i] = toupper (charset [i]);
|
||||
@@ -3320,9 +3320,9 @@ static Glyph32 jisx0208_1_char_glyph_value (const unsigned char* pre_mchar,
|
||||
static int jisx0208_1_is_this_charset (const unsigned char* charset)
|
||||
{
|
||||
int i;
|
||||
char name [LEN_FONT_NAME + 1];
|
||||
char name [LEN_LOGFONT_NAME_FIELD + 1];
|
||||
|
||||
for (i = 0; i < LEN_FONT_NAME + 1; i++) {
|
||||
for (i = 0; i < LEN_LOGFONT_NAME_FIELD + 1; i++) {
|
||||
if (charset [i] == '\0')
|
||||
break;
|
||||
name [i] = toupper (charset [i]);
|
||||
@@ -3642,9 +3642,9 @@ static int utf8_nr_chars_in_str (const unsigned char* mstr, int mstrlen)
|
||||
static int utf8_is_this_charset (const unsigned char* charset)
|
||||
{
|
||||
int i;
|
||||
char name [LEN_FONT_NAME + 1];
|
||||
char name [LEN_LOGFONT_NAME_FIELD + 1];
|
||||
|
||||
for (i = 0; i < LEN_FONT_NAME + 1; i++) {
|
||||
for (i = 0; i < LEN_LOGFONT_NAME_FIELD + 1; i++) {
|
||||
if (charset [i] == '\0')
|
||||
break;
|
||||
name [i] = toupper (charset [i]);
|
||||
@@ -3892,9 +3892,9 @@ static int utf16le_nr_chars_in_str (const unsigned char* mstr, int mstrlen)
|
||||
static int utf16le_is_this_charset (const unsigned char* charset)
|
||||
{
|
||||
int i;
|
||||
char name [LEN_FONT_NAME + 1];
|
||||
char name [LEN_LOGFONT_NAME_FIELD + 1];
|
||||
|
||||
for (i = 0; i < LEN_FONT_NAME + 1; i++) {
|
||||
for (i = 0; i < LEN_LOGFONT_NAME_FIELD + 1; i++) {
|
||||
if (charset [i] == '\0')
|
||||
break;
|
||||
name [i] = toupper (charset [i]);
|
||||
@@ -4118,9 +4118,9 @@ static int utf16be_nr_chars_in_str (const unsigned char* mstr, int mstrlen)
|
||||
static int utf16be_is_this_charset (const unsigned char* charset)
|
||||
{
|
||||
int i;
|
||||
char name [LEN_FONT_NAME + 1];
|
||||
char name [LEN_LOGFONT_NAME_FIELD + 1];
|
||||
|
||||
for (i = 0; i < LEN_FONT_NAME + 1; i++) {
|
||||
for (i = 0; i < LEN_LOGFONT_NAME_FIELD + 1; i++) {
|
||||
if (charset [i] == '\0')
|
||||
break;
|
||||
name [i] = toupper (charset [i]);
|
||||
@@ -4375,9 +4375,9 @@ CHARSETOPS* GetCharsetOps (const char* charset)
|
||||
CHARSETOPS* GetCharsetOpsEx (const char* charset)
|
||||
{
|
||||
int i;
|
||||
char name [LEN_FONT_NAME + 1];
|
||||
char name [LEN_LOGFONT_NAME_FIELD + 1];
|
||||
|
||||
for (i = 0; i < LEN_FONT_NAME + 1; i++) {
|
||||
for (i = 0; i < LEN_LOGFONT_NAME_FIELD + 1; i++) {
|
||||
if (charset [i] == '\0')
|
||||
break;
|
||||
name [i] = toupper (charset [i]);
|
||||
|
||||
+26
-20
@@ -124,7 +124,6 @@ static DEVFONT* get_matched_devfont (LOGFONT* log_font, DEVFONT* list_head,
|
||||
dev_font = list_head;
|
||||
while (dev_font) {
|
||||
int type_req;
|
||||
char family [LEN_FONT_NAME + 1];
|
||||
int weight_req = log_font->style & FS_WEIGHT_MASK;
|
||||
int weight_cur = dev_font->style & FS_WEIGHT_MASK;
|
||||
|
||||
@@ -139,10 +138,17 @@ static DEVFONT* get_matched_devfont (LOGFONT* log_font, DEVFONT* list_head,
|
||||
match_bits [i] |= MATCHED_TYPE;
|
||||
|
||||
/* does match this family? */
|
||||
#if 0 // since 3.4.0
|
||||
char family [LEN_LOGFONT_NAME_FIELD + 1];
|
||||
fontGetFamilyFromName (dev_font->name, family);
|
||||
if (strcasecmp (family, log_font->family) == 0) {
|
||||
match_bits [i] |= MATCHED_FAMILY;
|
||||
}
|
||||
#else
|
||||
if (fontDoesMatchFamily(dev_font->name, log_font->family)) {
|
||||
match_bits [i] |= MATCHED_FAMILY;
|
||||
}
|
||||
#endif
|
||||
|
||||
/* does match this charset */
|
||||
if (IsCompatibleCharset (req_charset, dev_font->charset_ops)) {
|
||||
@@ -238,7 +244,7 @@ DEVFONT* font_GetMatchedSBDevFont (LOGFONT* log_font)
|
||||
|
||||
if (GetCharsetOps (log_font->charset)->bytes_maxlen_char > 1) {
|
||||
/*mbc logfont --- sbc devfont*/
|
||||
char sysfont_charset [LEN_FONT_NAME + 1];
|
||||
char sysfont_charset [LEN_LOGFONT_NAME_FIELD + 1];
|
||||
fontGetCharsetFromName (g_SysLogFont[0]->sbc_devfont->name, sysfont_charset);
|
||||
matched_devfont = get_matched_devfont (log_font, sb_dev_font_head,
|
||||
nr_sb_dev_fonts, sysfont_charset);
|
||||
@@ -351,26 +357,26 @@ void dbg_dumpDevFonts (void)
|
||||
*/
|
||||
void font_DelSBDevFont (DEVFONT* dev_font)
|
||||
{
|
||||
DEVFONT *tmp, *prev = NULL;
|
||||
DEVFONT *tmp, *prev = NULL;
|
||||
|
||||
tmp = sb_dev_font_head;
|
||||
while (tmp != NULL) {
|
||||
if (tmp == dev_font) {
|
||||
if (prev != NULL)
|
||||
prev->next = tmp->next;
|
||||
else
|
||||
sb_dev_font_head = tmp->next;
|
||||
tmp = sb_dev_font_head;
|
||||
while (tmp != NULL) {
|
||||
if (tmp == dev_font) {
|
||||
if (prev != NULL)
|
||||
prev->next = tmp->next;
|
||||
else
|
||||
sb_dev_font_head = tmp->next;
|
||||
|
||||
nr_sb_dev_fonts --;
|
||||
nr_sb_dev_fonts --;
|
||||
|
||||
break;
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
prev = tmp;
|
||||
tmp = prev->next;
|
||||
}
|
||||
prev = tmp;
|
||||
tmp = prev->next;
|
||||
}
|
||||
|
||||
return;
|
||||
return;
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -392,7 +398,7 @@ void font_DelMBDevFont (DEVFONT* dev_font)
|
||||
|
||||
nr_mb_dev_fonts --;
|
||||
|
||||
break;
|
||||
break;
|
||||
}
|
||||
prev = tmp;
|
||||
tmp = prev->next;
|
||||
@@ -407,7 +413,7 @@ static DEVFONT* make_devfont (const char* font_name, void* data, BOOL is_filenam
|
||||
FONTOPS_INFO* fontops_info = __mg_fontops_infos;
|
||||
DEVFONT* devfont;
|
||||
CHARSETOPS* charset_ops;
|
||||
char charset [LEN_FONT_NAME + 1];
|
||||
char charset [LEN_LOGFONT_NAME_FIELD + 1];
|
||||
|
||||
/*find the FONTOPS and LOADER*/
|
||||
while (fontops_info->type) {
|
||||
@@ -473,7 +479,7 @@ static void add_relating_devfonts_to_list (DEVFONT* related_devfont)
|
||||
{
|
||||
DEVFONT* sub_devfont;
|
||||
|
||||
char charset [LEN_FONT_NAME + 1];
|
||||
char charset [LEN_LOGFONT_NAME_FIELD + 1];
|
||||
char charsets [LEN_UNIDEVFONT_NAME + 1];
|
||||
int nr_charsets;
|
||||
|
||||
|
||||
@@ -87,9 +87,9 @@ typedef struct _HashDirectory {
|
||||
makeHashKeyFunc : the function which make hash key */
|
||||
typedef struct cache {
|
||||
/* Information about font */
|
||||
char family[LEN_FONT_NAME + 1];
|
||||
char family[LEN_LOGFONT_NAME_FIELD + 1];
|
||||
// VincentWei: no need to check charset for TrueType
|
||||
//char charset[LEN_FONT_NAME + 1];
|
||||
//char charset[LEN_LOGFONT_NAME_FIELD + 1];
|
||||
int render_style; // render style
|
||||
int fontsize;
|
||||
int rotation;
|
||||
@@ -480,8 +480,8 @@ __mg_ttc_create(char *family, char *charset,
|
||||
return (HCACHE)(0);
|
||||
}
|
||||
|
||||
strncpy(temp->cache.family, family, LEN_FONT_NAME);
|
||||
//strncpy(temp->cache.charset, charset, LEN_FONT_NAME);
|
||||
strncpy(temp->cache.family, family, LEN_LOGFONT_NAME_FIELD);
|
||||
//strncpy(temp->cache.charset, charset, LEN_LOGFONT_NAME_FIELD);
|
||||
temp->cache.render_style = (style & FS_RENDER_MASK);
|
||||
temp->cache.fontsize = size;
|
||||
temp->cache.rotation = rotation;
|
||||
@@ -588,8 +588,8 @@ __mg_ttc_is_exist(char *family, char *charset,
|
||||
/* If can not match font name*/
|
||||
p = __mg_globalCache.queueDummyHead.nextCache;
|
||||
while (p != &__mg_globalCache.queueDummyHead) {
|
||||
if (strncmp(p->cache.family, family, LEN_FONT_NAME) == 0) {
|
||||
if (strncmp(p->cache.charset, charset, LEN_FONT_NAME) == 0) {
|
||||
if (strncmp(p->cache.family, family, LEN_LOGFONT_NAME_FIELD) == 0) {
|
||||
if (strncmp(p->cache.charset, charset, LEN_LOGFONT_NAME_FIELD) == 0) {
|
||||
if (p->cache.fontsize == size) {
|
||||
int s = style & 0x000000FF;
|
||||
if ((s == FS_WEIGHT_BOOK || s == FS_WEIGHT_DEMIBOLD || s == FS_WEIGHT_SUBPIXEL) &&
|
||||
@@ -609,9 +609,9 @@ __mg_ttc_is_exist(char *family, char *charset,
|
||||
#else
|
||||
p = __mg_globalCache.queueDummyHead.nextCache;
|
||||
while (p != &__mg_globalCache.queueDummyHead) {
|
||||
if (strncmp(p->cache.family, family, LEN_FONT_NAME) == 0
|
||||
if (strncmp(p->cache.family, family, LEN_LOGFONT_NAME_FIELD) == 0
|
||||
#if 0 // VincentWei: do not need to check charset.
|
||||
&& strncmp(p->cache.charset, charset, LEN_FONT_NAME) == 0
|
||||
&& strncmp(p->cache.charset, charset, LEN_LOGFONT_NAME_FIELD) == 0
|
||||
#endif
|
||||
&& p->cache.fontsize == size
|
||||
&& p->cache.rotation == rotation
|
||||
|
||||
+65
-11
@@ -42,6 +42,7 @@
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <ctype.h>
|
||||
|
||||
#include "common.h"
|
||||
#include "minigui.h"
|
||||
@@ -96,7 +97,7 @@ BOOL fontGetTypeNameFromName (const char* name, char* type)
|
||||
|
||||
int fontGetFontTypeFromName (const char* name)
|
||||
{
|
||||
char type [LEN_FONT_NAME + 1];
|
||||
char type [LEN_LOGFONT_NAME_FIELD + 1];
|
||||
|
||||
if (!fontGetTypeNameFromName (name, type))
|
||||
return -1;
|
||||
@@ -114,8 +115,8 @@ BOOL fontGetFamilyFromName (const char* name, char* family)
|
||||
if (*(++family_part) == '\0')
|
||||
return FALSE;
|
||||
|
||||
while (family_part [i] && i <= LEN_FONT_NAME) {
|
||||
if (family_part [i] == '-') {
|
||||
while (family_part [i] && i <= LEN_LOGFONT_NAME_FIELD) {
|
||||
if (family_part [i] == '-' || family_part [i] == ',') {
|
||||
family [i] = '\0';
|
||||
break;
|
||||
}
|
||||
@@ -127,6 +128,59 @@ BOOL fontGetFamilyFromName (const char* name, char* family)
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
static BOOL get_family_part_lower (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_UNIDEVFONT_NAME) {
|
||||
if (family_part [i] == '-') {
|
||||
family [i] = '\0';
|
||||
break;
|
||||
}
|
||||
|
||||
family [i] = tolower(family_part [i]);
|
||||
i++;
|
||||
}
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
/* devfont family specification:
|
||||
* family[,alias]...
|
||||
*/
|
||||
BOOL fontDoesMatchFamily (const char* name, const char* family)
|
||||
{
|
||||
char family_part[LEN_UNIDEVFONT_NAME + 2];
|
||||
char family_request[LEN_LOGFONT_NAME_FIELD + 2];
|
||||
int i = 0;
|
||||
|
||||
if (!get_family_part_lower(name, family_part)) {
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
// add ',' to the tail
|
||||
family_part[strlen(family_part)] = ',';
|
||||
|
||||
// lowercase for family_request
|
||||
strncpy(family_request, family, LEN_LOGFONT_NAME_FIELD);
|
||||
while (family_request[i]) {
|
||||
family_request[i] = tolower(family_request[i]);
|
||||
i++;
|
||||
}
|
||||
|
||||
// add ',' to the tail
|
||||
family_request[strlen(family_request)] = ',';
|
||||
|
||||
// try "<family_request>,"
|
||||
return strstr(family_part, family_request) != NULL;
|
||||
}
|
||||
|
||||
DWORD fontConvertStyle (const char* style_part)
|
||||
{
|
||||
DWORD style = 0;
|
||||
@@ -345,7 +399,7 @@ int fontGetWidthFromName (const char* name)
|
||||
{
|
||||
int i;
|
||||
const char* width_part = name;
|
||||
char width [LEN_FONT_NAME + 1];
|
||||
char width [LEN_LOGFONT_NAME_FIELD + 1];
|
||||
|
||||
for (i = 0; i < NR_LOOP_FOR_WIDTH; i++) {
|
||||
if ((width_part = strchr (width_part, '-')) == NULL)
|
||||
@@ -376,7 +430,7 @@ int fontGetHeightFromName (const char* name)
|
||||
{
|
||||
int i;
|
||||
const char* height_part = name;
|
||||
char height [LEN_FONT_NAME + 1];
|
||||
char height [LEN_LOGFONT_NAME_FIELD + 1];
|
||||
|
||||
for (i = 0; i < NR_LOOP_FOR_HEIGHT; i++) {
|
||||
if ((height_part = strchr (height_part, '-')) == NULL)
|
||||
@@ -423,8 +477,8 @@ BOOL fontGetCharsetFromName (const char* name, char* charset)
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
strncpy (charset, charset_part, LEN_FONT_NAME);
|
||||
charset [LEN_FONT_NAME] = '\0';
|
||||
strncpy (charset, charset_part, LEN_LOGFONT_NAME_FIELD);
|
||||
charset [LEN_LOGFONT_NAME_FIELD] = '\0';
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
@@ -446,8 +500,8 @@ BOOL fontGetCompatibleCharsetFromName (const char* name, char* charset)
|
||||
if (*(++charset_part) == '\0')
|
||||
return FALSE;
|
||||
|
||||
strncpy (charset, charset_part, LEN_FONT_NAME);
|
||||
charset [LEN_FONT_NAME] = '\0';
|
||||
strncpy (charset, charset_part, LEN_LOGFONT_NAME_FIELD);
|
||||
charset [LEN_LOGFONT_NAME_FIELD] = '\0';
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
@@ -505,8 +559,8 @@ BOOL charsetGetSpecificCharset (const char* charsets, int _index, char* charset)
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
strncpy (charset, charsets, LEN_FONT_NAME);
|
||||
charset [LEN_FONT_NAME] = '\0';
|
||||
strncpy (charset, charsets, LEN_LOGFONT_NAME_FIELD);
|
||||
charset [LEN_LOGFONT_NAME_FIELD] = '\0';
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
|
||||
@@ -626,7 +626,7 @@ static DEVFONT* new_instance (LOGFONT* logfont, DEVFONT* devfont,
|
||||
memcpy (new_devfont, devfont, sizeof (DEVFONT));
|
||||
|
||||
if (need_sbc_font && devfont->charset_ops->bytes_maxlen_char > 1) {
|
||||
char charset [LEN_FONT_NAME + 1];
|
||||
char charset [LEN_LOGFONT_NAME_FIELD + 1];
|
||||
|
||||
fontGetCompatibleCharsetFromName (devfont->name, charset);
|
||||
new_devfont->charset_ops = GetCharsetOpsEx (charset);
|
||||
|
||||
@@ -706,7 +706,7 @@ new_instance (LOGFONT* logfont, DEVFONT* devfont, BOOL need_sbc_font)
|
||||
|
||||
/* copy CharsetOps */
|
||||
if (need_sbc_font && devfont->charset_ops->bytes_maxlen_char > 1) {
|
||||
char charset [LEN_FONT_NAME + 1];
|
||||
char charset [LEN_LOGFONT_NAME_FIELD + 1];
|
||||
|
||||
fontGetCompatibleCharsetFromName (devfont->name, charset);
|
||||
new_devfont->charset_ops = GetCharsetOps (charset);
|
||||
|
||||
+22
-22
@@ -72,7 +72,7 @@ static PLOGFONT gdiCreateLogFont (const char* type, const char* family,
|
||||
{
|
||||
PLOGFONT log_font;
|
||||
int sbc_value, mbc_value = 0;
|
||||
char dev_family [LEN_FONT_NAME + 1];
|
||||
char dev_family [LEN_LOGFONT_NAME_FIELD + 1];
|
||||
DEVFONT* sbc_devfont, *mbc_devfont;
|
||||
|
||||
// is valid style?
|
||||
@@ -100,17 +100,17 @@ static PLOGFONT gdiCreateLogFont (const char* type, const char* family,
|
||||
log_font->style = style;
|
||||
|
||||
if (type) {
|
||||
strncpy (log_font->type, type, LEN_FONT_NAME);
|
||||
log_font->type [LEN_FONT_NAME] = '\0';
|
||||
strncpy (log_font->type, type, LEN_LOGFONT_NAME_FIELD);
|
||||
log_font->type [LEN_LOGFONT_NAME_FIELD] = '\0';
|
||||
}
|
||||
else
|
||||
strcpy (log_font->type, FONT_TYPE_NAME_ALL);
|
||||
|
||||
strncpy (log_font->family, family, LEN_FONT_NAME);
|
||||
log_font->family [LEN_FONT_NAME] = '\0';
|
||||
strncpy (log_font->family, family, LEN_LOGFONT_NAME_FIELD);
|
||||
log_font->family [LEN_LOGFONT_NAME_FIELD] = '\0';
|
||||
|
||||
strncpy (log_font->charset, charset, LEN_FONT_NAME);
|
||||
log_font->charset [LEN_FONT_NAME] = '\0';
|
||||
strncpy (log_font->charset, charset, LEN_LOGFONT_NAME_FIELD);
|
||||
log_font->charset [LEN_LOGFONT_NAME_FIELD] = '\0';
|
||||
|
||||
if (size > FONT_MAX_SIZE)
|
||||
log_font->size = FONT_MAX_SIZE;
|
||||
@@ -164,37 +164,37 @@ static PLOGFONT gdiCreateLogFont (const char* type, const char* family,
|
||||
/*reset type name of logfont*/
|
||||
if (log_font->mbc_devfont) {
|
||||
fontGetTypeNameFromName (log_font->mbc_devfont->name, dev_family);
|
||||
strncpy (log_font->type, dev_family, LEN_FONT_NAME);
|
||||
log_font->type[LEN_FONT_NAME] = '\0';
|
||||
strncpy (log_font->type, dev_family, LEN_LOGFONT_NAME_FIELD);
|
||||
log_font->type[LEN_LOGFONT_NAME_FIELD] = '\0';
|
||||
}
|
||||
else {
|
||||
fontGetTypeNameFromName (log_font->sbc_devfont->name, dev_family);
|
||||
strncpy (log_font->type, dev_family, LEN_FONT_NAME);
|
||||
log_font->type[LEN_FONT_NAME] = '\0';
|
||||
strncpy (log_font->type, dev_family, LEN_LOGFONT_NAME_FIELD);
|
||||
log_font->type[LEN_LOGFONT_NAME_FIELD] = '\0';
|
||||
}
|
||||
|
||||
/*reset family name of logfont*/
|
||||
if (log_font->mbc_devfont) {
|
||||
fontGetFamilyFromName (log_font->mbc_devfont->name, dev_family);
|
||||
strncpy (log_font->family, dev_family, LEN_FONT_NAME);
|
||||
log_font->family [LEN_FONT_NAME] = '\0';
|
||||
strncpy (log_font->family, dev_family, LEN_LOGFONT_NAME_FIELD);
|
||||
log_font->family [LEN_LOGFONT_NAME_FIELD] = '\0';
|
||||
}
|
||||
else {
|
||||
fontGetFamilyFromName (log_font->sbc_devfont->name, dev_family);
|
||||
strncpy (log_font->family, dev_family, LEN_FONT_NAME);
|
||||
log_font->family [LEN_FONT_NAME] = '\0';
|
||||
strncpy (log_font->family, dev_family, LEN_LOGFONT_NAME_FIELD);
|
||||
log_font->family [LEN_LOGFONT_NAME_FIELD] = '\0';
|
||||
}
|
||||
|
||||
/*reset charset name of logfont*/
|
||||
if (log_font->mbc_devfont) {
|
||||
strncpy (log_font->charset,
|
||||
log_font->mbc_devfont->charset_ops->name, LEN_FONT_NAME);
|
||||
log_font->charset [LEN_FONT_NAME] = '\0';
|
||||
log_font->mbc_devfont->charset_ops->name, LEN_LOGFONT_NAME_FIELD);
|
||||
log_font->charset [LEN_LOGFONT_NAME_FIELD] = '\0';
|
||||
}
|
||||
else {
|
||||
strncpy (log_font->charset,
|
||||
log_font->sbc_devfont->charset_ops->name, LEN_FONT_NAME);
|
||||
log_font->charset [LEN_FONT_NAME] = '\0';
|
||||
log_font->sbc_devfont->charset_ops->name, LEN_LOGFONT_NAME_FIELD);
|
||||
log_font->charset [LEN_LOGFONT_NAME_FIELD] = '\0';
|
||||
}
|
||||
|
||||
/*reset ascent of logfont*/
|
||||
@@ -345,9 +345,9 @@ PLOGFONT GUIAPI CreateLogFontEx (const char* type, const char* family,
|
||||
|
||||
PLOGFONT GUIAPI CreateLogFontByName (const char* font_name)
|
||||
{
|
||||
char type[LEN_FONT_NAME + 1];
|
||||
char family[LEN_FONT_NAME + 1];
|
||||
char charset[LEN_FONT_NAME + 1];
|
||||
char type[LEN_LOGFONT_NAME_FIELD + 1];
|
||||
char family[LEN_LOGFONT_NAME_FIELD + 1];
|
||||
char charset[LEN_LOGFONT_NAME_FIELD + 1];
|
||||
DWORD style;
|
||||
int height;
|
||||
|
||||
|
||||
@@ -113,7 +113,7 @@ static BOOL load_fonts(void)
|
||||
se_dev_fonts = calloc (font_table_size, sizeof (DEVFONT));
|
||||
|
||||
for (i = 0; i < font_table_size; i++) {
|
||||
char charset[LEN_FONT_NAME + 1];
|
||||
char charset[LEN_LOGFONT_NAME_FIELD + 1];
|
||||
CHARSETOPS *charset_ops;
|
||||
const char *font_name;
|
||||
int font_id;
|
||||
@@ -158,7 +158,7 @@ static BOOL load_fonts(void)
|
||||
if ((nr_charsets = charsetGetCharsetsNumber (charsets)) > 1) {
|
||||
int j;
|
||||
for (j = 1; j < nr_charsets; j++) {
|
||||
char charset [LEN_FONT_NAME + 1];
|
||||
char charset [LEN_LOGFONT_NAME_FIELD + 1];
|
||||
CHARSETOPS* charset_ops;
|
||||
DEVFONT* new_devfont;
|
||||
|
||||
|
||||
+4
-4
@@ -102,10 +102,10 @@ BOOL mg_InitSysFont (void)
|
||||
|
||||
for (i = 0; i < nr_fonts; i++) {
|
||||
char key [11];
|
||||
char type [LEN_FONT_NAME + 1];
|
||||
char family [LEN_FONT_NAME + 1];
|
||||
char style [LEN_FONT_NAME + 1];
|
||||
char charset [LEN_FONT_NAME + 1];
|
||||
char type [LEN_LOGFONT_NAME_FIELD + 1];
|
||||
char family [LEN_LOGFONT_NAME_FIELD + 1];
|
||||
char style [LEN_LOGFONT_NAME_FIELD + 1];
|
||||
char charset [LEN_LOGFONT_NAME_FIELD + 1];
|
||||
char font_name [LEN_DEVFONT_NAME + 1];
|
||||
int height;
|
||||
int j = 0, need = 0;
|
||||
|
||||
@@ -86,7 +86,7 @@ BOOL mg_InitSysFont (void)
|
||||
|
||||
for (i = 0; i < nr_fonts; i++) {
|
||||
char key [11];
|
||||
char charset [LEN_FONT_NAME + 1];
|
||||
char charset [LEN_LOGFONT_NAME_FIELD + 1];
|
||||
char file [MAX_PATH + 1];
|
||||
|
||||
sprintf (key, "name%d", i);
|
||||
|
||||
@@ -197,13 +197,13 @@ static BOOL get_font_propt(FILE* fp, char* family, char* font_rrncnn, char* cha
|
||||
/*FAMILY_NAME*/
|
||||
if (strcmp (line_buf, "FAMILY_NAME") == 0)
|
||||
{
|
||||
if (strlen(body) > LEN_FONT_NAME)
|
||||
if (strlen(body) > LEN_LOGFONT_NAME_FIELD)
|
||||
{
|
||||
fprintf(stderr, "the FAMILY_NAME is too long, "
|
||||
"please truncation it to less than %d\n", LEN_FONT_NAME-2);
|
||||
"please truncation it to less than %d\n", LEN_LOGFONT_NAME_FIELD-2);
|
||||
return FALSE;
|
||||
}
|
||||
strncpy (family, body, LEN_FONT_NAME);
|
||||
strncpy (family, body, LEN_LOGFONT_NAME_FIELD);
|
||||
}
|
||||
else if (strcmp (line_buf, "WEIGHT_NAME") == 0)
|
||||
set_rrncnn (font_rrncnn, SET_WEIGHT_POS, body);
|
||||
@@ -216,7 +216,7 @@ static BOOL get_font_propt(FILE* fp, char* family, char* font_rrncnn, char* cha
|
||||
|
||||
/*FIXME must inorder*/
|
||||
else if (strcmp (line_buf, "CHARSET_REGISTRY") == 0)
|
||||
strncpy (charset, body, LEN_FONT_NAME);
|
||||
strncpy (charset, body, LEN_LOGFONT_NAME_FIELD);
|
||||
else if (strcmp (line_buf, "CHARSET_ENCODING") == 0)
|
||||
{
|
||||
if (body[0] != '-')
|
||||
@@ -494,8 +494,8 @@ typedef struct _FONT_PROPT {
|
||||
} FONT_PROPT;
|
||||
|
||||
char font_name [LEN_UNIDEVFONT_NAME];
|
||||
char family [LEN_FONT_NAME];
|
||||
char charset [LEN_FONT_NAME];
|
||||
char family [LEN_LOGFONT_NAME_FIELD];
|
||||
char charset [LEN_LOGFONT_NAME_FIELD];
|
||||
char new_file_name [LEN_UNIDEVFONT_NAME+5];
|
||||
|
||||
#define MAKE_HEADER(header, glyph_num)\
|
||||
|
||||
@@ -54,7 +54,7 @@ typedef int BOOL;
|
||||
#define TRUE 1
|
||||
#define FALSE 0
|
||||
|
||||
#define LEN_FONT_NAME 23
|
||||
#define LEN_LOGFONT_NAME_FIELD 23
|
||||
#define LEN_DEVFONT_NAME 79
|
||||
|
||||
extern VBFINFO extern_vbfinfo;
|
||||
@@ -64,8 +64,8 @@ extern VBFINFO extern_vbfinfo;
|
||||
BOOL dumpVBF (VBFINFO* vbf, char* file)
|
||||
{
|
||||
FILE* fp;
|
||||
char family [LEN_FONT_NAME + 1];
|
||||
char style [LEN_FONT_NAME + 1];
|
||||
char family [LEN_LOGFONT_NAME_FIELD + 1];
|
||||
char style [LEN_LOGFONT_NAME_FIELD + 1];
|
||||
int len_offsets;
|
||||
int len_widths;
|
||||
int len_header;
|
||||
|
||||
@@ -70,13 +70,13 @@
|
||||
|
||||
typedef struct _CHARSET
|
||||
{
|
||||
char name [LEN_FONT_NAME + 1];
|
||||
char name [LEN_LOGFONT_NAME_FIELD + 1];
|
||||
struct _CHARSET* next;
|
||||
}CHARSET;
|
||||
|
||||
typedef struct _FAMILY
|
||||
{
|
||||
char name [LEN_FONT_NAME + 1];
|
||||
char name [LEN_LOGFONT_NAME_FIELD + 1];
|
||||
CHARSET chset_head;
|
||||
struct _FAMILY* next;
|
||||
}FAMILY;
|
||||
@@ -98,8 +98,8 @@ static FAMILY* find_insert_family (FAMILY* head, const char* fami_name)
|
||||
}
|
||||
|
||||
cur = (FAMILY*)malloc(sizeof(*cur));
|
||||
strncpy (cur->name, fami_name, LEN_FONT_NAME);
|
||||
cur->name [LEN_FONT_NAME] = '\0';
|
||||
strncpy (cur->name, fami_name, LEN_LOGFONT_NAME_FIELD);
|
||||
cur->name [LEN_LOGFONT_NAME_FIELD] = '\0';
|
||||
cur->chset_head.next = NULL;
|
||||
cur->next = NULL;
|
||||
|
||||
@@ -133,8 +133,8 @@ static void insert_chset (FAMILY* fami, const char* chset_name)
|
||||
}
|
||||
|
||||
cur = (CHARSET*)malloc(sizeof(*cur));
|
||||
strncpy (cur->name, chset_name, LEN_FONT_NAME);
|
||||
cur->name [LEN_FONT_NAME] = '\0';
|
||||
strncpy (cur->name, chset_name, LEN_LOGFONT_NAME_FIELD);
|
||||
cur->name [LEN_LOGFONT_NAME_FIELD] = '\0';
|
||||
cur->next = NULL;
|
||||
|
||||
pre->next = cur;
|
||||
@@ -416,7 +416,7 @@ static void insert_strings (HWND hWnd, char** strs, int str_num)
|
||||
|
||||
static int fresh_chset_list (HWND hWnd)
|
||||
{
|
||||
char str_buffer [LEN_FONT_NAME + 1];
|
||||
char str_buffer [LEN_LOGFONT_NAME_FIELD + 1];
|
||||
HWND fami_lb;
|
||||
HWND chset_lb;
|
||||
int cur_sel;
|
||||
@@ -455,7 +455,7 @@ static int fresh_chset_list (HWND hWnd)
|
||||
static int insert_listboxs (HWND hWnd)
|
||||
{
|
||||
FAMILY* fami_cur = ((FAMILY*)GetWindowAdditionalData(hWnd))->next;
|
||||
char str_buffer [LEN_FONT_NAME + 1];
|
||||
char str_buffer [LEN_LOGFONT_NAME_FIELD + 1];
|
||||
int i;
|
||||
HWND hctrl;
|
||||
|
||||
@@ -496,8 +496,8 @@ static int insert_listboxs (HWND hWnd)
|
||||
|
||||
static LOGFONT* create_sel_font(HWND hWnd)
|
||||
{
|
||||
char family [LEN_FONT_NAME +1];
|
||||
char chset [LEN_FONT_NAME +1];
|
||||
char family [LEN_LOGFONT_NAME_FIELD +1];
|
||||
char chset [LEN_LOGFONT_NAME_FIELD +1];
|
||||
char weight;
|
||||
char slant;
|
||||
char flip;
|
||||
|
||||
@@ -53,6 +53,7 @@ BOOL fontGetTypeNameFromName (const char* name, char* type);
|
||||
int fontConvertFontType (const char* type);
|
||||
|
||||
BOOL fontGetFamilyFromName (const char* name, char* family);
|
||||
BOOL fontDoesMatchFamily (const char* name, const char* family);
|
||||
|
||||
BOOL fontCopyStyleFromName (const char* name, char* style);
|
||||
DWORD fontGetStyleFromName (const char* name);
|
||||
|
||||
+18
-18
@@ -67,7 +67,7 @@ static PLOGFONT gdiCreateLogFont ( const char* type, const char* family,
|
||||
{
|
||||
PLOGFONT log_font;
|
||||
int sbc_descent, mbc_descent = 0;
|
||||
char dev_family [LEN_FONT_NAME + 1];
|
||||
char dev_family [LEN_LOGFONT_NAME_FIELD + 1];
|
||||
DEVFONT* sbc_devfont, *mbc_devfont;
|
||||
|
||||
// is valid style?
|
||||
@@ -89,17 +89,17 @@ static PLOGFONT gdiCreateLogFont ( const char* type, const char* family,
|
||||
#endif
|
||||
|
||||
if (type) {
|
||||
strncpy (log_font->type, type, LEN_FONT_NAME);
|
||||
log_font->type [LEN_FONT_NAME] = '\0';
|
||||
strncpy (log_font->type, type, LEN_LOGFONT_NAME_FIELD);
|
||||
log_font->type [LEN_LOGFONT_NAME_FIELD] = '\0';
|
||||
}
|
||||
else
|
||||
strcpy (log_font->type, FONT_TYPE_NAME_ALL);
|
||||
|
||||
strncpy (log_font->family, family, LEN_FONT_NAME);
|
||||
log_font->family [LEN_FONT_NAME] = '\0';
|
||||
strncpy (log_font->family, family, LEN_LOGFONT_NAME_FIELD);
|
||||
log_font->family [LEN_LOGFONT_NAME_FIELD] = '\0';
|
||||
|
||||
strncpy (log_font->charset, charset, LEN_FONT_NAME);
|
||||
log_font->charset [LEN_FONT_NAME] = '\0';
|
||||
strncpy (log_font->charset, charset, LEN_LOGFONT_NAME_FIELD);
|
||||
log_font->charset [LEN_LOGFONT_NAME_FIELD] = '\0';
|
||||
|
||||
if (size > FONT_MAX_SIZE)
|
||||
log_font->size = FONT_MAX_SIZE;
|
||||
@@ -138,25 +138,25 @@ static PLOGFONT gdiCreateLogFont ( const char* type, const char* family,
|
||||
// family name
|
||||
if (log_font->mbc_devfont) {
|
||||
fontGetFamilyFromName (log_font->mbc_devfont->name, dev_family);
|
||||
strncpy (log_font->family, dev_family, LEN_FONT_NAME);
|
||||
log_font->family [LEN_FONT_NAME] = '\0';
|
||||
strncpy (log_font->family, dev_family, LEN_LOGFONT_NAME_FIELD);
|
||||
log_font->family [LEN_LOGFONT_NAME_FIELD] = '\0';
|
||||
}
|
||||
else {
|
||||
fontGetFamilyFromName (log_font->sbc_devfont->name, dev_family);
|
||||
strncpy (log_font->family, dev_family, LEN_FONT_NAME);
|
||||
log_font->family [LEN_FONT_NAME] = '\0';
|
||||
strncpy (log_font->family, dev_family, LEN_LOGFONT_NAME_FIELD);
|
||||
log_font->family [LEN_LOGFONT_NAME_FIELD] = '\0';
|
||||
}
|
||||
|
||||
// charset name
|
||||
if (log_font->mbc_devfont) {
|
||||
strncpy (log_font->charset,
|
||||
log_font->mbc_devfont->charset_ops->name, LEN_FONT_NAME);
|
||||
log_font->charset [LEN_FONT_NAME] = '\0';
|
||||
log_font->mbc_devfont->charset_ops->name, LEN_LOGFONT_NAME_FIELD);
|
||||
log_font->charset [LEN_LOGFONT_NAME_FIELD] = '\0';
|
||||
}
|
||||
else {
|
||||
strncpy (log_font->charset,
|
||||
log_font->sbc_devfont->charset_ops->name, LEN_FONT_NAME);
|
||||
log_font->charset [LEN_FONT_NAME] = '\0';
|
||||
log_font->sbc_devfont->charset_ops->name, LEN_LOGFONT_NAME_FIELD);
|
||||
log_font->charset [LEN_LOGFONT_NAME_FIELD] = '\0';
|
||||
}
|
||||
|
||||
// size
|
||||
@@ -215,9 +215,9 @@ PLOGFONT GUIAPI CreateLogFont (const char* type, const char* family,
|
||||
|
||||
PLOGFONT GUIAPI CreateLogFontByName (const char* font_name)
|
||||
{
|
||||
char type[LEN_FONT_NAME + 1];
|
||||
char family[LEN_FONT_NAME + 1];
|
||||
char charset[LEN_FONT_NAME + 1];
|
||||
char type[LEN_LOGFONT_NAME_FIELD + 1];
|
||||
char family[LEN_LOGFONT_NAME_FIELD + 1];
|
||||
char charset[LEN_LOGFONT_NAME_FIELD + 1];
|
||||
DWORD style;
|
||||
int height;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user