Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 05 Jun 2017 18:25:05 +0000
From:      bugzilla-noreply@freebsd.org
To:        gnome@FreeBSD.org
Subject:   [Bug 219608] print/freetype2 produces incorrect line spacing for some fonts
Message-ID:  <bug-219608-6497-d8mKvggNT5@https.bugs.freebsd.org/bugzilla/>
In-Reply-To: <bug-219608-6497@https.bugs.freebsd.org/bugzilla/>
References:  <bug-219608-6497@https.bugs.freebsd.org/bugzilla/>

next in thread | previous in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D219608

--- Comment #12 from lightside <lightside@gmx.com> ---
(In reply to comment #11)
> I tries the two line patch, but the excess spacing problem returned.
> Looks like !error test fails and the latest patch is an effective noop.
Strange, because it works in my case.

I may recommend to close all mate-terminal instances and open it again for
test. Possible, that previous libfreetype2.so library used from memory. Com=
pare
with some screenshot from 2.7.1 version for the same mate-terminal profile,=
 for
example.

As about the "if ( !error )" check, it used before access to
ttsize->metrics->x_ppem in 2.8 version, for example:
http://git.savannah.gnu.org/cgit/freetype/freetype2.git/tree/src/truetype/t=
tdriver.c?h=3DVER-2-8#n357
-8<--
    if ( FT_IS_SCALABLE( size->face ) )
    {
      error =3D tt_size_reset( ttsize, 0 );

#ifdef TT_USE_BYTECODE_INTERPRETER
      /* for the `MPS' bytecode instruction we need the point size */
      if ( !error )
      {
        FT_UInt  resolution =3D
                   ttsize->metrics->x_ppem > ttsize->metrics->y_ppem
                     ? req->horiResolution
                     : req->vertResolution;
-->8-

The 2.7.1 doesn't have such check:
http://git.savannah.gnu.org/cgit/freetype/freetype2.git/tree/src/truetype/t=
tdriver.c?h=3DVER-2-7-1#n355
-8<--
    if ( FT_IS_SCALABLE( size->face ) )
    {
      error =3D tt_size_reset( ttsize );
      ttsize->root.metrics =3D ttsize->metrics;

#ifdef TT_USE_BYTECODE_INTERPRETER
      /* for the `MPS' bytecode instruction we need the point size */
      {
        FT_UInt  resolution =3D ttsize->metrics.x_ppem > ttsize->metrics.y_=
ppem
                                ? req->horiResolution
                                : req->vertResolution;
-->8-

The alternative method is to check for "if ( ttsize->metrics )", which also
worked.

--=20
You are receiving this mail because:
You are the assignee for the bug.=



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-219608-6497-d8mKvggNT5>