summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/xelatex/fontbook
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2011-08-02 00:04:52 +0000
committerKarl Berry <karl@freefriends.org>2011-08-02 00:04:52 +0000
commit8cb09a6490220c7e2df1022ea66743b9afa234be (patch)
treeb6583fdf3492acc4ab75611fc2bdeea2f675ec1a /Master/texmf-dist/source/xelatex/fontbook
parent9bed658d6e82bcd183d49e4da7e72fd414eea759 (diff)
new xelatex package fontbook (7jul11)
git-svn-id: svn://tug.org/texlive/trunk@23307 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/source/xelatex/fontbook')
-rw-r--r--Master/texmf-dist/source/xelatex/fontbook/fontbook.dtx263
-rw-r--r--Master/texmf-dist/source/xelatex/fontbook/fontbook.ins57
2 files changed, 320 insertions, 0 deletions
diff --git a/Master/texmf-dist/source/xelatex/fontbook/fontbook.dtx b/Master/texmf-dist/source/xelatex/fontbook/fontbook.dtx
new file mode 100644
index 00000000000..092175c6fd7
--- /dev/null
+++ b/Master/texmf-dist/source/xelatex/fontbook/fontbook.dtx
@@ -0,0 +1,263 @@
+% \iffalse meta-comment
+%
+% Copyright (C) 2011 by Raphaël Pinson <raphink@gmail.com>
+% ---------------------------------------------------------------------------
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3 or later is part of all distributions of LaTeX
+% version 2005/12/01 or later.
+%
+% This work has the LPPL maintenance status `maintained'.
+%
+% The Current Maintainer of this work is Raphaël Pinson.
+%
+% This work consists of the files fontbook.dtx and fontbook.ins
+% and the derived filebase fontbook.sty.
+%
+% \fi
+%
+% \iffalse
+%<*driver>
+\ProvidesFile{fontbook.dtx}
+%</driver>
+%<package>\NeedsTeXFormat{LaTeX2e}[1999/12/01]
+%<package>\ProvidesPackage{fontbook}
+%<*package>
+ [2011/07/05 0.1 Generate a font book]
+%</package>
+%
+%<*driver>
+\documentclass[a4paper]{ltxdoc}
+\usepackage{fontbook}[2011/07/05]
+\usepackage{xltxtra}
+\EnableCrossrefs
+\CodelineIndex
+\RecordChanges
+\begin{document}
+ \DocInput{fontbook.dtx}
+ \PrintChanges
+ \PrintIndex
+\end{document}
+%</driver>
+% \fi
+%
+% \CheckSum{69}
+%
+% \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 \~}
+%
+%
+% \changes{0.1}{2011/07/05}{Converted to DTX file}
+%
+% \DoNotIndex{\newcommand,\newenvironment}
+%
+% \providecommand*{\url}{\texttt}
+% \GetFileInfo{fontbook.dtx}
+% \title{The \textsf{fontbook} package}
+% \author{Raphaël Pinson \\ \url{raphink@gmail.com}}
+% \date{\fileversion~from \filedate}
+%
+% \maketitle
+%
+% \section{Introduction}
+%
+% \XeTeX{} allows us to make use of pretty much all possible fonts.
+% With all the possible fonts that can be used and the many features provided
+% by OpenType fonts, it can be useful to compile a font book of your favorite
+% fonts, so you can find the one you need more easily. This is what the
+% \textsf{fontbook} package is about.
+%
+%
+% \section{Usage}
+%
+% To use this package, simply include it:
+%
+% \begin{verbatim}
+% \usepackage{fontbook}
+% \end{verbatim}
+%
+% \subsection{Package Options}
+%
+% This package provides several options to fine-tune the way its commands react.
+%
+% \subsubsection{The \textsf{sizes} option}
+%
+% The \textsf{sizes} option lets you define which sizes
+% are to be printed for each font.
+% By default, all sizes from \textsf{huge} to \textsf{tiny} downward
+% are used:
+% \makeatletter\textsf{\fontbook@allsizes}\makeatother.
+% This option can take a single value or a list
+% of comma-separated values:
+%
+% \begin{verbatim}
+% \usepackage[sizes={large,huge}]{fontbook}
+% \end{verbatim}
+%
+% \subsubsection{The \textsf{features} option}
+%
+% Similarly to the \textsf{sizes} option, the \textsf{features} option
+% lets you define which features you wish to print for each font.
+% By default, the following features are used:
+% \makeatletter\textsf{\fontbook@allfeatures}\makeatother.
+% This option can take a single value or a list
+% of comma-separated values:
+%
+% \begin{verbatim}
+% \usepackage[features=scshape]{fontbook}
+% \end{verbatim}
+%
+% \subsubsection{The \textsf{featuresize} option}
+%
+% By default, features are typeset in size
+% \makeatletter\textsf{\fontbook@defaultfeaturesize}\makeatother.
+% This can be changed by passing the desired size name
+% as the \textsf{featuresize} option:
+%
+% \begin{verbatim}
+% \usepackage[featuresize=huge]{fontbook}
+% \end{verbatim}
+%
+% \subsection{Package commands}
+%
+% \DescribeMacro{\setsampletext}
+%
+% Set the sample text used in the font demo.
+%
+% \DescribeMacro{\printfont}
+%
+% This is the main command of this package
+% It takes 2 mandatory arguments and 1 optional argument.
+% The 2 mandatory arguments are the font name, as passed to
+% \textsf{fontspec}, and the license.
+% The optional argument is the fontspec option that allow
+% to set OpenType features for example:
+%
+% \begin{verbatim}
+% \printfont[Ligatures=Rare]{Linux Libertine O}{Public Domain}
+% \end{verbatim}
+%
+% \StopEventually{}
+%
+% \section{Implementation}
+%
+% \iffalse
+%<*package>
+% \fi
+%
+% \begin{macrocode}
+\ProvidesPackage{fontbook}
+\RequirePackage{fontspec}
+\RequirePackage{xunicode}
+\RequirePackage{kvoptions}
+\RequirePackage{etoolbox}
+\SetupKeyvalOptions{
+ family=fontbook,
+ prefix=fontbook@,
+}
+% \end{macrocode}
+%% Options
+%
+%
+% \begin{macro}{\fontbook@allsizes}
+% Sizes
+% \begin{macrocode}
+\def\fontbook@allsizes{%
+ huge, LARGE, Large, large, normalsize,
+ small, footnotesize, scriptsize, tiny}
+\expandafter\DeclareStringOption\expandafter[\fontbook@allsizes]{sizes}
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \begin{macro}{\fontbook@allfeatures}
+% Features
+% \begin{macrocode}
+\def\fontbook@allfeatures{%
+ scshape, itshape, bfseries}
+\expandafter\DeclareStringOption\expandafter[\fontbook@allfeatures]{features}
+\def\fontbook@defaultfeaturesize{large}
+\expandafter\DeclareStringOption\expandafter[\fontbook@defaultfeaturesize]{featuresize}
+\ProcessKeyvalOptions*
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \begin{macro}{\fontbook@sampletext}
+% \begin{macrocode}
+\def\fontbook@sampletext{%
+ Dans l'affliction éphémère qui m'accable, je teste
+ la police d'affichage qui est utilisée sur cette page 1 2 3 4 5.
+}
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \begin{macro}{\sampletext}
+% \begin{macrocode}
+\newcommand{\sampletext}[2][]{%
+ {\par\csname#2\endcsname \csname#1\endcsname
+ #2 #1\\ \fontbook@sampletext}}
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \begin{macro}{\setsampletext}
+% \begin{macrocode}
+\newcommand{\setsampletext}[1]{%
+ \def\fontbook@sampletext{#1}}
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \begin{macro}{\samplefeature}
+% \begin{macrocode}
+\newcommand{\samplefeature}[1]{%
+ \sampletext[#1]{\fontbook@featuresize}}
+%% TODO: call font once
+%%%% print all variants
+%
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \begin{macro}{\printfont}
+% \begin{macrocode}
+\newcommand{\printfont}[3][\empty]{%
+ \fontspec[#1]{#2}
+ \section*{#2 #1 --- Licence: #3}
+ \ifx#1\empty
+ \addcontentsline{toc}{section}{#2}
+ \else
+ \addcontentsline{toc}{subsection}{#1}
+ \fi
+ \expandafter\forcsvlist\expandafter\sampletext\expandafter{\fontbook@sizes}
+ \expandafter\forcsvlist\expandafter\samplefeature\expandafter{\fontbook@features}
+ \pagebreak
+}
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \iffalse
+%</package>
+% \fi
+%
+% \Finale
+\endinput
diff --git a/Master/texmf-dist/source/xelatex/fontbook/fontbook.ins b/Master/texmf-dist/source/xelatex/fontbook/fontbook.ins
new file mode 100644
index 00000000000..ddfecd68c0b
--- /dev/null
+++ b/Master/texmf-dist/source/xelatex/fontbook/fontbook.ins
@@ -0,0 +1,57 @@
+%% Copyright (C) 2011 by Raphaël Pinson <raphink@gmail.com>
+%% --------------------------------------------------------------------------
+%% This work may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3
+%% of this license or (at your option) any later version.
+%% The latest version of this license is in
+%% http://www.latex-project.org/lppl.txt
+%% and version 1.3 or later is part of all distributions of LaTeX
+%% version 2005/12/01 or later.
+%%
+%% This work has the LPPL maintenance status `maintained'.
+%%
+%% The Current Maintainer of this work is Raphaël Pinson.
+%%
+%% This work consists of the files fontbook.dtx and fontbook.ins
+%% and the derived filebase fontbook.sty.
+%%
+
+\input docstrip.tex
+\keepsilent
+
+\usedir{tex/latex/fontbook}
+
+\preamble
+
+This is a generated file.
+
+Copyright (C) 2011 by Raphaël Pinson <raphink@gmail.com>
+--------------------------------------------------------------------------
+This work may be distributed and/or modified under the
+conditions of the LaTeX Project Public License, either version 1.3
+of this license or (at your option) any later version.
+The latest version of this license is in
+ http://www.latex-project.org/lppl.txt
+and version 1.3 or later is part of all distributions of LaTeX
+version 2005/12/01 or later.
+
+\endpreamble
+
+\generate{\file{fontbook.sty}{\from{fontbook.dtx}{package}}}
+
+\obeyspaces
+\Msg{*************************************************************}
+\Msg{* *}
+\Msg{* To finish the installation you have to move the following *}
+\Msg{* file into a directory searched by TeX: *}
+\Msg{* *}
+\Msg{* fontbook.sty *}
+\Msg{* *}
+\Msg{* To produce the documentation run the file fontbook.dtx *}
+\Msg{* through LaTeX. *}
+\Msg{* *}
+\Msg{* Happy TeXing! *}
+\Msg{* *}
+\Msg{*************************************************************}
+
+\endbatchfile