Re: Regarding fp_TextRun::_draw

From: tomasfrydrych_at_yahoo.co.uk
Date: Thu Dec 04 2003 - 04:38:33 EST

  • Next message: Jordi Mas: "commit: fixes uninit data acccess in STABLE"

    Hi Jordi,

    when length == 1 the character advances do not matter;
    charAdvance[0] is the distance by which the OS is to advance the pen
    after it draws char[0] and before it starts drawing char[1]. But if the lack
    of initialisation is a problem we can just set charAdvance[0] to the
    character width in this special case.

    Tomas

    On 4 Dec 2003 at 9:56, Jordi Mas wrote:

    > En/na Tomas Frydrych ha escrit:
    >
    > > Hi Jordi,
    > >
    > > yes, we need to call both _stripLigaturePlaceHolders() and
    > > _calculateCharAdvances() (in that order) before we start drawing; we
    > > do so in the head (line 1584, just before if(pG-
    >
    > Sorry Tomas,
    >
    > I forgot to mention that I work in stable. In stable, We call
    > _calculateCharAdvances() but when iLen=1 the rutine exits quickly and the line
    > 3426 [for(UT_uint32 n = 0; n < iLen - 1; n++)] is not executed.
    >
    > It looks to me that this was fixed in the commit 1.252 at fp_TextRun.cpp.
    >
    > May be you can have a look to the change log:
    >
    > http://www.abisource.com/bonsai/cvslog.cgi?file=abi/src/text/fmt/xp/fp_TextRun.cpp&root=/cvsroot
    >
    > and tell me which modifications should be backported, if any needs really to
    > be backported. May be we have to live with this in stable.
    >
    > Thanks Tomas.
    > --
    >
    > Jordi Mas i Herna`ndez (homepage http://www.softcatala.org/~jmas)
    > http://www.softcatala.org
    >



    This archive was generated by hypermail 2.1.4 : Thu Dec 04 2003 - 04:37:52 EST