Mercurial > emacs
comparison src/w32font.c @ 110989:36726f009542
Fix handling of font properties on Windows (bug#6303).
* src/font.c (font_filter_properties): New function, refactored from
ftfont_filter_properties.
* src/font.h (font_filter_properties): Declare.
* src/ftfont.c (ftfont_filter_properties): Use font_filter_properties.
* src/w32font.c (w32font_booleans, w32font_non_booleans): New variables.
(w32font_filter_properties): New function.
(w32font_driver): Add w32font_filter_properties.
author | Juanma Barranquero <lekktu@gmail.com> |
---|---|
date | Wed, 13 Oct 2010 16:07:28 +0200 |
parents | e0f89e89ed02 |
children | 734b2470f93c |
comparison
equal
deleted
inserted
replaced
110988:3c6608402b1e | 110989:36726f009542 |
---|---|
2444 return Qnil; | 2444 return Qnil; |
2445 | 2445 |
2446 return DECODE_SYSTEM (build_string (buf)); | 2446 return DECODE_SYSTEM (build_string (buf)); |
2447 } | 2447 } |
2448 | 2448 |
2449 static const char *w32font_booleans [] = { | |
2450 NULL, | |
2451 }; | |
2452 | |
2453 static const char *w32font_non_booleans [] = { | |
2454 ":script", | |
2455 ":antialias", | |
2456 ":style", | |
2457 NULL, | |
2458 }; | |
2459 | |
2460 static void | |
2461 w32font_filter_properties (font, alist) | |
2462 Lisp_Object font; | |
2463 Lisp_Object alist; | |
2464 { | |
2465 font_filter_properties (font, alist, w32font_booleans, w32font_non_booleans); | |
2466 } | |
2467 | |
2449 struct font_driver w32font_driver = | 2468 struct font_driver w32font_driver = |
2450 { | 2469 { |
2451 0, /* Qgdi */ | 2470 0, /* Qgdi */ |
2452 0, /* case insensitive */ | 2471 0, /* case insensitive */ |
2453 w32font_get_cache, | 2472 w32font_get_cache, |
2473 NULL, /* start_for_frame */ | 2492 NULL, /* start_for_frame */ |
2474 NULL, /* end_for_frame */ | 2493 NULL, /* end_for_frame */ |
2475 NULL, /* shape */ | 2494 NULL, /* shape */ |
2476 NULL, /* check */ | 2495 NULL, /* check */ |
2477 NULL, /* get_variation_glyphs */ | 2496 NULL, /* get_variation_glyphs */ |
2478 NULL, /* filter_properties */ | 2497 w32font_filter_properties, |
2479 }; | 2498 }; |
2480 | 2499 |
2481 | 2500 |
2482 /* Initialize state that does not change between invocations. This is only | 2501 /* Initialize state that does not change between invocations. This is only |
2483 called when Emacs is dumped. */ | 2502 called when Emacs is dumped. */ |