aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorKenichi Handa2008-10-24 13:12:55 +0000
committerKenichi Handa2008-10-24 13:12:55 +0000
commit064766f2e8c5393c16fd2e95f81d3a6c3afd9014 (patch)
tree782895c19a2399ac5393634c216c54afe3406f20 /src
parent091b0137bf6839a3ba61dcc7ea35214c7ecd868b (diff)
downloademacs-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/ChangeLog11
-rw-r--r--src/ftfont.c8
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 @@
12008-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
72008-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
12008-10-24 Michael Albinus <michael.albinus@gmx.de> 122008-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}