[comp.text.tex] xdvi question

fong@ksuvax1 (Eric Fong) (10/16/90)

Hi,
	I have this problem for awhile, but no one here seems to know
how to fix it.  The problem I encounter is that when I use xdvi to view
circle (LaTeX-->dvi file, of course), the circle is broken up in to four 
pieces.  Is there anyone encountered the same kind of problem before, if so, 
is there a way to get around it?  Or is there a newer version of xdvi which 
has solved this problem already?  Thanks in advance.

--Eric Fong-- (fong@ksuvax1.cis.ksu.edu)

shapiro@athos.rutgers.edu (Joel Shapiro) (10/17/90)

> From: fong@ksuvax1 (Eric Fong)
>   The problem I encounter is that when I use xdvi to view
> circle (LaTeX-->dvi file, of course), the circle is broken up in to four 
> pieces.  Is there anyone encountered the same kind of problem before, if so, 
> is there a way to get around it?  
Yes, the same thing happens to me. Unfortunately, I didn't try to fix
it.

huba@nermal.informatik.uni-dortmund.de (Hubert Baumeister) (10/25/90)

In article <1990Oct16.005748.17083@maverick.ksu.ksu.edu> fong@ksuvax1 (Eric Fong) writes:
>Hi,
>	I have this problem for awhile, but no one here seems to know
>how to fix it.  The problem I encounter is that when I use xdvi to view
>circle (LaTeX-->dvi file, of course), the circle is broken up in to four 
>pieces.  Is there anyone encountered the same kind of problem before, if so, 
>is there a way to get around it?  Or is there a newer version of xdvi which 
>has solved this problem already?  Thanks in advance.
>
>--Eric Fong-- (fong@ksuvax1.cis.ksu.edu)

This is also the problem with xdvi patchlevel 9.

The reason for this is quite simple. LaTeX constructs large circles out of
characters from the font lcircle. In a font file each character has a true
width (in units of the font scale) and a pixel width (depending on the
resolution of the font). In most fonts the pixel width is an appropriate
approximation of the true width. Not so in lcircle, where the pixel width of
the circle elements are zero.  

Now xdvi increments its current character position only by the pixel width
of that character not taking in account that this width differs more than
half a pixel from the true width in case of characters in lcircle.

The solution is to check wether the pixel width of a character is zero and
then computing from the true width of that character its width in pixels.

Hubert
(Hubert Baumeister
 huba@ls5.informatik.uni-dortmund.de)