GetCharacterPlacement in gr_Win32Graphics.cpp

From: tomasfrydrych@yahoo.co.uk
Date: Wed Sep 17 2003 - 09:01:08 EDT

  • Next message: Francis James Franklin: "Re: RH 9 rpms."

    > Hi Tomas,
    > We're having trouble understanding the work you did in the
    > Win32Graphics class with bidi. Can you look at the email's in the
    > win32graphics thread and offer some comments/advice?
    >
    > Your help would be really appreciated.

    Hi Martin,

    I had a brief look at the archive, the only thing I found was concerning
    the call to GetCharacterPlacement() ...

    The call to GetCharacterPlacement() is required on versions of Win32
    that _have_ a built-in bidi support to avoid the system reordering the
    text we pass to it on input (which has been already reordered by us in
    the layout engine).

    This call _does_not_ effect the layout in any way, it only translates the
    character codes to glyph indices which are then passed to
    ExtTextOut(), together with the character positioning information in
    pCharAdvances. The pCharAdvances information has to be (and is)
    used in all calls to ExtTextOut().

    The test for placementResult is simply a test for success of the call to
    GetCharacterPlacement(), and must stay there because if the call fails,
    we do not have character indices to feed to ExtTextOut() and have to
    use the original characters instead.

    Hope this helps.

    Tomas



    This archive was generated by hypermail 2.1.4 : Wed Sep 17 2003 - 09:15:39 EDT