% !TEX TS-program = pdflatexmk % Template file for TeXShop by Michael Sharpe, LPPL \documentclass[11pt]{article} \usepackage[margin=1in]{geometry} \usepackage[parfill]{parskip}% Begin paragraphs with an empty line rather than an indent \usepackage{graphicx} \pdfmapfile{=AlgolRevived.map} %SetFonts % algolrevived \usepackage{algolrevived} \usepackage[T1]{fontenc} \usepackage{textcomp} \usepackage[varqu,varl,scaled=1.04]{zi4}% inconsolata %\usepackage[tt]{algolrevived} %\usepackage{amsmath,amsthm} %\usepackage[libertine,bigdelims,vvarbb]{newtxmath} % option vvarbb gives you stix blackboard bold %SetFonts \usepackage{trace} \usepackage{fonttable} \title{Algol Revived\footnote{Creation of this package was spurred by Barbara Beeton's column in a recent TUGBoat, conveying a request from Jacques Andr\'e for someone to digitize Frutiger's Algol alphabet.}} \author{Michael Sharpe} \date{\today} % Activate to display a given date or no date \begin{document} \maketitle \emph{AlgolRevived} is a revival of the (photo)font \emph{Algol} by Adrian Frutiger whose sole use was for printing ALGOL code in a manual. It is not meant to be a general purpose text font---the spacing is not optimized for that, being designed instead for printing computer code, where each letter should be distinct and text ligatures are banished. It seems to work well with the {\tt listings} package, designed for exactly that purpose. Unusually for such a font, it is not monospaced, though perhaps this is no longer the issue it was in the days of FORTRAN. Nonetheless, if you don't object to a typewritten appearance, I think the font doesn't really look as bad as you might think it should. (This document uses it as its main text font.) Both opentype and type1 fonts are provided, along with LaTeX support files. Most characters in the T1 encoding are provided, except for f-ligatures and the Sami characters Eng, eng. There are no kerning tables, and the spacing is not uniform so that even without hyphenation, lines spread out quite well. \textbf{Usage with fontspec:} The package provides algolrevived.fontspec, with contents: \begin{verbatim} \defaultfontfeatures[algolrevived] { Extension = .otf, UprightFont = AlgolRevived , BoldFont = AlgolRevived-Medium , BoldItalicFont = AlgolRevived-MediumSlanted , ItalicFont = AlgolRevived-Slanted , } \end{verbatim} which allows you to set up your preamble using simply \begin{verbatim} ... \usepackage{fontspec} \setmainfont{algolrevived} % for use as main font %\setmonofont{algolrevived} % for use as typewriter font only ... \end{verbatim} \newpage \textbf{Usage with LaTeX} The package offers OT1, LY1, T1 and TS1 encodings, and sets T1 as the default. To change to LY1, you will need something like \begin{verbatim} \usepackage{algolrevived} %\usepackage[tt]{algolrevived} for just typewriter \usepackage[LY1]{fontenc} \end{verbatim} The package has two rather different modes, one intended for use as main text and the other intended for use as a typewriter font defining \verb|\ttdefault| for use with Typewriter Text and Verbatim text environments such as \verb|\texttt| and \verb|\verb|. In the example above, {\tt algolrevived} becomes the default Roman font, with the following features, details of which are described in more detail later in this document. \begin{itemize} \item Hyphenation is enabled but may be turned off with the option {\tt nohyphens}; \item the asterisk character renders as the high asterisk *. The low asterisk is available using \verb|\textasteriskcentered|, like \textasteriskcentered; \item lining figures do not have a slashed zero: 0123456789; \item there is a {\tt compoundwordmark} in the T1 encoding, and there are {\tt capitalwordmark} and {\tt ascenderwordmark} in the TS1 encoding; \item the TS1 encoding is quite complete and has many additional symbols that are not part of the standard TS1 encoding; \item oldstyle figures are available---they may be made the default using the option {\tt osf} or {\tt oldstyle}, or from the TS1 encoding; \item inferior and superior figures are provided along with a \verb|\textfrac| macro; \item a \verb|\textcircled| macro is provided. \end{itemize} \textbf{Usage as Typewriter Font} The option {\tt tt} to {\tt algolrevived} changes the mode to {\tt Typewriter} with different behavior. \begin{itemize} \item Hyphenation is suppressed; \item the asterisk is low in this case, with the same effect as \verb|\textasteriskcentered|. \item \verb|\ttdefault| is set to {\tt AlgolRevived-TLF-TT}---in particular, oldstyle figure settings are ignored; \item the default lining figure zero is slashed---you may change this using the option {\tt nozeroslash}; \item the figure style macros such as \verb|\textosf| and the \verb|\textcircled| remain available. \end{itemize} \newpage \textbf{AlgolRevived-tlf-t1.tfm:} \fonttable{AlgolRevived-tlf-t1--base} \newpage \textbf{Package options and macros:}\\ The option \texttt{scaled=.95} or \texttt{scale=.95} renders at 95\% of the default size. Option \texttt{tt} species typewriter. The macros \verb|{\sufigures 9}| (same effect as \verb|\textsu{9}|) render the figure as a superscript, \textsu{9}, and similarly with \verb|\infigures|, \verb|\textinf| for inferior figures. (Note that the usual macro \verb|\textin| is being used for the ``belongs to'' glyph, \textin, added as a non-standard part of {\tt textcomp}.) The macro \verb|\textcircled| that may be used to construct a circled version of a single letter or numeral using \verb|\textbigcircle| for the encircling glyph. The argument is always constructed from uppercased letters and numerals, so, in effect, you can only construct circled uppercase: \verb|\textcircled{M}| and \verb|\textcircled{m}| have the same effect, namely~\textcircled{M}. Circled numerals are also available: \verb|\textcircled{0}...| produces \textcircled{0}\dots\textcircled{9}. \begin{itemize} \item \verb|\textlf{}| and \verb|{\lfstyle }| give lining figures, as do \verb|\texttlf{}| and \verb|{\tlfstyle }|; \item \verb|\textosf{}| and \verb|{\osfstyle }| give proportional oldstyle figures as do \verb|\texttosf{}| and \verb|{\tosfstyle }|; \item \verb|\textfrac{3}{4}| uses superior and inferior figures to make the fraction \textfrac{3}{4}, and an optional argument is available for the whole number part: \verb|\textfrac[2]{31}{32}| renders as \textfrac[2]{31}{32}. The spacing may be tinkered with by redefining the macro \verb|\textfrac| and by setting the two options {\tt foresolidus} and {\tt aftsolidus} which modify the spacing around the fraction solidus. \end{itemize} %2\textfrac{1}{2}\textfrac{2}{3} \textfrac{3}{4} \textfrac{4}{5} \textfrac{5}{6} \textfrac{6}{7} \textfrac{7}{8} \textfrac{8}{9} \textfrac{9}{0} \textfrac{0}{1} \$\textdollar\textdollaroldstyle The sty file requires textcomp so there is no need to load it separately. Textcomp adds the following glyphs. (The mathematical symbols in the otherwise vacant slots in positions 192 and up were mostly borrowed from the STIX math fonts, which use the same SIL OFL as this package. The names below were in those cases are the same as the STIX names, prefixed by "text".) \newpage \textbf{AlgolRevived-ts1.tfm:} \fonttable{AlgolRevived-ts1} \newpage \textbf{List of LaTeX macros to access the TS1 symbols in text mode:} \begin{verbatim} 0 \capitalgrave 1 \capitalacute 2 \capitalcircumflex 3 \capitaltilde 4 \capitaldieresis 5 \capitalhungarumlaut 6 \capitalring 7 \capitalcaron 8 \capitalbreve 9 \capitalmacron 10 \capitaldotaccent 11 \capitalcedilla 12 \capitalogonek 13 \textquotestraightbase 18 \textquotestraightdblbase 21 \texttwelveudash 22 \textthreequartersemdash 23 \textcapitalcompwordmark 24 \textleftarrow 25 \textrightarrow 26 \t % tie accent, skewed right 27 \capitaltie % skewed right 28 \newtie % tie accent centered 29 \capitalnewtie % ditto 31 \textascendercompwordmark 32 \textblank 36 \textdollar 39 \textquotesingle 42 \textasteriskcentered 45 \textdblhyphen 47 \textfractionsolidus 48 \textzerooldstyle 49 \textoneoldstyle 50 \texttwooldstyle 49 \textthreeoldstyle 50 \textfouroldstyle 51 \textfiveoldstyle 52 \textsixoldstyle 53 \textsevenoldstyle 54 \texteightoldstyle 55 \textnineoldstyle 60 \textlangle 61 \textminus 62 \textrangle 77 \textmho 79 \textbigcircle 87 \textohm 91 \textlbrackdbl 93 \textrbrackdbl 94 \textuparrow 95 \textdownarrow 96 \textasciigrave 96 \textasciigrave 98 \textborn 99 \textdivorced 100 \textdied 108 \textleaf 109 \textmarried 110 \textmusicalnote 126 \texttildelow 127 \textdblhyphenchar 128 \textasciibreve 129 \textasciicaron 130 \textacutedbl 131 \textgravedbl 132 \textdagger 133 \textdaggerdbl 134 \textbardbl 135 \textperthousand 136 \textbullet 137 \textcelsius 138 \textdollaroldstyle 139 \textcentoldstyle 140 \textflorin 141 \textcolonmonetary 142 \textwon 143 \textnaira 144 \textguarani 145 \textpeso 146 \textlira 147 \textrecipe 148 \textinterrobang 149 \textinterrobangdown 150 \textdong 151 \texttrademark 152 \textpertenthousand 153 \textpilcrow 154 \textbaht 155 \textnumero 156 \textdiscount 157 \textestimated 158 \textopenbullet 159 \textservicemark 160 \textlquill 161 \textrquill 162 \textcent 163 \textsterling 164 \textcurrency 165 \textyen 166 \textbrokenbar 167 \textsection 168 \textasciidieresis 169 \textcopyright 170 \textordfeminine 171 \textcopyleft 172 \textlnot 173 \textcircledP 174 \textregistered 175 \textasciimacron 176 \textdegree 177 \textpm 178 \texttwosuperior 179 \textthreesuperior 181 \textmu 182 \textparagraph 183 \textperiodcentered 184 \textreferencemark 185 \textonesuperior 186 \textordmasculine 187 \textsurd 188 \textonequarter 189 \textonehalf 190 \textthreequarters 191 \texteuro 192 \textprime 193 \textdprime 196 \textleftrightarrow 197 \textupdownarrow 198 \textLeftarrow 199 \textUparrow 200 \textRightarrow 201 \textDownarrow 202 \textLeftrightarrow 203 \textUpdownarrow 204 \textforall 205 \textcomplement 206 \textpartial 207 \textexists 208 \textnexists 209 \textvarnothing 210 \textincrement 211 \textnabla 212 \textin 213 \textnotin 214 \texttimes 215 \textsmallin 216 \textni 217 \textnni 218 \textsmallni 219 \textsmallsetminus 220 \textlargebullet 221 \textland 222 \textlor 224 \textcap 225 \textcup 226 \textcoloneq 227 \texteqcolon 228 \textneq 229 \textequiv 230 \textneqiv 231 \textleq 232 \textgeq 233 \textsubset 234 \textsupset 235 \textnsubset 236 \textnsupset 237 \textsubseteq 238 \textsupseteq 239 \textnsubseteq 240 \textnsupseteq 241 \textsqsubset 242 \textsqsubset 243 \textsqsupset 244 \textsqsubseteq 245 \textsqcap 246 \textdiv 247 \textsqcup \end{verbatim} For example, typing in \verb|A\textcoloneq B| results in A\textcoloneq B. \textbf{Package Details} The package is laid out a bit differently from the typical one, and it may help some to know a few details. There are six {\tt fd} files corresponding to each of the text encodings {\tt OT1, T1, LY1}, and two for {\tt TS1}, the text companion encoding. These are: \begin{verbatim} LY1AlgolRevived-Inf.fd LY1AlgolRevived-Sup.fd LY1AlgolRevived-OsF.fd LY1AlgolRevived-TLF.fd LY1AlgolRevived-OsF-TT.fd LY1AlgolRevived-TLF-TT.fd OT1AlgolRevived-Inf.fd OT1AlgolRevived-Sup.fd OT1AlgolRevived-OsF.fd OT1AlgolRevived-TLF.fd OT1AlgolRevived-OsF-TT.fd OT1AlgolRevived-TLF-TT.fd T1AlgolRevived-Inf.fd T1AlgolRevived-Sup.fd T1AlgolRevived-OsF.fd T1AlgolRevived-TLF.fd T1AlgolRevived-OsF-TT.fd T1AlgolRevived-TLF-TT.fd TS1AlgolRevived-OsF.fd TS1AlgolRevived-TLF.fd \end{verbatim} The last two have essentially identical effect, each pointing to {\tt tfm} files of the form {\tt AlgolRevived-ts1.tfm}, {\tt AlgolRevived-Medium-ts1.tfm} and so on. These were all crafted with {\tt afm2tfm} because {\tt otftotfm} had repeated problems with distinguishing {\tt dollar} from {\tt dollaroldstyle} and {\tt cent} from {\tt centoldstyle}. To get the compond word marks right involved modifying the afm files after each edit to make their heights correct, then running {\tt afm2tfm} with the {\tt -v} option to get a virtual font which would register those heights correctly. Each of the text font encodings have essentially the same structure, so I'll limit my remarks mainly to {\tt T1}. All except the {\tt -TT} were generated by {\tt autoinst}. The {\tt -Inf} and {\tt -Sup} are for the inferior and superior letters respectively, while {\tt -TLF} and {\tt OsF} are for the two normal figure styles you might choose from in text mode. The {\tt -TT} case is more interesting, having been generated by {\tt afm2tfm} because {\tt autoinst} and {\tt otftotfm} don't give you much help with making the changes needed for a Typewriter font as distinct from a normal text font. For {\tt T1} and {\tt LY1} encoded fonts, the main difference, aside from lacking f-ligatures and the like, is that the asterisk is low in Typewriter and high in normal text. However, for {\tt OT1}, there are sixteen additional changes required in order to match the typewriter encoding used in {\tt cmtt}. Each of the {\tt -TT fd} files points to {\tt tfm} files with names like {\tt AlgolRevived-t1tt.tfm} with no figure style mentioned, because the figure style there is always {\tt TLF}. That is, {\tt T1AlgolRevived-OsF-TT.fd} and {\tt T1AlgolRevived-TLF-TT.fd} have essentially identical contents, but both are required to be there to conform to the LaTeX font selection scheme. There is in all cases a 0 or 1 in the name, signifying the slashed zero (1) or the unslashed 0 (0). \end{document}