1 diff -riwBu -Xex dtl\dt2dv.c dtl-modified\dt2dv.c
\r
2 --- dtl\dt2dv.c Wed Mar 08 01:00:00 1995
\r
3 +++ dtl-modified\dt2dv.c Mon Oct 02 13:28:35 2006
\r
5 /* dt2dv - convert human-readable "DTL" file to DVI format
\r
6 - this is intended to invert dv2dt version 0.6.0
\r
7 - - version 0.6.1 - 14:38 GMT +11 Thu 9 March 1995
\r
8 + - version 0.6.2 - 27 July 2005
\r
9 - Geoffrey Tobin G.Tobin@ee.latrobe.edu.au
\r
10 - fixes: Michal Tomczak-Jaegermann ntomczak@vm.ucs.ualberta.ca
\r
11 Nelson H. F. Beebe beebe@math.utah.edu
\r
12 + Angus Leeming leeming@lyx.org: Enable dt2dv to handle
\r
13 + .dvi files containing strings longer than 1024 chars.
\r
14 - Reference: "The DVI Driver Standard, Level 0",
\r
15 by The TUG DVI Driver Standards Committee.
\r
16 Appendix A, "Device-Independent File Format".
\r
18 size_t max; /* capacity of buf */
\r
19 S4 wrote; /* number of characters written into buf */
\r
20 size_t read; /* position in buf of next character to read from buf */
\r
21 - char * buf; /* line buffer */
\r
22 + unsigned char * buf; /* line buffer */
\r
25 char linebuf[MAXLINE+1];
\r
26 @@ -1089,7 +1091,7 @@
\r
30 - else if ( ! isprint (c) && ! isspace (c))
\r
31 + else if ( ! isprint (c & 0x7f) && ! isspace (c))
\r
35 @@ -2223,7 +2225,7 @@
\r
36 /* transfer (length and) quoted string from dtl to dvi file, */
\r
37 /* return number of bytes written to dvi file. */
\r
40 + U4 k, k2, lstr_maxsize;
\r
44 @@ -2232,12 +2234,13 @@
\r
45 fprintf (stderr, "(xfer_len_string) : entering xfer_len_string.\n");
\r
48 - init_Lstring (&lstr, LSIZE);
\r
50 /* k[n] : length of special string */
\r
52 k = get_unsigned (dtl);
\r
54 + lstr_maxsize = (k > LSIZE) ? k : LSIZE;
\r
55 + init_Lstring (&lstr, lstr_maxsize);
\r
60 @@ -2567,7 +2570,7 @@
\r
62 /* c[4] : (hexadecimal) checksum : I (gt) would prefer this */
\r
63 xfer_hex (4, dtl, dvi);
\r
64 -#else /NOT HEX_CHECKSUM */
\r
65 +#else /*NOT HEX_CHECKSUM */
\r
66 /* c[4] : checksum (octal, for comparison with tftopl's .pl file) */
\r
67 xfer_oct (4, dtl, dvi);
\r
69 diff -riwBu -Xex dtl\Makefile dtl-modified\Makefile
\r
70 --- dtl\Makefile Tue Sep 19 23:59:17 2006
\r
71 +++ dtl-modified\Makefile Wed Jul 05 17:54:20 2006
\r
75 # Nelson H. F. Beebe
\r
77 +# Changes 27 July 2005 by Angus Leeming to enable the Makefile to
\r
78 +# work out of the box on both *nix and Windows machines under
\r
79 +# the MinSYS environment.
\r
81 +# The Makefile can also be used unaltered to build a Windows executable
\r
82 +# from a Linux box if make is invoked as:
\r
83 +# $ make EXEEXT='.exe' CC='i386-mingw32-gcc'
\r
84 #=======================================================================
\r
86 BINDIR = /usr/local/bin
\r
93 +# This is a GNU make extension.
\r
94 +# If you're flavour of make refuses to accept it,
\r
95 +# then simply hardcode EXEEXT.
\r
102 +DT2DV = dt2dv$(EXEEXT)
\r
103 +DV2DT = dv2dt$(EXEEXT)
\r
104 +EXES = $(DT2DV) $(DV2DT)
\r
108 +MAN2PS = sh ./man2ps
\r
109 MANDIR = /usr/local/man/man$(MANEXT)
\r
111 OBJS = dt2dv.o dv2dt.o
\r
112 @@ -44,23 +64,24 @@
\r
114 #=======================================================================
\r
116 -all: dtl check doc
\r
117 +#all: dtl check doc
\r
120 doc: dt2dv.hlp dv2dt.hlp dt2dv.ps dv2dt.ps
\r
125 check tests: hello example tripvdu edited
\r
127 dv2dt: dv2dt.o dtl.h
\r
128 - $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $@.o
\r
129 + $(CC) $(CFLAGS) $(LDFLAGS) -o $(DV2DT) dv2dt.o
\r
131 dt2dv: dt2dv.o dtl.h
\r
132 - $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $@.o
\r
133 + $(CC) $(CFLAGS) $(LDFLAGS) -o $(DT2DV) dt2dv.o
\r
135 -hello: hello.dtl $(EXES)
\r
136 - dt2dv hello.dtl hello2.dvi
\r
137 - dv2dt hello2.dvi hello2.dtl
\r
138 +hello: hello.dtl dv2dt dt2dv
\r
139 + ./$(DT2DV) hello.dtl hello2.dvi
\r
140 + ./$(DV2DT) hello2.dvi hello2.dtl
\r
141 -@diff hello.dtl hello2.dtl > hello.dif
\r
142 @if [ -s hello.dif ] ; \
\r
143 then echo ERROR: differences in hello.dif ; \
\r
144 @@ -69,11 +90,11 @@
\r
146 hello.dtl: hello.tex
\r
148 - dv2dt hello.dvi hello.dtl
\r
149 + ./$(DV2DT) hello.dvi hello.dtl
\r
151 -example: example.dtl $(EXES)
\r
152 - dt2dv example.dtl example2.dvi
\r
153 - dv2dt example2.dvi example2.dtl
\r
154 +example: example.dtl dv2dt dt2dv
\r
155 + ./$(DT2DV) example.dtl example2.dvi
\r
156 + ./$(DV2DT) example2.dvi example2.dtl
\r
157 -@diff example.dtl example2.dtl > example.dif
\r
158 @if [ -s example.dif ] ; \
\r
159 then echo ERROR: differences in example.dif ; \
\r
160 @@ -82,11 +103,11 @@
\r
162 example.dtl: example.tex
\r
164 - dv2dt example.dvi example.dtl
\r
165 + ./$(DV2DT) example.dvi example.dtl
\r
167 -tripvdu: tripvdu.dtl $(EXES)
\r
168 - dt2dv tripvdu.dtl tripvdu2.dvi
\r
169 - dv2dt tripvdu2.dvi tripvdu2.dtl
\r
170 +tripvdu: tripvdu.dtl dv2dt dt2dv
\r
171 + ./$(DT2DV) tripvdu.dtl tripvdu2.dvi
\r
172 + ./$(DV2DT) tripvdu2.dvi tripvdu2.dtl
\r
173 -@diff tripvdu.dtl tripvdu2.dtl > tripvdu.dif
\r
174 @if [ -s tripvdu.dif ] ; \
\r
175 then echo ERROR: differences in tripvdu.dif ; \
\r
176 @@ -95,15 +116,15 @@
\r
178 tripvdu.dtl: tripvdu.tex
\r
180 - dv2dt tripvdu.dvi tripvdu.dtl
\r
181 + ./$(DV2DT) tripvdu.dvi tripvdu.dtl
\r
183 # edited.txt is already a dtl file.
\r
185 -edited: edited.txt $(EXES)
\r
186 - dt2dv edited.txt edited.dvi
\r
187 - dv2dt edited.dvi edited2.dtl
\r
188 - dt2dv edited2.dtl edited2.dvi
\r
189 - dv2dt edited2.dvi edited3.dtl
\r
190 +edited: edited.txt dv2dt dt2dv
\r
191 + ./$(DT2DV) edited.txt edited.dvi
\r
192 + ./$(DV2DT) edited.dvi edited2.dtl
\r
193 + ./$(DT2DV) edited2.dtl edited2.dvi
\r
194 + ./$(DV2DT) edited2.dvi edited3.dtl
\r
195 @if [ -s edited.dif ] ; \
\r
196 then echo ERROR : differences in edited.dif ; \
\r
197 else $(RM) edited.dif ; \
\r
198 diff -riwBu -Xex dtl\man2ps dtl-modified\man2ps
\r
199 --- dtl\man2ps Tue Sep 19 23:59:22 2006
\r
200 +++ dtl-modified\man2ps Wed Sep 20 00:03:05 2006
\r
201 @@ -20,16 +20,16 @@
\r
204 # We can use either GNU groff or Sun Solaris troff + dpost
\r
205 -if [ -x /usr/local/bin/groff ]
\r
206 +if [ which groff > /dev/null ]
\r
208 TROFF="groff $FORMAT"
\r
210 -elif [ -x /usr/lib/lp/postscript/dpost ]
\r
211 ++elif [ which dpost > /dev/null ]
\r
213 TROFF="troff $FORMAT"
\r
214 TROFF2PS="/usr/lib/lp/postscript/dpost"
\r
216 - echo "Cannot find troff-to-PostScript filter"
\r
217 ++ echo "Cannot find troff-to-PostScript filter" >&2
\r