[Haskell-cafe] How to get glyph outline from ttf font.

Bit Connor bit at mutantlemon.com
Sat Apr 11 18:27:14 EDT 2009


On Sat, Apr 4, 2009 at 6:59 PM, Dmitry V'yal <akamaus at gmail.com> wrote:
> to get them out of font? As far as I know, freetype library is capable of
> extracting outlines, but is there any haskell binding for it which supports
> this functionality?
>
>        Here [1] one such lib was mentioned, but it wasn't availible online
> that time. Have situation changed today?

Hello, I am Bit from the thread that you referenced. I have not yet
uploaded the bindings to FreeType that I mentioned. I'll try to upload
a darcs repository of what I have.

The bindings are incomplete, but there is full support for loading
fonts and extracting the outlines. What is missing is FreeType's
functions for rendering glyphs to bitmaps.

I even made a high level wrapper function to make extraction of glyph
outlines easier:

outlineDecompose2 :: FT.Outline -> IO OutlineDecomposition

data OutlineContourStep
    = OutlineContourLineTo FT.Vector
    | OutlineContourConicTo FT.Vector FT.Vector
    | OutlineContourCubicTo FT.Vector FT.Vector FT.Vector
    deriving (Eq, Show)

data OutlineContour = OutlineContour FT.Vector [OutlineContourStep]
    deriving (Eq, Show)

data OutlineDecomposition = OutlineDecomposition [OutlineContour]
    deriving (Eq, Show)

I also made an example that renders the outlines using OpenGL to
verify that everything works.

I will apply for an account on code.haskell.org and upload the current
state of the bindings into a darcs repository there.

P.S. Anyone know how to apply to get an account on code.haskell.org?


More information about the Haskell-Cafe mailing list