freetype2

Haskell binding for FreeType 2 library

Version on this page:0.1.2
LTS Haskell 22.36:0.2.0
Stackage Nightly 2024-10-03:0.2.0
Latest on Hackage:0.2.0

See all snapshots freetype2 appears in

BSD-3-Clause licensed and maintained by Jason Dagit
This version can be pinned in stack with:freetype2-0.1.2@sha256:bc5651487b4921255cbd7ca6faa94a96964374c3f4d481c101f7f22df4317c0f,11933

Module documentation for 0.1.2

Depends on 3 packages(full list with versions):
Used by 1 package in lts-13.11(full list with versions):

Wrapper around FreeType 2 library. Relevant exerpts from the FreeType 2 website:

What is FreeType 2?

FreeType 2 is a software font engine that is designed to be small, efficient, highly customizable, and portable while capable of producing high-quality output (glyph images). It can be used in graphics libraries, display servers, font conversion tools, text image generation tools, and many other products as well.

The following is a non-exhaustive list of features provided by FreeType 2.

  • FreeType 2 provides a simple and easy-to-use API to access font content in a uniform way, independently of the file format. Additionally, some format-specific APIs can be used to access special data in the font file.

  • Unlike most comparable libraries, FreeType 2 supports scalable font formats like TrueType or Type 1 natively and can return the outline data (and control instructions/hints) to client applications.

By default, FreeType 2 supports the following font formats.

  • TrueType fonts (and collections)

  • Type 1 fonts

  • CID-keyed Type 1 fonts

  • CFF fonts

  • OpenType fonts (both TrueType and CFF variants)

  • SFNT-based bitmap fonts

  • X11 PCF fonts

  • Windows FNT fonts

  • BDF fonts (including anti-aliased ones)

  • PFR fonts

  • Type 42 fonts (limited support)

From a given glyph outline, FreeType 2 is capable of producing a high-quality monochrome bitmap, or anti-aliased pixmap, using 256 levels of gray. This is much better than the 5 levels used by Windows 9x/98/NT/2000 or FreeType 1.

FreeType 2 supports all the character mappings defined by the TrueType and OpenType specification. It is also capable of automatically synthetizing a Unicode charmap from Type 1 fonts, which puts an end to the painful 'encoding translation' headache common with this format (of course, original encodings are also available in the case where you need them).

The FreeType 2 core API provides simple functions to access advanced information like glyph names or kerning data.

FreeType 2 provides information that is often not available from other similar font engines, like kerning distances, glyph names, vertical metrics, etc.

FreeType 2 provides its own caching subsystem since release 2.0.1. It can be used to cache either face instances or glyph images efficiently.