summaryrefslogtreecommitdiff
path: root/Build/source/texk/dvipdfm-x/src/xbb.c
diff options
context:
space:
mode:
Diffstat (limited to 'Build/source/texk/dvipdfm-x/src/xbb.c')
-rw-r--r--Build/source/texk/dvipdfm-x/src/xbb.c43
1 files changed, 12 insertions, 31 deletions
diff --git a/Build/source/texk/dvipdfm-x/src/xbb.c b/Build/source/texk/dvipdfm-x/src/xbb.c
index 69f653cef19..cb5ca200a91 100644
--- a/Build/source/texk/dvipdfm-x/src/xbb.c
+++ b/Build/source/texk/dvipdfm-x/src/xbb.c
@@ -215,29 +215,6 @@ static void do_png (FILE *fp, char *filename)
#endif /* HAVE_LIBPNG */
#ifdef XETEX
-static void write_xbb_old(char *fname, int bbllx, int bblly, int bburx, int bbury)
-{
- char *outname;
- FILE *fp;
-
- outname = make_xbb_filename(fname);
- if ((fp = MFOPEN(outname, xbb_file_mode)) == NULL) {
- fprintf(stderr, "Unable to open output file: %s\n", outname);
- RELEASE(outname);
- return;
- }
- if (verbose) {
- MESG("Writing to %s: ", outname);
- MESG("Bounding box: %d %d %d %d\n", bbllx, bblly, bburx, bbury);
- }
- fprintf(fp, "%%%%Title: %s\n", fname);
- fprintf(fp, "%%%%Creator: %s %s\n", XBB_PROGRAM, XBB_VERSION);
- fprintf(fp, "%%%%BoundingBox: %d %d %d %d\n", bbllx, bblly, bburx, bbury);
- do_time(fp);
- RELEASE(outname);
- MFCLOSE(fp);
-}
-
static int rect_equal (pdf_obj *rect1, pdf_obj *rect2)
{
int i;
@@ -248,7 +225,8 @@ static int rect_equal (pdf_obj *rect1, pdf_obj *rect2)
return 1;
}
-static int pdf_get_info (FILE *image_file, char *filename, int *llx, int *lly, int *urx, int *ury)
+static int pdf_get_info (FILE *image_file, char *filename, int *version,
+ double *llx, double *lly, double *urx, double *ury)
{
pdf_obj *page_tree;
pdf_obj *bbox;
@@ -349,10 +327,12 @@ static int pdf_get_info (FILE *image_file, char *filename, int *llx, int *lly, i
return -1;
}
- *llx = (int)pdf_number_value(pdf_get_array(bbox, 0));
- *lly = (int)pdf_number_value(pdf_get_array(bbox, 1));
- *urx = (int)pdf_number_value(pdf_get_array(bbox, 2));
- *ury = (int)pdf_number_value(pdf_get_array(bbox, 3));
+ *version = pdf_file_get_version(pf);
+
+ *llx = pdf_number_value(pdf_get_array(bbox, 0));
+ *lly = pdf_number_value(pdf_get_array(bbox, 1));
+ *urx = pdf_number_value(pdf_get_array(bbox, 2));
+ *ury = pdf_number_value(pdf_get_array(bbox, 3));
pdf_release_obj(bbox);
@@ -362,13 +342,14 @@ static int pdf_get_info (FILE *image_file, char *filename, int *llx, int *lly, i
static void do_pdf (FILE *fp, char *filename)
{
- int llx, lly, urx, ury;
+ double llx, lly, urx, ury;
+ int version;
- if (pdf_get_info(fp, filename, &llx, &lly, &urx, &ury) < 0) {
+ if (pdf_get_info(fp, filename, &version, &llx, &lly, &urx, &ury) < 0) {
fprintf (stderr, "%s does not look like a PDF file...\n", filename);
return;
}
- write_xbb_old(filename, llx, lly, urx, ury);
+ write_xbb(filename, llx, lly, urx, ury, version, 1);
return;
}
#else