From 4996e3ce908a0e5ec391ab42143b17e17751c137 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Fri, 14 Dec 2012 00:10:47 +0000 Subject: libertine (14dec12) git-svn-id: svn://tug.org/texlive/trunk@28523 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/doc/fonts/libertine/README | 2 +- Master/texmf-dist/doc/fonts/libertine/g2ntotex.c | 53 +++ .../texmf-dist/doc/fonts/libertine/libertine.pdf | Bin 219173 -> 233278 bytes .../texmf-dist/doc/fonts/libertine/libertine.tex | 497 ++++++++++++++------- Master/texmf-dist/doc/fonts/libertine/rename_enc | 21 + 5 files changed, 418 insertions(+), 155 deletions(-) create mode 100644 Master/texmf-dist/doc/fonts/libertine/g2ntotex.c create mode 100644 Master/texmf-dist/doc/fonts/libertine/rename_enc (limited to 'Master/texmf-dist/doc/fonts/libertine') diff --git a/Master/texmf-dist/doc/fonts/libertine/README b/Master/texmf-dist/doc/fonts/libertine/README index ecc7e21e076..3ba6b4b312f 100644 --- a/Master/texmf-dist/doc/fonts/libertine/README +++ b/Master/texmf-dist/doc/fonts/libertine/README @@ -1,4 +1,4 @@ -This is the README for libertine, version 5.3.0 (2012-12-07). +This is the README for libertine, version 5.3.0 (2012-12-12). This package provides support for use of the Linux Libertine and Linux Biolinum families of fonts with LaTeX. Most features are usable with diff --git a/Master/texmf-dist/doc/fonts/libertine/g2ntotex.c b/Master/texmf-dist/doc/fonts/libertine/g2ntotex.c new file mode 100644 index 00000000000..90590fd0c70 --- /dev/null +++ b/Master/texmf-dist/doc/fonts/libertine/g2ntotex.c @@ -0,0 +1,53 @@ +/* g2ntotex.c + * Usage: g2ntotex fontname (converts fontname.g2n to fontname.tex) + * + * Copyright 2012 Bob Tennent + * School of Computing, Queen's University + * This program is free software, licensed under the GNU GPL, >=2.0. + * This software comes with absolutely NO WARRANTY. + * */ +# include +# include +# include +# define FILE_LEN 36 +# define LINE_LEN 72 + +FILE *g2n_file, *tex_file; +char g2n_filename[FILE_LEN+5]; +char tex_filename[FILE_LEN+5]; + +void error (char msg[]) /* abort with stderr message msg */ +{ fprintf (stderr, "Error: %s\n", msg); + exit (EXIT_FAILURE); +} + +int main (int argc, char *argv[]) { + int ch; + int gid; + char codepoint[5]; + char glyphname [LINE_LEN+1]; + g2n_filename[0] = '\0'; + strncat (g2n_filename, argv[1], FILE_LEN); + strcat (g2n_filename, ".g2n"); + g2n_file = fopen (g2n_filename, "r+"); + if (g2n_file == NULL) error("Can't open g2n file."); + tex_filename[0] = '\0'; + strncat (tex_filename, argv[1], FILE_LEN); + strcat (tex_filename, ".tex"); + tex_file = fopen (tex_filename, "w+"); + if (tex_file == NULL) error("Can't open tex file."); + /* skip first line: */ + ch = getc (g2n_file); while (ch != '\n') { ch = getc (g2n_file);} + while (fscanf (g2n_file, + "GLYPHID%i PSNAME %s UNICODE %s\n", + &gid, &glyphname, &codepoint) + == 3 ) + { int glyphindex; + sscanf ( codepoint, "%x", &glyphindex); /* convert hex codepoint to integer index */ + if (glyphname[0] != 'u' || glyphname[1] != 'n' || glyphname[2] != 'i' ) { + fprintf (tex_file, "\\DeclareTextGlyphY{%s}{%s}{%i}\n", argv[1], glyphname, glyphindex); + } + fprintf (tex_file, "\\DeclareTextGlyphY{%s}{uni%s}{%i}\n", argv[1], codepoint, glyphindex); + } + return 0; +} diff --git a/Master/texmf-dist/doc/fonts/libertine/libertine.pdf b/Master/texmf-dist/doc/fonts/libertine/libertine.pdf index e846f27b74e..1ec004e0faa 100644 Binary files a/Master/texmf-dist/doc/fonts/libertine/libertine.pdf and b/Master/texmf-dist/doc/fonts/libertine/libertine.pdf differ diff --git a/Master/texmf-dist/doc/fonts/libertine/libertine.tex b/Master/texmf-dist/doc/fonts/libertine/libertine.tex index 88d86c4be85..757b30c80b5 100644 --- a/Master/texmf-dist/doc/fonts/libertine/libertine.tex +++ b/Master/texmf-dist/doc/fonts/libertine/libertine.tex @@ -9,6 +9,7 @@ \usepackage{xcolor} \usepackage{longtable} \usepackage{multicol} +\newcommand{\typeone}{type~\liningnums{1}} \begin{document} \title{\LaTeX\ Support for Linux Libertine and Biolinum Fonts} \author{Bob Tennent\\ @@ -16,7 +17,9 @@ \date{\today} \maketitle \thispagestyle{empty} +\begin{small} \tableofcontents +\end{small} \sloppy \clearpage \section{Introduction} @@ -225,14 +228,15 @@ Three of the Libertine fonts were modified by Michael Sharpe (\url{msharpe@ucsd. \texttt{fontforge} to correct minor problems, including adding three missing ligatures (\emph{\bfseries fl, ffl, ffi}) to the bold-italic font. -The type~1 fonts were created using \verb|cfftot1| or \verb|fontforge|. -The internal font-family name of the type~1 -fonts has been changed to \verb|LinuxLibertineT| and \verb|LinuxBiolinumT| to avoid +The \typeone\ fonts were created using \verb|cfftot1| or \verb|fontforge|. +The internal font-family names of the \typeone\ +fonts have been changed to \verb|Linux Libertine T| and \verb|Linux Biolinum T| to avoid interfering with xe\LaTeX\ users who access system fonts. The support files were created using \verb|autoinst|. The support files are licensed under -the terms of the LaTeX Project Public License. +the terms of the LaTeX Project Public License. +See Appendix~\ref{impl} for more detailed discussion of the implementation. Thanks to Herbert Voss, Patrick Gundlach, Silke Hofstra, Marc Penninga, Michael Sharpe, Denis Bitouz\'{e}, and Khaled Hosny for their assistance. @@ -243,186 +247,186 @@ package is Bob Tennent (\url{rdt@cs.queensu.ca}) \appendix \setlength{\fboxrule}{0.1pt} -\section{Biolinum KeyCap Macros}\tt +\section{Biolinum KeyCap Macros}\small\tt \label{LKey} \subsection{Special Keys} \begin{longtable}[l]{lll} -Tux & \verb|\LKeyTux| & \huge\strut\fbox{\LKeyTux} \\ -Win & \verb|\LKeyWin| & \huge\strut\fbox{\LKeyWin} \\ -Menu & \verb|\LKeyMenu| & \huge\strut\fbox{\LKeyMenu} \\ -Strg & \verb|\LKeyStrg| & \huge\strut\fbox{\LKeyStrg} \\ -Ctrl & \verb|\LKeyCtrl| & \huge\strut\fbox{\LKeyCtrl} \\ -Alt & \verb|\LKeyAlt| & \huge\strut\fbox{\LKeyAlt} \\ -AltGr & \verb|\LKeyAltGr| & \huge\strut\fbox{\LKeyAltGr} \\ -Shift & \verb|\LKeyShift| & \huge\strut\fbox{\LKeyShift} \\ -Enter & \verb|\LKeyEnter| & \huge\strut\fbox{\LKeyEnter} \\ -Tab & \verb|\LKeyTab| & \huge\strut\fbox{\LKeyTab} \\ -CapsLock & \verb|\LKeyCapsLock| & \huge\strut\fbox{\LKeyCapsLock} \\ -Pos & \verb|\LKeyPos| & \huge\strut\fbox{\LKeyPos} \\ -Entf & \verb|\LKeyEntf| & \huge\strut\fbox{\LKeyEntf} \\ -Einf & \verb|\LKeyEinf| & \huge\strut\fbox{\LKeyEinf} \\ -Leer & \verb|\LKeyLeer| & \huge\strut\fbox{\LKeyLeer} \\ -Esc & \verb|\LKeyEsc| & \huge\strut\fbox{\LKeyEsc} \\ -Ende & \verb|\LKeyEnde| & \huge\strut\fbox{\LKeyEnde} \\ -Back & \verb|\LKeyBack| & \huge\strut\fbox{\LKeyBack} \\ -Up & \verb|\LKeyUp| & \huge\strut\fbox{\LKeyUp} \\ -Dwon & \verb|\LKeyDown| & \huge\strut\fbox{\LKeyDown} \\ -Left & \verb|\LKeyLeft| & \huge\strut\fbox{\LKeyLeft} \\ -Right & \verb|\LKeyRight| & \huge\strut\fbox{\LKeyRight} \\ -PgUp & \verb|\LKeyPgUp| & \huge\strut\fbox{\LKeyPgUp} \\ -PgDown & \verb|\LKeyPgDown| & \huge\strut\fbox{\LKeyPgDown} \\ -At & \verb|\LKeyAt| & \huge\strut\fbox{\LKeyAt} \\ -Fn & \verb|\LKeyFn| & \huge\strut\fbox{\LKeyFn} \\ -Home & \verb|\LKeyHome| & \huge\strut\fbox{\LKeyHome} \\ -Del & \verb|\LKeyDel| & \huge\strut\fbox{\LKeyDel} \\ -Space & \verb|\LKeySpace| & \huge\strut\fbox{\LKeySpace} \\ -ScreenUp & \verb|\LKeyScreenUp| & \huge\strut\fbox{\LKeyScreenUp} \\ -ScreenDown & \verb|\LKeyScreenDown| & \huge\strut\fbox{\LKeyScreenDown} \\ -Ins & \verb|\LKeyIns| & \huge\strut\fbox{\LKeyIns} \\ -End & \verb|\LKeyEnd| & \huge\strut\fbox{\LKeyEnd} \\ -GNU & \verb|\LKeyGNU| & \huge\strut\fbox{\LKeyGNU} \\ -PageUp & \verb|\LKeyPageUp| & \huge\strut\fbox{\LKeyPageUp} \\ -PageDown & \verb|\LKeyPageDown| & \huge\strut\fbox{\LKeyPageDown} \\ -Command & \verb|\LKeyCommand| & \huge\strut\fbox{\LKeyCommand} \\ -OptionKey & \verb|\LKeyOptionKey| & \huge\strut\fbox{\LKeyOptionKey} \\ +Tux & \verb|\LKeyTux| & \LARGE\strut\fbox{\LKeyTux} \\ +Win & \verb|\LKeyWin| & \LARGE\strut\fbox{\LKeyWin} \\ +Menu & \verb|\LKeyMenu| & \LARGE\strut\fbox{\LKeyMenu} \\ +Strg & \verb|\LKeyStrg| & \LARGE\strut\fbox{\LKeyStrg} \\ +Ctrl & \verb|\LKeyCtrl| & \LARGE\strut\fbox{\LKeyCtrl} \\ +Alt & \verb|\LKeyAlt| & \LARGE\strut\fbox{\LKeyAlt} \\ +AltGr & \verb|\LKeyAltGr| & \LARGE\strut\fbox{\LKeyAltGr} \\ +Shift & \verb|\LKeyShift| & \LARGE\strut\fbox{\LKeyShift} \\ +Enter & \verb|\LKeyEnter| & \LARGE\strut\fbox{\LKeyEnter} \\ +Tab & \verb|\LKeyTab| & \LARGE\strut\fbox{\LKeyTab} \\ +CapsLock & \verb|\LKeyCapsLock| & \LARGE\strut\fbox{\LKeyCapsLock} \\ +Pos & \verb|\LKeyPos| & \LARGE\strut\fbox{\LKeyPos} \\ +Entf & \verb|\LKeyEntf| & \LARGE\strut\fbox{\LKeyEntf} \\ +Einf & \verb|\LKeyEinf| & \LARGE\strut\fbox{\LKeyEinf} \\ +Leer & \verb|\LKeyLeer| & \LARGE\strut\fbox{\LKeyLeer} \\ +Esc & \verb|\LKeyEsc| & \LARGE\strut\fbox{\LKeyEsc} \\ +Ende & \verb|\LKeyEnde| & \LARGE\strut\fbox{\LKeyEnde} \\ +Back & \verb|\LKeyBack| & \LARGE\strut\fbox{\LKeyBack} \\ +Up & \verb|\LKeyUp| & \LARGE\strut\fbox{\LKeyUp} \\ +Dwon & \verb|\LKeyDown| & \LARGE\strut\fbox{\LKeyDown} \\ +Left & \verb|\LKeyLeft| & \LARGE\strut\fbox{\LKeyLeft} \\ +Right & \verb|\LKeyRight| & \LARGE\strut\fbox{\LKeyRight} \\ +PgUp & \verb|\LKeyPgUp| & \LARGE\strut\fbox{\LKeyPgUp} \\ +PgDown & \verb|\LKeyPgDown| & \LARGE\strut\fbox{\LKeyPgDown} \\ +At & \verb|\LKeyAt| & \LARGE\strut\fbox{\LKeyAt} \\ +Fn & \verb|\LKeyFn| & \LARGE\strut\fbox{\LKeyFn} \\ +Home & \verb|\LKeyHome| & \LARGE\strut\fbox{\LKeyHome} \\ +Del & \verb|\LKeyDel| & \LARGE\strut\fbox{\LKeyDel} \\ +Space & \verb|\LKeySpace| & \LARGE\strut\fbox{\LKeySpace} \\ +ScreenUp & \verb|\LKeyScreenUp| & \LARGE\strut\fbox{\LKeyScreenUp} \\ +ScreenDown & \verb|\LKeyScreenDown| & \LARGE\strut\fbox{\LKeyScreenDown} \\ +Ins & \verb|\LKeyIns| & \LARGE\strut\fbox{\LKeyIns} \\ +End & \verb|\LKeyEnd| & \LARGE\strut\fbox{\LKeyEnd} \\ +GNU & \verb|\LKeyGNU| & \LARGE\strut\fbox{\LKeyGNU} \\ +PageUp & \verb|\LKeyPageUp| & \LARGE\strut\fbox{\LKeyPageUp} \\ +PageDown & \verb|\LKeyPageDown| & \LARGE\strut\fbox{\LKeyPageDown} \\ +Command & \verb|\LKeyCommand| & \LARGE\strut\fbox{\LKeyCommand} \\ +OptionKey & \verb|\LKeyOptionKey| & \LARGE\strut\fbox{\LKeyOptionKey} \\ % -F1 & \verb|\LKeyF{1}| & \huge\strut\fbox{\LKeyF{1}} \\ -F2 & \verb|\LKeyF{2}| & \huge\strut\fbox{\LKeyF{2}} \\ -F3 & \verb|\LKeyF{3}| & \huge\strut\fbox{\LKeyF{3}} \\ -F4 & \verb|\LKeyF{4}| & \huge\strut\fbox{\LKeyF{4}} \\ -F5 & \verb|\LKeyF{5}| & \huge\strut\fbox{\LKeyF{5}} \\ -F6 & \verb|\LKeyF{6}| & \huge\strut\fbox{\LKeyF{6}} \\ -F7 & \verb|\LKeyF{7}| & \huge\strut\fbox{\LKeyF{7}} \\ -F8 & \verb|\LKeyF{8}| & \huge\strut\fbox{\LKeyF{8}} \\ -F9 & \verb|\LKeyF{9}| & \huge\strut\fbox{\LKeyF{9}} \\ -F10 & \verb|\LKeyF{10}| & \huge\strut\fbox{\LKeyF{10}} \\ -F11 & \verb|\LKeyF{11}| & \huge\strut\fbox{\LKeyF{11}} \\ -F12 & \verb|\LKeyF{12}| & \huge\strut\fbox{\LKeyF{12}} \\ -F13 & \verb|\LKeyF{13}| & \huge\strut\fbox{\LKeyF{13}} \\ -F14 & \verb|\LKeyF{14}| & \huge\strut\fbox{\LKeyF{14}} \\ -F15 & \verb|\LKeyF{15}| & \huge\strut\fbox{\LKeyF{15}} \\ -F16 & \verb|\LKeyF{16}| & \huge\strut\fbox{\LKeyF{16}} \\ +F1 & \verb|\LKeyF{1}| & \LARGE\strut\fbox{\LKeyF{1}} \\ +F2 & \verb|\LKeyF{2}| & \LARGE\strut\fbox{\LKeyF{2}} \\ +F3 & \verb|\LKeyF{3}| & \LARGE\strut\fbox{\LKeyF{3}} \\ +F4 & \verb|\LKeyF{4}| & \LARGE\strut\fbox{\LKeyF{4}} \\ +F5 & \verb|\LKeyF{5}| & \LARGE\strut\fbox{\LKeyF{5}} \\ +F6 & \verb|\LKeyF{6}| & \LARGE\strut\fbox{\LKeyF{6}} \\ +F7 & \verb|\LKeyF{7}| & \LARGE\strut\fbox{\LKeyF{7}} \\ +F8 & \verb|\LKeyF{8}| & \LARGE\strut\fbox{\LKeyF{8}} \\ +F9 & \verb|\LKeyF{9}| & \LARGE\strut\fbox{\LKeyF{9}} \\ +F10 & \verb|\LKeyF{10}| & \LARGE\strut\fbox{\LKeyF{10}} \\ +F11 & \verb|\LKeyF{11}| & \LARGE\strut\fbox{\LKeyF{11}} \\ +F12 & \verb|\LKeyF{12}| & \LARGE\strut\fbox{\LKeyF{12}} \\ +F13 & \verb|\LKeyF{13}| & \LARGE\strut\fbox{\LKeyF{13}} \\ +F14 & \verb|\LKeyF{14}| & \LARGE\strut\fbox{\LKeyF{14}} \\ +F15 & \verb|\LKeyF{15}| & \LARGE\strut\fbox{\LKeyF{15}} \\ +F16 & \verb|\LKeyF{16}| & \LARGE\strut\fbox{\LKeyF{16}} \\ % -PAD0 & \verb|\LKeyPad{1}| & \huge\strut\fbox{\LKeyPad{0}} \\ -PAD1 & \verb|\LKeyPad{1}| & \huge\strut\fbox{\LKeyPad{1}} \\ -PAD2 & \verb|\LKeyPad{2}| & \huge\strut\fbox{\LKeyPad{2}} \\ -PAD3 & \verb|\LKeyPad{3}| & \huge\strut\fbox{\LKeyPad{3}} \\ -PAD4 & \verb|\LKeyPad{4}| & \huge\strut\fbox{\LKeyPad{4}} \\ -PAD5 & \verb|\LKeyPad{5}| & \huge\strut\fbox{\LKeyPad{5}} \\ -PAD6 & \verb|\LKeyPad{6}| & \huge\strut\fbox{\LKeyPad{6}} \\ -PAD7 & \verb|\LKeyPad{7}| & \huge\strut\fbox{\LKeyPad{7}} \\ -PAD8 & \verb|\LKeyPad{8}| & \huge\strut\fbox{\LKeyPad{8}} \\ -PAD9 & \verb|\LKeyPad{9}| & \huge\strut\fbox{\LKeyPad{9}} \\ -PAD10 & \verb|\LKeyPad{10}| & \huge\strut\fbox{\LKeyPad{10}} \\ -PAD11 & \verb|\LKeyPad{11}| & \huge\strut\fbox{\LKeyPad{11}} \\ -PAD12 & \verb|\LKeyPad{12}| & \huge\strut\fbox{\LKeyPad{12}} \\ -PAD13 & \verb|\LKeyPad{13}| & \huge\strut\fbox{\LKeyPad{13}} \\ -PAD14 & \verb|\LKeyPad{14}| & \huge\strut\fbox{\LKeyPad{14}} \\ +PAD0 & \verb|\LKeyPad{1}| & \LARGE\strut\fbox{\LKeyPad{0}} \\ +PAD1 & \verb|\LKeyPad{1}| & \LARGE\strut\fbox{\LKeyPad{1}} \\ +PAD2 & \verb|\LKeyPad{2}| & \LARGE\strut\fbox{\LKeyPad{2}} \\ +PAD3 & \verb|\LKeyPad{3}| & \LARGE\strut\fbox{\LKeyPad{3}} \\ +PAD4 & \verb|\LKeyPad{4}| & \LARGE\strut\fbox{\LKeyPad{4}} \\ +PAD5 & \verb|\LKeyPad{5}| & \LARGE\strut\fbox{\LKeyPad{5}} \\ +PAD6 & \verb|\LKeyPad{6}| & \LARGE\strut\fbox{\LKeyPad{6}} \\ +PAD7 & \verb|\LKeyPad{7}| & \LARGE\strut\fbox{\LKeyPad{7}} \\ +PAD8 & \verb|\LKeyPad{8}| & \LARGE\strut\fbox{\LKeyPad{8}} \\ +PAD9 & \verb|\LKeyPad{9}| & \LARGE\strut\fbox{\LKeyPad{9}} \\ +PAD10 & \verb|\LKeyPad{10}| & \LARGE\strut\fbox{\LKeyPad{10}} \\ +PAD11 & \verb|\LKeyPad{11}| & \LARGE\strut\fbox{\LKeyPad{11}} \\ +PAD12 & \verb|\LKeyPad{12}| & \LARGE\strut\fbox{\LKeyPad{12}} \\ +PAD13 & \verb|\LKeyPad{13}| & \LARGE\strut\fbox{\LKeyPad{13}} \\ +PAD14 & \verb|\LKeyPad{14}| & \LARGE\strut\fbox{\LKeyPad{14}} \\ \end{longtable} \clearpage \subsection{General Keyboard} \begin{longtable}[l]{lll} -0 & \verb|\LKey{zero}|,\verb|\LKey{0}| & \huge\strut\fbox{\LKey{zero}} \\ -9 & \verb|\LKey{nine}|,\verb|\LKey{9}| & \huge\strut\fbox{\LKey{nine}} \\ -A & \verb|\LKey{A}| & \huge\strut\fbox{\LKey{A}} \\ -Z & \verb|\LKey{Z}| & \huge\strut\fbox{\LKey{Z}} \\ +0 & \verb|\LKey{zero}|,\verb|\LKey{0}| & \LARGE\strut\fbox{\LKey{zero}} \\ +9 & \verb|\LKey{nine}|,\verb|\LKey{9}| & \LARGE\strut\fbox{\LKey{nine}} \\ +A & \verb|\LKey{A}| & \LARGE\strut\fbox{\LKey{A}} \\ +Z & \verb|\LKey{Z}| & \LARGE\strut\fbox{\LKey{Z}} \\ \end{longtable} \subsection{Keyboard Shortcuts} \begin{longtable}[l]{lll} -Strg-A & \verb|\LKeyStrgX{A}| & \huge\strut\fbox{\LKeyStrgX{A}} \\ -Ctrl-A & \verb|\LKeyCtrlX{A}| & \huge\strut\fbox{\LKeyCtrlX{A}} \\ -Shift-A & \verb|\LKeyShiftX{A}| & \huge\strut\fbox{\LKeyShiftX{A}} \\ -Alt-A & \verb|\LKeyAltX{A}| & \huge\strut\fbox{\LKeyAltX{A}} \\ -AltGr-A & \verb|\LKeyAltGrX{A}| & \huge\strut\fbox{\LKeyAltGrX{A}} \\ -Shift-Strg-A & \verb|\LKeyShiftStrgX{A}| & \huge\strut\fbox{\LKeyShiftStrgX{A}} \\ -Shift-Ctrl-A & \verb|\LKeyShiftCtrlX{A}| & \huge\strut\fbox{\LKeyShiftCtrlX{A}} \\ -Shift-Alt-A & \verb|\LKeyShiftAltX{A}| & \huge\strut\fbox{\LKeyShiftAltX{A}} \\ -Shift-AltGr-A & \verb|\LKeyShiftAltGrX{A}| & \huge\strut\fbox{\LKeyShiftAltGrX{A}} \\ -Strg-Alt-A & \verb|\LKeyStrgAltX{A}| & \huge\strut\fbox{\LKeyStrgAltX{A}} \\ -Strg-Alt-Entf & \verb|\LKeyStrgAltEnt| & \huge\strut\fbox{\LKeyStrgAltEnt} \\ -Strg-Alt-Entf & \verb|\LKeyReset| & \huge\strut\fbox{\LKeyReset} \\ -Ctrl-Alt-A & \verb|\LKeyCtrlAltX{A}| & \huge\strut\fbox{\LKeyCtrlAltX{A}} \\ -Ctrl-Alt-Entf & \verb|\LKeyCtrlAltEnt| & \huge\strut\fbox{\LKeyCtrlAltEnt} \\ +Strg-A & \verb|\LKeyStrgX{A}| & \LARGE\strut\fbox{\LKeyStrgX{A}} \\ +Ctrl-A & \verb|\LKeyCtrlX{A}| & \LARGE\strut\fbox{\LKeyCtrlX{A}} \\ +Shift-A & \verb|\LKeyShiftX{A}| & \LARGE\strut\fbox{\LKeyShiftX{A}} \\ +Alt-A & \verb|\LKeyAltX{A}| & \LARGE\strut\fbox{\LKeyAltX{A}} \\ +AltGr-A & \verb|\LKeyAltGrX{A}| & \LARGE\strut\fbox{\LKeyAltGrX{A}} \\ +Shift-Strg-A & \verb|\LKeyShiftStrgX{A}| & \LARGE\strut\fbox{\LKeyShiftStrgX{A}} \\ +Shift-Ctrl-A & \verb|\LKeyShiftCtrlX{A}| & \LARGE\strut\fbox{\LKeyShiftCtrlX{A}} \\ +Shift-Alt-A & \verb|\LKeyShiftAltX{A}| & \LARGE\strut\fbox{\LKeyShiftAltX{A}} \\ +Shift-AltGr-A & \verb|\LKeyShiftAltGrX{A}| & \LARGE\strut\fbox{\LKeyShiftAltGrX{A}} \\ +Strg-Alt-A & \verb|\LKeyStrgAltX{A}| & \LARGE\strut\fbox{\LKeyStrgAltX{A}} \\ +Strg-Alt-Entf & \verb|\LKeyStrgAltEnt| & \LARGE\strut\fbox{\LKeyStrgAltEnt} \\ +Strg-Alt-Entf & \verb|\LKeyReset| & \LARGE\strut\fbox{\LKeyReset} \\ +Ctrl-Alt-A & \verb|\LKeyCtrlAltX{A}| & \LARGE\strut\fbox{\LKeyCtrlAltX{A}} \\ +Ctrl-Alt-Entf & \verb|\LKeyCtrlAltEnt| & \LARGE\strut\fbox{\LKeyCtrlAltEnt} \\ % -Alt-F1 & \verb|\LKeyAltF{1}| & \huge\strut\fbox{\LKeyAltF{1}} \\ -Alt-F2 & \verb|\LKeyAltF{2}| & \huge\strut\fbox{\LKeyAltF{2}} \\ -Alt-F3 & \verb|\LKeyAltF{3}| & \huge\strut\fbox{\LKeyAltF{3}} \\ -Alt-F4 & \verb|\LKeyAltF{4}| & \huge\strut\fbox{\LKeyAltF{4}} \\ -Alt-F5 & \verb|\LKeyAltF{5}| & \huge\strut\fbox{\LKeyAltF{5}} \\ -Alt-F6 & \verb|\LKeyAltF{6}| & \huge\strut\fbox{\LKeyAltF{6}} \\ -Alt-F7 & \verb|\LKeyAltF{7}| & \huge\strut\fbox{\LKeyAltF{7}} \\ -Alt-F8 & \verb|\LKeyAltF{8}| & \huge\strut\fbox{\LKeyAltF{8}} \\ -Alt-F9 & \verb|\LKeyAltF{9}| & \huge\strut\fbox{\LKeyAltF{9}} \\ -Alt-F10 & \verb|\LKeyAltF{10}| & \huge\strut\fbox{\LKeyAltF{10}} \\ -Alt-F11 & \verb|\LKeyAltF{11}| & \huge\strut\fbox{\LKeyAltF{11}} \\ -Alt-F12 & \verb|\LKeyAltF{12}| & \huge\strut\fbox{\LKeyAltF{12}} \\ -Alt-F13 & \verb|\LKeyAltF{13}| & \huge\strut\fbox{\LKeyAltF{13}} \\ -Alt-F14 & \verb|\LKeyAltF{14}| & \huge\strut\fbox{\LKeyAltF{14}} \\ -Alt-F15 & \verb|\LKeyAltF{15}| & \huge\strut\fbox{\LKeyAltF{15}} \\ -Alt-F16 & \verb|\LKeyAltF{16}| & \huge\strut\fbox{\LKeyAltF{16}} \\ +Alt-F1 & \verb|\LKeyAltF{1}| & \LARGE\strut\fbox{\LKeyAltF{1}} \\ +Alt-F2 & \verb|\LKeyAltF{2}| & \LARGE\strut\fbox{\LKeyAltF{2}} \\ +Alt-F3 & \verb|\LKeyAltF{3}| & \LARGE\strut\fbox{\LKeyAltF{3}} \\ +Alt-F4 & \verb|\LKeyAltF{4}| & \LARGE\strut\fbox{\LKeyAltF{4}} \\ +Alt-F5 & \verb|\LKeyAltF{5}| & \LARGE\strut\fbox{\LKeyAltF{5}} \\ +Alt-F6 & \verb|\LKeyAltF{6}| & \LARGE\strut\fbox{\LKeyAltF{6}} \\ +Alt-F7 & \verb|\LKeyAltF{7}| & \LARGE\strut\fbox{\LKeyAltF{7}} \\ +Alt-F8 & \verb|\LKeyAltF{8}| & \LARGE\strut\fbox{\LKeyAltF{8}} \\ +Alt-F9 & \verb|\LKeyAltF{9}| & \LARGE\strut\fbox{\LKeyAltF{9}} \\ +Alt-F10 & \verb|\LKeyAltF{10}| & \LARGE\strut\fbox{\LKeyAltF{10}} \\ +Alt-F11 & \verb|\LKeyAltF{11}| & \LARGE\strut\fbox{\LKeyAltF{11}} \\ +Alt-F12 & \verb|\LKeyAltF{12}| & \LARGE\strut\fbox{\LKeyAltF{12}} \\ +Alt-F13 & \verb|\LKeyAltF{13}| & \LARGE\strut\fbox{\LKeyAltF{13}} \\ +Alt-F14 & \verb|\LKeyAltF{14}| & \LARGE\strut\fbox{\LKeyAltF{14}} \\ +Alt-F15 & \verb|\LKeyAltF{15}| & \LARGE\strut\fbox{\LKeyAltF{15}} \\ +Alt-F16 & \verb|\LKeyAltF{16}| & \LARGE\strut\fbox{\LKeyAltF{16}} \\ % -Strg-Alt-F1 & \verb|\LKeyStrgAltF{1}| & \huge\strut\fbox{\LKeyStrgAltF{1}} \\ -Strg-Alt-F2 & \verb|\LKeyStrgAltF{2}| & \huge\strut\fbox{\LKeyStrgAltF{2}} \\ -Strg-Alt-F3 & \verb|\LKeyStrgAltF{3}| & \huge\strut\fbox{\LKeyStrgAltF{3}} \\ -Strg-Alt-F4 & \verb|\LKeyStrgAltF{4}| & \huge\strut\fbox{\LKeyStrgAltF{4}} \\ -Strg-Alt-F5 & \verb|\LKeyStrgAltF{5}| & \huge\strut\fbox{\LKeyStrgAltF{5}} \\ -Strg-Alt-F6 & \verb|\LKeyStrgAltF{6}| & \huge\strut\fbox{\LKeyStrgAltF{6}} \\ -Strg-Alt-F7 & \verb|\LKeyStrgAltF{7}| & \huge\strut\fbox{\LKeyStrgAltF{7}} \\ -Strg-Alt-F8 & \verb|\LKeyStrgAltF{8}| & \huge\strut\fbox{\LKeyStrgAltF{8}} \\ -Strg-Alt-F9 & \verb|\LKeyStrgAltF{9}| & \huge\strut\fbox{\LKeyStrgAltF{9}} \\ -Strg-Alt-F10 & \verb|\LKeyStrgAltF{10}| & \huge\strut\fbox{\LKeyStrgAltF{10}} \\ -Strg-Alt-F11 & \verb|\LKeyStrgAltF{11}| & \huge\strut\fbox{\LKeyStrgAltF{11}} \\ -Strg-Alt-F12 & \verb|\LKeyStrgAltF{12}| & \huge\strut\fbox{\LKeyStrgAltF{12}} \\ -Strg-Alt-F13 & \verb|\LKeyStrgAltF{13}| & \huge\strut\fbox{\LKeyStrgAltF{13}} \\ -Strg-Alt-F14 & \verb|\LKeyStrgAltF{14}| & \huge\strut\fbox{\LKeyStrgAltF{14}} \\ -Strg-Alt-F15 & \verb|\LKeyStrgAltF{15}| & \huge\strut\fbox{\LKeyStrgAltF{15}} \\ -Strg-Alt-F16 & \verb|\LKeyStrgAltF{16}| & \huge\strut\fbox{\LKeyStrgAltF{16}} \\ -Ctrl-Alt-F1 & \verb|\LKeyCtrlAltF{1}| & \huge\strut\fbox{\LKeyCtrlAltF{1}} \\ -Ctrl-Alt-F2 & \verb|\LKeyCtrlAltF{2}| & \huge\strut\fbox{\LKeyCtrlAltF{2}} \\ -Ctrl-Alt-F3 & \verb|\LKeyCtrlAltF{3}| & \huge\strut\fbox{\LKeyCtrlAltF{3}} \\ -Ctrl-Alt-F4 & \verb|\LKeyCtrlAltF{4}| & \huge\strut\fbox{\LKeyCtrlAltF{4}} \\ -Ctrl-Alt-F5 & \verb|\LKeyCtrlAltF{5}| & \huge\strut\fbox{\LKeyCtrlAltF{5}} \\ -Ctrl-Alt-F6 & \verb|\LKeyCtrlAltF{6}| & \huge\strut\fbox{\LKeyCtrlAltF{6}} \\ -Ctrl-Alt-F7 & \verb|\LKeyCtrlAltF{7}| & \huge\strut\fbox{\LKeyCtrlAltF{7}} \\ -Ctrl-Alt-F8 & \verb|\LKeyCtrlAltF{8}| & \huge\strut\fbox{\LKeyCtrlAltF{8}} \\ -Ctrl-Alt-F9 & \verb|\LKeyCtrlAltF{9}| & \huge\strut\fbox{\LKeyCtrlAltF{9}} \\ -Ctrl-Alt-F10 & \verb|\LKeyCtrlAltF{10}| & \huge\strut\fbox{\LKeyCtrlAltF{10}} \\ -Ctrl-Alt-F11 & \verb|\LKeyCtrlAltF{11}| & \huge\strut\fbox{\LKeyCtrlAltF{11}} \\ -Ctrl-Alt-F12 & \verb|\LKeyCtrlAltF{12}| & \huge\strut\fbox{\LKeyCtrlAltF{12}} \\ -Ctrl-Alt-F13 & \verb|\LKeyCtrlAltF{13}| & \huge\strut\fbox{\LKeyCtrlAltF{13}} \\ -Ctrl-Alt-F14 & \verb|\LKeyCtrlAltF{14}| & \huge\strut\fbox{\LKeyCtrlAltF{14}} \\ -Ctrl-Alt-F15 & \verb|\LKeyCtrlAltF{15}| & \huge\strut\fbox{\LKeyCtrlAltF{15}} \\ -Ctrl-Alt-F16 & \verb|\LKeyCtrlAltF{16}| & \huge\strut\fbox{\LKeyCtrlAltF{16}} \\ +Strg-Alt-F1 & \verb|\LKeyStrgAltF{1}| & \LARGE\strut\fbox{\LKeyStrgAltF{1}} \\ +Strg-Alt-F2 & \verb|\LKeyStrgAltF{2}| & \LARGE\strut\fbox{\LKeyStrgAltF{2}} \\ +Strg-Alt-F3 & \verb|\LKeyStrgAltF{3}| & \LARGE\strut\fbox{\LKeyStrgAltF{3}} \\ +Strg-Alt-F4 & \verb|\LKeyStrgAltF{4}| & \LARGE\strut\fbox{\LKeyStrgAltF{4}} \\ +Strg-Alt-F5 & \verb|\LKeyStrgAltF{5}| & \LARGE\strut\fbox{\LKeyStrgAltF{5}} \\ +Strg-Alt-F6 & \verb|\LKeyStrgAltF{6}| & \LARGE\strut\fbox{\LKeyStrgAltF{6}} \\ +Strg-Alt-F7 & \verb|\LKeyStrgAltF{7}| & \LARGE\strut\fbox{\LKeyStrgAltF{7}} \\ +Strg-Alt-F8 & \verb|\LKeyStrgAltF{8}| & \LARGE\strut\fbox{\LKeyStrgAltF{8}} \\ +Strg-Alt-F9 & \verb|\LKeyStrgAltF{9}| & \LARGE\strut\fbox{\LKeyStrgAltF{9}} \\ +Strg-Alt-F10 & \verb|\LKeyStrgAltF{10}| & \LARGE\strut\fbox{\LKeyStrgAltF{10}} \\ +Strg-Alt-F11 & \verb|\LKeyStrgAltF{11}| & \LARGE\strut\fbox{\LKeyStrgAltF{11}} \\ +Strg-Alt-F12 & \verb|\LKeyStrgAltF{12}| & \LARGE\strut\fbox{\LKeyStrgAltF{12}} \\ +Strg-Alt-F13 & \verb|\LKeyStrgAltF{13}| & \LARGE\strut\fbox{\LKeyStrgAltF{13}} \\ +Strg-Alt-F14 & \verb|\LKeyStrgAltF{14}| & \LARGE\strut\fbox{\LKeyStrgAltF{14}} \\ +Strg-Alt-F15 & \verb|\LKeyStrgAltF{15}| & \LARGE\strut\fbox{\LKeyStrgAltF{15}} \\ +Strg-Alt-F16 & \verb|\LKeyStrgAltF{16}| & \LARGE\strut\fbox{\LKeyStrgAltF{16}} \\ +Ctrl-Alt-F1 & \verb|\LKeyCtrlAltF{1}| & \LARGE\strut\fbox{\LKeyCtrlAltF{1}} \\ +Ctrl-Alt-F2 & \verb|\LKeyCtrlAltF{2}| & \LARGE\strut\fbox{\LKeyCtrlAltF{2}} \\ +Ctrl-Alt-F3 & \verb|\LKeyCtrlAltF{3}| & \LARGE\strut\fbox{\LKeyCtrlAltF{3}} \\ +Ctrl-Alt-F4 & \verb|\LKeyCtrlAltF{4}| & \LARGE\strut\fbox{\LKeyCtrlAltF{4}} \\ +Ctrl-Alt-F5 & \verb|\LKeyCtrlAltF{5}| & \LARGE\strut\fbox{\LKeyCtrlAltF{5}} \\ +Ctrl-Alt-F6 & \verb|\LKeyCtrlAltF{6}| & \LARGE\strut\fbox{\LKeyCtrlAltF{6}} \\ +Ctrl-Alt-F7 & \verb|\LKeyCtrlAltF{7}| & \LARGE\strut\fbox{\LKeyCtrlAltF{7}} \\ +Ctrl-Alt-F8 & \verb|\LKeyCtrlAltF{8}| & \LARGE\strut\fbox{\LKeyCtrlAltF{8}} \\ +Ctrl-Alt-F9 & \verb|\LKeyCtrlAltF{9}| & \LARGE\strut\fbox{\LKeyCtrlAltF{9}} \\ +Ctrl-Alt-F10 & \verb|\LKeyCtrlAltF{10}| & \LARGE\strut\fbox{\LKeyCtrlAltF{10}} \\ +Ctrl-Alt-F11 & \verb|\LKeyCtrlAltF{11}| & \LARGE\strut\fbox{\LKeyCtrlAltF{11}} \\ +Ctrl-Alt-F12 & \verb|\LKeyCtrlAltF{12}| & \LARGE\strut\fbox{\LKeyCtrlAltF{12}} \\ +Ctrl-Alt-F13 & \verb|\LKeyCtrlAltF{13}| & \LARGE\strut\fbox{\LKeyCtrlAltF{13}} \\ +Ctrl-Alt-F14 & \verb|\LKeyCtrlAltF{14}| & \LARGE\strut\fbox{\LKeyCtrlAltF{14}} \\ +Ctrl-Alt-F15 & \verb|\LKeyCtrlAltF{15}| & \LARGE\strut\fbox{\LKeyCtrlAltF{15}} \\ +Ctrl-Alt-F16 & \verb|\LKeyCtrlAltF{16}| & \LARGE\strut\fbox{\LKeyCtrlAltF{16}} \\ \end{longtable} \clearpage \subsection{Mouse Buttons (Three-Button Mice)} \begin{longtable}[l]{lll} -Empty & \verb|\LMouseEmpty| & \huge\strut\fbox{\LMouseEmpty} \\ -No & \verb|\LMouseN| & \huge\strut\fbox{\LMouseN} \\ -Left & \verb|\LMouseL| & \huge\strut\fbox{\LMouseL} \\ -Middle & \verb|\LMouseM| & \huge\strut\fbox{\LMouseM} \\ -Right & \verb|\LMouseR| & \huge\strut\fbox{\LMouseR} \\ -LeftRight & \verb|\LMouseLR| & \huge\strut\fbox{\LMouseLR} \\ +Empty & \verb|\LMouseEmpty| & \LARGE\strut\fbox{\LMouseEmpty} \\ +No & \verb|\LMouseN| & \LARGE\strut\fbox{\LMouseN} \\ +Left & \verb|\LMouseL| & \LARGE\strut\fbox{\LMouseL} \\ +Middle & \verb|\LMouseM| & \LARGE\strut\fbox{\LMouseM} \\ +Right & \verb|\LMouseR| & \LARGE\strut\fbox{\LMouseR} \\ +LeftRight & \verb|\LMouseLR| & \LARGE\strut\fbox{\LMouseLR} \\ \end{longtable} \subsection{Mouse Buttons (Two-Button Mice)} \begin{longtable}[l]{lll} -Empty & \verb|\LMouseIIEmpty| & \huge\strut\fbox{\LMouseIIEmpty} \\ -No & \verb|\LMouseIIN| & \huge\strut\fbox{\LMouseIIN} \\ -Left & \verb|\LMouseIIL| & \huge\strut\fbox{\LMouseIIL} \\ -Right & \verb|\LMouseIIR| & \huge\strut\fbox{\LMouseIIR} \\ -LeftRight & \verb|\LMouseIILR| & \huge\strut\fbox{\LMouseIILR} \\ +Empty & \verb|\LMouseIIEmpty| & \LARGE\strut\fbox{\LMouseIIEmpty} \\ +No & \verb|\LMouseIIN| & \LARGE\strut\fbox{\LMouseIIN} \\ +Left & \verb|\LMouseIIL| & \LARGE\strut\fbox{\LMouseIIL} \\ +Right & \verb|\LMouseIIR| & \LARGE\strut\fbox{\LMouseIIR} \\ +LeftRight & \verb|\LMouseIILR| & \LARGE\strut\fbox{\LMouseIILR} \\ \end{longtable} \clearpage -\section{Linux Biolinum Keyboard Glyphs}\tt +\section{Linux Biolinum Keyboard Glyphs}\small\tt \label{KeyboardGlyphs} -\renewcommand\DeclareTextGlyphY[3]{\makebox[2.5cm]{\huge\strut\fbox{\biolinumKeyGlyph{#2}}} #2\\}% +\renewcommand\DeclareTextGlyphY[3]{\makebox[2.5cm]{\LARGE\strut\fbox{\biolinumKeyGlyph{#2}}} #2\\}% \catcode`\_=12% \begin{multicols}{2} \par\noindent @@ -434,7 +438,7 @@ LeftRight & \verb|\LMouseIILR| & \huge\strut\fbox{\LMouseIILR} \\ \section{The Linux Libertine Initial Font}\tt \label{InitialGlyphs} \subsection{A Selection of Glyphs} -\renewcommand\DeclareTextGlyphY[3]{\makebox[2.0cm]{\huge\strut\fbox{\libertineInitialGlyph{#2}}} #2\\}% +\renewcommand\DeclareTextGlyphY[3]{\makebox[2.0cm]{\LARGE\strut\fbox{\libertineInitialGlyph{#2}}} #2\\}% \catcode`\_=12% \begin{multicols}{4} \par\noindent @@ -508,6 +512,191 @@ nulla. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ri mus. Aliquam tincidunt urna. Nulla ullamcorper vestibulum turpis. Pellentesque cursus luctus mauris. +\clearpage +\section{Implementation Notes} +\label{impl} + +\subsection{Aims} + +Modern opentype and truetype fonts are not directly usable with traditional +typesetting engines such as \LaTeX\ or pdf\LaTeX. On the other hand, documents +which use traditional font-selection mechanisms cannot be processed by +emerging new technologies such as xe\LaTeX\ and lua\LaTeX. One of the primary aims +of the \texttt{libertine} package is, as much as possible, to allow documents +to use Linux Libertine and Biolinum fonts compatibly with \emph{all} current \LaTeX\ +engines. Another aim is maintainability: it should be possible to update +the package easily when updated fonts become available. + +\subsection{The Fonts} + +Opentype Linux Libertine and Biolinum fonts (with \texttt{otf} extensions) may be downloaded from +\url{http://sourceforge.net/projects/linuxlibertine/files/linuxlibertine/}. +There are a few problems with the current versions of the fonts (5.3.0). +\begin{itemize} +\item +Currently, there is no bold-italic variant of the Biolinum family; an \emph{ad hoc} +solution is to use \texttt{fontforge} to generate an artificially slanted +version of the bold variant. +\item Slanted (oblique) variants are not available +from the upstream site. These could be +generated easily but we have decided not to attempt to support slanted +variants for the fonts; the italic (or fake-italic) variants will be silently substituted. +\item +The bold-italic variant of the Libertine family is missing +several ligatures; the ligatures would be taken from the +regular-weight italic variant, which is unacceptable. +Michael Sharpe (\url{msharpe@ucsd.edu}) has generated +the missing glyphs (\emph{\bfseries fl, ffl, ffi}) and added them to the \texttt{otf} +file. + +\item Currently, Libertine Monospaced does not have bold, italic or bold-italic +variants; \texttt{fontforge} has been used to generate artificially emboldened and/or slanted +variants. + +\item +When several of the fonts are opened in \texttt{fontforge}, warning +messages are generated about errors in the glyph programs. Some of +these are sufficient to cause failures or even crashes when conversion +to \typeone\ format is attempted using \texttt{cfftot1}. Michael +Sharpe has corrected the most serious of these. In some cases, +\texttt{fontforge} +has been used to convert the format, as it is less sensitive than \texttt{cfftot1} +to faulty glyph programs. +\end{itemize} +In some \TeX\ distributions, the opentype and \typeone\ fonts are installed as system fonts, +and xe\LaTeX\ or lua\LaTeX\ users may attempt to select the opentype fonts directly by +their Postscript FontName. If \typeone\ versions with the \emph{same} FontName +have been installed, the latter may be selected by the system font-selection +mechanism. To avoid this, it is appropriate to modify the +FontNames of the \texttt{otf} fonts before converting to \typeone\ +format (but not \emph{distribute} these re-named \texttt{otf} fonts). +The \typeone\ Libertine and Biolinum fonts distributed in this +package have had the \texttt{O} (for Opentype) in their FontNames replaced by +\texttt{T} +(for Type~\liningnums{1}) using \texttt{fontforge}. This font-renaming +must be done \emph{before} generating the \LaTeX-support files, or else +\texttt{dvi2ps} will fail. + + +\subsection{Generation of Support Files} + +The \texttt{otftotfm} tool of the \texttt{lcdftypetools} +package and the \texttt{autoinst} script of the \texttt{fontools} package are convenient tools +for generating \LaTeX\ support files for opentype families. +To generate a \texttt{texmf} tree for the \texttt{libertine} +package on a Unix-like system, one puts all the \texttt{otf} files to be supported for \LaTeX\ or +pdf\LaTeX\footnote{Currently, all of the opentype fonts except the Initial and Keyboard fonts are supported +for \LaTeX\ and pdf\LaTeX.} into a directory, creates a \texttt{texmf} sub-directory and executes +\begin{verbatim} + autoinst -target=./texmf -encoding=OT1,T1,LY1,TS1 \ + -vendor=public -typeface=libertine -noupdmap \ + -noswash -notitling -noornaments \ + *.otf +\end{verbatim} +Then move to the \texttt{texmf} directory and do +\begin{verbatim} + rm -rf fonts/pl fonts/vpl fonts/truetype fonts/type42 + mv fonts/enc/dvips/public fonts/enc/dvips/libertine + mv fonts/map/dvips/public fonts/map/dvips/libertine +\end{verbatim} +to delete irrelevant sub-directories and re-name directories as required by +TeXLive. + +A few additional steps are needed. + +\subsubsection{Renaming of the Encoding Files} +\texttt{otftotfm} generates encoding files with filenames of the form \verb|a_xxxxxx|; +to avoid filename conflicts with other packages, the files have been re-named +to have a distinctive prefix using the +command +\begin{verbatim} + rename_enc libertine lbtn +\end{verbatim} +executed in the \texttt{texmf} directory, where +\verb|rename_enc| is a PERL script in +\begin{verbatim} + doc/fonts/libertine +\end{verbatim} +Then in \verb|fonts/map/dvips/libertine|, +the map files can be concatenated into a single file \verb|libertine.map| and +all instances of \verb|a_| changed to \verb|lbtn_|; the +original \verb|map| files have been deleted. + +\subsubsection{Installation of the Fonts} + +The \texttt{otf} files after corrections (but before re-naming) are +installed into the \texttt{texmf} tree in the following sub-directory: +\begin{verbatim} + fonts/opentype/public/libertine/ +\end{verbatim} +The \texttt{autoinst} script will normally use \texttt{cfftot1} +to create \verb|pfb| files with appropriate internal names +and filenames; but if more than one font family has been processed +or if \texttt{cfftot1} runs into trouble, this may not happen. In that +case, one must do the conversion font-by-font using either \texttt{cfftot1} +or \texttt{fontforge}; the appropriate internal names and filenames are as specified in +\verb|libertine.map|. +The \texttt{pfb} files are installed into the \texttt{texmf} tree in the following +sub-directory: +\begin{verbatim} + fonts/type1/public/libertine/ +\end{verbatim} + +\subsubsection{The \texttt{fd} Files} +The \texttt{autoinst} script generates a large number of files with +\verb|.fd| extensions in the \verb|tex/latex/libertine/| directory. +Recent versions will generate ``silent substitution'' +rules for mapping \texttt{sl} to \texttt{it} and \texttt{bx} to \texttt{b}; +if not, these have to be added by hand. + +\subsubsection{The \texttt{sty} Files} +The \texttt{autoinst} script generates files with \verb|.sty| extensions +in the \verb|tex/latex/libertine/| directory for each of the font families; +but these are useless for xe\LaTeX\ and lua\LaTeX\ users and have been deleted. +A \verb|libertine.sty| file has been generated ``by hand'' and is discussed in Section~\ref{sty}. + +\subsection{\texttt{libertine.sty}} +\label{sty} +This file implements the support for both \typeone\ and opentype usage; the choice +is initially determined by the processing engine, but as some xe\LaTeX\ and lua\LaTeX\ +users may prefer to avoid \texttt{fontspec}, a \texttt{type1} (or \texttt{nofontspec}) option +is provided to change this. + +The \verb\...@scale\ commands are invoked in the \verb\fd\ files or when +specifying fonts with \texttt{fontspec}; only the scale factors for Biolinum and +Libertine Mono are adjustable using option parameters. + +If the \texttt{sfdefault} option has been used, the \verb|\familydefault| +is set to the \emph{current} value of \verb|\sfdefault| (with no change to +\verb|\rmdefault|). + +The use of \verb|\newfontfamily| rather than \verb|\addfontfeatures| avoids +problems in the implementation of the latter for some fonts (including, unfortunately, +Libertine). + +For the Mono and Keyboard font families, the Ligature and SmallCap features must be turned off. + +Commands to switch locally to oldstyle/lining/proportional/tabular numbers +are defined; the definitions of \verb|\oldstylenums| must deal with possible +pre-existing definitions. + +To implement the \verb|\...Glyph| commands, it is necessary to, essentially, iterate +through all the \emph{defined} glyphs in the relevant opentype font. This is implemented +by creating files \verb|LinLibertine_R.tex|, \verb|\LinBiolinum_R.tex|, +\verb|LinBiolinum_K.tex| and \verb|LinLibertine_I.tex| which declare the glyph name (when available), +unicode code point, and glyph index for every defined glyph. +These files are created by using \texttt{fontforge} to generate +a ``glyph map'' file (extension \verb|.g2n|) for the relevant font and then the small \texttt{C} program +\verb|doc/fonts/libertine/g2ntotex.c| will convert this into the required \verb|.tex| file. + +The final step in \verb|libertine.sty| is to remove all default font features +in \texttt{fontspec} in case other fonts will be activated by the user. + +\subsection{Additional \texttt{sty} Files} +The \verb|tex/latex/libertine/| directory also contains three ``front-end'' files +\verb|libertineotf.sty|, \verb|libertine-type1.sty|, and \verb|biolinum-type1.sty|, +which provide partial compatibility with obsolete packages, primarily for legacy +documents. Explicit options are passed on to \verb|libertine.sty|. \end{document} diff --git a/Master/texmf-dist/doc/fonts/libertine/rename_enc b/Master/texmf-dist/doc/fonts/libertine/rename_enc new file mode 100644 index 00000000000..3ee179b0ed6 --- /dev/null +++ b/Master/texmf-dist/doc/fonts/libertine/rename_enc @@ -0,0 +1,21 @@ +#!/usr/bin/perl -w +# Copyright 2012 Ben Hall bhall@cs.queensu.ca +# School of Computing, Queen's University +# This program is free software, licensed under the GNU GPL, >=2.0. +# This software comes with absolutely NO WARRANTY. +# +# Usage: rename_enc fontdirectory fontabbreviation +# +# Grab font dir and font abbreviation from command line +my $dir = $ARGV[0]; +my $font = $ARGV[1]; +@files = ; +foreach $file (@files) { +# print $file . "\n"; #echo file name for testing. + # rename each file with name of the form a_xxxxxx.enc + # to $font_xxxxxx.enc + $_ = $file; + $prefix = $font . "_"; + s/a_/$prefix/; + `mv $file $_`; +} -- cgit v1.2.3