From 567ded3bf9deecffd24992783eea1cc19976abab Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Tue, 10 Dec 2013 23:15:21 +0000 Subject: anonymouspro (10dec13) git-svn-id: svn://tug.org/texlive/trunk@32373 c570f23f-e606-0410-a88d-b1316a301751 --- .../source/fonts/anonymouspro/AnonymousPro.dtx | 1033 ++++++++++++++++++++ .../source/fonts/anonymouspro/AnonymousPro.ins | 45 + 2 files changed, 1078 insertions(+) create mode 100644 Master/texmf-dist/source/fonts/anonymouspro/AnonymousPro.dtx create mode 100644 Master/texmf-dist/source/fonts/anonymouspro/AnonymousPro.ins (limited to 'Master/texmf-dist/source/fonts') diff --git a/Master/texmf-dist/source/fonts/anonymouspro/AnonymousPro.dtx b/Master/texmf-dist/source/fonts/anonymouspro/AnonymousPro.dtx new file mode 100644 index 00000000000..79ab6b39ff1 --- /dev/null +++ b/Master/texmf-dist/source/fonts/anonymouspro/AnonymousPro.dtx @@ -0,0 +1,1033 @@ +% \iffalse meta-comment +% +% File: AnonymousPro.dtx +% Copyright (C) 2013 Arash Esbati +% +% This work may be distributed and/or modified under the conditions +% of the LaTeX Project Public License (LPPL), either version 1.3c of +% this license or (at your option) any later version. The latest +% version of this license is in the file: +% +% http://www.latex-project.org/lppl.txt +% +% \fi +% +% \iffalse +%\NeedsTeXFormat{LaTeX2e}[1999/12/01] +%\ProvidesPackage{AnonymousPro} +% [2013/12/06 v1.0 Support for AnonymousPro-Fonts (AE)] +% +%<*driver> +\documentclass[a4paper]{ltxdoc} +\renewcommand\rmdefault{bch} +\renewcommand\sfdefault{lmss} +\usepackage[scale=0.95,ttdefault]{AnonymousPro} +\usepackage[T1]{fontenc} +\usepackage{textcomp,longtable} +\newcommand*\pkg[1]{\textsf{#1}} +\usepackage{hypdoc} +\DisableCrossrefs +\RecordChanges +\setlength\hfuzz{15pt} +\hbadness=7000 +\frenchspacing +\raggedbottom +\makeatletter +\renewcommand\@makefntext[1]{% + \@setpar{% + \@@par \@tempdima=\hsize + \advance\@tempdima by -1.5em\relax + \parshape \@ne 1.5em \@tempdima + }% + \par \parindent=\z@ \noindent % + \hb@xt@ \z@{\hss \hb@xt@ 1.5em{\@thefnmark.\hss}}% + #1% +} +\makeatother +\newcommand\anpspecimen{% + {\small LATIN CAPITALS} \\ + ABCDEFGHIJKLMNOPQRSTUVWXYZ \\ + \'A\`A\^A\~A\"A\r{A}\=A\u{A}\capitalogonek{A}\AE\'\AE % + \.B% + \c{C}\'C\^C\.C\v{C}% + \v{D}\DH\.D% + \'E\`E\^E\"E\=E\u{E}\.E\capitalogonek{E}% + \.F \\ + \ANPHbar% + I\'I\`I\^I\"I\~I\=I\u{I}\capitalogonek{I}IJ\^J% + \L\'L% + \.M% + \r{N}\'N\v{N}% + \'O\`O\^O\~O\"O\O\'{\O}\=O\u{O}\H{O}\OE% + \.P \\% + \'R\v{R}% + \SS\v{S}\'S\^S\c{S}\.S% + \v{T}\.T% + \'U\`U\^U\"U\~U\=U\u{U}\r{U}\H{U}\capitalogonek{U}% + \DH\TH \\[\smallskipamount] +% + {\small LATIN LOWERCASE} \\ + abcdefghijklmnopqrstuvwxyz \\ + \'a\`a\^a\~a\"a\r{a}\=a\u{a}\capitalogonek{a}\ae\'\ae % + \.b% + \c{c}\'c\^c\.c\v{c}% + \v{d}\.d% + \'e\`e\^e\"e\=e\u{e}\.e\capitalogonek{e}% + \.f \\ + \ANPhbar% + i\'i\`i\^i\"i\~i\=i\u{i}\capitalogonek{i}ij\^j% + \l\'l% + \.m% + \r{n}\'n\v{n}% + \'o\`o\^o\~o\"o\o\'{\o}\=o\u{o}\H{o}\oe% + \.p \\% + \'r\v{r}% + \ss\v{s}\'s\^s\c{s}\.s% + \v{t}\.t% + \'u\`u\^u\"u\~u\=u\u{u}\r{u}\H{u}\capitalogonek{u}% + \dh\th \\[\smallskipamount] +% + {\small LIGATURES} \\ + fi ff fl ffi ij IJ ffl \\[\smallskipamount] +% + {\small FIGURES, FRACTIONS, SUPERSCRIPT} \\ + 1234567890 \space + \textonehalf \textonequarter \textthreequarters \space + \textonesuperior \textthreesuperior \texttwosuperior \space + \textfractionsolidus \\[\smallskipamount] +% + {\small CURRENCY AND FIGURE-RELATED CHARACTERS} \\ + \#\$\textcent \textsterling \textyen \textflorin \texteuro + \%\textperthousand \textdegree \textcopyright \textregistered + \texttrademark \ANPNumeroSign \textasciicircum \textasciitilde + \textless \textgreater =+% + \texttimes \textminus \textdiv \textlnot \textsurd \ANPinfinity + \ANPintegral \ANPapproxequal \ANPnotequal \ANPlessequal + \ANPgreaterequal \textmu \textohm \ANPDelta \ANPproduct + \ANPpartialdiff \ANPPi \ANPpi + \ANPsummation \ANPsigma \ANPsigmaone \\ +% + {\small PUNCTUATION AND MISCELLANEOUS CHARACTERS} \\ + \{[(\ANPellipsis + .,:;!?\textexclamdown \textquestiondown \&\textquotesingle % + "`'``''\guillemotleft \guillemotright \guilsinglleft \guilsinglright + @*\textdagger \textdaggerdbl \textsection \textparagraph + /\textbackslash \textbar \textbrokenbar % + \textendash \textemdash\textunderscore \textperiodcentered + \textbullet )]\} \\ + \ANPapplelogo \ANPappleopen \ANPUpArrowHead \ANPUpArrowHeadBars + \ANPback \ANPblackdiamond \ANPcheckmark \ANPellipsis \ANPendtab + \ANPerasetotheright \ANPinsert \ANPInsertSign \ANPlozenge + \ANPoptionkey \ANPproduct \ANPshift \ANPshiftlock + \ANPtab \ANPReturnSign + \ANPShoulderedOpenBox \ANPHelm \ANPOpenBox \ANPverticaltab +} +% +\begin{document} + \DocInput{\jobname.dtx} +\end{document} +% +% \fi +% +% \CheckSum{601} +% +% \CharacterTable +% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z +% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z +% Digits \0\1\2\3\4\5\6\7\8\9 +% Exclamation \! Double quote \" Hash (number) \# +% Dollar \$ Percent \% Ampersand \& +% Acute accent \' Left paren \( Right paren \) +% Asterisk \* Plus \+ Comma \, +% Minus \- Point \. Solidus \/ +% Colon \: Semicolon \; Less than \< +% Equals \= Greater than \> Question mark \? +% Commercial at \@ Left bracket \[ Backslash \\ +% Right bracket \] Circumflex \^ Underscore \_ +% Grave accent \` Left brace \{ Vertical bar \| +% Right brace \} Tilde \~} +% +% +% \GetFileInfo{\jobname.sty} +% +% \MakeShortVerb{\|} +% +% \DoNotIndex{\newcommand,\renewcommand,\newenvironment} +% +% \changes{v1.0}{2013/12/06}{Initial version} +% +% \title{Using \texttt{Anonymous Pro} fonts with LaTeX^^A +% \thanks{This file has version number \fileversion, last revised +% \filedate.}} +% \author{Arash Esbati} +% \date{\filedate} +% \maketitle +% +% \begin{abstract} +% \noindent +% This package provides the necessary files to use the monowidth +% \texttt{Anonymous Pro} fonts with LaTeX. Anonymous Pro is a set +% of four fonts provided by Mark Simonson under the Open Font +% License (OFL). +% \end{abstract} +% +% \tableofcontents\clearpage +% +% \section{Introduction} +% \label{sec:introduction} +% +% Anonymous Pro\footnote{Copyright \textcopyright\ 2009, Mark Simonson +% (http://www.ms-studio.com, mark@marksimonson.com), with Reserved +% Font Name Anonymous Pro} is a set of fonts provided by Mark +% Simonson\footnote{\url{http://www.marksimonson.com/fonts/view/anonymous-pro}} +% under the Open Font License (OFL). From his +% README.txt: \begin{quotation} +% ``Anonymous Pro is a family of four fixed-width fonts designed +% especially with coding in mind. Characters that could be mistaken +% for one another (\texttt{O}, \texttt{0}, \texttt{I}, \texttt{l}, +% \texttt{1}, etc.) have distinct shapes to make them easier to tell +% apart in the context of source code. +% +% Anonymous Pro also features an international, Unicode-based character +% set, with support for most Western and European Latin-based languages, +% Greek, and Cyrillic. It also includes special ``box drawing'' +% characters for those who need them. +% +% Anonymous Pro is based on an earlier font, Anonymous\texttrademark, which was my +% TrueType version of Anonymous 9, a freeware Macintosh bitmap font +% developed in the mid-'90s by Susan Lesch and David Lamkins. The bitmap +% version was intended as a more legible alternative to Monaco, the +% fixed-width Macintosh system font.'' +% \end{quotation} +% +% This bundle was mainly formed as ``I needed something to play with'' +% while I was reading through the fantastic \textit{``The Font +% Installation +% Guide''}\footnote{\url{http://www.ctan.org/tex-archive/info/Type1fonts/fontinstallationguide}} +% by Philipp Lehman. Therefore, this bundle is not aiming to provide +% a complete access to the fonts~-- Greek and Cyrillic characters are +% not supported, neither the ``box drawing'' characters. Only T1 and +% TS1-encodings are supported, OT1 and LY1 are not. +% +% \section{Installation} +% \label{sec:installation} +% +% The installation of fonts for TeX/LaTeX is not fun. The best way is +% to use MikTeX or TeXlive (my system) and wait until the fonts are +% distributed for your TeX-installation. +% +% \section{Usage} +% \label{sec:usage} +% +% The usage is LaTeX-standard, the behaviour not. Having this in your +% preamble: +% \begin{verbatim} +% \usepackage{AnonymousPro}\end{verbatim} +% does not change the monowidth-font of the document. +% +% \DescribeMacro{ttdefault} +% You have to activate the Anonymous Pro font explicitly with the +% option |`ttdefault'| or |`ttdefault=true'|. This is the +% intended behaviour. +% +% \DescribeMacro{scale} +% You can |`scale'| the font with this option. In this document, I +% used: +% \begin{verbatim} +% \usepackage[scale=0.95,ttdefault]{AnonymousPro} \end{verbatim} +% +% This package does not try to be too smart, and relies only on +% \pkg{kvoptions}. You have to load \pkg{fontenc} and \pkg{textcomp} +% yourself, e.g.: +% \begin{verbatim} +% \usepackage[T1]{fontenc} +% \usepackage{textcomp} +% \usepackage[scale=0.98,ttdefault]{AnonymousPro} \end{verbatim} +% +% +% \section{Glyph Coverage} +% \label{sec:glyph-coverage} +% +% A comprehensive Anonymous Pro +% specimen\footnote{\url{http://www.marksimonson.com/assets/content/fonts/AnonymousProSpecimen.pdf}} +% is available with complete showings of all the fonts. +% +% The characters accessible with LaTeX are shown below. Note that +% some characters are not correct, e.g. the misplaced Ogonek +% diacritical sign (\texttt{\capitalogonek{I}}, +% \texttt{\capitalogonek{U}}) or the caron (\texttt{\v{d}}). +% Anonymous Pro provides these characters, but I could not convince +% \pkg{fontinst} to use the characters directly. Maybe using +% \pkg{cyrfinst} can cure this. +% +% Fake-Smallcaps of {\ttfamily\scshape Anonymous Pro} are also +% provided (the only reason is that \pkg{fontinst} can generate them!) +% +% \subsection{Regular Font} +% \label{sec:regular} +% +% \begin{center}\ttfamily\Large +% \anpspecimen +% \end{center} +% \clearpage +% +% \subsection{Italic Font} +% \label{sec:italic} +% +% \begin{center}\ttfamily\Large\itshape +% \anpspecimen +% \end{center} +% \clearpage +% +% \subsection{Bold Font} +% \label{sec:bold} +% +% \begin{center}\ttfamily\Large\bfseries +% \anpspecimen +% \end{center} +% \clearpage +% +% \subsection{Bold-Italic Font} +% \label{sec:bold-italic} +% +% \begin{center}\ttfamily\Large\bfseries\itshape +% \anpspecimen +% \end{center} +% \clearpage +% +% \subsection{Text Companion Symbols} +% \label{sec:textcomp-symb} +% +% The next table shows the symbols available through \pkg{textcomp}. +% They are available in \textbf{Bold}, \textit{Italic} and +% \textbf{\itshape Bold-Italic}. +% \begingroup\ttfamily +% \begin{longtable}[l]{@{}p{0.4\linewidth}@{}p{0.1\linewidth}@{}p{0.4\linewidth}@{}p{0.1\linewidth}@{}} +% |\textacutedbl| & \textacutedbl & +% |\textasciiacute| & \textasciiacute \\ +% |\textasciibreve| & \textasciibreve & +% |\textasciicaron| & \textasciicaron \\ +% |\textasciidieresis| & \textasciidieresis & +% |\textasciigrave| & \textasciigrave \\ +% |\textasciimacron| & \textasciimacron & +% |\textasteriskcentered| & \textasteriskcentered \\ +% |\textbardbl| & \textbardbl & +% |\textbrokenbar| & \textbrokenbar \\ +% |\textbullet| & \textbullet & +% |\textcelsius| & \textcelsius \\ +% |\textcent| & \textcent & +% |\textcopyright| & \textcopyright \\ +% |\textcurrency| & \textcurrency & +% |\textdaggerdbl| & \textdaggerdbl \\ +% |\textdagger| & \textdagger & +% |\textdegree| & \textdegree \\ +% |\textdiv| & \textdiv & +% |\textdollar| & \textdollar \\ +% |\texteuro| & \texteuro & +% |\textflorin| & \textflorin \\ +% |\textfractionsolidus| & \textfractionsolidus & +% |\textgravedbl| & \textgravedbl \\ +% |\textinterrobangdown| & \textinterrobangdown & +% |\textinterrobang| & \textinterrobang \\ +% |\textlbrackdbl| & \textlbrackdbl & +% |\textlnot| & \textlnot \\ +% |\textminus| & \textminus & +% |\textmu| & \textmu \\ +% |\textonehalf| & \textonehalf & +% |\textonequarter| & \textonequarter \\ +% |\textonesuperior| & \textonesuperior & +% |\textordfeminine| & \textordfeminine \\ +% |\textordmasculine| & \textordmasculine & +% |\textparagraph| & \textparagraph \\ +% |\textperiodcentered| & \textperiodcentered & +% |\textperthousand| & \textperthousand \\ +% |\textpm| & \textpm & +% |\textquotesingle| & \textquotesingle \\ +% |\textrbrackdbl| & \textrbrackdbl & +% |\textregistered| & \textregistered \\ +% |\textsection| & \textsection & +% |\textsterling| & \textsterling \\ +% |\textthreequartersemdash| & \textthreequartersemdash & +% |\textthreequarters| & \textthreequarters \\ +% |\textthreesuperior| & \textthreesuperior & +% |\texttildelow| & \texttildelow \\ +% |\texttimes| & \texttimes & +% |\texttrademark| & \texttrademark \\ +% |\texttwelveudash| & \texttwelveudash & +% |\texttwosuperior| & \texttwosuperior \\ +% |\textyen| & \textyen \\ +% \end{longtable} +% \endgroup +% +% \clearpage +% +% \subsection{Miscellaneous Symbols} +% \label{sec:misc-symb} +% +% Other symbols provided by this package are shown in next table. +% They are available in \textbf{Bold}, \textit{Italic} and +% \textbf{\itshape Bold-Italic}. +% \begingroup\ttfamily +% \begin{longtable}[l]{@{}p{0.4\linewidth}@{}p{0.1\linewidth}@{}p{0.4\linewidth}@{}p{0.1\linewidth}@{}} +% |\ANPapplelogo| & \ANPapplelogo & +% |\ANPappleopen| & \ANPappleopen \\ +% |\ANPapproxequal| & \ANPapproxequal & +% |\ANPUpArrowHead| & \ANPUpArrowHead \\ +% |\ANPUpArrowHeadBars| & \ANPUpArrowHeadBars & +% |\ANPback| & \ANPback \\ +% |\ANPblackdiamond| & \ANPblackdiamond & +% |\ANPcheckmark| & \ANPcheckmark \\ +% |\ANPDelta| & \ANPDelta & +% |\ANPellipsis| & \ANPellipsis \\ +% |\ANPendtab| & \ANPendtab & +% |\ANPerasetotheright| & \ANPerasetotheright \\ +% |\ANPgreaterequal| & \ANPgreaterequal & +% |\ANPinsert| & \ANPinsert \\ +% |\ANPInsertSign| & \ANPInsertSign & +% |\ANPintegral| & \ANPintegral \\ +% |\ANPlessequal| & \ANPlessequal & +% |\ANPlozenge| & \ANPlozenge \\ +% |\ANPnotequal| & \ANPnotequal & +% |\ANPoptionkey| & \ANPoptionkey \\ +% |\ANPpartialdiff| & \ANPpartialdiff & +% |\ANPPi| & \ANPPi \\ +% |\ANPpi| & \ANPpi & +% |\ANPproduct| & \ANPproduct \\ +% |\ANPshift| & \ANPshift & +% |\ANPshiftlock| & \ANPshiftlock \\ +% |\ANPsigma| & \ANPsigma & +% |\ANPsigmaone| & \ANPsigmaone \\ +% |\ANPsummation| & \ANPsummation & +% |\ANPtab| & \ANPtab \\ +% |\ANPReturnSign| & \ANPReturnSign & +% |\ANPShoulderedOpenBox| & \ANPShoulderedOpenBox \\ +% |\ANPHelm| & \ANPHelm & +% |\ANPOpenBox| & \ANPOpenBox \\ +% |\ANPverticaltab| & \ANPverticaltab \\ +% \end{longtable} +% \endgroup +% +% \subsection{Credits} +% \label{sec:credits} +% +% \begin{description} +% \item[Mark Simonson] for making the fonts in the first place and +% giving me the OK to release the pfb-files +% \item[Philipp Lehmann] for his \textit{``The Font Installation Guide''} +% \item[Fontinst-Team] for \pkg{fontinst} +% \end{description} +% +% +% \StopEventually{^^A +% \PrintChanges +% } +% +% +% \section{Implementation} +% \label{sec:implementation} +% +% \subsection{General Notes} +% \label{sec:gen-notes} +% +% These files were produced while playing around with \pkg{fontinst}; +% I do not use Anonymous Pro. But making fonts available for LaTeX is +% a messy job, and I hope these files are useful to somebody else. +% +% The original font-files are distributed as \meta{.ttf}. I wanted to +% play with \meta{.afm}, so I used +% |ttf2pt1|\footnote{\url{http://ttf2pt1.sourceforge.net/}} to +% generate the \meta{.pfb} and \meta{.afm} files. After running +% LaTeX on \texttt{\jobname.ins} and having the generated files at +% hand, I used a trivial |Makefile| to run \pkg{fontinst}: +% \begin{verbatim} +% .PHONY: fonts +% fonts: +% tex AnonymousPro-drv.tex +% tex AnonymousPro-map.tex +% for filename in *.pl; do pltotf $$filename; done +% for filename in *.vpl; do vptovf $$filename; done +% rm *.pl *.vpl *.mtx \end{verbatim} +% +% I also used |t1testpage|\footnote{\url{http://www.lcdf.org/type/}} +% to generate an overview of characters per font; mostly to have a +% match on characters in \meta{.afm} files. +% +% \subsection{Fontinst-Driver file} +% \label{sec:fontins-drv} +% +% We follow Philipp Lehman's \textit{The Font Installation Guide}. +% +% We start as follows: +% \begin{macrocode} +%<*anp-drv> +\input fontinst.sty +\needsfontinstversion{1.926} +% \end{macrocode} +% +% We are installing a monowidth-font. `AnonymousPro' has liguatures +% but we will not use them and set \meta{ligaturing} to `0'. Note +% that we also will not set |`\hyphenchar\font=-1'|. +% \begin{macrocode} +\setint{monowidth}{1} +\setint{ligaturing}{0} +\substitutesilent{bx}{b} +\substitutesilent{sl}{it} +% \end{macrocode} +% +% For the sake of completeness we produce `fake-smallcaps'. +% \begin{macrocode} +\setint{smallcapsscale}{800} +% \end{macrocode} +% +% Record our transformation: +% \begin{macrocode} +\recordtransforms{anonymouspro-rec.tex} +% \end{macrocode} +% +% We have to patch \pkg{fontinst}'s |\fd_family| in order to use the \oarg{scale} +% option. The patch is taken from Boris Veytman's +% \pkg{divine.dtx}\footnote{\url{http://www.ctan.org/pkg/divine}}. +% \begin{macrocode} +\fontinstcc +\def\fd_family#1#2#3{ + \a_toks{#3} + \edef\lowercase_file{\lowercase{ + \edef\noexpand\lowercase_file{#1#2.fd}}} + \lowercase_file + \open_out{\lowercase_file} + \out_line{\percent_char~Filename:~\lowercase_file} + \out_line{\percent_char~Created~by:~tex~\jobname} + \out_line{\percent_char~Created~using~fontinst~v\fontinstversion} + \out_line{} + \out_line{\percent_char~THIS~FILE~SHOULD~BE~PUT~IN~A~TEX~INPUTS~ + DIRECTORY} + \out_line{} + \out_line{\string\ProvidesFile{\lowercase_file}} + \out_lline{[ + \the\year/ + \ifnum10>\month0\fi\the\month/ + \ifnum10>\day0\fi\the\day\space + Fontinst~v\fontinstversion\space + font~definitions~for~#1/#2. + ]} + \out_line{} +%% Start Patch + \out_line{\string\expandafter\string\ifx\string\csname\space + ANP@scale\string\endcsname\string\relax} + \out_line{\space\space\string\let\string\ANP@@scale\string\@empty} + \out_line{\string\else} + \out_line{\space\space\string\edef\string\ANP@@scale\left_brace_char + s*[\string\csname\space ANP@scale\string\endcsname] + \right_brace_char\percent_char} + \out_line{\string\fi\percent_char} + \out_line{} +%% End Patch + \out_line{\string\DeclareFontFamily{#1}{#2}{\the\a_toks}} + { + \csname #1-#2\endcsname + \out_line{} + \let\do_shape=\substitute_shape + \csname #1-#2\endcsname + \let\do_shape=\remove_shape + \csname #1-#2\endcsname + } + \x_cs\g_let{#1-#2}\x_relax + \out_line{} + \out_line{\string\endinput} + \close_out{Font~definitions} +} +\normalcc +% \end{macrocode} +% +% We use long names for the fonts. +% \begin{macrocode} +\transformfont + {AnonymousPro-Regular-base}% + {\reencodefont{8r}{\fromafm{AnonymousPro-Regular}}} +\transformfont + {AnonymousPro-Italic-base}% + {\reencodefont{8r}{\fromafm{AnonymousPro-Italic}}} +\transformfont + {AnonymousPro-Bold-base}% + {\reencodefont{8r}{\fromafm{AnonymousPro-Bold}}} +\transformfont + {AnonymousPro-BoldItalic-base}% + {\reencodefont{8r}{\fromafm{AnonymousPro-BoldItalic}}} +\transformfont + {AnonymousPro-Regular-Symbols-base}% + {\reencodefont{anonymouspro-symbols}{\fromafm{AnonymousPro-Regular}}} +\transformfont + {AnonymousPro-Italic-Symbols-base}% + {\reencodefont{anonymouspro-symbols}{\fromafm{AnonymousPro-Italic}}} +\transformfont + {AnonymousPro-Bold-Symbols-base}% + {\reencodefont{anonymouspro-symbols}{\fromafm{AnonymousPro-Bold}}} +\transformfont + {AnonymousPro-BoldItalic-Symbols-base}% + {\reencodefont{anonymouspro-symbols}{\fromafm{AnonymousPro-BoldItalic}}} +% \end{macrocode} +% +% We offer only `T1' encoding. |`<->\string\ANP@@scale'| is necessary +% for the \pkg{fontinst}-patch above. +% \begin{macrocode} +\installfonts +\installfamily{T1}{AnonymousPro}{} +\installfont + {AnonymousPro-Regular-t1}% + {AnonymousPro-Regular-base,newlatin}{t1}{T1}{AnonymousPro}{m}{n}{<->\string\ANP@@scale} +\installfont + {AnonymousPro-RegularSC-t1}% + {AnonymousPro-Regular-base,newlatin}{t1c}{T1}{AnonymousPro}{m}{sc}{<->\string\ANP@@scale} +\installfont + {AnonymousPro-Italic-t1}% + {AnonymousPro-Italic-base,newlatin}{t1}{T1}{AnonymousPro}{m}{it}{<->\string\ANP@@scale} +\installfont + {AnonymousPro-Bold-t1}% + {AnonymousPro-Bold-base,newlatin}{t1}{T1}{AnonymousPro}{b}{n}{<->\string\ANP@@scale} +\installfont + {AnonymousPro-BoldSC-t1}% + {AnonymousPro-Bold-base,newlatin}{t1c}{T1}{AnonymousPro}{b}{sc}{<->\string\ANP@@scale} +\installfont + {AnonymousPro-BoldItalic-t1}% + {AnonymousPro-BoldItalic-base,newlatin}{t1}{T1}{AnonymousPro}{b}{it}{<->\string\ANP@@scale} +\endinstallfonts +% \end{macrocode} +% +% Now `TS1'-encoding. For the `fake-smallcaps' we use the |`\installfontas'|-command. +% \begin{macrocode} +\installfonts +\installfamily{TS1}{AnonymousPro}{} +\installfont + {AnonymousPro-Regular-ts1}% + {AnonymousPro-Regular-base,textcomp}{ts1}{TS1}{AnonymousPro}{m}{n}{<->\string\ANP@@scale} +\installfontas + {AnonymousPro-Regular-ts1}% + {TS1}{AnonymousPro}{m}{sc}{<->\string\ANP@@scale} +\installfont + {AnonymousPro-Italic-ts1}% + {AnonymousPro-Italic-base,textcomp}{ts1}{TS1}{AnonymousPro}{m}{it}{<->\string\ANP@@scale} +\installfont + {AnonymousPro-Bold-ts1}% + {AnonymousPro-Bold-base,textcomp}{ts1}{TS1}{AnonymousPro}{b}{n}{<->\string\ANP@@scale} +\installfontas + {AnonymousPro-Bold-ts1}% + {TS1}{AnonymousPro}{b}{sc}{<->\string\ANP@@scale} +\installfont + {AnonymousPro-BoldItalic-ts1}% + {AnonymousPro-BoldItalic-base,textcomp}{ts1}{TS1}{AnonymousPro}{b}{it}{<->\string\ANP@@scale} +\endinstallfonts +% \end{macrocode} +% +% For the symbols, we have to use a font-specific encoding |`anonymouspro-symbols.etx'|, hence `U': +% \begin{macrocode} +\installfonts +\installfamily{U}{AnonymousPro}{} +\installfont{AnonymousPro-Regular-Symbols-u}% + {AnonymousPro-Regular-Symbols-base}% + {anonymouspro-symbols}{U}{AnonymousPro}{m}{n}{<->\string\ANP@@scale} + +\installfont{AnonymousPro-Italic-Symbols-u}% + {AnonymousPro-Italic-Symbols-base}% + {anonymouspro-symbols}{U}{AnonymousPro}{m}{it}{<->\string\ANP@@scale} + +\installfont{AnonymousPro-Bold-Symbols-u}% + {AnonymousPro-Bold-Symbols-base}% + {anonymouspro-symbols}{U}{AnonymousPro}{b}{n}{<->\string\ANP@@scale} + +\installfont{AnonymousPro-BoldItalic-Symbols-u}% + {AnonymousPro-BoldItalic-Symbols-base}% + {anonymouspro-symbols}{U}{AnonymousPro}{b}{it}{<->\string\ANP@@scale} + +\endinstallfonts +% \end{macrocode} +% +% Close recording and the process: +% \begin{macrocode} +\endrecordtransforms +\bye +% \end{macrocode} +% +% \begin{macrocode} +% +% \end{macrocode} +% +% +% \subsection{Fontinst-Map file} +% \label{sec:fontinst-map-file} +% +% Again, straight forward from P. Lehmann: +% \begin{macrocode} +%<*anp-map> +\input finstmsc.sty +\resetstr{PSfontsuffix}{.pfb} +\adddriver{dvips}{AnonymousPro.map} +\input anonymouspro-rec.tex +\donedrivers +\bye +% +% \end{macrocode} +% +% +% \subsection{Fontinst-Encoding file for the Symbols} +% \label{sec:font-encod-file} +% +% This is the fun part when making symbols available for LaTeX: one +% has to make a distinctive encoding file. With +% \cmd\setslot\marg{char-name}, one tells \pkg{fontinst} which +% character to use -- the char-name must correspond to the name in the +% .afm-file. With \cmd\nextslot\marg{number}, use can use the +% character by saying +% \begin{verbatim} +% \fontencoding{U}\fontfamily{name}\selectfont \char number \end{verbatim} +% + +% \begin{macrocode} +%<*anp-sym> +% \end{macrocode} +% \begin{macrocode} +%%% ==================================================================== +%%% @TeX-font-encoding-file{ +%%% author = "Arash Esbati", +%%% version = "1.0", +%%% date = "2013-11-29", +%%% time = "16:45:46 +01:00", +%%% filename = "anonymouspro-symbols.etx", +%%% email = "esbati'at'gmx.de", +%%% URL = "", +%%% checksum = "", +%%% codetable = "ISO/ASCII", +%%% keywords = "encoding, TeX, PostScript", +%%% supported = "yes", +%%% abstract = "This is a custom encoding as a TeX font +%%% encoding file to access various symbols in +%%% the AnonymousPro, for use with the fontinst +%%% utility. +%%% package = "AnonymousPro for LaTeX", +%%% dependencies = "fontinst.sty", +%%% } +%%% ==================================================================== + +\relax + +\encoding + +\nextslot{0} +\setslot{applelogo} + \comment{Intended for use with `\ANPapplelogo{}'.} +\endsetslot + +%\nextslot{1} +\setslot{appleopen} + \comment{Intended for use with `\ANPappleopen{}'.} +\endsetslot + +%\nextslot{2} +\setslot{approxequal} + \comment{Intended for use with `\ANPapproxequal{}'.} +\endsetslot + +%\nextslot{3} +\setslot{back} + \comment{Intended for use with `\ANPback{}'.} +\endsetslot + +%\nextslot{4} +\setslot{blackdiamond} + \comment{Intended for use with `\ANPblackdiamond{}'.} +\endsetslot + +%\nextslot{5} +\setslot{checkmark} + \comment{Intended for use with `\ANPcheckmark{}'.} +\endsetslot + +%\nextslot{6} +\setslot{copy} + \comment{Intended for use with `\ANPcopy{}'.} +\endsetslot + +%\nextslot{7} +\setslot{ellipsis} + \comment{Intended for use with `\ANPellipsis{}'.} +\endsetslot + +%\nextslot{8} +\setslot{endtab} + \comment{Intended for use with `\ANPendtab{}'.} +\endsetslot + +%\nextslot{9} +\setslot{erasetotheright} + \comment{Intended for use with `\ANPerasetotheright{}'.} +\endsetslot + +%\nextslot{10} +\setslot{greaterequal} + \comment{Intended for use with `\ANPgreaterequal{}'.} +\endsetslot + +%\nextslot{11} +\setslot{Hbar} + \comment{Intended for use with `\ANPHbar{}'.} +\endsetslot + +%\nextslot{12} +\setslot{hbar} + \comment{Intended for use with `\ANPhbar{}'.} +\endsetslot + +%\nextslot{13} +\setslot{infinity} + \comment{Intended for use with `\ANPinfinity{}'.} +\endsetslot + +%\nextslot{14} +\setslot{insert} + \comment{Intended for use with `\ANPinsert{}'.} +\endsetslot + +%\nextslot{15} +\setslot{integral} + \comment{Intended for use with `\ANPintegral{}'.} +\endsetslot + +%\nextslot{16} +\setslot{lessequal} + \comment{Intended for use with `\ANPlessequal{}'.} +\endsetslot + +%\nextslot{17} +\setslot{lozenge} + \comment{Intended for use with `\ANPlozenge{}'.} +\endsetslot + +%\nextslot{18} +\setslot{notequal} + \comment{Intended for use with `\ANPnotequal{}'.} +\endsetslot + +%\nextslot{19} +\setslot{optionkey} + \comment{Intended for use with `\ANPoptionkey{}'.} +\endsetslot + +%\nextslot{20} +\setslot{partialdiff} + \comment{Intended for use with `\ANPpartialdiff{}'.} +\endsetslot + +%\nextslot{21} +\setslot{Pi} + \comment{Intended for use with `\ANPPi{}'.} +\endsetslot + +%\nextslot{22} +\setslot{pi} + \comment{Intended for use with `\ANPpi{}'.} +\endsetslot + +%\nextslot{23} +\setslot{product} + \comment{Intended for use with `\ANPproduct{}'.} +\endsetslot + +%\nextslot{24} +\setslot{shift} + \comment{Intended for use with `\ANPshift{}'.} +\endsetslot + +%\nextslot{25} +\setslot{shiftlock} + \comment{Intended for use with `\ANPshiftlock{}'.} +\endsetslot + +%\nextslot{26} +\setslot{Sigma} + \comment{Intended for use with `\ANPSigma{}'.} +\endsetslot + +%\nextslot{27} +\setslot{sigma} + \comment{Intended for use with `\ANPsigma{}'.} +\endsetslot + +%\nextslot{28} +\setslot{sigma1} + \comment{Intended for use with `\ANPsigmaone{}'.} +\endsetslot + +%\nextslot{29} +\setslot{summation} + \comment{Intended for use with `\ANPsummation{}'.} +\endsetslot + +%\nextslot{30} +\setslot{tab} + \comment{Intended for use with `\ANPtab{}'.} +\endsetslot + +%\nextslot{31} +\setslot{uni23ce} + \comment{Intended for use with `\ANPReturnSign{}'.} +\endsetslot + +%\nextslot{32} +\setslot{uni237d} + \comment{Intended for use with `\ANPShoulderedOpenBox{}'.} +\endsetslot + +%\nextslot{33} +\setslot{uni2303} + \comment{Intended for use with `\ANPUpArrowHead{}'.} +\endsetslot + +%\nextslot{34} +\setslot{uni2318} + \comment{Intended for use with `\ANPInsertSign{}'.} +\endsetslot + +%\nextslot{35} +\setslot{uni2324} + \comment{Intended for use with `\ANPUpArrowHeadBars{}'.} +\endsetslot + +%\nextslot{36} +\setslot{uni2388} + \comment{Intended for use with `\ANPHelm{}'.} +\endsetslot + +%\nextslot{37} +\setslot{uni2423} + \comment{Intended for use with `\ANPOpenBox{}'.} +\endsetslot + +%\nextslot{38} +\setslot{uni0394} + \comment{Intended for use with `\ANPDelta{}'.} +\endsetslot + +%\nextslot{39} +\setslot{verticaltab} + \comment{Intended for use with `\ANPverticaltab{}'.} +\endsetslot + +%\nextslot{40} +\setslot{afii61352} + \comment{Intended for use with `\ANPNumeroSign{}'.} +\endsetslot + +\endencoding +% \end{macrocode} +% \begin{macrocode} +% +% \end{macrocode} +% +% \subsection{LaTeX-Package} +% \label{sec:package} +% +% \begin{macrocode} +%<*package> +% \end{macrocode} +% +% We use Heiko Oberdiek's +% \pkg{kvoptions}\footnote{\url{http://www.ctan.org/pkg/kvoptions}} +% for our purposes: +% \begin{macrocode} +\RequirePackage{kvoptions} +% \end{macrocode} +% +% We use |ANP| for name-space: +% \begin{macrocode} +\SetupKeyvalOptions{% + family = ANP, % + prefix = ANP@ % +} +% \end{macrocode} +% +% Define the option |`scale'| and init it to `1.0' +% \begin{macrocode} +\DeclareStringOption[1.0]{scale} +% \end{macrocode} +% +% Define the option |`ttdefault'|. We default it to |`false'|. +% The user must activate the font explicitly with |`ttdefault'| or +% |`ttdefault=true'|. The idea is to have the flexibility to play +% with other fonts as well. +% \begin{macrocode} +\DeclareBoolOption[false]{ttdefault} +% \end{macrocode} +% +% Process the keyvals: +% \begin{macrocode} +\ProcessKeyvalOptions* +% \end{macrocode} +% +% \begin{macro}{\ANP@ttdefault} +% This macro is defined by \pkg{kvoptions} for the +% |`ttdefault'|-option. This is the effect when activited. +% \begin{macrocode} +\ifANP@ttdefault + \renewcommand{\ttdefault}{AnonymousPro}% +\fi +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\ANP@family} +% Define our command for the family: +% \begin{macrocode} +\newcommand\ANP@family{% + \fontencoding{U}\fontfamily{AnonymousPro}\selectfont} +% \end{macrocode} +% \end{macro} +% +% The symbols follow: +% \begin{macrocode} +\newcommand\ANPapplelogo {{\ANP@family\char0}} +\newcommand\ANPappleopen {{\ANP@family\char1}} +\newcommand\ANPapproxequal {{\ANP@family\char2}} +\newcommand\ANPback {{\ANP@family\char3}} +\newcommand\ANPblackdiamond {{\ANP@family\char4}} +\newcommand\ANPcheckmark {{\ANP@family\char5}} +\newcommand\ANPcopy {{\ANP@family\char6}} +\newcommand\ANPellipsis {{\ANP@family\char7}} +\newcommand\ANPendtab {{\ANP@family\char8}} +\newcommand\ANPerasetotheright {{\ANP@family\char9}} +\newcommand\ANPgreaterequal {{\ANP@family\char10}} +\newcommand\ANPHbar {{\ANP@family\char11}} +\newcommand\ANPhbar {{\ANP@family\char12}} +\newcommand\ANPinfinity {{\ANP@family\char13}} +\newcommand\ANPinsert {{\ANP@family\char14}} +\newcommand\ANPintegral {{\ANP@family\char15}} +\newcommand\ANPlessequal {{\ANP@family\char16}} +\newcommand\ANPlozenge {{\ANP@family\char17}} +\newcommand\ANPnotequal {{\ANP@family\char18}} +\newcommand\ANPoptionkey {{\ANP@family\char19}} +\newcommand\ANPpartialdiff {{\ANP@family\char20}} +\newcommand\ANPPi {{\ANP@family\char21}} +\newcommand\ANPpi {{\ANP@family\char22}} +\newcommand\ANPproduct {{\ANP@family\char23}} +\newcommand\ANPshift {{\ANP@family\char24}} +\newcommand\ANPshiftlock {{\ANP@family\char25}} +\newcommand\ANPSigma {{\ANP@family\char26}} +\newcommand\ANPsigma {{\ANP@family\char27}} +\newcommand\ANPsigmaone {{\ANP@family\char28}} +\newcommand\ANPsummation {{\ANP@family\char29}} +\newcommand\ANPtab {{\ANP@family\char30}} +\newcommand\ANPReturnSign {{\ANP@family\char31}} +\newcommand\ANPShoulderedOpenBox {{\ANP@family\char32}} +\newcommand\ANPUpArrowHead {{\ANP@family\char33}} +\newcommand\ANPInsertSign {{\ANP@family\char34}} +\newcommand\ANPUpArrowHeadBars {{\ANP@family\char35}} +\newcommand\ANPHelm {{\ANP@family\char36}} +\newcommand\ANPOpenBox {{\ANP@family\char37}} +\newcommand\ANPDelta {{\ANP@family\char38}} +\newcommand\ANPverticaltab {{\ANP@family\char39}} +\newcommand\ANPNumeroSign {{\ANP@family\char40}} +% \end{macrocode} +% +% \begin{macrocode} +% +% \end{macrocode} +% +% \Finale +\endinput diff --git a/Master/texmf-dist/source/fonts/anonymouspro/AnonymousPro.ins b/Master/texmf-dist/source/fonts/anonymouspro/AnonymousPro.ins new file mode 100644 index 00000000000..7080a7a8a84 --- /dev/null +++ b/Master/texmf-dist/source/fonts/anonymouspro/AnonymousPro.ins @@ -0,0 +1,45 @@ +%% +%% File: AnonymousPro.ins +%% Copyright (c) 2013 Arash Esbati +%% +%% This work may be distributed and/or modified under the conditions +%% of the LaTeX Project Public License (LPPL), either version 1.3c of +%% this license or (at your option) any later version. +%% +%% It is an installation file for extracting package and other files +%% from the original source file. Simply process it under LaTeX. + +\input docstrip.tex + +\keepsilent +\askforoverwritefalse + +\preamble + +Copyright (C) 2013 Arash Esbati + +This work may be distributed and/or modified under the conditions +of the LaTeX Project Public License (LPPL), either version 1.3c of +this license or (at your option) any later version. The latest +version of this license is in the file: + + http://www.latex-project.org/lppl.txt + +\endpreamble +\generate{ + \file{\jobname.sty}{\from{\jobname.dtx}{package}} + \file{\jobname-drv.tex}{\from{\jobname.dtx}{anp-drv}} + \file{\jobname-map.tex}{\from{\jobname.dtx}{anp-map}} + \file{anonymouspro-symbols.etx}{\from{\jobname.dtx}{anp-sym}} +} + +\obeyspaces +\Msg{*********************************************************************}% +\Msg{* For documentation in pdf, process with: *}% +\Msg{* pdflatex AnonymousPro.dtx *}% +\Msg{* makeindex.exe -s gglo.ist -o AnonymousPro.gls AnonymousPro.glo *}% +\Msg{* pdflatex AnonymousPro.dtx *}% +\Msg{*********************************************************************}% + + +\endbatchfile -- cgit v1.2.3