<!DOCTYPE html
  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<!--
Copyright (c) 2006 UGS Corp.

All Rights Reserved.

This software and related documentation are proprietary to UGS Corp.
-->
<html>
   <head>
      <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
      <title>Edit Character Font</title>
      <script language="javaScript">
        abridged="false";
        displayConditions=new Array();
      </script>
      <link type="text/css" href="../css/main_styles.css" rel="stylesheet">
   </head>
   <body class="bodydocs" onload="top.pageLoader()" bgcolor="#FFFFFF">
      <div class="title_topic3" id="xps10_pagetitle">Edit Character Font</div>
      <hr noshade="true">
      <p class="para_topic">The Edit Character Font option allows you to modify line and character spacing of a character font. After editing a character font, recompile it using the ugfontc utility before the new spacing values become effective.</p>
      <p class="para_topic">When you enter the desired values, the system modifies and saves the font parameters in the font source file.</p>
      <div class="title_division">Create/Edit Character</div>
      <p class="para_division">This option allows you to add individual characters of a font to a font's source file.</p>
      <table border="0">
         <tr>
            <td valign="top" align="left"><img align="left" src="../graphics/note.gif" alt="Note" title="Note"></td>
            <td valign="bottom" align="left" width="100%">
               <div class="para_note">
                  <p class="para_note_body">  Before choosing this option, you should already have created the characters from lines that are designed to fit in the font box for that font. You can compose each character with up to 510 lines.</p>
               </div>
            </td>
         </tr>
      </table>
      <p class="para_division">We suggest that all the characters for a particular font be designed within that font box and filed as patterns. The patterns can then be individually retrieved and added to the font source file with this option.</p>
      <p class="para_division">If you enter the name of a font source file that does not exist, the system displays an error message.</p>
      <div class="title_division">Keystroke Combinations</div>
      <p class="para_division">Refer to the following table for a list of the valid keystroke combinations. Both upper case and lower case characters can be defined.</p>
      <ul class="unmarkedList">
         <li>
            <p class="para_item">VALID KEYSTROKE COMBINATIONS FOR DEFINING CHARACTERS</p>
         </li>
         <li>
            <p class="para_item">A,...,Z$A,...,$Z a,...,z$a,...,$z 0,...,9$0,...,$9 SP ! &quot; # % &amp; ' ( ) * + , - . / : ; = &gt; ? @ [\] n _ {|} ~ ` $SP $! $&quot; $# $% $&amp; $' $( $) $* $+ $, $- $. $/ $: $; $= $? $@ $[ $\ $n $] $' $_ $$ $&gt; $&lt; ${ $| $} $~  </p>
         </li>
         <li>
            <p class="para_item">In addition, any character defined in your current locale is valid.</p>
         </li>
         <li>
            <p class="para_item">If the character font being defined is to be used with dimensions, care should be taken to include the special dimension symbols as characters in the font.</p>
         </li>
         <li>
            <p class="para_item">If a combination of characters not included in the example above is entered, the system will display an error message.</p>
         </li>
         <li>
            <p class="para_item">If the keystroke entered already exists in the font source file, the system prompts you as to whether or not to delete the character.</p>
         </li>
         <li>
            <p class="para_item">YES deletes the data in the source file for that character and allows the character to be redefined.</p>
         </li>
         <li>
            <p class="para_item">NO keeps the data and returns you to the Enter Keystroke menu.</p>
         </li>
      </ul>
      <div class="title_division">Indicating Character Origin</div>
      <p class="para_division">The relationship of the character to the font box is established when the character origin is defined.</p>
      <table border="0">
         <tr>
            <td valign="top" align="left"><img align="left" src="../graphics/note.gif" alt="Note" title="Note"></td>
            <td valign="bottom" align="left" width="100%">
               <div class="para_note">
                  <p class="para_note_body"> The font box does not need to be present when you define the character origin. The system, however, assumes that this point coincides with the font box origin. Even though the character was designed in the font box, an improperly defined character origin could result in uneven character spacing and possible modification of the character.</p>
               </div>
            </td>
         </tr>
      </table>
      <div class="figure">
         <p align="center"><img align="bottom" src="graphics/fil_v04at65.gif"></p>
      </div>
      <div class="title_figure">Improper Selection of Character Origin</div>
      <div class="figure">
         <p align="center"><img align="bottom" src="graphics/fil_v04at64.gif"></p>
      </div>
      <div class="title_figure">Proper Selection of Character Origin</div>
      <p class="para_division">Any portion of the character extending beyond the font box boundary is trimmed when the system creates the character.</p>
      <div class="title_division">Indicate Character Width</div>
      <p class="para_division">If you used Fixed for the character font width, select only the lines making up the character; the system determines the width. If you use Variable or Overlap Width, you must define the character width yourself.</p>
      <p class="para_division">You define the width by indicating a point using the Point Constructor. The system uses the point you define to determine the proper character spacing for variable or overlap width types. A dashed line is displayed from the cap line to the drop line of the font box.</p>
      <p class="para_division">The point defined is used to determine the proper character spacing for variable or overlap width types. A dashed line will be displayed from the cap line to the drop line of the font box.</p>
      <div class="title_division">Variable Width</div>
      <p class="para_division">If you are using a variable width type, you pick the lines making up the character.</p>
      <div class="title_division">Overlap Width</div>
      <p class="para_division">If you are using an overlap width, you select the left and right overlap lines for the character. The system presents six options for both the left and right side overlaps.</p>
      <p class="para_division">The left and right overlap lines are displayed as they are chosen.</p>
      <p class="para_division">The six options refer to the overlap shift lines displayed below the font box when it is created.</p>
      <div class="figure">
         <p align="center"><img align="bottom" src="graphics/fil_v04at63.gif"></p>
      </div>
      <div class="title_figure">Overlap Shift Lines of a Font Box</div>
      <p class="para_division">The Vertical Cap Line, Right Inclined Cap Line, and Left Inclined Cap Line options should be used with capital characters; the Vertical Waist Line, Right Inclined Waist Line, and Left Inclined Waist Line options should be used with lower case characters. The shift lines used with each character determine how the system shifts the characters relative to one another.</p>
      <p class="para_division">When selecting the left and right overlap lines, consider the shape of the character. A good general guideline is to select the overlap line that most closely approximates the angle of the character.</p>
      <p class="para_division">For example, the left and right overlap lines for a capital &quot;A&quot; could be vertical cap lines, but the shape of the character lends itself to the use of a &quot;RT Inclined Cap LN&quot; for the left overlap and a &quot;LT Inclined Cap LN&quot; for the right overlap.</p>
      <div class="figure">
         <p align="center"><img align="bottom" src="graphics/fil_v04at62.gif"></p>
      </div>
      <div class="title_figure">Character Shape</div>
      <p class="para_division">When two characters are located side by side in a note or a dimension, the character spacing is relative to the overlap lines selected when the characters were originally created.</p>
      <p class="para_division">Improper spacing may result if the left and right overlap lines are not selected carefully.</p>
      <div class="figure">
         <p align="center"><img align="bottom" src="graphics/fil_v04at61.gif"></p>
      </div>
      <div class="title_figure">Spacing Between Characters</div>
      <p class="para_division">The system automatically shifts the characters relative to each other, depending on the overlap lines of the adjoining characters. Shift amounts are determined when you enter the overlap angle.</p>
      <p class="para_division">Following is a sample font source code font box.</p>
      <p class="para_division"><code>10*CHARACTER FONT SOURCE 20127, 64, 32, 80, 303, 409, 20, 10, 501.125,.125,.015748 60$,</code></p>
      <p class="para_division">Line 40 contains the overlap shift amounts. These values are numbered 1 through 3 starting from the left.</p>
      <div class="title_division">Shift Values</div>
      <p class="para_division">The following table depicts how the overlap lines fit together. The numbers shown represent which shift value is used to shift the second character closer to the first. Note that the relationships depicted are for a character spacing of zero.</p>
      <p class="para_division"> <img align="bottom" src="graphics/fil_v04at60.gif" border="0">   
      </p>
      <p class="para_division">In the following figure, the character &quot;e&quot; is automatically shifted to the left by the amount specified for overlap shift 1.</p>
      <div class="figure">
         <p align="center"><img align="bottom" src="graphics/fil_v04at59.gif"></p>
      </div>
      <div class="title_figure">Overlap Shift</div>
      <p class="para_division">The overlap shift used for a right inclined cap line followed by a vertical waist line is 1.</p>
      <p class="para_division">After selecting which overlap lines will be used, the lines making up the character can be selected.</p>
      <p class="para_division">If any of the lines selected extend beyond the boundary of the font box, the system displays an error message.</p>
      <div class="title_division">Character Editing</div>
      <p class="para_division">The lines causing this message (those at fault) will be trimmed to the boundary of the font box. If this error occurs, the resulting character may be unsatisfactory. In this case, the source code for the character can be edited, or the entire character can be redefined.</p>
      <p class="para_division">After all the lines have been selected, click OK. The system will create the font source code for the character and return to the Enter Keystroke menu.</p>
      <div class="title_division">Updating the Font Source File</div>
      <p class="para_division">To update the font source file, click OK when the Enter Keystroke menu displays. Otherwise, enter the name of the next character to be created.</p>
      <p class="para_division">The source code for a character will be added to the source file in the following format:</p>
      <p class="para_division">10CHAR, `T',*KEYSTROKE(CHARACTER NAME) 2064,3,2, *WIDTH OVERLAP SHIFT TYPES 30LM,32,127,LD,32,32,LM,64,127,LD,0,127, 40$,</p>
      <p class="para_division">Line 10 identifies the keystroke whose definition follows. The keystroke will always be enclosed in the single quotes following the character indicator CHAR.</p>
      <p class="para_division">Line 20 contains three values. The first value will always be the character width. The second and third values will be the left and right overlap line types.</p>
      <table border="0">
         <tr>
            <td valign="top" align="left"><img align="left" src="../graphics/note.gif" alt="Note" title="Note"></td>
            <td valign="bottom" align="left" width="100%">
               <div class="para_note">
                  <p class="para_note_body">  This line will only be included if the width type is Variable or Overlap. If the width type is Variable, the second and third values will be zero.</p>
               </div>
            </td>
         </tr>
      </table>
      <p class="para_division">Line 30 contains the information used to display the lines that make up the character. There are two commands: LM (Line Move) and LD (Line Draw).</p>
      <p class="para_division">The Line Move command specifies where in the font box a line begins; the Line Draw command specifies where a line ends. The two numbers following the commands are the absolute X and Y font box coordinates of these positions. Position (0,0) is at the intersection of the drop line and the left hand side of the font box. The units are in the font box's grid size.</p>
      <div class="figure">
         <p align="center"><img align="bottom" src="graphics/fil_v04at58.gif"></p>
      </div>
      <div class="title_figure">Font Box for Letter T and Coordinates</div>
      <table border="0">
         <tr>
            <td valign="top" align="left"><img align="left" src="../graphics/warning.gif" alt="Warning" title="Warning"></td>
            <td valign="bottom" align="left" width="100%">
               <div class="para_warning">
                  <p class="para_warning_body">  The lines are stored in the order in which they are selected. It is important that the first line selected does not have an end point at position (0,0). Failure to follow this rule will result in the improper display of the character.</p>
               </div>
            </td>
         </tr>
      </table>
      <p class="para_division">When all the desired characters have been created and the font source file has been filed, the character font can be added to the font object library.</p>
      <div class="title_division">Replace Font</div>
      <p class="para_division">You may have parts that have been created with one font, but you want to display them with another font. The Replace Font options allow you to do this. The fonts listed include the font number. In the top list box named Font to Replace, select the font that you want to replace. The name of the lower list box now changes from Add Font to Replace Font with... To replace the font, select the replacement font and clicking the OK or APPLY button.</p>
      <table border="0">
         <tr>
            <td valign="top" align="left"><img align="left" src="../graphics/warning.gif" alt="Warning" title="Warning"></td>
            <td valign="bottom" align="left" width="100%">
               <div class="para_warning">
                  <p class="para_warning_body"> Once you replace a font, the value of the original font name is lost. The replacement font will display instead for that font position. This change only occurs upon the next total regeneration of the display.</p>
               </div>
            </td>
         </tr>
      </table>
      <p class="para_division">You can set the default fonts for a new part file using customer defaults and also set the UGII-CHARACTER_FONT_DEFAULT environment variable located in the .ugii_env file. The first font in the list is the font defined by this environment variable. If this environment variable does not exist, then the first font listed is blockfont.</p>
      <p class="para_division">You can set the rest of the default fonts for a new part file that appear in the list box by defining the following variables in the customer defaults file.</p>
      <p class="para_division">Drafting_TextFont_a Drafting_TextFont_b Drafting_TextFont_c Drafting_TextFont_d Drafting_TextFont_e Drafting_TextFont_f Drafting_TextFont_g Drafting_TextFont_h Drafting_TextFont_i Drafting_TextFont_j Drafting_TextFont_k Drafting_TextFont_l Drafting_TextFont_m Drafting_TextFont_n</p>
      <p class="para_division">An example of the format in the customer defaults file is:</p><pre class="indent">Drafting_TextFont_a: poster</pre><p class="para_division">This causes poster to be the second default font in the list box. Setting font customer defaults can ensure that parts created at a customer site have the same basic fons available, and that they all have the same font number.</p>
      <p class="para_division">The numerical order for adding default fonts is as follows:</p>
      <ol type="1" start="1">
         <li>
            <p class="para_item">UGII-CHARACTER_FONT_DEFAULT or blockfont is the variable doesn't exist.</p>
         </li>
         <li>
            <p class="para_item">Drafting_TextFont_a if it exists.</p>
         </li>
         <li>
            <p class="para_item">Drafting_TextFont_b if it exist.</p>
            <p class="para_item">and so on...</p>
         </li>
         <li>
            <p class="para_item">Drafting_TextFont_n if it exists. </p>
         </li>
      </ol>
   </body>
</html>