aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorJan Djärv2009-11-17 09:53:45 +0000
committerJan Djärv2009-11-17 09:53:45 +0000
commita6eb20d8fe270d70a28971719935479f6fa99c31 (patch)
tree23046d835e1912bb31a55d4fe02df109e80ff5c6 /src
parentad413b3564689010ec221562810e5bc373d8c60d (diff)
downloademacs-a6eb20d8fe270d70a28971719935479f6fa99c31.tar.gz
emacs-a6eb20d8fe270d70a28971719935479f6fa99c31.zip
#ifdef on FC_LCD_FILTER.
* xftfont.c (xftfont_fix_match): Older versions of fontconfig does not have FC_LCD_FILTER. #ifdef it. * xsettings.c (parse_xft_settings, apply_xft_settings): Ditto * xftfont.c (xftfont_fix_match): New function. (xftfont_open): Call XftDefaultSubstitute before XftFontMatch. Call xftfont_fix_match after XftFontMatch.
Diffstat (limited to 'src')
-rw-r--r--src/ChangeLog5
-rw-r--r--src/xftfont.c3
-rw-r--r--src/xsettings.c9
3 files changed, 17 insertions, 0 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index c09d11d5ecf..3bac10b58ba 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,5 +1,10 @@
12009-11-17 Jan Djärv <jan.h.d@swipnet.se> 12009-11-17 Jan Djärv <jan.h.d@swipnet.se>
2 2
3 * xftfont.c (xftfont_fix_match): Older versions of fontconfig does
4 not have FC_LCD_FILTER. #ifdef it.
5
6 * xsettings.c (parse_xft_settings, apply_xft_settings): Ditto
7
3 * xterm.h (struct x_display_info): Add atoms and Window for xsettings. 8 * xterm.h (struct x_display_info): Add atoms and Window for xsettings.
4 9
5 * xterm.c (handle_one_xevent): Call xft_settings_event for 10 * xterm.c (handle_one_xevent): Call xft_settings_event for
diff --git a/src/xftfont.c b/src/xftfont.c
index 6455c5f2c52..130bd84c69b 100644
--- a/src/xftfont.c
+++ b/src/xftfont.c
@@ -214,11 +214,14 @@ xftfont_fix_match (pat, match)
214 FcPatternDel (match, FC_HINT_STYLE); 214 FcPatternDel (match, FC_HINT_STYLE);
215 FcPatternAddInteger (match, FC_HINT_STYLE, i); 215 FcPatternAddInteger (match, FC_HINT_STYLE, i);
216 } 216 }
217#ifdef FC_LCD_FILTER
218 /* Older fontconfig versions don't have FC_LCD_FILTER. */
217 if (FcResultMatch == FcPatternGetInteger (pat, FC_LCD_FILTER, 0, &i)) 219 if (FcResultMatch == FcPatternGetInteger (pat, FC_LCD_FILTER, 0, &i))
218 { 220 {
219 FcPatternDel (match, FC_LCD_FILTER); 221 FcPatternDel (match, FC_LCD_FILTER);
220 FcPatternAddInteger (match, FC_LCD_FILTER, i); 222 FcPatternAddInteger (match, FC_LCD_FILTER, i);
221 } 223 }
224#endif
222 if (FcResultMatch == FcPatternGetInteger (pat, FC_RGBA, 0, &i)) 225 if (FcResultMatch == FcPatternGetInteger (pat, FC_RGBA, 0, &i))
223 { 226 {
224 FcPatternDel (match, FC_RGBA); 227 FcPatternDel (match, FC_RGBA);
diff --git a/src/xsettings.c b/src/xsettings.c
index 84e05a1898a..f84dd6cb7ca 100644
--- a/src/xsettings.c
+++ b/src/xsettings.c
@@ -310,6 +310,8 @@ parse_xft_settings (prop, bytes, settings)
310 } 310 }
311 else if (strcmp (name, "Xft/DPI") == 0) 311 else if (strcmp (name, "Xft/DPI") == 0)
312 settings->dpi = (double)ival/1024.0; 312 settings->dpi = (double)ival/1024.0;
313#ifdef FC_LCD_FILTER
314 /* Older fontconfig versions don't have FC_LCD_FILTER. */
313 else if (strcmp (name, "Xft/lcdfilter") == 0) 315 else if (strcmp (name, "Xft/lcdfilter") == 0)
314 { 316 {
315 if (strcmp (sval, "none") == 0) 317 if (strcmp (sval, "none") == 0)
@@ -317,6 +319,7 @@ parse_xft_settings (prop, bytes, settings)
317 else if (strcmp (sval, "lcddefault") == 0) 319 else if (strcmp (sval, "lcddefault") == 0)
318 settings->lcdfilter = FC_LCD_DEFAULT; 320 settings->lcdfilter = FC_LCD_DEFAULT;
319 } 321 }
322#endif
320 } 323 }
321 } 324 }
322 325
@@ -376,7 +379,10 @@ apply_xft_settings (dpyinfo, send_event_p)
376 FcPatternGetBool (pat, FC_ANTIALIAS, 0, &oldsettings.aa); 379 FcPatternGetBool (pat, FC_ANTIALIAS, 0, &oldsettings.aa);
377 FcPatternGetBool (pat, FC_HINTING, 0, &oldsettings.hinting); 380 FcPatternGetBool (pat, FC_HINTING, 0, &oldsettings.hinting);
378 FcPatternGetInteger (pat, FC_HINT_STYLE, 0, &oldsettings.hintstyle); 381 FcPatternGetInteger (pat, FC_HINT_STYLE, 0, &oldsettings.hintstyle);
382#ifdef FC_LCD_FILTER
383 /* Older fontconfig versions don't have FC_LCD_FILTER. */
379 FcPatternGetInteger (pat, FC_LCD_FILTER, 0, &oldsettings.lcdfilter); 384 FcPatternGetInteger (pat, FC_LCD_FILTER, 0, &oldsettings.lcdfilter);
385#endif
380 FcPatternGetInteger (pat, FC_RGBA, 0, &oldsettings.rgba); 386 FcPatternGetInteger (pat, FC_RGBA, 0, &oldsettings.rgba);
381 FcPatternGetDouble (pat, FC_DPI, 0, &oldsettings.dpi); 387 FcPatternGetDouble (pat, FC_DPI, 0, &oldsettings.dpi);
382 388
@@ -398,12 +404,15 @@ apply_xft_settings (dpyinfo, send_event_p)
398 FcPatternAddInteger (pat, FC_RGBA, settings.rgba); 404 FcPatternAddInteger (pat, FC_RGBA, settings.rgba);
399 ++changed; 405 ++changed;
400 } 406 }
407#ifdef FC_LCD_FILTER
408 /* Older fontconfig versions don't have FC_LCD_FILTER. */
401 if (oldsettings.lcdfilter != settings.lcdfilter) 409 if (oldsettings.lcdfilter != settings.lcdfilter)
402 { 410 {
403 FcPatternDel (pat, FC_LCD_FILTER); 411 FcPatternDel (pat, FC_LCD_FILTER);
404 FcPatternAddInteger (pat, FC_LCD_FILTER, settings.lcdfilter); 412 FcPatternAddInteger (pat, FC_LCD_FILTER, settings.lcdfilter);
405 ++changed; 413 ++changed;
406 } 414 }
415#endif
407 if (oldsettings.hintstyle != settings.hintstyle) 416 if (oldsettings.hintstyle != settings.hintstyle)
408 { 417 {
409 FcPatternDel (pat, FC_HINT_STYLE); 418 FcPatternDel (pat, FC_HINT_STYLE);