[pkg-wine-party] Bug#818925: Packaging the TrueType fonts Re: Bug#818925: [wine-development] Glitches in Windows window systemmenu (minimize, windowed/fullscreen, close)

Jens Reyer jre.winesim at gmail.com
Fri Apr 8 15:34:53 UTC 2016


control: tags -1 + pending
control: tags 814844 + pending

Hi,

I just pushed all proposed changes to the git stretch branch. This
solves the current font issues [font-issues] in wine and
wine-development, once a new wine is released (tested with 1.8.2-rc3).

But I'm not really happy with them, although I see them as the best
solution for now. Therefore this painfully long mail, sorry.


Committed changes:
==================
These switch the build process to maintainer mode and rebuild the
TrueType fonts. Alexandre Julliard told me when I asked about maintainer
mode [AJ-fontforge]:

  There is definitely a risk too, particularly for fonts. They are
  supposed to be built with our forked version of fontforge
  (https://source.winehq.org/git/fontforge.git), that contains a couple
  of fixes compared to the upstream version.

Upstream's fontforge (20120731-b) has the following changes:
- Don't save the selected state.
- Enable the width of individual bitmap strikes to be altered.
- Avoid outputting trailing spaces in sfd files.
- Various hacks to avoid putting timestamps in generated files.
Debian (jessie/stretch/sid) is at the same upstream fontforge version.

In the build log there are already some warnings about missing glyphs,
but I haven't found real issues (yet).


Improving new situation:
========================
If we keep my changes we should try to get some of the forked changes
applied upstream, or at least in Debian. At least "width" and "trailing
spaces" sound like valid candidates. Not sure what the "timestamps" are
relevant for at all, and absolutely no clue about the "selected state".
I'd ask the involved parties about that soon.

We might also mention in debian/README.source that upstream uses a
forked fontforge - but per se this doesn't solve the need to rebuild the
Truetype fonts with a tool that is present in Debian.

Packaging the forked fontforge additionally in Debian doesn't sound right.


Alternatives:
=============
Not packaging the TrueType fonts imo is not a way to go. I consider the
known issues quite important, that's also why I'm a bit reluctant to
push current versions to backports.

But distributing them in main violates the DFSG [DFSG-discuss] (although
it seems this was the case for the last decade, until they were dropped
recently).
Instead of rebuilding the fonts in maintainer mode (and ignoring the
icons issue, see below), we could introduce a fonts-wine-contrib package
with the TrueType fonts, patch attached (todo: breaks/replaces older
versions), it replaces my following commits:
- Add TrueType fonts to clean to regenerate them.
- Don't error out on build warnings.
- Build wine in maintainer mode.
- Install wine's TrueType fonts.

If we could define a set of existing fonts in Debian that fulfill Wine's
requirements that would obsolete the font topic (but not the icons). But
I doubt there is one. Anyone?


Further questions:
==================
I haven't found a way yet to rebuild the icons (I'm not sure if some of
them are "source"), not even in maintainer mode. Adding all *.ico (and
*.bmp) files to clean didn't work.
But the icons end up in central apps like e.g. winecfg. So I assume this
is an issue which should be solved, and the solution probably includes
switching to maintainer mode.

Is there anything else not rebuilt from source left in the current
packaging? Mike already did an awesome job here lately.

Greets
jre



[font-issues]
- Missing glyphs to decorate the window (minimize, windowed/fullscreen,
close buttons) in "The Bat!"
- Text missing completely in the login window of "Steam".
- Depending on what fonts are installed on the system, you may get way
too big line heights e.g. in winefile (making dialogs bigger then the
screen)

The window decoration problem seems to exist only with the upstream fix
to take into account the fontdir configured at build time (so not in
Wine 1.8). But stretch (freeze in Jan 2017) will most probably have Wine
2.0. So I think we can't ignore that issue for stretch, which is why I
propose to use that patch already now in wine 1.8(.2).


[AJ-fontforge]
https://bugs.winehq.org/show_bug.cgi?id=40391#c3


[DFSG-discuss]
The Debian Free Software Guidelines and rules for "Debian main" can be
found here:
  https://www.debian.org/doc/debian-policy/ch-archive.html

Similar issues were discussed e.g. in the thread "Security concerns with
minified javascript code" starting at:
  https://lists.debian.org/debian-devel/2015/08/msg00427.html
Conclusion of that thread was (as I see it) that Debian should add the
required build tools to Debian. Shipping pre-built stuff and assuming
that it could be rebuild from source is not valid.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: fonts-wine-contrib.patch
Type: text/x-patch
Size: 2363 bytes
Desc: not available
URL: <http://lists.alioth.debian.org/pipermail/pkg-wine-party/attachments/20160408/67f59974/attachment.bin>


More information about the pkg-wine-party mailing list