[Bug 227761] print/freetype2: Fonts aren't correctly rendered with 2.9

bugzilla-noreply at freebsd.org bugzilla-noreply at freebsd.org
Thu May 3 01:32:48 UTC 2018


https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=227761

lightside <lightside at gmx.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |lightside at gmx.com

--- Comment #3 from lightside <lightside at gmx.com> ---
Hello.

(In reply to Baptiste Daroussin from comment #2)
> I can reproduce for sure, but I am not sure how to debug that :(
I think, possible to compare checksums for generated image with using
(expected) checksum value from FreeType 2.8 version (built with using (almost)
the same options) to identify related change(s) (and/or Git commit):
% make clean build
% cd work/*
% env LD_PRELOAD=./objs/.libs/libfreetype.so convert -append path/to/file.pdf
image.jpg
% sha256 -q image.jpg
<..>

I slightly modified testing environment for freetype2, which I introduced in
bug 219608 comment #27.
The (automated) git bisect have found following commit:
https://git.savannah.gnu.org/cgit/freetype/freetype2.git/commit/?id=75cb071b3fbfa2315c5d458fee2bb465a14568ae
-8<--
# bad: [86bc8a95056c97a810986434a3f268cbe67f2902] * Version 2.9.1 released.
=========================
# good: [a12a34451a99cbbcad55d466940fd445171927fd] * Version 2.8 released.
=======================
git bisect start 'VER-2-9-1' 'VER-2-8' '--'
# bad: [2f0e11406890cbd15d86f8e75ab6ab4da8898af4] Add tracing for hints.
git bisect bad 2f0e11406890cbd15d86f8e75ab6ab4da8898af4
# bad: [f53ccf6f8f3d1c5c717b0edd0529ef677c981f22] Minor comment fix.
git bisect bad f53ccf6f8f3d1c5c717b0edd0529ef677c981f22
# good: [79e3789f81e14266578e71196ce71ecf5381d142] * src/winfonts/winfnt.c
(FNT_Face_Init): Don't set active encoding.
git bisect good 79e3789f81e14266578e71196ce71ecf5381d142
# bad: [229a5535b53b308a8edda894fe112517c6d03b00] CHANGES: Add information on
global metrics rounding.
git bisect bad 229a5535b53b308a8edda894fe112517c6d03b00
# bad: [2e7bb5e825880301e762f41fd0efa2aa18a4421f] * src/cff/cffparse.c
(do_fixed): Fix typo.
git bisect bad 2e7bb5e825880301e762f41fd0efa2aa18a4421f
# good: [c8829e4bc18c99b8cc0f747216c2191ec669e11a] Fix pkg-config in
freetype-config for cross-compiling (#51274).
git bisect good c8829e4bc18c99b8cc0f747216c2191ec669e11a
# bad: [298e2ea5a6c2e3264f8abaa8b1d2371fb4c77f4d] [cff, truetype] Integer
overflows.
git bisect bad 298e2ea5a6c2e3264f8abaa8b1d2371fb4c77f4d
# bad: [75cb071b3fbfa2315c5d458fee2bb465a14568ae] [sfnt] Synthesize a Unicode
charmap if one is missing.
git bisect bad 75cb071b3fbfa2315c5d458fee2bb465a14568ae
# good: [390048fa468dfee06f722da6b8ca1b79022480d6] Remove deprecated comment.
git bisect good 390048fa468dfee06f722da6b8ca1b79022480d6
# first bad commit: [75cb071b3fbfa2315c5d458fee2bb465a14568ae] [sfnt]
Synthesize a Unicode charmap if one is missing.
-->8-

The changes in 75cb071b3fbfa2315c5d458fee2bb465a14568ae commit mentions about
FT_CONFIG_OPTION_POSTSCRIPT_NAMES define:
https://git.savannah.gnu.org/cgit/freetype/freetype2.git/tree/include/freetype/config/ftoption.h?h=VER-2-9-1#n290
-8<--
  /*************************************************************************/
  /*                                                                       */
  /* Glyph Postscript Names handling                                       */
  /*                                                                       */
  /*   By default, FreeType 2 is compiled with the `psnames' module.  This */
  /*   module is in charge of converting a glyph name string into a        */
  /*   Unicode value, or return a Macintosh standard glyph name for the    */
  /*   use with the TrueType `post' table.                                 */
  /*                                                                       */
  /*   Undefine this macro if you do not want `psnames' compiled in your   */
  /*   build of FreeType.  This has the following effects:                 */
  /*                                                                       */
  /*   - The TrueType driver will provide its own set of glyph names,      */
  /*     if you build it to support postscript names in the TrueType       */
  /*     `post' table, but will not synthesize a missing Unicode charmap.  */
  /*                                                                       */
  /*   - The Type 1 driver will not be able to synthesize a Unicode        */
  /*     charmap out of the glyphs found in the fonts.                     */
  /*                                                                       */
  /*   You would normally undefine this configuration macro when building  */
  /*   a version of FreeType that doesn't contain a Type 1 or CFF driver.  */
  /*                                                                       */
#define FT_CONFIG_OPTION_POSTSCRIPT_NAMES
-->8-

I found, if comment/remove FT_CONFIG_OPTION_POSTSCRIPT_NAMES define in
include/freetype/config/ftoption.h file, then this may fix issue for this PR.
Maybe, there are other solutions, of course.

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


More information about the freebsd-gnome mailing list