mirror of
git://git.code.sf.net/p/cdesktopenv/code
synced 2025-03-09 15:50:02 +00:00
995 lines
51 KiB
Text
995 lines
51 KiB
Text
<!-- $XConsortium: ch16.sgm /main/11 1996/09/08 19:34:42 rws $ -->
|
|
<!-- (c) Copyright 1995 Digital Equipment Corporation. -->
|
|
<!-- (c) Copyright 1995 Hewlett-Packard Company. -->
|
|
<!-- (c) Copyright 1995 International Business Machines Corp. -->
|
|
<!-- (c) Copyright 1995 Sun Microsystems, Inc. -->
|
|
<!-- (c) Copyright 1995 Novell, Inc. -->
|
|
<!-- (c) Copyright 1995 FUJITSU LIMITED. -->
|
|
<!-- (c) Copyright 1995 Hitachi. -->
|
|
<Chapter Id="SAG.I18N.div.1">
|
|
<Title Id="SAG.I18N.mkr.1">Configuring Localized Desktop Sessions<IndexTerm><Primary>National Language Support</Primary><Secondary>internationalizing</Secondary></IndexTerm></Title>
|
|
<Para>To configure localized desktop sessions, you will need to:</Para>
|
|
<ItemizedList Remap="Bullet1">
|
|
<ListItem>
|
|
<Para>Set the LANG environment variable and other National Language Support
|
|
(NLS) environment variables</Para>
|
|
</ListItem>
|
|
<ListItem>
|
|
<Para>Access language-dependent message catalogs and resource files</Para>
|
|
</ListItem>
|
|
<ListItem>
|
|
<Para>Execute applications remotely across internationalized systems</Para>
|
|
<InformalTable Id="SAG.I18N.itbl.1" Frame="All">
|
|
<TGroup Cols="1">
|
|
<ColSpec Colname="1" Colwidth="4.0 in">
|
|
<TBody>
|
|
<Row Rowsep="1">
|
|
<Entry><Para><!--Original XRef content: 'Managing the LANG Environment Variable276'--><XRef Role="JumpText" Linkend="SAG.I18N.div.2"></Para></Entry>
|
|
</Row>
|
|
<Row Rowsep="1">
|
|
<Entry><Para><!--Original XRef content: 'Finding Fonts278'--><XRef Role="JumpText" Linkend="SAG.I18N.div.9"></Para></Entry>
|
|
</Row>
|
|
<Row Rowsep="1">
|
|
<Entry><Para><!--Original XRef content: 'Localizing app-defaults Resource Files279'--><XRef Role="JumpText" Linkend="SAG.I18N.div.10"></Para></Entry>
|
|
</Row>
|
|
<Row Rowsep="1">
|
|
<Entry><Para><!--Original XRef content: 'Localizing Actions and Data Types279'--><XRef Role="JumpText" Linkend="SAG.I18N.div.11"></Para></Entry>
|
|
</Row>
|
|
<Row Rowsep="1">
|
|
<Entry><Para><!--Original XRef content: 'Localizing Icons and Bitmaps280'--><XRef Role="JumpText" Linkend="SAG.I18N.div.12"></Para></Entry>
|
|
</Row>
|
|
<Row Rowsep="1">
|
|
<Entry><Para><!--Original XRef content: 'Localizing Help Volumes281'--><XRef Role="JumpText" Linkend="SAG.I18N.div.15"></Para></Entry>
|
|
</Row>
|
|
<Row Rowsep="1">
|
|
<Entry><Para><!--Original XRef content: 'Localizing Message Catalogs282'--><XRef Role="JumpText" Linkend="SAG.I18N.div.16"></Para></Entry>
|
|
</Row>
|
|
<Row Rowsep="1">
|
|
<Entry><Para><!--Original XRef content: 'Executing Localized Desktop Applications Remotely282'--><XRef Role="JumpText" Linkend="SAG.I18N.div.17"></Para></Entry>
|
|
</Row>
|
|
<Row Rowsep="1">
|
|
<Entry><Para><!--Original XRef content: 'Resetting Your Keyboard Map282'--><XRef Role="JumpText" Linkend="SAG.I18N.div.18"></Para></Entry>
|
|
</Row>
|
|
</TBody>
|
|
</TGroup>
|
|
</InformalTable>
|
|
</ListItem>
|
|
</ItemizedList>
|
|
<Sect1 Id="SAG.I18N.div.2">
|
|
<Title Id="SAG.I18N.mkr.2">Managing the LANG Environment Variable<IndexTerm><Primary>internationalization</Primary><Secondary>LANG variable</Secondary></IndexTerm><IndexTerm><Primary>LANG variable</Primary></IndexTerm></Title>
|
|
<Para>The LANG environment variable must be set for the desktop to use the
|
|
operating system's language-sensitive routines. The desktop supports:</Para>
|
|
<ItemizedList Remap="Bullet1">
|
|
<ListItem>
|
|
<Para>Western Europe, Latin-based languages</Para>
|
|
</ListItem>
|
|
<ListItem>
|
|
<Para>Japanese</Para>
|
|
</ListItem>
|
|
<ListItem>
|
|
<Para>Traditional Chinese</Para>
|
|
</ListItem>
|
|
<ListItem>
|
|
<Para>Simplified Chinese</Para>
|
|
</ListItem>
|
|
<ListItem>
|
|
<Para>Korean</Para>
|
|
</ListItem>
|
|
</ItemizedList>
|
|
<Note>
|
|
<Para>Support for other languages may have been added by your desktop
|
|
vendor.</Para>
|
|
</Note>
|
|
<Para>You can set LANG to any value supported by the operating system. The
|
|
Options menu in the login screen displays the list of supported languages and
|
|
territories.</Para>
|
|
<Para>There are four ways to set LANG for the desktop:</Para>
|
|
<ItemizedList Remap="Bullet1">
|
|
<ListItem>
|
|
<Para>By editing a resource in the <Command>Xconfig</Command> file</Para>
|
|
</ListItem>
|
|
<ListItem>
|
|
<Para>Using the Options menu in the login screen</Para>
|
|
</ListItem>
|
|
<ListItem>
|
|
<Para>By creating an executable <Command>sh</Command> or <Command>ksh</Command> <Filename>Xsession.d</Filename> script. (See
|
|
<!--Original XRef content: '&xd2;Sourcing
|
|
Xsession.d Scripts&xd3; on page 26'--><XRef Role="SecTitleAndPageNum" Linkend="SAG.SesMg.mkr.5"> for more information about using an
|
|
Xsession.d script.)</Para>
|
|
</ListItem>
|
|
<ListItem>
|
|
<Para>By editing the user's <Filename>.dtprofile</Filename> file</Para>
|
|
</ListItem>
|
|
</ItemizedList>
|
|
<Para>When LANG is set, the desktop uses the following language-dependent files to
|
|
determine the localized interface.</Para>
|
|
<InformalTable>
|
|
<TGroup Cols="2" colsep="0" rowsep="0">
|
|
<colspec colwidth="107*">
|
|
<colspec colwidth="421*">
|
|
<TBody>
|
|
<Row>
|
|
<Entry><Para><StructName Role="typedef">Colors</StructName></Para></Entry>
|
|
<Entry><Para><Filename>/usr/dt/palettes/desc</Filename><Symbol Role="Variable">.language</Symbol></Para></Entry>
|
|
</Row>
|
|
<Row>
|
|
<Entry><Para><Literal>Backdrops</Literal></Para></Entry>
|
|
<Entry><Para><Filename>/usr/dt/backdrops/desc</Filename><Symbol Role="Variable">.language</Symbol></Para></Entry>
|
|
</Row>
|
|
</TBody>
|
|
</TGroup>
|
|
</InformalTable>
|
|
<Sect2 Id="SAG.I18N.div.3">
|
|
<Title>Setting the Language for Multiple Users<IndexTerm><Primary>internationalization</Primary><Secondary>setting language</Secondary></IndexTerm><IndexTerm><Primary>language, setting using Xconfig file</Primary></IndexTerm><IndexTerm><Primary>Xconfig file</Primary><Secondary>setting language with</Secondary></IndexTerm></Title>
|
|
<Para>If you set the language by means of an <Command>Xconfig</Command> file, the login screen is
|
|
localized and LANG is set for all users. This is the only way to change LANG
|
|
for all displays in multi-display systems. (To modify <Command>Xconfig</Command>, copy
|
|
<Filename>/usr/dt/config/Xconfig</Filename> to <Command>/etc/dt/config/Xconfig.)</Command></Para>
|
|
<Para>The language is set by placing the following line in
|
|
<Filename>/etc/dt/config/Xconfig</Filename>:</Para>
|
|
<ProgramListing>dtlogin.<Symbol Role="Variable">host_display</Symbol>.language: <Symbol Role="Variable">language</Symbol></ProgramListing>
|
|
<Para>For example, the following line sets LANG to <Filename>Swedish_locale</Filename> on display
|
|
<ComputerOutput>my_host:0</ComputerOutput>.</Para>
|
|
<ProgramListing>dtlogin.my_host_0.language: Swedish_locale</ProgramListing>
|
|
<Para>The <Command>dtlogin</Command> client reads the appropriate message catalog for that language
|
|
and brings up the localized login screen. The <Command>dtlogin</Command> client then determines
|
|
the list of locales using the following resources in the
|
|
<Filename>/etc/dt/config/Xresources</Filename> resource file:</Para>
|
|
<ItemizedList Remap="Bullet1">
|
|
<ListItem>
|
|
<Para><Filename>dtlogin*language</Filename></Para>
|
|
</ListItem>
|
|
<ListItem>
|
|
<Para><Filename>dtlogin*languageList</Filename></Para>
|
|
</ListItem>
|
|
<ListItem>
|
|
<Para><Filename>dtlogin*languageName</Filename></Para>
|
|
</ListItem>
|
|
</ItemizedList>
|
|
<Para>The <Command>Xconfig</Command> file may need to set the NLSPATH environment variable
|
|
appropriately for the chosen language. If this is not the case, or if you want to
|
|
set NLSPATH yourself, see
|
|
<!--Original XRef content: '&xd2;NLSPATH Environment Variable&xd3; on page 278'--><XRef Role="HeadingAndPage" Linkend="SAG.I18N.div.8">.</Para>
|
|
</Sect2>
|
|
<Sect2 Id="SAG.I18N.div.4">
|
|
<Title>Setting the Language for One Session</Title>
|
|
<Para>To set the language for one session, use the login screen Options menu. The
|
|
login screen is localized and LANG is set for the user. LANG returns to its
|
|
default value (set in <Command>dtlogin</Command>) at the conclusion of the session.</Para>
|
|
</Sect2>
|
|
<Sect2 Id="SAG.I18N.div.5">
|
|
<Title>Setting the Language for One User<IndexTerm><Primary>LANG variable</Primary><Secondary>in .dtprofile</Secondary></IndexTerm><IndexTerm><Primary>.dtprofile file</Primary><Secondary>setting LANG</Secondary></IndexTerm></Title>
|
|
<Para>A user can override the login's LANG setting within the
|
|
<Symbol Role="Variable">HomeDirectory</Symbol><Filename>/.dtprofile</Filename> file. The login screen is not localized, and LANG
|
|
is set for the user.</Para>
|
|
<ItemizedList Remap="Bullet1">
|
|
<ListItem>
|
|
<Para>If you use <Command>sh</Command> or <Command>ksh</Command>:</Para>
|
|
<programlisting>LANG=<Symbol Role="Variable">language</Symbol>
|
|
export LANG</programlisting>
|
|
</ListItem>
|
|
<ListItem>
|
|
<Para>If you use <Command>csh</Command>:</Para>
|
|
<programlisting>setenv LANG <Symbol Role="Variable">language</Symbol></programlisting>
|
|
</ListItem>
|
|
</ItemizedList>
|
|
</Sect2>
|
|
<Sect2 Id="SAG.I18N.div.6">
|
|
<Title>LANG Environment Variable and Session Configuration</Title>
|
|
<Para><Command>The LANG environment variable changes the directory name that is searched for
|
|
your session configuration files.</Command></Para>
|
|
<Para><Command>The localized session configuration files are:</Command></Para>
|
|
<ItemizedList Remap="Bullet1">
|
|
<ListItem>
|
|
<Para><Filename>/usr/dt/config/</Filename><Symbol Role="Variable">language</Symbol><Filename>/Xresources</Filename> (Login Manager resource file)</Para>
|
|
</ListItem>
|
|
<ListItem>
|
|
<Para><Filename>/usr/dt/config/</Filename><Symbol Role="Variable">language</Symbol><Filename>/sys.font</Filename> (Session Manager resource file)</Para>
|
|
</ListItem>
|
|
<ListItem>
|
|
<Para><Filename>/usr/dt/config/</Filename><Symbol Role="Variable">language</Symbol><Filename>/sys.resources</Filename> (Session Manager resource
|
|
file)</Para>
|
|
</ListItem>
|
|
<ListItem>
|
|
<Para><Filename>/usr/dt/config/</Filename><Symbol Role="Variable">language</Symbol><Filename>/sys.session</Filename> (Session Manager executable
|
|
shell)</Para>
|
|
</ListItem>
|
|
<ListItem>
|
|
<Para><Filename>/usr/dt/config/</Filename><Symbol Role="Variable">language</Symbol><Filename>/sys.dtwmrc</Filename> (Window Manager resource file)</Para>
|
|
</ListItem>
|
|
<ListItem>
|
|
<Para><Filename>/usr/dt/appconfig/types/</Filename><Symbol Role="Variable">language</Symbol><Filename>/dtwm.fp</Filename> (Window Manager Front
|
|
Panel)</Para>
|
|
</ListItem>
|
|
</ItemizedList>
|
|
</Sect2>
|
|
<Sect2 Id="SAG.I18N.div.7">
|
|
<Title>Setting Other NLS Environment Variables<IndexTerm><Primary>internationalization</Primary><Secondary>NLS environment variables</Secondary></IndexTerm><IndexTerm><Primary>NLS environment variables</Primary></IndexTerm></Title>
|
|
<Para>Besides LANG, there are other NLS environment variables such as LC_CTYPE
|
|
and LC_ALL. These variables are not affected by the <Command>dtlogin</Command> language
|
|
resource nor by the login screen Options menu. They must be set in the
|
|
following files:</Para>
|
|
<ItemizedList Remap="Bullet1">
|
|
<ListItem>
|
|
<Para>System-wide variables: <Filename>/etc/dt/config/Xsession.d</Filename></Para>
|
|
</ListItem>
|
|
<ListItem>
|
|
<Para>Personal variables: <Symbol Role="Variable">HomeDirectory</Symbol><Filename>/.dtprofile</Filename></Para>
|
|
</ListItem>
|
|
</ItemizedList>
|
|
<Sect3 Id="SAG.I18N.div.8">
|
|
<Title Id="SAG.I18N.mkr.3">NLSPATH Environment Variable<IndexTerm><Primary>message catalogs</Primary></IndexTerm></Title>
|
|
<Para>The NLSPATH environment variable determines the directory paths that
|
|
applications search for message catalogs. Both LANG and NLSPATH must be
|
|
set to use those message catalogs. Refer to
|
|
<!--Original XRef content: '&xd2;Localizing Message Catalogs&xd3; on
|
|
page 282'--><XRef Role="HeadingAndPage" Linkend="SAG.I18N.div.16"> for the location of localized messages. Most desktop clients will prefix
|
|
the path to NLSPATH upon startup.</Para>
|
|
</Sect3>
|
|
</Sect2>
|
|
</Sect1>
|
|
<Sect1 Id="SAG.I18N.div.9">
|
|
<Title Id="SAG.I18N.mkr.4">Finding Fonts<IndexTerm><Primary>internationalization</Primary><Secondary>fonts</Secondary></IndexTerm></Title>
|
|
<Para>Fonts included with the desktop are in the <Filename>/usr/lib/X11/fonts</Filename> directory.<IndexTerm>
|
|
<Primary>fonts</Primary>
|
|
<Secondary>primary directory</Secondary>
|
|
</IndexTerm>
|
|
Each directory contains a directory file, <ComputerOutput>fonts.dir</ComputerOutput>, and an alias file,
|
|
<ComputerOutput>fonts.alias</ComputerOutput>. See the <ComputerOutput>mkfontdir</ComputerOutput> man page for information on creating the
|
|
<ComputerOutput>fonts.dir</ComputerOutput> and <ComputerOutput>fonts.alias</ComputerOutput> files.<IndexTerm>
|
|
<Primary>fonts</Primary>
|
|
<Secondary>finding with directory file</Secondary>
|
|
</IndexTerm><IndexTerm>
|
|
<Primary>fonts</Primary>
|
|
<Secondary>finding with alias file</Secondary>
|
|
</IndexTerm><IndexTerm>
|
|
<Primary>fonts</Primary>
|
|
<Secondary>finding with mkfontdir command</Secondary>
|
|
</IndexTerm><IndexTerm>
|
|
<Primary>mkfontdir command, compiling files</Primary>
|
|
</IndexTerm>
|
|
</Para>
|
|
<Para>To list all fonts available at a server, user the <ComputerOutput>xlsfonts</ComputerOutput> command.<IndexTerm>
|
|
<Primary>xlsfonts command</Primary>
|
|
<Secondary>listing fonts at server</Secondary>
|
|
</IndexTerm><IndexTerm>
|
|
<Primary>fonts</Primary>
|
|
<Secondary>xlsfonts command</Secondary>
|
|
</IndexTerm><IndexTerm>
|
|
<Primary>xlsfonts command</Primary>
|
|
<Secondary>installation</Secondary>
|
|
</IndexTerm><IndexTerm>
|
|
<Primary>xlsfonts command</Primary>
|
|
<Secondary>listing fonts at server</Secondary>
|
|
</IndexTerm><IndexTerm>
|
|
<Primary>xlsfonts command</Primary>
|
|
<Secondary>installation</Secondary>
|
|
</IndexTerm>
|
|
To add or
|
|
delete fonts to the server, use the <ComputerOutput>xset</ComputerOutput> command.</Para>
|
|
</Sect1>
|
|
<Sect1 Id="SAG.I18N.div.9a">
|
|
<Title Id="SAG.I18N.mkr.4a">Managing User Defined Characters<IndexTerm><Primary>user defined characters</Primary><Secondary>managing</Secondary></IndexTerm><IndexTerm><Primary>localization</Primary><Secondary>user defined characters</Secondary></IndexTerm></Title>
|
|
<sect2>
|
|
<Title>Overview</title>
|
|
<para>In East Asian countries such as China, Korea, and Japan, Chinese
|
|
characters (called Hanzi in China, Hanja in Korea, and Kanji in Japan)
|
|
are used extensively. Because the number of Chinese characters
|
|
is very large (more than 50,000 in the largest Japanese Kanji dictionary)
|
|
the standard coded character sets for Chinese characters
|
|
(such as JIS X 0208, KS C 5601, and GB 2312) define only
|
|
the most frequently used characters.
|
|
</para>
|
|
<para>For ordinary writing purposes,
|
|
a standard character set is sufficient. Some cases, however, require the
|
|
use of non-standard characters. For example, for
|
|
Resident Registration in Japan, a person's
|
|
name and place name must be written in exactly the same characters
|
|
as used in previously hand-written registration forms. Another
|
|
example is the publication of ancient documents, such as Taoist or
|
|
Confucian classics. These documents contain many characters that
|
|
are now obsolete and not defined in the standard character sets.
|
|
Such non-standard characters are referred to as "User Defined Characters."<IndexTerm><Primary>user defined characters</Primary><Secondary>defined</Secondary></IndexTerm>
|
|
</para>
|
|
<sect3>
|
|
<Title>How UDCs Are Organized</title>
|
|
<para>User Defined Characters (UDCs) use either "empty" code points
|
|
(points in the code set that have no characters assigned to them) or
|
|
a Private Use Area
|
|
(if defined by the code set). In most cases, a system vendor will
|
|
supply a UDC area, which consists of one or more contiguous blocks
|
|
of code points that can be used for UDCs.<IndexTerm><Primary>user defined characters</Primary><Secondary>and UDC area</Secondary></IndexTerm>
|
|
</para>
|
|
<para>The basic procedure for creating a UDC is:
|
|
</para>
|
|
<orderedlist>
|
|
<listitem>
|
|
<para>Assign a code point in the UDC Area to the character to be defined.
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>Create a glyph image (or a set of glyph images to define multiple font
|
|
sizes) for that character by using the UDC Font Editor,
|
|
<command>dtudcfonted</command>.
|
|
</para>
|
|
</listitem>
|
|
</orderedlist>
|
|
<para>Once a UDC is created, it can be propagated to other systems by using
|
|
the UDC Data Exchanger.
|
|
For data interchange consistency, UDC definitions should be unified
|
|
within an organization.
|
|
</para>
|
|
<para>Before attempting to create UDCs, you must
|
|
determine:
|
|
</para>
|
|
<itemizedlist>
|
|
<listitem>
|
|
<para>What code set is being used and what code
|
|
points are available for UDCs. To create UDCs, users
|
|
must know which code points to use.<IndexTerm><Primary>code set</Primary><Secondary>for user defined characters</Secondary></IndexTerm>
|
|
</para>
|
|
<para>When interchanging text data under the X Protocol,
|
|
compound text is used. In compound text, extended
|
|
segments can be used to transfer UDCs.
|
|
If you use extended segments for UDC transfer, you should define
|
|
the encoding name for the UDCs and how code points or glyph indexes
|
|
are transferred in the segments.
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>How font files are organized and what glyph
|
|
indexes are used for UDCs. UDCs can be stored in
|
|
standard font files with empty glyph indexes or in
|
|
separate font files specific to UDCs. If separate files
|
|
are used, the system should be shipped with empty font
|
|
files for UDC. When editing an existing UDC, the user must
|
|
specify the font name and the glyph indexes for the UDC.
|
|
This means the user must know the relationship between
|
|
code points and glyph indexes.
|
|
</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
</sect3>
|
|
<sect3>
|
|
<title>Font Files</title>
|
|
<para>To display and print UDCs they must be stored in databases as
|
|
font files. UDC glyphs, like other character glyphs, are stored in font
|
|
files that are used in the X Window system. The font file formats
|
|
are PCF (Portable Compiled Format) and SNF (Server Natural Format),
|
|
which can be accessed by an X server. The
|
|
UDC Font Editor can also access font files in those formats.<IndexTerm><Primary>user defined characters</Primary><Secondary>font files for</Secondary></IndexTerm><IndexTerm><Primary>font files</Primary><Secondary>for user defined characters</Secondary></IndexTerm>
|
|
</para>
|
|
<para>When the X server displays a UDC, it refers to the UDC in the
|
|
associated font file. Likewise, when a UDC is printed,
|
|
the printer spooler refers to the UDC in the font file.
|
|
</para>
|
|
<para>Font files must be set up to be able to be used by the X Window
|
|
system. In other words, they must be placed in directories that
|
|
are defined in the Xserver's font path, and the management files
|
|
(such as <Symbol Role="Variable">fonts.dir</Symbol>) must be
|
|
placed in those directories.
|
|
The UDC Font Editor does not install font files,
|
|
and does not modify any resources such as
|
|
<Symbol Role="Variable">fonts.dir</Symbol> in the system.
|
|
</para>
|
|
<para>The UDC Font Editor
|
|
can use only UDC font files that are available in the
|
|
current locale and that are defined in the X NLS database. The X NLS
|
|
database is a database that defines what codeset and font set are used
|
|
for each locale. The UDC Font Editor
|
|
constructs UDC fonts in various point sizes and styles.
|
|
To add a new editable font, you must specify the
|
|
code set name and UDC area in the X NLS database.
|
|
</para>
|
|
<para>When the UDC Font Editor and the UDC Data Exchanger
|
|
look for font files, they first search
|
|
the <systemitem class="environvar">DTUDCFONTPATH</systemitem>
|
|
environment variable (which is a colon-separated list of directories
|
|
containing UDC font files) and then the directories
|
|
specified in the
|
|
<filename>/usr/dt/config/$LANG/fonts.list</filename> file. To set
|
|
font search directories for each locale, specify them in
|
|
the <filename>fonts.list</filename> file. (Do not forget the terminal colon.)
|
|
For example:
|
|
</para>
|
|
<programlisting>#
|
|
# fonts.list file example
|
|
#
|
|
/usr/lib/X11/fonts/misc:
|
|
/usr/dt/config/xfonts/ja:
|
|
</programlisting>
|
|
</sect3>
|
|
</sect2>
|
|
<sect2>
|
|
<Title>The UDC Font Editor<IndexTerm><Primary>user defined characters</Primary><Secondary>and UDC Font Editor</Secondary></IndexTerm><IndexTerm><Primary>UDC Font Editor</Primary></IndexTerm></title>
|
|
<para>The UDC Font Editor (<command>dtudcfonted</command>) allows you to create, edit,
|
|
and delete UDCs.
|
|
</para>
|
|
<para>For complete details on using the UDC Font Editor,
|
|
refer to the <command>dtudcfonted</command> man page.
|
|
</para>
|
|
<para>When you start the UDC Font Editor, the <literal>Font Selection</literal>
|
|
window appears.
|
|
</para>
|
|
<para>UDC font files are specified by XLFD (X Logical Font Description)
|
|
name. XLFDs are unique and descriptive font names that are used by clients
|
|
and applications. The various font attributes such as style and a
|
|
character set name are included in the XLFD. For convenience,
|
|
you can select the font file style, size, and UDC code area. The UDC code
|
|
area includes the code set number as specified in the X NLS database
|
|
and the range of UDC glyph indexes that can be used in the code set.
|
|
</para>
|
|
<para>To list the available UDC font files, select the code set, style, and
|
|
definition character size of the desired font in the selection item field.
|
|
Specifying a font and then selecting the <literal>Open</literal> button
|
|
displays the <literal>Character Edit</literal> window.
|
|
</para>
|
|
<sect3>
|
|
<title>Creating and Editing Characters</title><IndexTerm><Primary>user defined characters</Primary><Secondary>creating</Secondary></IndexTerm><IndexTerm><Primary>user defined characters</Primary><Secondary>editing</Secondary></IndexTerm>
|
|
<para>Character patterns are created or edited on the <literal>Character
|
|
Edit</literal> window.
|
|
</para>
|
|
<para>Select the code for the character to be edited from the
|
|
character list. This displays the associated character pattern
|
|
in the edit pane. If the character code has not been registered in
|
|
in the UDC area, nothing is displayed.
|
|
</para>
|
|
<para>If the character code has not been registered, add the code on the
|
|
<literal>Character Control</literal> window, or copy the pattern on the
|
|
<literal>Character Copy</literal> window. For details on how to add
|
|
character codes, see "Adding and Deleting Character Codes". For details
|
|
on how to copy character patterns, see "Copying Character Patterns".
|
|
</para>
|
|
<para>A set of drawing tools and <literal>Edit</literal> menu options
|
|
provide a complete set of operations for creating and editing
|
|
character patterns.
|
|
</para>
|
|
</sect3>
|
|
<sect3>
|
|
<title>Adding and Deleting Character Codes</title>
|
|
<IndexTerm><Primary>user defined characters</Primary><Secondary>adding character codes</Secondary></IndexTerm><IndexTerm><Primary>user defined characters</Primary><Secondary>deleting character codes</Secondary></IndexTerm><IndexTerm><Primary>character codes</Primary><Secondary>adding</Secondary></IndexTerm><IndexTerm><Primary>character codes</Primary><Secondary>deleting</Secondary></IndexTerm>
|
|
<para>Character codes are added and deleted on the <literal>Character
|
|
Control</literal> window, which is displayed by choosing
|
|
<literal>Add/Delete</literal> from the <literal>Character</literal> menu.
|
|
</para>
|
|
<para>To add a character code, specify its four hexadecimal digits within the
|
|
user-defined character area and click the <literal>Add</literal> button.
|
|
You can also add a range of characters
|
|
by specifying the codes for the first and last characters in the
|
|
range. Each new character code is added to the list of characters being edited on
|
|
the <literal>Character Edit</literal> window. The character to be edited
|
|
is the first character of the added character code (or the added
|
|
character code field). If already registered, the character pattern for
|
|
the specified character code is not changed.
|
|
</para>
|
|
<para>To delete a character code, specify its four hexadecimal digits within
|
|
the user-defined character area and click the <literal>Delete</literal> button.
|
|
You can also delete a range of characters
|
|
by specifying the codes for the first and last characters in the
|
|
range. The utility asks you to confirm each deletion.
|
|
</para>
|
|
<para>Deleting a character code removes it from the list of characters being
|
|
edited on the <literal>Character Edit</literal> window. The character
|
|
code following the deleted character code becomes the current editable
|
|
character code.
|
|
</para>
|
|
</sect3>
|
|
<sect3>
|
|
<title>Entering Character Codes Graphically<IndexTerm><Primary>character codes</Primary><Secondary>entering graphically</Secondary></IndexTerm></title>
|
|
<para>To enter a character code graphically, click the
|
|
<literal>Code</literal> button on the <literal>Character
|
|
Control</literal> window. The <literal>Character Code Input</literal>
|
|
window appears. On this window, click on the desired character, then
|
|
click <literal>Apply</literal> to insert the code for the
|
|
selected character in the code input field of the <literal>Character
|
|
Control</literal> window.
|
|
</para>
|
|
</sect3>
|
|
<sect3>
|
|
<title>Copying Character Patterns</title>
|
|
<IndexTerm><Primary>user defined characters</Primary><Secondary>copying character patterns</Secondary></IndexTerm>
|
|
<para>To copy character patterns already registered or created,
|
|
choose <literal>Copy</literal> from the <literal>Character</literal> menu.
|
|
The <literal>Character Copy</literal> window appears.
|
|
Copying adds the character code specified for the copy destination to
|
|
the character list on the Editing window.
|
|
</para>
|
|
<para>To copy a character pattern, select the character size and specify its
|
|
four-hexadecimal-digit code. (You can also copy a range by supplying
|
|
the codes for the first and last characters in the range.)
|
|
Then, specify the four-hexadecimal-digit code(s) for the
|
|
destination character(s) and click the <literal>Copy</literal> button.
|
|
</para>
|
|
<para>You can also perform composite copies, in which the dots in the source
|
|
character pattern are ORed with the dots in the destination character pattern.
|
|
</para>
|
|
</sect3>
|
|
</sect2>
|
|
<sect2>
|
|
<Title>The UDC Data Exchanger<IndexTerm><Primary>user defined characters</Primary><Secondary>and UDC Data Exchange utility</Secondary></IndexTerm><IndexTerm><Primary>user defined characters</Primary><Secondary>transferring to other systems</Secondary></IndexTerm><IndexTerm><Primary>UDC Data Exchange utility</Primary></IndexTerm></title>
|
|
<para>The UDC Data Exchanger (<command>dtudcexch</command>)
|
|
is a tool for exchanging
|
|
UDC glyph images between systems.
|
|
</para>
|
|
<para><command>dtudcexch</command> provides a
|
|
mechanism for distributing UDC glyph images among different systems.
|
|
Specifically, it allows UDC glyph images to be created on one system
|
|
using the UDC Font Editor (<command>dtudcfonted</command>) and then
|
|
propagated to other systems. <command>dtudcexch</command> stores the UDC
|
|
glyph images in a BDF (Bitmap Distribution Format) file, which is
|
|
transported to a target system. On the target system,
|
|
<command>dtudcexch</command> is run again, this time to extract the
|
|
images from the BDF file and add them to the appropriate font file.
|
|
</para>
|
|
<para><command>dtudcexch</command> provides both an export and an import
|
|
function. The export function reads the selected UDC
|
|
glyph images from a font file and stores them in a BDF file for transfer
|
|
to other systems. The import function reads all UDC glyph images in a
|
|
BDF file and adds them to a specified font file.
|
|
</para>
|
|
<para>When exporting, <command>dtudcexch</command> uses glyph indexes of the
|
|
UDC code area in the PCF/SNF font file to select the UDC glyph images. It
|
|
stores the converted images in the BDF-format file at the same glyph indexes.
|
|
When importing, <command>dtudcexch</command> adds the UDC glyph images to
|
|
the PCF/SNF font file at the same glyph indexes found in the BDF file.
|
|
The UDC code area information is defined in the X NLS database.
|
|
</para>
|
|
<para>To create different glyph indexes for the images on the target system,
|
|
you can edit the BDF file before you invoke the import function.
|
|
</para>
|
|
<para>For details on using the UDC Data Exchanger,
|
|
refer to the <command>dtudcexch</command>
|
|
man page.
|
|
</para>
|
|
</sect2>
|
|
</sect1>
|
|
<Sect1 Id="SAG.I18N.div.10">
|
|
<Title Id="SAG.I18N.mkr.5">Localizing app-defaults Resource Files<IndexTerm><Primary>internationalization</Primary><Secondary>app-defaults</Secondary></IndexTerm><IndexTerm><Primary>XUSERFILESEARCHPATH variable</Primary></IndexTerm><IndexTerm><Primary>resources</Primary><Secondary>language-dependent</Secondary></IndexTerm><IndexTerm><Primary>app-defaults</Primary><Secondary>language-dependent</Secondary></IndexTerm></Title>
|
|
<Para>The default location for the <Filename>app-defaults</Filename> file for the desktop clients is
|
|
<Filename>/usr/dt/app-defaults/</Filename><Symbol Role="Variable">language</Symbol>. For example, if LANG is set to
|
|
<Filename>Swedish_locale</Filename>, then applications will look for their <Filename>app-defaults</Filename> file in
|
|
<Filename>/usr/dt/app-defaults/Swedish_locale</Filename>. If LANG is not set, <Symbol Role="Variable">language</Symbol> is
|
|
ignored, and applications look for their <Filename>app-defaults</Filename> file in <Filename>/usr/app-
|
|
defaults/C</Filename>.</Para>
|
|
<Para>To change the location of <Filename>app-defaults</Filename>, use the XFILESEARCHPATH
|
|
environment variable. For example, to move <Filename>app-defaults</Filename> to <Filename>/users</Filename>, set
|
|
XFILESEARCHPATH to <Filename>/usr/app-defaults/</Filename><Symbol Role="Variable">language</Symbol><Filename>/</Filename><Symbol Role="Variable">classname</Symbol>.</Para>
|
|
<Para>If you set XFILESEARCHPATH in <Symbol Role="Variable">HomeDirectory</Symbol><Filename>/.dtprofile</Filename>, the value
|
|
applies to all desktop and X clients you run. Nonclients will not find their
|
|
resource files unless you link or copy them into the directory specified by
|
|
XFILESEARCHPATH.</Para>
|
|
</Sect1>
|
|
<Sect1 Id="SAG.I18N.div.11">
|
|
<Title Id="SAG.I18N.mkr.6">Localizing Actions and Data Types</Title>
|
|
<Note>
|
|
<Para>To customize a file in the <Filename>/usr/dt/appconfig</Filename> directory, copy the file
|
|
to the <Filename>/etc/dt/appconfig</Filename> directory prior to customizing.</Para>
|
|
</Note>
|
|
<Para>The search path for action and data-type definition files includes language-
|
|
dependent directories in:</Para>
|
|
<ItemizedList Remap="Bullet1">
|
|
<ListItem>
|
|
<Para>Personal: <Symbol Role="Variable">HomeDirectory</Symbol><Filename>/dt/types</Filename></Para>
|
|
</ListItem>
|
|
<ListItem>
|
|
<Para>System-wide: <Filename>/etc/dt/appconfig/types/</Filename><Symbol Role="Variable">language</Symbol></Para>
|
|
</ListItem>
|
|
<ListItem>
|
|
<Para>Built-in: <Command>/usr/dt/appconfig/types/</Command><Symbol Role="Variable">language</Symbol></Para>
|
|
</ListItem>
|
|
</ItemizedList>
|
|
<Para>The search path for Application Manager's configuration files is:</Para>
|
|
<ItemizedList Remap="Bullet1">
|
|
<ListItem>
|
|
<Para>Personal: <Emphasis>Ho</Emphasis><Symbol Role="Variable">meDirectory</Symbol><Filename>/dt/appmanager</Filename></Para>
|
|
</ListItem>
|
|
<ListItem>
|
|
<Para>System-wide: <Filename>/etc/dt/appconfig/appmanager/</Filename><Symbol Role="Variable">language</Symbol></Para>
|
|
</ListItem>
|
|
<ListItem>
|
|
<Para>Built-in: <Filename>/usr/dt/appconfig/appmanager/</Filename><Symbol Role="Variable">language</Symbol></Para>
|
|
</ListItem>
|
|
</ItemizedList>
|
|
<Para>File and directory names in this directory are localized.</Para>
|
|
</Sect1>
|
|
<Sect1 Id="SAG.I18N.div.12">
|
|
<Title Id="SAG.I18N.mkr.7">Localizing Icons and Bitmaps<IndexTerm><Primary>localization</Primary><Secondary>icons</Secondary></IndexTerm><IndexTerm><Primary>icons</Primary><Secondary>localized</Secondary></IndexTerm><IndexTerm><Primary>icons</Primary><Secondary>non-English</Secondary></IndexTerm></Title>
|
|
<Para>To localize an icon, edit the icon with Icon Editor and save it in:</Para>
|
|
<ProgramListing>/etc/dt/appconfig/icons/<Symbol Role="Variable">language</Symbol></ProgramListing>
|
|
<Para>If you save it in a different directory, set the XMICONSEARCHPATH
|
|
environment variable to include the directory where you saved the icon. The
|
|
XMICONBMSEARCHPATH environment variable controls the path used to
|
|
search for icons.</Para>
|
|
</Sect1>
|
|
<Sect1 Id="SAG.I18N.div.13">
|
|
<Title Id="SAG.I18N.mkr.8">Localizing Backdrop Names<IndexTerm><Primary>icons</Primary><Secondary>localized</Secondary></IndexTerm></Title>
|
|
<Para>Localization of backdrops is done through the use of description files
|
|
(<ComputerOutput>desc</ComputerOutput>.<Symbol Role="Variable">language</Symbol> and <Filename>desc.backdrops</Filename>). No specific localized directory exists
|
|
(such as <ComputerOutput>/usr/dt/backdrops/</ComputerOutput><Symbol Role="Variable">language</Symbol>) for backdrop files. All locales use the
|
|
same set of backdrops files but have their own <Filename>desc.</Filename><Symbol Role="Variable">language</Symbol> file containing
|
|
the translated names of the backdrops.</Para>
|
|
<Para>The description file contains resource specifications for the backdrop names
|
|
that are translated. For example:</Para>
|
|
<programlisting>Backdrops*Corduroy.desc: Velours
|
|
Backdrops*DarkPaper.desc: PapierKraft
|
|
Backdrops*Foreground.desc: AvantPlan
|
|
</ProgramListing>
|
|
<Para>The <ComputerOutput>desc.</ComputerOutput><Symbol Role="Variable">language</Symbol> file is used to retrieve the description of the backdrops for
|
|
locale <Symbol Role="Variable">language</Symbol> in order to display the backdrop in the Style Manager. If there is
|
|
a description specification, it will be displayed in the Style Manager backdrops
|
|
list. Otherwise, the backdrop file name will be used.</Para>
|
|
<Para>Users can add their own backdrop descriptions in the
|
|
<Symbol Role="Variable">HomeDirectory</Symbol><Filename>/.dt/backdrops/desc.backdrops</Filename> file.
|
|
This file is used to
|
|
retrieve the backdrop descriptions for all backdrops added by the user
|
|
regardless of locale.</Para>
|
|
<Para>The search path for the <Command>description</Command> files is:</Para>
|
|
<ItemizedList Remap="Bullet1">
|
|
<ListItem>
|
|
<Para>Personal: <Symbol Role="Variable">HomeDirectory</Symbol><Filename>/.dt/backdrops/desc.backdrops</Filename></Para>
|
|
</ListItem>
|
|
<ListItem>
|
|
<Para>System-wide: <Filename>/etc/dt/backdrops/desc.</Filename><Symbol Role="Variable">language</Symbol></Para>
|
|
</ListItem>
|
|
<ListItem>
|
|
<Para>Built-in: <Filename>/usr/dt/backdrops/desc.</Filename><Symbol Role="Variable">language</Symbol></Para>
|
|
</ListItem>
|
|
</ItemizedList>
|
|
</Sect1>
|
|
<Sect1 Id="SAG.I18N.div.14">
|
|
<Title Id="SAG.I18N.mkr.9">Localizing Palette Names<IndexTerm><Primary>localization</Primary><Secondary>See also internationalization</Secondary></IndexTerm><IndexTerm><Primary>palettes</Primary><Secondary>localizing names</Secondary></IndexTerm><IndexTerm><Primary>localization</Primary><Secondary>palette names</Secondary></IndexTerm><IndexTerm><Primary>localization</Primary><Secondary>icons</Secondary></IndexTerm><IndexTerm><Primary>icons</Primary><Secondary>localized</Secondary></IndexTerm><IndexTerm><Primary>icons</Primary><Secondary>non-English</Secondary></IndexTerm></Title>
|
|
<Para>Localization of palettes is done through the use of description files
|
|
(<ComputerOutput>desc</ComputerOutput>.<Symbol Role="Variable">language</Symbol> and <Filename>desc.palettes</Filename>). No specific localized directory exists
|
|
(such as <ComputerOutput>/usr/dt/palettes/</ComputerOutput><Symbol Role="Variable">language</Symbol>). All locales use the same set of palette
|
|
files but have their own <Filename>desc.palettes</Filename> file containing the translated names
|
|
of the palettes.</Para>
|
|
<Para>The description file contains resource specifications for the palette names that
|
|
are translated. For example:</Para>
|
|
<programlisting>Palettes*Cardamon.desc: Cardamone
|
|
Palettes*Cinnamon.desc: Cannelle
|
|
Palettes*Clove.desc: Brun
|
|
</ProgramListing>
|
|
<Para>The <ComputerOutput>desc.</ComputerOutput><Symbol Role="Variable">language</Symbol> file is used to retrieve the description of the palettes for
|
|
locale <Symbol Role="Variable">language</Symbol> in order to display the palette in the Style Manager list. If there
|
|
is a description specification it will be displayed in the Style Manager palettes
|
|
list. Otherwise, the palette file name will be used.</Para>
|
|
<Para>Users can add their own palette descirptions in the
|
|
<Symbol Role="Variable">HomeDirectory</Symbol><Filename>/.dt/palettes/desc.palettes</Filename> file. This file is used to
|
|
retrieve the palette descriptions for all palettes added by the user regardless of
|
|
locale.</Para>
|
|
<Para>The search path for the description files is:</Para>
|
|
<ItemizedList Remap="Bullet1">
|
|
<ListItem>
|
|
<Para>Personal: <Symbol Role="Variable">HomeDirectory</Symbol><Filename>/.dt/palettes/desc.palettes</Filename></Para>
|
|
</ListItem>
|
|
<ListItem>
|
|
<Para>System-wide: <Filename>/etc/dt/palettes/desc.</Filename><Symbol Role="Variable">language</Symbol></Para>
|
|
</ListItem>
|
|
<ListItem>
|
|
<Para>Built-in: <Filename>/usr/dt/palettes/desc.</Filename><Symbol Role="Variable">language</Symbol></Para>
|
|
</ListItem>
|
|
</ItemizedList>
|
|
</Sect1>
|
|
<Sect1 Id="SAG.I18N.div.14a">
|
|
<Title Id="SAG.I18N.mkr.9a">Localizing an Infolib<IndexTerm><Primary>infolibs</Primary><Secondary>localizing</Secondary></IndexTerm><IndexTerm><Primary>localization</Primary><Secondary>infolibs</Secondary></IndexTerm></Title>
|
|
<Para>An infolib contains one or more bookcases, each of which contains one or more books
|
|
that can be browsed and searched with the Information Manager. In this hierarchy,
|
|
only the infolibs have associated desktop actions. As desktop entities, infolibs can be opened
|
|
by dragging and dropping them on the Information Manager control. When an infolib
|
|
is opened, the Information Manager displays the Book List window, showing
|
|
all the bookcases contained in the infolib.
|
|
</para>
|
|
<para>The default path for infolibs is set by the
|
|
<systemitem class="environvar">DTINFOLIBPATH</systemitem> environment variable.
|
|
(The standard CDE desktop path is <filename>/usr/dt/dtinfo/cde.dti</filename>.)
|
|
The <Symbol Role="Variable">name</Symbol><filename>.oli</filename> file
|
|
found at the first directory level of an infolib contains the abbreviated name for the
|
|
infolib. Localizations of an infolib are found in subdirectories beneath the first directory
|
|
level and are named according to the NLS mask %<Symbol Role="Variable">L</Symbol>
|
|
(or %<Symbol Role="Variable">l</Symbol>_%<Symbol Role="Variable">t</Symbol>.%<Symbol Role="Variable">c</Symbol>.)
|
|
In the Information Manager's Book List window, each bookcase in an infolib appears with
|
|
the localized string or title stored in the <filename>bookcase.map</filename> file
|
|
found in the bookcase's subdirectory.
|
|
</para>
|
|
</Sect1>
|
|
<Sect1 Id="SAG.I18N.div.15">
|
|
<Title Id="SAG.I18N.mkr.10">Localizing Help Volumes<IndexTerm><Primary>help volumes</Primary><Secondary>localizing</Secondary></IndexTerm></Title>
|
|
<Para>If you have localized a help volume, you must store it in one of the following
|
|
directories. The first help volume found is the one used. The directories are
|
|
searched in the following order:</Para>
|
|
<ItemizedList Remap="Bullet1">
|
|
<ListItem>
|
|
<Para>Personal: <Symbol Role="Variable">HomeDirectory</Symbol><Filename>/.dt/help</Filename></Para>
|
|
</ListItem>
|
|
<ListItem>
|
|
<Para>System-wide: <Filename>/etc/dt/appconfig/help/</Filename><Symbol Role="Variable">language</Symbol></Para>
|
|
</ListItem>
|
|
<ListItem>
|
|
<Para>Built-in: <Symbol Role="Variable">/usr/dt/appconfig/help/</Symbol><Symbol Role="Variable">language</Symbol></Para>
|
|
</ListItem>
|
|
</ItemizedList>
|
|
</Sect1>
|
|
<Sect1 Id="SAG.I18N.div.16">
|
|
<Title Id="SAG.I18N.mkr.11">Localizing Message Catalogs<IndexTerm><Primary>localization</Primary><Secondary>message catalogs</Secondary></IndexTerm></Title>
|
|
<Para>If you have localized a message catalog, store it in the following directory:</Para>
|
|
<Para><Filename>/usr/dt/lib/nls/msg/</Filename><Symbol Role="Variable">language</Symbol>.</Para>
|
|
<Para>These directories contain the <Filename>*.cat</Filename> files.</Para>
|
|
</Sect1>
|
|
<Sect1 Id="SAG.I18N.div.17">
|
|
<Title Id="SAG.I18N.mkr.12">Executing Localized Desktop Applications Remotely<IndexTerm><Primary>remote execution</Primary><Secondary>native language support</Secondary></IndexTerm><IndexTerm><Primary>NLS remote execution</Primary></IndexTerm></Title>
|
|
<Para>You can invoke localized desktop applications on any remote execution host
|
|
that has a similarly localized desktop installation. The values of the NLS-
|
|
related environment variables on the host that is invoking the application are
|
|
passed to the remote host when the application is started. However, the
|
|
environment variables do not contain any host information.</Para>
|
|
</Sect1>
|
|
<Sect1 Id="SAG.I18N.div.18">
|
|
<Title Id="SAG.I18N.mkr.13">Resetting Your Keyboard Map<IndexTerm><Primary>keyboard map, resetting</Primary></IndexTerm><IndexTerm><Primary>internationalization</Primary><Secondary>troubleshooting</Secondary></IndexTerm></Title>
|
|
<Para>If you see unexpected characters and behaviors, or characters cannot be
|
|
displayed or typed, you might need to reset or install your keyboard map or
|
|
change your input method.</Para>
|
|
<Para Id="SAG.I18N.mkr.14">The input method is determined by the LC_CTYPE, LANG, or LC_ALL
|
|
environment variables, or the language specified by the <ComputerOutput>-lang</ComputerOutput> option.<IndexTerm><Primary>input method, internationalization</Primary></IndexTerm>
|
|
</Para>
|
|
<Para>For example, if the user wants to open a terminal with the C locale within a
|
|
POSIX shell, such as:</Para>
|
|
<programlisting>LANG=C dtterm
|
|
</ProgramListing>
|
|
<Para>This new terminal uses the C locale including the C input method and fonts. If
|
|
you are using a language-specific keyboard, the input method may not accept
|
|
any extended characters for input. When using the C locale with a language-
|
|
specific keyboard, users need to set the LC_CTYPE (or LANG or LC_ALL)
|
|
environment variable to an appropriate value before invoking the terminal.
|
|
</Para>
|
|
<Para>For example, to use the C locale with the German keyboard, type:
|
|
</Para>
|
|
<programlisting>LANG=C LC_CTYPE=DeDE dtterm
|
|
</ProgramListing>
|
|
<Para>If the X server has been reset and keymaps have been initialized, you can reset
|
|
the proper keyboard map at the server using the <ComputerOutput>xmodmap</ComputerOutput> command.
|
|
</Para>
|
|
</Sect1>
|
|
<Sect1 Id="SAG.I18N.div.19">
|
|
<Title Id="SAG.I18N.mkr.14a">Selecting an Input Method Server<IndexTerm><Primary>input method server</Primary><Secondary>selecting</Secondary></IndexTerm></Title>
|
|
<Para>Asian users can select which input method server (IMS) to use either at
|
|
session startup or at any time within a session (by using the Style
|
|
Manager's Internationalization control). IMS selection is
|
|
allowed only if <systemitem class="environvar">LANG</systemitem>
|
|
is set to an Asian language (Japanese, Korean, Chinese traditional, or
|
|
Chinese simplified).
|
|
</para>
|
|
<para>Once an IMS has been selected, users can set the IMS selection mode, which
|
|
determines whether they will be prompted
|
|
for an IMS at the next login or will automatically use the currently selected IMS.
|
|
</para>
|
|
<para>The IMS selection and IMS selection mode are stored in the file:<IndexTerm><Primary>input method server</Primary><Secondary>selection file</Secondary></IndexTerm>
|
|
<programlisting><Symbol Role="Variable">$HOME</Symbol>/.dt/ims/[<Symbol Role="Variable">display_name</Symbol>/]<Symbol Role="Variable">CDE_locale_name</Symbol>
|
|
</programlisting>
|
|
</para>
|
|
<para>The format of the IMS selection file is:
|
|
</para>
|
|
<programlisting>@SelectMode: 0 <lineannotation>(Ask at login), or</lineannotation>
|
|
1 <lineannotation>(Resume current input method)</lineannotation>
|
|
@ImsName: <Symbol Role="Variable">ims_name</Symbol>
|
|
@HostName: <Symbol Role="Variable">host_name</Symbol>
|
|
</programlisting>
|
|
<sect2 Id="SAG.I18N.div.20">
|
|
<Title Id="SAG.I18N.mkr.15">At Session Startup<IndexTerm><Primary>input method server</Primary><Secondary>selecting at session startup</Secondary></IndexTerm></title>
|
|
<para>To allow users to select an IMS prior to session startup, set the
|
|
<systemitem class="environvar">DTSTARTIMS</systemitem> environment variable to
|
|
<systemitem class="constant">TRUE</systemitem>. Setting
|
|
<systemitem class="environvar">DTSTARTIMS</systemitem> to
|
|
<systemitem class="constant">TRUE</systemitem> causes
|
|
the Session Manager to execute the
|
|
<filename>/usr/dt/config/Xsession.d/0020.dtims</filename> script.
|
|
This script checks <systemitem class="environvar">LANG</systemitem>.
|
|
If <systemitem class="environvar">LANG</systemitem> is set to an Asian
|
|
language, the script invokes the <command>dtimsstart</command>
|
|
program. <command>dtimsstart</command> displays an Input Method
|
|
Selection dialog from which the user can select which IMS to use.
|
|
The user can choose an IMS running either on the local host or on a remote
|
|
host.
|
|
</para>
|
|
<para>To set the selection mode, the user can use the Style Manager I18N control
|
|
(described below) or use <command>DtActionInvoke</command> to execute the
|
|
<Symbol>DtImsMode</Symbol> action in <literal>Desktop_Tools</literal> in the
|
|
Application Manager. The <Symbol>DtImsMode</Symbol> action
|
|
displays a dialog that lets the user choose either
|
|
<literal>Ask at Login</literal> or <literal>Resume current input method</literal>.
|
|
</para>
|
|
<para>The name of the selected IMS and its host and the selection mode
|
|
are recorded in the IMS selection file.
|
|
</para>
|
|
</sect2>
|
|
<sect2 Id="SAG.I18N.div.21">
|
|
<Title Id="SAG.I18N.mkr.16">Within a Session<IndexTerm><Primary>input method server</Primary><Secondary>selecting within a session</Secondary></IndexTerm></title>
|
|
<para>At any point within a session, a user can select which IMS to use by clicking the
|
|
the Style Manager I18N control. (This control appears only if
|
|
<systemitem class="environvar">LANG</systemitem> is set to an Asian
|
|
language.) The Input Method Selection dialog is displayed. If there is a current IMS,
|
|
the dialog shows its name as well as the server host on which it is running.
|
|
The user can choose an IMS that is running either on the local host or on a remote
|
|
host.
|
|
</para>
|
|
<para>To define the hosts on which an IMS can be found, you can configure the
|
|
the <literal>imServerHosts</literal> application resource. The Style
|
|
Manager uses this resource to identify which hosts to present for user
|
|
IMS selection. It contains a comma-separated list of host names.
|
|
</para>
|
|
<para>In addition to selecting the IMS, the user can set the selection mode to either
|
|
<literal>Ask at Login</literal> or <literal>Resume current input method</literal>.
|
|
</para>
|
|
<para>The name of the selected IMS and its host and the selection mode
|
|
are recorded in the IMS selection file.
|
|
</para>
|
|
</sect2>
|
|
<sect2 Id="SAG.I18N.div.22">
|
|
<Title Id="SAG.I18N.mkr.17">Setting the IMS Configuration Files<IndexTerm><Primary>input method server</Primary><Secondary>configuration files</Secondary></IndexTerm></title>
|
|
<para>In addition to the IMS selection file (described above), IMS configuration is
|
|
defined by:
|
|
</para>
|
|
<itemizedlist>
|
|
<listitem>
|
|
<para>The Locale Entry file
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>The IMS Entry file
|
|
</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
<sect3 Id="SAG.I18N.div.23">
|
|
<Title Id="SAG.I18N.mkr.18">Locale Entry File<IndexTerm><Primary>input method server</Primary><Secondary>Locale Entry file</Secondary></IndexTerm><IndexTerm><Primary>Locale Entry file</Primary></IndexTerm></title>
|
|
<para>The Locale Entry file lists the IMSs that support a given locale.
|
|
Its location is <filename>/usr/dt/config/ims/</filename><Symbol Role="Variable">locale_name</Symbol>
|
|
and it takes the format:
|
|
</para>
|
|
<programlisting>@Default: <Symbol Role="Variable">ims_name</Symbol>
|
|
<Symbol Role="Variable">ims_name</Symbol>: <Symbol Role="Variable">label_string</Symbol>
|
|
…
|
|
</programlisting>
|
|
<para>The following shows a sample IMS listing for the
|
|
locale <literal>ja_JP.SJIS</literal>:
|
|
</para>
|
|
<programlisting>@Default: xjim
|
|
xjim: HP XJIM
|
|
atok8: ATOK8
|
|
vje: VJE-gamma
|
|
egbridge: EGBridge
|
|
none: No Input Method
|
|
</programlisting>
|
|
</sect3>
|
|
<sect3 Id="SAG.I18N.div.24">
|
|
<Title Id="SAG.I18N.mkr.19">IMS Entry File<IndexTerm><Primary>input method server</Primary><Secondary>IMS Entry file</Secondary></IndexTerm><IndexTerm><Primary>IMS Entry file</Primary></IndexTerm></title>
|
|
<para>The IMS Entry file describes the attributes of an IMS.
|
|
Its location is <filename>/usr/dt/config/ims/</filename>
|
|
<Symbol Role="Variable">ims_name</Symbol> and it takes the format:
|
|
</para>
|
|
<programlisting><symbol role="variable">attribute_name</symbol>: <symbol role="variable">attribute_value</symbol>
|
|
</programlisting>
|
|
<para>where <symbol role="variable">attribute_name</symbol> is:
|
|
</para>
|
|
<variablelist>
|
|
<varlistentry><term><literal>protocols</literal></term>
|
|
<listitem>
|
|
<para>A String attribute that identifies the supported XIM protocols. The
|
|
valid protocols are XIM, Ximp, and Xsi. This attribute is required.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry><term><literal>server_name</literal></term>
|
|
<listitem>
|
|
<para>A String attribute that identifies the server on which the IMS runs.
|
|
This attribute is used for XMODIFIERS and is required.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry><term><literal>cmd_path</literal></term>
|
|
<listitem>
|
|
<para>A Path attribute that specifies the absolute path of the the IMS's
|
|
executable file. It is a a built-in keyword used for local IM built in
|
|
Xlib, which does not need a separate process. This attribute is
|
|
required.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry><term><literal>cmd_param</literal></term>
|
|
<listitem>
|
|
<para>A String attribute that supplies a command line option for the IMS
|
|
server. The default is NULL.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry><term><literal>env_set</literal></term>
|
|
<listitem>
|
|
<para>A String attribute that specifies the environment variables to be set,
|
|
with the exception of XMODIFIERS. The default is NULL.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry><term><literal>env_unset</literal></term>
|
|
<listitem>
|
|
<para>A String attribute that specifies the environment variables to be unset,
|
|
with the exception of XMODIFIERS. The default is NULL.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry><term><literal>env_pass</literal></term>
|
|
<listitem>
|
|
<para>A String attribute that specifies the environment variables to be passed
|
|
to a remotely executed IMS, with the exception of LANG, DISPLAY, and
|
|
XMODIFIERS. The default is NULL.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry><term><literal>has_window</literal></term>
|
|
<listitem>
|
|
<para>A Bool attribute that indicates whether the IMS has its own main window
|
|
appearance or not. The default is False.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry><term><literal>no_server</literal></term>
|
|
<listitem>
|
|
<para>A Bool attribute that indicates whether <command>dtimsstart</command>
|
|
should start the IMS or not. True should be given for the local IM, since it
|
|
does not require any server process started by
|
|
<command>dtimsstart</command>. The default is False.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry><term><literal>no_remote</literal></term>
|
|
<listitem>
|
|
<para>A Bool attribute that indicates whether the IMS allows remote execution
|
|
or not. The default is False.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry><term><literal>no_option</literal></term>
|
|
<listitem>
|
|
<para>A Bool attribute that indicates whether the IMS allows the command line
|
|
option or not. If True, any options specified by
|
|
<literal>-imsopt</literal> are ignored, though the value of the
|
|
<literal>cmd_param</literal> attribute is always applied regardless of
|
|
this value. True should be given for the local IM. The default is False.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
</variablelist>
|
|
<para>Note that where multiple values are allowed, they must be specified as a
|
|
space-separated list. If multiple entries with the same attribute name
|
|
appear in the file, only the last one is used.
|
|
</para>
|
|
<para>The following shows the contents a sample IMS entry file
|
|
<filename>/usr/dt/config/ims/</filename><Symbol Role="Variable">xjim</Symbol>.
|
|
</para>
|
|
<programlisting>protocols: XIM Ximp
|
|
server_name: xjim
|
|
cmd_path: /usr/bin/X11/xjim
|
|
cmd_param: -iconic
|
|
env_set:
|
|
env_unset:
|
|
env_pass:
|
|
has_window: true
|
|
</programlisting>
|
|
</sect3>
|
|
</sect2>
|
|
</sect1>
|
|
<Sect1 Id="SAG.I18N.div.20a">
|
|
<Title Id="SAG.I18N.mkr.15a">Setting Input Method Style<IndexTerm><Primary>input method style</Primary><Secondary>setting</Secondary></IndexTerm></Title>
|
|
<para>The Style Manager I18N control allows the user to set the input method style,
|
|
which determines how pre-editing will occur. The order in which
|
|
pre-edit styles will be used is stored in the <Symbol>XmNpreeditType</Symbol>
|
|
resource of <command>VendorShell</command>. <Symbol>XmNpreeditType</Symbol>
|
|
records the preferred order of pre-edit styles as a comma-separated list.
|
|
For example:
|
|
</para>
|
|
<programlisting>OnTheSpot,OverTheSpot,OffTheSpot,Root
|
|
</programlisting>
|
|
<para>By using the <literal>Move-Up</literal> and <literal>Move-Down</literal>
|
|
buttons on the dialog displayed by the I18N control,
|
|
the user can reorder the pre-edit styles within the list.
|
|
</para>
|
|
</sect1>
|
|
</chapter>
|
|
<!--fickle 1.14 mif-to-docbook 1.7 01/02/96 06:16:56-->
|