[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [ft-devel] Wrong metric initialization in 2.3.4
From: |
David Turner |
Subject: |
Re: [ft-devel] Wrong metric initialization in 2.3.4 |
Date: |
Mon, 21 May 2007 10:08:15 +0200 |
Hello Sam,
I think this is already fixed in the CVS (it was nothing more than a typo).
Could you check this ?
Thanks in advance,
- David Turner
- The FreeType Project (www.freetype.org)
On Sun, 20 May 2007 01:18:43 +0900, "Sam Pfeisen" <address@hidden> said:
> In 2.2.1 tt_size_init is called during FT_New_Face and it calls
> tt_size_run_fpgm and metrics are initialized.
>
> Since version 2.3.4 tt_size_init and tt_size_init_bytecode are separated.
> In 2.3.4 bytecode-related init functions are not called until
> FT_Load_Glyph.
> tt_size_init_bytecode and tt_size_run_fpgm are called during
> FT_Load_Glyph, and it's usually after FT_Set_Char_Size.
> One of the side effects is that some of the metrics set by
> FT_Set_Char_Size are reset to zeroes again after FT_Load_Glyph.
>
> Testing sample code (based on ttdebug in ftdemo) is attached.
>
> ============
>
> % metrictest 1 16 myfont.ttf
>
> ## freetype-2.2.1
> 1. After FT_New_Face()
> size->root.metrics.x_ppem=0
> size->metrics.x_ppem=0
> exec->metrics.x_ppem=0
> 2. After FT_Set_Char_Size()
> size->root.metrics.x_ppem=16
> size->metrics.x_ppem=16
> exec->metrics.x_ppem=16
> 3. After FT_Load_Glyph()
> size->root.metrics.x_ppem=16
> size->metrics.x_ppem=16
> exec->metrics.x_ppem=16
>
> ## freetype-2.3.4
> 1. After FT_New_Face()
> size->root.metrics.x_ppem=0
> size->metrics.x_ppem=0
> exec->metrics.x_ppem=0
> 2. After FT_Set_Char_Size()
> size->root.metrics.x_ppem=16
> size->metrics.x_ppem=16
> exec->metrics.x_ppem=0
> 3. After FT_Load_Glyph()
> size->root.metrics.x_ppem=16
> size->metrics.x_ppem=0
> exec->metrics.x_ppem=0
>
> ----------------