diff options
Diffstat (limited to 'Master/texmf-dist/tex/fontinst/latinmtx')
-rw-r--r-- | Master/texmf-dist/tex/fontinst/latinmtx/8r.mtx | 234 | ||||
-rw-r--r-- | Master/texmf-dist/tex/fontinst/latinmtx/8y.mtx | 251 | ||||
-rw-r--r-- | Master/texmf-dist/tex/fontinst/latinmtx/latin.mtx | 1791 | ||||
-rw-r--r-- | Master/texmf-dist/tex/fontinst/latinmtx/latinsc.mtx | 1324 | ||||
-rw-r--r-- | Master/texmf-dist/tex/fontinst/latinmtx/llbuild.mtx | 568 | ||||
-rw-r--r-- | Master/texmf-dist/tex/fontinst/latinmtx/lsbuild.mtx | 256 | ||||
-rw-r--r-- | Master/texmf-dist/tex/fontinst/latinmtx/lsfake.mtx | 409 | ||||
-rw-r--r-- | Master/texmf-dist/tex/fontinst/latinmtx/lsmisc.mtx | 194 | ||||
-rw-r--r-- | Master/texmf-dist/tex/fontinst/latinmtx/ltcmds.mtx | 302 | ||||
-rw-r--r-- | Master/texmf-dist/tex/fontinst/latinmtx/ltpunct.mtx | 247 | ||||
-rw-r--r-- | Master/texmf-dist/tex/fontinst/latinmtx/lubuild.mtx | 646 | ||||
-rw-r--r-- | Master/texmf-dist/tex/fontinst/latinmtx/newlatin.mtx | 190 | ||||
-rw-r--r-- | Master/texmf-dist/tex/fontinst/latinmtx/resetsc.mtx | 166 | ||||
-rw-r--r-- | Master/texmf-dist/tex/fontinst/latinmtx/unsetalf.mtx | 114 |
14 files changed, 6692 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/fontinst/latinmtx/8r.mtx b/Master/texmf-dist/tex/fontinst/latinmtx/8r.mtx new file mode 100644 index 00000000000..b15d84069f0 --- /dev/null +++ b/Master/texmf-dist/tex/fontinst/latinmtx/8r.mtx @@ -0,0 +1,234 @@ +% Copyright 1994, 1995, 1996 Constantin Kahn, Sebastian Rathz, and +% Alan Jeffrey, +% hacked and maintained 1997, 1998 Sebastian Rathz, +% copyright 1998, 1999 the fontinst maintenance team and any individual +% authors listed elsewhere in this file. All rights reserved. +% +% This file is part of the fontinst system version 1.9. +% ----------------------------------------------------- +% +% It may be distributed under the terms of the LaTeX Project Public +% License, as described in lppl.txt in the base LaTeX distribution. +% Either version 1.0 or, at your option, any later version. +% +%%% ==================================================================== +%%% @TeX-font-metrics-file{ +%%% author = "Constantin Kahn and Sebastian Rathz and +%%% Ulrik Vieth and Lars Hellstr{\"o}m", +%%% version = "1.910", +%%% date = "15 November 1999", +%%% time = "21:54:57 CET", +%%% filename = "8r.mtx", +%%% email = "fontinst@cogs.susx.ac.uk", +%%% URL = "http://www.tug.org/applications/fontinst/", +%%% checksum = "26393 234 602 7162", +%%% codetable = "ISO/ASCII", +%%% keywords = "metrics, raw, TeX, PostScript", +%%% supported = "yes", +%%% abstract = "This is the 8r metrics file, for use with the +%%% fontinst utility. It is used to install raw +%%% fonts using the 8r encoding.", +%%% package = "fontinst", +%%% dependencies = "fontinst.sty, fontdoc.sty", +%%% } +%%% ==================================================================== + +% List of changes now at end of file. + +\relax + +\documentclass[twocolumn]{article} +\usepackage{fontdoc}[1999/10/16] + +\title{The metric adjustments for ligful \texttt{8r}-encoded fonts} +\author{Constantin Kahn\and Sebastian Rathz\and + Ulrik Vieth\and Lars Hellstr\"om} +\date{15 November 1999 \\ +Version 1.910} + +\begin{document} +\maketitle + +This file is just the part of \texttt{latin.mtx} that's needed for +installing kern-and-ligful \texttt{8r} fonts. + +\showbranches + +\metrics + +\needsfontinstversion{1.909} + +\begincomment +\section{Duplicating glyphs} + +This part has been commented out since as of v\,1.9 \textsf{fontinst} +has no problem putting the same glyph in several slots (it used to +cause some kerns and ligatures to be lost). +\endcomment + +% Get a `space' into the `alternate-space' slot (nee `nbspace') +% +%\setglyph{alternate-space} +% \glyph{space}{1000} +%\endsetglyph + + +% \setglyph{alternate-hyphen} +% \glyph{hyphen}{1000} +% \comment{Get a \texttt{hyphen} into the \texttt{alternate-hyphen} +% slot (nee \texttt{softhyphen}).} +% \endsetglyph + +% The LGC claims that `quoteleft' and `quoteright' appear twice, +% which is not the case for 8r.enc, but does apply for texnansi.enc. +% We prefer the ASCII position and mark the second one as unused. +% +%\setglyph{quoteleft-unused} +% \glyph{quoteleft}{1000} +%\endsetglyph +%\setglyph{quoteright-unused} +% \glyph{quoteright}{1000} +%\endsetglyph + + +\begincomment +\section{Kerning} +Kern accented characters the same way as their base characters. +Characters are listed in the order in which they appear in +\texttt{8r.enc}. +\endcomment + + +% 0-31, 128-159 +\setleftrightkerning{Lslash}{L}{1000} +%\setleftrightkerning{lslash}{l}{1000} + +\setleftrightkerning{Zcaron}{Z}{1000} +%\setleftrightkerning{zcaron}{z}{1000} + +\setleftrightkerning{Scaron}{S}{1000} +%\setleftrightkerning{scaron}{s}{1000} + +\setleftrightkerning{Ydieresis}{Y}{1000} + +% 192-255 +\setleftrightkerning{Agrave}{A}{1000} +\setleftrightkerning{Aacute}{A}{1000} +\setleftrightkerning{Acircumflex}{A}{1000} +\setleftrightkerning{Atilde}{A}{1000} +\setleftrightkerning{Adieresis}{A}{1000} +\setleftrightkerning{Aring}{A}{1000} + +\setleftrightkerning{Ccedilla}{C}{1000} + +\setleftrightkerning{Egrave}{E}{1000} +\setleftrightkerning{Eacute}{E}{1000} +\setleftrightkerning{Ecircumflex}{E}{1000} +\setleftrightkerning{Edieresis}{E}{1000} + +\setleftrightkerning{Igrave}{I}{1000} +\setleftrightkerning{Iacute}{I}{1000} +\setleftrightkerning{Icircumflex}{I}{1000} +\setleftrightkerning{Idieresis}{I}{1000} + +\setleftrightkerning{Ograve}{O}{1000} +\setleftrightkerning{Oacute}{O}{1000} +\setleftrightkerning{Ocircumflex}{O}{1000} +\setleftrightkerning{Otilde}{O}{1000} +\setleftrightkerning{Odieresis}{O}{1000} +\setleftrightkerning{Oslash}{O}{1000} + +\setleftrightkerning{Ugrave}{U}{1000} +\setleftrightkerning{Uacute}{U}{1000} +\setleftrightkerning{Ucircumflex}{U}{1000} +\setleftrightkerning{Udieresis}{U}{1000} + +\setleftrightkerning{Yacute}{Y}{1000} + +%\setleftrightkerning{agrave}{a}{1000} +%\setleftrightkerning{aacute}{a}{1000} +%\setleftrightkerning{acircumflex}{a}{1000} +%\setleftrightkerning{atilde}{a}{1000} +%\setleftrightkerning{adieresis}{a}{1000} +%\setleftrightkerning{aring}{a}{1000} + +\setleftrightkerning{ccedilla}{c}{1000} + +%\setleftrightkerning{egrave}{e}{1000} +%\setleftrightkerning{eacute}{e}{1000} +%\setleftrightkerning{ecircumflex}{e}{1000} +%\setleftrightkerning{edieresis}{e}{1000} + +%\setleftrightkerning{igrave}{i}{1000} +%\setleftrightkerning{iacute}{i}{1000} +%\setleftrightkerning{icircumflex}{i}{1000} +%\setleftrightkerning{idieresis}{i}{1000} + +%\setleftrightkerning{ograve}{o}{1000} +%\setleftrightkerning{oacute}{o}{1000} +%\setleftrightkerning{ocircumflex}{o}{1000} +%\setleftrightkerning{otilde}{o}{1000} +%\setleftrightkerning{odieresis}{o}{1000} +%\setleftrightkerning{oslash}{o}{1000} + +%\setleftrightkerning{ugrave}{u}{1000} +%\setleftrightkerning{uacute}{u}{1000} +%\setleftrightkerning{ucircumflex}{u}{1000} +%\setleftrightkerning{udieresis}{u}{1000} + +%\setleftrightkerning{yacute}{y}{1000} +%\setleftrightkerning{ydieresis}{y}{1000} + +\begincomment +\section{Adjusting depth of accents} +We copy the \verb|\zerodepth| stuff from \texttt{latin.mtx}: +\endcomment + +\setcommand\zerodepth#1{ + \ifisglyph{#1}\then + \resetglyph{#1} + \glyph{#1}{1000} + \resetdepth{0} + \endresetglyph + \Fi +} +\zerodepth{acute} +\zerodepth{grave} +\zerodepth{caron} +\zerodepth{breve} +\zerodepth{macron} +\zerodepth{ring} +\zerodepth{circumflex} +\zerodepth{dotaccent} +\zerodepth{tilde} +\zerodepth{dieresis} + +\endmetrics + +\section{Changes} + +This file used to contains more kerning commands for lower case glyphs +than \texttt{latin.mtx} but these were commented out February 1997 +after representation on \TeX-fonts list by Thierry Bouche and others. +\global\parindent=1em + +It also adds a default for the \texttt{alternate-hyphen} glyph. + +1997/02/03: An \verb|\ifisglyph| test was added to \verb|\zerodepth|. +(SPQR) + +1998/06/11: \verb|\needsfontinstversion| was updated (to v\,1.800) and +the definition of \verb|\setleftrightkerning| was removed (now defined +in \texttt{fontinst.sty}). (UV) + +1999/10/25: A typo regarding \texttt{quoteright-unused} (in code +commented out) was corrected. (UV\&LH) + +1999/10/29: \textsf{fontdoc} markup was added and the +\verb|\needsfontinstversion| was increased to v\,1.900. (LH) + +1999/11/10: Code setting \texttt{alternate-hyphen} commented out, +adjustments made for \verb|\showbranches|, and +\verb|\needsfontinstversion| was increased to v\,1.909. (LH) + +\end{document} diff --git a/Master/texmf-dist/tex/fontinst/latinmtx/8y.mtx b/Master/texmf-dist/tex/fontinst/latinmtx/8y.mtx new file mode 100644 index 00000000000..aca2ea3b9f3 --- /dev/null +++ b/Master/texmf-dist/tex/fontinst/latinmtx/8y.mtx @@ -0,0 +1,251 @@ +% Copyright 1998, 1999 the fontinst maintenance team and any individual +% authors listed elsewhere in this file. All rights reserved. +% +% This file is part of the fontinst system version 1.9. +% ----------------------------------------------------- +% +% It may be distributed under the terms of the LaTeX Project Public +% License, as described in lppl.txt in the base LaTeX distribution. +% Either version 1.0 or, at your option, any later version. +% +%%% ==================================================================== +%%% @TeX-font-metrics-file{ +%%% author = "Ulrik Vieth and Lars Hellstr{\"o}m", +%%% version = "1.910", +%%% date = "15 November 1999", +%%% time = "21:55:14 CET", +%%% filename = "8y.mtx", +%%% email = "fontinst@cogs.susx.ac.uk", +%%% URL = "", +%%% checksum = "58019 251 594 7215", +%%% codetable = "ISO/ASCII", +%%% keywords = "metrics, raw, TeX, PostScript", +%%% supported = "yes", +%%% abstract = "This is the 8y metrics file, for use with the +%%% fontinst utility. It is used to install raw +%%% fonts using the 8y encoding.", +%%% package = "fontinst", +%%% dependencies = "fontinst.sty, fontdoc.sty", +%%% } +%%% ==================================================================== + +% List of changes now at end of file. + +\relax + +\documentclass[twocolumn]{article} +\usepackage{fontdoc} + +\title{The metric adjustments for ligful \texttt{8y}-encoded fonts} +\author{Constantin Kahn\and + Sebastian Rathz\and + Ulrik Vieth\and + Lars Hellstr\"om} +\date{15 November 1999 \\ +Version 1.910} + +\begin{document} +\maketitle + +This file is just the part of \texttt{latin.mtx} that's needed for +installing kern-and-ligful \texttt{8y} fonts. + +\metrics + +\needsfontinstversion{1.900} + +\begincomment +\section{Duplicating glyphs} + +The code in this part has been commented out since glyph duplicates +aren't needed anymore. +\endcomment + + + +% \setglyph{alternate-space} +% \glyph{space}{1000} +% \comment{Get a \texttt{space} into the \texttt{alternate-space} slot +% (nee \texttt{nbspace}).} +% \endsetglyph + + +% \setglyph{alternate-hyphen} +% \glyph{hyphen}{1000} +% \comment{Get a \texttt{hyphen} into the \texttt{alternate-hyphen} slot +% (nee \texttt{softhyphen}).} +% \endsetglyph + + +% \setglyph{quoteleft-unused} +% \glyph{quoteleft}{1000} +% \comment{The LGC claims that \texttt{quoteleft} and \texttt{quoteright} +% appear twice, which is not the case for \texttt{8r.enc}, but does +% apply for \texttt{texnansi.enc}. We prefer the ASCII position and +% mark the second one as unused.} +% \endsetglyph +% \setglyph{quoteright-unused} +% \glyph{quoteright}{1000} +% \comment{As for \texttt{quoteleft-unused}.} +% \endsetglyph + +% \begincomment\medskip +% Several special characters from \texttt{OT1} appear twice in +% \texttt{texnansi.enc}, once in their \texttt{OT1} position (0--31) and +% again in their Windows ANSI or Latin 1 position (128--255). We usually +% prefer the second one. +% \endcomment +% +% \setglyph{germandbls-OT1} +% \glyph{germandbls}{1000} +% \endsetglyph +% \setglyph{ae-OT1} +% \glyph{ae}{1000} +% \endsetglyph +% \setglyph{oe-OT1} +% \glyph{oe}{1000} +% \endsetglyph +% \setglyph{oslash-OT1} +% \glyph{oslash}{1000} +% \endsetglyph +% \setglyph{AE-OT1} +% \glyph{AE}{1000} +% \endsetglyph +% \setglyph{OE-OT1} +% \glyph{OE}{1000} +% \endsetglyph +% \setglyph{Oslash-OT1} +% \glyph{Oslash}{1000} +% \endsetglyph + + +\begincomment +\section{Kerning} +Kern accented characters the same way as their base characters. +Characters are listed in the order in which they appear in +\texttt{8y.enc}. +\endcomment + +% 128-159 +\setleftrightkerning{Lslash}{L}{1000} +\setleftrightkerning{Scaron}{S}{1000} +\setleftrightkerning{Zcaron}{Z}{1000} + +%\setleftrightkerning{lslash}{l}{1000} +%\setleftrightkerning{scaron}{s}{1000} +%\setleftrightkerning{zcaron}{z}{1000} + +\setleftrightkerning{Ydieresis}{Y}{1000} + +% 192-255 +\setleftrightkerning{Agrave}{A}{1000} +\setleftrightkerning{Aacute}{A}{1000} +\setleftrightkerning{Acircumflex}{A}{1000} +\setleftrightkerning{Atilde}{A}{1000} +\setleftrightkerning{Adieresis}{A}{1000} +\setleftrightkerning{Aring}{A}{1000} + +\setleftrightkerning{Ccedilla}{C}{1000} + +\setleftrightkerning{Egrave}{E}{1000} +\setleftrightkerning{Eacute}{E}{1000} +\setleftrightkerning{Ecircumflex}{E}{1000} +\setleftrightkerning{Edieresis}{E}{1000} + +\setleftrightkerning{Igrave}{I}{1000} +\setleftrightkerning{Iacute}{I}{1000} +\setleftrightkerning{Icircumflex}{I}{1000} +\setleftrightkerning{Idieresis}{I}{1000} + +\setleftrightkerning{Ograve}{O}{1000} +\setleftrightkerning{Oacute}{O}{1000} +\setleftrightkerning{Ocircumflex}{O}{1000} +\setleftrightkerning{Otilde}{O}{1000} +\setleftrightkerning{Odieresis}{O}{1000} +\setleftrightkerning{Oslash}{O}{1000} + +\setleftrightkerning{Ugrave}{U}{1000} +\setleftrightkerning{Uacute}{U}{1000} +\setleftrightkerning{Ucircumflex}{U}{1000} +\setleftrightkerning{Udieresis}{U}{1000} + +\setleftrightkerning{Yacute}{Y}{1000} + +%\setleftrightkerning{agrave}{a}{1000} +%\setleftrightkerning{aacute}{a}{1000} +%\setleftrightkerning{acircumflex}{a}{1000} +%\setleftrightkerning{atilde}{a}{1000} +%\setleftrightkerning{adieresis}{a}{1000} +%\setleftrightkerning{aring}{a}{1000} + +\setleftrightkerning{ccedilla}{c}{1000} + +%\setleftrightkerning{egrave}{e}{1000} +%\setleftrightkerning{eacute}{e}{1000} +%\setleftrightkerning{ecircumflex}{e}{1000} +%\setleftrightkerning{edieresis}{e}{1000} + +%\setleftrightkerning{igrave}{i}{1000} +%\setleftrightkerning{iacute}{i}{1000} +%\setleftrightkerning{icircumflex}{i}{1000} +%\setleftrightkerning{idieresis}{i}{1000} + +%\setleftrightkerning{ograve}{o}{1000} +%\setleftrightkerning{oacute}{o}{1000} +%\setleftrightkerning{ocircumflex}{o}{1000} +%\setleftrightkerning{otilde}{o}{1000} +%\setleftrightkerning{odieresis}{o}{1000} +%\setleftrightkerning{oslash}{o}{1000} + +%\setleftrightkerning{ugrave}{u}{1000} +%\setleftrightkerning{uacute}{u}{1000} +%\setleftrightkerning{ucircumflex}{u}{1000} +%\setleftrightkerning{udieresis}{u}{1000} + +%\setleftrightkerning{yacute}{y}{1000} +%\setleftrightkerning{ydieresis}{y}{1000} + + +\begincomment +\section{Adjusting depth of accents} +We copy the \verb|\zerodepth| stuff from \texttt{latin.mtx}: +\endcomment + +\setcommand\zerodepth#1{ + \ifisglyph{#1}\then + \resetglyph{#1} + \glyph{#1}{1000} + \resetdepth{0} + \endresetglyph + \fi +} +\zerodepth{acute} +\zerodepth{grave} +\zerodepth{caron} +\zerodepth{breve} +\zerodepth{macron} +\zerodepth{ring} +\zerodepth{circumflex} +\zerodepth{dotaccent} +\zerodepth{tilde} +\zerodepth{dieresis} + +\endmetrics + +\section{Changes} + +See also the changes list for \texttt{8r.mtx}. + +1998/06/11: This file was created based on a copy of \texttt{8r.mtx}. +The glyphs \texttt{alternate-space}, \texttt{quoteleft-unused}, and +\texttt{quoteright-unused} were added. (UV) + +1999/10/25: A typo regarding \texttt{quoteright-unused} was corrected. +(UV\&LH) + +1999/10/30: \textsf{fontdoc} markup was added and the +\verb|\needsfontinstversion| was increased to v\,1.900. (LH) + +1999/11/13: Duplication of glyphs was commented out. (LH) + +\end{document} diff --git a/Master/texmf-dist/tex/fontinst/latinmtx/latin.mtx b/Master/texmf-dist/tex/fontinst/latinmtx/latin.mtx new file mode 100644 index 00000000000..74692b47689 --- /dev/null +++ b/Master/texmf-dist/tex/fontinst/latinmtx/latin.mtx @@ -0,0 +1,1791 @@ +% Copyright 1993, 1994, 1995, 1996 Alan Jeffrey, +% hacked and maintained 1997, 1998 Sebastian Rahtz, +% copyright 1998, 1999 the fontinst maintenance team and any individual +% authors listed elsewhere in this file. All rights reserved. +% +% This file is part of the fontinst system version 1.9. +% ----------------------------------------------------- +% +% It may be distributed under the terms of the LaTeX Project Public +% License, as described in lppl.txt in the base LaTeX distribution. +% Either version 1.0 or, at your option, any later version. +% +%%% ==================================================================== +%%% @TeX-font-metrics-file{ +%%% author = "Alan Jeffrey and Ulrik Vieth and Walter Schmidt", +%%% version = "1.916", +%%% date = "18 March 2003", +%%% time = "23:59 MESZ", +%%% filename = "latin.mtx", +%%% email = "fontinst@tug.org", +%%% URL = "http://www.tug.org/applications/fontinst/", +%%% codetable = "ISO/ASCII", +%%% keywords = "metrics, TeX, PostScript", +%%% supported = "yes", +%%% abstract = "This is a font metrics file, for use with the +%%% fontinst utility. It provides the defaults +%%% used to install the Latin glyphs.", +%%% package = "fontinst", +%%% dependencies = "fontinst.sty, fontdoc.sty", +%%% } +%%% ==================================================================== + +\relax + +\documentclass[twocolumn]{article} +\usepackage{fontdoc} + +\title{The \textsf{fontinst} latin glyphs} +\author{Alan Jeffrey\and Ulrik Vieth\and Walter Schmidt} +\date{18 March 2003 \\ +Version 1.916} + +\begin{document} +\maketitle + +\section{Introduction} + +This document describes the glyphs used by the \textsf{fontinst} package +when generating Latin fonts. This file, \texttt{latin.mtx}, is intended +for use with normal fonts or with faked small caps fonts generated by +scaling and applying some letterspacing. A special version of this +file, \texttt{latinsc.mtx}, also exists, which may be more suitable for +use with real small caps glyphs. + +\metrics + +\needsfontinstversion{1.800} + +% \unfakable is a glyph which can't be faked. + +\setcommand\unfakable#1{ + \setglyph{#1} + \glyphrule{500}{500} + \glyphwarning{missing glyph `#1'} + \endsetglyph +} + +% A top accent is set by placing the center of the accent at the given +% position along the width of the letter, raised up by the difference +% between the height of the letter and the xheight. + +\setcommand\topaccent#1#2#3{ + \push + \moveup{\max{0}{\sub{\height{#1}}{\int{xheight}}}} + \movert{\add{\sub{\scale{\width{#1}}{#3}}{\scale{\width{#2}}{500}}} + {\scale{\sub{\height{#1}}{\int{xheight}}}{\int{italicslant}}}} + \glyph{#2}{1000} + \pop + \glyph{#1}{1000} +} + +% A bottom accent is set by placing the center of the accent at the given +% position along the width of the letter. + +\setcommand\botaccent#1#2#3{ + \push + \movert{\sub{\scale{\width{#1}}{#3}}{\scale{\width{#2}}{500}}} + \glyph{#2}{1000} + \pop + \glyph{#1}{1000} +} + +% A command to put an accent at the same height as the dot of the i. (WaS) + +\setcommand\itopaccent#1#2#3{ + \push + \moveup{\max{0}{\sub{\height{i}}{\height{#2}}}} + \movert{\add{\sub{\scale{\width{#1}}{#3}}{\scale{\width{#2}}{500}}} + {\scale{\sub{\height{i}}{\height{#2}}}{\int{italicslant}}}} % <--- ??? + \glyph{#2}{1000} + \pop + \glyph{#1}{1000} +} + +% A c&sc glyph is created by shrinking the cap glyph, and adding extra +% space. + +\setcommand\cscglyph#1{ + \movert{\int{smallcapsextraspace}} + \glyph{#1}{\int{smallcapsscale}} + \movert{\int{smallcapsextraspace}} +} + +% A c&sc top accent glyph is placed using the small glyphs if +% available, and otherwise by shrinking the equivalent capital. + +\setcommand\csctopaccent#1#2#3{ + \ifisglyph{#1small}\then + \topaccent{#1small}{#2small}{#3} + \else + \cscglyph{#1#2} + \fi +} + +% A c&sc bot accent glyph is placed using the small glyphs if +% available, and otherwise by shrinking the equivalent capital. + +\setcommand\cscbotaccent#1#2#3{ + \ifisglyph{#1small}\then + \botaccent{#1small}{#2small}{#3} + \else + \cscglyph{#1#2} + \fi +} + +% A c&sc accent is created by moving a shrunk accent up by the +% difference between a scaled x and a scaled X. + +\setcommand\cscaccent#1{ + \moveup{\scale{\int{xheight}}{\sub{1000}{\int{smallcapsscale}}}} + \cscglyph{#1} + \moveup{\scale{\int{xheight}}{\sub{\int{smallcapsscale}}{1000}}} +} + + +\comment{\section{Default values}} + +\setint{italicslant}{0} +\setint{xheight}{\height{x}} +\setint{capheight}{\height{A}} +\setint{ascender}{\height{d}} +\setint{descender}{\depth{g}} +\setint{underlinethickness}{40} +\setint{visiblespacedepth}{200} +\setint{visiblespacewidth}{400} +\setint{visiblespacesurround}{50} +\setint{smallcapsscale}{800} +\setint{smallcapskerning}{900} + +% Vertical symmetry axis. (WaS) +\setint{vaxis}{\scale{\sub{\height{parenleft}}{\depth{parenleft}}}{500}} + +\ifisint{monowidth}\then + \setint{capspacing}{0} + \setint{smallcapsextraspace} + {\div{\scale{\width{x}}{\sub{1000}{\int{smallcapsscale}}}}{2}} +\else + \setint{capspacing}{50} + \setint{smallcapsextraspace}{0} +\fi + +\ifisint{visiblespace}\then + \setint{boundarychar}{\int{visiblespace}} +\fi + + +\comment{\section{Kerning}} + +\setleftrightkerning{visiblespace}{space}{1000} + +\setleftkerning{hyphenchar}{hyphen}{1000} + +\setleftrightkerning{Aacute}{A}{1000} +\setleftrightkerning{Abreve}{A}{1000} +\setleftrightkerning{Acircumflex}{A}{1000} +\setleftrightkerning{Adieresis}{A}{1000} +\setleftrightkerning{Agrave}{A}{1000} +\setleftrightkerning{Aogonek}{A}{1000} +\setleftrightkerning{Aring}{A}{1000} +\setleftrightkerning{Atilde}{A}{1000} + +\setleftrightkerning{Cacute}{C}{1000} +\setleftrightkerning{Ccaron}{C}{1000} +\setleftrightkerning{Ccedilla}{C}{1000} + +\setleftrightkerning{Dcaron}{D}{1000} + +\setleftrightkerning{Eacute}{E}{1000} +\setleftrightkerning{Ecaron}{E}{1000} +\setleftrightkerning{Ecircumflex}{E}{1000} +\setleftrightkerning{Edieresis}{E}{1000} +\setleftrightkerning{Egrave}{E}{1000} +\setleftrightkerning{Eogonek}{E}{1000} + +\setleftrightkerning{Gbreve}{G}{1000} + +\setleftkerning{IJ}{I}{1000} + +\setleftrightkerning{Iacute}{I}{1000} +\setleftrightkerning{Icircumflex}{I}{1000} +\setleftrightkerning{Idieresis}{I}{1000} +\setleftrightkerning{Idotaccent}{I}{1000} +\setleftrightkerning{Igrave}{I}{1000} + +\setrightkerning{IJ}{J}{1000} + +\setleftrightkerning{Lacute}{L}{1000} +\setleftrightkerning{Lslash}{L}{1000} +\setleftkerning{Lcaron}{L}{1000} + +\setleftrightkerning{Nacute}{N}{1000} +\setleftrightkerning{Ncaron}{N}{1000} +\setleftrightkerning{Ntilde}{N}{1000} + +\setleftkerning{Ng}{N}{1000} +\setrightkerning{Ng}{J}{1000} + +\setleftrightkerning{Oacute}{O}{1000} +\setleftrightkerning{Ocircumflex}{O}{1000} +\setleftrightkerning{Odieresis}{O}{1000} +\setleftrightkerning{Ograve}{O}{1000} +\setleftrightkerning{Ohungarumlaut}{O}{1000} +\setleftrightkerning{Oslash}{O}{1000} +\setleftrightkerning{Otilde}{O}{1000} + +\setleftrightkerning{Rcaron}{R}{1000} +\setleftrightkerning{Racute}{R}{1000} + +\setleftrightkerning{SS}{S}{1000} +\setleftrightkerning{Sacute}{S}{1000} +\setleftrightkerning{Scaron}{S}{1000} +\setleftrightkerning{Scedilla}{S}{1000} + +\setleftrightkerning{Tcaron}{T}{1000} +\setleftrightkerning{Tcedilla}{T}{1000} + +\setleftrightkerning{Uacute}{U}{1000} +\setleftrightkerning{Ucircumflex}{U}{1000} +\setleftrightkerning{Udieresis}{U}{1000} +\setleftrightkerning{Ugrave}{U}{1000} +\setleftrightkerning{Uhungarumlaut}{U}{1000} +\setleftrightkerning{Uring}{U}{1000} + +\setleftrightkerning{Yacute}{Y}{1000} +\setleftrightkerning{Ydieresis}{Y}{1000} + +\setleftrightkerning{Zacute}{Z}{1000} +\setleftrightkerning{Zcaron}{Z}{1000} +\setleftrightkerning{Zdotaccent}{Z}{1000} + +\setleftrightkerning{aogonek}{a}{1000} + +\setleftrightkerning{ccedilla}{c}{1000} + +\setleftrightkerning{eogonek}{e}{1000} + +\setleftkerning{ffi}{f}{1000} +\setleftkerning{ffl}{f}{1000} +\setleftrightkerning{ff}{f}{1000} +\setleftkerning{fi}{f}{1000} +\setleftkerning{fl}{f}{1000} + +\setleftkerning{ij}{i}{1000} + +\setrightkerning{fi}{i}{1000} +\setrightkerning{ffi}{i}{1000} + +\setrightkerning{ij}{j}{1000} + +\setrightkerning{fl}{l}{1000} +\setrightkerning{ffl}{l}{1000} + +\setleftkerning{ng}{n}{1000} +\setrightkerning{ng}{j}{1000} + +\setleftkerning{oe}{o}{1000} +\setrightkerning{oe}{e}{1000} +\setleftrightkerning{oslash}{o}{1000} + +\setleftrightkerning{scedilla}{s}{1000} + +\setleftrightkerning{tcedilla}{t}{1000} + + +\comment{\section{All-caps kerning}} + +\setleftrightkerning{dotlessI}{I}{1000} +\setleftrightkerning{dotlessJ}{J}{1000} +\setleftrightkerning{FFspaced}{F}{1000} +\setleftkerning{FIspaced}{F}{1000} +\setrightkerning{FIspaced}{I}{1000} +\setleftkerning{FLspaced}{F}{1000} +\setrightkerning{FLspaced}{L}{1000} +\setleftkerning{FFIspaced}{F}{1000} +\setrightkerning{FFIspaced}{I}{1000} +\setleftkerning{FFLspaced}{F}{1000} +\setrightkerning{FFLspaced}{L}{1000} +\setleftrightkerning{Dbar}{Eth}{1000} +\setleftkerning{IJspaced}{I}{1000} +\setrightkerning{IJspaced}{J}{1000} +\setleftrightkerning{SSspaced}{S}{1000} + + +\comment{\section{Small caps kerning}} + +\setleftrightkerning{Asmall}{A}{\int{smallcapskerning}} +\setleftrightkerning{Bsmall}{B}{\int{smallcapskerning}} +\setleftrightkerning{Csmall}{C}{\int{smallcapskerning}} +\setleftrightkerning{Dsmall}{D}{\int{smallcapskerning}} +\setleftrightkerning{Esmall}{E}{\int{smallcapskerning}} +\setleftrightkerning{Fsmall}{F}{\int{smallcapskerning}} +\setleftrightkerning{Gsmall}{G}{\int{smallcapskerning}} +\setleftrightkerning{Hsmall}{H}{\int{smallcapskerning}} +\setleftrightkerning{Ismall}{I}{\int{smallcapskerning}} +\setleftrightkerning{Jsmall}{J}{\int{smallcapskerning}} +\setleftrightkerning{Ksmall}{K}{\int{smallcapskerning}} +\setleftrightkerning{Lsmall}{L}{\int{smallcapskerning}} +\setleftrightkerning{Msmall}{M}{\int{smallcapskerning}} +\setleftrightkerning{Nsmall}{N}{\int{smallcapskerning}} +\setleftrightkerning{Osmall}{O}{\int{smallcapskerning}} +\setleftrightkerning{Psmall}{P}{\int{smallcapskerning}} +\setleftrightkerning{Qsmall}{Q}{\int{smallcapskerning}} +\setleftrightkerning{Rsmall}{R}{\int{smallcapskerning}} +\setleftrightkerning{Ssmall}{S}{\int{smallcapskerning}} +\setleftrightkerning{Tsmall}{T}{\int{smallcapskerning}} +\setleftrightkerning{Usmall}{U}{\int{smallcapskerning}} +\setleftrightkerning{Vsmall}{V}{\int{smallcapskerning}} +\setleftrightkerning{Wsmall}{W}{\int{smallcapskerning}} +\setleftrightkerning{Xsmall}{X}{\int{smallcapskerning}} +\setleftrightkerning{Ysmall}{Y}{\int{smallcapskerning}} +\setleftrightkerning{Zsmall}{Z}{\int{smallcapskerning}} +\setleftrightkerning{Aacutesmall}{Aacute}{\int{smallcapskerning}} +\setleftrightkerning{Abrevesmall}{Abreve}{\int{smallcapskerning}} +\setleftrightkerning{Acircumflexsmall}{Acircumflex}{\int{smallcapskerning}} +\setleftrightkerning{Adieresissmall}{Adieresis}{\int{smallcapskerning}} +\setleftrightkerning{AEsmall}{AE}{\int{smallcapskerning}} +\setleftrightkerning{Agravesmall}{Agrave}{\int{smallcapskerning}} +\setleftrightkerning{Aogoneksmall}{Aogonek}{\int{smallcapskerning}} +\setleftrightkerning{Aringsmall}{Aring}{\int{smallcapskerning}} +\setleftrightkerning{Atildesmall}{Atilde}{\int{smallcapskerning}} +\setleftrightkerning{Cacutesmall}{Cacute}{\int{smallcapskerning}} +\setleftrightkerning{Ccaronsmall}{Ccaron}{\int{smallcapskerning}} +\setleftrightkerning{Ccedillasmall}{Ccedilla}{\int{smallcapskerning}} +\setleftrightkerning{Dbarsmall}{Dbar}{\int{smallcapskerning}} +\setleftrightkerning{Dcaronsmall}{Dcaron}{\int{smallcapskerning}} +\setleftrightkerning{Eacutesmall}{Eacute}{\int{smallcapskerning}} +\setleftrightkerning{Ecaronsmall}{Ecaron}{\int{smallcapskerning}} +\setleftrightkerning{Ecircumflexsmall}{Ecircumflex}{\int{smallcapskerning}} +\setleftrightkerning{Edieresissmall}{Edieresis}{\int{smallcapskerning}} +\setleftrightkerning{Egravesmall}{Egrave}{\int{smallcapskerning}} +\setleftrightkerning{Eogoneksmall}{Eogonek}{\int{smallcapskerning}} +\setleftrightkerning{Ethsmall}{Eth}{\int{smallcapskerning}} +\setleftrightkerning{Gbrevesmall}{Gbreve}{\int{smallcapskerning}} +\setleftrightkerning{IJsmall}{IJ}{\int{smallcapskerning}} +\setleftrightkerning{Iacutesmall}{Iacute}{\int{smallcapskerning}} +\setleftrightkerning{Icircumflexsmall}{Icircumflex}{\int{smallcapskerning}} +\setleftrightkerning{Idieresissmall}{Idieresis}{\int{smallcapskerning}} +\setleftrightkerning{Idotaccentsmall}{Idotaccent}{\int{smallcapskerning}} +\setleftrightkerning{Igravesmall}{Igrave}{\int{smallcapskerning}} +\setleftrightkerning{Lacutesmall}{Lacute}{\int{smallcapskerning}} +\setleftrightkerning{Lcaronsmall}{Lcaron}{\int{smallcapskerning}} +\setleftrightkerning{Lslashsmall}{Lslash}{\int{smallcapskerning}} +\setleftrightkerning{Nacutesmall}{Nacute}{\int{smallcapskerning}} +\setleftrightkerning{Ncaronsmall}{Ncaron}{\int{smallcapskerning}} +\setleftrightkerning{Ngsmall}{Ng}{\int{smallcapskerning}} +\setleftrightkerning{Ntildesmall}{Ntilde}{\int{smallcapskerning}} +\setleftrightkerning{Oacutesmall}{Oacute}{\int{smallcapskerning}} +\setleftrightkerning{Ocircumflexsmall}{Ocircumflex}{\int{smallcapskerning}} +\setleftrightkerning{Odieresissmall}{Odieresis}{\int{smallcapskerning}} +\setleftrightkerning{OEsmall}{OE}{\int{smallcapskerning}} +\setleftrightkerning{Ogravesmall}{Ograve}{\int{smallcapskerning}} +\setleftrightkerning{Ohungarumlautsmall}{Ohungarumlaut}{\int{smallcapskerning}} +\setleftrightkerning{Oslashsmall}{Oslash}{\int{smallcapskerning}} +\setleftrightkerning{Otildesmall}{Otilde}{\int{smallcapskerning}} +\setleftrightkerning{Racutesmall}{Racute}{\int{smallcapskerning}} +\setleftrightkerning{Rcaronsmall}{Rcaron}{\int{smallcapskerning}} +\setleftrightkerning{SSsmall}{SS}{\int{smallcapskerning}} +\setleftrightkerning{Sacutesmall}{Sacute}{\int{smallcapskerning}} +\setleftrightkerning{Scaronsmall}{Scaron}{\int{smallcapskerning}} +\setleftrightkerning{Scedillasmall}{Scedilla}{\int{smallcapskerning}} +\setleftrightkerning{Tcaronsmall}{Tcaron}{\int{smallcapskerning}} +\setleftrightkerning{Tcedillasmall}{Tcedilla}{\int{smallcapskerning}} +\setleftrightkerning{Thornsmall}{Thorn}{\int{smallcapskerning}} +\setleftrightkerning{Uacutesmall}{Uacute}{\int{smallcapskerning}} +\setleftrightkerning{Ucircumflexsmall}{Ucircumflex}{\int{smallcapskerning}} +\setleftrightkerning{Udieresissmall}{Udieresis}{\int{smallcapskerning}} +\setleftrightkerning{Ugravesmall}{Ugrave}{\int{smallcapskerning}} +\setleftrightkerning{Uhungarumlautsmall}{Uhungarumlaut}{\int{smallcapskerning}} +\setleftrightkerning{Uringsmall}{Uring}{\int{smallcapskerning}} +\setleftrightkerning{Yacutesmall}{Yacute}{\int{smallcapskerning}} +\setleftrightkerning{Ydieresissmall}{Ydieresis}{\int{smallcapskerning}} +\setleftrightkerning{Zacutesmall}{Zacute}{\int{smallcapskerning}} +\setleftrightkerning{Zcaronsmall}{Zcaron}{\int{smallcapskerning}} +\setleftrightkerning{Zdotaccentsmall}{Zdotaccent}{\int{smallcapskerning}} +\setleftrightkerning{dotlessIsmall}{Ismall}{1000} +\setleftrightkerning{dotlessJsmall}{Jsmall}{1000} + + +\comment{\section{Unfakable glyphs}} + +\unfakable{Gamma} +\unfakable{Delta} +\unfakable{Theta} +\unfakable{Lambda} +\unfakable{Xi} +\unfakable{Pi} +\unfakable{Sigma} +\unfakable{Upsilon} +\unfakable{Upsilon1} +\unfakable{Phi} +\unfakable{Psi} +\unfakable{Omega} + +\unfakable{grave} +\unfakable{acute} +\unfakable{circumflex} +\unfakable{tilde} +\unfakable{dieresis} +\unfakable{hungarumlaut} +\unfakable{ring} +\unfakable{caron} +\unfakable{breve} +\unfakable{macron} +\unfakable{dotaccent} +\unfakable{cedilla} +\unfakable{ogonek} +\unfakable{guilsinglleft} +\unfakable{guilsinglright} +\unfakable{quotedblleft} +\unfakable{quotedblright} +\unfakable{quotedblbase} +\unfakable{guillemotleft} +\unfakable{guillemotright} +\unfakable{endash} +\unfakable{emdash} +\unfakable{dotlessi} +\unfakable{perthousandzero} +\unfakable{exclam} +\unfakable{quotedbl} +\unfakable{numbersign} +\unfakable{dollar} +\unfakable{percent} +\unfakable{ampersand} +\unfakable{quoteright} +\unfakable{parenleft} +\unfakable{parenright} +\unfakable{asterisk} +\unfakable{plus} +\unfakable{comma} +\unfakable{hyphen} +\unfakable{period} +\unfakable{slash} +\unfakable{zero} +\unfakable{one} +\unfakable{two} +\unfakable{three} +\unfakable{four} +\unfakable{five} +\unfakable{six} +\unfakable{seven} +\unfakable{eight} +\unfakable{nine} +\unfakable{zerooldstyle} +\unfakable{oneoldstyle} +\unfakable{twooldstyle} +\unfakable{threeoldstyle} +\unfakable{fouroldstyle} +\unfakable{fiveoldstyle} +\unfakable{sixoldstyle} +\unfakable{sevenoldstyle} +\unfakable{eightoldstyle} +\unfakable{nineoldstyle} +\unfakable{colon} +\unfakable{semicolon} +\unfakable{less} +\unfakable{equal} +\unfakable{greater} +\unfakable{question} +\unfakable{at} +\unfakable{A} +\unfakable{B} +\unfakable{C} +\unfakable{D} +\unfakable{E} +\unfakable{F} +\unfakable{G} +\unfakable{H} +\unfakable{I} +\unfakable{J} +\unfakable{K} +\unfakable{L} +\unfakable{M} +\unfakable{N} +\unfakable{O} +\unfakable{P} +\unfakable{Q} +\unfakable{R} +\unfakable{S} +\unfakable{T} +\unfakable{U} +\unfakable{V} +\unfakable{W} +\unfakable{X} +\unfakable{Y} +\unfakable{Z} +\unfakable{bracketleft} +\unfakable{backslash} +\unfakable{bracketright} +\unfakable{asciicircum} +\unfakable{underscore} +\unfakable{quoteleft} +\unfakable{a} +\unfakable{b} +\unfakable{c} +\unfakable{d} +\unfakable{e} +\unfakable{f} +\unfakable{g} +\unfakable{h} +\unfakable{i} +\unfakable{j} +\unfakable{k} +\unfakable{l} +\unfakable{m} +\unfakable{n} +\unfakable{o} +\unfakable{p} +\unfakable{q} +\unfakable{r} +\unfakable{s} +\unfakable{t} +\unfakable{u} +\unfakable{v} +\unfakable{w} +\unfakable{x} +\unfakable{y} +\unfakable{z} +\unfakable{braceleft} +\unfakable{bar} +\unfakable{braceright} +\unfakable{asciitilde} +\unfakable{Eng} +\unfakable{section} +\unfakable{eng} +\unfakable{exclamdown} +\unfakable{questiondown} +\unfakable{sterling} +\unfakable{AE} +\unfakable{Eth} +\unfakable{OE} +\unfakable{Oslash} +\unfakable{Thorn} +\unfakable{ae} +\unfakable{eth} +\unfakable{oe} +\unfakable{oslash} +\unfakable{thorn} +\unfakable{germandbls} +\unfakable{lslashslash} + +\setglyph{dotlessj} + \moveup{\neg{\depth{j}}} + \glyphrule{\width{j}}{\add{\depth{j}}{\height{dotlessi}}} + \resetitalic{\italic{dotlessi}} + \moveup{\depth{j}} + \glyphwarning{missing glyph `dotlessj'} +\endsetglyph + + +\comment{\section{Glyphs}} + +% only with monospaced fonts. (WaS) +\ifisint{monowidth}\then +\resetglyph{asterisk} + \moveup{\neg{\sub{\scale{\sub{\height{asterisk}}{\depth{asterisk}}}{500}}{\int{vaxis}}}} + \glyph{asterisk}{1000} + \resetdepth{0} +\endresetglyph +\fi + +\setglyph{space} + \ifisglyph{space-not}\then + \movert{\width{space-not}} + \else + \movert{\width{i}} + \fi +\endsetglyph + +\setglyph{compwordmark} + \glyphrule{0}{\int{xheight}} +\endsetglyph +\setint{compwordmark-spacing}{0} + +\setglyph{quotesinglbase} + \glyph{comma}{1000} +\endsetglyph + +\setglyph{fi} + \glyph{f}{1000} + \movert{\kerning{f}{i}} + \glyph{i}{1000} +\endsetglyph + +\setglyph{ff} + \glyph{f}{1000} + \movert{\kerning{f}{f}} + \glyph{f}{1000} +\endsetglyph + +\setglyph{fl} + \glyph{f}{1000} + \movert{\kerning{f}{l}} + \glyph{l}{1000} +\endsetglyph + +\setglyph{ffi} + \glyph{f}{1000} + \movert{\kerning{f}{f}} + \glyph{fi}{1000} +\endsetglyph + +\setglyph{ffl} + \glyph{f}{1000} + \movert{\kerning{f}{f}} + \glyph{fl}{1000} +\endsetglyph + +\setglyph{visiblespace} + \moveup{\neg{\int{visiblespacedepth}}} + \movert{\int{visiblespacesurround}} + \glyphrule + {\int{underlinethickness}} + {\int{visiblespacedepth}} + \glyphrule + {\int{visiblespacewidth}} + {\int{underlinethickness}} + \glyphrule + {\int{underlinethickness}} + {\int{visiblespacedepth}} + \movert{\int{visiblespacesurround}} + \moveup{\int{visiblespacedepth}} +\endsetglyph + +\setglyph{rangedash} + \ifisint{monowidth}\then + \glyph{hyphen}{1000} + \else + \glyph{endash}{1000} + \fi +\endsetglyph + +\setglyph{punctdash} + \ifisint{monowidth}\then + \glyph{hyphen}{1000} + \glyph{hyphen}{1000} + \else + \glyph{emdash}{1000} + \fi +\endsetglyph + +\setglyph{hyphenchar} + \glyph{hyphen}{1000} +\endsetglyph + +\setglyph{ringfitted} + \movert{\div{\sub{\width{A}}{\width{ring}}}{2}} + \glyph{ring}{1000} + \movert{\div{\sub{\width{A}}{\width{ring}}}{2}} +\endsetglyph + +\setglyph{lslash} + \glyph{lslashslash}{1000} + \movert{\kerning{lslashslash}{l}} + \glyph{l}{1000} +\endsetglyph + +\setglyph{Lslash} + \glyph{lslashslash}{1000} + \movert{\kerning{lslashslash}{L}} + \glyph{L}{1000} +\endsetglyph + +\setglyph{Ng} + \glyph{Eng}{1000} +\endsetglyph + +\setglyph{ng} + \glyph{eng}{1000} +\endsetglyph + +\setglyph{Abreve} + \topaccent{A}{breve}{500} +\endsetglyph + +\setglyph{Aogonek} + \botaccent{A}{ogonek}{900} +\endsetglyph + +\setglyph{Cacute} + \topaccent{C}{acute}{500} +\endsetglyph + +\setglyph{Ccaron} + \topaccent{C}{caron}{500} +\endsetglyph + +\setglyph{Dcaron} + \topaccent{D}{caron}{450} +\endsetglyph + +\setglyph{Ecaron} + \topaccent{E}{caron}{500} +\endsetglyph + +\setglyph{Eogonek} + \botaccent{E}{ogonek}{850} +\endsetglyph + +\setglyph{Gbreve} + \topaccent{G}{breve}{500} +\endsetglyph + +\setglyph{Lacute} + \topaccent{L}{acute}{250} +\endsetglyph + +\setglyph{Lcaron} + \glyph{L}{1000} + \ifisint{monowidth}\then\else + \movert{-200} + \fi + \glyph{quoteright}{1000} +\endsetglyph + +\setglyph{Nacute} + \topaccent{N}{acute}{500} +\endsetglyph + +\setglyph{Ncaron} + \topaccent{N}{caron}{500} +\endsetglyph + +\setglyph{Ohungarumlaut} + \topaccent{O}{hungarumlaut}{500} +\endsetglyph + +\setglyph{Racute} + \topaccent{R}{acute}{500} +\endsetglyph + +\setglyph{Rcaron} + \topaccent{R}{caron}{500} +\endsetglyph + +\setglyph{Sacute} + \topaccent{S}{acute}{500} +\endsetglyph + +\setglyph{Scaron} + \topaccent{S}{caron}{500} +\endsetglyph + +\setglyph{Scedilla} + \botaccent{S}{cedilla}{500} +\endsetglyph + +\setglyph{Tcaron} + \topaccent{T}{caron}{500} +\endsetglyph + +\setglyph{Tcedilla} + \botaccent{T}{cedilla}{500} +\endsetglyph + +\setglyph{Uhungarumlaut} + \topaccent{U}{hungarumlaut}{500} +\endsetglyph + +\setglyph{Uring} + \topaccent{U}{ring}{500} +\endsetglyph + +\setglyph{Ydieresis} + \topaccent{Y}{dieresis}{500} +\endsetglyph + +\setglyph{Zacute} + \topaccent{Z}{acute}{500} +\endsetglyph + +\setglyph{Zcaron} + \topaccent{Z}{caron}{500} +\endsetglyph + +\setglyph{Zdotaccent} + \topaccent{Z}{dotaccent}{500} +\endsetglyph + +\setglyph{IJ} + \glyph{I}{1000} + \movert{\kerning{I}{J}} + \glyph{J}{1000} +\endsetglyph + +\setglyph{Idotaccent} + \topaccent{I}{dotaccent}{500} +\endsetglyph + +\setglyph{dbar} + \push + \movert{\sub{\width{d}}{\width{macron}}} + \moveup{ + \sub{\scale{\add{\height{d}}{\int{xheight}}}{500}} + {\height{macron}}} + \glyph{macron}{1000} + \pop + \glyph{d}{1000} +\endsetglyph + +\setglyph{abreve} + \topaccent{a}{breve}{500} +\endsetglyph + +\setglyph{aogonek} + \botaccent{a}{ogonek}{850} +\endsetglyph + +\setglyph{cacute} + \topaccent{c}{acute}{500} +\endsetglyph + +\setglyph{ccaron} + \topaccent{c}{caron}{500} +\endsetglyph + +\setglyph{dcaron} + \glyph{d}{1000} + \ifisint{monowidth}\then\else + \movert{-75} + \fi + \glyph{quoteright}{1000} +\endsetglyph + +\setglyph{ecaron} + \topaccent{e}{caron}{500} +\endsetglyph + +\setglyph{eogonek} + \botaccent{e}{ogonek}{500} +\endsetglyph + +\setglyph{gbreve} + \topaccent{g}{breve}{500} +\endsetglyph + +\setglyph{lacute} + \topaccent{l}{acute}{500} +\endsetglyph + +\setglyph{lcaron} + \glyph{l}{1000} + \ifisint{monowidth}\then\else + \movert{-100} + \fi + \glyph{quoteright}{1000} +\endsetglyph + +\setglyph{nacute} + \topaccent{n}{acute}{500} +\endsetglyph + +\setglyph{ncaron} + \topaccent{n}{caron}{500} +\endsetglyph + +\setglyph{ohungarumlaut} + \topaccent{o}{hungarumlaut}{500} +\endsetglyph + +\setglyph{racute} + \topaccent{r}{acute}{500} +\endsetglyph + +\setglyph{rcaron} + \topaccent{r}{caron}{500} +\endsetglyph + +\setglyph{sacute} + \topaccent{s}{acute}{500} +\endsetglyph + +\setglyph{scaron} + \topaccent{s}{caron}{500} +\endsetglyph + +\setglyph{scedilla} + \botaccent{s}{cedilla}{500} +\endsetglyph + +\setglyph{tcaron} + \glyph{t}{1000} + \ifisint{monowidth}\then\else + \movert{-75} + \fi + \glyph{quoteright}{1000} +\endsetglyph + +\setglyph{tcedilla} + \botaccent{t}{cedilla}{500} +\endsetglyph + +\setglyph{uhungarumlaut} + \topaccent{u}{hungarumlaut}{500} +\endsetglyph + +\setglyph{uring} + \topaccent{u}{ring}{500} +\endsetglyph + +\setglyph{ydieresis} + \topaccent{y}{dieresis}{500} +\endsetglyph + +\setglyph{zacute} + \topaccent{z}{acute}{500} +\endsetglyph + +\setglyph{zcaron} + \topaccent{z}{caron}{500} +\endsetglyph + +% make this glyph match the letter i. (WaS) +\setglyph{zdotaccent} + \itopaccent{z}{dotaccent}{500} +\endsetglyph + +\setglyph{ij} + \glyph{i}{1000} + \movert{\kerning{i}{j}} + \glyph{j}{1000} +\endsetglyph + +\setglyph{Agrave} + \topaccent{A}{grave}{500} +\endsetglyph + +\setglyph{Aacute} + \topaccent{A}{acute}{500} +\endsetglyph + +\setglyph{Acircumflex} + \topaccent{A}{circumflex}{500} +\endsetglyph + +\setglyph{Atilde} + \topaccent{A}{tilde}{500} +\endsetglyph + +\setglyph{Adieresis} + \topaccent{A}{dieresis}{500} +\endsetglyph + +\setglyph{Aring} + \topaccent{A}{ring}{500} +\endsetglyph + +\setglyph{Ccedilla} + \botaccent{C}{cedilla}{500} +\endsetglyph + +\setglyph{Egrave} + \topaccent{E}{grave}{500} +\endsetglyph + +\setglyph{Eacute} + \topaccent{E}{acute}{500} +\endsetglyph + +\setglyph{Ecircumflex} + \topaccent{E}{circumflex}{500} +\endsetglyph + +\setglyph{Edieresis} + \topaccent{E}{dieresis}{500} +\endsetglyph + +\setglyph{Iacute} + \topaccent{I}{acute}{500} +\endsetglyph + +\setglyph{Igrave} + \topaccent{I}{grave}{500} +\endsetglyph + +\setglyph{Icircumflex} + \topaccent{I}{circumflex}{500} +\endsetglyph + +\setglyph{Idieresis} + \topaccent{I}{dieresis}{500} +\endsetglyph + +\setglyph{Ntilde} + \topaccent{N}{tilde}{500} +\endsetglyph + +\setglyph{Ograve} + \topaccent{O}{grave}{500} +\endsetglyph + +\setglyph{Oacute} + \topaccent{O}{acute}{500} +\endsetglyph + +\setglyph{Ocircumflex} + \topaccent{O}{circumflex}{500} +\endsetglyph + +\setglyph{Otilde} + \topaccent{O}{tilde}{500} +\endsetglyph + +\setglyph{Odieresis} + \topaccent{O}{dieresis}{500} +\endsetglyph + +\setglyph{Ugrave} + \topaccent{U}{grave}{500} +\endsetglyph + +\setglyph{Uacute} + \topaccent{U}{acute}{500} +\endsetglyph + +\setglyph{Ucircumflex} + \topaccent{U}{circumflex}{500} +\endsetglyph + +\setglyph{Udieresis} + \topaccent{U}{dieresis}{500} +\endsetglyph + +\setglyph{Yacute} + \topaccent{Y}{acute}{500} +\endsetglyph + +\setglyph{SS} + \glyph{S}{1000} + \movert{\kerning{S}{S}} + \glyph{S}{1000} +\endsetglyph + +\setglyph{agrave} + \topaccent{a}{grave}{500} +\endsetglyph + +\setglyph{aacute} + \topaccent{a}{acute}{500} +\endsetglyph + +\setglyph{acircumflex} + \topaccent{a}{circumflex}{500} +\endsetglyph + +\setglyph{atilde} + \topaccent{a}{tilde}{500} +\endsetglyph + +\setglyph{adieresis} + \topaccent{a}{dieresis}{500} +\endsetglyph + +\setglyph{aring} + \topaccent{a}{ring}{500} +\endsetglyph + +\setglyph{ccedilla} + \botaccent{c}{cedilla}{500} +\endsetglyph + +\setglyph{egrave} + \topaccent{e}{grave}{500} +\endsetglyph + +\setglyph{eacute} + \topaccent{e}{acute}{500} +\endsetglyph + +\setglyph{ecircumflex} + \topaccent{e}{circumflex}{500} +\endsetglyph + +\setglyph{edieresis} + \topaccent{e}{dieresis}{500} +\endsetglyph + +\setglyph{igrave} + \topaccent{dotlessi}{grave}{500} +\endsetglyph + +\setglyph{iacute} + \topaccent{dotlessi}{acute}{500} +\endsetglyph + +\setglyph{icircumflex} + \topaccent{dotlessi}{circumflex}{500} +\endsetglyph + +\setglyph{idieresis} + \topaccent{dotlessi}{dieresis}{500} +\endsetglyph + +\setglyph{ntilde} + \topaccent{n}{tilde}{500} +\endsetglyph + +\setglyph{ograve} + \topaccent{o}{grave}{500} +\endsetglyph + +\setglyph{oacute} + \topaccent{o}{acute}{500} +\endsetglyph + +\setglyph{ocircumflex} + \topaccent{o}{circumflex}{500} +\endsetglyph + +\setglyph{otilde} + \topaccent{o}{tilde}{500} +\endsetglyph + +\setglyph{odieresis} + \topaccent{o}{dieresis}{500} +\endsetglyph + +\setglyph{ugrave} + \topaccent{u}{grave}{500} +\endsetglyph + +\setglyph{uacute} + \topaccent{u}{acute}{500} +\endsetglyph + +\setglyph{ucircumflex} + \topaccent{u}{circumflex}{500} +\endsetglyph + +\setglyph{udieresis} + \topaccent{u}{dieresis}{500} +\endsetglyph + +\setglyph{yacute} + \topaccent{y}{acute}{500} +\endsetglyph + + +\comment{\section{All-caps glyphs}} + +\setglyph{dotlessI} + \glyph{I}{1000} +\endsetglyph + +\setglyph{dotlessJ} + \glyph{J}{1000} +\endsetglyph + +\setglyph{FFspaced} + \glyph{F}{1000} + \movert{\add{\kerning{F}{F}} + {\int{capspacing}}} + \glyph{F}{1000} +\endsetglyph + +\setglyph{FIspaced} + \glyph{F}{1000} + \movert{\add{\kerning{F}{I}} + {\int{capspacing}}} + \glyph{I}{1000} +\endsetglyph + +\setglyph{FLspaced} + \glyph{F}{1000} + \movert{\add{\kerning{F}{L}} + {\int{capspacing}}} + \glyph{L}{1000} +\endsetglyph + +\setglyph{FFIspaced} + \glyph{FFspaced}{1000} + \movert{\add{\kerning{FFspaced}{I}} + {\int{capspacing}}} + \glyph{I}{1000} +\endsetglyph + +\setglyph{FFLspaced} + \glyph{FFspaced}{1000} + \movert{\add{\kerning{FFspaced}{L}} + {\int{capspacing}}} + \glyph{L}{1000} +\endsetglyph + +\setglyph{Dbar} + \glyph{Eth}{1000} +\endsetglyph + +\setglyph{IJspaced} + \glyph{I}{1000} + \movert{\add{\kerning{I}{J}}{\int{capspacing}}} + \glyph{J}{1000} +\endsetglyph + +\setglyph{SSspaced} + \glyph{S}{1000} + \movert{\add{\kerning{S}{S}}{\int{capspacing}}} + \glyph{S}{1000} +\endsetglyph + + +\comment{\section{Small caps glyphs}} + +\setglyph{Acutesmall} + \cscaccent{acute} +\endsetglyph + +\setglyph{acutesmall} + \glyph{Acutesmall}{1000} +\endsetglyph + +\setglyph{Gravesmall} + \cscaccent{grave} +\endsetglyph + +\setglyph{gravesmall} + \glyph{Gravesmall}{1000} +\endsetglyph + +\setglyph{Circumflexsmall} + \cscaccent{circumflex} +\endsetglyph + +\setglyph{circumflexsmall} + \glyph{Circumflexsmall}{1000} +\endsetglyph + +\setglyph{Tildesmall} + \cscaccent{tilde} +\endsetglyph + +\setglyph{tildesmall} + \glyph{Tildesmall}{1000} +\endsetglyph + +\setglyph{Dieresissmall} + \cscaccent{dieresis} +\endsetglyph + +\setglyph{dieresissmall} + \glyph{Dieresissmall}{1000} +\endsetglyph + +\setglyph{Brevesmall} + \cscaccent{breve} +\endsetglyph + +\setglyph{brevesmall} + \glyph{Brevesmall}{1000} +\endsetglyph + +\setglyph{Dotaccentsmall} + \cscaccent{dotaccent} +\endsetglyph + +\setglyph{dotaccentsmall} + \glyph{Dotaccentsmall}{1000} +\endsetglyph + +\setglyph{Caronsmall} + \cscaccent{caron} +\endsetglyph + +\setglyph{caronsmall} + \glyph{Caronsmall}{1000} +\endsetglyph + +\setglyph{Hungarumlautsmall} + \cscaccent{hungarumlaut} +\endsetglyph + +\setglyph{hungarumlautsmall} + \glyph{Hungarumlautsmall}{1000} +\endsetglyph + +\setglyph{Ringsmall} + \cscaccent{ring} +\endsetglyph + +\setglyph{ringsmall} + \glyph{Ringsmall}{1000} +\endsetglyph + +\setglyph{Macronsmall} + \cscaccent{macron} +\endsetglyph + +\setglyph{macronsmall} + \glyph{Macronsmall}{1000} + \comment{It might be unnecessary to set this glyph. This should be + checked sometime. /LH} +\endsetglyph + +\setglyph{Cedillasmall} + \cscglyph{cedilla} +\endsetglyph + +\setglyph{cedillasmall} + \glyph{Cedillasmall}{1000} +\endsetglyph + +\setglyph{Ogoneksmall} + \cscglyph{ogonek} +\endsetglyph + +\setglyph{ogoneksmall} + \glyph{Ogoneksmall}{1000} +\endsetglyph + +\setglyph{Idotaccentsmall} + \csctopaccent{I}{dotaccent}{500} +\endsetglyph + +\setglyph{Abrevesmall} + \csctopaccent{A}{breve}{500} +\endsetglyph + +\setglyph{Aogoneksmall} + \cscbotaccent{A}{ogonek}{900} +\endsetglyph + +\setglyph{Cacutesmall} + \csctopaccent{C}{acute}{500} +\endsetglyph + +\setglyph{Ccaronsmall} + \csctopaccent{C}{caron}{500} +\endsetglyph + +\setglyph{Dcaronsmall} + \csctopaccent{D}{caron}{500} +\endsetglyph + +\setglyph{Ecaronsmall} + \csctopaccent{E}{caron}{500} +\endsetglyph + +\setglyph{Eogoneksmall} + \cscbotaccent{E}{ogonek}{850} +\endsetglyph + +\setglyph{Gbrevesmall} + \csctopaccent{G}{breve}{500} +\endsetglyph + +\setglyph{Lacutesmall} + \csctopaccent{L}{acute}{250} +\endsetglyph + +\setglyph{Nacutesmall} + \csctopaccent{N}{acute}{500} +\endsetglyph + +\setglyph{Ncaronsmall} + \csctopaccent{N}{caron}{500} +\endsetglyph + +\setglyph{Ngsmall} + \cscglyph{Ng} +\endsetglyph + +\setglyph{Ohungarumlautsmall} + \csctopaccent{O}{hungarumlaut}{500} +\endsetglyph + +\setglyph{Racutesmall} + \csctopaccent{R}{acute}{500} +\endsetglyph + +\setglyph{Rcaronsmall} + \csctopaccent{R}{caron}{500} +\endsetglyph + +\setglyph{Sacutesmall} + \csctopaccent{S}{acute}{500} +\endsetglyph + +\setglyph{Scaronsmall} + \csctopaccent{S}{caron}{500} +\endsetglyph + +\setglyph{Scedillasmall} + \cscbotaccent{S}{cedilla}{500} +\endsetglyph + +\setglyph{Tcaronsmall} + \csctopaccent{T}{caron}{500} +\endsetglyph + +\setglyph{Tcedillasmall} + \cscbotaccent{T}{cedilla}{500} +\endsetglyph + +\setglyph{Uhungarumlautsmall} + \csctopaccent{U}{hungarumlaut}{500} +\endsetglyph + +\setglyph{Uringsmall} + \csctopaccent{U}{ring}{500} +\endsetglyph + +\setglyph{Ydieresissmall} + \csctopaccent{Y}{dieresis}{500} +\endsetglyph + +\setglyph{Zacutesmall} + \csctopaccent{Z}{acute}{500} +\endsetglyph + +\setglyph{Zcaronsmall} + \csctopaccent{Z}{caron}{500} +\endsetglyph + +\setglyph{Zdotaccentsmall} + \csctopaccent{Z}{dotaccent}{500} +\endsetglyph + +\setglyph{Agravesmall} + \csctopaccent{A}{grave}{500} +\endsetglyph + +\setglyph{Aacutesmall} + \csctopaccent{A}{acute}{500} +\endsetglyph + +\setglyph{Acircumflexsmall} + \csctopaccent{A}{circumflex}{500} +\endsetglyph + +\setglyph{Atildesmall} + \csctopaccent{A}{tilde}{500} +\endsetglyph + +\setglyph{Adieresissmall} + \csctopaccent{A}{dieresis}{500} +\endsetglyph + +\setglyph{Aringsmall} + \csctopaccent{A}{ring}{500} +\endsetglyph + +\setglyph{Ccedillasmall} + \csctopaccent{C}{cedilla}{500} +\endsetglyph + +\setglyph{Egravesmall} + \csctopaccent{E}{grave}{500} +\endsetglyph + +\setglyph{Eacutesmall} + \csctopaccent{E}{acute}{500} +\endsetglyph + +\setglyph{Ecircumflexsmall} + \csctopaccent{E}{circumflex}{500} +\endsetglyph + +\setglyph{Edieresissmall} + \csctopaccent{E}{dieresis}{500} +\endsetglyph + +\setglyph{Igravesmall} + \csctopaccent{I}{grave}{500} +\endsetglyph + +\setglyph{Iacutesmall} + \csctopaccent{I}{acute}{500} +\endsetglyph + +\setglyph{Icircumflexsmall} + \csctopaccent{I}{circumflex}{500} +\endsetglyph + +\setglyph{Idieresissmall} + \csctopaccent{I}{dieresis}{500} +\endsetglyph + +\setglyph{Ethsmall} + \cscglyph{Eth} +\endsetglyph + +\setglyph{Dbarsmall} + \glyph{Ethsmall}{1000} +\endsetglyph + +\setglyph{Ntildesmall} + \csctopaccent{N}{tilde}{500} +\endsetglyph + +\setglyph{Ogravesmall} + \csctopaccent{O}{grave}{500} +\endsetglyph + +\setglyph{Oacutesmall} + \csctopaccent{O}{acute}{500} +\endsetglyph + +\setglyph{Ocircumflexsmall} + \csctopaccent{O}{circumflex}{500} +\endsetglyph + +\setglyph{Otildesmall} + \csctopaccent{O}{tilde}{500} +\endsetglyph + +\setglyph{Odieresissmall} + \csctopaccent{O}{dieresis}{500} +\endsetglyph + +\setglyph{Ugravesmall} + \csctopaccent{U}{grave}{500} +\endsetglyph + +\setglyph{Uacutesmall} + \csctopaccent{U}{acute}{500} +\endsetglyph + +\setglyph{Ucircumflexsmall} + \csctopaccent{U}{circumflex}{500} +\endsetglyph + +\setglyph{Udieresissmall} + \csctopaccent{U}{dieresis}{500} +\endsetglyph + +\setglyph{Yacutesmall} + \csctopaccent{Y}{acute}{500} +\endsetglyph + +\setglyph{Thornsmall} + \cscglyph{Thorn} +\endsetglyph + +\setglyph{Asmall} + \cscglyph{A} +\endsetglyph + +\setglyph{Bsmall} + \cscglyph{B} +\endsetglyph + +\setglyph{Csmall} + \cscglyph{C} +\endsetglyph + +\setglyph{Dsmall} + \cscglyph{D} +\endsetglyph + +\setglyph{Esmall} + \cscglyph{E} +\endsetglyph + +\setglyph{Fsmall} + \cscglyph{F} +\endsetglyph + +\setglyph{Gsmall} + \cscglyph{G} +\endsetglyph + +\setglyph{Hsmall} + \cscglyph{H} +\endsetglyph + +\setglyph{Ismall} + \cscglyph{I} +\endsetglyph + +\setglyph{Jsmall} + \cscglyph{J} +\endsetglyph + +\setglyph{Ksmall} + \cscglyph{K} +\endsetglyph + +\setglyph{Lsmall} + \cscglyph{L} +\endsetglyph + +\setglyph{Msmall} + \cscglyph{M} +\endsetglyph + +\setglyph{Nsmall} + \cscglyph{N} +\endsetglyph + +\setglyph{Osmall} + \cscglyph{O} +\endsetglyph + +\setglyph{Psmall} + \cscglyph{P} +\endsetglyph + +\setglyph{Qsmall} + \cscglyph{Q} +\endsetglyph + +\setglyph{Rsmall} + \cscglyph{R} +\endsetglyph + +\setglyph{Ssmall} + \cscglyph{S} +\endsetglyph + +\setglyph{Tsmall} + \cscglyph{T} +\endsetglyph + +\setglyph{Usmall} + \cscglyph{U} +\endsetglyph + +\setglyph{Vsmall} + \cscglyph{V} +\endsetglyph + +\setglyph{Wsmall} + \cscglyph{W} +\endsetglyph + +\setglyph{Xsmall} + \cscglyph{X} +\endsetglyph + +\setglyph{Ysmall} + \cscglyph{Y} +\endsetglyph + +\setglyph{Zsmall} + \cscglyph{Z} +\endsetglyph + +\setglyph{Lslashsmall} + \cscglyph{Lslash} +\endsetglyph + +\setglyph{AEsmall} + \cscglyph{AE} +\endsetglyph + +\setglyph{OEsmall} + \cscglyph{OE} +\endsetglyph + +\setglyph{Oslashsmall} + \cscglyph{Oslash} +\endsetglyph + +\setglyph{dotlessIsmall} + \glyph{Ismall}{1000} +\endsetglyph + +\setglyph{dotlessJsmall} + \glyph{Jsmall}{1000} +\endsetglyph + +\setglyph{FFsmall} + \glyph{Fsmall}{1000} + \movert{\add{\kerning{Fsmall}{Fsmall}} + {\mul{2}{\int{smallcapsextraspace}}}} + \glyph{Fsmall}{1000} +\endsetglyph + +\setglyph{FIsmall} + \glyph{Fsmall}{1000} + \movert{\add{\kerning{Fsmall}{Ismall}} + {\mul{2}{\int{smallcapsextraspace}}}} + \glyph{Ismall}{1000} +\endsetglyph + +\setglyph{FLsmall} + \glyph{Fsmall}{1000} + \movert{\add{\kerning{Fsmall}{Lsmall}} + {\mul{2}{\int{smallcapsextraspace}}}} + \glyph{Lsmall}{1000} +\endsetglyph + +\setglyph{FFIsmall} + \glyph{FFsmall}{1000} + \movert{\add{\kerning{FFsmall}{Ismall}} + {\mul{2}{\int{smallcapsextraspace}}}} + \glyph{Ismall}{1000} +\endsetglyph + +\setglyph{FFLsmall} + \glyph{FFsmall}{1000} + \movert{\add{\kerning{FFsmall}{Lsmall}} + {\mul{2}{\int{smallcapsextraspace}}}} + \glyph{Lsmall}{1000} +\endsetglyph + +\setglyph{IJsmall} + \glyph{Ismall}{1000} + \movert{\add{\kerning{Ismall}{Jsmall}} + {\mul{2}{\int{smallcapsextraspace}}}} + \glyph{Jsmall}{1000} +\endsetglyph + +\setglyph{Lcaronsmall} + \glyph{Lsmall}{1000} + \ifisint{monowidth}\then\else + \movert{-100} + \fi + \glyph{quoteright}{\int{smallcapsscale}} +\endsetglyph + +\setglyph{SSsmall} + \glyph{Ssmall}{1000} + \movert{\add{\kerning{Ssmall}{Ssmall}} + {\mul{2}{\int{smallcapsextraspace}}}} + \glyph{Ssmall}{1000} +\endsetglyph + + +\comment{\section{Accents} + \TeX's math accent-positioning requires accents to have zero depth.} + +\setcommand\zerodepth#1{ + \ifisglyph{#1}\then + \resetglyph{#1} + \glyph{#1}{1000} + \resetdepth{0} + \endresetglyph + \fi +} +\zerodepth{grave} +\zerodepth{acute} +\zerodepth{circumflex} +\zerodepth{tilde} +\zerodepth{dieresis} +\zerodepth{hungarumlaut} +\zerodepth{ring} +\zerodepth{caron} +\zerodepth{breve} +\zerodepth{macron} +\zerodepth{dotaccent} + +\endmetrics + +\section{Changes} + +2003/03/18: Added \texttt{vaxis} for the vertical symmetry axis +Changed `\texttt{asterisk}', which is now vertically centered +in monospaced fonts. +New code to create `\texttt{zdotaccent}', making sure that the +height of the dot matches the letter `\texttt{i}'. This requires +a new macro \verb|\itopaccent|. (WaS) + +1999/10/25: Added \verb|\setglyphs| for \texttt{Macronsmall} and +\texttt{macronsmall}. (LH) + +1999/10/25: Simplified definition of \verb|\unfakable|. (UV\&LH) +Rationale: It is thoroughly confusing if the size of the black box +created by \verb|\unfakable| depends on the metrics of an unencoded +glyph that isn't accessible and therefore unavailable for all pratical +purposes. + +\end{document} diff --git a/Master/texmf-dist/tex/fontinst/latinmtx/latinsc.mtx b/Master/texmf-dist/tex/fontinst/latinmtx/latinsc.mtx new file mode 100644 index 00000000000..272c4df97e3 --- /dev/null +++ b/Master/texmf-dist/tex/fontinst/latinmtx/latinsc.mtx @@ -0,0 +1,1324 @@ +% Copyright 1997, 1998 Sebastian Rahtz, +% copyright 1998, 1999 the fontinst maintenance team and any individual +% authors listed elsewhere in this file. All rights reserved. +% +% This file is part of the fontinst system version 1.9. +% ----------------------------------------------------- +% +% It may be distributed under the terms of the LaTeX Project Public +% License, as described in lppl.txt in the base LaTeX distribution. +% Either version 1.0 or, at your option, any later version. +% +%%% ==================================================================== +%%% @TeX-font-metrics-file{ +%%% author = "Sebastian Rahtz and Ulrik Vieth and Walter Schmidt", +%%% version = "1.916", +%%% date = "12 March 2003", +%%% time = "23:59 MESZ", +%%% filename = "latinsc.mtx", +%%% email = "fontinst@tug.org", +%%% URL = "http://www.tug.org/applications/fontinst/", +%%% codetable = "ISO/ASCII", +%%% keywords = "metrics, TeX, PostScript", +%%% supported = "yes", +%%% abstract = "This is a font metrics file, for use with the +%%% fontinst utility. It provides the defaults +%%% used to install the Latin small caps glyphs.", +%%% package = "fontinst", +%%% dependencies = "fontinst.sty, fontdoc.sty", +%%% } +%%% ==================================================================== + +\relax + +\documentclass[twocolumn]{article} +\usepackage{fontdoc} + +\title{The \textsf{fontinst} latin small caps glyphs} +\author{Sebastian Rahtz, Ulrik Vieth, Walter Schmidt} +\date{12 March 2003 \\ +Version 1.916} + +\begin{document} +\maketitle + +\section{Introduction} + +This document describes the glyphs used by the \textsf{fontinst} package +when generating Latin fonts. This file, \texttt{latinsc.mtx}, is a +special version of \texttt{latin.mtx}, intended for use with real small +caps glyphs from expert fonts using `oldstyle' or `small' glyph names. + +\metrics + +\needsfontinstversion{1.800} + +% \unfakable is a glyph which can't be faked. + +\setcommand\unfakable#1{ + \setglyph{#1} + \glyphrule{500}{500} + \glyphwarning{missing glyph `#1'} + \endsetglyph +} + +% A top accent is set by placing the center of the accent at the given +% position along the width of the letter, raised up by the difference +% between the height of the letter and the xheight. + +\setcommand\topaccent#1#2#3{ + \push + \moveup{\max{0}{\sub{\height{#1}}{\int{xheight}}}} + \movert{\add{\sub{\scale{\width{#1}}{#3}}{\scale{\width{#2}}{500}}} + {\scale{\sub{\height{#1}}{\int{xheight}}}{\int{italicslant}}}} + \glyph{#2}{1000} + \pop + \glyph{#1}{1000} +} + +% A bottom accent is set by placing the center of the accent at the given +% position along the width of the letter. + +\setcommand\botaccent#1#2#3{ + \push + \movert{\sub{\scale{\width{#1}}{#3}}{\scale{\width{#2}}{500}}} + \glyph{#2}{1000} + \pop + \glyph{#1}{1000} +} + +% A c&sc glyph is created by shrinking the cap glyph, and adding extra +% space. + +\setcommand\cscglyph#1{ + \ifisglyph{#1small}\then + \glyph{#1small}{1000} + \else + \movert{\int{smallcapsextraspace}} + \glyph{#1}{\int{smallcapsscale}} + \movert{\int{smallcapsextraspace}} + \fi +} + +% A c&sc top accent glyph is placed using the small glyphs if +% available, and otherwise by shrinking the equivalent capital. + +\setcommand\csctopaccent#1#2#3{ + \ifisglyph{#1small}\then + \topaccent{#1small}{#2small}{#3} + \else + \cscglyph{#1#2} + \fi +} + +% A c&sc bot accent glyph is placed using the small glyphs if +% available, and otherwise by shrinking the equivalent capital. + +\setcommand\cscbotaccent#1#2#3{ + \ifisglyph{#1small}\then + \botaccent{#1small}{#2small}{#3} + \else + \cscglyph{#1#2} + \fi +} + +% A c&sc accent is created by moving a shrunk accent up by the +% difference between a scaled x and a scaled X. + +\setcommand\cscaccent#1{ + \moveup{\scale{\int{xheight}}{\sub{1000}{\int{smallcapsscale}}}} + \cscglyph{#1} + \moveup{\scale{\int{xheight}}{\sub{\int{smallcapsscale}}{1000}}} +} + + +\comment{\section{Default values}} + +\setint{italicslant}{0} +\setint{xheight}{\height{x}} +\setint{capheight}{\height{A}} +\setint{ascender}{\height{d}} +\setint{descender}{\depth{g}} +\setint{underlinethickness}{40} +\setint{visiblespacedepth}{200} +\setint{visiblespacewidth}{400} +\setint{visiblespacesurround}{50} +\setint{smallcapsscale}{800} +\setint{smallcapskerning}{900} + +% Vertical symmetry axis. (WaS) +\setint{vaxis}{\scale{\sub{\height{parenleft}}{\depth{parenleft}}}{500}} + +\ifisint{monowidth}\then + \setint{capspacing}{0} + \setint{smallcapsextraspace}{0} +\else + \setint{capspacing}{0} + \setint{smallcapsextraspace}{0} +\fi + +\ifisint{visiblespace}\then + \setint{boundarychar}{\int{visiblespace}} +\fi + + +\comment{\section{Kerning}} + +\setleftrightkerning{visiblespace}{space}{1000} + +\setleftkerning{hyphenchar}{hyphen}{1000} + +\setleftrightkerning{Aacute}{A}{1000} +\setleftrightkerning{Abreve}{A}{1000} +\setleftrightkerning{Acircumflex}{A}{1000} +\setleftrightkerning{Adieresis}{A}{1000} +\setleftrightkerning{Agrave}{A}{1000} +\setleftrightkerning{Aogonek}{A}{1000} +\setleftrightkerning{Aring}{A}{1000} +\setleftrightkerning{Atilde}{A}{1000} + +\setleftrightkerning{Cacute}{C}{1000} +\setleftrightkerning{Ccaron}{C}{1000} +\setleftrightkerning{Ccedilla}{C}{1000} + +\setleftrightkerning{Dcaron}{D}{1000} + +\setleftrightkerning{Eacute}{E}{1000} +\setleftrightkerning{Ecaron}{E}{1000} +\setleftrightkerning{Ecircumflex}{E}{1000} +\setleftrightkerning{Edieresis}{E}{1000} +\setleftrightkerning{Egrave}{E}{1000} +\setleftrightkerning{Eogonek}{E}{1000} + +\setleftrightkerning{Gbreve}{G}{1000} + +\setleftkerning{IJ}{I}{1000} + +\setleftrightkerning{Iacute}{I}{1000} +\setleftrightkerning{Icircumflex}{I}{1000} +\setleftrightkerning{Idieresis}{I}{1000} +\setleftrightkerning{Idotaccent}{I}{1000} +\setleftrightkerning{Igrave}{I}{1000} + +\setrightkerning{IJ}{J}{1000} + +\setleftrightkerning{Lacute}{L}{1000} +\setleftrightkerning{Lslash}{L}{1000} +\setleftkerning{Lcaron}{L}{1000} + +\setleftrightkerning{Nacute}{N}{1000} +\setleftrightkerning{Ncaron}{N}{1000} +\setleftrightkerning{Ntilde}{N}{1000} + +%\setleftkerning{Ng}{N}{1000} +%\setrightkerning{Ng}{J}{1000} + +\setleftrightkerning{Oacute}{O}{1000} +\setleftrightkerning{Ocircumflex}{O}{1000} +\setleftrightkerning{Odieresis}{O}{1000} +\setleftrightkerning{Ograve}{O}{1000} +\setleftrightkerning{Ohungarumlaut}{O}{1000} +\setleftrightkerning{Oslash}{O}{1000} +\setleftrightkerning{Otilde}{O}{1000} + +\setleftrightkerning{Rcaron}{R}{1000} +\setleftrightkerning{Racute}{R}{1000} + +\setleftrightkerning{SS}{S}{1000} +\setleftrightkerning{Sacute}{S}{1000} +\setleftrightkerning{Scaron}{S}{1000} +\setleftrightkerning{Scedilla}{S}{1000} + +\setleftrightkerning{Tcaron}{T}{1000} +\setleftrightkerning{Tcedilla}{T}{1000} + +\setleftrightkerning{Uacute}{U}{1000} +\setleftrightkerning{Ucircumflex}{U}{1000} +\setleftrightkerning{Udieresis}{U}{1000} +\setleftrightkerning{Ugrave}{U}{1000} +\setleftrightkerning{Uhungarumlaut}{U}{1000} +\setleftrightkerning{Uring}{U}{1000} + +\setleftrightkerning{Yacute}{Y}{1000} +\setleftrightkerning{Ydieresis}{Y}{1000} + +\setleftrightkerning{Zacute}{Z}{1000} +\setleftrightkerning{Zcaron}{Z}{1000} +\setleftrightkerning{Zdotaccent}{Z}{1000} + + +\setleftrightkerning{Aacutesmall}{Asmall}{1000} +\setleftrightkerning{Abrevesmall}{Asmall}{1000} +\setleftrightkerning{Acircumflexsmall}{Asmall}{1000} +\setleftrightkerning{Adieresissmall}{Asmall}{1000} +\setleftrightkerning{Agravesmall}{Asmall}{1000} +\setleftrightkerning{Aogoneksmall}{Asmall}{1000} +\setleftrightkerning{Aringsmall}{Asmall}{1000} +\setleftrightkerning{Atildesmall}{Asmall}{1000} + +\setleftrightkerning{Cacutesmall}{Csmall}{1000} +\setleftrightkerning{Ccaronsmall}{Csmall}{1000} +\setleftrightkerning{Ccedillasmall}{Csmall}{1000} + +\setleftrightkerning{Dcaronsmall}{Dsmall}{1000} + +\setleftrightkerning{Eacutesmall}{Esmall}{1000} +\setleftrightkerning{Ecaronsmall}{Esmall}{1000} +\setleftrightkerning{Ecircumflexsmall}{Esmall}{1000} +\setleftrightkerning{Edieresissmall}{Esmall}{1000} +\setleftrightkerning{Egravesmall}{Esmall}{1000} +\setleftrightkerning{Eogoneksmall}{Esmall}{1000} + +\setleftrightkerning{Gbrevesmall}{Gsmall}{1000} + +\setleftrightkerning{Iacutesmall}{Ismall}{1000} +\setleftrightkerning{Icircumflexsmall}{Ismall}{1000} +\setleftrightkerning{Idieresissmall}{Ismall}{1000} +\setleftrightkerning{Idotaccentsmall}{Ismall}{1000} +\setleftrightkerning{Igravesmall}{Ismall}{1000} + +\setleftrightkerning{Lacutesmall}{Lsmall}{1000} +\setleftrightkerning{Lslashsmall}{Lsmall}{1000} +\setleftkerning{Lcaronsmall}{Lsmall}{1000} + +\setleftrightkerning{Nacutesmall}{Nsmall}{1000} +\setleftrightkerning{Ncaronsmall}{Nsmall}{1000} +\setleftrightkerning{Ntildesmall}{Nsmall}{1000} + +%\setleftkerning{Ngsmall}{Nsmall}{1000} +%\setrightkerning{Ngsmall}{Jsmall}{1000} + +\setleftrightkerning{Oacutesmall}{Osmall}{1000} +\setleftrightkerning{Ocircumflexsmall}{Osmall}{1000} +\setleftrightkerning{Odieresissmall}{Osmall}{1000} +\setleftrightkerning{Ogravesmall}{Osmall}{1000} +\setleftrightkerning{Ohungarumlautsmall}{Osmall}{1000} +\setleftrightkerning{Oslashsmall}{Osmall}{1000} +\setleftrightkerning{Otildesmall}{Osmall}{1000} + +\setleftrightkerning{Rcaronsmall}{Rsmall}{1000} +\setleftrightkerning{Racutesmall}{Rsmall}{1000} + +\setleftrightkerning{SSsmall}{Ssmall}{1000} +\setleftrightkerning{Sacutesmall}{Ssmall}{1000} +\setleftrightkerning{Scaronsmall}{Ssmall}{1000} +\setleftrightkerning{Scedillasmall}{Ssmall}{1000} + +\setleftrightkerning{Tcaronsmall}{Tsmall}{1000} +\setleftrightkerning{Tcedillasmall}{Tsmall}{1000} + +\setleftrightkerning{Uacutesmall}{Usmall}{1000} +\setleftrightkerning{Ucircumflexsmall}{Usmall}{1000} +\setleftrightkerning{Udieresissmall}{Usmall}{1000} +\setleftrightkerning{Ugravesmall}{Usmall}{1000} +\setleftrightkerning{Uhungarumlautsmall}{Usmall}{1000} +\setleftrightkerning{Uringsmall}{Usmall}{1000} + +\setleftrightkerning{Yacutesmall}{Ysmall}{1000} +\setleftrightkerning{Ydieresissmall}{Ysmall}{1000} + +\setleftrightkerning{Zacutesmall}{Zsmall}{1000} +\setleftrightkerning{Zcaronsmall}{Zsmall}{1000} +\setleftrightkerning{Zdotaccentsmall}{Zsmall}{1000} + + +\comment{\section{All-caps kerning}} + +\setleftrightkerning{dotlessI}{I}{1000} +\setleftrightkerning{dotlessJ}{J}{1000} +\setleftrightkerning{FFspaced}{F}{1000} +\setleftkerning{FIspaced}{F}{1000} +\setrightkerning{FIspaced}{I}{1000} +\setleftkerning{FLspaced}{F}{1000} +\setrightkerning{FLspaced}{L}{1000} +\setleftkerning{FFIspaced}{F}{1000} +\setrightkerning{FFIspaced}{I}{1000} +\setleftkerning{FFLspaced}{F}{1000} +\setrightkerning{FFLspaced}{L}{1000} +\setleftrightkerning{Dbar}{Eth}{1000} +\setleftkerning{IJspaced}{I}{1000} +\setrightkerning{IJspaced}{J}{1000} +\setleftrightkerning{SSspaced}{S}{1000} + + +\comment{\section{Small caps kerning}} + +\setleftrightkerning{dotlessIsmall}{Ismall}{1000} +\setleftrightkerning{dotlessJsmall}{Jsmall}{1000} + + +\comment{\section{Unfakable glyphs}} + +\unfakable{Gamma} +\unfakable{Delta} +\unfakable{Theta} +\unfakable{Lambda} +\unfakable{Xi} +\unfakable{Pi} +\unfakable{Sigma} +\unfakable{Upsilon} +\unfakable{Upsilon1} +\unfakable{Phi} +\unfakable{Psi} +\unfakable{Omega} + +\unfakable{grave} +\unfakable{acute} +\unfakable{circumflex} +\unfakable{tilde} +\unfakable{dieresis} +\unfakable{hungarumlaut} +\unfakable{ring} +\unfakable{caron} +\unfakable{breve} +\unfakable{macron} +\unfakable{dotaccent} +\unfakable{cedilla} +\unfakable{ogonek} +\unfakable{guilsinglleft} +\unfakable{guilsinglright} +\unfakable{quotedblleft} +\unfakable{quotedblright} +\unfakable{quotedblbase} +\unfakable{guillemotleft} +\unfakable{guillemotright} +\unfakable{endash} +\unfakable{emdash} +\unfakable{dotlessi} +\unfakable{perthousandzero} +\unfakable{exclam} +\unfakable{quotedbl} +\unfakable{numbersign} +\unfakable{dollar} +\unfakable{percent} +\unfakable{ampersand} +\unfakable{quoteright} +\unfakable{parenleft} +\unfakable{parenright} +\unfakable{asterisk} +\unfakable{plus} +\unfakable{comma} +\unfakable{hyphen} +\unfakable{period} +\unfakable{slash} +\unfakable{zero} +\unfakable{one} +\unfakable{two} +\unfakable{three} +\unfakable{four} +\unfakable{five} +\unfakable{six} +\unfakable{seven} +\unfakable{eight} +\unfakable{nine} +\unfakable{zerooldstyle} +\unfakable{oneoldstyle} +\unfakable{twooldstyle} +\unfakable{threeoldstyle} +\unfakable{fouroldstyle} +\unfakable{fiveoldstyle} +\unfakable{sixoldstyle} +\unfakable{sevenoldstyle} +\unfakable{eightoldstyle} +\unfakable{nineoldstyle} +\unfakable{colon} +\unfakable{semicolon} +\unfakable{less} +\unfakable{equal} +\unfakable{greater} +\unfakable{question} +\unfakable{at} +\unfakable{A} +\unfakable{B} +\unfakable{C} +\unfakable{D} +\unfakable{E} +\unfakable{F} +\unfakable{G} +\unfakable{H} +\unfakable{I} +\unfakable{J} +\unfakable{K} +\unfakable{L} +\unfakable{M} +\unfakable{N} +\unfakable{O} +\unfakable{P} +\unfakable{Q} +\unfakable{R} +\unfakable{S} +\unfakable{T} +\unfakable{U} +\unfakable{V} +\unfakable{W} +\unfakable{X} +\unfakable{Y} +\unfakable{Z} +\unfakable{bracketleft} +\unfakable{backslash} +\unfakable{bracketright} +\unfakable{asciicircum} +\unfakable{underscore} +\unfakable{quoteleft} +\unfakable{a} +\unfakable{b} +\unfakable{c} +\unfakable{d} +\unfakable{e} +\unfakable{f} +\unfakable{g} +\unfakable{h} +\unfakable{i} +\unfakable{j} +\unfakable{k} +\unfakable{l} +\unfakable{m} +\unfakable{n} +\unfakable{o} +\unfakable{p} +\unfakable{q} +\unfakable{r} +\unfakable{s} +\unfakable{t} +\unfakable{u} +\unfakable{v} +\unfakable{w} +\unfakable{x} +\unfakable{y} +\unfakable{z} +\unfakable{braceleft} +\unfakable{bar} +\unfakable{braceright} +\unfakable{asciitilde} +\unfakable{Eng} +\unfakable{section} +\unfakable{Engsmall} +\unfakable{exclamdown} +\unfakable{questiondown} +\unfakable{sterling} +\unfakable{AE} +\unfakable{Eth} +\unfakable{OE} +\unfakable{Oslash} +\unfakable{Thorn} +\unfakable{AEsmall} +\unfakable{Ethsmall} +\unfakable{OEsmall} +\unfakable{Oslashsmall} +\unfakable{Thornsmall} +\unfakable{germandbls} +\unfakable{lslashslash} + +\setglyph{dotlessj} + \moveup{\neg{\depth{j}}} + \glyphrule{\width{j}}{\add{\depth{j}}{\height{dotlessi}}} + \resetitalic{\italic{dotlessi}} + \moveup{\depth{j}} + \glyphwarning{missing glyph `dotlessj'} +\endsetglyph + + +\comment{\section{Glyphs}} + +% only with monospaced fonts. (WaS) +\ifisint{monowidth}\then +\resetglyph{asterisk} + \moveup{\neg{\sub{\scale{\sub{\height{asterisk}}{\depth{asterisk}}}{500}}{\int{vaxis}}}} + \glyph{asterisk}{1000} + \resetdepth{0} +\endresetglyph +\fi + +\setglyph{space} + \ifisglyph{space-not}\then + \movert{\width{space-not}} + \else + \movert{\width{i}} + \fi +\endsetglyph + +\setglyph{compwordmark} + \glyphrule{0}{\int{xheight}} +\endsetglyph +\setint{compwordmark-spacing}{0} + +\setglyph{quotesinglbase} + \glyph{comma}{1000} +\endsetglyph + +\setglyph{visiblespace} + \moveup{\neg{\int{visiblespacedepth}}} + \movert{\int{visiblespacesurround}} + \glyphrule + {\int{underlinethickness}} + {\int{visiblespacedepth}} + \glyphrule + {\int{visiblespacewidth}} + {\int{underlinethickness}} + \glyphrule + {\int{underlinethickness}} + {\int{visiblespacedepth}} + \movert{\int{visiblespacesurround}} + \moveup{\int{visiblespacedepth}} +\endsetglyph + +\setglyph{rangedash} + \ifisint{monowidth}\then + \glyph{hyphen}{1000} + \else + \glyph{endash}{1000} + \fi +\endsetglyph + +\setglyph{punctdash} + \ifisint{monowidth}\then + \glyph{hyphen}{1000} + \glyph{hyphen}{1000} + \else + \glyph{emdash}{1000} + \fi +\endsetglyph + +\setglyph{hyphenchar} + \glyph{hyphen}{1000} +\endsetglyph + +\setglyph{ringfitted} + \movert{\div{\sub{\width{A}}{\width{ring}}}{2}} + \glyph{ring}{1000} + \movert{\div{\sub{\width{A}}{\width{ring}}}{2}} +\endsetglyph + +%\setglyph{lslash} +% \glyph{lslashslash}{1000} +% \movert{\kerning{lslashslash}{l}} +% \glyph{l}{1000} +%\endsetglyph + +%\setglyph{Lslash} +% \glyph{lslashslash}{1000} +% \movert{\kerning{lslashslash}{L}} +% \glyph{L}{1000} +%\endsetglyph + +\setglyph{Ng} + \glyph{Eng}{1000} +\endsetglyph + +\setglyph{Ngsmall} + \glyph{Engsmall}{1000} +\endsetglyph + +\setglyph{Abreve} + \topaccent{A}{breve}{500} +\endsetglyph + +\setglyph{Aogonek} + \botaccent{A}{ogonek}{900} +\endsetglyph + +\setglyph{Cacute} + \topaccent{C}{acute}{500} +\endsetglyph + +\setglyph{Ccaron} + \topaccent{C}{caron}{500} +\endsetglyph + +\setglyph{Dcaron} + \topaccent{D}{caron}{450} +\endsetglyph + +\setglyph{Ecaron} + \topaccent{E}{caron}{500} +\endsetglyph + +\setglyph{Eogonek} + \botaccent{E}{ogonek}{850} +\endsetglyph + +\setglyph{Gbreve} + \topaccent{G}{breve}{500} +\endsetglyph + +\setglyph{Lacute} + \topaccent{L}{acute}{250} +\endsetglyph + +\setglyph{Lcaron} + \glyph{L}{1000} + \ifisint{monowidth}\then\else + \movert{-200} + \fi + \glyph{quoteright}{1000} +\endsetglyph + +\setglyph{Nacute} + \topaccent{N}{acute}{500} +\endsetglyph + +\setglyph{Ncaron} + \topaccent{N}{caron}{500} +\endsetglyph + +\setglyph{Ohungarumlaut} + \topaccent{O}{hungarumlaut}{500} +\endsetglyph + +\setglyph{Racute} + \topaccent{R}{acute}{500} +\endsetglyph + +\setglyph{Rcaron} + \topaccent{R}{caron}{500} +\endsetglyph + +\setglyph{Sacute} + \topaccent{S}{acute}{500} +\endsetglyph + +\setglyph{Scaron} + \topaccent{S}{caron}{500} +\endsetglyph + +\setglyph{Scedilla} + \botaccent{S}{cedilla}{500} +\endsetglyph + +\setglyph{Tcaron} + \topaccent{T}{caron}{500} +\endsetglyph + +\setglyph{Tcedilla} + \botaccent{T}{cedilla}{500} +\endsetglyph + +\setglyph{Uhungarumlaut} + \topaccent{U}{hungarumlaut}{500} +\endsetglyph + +\setglyph{Uring} + \topaccent{U}{ring}{500} +\endsetglyph + +\setglyph{Ydieresis} + \topaccent{Y}{dieresis}{500} +\endsetglyph + +\setglyph{Zacute} + \topaccent{Z}{acute}{500} +\endsetglyph + +\setglyph{Zcaron} + \topaccent{Z}{caron}{500} +\endsetglyph + +\setglyph{Zdotaccent} + \topaccent{Z}{dotaccent}{500} +\endsetglyph + +\setglyph{IJ} + \glyph{I}{1000} + \movert{\kerning{I}{J}} + \glyph{J}{1000} +\endsetglyph + +\setglyph{Idotaccent} + \topaccent{I}{dotaccent}{500} +\endsetglyph + +\setglyph{Agrave} + \topaccent{A}{grave}{500} +\endsetglyph + +\setglyph{Aacute} + \topaccent{A}{acute}{500} +\endsetglyph + +\setglyph{Acircumflex} + \topaccent{A}{circumflex}{500} +\endsetglyph + +\setglyph{Atilde} + \topaccent{A}{tilde}{500} +\endsetglyph + +\setglyph{Adieresis} + \topaccent{A}{dieresis}{500} +\endsetglyph + +\setglyph{Aring} + \topaccent{A}{ring}{500} +\endsetglyph + +\setglyph{Ccedilla} + \botaccent{C}{cedilla}{500} +\endsetglyph + +\setglyph{Egrave} + \topaccent{E}{grave}{500} +\endsetglyph + +\setglyph{Eacute} + \topaccent{E}{acute}{500} +\endsetglyph + +\setglyph{Ecircumflex} + \topaccent{E}{circumflex}{500} +\endsetglyph + +\setglyph{Edieresis} + \topaccent{E}{dieresis}{500} +\endsetglyph + +\setglyph{Iacute} + \topaccent{I}{acute}{500} +\endsetglyph + +\setglyph{Igrave} + \topaccent{I}{grave}{500} +\endsetglyph + +\setglyph{Icircumflex} + \topaccent{I}{circumflex}{500} +\endsetglyph + +\setglyph{Idieresis} + \topaccent{I}{dieresis}{500} +\endsetglyph + +\setglyph{Ntilde} + \topaccent{N}{tilde}{500} +\endsetglyph + +\setglyph{Ograve} + \topaccent{O}{grave}{500} +\endsetglyph + +\setglyph{Oacute} + \topaccent{O}{acute}{500} +\endsetglyph + +\setglyph{Ocircumflex} + \topaccent{O}{circumflex}{500} +\endsetglyph + +\setglyph{Otilde} + \topaccent{O}{tilde}{500} +\endsetglyph + +\setglyph{Odieresis} + \topaccent{O}{dieresis}{500} +\endsetglyph + +\setglyph{Ugrave} + \topaccent{U}{grave}{500} +\endsetglyph + +\setglyph{Uacute} + \topaccent{U}{acute}{500} +\endsetglyph + +\setglyph{Ucircumflex} + \topaccent{U}{circumflex}{500} +\endsetglyph + +\setglyph{Udieresis} + \topaccent{U}{dieresis}{500} +\endsetglyph + +\setglyph{Yacute} + \topaccent{Y}{acute}{500} +\endsetglyph + +\setglyph{SS} + \glyph{S}{1000} + \movert{\kerning{S}{S}} + \glyph{S}{1000} +\endsetglyph + + +\comment{\section{All-caps glyphs}} + +\setglyph{dotlessI} + \glyph{I}{1000} +\endsetglyph + +\setglyph{dotlessJ} + \glyph{J}{1000} +\endsetglyph + +\setglyph{FFspaced} + \glyph{F}{1000} + \movert{\add{\kerning{F}{F}} + {\int{capspacing}}} + \glyph{F}{1000} +\endsetglyph + +\setglyph{FIspaced} + \glyph{F}{1000} + \movert{\add{\kerning{F}{I}} + {\int{capspacing}}} + \glyph{I}{1000} +\endsetglyph + +\setglyph{FLspaced} + \glyph{F}{1000} + \movert{\add{\kerning{F}{L}} + {\int{capspacing}}} + \glyph{L}{1000} +\endsetglyph + +\setglyph{FFIspaced} + \glyph{FFspaced}{1000} + \movert{\add{\kerning{FFspaced}{I}} + {\int{capspacing}}} + \glyph{I}{1000} +\endsetglyph + +\setglyph{FFLspaced} + \glyph{FFspaced}{1000} + \movert{\add{\kerning{FFspaced}{L}} + {\int{capspacing}}} + \glyph{L}{1000} +\endsetglyph + +\setglyph{Dbar} + \glyph{Eth}{1000} +\endsetglyph + +\setglyph{IJspaced} + \glyph{I}{1000} + \movert{\add{\kerning{I}{J}}{\int{capspacing}}} + \glyph{J}{1000} +\endsetglyph + +\setglyph{SSspaced} + \glyph{S}{1000} + \movert{\add{\kerning{S}{S}}{\int{capspacing}}} + \glyph{S}{1000} +\endsetglyph + + +\comment{\section{Small caps glyphs}} + +\setglyph{Acutesmall} + \cscaccent{acute} +\endsetglyph + +\setglyph{acutesmall} + \glyph{Acutesmall}{1000} +\endsetglyph + +\setglyph{Gravesmall} + \cscaccent{grave} +\endsetglyph + +\setglyph{gravesmall} + \glyph{Gravesmall}{1000} +\endsetglyph + +\setglyph{Circumflexsmall} + \cscaccent{circumflex} +\endsetglyph + +\setglyph{circumflexsmall} + \glyph{Circumflexsmall}{1000} +\endsetglyph + +\setglyph{Tildesmall} + \cscaccent{tilde} +\endsetglyph + +\setglyph{tildesmall} + \glyph{Tildesmall}{1000} +\endsetglyph + +\setglyph{Dieresissmall} + \cscaccent{dieresis} +\endsetglyph + +\setglyph{dieresissmall} + \glyph{Dieresissmall}{1000} +\endsetglyph + +\setglyph{Brevesmall} + \cscaccent{breve} +\endsetglyph + +\setglyph{brevesmall} + \glyph{Brevesmall}{1000} +\endsetglyph + +\setglyph{Dotaccentsmall} + \cscaccent{dotaccent} +\endsetglyph + +\setglyph{dotaccentsmall} + \glyph{Dotaccentsmall}{1000} +\endsetglyph + +\setglyph{Caronsmall} + \cscaccent{caron} +\endsetglyph + +\setglyph{caronsmall} + \glyph{Caronsmall}{1000} +\endsetglyph + +\setglyph{Hungarumlautsmall} + \cscaccent{hungarumlaut} +\endsetglyph + +\setglyph{hungarumlautsmall} + \glyph{Hungarumlautsmall}{1000} +\endsetglyph + +\setglyph{Ringsmall} + \cscaccent{ring} +\endsetglyph + +\setglyph{ringsmall} + \glyph{Ringsmall}{1000} +\endsetglyph + +\setglyph{Cedillasmall} + \cscglyph{cedilla} +\endsetglyph + +\setglyph{cedillasmall} + \glyph{Cedillasmall}{1000} +\endsetglyph + +\setglyph{Ogoneksmall} + \cscglyph{ogonek} +\endsetglyph + +\setglyph{ogoneksmall} + \glyph{Ogoneksmall}{1000} +\endsetglyph + +\setglyph{Abrevesmall} + \csctopaccent{A}{breve}{500} +\endsetglyph + +\setglyph{Aogoneksmall} + \cscbotaccent{A}{ogonek}{900} +\endsetglyph + +\setglyph{Cacutesmall} + \csctopaccent{C}{acute}{500} +\endsetglyph + +\setglyph{Ccaronsmall} + \csctopaccent{C}{caron}{500} +\endsetglyph + +\setglyph{Dcaronsmall} + \csctopaccent{D}{caron}{500} +\endsetglyph + +\setglyph{Ecaronsmall} + \csctopaccent{E}{caron}{500} +\endsetglyph + +\setglyph{Eogoneksmall} + \cscbotaccent{E}{ogonek}{850} +\endsetglyph + +\setglyph{Gbrevesmall} + \csctopaccent{G}{breve}{500} +\endsetglyph + +\setglyph{Lacutesmall} + \csctopaccent{L}{acute}{250} +\endsetglyph + +\setglyph{Nacutesmall} + \csctopaccent{N}{acute}{500} +\endsetglyph + +\setglyph{Ncaronsmall} + \csctopaccent{N}{caron}{500} +\endsetglyph + +\setglyph{Ngsmall} + \cscglyph{Ng} +\endsetglyph + +\setglyph{Ohungarumlautsmall} + \csctopaccent{O}{hungarumlaut}{500} +\endsetglyph + +\setglyph{Racutesmall} + \csctopaccent{R}{acute}{500} +\endsetglyph + +\setglyph{Rcaronsmall} + \csctopaccent{R}{caron}{500} +\endsetglyph + +\setglyph{Sacutesmall} + \csctopaccent{S}{acute}{500} +\endsetglyph + +\setglyph{Scaronsmall} + \csctopaccent{S}{caron}{500} +\endsetglyph + +\setglyph{Scedillasmall} + \cscbotaccent{S}{cedilla}{500} +\endsetglyph + +\setglyph{Tcaronsmall} + \csctopaccent{T}{caron}{500} +\endsetglyph + +\setglyph{Tcedillasmall} + \cscbotaccent{T}{cedilla}{500} +\endsetglyph + +\setglyph{Uhungarumlautsmall} + \csctopaccent{U}{hungarumlaut}{500} +\endsetglyph + +\setglyph{Uringsmall} + \csctopaccent{U}{ring}{500} +\endsetglyph + +\setglyph{Ydieresissmall} + \csctopaccent{Y}{dieresis}{500} +\endsetglyph + +\setglyph{Zacutesmall} + \csctopaccent{Z}{acute}{500} +\endsetglyph + +\setglyph{Zcaronsmall} + \csctopaccent{Z}{caron}{500} +\endsetglyph + +\setglyph{Zdotaccentsmall} + \csctopaccent{Z}{dotaccent}{500} +\endsetglyph + +\setglyph{Agravesmall} + \csctopaccent{A}{grave}{500} +\endsetglyph + +\setglyph{Aacutesmall} + \csctopaccent{A}{acute}{500} +\endsetglyph + +\setglyph{Acircumflexsmall} + \csctopaccent{A}{circumflex}{500} +\endsetglyph + +\setglyph{Atildesmall} + \csctopaccent{A}{tilde}{500} +\endsetglyph + +\setglyph{Adieresissmall} + \csctopaccent{A}{dieresis}{500} +\endsetglyph + +\setglyph{Aringsmall} + \csctopaccent{A}{ring}{500} +\endsetglyph + +\setglyph{Ccedillasmall} + \csctopaccent{C}{cedilla}{500} +\endsetglyph + +\setglyph{Egravesmall} + \csctopaccent{E}{grave}{500} +\endsetglyph + +\setglyph{Eacutesmall} + \csctopaccent{E}{acute}{500} +\endsetglyph + +\setglyph{Ecircumflexsmall} + \csctopaccent{E}{circumflex}{500} +\endsetglyph + +\setglyph{Edieresissmall} + \csctopaccent{E}{dieresis}{500} +\endsetglyph + +\setglyph{Igravesmall} + \csctopaccent{I}{grave}{500} +\endsetglyph + +\setglyph{Iacutesmall} + \csctopaccent{I}{acute}{500} +\endsetglyph + +\setglyph{Icircumflexsmall} + \csctopaccent{I}{circumflex}{500} +\endsetglyph + +\setglyph{Idieresissmall} + \csctopaccent{I}{dieresis}{500} +\endsetglyph + +\setglyph{Ethsmall} + \cscglyph{Eth} +\endsetglyph + +\setglyph{Dbarsmall} + \glyph{Ethsmall}{1000} +\endsetglyph + +\setglyph{Ntildesmall} + \csctopaccent{N}{tilde}{500} +\endsetglyph + +\setglyph{Ogravesmall} + \csctopaccent{O}{grave}{500} +\endsetglyph + +\setglyph{Oacutesmall} + \csctopaccent{O}{acute}{500} +\endsetglyph + +\setglyph{Ocircumflexsmall} + \csctopaccent{O}{circumflex}{500} +\endsetglyph + +\setglyph{Otildesmall} + \csctopaccent{O}{tilde}{500} +\endsetglyph + +\setglyph{Odieresissmall} + \csctopaccent{O}{dieresis}{500} +\endsetglyph + +\setglyph{Ugravesmall} + \csctopaccent{U}{grave}{500} +\endsetglyph + +\setglyph{Uacutesmall} + \csctopaccent{U}{acute}{500} +\endsetglyph + +\setglyph{Ucircumflexsmall} + \csctopaccent{U}{circumflex}{500} +\endsetglyph + +\setglyph{Udieresissmall} + \csctopaccent{U}{dieresis}{500} +\endsetglyph + +\setglyph{Yacutesmall} + \csctopaccent{Y}{acute}{500} +\endsetglyph + +\setglyph{Thornsmall} + \cscglyph{Thorn} +\endsetglyph + +\setglyph{dotlessIsmall} + \glyph{Ismall}{1000} +\endsetglyph + +\setglyph{dotlessJsmall} + \glyph{Jsmall}{1000} +\endsetglyph + +\setglyph{FFsmall} + \glyph{Fsmall}{1000} + \movert{\add{\kerning{Fsmall}{Fsmall}} + {\mul{2}{\int{smallcapsextraspace}}}} + \glyph{Fsmall}{1000} +\endsetglyph + +\setglyph{FIsmall} + \glyph{Fsmall}{1000} + \movert{\add{\kerning{Fsmall}{Ismall}} + {\mul{2}{\int{smallcapsextraspace}}}} + \glyph{Ismall}{1000} +\endsetglyph + +\setglyph{FLsmall} + \glyph{Fsmall}{1000} + \movert{\add{\kerning{Fsmall}{Lsmall}} + {\mul{2}{\int{smallcapsextraspace}}}} + \glyph{Lsmall}{1000} +\endsetglyph + +\setglyph{FFIsmall} + \glyph{FFsmall}{1000} + \movert{\add{\kerning{FFsmall}{Ismall}} + {\mul{2}{\int{smallcapsextraspace}}}} + \glyph{Ismall}{1000} +\endsetglyph + +\setglyph{FFLsmall} + \glyph{FFsmall}{1000} + \movert{\add{\kerning{FFsmall}{Lsmall}} + {\mul{2}{\int{smallcapsextraspace}}}} + \glyph{Lsmall}{1000} +\endsetglyph + +\setglyph{IJsmall} + \glyph{Ismall}{1000} + \movert{\add{\kerning{Ismall}{Jsmall}} + {\mul{2}{\int{smallcapsextraspace}}}} + \glyph{Jsmall}{1000} +\endsetglyph + +\setglyph{Lcaronsmall} + \glyph{Lsmall}{1000} + \ifisint{monowidth}\then\else + \movert{-100} + \fi + \glyph{quoteright}{\int{smallcapsscale}} +\endsetglyph + +\setglyph{SSsmall} + \glyph{Ssmall}{1000} + \movert{\add{\kerning{Ssmall}{Ssmall}} + {\mul{2}{\int{smallcapsextraspace}}}} + \glyph{Ssmall}{1000} +\endsetglyph + + +\comment{\section{Accents} + \TeX's math accent-positioning requires accents to have zero depth.} + +\setcommand\zerodepth#1{ + \ifisglyph{#1}\then + \resetglyph{#1} + \glyph{#1}{1000} + \resetdepth{0} + \endresetglyph + \fi +} +\zerodepth{Gravesmall} +\zerodepth{Acutesmall} +\zerodepth{Circumflexsmall} +\zerodepth{Tildesmall} +\zerodepth{Dieresissmall} +\zerodepth{Hungarumlautsmall} +\zerodepth{Ringsmall} +\zerodepth{Caronsmall} +\zerodepth{Brevesmall} +\zerodepth{Macronsmall} +\zerodepth{Dotaccentsmall} + +\endmetrics + +\section{Changes} + +2003/03/17: Added \texttt{vaxis} for the vertical symmetry axis. +Changed `\texttt{asterisk}', which is now vertically centered +in monospaced fonts. (WaS) + +1999/10/25: Simplified definition of \verb|\unfakable|. (UV\&LH) +Rationale: It is thoroughly confusing if the size of the black box +created by \verb|\unfakable| depends on the metrics of an unencoded +glyph that isn't accessible and therefore unavailable for all +pratical purposes. + +\end{document} diff --git a/Master/texmf-dist/tex/fontinst/latinmtx/llbuild.mtx b/Master/texmf-dist/tex/fontinst/latinmtx/llbuild.mtx new file mode 100644 index 00000000000..91306fbaf31 --- /dev/null +++ b/Master/texmf-dist/tex/fontinst/latinmtx/llbuild.mtx @@ -0,0 +1,568 @@ +%%% ==================================================================== +%%% @TeX-font-metrics-file{ +%%% author = "Alan Jeffrey and Ulrik Vieth and +%%% Lars Hellstr{\"o}m", +%%% version = "1.923", +%%% date = "2003-03-29", +%%% time = "01:24:47 +01:00", +%%% filename = "llbuild.mtx", +%%% email = "fontinst@tug.org", +%%% URL = "http://www.tug.org/applications/fontinst/", +%%% checksum = "", +%%% codetable = "ISO/ASCII", +%%% keywords = "metrics, TeX, PostScript", +%%% supported = "yes", +%%% abstract = "This is a font metrics file, for use with the +%%% fontinst utility. It builds upper case latin +%%% letters.", +%%% package = "fontinst", +%%% dependencies = "fontinst.sty, fontdoc.sty", +%%% } +%%% ==================================================================== + +\relax + +\documentclass[twocolumn]{article} + +\usepackage{fontdoc}[2002/03/01] +\showbranches + +\title{Building lower case} +\author{Alan Jeffrey\and Ulrik Vieth\and Lars Hellstr\"om} +\date{5 January 2002\\Version 1.923} + +\begin{document} +\maketitle + +\section{Introduction} + +This file builds lower case (small, \texttt{l} case) latin letters, +or more precisely, it makes sure that a set of glyphs is defined that +cover the lower case letters used in European latin scripts. +Even that is a slight exaggeration, because there are a couple of +``exotic'' letters that are missing, but most people never try to use +those anyway. + +For the glyphs set in this file to look anything like the letters they +are supposed to be, it is necessary that the glyphs for unaccented +letters and for accents already exist and look like they are supposed +to. In that case, the commands below will manufacture decent +substitutes for the missing glyphs by composing letters and accents. +If some of these base glyphs are missing, then a ``missing glyph'' +substitute will be supplied for them. Such substitutes will show up in +print as black squares, and most DVI drivers will emit a warning when +producing them. + +The most common case encountered is that almost all unaccented letters +and accents are available, but only about half of the accented +letters. Then for the other half, quite decent substitutes are made, +but a few letters only show up as ``missing glyph'' boxes. + + +\metrics + +\needsfontinstversion{1.910} +\usemtxpackage{ltcmds} + +\ProvidesMtxPackage{llbuild} + +\begincomment +\section{Lower case base glyphs} + +\subsection{Unfakable glyphs} + +The following commands make sure all the unaccented letter glyphs and +accent glyphs are set. If any of them are not already set at this +point, then those will be set to ``missing glyph'' boxes. +\endcomment + +\unfakable{a} +\unfakable{ae} +\unfakable{b} +\unfakable{c} +\unfakable{d} +\unfakable{dotlessi} +\unfakable{e} +\unfakable{eng} +\unfakable{eth} +\unfakable{f} +\unfakable{g} +\unfakable{germandbls} +\unfakable{h} +\unfakable{i} +\unfakable{j} +\unfakable{k} +\unfakable{l} +\unfakable{m} +\unfakable{n} +\unfakable{o} +\unfakable{oe} +\unfakable{oslash} +\unfakable{p} +\unfakable{q} +\unfakable{r} +\unfakable{s} +\unfakable{t} +\unfakable{thorn} +\unfakable{u} +\unfakable{v} +\unfakable{w} +\unfakable{x} +\unfakable{y} +\unfakable{z} + + +\unfakabletopaccent{acute} +\unfakabletopaccent{breve} +\unfakabletopaccent{caron} +\unfakable{cedilla} +\unfakabletopaccent{circumflex} +\unfakabletopaccent{dieresis} +\unfakabletopaccent{dotaccent} +\unfakabletopaccent{grave} +\unfakabletopaccent{hungarumlaut} +\unfakable{lslashslash} +\unfakabletopaccent{macron} +\unfakable{ogonek} +\unfakabletopaccent{quoteright} +\unfakabletopaccent{ring} +\unfakabletopaccent{tilde} + +\begincomment +\subsection{Fakable lower case glyphs} +\endcomment + +\ifisglyph{dcroat}\then + \setglyph{dbar} + \glyph{dcroat}{1000} + \endsetglyph +\Else + \setglyph{dbar} + \push + \movert{\sub{\width{d}}{\width{macron}}} + \moveup{ + \sub{\half{\add{\height{d}}{\int{xheight}}}} + {\height{macron}}} + \glyph{macron}{1000} + \pop + \glyph{d}{1000} + \endsetglyph +\Fi +\setleftrightkerning{dbar}{d}{1000} + +\setglyph{dotlessj} + \glyph{j}{1000} + \resetheight{\int{xheight}} + \comment{The reason \texttt{dotlessj} \emph{can} be faked using a + \texttt{j} is that it is not a distinct character. Unlike + \texttt{dotlessi}, which is in Turkish a letter distinct from + \texttt{i}, the only thing \texttt{dotlessj} is ever used for is + as the base glyph for accented j's.} +\endsetglyph +\setleftrightkerning{dotlessj}{j}{1000} + + +\begincomment +\subsection{Aliased lower case glyphs} +\endcomment + +\setglyph{ng} + \glyph{eng}{1000} +\endsetglyph +\setleftkerning{ng}{n}{1000} +\setrightkerning{ng}{j}{1000} + + +\begincomment +\subsection{Some extra kerning} +\endcomment + +\setleftkerning{oe}{o}{1000} +\setrightkerning{oe}{e}{1000} + +\setleftrightkerning{oslash}{o}{1000} + + + +\begincomment +\section{Accented lower case glyphs} +\endcomment + +\setglyph{aacute} + \topaccent{a}{acute}{500} +\endsetglyph +\setleftrightkerning{aacute}{a}{1000} + +\setglyph{abreve} + \topaccent{a}{breve}{500} +\endsetglyph +\setleftrightkerning{abreve}{a}{1000} + +\setglyph{acircumflex} + \topaccent{a}{circumflex}{500} +\endsetglyph +\setleftrightkerning{acircumflex}{a}{1000} + +\setglyph{adieresis} + \topaccent{a}{dieresis}{500} +\endsetglyph +\setleftrightkerning{adieresis}{a}{1000} + +\setglyph{agrave} + \topaccent{a}{grave}{500} +\endsetglyph +\setleftrightkerning{agrave}{a}{1000} + +\setglyph{aogonek} + \botaccent{a}{ogonek}{850} +\endsetglyph +\setleftrightkerning{aogonek}{a}{1000} + +\setglyph{aring} + \topaccent{a}{ring}{500} +\endsetglyph +\setleftrightkerning{aring}{a}{1000} + +\setglyph{atilde} + \topaccent{a}{tilde}{500} +\endsetglyph +\setleftrightkerning{atilde}{a}{1000} + +\setglyph{cacute} + \topaccent{c}{acute}{500} +\endsetglyph +\setleftrightkerning{cacute}{c}{1000} + +\setglyph{ccaron} + \topaccent{c}{caron}{500} +\endsetglyph +\setleftrightkerning{ccaron}{c}{1000} + +\setglyph{ccedilla} + \botaccent{c}{cedilla}{500} +\endsetglyph +\setleftrightkerning{ccedilla}{c}{1000} + +\setglyph{dcaron} + \glyph{d}{1000} + \ifisint{monowidth}\then\Else + \movert{-75} + \Fi + \glyph{quoteright}{1000} +\endsetglyph +\setleftkerning{dcaron}{d}{1000} + +\setglyph{eacute} + \topaccent{e}{acute}{500} +\endsetglyph +\setleftrightkerning{eacute}{e}{1000} + +\setglyph{ecaron} + \topaccent{e}{caron}{500} +\endsetglyph +\setleftrightkerning{ecaron}{e}{1000} + +\setglyph{ecircumflex} + \topaccent{e}{circumflex}{500} +\endsetglyph +\setleftrightkerning{ecircumflex}{e}{1000} + +\setglyph{edieresis} + \topaccent{e}{dieresis}{500} +\endsetglyph +\setleftrightkerning{edieresis}{e}{1000} + +\setglyph{egrave} + \topaccent{e}{grave}{500} +\endsetglyph +\setleftrightkerning{egrave}{e}{1000} + +\setglyph{eogonek} + \botaccent{e}{ogonek}{500} +\endsetglyph +\setleftrightkerning{eogonek}{e}{1000} + +\setglyph{gbreve} + \topaccent{g}{breve}{500} +\endsetglyph +\setleftrightkerning{gbreve}{g}{1000} + +\setglyph{iacute} + \topaccent{dotlessi}{acute}{500} +\endsetglyph +\setleftrightkerning{iacute}{i}{1000} + +\setglyph{icircumflex} + \topaccent{dotlessi}{circumflex}{500} +\endsetglyph +\setleftrightkerning{icircumflex}{i}{1000} + +\setglyph{idieresis} + \topaccent{dotlessi}{dieresis}{500} +\endsetglyph +\setleftrightkerning{idieresis}{i}{1000} + +\setglyph{idotaccent} + \comment{This should be the normal `\texttt{i}', except in + smallcaps fonts.} + \ifnumber{\height{i}}>{\scale{\int{xheight}}{1050}}\then + \comment{Some quick statistics showed that the height of an + `\texttt{i}' with dot is usually around 140\% of the + x-height, but to be on the safe side we assume all + \texttt{i}s whose height exceed 105\% of the x-height to + be dotted.} + \glyph{i}{1000} + \Else + \topaccent{i}{dotaccent}{500} + \Fi +\endsetglyph +\setleftrightkerning{idotaccent}{i}{1000} + +\setglyph{igrave} + \topaccent{dotlessi}{grave}{500} +\endsetglyph +\setleftrightkerning{igrave}{i}{1000} + +\setglyph{lacute} + \topaccent{l}{acute}{500} +\endsetglyph +\setleftrightkerning{lacute}{l}{1000} + +\setglyph{lcaron} + \glyph{l}{1000} + \ifisint{monowidth}\then\Else + \movert{-100} + \Fi + \glyph{quoteright}{1000} +\endsetglyph +\setleftkerning{lcaron}{l}{1000} + +\setglyph{lslash} + \glyph{lslashslash}{1000} + \movert{\kerning{lslashslash}{l}} + \glyph{l}{1000} +\endsetglyph +\comment{I'm not sure what this should kern like.} + +\setglyph{nacute} + \topaccent{n}{acute}{500} +\endsetglyph +\setleftrightkerning{nacute}{n}{1000} + +\setglyph{ncaron} + \topaccent{n}{caron}{500} +\endsetglyph +\setleftrightkerning{ncaron}{n}{1000} + +\setglyph{ntilde} + \topaccent{n}{tilde}{500} +\endsetglyph +\setleftrightkerning{ntilde}{n}{1000} + +\setglyph{oacute} + \topaccent{o}{acute}{500} +\endsetglyph +\setleftrightkerning{oacute}{o}{1000} + +\setglyph{ocircumflex} + \topaccent{o}{circumflex}{500} +\endsetglyph +\setleftrightkerning{ocircumflex}{o}{1000} + +\setglyph{odieresis} + \topaccent{o}{dieresis}{500} +\endsetglyph +\setleftrightkerning{odieresis}{o}{1000} + +\setglyph{ograve} + \topaccent{o}{grave}{500} +\endsetglyph +\setleftrightkerning{ograve}{o}{1000} + +\setglyph{ohungarumlaut} + \topaccent{o}{hungarumlaut}{500} +\endsetglyph +\setleftrightkerning{ohungarumlaut}{o}{1000} + +\setglyph{otilde} + \topaccent{o}{tilde}{500} +\endsetglyph +\setleftrightkerning{otilde}{o}{1000} + +\setglyph{racute} + \topaccent{r}{acute}{500} +\endsetglyph +\setleftrightkerning{racute}{r}{1000} + +\setglyph{rcaron} + \topaccent{r}{caron}{500} +\endsetglyph +\setleftrightkerning{rcaron}{r}{1000} + +\setglyph{sacute} + \topaccent{s}{acute}{500} +\endsetglyph +\setleftrightkerning{sacute}{s}{1000} + +\setglyph{scaron} + \topaccent{s}{caron}{500} +\endsetglyph +\setleftrightkerning{scaron}{s}{1000} + +\setglyph{scedilla} + \botaccent{s}{cedilla}{500} +\endsetglyph +\setleftrightkerning{scedilla}{s}{1000} + +\setglyph{tcaron} + \glyph{t}{1000} + \ifisint{monowidth}\then\Else + \movert{-75} + \Fi + \glyph{quoteright}{1000} +\endsetglyph +\setleftkerning{tcaron}{t}{1000} +\comment{I don't know what this should kern like on the right.} + +\setglyph{tcedilla} + \botaccent{t}{cedilla}{500} +\endsetglyph +\setleftrightkerning{tcedilla}{t}{1000} + +\setglyph{ugrave} + \topaccent{u}{grave}{500} +\endsetglyph +\setleftrightkerning{ugrave}{u}{1000} + +\setglyph{uacute} + \topaccent{u}{acute}{500} +\endsetglyph +\setleftrightkerning{uacute}{u}{1000} + +\setglyph{ucircumflex} + \topaccent{u}{circumflex}{500} +\endsetglyph +\setleftrightkerning{ucircumflex}{u}{1000} + +\setglyph{udieresis} + \topaccent{u}{dieresis}{500} +\endsetglyph +\setleftrightkerning{udieresis}{u}{1000} + +\setglyph{uhungarumlaut} + \topaccent{u}{hungarumlaut}{500} +\endsetglyph +\setleftrightkerning{uhungarumlaut}{u}{1000} + +\setglyph{uring} + \topaccent{u}{ring}{500} +\endsetglyph +\setleftrightkerning{uring}{u}{1000} + +\setglyph{yacute} + \topaccent{y}{acute}{500} +\endsetglyph +\setleftrightkerning{yacute}{y}{1000} + +\setglyph{ydieresis} + \topaccent{y}{dieresis}{500} +\endsetglyph +\setleftrightkerning{ydieresis}{y}{1000} + +\setglyph{zacute} + \topaccent{z}{acute}{500} +\endsetglyph +\setleftrightkerning{zacute}{z}{1000} + +\setglyph{zcaron} + \topaccent{z}{caron}{500} +\endsetglyph +\setleftrightkerning{zcaron}{z}{1000} + +\setglyph{zdotaccent} + \topaccentas{z}{dotaccent}{500}{idotaccent} +\endsetglyph +\setleftrightkerning{zdotaccent}{z}{1000} + + +\begincomment +\section{Lower case ligatures} +\endcomment + +\setglyph{fi} + \glyph{f}{1000} + \movert{\kerning{f}{i}} + \glyph{i}{1000} +\endsetglyph +\setleftkerning{fi}{f}{1000} +\setrightkerning{fi}{i}{1000} + +\setglyph{ff} + \glyph{f}{1000} + \movert{\kerning{f}{f}} + \glyph{f}{1000} +\endsetglyph +\setleftrightkerning{ff}{f}{1000} + +\setglyph{fl} + \glyph{f}{1000} + \movert{\kerning{f}{l}} + \glyph{l}{1000} +\endsetglyph +\setleftkerning{fl}{f}{1000} +\setrightkerning{fl}{l}{1000} + +\setglyph{ffi} + \glyph{f}{1000} + \movert{\kerning{f}{f}} + \glyph{fi}{1000} +\endsetglyph +\setleftkerning{ffi}{f}{1000} +\setrightkerning{ffi}{i}{1000} + +\setglyph{ffl} + \glyph{f}{1000} + \movert{\kerning{f}{f}} + \glyph{fl}{1000} +\endsetglyph +\setleftkerning{ffl}{f}{1000} +\setrightkerning{ffl}{l}{1000} + + +\setglyph{ij} + \glyph{i}{1000} + \movert{\kerning{i}{j}} + \glyph{j}{1000} +\endsetglyph +\setleftkerning{ij}{i}{1000} +\setrightkerning{ij}{j}{1000} + + + + +\endmetrics + +\section{Changes} + +The original version of this file was created in February 2003, +although it is based on code from the traditional \texttt{latin.mtx}. +The changes that have been made after that are as follows. + +2003/03/15: Using \verb|\unfakabletopaccent| for the accent +characters. This should change the appearence of accented letters +built using such a character from ``a black square'' to ``a letter +with a black square above''. Neither is satisfactory, but the latter +conveys more information. (LH) + +2003/03/15: Modified the construction of `\texttt{zdotaccent}' so that +it always has the dot at the same vertical position as a dotted i, as +requested by Walter Schmidt. Also added the `\texttt{idotaccent}' +glyph to have something to compare with. (LH) + +2003/03/15: Added kerning for ligatures; it seems I had forgotten +that. (LH) + +2003/03/29: Added some kerning for non-English unfakable letters. (LH) + +\end{document} + diff --git a/Master/texmf-dist/tex/fontinst/latinmtx/lsbuild.mtx b/Master/texmf-dist/tex/fontinst/latinmtx/lsbuild.mtx new file mode 100644 index 00000000000..372ea4b4fdd --- /dev/null +++ b/Master/texmf-dist/tex/fontinst/latinmtx/lsbuild.mtx @@ -0,0 +1,256 @@ +%%% ==================================================================== +%%% @TeX-font-metrics-file{ +%%% author = "Lars Hellstr{\"o}m", +%%% date = "2003-03-29", +%%% time = "16:16:56 +01:00", +%%% filename = "lsbuild.mtx", +%%% email = "fontinst@tug.org", +%%% URL = "http://www.tug.org/applications/fontinst/", +%%% checksum = "", +%%% codetable = "ISO/ASCII", +%%% keywords = "metrics, TeX, PostScript", +%%% supported = "yes", +%%% abstract = "This is a font metrics file, for use with the +%%% fontinst utility. It builds less common +%%% small caps letters from plain ones and +%%% accents.", +%%% package = "fontinst", +%%% dependencies = "fontinst.sty, fontdoc.sty", +%%% } +%%% ==================================================================== + +\relax + +\documentclass[twocolumn]{article} + +\usepackage{fontdoc}[2002/03/01] +\showbranches + +\title{Building latin smallcaps letters} +\author{Lars Hellstr\"om} +\date{3 January 2003} + +\begin{document} +\maketitle + +This file contains commands that build some proper small capital +glyphs from other small capital glyphs, but nothing is done is those +base glyphs have not already been set. + +If you want to \emph{fake} small capitals using full capitals, then +have a look at \texttt{lsfake.mtx} instead. + +\metrics + +\needsfontinstversion{1.917} + +\usemtxpackage{ltcmds} +\ProvidesMtxPackage{lsbuild} + +\begincomment +\section{Proper latin small capitals} + +\subsection{Some utility commands} +\endcomment + +\setcommand\setcsctopglyph#1#2#3#4{ + \ifareglyphs{#2small,#3}\then + \setglyph{#1} + \topaccent{#2small}{#3}{#4} + \endsetglyph + \setleftrightkerning{#1}{#2small}{1000} + \Fi +} +\setcommand\setcscbotglyph#1#2#3#4{ + \ifareglyphs{#2small,#3}\then + \setglyph{#1} + \botaccent{#2small}{#3}{#4} + \endsetglyph + \setleftrightkerning{#1}{#2small}{1000} + \Fi +} +\begincomment\medskip +A \textbf{Try: Set glyph} is an ordinary \textbf{Set glyph} which is +conditional on that a set of glyphs (those used to construct the +composite glyph) are available. It is technically e.g. +\begin{quotation} + \setcsctopglyph{\macroparameter{1}}{\macroparameter{2}}% + {\macroparameter{3}}{\macroparameter{4}} + \setcscbotglyph{\macroparameter{1}}{\macroparameter{2}}% + {\macroparameter{3}}{\macroparameter{4}}\par +\end{quotation} +(both of which are implemented in the code as simple four argument +commands), but in the list of commands below those two commands will +be typeset as +\resetcommand\setcsctopglyph#1#2#3#4{% + \Aheading{Try: Set glyph `\TypesetStringExpression{#1}'} + \topaccent{#2small}{#3}{#4} + \setleftrightkerning{#1}{#2small}{1000} +} +\resetcommand\setcscbotglyph#1#2#3#4{% + \Aheading{Try: Set glyph `\TypesetStringExpression{#1}'} + \botaccent{#2small}{#3}{#4} + \setleftrightkerning{#1}{#2small}{1000} +} +\begin{quotation} + \setcsctopglyph{\macroparameter{1}}{\macroparameter{2}}% + {\macroparameter{3}}{\macroparameter{4}} + \setcscbotglyph{\macroparameter{1}}{\macroparameter{2}}% + {\macroparameter{3}}{\macroparameter{4}} +\end{quotation} +\endcomment + +\begincomment +\subsection{Getting the \textit{smallcapsscale} right} + +The \textit{smallcapsscale} integer is normally only used when +faking smallcaps by shrinking capitals, but with one of the +glyphs below (\texttt{Lcaron}) it is actually used for shrinking +the right quote. Thus a suitable default value has to be assigned +to it. +\endcomment + +\ifareglyphs{L,Lsmall}\then + \setint{smallcapsscale}{ + \div{\mul{1000}{\height{Lsmall}}}{\height{L}} + } +\Else + \setint{smallcapsscale}{800} +\Fi + +\begincomment +\subsection{Accenting smallcaps glyphs} + +The commands below build accented smallcaps letters from existing +smallcaps letters and normal accents. The accent positions are the +ones traditionally used in \texttt{latin.mtx}. + +\endcomment + + +\setcsctopglyph{Aacutesmall}{A}{acute}{500} +\setcsctopglyph{Abrevesmall}{A}{breve}{500} +\setcsctopglyph{Acircumflexsmall}{A}{circumflex}{500} +\setcsctopglyph{Adieresissmall}{A}{dieresis}{500} +\setcsctopglyph{Agravesmall}{A}{grave}{500} +\setcscbotglyph{Aogoneksmall}{A}{ogonek}{900} +\setcsctopglyph{Aringsmall}{A}{ring}{500} +\setcsctopglyph{Atildesmall}{A}{tilde}{500} + +\setcsctopglyph{Cacutesmall}{C}{acute}{500} +\setcsctopglyph{Ccaronsmall}{C}{caron}{500} +\setcsctopglyph{Ccedillasmall}{C}{cedilla}{500} + +\setcsctopglyph{Dcaronsmall}{D}{caron}{500} + +\setcsctopglyph{Eacutesmall}{E}{acute}{500} +\setcsctopglyph{Ecaronsmall}{E}{caron}{500} +\setcsctopglyph{Ecircumflexsmall}{E}{circumflex}{500} +\setcsctopglyph{Edieresissmall}{E}{dieresis}{500} +\setcsctopglyph{Egravesmall}{E}{grave}{500} +\setcscbotglyph{Eogoneksmall}{E}{ogonek}{850} + +\setcsctopglyph{Gbrevesmall}{G}{breve}{500} + +\setcsctopglyph{Iacutesmall}{I}{acute}{500} +\setcsctopglyph{Icircumflexsmall}{I}{circumflex}{500} +\setcsctopglyph{Idieresissmall}{I}{dieresis}{500} +\setcsctopglyph{Idotaccentsmall}{I}{dotaccent}{500} +\setcsctopglyph{Igravesmall}{I}{grave}{500} + +\setcsctopglyph{Lacutesmall}{L}{acute}{250} + +\ifareglyphs{Lsmall,quoteright}\then + \setglyph{Lcaronsmall} + \glyph{Lsmall}{1000} + \ifisint{monowidth}\then\Else \movert{-100} \Fi + \glyph{quoteright}{\int{smallcapsscale}} + \endsetglyph + \setleftkerning{Lcaronsmall}{Lsmall}{1000} +\Fi + +\setcsctopglyph{Nacutesmall}{N}{acute}{500} +\setcsctopglyph{Ncaronsmall}{N}{caron}{500} +\setcsctopglyph{Ntildesmall}{N}{tilde}{500} + +\setcsctopglyph{Oacutesmall}{O}{acute}{500} +\setcsctopglyph{Ocircumflexsmall}{O}{circumflex}{500} +\setcsctopglyph{Odieresissmall}{O}{dieresis}{500} +\setcsctopglyph{Ogravesmall}{O}{grave}{500} +\setcsctopglyph{Ohungarumlautsmall}{O}{hungarumlaut}{500} +\setcsctopglyph{Otildesmall}{O}{tilde}{500} + +\setcsctopglyph{Racutesmall}{R}{acute}{500} +\setcsctopglyph{Rcaronsmall}{R}{caron}{500} + +\setcsctopglyph{Sacutesmall}{S}{acute}{500} +\setcsctopglyph{Scaronsmall}{S}{caron}{500} +\setcscbotglyph{Scedillasmall}{S}{cedilla}{500} + +\setcsctopglyph{Tcaronsmall}{T}{caron}{500} +\setcscbotglyph{Tcedillasmall}{T}{cedilla}{500} + +\setcsctopglyph{Uacutesmall}{U}{acute}{500} +\setcsctopglyph{Ucircumflexsmall}{U}{circumflex}{500} +\setcsctopglyph{Udieresissmall}{U}{dieresis}{500} +\setcsctopglyph{Ugravesmall}{U}{grave}{500} +\setcsctopglyph{Uhungarumlautsmall}{U}{hungarumlaut}{500} +\setcsctopglyph{Uringsmall}{U}{ring}{500} + +\setcsctopglyph{Yacutesmall}{Y}{acute}{500} +\setcsctopglyph{Ydieresissmall}{Y}{dieresis}{500} + +\setcsctopglyph{Zacutesmall}{Z}{acute}{500} +\setcsctopglyph{Zcaronsmall}{Z}{caron}{500} +\setcsctopglyph{Zdotaccentsmall}{Z}{dotaccent}{500} + + +\begincomment +\subsection{Other glyphs that can be built} +\endcomment + +\ifisglyph{Dcroatsmall}\then + \setglyph{Dbarsmall} + \glyph{Dcroatsmall}{1000} + \endsetglyph + \setleftrightkerning{Dbarsmall}{Dcroatsmall}{1000} +\Else\ifisglyph{Ethsmall}\then + \setglyph{Dbarsmall} + \glyph{Ethsmall}{1000} + \endsetglyph + \setleftrightkerning{Dbarsmall}{Ethsmall}{1000} +\Fi\Fi + + +\endmetrics + +\texttt{Dbar} and \texttt{Dbarsmall} are old names for this glyph; +nowadays the standard names are rather \texttt{Dcroat} and +\texttt{Dcroatsmall}, but using those names throughout would require +a coordinated change of the ETX files. +It is probably possible to build a decent \texttt{Dbarsmall} from +\texttt{Dsmall} and an \texttt{lslashslash} (or the like), similarly +to the case with \texttt{dbar}, but that would require some +experimentation. + +\section{Changes} + +This file was created 2003/01/02--05. It is loosely based on parts +of \texttt{latin.mtx}. (LH) + +2003/02/06: Added setting of \textit{smallcapsscale}, and made +\texttt{Lcaron} kern like \texttt{L} only on the left (not on the +right). (LH) + +\end{document} + +% Copyright 2003 the fontinst maintenance team and any individual +% authors listed elsewhere in this file. All rights reserved. +% +% This file is part of the fontinst system version 1.9. +% ----------------------------------------------------- +% +% It may be distributed under the terms of the LaTeX Project Public +% License, as described in lppl.txt in the base LaTeX distribution. +% Either version 1.2 or, at your option, any later version. +% diff --git a/Master/texmf-dist/tex/fontinst/latinmtx/lsfake.mtx b/Master/texmf-dist/tex/fontinst/latinmtx/lsfake.mtx new file mode 100644 index 00000000000..ad942a87a7e --- /dev/null +++ b/Master/texmf-dist/tex/fontinst/latinmtx/lsfake.mtx @@ -0,0 +1,409 @@ +%%% ==================================================================== +%%% @TeX-font-metrics-file{ +%%% author = "Lars Hellstr{\"o}m", +%%% version = "1.923", +%%% date = "2003-03-29", +%%% time = "16:17:30 +01:00", +%%% filename = "lsfake.mtx", +%%% email = "fontinst@tug.org", +%%% URL = "http://www.tug.org/applications/fontinst/", +%%% checksum = "", +%%% codetable = "ISO/ASCII", +%%% keywords = "metrics, TeX, PostScript", +%%% supported = "yes", +%%% abstract = "This is a font metrics file, for use with the +%%% fontinst utility. It fakes latin smallcaps.", +%%% package = "fontinst", +%%% dependencies = "fontinst.sty, fontdoc.sty, lubuild.mtx", +%%% } +%%% ==================================================================== + +\relax + +\documentclass[twocolumn]{article} + +\usepackage{fontdoc}[2002/03/01] +\showbranches + +\newcommand{\IEint}[1]{\ensuremath{\TypesetIntegerExpression{\int{#1}}}} + +\title{Faking smallcaps} +\author{Lars Hellstr\"om} +\date{5 January 2003\\Version 1.923} + +\begin{document} +\maketitle + +\section{Introduction} + +This file is used to fake small capitals (the \texttt{s} case) for a +font by shrinking the full capitals (the \texttt{u} case) by a +certain factor (\IEint{smallcapsscale}). This effectively changes the +weight of the font so that it becomes lighter, but that effect is +(for scaling factors near the default value) not too large, even +though it is quite visible. + +Optimal distance between two letters generally grows slower than the +dimensions of the letters themself. Conversely, to linearly shrink a +line of text usually places the letters a bit too close. To counteract +that, the \textbf{Small glyph} commands used below insert a bit of +extra space (\IEint{smallcapsextraspace}) before and after the actual +glyph. + +Besides the letters, there is also manufactured a special set of +diacritical marks (skrunk by the same factor as the letters), with +names such as \texttt{Acutesmall}. These are meant to be used as +accent characters in a font where the fake small capitals are used as +small letters, so that clashes within a single character when \TeX's +\verb|\accent| primitive is used can be less pronounced. + + +\metrics + +\needsfontinstversion{1.910} +\usemtxpackage{lubuild} + +\ProvidesMtxPackage{lsfake} + + +\begincomment +\section{Some commands and default values} + +\endcomment + + + +% A c&sc glyph is created by shrinking the cap glyph, and adding extra +% space. + +\setcommand\cscglyph#1{ + \movert{\int{smallcapsextraspace}} + \glyph{#1}{\int{smallcapsscale}} + \movert{\int{smallcapsextraspace}} +} +\begincomment +A \textbf{Small glyph} is mainly the special case of a \textbf{Glyph} +when the glyph is scaled +$\TypesetIntegerExpression{\int{smallcapsscale}}$. This is used to +fake smallcaps from full capitals. The exact meaning of +``\textbf{Small glyph} `\#1'\,'' is +\begin{quotation}\cscglyph{\macroparameter{1}}\end{quotation} + +\resetcommand\cscglyph#1{% + \Bheading{Small glyph} `\TypesetStringExpression{#1}'% +} +\endcomment + +\setcommand\fakecscglyph#1#2{ + \setglyph{#1small} + \cscglyph{#2} + \setleftrightkerning{#1small}{#2}{\int{smallcapskerning}} + \endsetglyph +} +% If you supply a definition of \fakecscglyph which has #1medium +% instead of #1small, then you can use this file to fake medium +% capitals instead of small capitals. + + +\setint{smallcapsscale}{800} +\setint{smallcapskerning}{900} + +\ifisint{monowidth}\then + \setint{smallcapsextraspace} + {\half{\scale{\width{x}}{\sub{1000}{\int{smallcapsscale}}}}} +\Else + \setint{smallcapsextraspace}{25} +\Fi + + + +\begincomment +\section{Unaccented letters} +\endcomment + +\fakecscglyph{A}{A} +\fakecscglyph{AE}{AE} +\fakecscglyph{B}{B} +\fakecscglyph{C}{C} +\fakecscglyph{D}{D} +\fakecscglyph{Eth}{Eth} +\fakecscglyph{E}{E} +\fakecscglyph{F}{F} +\fakecscglyph{G}{G} +\fakecscglyph{H}{H} +\fakecscglyph{I}{I} +\fakecscglyph{J}{J} +\fakecscglyph{K}{K} +\fakecscglyph{Lslash}{Lslash} +\fakecscglyph{L}{L} +\fakecscglyph{M}{M} +\fakecscglyph{N}{N} +\fakecscglyph{Ng}{Ng} +\fakecscglyph{O}{O} +\fakecscglyph{OE}{OE} +\fakecscglyph{Oslash}{Oslash} +\fakecscglyph{P}{P} +\fakecscglyph{Q}{Q} +\fakecscglyph{R}{R} +\fakecscglyph{S}{S} +\fakecscglyph{T}{T} +\fakecscglyph{Thorn}{Thorn} +\fakecscglyph{U}{U} +\fakecscglyph{V}{V} +\fakecscglyph{W}{W} +\fakecscglyph{X}{X} +\fakecscglyph{Y}{Y} +\fakecscglyph{Z}{Z} + +\setglyph{Dbarsmall} + \glyph{Ethsmall}{1000} + \setleftrightkerning{Dbarsmall}{Ethsmall}{1000} +\endsetglyph + + + + +\begincomment +\section{Accented letters} +\endcomment + + +\fakecscglyph{Aacute}{Aacute} +\fakecscglyph{Abreve}{Abreve} +\fakecscglyph{Acircumflex}{Acircumflex} +\fakecscglyph{Adieresis}{Adieresis} +\fakecscglyph{Agrave}{Agrave} +\fakecscglyph{Aogonek}{Aogonek} +\fakecscglyph{Aring}{Aring} +\fakecscglyph{Atilde}{Atilde} +\fakecscglyph{Cacute}{Cacute} +\fakecscglyph{Ccaron}{Ccaron} +\fakecscglyph{Ccedilla}{Ccedilla} +\fakecscglyph{Dcaron}{Dcaron} +\fakecscglyph{Eacute}{Eacute} +\fakecscglyph{Ecaron}{Ecaron} +\fakecscglyph{Ecircumflex}{Ecircumflex} +\fakecscglyph{Edieresis}{Edieresis} +\fakecscglyph{Egrave}{Egrave} +\fakecscglyph{Eogonek}{Eogonek} +\fakecscglyph{Gbreve}{Gbreve} +\fakecscglyph{Iacute}{Iacute} +\fakecscglyph{Icircumflex}{Icircumflex} +\fakecscglyph{Idieresis}{Idieresis} +\fakecscglyph{Idotaccent}{Idotaccent} +\fakecscglyph{Igrave}{Igrave} +\fakecscglyph{Lacute}{Lacute} +\fakecscglyph{Lcaron}{Lcaron} +\fakecscglyph{Nacute}{Nacute} +\fakecscglyph{Ncaron}{Ncaron} +\fakecscglyph{Ntilde}{Ntilde} +\fakecscglyph{Oacute}{Oacute} +\fakecscglyph{Ocircumflex}{Ocircumflex} +\fakecscglyph{Odieresis}{Odieresis} +\fakecscglyph{Ograve}{Ograve} +\fakecscglyph{Ohungarumlaut}{Ohungarumlaut} +\fakecscglyph{Otilde}{Otilde} +\fakecscglyph{Racute}{Racute} +\fakecscglyph{Rcaron}{Rcaron} +\fakecscglyph{Sacute}{Sacute} +\fakecscglyph{Scaron}{Scaron} +\fakecscglyph{Scedilla}{Scedilla} +\fakecscglyph{Tcaron}{Tcaron} +\fakecscglyph{Tcedilla}{Tcedilla} +\fakecscglyph{Uacute}{Uacute} +\fakecscglyph{Ucircumflex}{Ucircumflex} +\fakecscglyph{Udieresis}{Udieresis} +\fakecscglyph{Ugrave}{Ugrave} +\fakecscglyph{Uhungarumlaut}{Uhungarumlaut} +\fakecscglyph{Uring}{Uring} +\fakecscglyph{Yacute}{Yacute} +\fakecscglyph{Ydieresis}{Ydieresis} +\fakecscglyph{Zacute}{Zacute} +\fakecscglyph{Zcaron}{Zcaron} +\fakecscglyph{Zdotaccent}{Zdotaccent} + + +\begincomment +\section{Shrunk accents} +\endcomment + +% A c&sc accent is created by moving a shrunk accent up by the +% difference between a scaled x and a scaled X. + +\setcommand\cscaccent#1{ + \moveup{\scale{\int{xheight}}{\sub{1000}{\int{smallcapsscale}}}} + \cscglyph{#1} + \moveup{\scale{\int{xheight}}{\sub{\int{smallcapsscale}}{1000}}} +} +\begincomment\medskip +A \textbf{Shrunk accent} is a \textbf{Small glyph} whose vertical +position has been adjusted so that the +$\TypesetIntegerExpression{\int{xheight}}$ position of the original +accent coincides with that of the shrunk accent. Without this +adjustment, it would instead be the baselines that would coincide, +but such an accent would be too low. The exact meaning of +``\textbf{Shrunk accent} `\#1'\,'' is +\begin{quotation}\cscaccent{\macroparameter{1}}\end{quotation} + +\resetcommand\cscaccent#1{% + \Bheading{Shrunk accent} `\TypesetStringExpression{#1}'% +} +\endcomment + + +\setglyph{Acutesmall} + \cscaccent{Acute} +\endsetglyph + +\setglyph{Gravesmall} + \cscaccent{Grave} +\endsetglyph + +\setglyph{Circumflexsmall} + \cscaccent{Circumflex} +\endsetglyph + +\setglyph{Tildesmall} + \cscaccent{Tilde} +\endsetglyph + +\setglyph{Dieresissmall} + \cscaccent{Dieresis} +\endsetglyph + +\setglyph{Brevesmall} + \cscaccent{Breve} +\endsetglyph + +\setglyph{Dotaccentsmall} + \cscaccent{Dotaccent} +\endsetglyph + +\setglyph{Caronsmall} + \cscaccent{Caron} +\endsetglyph + +\setglyph{Hungarumlautsmall} + \cscaccent{Hungarumlaut} +\endsetglyph + +\setglyph{Ringsmall} + \cscaccent{Ring} +\endsetglyph + +\setglyph{Macronsmall} + \cscaccent{Macron} +\endsetglyph + +\setglyph{Cedillasmall} + \cscglyph{Cedilla} +\endsetglyph + +\setglyph{Ogoneksmall} + \cscglyph{Ogonek} +\endsetglyph + + + +\begincomment +\section{Miscellaneous glyphs} +\endcomment + + +\setglyph{dotlessIsmall} + \glyph{Ismall}{1000} +\endsetglyph +\setleftrightkerning{dotlessIsmall}{Ismall}{1000} + +\setglyph{dotlessJsmall} + \glyph{Jsmall}{1000} +\endsetglyph +\setleftrightkerning{dotlessJsmall}{Jsmall}{1000} + +\setglyph{FFsmall} + \glyph{Fsmall}{1000} + \movert{\kerning{Fsmall}{Fsmall}} + \glyph{Fsmall}{1000} +\endsetglyph + +\setglyph{FIsmall} + \glyph{Fsmall}{1000} + \movert{\kerning{Fsmall}{Ismall}} + \glyph{Ismall}{1000} +\endsetglyph + +\setglyph{FLsmall} + \glyph{Fsmall}{1000} + \movert{\kerning{Fsmall}{Lsmall}} + \glyph{Lsmall}{1000} +\endsetglyph + +\setglyph{FFIsmall} + \glyph{FFsmall}{1000} + \movert{\kerning{FFsmall}{Ismall}} + \glyph{Ismall}{1000} +\endsetglyph + +\setglyph{FFLsmall} + \glyph{FFsmall}{1000} + \movert{\kerning{FFsmall}{Lsmall}} + \glyph{Lsmall}{1000} +\endsetglyph + +\setglyph{IJsmall} + \glyph{Ismall}{1000} + \movert{\kerning{Ismall}{Jsmall}} + \glyph{Jsmall}{1000} +\endsetglyph + +\setglyph{SSsmall} + \glyph{Ssmall}{1000} + \movert{\kerning{Ssmall}{Ssmall}} + \glyph{Ssmall}{1000} +\endsetglyph + + + +\endmetrics + +\section{Notes} + +An important, but rather obscure, difference between what is done by +this file and what is done by the old \texttt{latin.mtx} concerns the +manner in which the letters are spaced. In this file, spacing of +smallcaps is consistently done using the \IEint{smallcapsextraspace} +parameter, but \texttt{latin.mtx} only uses this mechanism in +monowidth fonts. For proportional fonts, the default was instead to +use the \IEint{letterspacing} parameter to space the entire +font---the same amount for non-faked as for faked letters. + + +\section{Changes} + +1999/10/25: Added \verb|\setglyphs| for \texttt{Macronsmall} and +\texttt{macronsmall}. (LH) + +1999/10/25: Simplified definition of \verb|\unfakable|. (UV\&LH) +Rationale: It is thoroughly confusing if the size of the black box +created by \verb|\unfakable| depends on the metrics of an unencoded +glyph that isn't accessible and therefore unavailable for all pratical +purposes. + +2000/10/20: File split off from \texttt{latin.mtx}. + +2003/01/02--05: File heavily reorganised. (LH) + +\end{document} + +% Copyright 1993, 1994, 1995, 1996 Alan Jeffrey, +% hacked and maintained 1997, 1998 Sebastian Rahtz, +% copyright 1998, 1999 the fontinst maintenance team and any individual +% authors listed elsewhere in this file. All rights reserved. +% +% This file is part of the fontinst system version 1.9. +% ----------------------------------------------------- +% +% It may be distributed under the terms of the LaTeX Project Public +% License, as described in lppl.txt in the base LaTeX distribution. +% Either version 1.0 or, at your option, any later version. +% diff --git a/Master/texmf-dist/tex/fontinst/latinmtx/lsmisc.mtx b/Master/texmf-dist/tex/fontinst/latinmtx/lsmisc.mtx new file mode 100644 index 00000000000..d30ac97cfb5 --- /dev/null +++ b/Master/texmf-dist/tex/fontinst/latinmtx/lsmisc.mtx @@ -0,0 +1,194 @@ +%%% ==================================================================== +%%% @TeX-font-metrics-file{ +%%% author = "Alan Jeffrey and Ulrik Vieth and +%%% Lars Hellstr{\"o}m", +%%% version = "1.923", +%%% date = "2003-03-29", +%%% time = "16:18:07 +01:00", +%%% filename = "lsmisc.mtx", +%%% email = "fontinst@cogs.susx.ac.uk", +%%% URL = "http://www.tug.org/applications/fontinst/", +%%% checksum = "", +%%% codetable = "ISO/ASCII", +%%% keywords = "metrics, TeX, PostScript", +%%% supported = "yes", +%%% abstract = "This is a font metrics file, for use with the +%%% fontinst utility. It sets some miscellaneous +%%% glyphs in latin smallcaps.", +%%% package = "fontinst", +%%% dependencies = "fontinst.sty, fontdoc.sty", +%%% } +%%% ==================================================================== + +\relax + +\documentclass[twocolumn]{article} + +\usepackage{fontdoc}[2002/03/01] +\showbranches + +\title{Smallcaps miscellanea} +\author{Alan Jeffrey\and Ulrik Vieth\and Lars Hellstr\"om} +\date{5 January 2003\\Version 1.923} + +\begin{document} +\maketitle + +\section{Introduction} + +This file sets some miscellaneous smallcaps glyphs, most of which +serve mainly to complete some family of glyphs whose names are built +according to some simple pattern. It should work just as well will +real smallcaps as with faked smallcaps. + +\metrics + +\needsfontinstversion{1.917} + +\ProvidesMtxPackage{lsmisc} + +\begincomment +\section{Miscellaneous smallcaps} + +\subsection{Some glyph aliases} + +The next few glyphs are usually available (if any smallcaps glyphs are), +but may come under a name different from that which ETX files expect. +\endcomment + +\ifisglyph{Ismall}\then + \setglyph{dotlessIsmall} + \glyph{Ismall}{1000} + \setleftrightkerning{dotlessIsmall}{Ismall}{1000} + \endsetglyph +\Fi + +\ifisglyph{Jsmall}\then + \setglyph{dotlessJsmall} + \glyph{Jsmall}{1000} + \setleftrightkerning{dotlessJsmall}{Jsmall}{1000} + \endsetglyph +\Fi + + +\begincomment +\subsection{Smallcap ligatures} + +Smallcap letters usually do not form ligatures, but many font encodings +nonetheless reserve slots for them, and in particular many ETX files +will try to put smallcap ligatures in the ligature slots. Hence there +is some point in making these glyphs, even though they are only what +one would get if there was no ligature. + +\medskip +\endcomment + +\setint{smallcapsspacing}{0} +\comment{In case some letterspacing will be applied to the smallcaps, + then that amount should also be added between the glyphs below. + In most cases however, such spacing should already have been + included in the base glyphs, and in that case, $0$ is the correct + value.} + +\ifisglyph{Fsmall}\then + +\setglyph{FFsmall} + \glyph{Fsmall}{1000} + \movert{\add{\kerning{Fsmall}{Fsmall}}{\int{smallcapsspacing}}} + \glyph{Fsmall}{1000} +\endsetglyph +\setrightkerning{FFsmall}{Fsmall}{1000} + +\ifisglyph{Ismall}\then + \setglyph{FIsmall} + \glyph{Fsmall}{1000} + \movert{\add{\kerning{Fsmall}{Ismall}}{\int{smallcapsspacing}}} + \glyph{Ismall}{1000} + \endsetglyph + +% \setleftkerning{FIsmall}{Fsmall}{1000} + \setrightkerning{FIsmall}{Ismall}{1000} + + \setglyph{FFIsmall} + \glyph{FFsmall}{1000} + \movert{\add{\kerning{Fsmall}{Ismall}}{\int{smallcapsspacing}}} + \glyph{Ismall}{1000} + \endsetglyph + +% \setleftkerning{FFIsmall}{Fsmall}{1000} + \setrightkerning{FFIsmall}{Ismall}{1000} +\Fi + +\ifisglyph{Lsmall}\then + \setglyph{FLsmall} + \glyph{Fsmall}{1000} + \movert{\add{\kerning{Fsmall}{Lsmall}}{\int{smallcapsspacing}}} + \glyph{Lsmall}{1000} + \endsetglyph + +% \setleftkerning{FLsmall}{Fsmall}{1000} + \setrightkerning{FLsmall}{Lsmall}{1000} + + \setglyph{FFLsmall} + \glyph{FFsmall}{1000} + \movert{\add{\kerning{Fsmall}{Lsmall}}{\int{smallcapsspacing}}} + \glyph{Lsmall}{1000} + \endsetglyph + +% \setleftkerning{FFLsmall}{Fsmall}{1000} + \setrightkerning{FFLsmall}{Lsmall}{1000} +\Fi +\Fi % ifisglyph{Fsmall} + + +\ifareglyphs{Ismall,Jsmall}\then + \setglyph{IJsmall} + \glyph{Ismall}{1000} + \movert{\add{\kerning{Ismall}{Jsmall}}{\int{smallcapsspacing}}} + \glyph{Jsmall}{1000} + \endsetglyph +% \setleftkerning{IJsmall}{Ismall}{1000} + \setrightkerning{IJsmall}{Jsmall}{1000} +\Fi + +\comment{That the above glyphs only kern on the right is deliberate. + Since they are only put in a horizontal list due to a ligature, + they will never occur as the right party when kerning is considered. + Not having any kerns on the left simplifies reusing ligature slots + as right boundary characters. \texttt{SSsmall} is however a + different matter, since that is (in a sense, and probably only if + some German spelling reforms are ignored) a proper letter.} + +\ifisglyph{Ssmall}\then + \setglyph{SSsmall} + \glyph{Ssmall}{1000} + \movert{\add{\kerning{Ssmall}{Ssmall}}{\int{smallcapsspacing}}} + \glyph{Ssmall}{1000} + \endsetglyph + \setleftrightkerning{SSsmall}{Ssmall}{1000} +\Fi + + + +\endmetrics + + +\section{Changes} + +This file was part of \texttt{latin.mtx} until 2000/10/20. Its was set +up as a separate file 2003/01/02--05. (LH) + +\end{document} + +% Copyright 1993, 1994, 1995, 1996 Alan Jeffrey, +% hacked and maintained 1997, 1998 Sebastian Rahtz, +% copyright 1998, 1999 the fontinst maintenance team and any individual +% authors listed elsewhere in this file. All rights reserved. +% +% This file is part of the fontinst system version 1.9. +% ----------------------------------------------------- +% +% It may be distributed under the terms of the LaTeX Project Public +% License, as described in lppl.txt in the base LaTeX distribution. +% Either version 1.0 or, at your option, any later version. +% diff --git a/Master/texmf-dist/tex/fontinst/latinmtx/ltcmds.mtx b/Master/texmf-dist/tex/fontinst/latinmtx/ltcmds.mtx new file mode 100644 index 00000000000..ffe2af0efd3 --- /dev/null +++ b/Master/texmf-dist/tex/fontinst/latinmtx/ltcmds.mtx @@ -0,0 +1,302 @@ +% Copyright 1993, 1994, 1995, 1996 Alan Jeffrey, +% hacked and maintained 1997, 1998 Sebastian Rahtz, +% copyright 1998, 1999 the fontinst maintenance team and any individual +% authors listed elsewhere in this file. All rights reserved. +% +% This file is part of the fontinst system version 1.9. +% ----------------------------------------------------- +% +% It may be distributed under the terms of the LaTeX Project Public +% License, as described in lppl.txt in the base LaTeX distribution. +% Either version 1.0 or, at your option, any later version. +% +%%% ==================================================================== +%%% @TeX-font-metrics-file{ +%%% author = "Alan Jeffrey and Ulrik Vieth", +%%% version = "1.915", +%%% date = "2003-03-29", +%%% time = "16:07:18 +01:00", +%%% filename = "ltcmds.mtx", +%%% email = "fontinst@cogs.susx.ac.uk", +%%% URL = "http://www.tug.org/applications/fontinst/", +%%% checksum = "", +%%% codetable = "ISO/ASCII", +%%% keywords = "metrics, TeX, PostScript", +%%% supported = "yes", +%%% abstract = "This is a font metrics file, for use with the +%%% fontinst utility. It provides the defaults +%%% used to install the Latin glyphs.", +%%% package = "fontinst", +%%% dependencies = "fontinst.sty, fontdoc.sty", +%%% } +%%% ==================================================================== + +\relax + +\documentclass[twocolumn]{article} +\usepackage{fontdoc}[1999/11/04] + +\title{The file \texttt{ltcmds.mtx}} +\author{Alan Jeffrey\and Ulrik Vieth\and Lars Hellstr\"om} +\date{20 October 2000\\Version 1.915} + +\showbranches + +\begin{document} +\maketitle + +\metrics + +\needsfontinstversion{1.917} +\ProvidesMtxPackage{ltcmds} + +\begincomment +\section{Some commands for making latin glyphs} + +\endcomment + +% \unfakable is a glyph which can't be faked. +\setcommand\unfakable#1{ + \setglyph{#1} + \glyphrule{\int{xheight}}{\int{xheight}} + \glyphwarning{missing glyph `#1'} + \endsetglyph +} +\begincomment\medskip +An \textbf{Unfakable} is a glyph which can't be faked. An +``\textbf{Unfakable `\#1'}\,'' is equivalent to +\begin{quotation}\unfakable{\macroparameter{1}}\end{quotation} + +\resetcommand\unfakable#1{% + \Aheading{Unfakable `\TypesetStringExpression{#1}'}% +} +\endcomment + + +\setcommand\topaccent#1#2#3{ + \push + \moveup{\max{0}{\sub{\height{#1}}{\int{xheight}}}} + \movert{\add{\sub{\scale{\width{#1}}{#3}}{\half{\width{#2}}}} + {\scale{\sub{\height{#1}}{\int{xheight}}}{\int{italicslant}}}} + \glyph{#2}{1000} + \pop + \glyph{#1}{1000} +} +\begincomment\medskip +A \textbf{Top accent} is built by placing the center of the accent at +the given position along the width of the letter, raised up by the +difference between the height of the letter and the xheight. This is +the algorithm used by the \TeX\ \verb|\accent| primitive. +A ``\textbf{Top accent} `\#1' with `\#2' at \#3'' is equivalent to +\begin{quotation} + \topaccent{\macroparameter{1}}{\macroparameter{2}}{\macroparameter{3}} +\end{quotation} +\resetcommand\topaccent#1#2#3{% + \Bheading{Top accent} `\TypesetStringExpression{#1}' with + `\TypesetStringExpression{#2}' at $\TypesetIntegerExpression{#3}$% +} +\endcomment + + +\setcommand\topaccentas#1#2#3#4{ + \push + \moveup{\sub{\height{#4}}{\height{#2}}} + \movert{\add{ + \sub{\scale{\width{#1}}{#3}}{\half{\width{#2}}} + }{ + \scale{\sub{\height{#4}}{\height{#2}}}{\int{italicslant}} + }} + \glyph{#2}{1000} + \pop + \glyph{#1}{1000} +} +\begincomment\medskip +A \textbf{Top accent \dots\ as} is built by placing the center of the +accent at the given position along the width of the letter, raised up +by the difference between the height of the accent and the height of +the model glyph. A ``\textbf{Top accent} `\#1' with `\#2' at \#3 as +\#4'' is equivalent to +\begin{quotation} + \topaccentas{\macroparameter{1}}{\macroparameter{2}} + {\macroparameter{3}}{\macroparameter{4}} +\end{quotation} +\resetcommand\topaccentas#1#2#3#4{% + \Bheading{Top accent} `\TypesetStringExpression{#1}' with + `\TypesetStringExpression{#2}' at $\TypesetIntegerExpression{#3}$ + as `\TypesetStringExpression{#4}'% +} +\endcomment + + +\setcommand\botaccent#1#2#3{ + \push + \movert{\sub{\scale{\width{#1}}{#3}}{\half{\width{#2}}}} + \glyph{#2}{1000} + \pop + \glyph{#1}{1000} +} +\begincomment\medskip +A \textbf{Bottom accent} is built by placing the center of the accent at +the given position along the width of the letter. A ``\textbf{Bottom +accent} `\#1' with `\#2' at \#3'' is equivalent to +\begin{quotation} + \botaccent{\macroparameter{1}}{\macroparameter{2}}{\macroparameter{3}} +\end{quotation} +\resetcommand\botaccent#1#2#3{% + \Bheading{Bottom accent} `\TypesetStringExpression{#1}' with + `\TypesetStringExpression{#2}' at $\TypesetIntegerExpression{#3}$% +} +\endcomment + + +\setcommand\unfakabletopaccent#1{ + \setglyph{#1} + \moveup{\add{\int{xheight}}{50}} + \glyphrule{\half{\int{xheight}}}{\half{\int{xheight}}} + \glyphwarning{missing glyph `#1'} + \moveup{\neg{\add{\int{xheight}}{50}}} + \endsetglyph +} +\begincomment\medskip +An \textbf{Unfakable top accent} is the same as an +\textbf{Unfakable}, except that the rule is smaller and has a more +accent-like position. An ``\textbf{Unfakable top accent `\#1'}\,'' +is equivalent to +\begin{quotation}\unfakabletopaccent{\macroparameter{1}}\end{quotation} + +\resetcommand\unfakabletopaccent#1{% + \Aheading{Unfakable top accent `\TypesetStringExpression{#1}'}% +} +\endcomment + + + +% A c&sc top accent glyph is placed using the small glyphs if +% available, and otherwise by shrinking the equivalent capital. + +\setcommand\csctopaccent#1#2#3{ +% \ifareglyphs{#1small,#2small}\then +% \topaccent{#1small}{#2small}{#3} +% \Else + \cscglyph{#1#2} +% \Fi +} + +% A c&sc bot accent glyph is placed using the small glyphs if +% available, and otherwise by shrinking the equivalent capital. + +\setcommand\cscbotaccent#1#2#3{ +% \ifisglyph{#1small}\then +% \botaccent{#1small}{#2small}{#3} +% \Else + \cscglyph{#1#2} +% \Fi +} + +% A c&sc accent is created by moving a shrunk accent up by the +% difference between a scaled x and a scaled X. + +\setcommand\cscaccent#1{ + \moveup{\scale{\int{xheight}}{\sub{1000}{\int{smallcapsscale}}}} + \cscglyph{#1} + \moveup{\scale{\int{xheight}}{\sub{\int{smallcapsscale}}{1000}}} +} + + +\begincomment +\section{Default values} +\endcomment + +\setint{italicslant}{0} + +\ifisglyph{x}\then + \setint{xheight}{\height{x}} +\Else + \setint{xheight}{500} +\Fi + +\ifisglyph{A}\then + \setint{capheight}{\height{A}} + \comment{\texttt{t1.etx} has traditionally measured the capheight + on \texttt{X}, whereas \texttt{latin.mtx} measured it on + \texttt{A}. There is probably no good reason for this + difference.} +\Else\ifisglyph{X}\then + \setint{capheight}{\height{X}} +\Else + \setint{capheight}{750} +\Fi\Fi + +\ifisglyph{d}\then + \setint{ascender}{\height{d}} +\Else + \setint{ascender}{\int{capheight}} +\Fi + +\ifisint{descender_neg}\then + \setint{descender}{\neg{\int{descender_neg}}} +\Else\ifisglyph{g}\then + \setint{descender}{\depth{g}} + \comment{Similarly, \texttt{t1.etx} has traditionally measured + the descender depth on \texttt{p}, whereas \texttt{latin.mtx} + measured it on \texttt{g}.} +\Else\ifisglyph{p}\then + \setint{descender}{\depth{p}} +\Else + \setint{descender}{250} +\Fi\Fi\Fi + +\setint{underlinethickness}{40} +\setint{visiblespacedepth}{200} +\setint{visiblespacewidth}{400} +\setint{visiblespacesurround}{50} +\setint{capspacing}{0} + + +\ifisglyph{parenleft}\then + \setint{vaxis}{\half{\sub{\height{parenleft}}{\depth{parenleft}}}} +\Else + \setint{vaxis}{\half{\int{xheight}}} +\Fi + + +\endmetrics + + + + + +\section{Changes} + +1999/10/25: Added \verb|\setglyphs| for \texttt{Macronsmall} and +\texttt{macronsmall}. (LH) + +1999/10/25: Simplified definition of \verb|\unfakable|. (UV\&LH) +Rationale: It is thoroughly confusing if the size of the black box +created by \verb|\unfakable| depends on the metrics of an unencoded +glyph that isn't accessible and therefore unavailable for all pratical +purposes. + +2000/10/20--2003/03/15: File split off from \texttt{latin.mtx} and +reorganised into a separate package. (LH) (It took until the last of +these dates before all the useless code had been removed.) Also made +special typeset definitions of many commands and modernized the +conditionals. + +2003/03/15: Made the \verb|\unfakable| a square with side +$\TypesetIntegerExpression{\int{xheight}}$ and added the +\verb|\unfakabletopaccent| command. (LH) Rationale: That the glyph is +unavailable doesn't mean the rule replacing it has to look bad. This +should make them blend in better with any glyphs that are actually +available. + +2003/03/15: Added \verb|\topaccentas|. (LH) It is based on a command +|\idotaccent| defined by Walter Schmidt. + +2003/03/15: Added calculation of a vertical symmetry axis position +$\TypesetIntegerExpression{\int{vaxis}}$. (LH) It is based on some +code by Walter Schmidt. + +2004/08/07: Fixed typo in vertical symmetry axis code. (LH) + +\end{document} diff --git a/Master/texmf-dist/tex/fontinst/latinmtx/ltpunct.mtx b/Master/texmf-dist/tex/fontinst/latinmtx/ltpunct.mtx new file mode 100644 index 00000000000..223b2005f48 --- /dev/null +++ b/Master/texmf-dist/tex/fontinst/latinmtx/ltpunct.mtx @@ -0,0 +1,247 @@ +%%% ==================================================================== +%%% @TeX-font-metrics-file{ +%%% author = "Alan Jeffrey and Ulrik Vieth and +%%% Lars Hellstr{\"o}m", +%%% version = "1.923", +%%% date = "2003-03-29", +%%% time = "16:25:58 +01:00", +%%% filename = "ltpunct.mtx", +%%% email = "fontinst@tug.org", +%%% URL = "http://www.tug.org/applications/fontinst/", +%%% checksum = "", +%%% codetable = "ISO/ASCII", +%%% keywords = "metrics, TeX, PostScript", +%%% supported = "yes", +%%% abstract = "This is a font metrics file, for use with +%%% the fontinst utility. It deals with the +%%% punctuation characters needed for the most +%%% common latin font encodings.", +%%% package = "fontinst", +%%% dependencies = "fontinst.sty, fontdoc.sty", +%%% } +%%% ==================================================================== + +\relax + +\documentclass[twocolumn]{article} + +\usepackage{fontdoc}[2002/03/01] +\showbranches + +\title{Latin punctuation} +\author{Alan Jeffrey\and Ulrik Vieth\and Lars Hellstr\"om} +\date{7 January 2003\\Version 1.923} + +\begin{document} +\maketitle + + +\metrics + +\needsfontinstversion{1.902} +\usemtxpackage{ltcmds} +\ProvidesMtxPackage{ltpunct} + +\begincomment +\section{Punctuation} + +\subsection{Unfakable characters} +\endcomment + +\unfakable{ampersand} +\unfakable{asciicircum} +\unfakable{asciitilde} +\unfakable{asterisk} +\unfakable{at} +\unfakable{backslash} +\unfakable{bar} +\unfakable{braceleft} +\unfakable{braceright} +\unfakable{bracketleft} +\unfakable{bracketright} +\unfakable{colon} +\unfakable{comma} +\unfakable{dollar} +\unfakable{emdash} +\unfakable{endash} +\unfakable{equal} +\unfakable{exclamdown} +\unfakable{exclam} +\unfakable{greater} +\unfakable{guillemotleft} +\unfakable{guillemotright} +\unfakable{guilsinglleft} +\unfakable{guilsinglright} +\unfakable{hyphen} +\unfakable{less} +\unfakable{numbersign} +\unfakable{parenleft} +\unfakable{parenright} +\unfakable{percent} +\unfakable{period} +\unfakable{perthousandzero} +\unfakable{plus} +\unfakable{questiondown} +\unfakable{question} +\unfakable{quotedblbase} +\unfakable{quotedblleft} +\unfakable{quotedblright} +\unfakable{quotedbl} +\unfakable{quoteleft} +\unfakable{quoteright} +\unfakable{section} +\unfakable{semicolon} +\unfakable{slash} +\unfakable{sterling} +\unfakable{underscore} + +\begincomment +\subsection{Fakable characters} +\endcomment + +\setglyph{space} + \ifisglyph{space-not}\then + \movert{\width{space-not}} + \Else\ifisglyph{i}\then + \movert{\width{i}} + \Else + \movert{333} + \Fi\Fi +\endsetglyph + +\setglyph{compwordmark} + \glyphrule{0}{\int{xheight}} +\endsetglyph +\setint{compwordmark-spacing}{0} + +\setglyph{quotesinglbase} + \glyph{comma}{1000} +\endsetglyph + + +\setglyph{visiblespace} + \moveup{\neg{\int{visiblespacedepth}}} + \movert{\int{visiblespacesurround}} + \glyphrule + {\int{underlinethickness}} + {\int{visiblespacedepth}} + \glyphrule + {\int{visiblespacewidth}} + {\int{underlinethickness}} + \glyphrule + {\int{underlinethickness}} + {\int{visiblespacedepth}} + \movert{\int{visiblespacesurround}} + \moveup{\int{visiblespacedepth}} +\endsetglyph +\setleftrightkerning{visiblespace}{space}{1000} +\comment{The matter of whether a \texttt{visiblespace} should kern + like a \texttt{space} has never been satisfactory resolved.} + + + +\begincomment +\subsection{Some special dashes} + +\texttt{rangedash} and \texttt{punctdash} are mostly two traditional +aliases for \texttt{endash} and \texttt{emdash}. The problem with the +latter two ``original'' glyphs is that they in monowidth fonts +usually are much shorter than one would expect, whereas the hyphen +combinations look quite good. +\endcomment + +\setglyph{rangedash} + \ifisint{monowidth}\then + \glyph{hyphen}{1000} + \Else + \glyph{endash}{1000} + \Fi +\endsetglyph + +\setglyph{punctdash} + \ifisint{monowidth}\then + \glyph{hyphen}{1000} + \glyph{hyphen}{1000} + \Else + \glyph{emdash}{1000} + \Fi +\endsetglyph + +\setglyph{hyphenchar} + \glyph{hyphen}{1000} + \resetwidth{\half{\width{hyphen}}} + \comment{Unlike the normal \texttt{hyphen}, this glyph is only + meant to be used at the right end of a line of text. This means + it can be a ``hanging hyphen'' which significantly extends + outside the character box.} + \setleftkerning{hyphenchar}{hyphen}{1000} + \comment{\TeX\ does consider kerning (and ligatures) between a + hyphenchar and what preceeds it on the line, but there is + nothing after the hyphenchar.} +\endsetglyph + + +\begincomment +\subsection{More monowidth specialities} +\endcomment + +% only with monospaced fonts. (WaS) +\ifisint{monowidth}\then + \resetglyph{asterisk} + \moveup{\sub{\int{vaxis}}{\half{\sub{\height{asterisk}}{\depth{asterisk}}}}} + \glyph{asterisk}{1000} + \resetdepth{0} + \endresetglyph +\Fi + + + +\begincomment +\section{Digits} + +The traditional coding here has been that all digits are considered to +be unfakable. An obvious alternative is however to fake +\texttt{zerooldstyle} with \texttt{zero}, \texttt{oneoldstyle} with +\texttt{one}, etc., or vice versa. +\endcomment + + +\unfakable{zero} +\unfakable{one} +\unfakable{two} +\unfakable{three} +\unfakable{four} +\unfakable{five} +\unfakable{six} +\unfakable{seven} +\unfakable{eight} +\unfakable{nine} + +\unfakable{zerooldstyle} +\unfakable{oneoldstyle} +\unfakable{twooldstyle} +\unfakable{threeoldstyle} +\unfakable{fouroldstyle} +\unfakable{fiveoldstyle} +\unfakable{sixoldstyle} +\unfakable{sevenoldstyle} +\unfakable{eightoldstyle} +\unfakable{nineoldstyle} + + + +\endmetrics + + +\section{Changes} + +The original version of this file was created in February 2003, +although it is based on code from the traditional \texttt{latin.mtx}. +The changes that have been made after that are as follows. + +2003/03/15: The asterisk in monowidth fonts is vertically centered, +to make it more useful for computer listings. Suggested by Walter +Schmidt. + +\end{document} + diff --git a/Master/texmf-dist/tex/fontinst/latinmtx/lubuild.mtx b/Master/texmf-dist/tex/fontinst/latinmtx/lubuild.mtx new file mode 100644 index 00000000000..e1e2f1bf9a4 --- /dev/null +++ b/Master/texmf-dist/tex/fontinst/latinmtx/lubuild.mtx @@ -0,0 +1,646 @@ +%%% ==================================================================== +%%% @TeX-font-metrics-file{ +%%% author = "Alan Jeffrey and Ulrik Vieth and +%%% Lars Hellstr{\"o}m", +%%% version = "1.923", +%%% date = "2003-03-29", +%%% time = "16:12:42 +01:00", +%%% filename = "lubuild.mtx", +%%% email = "fontinst@tug.org", +%%% URL = "http://www.tug.org/applications/fontinst/", +%%% checksum = "", +%%% codetable = "ISO/ASCII", +%%% keywords = "metrics, TeX, PostScript", +%%% supported = "yes", +%%% abstract = "This is a font metrics file, for use with the +%%% fontinst utility. It builds upper case latin +%%% letters.", +%%% package = "fontinst", +%%% dependencies = "fontinst.sty, fontdoc.sty", +%%% } +%%% ==================================================================== + +\relax + +\documentclass[twocolumn]{article} + +\usepackage{fontdoc}[2002/03/01] +\showbranches + +\title{Building upper case} +\author{Alan Jeffrey\and Ulrik Vieth\and Lars Hellstr\"om} +\date{4 January 2002\\Version 1.923} + +\begin{document} +\maketitle + +\section{Introduction} + +This file builds upper case (full capitals, \texttt{u} case) latin +letters, or more precisely, it makes sure that a set of glyphs is +defined that cover the upper case letters used in European latin scripts. +Even that is a slight exaggeration, because there are a couple of +``exotic'' letters that are missing, but most people never try to use +those anyway. + +For the glyphs set in this file to look anything like the letters they +are supposed to be, it is necessary that the glyphs for unaccented +letters and for accents already exist and look like they are supposed +to. In that case, the commands below will manufacture decent +substitutes for the missing glyphs by composing letters and accents. +If some of these base glyphs are missing, then a ``missing glyph'' +substitute will be supplied for them. Such substitutes will show up in +print as black squares, and most DVI drivers will emit a warning when +producing them. + +The most common case encountered is that almost all unaccented letters +and accents are available, but only about half of the accented +letters. Then for the other half, quite decent substitutes are made, +but a few letters only show up as ``missing glyph'' boxes. + + +\metrics + +\needsfontinstversion{1.910} +\usemtxpackage{ltcmds} + +\ProvidesMtxPackage{lubuild} + +\begincomment +\section{Base upper case glyphs} + +The following commands make sure all the unaccented letter glyphs and +accent glyphs are set. If any of them are not already set at this +point, then those will be set to ``missing glyph'' boxes. + +\subsection{Letters} +\endcomment + +\unfakable{A} +\unfakable{AE} +\unfakable{B} +\unfakable{C} +\unfakable{D} +\unfakable{E} +\unfakable{Eng} +\unfakable{Eth} +\unfakable{F} +\unfakable{G} +\unfakable{H} +\unfakable{I} +\unfakable{J} +\unfakable{K} +\unfakable{L} +\unfakable{M} +\unfakable{N} +\unfakable{O} +\unfakable{OE} +\unfakable{Oslash} +\unfakable{P} +\unfakable{Q} +\unfakable{R} +\unfakable{S} +\unfakable{T} +\unfakable{Thorn} +\unfakable{U} +\unfakable{V} +\unfakable{W} +\unfakable{X} +\unfakable{Y} +\unfakable{Z} + +\begincomment +\subsection{Accents} + +The accents on designed full capitals are often different from the +accents on lower case letters: strokes are generally at a smaller +angle to the horizontal, so that the accent is compressed in the +vertical direction. Most fonts do not provide those accents as +separate characters, but one should nonetheless try to use them +whenever possible. The standard names appear (see for example the +\emph{Adobe Glyph List}) to be the same as for the +normal accents, but with the first letter in upper case. +When these accents are not available, it is anyway +possible to make do with the ordinary accents. +\endcomment + + +\unfakabletopaccent{grave} +\unfakabletopaccent{acute} +\unfakabletopaccent{circumflex} +\unfakabletopaccent{tilde} +\unfakabletopaccent{dieresis} +\unfakabletopaccent{hungarumlaut} +\unfakabletopaccent{ring} +\unfakabletopaccent{caron} +\unfakabletopaccent{breve} +\unfakabletopaccent{macron} +\unfakabletopaccent{dotaccent} +\unfakable{cedilla} +\unfakable{ogonek} +\unfakable{quoteright} +\unfakable{lslashslash} + + +\setglyph{Acute} + \glyph{acute}{1000} +\endsetglyph + +\setglyph{Grave} + \glyph{grave}{1000} +\endsetglyph + +\setglyph{Circumflex} + \glyph{circumflex}{1000} +\endsetglyph + +\setglyph{Tilde} + \glyph{tilde}{1000} +\endsetglyph + +\setglyph{Dieresis} + \glyph{dieresis}{1000} +\endsetglyph + +\setglyph{Breve} + \glyph{breve}{1000} +\endsetglyph + +\setglyph{Dotaccent} + \glyph{dotaccent}{1000} +\endsetglyph + +\setglyph{Caron} + \glyph{caron}{1000} +\endsetglyph + +\setglyph{Hungarumlaut} + \glyph{hungarumlaut}{1000} +\endsetglyph + +\setglyph{Ring} + \glyph{ring}{1000} +\endsetglyph + +\setglyph{Macron} + \glyph{macron}{1000} +\endsetglyph + +\setglyph{Cedilla} + \glyph{cedilla}{1000} +\endsetglyph + +\setglyph{Ogonek} + \glyph{ogonek}{1000} +\endsetglyph + +\begincomment +Note that the \TeX\ accenting algorithm assumes that accents are +positioned correctly for being placed on a letter whose height is the +x-height. It might happen that a font with special upper case accents, +made for use with some other typesetting engine, instead has these +glyphs positioned correctly for being placed on a capital. In such a +case, one would first have to adjust the accent positions before they +can be used. +\endcomment + + +\begincomment +\section{Building accented letters} +\endcomment + + +\setglyph{Aacute} + \topaccent{A}{Acute}{500} +\endsetglyph + +\setglyph{Abreve} + \topaccent{A}{Breve}{500} +\endsetglyph + +\setglyph{Acircumflex} + \topaccent{A}{Circumflex}{500} +\endsetglyph + +\setglyph{Adieresis} + \topaccent{A}{Dieresis}{500} +\endsetglyph + +\setglyph{Agrave} + \topaccent{A}{Grave}{500} +\endsetglyph + +\setglyph{Aogonek} + \botaccent{A}{Ogonek}{900} +\endsetglyph + +\setglyph{Aring} + \topaccent{A}{Ring}{500} +\endsetglyph + +\setglyph{Atilde} + \topaccent{A}{Tilde}{500} +\endsetglyph + +\setglyph{Cacute} + \topaccent{C}{Acute}{500} +\endsetglyph + +\setglyph{Ccaron} + \topaccent{C}{Caron}{500} +\endsetglyph + +\setglyph{Ccedilla} + \botaccent{C}{Cedilla}{500} +\endsetglyph + +\setglyph{Dcaron} + \topaccent{D}{Caron}{450} +\endsetglyph + +\setglyph{Eacute} + \topaccent{E}{Acute}{500} +\endsetglyph + +\setglyph{Ecaron} + \topaccent{E}{Caron}{500} +\endsetglyph + +\setglyph{Ecircumflex} + \topaccent{E}{Circumflex}{500} +\endsetglyph + +\setglyph{Edieresis} + \topaccent{E}{Dieresis}{500} +\endsetglyph + +\setglyph{Egrave} + \topaccent{E}{Grave}{500} +\endsetglyph + +\setglyph{Eogonek} + \botaccent{E}{Ogonek}{850} +\endsetglyph + +\setglyph{Gbreve} + \topaccent{G}{Breve}{500} +\endsetglyph + +\setglyph{Iacute} + \topaccent{I}{Acute}{500} +\endsetglyph + +\setglyph{Icircumflex} + \topaccent{I}{Circumflex}{500} +\endsetglyph + +\setglyph{Idieresis} + \topaccent{I}{Dieresis}{500} +\endsetglyph + +\setglyph{Idotaccent} + \topaccent{I}{Dotaccent}{500} +\endsetglyph + +\setglyph{Igrave} + \topaccent{I}{Grave}{500} +\endsetglyph + +\setglyph{Lacute} + \topaccent{L}{Acute}{250} +\endsetglyph + +\setglyph{Lcaron} + \glyph{L}{1000} + \ifisint{monowidth}\then\Else + \movert{-200} + \Fi + \glyph{quoteright}{1000} +\endsetglyph + +\setglyph{Nacute} + \topaccent{N}{Acute}{500} +\endsetglyph + +\setglyph{Ncaron} + \topaccent{N}{Caron}{500} +\endsetglyph + +\setglyph{Ntilde} + \topaccent{N}{Tilde}{500} +\endsetglyph + +\setglyph{Oacute} + \topaccent{O}{Acute}{500} +\endsetglyph + +\setglyph{Ocircumflex} + \topaccent{O}{Circumflex}{500} +\endsetglyph + +\setglyph{Odieresis} + \topaccent{O}{Dieresis}{500} +\endsetglyph + +\setglyph{Ograve} + \topaccent{O}{Grave}{500} +\endsetglyph + +\setglyph{Ohungarumlaut} + \topaccent{O}{Hungarumlaut}{500} +\endsetglyph + +\setglyph{Otilde} + \topaccent{O}{Tilde}{500} +\endsetglyph + +\setglyph{Racute} + \topaccent{R}{Acute}{500} +\endsetglyph + +\setglyph{Rcaron} + \topaccent{R}{Caron}{500} +\endsetglyph + +\setglyph{Sacute} + \topaccent{S}{Acute}{500} +\endsetglyph + +\setglyph{Scaron} + \topaccent{S}{Caron}{500} +\endsetglyph + +\setglyph{Scedilla} + \botaccent{S}{Cedilla}{500} +\endsetglyph + +\setglyph{Tcaron} + \topaccent{T}{Caron}{500} +\endsetglyph + +\setglyph{Tcedilla} + \botaccent{T}{Cedilla}{500} +\endsetglyph + +\setglyph{Uacute} + \topaccent{U}{Acute}{500} +\endsetglyph + +\setglyph{Ucircumflex} + \topaccent{U}{Circumflex}{500} +\endsetglyph + +\setglyph{Udieresis} + \topaccent{U}{Dieresis}{500} +\endsetglyph + +\setglyph{Ugrave} + \topaccent{U}{Grave}{500} +\endsetglyph + +\setglyph{Uhungarumlaut} + \topaccent{U}{Hungarumlaut}{500} +\endsetglyph + +\setglyph{Uring} + \topaccent{U}{Ring}{500} +\endsetglyph + +\setglyph{Yacute} + \topaccent{Y}{Acute}{500} +\endsetglyph + +\setglyph{Ydieresis} + \topaccent{Y}{Dieresis}{500} +\endsetglyph + +\setglyph{Zacute} + \topaccent{Z}{Acute}{500} +\endsetglyph + +\setglyph{Zcaron} + \topaccent{Z}{Caron}{500} +\endsetglyph + +\setglyph{Zdotaccent} + \topaccent{Z}{Dotaccent}{500} +\endsetglyph + + +\begincomment +\section{Other glyphs that can be built} +\endcomment + +\setglyph{Lslash} + \glyph{lslashslash}{1000} + \movert{\kerning{lslashslash}{L}} + \glyph{L}{1000} +\endsetglyph + +\setglyph{Ng} + \glyph{Eng}{1000} + \comment{This is simply an alias.} +\endsetglyph + +\setglyph{dotlessI} + \glyph{I}{1000} + \comment{This simplifies making all-caps fonts.} +\endsetglyph + +\setglyph{dotlessJ} + \glyph{J}{1000} + \comment{This simplifies making all-caps fonts.} +\endsetglyph + + +\setglyph{IJ} + \glyph{I}{1000} + \movert{\kerning{I}{J}} + \glyph{J}{1000} +\endsetglyph + +\setglyph{SS} + \glyph{S}{1000} + \movert{\kerning{S}{S}} + \glyph{S}{1000} +\endsetglyph + + +\begincomment +\subsection{All-caps spaced digraphs} + +These glyphs are combinations of upper case letters in which the +distances between them have been increased by +$\TypesetIntegerExpression{\int{capspacing}}$. These are intended for +use in all-caps fonts that are made with a nonzero +$\TypesetIntegerExpression{\int{letterspacing}}$ equal to the +$\TypesetIntegerExpression{\int{capspacing}}$. +\endcomment + +\setglyph{FFspaced} + \glyph{F}{1000} + \movert{\add{\kerning{F}{F}}{\int{capspacing}}} + \glyph{F}{1000} +\endsetglyph +\setleftrightkerning{FFspaced}{F}{1000} +\setleftrightkerning{Dbar}{Eth}{1000} + + +\setglyph{FIspaced} + \glyph{F}{1000} + \movert{\add{\kerning{F}{I}}{\int{capspacing}}} + \glyph{I}{1000} +\endsetglyph +\setleftkerning{FIspaced}{F}{1000} +\setrightkerning{FIspaced}{I}{1000} + +\setglyph{FLspaced} + \glyph{F}{1000} + \movert{\add{\kerning{F}{L}}{\int{capspacing}}} + \glyph{L}{1000} +\endsetglyph +\setleftkerning{FLspaced}{F}{1000} +\setrightkerning{FLspaced}{L}{1000} + +\setglyph{FFIspaced} + \glyph{FFspaced}{1000} + \movert{\add{\kerning{FFspaced}{I}}{\int{capspacing}}} + \glyph{I}{1000} +\endsetglyph +\setleftkerning{FFIspaced}{F}{1000} +\setrightkerning{FFIspaced}{I}{1000} + +\setglyph{FFLspaced} + \glyph{FFspaced}{1000} + \movert{\add{\kerning{FFspaced}{L}}{\int{capspacing}}} + \glyph{L}{1000} +\endsetglyph +\setleftkerning{FFLspaced}{F}{1000} +\setrightkerning{FFLspaced}{L}{1000} + +\setglyph{IJspaced} + \glyph{I}{1000} + \movert{\add{\kerning{I}{J}}{\int{capspacing}}} + \glyph{J}{1000} +\endsetglyph +\setleftkerning{IJspaced}{I}{1000} +\setrightkerning{IJspaced}{J}{1000} + +\setglyph{SSspaced} + \glyph{S}{1000} + \movert{\add{\kerning{S}{S}}{\int{capspacing}}} + \glyph{S}{1000} +\endsetglyph +\setleftrightkerning{SSspaced}{S}{1000} + + + + +\begincomment +\section{All-caps kerning} +\endcomment + +\setleftrightkerning{dotlessI}{I}{1000} +\setleftrightkerning{dotlessJ}{J}{1000} + + +\setleftrightkerning{Aacute}{A}{1000} +\setleftrightkerning{Abreve}{A}{1000} +\setleftrightkerning{Acircumflex}{A}{1000} +\setleftrightkerning{Adieresis}{A}{1000} +\setleftrightkerning{Agrave}{A}{1000} +\setleftrightkerning{Aogonek}{A}{1000} +\setleftrightkerning{Aring}{A}{1000} +\setleftrightkerning{Atilde}{A}{1000} + +\setleftrightkerning{Cacute}{C}{1000} +\setleftrightkerning{Ccaron}{C}{1000} +\setleftrightkerning{Ccedilla}{C}{1000} + +\setleftrightkerning{Dcaron}{D}{1000} + +\setleftrightkerning{Eacute}{E}{1000} +\setleftrightkerning{Ecaron}{E}{1000} +\setleftrightkerning{Ecircumflex}{E}{1000} +\setleftrightkerning{Edieresis}{E}{1000} +\setleftrightkerning{Egrave}{E}{1000} +\setleftrightkerning{Eogonek}{E}{1000} + +\setleftrightkerning{Gbreve}{G}{1000} + +\setleftkerning{IJ}{I}{1000} + +\setleftrightkerning{Iacute}{I}{1000} +\setleftrightkerning{Icircumflex}{I}{1000} +\setleftrightkerning{Idieresis}{I}{1000} +\setleftrightkerning{Idotaccent}{I}{1000} +\setleftrightkerning{Igrave}{I}{1000} + +\setrightkerning{IJ}{J}{1000} + +\setleftrightkerning{Lacute}{L}{1000} +\setleftrightkerning{Lslash}{L}{1000} +\setleftkerning{Lcaron}{L}{1000} + +\setleftrightkerning{Nacute}{N}{1000} +\setleftrightkerning{Ncaron}{N}{1000} +\setleftrightkerning{Ntilde}{N}{1000} + +\setleftkerning{Ng}{N}{1000} +\setrightkerning{Ng}{J}{1000} + +\setleftrightkerning{Oacute}{O}{1000} +\setleftrightkerning{Ocircumflex}{O}{1000} +\setleftrightkerning{Odieresis}{O}{1000} +\setleftrightkerning{Ograve}{O}{1000} +\setleftrightkerning{Ohungarumlaut}{O}{1000} +\setleftrightkerning{Oslash}{O}{1000} +\setleftrightkerning{Otilde}{O}{1000} + +\setleftrightkerning{Rcaron}{R}{1000} +\setleftrightkerning{Racute}{R}{1000} + +\setleftrightkerning{SS}{S}{1000} +\setleftrightkerning{Sacute}{S}{1000} +\setleftrightkerning{Scaron}{S}{1000} +\setleftrightkerning{Scedilla}{S}{1000} + +\setleftrightkerning{Tcaron}{T}{1000} +\setleftrightkerning{Tcedilla}{T}{1000} + +\setleftrightkerning{Uacute}{U}{1000} +\setleftrightkerning{Ucircumflex}{U}{1000} +\setleftrightkerning{Udieresis}{U}{1000} +\setleftrightkerning{Ugrave}{U}{1000} +\setleftrightkerning{Uhungarumlaut}{U}{1000} +\setleftrightkerning{Uring}{U}{1000} + +\setleftrightkerning{Yacute}{Y}{1000} +\setleftrightkerning{Ydieresis}{Y}{1000} + +\setleftrightkerning{Zacute}{Z}{1000} +\setleftrightkerning{Zcaron}{Z}{1000} +\setleftrightkerning{Zdotaccent}{Z}{1000} + + + +\endmetrics + + +\section{Changes} + +The original version of this file was created in February 2003, +although it is based on code from the traditional \texttt{latin.mtx}. +The changes that have been made after that are as follows. + +2003/03/15: Using \verb|\unfakabletopaccent| for the accent +characters. This should change the appearence of accented letters +built using such a character from ``a black square'' to ``a letter +with a black square above''. Neither is satisfactory, but the latter +conveys more information. (LH) + +2003/03/29: Added some code (from \texttt{latin.mtx}) for all-caps +glyphs that had been forgotten. (LH) + +\end{document} + diff --git a/Master/texmf-dist/tex/fontinst/latinmtx/newlatin.mtx b/Master/texmf-dist/tex/fontinst/latinmtx/newlatin.mtx new file mode 100644 index 00000000000..083dfe259b7 --- /dev/null +++ b/Master/texmf-dist/tex/fontinst/latinmtx/newlatin.mtx @@ -0,0 +1,190 @@ +%%% ==================================================================== +%%% @TeX-font-metrics-file{ +%%% author = "Alan Jeffrey and Ulrik Vieth and +%%% Lars Hellstr{\"o}m", +%%% version = "1.924", +%%% date = "2003-03-29", +%%% time = "16:28:28 +01:00", +%%% filename = "newlatin.mtx", +%%% email = "fontinst@tug.org", +%%% URL = "http://www.tug.org/applications/fontinst/", +%%% checksum = "", +%%% codetable = "ISO/ASCII", +%%% keywords = "metrics, TeX, PostScript", +%%% supported = "yes", +%%% abstract = "This is a font metrics file, for use with the +%%% fontinst utility. It provides the defaults +%%% used to install the Latin glyphs.", +%%% package = "fontinst", +%%% dependencies = "fontinst.sty, fontdoc.sty", +%%% } +%%% ==================================================================== + +\relax + +\documentclass[twocolumn]{article} + +\usepackage{fontdoc}[2003/02/09] +\showbranches + +\title{The \textsf{fontinst} latin glyphs, modernized} +\author{Alan Jeffrey\and Ulrik Vieth\and Lars Hellstr\"om} +\date{16 February 2003} + +\begin{document} +\maketitle + +\section{Introduction} + +This document lists commands for the \textsf{fontinst} utility that +will generate the glyphs needed to make a set of latin fonts. The +intent is that this file should replace the old \texttt{latin.mtx} +as the generic ``fixer'' for latin fonts---doing a decent job both +when proper smallcaps is available and when it is not. + +Most of the actual commands are however to be found in other files, +which this file uses. This modular design is meant to simplify tuning +the process, for example by adjusting the accent positions to better +suit particular fonts. + + +\metrics + +\needsfontinstversion{1.924} + +\usemtxpackage{llbuild} + +\usemtxpackage{lubuild} + +\ifoption{nosc}\then \Else + +\usemtxpackage{lsbuild} +\usemtxpackage{lsfake} +\usemtxpackage{lsmisc} + +\Fi + +\usemtxpackage{ltpunct} + +\begincomment +\section{\texttt{OT1} oddities} + +One important, although also deprecated, encoding for latin text +fonts is the \texttt{OT1} encoding. Besides being a text font +encoding, that makes double service as a math font encoding, and +this imposes some extra restrictions. + +\subsection{Greek capitals} +\endcomment + +\usemtxpackage{ltcmds} + +\unfakable{Gamma} +\unfakable{Delta} +\unfakable{Theta} +\unfakable{Lambda} +\unfakable{Xi} +\unfakable{Pi} +\unfakable{Sigma} +\unfakable{Upsilon} +\unfakable{Upsilon1} +\unfakable{Phi} +\unfakable{Psi} +\unfakable{Omega} + +\begincomment +\subsection{Math accents} + +\TeX's math accent-positioning requires accents to have zero depth. +\endcomment + +\foreach(accent){grave,acute,circumflex,tilde,dieresis,hungarumlaut,% + ring,caron,breve,macron,dotaccent} + \ifisglyph{\str{accent}}\then + \resetglyph{\str{accent}} + \glyph{\str{accent}}{1000} + \resetdepth{0} + \endresetglyph + \Fi +\endfor(accent) + +% \setcommand\zerodepth#1{ +% \ifisglyph{#1}\then +% \resetglyph{#1} +% \glyph{#1}{1000} +% \resetdepth{0} +% \endresetglyph +% \Fi +% } +% \zerodepth{grave} +% \zerodepth{acute} +% \zerodepth{circumflex} +% \zerodepth{tilde} +% \zerodepth{dieresis} +% \zerodepth{hungarumlaut} +% \zerodepth{ring} +% \zerodepth{caron} +% \zerodepth{breve} +% \zerodepth{macron} +% \zerodepth{dotaccent} + + +\begincomment +\subsection{The ring accent} + +The \texttt{OT1} definition of \r{A} (that does not make use of +\verb|\accent|) assumes that the ring accent glyph has the same width +as \texttt{A}. Hence this special \texttt{ringfitted} glyph. +\endcomment + +\setglyph{ringfitted} + \movert{\half{\sub{\width{A}}{\width{ring}}}} + \glyph{ring}{1000} + \movert{\otherhalf{\sub{\width{A}}{\width{ring}}}} +\endsetglyph + + +\begincomment +\section{\texttt{T1} oddities} + +Even the modern \texttt{T1} encoding has some odd traits. The most +notable is that the guillemet glyphs \texttt{guillemotleft} and +\texttt{guillemotright} can be formed as ligatures from a pair of +\texttt{less}s and \texttt{greater}s respectively. Then to get the +right kerning on the left side of the two former glyphs, the two +latter must kern like them! +\endcomment + +\setleftkerning{less}{guillemotleft}{1000} +\setleftkerning{greater}{guillemotright}{1000} + + +\endmetrics + + +\section{Changes} + +The original version of this file was created in February 2003, +although it is based on code from the traditional \texttt{latin.mtx}. +The changes that have been made after that are listed below, but see +also the files containing the individual metric packages for any +changes made to those files. + + +\end{document} + + +% +% Copyright 1993, 1994, 1995, 1996 Alan Jeffrey, +% hacked and maintained 1997, 1998 Sebastian Rahtz, +% copyright 1998, 1999, 2000, 2003 the fontinst maintenance team and +% any individual authors listed elsewhere in this file. +% All rights reserved. +% +% This file is part of the fontinst system version 1.9. +% ----------------------------------------------------- +% +% It may be distributed under the terms of the LaTeX Project Public +% License, as described in lppl.txt in the base LaTeX distribution. +% Either version 1.2 or, at your option, any later version. +% diff --git a/Master/texmf-dist/tex/fontinst/latinmtx/resetsc.mtx b/Master/texmf-dist/tex/fontinst/latinmtx/resetsc.mtx new file mode 100644 index 00000000000..445e737525e --- /dev/null +++ b/Master/texmf-dist/tex/fontinst/latinmtx/resetsc.mtx @@ -0,0 +1,166 @@ +% Copyright 1998, 1999 the fontinst maintenance team and any individual +% authors listed elsewhere in this file. All rights reserved. +% +% This file is part of the fontinst system version 1.9. +% ----------------------------------------------------- +% +% It may be distributed under the terms of the LaTeX Project Public +% License, as described in lppl.txt in the base LaTeX distribution. +% Either version 1.0 or, at your option, any later version. +% +%%% ==================================================================== +%%% @TeX-font-metrics-file{ +%%% author = "Ulrik Vieth", +%%% version = "1.927", +%%% date = "13 April 2004", +%%% time = "23:01:07 CET", +%%% filename = "resetsc.mtx", +%%% email = "fontinst@tug.org", +%%% URL = "http://www.tug.org/applications/fontinst/", +%%% checksum = "07130 161 332 5005", +%%% codetable = "ISO/ASCII", +%%% keywords = "metrics, raw, TeX, PostScript", +%%% supported = "yes", +%%% abstract = "This is a metrics file, for use with the +%%% fontinst utility. It recodes glyph names +%%% for small capitals read from AFM files +%%% to glyph names with a `small' suffix.", +%%% package = "fontinst", +%%% dependencies = "fontinst.sty, fontdoc.sty", +%%% } +%%% ==================================================================== + +\relax + +\documentclass[twocolumn]{article} +\usepackage{fontdoc} + +\title{The \texttt{resetsc.mtx} metrics file} +\author{Ulrik Vieth} +\date{16 November 1999 \\ +Version 1.910} + +\begin{document} +\maketitle + +This document describes the \texttt{resetsc.mtx} metrics file, which is +used to recode raw glyph names for small capitals to glyph names with +a `small' suffix. + +\metrics + +\setcommand\smallcapsglyph#1#2{ + \ifisglyph{#2}\then + \setglyph{#1}\glyph{#2}{1000} + \endsetglyph + \fi +} + +\setcommand\smallcapskerning#1#2{ + \ifisglyph{#2}\then + \setleftrightkerning{#1}{#2}{1000} + \fi +} + +% Renaming small caps glyphs. + +\smallcapsglyph{Asmall}{a} +\smallcapsglyph{Bsmall}{b} +\smallcapsglyph{Csmall}{c} +\smallcapsglyph{Dsmall}{d} +\smallcapsglyph{Esmall}{e} +\smallcapsglyph{Fsmall}{f} +\smallcapsglyph{Gsmall}{g} +\smallcapsglyph{Hsmall}{h} +\smallcapsglyph{Ismall}{i} +\smallcapsglyph{Jsmall}{j} +\smallcapsglyph{Ksmall}{k} +\smallcapsglyph{Lsmall}{l} +\smallcapsglyph{Msmall}{m} +\smallcapsglyph{Nsmall}{n} +\smallcapsglyph{Osmall}{o} +\smallcapsglyph{Psmall}{p} +\smallcapsglyph{Qsmall}{q} +\smallcapsglyph{Rsmall}{r} +\smallcapsglyph{Ssmall}{s} +\smallcapsglyph{Tsmall}{t} +\smallcapsglyph{Usmall}{u} +\smallcapsglyph{Vsmall}{v} +\smallcapsglyph{Wsmall}{w} +\smallcapsglyph{Xsmall}{x} +\smallcapsglyph{Ysmall}{y} +\smallcapsglyph{Zsmall}{z} + +\smallcapsglyph{Lslashsmall}{lslash} +\smallcapsglyph{Scaronsmall}{scaron} +\smallcapsglyph{Zcaronsmall}{zcaron} + +\smallcapsglyph{Agravesmall}{agrave} +\smallcapsglyph{Aacutesmall}{aacute} +\smallcapsglyph{Acircumflexsmall}{acircumflex} +\smallcapsglyph{Atildesmall}{atilde} +\smallcapsglyph{Adieresissmall}{adieresis} +\smallcapsglyph{Aringsmall}{aring} +\smallcapsglyph{AEsmall}{ae} +\smallcapsglyph{Ccedillasmall}{ccedilla} +\smallcapsglyph{Egravesmall}{egrave} +\smallcapsglyph{Eacutesmall}{eacute} +\smallcapsglyph{Ecircumflexsmall}{ecircumflex} +\smallcapsglyph{Edieresissmall}{edieresis} +\smallcapsglyph{Igravesmall}{igrave} +\smallcapsglyph{Iacutesmall}{iacute} +\smallcapsglyph{Icircumflexsmall}{icircumflex} +\smallcapsglyph{Idieresissmall}{idieresis} +\smallcapsglyph{Ethsmall}{eth} +\smallcapsglyph{Ntildesmall}{ntilde} +\smallcapsglyph{Ogravesmall}{ograve} +\smallcapsglyph{Oacutesmall}{oacute} +\smallcapsglyph{Ocircumflexsmall}{ocircumflex} +\smallcapsglyph{Otildesmall}{otilde} +\smallcapsglyph{Odieresissmall}{odieresis} +\smallcapsglyph{OEsmall}{oe} +\smallcapsglyph{Oslashsmall}{oslash} +\smallcapsglyph{Ugravesmall}{ugrave} +\smallcapsglyph{Uacutesmall}{uacute} +\smallcapsglyph{Ucircumflexsmall}{ucircumflex} +\smallcapsglyph{Udieresissmall}{udieresis} +\smallcapsglyph{Yacutesmall}{yacute} +\smallcapsglyph{Thornsmall}{thorn} +\smallcapsglyph{Ydieresissmall}{ydieresis} + +% Renaming small caps kern pairs. + +\smallcapskerning{Asmall}{a} +\smallcapskerning{Bsmall}{b} +\smallcapskerning{Csmall}{c} +\smallcapskerning{Dsmall}{d} +\smallcapskerning{Esmall}{e} +\smallcapskerning{Fsmall}{f} +\smallcapskerning{Gsmall}{g} +\smallcapskerning{Hsmall}{h} +\smallcapskerning{Ismall}{i} +\smallcapskerning{Jsmall}{j} +\smallcapskerning{Ksmall}{k} +\smallcapskerning{Lsmall}{l} +\smallcapskerning{Msmall}{m} +\smallcapskerning{Nsmall}{n} +\smallcapskerning{Osmall}{o} +\smallcapskerning{Psmall}{p} +\smallcapskerning{Qsmall}{q} +\smallcapskerning{Rsmall}{r} +\smallcapskerning{Ssmall}{s} +\smallcapskerning{Tsmall}{t} +\smallcapskerning{Usmall}{u} +\smallcapskerning{Vsmall}{v} +\smallcapskerning{Wsmall}{w} +\smallcapskerning{Xsmall}{x} +\smallcapskerning{Ysmall}{y} +\smallcapskerning{Zsmall}{z} + +\endmetrics + +\section{Changes} + +2004/04/13: Fixed typo (\texttt{Xsmall} instead of \texttt{Ysmall}). +(LH) +\end{document} diff --git a/Master/texmf-dist/tex/fontinst/latinmtx/unsetalf.mtx b/Master/texmf-dist/tex/fontinst/latinmtx/unsetalf.mtx new file mode 100644 index 00000000000..cc6b792de09 --- /dev/null +++ b/Master/texmf-dist/tex/fontinst/latinmtx/unsetalf.mtx @@ -0,0 +1,114 @@ +% Copyright 1998, 1999 the fontinst maintenance team and any individual +% authors listed elsewhere in this file. All rights reserved. +% +% This file is part of the fontinst system version 1.9. +% ----------------------------------------------------- +% +% It may be distributed under the terms of the LaTeX Project Public +% License, as described in lppl.txt in the base LaTeX distribution. +% Either version 1.0 or, at your option, any later version. +% +%%% ==================================================================== +%%% @TeX-font-metrics-file{ +%%% author = "Ulrik Vieth", +%%% version = "1.910", +%%% date = "16 November 1999", +%%% time = "23:02:32 CET", +%%% filename = "unsetalf.mtx", +%%% email = "fontinst@cogs.susx.ac.uk", +%%% URL = "http://www.tug.org/applications/fontinst/", +%%% checksum = "64950 114 264 2737", +%%% codetable = "ISO/ASCII", +%%% keywords = "metrics, raw, TeX, PostScript", +%%% supported = "yes", +%%% abstract = "This is a metrics file, for use with the +%%% fontinst utility. It makes glyph names +%%% for alphabetic glyphs undefined.", +%%% package = "fontinst", +%%% dependencies = "fontinst.sty, fontdoc.sty", +%%% } +%%% ==================================================================== + +\relax + +\documentclass[twocolumn]{article} +\usepackage{fontdoc} + +\title{The \texttt{unsetalf.mtx} metrics file} +\author{Ulrik Vieth} +\date{16 November 1999 \\ +Version 1.910} + +\begin{document} +\maketitle + +This document describes the \texttt{unsetalf.mtx} metrics file, which is +used to make glyph names for alphabetic glyphs undefined. + +\metrics + +\unsetint{xheight} +\unsetint{ascender} +\unsetint{descender} +\unsetint{capheight} +\unsetint{italicslant} + +\unsetglyph{A} +\unsetglyph{B} +\unsetglyph{C} +\unsetglyph{D} +\unsetglyph{E} +\unsetglyph{F} +\unsetglyph{G} +\unsetglyph{H} +\unsetglyph{I} +\unsetglyph{J} +\unsetglyph{K} +\unsetglyph{L} +\unsetglyph{M} +\unsetglyph{N} +\unsetglyph{O} +\unsetglyph{P} +\unsetglyph{Q} +\unsetglyph{R} +\unsetglyph{S} +\unsetglyph{T} +\unsetglyph{U} +\unsetglyph{V} +\unsetglyph{W} +\unsetglyph{X} +\unsetglyph{Y} +\unsetglyph{Z} + +\unsetglyph{a} +\unsetglyph{b} +\unsetglyph{c} +\unsetglyph{d} +\unsetglyph{e} +\unsetglyph{f} +\unsetglyph{g} +\unsetglyph{h} +\unsetglyph{i} +\unsetglyph{j} +\unsetglyph{k} +\unsetglyph{l} +\unsetglyph{m} +\unsetglyph{n} +\unsetglyph{o} +\unsetglyph{p} +\unsetglyph{q} +\unsetglyph{r} +\unsetglyph{s} +\unsetglyph{t} +\unsetglyph{u} +\unsetglyph{v} +\unsetglyph{w} +\unsetglyph{x} +\unsetglyph{y} +\unsetglyph{z} + +\unsetglyph{dotlessi} +\unsetglyph{dotlessj} + +\endmetrics +\end{document} |