aboutsummaryrefslogtreecommitdiffstats
path: root/src/ftfont.c
diff options
context:
space:
mode:
authorKenichi Handa <[email protected]>2011-01-28 21:31:39 +0900
committerKenichi Handa <[email protected]>2011-01-28 21:31:39 +0900
commit9e269017e71b8a8208cd2d51c90d8fc61e69182d (patch)
tree4f9ce39c7f305c91e0a288c0b56a06f04c792383 /src/ftfont.c
parent17dd1fc895d259793dd4681ca6b45fb0b9fd733e (diff)
(ftfont_spec_pattern): Check each extra property value.
Diffstat (limited to 'src/ftfont.c')
-rw-r--r--src/ftfont.c20
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;