diff options
| author | Kenichi Handa | 2008-10-24 13:12:55 +0000 |
|---|---|---|
| committer | Kenichi Handa | 2008-10-24 13:12:55 +0000 |
| commit | 064766f2e8c5393c16fd2e95f81d3a6c3afd9014 (patch) | |
| tree | 782895c19a2399ac5393634c216c54afe3406f20 /src | |
| parent | 091b0137bf6839a3ba61dcc7ea35214c7ecd868b (diff) | |
| download | emacs-064766f2e8c5393c16fd2e95f81d3a6c3afd9014.tar.gz emacs-064766f2e8c5393c16fd2e95f81d3a6c3afd9014.zip | |
(ftfont_otf_features): Fix previous change.
(ftfont_otf_capability): Check FeatureList.FeatureCount before
calling ftfont_otf_features.
Diffstat (limited to 'src')
| -rw-r--r-- | src/ChangeLog | 11 | ||||
| -rw-r--r-- | src/ftfont.c | 8 |
2 files changed, 16 insertions, 3 deletions
diff --git a/src/ChangeLog b/src/ChangeLog index eafe5ac553a..7620a321c18 100644 --- a/src/ChangeLog +++ b/src/ChangeLog | |||
| @@ -1,3 +1,14 @@ | |||
| 1 | 2008-10-24 Kenichi Handa <handa@m17n.org> | ||
| 2 | |||
| 3 | * ftfont.c (ftfont_otf_features): Fix previous change. | ||
| 4 | (ftfont_otf_capability): Check FeatureList.FeatureCount before | ||
| 5 | calling ftfont_otf_features. | ||
| 6 | |||
| 7 | 2008-10-23 Kenichi Handa <handa@m17n.org> | ||
| 8 | |||
| 9 | * font.c (font_match_p): Fix for the case that a vector of | ||
| 10 | characters is in script-representative-chars. | ||
| 11 | |||
| 1 | 2008-10-24 Michael Albinus <michael.albinus@gmx.de> | 12 | 2008-10-24 Michael Albinus <michael.albinus@gmx.de> |
| 2 | 13 | ||
| 3 | * dbusbind.c (xd_in_read_queued_messages): New variable. | 14 | * dbusbind.c (xd_in_read_queued_messages): New variable. |
diff --git a/src/ftfont.c b/src/ftfont.c index cc78e29ebbd..6d1033555d3 100644 --- a/src/ftfont.c +++ b/src/ftfont.c | |||
| @@ -1360,7 +1360,7 @@ ftfont_otf_features (gsub_gpos) | |||
| 1360 | for (features = Qnil, k = otf_langsys->FeatureCount - 1; k >= 0; k--) | 1360 | for (features = Qnil, k = otf_langsys->FeatureCount - 1; k >= 0; k--) |
| 1361 | { | 1361 | { |
| 1362 | l = otf_langsys->FeatureIndex[k]; | 1362 | l = otf_langsys->FeatureIndex[k]; |
| 1363 | if (l > gsub_gpos->FeatureList.FeatureCount) | 1363 | if (l >= gsub_gpos->FeatureList.FeatureCount) |
| 1364 | continue; | 1364 | continue; |
| 1365 | OTF_TAG_SYM (sym, gsub_gpos->FeatureList.Feature[l].FeatureTag); | 1365 | OTF_TAG_SYM (sym, gsub_gpos->FeatureList.Feature[l].FeatureTag); |
| 1366 | features = Fcons (sym, features); | 1366 | features = Fcons (sym, features); |
| @@ -1391,9 +1391,11 @@ ftfont_otf_capability (font) | |||
| 1391 | if (! otf) | 1391 | if (! otf) |
| 1392 | return Qnil; | 1392 | return Qnil; |
| 1393 | gsub_gpos = Fcons (Qnil, Qnil); | 1393 | gsub_gpos = Fcons (Qnil, Qnil); |
| 1394 | if (OTF_get_table (otf, "GSUB") == 0) | 1394 | if (OTF_get_table (otf, "GSUB") == 0 |
| 1395 | && otf->gsub->FeatureList.FeatureCount > 0) | ||
| 1395 | XSETCAR (gsub_gpos, ftfont_otf_features (otf->gsub)); | 1396 | XSETCAR (gsub_gpos, ftfont_otf_features (otf->gsub)); |
| 1396 | if (OTF_get_table (otf, "GPOS") == 0) | 1397 | if (OTF_get_table (otf, "GPOS") == 0 |
| 1398 | && otf->gpos->FeatureList.FeatureCount > 0) | ||
| 1397 | XSETCDR (gsub_gpos, ftfont_otf_features (otf->gpos)); | 1399 | XSETCDR (gsub_gpos, ftfont_otf_features (otf->gpos)); |
| 1398 | return gsub_gpos; | 1400 | return gsub_gpos; |
| 1399 | } | 1401 | } |