[RFA] Your taipeifonts package did not pass QA
repo-font-audit
nim at fedoraproject.org
Mon Nov 23 06:20:14 UTC 2009
Dear packager,
At 20091122T202901Z, your “taipeifonts” package failed one or more of the tests
I was performing on the “fedora-devel” repository located at:
http://koji.fedoraproject.org/static-repos/dist-f13-build-current/x86_64/
There are three different reasons that may cause this message:
1. your package is including one or more font files, but not packaging
them properly;
2. your package is including one or more font files, and I've found
issues in some of them;
3. your package is not shipping any font file, but the way it accesses
fonts in other packages is not satisfying.
To stop receiving this message, you need to:
1. drop the font files or fix their packaging;
2. relay the fonts issues to the fonts upstream to get them revised;
3. work with the code upstream to improve the way it accesses font
files (usually by making it use fontconfig through a higher-level
text library such as pango, pango-cairo, harfbuzz, or QT)
You can self-check your packages at any time by:
1. installing createrepo and fontpackages-tools:
# yum install createrepo fontpackages-tools
2. putting your packages and any font package they depends on in a
test directory
3. indexing this directory with createrepo:
$ createrepo path-to-test-directory
4. running repo-font-audit:
$ repo-font-audit test file://absolute-path-to-test-directory
A summary of the issues I detected is appended here. For your
convenience a more comprehensive analysis is also attached to this
message.
Errors, warnings and suggestions:
P# t2 t3 t5 t7 t10 t12 t13 t17 t19
1 4 4 1 4 4 4 3 4 1
Total 4 4 1 4 4 4 3 4 1
P# Maintainer SRPM RPM EVR Arch
1 cchance taipeifonts taipeifonts 0:1.2-9.fc12 noarch
Test explanation:
t2. Error: fonts in packages that do not declare font metadata
☛ Packager task
Font-specific rpm metadata is required for automatic font installation to
work. If you apply our font packaging templates, it will be generated at
package creation time.
t3. Error: packages that mix different font families
☛ Packager task
Reliable font auto-installation requires shipping only one font family per
font package.
(If you've remapped some font names at the fontconfig level your package
may appear here pending some fontconfig fixes upstream is aware of).
t5. Error: font faces duplicated by different packages
☛ Packager task, eventual upstream task
Several packages duplicate font files with the same face name. This
needlessly wastes resources infrastructure and user side and makes font
maintenance problematic:
1. Very often an upstream that copied some fonts will forget to keep them
up to date, and the duplication will result in the distribution of old
buggy data.
2. Shipping the same font in different formats is also problematic:
different font formats have different features, and are processed by
different font libraries. It is almost impossible to create a font in
multiple formats that will all behave the same. Users hate fonts that do
not behave consistently everywhere.
3. Most of our applications use fontconfig to access fonts, and fontconfig
uses font names to identify files. Naming collisions make font selection
unreliable. So even genuine forks with different features from the
original are a problem if not renamed.
A repository should always include only one version of a font face.
This test can not discriminate between packages and identity the correct
owner of the font face. His maintainer will be blamed with others. If
you're not him it is therefore unfriendly not to fix this error as soon as
you can.
It is always possible to reuse a font file packaged separately by adding a
dependency on the other package providing it, and accessing the font
through fontconfig.
If an application can not use fontconfig today this is a serious bug that
should be reported to the application upstream. Please ask it to add
fontconfig support to their code (usually, via a higher-level library
such as pango-cairo). However it can workarounded by the packager with
symlinks (that will need maintenance).
If an application can not use a modern font format and forces the
re-packaging in an older format of an exiting font this is an application
bug that should be reported to the application upstream. In that case
these is no good solution possible baring the fixing of the application.
t7. Error: fonts not identified as such by libmagic
☛ Upstream task
libmagic could not identify some files with font-like extensions in the
package. The files may be malformed and in need of fixing, or they use a
font extension when they should not, or libmagic has a bug.
Please relay the problem to the appropriate upstream to get it fixed.
t10. Error: fonts in packages that contain non-font data
☛ Packager task
Please do not mix font files with non-font data in packages. Fonts are
usually useful outside of the package that deploys them and should be
installable without pulling in other material.
t12. Warning: fonts in packages that do not respect font naming conventions
☛ Packager task
Please respect font package naming conventions and provide consistent
packages to users. Some scripts may depend on strict package naming.
t13. Warning: bad font naming
☛ Font upstream task, with packager workarounds
The font naming declared by one or more files in the package is not a
canonical WWS¹ naming or has some other naming problem. As noted by Adobe²
the W3C CSS font family model used in WPF/WWS is less than ideal, but it is
a standard and applications expect it.
This script attempted to apply some heuristics to fix this naming, and
computed different values than those in the font files.
That means some of those files are using non-standard, fuzzy,
self-conflicting, confusing names. A correct naming:
1. only includes “Width”, “Weight”, “Slant” qualifiers in its style name;
2. does not declare more than one of each;
3. declares them using the canonical keywords defined in the WWS paper;
4. declares them in “Width”, “Weight”, “Slant” order;
3. uses spaces to separate them;
4. does not use “Width”, “Weight”, “Slant” qualifiers in its family name;
5. does not use symbols such as & that cause problems in SGML/XML/HTML
contexts.
The canonical naming computed by this script was printed at test time.
Please note that it is only correct in a formal sense: no attempt was made
to check that the computed naming corresponds to actual font
characteristics. It still needs human review (when the computed naming is
way off however that usually indicates the original naming is particularly
bad and confusing).
Because the aim of this test is to help improve overall font naming it will
not accept some user-unfriendly naming exceptions Microsoft handles in its
WPF heuristic. Also, the naming parsing used in this test is more aggressive
than the one Microsoft uses, so it will manage to “fix” some names WPF can
not, at the expense of a few false positives³.
The average application is not as smart as this script and will not attempt
to “fix” font naming in any way. Therefore, even if this script computed a
correct naming, you should not rely on applications doing the same. Please
ask the font usptream to fix the naming directly in the font file(s).
Packager workaround: patch the file (if it is available in .sfd format),
or add a fontconfig rule to your package to hide the problem⁴.
¹ http://blogs.msdn.com/text/attachment/2249036.ashx
http://blogs.adobe.com/typblography/typotechnica2007/Font%20names.pdf
² http://blogs.adobe.com/typblography/atypi2006/CSS%20&%20OT%2015.pdf
³ For example the family name may include some words that look like a
“Width”, “Weight”, “Slant” attribute, but that are used in a different
sense. This script is not a natural language parser and can not detect
those cases reliably
⁴ cf the “fontpackages” remapping template; unfortunately this workaround
won't fix problems for non-fontconfig applications, or when
interoperating with other systems.
t17. Warning: fonts that do not pass fontlint sanity checks
☛ Font upstream task
Fontforge's fontlint¹ test suite found problems in some files included in
the package. Those problems may not be obvious and only manifest as
strange behaviour in specific applications (making them hard to debug).
For that reason it is recommanded to report those problems upstream and
get them fixed, even if the font file seems to work fine most of the time.
You can ask help about specific fontlint errors on:
https://lists.sourceforge.net/lists/listinfo/fontforge-users
Please relay the problem report to the font upstream.
¹ http://fontforge.sourceforge.net/fontlint.html
t19. Suggestion: fonts with partial script coverage
☛ Font upstream task
Some font files included in the package are missing a few glyphs to be
accepted by fontconfig as covering one or several scripts. Therefore they
could be made useful to more people with only a little effort.
Many scripts differ by only a few glyphs and it is unfortunately common
for font authors not to notice they stopped just short of full support for
some of them.
To check a font file script coverage, run:
$ FC_DEBUG=256 fc-query font-file
and look for lines like:
script-id¹(number) { list-of-unicode-codepoints }
For example
“mi(2) { 1e34 1e35 }”
means fontconfig will accept the tested file for Maori if codepoints 1e34
and 1e35 are added.
fontconfig is used by a lot of applications on many systems so ignoring
its opinion on a font is a mistake.
Please relay the incomplete coverage report to the font upstream.
P.S.
Of course fontconfig is not perfect either so it may require a glyph for a
script when it should not. In that case, please report the problem to
fontconfig upstream:
https://bugs.freedesktop.org/enter_bug.cgi?product=fontconfig
against the “orth” component.
¹ http://www.loc.gov/standards/iso639-2/php/code_list.php
² https://bugs.freedesktop.org/enter_bug.cgi?product=fontconfig
Please take the appropriate measures to fix the “taipeifonts” package.
I will warn you again if it is still necessary next time I am ran.
This report was generated by the repo-font-audit command from:
http://fedoraproject.org/wiki/fontpackages
Please post questions, suggestions, patches or bug reports to:
https://www.redhat.com/mailman/listinfo/fedora-fonts-list
(subscription required)
Your friendly QA robot,
--
repo-font-audit
-------------- next part --------------
A non-text attachment was scrubbed...
Name: taipeifonts.tar.xz
Type: application/x-xz-compressed-tar
Size: 26404 bytes
Desc: not available
URL: <http://listman.redhat.com/archives/fedora-fonts-bugs-list/attachments/20091123/00dddfa3/attachment.bin>
More information about the Fedora-fonts-bugs-list
mailing list