From: tomasfrydrych@yahoo.co.uk
Date: Fri Sep 19 2003 - 05:27:29 EDT
On 19 Sep 2003 at 19:02, Martin Sevior wrote:
>          No this should not be called UNLESS there are no pCharAdvances
> defined. 
No, Martin. If you look at the source, you will see that the ExtTextOut() 
_always_ takes the pCharAdvances as a parameter (including the 
simple_exttextout branch). The only difference between the two 
branches is that in the simple_exttextout scenario we pass to the 
ExtTextOut the unicode string, while in the other branch we pass it 
glyph indices (i.e., the indexes into the actual glyph table in the font 
file); I have explained the reasons for this in an earlier posting.
The problem with the code as it stands is that if we set 
gcpResult.lpDx = pCharAdvances before calling 
GetCharacterPlacement(), the call overwrites the advances we 
calculated in the layout classes with advances calculated by the 
system. That is why gcpResult.lpDx must be set to NULL, so 
that the subsequent call to ExtTextOut would use our advances, 
not the one's calculated by the system.
Tomas
This archive was generated by hypermail 2.1.4 : Fri Sep 19 2003 - 05:42:13 EDT