
- Corrected the rasterizer :

  drop-out control now applis after all the spans of a scanline have
  been drawn.

----------------------------------------------------------------------

Changes to the Pascal version between 05h and 05l

( lots of intermediate releases between them )

- Still better rasterizer.

- Completely rewrote then interpreter in 'ttins2.pas'
  Removing most of the 64-bits computations did increase
  the quality of the output ( which means that the original
  TrueType renderer source code must not be very 'math'
  accurate ).

- Found several bugfixes in ttins2.pas with the help of
  DaveP's port. The gcc -ansi -Wall warnings gave me all
  the hints. Good work David !!

- Ported the C composite loader. Now compiles, but test
  programs still unchanged. Will do that in a few time
  Look for 'tttables2.pas'.

- got some screenshots, they look good !!

-------------------------------------------------------------------

Changes to the Pascal version between 05g and 05h

- A new rasterizer, more accurate, a tad slower, but shorter,
  with the help of function dispatch. Note that the loss
  of performance comes entirely from the reduction of the Bezier
  sub-division minimal step ( in the Pascal version, function dispatch
  seems to cost nothing compared to the rest of the work during
  rendering ). Modified drop-out control a bit, still needs work.

- deleted test.pas and hint.pas as they were unused

- added 'zoom3.pas', a re-vamped zoom2 displaying glyphs and
  pixels twice bigger.

- added fullscreen glyph display to the debugger

- other "corrections" of the interpreter, still not perfect :(

- added 8x8 font support to FullScr.pas. used by zoom, zoom2
  and zoom3 only.

-------------------------------------------------------------------

Changes to the Pascal version between "05f" and 05g

 *Lots* of changes, including :

- Debugger is now functional, and was used for debugging the interpreter

- Many bugfixes in the interpreter, with the help of the debugger.
  Unfortunately, it seems that some instructions's spec were highly
  erroneous. Moreover, some chapters ( like the Graphics State Summary )
  Seem to be heavy bullshit.

- Found uses of MIAP in the CVT program to create twilight points,
  had to deactivate the control_value_cutin test for zone 0 ! ??

- The Graphics State must _not_ be saved as a new glyph default after
  executing the CVT program !

- Found uses of IP in the CVT program to manage twilight points !!
  All these points are originaly set to the origin, which means that
  the call to IP is illegal, according to the spec !! Had to ignore
  such cases, but don't know how it affects accuracy of the hinting
  ( it seems to affect it much ! )

- All in all, most glyphs seem to be OK and differ only by one or two
  pixels from their windows counterparts. Still some very weird phenomenon
  though ( particularly at small pointsizes < 14 ). The DeltaP and DeltaC
  instructions seem to be badly documented, they usually result in
  glyph trashing !!

---------------------------------------------------------------

Changes to the Pascal version between 05d and 05f

- Added phantom points to glyph loader

- added leftSideBearing and advanceWidth to the instance record
  ( these values are device-independent and extracted from the HMTX table
    by the glyph table ).

  A good font server should call the renderer as scarcely as possible,
  and cache for each glyph, at a given pointsize :

  # the glyp bitmap

  # device-independent left side bearing and advance width

  # device-specific advance width, extracted from the hinted
    phantom points.

- fixed a bug in the new drop-out control !! yes, really :-)

- moved coderange functions from the interpreter to the tables component

- added 'Prepare_Glyph' function in the tables interface

- added 'hint' program to test glyph instruction hinting



--------------------------------------------------------------------------

Changes to the Pascal version between 04e and 05d

- New memory model fully supported

- new interpreter, less code and more checks :)

  * font and cvt programs execute smoothly

  * no more 'stack overflow' and 'invalid reference' errors

- Rewrote the raster component to :

  * correct a bug in the drop-out control

  * remove the trace tables. Now uses linked lists to do the
    job ( saves memory, no 64 profiles limit ). The resulting code
    is a tad bigger and of similar speed ( faster for complex glyphs,
    tiny slower for simple ones )

  * finally, add the much needed second pass when drop-out control
    is on. Drop-out control has been disabled for direct gray-rendering

- added 'zoom2', used to view a magnified view of the rendered glyphs
  at small point sizes, along with the according outline.

- added 'timer' that now uses the new memory model.

------------------------------------------------------------------------

Changes to the Pascal version between 003 and new 004e

- Added Mem_Allocated and Mem_Free to TTMemory

- Changed the File component.  Added frame access and changed the
  interface. Added the GET_xxxx functions.

- Added the 'Layout' documentation file that discusses the layout of
  data within the resident and instance tables.

- Modified heavily TTTables to build resident tables easily.

- Several bugfixes in the interpreter. Not finished though.
  The interpreter needs to be modified to take advantage of the new
  memory model. But we ( I and Robert ) must discuss about it before
  making the changes.

- Moved some tables from TTIns to TTTables

- Some changes and fixes in TTCalc

                                                      - David


