<!doctype refentry PUBLIC "-//OASIS//DTD DocBook V4.1//EN" [

<!-- Process this file with docbook-to-man to generate an nroff manual
     page: `docbook-to-man manpage.sgml > manpage.1'.  You may view
     the manual page with: `docbook-to-man manpage.sgml | nroff -man |
     less'.  A typical entry in a Makefile or Makefile.am is:

manpage.1: manpage.sgml
	docbook-to-man $< > $@

    
	The docbook-to-man binary is found in the docbook-to-man package.
	Please remember that if you create the nroff version in one of the
	debian/rules file targets (such as build), you will need to include
	docbook-to-man in your Build-Depends control field.

  -->

  <!-- Fill in your name for FIRSTNAME and SURNAME. -->
  <!ENTITY dhfirstname "<firstname>Josselin</firstname>">
  <!ENTITY dhsurname   "<surname>Mouette</surname>">
  <!-- Please adjust the date whenever revising the manpage. -->
  <!ENTITY dhdate      "<date>Aug 13, 2008</date>">
  <!-- SECTION should be 1-8, maybe w/ subsection other parameters are
       allowed: see man(7), man(1). -->
  <!ENTITY dhsection   "<manvolnum>1</manvolnum>">
  <!ENTITY dhemail     "<email>joss@debian.org</email>">
  <!ENTITY dhusername  "Josselin Mouette">
  <!ENTITY dhucpackage "<refentrytitle>fc-list</refentrytitle>">
  <!ENTITY dhpackage   "fc-list">

  <!ENTITY debian      "<productname>Debian</productname>">
  <!ENTITY gnu         "<acronym>GNU</acronym>">
  <!ENTITY gpl         "&gnu; <acronym>GPL</acronym>">
]>

<refentry>
  <refentryinfo>
    <address>
      &dhemail;
    </address>
    <author>
      &dhfirstname;
      &dhsurname;
    </author>
    <copyright>
      <year>2003</year>
      <holder>&dhusername;</holder>
    </copyright>
    &dhdate;
  </refentryinfo>
  <refmeta>
    &dhucpackage;

    &dhsection;
  </refmeta>
  <refnamediv>
    <refname>&dhpackage;</refname>

    <refpurpose>list available fonts</refpurpose>
  </refnamediv>
  <refsynopsisdiv>
    <cmdsynopsis>
      <command>&dhpackage;</command>

      <arg><option>-vVh</option></arg>
      <arg><option>--verbose</option></arg>
      <group>
        <arg><option>-f</option> <option><replaceable>format</replaceable></option></arg>
        <arg><option>--format</option> <option><replaceable>format</replaceable></option></arg>
      </group>
      <arg><option>--version</option></arg>
      <arg><option>--help</option></arg>
      <sbr>
      <arg><option><replaceable>pattern</replaceable></option> <arg rep="repeat"><option><replaceable>element</replaceable></option></arg> </arg>
      
     </cmdsynopsis>
  </refsynopsisdiv>
  <refsect1>
    <title>DESCRIPTION</title>

    <para><command>&dhpackage;</command> lists fonts and styles
      available on the system for applications using fontconfig.
      If any elements are specified, only those are printed.
      Otherwise family and style are printed, unless verbose
      output is requested.</para>
  </refsect1>
  <refsect1>
    <title>OPTIONS</title>

    <para>This program follows the usual &gnu; command line syntax,
      with long options starting with two dashes (`-').  A summary of
      options is included below.</para>

    <variablelist>
      <varlistentry>
        <term><option>-v</option>
          <option>--verbose</option>
        </term>
        <listitem>
          <para>Print verbose output of the whole font pattern for each match,
	        or <replaceable>element</replaceable>s if any is
		provided.</para>
        </listitem>
      </varlistentry>
      <varlistentry>
        <term><option>-f</option>
          <option>--format</option>
	  <option><replaceable>format</replaceable></option>
        </term>
        <listitem>
          <para>Format output according to the format specifier
	  <replaceable>format</replaceable>.</para>
        </listitem>
      </varlistentry>
      <varlistentry>
        <term><option>-V</option>
          <option>--version</option>
        </term>
        <listitem>
          <para>Show version of the program and exit.</para>
        </listitem>
      </varlistentry>
      <varlistentry>
        <term><option>-h</option>
          <option>--help</option>
        </term>
        <listitem>
          <para>Show summary of options.</para>
        </listitem>
      </varlistentry>
      <varlistentry>
        <term><option><replaceable>pattern</replaceable></option>
        </term>
        <listitem>
          <para>If this argument is set, only fonts matching
                <replaceable>pattern</replaceable> are displayed.</para>
        </listitem>
      </varlistentry>
      <varlistentry>
        <term><option><replaceable>element</replaceable></option>
        </term>
        <listitem>
          <para>If set, the <replaceable>element</replaceable> property
                is displayed for matching fonts.</para>
        </listitem>
      </varlistentry>
    </variablelist>
  </refsect1>

  <refsect1>
    <title>EXAMPLES</title>

    <variablelist>
      <varlistentry>
        <term>fc-list</term>
        <listitem><para>Lists all font faces.</para></listitem>
      </varlistentry>
      <varlistentry>
        <term>fc-list :lang=hi</term>
        <listitem><para>Lists font faces that cover Hindi.</para></listitem>
      </varlistentry>
      <varlistentry>
        <term>fc-list : family style file spacing </term>
        <listitem><para>Lists the filename and spacing value for each font
            face.  <quote>:</quote> is an empty pattern that matches all
            fonts.</para></listitem>
      </varlistentry>
    </variablelist>

  </refsect1>

  <refsect1>
    <title>SEE ALSO</title>

    <para>
      <command>fc-match</command>(1)
      <function>FcFontList</function>(3)
      <function>FcPatternFormat</function>(3)
      <command>fc-cat</command>(1)
      <command>fc-cache</command>(1)
      <command>fc-pattern</command>(1)
      <command>fc-query</command>(1)
      <command>fc-scan</command>(1)
    </para>

    <para>The fontconfig user's guide, in HTML format:
      <filename>/usr/share/doc/fontconfig/fontconfig-user.html</filename>.</para>

 </refsect1>
  <refsect1>
    <title>AUTHOR</title>

    <para>This manual page was written by Keith Packard
      <email>keithp@keithp.com</email> and &dhusername; &dhemail;.</para>

  </refsect1>
</refentry>

<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:2
sgml-indent-data:t
sgml-parent-document:nil
sgml-default-dtd-file:nil
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
-->
