Re: bidi in win32graphics

From: tomasfrydrych@yahoo.co.uk
Date: Fri Sep 19 2003 - 05:27:29 EDT

  • Next message: nshmyrev: "Updated Russian Translation"

    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