
HISTORY
-------
###
### 9/15/93
###
type1.library:

 No longer using the amishinfo.c code, as it was not relevant to the
 Amiga's usage of the library.  Code size dropped to about 70k.

 I have rewritten enough of the top layers so that characters are
 rendered only on request (and only if not already rendered), as
 opposed to having all the characters rendered before the first
 character is requested...

###
### 9/26/93
###
T1Manager:

 Now creates .font file and creates font directory

 There is now a page area below the install button. Currently,
 there 2 pages: Preview and Options.  There is a cycle/popup gadget
 to switch between the two.  Both pages currently only contain a
 built-in resizable image, just for testing purposes...

type1.library:

 Fixed enforcer hits: MyGetGlyphCode could return NULL glyph (default
 glyph) and rc == successful.  Was getting enforcer hits referencing
 glyphs->glyphmap, of course...

###
### 10/1/93
###
T1Manager:

 Added error checking to the T1_InstallFont routine - rewritten to be much
 more sane.  Still need to be able to communicate the type of error to the
 user...   But rewriting allows easy fix of font file generation...

type1.library

 Modified OtagObtainInfoA a bit to fix a serious problem wrt return code,
 which became important because T1Manager now pays attention to it...

###
### 10/2/93
###
T1Manager:

 Added Remove button gadget, which de-installs the currently selected font.
 Implementing this involved some structural changes in t1manager_backend.c.

###
### 10/17/93
###
T1Manager:

 Double-clicking on a font in the listview now causes a preview to be displayed
 in the preview box.  This is done by blitting into the window's rastport, after
 finding the position of the preview box.  Much still needs to be done, however.
 The problems are that:
   a) the SPACE character doesn't work!
   b) I need to do better y-axis bounds checking in the preview display.
   c) The size of the preview is currently fixed!
   d) The preview doesn't clear itself, and I need to handle refresh on resize, etc!
   e) I need to make sure the preview page is active before doing going any further
   f) Error checking when I AllocRaster()

type1.library:

 In amisht1funcs, I was only setting fontencoding if it was NULL.  Now, every time a
 font is opened, it is forcibly set to ISOLatin1Encoding.

###
### 10/18/93
###
type1.library:

 In amisht1funcs, I pretty much rewrote MyType1Glyphs.   It now handles spaces, and is
 generally cleaner (and perhaps faster).  Note that a space character is returned with
 a NULL bitmap pointer, but with correct position information (X0,Y0, X1,Y1), etc.
 I am observing that with Muriel and ParkHaven, the spaces seem to be too big.  It might
 be the case that the space is defined that way for these fonts, though... in fact, it
 does seem to be that way...

###
### 10/19/93
###
T1Manager:

 T1Manager was NOT creating .otag files correctly.  For otags that were not indirect, it
 was writing uninitialized data.  I discovered this because spytype1 showed that
 OT_SpecCount was always 0, and indeed, the otag file said it was 0.  This has also led
 to the observation that type1.library is returning IsFixed FALSE for Courier!?!  I still
 need to look into this.

type1.library:

 Solved the IsFixed problem.  The problem was that type1.library was setting IsFixed to
 1L (a 32bit TRUE), but T1Manager was only considering only the top 16 bits of it
 (16 bit BOOLEAN), and so thought it was false.  The solution was to make QueryFontLib
 return Booleans as 16bit booleans (unsigned shorts).

 While trying Courier in a shell, I observed a MAJOR problem.  All the characters are
 flushed left!  In hindsight, it is obvious that I need to account for the
 left Side Bearing by adding to the XOrigin fields...  maybe.

 It also seems that many of the characters touch each other... This is noticable with
 Courier more than with Dragonwick and friends...  This must also be related to the
 left and right Side Bearing problem.

###
### 10/20/93
###
type1.library:

 Solved the flushed left problem (the left SideBearing problem).  The solution was to
 subtract the correct leftsidebearing from the origins (X0, X1, and XOrigin). Things
 look much better now...

 The 'touch each other' problem does not happen with the way *I* render the characters
 (which is pretty much copied from the 'strikefont.c' sample code for bullet.library
 developer tools).  It does happen with diskfont.library, though.

T1Manager:

 I updated the font rendering code to account for the BlackLeft and BlackTop fields
 of the GlyphMap structure.  Of course, I don't use these fields, but I did this to be
 more 'correct'.

 T1Manager now saves the familyname in the .otag file.

###
### 11/28/93
###
type1.library:

 Compiled with SAS C 6.50.

 PROBLEM: Get an annoying linker problem (undefined symbol __XCEXIT)

 Now linked with pools.lib, so I don't think there are any more 3.0 dependencies.

 Now using ieeedoubbas.library instead of m68881 code, so the code can now be made
 to work on any Amiga.  It CAN be made to work, provided I can keep the library
 from crashing on the first call to the IEEEdoubbas library...

 Rewrote the makefiles.  smakefile uses Chris' library code; smakefile2 uses the
 SAS library code.

 Modified much of t1objects.c - mostly, I #ifdef'ed out many of the functions, and
 commented out several lines - the functions were involved in error handling.
 These functions need much more work...

 Need to be able to set the OT_SpaceWidth tag in the otag file.  I don't currently
 have much of an idea on how to do this correctly, though.  I noticed the problem
 because occasionally BltTemplate would choke on blitting 0 size templates, which
 is what the SPACE character is.  My rendering routine in T1Manager now hacks
 around the problem, but still...


###
### 11/29/93
###
type1.library:

 Miscellaneous eradication of compiler warnings.

 Marked some more variables as 'const'.

 More reworking of the makefiles.


###
### 12/5/93
###
type1.library:

 Fixed the linker problem (__XCEXIT).  The problem was that the math libraries
 were linking in the SAS default _CXFERR, which then brought in a variety of
 objects involving exit handling...  The solution was simply to define my own
 _CXFERR (in type1lib.c).

 Changed the includes a bit.  For example, instead of doing:
   #include <pragmas/exec_lib.h>
   extern struct ExecBase *SysBase;
   #include <clib/exec_protos.h>,
 I now do a much nicer,
   #include <proto/exec.h>


###
### 1/10/94
###
type1.library:

 Removed the OtagObtainInfo and OtagReleaseInfo entry points.  I can't remember
 why on earth I ever put them in, but they're gone now.

T1Manager:

 Instead of calling OtagObtainInfo, now calls ObtainInfo


###
### 1/14/94
###
T1Manager:

 Changed the way I display the preview image.  Instead of blitting directly
 into the windows's rastport onto the preview box, I am now using the
 myimagegclass BOOPSI image class that I got off of AmiNet.  First I
 render into a bitmap that I allocate which is the size of the gadget,
 and then I use a set() command to display that gadget.  The drawback is
 that you can't see each character being rendered, but rather see the
 whole thing at once when it is finished.  That's okay, though, since it
 still feels fast (to me, at least).


###
### 3/27/94
###
T1Manager:

 Reorganized the code for t1manager.c, making it much cleaner.  Also,
 I am now saving and loading the contents of the first cycle gadget (that
 selects the part of the fonts: assign).  Couldn't find an easy and clean
 way to save the default font source directory for installing fonts,
 though.

 Fixed many bugs in the rendering routine, by setting the
 drawing mode to COMPLEMENT (xor), and by inserting WaitBlit()'s.
 Now, what you see is really what type1.library is returning.


###
### 5/11/94
###
type1.library:

 Started incorporating changes to the base code (from X11R5 contrib)
 from HP (HPXLFD_enhancements) and changes in the X11R6 rasterizer.
 One of the benefits is that rotation and shearing now work.


###
### 6/20/94
###
type1.library:

 There was a problem (bug introduced) with the previous attempt to
 incorporate HP and X11R6 patches - so I started over again from my
 previous beta (with only the R6 patches).  Things now work again -
 and I can easily transform characters through a matrix, etc.  Things
 are set up so that I can soon try rotation, shearing, etc.

 I have eliminated the majority of SAS's warnings (function prototypes,
 const pointers and non-const pointers, etc).  There are only a few left
 (uninitialized auto variables, and xobject != struct xobject != path, etc.

 There is an abort function in type1interface.c called FatalError().  This
 is currently a stub (which actually just RETURNS!) - but it should call
 Alert(), or something - and probably just hang forever after that (returning
 would be dangerous).

 Code reorganization.


###
### 6/21/94
###
type1.library:

 Rotation and Shearing now work.


###
### 6/24/94
###
T1Manager:

 Now t1manager returns error messages for common preview/installation errors.


###
### 7/1/94 (After recovering from hard drive problems...)
###
T1Manager:

 The V39 dependency should be gone - things should now work on V37 again.
 Thanks go to Gregory Block for sending me some code I was too lazy to bother
 with...  He sent me V37 AllocBitMap and FreeBitMap code.


###
### 1/7/95
###
T1Manager:

 T1manager now asks type1.library for the internal name of the font (via
 OT_Spec3), and uses that instead of the filename.  Thus, installing
 COUR.pfb will create a font called Courier instead of COUR.

 I fixed the silly bug where installing into a directory with a '.' in
 the name caused problems (like System3.1:fonts, etc.).  Thanks to
 Greg Block for reporting this (many times).  I'd actually fixed this
 before, but lost my fix when I restored from a backup after the hard
 drive problems.  This whole business was obsoleted by the previous
 change, anyhow.

type1.library

 Now I create both .030 and .000 versions

 I modified some routines in token.c and scanfont.c so that literal
 names (like the FontName) get NULL-terminated.  This involved putting
 a save_ch_no_inc() in the LITERAL_NAME() function, along with
 modifying FindDictValue(): I allocate an additional byte of VM so
 this zero doesn't get overwritten (only for OBJ_NAME).

 I've removed the majority of the remaining SAS warnings, and also reduced
 the size of the library a couple hundred bytes.

###
### 1/9/95 - Release 1.0 (beta5)
###
T1Manager:

 Greg Block reported enforcer hits in T1manager on removing a font.
 Right he was.  The quick and not too dirty solution was to not
 bother with trying to delete possible bitmap files inside the
 bitmap directory.  If there aren't any bitmap files, the directory
 will successfully delete, and if there are, then it won't, but
 that won't affect the success of the removal.  Basically, I don't
 make bitmaps, and so I'm not worried about it right now.

###
### 2/5/95 - Release 1.1 (beta6)
###
type1.library:

 Brian Petersen (author of EqEd) had pointed out that I was forcing
 every font's encoding to ISOLatin1.  I changed this to use the
 builtin encoding for every font (the way the code originally was
 supposed to work).  Thus, the Symbol font now seems to work.

###
### 2/13/95 - Release 1.2 (beta7)
###
type1.library:

 Well, it seems that fonts that use StandardEncoding mess up on
 characters above 128.  So I made a change in scanfont.c:getEncoding()
 that forces fonts that ask for StandardEncoding to use ISOLatin1Encoding
 instead. 

###
### 2/27/95 - Release 1.3 (beta8)
###
type1.library:

 Changes to type1interface.c and amisht1funcs.c to allow changing
 the pointsize, rotation, etc. without closing and reopening the
 engine.  Before, if one asked for a character at some point size,
 then changed the point size, the second request was ignored, and
 the original setting was used.  Brian Petersen requested this for
 EqEd - he didn't want to keep rescanning the font everytime he
 wanted a character of a different size.

###
### 4/4/95 - Release 1.4 (beta9)
###
type1.library:

 Apparently something is using memory before initializing it...
 Brian Peterson found this, and suggested the quick fix as
 calling CreatePool with MEMF_CLEAR...  This is now done,
 until I have time to figure out what exactly is doing this.
 I won't have such time for a few months, though...

###
### May 21st, 1998 - Release 1.5 (Jamie Keir)
###
type1.library:

 Fixed a bug with rotations > 180° (would previously crash)
 
t1manager:

 Added Drag-and-Drop from workbench to install many fonts at once.
 This could already be done using the file requester, but some
 people (i.e. me) are never happy.
 
 Made the fontlist multiselect to allow removal of multiple fonts
 at once. Added some (basic) confirmation of this (Remove this one,
 skip this one, remove all, cancel)
 
 Made 'Remove' function try and remove directory, *.font and *.otag
 regardless of failures - I was left with some *.otag fonts lying
 around with no *.font file for some reason, and they still appeared
 in the available fonts list.
 
###
### Feb 2001 - Release 2.0 (Detlef Würkner)
###
type1.library:
--------------

- Recompiled with SAS/C 6.58.

- Fixed compiler warnings.

- Fixed bug: Preview with Prefs/Font (AmigaOS 3.9) didn't work.
  (__aligned auto variables don't work in libraries).

- Fixed bug: .pfb files without EOF marker (0x80 0x03) now work.

- Fixed bug: The assembly decryption routine did not increase the
  input pointer by the size of the encryption key, resulting in
  an interpretation of the encryption key as input token. This
  caused some fonts to fail.

- Fixed bug: The FamilyName in the .otag file could contain additional
  characters since it wasn't NULL-terminated in the dictionary. Modified
  scanfont.c so that strings get NULL-terminated by just allocating one
  byte more.

- Fixed bug: The shearing now works clockwise, as specified on Developer
  CD. Before, you got a lefty italic glyph instead of an italic one...

- Fixed bug: Rotating by exactly 180 degrees was not done, since
  the check if rotating is necessary was wrong.

- Fixed bug: Rotating by (nearly or exactly) 90 or 270 degrees resulted
  in NO glyph, since the test if the glyph is too small detected an
  advance of 0 in horizontal direction.

- Fixed bug: glm_Width in GlyphMap is no longer always 1 EM.

- Fixed bug: At very small point sizes it was possible that OTERR_Success
  was returned but the GlyphMap ptr was NULL.

- Fixed bug: BuildCharStrings() did not initialize the CharStrings
  array, but allowed fewer CharStrings than mentioned in the dictionary.
  This resulted in Enforcer hits and crashes when loading a different
  font with too few CharStrings with the same GlyphEngine (the first
  font always worked since the memory was cleared) and the CharStrings
  array was searched for an unknown character.

- Calling CreatePool with MEMF_CLEAR seems to be no longer necessary
  with the previous bugfix.

- Added ability to read ASCII encoded .pfa files ("Download files"),
  now all .pfa and .pfb files from the ghostscript distribution work.

- If %%VMusage: comment is present, the second try to scan a type1 file
  now uses the maximum of the doubled previous vm_size value and the
  maximum of the two values following the %%VMusage comment as new
  vm_size. This makes more type1 fonts usable, e.g. the unicode version
  of CaslonRoman.

- Enabled disabled debugging code, changed it to use kprintf(). Debugging
  on/off, type and level of debugging can be specified in smakefile.

- Reworked taglist parsing routines.

- Old tag OT_PointSize now supported (untested).

- Tag OT_DotSize with values not equal to 100% now forces OTERR_BadData.

- Solved the IsFixed problem again. bullet.library autodocs claim all results must be
  32 bit, now QueryFontLib returns Booleans as 32bit booleans (unsigned longs).

- Added OT_WidthList support.

- OT_GlyphWidth and OT_IsFixed are now suported. This requires
  re-installation or update of at least all fixed-width Type1 fonts that
  were installed with old T1Manager with the new T1Manager version,
  otherwise the missing OT_SpaceWidth in the .otag file would result
  in GlyphMaps with glm_Width set to 0.

- Added non-breaking space (same glyph as space) and some "historical
  accents" to ISOLatin1 Encoding.

- support for OT_SymbolSet, added ISO 8859-1 to -15, CE, WinLatin1 and
  koi8r Encodings. Yes, PostScript ISOLatin1Encoding and ISO 8859-1 Latin1
  are different (at positions 39, 45, 96, 144-159).

- Changed fillrun() to draw 1 pixel instead of 0 if start and end of a
  horizontal range are equal. This fixes disappearing vertical stems and
  accents of thin fonts at low sizes. Sorry, currently no solution for
  the same problem with horizontal stems...

- Compatibility hack for Finalwriter: specifying OT_OTagPath AFTER
  OT_OTagList is no longer an error...

- To avoid a FinalWriter mungwall hit (AllocMem() with size 0) and
  possible problems with other applications, non-printing characters
  now don't have a NULL bitmap pointer but a 1*1 empty bitmap with
  correct spacing information.

- Commented out useless and unused code, cleaned up header files.

- Added support for AFM files, OT_TextKernPair and OT_DesignKernPair
  by modifying the AFM parsing routines (afm.c, afm.h) of FreeType2.0.1
  (http://www.freetype.org). Added the FreeType License document FTL.txt.
  Added support for parsing the track kern data to afm.c.
  OT_TextKernPair returns the loosest track kerning (depending on actual
  point size) plus the pair kerning, OT_DesignKernPair the tightest
  track kerning (depending on actual point size) plus the pair kerning.

- Added MEMF_PUBLIC flag to memory allocations, to make it
  possible that different tasks use the same library base / Engine handle.

- All non-readonly globals now are stored in struct GlyphEngine, now it
  is possible to use two fonts with two engines and one library base as
  specified in the bullet autodoc for OpenEngine() (it is even possible
  to change the font on the fly without closing the GlyphEngine).

- Since the only written global data left are the library bases,
  it is no longer required that each OpenLibrary ("type1.library, 2)
  creates a new Type1Base. Now linked with libinit.o instead of
  libinitr.o, and with __UserLibInit() and __UserLibCleanup().
  Gains some speed, shrinks size, uses less memory.

- ObtainInfo(engine, OT_GlyphMap, ...) now returns a COPY of the
  (cached) GlyphMap, to avoid overwriting the GlyphMaps an application
  stored when e.g. OT_PointHeight is changing. The copy can be freed
  by the application with ReleaseInfo(engine, OT_GlyphMap, ...),
  CloseEngine() frees all non-freed copies.

- Added Unicode (16bit) SymbolSet, used as default if no internal
  Encoding available. It uses the Adobe Glyph List as described in
  http://partners.adobe.com/asn/developer/typeforum/unicodegn.html
  for glyphs and kerning pairs.

- Fixed the linker problem (__XCEXIT, _CXFERR) again: Found that with
  math=ieee and math=ffp the _CXFERR() replacement is unnecessary when
  changing two typecasts in type1.c, and that _FPERR imports unneeded
  other things when not defined in own source. With math=standard,
  the sqrt() calls in amisht1funcs.c import __except() which uses malloc()
  which won't work correct in a shared library linked with libinit.o,
  so if sqrt() of scm.lib is used, we define a __except replacement
  that is never called since sqrt() is always called with a non-negative
  parameter.

- Changed the CPU/FPU/mathlib combinations. scm.lib doesn't use FPU,
  scmffp.lib is slower than scmieee.lib with FPU installed, scm040.lib
  is slower than scm881.lib, scm881.lib requires FPU, CPU=68060 generates
  code that runs on 68020-68060, so these versions are build:

  type1.library.000    runs on 68000-68060, uses IEEE math libraries
  type1.library.020    runs on 68020-68060, uses IEEE math libraries
  type1.library.020fpu runs on 68020-68060, requires FPU

- Changed the version string, it now contains the CPU/FPU requirements.

- The 020 version now shows an Alert if 020 or higher not found and
  rejects to open itself, also the FPU version alerts and exits if no FPU
  in system, to prevent crashing the machine.

- Exec V39 (KickStart 3.0) or higher was required since pools.lib is no
  longer used. Now, an Alert and clean exit result from starting under
  earlier versions.

- smakefile now with dependencies to force recompilation of all needed files.

- After full prototyping type1.library now compiles with registerized
  parameters, shrinks size and should speed it up. Removed all
  non-necessary "__stdargs" declarations.

- To reduce the jmp's slink inserts in the code >32K, STRSECT=NEAR
  is used to address all constant data A4-relative instead of
  PC-relative and to shrink the code hunk. Should gain some speed,
  gains some size.

- Only the source files containing external entry points (globals.c and
  type1lib.c) are now compiled with the LIBCODE option. All other
  functions don't need their own library base in A6, not using the
  LIBCODE option for these saves about 4k of useless code that
  saves A6 on stack on entry and restores it on exit.

- A bad Type1 file now is no longer read and parsed again for each glyph.


T1Manager:
----------

- Recompiled with SAS/C 6.58.

- Fixed compiler warnings, cleaned up smakefile, deleted SCOPTIONS,
  now compiles with PARAM=REGISTER.

- Too long font names are stripped to fit
  in struct DiskFontHeader and filesystem limits.

- Added check if muimaster.library could be opened...

- Under V37, the wrong bitmap size could be freed...

- Install requester remembers previous directory.

- Removed useless Preview/Options cycle gadget.

- Overwriting an installed font in the selected Fonts: path component
  is no longer possible.

- When trying to install a font with the same name in a different
  directory of a  multi-assigned Fonts: path, a number is added to
  the font name starting from 0 (name0.font, name1.font, ...)
  to allow installation (and possibly later renaming) of Type1 fonts
  with the same name as already installed CG or TrueType fonts.

- Removing a font now also removes existing bitmap files.

- Now creates .otag tags OT_StemWeight and OT_SlantStyle.

- Now creates .otag tag OT_SpaceWidth. This fixes the
  'touch each other' problem with non-proportional fonts.

- Now creates .otag tag OT_YSizeFactor by checking the ascender
  and descender heights of all available glyhps. This fixes
  the 'touch each other' problem in vertical direction.

- Now creates .otag tags OT_SerifFlag (always TRUE), OT_HorizStyle
  (OTS_Normal) and OT_InhibitAlgoStyle (FSF_UNDERLINED|FSF_BOLD|FSF_EXTENDED).

- Solved the IsFixed problem again. bullet.library autodocs claim all results must be
  32 bit, now the isFixed variable is a 32bit boolean (unsigned long).

- It is no longer possible to install a font without at least one
  glyph that can be displayed without error.

- Added font name string gadget, an installed font can now be renamed.
  Existing bitmap fonts are kept during renaming (The name included is
  only a placeholder), the .font file is rewritten. Renaming to a font
  name that is already in the system font list is not possible.

- No longer creates an empty font directory, since otherwise FixFonts
  (at least the OS3.9 version) would delete the .font file if the bitmap
  fonts mentioned in OT_AvailSizes don't exist.

- Found missing "t1manager/myimagegclass.c" in Aminet (MIGC1_39.lha).

- Now uses MUI Bitmap class, so myimagegclass is no longer needed.

- Preview now with two lines, now vertically centered.

- Preview text now selectable via ToolTypes "PreviewText" and
  "PreviewText2" in program icon.

- Preview text now always fits in it's frame. This fixes mungwall hits/
  crashes with fonts with large ascenders/descenders (temporary rastport
  used for blitting too small). Too high glyphs are displayed as
  inverted rectangles, too wide glyphs (of fixed-width fonts) are
  displayed as inverted glyphs.

- Resizing the window now results in a redraw of the preview image.

- Preview now uses text kerning.

- Preview now with variable height, depending on window height.
  The pixel height and approximate point height of the preview are shown.

- The bitmap sizes in the .otag file are now selectable via ToolType
  "BitmapSizes", e. g. "BitmapSizes=10 12 14 18 24 30 45 60 75". Only 20
  sizes allowed (system restriction), maximum size 124 (SYS:Prefs/Font
  ignores greater sizes), sorting not required. If no valid size is found,
  a default of one entry with size 12 is used. If the ToolType is missing,
  the old default with sizes 5 10 12 15 30 45 60 75 is used.

- Added ability to modify the .otag file of an already installed font in
  new Modify window. The following can be changed:
  OT_IsFixed, OT_SlantStyle, OT_SerifFlag, OT_StemWeight, OT_HorizStyle,
  OT_SymbolSet, OT_SpaceWidth, OT_YSizeFactor, OT_InhibitAlgoStyle,
  OT_AvailSizes, OT_Family, OT_BName, OT_IName, OT_BIName and the file
  names of the Type1 and AFM file.

- OT_SpaceFactor is preferred by diskfont.library 45.3 over OT_SpaceWidth,
  but it seems to be less accurate (value ca 7 times higher than
  OT_SpaceWidth). Better don't implement...

- Disabled useless modifying of OT_InhibitAlgoStyle, OT_Family, OT_BName,
  OT_IName and OT_BIName.

- T1Manager can create and delete bitmap font files now. Modified the
  source of Bitline 0.5 by Georg Steger from Aminet for inclusion in
  T1Manager.

- Automatic bitmap files deletion and recreation after changing
  of Width, Slant, etc. If after deletion and "Avail FLUSH" a bitmap
  font is still in use, a warning is displayed, no bitmap fonts
  are recreated and the .font file is rewritten.

- Changing Width, SymbolSet, SpaceWidth, YSizeFactor or the filename
  of the Type1 or AFM file now immediately updates the Preview.

- Added MUI bubble help. muimaster.library V11 (MUI 3.1) required.

- Added SymbolSet encoding preview window. If already open, selecting
  a different SymbolSet updates the window. The height of the displayed
  glyphs is automatically adjusted to the window height. If SymbolSet
  is set to Unicode, it is possible to select one of the (up to 256)
  "pages" that contain displayable glyphs.

- Added locale language support via locale.library and catcomp. Builtin
  language is english, a german T1Manager.catalog file is provided
  (the Unicode page descriptions are not translated, sorry).

- Added many keyboard shortcuts, which work even with localized labels
  (in this case the program searches for the character following the '_'
  and uses the lowercase letter as shortcut).

- Created installer script that uses english language as default
  and german if the default locale setting is german. It installs
  the proper type1.library version in Libs:, T1Manger in SYS:System
  and eventually the german T1Manager.catalog in Locale:Catalogs/deutsch.


###
### Feb 2001 - Release 3.0 (Detlef Würkner)
###

type1.library:
--------------

- Fixed huge memory leak in MyType1OpenScalable(). Every time a font was
  re-opened (not the first time), the already allocated memory pool
  wasn't freed. Thanks for Andreas Mixich for reporting the bug.

- Fixed a wrong glyph name in ISO 8859-6 Encoding.

- Changed EncodingTable index from int to unsigned short, changed
  EncodingTables without "uniXXXX" names to use index to AGL instead
  of pointer to name. This gains about 14k in size.

- Found fonts with "non-Amiga" Codepages in Locale3_9.lha and implemented
  SymbolSets CP1251 (WinCyrillic, russian) and E2 (czech). türkçe uses
  already implemented ISO 8859-9 Latin5. slovensko and srpski currently
  not implemented due to lack of mapping tables from these to Unicode or
  PostScript names. If you have tables, please send the tables or an URL
  to TetiSoft@apg.lahn.de


T1Manager:
----------

- Added WinCyrillic and E2 SymbolSet.

- Added QuickInstall ToolType. If set to YES or TRUE, the check if a
  font of the same name is already in the system font list (in a different
  directory of a multi-assigned Fonts: path) is disabled. This speeds
  up font installation, even with FontCache enabled. But you risk to have
  two fonts with the same name in system (never tested what would happen
  in this case), so the default is a disabled QuickInstall ToolType.

- Changed SymbolSet default from Unicode to ISO8859-1 Latin1 to speed up
  font installation since I am not aware of any program that uses the
  Unicode feature available in bullet.library, ttf.library and
  type1.library.
  If you have heard about a program that can use the Unicode feature,
  please send a note to TetiSoft@apg.lahn.de

- While computing YSizeFactor & SpaceWidth, the modify window is disabled.
