<!-- $XConsortium: udcfonte.sgm /main/8 1996/09/08 19:57:56 rws $ -->
<!-- (c) Copyright 1996 Digital Equipment Corporation. -->
<!-- (c) Copyright 1996 Hewlett-Packard Company. -->
<!-- (c) Copyright 1996 International Business Machines Corp. -->
<!-- (c) Copyright 1996 Sun Microsystems, Inc. -->
<!-- (c) Copyright 1996 Novell, Inc. -->
<!-- (c) Copyright 1996 FUJITSU LIMITED. -->
<!-- (c) Copyright 1996 Hitachi. -->
<![ %CDE.C.CDE; [<refentry id="cde.UDC.dtudcfonted">]]>
<refmeta><refentrytitle>dtudcfonted</refentrytitle>
<manvolnum>user cmd</manvolnum>
</refmeta>
<refnamediv><refname><command>dtudcfonted</command></refname>
<refpurpose>Edit user-defined characters
</refpurpose></refnamediv>
<refsynopsisdiv>
<cmdsynopsis>
<command>dtudcfonted</command>
</cmdsynopsis>
</refsynopsisdiv>
<refsect1>
<title>DESCRIPTION</title>
<para>The <command>dtudcfonted</command> utility is a tool for editing user-defined
characters (UDCs). It runs only in GUI mode.
</para>
<para>The procedure for editing user-defined characters is:
</para>
<orderedlist>
<listitem>
<para>Start the font editor to display the <literal>Font Selection</literal> window.
</para>
</listitem>
<listitem>
<para>Select the code set, style, and character size of the font to be edited.
The <literal>Font Selection</literal> window lists the fonts satisfying
these specifications. After specifying a font, select the
<literal>Open</literal> button to display the
<literal>Character Edit</literal> window.
</para>
</listitem>
<listitem>
<para>Edit a character pattern in the <literal>Character Edit</literal>
window. You can register the code for the character to be edited, and
you can delete unnecessary characters.
</para>
</listitem>
<listitem>
<para>After editing the character pattern, select <literal>Save</literal> from
the <literal>Font</literal> menu to register the edited character pattern
with the user-defined character file.
</para>
</listitem>
<listitem>
<para>Edit another font by selecting <literal>Open</literal>
from the <literal>Font</literal> menu. The
<literal>Font Selection</literal> window is displayed.
Repeat steps 2 through 5.
</para>
</listitem>
</orderedlist>
<refsect2>
<title>Starting the Font Editor</title>
<para>Start the font editor by entering the
<command>dtudcfonted</command> command. The <literal>Font Selection</literal>
window appears.
</para>
</refsect2>
<refsect2>
<title>Selecting the Font</title>
<para>The <literal>Font Selection</literal> window is displayed immediately
after the utility is started, or by choosing <literal>Open</literal>
from the <literal>Font</literal> menu on the <literal>Character Edit</literal> window. The
code sets for the editable font files are listed in <literal>Codeset Selection</literal>.
</para>
<para>To list the applicable fonts (files), select the code set, style, and
definition character size of the desired font in the selection item field.
Specifying one font and then selecting the <literal>Open</literal> button
displays the <literal>Character Edit</literal> window. Selecting the
<literal>Cancel</literal> button closes the <literal>Font
Selection</literal> window and terminates the UDC font editor.
</para>
</refsect2>
<refsect2>
<title>Editing Characters</title>
<para>Character patterns are edited on the <literal>Character Edit</literal>
window. The <literal>Character Edit</literal> window contains:
</para>
<itemizedlist>
<listitem>
<para>A list of the characters being edited
</para>
</listitem>
<listitem>
<para>The editing pane, with each square corresponding to one dot
</para>
</listitem>
<listitem>
<para>Drawing tools
</para>
</listitem>
<listitem>
<para>The currently displayed character pattern in the exact size and its code
</para>
</listitem>
</itemizedlist>
<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 pattern has not been created in
the UDC area, nothing is displayed.
</para>
<para>If the character code is not 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>Characters are edited on the edit pane using the following operations:
</para>
<variablelist>
<varlistentry><term>Marking Dots</term>
<listitem>
<para>To mark one dot at the cursor position:
</para>
<orderedlist>
<listitem>
<para>Choose <literal>Pencil</literal> at the top of the drawing tools.
</para>
</listitem>
<listitem>
<para>Move the cursor to the appropriate position.
</para>
</listitem>
<listitem>
<para>Click the left mouse button.
</para>
</listitem>
</orderedlist>
</listitem>
</varlistentry>
<varlistentry><term>Drawing Straight Lines</term>
<listitem>
<para>To draw a straight line (one dot wide):
</para>
<orderedlist>
<listitem>
<para>Choose <literal>Straight line</literal> from the drawing tools.
</para>
</listitem>
<listitem>
<para>Move the cursor to the line start position, and then press the left mouse button.
</para>
</listitem>
<listitem>
<para>While holding down the left mouse button, move the cursor to the line
end position. Then release the left button.
</para>
</listitem>
</orderedlist>
<para>To cancel the line after starting, move the cursor outside the edit
pane, then release the left button.
</para>
</listitem>
</varlistentry>
<varlistentry><term>Drawing Rectangles</term>
<listitem>
<para>To draw a rectangle (one dot wide):
</para>
<orderedlist>
<listitem>
<para>Choose <literal>Rectangle</literal> from the drawing tools.
</para>
</listitem>
<listitem>
<para>Move the cursor to one corner of the rectangle, then press the left
mouse button.
</para>
</listitem>
<listitem>
<para>While holding down the left mouse button, move the cursor to the
diagonally opposite corner. Then release the left button.
</para>
</listitem>
</orderedlist>
<para>To cancel the rectangle after specifying one corner, move the cursor
outside the edit pane, then release the left button.
</para>
</listitem>
</varlistentry>
<varlistentry><term>Drawing Circles</term>
<listitem>
<para>To draw a circle (one dot wide):
</para>
<orderedlist>
<listitem>
<para>Choose <literal>Circle</literal> from the drawing tools.
</para>
</listitem>
<listitem>
<para>Move the cursor to the center of the circle, then press the left mouse
button.
</para>
</listitem>
<listitem>
<para>While holding down the left mouse button, move the cursor to a point on
the circumference of the circle. Then release the left button.
</para>
</listitem>
</orderedlist>
<para>To cancel the circle after selecting the center point, move the cursor
outside the edit pane, then release the left button.
</para>
</listitem>
</varlistentry>
<varlistentry><term>Selecting an Area for Editing</term>
<listitem>
<para>To select a rectangular area for editing:
</para>
<orderedlist>
<listitem>
<para>Choose <literal>Select</literal> from the drawing tools.
</para>
</listitem>
<listitem>
<para>Move the cursor to one corner of the rectangle, then press the left
mouse button.
</para>
</listitem>
<listitem>
<para>While holding down the left mouse button, move the cursor to the
diagonally opposite corner. Then release the left button.
To cancel the rectangular area after specifying one corner, move the cursor
outside the edit pane, then release the left button.
</para>
</listitem>
<listitem>
<para>Choose the desired function from the <literal>Edit</literal> menu.
</para>
</listitem>
</orderedlist>
</listitem>
</varlistentry>
<varlistentry><term>Clearing an Area</term>
<listitem>
<para>To clear all the dots within a selected area, choose
<literal>Clear</literal> from the <literal>Edit</literal> menu.
</para>
</listitem>
</varlistentry>
<varlistentry><term>Setting an Area</term>
<listitem>
<para>To set all the dots within a selected area,
choose <literal>Set</literal> from the <literal>Edit</literal> menu.
</para>
</listitem>
</varlistentry>
<varlistentry><term>Reversing Video in an Area</term>
<listitem>
<para>To reverse the video (change black dots to white and vice cersa) within
a selected area, choose <literal>Reverse video</literal> from the
<literal>Edit</literal> menu.
</para>
</listitem>
</varlistentry>
<varlistentry><term>Copying an Area</term>
<listitem>
<para>To copy a selected area:
</para>
<orderedlist>
<listitem>
<para>Choose <literal>Copy</literal> from the <literal>Edit</literal> menu.
</para>
</listitem>
<listitem>
<para>Choose <literal>Paste</literal> from the <literal>Edit</literal> menu.
</para>
</listitem>
<listitem>
<para>Move the cursor to the copy destination within the edit pane.
The frame of the selected area moves with the cursor.
</para>
</listitem>
<listitem>
<para>Click the left mouse button.
</para>
</listitem>
</orderedlist>
</listitem>
</varlistentry>
<varlistentry><term>Moving an Area</term>
<listitem>
<para>To move a selected area:
</para>
<orderedlist>
<listitem>
<para>Choose <literal>Cut</literal> from the <literal>Edit</literal> menu.
</para>
</listitem>
<listitem>
<para>Choose <literal>Paste</literal> from the <literal>Edit</literal> menu.
</para>
</listitem>
<listitem>
<para>Move the cursor to the copy destination within the edit pane.
The frame of the selected area moves with the cursor.
</para>
</listitem>
<listitem>
<para>Click the left mouse button.
</para>
</listitem>
</orderedlist>
</listitem>
</varlistentry>
<varlistentry><term>Rotating an Area</term>
<listitem>
<para>To rotate the contents of a selected area 90 degrees clockwise,
choose <literal>Rotate</literal> from the <literal>Edit</literal> menu.
</para>
</listitem>
</varlistentry>
<varlistentry><term>Flipping an Area</term>
<listitem>
<para>To flip the contents of a selected area vertically,
choose <literal>Flip vertically</literal> from the <literal>Edit</literal> menu.
</para>
<para>To flip the contents of a selected area horizontally,
choose <literal>Flip horizontally</literal> from the <literal>Edit</literal> menu.
</para>
</listitem>
</varlistentry>
<varlistentry><term>Inverting Dots</term>
<listitem>
<para>To invert (change from black to white and vice versa) the dot at the
current cursor location, click the middle mouse button.
</para>
</listitem>
</varlistentry>
<varlistentry><term>Canceling Edits</term>
<listitem>
<para>To cancel the results of the most recent edit operation,
choose <literal>Cancel</literal> from the <literal>Edit</literal> menu.
</para>
</listitem>
</varlistentry>
</variablelist>
</refsect2>
<refsect2>
<title>Adding and Deleting Character Codes</title>
<para>Character codes are added and deleted on the <literal>Character
Control</literal> window. To display this window,
choose <literal>Add/Delete</literal> from the <literal>Character</literal> menu.
</para>
<refsect3>
<title>Adding Character Codes</title>
<para>To add a character code, specify its four hexadecimal digits within the
user-defined character area. To add a range of characters, specify the
four hexadecimal digits for the last character code in the range in the
right input field. After specifying a single character code or a range,
select the <literal>Add</literal> button.
</para>
<para>The character code is added to a list of the 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>
</refsect3>
<refsect3>
<title>Deleting Character Codes</title>
<para>To delete a character code, specify its four hexadecimal digits within
the user-defined character area. To delete a range of characters,
specify the four hexadecimal digits for the last character code in the
range in the right input field. After specifying a single character code
or a range, select the <literal>Delete</literal> button. The
<literal>Character Deletion Confirmation</literal> window appears.
Choose <Literal>OK</Literal> to delete the character. Choose
<literal>Cancel</literal> to cancel the 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. Note that a deleted character code is not actually
removed from the user-defined character file until you choose
<literal>Save</literal> on the <literal>Font</literal> menu.
</para>
</refsect3>
</refsect2>
<refsect2>
<title>Entering Character Codes Graphically</title>
<para>To enter a character code graphically, choose 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
press the <literal>Apply</literal> button to insert the code for the
selected character in the code input field of the <literal>Character
Control</literal> window.
</para>
</refsect2>
<refsect2>
<title>Copying Character Patterns</title>
<para>You can copy character patterns already registered or created using the
<literal>Character Copy window</literal>. To access this window, choose
<literal>Copy</literal> from the <literal>Character</literal> menu.
Copying adds the character code specified for the copy destination to
the list of the character list on the Editing window.
</para>
<para>To copy a character pattern:
</para>
<orderedlist>
<listitem>
<para>Select the size of the character to be copied from the character size
selection field, then enter the four-hexadecimal-digit code for the
character in the copy code field. To copy a range of character patterns
in a single operation, enter the code for the last character in the
range in the right input field.
</para>
</listitem>
<listitem>
<para>Specify the four-hexadecimal-digit code for the copy destination.
Multiple character patterns are copied in a single
operation in ascending order of codes starting at the specified copy
destination code. A code in the user-defined character area can be
specified.
</para>
</listitem>
<listitem>
<para>Select the <literal>Copy</literal> button. If the destination area
already contains the copied character pattern, the
<literal>Confirmation</literal> window appears. To replace the existing
pattern with the copy, select <literal>Close</literal>. To cancel the
copy, select <literal>Cancel</literal>.
</para>
<para>Note that if the size of the copy source character differs from that of the copy
destination character, the pattern is automatically enlarged or reduced
for copying.
</para>
</listitem>
</orderedlist>
<para>You can also perform a composite copy, which ORs the dots in the source
character pattern with the dots in the destination character pattern. To
copy a composite pattern, specify the copy source and the copy
destination, then choose the <literal>Copy Compositions</literal> button.
</para>
</refsect2>
<refsect2>
<title>Getting Information</title>
<para>The <literal>Information</literal> menu provides explanations of the
following items:
</para>
<variablelist>
<varlistentry><term>XLFD name</term>
<listitem>
<para>Displays the <literal>XLFD name</literal> window,
which lists the file name and XLFD name of the font
being edited.
</para>
</listitem>
</varlistentry>
<varlistentry><term>Code area</term>
<listitem>
<para>Displays the <literal>Code area</literal> window, which provides
information about the code area.
</para>
</listitem>
</varlistentry>
</variablelist>
</refsect2>
<refsect2>
<title>Saving Editing Results</title>
<para>To save your edits on a character pattern, you must save the
pattern in the user-defined character file. Choose <literal>Save</literal>
from the <literal>Font</literal>.
</para>
</refsect2>
<refsect2>
<title>Exiting the Font Editor</title>
<para>To exit from the Font Editor, choose <literal>Exit</literal> from the
<literal>Font</literal> menu or <literal>Close</literal> from the window
menu. If you have not saved the edited pattern, the <literal>Termination
Confirmation</literal> window appears and asks whether you want to save
the pattern or not. Choose <literal>Save</literal> to save your edits,
<literal>Not Save</literal> to discard your edits, or
<literal>Cancel</literal> to abort the exit itself.
</para>
</refsect2>
</refsect1>
<refsect1>
<title>EXIT STATUS</title>
<variablelist remap="tight">
<varlistentry><term>0</term>
<listitem>
<para>The Font Editor exited successfully.</para>
</listitem>
</varlistentry>
<varlistentry><term>>1</term>
<listitem>
<para>An error occurred.</para>
</listitem>
</varlistentry>
</variablelist>
</refsect1>
<refsect1>
<title>ENVIRONMENT VARIABLES</title>
<para><command>dtudcfonted</command> references the <systemitem class="environvar">DTUDCFONTPATH</systemitem> variable, which is a colon-separated list of directories
to search when looking for UDC font files.
</para>
</refsect1>
<refsect1>
<title>RESOURCES</title>
<para>None.</para>
</refsect1>
<refsect1>
<title>ACTIONS/MESSAGES</title>
<para>None.</para>
</refsect1>
<refsect1>
<title>ERRORS/WARNINGS</title>
<para>The following errors can occur when the font file is read or saved:
</para>
<programlisting>
Failed in reading the selected font file.

Failed in the registration of the selected font file.
</programlisting>
<para>The following errors can occur when the UDC is added, deleted, or copied:
</para>
<programlisting>
The specified code is without the range of UDC code.

Because the memory allocation cannot be done, it is not possible to add.

The specified copy origin code is without the range of UDC code.

The specified copy target code is without the range of UDC code.

There is no character in the specified area.
</programlisting>
<para>The following errors can occur when the font file is opened:
</para>
<programlisting>
Because the selected font file is already open for editing by another
user, it cannot be opened.

Failed to open the selected font file.

You have no right to access for the font file, or the format of the file
is not consistent.
</programlisting>
</refsect1>
<refsect1>
<title>FILES</title>
<para>None.</para>
</refsect1>
<refsect1>
<title>EXAMPLES</title>
<para>None.</para>
</refsect1>
<refsect1>
<title>SEE ALSO</title>
<para>&cdeman.dtudcexch;
</para>
</refsect1>
</refentry>
