summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/fontinst/latinmtx/llbuild.mtx
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex/fontinst/latinmtx/llbuild.mtx')
-rw-r--r--Master/texmf-dist/tex/fontinst/latinmtx/llbuild.mtx568
1 files changed, 568 insertions, 0 deletions
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}
+