diff options
| author | Jan Djärv | 2009-11-17 09:53:45 +0000 |
|---|---|---|
| committer | Jan Djärv | 2009-11-17 09:53:45 +0000 |
| commit | a6eb20d8fe270d70a28971719935479f6fa99c31 (patch) | |
| tree | 23046d835e1912bb31a55d4fe02df109e80ff5c6 /src | |
| parent | ad413b3564689010ec221562810e5bc373d8c60d (diff) | |
| download | emacs-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/ChangeLog | 5 | ||||
| -rw-r--r-- | src/xftfont.c | 3 | ||||
| -rw-r--r-- | src/xsettings.c | 9 |
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 @@ | |||
| 1 | 2009-11-17 Jan Djärv <jan.h.d@swipnet.se> | 1 | 2009-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); |