%% This file is part of the OFNTINST project version 0.2.2 %% ------------------------------------------------------- %% %% 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. %% Copyright (C) 2002--2005 by Alexej Kryukov %% Please report errors to: A.M. Kryukov \relax \documentclass[twocolumn]{article} \usepackage{fontdoc} \title{The {\tt fontinst} unicode glyphs} \author{Alexej Kryukov} \date{05 October 2002\\ Version 0.1} \begin{document} \maketitle \section{Introduction} This document describes the glyphs used by the \textsf{fontinst} package when generating Unicode fonts. This file, \texttt{unilatin.mtx}, is intended for use with normal fonts or with faked small caps fonts generated by scaling and applying some letterspacing. This file uses some ideas from cyrillic.mtx, distributed with cyrillic t2 package. However, it doesn't support Cyrillic letters itself. If you want to create a Unicode font for Omega with support for Cyrillic script, load it together with \texttt{cyrillic.mtx}. You will need also \texttt{fnstcor.tex} and \texttt{cyralias.tex} files from t2 package. \metrics \needsfontinstversion{1.926} % \unfakable is a glyph which can't be faked. \setcommand\unfakable#1{ \setglyph{#1} \ifisglyph{#1-not}\then \moveup{\neg{\depth{#1-not}}} \glyphrule{ \width{#1-not} }{ \add{\depth{#1-not}}{\height{#1-not}} } \resetitalic{\italic{#1-not}} \moveup{\depth{#1-not}} \else \glyphrule{500}{500} \fi \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. % A c&sc top accent glyph is placed using the small glyphs if % available, and otherwise by shrinking the equivalent capital. % A capital top accent glyph is placed using the capital version % of the accent, if available. \setcommand\topaccent#1#2#3#4{ \setstr{tmp@a}{#4} \setstr{tmp@lc}{lc} \setstr{tmp@uc}{uc} \setstr{tmp@sc}{sc} \if\str{tmp@a}\str{tmp@uc} \setint{baseheight}{\int{xheight}} \setstr{accentname}{capital#2} \setstr{lettername}{#1} \else\if\str{tmp@a}\str{tmp@sc} \setint{baseheight}{\scale{\int{capheight}}{\int{smallcapsscale}}} \setstr{accentname}{#2small} \setstr{lettername}{#1small} \else \setint{baseheight}{\int{xheight}} \setstr{accentname}{#2} \setstr{lettername}{#1} \fi\fi \push \moveup{\max{0}{\sub{\height{\str{lettername}}}{\int{baseheight}}}} \movert{\add{\sub{\scale{\width{\str{lettername}}}{#3}}{\scale{\width{\str{accentname}}}{500}}} {\scale{\int{italicslant}}{\sub{\height{\str{lettername}}}{\int{baseheight}}}}} \glyph{\str{accentname}}{1000} \pop \glyph{\str{lettername}}{1000} \unsetstr{tmp@a} \unsetstr{tmp@lc} \unsetstr{tmp@uc} \unsetstr{tmp@sc} \unsetstr{accentname} \unsetstr{lettername} \unsetint{baseheight} } % A bottom accent is set by placing the center of the accent at the given % position along the width of the letter. % A c&sc bot accent glyph is placed using the small glyphs if % available, and otherwise by shrinking the equivalent capital. % A capital bot accent glyph is placed using the capital version % of the accent, if available. \setcommand\botaccent#1#2#3#4{ \setstr{tmp@a}{#4} \setstr{tmp@lc}{lc} \setstr{tmp@uc}{uc} \setstr{tmp@sc}{sc} \if\str{tmp@a}\str{tmp@uc} \setstr{accentname}{capital#2} \setstr{lettername}{#1} \else\if\str{tmp@a}\str{tmp@sc} \setstr{accentname}{#2small} \setstr{lettername}{#1small} \else \setstr{accentname}{#2} \setstr{lettername}{#1} \fi\fi \push \movert{\sub{\scale{\width{\str{lettername}}}{#3}}{\scale{\width{\str{accentname}}}{500}}} \glyph{\str{accentname}}{1000} \pop \glyph{\str{lettername}}{1000} \unsetstr{tmp@a} \unsetstr{tmp@lc} \unsetstr{tmp@uc} \unsetstr{tmp@sc} \unsetstr{accentname} \unsetstr{lettername} } % 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 accent is created by moving a shrunk accent up by the % difference between a scaled X and an unscaled X. \setcommand\cscaccent#1{ \moveup{\sub{\scale{\int{capheight}}{\int{smallcapsscale}}}{\int{xheight}}} \cscglyph{#1} \moveup{\sub{\int{xheight}}{\scale{\int{capheight}}{\int{smallcapsscale}}}} } % If a PostScript font contains specially designed capital accents, % they are usually positioned so that their position corresponds to % the capital letter height. However, \TeX{} accent positioning engine % assumes that the accent as it appears in the font file is properly % positioned for a character that is as high as the x-height of the font. % So we have to move the accent down by the difference between x and X. \setcommand\capaccent#1{ \moveup{\sub{\int{xheight}}{\int{capheight}}} \glyph{#1}{1000} \moveup{\sub{\int{capheight}}{\int{xheight}}} } \setcommand\uniaccent#1#2#3 { \setstr{tmp@a}{#3} \setstr{tmp@top}{T} \setstr{tmp@bot}{B} \ifisglyph{#1}\then \setglyph{#2small} \if\str{tmp@a}\str{tmp@top} \cscaccent{#1} \else \cscglyph{#1} \fi \endsetglyph \setglyph{#1small} \glyph{#2small}{1000} \endsetglyph \setglyph{capital#1} \ifisglyph{#2}\then \if\str{tmp@a}\str{tmp@top} \capaccent{#2} \else \glyph{#2}{1000} \fi \else \glyph{#1}{1000} \fi \endsetglyph \fi \unfakable{#1} \unsetstr{tmp@a} \unsetstr{tmp@top} \unsetstr{tmp@bot} } \setcommand\uniglyph#1#2#3 { \foreach(temp@a){#2} \ifisglyph{\str{temp@a}}\then \setglyph{#1} \glyph{\str{temp@a}}{1000} \endsetglyph \setleftrightkerning{#1}{\str{temp@a}}{1000} \fi \endfor(temp@a) \unfakable{#1} \csname uni@extra@#3\endcsname{#1} } \fontinstcc \let\uni@extra@\gobble_one \normalcc \expandafter\def\csname uni@extra@*\endcsname#1{ \setglyph{#1small} \cscglyph{#1} \endsetglyph \setleftrightkerning{#1small}{#1}{\int{smallcapskerning}} } \setcommand\unitopaccentglyph#1#2#3#4#5 { \ifisglyph{#2}\then \ifisglyph{#3}\then \csname unitop@extra@#5\endcsname{#1}{#2}{#3}{#4} \else \unfakable{#1} \fi \else \unfakable{#1} \fi } \expandafter\def\csname unitop@extra@\endcsname#1#2#3#4{ \setglyph{#1} \topaccent{#2}{#3}{#4}{lc} \endsetglyph \setleftrightkerning{#1}{#2}{1000} } \expandafter\def\csname unitop@extra@*\endcsname#1#2#3#4{ \setglyph{#1} \topaccent{#2}{#3}{#4}{uc} \endsetglyph \setleftrightkerning{#1}{#2}{1000} \setglyph{#1small} \topaccent{#2}{#3}{#4}{sc} \endsetglyph \setleftrightkerning{#1small}{#1}{\int{smallcapskerning}} } \setcommand\unibotaccentglyph#1#2#3#4#5 { \ifisglyph{#2}\then \ifisglyph{#3}\then \csname unibot@extra@#5\endcsname{#1}{#2}{#3}{#4} \else \unfakable{#1} \fi \else \unfakable{#1} \fi } \expandafter\def\csname unibot@extra@\endcsname#1#2#3#4{ \setglyph{#1} \botaccent{#2}{#3}{#4}{lc} \endsetglyph \setleftrightkerning{#1}{#2}{1000} } \expandafter\def\csname unibot@extra@*\endcsname#1#2#3#4{ \setglyph{#1} \botaccent{#2}{#3}{#4}{uc} \endsetglyph \setleftrightkerning{#1}{#2}{1000} \setglyph{#1small} \botaccent{#2}{#3}{#4}{sc} \endsetglyph \setleftrightkerning{#1small}{#1}{\int{smallcapskerning}} } \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} \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}} \comment{We have to specially set the kerning only for unfakable glyphs, since usually this operation is performed by the \verb|\unitopaccentglyph| and \verb|\unibotaccentglyph| commands.} \setleftrightkerning{visiblespace}{space}{1000} \setleftkerning{hyphenchar}{hyphen}{1000} \setleftrightkerning{Hbar}{H}{1000} \setleftrightkerning{hbar}{h}{1000} \setleftkerning{IJ}{I}{1000} \setrightkerning{IJ}{J}{1000} \setleftkerning{ij}{i}{1000} \setrightkerning{ij}{j}{1000} \setleftrightkerning{dotlessi}{i}{1000} \setleftrightkerning{dotlessj}{j}{1000} \setleftrightkerning{Lslash}{L}{1000} \setleftkerning{Lcaron}{L}{1000} \setleftkerning{Ldot}{L}{1000} \setleftrightkerning{lslash}{l}{1000} \setleftkerning{lcaron}{l}{1000} \setleftkerning{ldot}{l}{1000} \setleftkerning{Ng}{N}{1000} \setrightkerning{Ng}{J}{1000} \setleftkerning{ng}{n}{1000} \setrightkerning{ng}{j}{1000} \setleftrightkerning{Oslash}{O}{1000} \setleftrightkerning{oslash}{o}{1000} \setleftkerning{OE}{O}{1000} \setrightkerning{OE}{E}{1000} \setleftkerning{oe}{o}{1000} \setrightkerning{oe}{e}{1000} \setleftrightkerning{SS}{S}{1000} \ifoption{smallcaps}\then \setleftrightkerning{germandbls}{s}{1000} \fi \setleftrightkerning{Tbar}{T}{1000} \setleftrightkerning{tbar}{t}{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} \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} \setleftkerning{IJspaced}{I}{1000} \setrightkerning{IJspaced}{J}{1000} \setleftrightkerning{SSspaced}{S}{1000} \comment{\section{Unfakable glyphs}} \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{bracketleft} \unfakable{backslash} \unfakable{bracketright} \unfakable{asciicircum} \unfakable{underscore} \unfakable{quoteleft} \unfakable{braceleft} \unfakable{bar} \unfakable{braceright} \unfakable{asciitilde} \unfakable{section} \unfakable{exclamdown} \unfakable{questiondown} \unfakable{sterling} \comment{\section{Unfakable glyphs from textcomp.mtx}} \unfakable{arrowleft} \unfakable{arrowright} \unfakable{tieaccentlowercase} \unfakable{tieaccentcapital} \unfakable{newtieaccentlowercase} \unfakable{newtieaccentcapital} \unfakable{blank} \unfakable{hyphendbl} \unfakable{angbracketleft} \unfakable{angbracketright} \unfakable{Omegainv} \unfakable{bigcircle} \unfakable{openbracketleft} % faked 8r,8y \unfakable{openbracketright} % faked 8r,8y \unfakable{arrowup} \unfakable{arrowdown} \unfakable{born} \unfakable{divorced} \unfakable{died} \unfakable{leaf} \unfakable{married} \unfakable{musicalnote} \unfakable{hyphendblchar} \unfakable{dagger} % 8r,8y \unfakable{daggerdbl} % 8r,8y \unfakable{perthousand} % 8r,8y \unfakable{bullet} % 8r,8y \unfakable{centigrade} % faked 8r,8y \unfakable{dollaroldstyle} % 8x (Adobe) \unfakable{centoldstyle} % 8x (Adobe) \unfakable{florin} % 8r,8y \unfakable{colonmonetary} % 8x (Adobe) \unfakable{won} \unfakable{naira} \unfakable{guarani} \unfakable{peso} \unfakable{lira} % 8x (URW) \unfakable{recipe} \unfakable{interrobang} \unfakable{interrobangdown} \unfakable{dong} \unfakable{trademark} % 8r,8y \unfakable{pertenthousand} % faked 8x \unfakable{pilcrow} \unfakable{baht} \unfakable{numero} \unfakable{discount} \unfakable{estimated} \unfakable{openbullet} \unfakable{servicemark} \unfakable{quillbracketleft} \unfakable{quillbracketright} \unfakable{cent} % 8r,8y \unfakable{yen} % 8r,8y \unfakable{brokenbar} % 8r,8y \unfakable{section} % 8r,8y \unfakable{copyright} % 8r,8y \unfakable{ordfeminine} % 8r,8y \unfakable{copyleft} \unfakable{logicalnot} % 8r,8y \unfakable{circledP} \unfakable{registered} % 8r,8y \unfakable{degree} % 8r,8y \unfakable{plusminus} % 8r,8y \unfakable{twosuperior} % 8r,8y \unfakable{threesuperior} % 8r,8y \unfakable{paragraph} % 8r,8y \unfakable{periodcentered} % 8r,8y \unfakable{referencemark} \unfakable{onesuperior} % 8r,8y \unfakable{ordmasculine} % 8r,8y \unfakable{radical} \unfakable{onequarter} % 8r,8y \unfakable{onehalf} % 8r,8y \unfakable{threequarters} % 8r,8y \unfakable{multiply} % 8r,8y \unfakable{divide} % 8r,8y \unfakable{currency} \uniglyph{euro}{Euro} \uniglyph{mu1}{mu} \uniglyph{Ohm}{Omega} \comment{\section{Accents}} \uniaccent{grave}{Grave}{T} \uniaccent{acute}{Acute}{T} \uniaccent{circumflex}{Circumflex}{T} \uniaccent{tilde}{Tilde}{T} \uniaccent{dieresis}{Dieresis}{T} \uniaccent{hungarumlaut}{Hungarumlaut}{T} \uniaccent{ring}{Ring}{T} \uniaccent{caron}{Caron}{T} \uniaccent{breve}{Breve}{T} \uniaccent{macron}{Macron}{T} \uniaccent{dotaccent}{Dotaccent}{T} \uniaccent{cedilla}{Cedilla}{B} \uniaccent{ogonek}{Ogonek}{B} \uniaccent{dblgrave}{dblGrave}{T} \uniaccent{cyrbreve}{cyrBreve}{T} \uniaccent{cyrflex}{cyrFlex}{T} \uniaccent{dieresisacute}{DieresisAcute}{T} \uniaccent{dieresisgrave}{DieresisGrave}{T} \comment{\section{ASCII-styled accents}} \uniglyph{tildelow}{asciitilde} \uniglyph{asciigrave}{grave} \uniglyph{asciiacute}{acute} \uniglyph{asciidieresis}{dieresis} \uniglyph{asciibreve}{breve} \uniglyph{asciimacron}{macron} \uniglyph{asciicaron}{caron} \ifisglyph{acute}\then \setglyph{asciiacutedbl} \ifisint{monowidth}\then \movert{\neg{\scale{\width{acute}}{333}}} \glyph{acute}{1000} \movert{\neg{\scale{\width{acute}}{333}}} \glyph{acute}{1000} \movert{\neg{\scale{\width{acute}}{333}}} \else \glyph{acute}{1000} \movert{\neg{\scale{\width{acute}}{333}}} \glyph{acute}{1000} \fi \endsetglyph \fi \ifisglyph{grave}\then \setglyph{asciigravedbl} \ifisint{monowidth}\then \movert{\neg{\scale{\width{grave}}{333}}} \glyph{grave}{1000} \movert{\neg{\scale{\width{grave}}{333}}} \glyph{grave}{1000} \movert{\neg{\scale{\width{grave}}{333}}} \else \glyph{grave}{1000} \movert{\neg{\scale{\width{grave}}{333}}} \glyph{grave}{1000} \fi \endsetglyph \fi \comment{\section{\TeX nical symbols}} \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} \glyph{endash}{1000} \endsetglyph \setglyph{punctdash} \glyph{emdash}{1000} \endsetglyph % CYRILLIC EM DASH \setglyph{cyrdash} \glyph{emdash}{1000} \endsetglyph % assumes that 3/4em = 750 and \width{endash} = 500 \ifisglyph{endash}\then \setglyph{threequartersemdash} \ifisint{monowidth}\then \glyph{hyphen}{1000} \glyph{hyphen}{1000} \else \glyph{endash}{1000} \movert{-250} \glyph{endash}{1000} \fi \endsetglyph \fi % assumes that 2/3em = 667 and \width{endash} = 500 \ifisglyph{endash}\then \setglyph{twelveudash} \ifisint{monowidth}\then \glyph{hyphen}{1000} \glyph{hyphen}{1000} \else \glyph{endash}{1000} \movert{-333} \glyph{endash}{1000} \fi \endsetglyph \fi \ifisglyph{bar}\then \setglyph{bardbl} \ifisint{monowidth}\then \movert{\neg{\scale{\width{bar}}{333}}} \glyph{bar}{1000} \movert{\neg{\scale{\width{bar}}{333}}} \glyph{bar}{1000} \movert{\neg{\scale{\width{bar}}{333}}} \else \glyph{bar}{1000} \movert{\neg{\scale{\width{bar}}{333}}} \glyph{bar}{1000} \fi \endsetglyph \fi \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 \ifisglyph{asterisk}\then \setglyph{asteriskcentered} \moveup{\depth{asterisk}} \glyph{asterisk}{1000} \moveup{\neg{\depth{asterisk}}} \resetdepth{0} \endsetglyph \fi \setglyph{ellipsis} \ifisint{monowidth}\then \movert{\neg{\scale{\width{period}}{333}}} \glyph{period}{1000} \movert{\neg{\scale{\width{period}}{666}}} \glyph{period}{1000} \movert{\neg{\scale{\width{period}}{666}}} \glyph{period}{1000} \movert{\neg{\scale{\width{period}}{333}}} \else \glyph{period}{1000} \movert{\scale{\int{interword}}{300}} \glyph{period}{1000} \movert{\scale{\int{interword}}{300}} \glyph{period}{1000} \fi \endsetglyph \comment{\section{Latin ligatures}} \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 \uniglyph{longs}{} \comment{\section{Latin letters}} \uniglyph{A}{}* \uniglyph{B}{}* \uniglyph{C}{}* \uniglyph{D}{}* \uniglyph{E}{}* \uniglyph{F}{}* \uniglyph{G}{}* \uniglyph{H}{}* \uniglyph{I}{}* \uniglyph{J}{}* \uniglyph{K}{}* \uniglyph{L}{}* \uniglyph{M}{}* \uniglyph{N}{}* \uniglyph{O}{}* \uniglyph{P}{}* \uniglyph{Q}{}* \uniglyph{R}{}* \uniglyph{S}{}* \uniglyph{T}{}* \uniglyph{U}{}* \uniglyph{V}{}* \uniglyph{W}{}* \uniglyph{X}{}* \uniglyph{Y}{}* \uniglyph{Z}{}* \uniglyph{a}{} \uniglyph{b}{} \uniglyph{c}{} \uniglyph{d}{} \uniglyph{e}{} \uniglyph{f}{} \uniglyph{g}{} \uniglyph{h}{} \uniglyph{i}{} \uniglyph{j}{} \uniglyph{k}{} \uniglyph{l}{} \uniglyph{m}{} \uniglyph{n}{} \uniglyph{o}{} \uniglyph{p}{} \uniglyph{q}{} \uniglyph{r}{} \uniglyph{s}{} \uniglyph{t}{} \uniglyph{u}{} \uniglyph{v}{} \uniglyph{w}{} \uniglyph{x}{} \uniglyph{y}{} \uniglyph{z}{} \comment{\section{Latin accented letters}} \setglyph{lslash} \glyph{lslashslash}{1000} \movert{\kerning{lslashslash}{l}} \glyph{l}{1000} \endsetglyph \uniglyph{lslash}{} \setglyph{Lslash} \glyph{lslashslash}{1000} \movert{\kerning{lslashslash}{L}} \glyph{L}{1000} \endsetglyph \uniglyph{Lslash}{}* \uniglyph{Ng}{Eng}* \uniglyph{ng}{eng} \unitopaccentglyph{Abreve}{A}{breve}{500}* \unibotaccentglyph{Aogonek}{A}{ogonek}{900}* \unitopaccentglyph{Cacute}{C}{acute}{500}* \unitopaccentglyph{Ccaron}{C}{caron}{500}* \unitopaccentglyph{Dcaron}{D}{caron}{500}* \unitopaccentglyph{Ecaron}{E}{caron}{500}* \unibotaccentglyph{Eogonek}{E}{ogonek}{850}* \unitopaccentglyph{Gbreve}{G}{breve}{500}* \unitopaccentglyph{Lacute}{L}{acute}{250}* \setglyph{Lcaron} \glyph{L}{1000} \ifisint{monowidth}\then\else \movert{-200} \fi \glyph{quoteright}{1000} \endsetglyph \unitopaccentglyph{Nacute}{N}{acute}{500}* \unitopaccentglyph{Ncaron}{N}{caron}{500}* \unitopaccentglyph{Ohungarumlaut}{O}{hungarumlaut}{500}* \unitopaccentglyph{Racute}{R}{acute}{500}* \unitopaccentglyph{Rcaron}{R}{caron}{500}* \unitopaccentglyph{Sacute}{S}{acute}{500}* \unitopaccentglyph{Scaron}{S}{caron}{500}* \unibotaccentglyph{Scedilla}{S}{cedilla}{500}* \unitopaccentglyph{Tcaron}{T}{caron}{500}* \unibotaccentglyph{Tcedilla}{T}{cedilla}{500}* \unitopaccentglyph{Uhungarumlaut}{U}{hungarumlaut}{500}* \unitopaccentglyph{Uring}{U}{ring}{500}* \unitopaccentglyph{Ydieresis}{Y}{dieresis}{500}* \unitopaccentglyph{Zacute}{Z}{acute}{500}* \unitopaccentglyph{Zcaron}{Z}{caron}{500}* \unitopaccentglyph{Zdotaccent}{Z}{dotaccent}{500}* \setglyph{IJ} \glyph{I}{1000} \movert{\kerning{I}{J}} \glyph{J}{1000} \endsetglyph \unitopaccentglyph{Idotaccent}{I}{dotaccent}{500}* \uniglyph{Dcroat}{Eth}* \ifoption{smallcaps}\then \uniglyph{dbar}{eth} \else \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 \fi \uniglyph{dcroat}{dbar} \unitopaccentglyph{abreve}{a}{breve}{500} \ifoption{smallcaps}\then \unibotaccentglyph{aogonek}{a}{ogonek}{900} \else \unibotaccentglyph{aogonek}{a}{ogonek}{850} \fi \unitopaccentglyph{cacute}{c}{acute}{500} \unitopaccentglyph{ccaron}{c}{caron}{500} \ifoption{smallcaps}\then \unitopaccentglyph{dcaron}{d}{caron}{500} \else \setglyph{dcaron} \glyph{d}{1000} \ifisint{monowidth}\then\else \movert{-75} \fi \glyph{quoteright}{1000} \endsetglyph \fi \unitopaccentglyph{ecaron}{e}{caron}{500} \ifoption{smallcaps}\then \unibotaccentglyph{eogonek}{e}{ogonek}{850} \else \unibotaccentglyph{eogonek}{e}{ogonek}{500} \fi \unitopaccentglyph{gbreve}{g}{breve}{500} \unitopaccentglyph{lacute}{l}{acute}{500} \setglyph{lcaron} \ifoption{smallcaps}\then \glyph{l}{1000} \ifisint{monowidth}\then\else \movert{-200} \fi \glyph{quoteright}{1000} \else \glyph{l}{1000} \ifisint{monowidth}\then\else \movert{-100} \fi \glyph{quoteright}{1000} \fi \endsetglyph \unitopaccentglyph{nacute}{n}{acute}{500} \unitopaccentglyph{ncaron}{n}{caron}{500} \unitopaccentglyph{ohungarumlaut}{o}{hungarumlaut}{500} \unitopaccentglyph{racute}{r}{acute}{500} \unitopaccentglyph{rcaron}{r}{caron}{500} \unitopaccentglyph{sacute}{s}{acute}{500} \unitopaccentglyph{scaron}{s}{caron}{500} \unibotaccentglyph{scedilla}{s}{cedilla}{500} \ifoption{smallcaps}\then \unibotaccentglyph{tcaron}{t}{caron}{500} \else \setglyph{tcaron} \glyph{t}{1000} \ifisint{monowidth}\then\else \movert{-75} \fi \glyph{quoteright}{1000} \endsetglyph \fi \unibotaccentglyph{tcedilla}{t}{cedilla}{500} \unitopaccentglyph{uhungarumlaut}{u}{hungarumlaut}{500} \unitopaccentglyph{uring}{u}{ring}{500} \unitopaccentglyph{ydieresis}{y}{dieresis}{500} \unitopaccentglyph{zacute}{z}{acute}{500} \unitopaccentglyph{zcaron}{z}{caron}{500} \unitopaccentglyph{zdotaccent}{z}{dotaccent}{500} \setglyph{ij} \glyph{i}{1000} \movert{\kerning{i}{j}} \glyph{j}{1000} \endsetglyph \unitopaccentglyph{Agrave}{A}{grave}{500}* \unitopaccentglyph{Aacute}{A}{acute}{500}* \unitopaccentglyph{Acircumflex}{A}{circumflex}{500}* \unitopaccentglyph{Atilde}{A}{tilde}{500}* \unitopaccentglyph{Adieresis}{A}{dieresis}{500}* \unitopaccentglyph{Aring}{A}{ring}{500}* \uniglyph{AE}{}* \unibotaccentglyph{Ccedilla}{C}{cedilla}{500}* \unitopaccentglyph{Egrave}{E}{grave}{500}* \unitopaccentglyph{Eacute}{E}{acute}{500}* \unitopaccentglyph{Ecircumflex}{E}{circumflex}{500}* \unitopaccentglyph{Edieresis}{E}{dieresis}{500}* \unitopaccentglyph{Igrave}{I}{grave}{500}* \unitopaccentglyph{Iacute}{I}{acute}{500}* \unitopaccentglyph{Icircumflex}{I}{circumflex}{500}* \uniglyph{Eth}{}* \unitopaccentglyph{Ntilde}{N}{tilde}{500}* \unitopaccentglyph{Ograve}{O}{grave}{500}* \unitopaccentglyph{Oacute}{O}{acute}{500}* \unitopaccentglyph{Ocircumflex}{O}{circumflex}{500}* \unitopaccentglyph{Otilde}{O}{tilde}{500}* \unitopaccentglyph{Odieresis}{O}{dieresis}{500}* \uniglyph{OE}{}* \uniglyph{Oslash}{}* \unitopaccentglyph{Ugrave}{U}{grave}{500}* \unitopaccentglyph{Uacute}{U}{acute}{500}* \unitopaccentglyph{Ucircumflex}{U}{circumflex}{500}* \unitopaccentglyph{Udieresis}{U}{dieresis}{500}* \unitopaccentglyph{Yacute}{Y}{acute}{500}* \uniglyph{Thorn}{}* \setglyph{SS} \glyph{S}{1000} \movert{\kerning{S}{S}} \glyph{S}{1000} \endsetglyph \unitopaccentglyph{agrave}{a}{grave}{500} \unitopaccentglyph{aacute}{a}{acute}{500} \unitopaccentglyph{acircumflex}{a}{circumflex}{500} \unitopaccentglyph{atilde}{a}{tilde}{500} \unitopaccentglyph{adieresis}{a}{dieresis}{500} \unitopaccentglyph{aring}{a}{ring}{500} \uniglyph{ae}{} \unibotaccentglyph{ccedilla}{c}{cedilla}{500} \unitopaccentglyph{egrave}{e}{grave}{500} \unitopaccentglyph{eacute}{e}{acute}{500} \unitopaccentglyph{ecircumflex}{e}{circumflex}{500} \unitopaccentglyph{edieresis}{e}{dieresis}{500} \ifoption{smallcaps}\then \unitopaccentglyph{igrave}{i}{grave}{500} \unitopaccentglyph{iacute}{i}{acute}{500} \unitopaccentglyph{icircumflex}{i}{circumflex}{500} \unitopaccentglyph{idieresis}{i}{dieresis}{500} \else \unitopaccentglyph{igrave}{dotlessi}{grave}{500} \unitopaccentglyph{iacute}{dotlessi}{acute}{500} \unitopaccentglyph{icircumflex}{dotlessi}{circumflex}{500} \unitopaccentglyph{idieresis}{dotlessi}{dieresis}{500} \fi \uniglyph{eth}{} \unitopaccentglyph{ntilde}{n}{tilde}{500} \unitopaccentglyph{ograve}{o}{grave}{500} \unitopaccentglyph{oacute}{o}{acute}{500} \unitopaccentglyph{ocircumflex}{o}{circumflex}{500} \unitopaccentglyph{otilde}{o}{tilde}{500} \unitopaccentglyph{odieresis}{o}{dieresis}{500} \uniglyph{oe}{} \uniglyph{oslash}{} \unitopaccentglyph{ugrave}{u}{grave}{500} \unitopaccentglyph{uacute}{u}{acute}{500} \unitopaccentglyph{ucircumflex}{u}{circumflex}{500} \unitopaccentglyph{udieresis}{u}{dieresis}{500} \unitopaccentglyph{yacute}{y}{acute}{500} \uniglyph{thorn}{} \ifoption{smallcaps}\then \setglyph{germandbls} \glyph{s}{1000} \movert{\kerning{s}{s}} \glyph{s}{1000} \endsetglyph \fi \uniglyph{germandbls}{} \comment{\section{Latin accented symbols not present in T1}} \unitopaccentglyph{Amacron}{A}{macron}{500}* \unitopaccentglyph{amacron}{a}{macron}{500} \unitopaccentglyph{Emacron}{E}{macron}{500}* \unitopaccentglyph{emacron}{e}{macron}{500} \unitopaccentglyph{Imacron}{I}{macron}{500}* \ifoption{smallcaps}\then \unitopaccentglyph{imacron}{i}{macron}{500} \else \unitopaccentglyph{imacron}{dotlessi}{macron}{500} \fi \unitopaccentglyph{Omacron}{O}{macron}{500}* \unitopaccentglyph{omacron}{o}{macron}{500} \unitopaccentglyph{Umacron}{U}{macron}{500}* \unitopaccentglyph{umacron}{u}{macron}{500} \unitopaccentglyph{Ymacron}{Y}{macron}{500}* \unitopaccentglyph{ymacron}{y}{macron}{500} \unitopaccentglyph{Ebreve}{E}{breve}{500}* \unitopaccentglyph{ebreve}{e}{breve}{500} \unitopaccentglyph{Ibreve}{I}{breve}{500}* \ifoption{smallcaps}\then \unitopaccentglyph{ibreve}{i}{breve}{500} \else \unitopaccentglyph{ibreve}{dotlessi}{breve}{500} \fi \unitopaccentglyph{Obreve}{O}{breve}{500}* \unitopaccentglyph{obreve}{o}{breve}{500} \unitopaccentglyph{Ubreve}{U}{breve}{500}* \unitopaccentglyph{ubreve}{u}{breve}{500} \unitopaccentglyph{Ybreve}{Y}{breve}{500}* \unitopaccentglyph{ybreve}{y}{breve}{500} \unitopaccentglyph{Ccircumflex}{C}{circumflex}{500}* \unitopaccentglyph{ccircumflex}{c}{circumflex}{500} \unitopaccentglyph{Gcircumflex}{G}{circumflex}{500}* \unitopaccentglyph{gcircumflex}{g}{circumflex}{500} \unitopaccentglyph{Hcircumflex}{H}{circumflex}{500}* \unitopaccentglyph{hcircumflex}{h}{circumflex}{500} \unitopaccentglyph{Jcircumflex}{J}{circumflex}{550}* \ifoption{smallcaps}\then \unitopaccentglyph{jcircumflex}{j}{circumflex}{500} \else \unitopaccentglyph{jcircumflex}{dotlessj}{circumflex}{500} \fi \unitopaccentglyph{Scircumflex}{S}{circumflex}{500}* \unitopaccentglyph{scircumflex}{s}{circumflex}{500} \unitopaccentglyph{Wcircumflex}{W}{circumflex}{500}* \unitopaccentglyph{wcircumflex}{w}{circumflex}{500} \unitopaccentglyph{Ycircumflex}{Y}{circumflex}{500}* \unitopaccentglyph{ycircumflex}{y}{circumflex}{500} \unitopaccentglyph{Itilde}{I}{tilde}{500}* \ifoption{smallcaps}\then \unitopaccentglyph{itilde}{i}{tilde}{500} \else \unitopaccentglyph{itilde}{dotlessi}{tilde}{500} \fi \unitopaccentglyph{Utilde}{U}{tilde}{500}* \unitopaccentglyph{utilde}{u}{tilde}{500} \unitopaccentglyph{Cdotaccent}{C}{dotaccent}{500}* \unitopaccentglyph{cdotaccent}{c}{dotaccent}{500} \unitopaccentglyph{Edotaccent}{E}{dotaccent}{500}* \unitopaccentglyph{edotaccent}{e}{dotaccent}{500} \unitopaccentglyph{Gdotaccent}{G}{dotaccent}{500}* \unitopaccentglyph{gdotaccent}{g}{dotaccent}{500} \setglyph{Ldotaccent} \glyph{L}{1000} \ifisint{monowidth}\then\else \movert{-200} \fi \moveup{\add{\depth{dotaccent}}{\scale{\height{L}}{500}}} \glyph{dotaccent}{1000} \endsetglyph \uniglyph{Ldot}{Ldotaccent} \setglyph{ldotaccent} \ifoption{smallcaps}\then \glyph{l}{1000} \ifisint{monowidth}\then\else \movert{\scale{-200}{\int{smallcapsscale}}} \fi \moveup{\add{\scale{\depth{dotaccent}}{\int{smallcapsscale}}} {\scale{\height{l}}{500}}} \cscglyph{dotaccent} \else \glyph{l}{1000} \ifisint{monowidth}\then\else \movert{-100} \fi \moveup{\add{\depth{dotaccent}}{\scale{\height{l}}{500}}} \glyph{dotaccent}{1000} \fi \endsetglyph \uniglyph{ldot}{ldotaccent} \unibotaccentglyph{Iogonek}{I}{ogonek}{500}* \unibotaccentglyph{iogonek}{i}{ogonek}{500} \unibotaccentglyph{Uogonek}{U}{ogonek}{500}* \unibotaccentglyph{uogonek}{u}{ogonek}{500} \unibotaccentglyph{Gcedilla}{G}{cedilla}{500}* \uniglyph{Gcommaaccent}{Gcedilla}* \ifoption{smallcaps}\then \unibotaccentglyph{gcedilla}{g}{cedilla}{500}* \else \unitopaccentglyph{gcedilla}{g}{acute}{500} \fi \uniglyph{gcommaaccent}{gcedilla} \unibotaccentglyph{Kcedilla}{K}{cedilla}{500}* \uniglyph{Kcommaaccent}{Kcedilla}* \unibotaccentglyph{kcedilla}{k}{cedilla}{500} \uniglyph{kcommaaccent}{kcedilla} \unibotaccentglyph{Lcedilla}{L}{cedilla}{500}* \uniglyph{Lcommaaccent}{Lcedilla}* \unibotaccentglyph{lcedilla}{l}{cedilla}{500} \uniglyph{lcommaaccent}{lcedilla} \unibotaccentglyph{Ncedilla}{N}{cedilla}{500}* \uniglyph{Ncommaaccent}{Ncedilla}* \unibotaccentglyph{ncedilla}{n}{cedilla}{500} \uniglyph{ncommaaccent}{ncedilla} \unibotaccentglyph{Rcedilla}{R}{cedilla}{500}* \uniglyph{Rcommaaccent}{Rcedilla}* \unibotaccentglyph{rcedilla}{r}{cedilla}{500} \uniglyph{rcommaaccent}{rcedilla} \setglyph{napostrophe} \glyph{quoteright}{1000} \movert{\kerning{quoteright}{n}} \glyph{n}{1000} \endsetglyph \ifoption{smallcaps}\then \uniglyph{kra}{k} \else \uniglyph{kra}{kgreenlandic} \fi \uniglyph{Hbar}{}* \uniglyph{hbar}{} \uniglyph{Tbar}{}* \uniglyph{tbar}{} \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{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{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{SSsmall} \glyph{Ssmall}{1000} \movert{\add{\kerning{Ssmall}{Ssmall}} {\mul{2}{\int{smallcapsextraspace}}}} \glyph{Ssmall}{1000} \endsetglyph \setglyph{Lcaronsmall} \glyph{Lsmall}{1000} \ifisint{monowidth}\then\else \movert{\scale{-200}{\int{smallcapsscale}}} \fi \cscglyph{quoteright} \endsetglyph \setglyph{Ldotaccentsmall} \glyph{Lsmall}{1000} \ifisint{monowidth}\then\else \movert{\scale{-200}{\int{smallcapsscale}}} \fi \moveup{\add{\scale{\depth{dotaccent}}{\int{smallcapsscale}}} {\scale{\height{Lsmall}}{500}}} \cscglyph{dotaccent} \endsetglyph \uniglyph{Ldotsmall}{Ldotaccentsmall} \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} \zerodepth{dblgrave} \unsetcommand{\topaccent} \unsetcommand{\botaccent} \endmetrics \end{document}