      ============================================
      =       InnoTek Font Engine for OS/2       =
      =            powered by Freetype 2         =
      =              Mozilla Edition             =
      ============================================

Release 1 - 2003-07-28


1. Introduction
~~~~~~~~~~~~~~~

The InnoTek Font Engine for OS/2 (powered by Freetype 2) is
a port of the Freetype 2 font engine to the OS/2 Warp platform
providing a tight integration with the OS/2 graphics
subsystem. It is designed to be able to replace the OS/2 font
rendering subsystem for selected (certified) applications.

The benefits of the Freetype library compared to the default
OS/2 font engine can be summarized as follows:

- greatly improved font rendering quality for both TrueType
  and Adobe Type 1 outline fonts

- 8-bit (256 color) anti-aliasing for smoother font display

- optional subpixel rendering for LCD screens

- better support for displaying Unicode font data

- more accurate character spacing

- flexible configuration options such as configurable
  anti-aliasing, hinting and font mapping

- enhanced APIs going beyond the capabilities of the OS/2
  graphics subsystem (such as glyph outline query support)

The font rendering quality improvements achieved by using
InnoTek's font engine with the Mozilla are so remarkable that
every user will immediately enjoy the benefits of using
the product.

Due to the more sophisticated font engine and the high quality
8-bit anti-aliasing combined with InnoTek's full alpha-blending
blitting engine, the font rendering performance of InnoTek's
font engine will not match the performance of OS/2's built in
monochrome engine. However, InnoTek has performed a great deal
of performance optimizations and in real life scenarios, the
performance difference should be very minor.


2. Requirements
~~~~~~~~~~~~~~~

This library should only require OS/2 Warp 4 and any version
of Mozilla or IBM Web Browser for OS/2. Due to the Technology
Preview status, InnoTek was unable to perform a wide range of
compatibility tests. For best results, Convenience Pack 2 and
IBM Web Browser 2.0 are recommended.

Due to the high color depth blits done by InnoTek's Font
Engine for OS/2 (as opposed to monochrome blits done by GPI),
you should have a current graphics card with an accelerated
graphics driver. For best results, a 1+GHz machine is
recommended.


3. Installation
~~~~~~~~~~~~~~~

The Technology Preview comes with an installation program
that will copy the InnoTek Font Engine for OS/2 to the
\OS2\DLL directory on your boot drive. In addition it will
apply a patch to the gfx_os2.dll of your Mozilla installation
resulting in Mozilla importing all font APIs from FTGPI.DLL
instead of the standard PMGPI.DLL.

3.1 Uninstall
To uninstall, please copy gfx_os2.bak to gfx_os2.dll.
For Mozilla Firebird, copy MozillaFirebird.bak to
MozillaFirebird.exe

3.2 Default font mapping
The default configuration of Mozilla for OS/2 uses OS/2
bitmap fonts instead of OS/2 outline fonts where possible
to avoid the very poor OS/2 vector font rendering quality.
With the InnoTek Font Engine for OS/2, this is no longer
necessary -- instead, the vector font will usually look
much better than the bitmap font equivalent due to the
sophisticated anti-aliasing techniques. In order to make
life easier, the InnoTek Font Engine for OS/2 supports
automatic font mapping. The installation program registers
the following default mappings:

- Helv -> Helvetica
- Tms Rmn -> Times New Roman


4. Support
~~~~~~~~~~

Support for the Technology Preview is provided on a best
effort basis only. Please contact InnoTek at support@innotek.de
for feedback about the product.

InnoTek intends to offer enterprise licensing for this
product. Currently, it is InnoTek's intention to permit
individual use of the product free of charge. However, the
exact licensing terms have not been finalized yet.

For more information on licensing, please contact InnoTek at
support@innotek.de.


5. Additional Information
~~~~~~~~~~~~~~~~~~~~~~~~~

5.1 Configuration Options
InnoTek's Font Engine for OS/2 provides various
configuration options. While the installation program
creates a default configuration that should fit well for
the vast majority of users, several useful configuration
options exist.

All configuration data is stored in the OS/2 registry
and can be edited using the OS/2 Registry Editor
(regedit2.exe). The reason for using the registry
instead of e.g. OS2.INI is the much higher flexibility
of the registry (hierachical organization) compared to
the limited OS2.INI format. The configuration data is
stored below the key

HKEY_CURRENT_USER\Software\InnoTek\InnoTek Font Engine

  Value: "Enabled", type: "DWORD"
     0: disabled
     1: enabled (default)
    Description: This allows you to globally enable or
    disable InnoTek's font engine.

Key: "Hinting"

  Value: "Mode", type: "DWORD"
     0: disabled
     1: enabled, use autohinter (default)

Key: "AntiAliasing"

  Value: "Enabled", type: "DWORD"
     0: disabled (default)
     1: enabled

  Value: "FaceSizeThreshold", type: "DWORD"
     <minimum point size for anti-aliasing>
   Description: this specifies the minimum point
   size below which no anti-aliasing will be performed

  Value: "Subpixel", type: "DWORD"
     0: disabled (default)
     1: horizontal mode
     2: vertical mode

Key: "Fonts"

  Key: "<name of font family>"

    Value: "Ignore", type: "DWORD"
      0: disabled (default)
      1: enabled
     Description: ignore the specified font, i.e.
     let GPI handle it.

    Value: "Mapping", type: "String"
      "<name of font family>"

    Key: "Hinting"
     (same as the global hinting options, allows to
     override global hinting options for a given font)

    Key: "AntiAliasing"
     (same as the global anti-aliasing options, allows
     to override global anti-aliasing options for a
     given font)
  

Hinting is a technique where additional data
gets embedded into a font file describing how to
render the font at certain sizes. This technique
avoids typical problems such as different stroke
widths that result from pixel rendering. Typically,
small font sizes look clearer with hinting. However,
some users might prefer the "blurrier" or "softer"
rendering without hinting. Note that Adobe Type 1
fonts do not contain hinting information but
Freetype 2 contains the "autohinter" technology
which typically provides similar results. Even
though TrueType fonts may contain hinting
information, the current build does ignore them
due to several US patents protecting this
technique. Therefore even for TrueType fonts, the
autohinter module is being used.

Anti-aliasing is one of the main advantages of
InnoTek's Font Engine for OS/2 over the standard GPI
font rendering. It is enabled by default.

Font mapping allows you to specify that when an
application requests a specific font (by its name),
InnoTek's Font Engine for OS/2 will use a different
font instead. This is very useful to replace bitmap
fonts (which are still handled by GPI) by vector
fonts. It is also possible to override global options
for a given font using the same registry keys as for
the global options below the font name key. Unless an
option is specified, the global default will be
inherited.

Subpixel rendering is an innovative technique to further
improve font display / sharpness on LCD screens. It is
based on making use of the fact that each pixel on the
screen actually consists of three subpixels - a red,
a green and a blue. Depending in the intensitiy of each
subpixel, colors appear. Thus when setting a given pixel
to e.g. pure red, only one third of the pixel would be
illuminated. Subpixel rendering therefore groups such
subpixels around the glyph strokes to further refine
their appearance. If you get very close to the screen,
you will actually notice the color "distortions" around
the strokes. At first this can be a bit irritating but
most users will appreciate this rendering mode after
some time. Apple's Mac OS X and Microsoft's Windows XP
feature similar techniques (ClearType on XP). Note that
with the current Freetype 2 level, the quality of
subpixel rendering (esp. when combined with hinting)
is still limited. Usually, horizontal subpixel
rendering should be chosen which in most cases
(horizontally aligned screens) gives better results and
is also considerably faster than vertical subpixel
rendering.

Note that additional configuration options might be
added in upcoming revisions of the software.

5.2 Font files
The rendering quality largely depends on the quality
of the font files in use. OS/2 comes with several
standard fonts in which in general are very old and
do not make use of most of the more recent font file
format extensions. You will achieve best results by
installing some current high quality fonts. The
fonts distributed by Microsoft are good examples for
very high quality TrueType fonts. Microsoft makes
these fonts available for free use -- you can download
them from various sources in the internet. Another
good example is the Bitstream font pack which recently
has been made available for free distribution as part
of the XFree86 environment. You will find these fonts
in the internet as well.


6. Known Problems / Restrictions
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

- the Greek characters 'mi' and 'delta' might not display
  when using Type 1 fonts. As a workaround, use True Type
  fonts to display Greek characters

- Mozilla currently does not make use of the extended APIs
  provided by the InnoTek Font Engine for OS/2. Future
  versions of Mozilla are expected to make use of InnoTek's
  enhanced APIs for better Unicode support

- the font engine is currently limited to be used with
  Mozilla exclusively. A future version will support
  multiple processes and a development kit will be provided
  to allow integrating the font engine with custom
  applications

- most configuration options will not be preserved when
  running the installation program. Also note that the
  format of the configuration options may change with new
  versions of the font engine


7. List of Changes
~~~~~~~~~~~~~~~~~~

2003-07-28: Release 1

- do not overwrite backup copies of Mozilla binaries
  if a previous version has been installed

- fixed distortion and crashes caused by heap corruption
  in the Freetype 2 caching subsystem

- fixed problems when using Mozilla in turbo mode

- fixed several crashes

2003-06-10: Technology Preview 2

- added support for Mozilla Firebird

- added support for LCD subpixel rendering

- fixed installation errors on LXLITE or LXOPT
  compressed Mozilla DLL files

- fixed installation errors with target path names
  containing spaces

- fixed font recognition with very long face names

- fixed random crashes due to heap corruption

- resolved memory leaks

- added workaround for buggy Matrox drivers (letters
  would not appear)

- added more configuration options

- turned on hinting by default

2003-05-23: Technology Preview 1

- initial distribution


8. Copyrights
~~~~~~~~~~~~~

InnoTek Font Engine for OS/2 is (C) 2003 InnoTek
Systemberatung GmbH, portions (C) by others.

FreeType 2 is (C) by the FreeType Project
http://www.freetype.org
