[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