# [Fontinst] Things to update

Philipp Lehman lehman at gmx.net
Tue Dec 9 17:07:06 CET 2003

Nachricht von Lars Hellström am Dienstag, 9. Dezember 2003 15:24:

Hi Lars,

> It is certainly one of the obvious targets, but yours is the first
> actual request for it that I have seen. (As I don't use xdvi
> myself, I never felt any particular need to look into the details
> of it.) And from what you say I gather that simply using the dvips
> map file for xdvi is not always sufficient.

Yes, dvips's map files will work fine unless you're playing any weird
PS tricks, so it's not a high-priority target. But if you want to
support the most common drivers natively, I guess xdvi should be in.

> Hmm... The (k) is for kpathsea, is it not? Since I don't see how
> that would be relevant, I suspect that one should not include it in
> the "driver" name, in the interest of avoiding confusion.

Yes, probably so. But xdvik does a lot more than the corresponding
xdvi version it is based on. PS fonts, for example (vanilla xdvi
doesn't support PS fonts). See:

http://xdvi.sourceforge.net/

As to the driver naming, I don't have a particularly strong opinion on
that.

> Hmm... Is <[ the dvips syntax for "always full download"? (I never
> recall which of << and <[ is which.) Anyway that part is mostly a
> matter of how one declares the encodings. finstmsc.sty by default
> does

This is identical to dvips's map file syntax. \make_dvips doesn't use
the "<[" notation, though.

> \declarepsencoding{8a}{StandardEncoding}{}
>
>
>oding}}
>
> to satisfy xdvi, so that fonts \reencodefont'ed using mybase.etx
> would get in their map file entries <[mybase.encoding.

I'm not sure if I understand that. I believe it would be a good idea
if you'd always separate the encoding vectors from the font files by

This way encoding vectors are always unambiguous and you could even
provide a user-interface macro that conveniently turns on full font
as well.

> >3. There may not be any other input files on a fontmap line.
> >
> >   Xdvi is not a printer and cannot accept arbitrary postscript
> >   prologues or setup things in fontmaps.
>
> Fontinst only makes those if you have a special declaration of the
> font, using \specifypsfont.

How is this hooked up to \make_dvips?

> >4. Xdvi decodes the ExtendFont and SlantFont commands in the
> > quoted postscript code and the extention factor and slanting is
> > applied to the font when displayed.  Any other magic done by the
> > quoted postscript code won't be understood by xdvi.
>
> Should be OK. (In my experience, the context that the quoted PS
> gets inserted into is very special, so it is hard to do anything
> useful but the standard ExtendFont, SlantFont, and ReencodeFont.)

Yup.

Semi-obsolete by now, but the following hack seems to work:

%\def\make_dvips{
\def\make_xdvi{
\let\postscript_code\empty_command
\ifx \reencode_etx\empty_command \else
\if_undefined{pse-\reencode_etx}\then
\etxtoenc{\reencode_etx}{\reencode_etx}
\fi
\expandafter\expandafter \expandafter\second_of_two
\csname pse-\reencode_etx\endcsname
%      \edef\postscript_code{\postscript_code\space
%         \expandafter\expandafter \expandafter\first_of_two
%            \csname pse-\reencode_etx\endcsname
%         \space ReEncodeFont
%      }
\fi
\ifdim \xscale_factor=\p@ \else
\edef\postscript_code{\postscript_code
\space\expandafter\lose_measure\the\xscale_factor
\space ExtendFont
}
\fi
\ifdim \slant_factor=\z@ \else
\edef\postscript_code{\postscript_code
\space\expandafter\lose_measure\the\slant_factor
\space SlantFont
}
\fi
%   \ifx \PS_font_name\unknown_str \get_PS_font_name \fi
%   \ifx \PS_font_name\clueless_str
%      \includewarning\warn_undecided_data
%      \_a_true
%   \else
%      \if_undefined{psf-\PS_font_name}\then
%         \_a_true
%      \else
%         \csname psf-\PS_font_name \endcsname
%         \_a_false
%   \fi\fi
%   \if_a_
\ifx \PS_font_file\unknown_str \get_PS_font_file \fi
\ifx \PS_font_file\clueless_str
\includewarning\warn_undecided_data
\fi
%   \fi
%   \pout_line\output_dvips{
\pout_line\output_xdvi{
%      \TeX_font_name\space\PS_font_name
\TeX_font_name