1056N/A<?xml version="1.0" encoding="UTF-8"?>
1056N/A<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
1276N/A<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Fonts in X11R7.7</title><meta name="generator" content="DocBook XSL Stylesheets Vsnapshot_9276" /><style xmlns="" type="text/css">/*
1276N/A * Copyright (c) 2011 Gaetan Nadon
1276N/A * Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved.
1276N/A *
1276N/A * Permission is hereby granted, free of charge, to any person obtaining a
1276N/A * copy of this software and associated documentation files (the "Software"),
1276N/A * to deal in the Software without restriction, including without limitation
1276N/A * the rights to use, copy, modify, merge, publish, distribute, sublicense,
1276N/A * and/or sell copies of the Software, and to permit persons to whom the
1276N/A * Software is furnished to do so, subject to the following conditions:
1276N/A *
1276N/A * The above copyright notice and this permission notice (including the next
1276N/A * paragraph) shall be included in all copies or substantial portions of the
1276N/A * Software.
1276N/A *
1276N/A * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
1276N/A * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
1276N/A * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
1276N/A * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
1276N/A * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
1276N/A * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
1276N/A * DEALINGS IN THE SOFTWARE.
1276N/A */
1276N/A
1276N/A/*
1276N/A * Shared stylesheet for X.Org documentation translated to HTML format
1276N/A * http://www.sagehill.net/docbookxsl/UsingCSS.html
1276N/A * http://www.w3schools.com/css/default.asp
1276N/A * https://addons.mozilla.org/en-US/firefox/addon/web-developer/developers
1276N/A * https://addons.mozilla.org/en-US/firefox/addon/font-finder/
1276N/A */
1276N/A
1276N/A/*
1276N/A * The sans-serif fonts are considered more legible on a computer screen
1276N/A * http://dry.sailingissues.com/linux-equivalents-verdana-arial.html
1276N/A *
1276N/A */
1276N/Abody {
1276N/A font-family: "Bitstream Vera Sans", "DejaVu Sans", Tahoma, Geneva, Arial, Sans-serif;
1276N/A /* In support of using "em" font size unit, the w3c recommended method */
1276N/A font-size: 100%;
1276N/A}
1276N/A
1276N/A/*
1276N/A * Selection: all elements requiring mono spaced fonts.
1276N/A *
1276N/A * The family names attempt to match the proportionally spaced font
1276N/A * family names such that the same font name is used for both.
1276N/A * We'd like to use Bitstream, for example, in both proportionally and
1276N/A * mono spaced font text.
1276N/A */
1276N/A.command,
1276N/A.errorcode,
1276N/A.errorname,
1276N/A.errortype,
1276N/A.filename,
1276N/A.funcsynopsis,
1276N/A.function,
1276N/A.parameter,
1276N/A.programlisting,
1276N/A.property,
1276N/A.screen,
1276N/A.structname,
1276N/A.symbol,
1276N/A.synopsis,
1276N/A.type
1276N/A{
1276N/A font-family: "Bitstream Vera Sans Mono", "DejaVu Sans Mono", Courier, "Liberation Mono", Monospace;
1276N/A}
1276N/A
1276N/A/*
1276N/A * Books have a title page, a preface, some chapters and appendices,
1276N/A * a glossary, an index and a bibliography, in that order.
1276N/A *
1276N/A * An Article has no preface and no chapters. It has sections, appendices,
1276N/A * a glossary, an index and a bibliography.
1276N/A */
1276N/A
1276N/A/*
1276N/A * Selection: book main title and subtitle
1276N/A */
1276N/Adiv.book>div.titlepage h1.title,
1276N/Adiv.book>div.titlepage h2.subtitle {
1276N/A text-align: center;
1276N/A}
1276N/A
1276N/A/*
1276N/A * Selection: article main title and subtitle
1276N/A */
1276N/Adiv.article>div.titlepage h2.title,
1276N/Adiv.article>div.titlepage h3.subtitle,
1276N/Adiv.article>div.sect1>div.titlepage h2.title,
1276N/Adiv.article>div.section>div.titlepage h2.title {
1276N/A text-align: center;
1276N/A}
1276N/A
1276N/A/*
1276N/A * Selection: various types of authors and collaborators, individuals or corporate
1276N/A *
1276N/A * These authors are not always contained inside an authorgroup.
1276N/A * They can be contained inside a lot of different parent types where they might
1276N/A * not be centered.
1276N/A * Reducing the margin at the bottom makes a visual separation between authors
1276N/A * We specify here the ones on the title page, others may be added based on merit.
1276N/A */
1276N/Adiv.titlepage .authorgroup,
1276N/Adiv.titlepage .author,
1276N/Adiv.titlepage .collab,
1276N/Adiv.titlepage .corpauthor,
1276N/Adiv.titlepage .corpcredit,
1276N/Adiv.titlepage .editor,
1276N/Adiv.titlepage .othercredit {
1276N/A text-align: center;
1276N/A margin-bottom: 0.25em;
1276N/A}
1276N/A
1276N/A/*
1276N/A * Selection: the affiliation of various types of authors and collaborators,
1276N/A * individuals or corporate.
1276N/A */
1276N/Adiv.titlepage .affiliation {
1276N/A text-align: center;
1276N/A}
1276N/A
1276N/A/*
1276N/A * Selection: product release information (X Version 11, Release 7)
1276N/A *
1276N/A * The releaseinfo element can be contained inside a lot of different parent
1276N/A * types where it might not be centered.
1276N/A * We specify here the one on the title page, others may be added based on merit.
1276N/A */
1276N/Adiv.titlepage p.releaseinfo {
1276N/A font-weight: bold;
1276N/A text-align: center;
1276N/A}
1276N/A
1276N/A/*
1276N/A * Selection: publishing date
1276N/A */
1276N/Adiv.titlepage .pubdate {
1276N/A text-align: center;
1276N/A}
1276N/A
1276N/A/*
1276N/A * The legal notices are displayed in smaller sized fonts
1276N/A * Justification is only supported in IE and therefore not requested.
1276N/A *
1276N/A */
1276N/A.legalnotice {
1276N/A font-size: small;
1276N/A font-style: italic;
1276N/A}
1276N/A
1276N/A/*
1276N/A * For documentation having multiple licenses, the copyright and legalnotice
1276N/A * elements sequence cannot instantiated multiple times.
1276N/A * The copyright notice and license text are therefore coded inside a legalnotice
1276N/A * element. The role attribute on the paragraph is used to allow styling of the
1276N/A * copyright notice text which should not be italicized.
1276N/A */
1276N/Ap.multiLicensing {
1276N/A font-style: normal;
1276N/A font-size: medium;
1276N/A}
1276N/A
1276N/A/*
1276N/A * Selection: book or article main ToC title
1276N/A * A paragraph is generated for the title rather than a level 2 heading.
1276N/A * We do not want to select chapters sub table of contents, only the main one
1276N/A */
1276N/Adiv.book>div.toc>p,
1276N/Adiv.article>div.toc>p {
1276N/A font-size: 1.5em;
1276N/A text-align: center;
1276N/A}
1276N/A
1276N/A/*
1276N/A * Selection: major sections of a book or an article
1276N/A *
1276N/A * Unlike books, articles do not have a titlepage element for appendix.
1276N/A * Using the selector "div.titlepage h2.title" would be too general.
1276N/A */
1276N/Adiv.book>div.preface>div.titlepage h2.title,
1276N/Adiv.book>div.chapter>div.titlepage h2.title,
1276N/Adiv.article>div.sect1>div.titlepage h2.title,
1276N/Adiv.article>div.section>div.titlepage h2.title,
1276N/Adiv.book>div.appendix>div.titlepage h2.title,
1276N/Adiv.article>div.appendix h2.title,
1276N/Adiv.glossary>div.titlepage h2.title,
1276N/Adiv.index>div.titlepage h2.title,
1276N/Adiv.bibliography>div.titlepage h2.title {
1276N/A /* Add a border top over the major parts, just like printed books */
1276N/A /* The Gray color is already used for the ruler over the main ToC. */
1276N/A border-top-style: solid;
1276N/A border-top-width: 2px;
1276N/A border-top-color: Gray;
1276N/A /* Put some space between the border and the title */
1276N/A padding-top: 0.2em;
1276N/A text-align: center;
1276N/A}
1276N/A
1276N/A/*
1276N/A * A Screen is a verbatim environment for displaying text that the user might
1276N/A * see on a computer terminal. It is often used to display the results of a command.
1276N/A *
1276N/A * http://www.css3.info/preview/rounded-border/
1276N/A */
1276N/A.screen {
1276N/A background: #e0ffff;
1276N/A border-width: 1px;
1276N/A border-style: solid;
1276N/A border-color: #B0C4DE;
1276N/A border-radius: 1.0em;
1276N/A /* Browser's vendor properties prior to CSS 3 */
1276N/A -moz-border-radius: 1.0em;
1276N/A -webkit-border-radius: 1.0em;
1276N/A -khtml-border-radius: 1.0em;
1276N/A margin-left: 1.0em;
1276N/A margin-right: 1.0em;
1276N/A padding: 0.5em;
1276N/A}
1276N/A
1276N/A/*
1276N/A * Emphasis program listings with a light shade of gray similar to what
1276N/A * DocBook XSL guide does: http://www.sagehill.net/docbookxsl/ProgramListings.html
1276N/A * Found many C API docs on the web using like shades of gray.
1276N/A */
1276N/A.programlisting {
1276N/A background: #F4F4F4;
1276N/A border-width: 1px;
1276N/A border-style: solid;
1276N/A border-color: Gray;
1276N/A padding: 0.5em;
1276N/A}
1276N/A
1276N/A/*
1276N/A * Emphasis functions synopsis using a darker shade of gray.
1276N/A * Add a border such that it stands out more.
1276N/A * Set the padding so the text does not touch the border.
1276N/A */
1276N/A.funcsynopsis, .synopsis {
1276N/A background: #e6e6fa;
1276N/A border-width: 1px;
1276N/A border-style: solid;
1276N/A border-color: Gray;
1276N/A clear: both;
1276N/A margin: 0.5em;
1276N/A padding: 0.25em;
1276N/A}
1276N/A
1276N/A/*
1276N/A * Selection: paragraphs inside synopsis
1276N/A *
1276N/A * Removes the default browser margin, let the container set the padding.
1276N/A * Paragraphs are not always used in synopsis
1276N/A */
1276N/A.funcsynopsis p,
1276N/A.synopsis p {
1276N/A margin: 0;
1276N/A padding: 0;
1276N/A}
1276N/A
1276N/A/*
1276N/A * Selection: variable lists, informal tables and tables
1276N/A *
1276N/A * Note the parameter name "variablelist.as.table" in xorg-xhtml.xsl
1276N/A * A table with rows and columns is constructed inside div.variablelist
1276N/A *
1276N/A * Set the left margin so it is indented to the right
1276N/A * Display informal tables with single line borders
1276N/A */
1276N/Atable {
1276N/A margin-left: 0.5em;
1276N/A border-collapse: collapse;
1276N/A}
1276N/A
1276N/A/*
1276N/A * Selection: paragraphs inside tables
1276N/A *
1276N/A * Removes the default browser margin, let the container set the padding.
1276N/A * Paragraphs are not always used in tables
1276N/A */
1276N/Atd p {
1276N/A margin: 0;
1276N/A padding: 0;
1276N/A}
1276N/A
1276N/A/*
1276N/A * Add some space between the left and right column.
1276N/A * The vertical alignment helps the reader associate a term
1276N/A * with a multi-line definition.
1276N/A */
1276N/Atd, th {
1276N/A padding-left: 1.0em;
1276N/A padding-right: 1.0em;
1276N/A vertical-align: top;
1276N/A}
1276N/A
1276N/A.warning {
1276N/A border: 1px solid red;
1276N/A background: #FFFF66;
1276N/A padding-left: 0.5em;
1276N/A}
1276N/A</style></head><body><div class="article"><div class="titlepage"><div><div><h2 class="title"><a id="fonts"></a>Fonts in X11R7.7</h2></div><div><div class="author"><h3 class="author"><span class="firstname">Juliusz</span> <span class="surname">Chroboczek</span></h3><code class="email">&lt;<a class="email" href="mailto:jch@freedesktop.org">jch@freedesktop.org</a>&gt;</code></div></div><div><p class="releaseinfo">X Version 11, Release 7.7</p></div><div><p class="pubdate">16 March 2012</p></div></div><hr /></div><div class="toc"><p><strong>Table of Contents</strong></p><dl><dt><span class="sect1"><a href="#Introduction">Introduction</a></span></dt><dd><dl><dt><span class="sect2"><a href="#Two_font_systems">Two font systems</a></span></dt></dl></dd><dt><span class="sect1"><a href="#Installing_fonts">Installing fonts</a></span></dt><dd><dl><dt><span class="sect2"><a href="#Configuring_Xft">Configuring Xft</a></span></dt><dt><span class="sect2"><a href="#Configuring_the_core_X11_fonts_system">Configuring the core X11 fonts system</a></span></dt></dl></dd><dt><span class="sect1"><a href="#Fonts_included_with_X11">Fonts included with X11R7.7</a></span></dt><dd><dl><dt><span class="sect2"><a href="#Standard_bitmap_fonts">Standard bitmap fonts</a></span></dt><dt><span class="sect2"><a href="#The_ClearlyU_Unicode_font_family">The ClearlyU Unicode font family</a></span></dt><dt><span class="sect2"><a href="#Standard_scalable_fonts">Standard scalable fonts</a></span></dt><dt><span class="sect2"><a href="#The_Bigelow_and__Holmes_Luxi_family">The Bigelow &amp; Holmes Luxi family</a></span></dt></dl></dd><dt><span class="sect1"><a href="#More_about_core_fonts">More about core fonts</a></span></dt><dd><dl><dt><span class="sect2"><a href="#Core_fonts_and_internationalisation">Core fonts and internationalisation</a></span></dt><dt><span class="sect2"><a href="#Additional_notes_about_scalable_core_fonts">Additional notes about scalable core fonts</a></span></dt></dl></dd><dt><span class="sect1"><a href="#Appendix_background_and_terminology">Appendix: background and terminology</a></span></dt><dd><dl><dt><span class="sect2"><a href="#Characters_and_glyphs">Characters and glyphs</a></span></dt><dt><span class="sect2"><a href="#Font_files_fonts_and_XLFD">Font files, fonts, and XLFD</a></span></dt><dt><span class="sect2"><a href="#Unicode">Unicode</a></span></dt></dl></dd><dt><span class="sect1"><a href="#References">References</a></span></dt></dl></div><div class="sect1"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="Introduction"></a>Introduction</h2></div></div></div><p>
1276N/AThis document describes the support for fonts in X11R7.7.
1276N/A<a class="xref" href="#Installing_fonts" title="Installing fonts">Installing fonts</a> is aimed at the
1276N/Acasual user wishing to install fonts in X11R7.7 the rest of the
1056N/Adocument describes the font support in more detail.
1056N/A</p><p>
1056N/AWe assume some familiarity with digital fonts. If anything is not
1276N/Aclear to you, please consult <a class="xref" href="#Appendix_background_and_terminology" title="Appendix: background and terminology">Appendix: background and terminology</a> at the
1056N/Aend of this document for background information.
1276N/A</p><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a id="Two_font_systems"></a>Two font systems</h3></div></div></div><p>
1056N/AX11 includes two font systems: the original core X11 fonts
1056N/Asystem, which is present in all implementations of X11, and the Xft
1056N/Afonts system, which may not yet be distributed with implementations of
1056N/AX11 that are not based on either XFree86 or X11R6.8 or later.
1056N/A</p><p>
1056N/AThe core X11 fonts system is directly derived from the fonts system
1056N/Aincluded with X11R1 in 1987, which could only use monochrome bitmap
1056N/Afonts. Over the years, it has been more or less happily coerced into
1056N/Adealing with scalable fonts and rotated glyphs.
1056N/A</p><p>
1056N/AXft was designed from the start to provide good support for scalable
1056N/Afonts, and to do so efficiently. Unlike the core fonts system, it
1056N/Asupports features such as anti-aliasing and sub-pixel rasterisation.
1056N/APerhaps more importantly, it gives applications full control over the
1056N/Away glyphs are rendered, making fine typesetting and WYSIWIG display
1056N/Apossible. Finally, it allows applications to use fonts that are not
1056N/Ainstalled system-wide for displaying documents with embedded fonts.
1056N/A</p><p>
1056N/AXft is not compatible with the core fonts system: usage of Xft
1056N/Arequires fairly extensive changes to toolkits (user-interface
1056N/Alibraries). While X.Org will continue to maintain the core fonts
1056N/Asystem, toolkit authors are encouraged to switch to Xft as soon as
1056N/Apossible.
1276N/A</p></div></div><div class="sect1"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="Installing_fonts"></a>Installing fonts</h2></div></div></div><p>
1056N/AThis section explains how to configure both Xft and the core fonts
1056N/Asystem to access newly-installed fonts.
1276N/A</p><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a id="Configuring_Xft"></a>Configuring Xft</h3></div></div></div><p>
1056N/AXft has no configuration mechanism itself, it relies upon the
1276N/A<a class="ulink" href="http://www.fontconfig.org/" target="_top">fontconfig</a>
1056N/Alibrary to configure and customise fonts. That library is
1056N/Anot specific to the X Window system, and does not rely on any
1056N/Aparticular font output mechanism.
1276N/A</p><div class="sect3"><div class="titlepage"><div><div><h4 class="title"><a id="Installing_fonts_in_Xft"></a>Installing fonts in Xft</h4></div></div></div><p>
1056N/AFontconfig looks for fonts in a set of well-known directories that
1276N/Ainclude all of X11R7.7's standard font directories
1276N/A(<span class="quote">“<span class="quote"><code class="filename">/usr/share/fonts/X11/*</code></span>”</span>) by default) as well as a
1276N/Adirectory called <span class="quote">“<span class="quote"><code class="filename">.fonts/</code></span>”</span> in the user's home directory.
1056N/AInstalling a font for use by Xft applications is as simple
1056N/Aas copying a font file into one of these directories.
1056N/A
1056N/A</p><pre class="screen">
1056N/A$ cp lucbr.ttf ~/.fonts/
1056N/A</pre><p>
1056N/A
1056N/AFontconfig will notice the new font at the next opportunity and rebuild its
1056N/Alist of fonts. If you want to trigger this update from the command
1276N/Aline, you may run the command <span class="quote">“<span class="quote"><span class="command"><strong>fc-cache</strong></span></span>”</span>.
1056N/A
1056N/A</p><pre class="screen">
1056N/A$ fc-cache
1056N/A</pre><p>
1056N/A
1056N/A</p><p>
1056N/AIn order to globally update the system-wide Fontconfig information on
1056N/AUnix systems, you will typically need to run this command as root:
1056N/A
1056N/A</p><pre class="screen">
1056N/A$ su -c fc-cache
1056N/A</pre><p>
1056N/A
1276N/A</p></div><div class="sect3"><div class="titlepage"><div><div><h4 class="title"><a id="Fine-tuning_Xft"></a>Fine-tuning Xft</h4></div></div></div><p>
1056N/AFontconfig's behaviour is controlled by a set of configuration
1276N/Afiles: a standard configuration file, <span class="quote">“<span class="quote"><code class="filename">/etc/fonts/fonts.conf</code></span>”</span>,
1276N/Aa host-specific configuration file, <span class="quote">“<span class="quote"><code class="filename">/etc/fonts/local.conf</code></span>”</span>,
1276N/Aand a user-specific file called <span class="quote">“<span class="quote"><code class="filename">.fonts.conf</code></span>”</span> in the user's
1056N/Ahome directory (this can be overridden with the
1276N/A<span class="quote">“<span class="quote"><code class="envar">FONTCONFIG_FILE</code></span>”</span> environment variable).
1056N/A</p><p>
1056N/AEvery Fontconfig configuration file must start with the following
1056N/Aboilerplate:
1056N/A
1056N/A</p><pre class="screen">
1056N/A&lt;?xml version="1.0"?&gt;
1056N/A&lt;!DOCTYPE fontconfig SYSTEM "fonts.dtd"&gt;
1056N/A&lt;fontconfig&gt;
1056N/A</pre><p>
1056N/A
1056N/AIn addition, every Fontconfig configuration file must end with the
1056N/Afollowing line:
1056N/A
1056N/A</p><pre class="screen">
1056N/A&lt;/fontconfig&gt;
1056N/A</pre><p>
1056N/A
1056N/A</p><p>
1056N/AThe default Fontconfig configuration file includes the directory
1276N/A<span class="quote">“<span class="quote"><code class="filename">˜/.fonts/</code></span>”</span> in the list of directories searched for font
1056N/Afiles, and this is where user-specific font files should be installed.
1056N/AIn the unlikely case that a new font directory needs to be added, this
1056N/Acan be done with the following syntax:
1056N/A
1056N/A</p><pre class="screen">
1056N/A&lt;dir&gt;/usr/local/share/fonts/&lt;/dir&gt;
1056N/A</pre><p>
1056N/A
1056N/A</p><p>
1056N/AAnother useful option is the ability to disable anti-aliasing (font
1056N/Asmoothing) for selected fonts. This can be done with the following
1056N/Asyntax:
1056N/A
1056N/A</p><pre class="screen">
1056N/A&lt;match target="font"&gt;
1056N/A &lt;test qual="any" name="family"&gt;
1056N/A &lt;string&gt;Lucida Console&lt;/string&gt;
1056N/A &lt;/test&gt;
1056N/A &lt;edit name="antialias" mode="assign"&gt;
1056N/A &lt;bool&gt;false&lt;/bool&gt;
1056N/A &lt;/edit&gt;
1056N/A&lt;/match&gt;
1056N/A</pre><p>
1056N/A
1056N/AAnti-aliasing can be disabled for all fonts by the following incantation:
1056N/A
1056N/A</p><pre class="screen">
1056N/A&lt;match target="font"&gt;
1056N/A &lt;edit name="antialias" mode="assign"&gt;
1056N/A &lt;bool&gt;false&lt;/bool&gt;
1056N/A &lt;/edit&gt;
1056N/A&lt;/match&gt;
1056N/A</pre><p>
1056N/A
1056N/A</p><p>
1276N/AXft supports sub-pixel rasterisation on LCD displays. X11R7.7 should
1056N/Aautomatically enable this feature on laptops and when using an LCD
1056N/Amonitor connected with a DVI cable; you can check whether this was
1056N/Adone by typing
1056N/A
1056N/A</p><pre class="screen">
1056N/A$ xdpyinfo -ext RENDER | grep sub-pixel
1056N/A</pre><p>
1056N/A
1056N/AIf this doesn't print anything, you will need to configure Render for
1056N/Ayour particular LCD hardware manually; this is done with the following
1056N/Asyntax:
1056N/A
1056N/A</p><pre class="screen">
1056N/A&lt;match target="font"&gt;
1056N/A &lt;edit name="rgba" mode="assign"&gt;
1056N/A &lt;const&gt;rgb&lt;/const&gt;
1056N/A &lt;/edit&gt;
1056N/A&lt;/match&gt;
1056N/A</pre><p>
1056N/A
1276N/AThe string <span class="quote">“<span class="quote"><code class="literal">rgb</code></span>”</span> within the
1276N/A<span class="quote">“<span class="quote"><code class="literal">&lt;const&gt;</code></span>”</span>...<span class="quote">“<span class="quote"><code class="literal">&lt;/const&gt;</code></span>”</span>
1056N/Aspecifies the order of pixel components on your display, and should be
1276N/Achanged to match your hardware; it can be one of <span class="quote">“<span class="quote"><code class="literal">rgb</code></span>”</span> (normal
1276N/ALCD screen), <span class="quote">“<span class="quote"><code class="literal">bgr</code></span>”</span> (backwards LCD screen), <span class="quote">“<span class="quote"><code class="literal">vrgb</code></span>”</span> (LCD
1276N/Ascreen rotated clockwise) or <span class="quote">“<span class="quote"><code class="literal">vbgr</code></span>”</span> (LCD screen rotated
1056N/Acounterclockwise).
1276N/A</p></div><div class="sect3"><div class="titlepage"><div><div><h4 class="title"><a id="Configuring_applications"></a>Configuring applications</h4></div></div></div><p>
1056N/AA growing number of applications use Xft in preference to the core
1056N/Afonts system. Some applications, however, need to be explicitly
1056N/Aconfigured to use Xft.
1056N/A</p><p>
1056N/AA case in point is XTerm, which can be set to use Xft by using the
1276N/A<span class="quote">“<span class="quote"><code class="literal">-fa</code></span>”</span> command line option or by setting the <span class="quote">“<span class="quote"><code class="literal">XTerm*faceName</code></span>”</span>
1056N/Aresource:
1056N/A
1056N/A</p><pre class="screen">
1056N/AXTerm*faceName: Courier
1056N/A</pre><p>
1056N/A
1056N/Aor
1056N/A
1056N/A</p><pre class="screen">
1056N/A$ xterm -fa "Courier"
1056N/A</pre><p>
1056N/A
1056N/A</p><p>
1276N/AFor KDE applications, you should select <span class="quote">“<span class="quote">Anti-alias fonts</span>”</span> in the
1276N/A<span class="quote">“<span class="quote">Fonts</span>”</span> panel of KDE's <span class="quote">“<span class="quote">Control Center</span>”</span>. Note that this option is
1056N/Amisnamed: it switches KDE to using Xft but doesn't enable
1056N/Aanti-aliasing in case it was disabled by your Xft configuration file.
1056N/A</p><p>
1056N/AGnome applications and Mozilla Firefox will use Xft by default.
1276N/A</p></div></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a id="Configuring_the_core_X11_fonts_system"></a>Configuring the core X11 fonts system</h3></div></div></div><p>
1056N/AInstalling fonts in the core system is a two step process. First,
1056N/Ayou need to create a <span class="emphasis"><em>font directory</em></span> that contains all the
1056N/Arelevant font files as well as some index files. You then need to
1056N/Ainform the X server of the existence of this new directory by
1056N/Aincluding it in the <span class="emphasis"><em>font path</em></span>.
1276N/A</p><div class="sect3"><div class="titlepage"><div><div><h4 class="title"><a id="Installing_bitmap_fonts"></a>Installing bitmap fonts</h4></div></div></div><p>
1276N/AThe X11R7.7 server can use bitmap fonts in both the cross-platform
1056N/ABDF format and the somewhat more efficient binary PCF format.
1276N/A(X11R7.7 also supports the obsolete SNF format.)
1056N/A</p><p>
1056N/ABitmap fonts are normally distributed in the BDF format. Before
1056N/Ainstalling such fonts, it is desirable (but not absolutely necessary)
1056N/Ato convert the font files to the PCF format. This is done by using the
1276N/Acommand <span class="quote">“<span class="quote"><span class="command"><strong>bdftopcf</strong></span></span>”</span>, <span class="emphasis"><em>e.g.</em></span>
1056N/A
1056N/A</p><pre class="screen">
1056N/A$ bdftopcf courier12.bdf
1056N/A</pre><p>
1056N/A
1276N/AYou may then want to compress the resulting PCF font files:
1056N/A
1056N/A</p><pre class="screen">
1056N/A$ gzip courier12.pcf
1056N/A</pre><p>
1056N/A
1056N/A</p><p>
1056N/AAfter the fonts have been converted, you should copy all the font
1056N/Afiles that you wish to make available into a arbitrary directory, say
1276N/A<span class="quote">“<span class="quote"><code class="filename">/usr/local/share/fonts/bitmap/</code></span>”</span>. You should then create the
1276N/Aindex file <span class="quote">“<span class="quote"><code class="filename">fonts.dir</code></span>”</span> by running the command <span class="quote">“<span class="quote"><span class="command"><strong>mkfontdir</strong></span></span>”</span>
1276N/A(please see the <a class="ulink" href="mkfontdir.1.html" target="_top">mkfontdir(1)</a>
1056N/Amanual page for more information):
1056N/A
1056N/A</p><pre class="screen">
1056N/A$ mkdir /usr/local/share/fonts/bitmap/
1056N/A$ cp *.pcf.gz /usr/local/share/fonts/bitmap/
1056N/A$ mkfontdir /usr/local/share/fonts/bitmap/
1056N/A</pre><p>
1056N/A
1056N/A</p><p>
1056N/AAll that remains is to tell the X server about the existence of the
1276N/Anew font directory; see <a class="xref" href="#Setting_the_servers_font_path" title="Setting the server's font path">Setting the server's font path</a> below.
1276N/A</p></div><div class="sect3"><div class="titlepage"><div><div><h4 class="title"><a id="Installing_scalable_fonts"></a>Installing scalable fonts</h4></div></div></div><p>
1276N/AThe X11R7.7 server supports scalable fonts in multiple
1056N/Aformats, including Type 1, TrueType, and OpenType/CFF.
1056N/A(Earlier versions of X11 also included support for the Speedo and
1056N/ACID scalable font formats, but that is not included in current releases.)
1056N/A</p><p>
1056N/AInstalling scalable fonts is very similar to installing bitmap fonts:
1276N/Ayou create a directory with the font files, and run <span class="quote">“<span class="quote"><span class="command"><strong>mkfontdir</strong></span></span>”</span>
1276N/Ato create an index file called <span class="quote">“<span class="quote"><code class="filename">fonts.dir</code></span>”</span>.
1056N/A</p><p>
1276N/AThere is, however, a big difference: <span class="quote">“<span class="quote"><span class="command"><strong>mkfontdir</strong></span></span>”</span> cannot
1056N/Aautomatically recognise scalable font files. For that reason, you
1056N/Amust first index all the font files in a file called
1276N/A<span class="quote">“<span class="quote"><code class="filename">fonts.scale</code></span>”</span>. While this can be done by hand, it is best done
1276N/Aby using the <span class="quote">“<span class="quote"><span class="command"><strong>mkfontscale</strong></span></span>”</span> utility.
1056N/A
1056N/A</p><pre class="screen">
1056N/A$ mkfontscale /usr/local/share/fonts/Type1/
1056N/A$ mkfontdir /usr/local/share/fonts/Type1/
1056N/A</pre><p>
1056N/A
1056N/AUnder some circumstances, it may be necessary to modify the
1276N/A<span class="quote">“<span class="quote"><code class="filename">fonts.scale</code></span>”</span> file generated by <span class="command"><strong>mkfontscale</strong></span>; for more
1276N/Ainformation, please see the <a class="ulink" href="mkfontdir.1.html" target="_top">mkfontdir(1)</a> and <a class="ulink" href="mkfontscale.1.html" target="_top">mkfontscale(1)</a> manual pages and <a class="xref" href="#Core_fonts_and_internationalisation" title="Core fonts and internationalisation">Core fonts and internationalisation</a>
1056N/Alater in this document.
1276N/A</p></div><div class="sect3"><div class="titlepage"><div><div><h4 class="title"><a id="CID_keyed_fonts"></a>CID-keyed fonts</h4></div></div></div><p>
1056N/AThe CID-keyed font format was designed by Adobe Systems for fonts
1056N/Awith large character sets. The CID-keyed format is obsolete, as it
1056N/Ahas been superseded by other formats such as OpenType/CFF and
1056N/Asupport for CID-keyed fonts has been removed from X11.
1276N/A</p></div><div class="sect3"><div class="titlepage"><div><div><h4 class="title"><a id="Setting_the_servers_font_path"></a>Setting the server's font path</h4></div></div></div><p>
1056N/AThe list of directories where the server looks for fonts is known
1056N/Aas the <span class="emphasis"><em>font path</em></span>. Informing the server of the existence of a new
1056N/Afont directory consists of putting it on the font path.
1056N/A</p><p>
1056N/AThe font path is an ordered list; if a client's request matches
1056N/Amultiple fonts, the first one in the font path is the one that gets
1056N/Aused. When matching fonts, the server makes two passes over the font
1056N/Apath: during the first pass, it searches for an exact match; during
1056N/Athe second, it searches for fonts suitable for scaling.
1056N/A</p><p>
1056N/AFor best results, scalable fonts should appear in the font path before
1056N/Athe bitmap fonts; this way, the server will prefer bitmap fonts to
1056N/Ascalable fonts when an exact match is possible, but will avoid scaling
1276N/Abitmap fonts when a scalable font can be used. (The <span class="quote">“<span class="quote"><code class="literal">:unscaled</code></span>”</span>
1276N/Ahack, while still supported, should no longer be necessary in X11R7.7.)
1056N/A</p><p>
1056N/AYou may check the font path of the running server by typing the command
1056N/A
1056N/A</p><pre class="screen">
1056N/A$ xset q
1056N/A</pre><p>
1056N/A
1276N/A</p><div class="sect4"><div class="titlepage"><div><div><h5 class="title"><a id="Font_path_catalogue_directories"></a>Font path catalogue directories</h5></div></div></div><p>
1056N/AYou can specify a special kind of font path directory in the form
1056N/A<code class="filename">catalogue:&lt;dir&gt;</code>.
1056N/AThe directory specified after the <code class="filename">catalogue:</code>
1056N/Aprefix will be scanned for symlinks and each symlink destination will be
1056N/Aadded as a local font path entry.
1056N/A</p><p>
1056N/AThe symlink can be suffixed by attributes such as
1056N/A'<code class="literal">unscaled</code>', which will be passed through
1056N/Ato the underlying font path entry. The only exception is the newly
1056N/Aintroduced '<code class="literal">pri</code>' attribute, which will be
1056N/Aused for ordering the font paths specified by the symlinks.
1056N/A</p><p>
1056N/AAn example configuration:
1056N/A</p><pre class="screen">
1056N/A 75dpi:unscaled:pri=20 -&gt; /usr/share/X11/fonts/75dpi
1056N/A ghostscript:pri=60 -&gt; /usr/share/fonts/default/ghostscript
1056N/A misc:unscaled:pri=10 -&gt; /usr/share/X11/fonts/misc
1056N/A type1:pri=40 -&gt; /usr/share/X11/fonts/Type1
1056N/A type1:pri=50 -&gt; /usr/share/fonts/default/Type1
1056N/A</pre><p>
1056N/A</p><p>
1056N/AThis will add <code class="filename">/usr/share/X11/fonts/misc</code> as the
1056N/Afirst font path entry with the attribute
1056N/A<code class="literal">unscaled</code>. This is functionally equivalent to
1056N/Asetting the following font path:
1056N/A</p><pre class="screen">
1056N/A /usr/share/X11/fonts/misc:unscaled,
1056N/A /usr/share/X11/fonts/75dpi:unscaled,
1056N/A /usr/share/X11/fonts/Type1,
1056N/A /usr/share/fonts/default/Type1,
1056N/A /usr/share/fonts/default/ghostscript
1056N/A</pre><p>
1276N/A</p></div><div class="sect4"><div class="titlepage"><div><div><h5 class="title"><a id="Temporary_modification_of_the_font_path"></a>Temporary modification of the font path</h5></div></div></div><p>
1276N/AThe <span class="quote">“<span class="quote"><span class="command"><strong>xset</strong></span></span>”</span> utility may be used to modify the font path for the
1276N/Acurrent session. The font path is set with the command <span class="command"><strong>xset fp</strong></span>;
1276N/Aa new element is added to the front with <span class="command"><strong>xset +fp</strong></span>, and added to
1276N/Athe end with <span class="command"><strong>xset fp+</strong></span>. For example,
1056N/A
1056N/A</p><pre class="screen">
1056N/A$ xset +fp /usr/local/fonts/Type1
1056N/A$ xset fp+ /usr/local/fonts/bitmap
1056N/A</pre><p>
1056N/A
1056N/A</p><p>
1056N/AConversely, an element may be removed from the front of the font path
1276N/Awith <span class="quote">“<span class="quote"><span class="command"><strong>xset -fp</strong></span></span>”</span>, and removed from the end with <span class="quote">“<span class="quote"><span class="command"><strong>xset fp-</strong></span></span>”</span>.
1056N/AYou may reset the font path to its default value with
1276N/A<span class="quote">“<span class="quote"><span class="command"><strong>xset fp default</strong></span></span>”</span>.
1056N/A</p><p>
1276N/AFor more information, please consult the <a class="ulink" href="xset.1.html" target="_top">xset(1)</a> manual page.
1276N/A</p></div><div class="sect4"><div class="titlepage"><div><div><h5 class="title"><a id="Permanent_modification_of_the_font_path"></a>Permanent modification of the font path</h5></div></div></div><p>
1056N/AThe default font path (the one used just after server startup or
1276N/Aafter <span class="quote">“<span class="quote"><span class="command"><strong>xset fp default</strong></span></span>”</span>) may be specified in the
1056N/AX server's
1276N/A<span class="quote">“<span class="quote"><code class="filename">xorg.conf</code></span>”</span> file. It is computed by appending all the
1276N/Adirectories mentioned in the <span class="quote">“<span class="quote"><code class="literal">FontPath</code></span>”</span> entries of the
1276N/A<span class="quote">“<span class="quote"><code class="literal">Files</code></span>”</span> section in the order in which they appear. If no font path is specified in a config file, the server uses a default
1056N/Avalue specified when it was built.
1056N/A
1056N/A</p><pre class="screen">
1056N/AFontPath "/usr/local/fonts/Type1"
1056N/A...
1056N/AFontPath "/usr/local/fonts/bitmap"
1056N/A</pre><p>
1056N/A
1056N/A</p><p>
1276N/AFor more information, please consult the <a class="ulink" href="xorg.conf.5.html" target="_top">xorg.conf(5)</a> manual page.
1276N/A</p></div></div><div class="sect3"><div class="titlepage"><div><div><h4 class="title"><a id="Troubleshooting"></a>Troubleshooting</h4></div></div></div><p>
1056N/AIf you seem to be unable to use some of the fonts you have
1276N/Ainstalled, the first thing to check is that the <span class="quote">“<span class="quote"><code class="filename">fonts.dir</code></span>”</span> files
1056N/Aare correct and that they are readable by the server (the X server
1056N/Ausually runs as root, beware of NFS-mounted font directories). If
1056N/Athis doesn't help, it is quite possible that you are trying to use a
1056N/Afont in a format that is not supported by your server.
1056N/A</p><p>
1276N/AX11R7.7 supports the BDF, PCF, SNF, Type 1, TrueType, and OpenType
1276N/Afont formats. However, not all X11R7.7 servers
1056N/Acome with all the font backends configured in.
1056N/A</p><p>
1276N/AOn most platforms, the X11R7.7 servers no longer uses font
1056N/Abackends from modules that are loaded at runtime. The built in
1056N/Afont support corresponds to the functionality formerly provided by
1056N/Athese modules:
1056N/A
1276N/A </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
1056N/A <code class="literal">"bitmap"</code>:
1276N/A bitmap fonts (<span class="quote">“<span class="quote"><code class="filename">*.bdf</code></span>”</span>,
1276N/A <span class="quote">“<span class="quote"><code class="filename">*.pcf</code></span>”</span>
1276N/A and <span class="quote">“<span class="quote"><code class="filename">*.snf</code></span>”</span>);
1276N/A </p></li><li class="listitem"><p>
1056N/A <code class="literal">"freetype"</code>:
1276N/A TrueType fonts (<span class="quote">“<span class="quote"><code class="filename">*.ttf</code></span>”</span> and
1276N/A <span class="quote">“<span class="quote"><code class="filename">*.ttc</code></span>”</span>),
1276N/A OpenType fonts (<span class="quote">“<span class="quote"><code class="filename">*.otf</code></span>”</span> and
1276N/A <span class="quote">“<span class="quote"><code class="filename">*.otc</code></span>”</span>) and
1276N/A Type 1 fonts (<span class="quote">“<span class="quote"><code class="filename">*.pfa</code></span>”</span>
1276N/A and <span class="quote">“<span class="quote"><code class="filename">*.pfb</code></span>”</span>).
1056N/A </p></li></ul></div><p>
1056N/A
1276N/A</p></div></div></div><div class="sect1"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="Fonts_included_with_X11"></a>Fonts included with X11R7.7</h2></div></div></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a id="Standard_bitmap_fonts"></a>Standard bitmap fonts</h3></div></div></div><p>
1056N/AThe Sample Implementation of X11 (SI) comes with a large number of
1276N/Abitmap fonts, including the <span class="quote">“<span class="quote"><code class="literal">fixed</code></span>”</span> family, and bitmap versions
1056N/Aof Courier, Times, Helvetica and some members of the Lucida family.
1056N/A</p><p>
1276N/AIn X11R7.7, a number of these fonts are provided in Unicode-encoded
1056N/Afont files now. At build time, these fonts are split into font
1056N/Afiles encoded according to legacy encodings, a process which allows
1056N/Aus to provide the standard fonts in a number of regional encodings
1056N/Awith no duplication of work.
1056N/A</p><p>
1056N/AFor example, the font file
1056N/A
1056N/A</p><pre class="screen">
1056N/A/usr/share/fonts/X11/misc/6x13.bdf
1056N/A</pre><p>
1056N/A
1056N/Awith XLFD
1056N/A
1056N/A</p><pre class="screen">
1056N/A-misc-fixed-medium-r-semicondensed--13-120-75-75-c-60-iso10646-1
1056N/A</pre><p>
1056N/A
1276N/Ais a Unicode-encoded version of the standard <span class="quote">“<span class="quote"><code class="literal">fixed</code></span>”</span> font with
1056N/Aadded support for the Latin, Greek, Cyrillic, Georgian, Armenian, IPA
1056N/Aand other scripts plus numerous technical symbols. It contains over
1056N/A2800 glyphs, covering all characters of ISO 8859 parts 1-5,
1056N/A7-10, 13-15, as well as all European IBM and Microsoft code pages,
1056N/AKOI8, WGL4, and the repertoires of many other character sets.
1056N/A</p><p>
1056N/AThis font is used at build time for generating the font files
1056N/A
1056N/A</p><pre class="screen">
1056N/A6x13-ISO8859-1.bdf
1056N/A6x13-ISO8859-2.bdf
1056N/A...
1056N/A6x13-ISO8859-15.bdf
1056N/A6x13-KOI8-R.bdf
1056N/A</pre><p>
1056N/A
1056N/Awith respective XLFDs
1056N/A
1056N/A</p><pre class="screen">
1056N/A-misc-fixed-medium-r-normal--13-120-75-75-c-60-iso8859-1
1056N/A...
1056N/A-misc-fixed-medium-r-normal--13-120-75-75-c-60-iso8859-15
1056N/A-misc-fixed-medium-r-normal--13-120-75-75-c-60-koi8-r
1056N/A</pre><p>
1056N/A
1276N/AThe standard short name <span class="quote">“<span class="quote"><code class="literal">fixed</code></span>”</span> is normally an alias for
1056N/A
1056N/A</p><pre class="screen">
1056N/A-misc-fixed-medium-r-normal--13-120-75-75-c-60-iso8859-1
1056N/A</pre><p>
1056N/A
1276N/A</p></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a id="The_ClearlyU_Unicode_font_family"></a>The ClearlyU Unicode font family</h3></div></div></div><p>
1056N/AThe ClearlyU family of fonts provides a set of 12 pt,
1056N/A100 dpi proportional fonts with many of the glyphs needed for
1056N/AUnicode text. Together, the fonts contain approximately 7500 glyphs.
1056N/A</p><p>
1056N/AThe main ClearlyU font has the XLFD
1056N/A
1056N/A</p><pre class="screen">
1056N/A-mutt-clearlyu-medium-r-normal--17-120-100-100-p-101-iso10646-1
1056N/A</pre><p>
1056N/A
1056N/Aand resides in the font file
1056N/A
1056N/A</p><pre class="screen">
1056N/A/usr/share/fonts/X11/misc/cu12.pcf.gz
1056N/A</pre><p>
1056N/A
1056N/AAdditional ClearlyU fonts include
1056N/A
1056N/A</p><pre class="screen">
1056N/A-mutt-clearlyu alternate glyphs-medium-r-normal--17-120-100-100-p-91-iso10646-1
1056N/A-mutt-clearlyu pua-medium-r-normal--17-120-100-100-p-111-iso10646-1
1056N/A-mutt-clearlyu arabic extra-medium-r-normal--17-120-100-100-p-103-fontspecific-0
1056N/A-mutt-clearlyu ligature-medium-r-normal--17-120-100-100-p-141-fontspecific-0
1056N/A</pre><p>
1056N/A
1056N/A</p><p>
1056N/AThe <span class="emphasis"><em>Alternate Glyphs</em></span> font contains additional glyph shapes that
1056N/Aare needed for certain languages. A second alternate glyph font will
1056N/Abe provided later for cases where a character has more than one
1056N/Acommonly used alternate shape (<span class="emphasis"><em>e.g.</em></span> the Urdu heh).
1056N/A</p><p>
1056N/AThe <span class="emphasis"><em>PUA</em></span> font contains extra glyphs that are useful for certain
1056N/Arendering purposes.
1056N/A</p><p>
1056N/AThe <span class="emphasis"><em>Arabic Extra</em></span> font contains the glyphs necessary for
1056N/Acharacters that don't have all of their possible shapes encoded in
1056N/AISO 10646. The glyphs are roughly ordered according to the order
1056N/Aof the characters in the ISO 10646 standard.
1056N/A</p><p>
1056N/AThe <span class="emphasis"><em>Ligature</em></span> font contains ligatures for various scripts that
1056N/Amay be useful for improved presentation of text.
1276N/A</p></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a id="Standard_scalable_fonts"></a>Standard scalable fonts</h3></div></div></div><p>
1276N/AX11R7.7 includes all the scalable fonts distributed with X11R6.
1276N/A</p><div class="sect3"><div class="titlepage"><div><div><h4 class="title"><a id="Standard_Type1_fonts"></a>Standard Type 1 fonts</h4></div></div></div><p>
1056N/AThe IBM Courier set of fonts cover ISO 8859-1 and
1056N/AISO 8859-2 as well as Adobe Standard Encoding. These fonts have
1056N/AXLFD
1056N/A
1056N/A</p><pre class="screen">
1056N/A-adobe-courier-medium-*-*--0-0-0-0-m-0-*-*
1056N/A</pre><p>
1056N/A
1056N/Aand reside in the font files
1056N/A
1056N/A</p><pre class="screen">
1056N/A/usr/share/fonts/X11/Type1/cour*.pfa
1056N/A</pre><p>
1056N/A
1056N/A</p><p>
1056N/AThe Adobe Utopia set of fonts only cover ISO 8859-1 as well as
1056N/AAdobe Standard Encoding. These fonts have XLFD
1056N/A
1056N/A</p><pre class="screen">
1056N/A-adobe-utopia-*-*-normal--0-0-0-0-p-0-iso8859-1
1056N/A</pre><p>
1056N/A
1056N/Aand reside in the font files
1056N/A
1056N/A</p><pre class="screen">
1056N/A/usr/share/fonts/X11/Type1/UT*.pfa
1056N/A</pre><p>
1056N/A
1056N/A</p><p>
1276N/AFinally, X11R7.7 also comes with Type 1 versions of Bitstream
1056N/ACourier and Charter. These fonts have XLFD
1056N/A
1056N/A</p><pre class="screen">
1056N/A-bitstream-courier-*-*-normal--0-0-0-0-m-0-iso8859-1
1056N/A-bitstream-charter-*-*-normal--0-0-0-0-p-0-iso8859-1
1056N/A</pre><p>
1056N/A
1056N/Aand reside in the font files
1056N/A
1056N/A</p><pre class="screen">
1056N/A/usr/share/fonts/X11/Type1/c*bt_.pfb
1056N/A</pre><p>
1056N/A
1276N/A</p></div></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a id="The_Bigelow_and__Holmes_Luxi_family"></a>The Bigelow &amp; Holmes Luxi family</h3></div></div></div><p>
1276N/AX11R7.7 includes the <span class="emphasis"><em>Luxi</em></span> family of scalable fonts, in both
1056N/ATrueType and Type 1 format. This family consists of the fonts
1056N/A<span class="emphasis"><em>Luxi Serif</em></span>, with XLFD
1056N/A
1056N/A</p><pre class="screen">
1056N/A-b&amp;h-luxi serif-medium-*-normal--*-*-*-*-p-*-*-*
1056N/A</pre><p>
1056N/A
1056N/A<span class="emphasis"><em>Luxi Sans</em></span>, with XLFD
1056N/A
1056N/A</p><pre class="screen">
1056N/A-b&amp;h-luxi sans-medium-*-normal--*-*-*-*-p-*-*-*
1056N/A</pre><p>
1056N/A
1056N/Aand <span class="emphasis"><em>Luxi Mono</em></span>, with XLFD
1056N/A
1056N/A</p><pre class="screen">
1056N/A-b&amp;h-luxi mono-medium-*-normal--*-*-*-*-m-*-*-*
1056N/A</pre><p>
1056N/A
1056N/AEach of these fonts comes Roman, oblique, bold and bold oblique variants
1056N/AThe TrueType version have glyphs covering the basic ASCII Unicode
1056N/Arange, the Latin 1 range, as well as the <span class="emphasis"><em>Extended Latin</em></span>
1056N/Arange and some additional punctuation characters. In particular,
1056N/Athese fonts include all the glyphs needed for ISO 8859 parts 1,
1056N/A2, 3, 4, 9, 13 and 15, as well as all the glyphs in the Adobe Standard
1056N/Aencoding and the Windows 3.1 character set.
1056N/A</p><p>
1056N/AThe glyph coverage of the Type 1 versions is somewhat reduced,
1056N/Aand only covers ISO 8859 parts 1, 2 and 15 as well as the Adobe
1056N/AStandard encoding.
1056N/A</p><p>
1056N/AThe Luxi fonts are original designs by Kris Holmes and Charles
1056N/ABigelow. Luxi fonts include seriffed, sans serif, and monospaced
1056N/Astyles, in roman and oblique, and normal and bold weights. The fonts
1056N/Ashare stem weight, x-height, capital height, ascent and descent, for
1056N/Agraphical harmony.
1056N/A</p><p>
1056N/AThe character width metrics of Luxi roman and bold fonts match those
1056N/Aof core fonts bundled with popular operating and window systems.
1056N/A</p><p>
1056N/AThe license terms for the Luxi fonts are included in the file
1276N/A<span class="quote">“<span class="quote"><code class="filename">COPYRIGHT.BH</code></span>”</span>, as well as in the <a href="/License.html#Bigelow_Holmes_Inc_and_URW_GmbH_Luxi_font_license" class="olink">License
1276N/Adocument</a>.
1056N/A</p><p>
1056N/ACharles Bigelow and Kris Holmes from Bigelow and Holmes Inc.
1056N/Adeveloped the Luxi typeface designs in Ikarus digital format.
1056N/A</p><p>
1056N/AURW++ Design and Development GmbH converted the Ikarus format fonts
1056N/Ato TrueType and Type1 font programs and implemented the grid-fitting
1056N/A"hints" and kerning tables in the Luxi fonts.
1056N/A</p><p>
1056N/AFor more information, please contact
1276N/A<code class="email">&lt;<a class="email" href="mailto:design@bigelowandholmes.com">design@bigelowandholmes.com</a>&gt;</code> or
1276N/A<code class="email">&lt;<a class="email" href="mailto:info@urwpp.de">info@urwpp.de</a>&gt;</code>, or consult
1276N/A<a class="ulink" href="http://www.urwpp.de" target="_top">the URW++ web site</a>.
1056N/A</p><p>
1056N/AAn earlier version of the Luxi fonts was made available under the
1056N/Aname <span class="emphasis"><em>Lucidux</em></span>. This name should no longer be used due to
1056N/Atrademark uncertainties, and all traces of the <span class="emphasis"><em>Lucidux</em></span>
1276N/Aname have been removed from X11R7.7.
1276N/A</p></div></div><div class="sect1"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="More_about_core_fonts"></a>More about core fonts</h2></div></div></div><p>
1276N/AThis section describes XFree86-created enhancements to the core
1276N/AX11 fonts system that were adopted by X.Org.
1276N/A</p><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a id="Core_fonts_and_internationalisation"></a>Core fonts and internationalisation</h3></div></div></div><p>
1056N/AThe scalable font backends (Type 1 and TrueType) can
1056N/Aautomatically re-encode fonts to the encoding specified in the
1276N/AXLFD in <span class="quote">“<span class="quote"><code class="filename">fonts.dir</code></span>”</span>. For example, a <span class="quote">“<span class="quote"><code class="filename">fonts.dir</code></span>”</span> file can
1056N/Acontain entries for the Type 1 Courier font such as
1056N/A
1056N/A</p><pre class="screen">
1056N/Acour.pfa -adobe-courier-medium-r-normal--0-0-0-0-m-0-iso8859-1
1056N/Acour.pfa -adobe-courier-medium-r-normal--0-0-0-0-m-0-iso8859-2
1056N/A</pre><p>
1056N/A
1056N/Awhich will lead to the font being recoded to ISO 8859-1 and
1056N/AISO 8859-2 respectively.
1276N/A</p><div class="sect3"><div class="titlepage"><div><div><h4 class="title"><a id="The_fontenc_layer"></a>The <span class="emphasis"><em>fontenc</em></span> layer</h4></div></div></div><p>
1056N/ATwo of the scalable backends (Type 1 and the
1056N/A<span class="emphasis"><em>FreeType</em></span> TrueType backend) use a common <span class="emphasis"><em>fontenc</em></span> layer for
1056N/Afont re-encoding. This allows these backends to share their encoding
1056N/Adata, and allows simple configuration of new locales independently of
1056N/Afont type.
1056N/A</p><p>
1056N/A<span class="emphasis"><em>Please note:</em></span> the X-TrueType (X-TT) backend is not included
1276N/Ain X11R7.7. That functionality has been merged into the FreeType
1276N/Abackend.
1056N/A</p><p>
1056N/AIn the <span class="emphasis"><em>fontenc</em></span> layer, an encoding is defined by a name (such as
1056N/A<code class="literal">iso8859-1</code>), possibly a number of aliases (alternate names), and
1056N/Aan ordered collection of mappings. A mapping defines the way the
1056N/Aencoding can be mapped into one of the <span class="emphasis"><em>target encodings</em></span> known to
1056N/A<span class="emphasis"><em>fontenc</em></span>; currently, these consist of Unicode, Adobe glyph names,
1276N/Aand arbitrary TrueType <span class="quote">“<span class="quote">cmap</span>”</span>s.
1056N/A</p><p>
1056N/AA number of encodings are hardwired into <span class="emphasis"><em>fontenc</em></span>, and are
1056N/Atherefore always available; the hardcoded encodings cannot easily be
1056N/Aredefined. These include:
1056N/A
1276N/A</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
1056N/A <code class="literal">iso10646-1</code>: Unicode;
1276N/A</p></li><li class="listitem"><p>
1056N/A <code class="literal">iso8859-1</code>: ISO Latin-1 (Western Europe);
1276N/A</p></li><li class="listitem"><p>
1056N/A <code class="literal">iso8859-2</code>: ISO Latin-2 (Eastern Europe);
1276N/A</p></li><li class="listitem"><p>
1056N/A <code class="literal">iso8859-3</code>: ISO Latin-3 (Southern Europe);
1276N/A</p></li><li class="listitem"><p>
1056N/A <code class="literal">iso8859-4</code>: ISO Latin-4 (Northern Europe);
1276N/A</p></li><li class="listitem"><p>
1056N/A <code class="literal">iso8859-5</code>: ISO Cyrillic;
1276N/A</p></li><li class="listitem"><p>
1056N/A <code class="literal">iso8859-6</code>: ISO Arabic;
1276N/A</p></li><li class="listitem"><p>
1056N/A <code class="literal">iso8859-7</code>: ISO Greek;
1276N/A</p></li><li class="listitem"><p>
1056N/A <code class="literal">iso8859-8</code>: ISO Hebrew;
1276N/A</p></li><li class="listitem"><p>
1056N/A <code class="literal">iso8859-9</code>: ISO Latin-5 (Turkish);
1276N/A</p></li><li class="listitem"><p>
1056N/A <code class="literal">iso8859-10</code>: ISO Latin-6 (Nordic);
1276N/A</p></li><li class="listitem"><p>
1056N/A <code class="literal">iso8859-15</code>: ISO Latin-9, or Latin-0 (Revised
1056N/AWestern-European);
1276N/A</p></li><li class="listitem"><p>
1056N/A <code class="literal">koi8-r</code>: KOI8 Russian;
1276N/A</p></li><li class="listitem"><p>
1056N/A <code class="literal">koi8-u</code>: KOI8 Ukrainian (see RFC 2319);
1276N/A</p></li><li class="listitem"><p>
1056N/A <code class="literal">koi8-ru</code>: KOI8 Russian/Ukrainian;
1276N/A</p></li><li class="listitem"><p>
1276N/A <code class="literal">koi8-uni</code>: KOI8 <span class="quote">“<span class="quote">Unified</span>”</span> (Russian, Ukrainian, and
1056N/AByelorussian);
1276N/A</p></li><li class="listitem"><p>
1276N/A <code class="literal">koi8-e</code>: KOI8 <span class="quote">“<span class="quote">European,</span>”</span> ISO-IR-111, or ECMA-Cyrillic;
1276N/A</p></li><li class="listitem"><p>
1056N/A <code class="literal">microsoft-symbol</code> and <code class="literal">apple-roman</code>: these are only
1056N/Alikely to be useful with TrueType symbol fonts.
1056N/A</p></li></ul></div><p>
1056N/A
1056N/A</p><p>
1056N/AAdditional encodings can be added by defining <span class="emphasis"><em>encoding files</em></span>.
1056N/AWhen a font encoding is requested that the <span class="emphasis"><em>fontenc</em></span> layer doesn't
1056N/Aknow about, the backend checks the directory in which the font file
1056N/Aresides (not necessarily the directory with <code class="filename">fonts.dir</code>!) for a
1276N/Afile named <span class="quote">“<span class="quote"><code class="filename">encodings.dir</code></span>”</span>. If found, this file is scanned for
1056N/Athe requested encoding, and the relevant encoding definition file is
1276N/Aread in. The <span class="quote">“<span class="quote"><span class="command"><strong>mkfontdir</strong></span></span>”</span> utility, when invoked with the
1276N/A<span class="quote">“<span class="quote"><code class="literal">-e</code></span>”</span> option followed by the name of a directory containing
1276N/Aencoding files, can be used to automatically build <span class="quote">“<span class="quote"><code class="filename">encodings.dir</code></span>”</span>
1276N/Afiles. Please see the <a class="ulink" href="mkfontdir.1.html" target="_top">mkfontdir(1)</a>
1056N/Amanual page for more details.
1056N/A</p><p>
1056N/AA number of encoding files for common encodings are included with
1276N/AX11R7.7. Information on writing new encoding files can be found in
1276N/A<a class="xref" href="#Format_of_encoding_directory_files" title="Format of encoding directory files">Format of encoding directory files</a>
1276N/Aand <a class="xref" href="#Format_of_encoding_files" title="Format of encoding files">Format of encoding files</a> later in this document.
1276N/A</p></div><div class="sect3"><div class="titlepage"><div><div><h4 class="title"><a id="Backend-specific_notes_about_fontenc"></a>Backend-specific notes about fontenc</h4></div></div></div><div class="sect4"><div class="titlepage"><div><div><h5 class="title"><a id="The_FreeType_backend"></a>The <span class="emphasis"><em>FreeType</em></span> backend</h5></div></div></div><p>
1056N/AFor TrueType and OpenType fonts, the FreeType backend scans the
1056N/Amappings in order. Mappings with a target of PostScript are ignored;
1056N/Amappings with a TrueType or Unicode target are checked against all the
1056N/Acmaps in the file. The first applicable mapping is used.
1056N/A</p><p>
1056N/AFor Type 1 fonts, the FreeType backend first searches for a
1056N/Amapping with a target of PostScript. If one is found, it is used.
1056N/AOtherwise, the backend searches for a mapping with target Unicode,
1056N/Awhich is then composed with a built-in table mapping codes to glyph
1056N/Anames. Note that this table only covers part of the Unicode code
1056N/Apoints that have been assigned names by Adobe.
1056N/A</p><p>
1056N/ASpecifying an encoding value of <code class="literal">adobe-fontspecific</code> for a
1056N/AType 1 font disables the encoding mechanism. This is useful with
1276N/Asymbol and incorrectly encoded fonts (see
1276N/A<a class="xref" href="#Hints_about_using_badly_encoded_fonts" title="Hints about using badly encoded fonts">Hints about using badly encoded fonts</a> below).
1056N/A</p><p>
1056N/AIf a suitable mapping is not found, the FreeType backend defaults to
1056N/AISO 8859-1.
1276N/A</p></div></div><div class="sect3"><div class="titlepage"><div><div><h4 class="title"><a id="Format_of_encoding_directory_files"></a>Format of encoding directory files</h4></div></div></div><p>
1056N/AIn order to use a font in an encoding that the font backend does
1276N/Anot know about, you need to have an <span class="quote">“<span class="quote"><code class="filename">encodings.dir</code></span>”</span> file either
1056N/Ain the same directory as the font file used or in a system-wide
1276N/Alocation (<span class="quote">“<span class="quote"><code class="filename">/usr/share/fonts/X11/encodings/</code></span>”</span> by default).
1056N/A</p><p>
1276N/AThe <span class="quote">“<span class="quote"><code class="filename">encodings.dir</code></span>”</span> file has a similar format to
1276N/A<span class="quote">“<span class="quote"><code class="filename">fonts.dir</code></span>”</span>. Its first line specifies the number of encodings,
1056N/Awhile every successive line has two columns, the name of the encoding,
1056N/Aand the name of the encoding file; this can be relative to the current
1056N/Adirectory, or absolute. Every encoding name should agree with the
1056N/Aencoding name defined in the encoding file. For example,
1056N/A</p><p>
1056N/A
1056N/A</p><pre class="screen">
1056N/A3
1056N/Amulearabic-0 /usr/share/fonts/X11/encodings/mulearabic-0.enc
1056N/Amulearabic-1 /usr/share/fonts/X11/encodings/mulearabic-1.enc
1056N/Amulearabic-2 /usr/share/fonts/X11/encodings/mulearabic-2.enc
1056N/A</pre><p>
1056N/A
1056N/A</p><p>
1056N/AThe name of an encoding <span class="emphasis"><em>must</em></span> be specified in the encoding file's
1276N/A<span class="quote">“<span class="quote"><code class="literal">STARTENCODING</code></span>”</span> or <span class="quote">“<span class="quote"><code class="literal">ALIAS</code></span>”</span> line. It is not enough to create
1276N/Aan <span class="quote">“<span class="quote"><code class="filename">encodings.dir</code></span>”</span> entry.
1056N/A</p><p>
1056N/AIf your platform supports it (it probably does), encoding files may be
1056N/Acompressed or gzipped.
1056N/A</p><p>
1276N/AThe <span class="quote">“<span class="quote"><code class="filename">encoding.dir</code></span>”</span> files are best maintained by the
1276N/A<span class="quote">“<span class="quote"><span class="command"><strong>mkfontdir</strong></span></span>”</span> utility. Please see the <a class="ulink" href="mkfontdir.1.html" target="_top">mkfontdir(1)</a> manual page for more information.
1276N/A</p></div><div class="sect3"><div class="titlepage"><div><div><h4 class="title"><a id="Format_of_encoding_files"></a>Format of encoding files</h4></div></div></div><p>
1276N/AThe encoding files are <span class="quote">“<span class="quote">free form,</span>”</span> <span class="emphasis"><em>i.e.</em></span> any string of
1056N/Awhitespace is equivalent to a single space. Keywords are parsed in a
1276N/Anon-case-sensitive manner, meaning that <span class="quote">“<span class="quote"><code class="literal">size</code></span>”</span>, <span class="quote">“<span class="quote"><code class="literal">SIZE</code></span>”</span>, and
1276N/A<span class="quote">“<span class="quote"><code class="literal">SiZE</code></span>”</span> all parse as the same keyword; on the other hand, case is
1056N/Asignificant in glyph names.
1056N/A</p><p>
1276N/ANumbers can be written in decimal, as in <span class="quote">“<span class="quote"><code class="literal">256</code></span>”</span>, in hexadecimal,
1276N/Aas in <span class="quote">“<span class="quote"><code class="literal">0x100</code></span>”</span>, or in octal, as in <span class="quote">“<span class="quote"><code class="literal">0400</code></span>”</span>.
1056N/A</p><p>
1276N/AComments are introduced by a hash sign <span class="quote">“<span class="quote"><code class="literal">#</code></span>”</span>. A <span class="quote">“<span class="quote"><code class="literal">#</code></span>”</span> may
1056N/Aappear at any point in a line, and all characters following the
1276N/A<span class="quote">“<span class="quote"><code class="literal">#</code></span>”</span> are ignored, up to the end of the line.
1056N/A</p><p>
1056N/AThe encoding file starts with the definition of the name of the
1056N/Aencoding, and possibly its alternate names (aliases):
1056N/A
1056N/A</p><pre class="screen">
1056N/ASTARTENCODING mulearabic-0
1056N/AALIAS arabic-0
1056N/A</pre><p>
1056N/A
1056N/AThe name of the encoding and its aliases should be suitable for use in
1276N/Aan XLFD font name, and therefore contain exactly one dash <span class="quote">“<span class="quote"><code class="literal">-</code></span>”</span>.
1056N/A</p><p>
1056N/AThe encoding file may then optionally declare the size of the
1056N/Aencoding. For a linear encoding (such as ISO 8859-1), the SIZE
1056N/Aline specifies the maximum code plus one:
1056N/A
1056N/A</p><pre class="screen">
1056N/ASIZE 0x2B
1056N/A</pre><p>
1056N/A
1056N/AFor a matrix encoding, it should specify two numbers. The first is
1056N/Athe number of the last row plus one, the other, the highest column
1276N/Anumber plus one. In the case of <span class="quote">“<span class="quote"><code class="literal">jisx0208.1990-0</code></span>”</span>
1056N/A(JIS X 0208(1990), double-byte encoding, high bit clear), it
1056N/Ashould be
1056N/A
1056N/A</p><pre class="screen">
1056N/ASIZE 0x75 0x80
1056N/A</pre><p>
1056N/A
1276N/AIn the case of a matrix encoding, a <span class="quote">“<span class="quote"><code class="literal">FIRSTINDEX</code></span>”</span> line may be
1056N/Aincluded to specify the minimum glyph index in an encoding. The
1276N/Akeyword <span class="quote">“<span class="quote"><code class="literal">FIRSTINDEX</code></span>”</span> is followed by two integers, the minimum row
1056N/Anumber followed by the minimum column number:
1056N/A
1056N/A</p><pre class="screen">
1056N/AFIRSTINDEX 0x20 0x20
1056N/A</pre><p>
1056N/A
1276N/AIn the case of a linear encoding, a <span class="quote">“<span class="quote"><code class="literal">FIRSTINDEX</code></span>”</span> line is not very
1056N/Auseful. If for some reason however you chose to include on, it should
1056N/Abe followed by a single integer.
1056N/A</p><p>
1276N/ANote that in most font backends inclusion of a <span class="quote">“<span class="quote"><code class="literal">FIRSTINDEX</code></span>”</span> line
1056N/Ahas the side effect of disabling default glyph generation, and this
1056N/Akeyword should therefore be avoided unless absolutely necessary.
1056N/A</p><p>
1276N/ACodes outside the region defined by the <span class="quote">“<span class="quote"><code class="literal">SIZE</code></span>”</span> and
1276N/A<span class="quote">“<span class="quote"><code class="literal">FIRSTINDEX</code></span>”</span> lines are understood to be undefined. Encodings
1056N/Adefault to linear encoding with a size of 256 (0x100). This means
1056N/Athat you must declare the size of all 16 bit encodings.
1056N/A</p><p>
1056N/AWhat follows is one or more mapping sections. A mapping section
1276N/Astarts with a <span class="quote">“<span class="quote"><code class="literal">STARTMAPPING</code></span>”</span> line stating the target of the mapping.
1056N/AThe target may be one of:
1056N/A
1276N/A</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
1056N/AUnicode (ISO 10646):
1056N/A
1056N/A</p><pre class="screen">
1056N/ASTARTMAPPING unicode
1056N/A</pre><p>
1056N/A
1276N/A</p></li><li class="listitem"><p>
1276N/Aa given TrueType <span class="quote">“<span class="quote">cmap</span>”</span>:
1056N/A
1056N/A</p><pre class="screen">
1056N/ASTARTMAPPING cmap 3 1
1056N/A</pre><p>
1056N/A
1276N/A</p></li><li class="listitem"><p>
1056N/APostScript glyph names:
1056N/A
1056N/A</p><pre class="screen">
1056N/ASTARTMAPPING postscript
1056N/A</pre><p>
1056N/A
1056N/A</p></li></ul></div><p>
1056N/A
1056N/AEvery line in a mapping section maps one from the encoding being
1056N/Adefined to the target of the mapping. In mappings with a Unicode or
1056N/ATrueType mapping, codes are mapped to codes:
1056N/A
1056N/A</p><pre class="screen">
1056N/A0x21 0x0660
1056N/A0x22 0x0661
1056N/A...
1056N/A</pre><p>
1056N/A
1056N/AAs an abbreviation, it is possible to map a contiguous range of codes
1056N/Ain a single line. A line consisting of three integers
1056N/A
1056N/A</p><pre class="screen">
1056N/A&lt;it/start/ &lt;it/end/ &lt;it/target/
1056N/A</pre><p>
1056N/A
1056N/Ais an abbreviation for the range of lines
1056N/A
1056N/A</p><pre class="screen">
1056N/A<span class="emphasis"><em>start</em></span> <span class="emphasis"><em>target</em></span>
1056N/A</pre><p>
1056N/A
1056N/A</p><pre class="screen">
1056N/A<span class="emphasis"><em>start</em></span>+1 <span class="emphasis"><em>target</em></span>+1
1056N/A</pre><p>
1056N/A
1056N/A</p><pre class="screen">
1056N/A...
1056N/A</pre><p>
1056N/A
1056N/A</p><pre class="screen">
1056N/A<span class="emphasis"><em>end</em></span> <span class="emphasis"><em>target</em></span>+<span class="emphasis"><em>end</em></span>-<span class="emphasis"><em>start</em></span>
1056N/A</pre><p>
1056N/A
1056N/AFor example, the line
1056N/A
1056N/A</p><pre class="screen">
1056N/A0x2121 0x215F 0x8140
1056N/A</pre><p>
1056N/A
1056N/Ais an abbreviation for
1056N/A
1056N/A</p><pre class="screen">
1056N/A0x2121 0x8140
1056N/A0x2122 0x8141
1056N/A...
1056N/A0x215F 0x817E
1056N/A</pre><p>
1056N/A
1056N/ACodes not listed are assumed to map through the identity (<span class="emphasis"><em>i.e.</em></span> to
1056N/Athe same numerical value). In order to override this default mapping,
1056N/Ayou may specify a range of codes to be undefined by using an
1276N/A<span class="quote">“<span class="quote"><code class="literal">UNDEFINE</code></span>”</span> line:
1056N/A
1056N/A</p><pre class="screen">
1056N/AUNDEFINE 0x00 0x2A
1056N/A</pre><p>
1056N/A
1056N/Aor, for a single code,
1056N/A
1056N/A</p><pre class="screen">
1056N/AUNDEFINE 0x1234
1056N/A</pre><p>
1056N/A
1056N/A</p><p>
1056N/APostScript mappings are different. Every line in a PostScript mapping
1056N/Amaps a code to a glyph name
1056N/A
1056N/A</p><pre class="screen">
1056N/A0x41 A
1056N/A0x42 B
1056N/A...
1056N/A</pre><p>
1056N/A
1056N/Aand codes not explicitly listed are undefined.
1056N/A</p><p>
1056N/AA mapping section ends with an <code class="literal">ENDMAPPING</code> line
1056N/A
1056N/A</p><pre class="screen">
1056N/AENDMAPPING
1056N/A</pre><p>
1056N/A
1056N/AAfter all the mappings have been defined, the file ends with an
1056N/A<code class="literal">ENDENCODING</code> line
1056N/A
1056N/A</p><pre class="screen">
1056N/AENDENCODING
1056N/A</pre><p>
1056N/A
1056N/A</p><p>
1056N/AIn order to make future extensions to the format possible, lines
1056N/Astarting with an unknown keyword are silently ignored, as are mapping
1056N/Asections with an unknown target.
1276N/A</p></div><div class="sect3"><div class="titlepage"><div><div><h4 class="title"><a id="Using_symbol_fonts"></a>Using symbol fonts</h4></div></div></div><p>
1056N/AType 1 symbol fonts should be installed using the
1056N/A<code class="literal">adobe-fontspecific</code> encoding.
1056N/A</p><p>
1056N/AIn an ideal world, all TrueType symbol fonts would be installed using
1056N/Aone of the <code class="literal">microsoft-symbol</code> and <code class="literal">apple-roman</code> encodings. A
1056N/Anumber of symbol fonts, however, are not marked as such; such fonts
1056N/Ashould be installed using <code class="literal">microsoft-cp1252</code>, or, for older fonts,
1056N/A<code class="literal">microsoft-win3.1</code>.
1056N/A</p><p>
1056N/AIn order to guarantee consistent results (especially between
1056N/AType 1 and TrueType versions of the same font), it is possible to
1056N/Adefine a special encoding for a given font. This has already been done
1056N/Afor the <code class="literal">ZapfDingbats</code> font; see the file
1276N/A<span class="quote">“<span class="quote"><code class="filename">encodings/adobe-dingbats.enc</code></span>”</span>.
1276N/A</p></div><div class="sect3"><div class="titlepage"><div><div><h4 class="title"><a id="Hints_about_using_badly_encoded_fonts"></a>Hints about using badly encoded fonts</h4></div></div></div><p>
1056N/AA number of text fonts are incorrectly encoded. Incorrect encoding
1056N/Ais sometimes done by design, in order to make a font for an exotic
1056N/Ascript appear like an ordinary Western text font on systems which are
1056N/Anot easily extended with new locale data. It is often the result of
1056N/Athe font designer's laziness or incompetence; for some reason, most
1056N/Apeople seem to find it easier to invent idiosyncratic glyph names
1056N/Arather than follow the Adobe glyph list.
1056N/A</p><p>
1056N/AThere are two ways of dealing with such fonts: using them with the
1056N/Aencoding they were designed for, and creating an <span class="emphasis"><em>ad hoc</em></span> encoding
1056N/Afile.
1276N/A</p><div class="sect4"><div class="titlepage"><div><div><h5 class="title"><a id="Using_fonts_with_the_designers_encoding"></a>Using fonts with the designer's encoding</h5></div></div></div><p>
1056N/AIn the case of Type 1 fonts, the font designer can specify a
1056N/Adefault encoding; this encoding is requested by using the
1276N/A<span class="quote">“<span class="quote"><code class="literal">adobe-fontspecific</code></span>”</span> encoding in the XLFD name. Sometimes, the
1056N/Afont designer omitted to specify a reasonable default encoding, in
1276N/Awhich case you should experiment with <span class="quote">“<span class="quote"><code class="literal">adobe-standard</code></span>”</span>,
1276N/A<span class="quote">“<span class="quote"><code class="literal">iso8859-1</code></span>”</span>, <span class="quote">“<span class="quote"><code class="literal">microsoft-cp1252</code></span>”</span>, and
1276N/A<span class="quote">“<span class="quote"><code class="literal">microsoft-win3.1</code></span>”</span>. (The encoding <span class="quote">“<span class="quote"><code class="literal">microsoft-symbol</code></span>”</span> doesn't
1056N/Amake sense for Type 1 fonts).
1056N/A</p><p>
1056N/ATrueType fonts do not have a default encoding. However, most TrueType
1056N/Afonts are designed with either Microsoft or Apple platforms in mind,
1276N/Aso one of <span class="quote">“<span class="quote"><code class="literal">microsoft-symbol</code></span>”</span>, <span class="quote">“<span class="quote"><code class="literal">microsoft-cp1252</code></span>”</span>,
1276N/A<span class="quote">“<span class="quote"><code class="literal">microsoft-win3.1</code></span>”</span>, or <span class="quote">“<span class="quote"><code class="literal">apple-roman</code></span>”</span> should yield reasonable
1056N/Aresults.
1276N/A</p></div><div class="sect4"><div class="titlepage"><div><div><h5 class="title"><a id="Specifying_an_ad_hoc_encoding_file"></a>Specifying an <span class="emphasis"><em>ad hoc</em></span> encoding file</h5></div></div></div><p>
1056N/AIt is always possible to define an encoding file to put the glyphs
1056N/Ain a font in any desired order. Again, see the
1276N/A<span class="quote">“<span class="quote"><code class="filename">encodings/adobe-dingbats.enc</code></span>”</span> file to see how this is done.
1276N/A</p></div><div class="sect4"><div class="titlepage"><div><div><h5 class="title"><a id="Specifying_font_aliases"></a>Specifying font aliases</h5></div></div></div><p>
1056N/ABy following the directions above, you will find yourself with a
1056N/Anumber of fonts with unusual names --- with encodings such as
1276N/A<span class="quote">“<span class="quote"><code class="literal">adobe-fontspecific</code></span>”</span>, <span class="quote">“<span class="quote"><code class="literal">microsoft-win3.1</code></span>”</span> <span class="emphasis"><em>etc</em></span>. In order
1056N/Ato use these fonts with standard applications, it may be useful to
1056N/Aremap them to their proper names.
1056N/A</p><p>
1276N/AThis is done by writing a <span class="quote">“<span class="quote"><code class="filename">fonts.alias</code></span>”</span> file. The format of this file
1056N/Ais very simple: it consists of a series of lines each mapping an alias
1276N/Aname to a font name. A <span class="quote">“<span class="quote"><code class="filename">fonts.alias</code></span>”</span> file might look as follows:
1056N/A
1056N/A</p><pre class="screen">
1056N/A"-ogonki-alamakota-medium-r-normal--0-0-0-0-p-0-iso8859-2" \
1056N/A "-ogonki-alamakota-medium-r-normal--0-0-0-0-p-0-adobe-fontspecific"
1056N/A</pre><p>
1056N/A
1056N/A(both XLFD names on a single line). The syntax of the
1276N/A<span class="quote">“<span class="quote"><code class="filename">fonts.alias</code></span>”</span> file is more precisely described in the
1276N/A<a class="ulink" href="mkfontdir.1.html" target="_top">mkfontdir(1)</a> manual page.
1276N/A</p></div></div></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a id="Additional_notes_about_scalable_core_fonts"></a>Additional notes about scalable core fonts</h3></div></div></div><div class="sect3"><div class="titlepage"><div><div><h4 class="title"><a id="About_the_FreeType_backend"></a>About the <span class="emphasis"><em>FreeType</em></span> backend</h4></div></div></div><p>
1056N/AThe <span class="emphasis"><em>FreeType</em></span> backend (formerly <span class="emphasis"><em>xfsft</em></span>)
1276N/Ais a backend based on version 2 of the FreeType library (see <a class="ulink" href="http://www.freetype.org/" target="_top">the FreeType web site</a>) and has
1056N/Athe X-TT functionalities for CJKV support provided by the After X-TT
1276N/AProject (see <a class="ulink" href="http://x-tt.sourceforge.jp/" target="_top">the After X-TT Project web site</a>). The <span class="emphasis"><em>FreeType</em></span> backend has support for the
1276N/A<span class="quote">“<span class="quote">fontenc</span>”</span> style of internationalisation (see
1276N/A<a class="xref" href="#The_fontenc_layer" title="The fontenc layer">The <span class="emphasis"><em>fontenc</em></span> layer</a>). This backend supports TrueType font files
1276N/A(<span class="quote">“<span class="quote"><code class="filename">*.ttf</code></span>”</span>), OpenType font files (<span class="quote">“<span class="quote"><code class="filename">*.otf</code></span>”</span>), TrueType Collections
1276N/A(<span class="quote">“<span class="quote"><code class="filename">*.ttc</code></span>”</span>), OpenType Collections (<span class="quote">“<span class="quote"><code class="filename">*.otc</code></span>”</span>) and Type 1 font
1276N/Afiles (<span class="quote">“<span class="quote"><code class="filename">*.pfa</code></span>”</span> and <span class="quote">“<span class="quote"><code class="filename">*.pfb</code></span>”</span>).
1056N/A</p><p>
1056N/AIn order to access the faces in a TrueType Collection file, the face
1056N/Anumber must be specified in the fonts.dir file before the filename,
1056N/Awithin a pair of colons, or by setting the 'fn' TTCap option. For example,
1056N/A</p><p>
1056N/A
1056N/A</p><pre class="screen">
1056N/A:1:mincho.ttc -misc-pmincho-medium-r-normal--0-0-0-0-p-0-jisx0208.1990-0
1056N/A</pre><p>
1056N/A
1056N/A</p><p>
1276N/Arefers to face 1 in the <span class="quote">“<span class="quote"><code class="filename">mincho.ttc</code></span>”</span> TrueType Collection file.
1056N/A</p><p>
1056N/AThe new <span class="emphasis"><em>FreeType</em></span> backend supports the extended
1276N/A<span class="quote">“<span class="quote"><code class="filename">fonts.dir</code></span>”</span> syntax introduced by X-TrueType with a number
1276N/Aof options, collectively known as <span class="quote">“<span class="quote">TTCap</span>”</span>. A <span class="quote">“<span class="quote">TTCap</span>”</span> entry follows the
1056N/Ageneral syntax
1056N/A</p><p>
1056N/A
1056N/A</p><pre class="screen">
1056N/Aoption=value:
1056N/A</pre><p>
1056N/A
1056N/A</p><p>
1056N/Aand should be specified before the filename. The new <span class="emphasis"><em>FreeType</em></span>
1056N/Aalmost perfectly supports TTCap options that are compatible with X-TT
1276N/A1.4. The Automatic Italic (<span class="quote">“<span class="quote"><code class="literal">ai</code></span>”</span>), Double Strike (<span class="quote">“<span class="quote"><code class="literal">ds</code></span>”</span>) and
1276N/ABounding box Width (<span class="quote">“<span class="quote"><code class="literal">bw</code></span>”</span>) options are indispensable in CJKV.
1056N/AFor example,
1056N/A</p><p>
1056N/A
1056N/A</p><pre class="screen">
1056N/Amincho.ttc -misc-mincho-medium-r-normal--0-0-0-0-c-0-jisx0208.1990-0
1056N/Ads=y:mincho.ttc -misc-mincho-bold-r-normal--0-0-0-0-c-0-jisx0208.1990-0
1056N/Aai=0.2:mincho.ttc -misc-mincho-medium-i-normal--0-0-0-0-c-0-jisx0208.1990-0
1056N/Ads=y:ai=0.2:mincho.ttc -misc-mincho-bold-i-normal--0-0-0-0-c-0-jisx0208.1990-0
1056N/Abw=0.5:mincho.ttc -misc-mincho-medium-r-normal--0-0-0-0-c-0-jisx0201.1976-0
1056N/Abw=0.5:ds=y:mincho.ttc -misc-mincho-bold-r-normal--0-0-0-0-c-0-jisx0201.1976-0
1056N/Abw=0.5:ai=0.2:mincho.ttc -misc-mincho-medium-i-normal--0-0-0-0-c-0-jisx0201.1976-0
1056N/Abw=0.5:ds=y:ai=0.2:mincho.ttc -misc-mincho-bold-i-normal--0-0-0-0-c-0-jisx0201.1976-0
1056N/A</pre><p>
1056N/A
1056N/A</p><p>
1056N/Asetup the complete combination of jisx0208 and jisx0201 using mincho.ttc
1276N/Aonly. More information on the TTCap syntax is found on <a class="ulink" href="http://x-tt.sourceforge.jp/" target="_top">the After X-TT Project page</a>.
1056N/A</p><p>
1056N/AThe <span class="emphasis"><em>FreeType</em></span> backend uses the <span class="emphasis"><em>fontenc</em></span> layer in order to support
1276N/Arecoding of fonts; this was described in <a class="xref" href="#The_fontenc_layer" title="The fontenc layer">The <span class="emphasis"><em>fontenc</em></span> layer</a>
1276N/Aand especially <a class="xref" href="#The_FreeType_backend" title="The FreeType backend">The <span class="emphasis"><em>FreeType</em></span> backend</a> earlier in this document.
1276N/A</p></div><div class="sect3"><div class="titlepage"><div><div><h4 class="title"><a id="Delayed_glyph_rasterisation"></a>Delayed glyph rasterisation</h4></div></div></div><p>
1056N/AWhen loading a proportional fonts which contain a huge number of glyphs,
1056N/Athe old <span class="emphasis"><em>FreeType</em></span> delayed glyph rasterisation until the time at which
1056N/Athe glyph was first used. The new FreeType (libfreetype-xtt2) has an
1276N/Aimproved <span class="quote">“<span class="quote">very lazy</span>”</span> metric calculation method to speed up the process when
1056N/Aloading TrueType or OpenType fonts. Although the <span class="emphasis"><em>X-TT</em></span> module also
1056N/Ahas this method, the "<code class="literal">vl=y</code>" TTCap option must be set if you want to
1056N/Ause it. This is the default method for <span class="emphasis"><em>FreeType</em></span> when it loads
1056N/Amulti-byte fonts. Even if you use a unicode font which has tens of
1056N/Athousands of glyphs, this delay will not be worrisome as long as you use
1276N/Athe new <span class="emphasis"><em>FreeType</em></span> backend -- its <span class="quote">“<span class="quote">very lazy</span>”</span> method is super-fast.
1056N/A</p><p>
1276N/AThe maximum error of bitmap position using <span class="quote">“<span class="quote">very lazy</span>”</span> method is 1 pixel,
1056N/Aand is the same as that of a character-cell spacing. When the X-TT
1276N/Abackend is used with the <span class="quote">“<span class="quote"><code class="literal">vl=y</code></span>”</span> option, a chipped bitmap is displayed
1056N/Awith certain fonts. However, the new FreeType backend has minimal problem
1056N/Awith this, since it corrects left- and right-side bearings using
1276N/A<span class="quote">“<span class="quote">italicAngle</span>”</span> in the TrueType/OpenType post table, and does automatic
1056N/Acorrection of bitmap positions when rasterisation so that chipped bitmaps
1276N/Aare not displayed. Nevertheless if you don't want to use the <span class="quote">“<span class="quote">very lazy</span>”</span>
1276N/Amethod when using multi-bytes fonts, set <span class="quote">“<span class="quote"><code class="literal">vl=n</code></span>”</span> in the TTCap option to
1056N/Adisable it:
1056N/A</p><p>
1056N/A
1056N/A</p><pre class="screen">
1056N/Avl=n:luxirr.ttf -b&amp;h-Luxi Serif-medium-r-normal--0-0-0-0-p-0-iso10646-1
1056N/A</pre><p>
1056N/A
1056N/A</p><p>
1056N/AOf course, both backends also support an optimisation for character-cell
1056N/Afonts (fonts with all glyph metrics equal, or terminal fonts). A font
1276N/Awith an XLFD specifying a character-cell spacing <span class="quote">“<span class="quote"><code class="literal">c</code></span>”</span>, as in
1056N/A</p><p>
1056N/A
1056N/A</p><pre class="screen">
1056N/A-misc-mincho-medium-r-normal--0-0-0-0-c-0-jisx0208.1990-0
1056N/A</pre><p>
1056N/A
1056N/A</p><p>
1056N/Aor
1056N/A</p><p>
1056N/A
1056N/A</p><pre class="screen">
1056N/Afs=c:mincho.ttc -misc-mincho-medium-r-normal--0-0-0-0-p-0-jisx0208.1990-0
1056N/A</pre><p>
1056N/A
1056N/A</p><p>
1056N/Awill not compute the metric for each glyph, but instead
1056N/Atrust the font to be a character-cell font. You are
1056N/Aencouraged to make use of this optimisation when useful, but be warned
1056N/Athat not all monospaced fonts are character-cell fonts.
1276N/A</p></div></div></div><div class="sect1"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="Appendix_background_and_terminology"></a>Appendix: background and terminology</h2></div></div></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a id="Characters_and_glyphs"></a>Characters and glyphs</h3></div></div></div><p>
1056N/AA computer text-processing system inputs keystrokes and outputs
1056N/A<span class="emphasis"><em>glyphs</em></span>, small pictures that are assembled on paper or on a
1056N/Acomputer screen. Keystrokes and glyphs do not, in general, coincide:
1056N/Afor example, if the system does generate ligatures, then to the
1056N/Asequence of two keystrokes &lt;<code class="literal">f</code>&gt;&lt;<code class="literal">i</code>&gt; will typically
1056N/Acorrespond a single glyph. Similarly, if the system shapes Arabic
1056N/Aglyphs in a vaguely reasonable manner, then multiple different glyphs
1056N/Amay correspond to a single keystroke.
1056N/A</p><p>
1056N/AThe complex transformation rules from keystrokes to glyphs are usually
1056N/Afactored into two simpler transformations, from keystrokes to
1056N/A<span class="emphasis"><em>characters</em></span> and from characters to glyphs. You may want to think
1056N/Aof characters as the basic unit of text that is stored <span class="emphasis"><em>e.g.</em></span> in
1056N/Athe buffer of your text editor. While the definition of a character
1056N/Ais intrinsically application-specific, a number of standardised
1056N/Acollections of characters have been defined.
1056N/A</p><p>
1056N/AA <span class="emphasis"><em>coded character set</em></span> is a set of characters together with a
1056N/Amapping from integer codes --- known as <span class="emphasis"><em>codepoints</em></span> --- to
1056N/Acharacters. Examples of coded character sets include US-ASCII,
1056N/AISO 8859-1, KOI8-R, and JIS X 0208(1990).
1056N/A</p><p>
1056N/AA coded character set need not use 8 bit integers to index characters.
1056N/AMany early systems used 6 bit character sets, while 16 bit (or more)
1056N/Acharacter sets are necessary for ideographic writing systems.
1276N/A</p></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a id="Font_files_fonts_and_XLFD"></a>Font files, fonts, and XLFD</h3></div></div></div><p>
1056N/ATraditionally, typographers speak about <span class="emphasis"><em>typefaces</em></span> and
1056N/A<span class="emphasis"><em>founts</em></span>. A typeface is a particular style or design, such as
1056N/ATimes Italic, while a fount is a molten-lead incarnation of a given
1056N/Atypeface at a given size.
1056N/A</p><p>
1056N/ADigital fonts come in <span class="emphasis"><em>font files</em></span>. A font file contains the
1056N/Ainformation necessary for generating glyphs of a given typeface, and
1056N/Aapplications using font files may access glyph information in an
1056N/Aarbitrary order.
1056N/A</p><p>
1056N/ADigital fonts may consist of bitmap data, in which case they are said
1056N/Ato be <span class="emphasis"><em>bitmap fonts</em></span>. They may also consist of a mathematical
1056N/Adescription of glyph shapes, in which case they are said to be
1056N/A<span class="emphasis"><em>scalable fonts</em></span>. Common formats for scalable font files are
1056N/A<span class="emphasis"><em>Type 1</em></span> (sometimes incorrectly called <span class="emphasis"><em>ATM fonts</em></span> or
1056N/A<span class="emphasis"><em>PostScript fonts</em></span>), <span class="emphasis"><em>TrueType</em></span> and <span class="emphasis"><em>OpenType</em></span>.
1056N/A</p><p>
1056N/AThe glyph data in a digital font needs to be indexed somehow. How
1056N/Athis is done depends on the font file format. In the case of
1056N/AType 1 fonts, glyphs are identified by <span class="emphasis"><em>glyph names</em></span>. In the
1056N/Acase of TrueType fonts, glyphs are indexed by integers corresponding
1056N/Ato one of a number of indexing schemes (usually Unicode --- see below).
1056N/A</p><p>
1056N/AThe X11 core fonts system uses the data in a font file to generate
1056N/A<span class="emphasis"><em>font instances</em></span>, which are collections of glyphs at a given size
1056N/Aindexed according to a given encoding.
1056N/A</p><p>
1056N/AX11 core font instances are usually specified using a notation known
1056N/Aas the <span class="emphasis"><em>X Logical Font Description</em></span> (XLFD). An XLFD starts with a
1276N/Adash <span class="quote">“<span class="quote"><code class="literal">-</code></span>”</span>, and consists of fourteen fields separated by dashes,
1056N/Afor example:
1056N/A
1056N/A</p><pre class="screen">
1056N/A-adobe-courier-medium-r-normal--12-120-75-75-m-70-iso8859-1
1056N/A</pre><p>
1056N/A
1276N/AOr particular interest are the last two fields <span class="quote">“<span class="quote"><code class="literal">iso8859-1</code></span>”</span>, which
1056N/Aspecify the font instance's encoding.
1056N/A</p><p>
1056N/AA scalable font is specified by an XLFD which contains zeroes instead
1056N/Aof some fields:
1056N/A
1056N/A</p><pre class="screen">
1056N/A-adobe-courier-medium-r-normal--0-0-0-0-m-0-iso8859-1
1056N/A</pre><p>
1056N/A
1056N/A</p><p>
1056N/AX11 font instances may also be specified by short name. Unlike an
1056N/AXLFD, a short name has no structure and is simply a conventional name
1056N/Afor a font instance. Two short names are of particular interest, as
1056N/Athe server will not start if font instances with these names cannot be
1276N/Aopened. These are <span class="quote">“<span class="quote"><code class="literal">fixed</code></span>”</span>, which specifies the fallback font to
1276N/Ause when the requested font cannot be opened, and <span class="quote">“<span class="quote"><code class="literal">cursor</code></span>”</span>, which
1056N/Aspecifies the set of glyphs to be used by the mouse pointer.
1056N/A</p><p>
1056N/AShort names are usually implemented as aliases to XLFDs; the
1276N/Astandard <span class="quote">“<span class="quote"><code class="literal">fixed</code></span>”</span> and <span class="quote">“<span class="quote"><code class="literal">cursor</code></span>”</span> aliases are defined in
1056N/A
1056N/A</p><pre class="screen">
1056N/A/usr/share/font/X11/misc/fonts.alias
1056N/A</pre><p>
1056N/A
1276N/A</p></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a id="Unicode"></a>Unicode</h3></div></div></div><p>
1276N/AUnicode (<a class="ulink" href="http://www.unicode.org" target="_top">http://www.unicode.org</a>) is a coded character
1056N/Aset with the goal of uniquely identifying all characters for all
1056N/Ascripts, current and historical. While Unicode was explicitly not
1056N/Adesigned as a glyph encoding scheme, it is often possible to use it as
1056N/Asuch.
1056N/A</p><p>
1056N/AUnicode is an <span class="emphasis"><em>open</em></span> character set, meaning that codepoint
1056N/Aassignments may be added to Unicode at any time (once specified,
1056N/Athough, an assignment can never be changed). For this reason, a
1056N/AUnicode font will be <span class="emphasis"><em>sparse</em></span>, meaning that it only defines glyphs
1056N/Afor a subset of the character registry of Unicode.
1056N/A</p><p>
1056N/AThe Unicode standard is defined in parallel with the international
1056N/Astandard ISO 10646. Assignments in the two standards are always
1056N/Aequivalent, and we often use the terms <span class="emphasis"><em>Unicode</em></span> and
1056N/A<span class="emphasis"><em>ISO 10646</em></span> interchangeably.
1056N/A</p><p>
1056N/AWhen used in the X11 core fonts system, Unicode-encoded fonts should
1276N/Ahave the last two fields of their XLFD set to <span class="quote">“<span class="quote"><code class="literal">iso10646-1</code></span>”</span>.
1276N/A</p></div></div><div class="sect1"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="References"></a>References</h2></div></div></div><p>
1276N/AX11R7.7 comes with extensive documentation in the form of manual
1056N/Apages and typeset documents. Before installing fonts, you really should
1276N/Aread the <a class="ulink" href="fontconfig.3.html" target="_top">fontconfig(3)</a> and
1276N/A<a class="ulink" href="mkfontdir.1.html" target="_top">mkfontdir(1)</a> manual pages; other
1276N/Amanual pages of interest include <a class="ulink" href="X.7.html" target="_top">X(7)</a>,
1276N/A<a class="ulink" href="Xserver.1.html" target="_top">Xserver(1)</a>, <a class="ulink" href="xset.1.html" target="_top">xset(1)</a>, <a class="ulink" href="Xft.3.html" target="_top">Xft(3)</a>, <a class="ulink" href="xlsfonts.1.html" target="_top">xlsfonts(1)</a> and <a class="ulink" href="showfont.1.html" target="_top">showfont(1)</a>. In addition, you may want to read the <a href="/xlfd/xlfd.html#xlfd" class="olink">X Logical Font Description document</a> by Jim Flowers.
1056N/A</p><p>
1276N/AThe <a class="ulink" href="http://www.faqs.org/faqs/by-newsgroup/comp/comp.fonts.html" target="_top">comp.fonts FAQ</a>,
1056N/Awhich is unfortunately no longer being maintained, contains a wealth
1056N/Aof information about digital fonts.
1056N/A</p><p>
1056N/AXft and Fontconfig are described on
1276N/A<a class="ulink" href="http://www.fontconfig.org" target="_top">the Fontconfig site</a>.
1056N/A</p><p>
1056N/AThe
1276N/A<a class="ulink" href="http://www.dcs.ed.ac.uk/home/jec/programs/xfsft/" target="_top">xfsft home page</a>
1056N/Ahas been superseded by this document, and is now obsolete; you may
1056N/Ahowever still find some of the information that it contains useful.
1276N/A<a class="ulink" href="http://www.joerg-pommnitz.de/TrueType/xfsft.html" target="_top">Joerg Pommnitz' xfsft page</a>
1276N/Ais the canonical source for the <span class="quote">“<span class="quote"><span class="command"><strong>ttmkfdir</strong></span></span>”</span> utility, which is the
1276N/Aancestor of <span class="command"><strong>mkfontscale</strong></span>.
1056N/A</p><p>
1276N/A<a class="ulink" href="http://www.pps.jussieu.fr/~jch/software/" target="_top">The author's software pages</a>
1056N/Amight or might not contain related scribbles and development versions
1056N/Aof software.
1056N/A</p><p>
1276N/AThe documentation of <span class="emphasis"><em>X-TrueType</em></span> is available from <a class="ulink" href="http://x-tt.sourceforge.jp/" target="_top">the After X-TT Project page</a>.
1056N/A</p><p>
1276N/AWhile the <a class="ulink" href="http://www.unicode.org" target="_top">Unicode consortium site</a>
1056N/Amay be of interest, you are more likely to find what you need in
1276N/AMarkus Kuhn's <a class="ulink" href="http://www.cl.cam.ac.uk/~mgk25/unicode.html" target="_top">UTF-8 and Unicode FAQ</a>.
1056N/A</p><p>
1276N/AThe IETF RFC documents, available from a number of sites throughout
1056N/Athe world, often provide interesting information about character set
1276N/Aissues; see for example <a class="ulink" href="https://datatracker.ietf.org/doc/rfc373/" target="_top">RFC 373</a>.
1056N/A</p></div></div></body></html>