<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
                   "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd">
<!-- lifted from troff+man by doclifter -->
<refentry id='xfoffsetman'>
<!--  Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 X Consortium -->

<!--  Permission is hereby granted, free of charge, to any person obtaining -->
<!--  a copy of this software and associated documentation files (the -->
<!--  "Software"), to deal in the Software without restriction, including -->
<!--  without limitation the rights to use, copy, modify, merge, publish, -->
<!--  distribute, sublicense, and/or sell copies of the Software, and to -->
<!--  permit persons to whom the Software is furnished to do so, subject to -->
<!--  the following conditions: -->

<!--  The above copyright notice and this permission notice shall be included -->
<!--  in all copies or substantial portions of the Software. -->

<!--  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -->
<!--  OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -->
<!--  MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -->
<!--  IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR -->
<!--  OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, -->
<!--  ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -->
<!--  OTHER DEALINGS IN THE SOFTWARE. -->

<!--  Except as contained in this notice, the name of the X Consortium shall -->
<!--  not be used in advertising or otherwise to promote the sale, use or -->
<!--  other dealings in this Software without prior written authorization -->
<!--  from the X Consortium. -->

<!--  Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by -->
<!--  Digital Equipment Corporation -->

<!--  Portions Copyright \(co 1990, 1991 by -->
<!--  Tektronix, Inc. -->

<!--  Permission to use, copy, modify and distribute this documentation for -->
<!--  any purpose and without fee is hereby granted, provided that the above -->
<!--  copyright notice appears in all copies and that both that copyright notice -->
<!--  and this permission notice appear in all copies, and that the names of -->
<!--  Digital and Tektronix not be used in in advertising or publicity pertaining -->
<!--  to this documentation without specific, written prior permission. -->
<!--  Digital and Tektronix makes no representations about the suitability -->
<!--  of this documentation for any purpose. -->
<!--  It is provided ``as is'' without express or implied warranty. -->
<!--   -->
<!--  $XFree86: xc/doc/man/X11/XFofFSet.man,v 1.3 2003/04/28 22:17:54 herrb Exp $ -->

<!-- .na -->
<!-- Ds listing suppressed (not used) -->
<!-- De listing suppressed (not used) -->
<!-- FD listing suppressed (not used) -->
<!-- FN listing suppressed (not used) -->
<!-- IN listing suppressed (not used) -->
<!-- C{ listing suppressed (not used) -->
<!-- C} listing suppressed (not used) -->
<!-- Pn listing suppressed (not used) -->
<!-- hN listing suppressed (not used) -->
<!-- NT listing suppressed (not used) -->
<!-- .		\" Note End \-\- doug kraft 3/85 -->
<!-- NE listing suppressed (not used) -->
<!-- .ny0 -->
<refmeta>
<refentrytitle>XFontsOfFontSet</refentrytitle>
<manvolnum>3X11</manvolnum>
<refmiscinfo class='date'>__xorgversion__</refmiscinfo>
<refmiscinfo class='source'>XLIB FUNCTIONS</refmiscinfo>
</refmeta>
<refnamediv id='name'>
<refname>XFontsOfFontSet</refname>
<refname>XBaseFontNameListOfFontSet</refname>
<refname>XLocaleOfFontSet</refname>
<refname>XContextDependentDrawing</refname>
<refname>XContextualDrawing</refname>
<refname>XDirectionalDependentDrawing</refname>
<refpurpose>obtain fontset information</refpurpose>
</refnamediv>
<!-- body begins here -->

<refsect1 id='syntax'><title>SYNTAX</title>

<para>int XFontsOfFontSet&hairsp;(&hairsp;XFontSet <emphasis remap='I'>font_set</emphasis>&hairsp;, XFontStruct
***<emphasis remap='I'>font_struct_list_return</emphasis>&hairsp;, char ***<emphasis remap='I'>font_name_list_return</emphasis>&hairsp;);</para> 

<para>char *XBaseFontNameListOfFontSet&hairsp;(&hairsp;XFontSet <emphasis remap='I'>font_set</emphasis>&hairsp;);</para> 

<para>char *XLocaleOfFontSet&hairsp;(&hairsp;XFontSet <emphasis remap='I'>font_set</emphasis>&hairsp;);</para> 

<para>Bool XContextDependentDrawing&hairsp;(&hairsp;XFontSet <emphasis remap='I'>font_set</emphasis>&hairsp;);</para> 

<para>Bool XContextualDrawing&hairsp;(&hairsp;XFontSet <emphasis remap='I'>font_set</emphasis>&hairsp;);</para> 

<para>Bool XDirectionalDependentDrawing&hairsp;(&hairsp;XFontSet <emphasis remap='I'>font_set</emphasis>&hairsp;);</para> 
</refsect1>

<refsect1 id='arguments'><title>ARGUMENTS</title>
<variablelist remap='IP'>
  <varlistentry>
  <term><emphasis remap='I'>font_set</emphasis></term>
  <listitem>
<para>Specifies the font set.</para>
  </listitem>
  </varlistentry>
  <varlistentry>
  <term><emphasis remap='I'>font_name_list_return</emphasis></term>
  <listitem>
<para>Returns the list of font names.</para>
  </listitem>
  </varlistentry>
  <varlistentry>
  <term><emphasis remap='I'>font_struct_list_return</emphasis></term>
  <listitem>
<para>Returns the list of font structs.</para>
  </listitem>
  </varlistentry>
</variablelist>
</refsect1>

<refsect1 id='description'><title>DESCRIPTION</title>
<para>The
<emphasis remap='I'>&hairsp;XFontsOfFontSet&hairsp;</emphasis>
function returns a list of one or more 
<emphasis remap='I'>&hairsp;XFontStructs&hairsp;</emphasis>
and font names for the fonts used by the Xmb and Xwc layers
for the given font set.
A list of pointers to the
<emphasis remap='I'>&hairsp;XFontStruct&hairsp;</emphasis>
structures is returned to font_struct_list_return.
A list of pointers to null-terminated, fully specified font name strings
in the locale of the font set is returned to font_name_list_return.
The font_name_list order corresponds to the font_struct_list order.
The number of
<emphasis remap='I'>&hairsp;XFontStruct&hairsp;</emphasis>
structures and font names is returned as the value of the function.</para>

<para>Because it is not guaranteed that a given character will be imaged using a
single font glyph,
there is no provision for mapping a character or default string 
to the font properties, font ID, or direction hint for the font 
for the character.
The client may access the 
<emphasis remap='I'>&hairsp;XFontStruct&hairsp;</emphasis>
list to obtain these values for all the fonts currently in use.</para>

<para>Xlib does not guarantee that fonts are loaded from the server
at the creation of an 
<emphasis remap='I'>&hairsp;XFontSet&hairsp;</emphasis>.
Xlib may choose to cache font data, loading it only as needed to draw text 
or compute text dimensions.
Therefore, existence of the per_char metrics in the 
<emphasis remap='I'>&hairsp;XFontStruct&hairsp;</emphasis>
structures in the
<emphasis remap='I'>&hairsp;XFontStructSet&hairsp;</emphasis>
is undefined.
Also, note that all properties in the 
<emphasis remap='I'>&hairsp;XFontStruct&hairsp;</emphasis>
structures are in the STRING encoding.</para>

<para>The 
<emphasis remap='I'>&hairsp;XFontStruct&hairsp;</emphasis>
and font name lists are owned by Xlib 
and should not be modified or freed by the client.
They will be freed by a call to
<emphasis remap='I'>&hairsp;XFreeFontSet&hairsp;</emphasis>
with the associated
<emphasis remap='I'>&hairsp;XFontSet&hairsp;</emphasis>.
Until freed, their contents will not be modified by Xlib.</para>

<para>The
<emphasis remap='I'>&hairsp;XBaseFontNameListOfFontSet&hairsp;</emphasis>
function returns the original base font name list supplied
by the client when the 
<emphasis remap='I'>&hairsp;XFontSet&hairsp;</emphasis>
was created.
A null-terminated string containing a list of
comma-separated font names is returned
as the value of the function.
White space may appear immediately on either side of separating commas.</para>

<para>If 
<emphasis remap='I'>&hairsp;XCreateFontSet&hairsp;</emphasis>
obtained an XLFD name from the font properties for the font specified
by a non-XLFD base name, the
<emphasis remap='I'>&hairsp;XBaseFontNameListOfFontSet&hairsp;</emphasis>
function will return the XLFD name instead of the non-XLFD base name.</para>

<para>The base font name list is owned by Xlib and should not be modified or
freed by the client.
It will be freed by a call to 
<emphasis remap='I'>&hairsp;XFreeFontSet&hairsp;</emphasis>
with the associated 
<emphasis remap='I'>&hairsp;XFontSet&hairsp;</emphasis>.
Until freed, its contents will not be modified by Xlib.</para>

<para>The
<emphasis remap='I'>&hairsp;XLocaleOfFontSet&hairsp;</emphasis>
function
returns the name of the locale bound to the specified
<emphasis remap='I'>&hairsp;XFontSet&hairsp;</emphasis>,
as a null-terminated string.</para>

<para>The returned locale name string is owned by Xlib
and should not be modified or freed by the client.
It may be freed by a call to
<emphasis remap='I'>&hairsp;XFreeFontSet&hairsp;</emphasis>
with the associated 
<emphasis remap='I'>&hairsp;XFontSet&hairsp;</emphasis>.
Until freed, it will not be modified by Xlib.</para>

<para>The
<emphasis remap='I'>&hairsp;XContextDependentDrawing&hairsp;</emphasis>
function returns
<emphasis remap='I'>&hairsp;True&hairsp;</emphasis>
if the drawing functions implement implicit text directionality or
if text drawn with the font_set might include context-dependent drawing;
otherwise, it returns
<emphasis remap='I'>&hairsp;False&hairsp;</emphasis>.</para>

<para>The
<emphasis remap='I'>&hairsp;XContextualDrawing&hairsp;</emphasis>
function returns
<emphasis remap='I'>&hairsp;True&hairsp;</emphasis>
if text drawn with the font set might include context-dependent drawing;
otherwise, it returns
<emphasis remap='I'>&hairsp;False&hairsp;</emphasis>.</para>

<para>The
<emphasis remap='I'>&hairsp;XDirectionalDependentDrawing&hairsp;</emphasis>
function returns
<emphasis remap='I'>&hairsp;True&hairsp;</emphasis>
if the drawing functions implement implicit text directionality;
otherwise, it returns
<emphasis remap='I'>&hairsp;False&hairsp;</emphasis>.</para>
</refsect1>

<refsect1 id='see_also'><title>SEE ALSO</title>
<para>XCreateFontSet(3X11),
XCreateOM(3X11),
XCreateOC(3X11),
XExtentsOfFontSet(3X11),
XFontSetExtents(3X11)
<!-- .br -->
<userinput>Xlib - C Language X Interface</userinput></para>
</refsect1>
</refentry>

