diff options
author | Kenichi Handa <[email protected]> | 2011-01-28 21:31:39 +0900 |
---|---|---|
committer | Kenichi Handa <[email protected]> | 2011-01-28 21:31:39 +0900 |
commit | 9e269017e71b8a8208cd2d51c90d8fc61e69182d (patch) | |
tree | 4f9ce39c7f305c91e0a288c0b56a06f04c792383 /src/ftfont.c | |
parent | 17dd1fc895d259793dd4681ca6b45fb0b9fd733e (diff) |
(ftfont_spec_pattern): Check each extra property value.
Diffstat (limited to 'src/ftfont.c')
-rw-r--r-- | src/ftfont.c | 20 |
1 files changed, 13 insertions, 7 deletions
diff --git a/src/ftfont.c b/src/ftfont.c index 9584422fc0..a20f2013e5 100644 --- a/src/ftfont.c +++ b/src/ftfont.c @@ -749,7 +749,10 @@ ftfont_spec_pattern (Lisp_Object spec, char *otlayout, struct OpenTypeSpec **ots key = XCAR (XCAR (extra)), val = XCDR (XCAR (extra)); if (EQ (key, QCdpi)) - dpi = XINT (val); + { + if (INTEGERP (val)) + dpi = XINT (val); + } else if (EQ (key, QClang)) { if (! langset) @@ -769,12 +772,15 @@ ftfont_spec_pattern (Lisp_Object spec, char *otlayout, struct OpenTypeSpec **ots } else if (EQ (key, QCotf)) { - *otspec = ftfont_get_open_type_spec (val); - if (! *otspec) - return NULL; - strcat (otlayout, "otlayout:"); - OTF_TAG_STR ((*otspec)->script_tag, otlayout + 9); - script = (*otspec)->script; + if (CONSP (val)) + { + *otspec = ftfont_get_open_type_spec (val); + if (! *otspec) + return NULL; + strcat (otlayout, "otlayout:"); + OTF_TAG_STR ((*otspec)->script_tag, otlayout + 9); + script = (*otspec)->script; + } } else if (EQ (key, QCscript)) script = val; |