[tlbuild] xdvipdfmx

Olaf Weber olaf at infovore.xs4all.nl
Tue May 20 19:44:07 CEST 2008


Jonathan Kew writes:
> On 20 May 2008, at 5:19 pm, Olaf Weber wrote:

>> Does the standalone xdvipdfmx binary compile at all?

> The code in source/texk/xdvipdfmx should compile (in source/Work/texk/
> xdvipdfmx) as part of the standard Build process.

> I'm not sure if it would compile separately, just doing configure &&
> make in the xdvipdfmx dir, as it depends on kpathsea and other libs
> that the Build script creates first. The xdvipdfmx makefile itself
> might not have all the proper dependencies to ensure this happens.

I did mean as part of the standard build process.

>> On IRIX I'm
>> getting errors in non-#ifdef-XETEX parts of the source that would
>> appear to unresolvable w/o patching the sources.
>> 
>> Or did the configuration process break in my case?

> Possibly. Can you post your build.log somewhere we can take a look at
> what happened, and what errors you're getting?

> JK

The logs were overwritten, and I'm reconstructing now.

But to give you an idea, these are among the changes I had to make
during my attempts to get things to work.  Are we basically linking
the objects created for use in xetex into the self-contained binary as
well, even though a "pure" self-contained compile would result in
different configuration options being seen by the C code?



Index: texk/xdvipdfmx/src/sfnt.h
===================================================================
--- texk/xdvipdfmx/src/sfnt.h	(revision 8164)
+++ texk/xdvipdfmx/src/sfnt.h	(working copy)
@@ -112,6 +112,7 @@
 #define sfnt_get_long(s)   ((LONG)   ft_signed_quad  (s))
 
 #define sfnt_seek_set(s,o) (s)->loc = (o)
+#define sfnt_tell(s)       ((s)->loc)
 #define sfnt_read(b,l,s)   ft_read((b), (l), (s))
 #else
 /* get_***_*** from numbers.h */
@@ -123,6 +124,7 @@
 #define sfnt_get_long(s)   ((LONG)   get_signed_quad  ((s)->stream))
 
 #define sfnt_seek_set(s,o)   seek_absolute((s)->stream, (o))
+#define sfnt_tell(s)         tell_position((s)->stream)
 #define sfnt_read(b,l,s)     fread((b), 1, (l), (s)->stream)
 #endif
 
Index: texk/xdvipdfmx/src/cff.c
===================================================================
--- texk/xdvipdfmx/src/cff.c	(revision 8164)
+++ texk/xdvipdfmx/src/cff.c	(working copy)
@@ -140,7 +140,7 @@
   cff->string = cff_get_index(cff);
 
   /* offset to GSubr */
-  cff->gsubr_offset = cff->sfont->loc - offset;
+  cff->gsubr_offset = sfnt_tell(cff->sfont) - offset;
 
   /* Number of glyphs */
   offset = (long) cff_dict_get(cff->topdict, "CharStrings", 0);
Index: texk/xdvipdfmx/src/cidtype0.c
===================================================================
--- texk/xdvipdfmx/src/cidtype0.c	(revision 8164)
+++ texk/xdvipdfmx/src/cidtype0.c	(working copy)
@@ -590,7 +590,7 @@
   cff_seek_set(cffont, offset);
   idx = cff_get_index_header(cffont);
   /* offset is now absolute offset ... bad */
-  offset = cffont->sfont->loc;
+  offset = sfnt_tell(cffont->sfont);
   
   if ((cs_count = idx->count) < 2) {
     ERROR("No valid charstring data found.");
@@ -1019,7 +1019,7 @@
   cff_seek_set(cffont, offset);
   idx = cff_get_index_header(cffont);
   /* offset is now absolute offset ... bad */
-  offset = cffont->sfont->loc;
+  offset = sfnt_tell(cffont->sfont);
 
   if (idx->count < 2)
     ERROR("No valid charstring data found.");

-- 
Olaf Weber

               (This space left blank for technical reasons.)



More information about the tlbuild mailing list