Nicolas Mailhot via devel wrote: > That's an historical artefact, that made sense when everyone used the > same dozen font on windows, and when each and everyone of them could be > treated as a special case. Nowadays, even on Linux (what a change a > decade made) the font catalog is huge, and font processing *MUST* be > generic to scale. But the fonts shipped with M$ Windows or M$ Office are still by far the most widely used. And those are referenced as "Arial" and "Arial Narrow". So we NEED separate Liberation Sans and Liberation Sans Narrow fonts that can be used as drop-in font substitutes for these. >> So there need to be 2 separate fonts. > > No, what we need is to have a narrow set of liberation sans faces > installed with the rest of the liberation sans. That's not the same > thing as enshrining windows 95 style ways of deploying fonts. (windows > 95 was engineered around truetype limitations which have been solved in > opentype a long time ago; modern truetype is opentype). No, sorry. We need to be compatible with existing documents and (in the case of WINE) applications. This is the whole point of the Liberation fonts. And this is only the technical part, there is also a legal issue: > And nothing prevents either using a src.rpm with two sources, or making > a liberations-sans-narrow that supplements the base liberation-sans > package, or making liberation-sans-fonts depend directly on > liberation-sans-narrow > version. All of which result in a working > standard generic font(liberationsans) dep. Liberation 1 and Liberation 2 are under different, incompatible licenses. It would be illegal to merge the 2 fonts into a single font. The only legal way to merge the fonts would be to stick to Liberation 1 for Liberation Sans too, which the Liberation team does not want to do for various reasons. > Point being, apps should not hardcode in their deps a specific > liberation package split, just require font(liberationsans) like for any > other font family, and let the people in charge of liberation deal with > liberation internals, without leaking those internals right and left. > > The reason we have this breakage right now is that people though they > needn't bother applying a generic font model, that it would be simpler > to use legacy shortcuts, and that failed hard when liberation moved to > 2. Which, should have been none of the app business in the first place. > And restoring the legacy shortcuts does not help mid and long term. This is absolutely wrong. The reason we have this breakage right now is because somebody decided that liberation-fonts should Obsolete and Provide liberation-narrow-fonts without actually providing that font. That it is a narrow variant of Liberation Sans is entirely irrelevant, it could have been called Fred or Foo and it would still be the same issue. A package should NEVER claim to Obsolete and Provide foo-fonts if it does not actually contain the font Foo. In addition, the Obsoletes was versioned in a ridiculous way, as < 1:2.0, when there was never such a version of liberation-narrow-fonts (it did not even have an Epoch). So bumping over the Obsoletes required bumping the Epoch from unspecified (0) to 2 (because the Version is still 1.x and will remain so for the foreseeable future, because Liberation 2 does NOT include this font). And finally, unlike the old YUM, DNF also processes Obsoletes from old versions of packages in the GA repositories, so an update can no longer safely withdraw an Obsoletes. This is a DNF issue and we need a solution in DNF, but the DNF developers refuse to acknowledge this as a bug in DNF. And since Liberation Sans Narrow is a different font, the applications would need to require font(liberationsansnarrow), not font(liberationsans), and so they would still be hit by the Obsoletes mess (because only liberation-narrow-fonts actually provides that). Again, your ideal world in which narrow is a natively supported property of a merged font is NOT the world we live in! At least not now. Kevin Kofler _______________________________________________ devel mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxx To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxx Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/ List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/devel@xxxxxxxxxxxxxxxxxxxxxxx