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. */