%% Copyright 2011 Pavel Farar % % 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 Pavel Farar \documentclass[oneside]{scrartcl} \usepackage[utf8]{inputenc} \usepackage[czech, polutonikogreek, english]{babel} \usepackage[IL2, T1]{fontenc} \usepackage{DejaVuSans} \usepackage{DejaVuSansMono} \usepackage{DejaVuSerif} \usepackage{booktabs} \usepackage{textcomp} \usepackage[colorlinks]{hyperref} \hypersetup{pdfauthor={Pavel Farar}} \usepackage{graphicx} \title{Support package for DejaVu fonts} \author{Pavel Farář\\ \href{mailto:pavel.farar@centrum.cz}{pavel.farar@centrum.cz}} \newcommand{\myBig}{\Huge} \newcommand{\myExperimental}{\color{blue}} \begin{document} \selectlanguage{english}% \maketitle \tableofcontents \section{Introduction} This package contains the LaTeX support for the DejaVu fonts. These fonts are derived from the Vera fonts and there are already other Vera derivatives on CTAN (Bera and Arev). The main reason why I created support for the DejaVu fonts is that I am not satisfied with the Bera and Arev fonts for the Czech and Slovak languages. However, other people should also benefit from this package---the fonts support more languages and they have several additional styles. The following figures show all supported styles. There are four basic and four condensed styles for DejaVu Sans and DejaVu Serif. DejaVu Sans Mono has four basic styles. The additional styles not present in the original Vera fonts are in blue color and they are considered experimental. % !!! Use slanted (not "it") in the following table \begin{figure}[!htb] \centering{% \begin{tabular}{ll} {\usefont{T1}{DejaVuSans-TLF}{m}{n}DejaVu Sans} & {\usefont{T1}{DejaVuSans-TLF}{b}{n}DejaVu Sans Bold} \\ {\usefont{T1}{DejaVuSans-TLF}{m}{sl}DejaVu Sans Oblique} & {\usefont{T1}{DejaVuSans-TLF}{b}{sl}DejaVu Sans Bold Oblique} \\ {\usefont{T1}{DejaVuSans-TLF}{c}{n}\myExperimental DejaVu Sans Condensed} & {\usefont{T1}{DejaVuSans-TLF}{bc}{n}\myExperimental DejaVu Sans Condensed Bold} \\ {\usefont{T1}{DejaVuSans-TLF}{c}{sl}\myExperimental DejaVu Sans Condensed Oblique} & {\usefont{T1}{DejaVuSans-TLF}{bc}{sl}\myExperimental DejaVu Sans Condensed Bold Oblique} \\ {\usefont{T1}{DejaVuSans-TLF}{el}{n}\myExperimental DejaVu Sans ExtraLight} & ~ \end{tabular} \caption{The styles of DejaVu Sans}} \end{figure} \begin{figure}[!htb] \centering{% \begin{tabular}{ll} {\usefont{T1}{DejaVuSerif-TLF}{m}{n}DejaVu Serif} & {\usefont{T1}{DejaVuSerif-TLF}{b}{n}DejaVu Serif Bold} \\ {\usefont{T1}{DejaVuSerif-TLF}{m}{it}\myExperimental DejaVu Serif Italic} & {\usefont{T1}{DejaVuSerif-TLF}{b}{it}\myExperimental DejaVu Serif Bold Italic} \\ {\usefont{T1}{DejaVuSerif-TLF}{c}{n}\myExperimental DejaVu Serif Condensed} & {\usefont{T1}{DejaVuSerif-TLF}{bc}{n}\myExperimental DejaVu Serif Condensed Bold} \\ {\usefont{T1}{DejaVuSerif-TLF}{c}{it}\myExperimental DejaVu Serif Condensed Italic} & {\usefont{T1}{DejaVuSerif-TLF}{bc}{it}\myExperimental DejaVu Serif Condensed Bold Italic} \end{tabular} \caption{The styles of DejaVu Serif}} \end{figure} \begin{figure}[!htb] \centering{% \begin{tabular}{ll} {\usefont{T1}{DejaVuSansMono-TLF}{m}{n}DejaVu Sans Mono} & {\usefont{T1}{DejaVuSansMono-TLF}{b}{n}DejaVu Sans Mono Bold} \\ {\usefont{T1}{DejaVuSansMono-TLF}{m}{sl}DejaVu Sans Mono Oblique} & {\usefont{T1}{DejaVuSansMono-TLF}{b}{sl}DejaVu Sans Mono Bold Oblique} \end{tabular} \caption{The styles of DejaVu Sans Mono}} \end{figure} The fonts have Latin, Cyrillic and Greek letters (and even more). The fonts cover many languages, but the three families do not have exactly the same characters. DejaVu Sans has usually more characters than the other fonts. Look at the file \texttt{languages.txt} what languages are supported. This package currently supports encodings T1, OT1, IL2, TS1, T2*, X2, QX and LGR. The fonts are included in the original TrueType format and in the converted Type 1 format. \section{License} The DejaVu fonts are derived from the Vera fonts and take some characters from the Arev fonts. Therefore the Vera and Arev licenses apply. DejaVu changes are in the public domain. The fonts in TrueType format are original files and the fonts in Type 1 format were converted by me using FontForge. All the support files are licensed under the \LaTeX\ Project Public License, either version 1.3 of this license or (at your option) any later version. \section{Problems in Arev and Bera} The fonts Bera and Arev do not have all accented letters precomposed. Some letters are composed from the base letter and accent and some results are really bad. I will show two quite common problems. First, the letters dcaron, tcaron, lcaron and Lcaron should use a special type of caron, not the apostrophe. And the letters should not be much wider than the unaccented letters! Look at the following text using DejaVu Sans:\\ {\Huge\usefont{T1}{DejaVuSans-TLF}{m}{n}žluťoučká loďka} Then compare it with the same text using Arev and Bera:\\ {\Huge {\usefont{T1}{fav}{m}{n}žluťoučká loďka}\\ % arev sans {\usefont{T1}{fvs}{m}{n}žluťoučká loďka} % bera sans } Second, the original Vera fonts have different shapes of accents for capital and small letters. Bera and Arev compose the missing accented letters with only one type of accents---that used for small letters. This results in capital letters with different shapes of accents. First, look at the accents in DejaVu fonts:\\ {\Huge\usefont{T1}{DejaVuSans-TLF}{m}{n}PŘÍŠERNÝ příšerný} Then compare the accents in the letters Rcaron and Scaron in Bera fonts:\\ {\Huge\usefont{T1}{fvs}{m}{n}PŘÍŠERNÝ příšerný} % bera sans Arev fonts do not have problems in exactly the same letters as Bera fonts, but they have similar problems:\\ {\Huge\usefont{T1}{fav}{m}{n}PŘÍŠERNÝ příšerný} % arev sans Look at the accents in Iacute and Yacute. They are different from the accents used in the small letters. On the other hand, the accents in the letters Rcaron and Scaron are the same as those used in the small letters. And you can see that the different height of accents in the first three accented capital letters does not look very good. The problems with accents in capital letters are not just Czech-specific, you can see them also in other central European languages, such as Polish. And there is also the non-ideal position of accents in letters like Ccaron and ccaron. \section{The LGR encoding for Greek} The capital Greek accented letters are composed from the accent and the capital letter. There are (currently) no kerning pairs between these accents and capital letters in the fonts. Therefore, I added additional kerning pairs for these combinations and I think that the result is much better: \textgreek{>`A <'O 'E >E}. The combination accent and capital letter doesn't still give the same result as the precomposed letter. The combination has bigger left side bearing than the precomposed letter. I may do something with it later, but the most visible problem for me was the position of accents. The extra kerning pairs are not included in the fonts, but were used to generate the tfm files and I put them to the package for the case you want to look at them. \section{Using the package} The package was created using \texttt{fontools}, but with some changes. From \texttt{fontools} also come the mixed case names and the suffix \texttt{-TLF} (tabular lining figures) of the font families and also the mixed case names of the packages for the individual font families. There are two map files for the fonts: \texttt{dejavu-truetype.map} and \texttt{dejavu-type1.map}. You should use just one of them. The file \texttt{dejavu-type1.map} is a safe choice and you will get the full power of \TeX. If you just want to create PDF files with pdf\TeX\ or pdf\LaTeX\ you can use the file \texttt{dejavu-truetype.map} and the original TrueType fonts will be used. You install the fonts with a command like: \begin{verbatim} updmap-sys --enable Map=dejavu-type1.map \end{verbatim} There are several packages that you can use to set the fonts. You must explicitly use the package \texttt{fontenc} or \texttt{textcomp} (if needed). The easiest way to use the fonts is the package \texttt{dejavu}: \begin{verbatim} \usepackage[T1]{fontenc} \usepackage{dejavu} \end{verbatim} \sloppy This sets the font \texttt{DejaVuSerif-TLF} as the default serif family, the font \texttt{DejaVuSans-TLF} as the default sans serif family and finally the font \texttt{DejaVuSansMono-TLF} as the default typewriter family. \sloppy There are also several packages that set the individual font families. They have the same name as the font family, but without the suffix: \texttt{DejaVuSerif}, \texttt{DejaVuSerifCondensed}, \texttt{DejaVuSans}, \texttt{DejaVuSansCondensed} and \texttt{DejaVuSansMono}. For example the package \texttt{DejaVuSerif} sets the font \texttt{DejaVuSerif-TLF} and you use it this way: \begin{verbatim} \usepackage[T1]{fontenc} \usepackage{DejaVuSerif} \end{verbatim} If you want to use some font together with another font that has somewhat different proportions, you can use the option \texttt{scaled}: \begin{verbatim} \usepackage[scaled=0.9]{DejaVuSerif} \end{verbatim} You can also typeset some text in a desired font like this: \begin{verbatim} {\usefont{T1}{DejaVuSerifCondensed-TLF}{m}{it}Text in DejaVu Serif Condensed Italic} \end{verbatim} You can see the available series/shape combinations in the table~\ref{tableShape}. There are just the combinations that really exist in the fonts, but you can use also some other combinations and then the substitution will be used. The bold extended series will change to the bold series and you can use the slanted or italic shape for all families. \begin{table}[!htb] \centering{% \begin{tabular}{ll} \toprule font family & series/shape combinations \\ \midrule DejaVuSerif-TLF & m/n, m/it, b/n, b/it, c/n, c/it, bc/n, bc/it \\ DejaVuSerifCondensed-TLF & m/n, m/it, b/n, b/it \\ DejaVuSans-TLF & m/n, m/sl, b/n, b/sl, c/n, c/sl, bc/n, bc/sl, el/n \\ DejaVuSansCondensed-TLF & m/n, m/sl, b/n, b/sl \\ DejaVuSansMono-TLF & m/n, m/sl, b/n, b/sl \\ \bottomrule \end{tabular} \caption{The series/shape combinations for the fonts}\label{tableShape}} \end{table} \section{Known bugs} I put the letters \emph{Cyrillic letter short I with tail}, \emph{Cyrillic letter EL with tail} and \emph{Cyrillic letter EM with tail} to the slots where the same letters with descender should be. They are somewhat similar and some languages should use exactly these letters. I think that it is better than leaving the slots empty. I experienced problems with letters \emph{dcroat} and \emph{Idotaccent}. The use of the fonts DejaVu-LGC did not help. Now I use different names of characters in the encoding T1 for the TrueType and Type 1 fonts and it works fine for me. The encodings OT1 and IL2 are not exactly the same as implemented in Computer Modern fonts, they are similar to the encodings in \TeX\ Gyre fonts. There is no change from dollar to pound in the italic shape, but I believe that it should not be a serious problem. The substitution of two or three hyphens in the monospaced font is not ideal. The behaviour is similar to both the Computer Modern and the \TeX\ Gyre fonts, but you may get some warnings when you use the TrueType fonts and the text is not in the \texttt{verbatim} environment. I recommend you to use one hyphen for en-dash and the expression \texttt{\{-\}\{-\}} for em-dash. Please \href{mailto:pavel.farar@centrum.cz}{send me} bug reports and suggestions about this package. \end{document}