From 8cb09a6490220c7e2df1022ea66743b9afa234be Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Tue, 2 Aug 2011 00:04:52 +0000 Subject: new xelatex package fontbook (7jul11) git-svn-id: svn://tug.org/texlive/trunk@23307 c570f23f-e606-0410-a88d-b1316a301751 --- .../source/xelatex/fontbook/fontbook.dtx | 263 +++++++++++++++++++++ .../source/xelatex/fontbook/fontbook.ins | 57 +++++ 2 files changed, 320 insertions(+) create mode 100644 Master/texmf-dist/source/xelatex/fontbook/fontbook.dtx create mode 100644 Master/texmf-dist/source/xelatex/fontbook/fontbook.ins (limited to 'Master/texmf-dist/source/xelatex/fontbook') 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 +% --------------------------------------------------------------------------- +% 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} +% +%\NeedsTeXFormat{LaTeX2e}[1999/12/01] +%\ProvidesPackage{fontbook} +%<*package> + [2011/07/05 0.1 Generate a font book] +% +% +%<*driver> +\documentclass[a4paper]{ltxdoc} +\usepackage{fontbook}[2011/07/05] +\usepackage{xltxtra} +\EnableCrossrefs +\CodelineIndex +\RecordChanges +\begin{document} + \DocInput{fontbook.dtx} + \PrintChanges + \PrintIndex +\end{document} +% +% \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 +% +% \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 +%% -------------------------------------------------------------------------- +%% 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 +-------------------------------------------------------------------------- +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 -- cgit v1.2.3