The library is fast, AmigaOS friendly TrueType render engine. It has
nothing to do with Amiga outline font system. This system has a lot of
limitations which make it useless for high speed and quality text
output. If someone wants an integration of TrueType with AmigaOS
bullet.library like outline font system, should consider using
ttf.library. Ttengine.library opens TrueType font by itself and renders
high quality glyphs directly into any RastPort.
The render engine of the library is based on FreeType2 project
(http://www.freetype.org). This version of ttrender.library uses 2.1.3
FreeType build.
See http://amiga.pl/ttengine for news, downloads, online autodoc and
programming tutorial.
CHANGES (last three versions)
v 7.1 (15.03.2005)
- Native AmigaOS 4 version compiled by Andreas Falkenhahn.
- Mask and render buffers are now allocated for every RastPort, no more
global. It fixes problems with multiple processes accessing TTEngine
simultaneously (trashes instead of text).
v 7.0 (12.01.2005)
- Realtime font preview in the font requester.
- Introduced new metrics mode designed for text-oriented applications,
especially using JAM2 drawmode. Mode is turned on by specifying
TT_DiskFontMetrics, TRUE in TT_SetAttrs(). In this mode filled JAM2 area
has always height equal to TT_FontHeight (which is a sum of
TT_FontMaxTop and TT_FontMaxBottom). Horizontally JAM2 area is set
to cursor advance (it creates continuous filling even if TT_Text is called
char-by-char).
- New metrics attributes: TT_FontHeight (sum of TT_FontMaxTop and
TT_FontMaxBottom), TT_FontBaseline (alias for TT_FontMaxTop) and
TT_FontWidth (cursor advance, only for monospaced fonts).
- TTEngine now distincts monospaced fonts. TT_FontFixedWidth can be specified
for TT_OpenFont(), function will fail on proportional font. The attribute
is also gettable with TT_GetAttrs(). TTRQ_FixedWidthOnly attribute may be
passed to TT_Request() to filter proportional fonts out.
- TTEManager 1.2: cache size and global gamma settings. Fixed font window
refresh deadlock under MorphOS.
- New API functions: TT_ObtainFamilyListA(), TT_FreeFamilyList.
v 6.6 (04.05.2004)
- Bugfix: COMPLEMENT draw mode with antialiased fonts no more leaves trashes
when done twice at the same place. It allows for using COMPLEMENT mode as
an easy way to make moving text brushes. Works as well combined with
INVERSVID and transparency. Bug reported by Marcin Kwiatkowski.
- Bugfix: Missing render mode initialization in TT_TextExtent(). Glyph
bitmaps were not cached if TT_TextExtent() was called before any
TT_Text() or TT_TextLegnth() on this rastport. It caused significant
slowdown of TT_TextExtent(). Bug reported by Darius Brewka.
- Bugfix: If temporary RastPort was used with NULL BitMap, this NULL pointer
was passed to GetCyberMapAttr(). It might lead to Enforcer read hits. Now
if RastPort's BitMap is NULL, antialiased render mode is assumed and
GetCyberMapAttr() is not called.
- Fixed "DetachedRastPort" example code to work on RGB screens. Color 1 in
colormap of a window opened on Workbench is usually black. Rendering black
text on black (BMF_CLEAR) bitmap usually results just in black window
contents... Changed text color to 2 (usually white). Why it worked on
planar or LUT bitmaps? Clearing such bitmap does not clear to black but to
background color (gray on most setups).
FEATURES
The library expands FreeType functionality making usage of TrueType
fonts easy and comfortable. Below you can find key features:
- renders whole strings (not single glyphs) with kerning.
- antialiasing to any (not neccesarily uniform color) background.
- user adjustable gamma correction.
- optional text transparency.
- system compatible output to any (including planar) RastPort.
- supports JAM1. JAM2, INVERSVID, COMPLEMENT RastPort modes.
- supports 8-bit to Unicode mapping with "ENV:ttfcodepage" table
compatible with ttf.library.
- allows for direct 16/32-bit Unicode string rendering.
- supports ISO-8859 and UTF-8 text encodings.
- easy to use, graphics.library like API.
- efficient system-wide glyph cache system.
- font database system allows flexible font files storage and
advanced faces classification.
|