summaryrefslogtreecommitdiff
path: root/Build/source/texk/xdvipdfmx/src/pkfont.c
diff options
context:
space:
mode:
authorJonathan Kew <jfkthame@googlemail.com>2009-06-07 16:05:59 +0000
committerJonathan Kew <jfkthame@googlemail.com>2009-06-07 16:05:59 +0000
commit54e3c992e5fdbef6a726b9df1f541ce568a710ae (patch)
treeb7eeb31d3c89a2e202ed1f45788b86b52abc822c /Build/source/texk/xdvipdfmx/src/pkfont.c
parent4569d4a8a1dfaa90814894444753e232a78146f9 (diff)
xdvipdfmx 0.7.5 - merging small bugfixes from dvipdfmx
git-svn-id: svn://tug.org/texlive/trunk@13657 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Build/source/texk/xdvipdfmx/src/pkfont.c')
-rw-r--r--Build/source/texk/xdvipdfmx/src/pkfont.c20
1 files changed, 8 insertions, 12 deletions
diff --git a/Build/source/texk/xdvipdfmx/src/pkfont.c b/Build/source/texk/xdvipdfmx/src/pkfont.c
index 4822d50bc71..803ca0183eb 100644
--- a/Build/source/texk/xdvipdfmx/src/pkfont.c
+++ b/Build/source/texk/xdvipdfmx/src/pkfont.c
@@ -1,4 +1,4 @@
-/* $Header: /home/cvsroot/dvipdfmx/src/pkfont.c,v 1.17 2007/11/14 03:12:21 chofchof Exp $
+/* $Header: /home/cvsroot/dvipdfmx/src/pkfont.c,v 1.19 2008/11/03 22:18:52 matthias Exp $
This is dvipdfmx, an eXtended version of dvipdfm by Mark A. Wicks.
@@ -416,7 +416,7 @@ struct pk_header_
unsigned long pkt_len;
SIGNED_QUAD chrcode;
SIGNED_QUAD wd, dx, dy;
- UNSIGNED_QUAD bm_wd, bm_ht, bm_hoff, bm_voff;
+ SIGNED_QUAD bm_wd, bm_ht, bm_hoff, bm_voff;
int dyn_f, run_color;
};
@@ -594,7 +594,8 @@ pdf_font_load_pkfont (pdf_font *font)
* rendering in several viewers.
*/
pix2charu = 72. * 1000. / ((double) base_dpi) / point_size;
- bbox.llx = bbox.lly = bbox.urx = bbox.ury = 0.0;
+ bbox.llx = bbox.lly = HUGE_VAL;
+ bbox.urx = bbox.ury = -HUGE_VAL;
while ((opcode = fgetc(fp)) >= 0 && opcode != PK_POST) {
if (opcode < 240) {
struct pk_header_ pkh;
@@ -622,8 +623,8 @@ pdf_font_load_pkfont (pdf_font *font)
/* Update font BBox info */
bbox.llx = MIN(bbox.llx, -pkh.bm_hoff);
bbox.lly = MIN(bbox.lly, pkh.bm_voff - pkh.bm_ht);
- bbox.urx = MIN(bbox.urx, pkh.bm_wd - pkh.bm_hoff);
- bbox.ury = MIN(bbox.ury, pkh.bm_voff);
+ bbox.urx = MAX(bbox.urx, pkh.bm_wd - pkh.bm_hoff);
+ bbox.ury = MAX(bbox.ury, pkh.bm_voff);
pkt_ptr = NEW(pkh.pkt_len, unsigned char);
if ((bytesread = fread(pkt_ptr, 1, pkh.pkt_len, fp))!= pkh.pkt_len) {
@@ -746,7 +747,8 @@ pdf_font_load_pkfont (pdf_font *font)
pdf_add_dict(fontdict,
pdf_new_name("Encoding"), pdf_ref_obj(encoding));
pdf_release_obj(encoding);
- }
+ } else
+ pdf_release_obj(tmp_array);
/* FontBBox: Accurate value is important.
*/
@@ -788,11 +790,5 @@ pdf_font_load_pkfont (pdf_font *font)
pdf_add_dict(fontdict,
pdf_new_name("LastChar"), pdf_new_number(lastchar));
-#if ENABLE_GLYPHENC
- if (encoding_id >= 0) {
- pdf_encoding_add_usedchars(encoding_id, usedchars);
- }
-#endif /* ENABLE_GLYPHENC */
-
return 0;
}