freetype2.library 2.15 is the library of AAText (util/wb/AAText):
FreeType 2.15.0 (2026) as an AmigaOS 3 shared library, and an outline
font engine for diskfont.library. It replaces freetype2.library 1.x
(FreeType 2.1, 2002, installed with FTManager). Versions 1.0-1.2 were
called aatext.library.
- FreeType API: the full FreeType 2.15.0 API for programs (165 functions),
with the same function order as freetype2.library 1.3, so programs
written for 1.x run unchanged.
- diskfont engine: fonts whose .otag file names OT_Engine "freetype2",
so fonts installed with FTManager for 1.x use it unchanged. Fonts
installed with AATextManager before 2.15 name the engine "aatext":
AATextManager's Repair tab changes them (until then keep
LIBS:aatext.library).
What the engine does better than freetype2.library 1.3
- FreeType 2.15.0: TrueType, OpenType/CFF (.otf), CFF2 and variable
fonts, WOFF, Type 1 (.pfb/.pfa), CID, Type 42, PFR, Windows FNT, PCF
and BDF bitmap fonts (also gzip or LZW compressed).
- 1-bit glyphs hinted for monochrome output (the font's own TrueType
instructions), not antialiasing hints thresholded to black and white.
Letters like W, a, e no longer break apart at small sizes.
- 8-bit antialiased glyph maps (OT_GlyphMap8Bit of the AmigaOS 3.2 NDK).
- Symbol fonts (Symbol and other MS symbol encoded fonts) find their
glyphs.
- Kerning from the GPOS table (as HarfBuzz applies the 'kern' feature),
so newer fonts without a 'kern' table are kerned too.
- OT_EmboldenX/Y (algorithmic bold), OT_SetFactor (width), 32-bit glyph
codes (OT_GlyphCode_32, OT_WidthList32), OT_NumGlyphs.
- OT_Spec9_Hinter: default, autohinter, none, and new "light".
- Glyph maps and width lists agree (1.3 measured widths and drew glyphs
with different hinting).
- FreeType runs on its own 48 KB stack when the caller has less than
32 KB left: no crashes in programs with small stacks.
- FREETYPE_PROPERTIES environment variable for FreeType driver settings,
e.g. SetEnv FREETYPE_PROPERTIES "cff:no-stem-darkening=0".
- Colour emoji for programs: COLR fonts (e.g. Twemoji Mozilla) render
in colour with FT_LOAD_COLOR. Tools/ft2color shows them in a window.
Installation
Copy LIBS:freetype2.library LIBS:freetype2.library.bak
Copy Libs/freetype2.library LIBS:
(Libs/freetype2.library.060 is the 68060 build, copy it as
LIBS:freetype2.library; the .debug build prints to the serial port.)
To go back to 1.x, copy the .bak file back.
Code page: characters are mapped to Unicode with the code page in the
.otag file, or ENV:ftcodepage (256 big-endian words, as for
freetype2.library 1.x), or ISO-8859-1.
For programmers
Developer/ has the headers (proto, inline, clib, fd, libraries and the
FreeType 2.15.0 headers), freetype2_SDK.txt (API rules, colour glyphs,
building) and Examples/ with the source of the tools. With gcc:
#include <proto/aatext.h>
struct Library *AATextBase;
...
AATextBase = OpenLibrary("freetype2.library", 2);
FT_Init_FreeType(&library); /* and so on: the normal FreeType API */
m68k-amigaos-gcc -m68020 -O2 -noixemul -Iinclude \
-o ft2color Examples/ft2color.c
FreeType functions take their arguments on the stack (C order), not in
registers; the inline header does this for you. Each task should use its
own FT_Library.
Tools
ft2color colour emoji of a COLR font in a window (RTG screen)
ft2info library/FreeType version, font names, text as ASCII art
ft2bullet the font engine as diskfont.library uses it
ft2dfont a font through diskfont.library, drawn in a window
License: FreeType License (FTL.txt) for FreeType, MIT for the library
around it (LICENSE.txt). Portions of this software are copyright (C) 2026
The FreeType Project (www.freetype.org). All rights reserved.
|