Unit UTTF2Vct |
UTTF2Vct.pas (was UTTFToVector.pas; changed for 8.3 compatibility ) TTF to Vector converter Copyright (c) 1996-97 by Marco Cocco. All rights reseved. Copyright (c) 1996-97 by D3K Artisan Of Ware. All rights reseved. Please send comments to d3k@italymail.com mcocco@hotmail.com URL: http://free.websight.com/Cocco2/ Do you need additional features ? Feel free to ask for it! ****************************************************************************** * Permission to use, copy, modify, and distribute this software and its * * documentation without fee for any non-commerical purpose is hereby granted,* * provided that the above copyright notice appears on all copies and that * * both that copyright notice and this permission notice appear in all * * supporting documentation. * * * * NO REPRESENTATIONS ARE MADE ABOUT THE SUITABILITY OF THIS SOFTWARE FOR ANY * * PURPOSE. IT IS PROVIDED "AS IS" WITHOUT EXPRESS OR IMPLIED WARRANTY. * * NEITHER MARCO COCCO OR D3K SHALL BE LIABLE FOR ANY DAMAGES SUFFERED BY * * THE USE OF THIS SOFTWARE. * ****************************************************************************** * D3K - Artisan Of Ware - A Marco Cocco's Company * * Casella Postale 99 - 09047 Selargius (CA) - ITALY * ****************************************************************************** History ------------------------------------------------------------------ 17/Dec/1996 v1.00 Start of implementation 19/Dec/1996 v1.01 Added some sparse comments 20/Dec/1996 v1.02 Added support for Delphi 1.0/Win3.x 20/Dec/1996 v2.00 Converterd from pure class to component 20/Dec/1996 v2.01 Added support for UNICODE (Delphi 2.0 only) 03/Jan/1997 v2.02 Coordinate scaling causing runtime errors has been fixed. Bug in memory allocation has been fixed (Delphi 1.0). Now works even with R+, Q+ 04/Jan/1997 v2.03 Added automatic conversion of glyphs to a GDI region (useful for clipping & special effects) 14/Jan/1997 v2.04 Some minor changes 15/Jan/1997 v2.05 Some minor changes To do: - Test for new routines added in v2.03 - Glyph scaling to caller defined dimensions (!) - Baseline coordinate retrieval (!) - UNICODE tests (need WinNT to do this) (!) - Increase performance and spline precision (?) - Triangle subdivision for texture mapping (?) - Char to char morphing (?) - 3D Extrusion (?) (!) = to do as soon as possible (?) = may be
Classes |
TStrokeCollection -
TTTFToVectorConverter -
Functions |
Register - Release the strokes
Types |
PFontStroke
TEnumStrokesCallback
TFontStroke
Constants |
Variables |
Functions |
Types |
PFontStroke = ^TFontStrokeFont stroke: a Font Stroke is the "basic" element of a character glyph, that is a glyph is a sequence of connected strokes (lines). First point of first stroke connects to last point of last stroke. All strokes with equal GlyphNumber value come from the same glyph. Strokes of the same glyph are stored sequentially, i.e. stroke 0, stroke 1, ... stoke n-1.
TEnumStrokesCallback = function( Idx: integer; const Stroke: TFontStroke ): boolean of objectNote: Strokes[i].Pt2=Strokes[i+1].Pt1 (also Strokes[i].Pt1=Strokes[i-1].Pt2) when Strokes[i].GlyphNumber = Strokes[i+1].GlyphNumber
TFontStroke = record
GlyphNumber : integer;
Pt1 : TPoint;
Pt2 : TPoint;
end;
Constants |
Variables |