freetype2

My personal branch of the freetype2 source code


Keywords
graphics, library, Propose Tags, FreeType2, , Index, Quick Jump, FreeType, FreeType.Cache, FreeType.Cache.Internal, FreeType.Control.Driver, FreeType.Control.Parameter, FreeType.Control.Parameter.Internal, FreeType.Control.Subpixel, FreeType.Control.Subpixel.Internal, FreeType.Core.Base, FreeType.Core.Base.Internal, FreeType.Core.Color, FreeType.Core.Color.Internal, FreeType.Core.Glyph, FreeType.Core.Glyph.Internal, FreeType.Core.Layer, FreeType.Core.Mac, FreeType.Core.Mac.Internal, FreeType.Core.Size, FreeType.Core.Size.Internal, FreeType.Core.Types, FreeType.Core.Unicode, FreeType.Core.Version, FreeType.Core.Version.Internal, FreeType.Error.Enumerations, FreeType.Error.Enumerations.Internal, FreeType.Error.Values, FreeType.Exception, FreeType.Exception.Internal, FreeType.Format.BDF, FreeType.Format.BDF.Internal, FreeType.Format.CID, FreeType.Format.CID.Internal, FreeType.Format.Font, FreeType.Format.Font.Internal, FreeType.Format.Gasp, FreeType.Format.Multiple, FreeType.Format.Multiple.Internal, FreeType.Format.PFR, FreeType.Format.PFR.Internal, FreeType.Format.SFNT, FreeType.Format.SFNT.Internal, FreeType.Format.TrueType, FreeType.Format.TrueType.Internal, FreeType.Format.Type1, FreeType.Format.Type1.Internal, FreeType.Format.WinFNT, FreeType.Format.WinFNT.Internal, FreeType.Internal, FreeType.Miscellaneous.Incremental, FreeType.Miscellaneous.Incremental.Internal, FreeType.Miscellaneous.OpenType, FreeType.Miscellaneous.OpenType.Internal, FreeType.Miscellaneous.TrueType, FreeType.Miscellaneous.TrueType.Internal, FreeType.Miscellaneous.TrueTypeGX, FreeType.Miscellaneous.TrueTypeGX.Internal, FreeType.Support.Advance, FreeType.Support.Advance.Internal, FreeType.Support.BZIP2, FreeType.Support.BZIP2.Internal, FreeType.Support.Bitmap, FreeType.Support.Bitmap.Internal, FreeType.Support.Computations, FreeType.Support.Computations.Internal, FreeType.Support.GZIP, FreeType.Support.GZIP.Internal, FreeType.Support.Glyph, FreeType.Support.Glyph.Internal, FreeType.Support.LZW, FreeType.Support.LZW.Internal, FreeType.Support.List, FreeType.Support.List.Internal, FreeType.Support.Module, FreeType.Support.Module.Internal, FreeType.Support.Outline, FreeType.Support.Outline.Internal, FreeType.Support.Scanline, FreeType.Support.Scanline.Internal, FreeType.Support.System, FreeType.Support.System.Internal, More info, freetype2-0.2.0.tar.gz, browse, Package description, Package maintainers, JasonDagit, Mokosha, OleksiiDivak, edit package information
License
BSD-3-Clause
Install
cabal install freetype2-0.1.1

Documentation

freetype2

Bindings to the FreeType2 C library (version 2.10.1 as of when this was edited), following the API reference

These are mostly raw with a few key changes:

  • Every function that returns a FT_Error throws a FtError exception instead (defined in FreeType.Exception);
  • A lot of the functions are wrappers that automatically allocate memory so you do not have to alloca/peek/withCString constantly;
  • Deprecated values that are simply synonyms to other values are omitted;
  • Field names are prefixed, so none of them overlap;
  • Every function that was modified by this library has a raw counterpart in a matching *.Internal module;

This package reexports the Foreign.Storable.Offset module and implements the Offset instance for all the datatypes. Alas Haddock currently does not show this (as per haddock#563).

Module structure

The whole package copies the API structure.

FreeType                                  - FreeType
├── Core API
│   ├── FreeType Version                  - FreeType.Core.Version
│   ├── Basic Data Types                  - FreeType.Core.Types
│   ├── Base Interface                    - FreeType.Core.Base
│   ├── Unicode Variation Sequences       - FreeType.Core.Unicode 
│   ├── Glyph Color Management            - FreeType.Core.Color
│   ├── Glyph Layer Management            - FreeType.Core.Layer
│   ├── Glyph Management                  - FreeType.Core.Glyph
│   ├── Mac Specific Interface            - FreeType.Core.Mac
│   └── Header File Macros                - FreeType.Core.Size
├── Format-specific API
│   ├── Multiple Masters                  - FreeType.Format.Multiple
│   ├── TrueType Tables                   - FreeType.Format.TrueType
│   ├── Type 1 Tables                     - FreeType.Format.Type1 
│   ├── SFNT Names                        - FreeType.Format.SFNT
│   ├── BDF and PCF Fonts                 - FreeType.Format.BDF     
│   ├── CID Fonts                         - FreeType.Format.CID
│   ├── PFR Fonts                         - FreeType.Format.PFR
│   ├── Window FNT Files                  - FreeType.Format.WinFNT 
│   ├── Font Formats                      - FreeType.Format.Font
│   └── Gasp Tables                       - FreeType.Format.Gasp 
├── Controlling FreeType modules
│   ├── Driver properties                 - FreeType.Control.Driver  
│   ├── Parameter Tags                    - FreeType.Control.Parameter
│   └── Subpixel Rendering                - FreeType.Control.Subpixel 
├── Cache Sub-System
│   └── Cache Sub-System                  - FreeType.Cache 
├── Support API
│   ├── Computations                      - FreeType.Support.Computations
│   ├── List Processing                   - FreeType.Support.List
│   ├── Outline Processing                - FreeType.Support.Bitmap
│   ├── Quick retrieval of advance values - FreeType.Support.Outline     
│   ├── Bitmap Handling                   - FreeType.Support.Scanline
│   ├── Scanline Converter                - FreeType.Support.Advance
│   ├── Glyph Stroker                     - FreeType.Support.Glyph
│   ├── System Interface                  - FreeType.Support.System
│   ├── Module Management                 - FreeType.Support.Module
│   ├── GZIP Streams                      - FreeType.Support.GZIP
│   ├── LZQ Streams                       - FreeType.Support.LZW
│   └── BZIP2 Streams                     - FreeType.Support.BZIP2
├── Error Codes
│   ├── Error Enumerations                - FreeType.Error.Enumerations 
│   └── Error Values                      - FreeType.Error.Values
└── Miscellaneous
    ├── OpenType Validation               - FreeType.Miscellaneous.OpenType
    ├── Incremental Loading               - FreeType.Miscellaneous.Incremental
    ├── The TrueType Engine               - FreeType.Miscellaneous.TrueType
    └── TrueTypeGX/AAT Validation         - FreeType.Miscellaneous.TrueTypeGX

Maintenance

Some bindings are bound to have errors in them, feel free to report them through Github.