summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAkira Kakuto <kakuto@fuk.kindai.ac.jp>2012-08-21 10:17:20 +0000
committerAkira Kakuto <kakuto@fuk.kindai.ac.jp>2012-08-21 10:17:20 +0000
commit082ace17e3f07493aa8d2009987e922a1c2b9746 (patch)
treec9d44bb66caa33bae4b93c3873525805c254b6ab
parent82f5e68f126a54f0dfe45b4e9dd42e9af6922768 (diff)
support large truetype fonts
git-svn-id: svn://tug.org/texlive/trunk@27481 c570f23f-e606-0410-a88d-b1316a301751
-rw-r--r--Build/source/texk/xdvipdfmx/ChangeLog.TL5
-rw-r--r--Build/source/texk/xdvipdfmx/src/tt_post.c13
2 files changed, 14 insertions, 4 deletions
diff --git a/Build/source/texk/xdvipdfmx/ChangeLog.TL b/Build/source/texk/xdvipdfmx/ChangeLog.TL
index c5c5061b22b..04da7f7baee 100644
--- a/Build/source/texk/xdvipdfmx/ChangeLog.TL
+++ b/Build/source/texk/xdvipdfmx/ChangeLog.TL
@@ -1,6 +1,11 @@
ChangeLog.TL: TeX Live (TL) changes for xdvipdfmx
=================================================
+2012-08-21 Akira Kakuto <kakuto@fuk.kindai.ac.jp>
+
+ * tt_post.c (read_v2_post_names): support large truetype fonts
+ which are strictly speaking out of spec, idx > 32767.
+
2012-08-21 keiichirou shikano <k16.shikano@gmail.com>
* src/cff.c, src/cff.h. src/type1.c: fix type1 SEAC bug.
diff --git a/Build/source/texk/xdvipdfmx/src/tt_post.c b/Build/source/texk/xdvipdfmx/src/tt_post.c
index d68705c1624..da929bb8d21 100644
--- a/Build/source/texk/xdvipdfmx/src/tt_post.c
+++ b/Build/source/texk/xdvipdfmx/src/tt_post.c
@@ -50,15 +50,20 @@ read_v2_post_names (struct tt_post_table *post, sfnt *sfont)
idx = sfnt_get_ushort(sfont);
if (idx >= 258) {
if (idx > 32767) {
- /* although this is strictly speaking out of spec, it seems to work
- and there are real-life fonts that use it */
+ /* Although this is strictly speaking out of spec, it seems to work
+ and there are real-life fonts that use it.
+ We show a warning only once, instead of thousands of times */
static char warning_issued = 0;
if (!warning_issued) {
WARN("TrueType post table name index %u > 32767", idx);
warning_issued = 1;
}
- /* don't zero the index - we assume it's valid */
- /* idx = 0; */
+ /* In a real-life large font, (x)dvipdfmx crashes if we use
+ nonvanishing idx in the case of idx > 32767.
+ If we set idx = 0, (x)dvipdfmx works fine for the font and
+ created pdf seems fine. The post table may not be important
+ in such a case */
+ idx = 0;
}
post->count++;
}