Recent changes in java-1.6.0-openjdk (font dependencies)

Nicolas Mailhot nicolas.mailhot at laposte.net
Sat Nov 27 14:56:02 UTC 2010


Le samedi 27 novembre 2010 à 13:30 +0100, Ronald Wahl a écrit :
> On 27.11.2010 10:04, Nicolas Mailhot wrote:
> > Le vendredi 26 novembre 2010 à 17:18 -0500, TK009 a écrit :
> >> On Fri, Nov 26, 2010 at 4:45 PM, TK009<john.brown009 at gmail.com>  wrote:
> >>> On Fri, Nov 26, 2010 at 3:58 PM, Ronald Wahl<rwahl at gmx.de>  wrote:
> >>>> today I was very surprised that updating my F13 system required me to
> >>>> install ~20 fonts packages. Digging around a bit showed me that change
> >>>> in the java-1.6.0-openjdk package:
> >>>> http://osdir.com/ml/general/2010-11/msg38744.html
> >>>> Can anyone tell me the reason for all these fonts dependencies?
> >>>
> >>> I would like to know the reason for this as well.
> >>
> >> https://bugzilla.redhat.com/show_bug.cgi?id=657491
> >
> > This is basically due to the fact openjdk fontconfig support is
> > incomplete, and that instead of querying fontconfig for the appropriate
> > fonts to use for a particular language it relies on hardcoded font lists
> > in property files.
> > <...>
> > Those lists are regularly out of date (obsolete/false content), do not
> > <...>
> > Explicitely requiring font packages is a way to limit the breakage. It
> > sucks and is not really a long-term decision.
> 
> Thanks for the explanation. Is it possible to split out an openjdk 
> subpackage with all (or a part) of the gui related things?

I doubt it would be accepted, upstream is monolithic and jvm
modularization has just been pushed from Java 7 to Java 8 by Oracle.

> Another approach might be to synchronize the property files with the 
> installed fonts using a small tool running after fonts are installed or 
> removed from the system and using the font priorities in the fontconfig 
> system.

Another approach would be just to use fontconfig as-is without trying to
override it as fontconfig already maintains font indexes and updates
them on font package installation/removal. Just map each of the java
default families to a fontconfig default alias and be done with it.

> Sure if you miss all fonts for your specific locale you may just see 
> nothing or garbage but this problem is not limited to Java. It would be 
> cool if one could specify a list of locales for his system and then 
> require some virtual dependency like fonts-<locale> and each fonts 
> package providing fonts for that locale have a Provides: fonts-<locale> 
> in its spec file.

Our font packages already have font(:lang=foo) provides. Some
configurations of packagekit will even propose to install fonts for you
if you try to render text for which you have no font on system. Java's
problem is not that the infrastructure is not there it's that it's not
using it (same for all the software packages that try to scan font
directories and fail over their number instead of querying fontconfig
when they need a font)


-- 
Nicolas Mailhot



More information about the devel mailing list