diff options
| author | Kenichi Handa | 2011-01-28 21:31:39 +0900 |
|---|---|---|
| committer | Kenichi Handa | 2011-01-28 21:31:39 +0900 |
| commit | 9e269017e71b8a8208cd2d51c90d8fc61e69182d (patch) | |
| tree | 4f9ce39c7f305c91e0a288c0b56a06f04c792383 | |
| parent | 17dd1fc895d259793dd4681ca6b45fb0b9fd733e (diff) | |
| download | emacs-9e269017e71b8a8208cd2d51c90d8fc61e69182d.tar.gz emacs-9e269017e71b8a8208cd2d51c90d8fc61e69182d.zip | |
(ftfont_spec_pattern): Check each extra property value.
| -rw-r--r-- | src/ChangeLog | 5 | ||||
| -rw-r--r-- | src/ftfont.c | 20 |
2 files changed, 18 insertions, 7 deletions
diff --git a/src/ChangeLog b/src/ChangeLog index d3ac1b31788..5af18f38877 100644 --- a/src/ChangeLog +++ b/src/ChangeLog | |||
| @@ -1,3 +1,8 @@ | |||
| 1 | 2011-01-28 Kenichi Handa <handa@m17n.org> | ||
| 2 | |||
| 3 | * ftfont.c (ftfont_spec_pattern): Check each extra property | ||
| 4 | value. | ||
| 5 | |||
| 1 | 2011-01-28 Stefan Monnier <monnier@iro.umontreal.ca> | 6 | 2011-01-28 Stefan Monnier <monnier@iro.umontreal.ca> |
| 2 | 7 | ||
| 3 | * xdisp.c (safe_eval_handler): Distinguish symbols and strings. | 8 | * xdisp.c (safe_eval_handler): Distinguish symbols and strings. |
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; |