Thu 15 Sep 2016 02:02:00 PM UTC, original submission:
During the upgrade from 2.6.1 to 2.6.5/2.7 we noticed a lot of failed visual tests for mapnik on Windows.
The reference images are created on OsX and have been perfectly identical on Linux as well as on Windows up to 2.6.1.
I've read about the expected changes associated with new sub pixel hinting and tried different settings and combinations thereof:
- TT_CONFIG_OPTION_SUBPIXEL_HINTING
- interpreter-version 0|35|38|40
- no_stem_darkening 0|1
- ...
and the number of different pixels was in the hundreds.
The only option that reduced the number of different pixels (mostly in the lower tens) was "#define FT_CONFIG_OPTION_FORCE_INT64".
Otherwise using stock "/include/freetype/config/ftoption.h" and "ftconfig.h".
The differences are minimal and almost not visible to the naked eye.
However we enforce zero difference on mapnik visual tests and would like to keep it that way.
Looking through the code I'm not sure how "#define FT_CONFIG_OPTION_FORCE_INT64" could possibly influence results as "ftconfig.h" seems to branch to the same code (on Windows) whether it is defined or not.
Any hints on which settings to use to get pixel identical output again are highly appreciated.
Or a comment if pixel identical cross platform rendering is even expected?
4 images of one mapnik test are attached:
- With "FT_CONFIG_OPTION_FORCE_INT64", difference: 2 pixels
- Without "FT_CONFIG_OPTION_FORCE_INT64", difference: 274 pixels
|