Titling fonts

Lars Hellström Lars.Hellstrom@math.umu.se
Thu, 25 Jul 2002 18:47:03 +0200


At 18.35 +0200 2002-07-24, Walter Schmidt wrote:
>On Thu, 25 Jul 2002 01:11:48 +1000, Adrian Heathcote wrote:
>
>>So, are you saying that the encoding shouldn't be 8a?
>
>The file name does not matter, if long as you write your
>own \installfont commands.  Just regard "8a" as a synonym
>for "not reencoded".

Actually, the default font encoding _is_ the StandardEncoding (8a), even if
not all the glyphs in that encoding vector are present in the font.

>>(I knew that the font only contained capitals---that was all I wanted
>from it).
>
>I'm sorry, your original posting did not imply this.

In fact it seems to depend on the version what the font contains. The PFA
(well, actually it's an LWFN, but those are equivalent) I've got is from
1989, has version 001.000, and does not contain lower case glyphs, but the
AFM I've got is from 1994, has version 001.002, and lists metrics also for
lower case glyphs.

[snip]
>Of course, this requires the titling font to match the
>regular lowercase letters.  I don't know whether this is
>true;

The titling capitals are a bit lighter than the regular capitals, so I
suspect this could lead to a visual clash similar to that one gets with
faked smallcaps.

>maybe the font was made for all-caps usage only.

There are no kerns for the lower case glyphs, which makes it likely that
even the newer version of the font is mainly intended for all-caps usage.

I made an installation of this font as an all-caps font a couple of years
ago. Then I (roughly) used the command

 \installfont{padrd8t}{padrd8r,latin,vcenter}{t1maj}{T1}{pad}{m}{tl}{}

where t1maj.etx (maj for majuscles) says

\relax
\encoding

% We define the parameters for t1.etx to produce an all-caps font.
\setcommand\lc#1#2{#1}
\setcommand\uc#1#2{#1}
\setcommand\lclig#1#2{#1}
\setcommand\uclig#1#2{#1}
\setcommand\digit#1{#1}

% Then we call t1.etx.
\inputetx{t1}

\endencoding

and vcenter.mtx contains the commands

\relax
\metrics

% Command: \vcenterglyph
% Purpose: Vertically center a glyph between two other existing glyphs.
% Syntax:
%   \vcenterglyph{NEW-GLYPH}{OLD-GLYPH}{TOP-GLYPH}{BOTTOM-GLYPH}
\setcommand\vcenterglyph#1#2#3#4{
   \resetint{vcenteramount}{
      \scale{
         \sub{
            \sub{ \height{#3} }{ \depth{#4} }
         }{
            \sub{ \height{#2} }{ \depth{#2} }
         }
      }{500}
   }
   \resetglyph{#1}
      \moveup{\int{vcenteramount}}
      \glyph{#2}{1000}
      \moveup{\neg{\int{vcenteramount}}}
      \resetheight{\add{\height{#2}}{\int{vcenteramount}}}
      \resetdepth{\sub{\depth{#2}}{\int{vcenteramount}}}
   \endsetglyph
}
\vcenterglyph{parenleft}{parenleft}{Scaron}{J}
\vcenterglyph{parenright}{parenright}{Scaron}{J}
\vcenterglyph{bracketleft}{bracketleft}{Scaron}{J}
\vcenterglyph{bracketright}{bracketright}{Scaron}{J}
\vcenterglyph{braceleft}{braceleft}{Scaron}{J}
\vcenterglyph{braceright}{braceright}{Scaron}{J}
\vcenterglyph{hyphenchar}{hyphen}{I}{I}
\vcenterglyph{hyphen}{hyphen}{I}{I}
\vcenterglyph{colon}{colon}{I}{I}
\vcenterglyph{semicolon}{semicolon}{I}{I}
\vcenterglyph{rangedash}{endash}{I}{I}
\vcenterglyph{punctdash}{emdash}{I}{I}
\vcenterglyph{guillemotleft}{guillemotleft}{I}{I}
\vcenterglyph{guillemotright}{guillemotright}{I}{I}
\vcenterglyph{guilsinglleft}{guilsinglleft}{I}{I}
\vcenterglyph{guilsinglright}{guilsinglright}{I}{I}

\endmetrics

Lars Hellström