aboutsummaryrefslogtreecommitdiffstats
path: root/src/ftfont.c
diff options
context:
space:
mode:
authorKenichi Handa2011-01-28 21:31:39 +0900
committerKenichi Handa2011-01-28 21:31:39 +0900
commit9e269017e71b8a8208cd2d51c90d8fc61e69182d (patch)
tree4f9ce39c7f305c91e0a288c0b56a06f04c792383 /src/ftfont.c
parent17dd1fc895d259793dd4681ca6b45fb0b9fd733e (diff)
downloademacs-9e269017e71b8a8208cd2d51c90d8fc61e69182d.tar.gz
emacs-9e269017e71b8a8208cd2d51c90d8fc61e69182d.zip
(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 9584422fc06..a20f2013e5a 100644
--- a/src/ftfont.c
+++ b/src/ftfont.c
@@ -749,7 +749,10 @@ ftfont_spec_pattern (Lisp_Object spec, char *otlayout, struct OpenTypeSpec **ots
749 749
750 key = XCAR (XCAR (extra)), val = XCDR (XCAR (extra)); 750 key = XCAR (XCAR (extra)), val = XCDR (XCAR (extra));
751 if (EQ (key, QCdpi)) 751 if (EQ (key, QCdpi))
752 dpi = XINT (val); 752 {
753 if (INTEGERP (val))
754 dpi = XINT (val);
755 }
753 else if (EQ (key, QClang)) 756 else if (EQ (key, QClang))
754 { 757 {
755 if (! langset) 758 if (! langset)
@@ -769,12 +772,15 @@ ftfont_spec_pattern (Lisp_Object spec, char *otlayout, struct OpenTypeSpec **ots
769 } 772 }
770 else if (EQ (key, QCotf)) 773 else if (EQ (key, QCotf))
771 { 774 {
772 *otspec = ftfont_get_open_type_spec (val); 775 if (CONSP (val))
773 if (! *otspec) 776 {
774 return NULL; 777 *otspec = ftfont_get_open_type_spec (val);
775 strcat (otlayout, "otlayout:"); 778 if (! *otspec)
776 OTF_TAG_STR ((*otspec)->script_tag, otlayout + 9); 779 return NULL;
777 script = (*otspec)->script; 780 strcat (otlayout, "otlayout:");
781 OTF_TAG_STR ((*otspec)->script_tag, otlayout + 9);
782 script = (*otspec)->script;
783 }
778 } 784 }
779 else if (EQ (key, QCscript)) 785 else if (EQ (key, QCscript))
780 script = val; 786 script = val;