diff options
Diffstat (limited to 'src')
| -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; |