About the recent change with DPI and freetype in master
For those of you who are following the development closely, you may have seen 2 changes.
- Freetype used to be a dependency for MuseScore. Now Freetype code is in MuseScore repository.
- DPI is now fixed at 72
Why this changes? Over the last 3 year we have seen several reports of inconsistent rendering of scores on different OSes. We tried to fix this in MuseScore 2.0.2 by using Freetype directly and not relying on Qt to get glyph metrics. It did solve the cases we had at hand at that time. Unfortunately, we got more reports so the bug was not fixed. A week ago, we got a very good case showing a different layout between Linux and Windows/MacOSX. Werner took a closer look and find out that glyph metrics given by Freetype were different on Mac and Linux and it was due to the fact we were using a different version of Freetype on each platform. To solve this issue, the latest version of Freetype is now in MuseScore repository and compiled into the MuseScore binary.
Despite this change, the problem remains. After further investigation, Werner found out that layout computation were dependent on the DPI and the DPI was different from OS to OS. So he made the DPI a constant. Now all internal computation should be the same and independent of the OS. Since the screen DPI is different on each platform, the score is scaled after layout before being displayed on screen.