  History of BitFontEdit
  David S. Lawyer
  Feb. 1997-Aug. 1999

  Narrative history of BitFontEdit.  Does not detail code modifications
  and bug fixes.
  ______________________________________________________________________

  Table of Contents

  1. Poon's Program

  2. Lawyer's Major Rewrite

  3. Not Widely Distributed

  4. Modifications 1990-7 and Beyond

  5. Versions

  6. Changes in 1996

  7. Posted in 1997-1999

  8. Future Proposals

  ______________________________________________________________________

  1.  Poon's Program

  This history goes back to the late 1980's when Victor Poon posted a
  couple of programs (in the C language = source code) to Usenet (I
  think to the APL newsgroup).  These programs created an APL character
  set on Wyse 60 "dumb" terminals.  His waplfont.c program had the APL
  character set hard-coded into it.  If you understand the C language,
  he used array initializers (enclosed in {} brackets) to represent
  bitmaps which in this case was the APL character set.

  However there was a way to create your own character set (font) if you
  didn't like his.  You drew a pattern_file (he called it a "printable
  display") using #'s (almost like for my program pat2sf) using any
  editor so that the #'s showed the shape of the characters.  Then you
  ran the second program Poon supplied: cvtapl.c on the file with the
  #'s in it.  This created a ASCII data file which one could then
  incorporate (using any editor) into his waplfont.c source code.  Then
  you compiled waplfont.c and executed it to get the soft-font. Thus
  creating soft-font from a pattern_file was a 3 step process involving
  (at the 2nd step) the manual editing of (copying of "data" into)
  source code.

  2.  Lawyer's Major Rewrite

  Since I was using Wyse terminals and used APL (but not on Wyse
  terminals), I picked up this free code which Poon released into the
  Public Domain.  I was then interested in putting Russian Cyrillic
  characters on Wyse terminals (although no one else I knew was).  I
  studied his source code and began to modify it for Russian.  I soon
  realized that Poon's program could be improved so it would generate
  soft-font with a fraction of the effort it took to do so by his 3-step
  process.

  I then did a complete rewrite starting from scratch (without copying
  his code).  My new program created soft-font in one step by merely
  running my program on a pattern_file (*-file).  I then wrote another
  program to do the same for DEC VT220 terminals which encoded font much
  differently than for Wyse.  Then in the fall of 1990 I took an
  "Individual Study" class at the University of CA at Irvine in order to
  get academic credit for my work and also to improve on it.  I added
  error checking to it so as to notify the user of any errors in the
  pattern_file format.  I also improved on the documentation of it.
  Here is a notice which I posted to comp.terminals and comp.fonts in
  July 1990 shortly after completing the independent study course.  Note
  that I also sent a copy to Victor Poon (vipoon) and that my programs
  were then called "font generators".  For VT200 the source code was
  named GenFontVT200.c.  For Wyse it was GenFontWyse.c.

  Article 1624 of comp.terminals: Xref: orion.oac.uci.edu
  comp.terminals:1624 comp.fonts:1410 Newsgroups:
  comp.terminals,comp.fonts Path: orion.oac.uci.edu!eaeg015 From:
  eaeg015@orion.oac.uci.edu (David Lawyer) Subject: Re: Font generators
  for Wyse and VT200 terminals Message-ID:
  <26AC0268.21883@orion.oac.uci.edu> Followup-To: bork@ics, dlawyer,
  vipoon@sbcs.sunysb.edu, support@ics Reply-To:
  dlawyer@balboa.eng.uci.edu (David Lawyer) Keywords:terminal font
  generators , VT200, Wyse, Russian font Organization: University of
  California, Irvine Date: Tue, 24 Jul 90 08:10:16 GMT Lines: 20

  I have written a couple of programs in C to generate soft-fonts which
  can be downloaded into Wyse and/or VT200 terminals.  You first create
  a drawing of the characters with the * symbol representing a pixel.
  *****   This example is unusually small (only 5x5) and a typical cheap
  *....   terminal will use 7x12 characters.  Next you run my font
  generator *****   on your characters and obtain the softfont code to
  download to a *....   terminal.  The font will then display on the
  CRT.  You will *****   probably need to write a shell script to set up
  your terminal correctly, load the font into the appropriate bank, etc.

  I have only used these programs for a Wyse99GT terminal but one of
  them should work on a Wyse 60 and the other should work on most of the
  many terminals which have a VT200 or VT220 mode of operation.  I have
  used these for Cyrillic font (Russian) and have a pattern file for
  this font.  This is the first release of them and they haven't been
  used or tested much.  These programs should be in a TermFonts
  directory for ftp from ics.uci.edu.  Dave Lawyer

  (As of 1997 it had been moved to:
  www.ics.uci.edu/pub/support/TermFonts)

  3.  Not Widely Distributed

  Dec. 1996: Internet sites having my 1990 TermFont programs:
  http://www.funet.fi/pub/culture/russian/comp/cyril-term (Sent a note
  to timaham@nic.funet.fi.)  http://sunsite.sut.ac.jp/russia/russian-
  studies/Software/Terminals
  http://www.ics.uci.edu/put/support/TermFonts

  Apparently a few people did get this software from UCI as it is still
  on the net in other obscure locations at noted above.  In the summer
  of 1990 I lost my Internet access.  I was planning on putting my font
  software in the US Army's Simtel archive but was unable to do so.  In
  1993 Simtel was closed and the archives taken over by 2 private
  concerns, one of which only deals in Dos/Windows software.  From 1990
  until 1997 it was never posted again on the net.

  4.  Modifications 1990-7 and Beyond

  Between 1990 and 1997 some changes were made but no new devices
  besides Wyse and VT terminals were supported.  From 1997-1999 no
  changes have been made except to correct typos in the documentation,
  modify source to eliminate warning messages generated by newer
  compliers, and update the history (such as this sentence).  A minor
  improvement was to permit large size character cells for VT terminals.
  However, the changes made in 1990-7 will make it easy to add support
  for other fonts languages (in addition to Wyse and VT200+).

  Originally (and in 1990) there was a different program (and source
  code) for each font language: one for the VT220 language and another
  for the Wyse language.  These were merged into a single program and
  then that program was split into 3 parts.  One part is a short header
  file pat2sf.h.  The first program file, scan.c (original name
  pat2sf.c), scans the pattern_file, checks it's format, and puts the
  *'s into an array of matrices.  Each such matrix is a character matrix
  with *'s for "on" pixels.  The other file: encode.c contains all the
  algorithms for encoding the *-matrices into soft-font.  It has
  separate sections for each font language.  The functions in encode.c
  are passed as pointers so as to assign "standard" functions in scan.c
  the appropriate function.

  In 1993 a program to convert soft-font code into a pattern_file was
  written and called sf2pat.  This enables conversion between font
  languages.  This was never modularized like the pat2sf was.  About
  this time support for HP printers was started but never completed.

  5.  Versions

  The first version in June 1990 (posted in July 1990) was 1.0.  A
  couple months later, version 1.1 was posted and remained the only
  version posted until version 3.1 was posted in 1997.  In Version 2.0
  the main program was called fontgen.c but in version 3 (3.0 dated May
  1994) it became pat2sf (=PATtern to SoftFont).  In 1999 version
  numbering added a third field so the latest is v.3.1.2.

  6.  Changes in 1996

  I obtained a 486 computer and eventually installed Linux on it.  The
  compiler was many times faster than on my previous computer which
  operated at only 4MHz on a 68000 CPU.  Long options (using --) were
  incorporated and many help messages rewritten.  Some code for X-Window
  and HP printers was incorporated into the source code, but it was
  inoperable since it was incomplete.  Documentation was improved.  City
  public libraries started to provide free Internet read access so I
  surfed the Internet for other free font editors since if they existed
  and did the same as mine (and more) there would be no need to post
  this one (or continue work on it).  I found that there was apparently
  no software freely available which fully duplicated my program (see
  other_font_tools).  The name was changed to BitFontEdit.

  7.  Posted in 1997-1999

  In early 1997, BitFontEdit was placed on the website www.patchbay.com.
  Patchbay offered free websites with no advertising and was physically
  located just a few miles from where I lived.  I converted some of the
  documentation to html format and then converted again to Linux-Doc
  sgml format which can be automatically converted to either html or
  text.  Then in November 1997, Patchbay went off the Internet and
  BitFontEdit ceased to be on the Web.  I then arranged for it to reside
  at Shuford's website (where it is now) but didn't send him the files
  until April 1998 and it took a couple of months more to put them
  online.

  The 1990 version was found still archived at the University of
  Helsinki (Finland) www.funet/fi/pub/culture/russian/comp/cyril-term.
  A new version was sent there.  Other sites which still had the 1990
  version: University of Tokyo (Japan) sunsite.sut.ac.jp/russia/russian-
  studies/software/  University of California at Irvine:
  www.ics.uci.edu/pub/support/TermFonts.  These were not updated.

  I considered converting it to the Debian distribution of Linux but
  didn't do it, although I requested that I would like to have someone
  else do it.  No one did.  Then in July 1999 I found out about putting
  it at the Linux Metalab site (formerly Sunsite).  I'm now in the
  process of putting it there.

  8.  Future Proposals

  The first priority should be to make sure that it fully supports Wyse
  and VT terminals using the latest (and not 1990) manuals.  Then it
  needs to be extended to printers and X-window terminals.  It needs to
  be publicized on the Internet and an attempt made to find others to
  work on it and test it.  I don't even have a printer to test it on
  since I'm using a thimble impact printer with fonts cast in plastic
  fingers of the thimble.  If you would like to do some of this, let me
  know as I have no time for it.

