201 |
|
|
202 |
Lisp_Object Qauto_raise; |
Lisp_Object Qauto_raise; |
203 |
Lisp_Object Qauto_lower; |
Lisp_Object Qauto_lower; |
204 |
Lisp_Object Qbar; |
Lisp_Object Qbar, Qhbar; |
205 |
Lisp_Object Qborder_color; |
Lisp_Object Qborder_color; |
206 |
Lisp_Object Qborder_width; |
Lisp_Object Qborder_width; |
207 |
Lisp_Object Qbox; |
Lisp_Object Qbox; |
2368 |
type = BAR_CURSOR; |
type = BAR_CURSOR; |
2369 |
*width = XINT (XCDR (arg)); |
*width = XINT (XCDR (arg)); |
2370 |
} |
} |
2371 |
|
else if (EQ (arg, Qhbar)) |
2372 |
|
{ |
2373 |
|
type = HBAR_CURSOR; |
2374 |
|
*width = 2; |
2375 |
|
} |
2376 |
|
else if (CONSP (arg) |
2377 |
|
&& EQ (XCAR (arg), Qhbar) |
2378 |
|
&& INTEGERP (XCDR (arg)) |
2379 |
|
&& XINT (XCDR (arg)) >= 0) |
2380 |
|
{ |
2381 |
|
type = HBAR_CURSOR; |
2382 |
|
*width = XINT (XCDR (arg)); |
2383 |
|
} |
2384 |
else if (NILP (arg)) |
else if (NILP (arg)) |
2385 |
type = NO_CURSOR; |
type = NO_CURSOR; |
2386 |
else |
else |
7106 |
int numFonts; |
int numFonts; |
7107 |
LOGFONT logfont; |
LOGFONT logfont; |
7108 |
XFontStruct *size_ref; |
XFontStruct *size_ref; |
7109 |
Lisp_Object *pattern; |
Lisp_Object pattern; |
7110 |
Lisp_Object list; |
Lisp_Object list; |
|
Lisp_Object *tail; |
|
7111 |
} enumfont_t; |
} enumfont_t; |
7112 |
|
|
7113 |
|
|
7163 |
/* Truetype fonts do not report their true metrics until loaded */ |
/* Truetype fonts do not report their true metrics until loaded */ |
7164 |
if (FontType != RASTER_FONTTYPE) |
if (FontType != RASTER_FONTTYPE) |
7165 |
{ |
{ |
7166 |
if (!NILP (*(lpef->pattern))) |
if (!NILP (lpef->pattern)) |
7167 |
{ |
{ |
7168 |
/* Scalable fonts are as big as you want them to be. */ |
/* Scalable fonts are as big as you want them to be. */ |
7169 |
lplf->elfLogFont.lfHeight = lpef->logfont.lfHeight; |
lplf->elfLogFont.lfHeight = lpef->logfont.lfHeight; |
7188 |
lplf->elfLogFont.lfHeight = -lplf->elfLogFont.lfHeight; |
lplf->elfLogFont.lfHeight = -lplf->elfLogFont.lfHeight; |
7189 |
} |
} |
7190 |
|
|
7191 |
if (!NILP (*(lpef->pattern))) |
if (!NILP (lpef->pattern)) |
7192 |
{ |
{ |
7193 |
charset = xlfd_charset_of_font (XSTRING(*(lpef->pattern))->data); |
charset = xlfd_charset_of_font (XSTRING(lpef->pattern)->data); |
7194 |
|
|
7195 |
/* We already checked charsets above, but DEFAULT_CHARSET |
/* We already checked charsets above, but DEFAULT_CHARSET |
7196 |
slipped through. So only allow exact matches for DEFAULT_CHARSET. */ |
slipped through. So only allow exact matches for DEFAULT_CHARSET. */ |
7254 |
if (!w32_to_x_font (logfont, buf, 100, match_charset)) |
if (!w32_to_x_font (logfont, buf, 100, match_charset)) |
7255 |
return; |
return; |
7256 |
|
|
7257 |
if (NILP (*(lpef->pattern)) |
if (NILP (lpef->pattern) |
7258 |
|| w32_font_match (buf, XSTRING (*(lpef->pattern))->data)) |
|| w32_font_match (buf, XSTRING (lpef->pattern)->data)) |
7259 |
{ |
{ |
7260 |
/* Check if we already listed this font. This may happen if |
/* Check if we already listed this font. This may happen if |
7261 |
w32_enable_synthesized_fonts is non-nil, and there are real |
w32_enable_synthesized_fonts is non-nil, and there are real |
7263 |
Lisp_Object font_name = build_string (buf); |
Lisp_Object font_name = build_string (buf); |
7264 |
if (NILP (Fmember (font_name, lpef->list))) |
if (NILP (Fmember (font_name, lpef->list))) |
7265 |
{ |
{ |
7266 |
*lpef->tail = Fcons (Fcons (build_string (buf), width), Qnil); |
Lisp_Object entry = Fcons (font_name, width); |
7267 |
lpef->tail = &(XCDR_AS_LVALUE (*lpef->tail)); |
lpef->list = Fcons (entry, lpef->list); |
7268 |
lpef->numFonts++; |
lpef->numFonts++; |
7269 |
} |
} |
7270 |
} |
} |
7409 |
|
|
7410 |
BLOCK_INPUT; |
BLOCK_INPUT; |
7411 |
/* At first, put PATTERN in the cache. */ |
/* At first, put PATTERN in the cache. */ |
7412 |
list = Qnil; |
ef.pattern = tpat; |
7413 |
ef.pattern = &tpat; |
ef.list = Qnil; |
|
ef.list = list; |
|
|
ef.tail = &list; |
|
7414 |
ef.numFonts = 0; |
ef.numFonts = 0; |
7415 |
|
|
7416 |
/* Use EnumFontFamiliesEx where it is available, as it knows |
/* Use EnumFontFamiliesEx where it is available, as it knows |
7445 |
} |
} |
7446 |
|
|
7447 |
UNBLOCK_INPUT; |
UNBLOCK_INPUT; |
7448 |
|
list = ef.list; |
7449 |
|
|
7450 |
/* Make a list of the fonts we got back. |
/* Make a list of the fonts we got back. |
7451 |
Store that in the font cache for the display. */ |
Store that in the font cache for the display. */ |
14823 |
staticpro (&Qauto_lower); |
staticpro (&Qauto_lower); |
14824 |
Qbar = intern ("bar"); |
Qbar = intern ("bar"); |
14825 |
staticpro (&Qbar); |
staticpro (&Qbar); |
14826 |
|
Qhbar = intern ("hbar"); |
14827 |
|
staticpro (&Qhbar); |
14828 |
Qborder_color = intern ("border-color"); |
Qborder_color = intern ("border-color"); |
14829 |
staticpro (&Qborder_color); |
staticpro (&Qborder_color); |
14830 |
Qborder_width = intern ("border-width"); |
Qborder_width = intern ("border-width"); |