diff options
| author | Kenichi Handa | 2008-06-20 12:28:22 +0000 |
|---|---|---|
| committer | Kenichi Handa | 2008-06-20 12:28:22 +0000 |
| commit | dc2226d0dc1c685f5d9bcd949ea3d2584651eb57 (patch) | |
| tree | 4560ce175f35821b93664f2e601158c934a04956 /src | |
| parent | 5f83939ba4725a2d9400e7e1082a40f8b3255d91 (diff) | |
| download | emacs-dc2226d0dc1c685f5d9bcd949ea3d2584651eb57.tar.gz emacs-dc2226d0dc1c685f5d9bcd949ea3d2584651eb57.zip | |
(xftfont_open): Add FOUNDRY, SPACING, DPI, SCALABLE to the pattern.
Diffstat (limited to 'src')
| -rw-r--r-- | src/ChangeLog | 3 | ||||
| -rw-r--r-- | src/xftfont.c | 17 |
2 files changed, 20 insertions, 0 deletions
diff --git a/src/ChangeLog b/src/ChangeLog index f005d1bf702..52e8901ff87 100644 --- a/src/ChangeLog +++ b/src/ChangeLog | |||
| @@ -1,5 +1,8 @@ | |||
| 1 | 2008-06-20 Kenichi Handa <handa@m17n.org> | 1 | 2008-06-20 Kenichi Handa <handa@m17n.org> |
| 2 | 2 | ||
| 3 | * xftfont.c (xftfont_open): Add FOUNDRY, SPACING, DPI, SCALABLE to | ||
| 4 | the pattern. | ||
| 5 | |||
| 3 | * fontset.c (fontset_from_font): Copy font_spec before changing | 6 | * fontset.c (fontset_from_font): Copy font_spec before changing |
| 4 | the elements. | 7 | the elements. |
| 5 | 8 | ||
diff --git a/src/xftfont.c b/src/xftfont.c index 7d5bf245cb6..aa6c270e647 100644 --- a/src/xftfont.c +++ b/src/xftfont.c | |||
| @@ -219,6 +219,23 @@ xftfont_open (f, entity, pixel_size) | |||
| 219 | val = AREF (entity, FONT_FAMILY_INDEX); | 219 | val = AREF (entity, FONT_FAMILY_INDEX); |
| 220 | if (! NILP (val)) | 220 | if (! NILP (val)) |
| 221 | FcPatternAddString (pat, FC_FAMILY, (FcChar8 *) SDATA (SYMBOL_NAME (val))); | 221 | FcPatternAddString (pat, FC_FAMILY, (FcChar8 *) SDATA (SYMBOL_NAME (val))); |
| 222 | val = AREF (entity, FONT_FOUNDRY_INDEX); | ||
| 223 | if (! NILP (val)) | ||
| 224 | FcPatternAddString (pat, FC_FOUNDRY, (FcChar8 *) SDATA (SYMBOL_NAME (val))); | ||
| 225 | val = AREF (entity, FONT_SPACING_INDEX); | ||
| 226 | if (! NILP (val)) | ||
| 227 | FcPatternAddInteger (pat, FC_SPACING, XINT (val)); | ||
| 228 | val = AREF (entity, FONT_DPI_INDEX); | ||
| 229 | if (! NILP (val)) | ||
| 230 | { | ||
| 231 | double dbl = XINT (val); | ||
| 232 | |||
| 233 | FcPatternAddDouble (pat, FC_DPI, dbl); | ||
| 234 | } | ||
| 235 | val = AREF (entity, FONT_AVGWIDTH_INDEX); | ||
| 236 | if (INTEGERP (val) && XINT (val) == 0) | ||
| 237 | FcPatternAddBool (pat, FC_SCALABLE, FcTrue); | ||
| 238 | |||
| 222 | for (tail = AREF (entity, FONT_EXTRA_INDEX); CONSP (tail); tail = XCDR (tail)) | 239 | for (tail = AREF (entity, FONT_EXTRA_INDEX); CONSP (tail); tail = XCDR (tail)) |
| 223 | { | 240 | { |
| 224 | Lisp_Object key, val; | 241 | Lisp_Object key, val; |