% This is a LaTeX file % % This file contains details of the XDVI port to DJGPP \documentstyle{article} \begin{document} \title{{\bf XDVI} for {\bf PC} under {\bf DV/X}} \author {Eric Ho \\ 9041477@SSCVAX.CIS.MCMASTER.CA} \maketitle This program is re-compiled using {\bf DJGPP}. As a result, the program expects 386 CPU and up with FPU as well as {\bf GO32}. Original {\bf XDVI} source is obtained from {\bf export.lcs.mit.edu:/contrib}. \section{Modifications} There are not many modifications done to the original xdvi except that fonts not available can now be substituted by specifying them in a file. The environmental variable {\bf TEXFONTSUB} points to this file. For example, {\bf TEXFONTSUB}=c:/xdvi/texfonts.sub". The filename texfonts.sub is arbitrary. One can rename it to some other name as long as the environmental variable TEXFONTSUB points to it. Format of the font substitute file (ASCII) is as follows: \vspace {10 pt} {\bf amr10} -$>$ {\bf cmr10} {\bf src2} -$>$ {\bf dest2} etc. \vspace {10 pt} where src2 is the unavailable font and dest2 is the font we intended to substitute. It is exactly as the font substitution machcanism found in {\bf DVIVGA}. For those interested in the image processing features provided by XDVI, please browse through the source and see if I did anything wrong in choosing suitable image quality since I do not know anything about image processing. Default \TeX font directory is "c:/tex/fonts." However, this can be overridden by specifying another directory through some environmental variable. Please look at the file {\it readme} for details. Finally, I have tested only the "pk" font version of XDVI, therefore the performance of using "gf" and "pxl" is unknown. These two versions of XDVI are however also modified to look up font substitute file. To use the other version one must re-compile the source. To obtain the other versions one must re-compile XDVI with appropiate switches set. \section{Optimizing XDVI} Opening and searching text file using DJGPP will add significant overhead to the execution due to mode switching. Also, I found most of substitutions are converting AM font to CM font (I only have cm font at home). Therefore, I also modified the program to convert amxxxx to cmxxxx internally to speed up execution. To choose this option one should recompile the source without defining {\bf FONTSUB} (i.e., take out -D{\bf FONTSUB} in the makefile). Finally, the makefile enclosed is compatible with both {\bf NDMAKE45} and Borlan?'s {\bf MAKE} utility. \section{Bugs} I have not yet found any bugs after I have performed some testings. However, I conducted the test without mouse attaching to my system (because I don't have one). Accordingly, I have no idea how XDVI will behave with mouse connected to the system. Finally, I tested only the {\bf pk} font version of XDVI, therefore the performance of using {\bf gf} and {\bf pxl} is unknown. \section{Acknowledgment} I wish to thank {\bf DJ, et. al.} for their excellent compiler. Also thank all authors of the original XDVI for their contribution. \end{document}