GR32_Text.pas Change Log

11 Nov 10 (ver 2.92)
updated  - compiler directives added to allow Mattias Andersson's VPR 
           polygon renderer to be used instead of the less accurate TPolygon32.
           
9 November 09 (ver 3.8)
Bugfix   - TText32.GetEx(const boundsRect: TFloatRect; ...) method was
           returning a nil array when alignH parameter = aLeft.
Updated  - TTrueTypeFont.create method is now declared virtual.

2 October 09 (ver 3.72)
added    - Compiler directives to stop 'unsafe code', 'unsafe type' and 
           'unsafe cast' warnings
updated  - LCDPolygonSmoothing function to better manage non-opaque backgrounds

4 September 09 (ver 3.7)
Bugfix  - Minor bug when drawing text along paths fixed.

25 August 09 (ver 3.6)
Changed - Overloaded Draw method. Drawing along a path now accepts vertical
          alignment as well as horizontal alignment.

17 July 09 (ver 3.5)
Added   - Text32LCDDrawDefault variable to GR32_Text unit.
Changed - Exposed LCDPolygonSmoothing procedure to the interface section.
Updated - Adjusted LCD lookup table values so when TText32.LCDDraw is enabled 
          text should appear much crisper and less bold.
Updated - LCDPolygonSmoothing procedure should now to better handle text on
          GR32_Text_ChangeLog.txtsemi-transparent backgrounds.

18 June 09 (ver 3.4c)
Changed - TText32.LCDDraw now uses VPR for sub-pixel rendering if the
          GR32_PolygonsEx compiler directive is defined.
Added   - Text32LCDDrawDefault boolean unit variable. When set to true,
          TText32.LCDDraw will default to true when TText32 objects are created.
 
16 June 09 (ver 3.4a)
Changed - TText32.LCDDraw property is now false by default.

16 June 09 (ver 3.4)
Changed - Significant improvements to TText32.Draw methods. Now supports
          sub-pixel antialiasing when drawing onto opaque backgrounds. Also, 
          text alignment has been improved to reduce the amount of antialiasing.
Added   - TText32.LCDDraw property toggles sub-pixel antialiasing.
Added   - TTrueTypeFont (a new base class which is a wrapper for the
          GetGlyphOutline Windows API function and numerous other TrueType 
          font handling routines.
Added   - TTrueTypeFont.Hinted property to control the GGO_UNHINTED flag in the 
          GetGlyphOutline Windows API function 
Added   - TTrueTypeFont.GetOutlineTextMetrics method
Added   - TTrueTypeFontAnsiCache: descendant of TTrueTypeFont to provide caching
Deleted - TTrueTypeFontCache class (replaced by TTrueTypeFontAnsiCache)
Added   - SimpleTextLCD function (similar to SimpleText function but uses 
          sub-pixel antialiasing).

19 May 09 (ver 3.3m)
Changed - Minor improvements to TText32.GetInflated and TText32.GetInflatedEx.

11 May 09 (ver 3.3e)
Changed - TText32.Get & TText32.GetEx overloaded methods modified to improve
          way text is drawn along a path

4 May 09 (ver 3.3c)
bugfix  - occasional text fill bug. Was using Alternate instead of Winding mode.
added   - TText32.CountCharsThatFit method
added   - overloaded TText32.Draw with another method which draws text with a
          specified bounding rectangle, vertical and horizontal alignments.
          
29 Apr 09 (ver 3.2e)
bugfix  - GetTextMetrics, GetTextRect, GetTextHeight & GetTextWidth had problems
          with spaces.     
Changed - PByte type declaration moved to implementaton section.

27 Apr 09 (ver 3.2c)
Changed - Minor changes to demo only.     

19 Apr 09 (ver 3.2)
Added   - GetEx methods including GetInflatedEx & GetBetweenPathsEx to TText32.
Added   - TArrayOfArrayOfArrayOfFixedPoint type.
Changed - SimpleText function parameter order.
     
14 Apr 09 (ver 3.1n)
Major rewrite of TText32 class. All font handling has been moved to a new
TTrueTypeFontCache class which now becomes a parameter for all TText32 font
rendering methods. Several functions moved to new GR32_Misc unit.
Added   - GetBetweenPaths method.
change  - TText32.GetPolyPoints renamed TText32.Get.
change  - TText32.GetInflatedPolyPoints renamed TText32.GetInflated.

5 Apr 09 (ver 3.0)
(Minor update but versioning now aligned with GR32_lines unit.)
change  - minor internal changes to accomodate changes to TLine32 class.
change  - renamed TText32.GetDilatedPolyPoints to TText32.InflatePolyPoints.

28 Feb 09 (ver 2.2n)
added  - TText32.DrawAndOutline method
added  - TText32.GetDilatedPolyPoints method

26 Feb 09 (ver 2.2m)
added  - TText32.Mirrored property
added  - TText32.ClearTransformations method

18 Feb 09 (ver 2.2i)
added  - TText32.CacheFont method

10 Feb 09 (ver 2.2e)
added  - overloaded TText32.GetPolyPoints method (ie for individual chars)
added  - GetTTFontCharMetrics function

9 Feb 09 (ver 2.2c)
bugfix  - recently introduced bug in TText32.GetTextMetrics method now fixed.

7 Feb 09 (ver 2.2)
bugfix  - minor issue with y-axis skew and accumulating rounding errors.
updated - code tidy up.

7 Feb 09 (ver 2.1)
bugfix - minor issue with calculation of CurrentPos when angle <> 0.
added  - translate method added to TText32 class

6 Feb 09 (ver 2.0)
Major rewrite. 
New TText32 class created to encapsulate all text drawing functions.

2 Feb 09 (Ver 1.1c)
changed - now uses GGO_UNHINTED flag with calls to Windows.GetGlyphOutline().

1 Feb 09 (Ver 1.1)
added - compiler option to use Mattias Andersson's new GR32_PolygonsEx unit.
added - widestring functions

26 Jan 09 (Ver 1.0)
Initial release