SETUP/INSTALLATION PROCEDURES


CHECK LIST

Pre-Installation Requirements
Program Executables
Support Files
Font Files
License File

Return to Table of Contents


Pre-Installation Requirements

Prior to installing the software, make sure to determine and write down the following:

  • Location of Anvil-5000 execute directory
  • Location of Anvil-5000 security file
  • Location of Anvil-5000 library directory
  • Location of GRAPL-IV execute directory
  • Each of the items in the list above can be easily determined from the settings in the Anvil-5000 config.a5k file. The config.a5k file will be located in the directory pointed to by the $cfg environment variable. This file controls the settings for the various directories. Note the values for EXEDIR (Anvil-5000 execute directory), LIBRDIR (Anvil-5000 library directory - font storage), and GPLEDIR (GRAPL-IV execute directory).

    Return to Check List

    Program Executables

    There are two compiled GRAPL-IV executable programs that must be placed in the GPLEDIR directory. The first is the FONT MAGIC program itself which is named fntmagic.gre. The second program is required due to the use of user defined entities. This program is named cnvuds.gre. Both of these files must be placed in the GRAPL-IV execute directory. The default location for a DOS system is C:\ANVIL5K\GRAPL4.

    Return to Check List

    Support Files

    To enable the Edit Text function (3.1 from the FONT MAGIC main menu), you must have copied the appropriate adgedit.bat file to the GPLEDIR directory. This file controls the activation of a system based editor to edit the text strings that you create. There are separate versions of this file depending on your basic OS type. For UNIX platforms, use the version found in the UNIX subdirectory on the software diskette. For DOS/NT platforms use the version found in the DOS subdirectory of the software diskette. No matter which platform you have, you will want to edit this file and verify that it brings up the editor of your choice. For example on the DOS platform you may want to activate the standard DOS editor named edit. On the NT platform you will most likely want to activate the NOTEPAD editor. The UNIX platform version is set to activate the vi editor. If your location has a special editor that will accept command line arguments such as the filename of the file to edit, then you can change the adgedit.bat file to activate your particular editor.

    Please Note: The UNIX platform requires that the file permissions are set to execute (-r-xr-xr-x or 555) at a minumum for proper function.

    Return to Check List

    Font Files

    The program currently is capable of reading AutoCAD® release 10, 11, and 12 compiled font (or shape) files. Files of this type have a ".SHX" extension. These font files must be placed in the LIBRDIR directory. The production version of FONT MAGIC comes with several hundred AutoCAD font files. The program will see any files with a ".SHX" extension in the LIBRDIR directory. There are also several sources of AutoCAD font files from an install of AutoCAD itself to several places on the World Wide Web (Internet).

    Return to Check List

    License File

    To enable the LOAD FONT DEFN function (1.1 from the FONT MAGIC main menu), you must have a license file with a valid password. The password is tied to the password in the secure.a5k file on your machine. To receive your password you will need to contact ADG (see How to Contact ADG Technical Support).

    Return to Check List


    STARTING THE PROGRAM

    The program can be activated from the Anvil-5000 main menu by entering the following key sequence, 7.2.1, and then entering the program name, fntmagic . The program's main menu will appear in the standard menu area, as well as a title displaying the version and copyright, and finally a tutorial section giving a brief description of each of the choices from the main menu.

    The main menu will appear as such:

        FONT PROCESS OPTIONS
     1  FONT MANAGEMENT
     2  CREATE TEXT
     3  MODIFY TEXT
     4  MOVE TEXT
     5  DELETE TEXT

    Each of these selections is described in this manual:

    1 Font Management
    2 Create Text
    3 Modify Text
    4 Move Text
    5 Delete Text

    Return to Table of Contents


    FONT MANAGEMENT

    FONT MAGIC provides a wide range of tools for the creation and manipulation of text created using external font definitions. The management of these fonts is encapsulated in the FONT MANAGEMENT menu options shown below:

        FONT MANAGEMENT
     1  LOAD FONT DEFN
     2  DELETE FONT DEFN
     3  SET CURRENT FONT
     4  CHARACTER AVAILABILITY
     5  REGEN FONT MAGIC TEXT
     6  A5K TEXT TO FONT MAGIC
     7  FONT MAGIC TO A5K TEXT
     8  QUERY TEXT PARAMETERS
     9  MODALS

    Choose the Font Management option you wish to activate. Each of these choices either have submenus or are followed by other user interactions.

    Load Font Definition
    Delete Font Definition
    Set Current Font
    Character Availability
    Regen FONT MAGIC Text
    A5K Text to FONT MAGIC
    FONT MAGIC to A5K Text
    Query Text Parameters
    Modals

    Return to Starting the Program


    Load Font Definition

    The program currently provides for the use of AutoCAD release 10,11 and 12 compiled shape, or font files, as input to generate the graphics for text fonts. These files have the extension of ".SHX". They are readily available from several sources such as AutoCAD itself, the Internet, Compuserve, etc. The program only needs the compiled file - the source code file ( "*.SHP" ) is NOT required.

    The program will prompt the user with the following menu choices for font file format selection. There are three choices of which only the first, AutoCAD font definition, is currently available. The menu will appear as shown:

        FONT FILE FORMAT
     1  AUTOCAD SHX
     2  TRUETYPE TTF
     3  ANVIL-5000 CST

    The font files MUST be placed in the directory pointed to by the LIBRDIR variable. The user will be prompted to select the font file from a list of all available fonts. The program will NOT allow the user to load the same named font twice. This is a case sensitive option (ie. ROMANS and romans are different). The user can scroll up/down through the list of available font files and select the required font by pressing the ENTER key.

    If the font has already been loaded into the current part the user will receive the following message:

     A FONT BY THIS NAME HAS ALREADY BEEN LOADED
     PLEASE SELECT A DIFFERENT FONT
    

    At this point the program will open the font file and begin reading and processing the data. It will either update or create a Font Master List Entity and then create a Character List Entity. It first reads in each of the key mappings, followed by reading in the data for each key. As the data for each key is read in - a User Defined Entity (UDE) is created for that key. This particular UDE is called the Character Display Definition Entity (Type 63, Form 32, Subform 3). Only the keys in the printable ASCII range ( decimal 032 through 127 ) will be kept. The program does not currently support the AutoCAD use of %% which allows a user to create extended characters. After reading in the data for each key, the program must calculate the width in strokes of each character. This can be a long process - but it only needs to be done once. Without this width calculation step the program would be unable to create justified text. There is currently a maximum limit of 100 fonts per Anvil part. This is an arbitrary limit which could change in future releases if user demand warrants it.

    Should the user attempt to load an AutoCAD release 13 or greater compiled shape file, the program will issue the following message:

     AUTOCAD REL 13 FONT FILE NOT SUPPORTED YET
    

    Return to Font Management


    Delete Font Definition

    Font definitions can be removed from a part using this option. Use of this option requires that NO FONT MAGIC text strings are currently using the font to be removed or deleted. Attempts to do so will force the program to prompt the user stating that the font is in use.

    The user will be presented with a menu selection list of all of the currently loaded fonts. The user is to select the font definition to be deleted from this list.

    NOTE: The currently selected font is displayed in the list surrounded by "[]"'s. If the currently selected font definition is the font to be removed the user will be prompted for confirmation:

     CURRENT FONT SELECTED FOR DELETION - CONTINUE?   YES | NO
    

    The program will verify that no FONT MAGIC text entities currently use this font definition prior to its removal. If any FONT MAGIC text does use this font the user will be prompted:

     ERROR: EXISTING CHARACTERS ARE USING THIS FONT
            YOU MUST FIRST CONVERT ALL CHARACTERS
            USING THIS FONT TO ANOTHER FONT
    

    If no characters are using this font definition, the program will remove all of the Character Display Definition Entities and the Character List Entity. The program will also update the Font Master List Entity by removing the pointer to the now non-existant character list entity.

    If the user had selected to remove the currently selected font definition, the program will prompt the user to select a new default FONT MAGIC font (see Set Current Font ):

     YOU HAVE DELETED THE CURRENT FONT. YOU
     WILL BE ASKED TO SELECT ANOTHER FONT.
    

    unless there are no more fonts loaded in which case the program will issue the following message:

     THERE ARE NO FONTS LOADED.
     PLEASE LOAD A FONT FIRST.
    

    Return to Font Management


    Set Current Font

    The program will provide a list of loaded fonts from which to choose. The currently selected font is shown with "[]"'s around the name. The example below shows that there are 5 loaded fonts with the default currently set to a font named xxxxx.

        INTERNAL FONT SELECTION
     1  romans
     2  arcsten
     3  arcti-o
     4  [mac]
     5  scriptc
    

    After selecting the desired font, the program will update the Font Master List Entity and then retrieve the pointers to the Character Display Definition Entities from the Character List Entity for the selected font.

    Return to Font Management


    Character Availablility

    This option allows the user to display all of the defined/undefined characters in the current font in the range from a SPACE (" " dec 32) to a tilda ("~" dec 126). Selecting this option will active a second level menu. This second level menu is shown below:

        CHARACTER DISPLAY MODE
     1  AVAILABLE
     2  NOT AVAILABLE
    

    The choices are fairly self explanatory. Picking #1 will display for the user the characters that ARE defined for this font. The display will show the font name at the top followed by all of the characters or keys that are defined for the current font.

    NOTE: The SPACE character is the first character in the list and therefore you should see a space at the beginning of the first line. Most AutoCAD font files have the space character defined.

    Picking #2 will display for the user the characters, or keys, that are NOT defined for this font. Unlike the Anvil-5000 character sets, if a character, or key, is undefined for the current font the program will replace that character with a box. The box is retained as a place holder for the character. The string retains the information for the missing character in case this string is to be converted back to an Anvil-5000 NOTE entity or converted to a different external font in the future.

    Return to Font Management


    Regen FONT MAGIC Text

    This option will prompt the user for an existing FONT MAGIC text string to be regenerated. Regeneration is useful in a few special cases. First, since the user can move individual characters in the string without affecting the string, the string may become fragmented visually. In this case, simply run FONT MAGIC and select the Regen FONT MAGIC Text option. The string will be regenerated as it was originally created. The current font selection will not be used during regeneration. The program will save off the current selection, call up the font for the selected string being regenerated, regenerate the string, and then return the current font selection to that which was previously set.

    Another use of this option would be to convert an existing FONT MAGIC string to line segments for 3D projection or some other use. After creating and manipulating a FONT MAGIC string to the point where you like its looks, turn on the Line Segment Toggle and then regenerate the string. The program will prompt the user in this case with the following:

     REGENERATION WILL CREATE LINE SEGMENTS - CONTINUE? :   YES | NO
    

    An affirmative response will recreate the text string as line segments and delete the FONT MAGIC text string.

    Return to Font Management


    A5K Text to FONT MAGIC

    The program can convert existing Anvil-5000 NOTE entities into FONT MAGIC text strings using the currently selected font. The program will prompt the user to select an existing NOTE entity:

     SELECT THE ANVIL-5000 NOTE ENTITY
    

    The user may select more than one Anvil-5000 NOTE entity for conversion, after which he/she must hit OP-COMP. The program will begin to convert each of the selected strings to the currently selected FONT MAGIC font. After each NOTE entity is selected, the program will prompt the user for the fate of the original NOTE entity:

     DELETE THE ORIGINAL TEXT ENTITY?   YES | NO
    

    An affirmative response will result in the removal of the NOTE entity.

    All character parameters are retained when converting from the Anvil-5000 NOTE entity to a FONT MAGIC string. These include:

  • Character Height
  • Character Spacing
  • Character Angle
  • Character Aspect
  • Character Down Spacing
  • Text Justification
  • Text Adjustment

    The character spacing, character angle, and character aspect are not used but are preserved in the FONT MAGIC text string entity for use if/when converting back to an Anvil-5000 NOTE entity.

    Return to Font Management


    FONT MAGIC to A5K Text

    You can convert any FONT MAGIC text string to an Anvil-5000 note entity using this menu selection. The system will prompt you to select the Font Magic string to convert:

     SELECT A FONT MAGIC TEXT STRING
    

    After a selection has been made the system will retrieve the following information from the FONT MAGIC text string for use in creating the Anvil-5000 NOTE entity:

  • Character Height
  • Character Spacing
  • Character Angle
  • Character Aspect
  • Character Down Spacing
  • Text Justification
  • Text Adjustment

    The program will then create a NOTE entity with the characteristics found in the FONT MAGIC text. After the NOTE is created, the user will be prompted for the fate of the FONT MAGIC text string:

     DELETE THE ORIGINAL FONT MAGIC TEXT STRING?   YES | NO
    

    An affirmative response will result in the removal of the FONT MAGIC text string entity.

    Return to Font Management


    Query Text Parameters

    This option allows the user to query the system for information about a selected FONT MAGIC string or character. The user will be presented with the following menu selection list:

        TEXT SELECTION MODE
     1  CHARACTER
     2  STRING
    

    If the user requires information on a string entity, the following prompt will appear:

     SELECT A FONT MAGIC TEXT STRING
    

    This option allows for only one string to be selected at a time.

    For information on individual characters, the user will be presented with the familiar entity selection menu:

        ENTITY SELECTION
     1  SINGLE SELECT
     2  CHAIN SELECT
     3  INSIDE RECTANGLE
     4  OUTSIDE RECTANGLE
     5  ALL DISPLAYED
     6  INSIDE POLYGON
     7  OUTSIDE POLYGON
     8  SEL BY CHARACTERISTIC
    

    The user can select one or several characters for interrogation.

    After the selection has been completed, the program will bring up a display list showing the information for the type of selection made (ie - string or character). Examples of each are shown below:

                STRING INFORMATION
     String Seq No: 507
     Character List Seq No: 100
     Font Type: AutoCAD Shape
     Font Name: arcsten
     Font Description:
     (ARCSTEN)
     String Justification: C
     Line Justification: L
     Number of Characters: 25
     Location - X: 3.0000 Y: 4.0000 Z: 0.0000
     Character Size:     0.125000
     Character Spacing:  1.100000
     Character Angle:    0.000000
     Character Aspect:   1.000000
     Character Down Spc: 1.500000
    
    
                  CHARACTER INFORMATION
     Character: S
     Character Seq No: 523  Display Seq No: 524
     String Seq No:    507  Display Defn Seq No: 153
     Character holds position 9 of 25
     Location - X: 2.6232 Y: 4.0000 Z: 0.0000
     Character Size:     0.125000
     Character Spacing:  1.100000
     Character Angle:    0.000000
     Character Aspect:   1.000000
     Character Down Spc: 1.500000
    

    Return to Font Management


    Modals

    There are only two modals currently associated with FONT MAGIC. The first, arc accuracy, controls the number of segments that arcs will be divided into when converting an external font definition into strokes used by the user defined entities. The larger this value is the longer it will take to display the character(s). The default value is set to 5. The maximum value is 20. The second parameter, line segment toggle, is used to turn on/off the ability to create line segments in place of a graphic text character. A setting of anything other than zero (0) will turn line creation on. The default setting is off or zero (0).

    The program will display the following data input parameter list:

     FONT MAGIC PARAMETERS
     ARC ACCURACY        =5
     LINE SEGMENT TOGGLE =0
    

    Return to Font Management


    CREATE TEXT

    Basic Text Creation

    Entering this option immediately places the user into text input mode. The program will display an informative prompt after which the user is to enter the text string to be created. The prompt, while getting input from the user, also shows the current settings for the justification, the character height/size, the line spacing, and the current FONT MAGIC font name.

     [J:C H:0.1250 LS:1.5000 F:romans] ENTER TEXT:
    

    There is a user entry limit of 800 characters just as there is for Anvil-5000 NOTE entities. After entering the text to be created the user must press OP-COMP to complete the entry. The program will then prompt the user for the placement of the text. The program will utilize all of the Anvil-5000 character settings in place at the time. In other words, if justification is set to FITTED, then the program will prompt for a start and end position, and so on. After the user has positioned the text, the program will begin to create the text string entity and the character instance entities required to display the text.

    NOTE: In the case of FITTED text, the user can create reversed and upside down text by selecting a start point that is larger in X than the end point. This feature was added to allow the user to create text for negatives. In the event that this "reversed" text is converted back to an Anvil-5000 NOTE entity, the NOTE entity will appear normal.

    NOTE: HP Users!!!! There is a verified bug in using GRAPL-IV to create FITTED text on the HP platform. ADG advises and warns HP Users not to use this program with fitted text as the results could corrupt your parts.

    Unmapped Characters

    In the event that a character, or characters, in the entered string are not defined in the current font, the program wil prompt the user with the following:

     REQUESTED TEXT HAS NON-MAPPABLE CHARACTERS - CONTINUE?   YES | NO
    

    An affirmative response will tell the program to create the characters that it can, and replace those undefined characters with a placement holder. The placement holder appears as a box with a diagonal line.

    Line Segment Creation

    If the user had previously changed the setting for the Line Segment Toggle, the program will create line segments in place of the character instance entities. A string entity will NOT be created. This applies to unmapped characters as well.

    Return to Starting the Program


    MODIFY TEXT

    This option will activate a menu of choices to allow the user to edit the text string, change the font, and modify certain parameters. The menu is as shown below:

        MODIFY FONT OPTIONS
     1  EDIT STRING
     2  CHANGE FONT
     3  CHANGE PARAMETERS
    

    After selecting any one of these options the program will prompt the user to select the desired FONT MAGIC text string:

     SELECT A FONT MAGIC TEXT STRING
    

    After a string has been selected the program will continue with the modify option chosen. These are discussed below.

    Edit String

    This selection requires that the adgedit.bat file has been placed in the GPLEDIR directory prior to running FONT MAGIC, along with any permissions as might be required for proper execution. The program will retrieve the text from the selected FONT MAGIC string entity, place this text into a temporary file (named fntmagic) in the INTFDIR directory. From here the program will execute the adgedit.bat program and pass to it the temporary file which has the text from the selected string entity. Running adgedit.bat will activate the user's editor of choice where changes can be made to the text. After the user has made changes to the string in the activated editor, and filed and exited that editor, execution will return to the Font Magic program. At this point some basic checks are made to ensure that there is still some text left to create. In the event that the string has been completely deleted, the program will make no changes and will give the user the following message:

     NO CHARACTERS LEFT IN STRING AFTER EDIT
     STRING UNCHANGED - OPERATION ABORTED
    

    Deleting a string is better accomplished in the Delete Text option of the program. Finally, the original character display entities will be deleted, the new character instances will be created, and the string entity will be updated for the new pointers to the character instance entities.

    Change Font

    The user will be provided with the list of available fonts from which to choose. After selection of an alternate font, the program will delete the original character instance entities, create new instance entities for the selected font, and finally update the string entity to reference the new character instance entity sequence numbers. Internally, the program will change to the selected font, create the new characters, and then return to the default font in place prior to this operation. In short, the currently selected font will NOT change after this operation.

    Change Parameters

    This selection will bring up a parameter entry menu with the values from the selected string as shown:

     TEXT PARAMETERS
     HEIGHT       =0.1250
     SPACING      =1.1000
     ASPECT RATIO =1.0000
     DOWN SPACE   =1.5000
     TEXT ANGLE   =0.0000
    

    Only the HEIGHT and DOWN SPACE values will have any effect on the FONT MAGIC text at this time. The other values are retained and available to enable the user to make changes that would be reflected should the string be converted to an Anvil-5000 NOTE entity. After the changes have been made to the data entry screen, the program will delete the original character instance entities, create the new entities based on the revised parameters, and update the string entity with the new character instance entity sequence numbers.

    NOTE: The program will convert any negative values to positive.

    Return to Starting the Program


    MOVE TEXT

    The program provides a method to change the placement of the text. Since the graphics for FONT MAGIC text is made up of User Defined entities, the standard TRD mechanism in Anvil-5000 can not be used. The program will allow the user to move an entire text string or individual characters. The program will display the following menu selection for text movement:

        TEXT SELECTION MODE
     1  CHARACTER
     2  STRING
    

    If the user selects 2 STRING, the following prompt will appear:

     SELECT A FONT MAGIC TEXT STRING
    

    This option allows for only one string to be selected at a time. For translation of individual characters, the user will be presented with the familiar entity selection menu:

        ENTITY SELECTION
     1  SINGLE SELECT
     2  CHAIN SELECT
     3  INSIDE RECTANGLE
     4  OUTSIDE RECTANGLE
     5  ALL DISPLAYED
     6  INSIDE POLYGON
     7  OUTSIDE POLYGON
     8  SEL BY CHARACTERISTIC
    

    The user can select one or several characters for translation. After the selection has been completed, the program will bring up a second menu offering a movement method:

        SIMPLE MOVE MODE
     1  SCREEN POSITIONS
     2  SELECT POINTS
     3  DELTA
    

    Screen Positions

    The program will prompt the user for a base screen position:

     INDICATE BASE POSITION
    

    followed by a target screen position:

     INDICATE TARGET POSITION
    

    Select Points

    The program will prompt the user to select an existing point as a base position:

     SELECT BASE POINT
    

    followed by a target point:

     SELECT TARGET POINT
    

    Delta

    The program will display a data entry screen asking for the change in X,Y, Z values to be applies to the current position of the selected entities:

     MANIPULATION
     X DELTA =0.0000
     Y DELTA =0.0000
     Z DELTA =0.0000
    

    After the user has completed one of these methods, the program will apply the resulting vector to each of the character instance entities.

    Return to Starting the Program


    DELETE TEXT

    The user can delete FONT MAGIC text strings with this option. The program will prompt the user for a string selection:

     SELECT A FONT MAGIC TEXT STRING
    

    The program will then remove the character instance entities and the string entity from the part. The user will be prompted for the next string to delete. After deletion of all desired strings is complete, simply enter OP-COMP or REJECT.

    Return to Starting the Program


    APPENDICES

    Appendix A - User Defined Entity Definitions
    Appendix B - Error Messages
    Appendix C - Known Problems

    Return to Table of Contents


    APPENDIX A

    User Defined Entity Definitions

    The following sections give a detailed description of the User Defined Entity types used by this program. All of the FONT MAGIC entity types are Anvil-5000 type 63 and form 32. The FONT MAGIC program further defines subforms 1 through 5 for the use of this program.

    Font Master List Entity
    Character List Entity
    Character Display Definition Entity
    Font String Entity
    Character Instance Entity

    Return to Appendices


    Font Master List Entity

    Type 63 - Form 32 - Subform 1

    Provides list of pointers to all Character List entities (T63/F32/Subform 2).

     IDEF(1) = Type 64 Display Entity Pointer (Not Used Here)
     IDEF(2) = ???? (Reserved by MCS)
     IDEF(3) = ???? (Reserved by MCS)
     IDEF(4) = ???? (Reserved by MCS)
     IDEF(5) = Subform Number, 1
     IDEF(6) = Number of External Fonts, FNTCOUNT
     IDEF(7) = Index to currently active font, CURRINDX
     IDEF(7+1) = Pointer to Type 63, Form 32, Subform 2
                 External Font Character List Entity
     IDEF(7+2) = Font Name (20 Chars Max)
       :
       :
     IDEF(7+6) = Font Name (20 Chars Max)
       :
       :
     IDEF(7+((NUMXFNTS-1)*6)+1) = Ptr to T63/F32/Subform 2
                                  Character List Entity
     IDEF(7+((NUMXFNTS-1)*6)+2) = Font Name (20 Chars Max)
       :
       :
     IDEF(7+((NUMXFNTS-1)*6)+6) = Font Name (20 Chars Max)
    

    Return to Appendix A


    Character List Entity

    Type 63 - Form 32 - Subform 2

    Provides a list of pointers to all Character Display Definition entities (T63/F32/Subform 3) in this font.

     IDEF(1) = Type 64 Display Entity Pointer (Not Used Here)
     IDEF(2) = ???? (Reserved)
     IDEF(3) = ???? (Reserved)
     IDEF(4) = ???? (Reserved)
     IDEF(5) = Subform number, 2
     IDEF(6) = Ptr to Font Master List Ent (T63/F32/Subform 1)
     IDEF(7) = Font Type, 1=AutoCAD,2=TrueType,3=Anvil-5000
     IDEF(8) = Font Name (20 Chars Max)
       :
       :
     IDEF(12) = Font Name (20 Chars Max)
     IDEF(13) = Num of Defined Characters for this Font,NUMKEYS
     IDEF(13+(I*2)-1) = First Character Value (ie "A" = 60)
     IDEF(13+(I*2))   = Ptr to Char Display Ent
       :                (T63/F32/Subform 3)
       :
     IDEF(13+(NUMKEYS*2)-1) = Last Character Value
     IDEF(13+(NUMKEYS*2)) = Ptr to Char Display Ent
                            (T63/F32/Subform 3)
    

    Return to Appendix A


    Character Display Definition Entity

    Type 63 - Form 32 - Subform 3

    Provides information on an individual character for a given font. Defintion structure varies based on the font type.

    AutoCAD Structure:
     IDEF(1) = Type 64 Display Entity Pointer (Not Used Here)
     IDEF(2) = ???? (Reserved)
     IDEF(3) = ???? (Reserved)
     IDEF(4) = ???? (Reserved)
     IDEF(5) = Subform number, 3
     IDEF(6) = Ptr to Character List Ent (T63/F32/Subform 2)
     IDEF(7) = Decimal value of Character
     IDEF(8) = Fonttype=1 (1=AutoCAD,2=TrueType,3=Anvil-5000)
     IDEF(9) = Vector lengths ABOVE the baseline, iabove
     IDEF(10) = Vector lengths BELOW the baseline, ibelow
     IDEF(11) = Vector lengths WIDE, iwide*1000
     IDEF(12) = Number of Definition Bytes, icnt
     IDEF(13 through 13+((icnt+3)/4)-1 ) = Definition bytes
                                           packed 4 per word
    
    TrueType Structure:
     Not currently defined.
    
    Anvil-5000 Character Set Structure:
     Not currently defined.
    

    Return to Appendix A


    Font String Entity

    Type 63 - Form 32 - Subform 4

    Provides pointers to each Character Instance entity (T63/F32/Subform Type 5) in a string of characters.

     IDEF(1) = Type 64 Display Entity Pointer (Not Used Here)
     IDEF(2) = ???? (Reserved)
     IDEF(3) = ???? (Reserved)
     IDEF(4) = ???? (Reserved)
     IDEF(5) = Subform number, 4
     IDEF(6) = Ptr to Character List Ent (T63/F32/Subform 2)
     IDEF(7) = Bits 1-0 Text justification ( from IMODE(142) )
               0 - left
               1 - center
               2 - right
               3 - fitted
               Bits 3-2 Line justification ( from IMODE(225) )
               0 - left
               1 - center
               2 - right
     IDEF(8) = Number of characters in the string, NUMCHAR
     IDEF(8+I) = First 4 characters  (800 maximum)
        :
     IDEF(8+((NUMCHAR+3)/4))   = Last 4 characters
     IDEF(8+((NUMCHAR+3)/4)+1) = Pointer to 1st Char Instance Ent
        :
     IDEF(8+((NUMCHAR+3)/4)+NUMCHAR) = Ptr to last Char Instance Ent
    
     DDEF(1) = Starting/center/end X location
     DDEF(2) = Starting/center/end Y location
     DDEF(3) = Starting/center/end Z location
     DDEF(4) = Ending X location if fitted text
     DDEF(5) = Ending Y location if fitted text
     DDEF(6) = Ending Z location if fitted text
    
     NOTE:  DDEF(7) - DDEF(11) are the overall string defaults.
            Individual characters may have different values.
     DDEF(7) = Text Angle [ RMODE(39) ]
     DDEF(8) = Character Size [ RMODE(25) ]
     DDEF(9) = Character Spacing [ RMODE(45) ]
     DDEF(10)= Character Aspect Ratio [ RMODE(46) ]
     DDEF(11)= Character Down Space [ RMODE(47) ]
    

    Return to Appendix A


    Character Instance Entity

    Type 63 - Form 32 - Subform 5

    Provides pointers to Character Display Definition entity (T63/F32/Subform 3) and the type 64 User Defined Entity display list entity. The pointer in IDEF(6), Char String Ent, is needed so that we can ask the user to select a string and then easily go back and highlight the entire string. The pointer in IDEF(7) is needed to actually display the entity. The entity definition also holds values in DDEF for individual character sizing, etc. which are documented here for information purposes only as all of these features, with the exception of position are not yet available.

     IDEF(1) = Type 64 Display Entity Pointer
     IDEF(2) = ???? (Reserved)
     IDEF(3) = ???? (Reserved)
     IDEF(4) = ???? (Reserved)
     IDEF(5) = Subform number, 5
     IDEF(6) = Ptr to Font String Ent (T63/F32/Subform 4)
     IDEF(7) = Ptr to Char Display Defn Ent (T63/F32/Subform 3)
               If < 0, then this character value is unmapped,
               i.e. it does not exist in the current font defn
    
     DDEF(1) = X position
     DDEF(2) = Y position
     DDEF(3) = Z position
     DDEF(4) = Text Angle [ RMODE(39) ]
     DDEF(5) = Character Size [ RMODE(25) ]
     DDEF(6) = Character Spacing [ RMODE(45) ]
     DDEF(7) = Character Aspect Ratio [ RMODE(46) ]
     DDEF(8) = Character Down Space [ RMODE(47) ]
    

    Return to Appendix A


    APPENDIX B

    Error Messages

     ERROR - COULD NOT MATCH STRING FONT
     USING CURRENTLY SELECTED FONT
    

    While changing one of the text parameters, the program was unable to match the font of the existing string. It defaults to the currently selected font.


     ERROR RETRIEVING SECURITY FILE DIRECTORY PATH
     ACTIVATING PROGRAM IN DEMO MODE
    

    The program was unable to extract the value of the EXEDIR variable from the setting in the config.a5k file. Check to make sure that the config.a5k file exists and that there is an entry for EXEDIR. Check the value of the variable in your current Anvil-5000 session.


     ERROR OPENING SECURITY FILE
     ACTIVATING PROGRAM IN DEMO MODE
    
     ERROR READING SECURITY FILE
     ACTIVATING PROGRAM IN DEMO MODE
    
     ERROR CLOSING SECURITY FILE
     ACTIVATING PROGRAM IN DEMO MODE
    

    Each of these messages results in DEMO mode activation. There was some problem with opening the secure.a5k file for READ-ONLY. Check to ensure that the file exists and is capable for READ access by the user which it must be for Anvil-5000 to run.


     ERROR RETRIEVING KEY FILE DIRECTORY PATH
     ACTIVATING PROGRAM IN DEMO MODE
    

    The program was unable to extract the value of the EXEDIR variable from the setting in the config.a5k file. Check to make sure that the config.a5k file exists and that there is an entry for EXEDIR. Check the value of the variable in your current Anvil-5000 session.


     KEY FILE DOES NOT EXIST IN DIRECTORY PATH
     ACTIVATING PROGRAM IN DEMO MODE
    

    Unable to locate the fntmagic.a5k file in the EXEDIR. Check to ensure that the file exists and the user has READ access to this file.


     ERROR OPENING KEY FILE
     ACTIVATING PROGRAM IN DEMO MODE
    
     ERROR READING KEY FILE
     ACTIVATING PROGRAM IN DEMO MODE
    
     ERROR CLOSING KEY FILE
     ACTIVATING PROGRAM IN DEMO MODE
    

    Each of these messages relates to the ability of the program to access the fntmagic.a5k file in the EXEDIR. Check to make sure that the user has READ access to the file and/or directory, and that the file does exist.


     KEY LENGTHS DO NOT MATCH
     ACTIVATING PROGRAM IN DEMO MODE
    
     KEY VALUES DO NOT MATCH
     ACTIVATING PROGRAM IN DEMO MODE
    

    The value in the fntmagic.a5k key file is invalid. Please check the spelling of the password as supplied by ADG.


     ERROR: EXISTING CHARACTERS ARE USING THIS FONT
            YOU MUST FIRST CONVERT ALL CHARACTERS
            USING THIS FONT TO ANOTHER FONT
    

    The program will not allow the removal/deletion of a font definition that is in use. You must either convert all existing strings with that font to another font or to Anvil-5000 text, or delete any existing strings which use that font. Then you can delete the font definition.


     ERROR - LIMIT OF 3 NESTED SUBSHAPE
             REFERENCES. SKIPPING.
    

    The program limit for nested subshapes in an AutoCAD font is 3. Any subshapes after that are ignored.


     ERROR RETRIEVING EDIT COMMAND DIRECTORY PATH
    

    The program has a problem retrieving the value of the GPLEDIR variable. Check the setting of this variable in the current Anvil-5000 session.


     ERROR RETRIEVING TEMP FILE DIRECTORY PATH
    

    The program is attempting to retrieve the value of the APPLDIR variable. Check the setting of this variable in the current Anvil-5000 session.


     ERROR OPENING TEMP FILE FOR DELETION
    
     ERROR CLOSING TEMP FILE FOR DELETION
    

    The temp file is opened and then closed for deletion to ensure that the next use of the edit function does not have to deal with a pre-existing file. Check the APPLDIR for the access by the current user, and check to see if there are any permission problems with files in this directory. The temp file will be named fntmagic with an extension as specified in your extend.a5k file for file type #46 GRAPL I/O File #1.


     ERROR OPENING TEMP FILE FOR WRITE
    
     ERROR WRITING STRING TO TEMP FILE FOR EDIT
    
     ERROR CLOSING TEMP FILE BEFORE EDIT
    

    The program experienced problems in opening, writing to, or closing the fntmagic temp file used to edit an existing string. The temp file will be located in the directory associated with the APLPDIR variable. Check the setting of the APPLDIR variable in the current Anvil-5000 session. Check the permission settings on the directory as compared to the current user's access level. Check to see if the drive/file system is full.


     ERROR EXECUTING EDIT COMMAND
    

    The adgedit.bat batch/script file caused an error. Make sure that the file was properly loaded. Check the execute permissions on the file especially on a UNIX system.


     ERROR OPENING TEMP FILE FOR READ
    
     ERROR READING MODIFIED TEMP FILE
    

    The program was unable to open or read the temp file containing the editted string. Check the contents of the adgedit.bat batch/script file. There should be no more than a call out to a system editor with the passing of a single argument (the temp file name).


     NO CHARACTERS LEFT IN STRING AFTER EDIT
     STRING UNCHANGED - OPERATION ABORTED
    

    The program will NOT change a string that has been editted down to NO characters. Use the DELETE TEXT option from the main menu to delete a text string.


     ERROR - COULD NOT MATCH STRING FONT
     USING CURRENTLY SELECTED FONT
    

    The program was unable to match the font of the existing string. It defaults to the currently selected font.


     LIMIT OF 100 FONTS REACHED - LOAD ABORTED
    

    There is currently a limit of 100 fonts that may be loaded at any given time. The program will not allow for a new font until one or more font definitions have been removed from the part.


     ERROR RETRIEVING FILE DIRECTORY PATH
    

    The program was unable to extract the value of the LIBRDIR variable from the settings in the config.a5k file. Check to make sure that the config.a5k file exists and that there is an entry for EXEDIR. Check the value of the LIBRDIR variable in your current Anvil-5000 session.


     FONT MAGIC: FILE SELECTION ERROR
     xxxxxxxx
    

    The xxxxxxx will be replaced with a filename or file specification. The program had problems retrieving/opening the user selected font file. Check to ensure that the user has read permisions to the file and/or the directory.


     FONT MAGIC: ERROR READING FONT FILE
     xxxxxxxx
    

    The xxxxxxx will be replaced with a filename or file specification. An error was encountered while reading through the font file. Reload the font file from the source location and try again.


     SELECTED ENTITY IS INVALID FOR THIS OPERATION
    

    The user has selected something other than a NOTE entity (Type 15 Form 13). The program will currently ONLY convert NOTE entities to Font Magic text.


     ERROR - INVALID POINTER TO CHARACTER LIST ENTITY
    

    An error has occured while reading in the font data from the part database. This error and the part it occured in should be reported to ADG for investigation.


     ERROR READING FONT FILE
     xxxxxx
    

    A general error has occured while reading or attempting to read the font file. Check to see that the font file is not corrupt. Try reloading the font file from the original source media. Check the permisions on the file against those of the current user.


     AUTOCAD REL 13 FONT FILE NOT SUPPORTED YET
    

    The program currently only supports AutoCAD release 10-12 font files.


     ERROR CLOSING FONT FILE
    

    An error has ocured after reading the entire font file. Check for system and/or network malfunctions. Check to ensure there is adequate drive/partition space.


     ERROR IDENTIFYING MASTER LIST ENTITY
    

    An error has occured while retrieving the master list entity (T63/F32/Subform 1) from the part database. This error and the part it occured in should be reported to ADG for investigation.

    Return to Appendices


    APPENDIX C

    Known Problems

    HP-UX:

    The ability to create FITTED text using GRAPL-IV is a known and submitted bug. Creation of FONT MAGIC text with the FITTED justification will not be a problem. This bug will ONLY affect the conversion of FONT MAGIC text to Anvil-5000 text. Users on this platform should avoid conversion of FONT MAGIC text in FITTED justification mode to Anvil-5000 text.

    Return to Appendices