Re: Need help understanding how things fit together



Very helpful, feel like I'm almost there. 

FT has a function FT_Get_Char_Index to get a glyph index from a unicode char code. Therefore, it seems you can feed Unicode + font file to FT directly and rasterize. What is the benefit of using HarfBuzz to do the unicode to glyph mapping instead of using FT directly?

On Tue, Jan 20, 2015 at 1:39 PM, Behdad Esfahbod <behdad behdad org> wrote:
On 15-01-20 10:18 AM, Anthony Kraft wrote:
> I have been researching text rendering and have read what I can find about
> Pango, HarfBuzz, and FreeType. However, I cannot seem to put together exactly
> how these pieces fit together since all explanations are quite high level. I
> think what would help me the most is to understand what the inputs/outputs are
> of each layer and how they feed into one another (or possibly where you can
> skip a layer).

I suppose you've read this already:

  http://behdad.org/text/

In short:

  - FreeType, takes a font file and glyph indices, font size, hinting
settings, etc, and outputs bitmap images.  This is called rasterization.
Alternatively, you can just get the glyph vector outline out of FreeType and
do your own rasterization,

  - HarfBuzz, takes Unicode text and font file, font size, etc, and outputs
list glyph indices and positions to show those glyphs.  This is called
shaping.  No rasterization happens whatsoever,

  - Pango, takes maked-up Unicode text and lays it out in a box, using
HarfBuzz and FreeType among a stack of other libraries or alternatives.  This
is called paragraph layout.  It handles things like line breaking, text
selection, etc,

HTH
--
behdad
http://behdad.org/



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]