home *** CD-ROM | disk | FTP | other *** search
/ ftp.update.uu.se / ftp.update.uu.se.2014.03.zip / ftp.update.uu.se / pub / rainbow / msdos / latrobe / f / fancyexe.arc / FEDIT.DOC < prev    next >
Text File  |  1985-10-11  |  14KB  |  369 lines

  1.  
  2.                FEDIT Font Editor
  3.  
  4.                  Version 2.01
  5.                J Anthony Movshon
  6.                February 22, 1985
  7.  
  8.  
  9.    FEDIT is a special-purpose editor to create and edit font files which
  10. are  used with the LA50 and LA100 printers' graphics mode output.  It is
  11. based on the CP/M program MAKFNT by A.    Christopher Hall.  FEDIT  allows
  12. the  user  to  work  with the way characters look, and takes care of the
  13. encoding of the font  in  the  language  that  the  printer  understands
  14. transparently  to  the    user.  FEDIT requires an MSDOS personal computer
  15. with 128 kbytes of memory and support for  ANSI  screen  sequences;  the
  16. command  layout  is  designed for the DEC Rainbow, but alternate command
  17. forms can be used that do not require the Rainbow function  keys.    The
  18. font  files  that  FEDIT  reads  and writes are intended to be used with
  19. FPRINT, the fancy printer program.  FPRINT requires  an  LA34,    LA50  or
  20. LA100 printer with graphics option.
  21.  
  22.    To run, just type "FEDIT".  The editor will set up a default display,
  23. and you can read in the font file you want to edit, or set the height as
  24. you wish and create a new font.  Eventually you can save the font  in  a
  25. file  if  you wish, and exit FEDIT (by typing [Exit] or Control-C).  You
  26. can view a help screen by typing [Help] or Control-H.
  27.  
  28. DEFINITIONS
  29.  
  30. Character - Current and Saved
  31.  
  32.    The current character is the one that is currently being edited.   It
  33. is  displayed  on the screen.  Saved characters have been defined either
  34. by creating and saving them or by reading a font  file.    They  can  be
  35. recalled, whereupon they become the current character.
  36.  
  37.    In this documentation "character" refers to    an  element  of  a  font,
  38. which  is  either current or saved; not the single thing that appears on
  39. the screen when you type something.  The latter are:
  40.  
  41. Pixels
  42.  
  43.    The current character is displayed as set and blank pixels.      A  set
  44. pixel  represents  a  print-wire that will be fired, and a blank pixel a
  45. wire which will not fire.
  46.  
  47. Character Width
  48.  
  49.    Characters always have variable width.   The  width    of  the  current
  50. character  is  from  the left column of the display to the rightmost set
  51. pixel on any row.    Trailing  blank  columns  are  "deleted"  when  the
  52. character  is saved, but leading blank columns are retained.  The latter
  53. can be deleted using the DELETE COLUMN command.
  54.  
  55. Word Space
  56.  
  57.    The space character cannot be made as the current character and  then
  58. saved,    because  it  will always be saved as zero width.  If a font does
  59. not already have a space character defined, when the SAVE  FONT  command
  60. is  typed  the    editor    will  ask  the user how long the space character
  61. should be.
  62.  
  63. The Scratch Character
  64.  
  65.    Sometimes it is useful to save the current  character  in  a  scratch
  66. area,  perhaps    to  compare with the old definition of the character (by
  67. recalling them each alternately) to see  which    one  looks  better.    A
  68. character  can    be  SAVED  and    RECALLed  as  the  scratch  character by
  69. answering the  "give  name"  question  of  those  two  commands  with  a
  70. [Return].    The  scratch  character  behaves  the  same  as  any  other
  71. character, but is not saved on disk with the font.
  72.  
  73.  
  74. FEATURES OF THE DISPLAY
  75.  
  76. The screen display consists of the following elements:
  77.  
  78. Current Character
  79.  
  80.    The character currently being edited is displayed in the left part of
  81. the  screen.    Each row is numbered.  The cursor cannot be moved out of
  82. the current character region.
  83.  
  84. Font File
  85.  
  86.    If a font file has been read, its name appears at the  top  right  of
  87. the screen.
  88.  
  89. Width
  90.  
  91.    This is the width of the current character.    Note that the width only
  92. gets  larger; if all set pixels are erased from the rightmost column the
  93. displayed width remains the same; it is adjusted when the  character  is
  94. saved.
  95.  
  96. Defined Characters List
  97.  
  98.    This is a list of characters  which    have  been  defined,  either  by
  99. creating  and  saving  them  or  by reading in a font file.  Any defined
  100. characters can be recalled as the current character.
  101.  
  102. Queries and Verification
  103.  
  104.    Many commands ask questions of the user.  Hopefully, they  are  self-
  105. explanatory.    Also,  some  commands can cause damage if they are typed
  106. accidentally.  To give the user a chance to say he didn't mean it, those
  107. commands  ask  for  verification.   Answering the verification with "Y",
  108. "y", or [Return] approves the command, and it takes effect.   Any  other
  109. response disapproves the command, and it is ignored.
  110.  
  111.    The commands which ask for verification are marked with an asterisk.
  112.  
  113.  
  114. COMMANDS
  115.  
  116.    Keys in [square brackets] are Rainbow  function  keys,  for    commands
  117. where  an  alternate  key  or  key  sequence  exists,  it  is  given  in
  118. (parentheses) at the end of the command description.
  119.      
  120.  
  121. Pixel Entry
  122.  
  123. [Insert Here]
  124.      Sets the pixel at the cursor position.  The cursor moves one to the
  125.      right,  or in the direction set by the SET INCREMENT command.  (Any
  126.      alphabetic character).
  127.  
  128. [Remove]
  129.      Erases the pixel at the cursor position.  The cursor moves  one  to
  130.      the  right,  or  in the direction set by the SET INCREMENT command.
  131.      (<space>).
  132.  
  133. [<X] (Rubout)
  134.      Erases the pixel to the left of the cursor.  The cursor  moves  one
  135.      to the left.
  136.  
  137.  
  138. Cursor Movement
  139.  
  140. [Up-Arrow]
  141.      Moves the cursor up one row.  If the cursor is moved off the top of
  142.      the screen it wraps around to the bottom. (Control-E).
  143.  
  144. [Down-arrow]
  145.      Moves the cursor down one row.  If the  cursor  is  moved    off  the
  146.      bottom of the screen it wraps around to the top. (Control-X).
  147.  
  148. [Right-arrow]
  149.      Moves the cursor right one column.  If the cursor is moved off  the
  150.      right of the screen it wraps around to the left. (Control-D).
  151.  
  152. [Left-arrow]
  153.      Moves the cursor left one column.    If the cursor is moved    off  the
  154.      left  of  the  screen it wraps around to the column of the width of
  155.      the character being edited. (Control-S).
  156.  
  157. [Tab] or [PF1]
  158.      If the cursor is on a set pixel,  moves  the  cursor  to  the  next
  159.      blank.    If the cursor is on a blank, moves the cursor to the next
  160.      set pixel; if there is no next set pixel, moves the cursor  to  the
  161.      next 8-character tab stop.
  162.  
  163. [PF2]
  164.      Back tab:    does the opposite of TAB, moving to the previous set or
  165.      blank pixel. (Control-U).
  166.  
  167. [PF3]
  168.      Down tab:    similar to TAB, but moving downward.  Vertical tab stops
  169.      are every fourth row.  (Control-P).
  170.  
  171. [PF4]
  172.      Up tab:  similar to BACKTAB, but moving upward.  (Control-O).
  173.  
  174. [Keypad 1]
  175.      Home:  moves the cursor to the upper-left corner of the screen.
  176.  
  177. [Return]
  178.      Moves the cursor to the start of the next row, or where set by  the
  179.      SET INCREMENT command.
  180.  
  181. [Keypad 4]
  182.      Moves the cursor to the start of the current line.
  183.  
  184. [Keypad 6]
  185.      Moves the cursor after the last set pixel on the current line.
  186.  
  187. [Keypad 5]
  188.      Re-displays the screen.
  189.  
  190.  
  191. Font File Operations
  192.  
  193. [Additnl Options]*
  194.      Read font:  asks for the name of a font file (the extension .FNT is
  195.      appended),  then  reads  in  that file for editing.  The font being
  196.      edited, if any, when READ FONT is typed, is discarded. (Control-R).
  197.  
  198. [F4]*
  199.      Append font:  asks for the name of a font file (the extension  .FNT
  200.      is  appended),  then  reads  in  that  file for editing, adding its
  201.      definitions to those already there.  If the new font file redefines
  202.      an  existing  character,  the new definition will overwrite the old
  203.      one. (Control-A).
  204.  
  205. [Do]*
  206.      Write font:  asks for the name to save the font (the extension .FNT
  207.      is  appended),  then  writes  out    the current definitions to disk.
  208.      Typing [Return] as the file name causes the current file name to be
  209.      used.  The current font is erased.  (Control-F).
  210.  
  211.      Some questions may be asked if certain values  have  not  yet  been
  212.      defined for the font:
  213.  
  214.      Number of spaces between characters:  This space is output  between
  215.      each  character,  unless  that character has the XTS flag set.  1-2
  216.      for each 6 rows of height is a good value, but the eye is the  best
  217.      judge.
  218.  
  219.      Number of lines between lines:  Usually 1, but set  it  greater  to
  220.      space  lines  of  text farther apart.  Each increment of this value
  221.      gives 6 more dot-rows between lines in the output.
  222.  
  223.      Length of    a  space  character:    Type  the  length  of  the  word
  224.      separator.  About half the size of "N" is a good guess.
  225.  
  226. [Keypad 3]
  227.      Set height:  asks for the height of a new font, then  sets  up  the
  228.      display  to  reflect that height.    This command is only useful when
  229.      creating a new font, and should  never  be  used  when  editing  an
  230.      existing  font  (if  it  is invoked accidentally, it can be invoked
  231.      again to set the correct height without hurting anything).
  232.  
  233. [Exit]
  234.      Exits FEDIT; no files are saved. (Control-C).
  235.  
  236.  
  237. Character Operations
  238.  
  239. [Keypad ,]
  240.      Erases the currently-defined character.
  241.  
  242. [LF]
  243.      Erases (sets  to  blanks)    all  pixels  from  the    cursor    position
  244.      rightward to the end of the line.    (Control-J).
  245.  
  246. [Keypad 7]
  247.      Insert column:  adds a blank column where the cursor is, moving the
  248.      column  the cursor is on and each one to the right of it one column
  249.      rightward.  The rightmost column is lost.
  250.  
  251. [Keypad 8]
  252.      Delete column:  deletes the column  where    the  cursor  is.    Each
  253.      column  to  the  right  of the cursor is moved one column leftward.
  254.      The rightmost column becomes blank.
  255.  
  256. [Keypad 9]
  257.      Insert row:  adds a blank row where the cursor is, moving    the  row
  258.      the  cursor  is  on and each one below it one row down.  The bottom
  259.      row is lost.
  260.  
  261. [Keypad -]
  262.      Delete row:  deletes the row where the cursor is.    Each  row  below
  263.      the cursor is moved one row up.  The last row becomes blank.
  264.  
  265. [Prev Screen]
  266.      Flip vertical:  reverses the character  (takes  its  mirror  image)
  267.      across  its  vertical center-line.  This is useful to convert a "b"
  268.      to a "d", for example.  (Control-V).
  269.  
  270. [Next Screen]
  271.      Flip horizontal:  reverses  the  character  across  its  horizontal
  272.      center-line.    Converts  "b"  to "q", for example.  But note:  the
  273.      resulting character may be too high or too low  in  the  frame,  so
  274.      some INSERT ROWs or DELETE ROWs may be necessary. (Control-B).
  275.  
  276. [Compose Character]
  277.      Duplicate the mirror-reflected image of the  present  character  in
  278.      the  right  half  of  the    field, to create a double character with
  279.      vertical symmetry. (Control-G).
  280.  
  281. [Keypad 2]
  282.      Set increment:  asks the user to type a direction, expecting one of
  283.      the  four    cursor keys, or [Return].  Then changes where the cursor
  284.      is positioned after type-in, space, or CRLF, to the following:
  285.  
  286.      Direction typed:  Cursor moves:   [Return] moves:
  287.      [Return]           Right           Start of next line
  288.      RIGHT             Right           Column position of next line
  289.      LEFT              Left            Column position of next line
  290.      DOWN              Down            Row position of next column
  291.      UP                Up              Row position of next column
  292.  
  293.      where the "column position" and "row position" are where the cursor
  294.      is located when the SET INCREMENT command is typed.
  295.  
  296.  
  297. Character-Font Operations
  298.  
  299. [Select] or [Keypad 0]*
  300.      Save character:  asks for a name to save  the  character  as,  then
  301.      stores the character in the font.    The name now appears in the list
  302.      of defined  characters.    Typing    [Return]  as  the  name  of  the
  303.      character    causes    it  to    be  saved as the scratch character.  The
  304.      scratch character is not written to the font file on disk.
  305.  
  306. [Cancel]*
  307.      Kill character:  asks for the name of a character, then deletes the
  308.      character from the font.  The name no longer appears in the list of
  309.      defined characters.  (Control-K).
  310.  
  311. [Find] or [Keypad .]
  312.      Recall character:    asks for the name of a character, then retrieves
  313.      the  character  from  the    font  and  displays  it  as  the current
  314.      character.  Typing [Return] as the name of  the  character  recalls
  315.      the scratch character.  RECALL CHARACTER can be cancelled by asking
  316.      for any character which is not  defined,  or  a  control  character
  317.      (except CRLF).
  318.  
  319.  
  320. Miscellany
  321.  
  322. [Help]
  323.      Prints the informational screen that follows. (Control-H).
  324.  
  325.           ______________________   _____________________________
  326. [Additnl Options] |Recall|Set    |Unset |   |Tab   |Back  |Up    |Down  |
  327. Read font file      |Char  |Pixel |Pixel |   |      |Tab     |Tab    |Tab   |
  328. [F4]          |Find  |Ins    |Rem   |   |PF1   |PF2     |PF3    |PF4   |
  329. Append font file  |______|______|______|   |______|______|______|______|
  330. [Do]          |Save  |Flip    |Flip  |   |Insert|Delete|Insert|Delete|
  331. Write font file   |Char  |Horiz |Vert  |   |Column|Column|Row    |Row   |
  332.           |Select|Prev    |Next  |   |7      |8     |9    |-     |
  333. [Cancel]      |______|______|______|   |______|______|______|______|
  334. Kill character         |Up    |       |Begin |Write |End    |Erase |
  335.              |Pixel |       |Line  |Screen|Line    |Char  |
  336. [Compose character]     |^    |       |4      |5     |6    |,     |
  337. Mirror reflect      _______|______|_______   |______|______|______|______|
  338.           |Left  |Down    |Right |   |Cursor|Set     |Set    |      |
  339.           |Pixel |Pixel |Pixel |   |Home  |Incr  |Height|      |
  340.           |<     |v    |>     |   |1      |2     |3    |New   |
  341.           |______|______|______|   |______|______|______|Line  |
  342. [Main Screen]                   |Save     |Recall|      |
  343. Rewrite screen                   |Char     |Char    |      |
  344. [Exit]                       |0         |.    |Enter |
  345. Exit                       |_____________|______|______|
  346.  
  347. BUGS
  348.  
  349.    Probably numerous, but it's early days yet.
  350.  
  351.    The cursor positioning routines sometimes become confused  after  the
  352. "set increment" command is used to change default direction.
  353.  
  354.    Please report any bugs you may find or suggestions  for  improvements
  355. to  the  author  by  one  or more of the following routes.  I would also
  356. appreciate receiving copies of any new fonts you may create.
  357.  
  358.     J. Anthony Movshon
  359.     
  360.     US mail:    100 Bleecker Street
  361.             New York, NY 10012
  362.     
  363.     ARPAnet mail:    hipl!tony@nyu-cmcl2
  364.     
  365.     UUCP mail:    {seismo|allegra|ihnp4}!cmcl2!hipl!tony
  366.     
  367.     Or leave a message for me (as "Tony Movshon")  on  the    DEC-WARE
  368.     Fido BBS (212 535-8924).
  369.