Success story

Karsten Tinnefeld tinne@ls2.cs.uni-dortmund.de
Tue, 10 Apr 2001 10:09:27 +0200


Hi,

> There is only one thing which is missing to my full happiness: the
> digits in the italic font don't have an oldstyle type (no italic
> small caps at all), so when I want to italicize some numerals, they
> are entirely absent in the output.

I had the same problem with some softmaker fonts I did. Here is my 
installation tool hack.  The helper file fi-catcodes helps with 
fontinst customizations, fi-softmaker does the customization you were 
interested in and fi-proof helps with the proof tables.

5bbj is an example translation file, where 5bbjproof produces the font 
tables for verification of the translated font, the Softmaker Bembo 
clone called Bergamo.

Karsten


\input fi-proof
\fonttable 5bbb9d
\fonttable 5bbbo9d
\fonttable 5bbr9d
\fonttable 5bbro9d
\fonttable 5bbb9e
\fonttable 5bbbc9e
\fonttable 5bbbi9e
\fonttable 5bbbo9e
\fonttable 5bbr9e
\fonttable 5bbrc9e
\fonttable 5bbri9e
\fonttable 5bbro9e
\bye

%%% Local Variables: 
%%% mode: plain-tex
%%% TeX-master: t
%%% End: 


\input xfntinst.sty
\input fi-softmaker
\latinfamily{5bb}{}
\bye
%%% Local Variables: 
%%% mode: plain-tex
%%% TeX-master: t
%%% End: 


% usage: just say
%       \fonttable 5bbb9c
% for each font to test
\let\noinit=!
\input testfont
\def \fonttable #1 {%
  \def \fontname {#1}%
  \startfont
  \table
  \eject
  }
\endinput


% Provides Commands to set the catcodes according to fontinst internal
% conventions. Used for transparently hacking fontinst.
%
% Karsten Tinnefeld <karsten@tinnefeld.com>, Sonntag, 15. August 1999
%
\def\fontinstcc{%
  \catcode`\ =9
  \catcode`\^^M=9
  \catcode`\@=11
  \catcode`\_=11
  \catcode`\~=10
  }%
\def\normalcc{%
  \catcode`\@=\atcatcode
  \catcode`\^^M=\nlcatcode
  \catcode`\ =\spacecatcode
  \catcode`\~=\tildecatcode
  \catcode`\_=\underscorecatcode
  }%
\endinput


% Hack for fontinst 1.9b: to install softmaker/urw fonts, always use
% oldstyle digits for upright letters. Do not use them for italic
% letters. Do not install faked oblique letters.
%
% Karsten Tinnefeld <karsten@tinnefeld.com>, Sonntag, 15. August 1999
%
\input fi-catcodes
\fontinstcc
\def\latin_weights{
  \latin_weight{r}{m}
  \latin_weight{b}{b}
  \latin_weight{h}{eb}
  }
\def\latin_widths{
  \latin_width{}{}
  \latin_width{c}{c}
  }
\def\usualshapes{
  \def\latin_shapes{
    \latin_shape{} {} {} {n} {\_textcomp_true  }
    \latin_shape{c}{c}{} {sc}{\_textcomp_false }
    \latin_shape{o}{o}{} {sl}{\_textcomp_true  }
    \latin_shape{i}{i}{i}{it}{\_textcomp_true  }
    }}
\def\oldstyleshapes{
  \def\latin_shapes{
    \latin_shape{} {} {} {n} {\_textcomp_true  }
    \latin_shape{o}{o}{} {sl}{\_textcomp_true  }
    }}
\def\latinfamily#1#2{{
  \edef\temp_command_x{#1x}
  \edef\temp_command_j{#1j}
  \usualshapes
  \expandafter\parse_family\temp_command_x
      \empty_command\empty_command\end_parse_family
  \installfonts
    \if_file_exists{\raw_encoding.mtx}\then
      \installfamily{\raw_encoding}{\latex_family}{#2}
    \fi
    \installfamily{OT1}{\latex_family}{#2}
    \installfamily{T1}{\latex_family}{#2}
    \installfamily{TS1}{\latex_family}{#2}
    \latin_weights
  \endinstallfonts
  \oldstyleshapes
  \expandafter\parse_family\temp_command_j
      \empty_command\empty_command\end_parse_family
  \installfonts
    \if_file_exists{\raw_encoding.mtx}\then
      \installfamily{\raw_encoding}{\latex_family}{#2}
    \fi
    \installfamily{OT1}{\latex_family}{#2}
    \installfamily{T1}{\latex_family}{#2}
    \installfamily{TS1}{\latex_family}{#2}
    \latin_weights
  \endinstallfonts
}}
\normalcc
\endinput
%%% Local Variables: 
%%% mode: latex
%%% TeX-master: t
%%% End: 


Karsten Tinnefeld                       tinnefeld@ls2.cs.uni-dortmund.de
Fachbereich Informatik, Lehrstuhl 2                   T +49 231 755-4737
Universität Dortmund, D-44221 Dortmund, Deutschland   F +49 231 755-2047