Blame private/test-info

Packit 46375d
#!/bin/sh
Packit 46375d
# Prints textual info about the repo-font-audit tests
Packit 46375d
# $1 test id
Packit 46375d
# $2 "title" or "help"
Packit 46375d
Packit 46375d
[ "$2" == "help" ] && echo -n "☛ "
Packit 46375d
Packit 46375d
case "$1" in
Packit 46375d
 "outside-usr-share-fonts")
Packit 46375d
    case "$2" in
Packit 46375d
      "title")
Packit 46375d
        echo "Error: fonts deployed outside /usr/share/fonts"
Packit 46375d
        ;;
Packit 46375d
      "help")
Packit 46375d
        cat << EOF
Packit 46375d
Packager task
Packit 46375d
Packit 46375d
The standard location for font files is under the /usr/share/fonts root
Packit 46375d
(default fontconfig setting). Please simplify the work of font utilities
Packit 46375d
and use it exclusively. It is always possible to symlink font files
Packit 46375d
somewhere else on the file-system if an application requires it.
Packit 46375d
Packit 46375d
If you fear exposing your font files in fontconfig will cause problems,
Packit 46375d
please work with the fontconfig maintainers to resolve them.
Packit 46375d
EOF
Packit 46375d
        ;;
Packit 46375d
    esac
Packit 46375d
    ;;
Packit 46375d
  "without-rpm-metadata")
Packit 46375d
    case "$2" in
Packit 46375d
      "title")
Packit 46375d
        echo "Error: fonts in packages that do not declare font metadata"
Packit 46375d
        ;;
Packit 46375d
      "help")
Packit 46375d
        cat << EOF
Packit 46375d
Packager task
Packit 46375d
Packit 46375d
Font-specific rpm metadata is required for automatic font installation to
Packit 46375d
work. If you apply our font packaging templates, it will be generated at
Packit 46375d
package creation time.
Packit 46375d
EOF
Packit 46375d
        ;;
Packit 46375d
    esac
Packit 46375d
    ;;
Packit 46375d
  "family-mixing")
Packit 46375d
    case "$2" in
Packit 46375d
      "title")
Packit 46375d
        echo "Error: packages that mix different font families"
Packit 46375d
        ;;
Packit 46375d
      "help")
Packit 46375d
        cat << EOF
Packit 46375d
Packager task
Packit 46375d
Packit 46375d
Reliable font auto-installation requires shipping only one font family per
Packit 46375d
font package.
Packit 46375d
Packit 46375d
(If you've remapped some font names at the fontconfig level your package
Packit 46375d
may appear here pending some fontconfig fixes upstream is aware of).
Packit 46375d
EOF
Packit 46375d
        ;;
Packit 46375d
    esac
Packit 46375d
    ;;
Packit 46375d
  "duplicated-file")
Packit 46375d
    case "$2" in
Packit 46375d
      "title")
Packit 46375d
        echo "Error: exact font duplication"
Packit 46375d
        ;;
Packit 46375d
      "help")
Packit 46375d
        cat << EOF
Packit 46375d
Packager task, eventual upstream task
Packit 46375d
Packit 46375d
Several packages duplicate font files with the same checksum. This
Packit 46375d
needlessly wastes resources infrastructure and user side  and makes font
Packit 46375d
maintenance problematic.
Packit 46375d
Packit 46375d
A repository should always include only one version of a font file.
Packit 46375d
Packit 46375d
This test can not discriminate between packages and identity the correct
Packit 46375d
owner of the font files. His maintainer will be blamed with others. If
Packit 46375d
you're not him it is therefore unfriendly not to fix this error as soon as
Packit 46375d
you can.
Packit 46375d
Packit 46375d
It is always possible to reuse a font file packaged separately by adding a
Packit 46375d
dependency on the other package providing it, and accessing the font
Packit 46375d
through fontconfig.
Packit 46375d
Packit 46375d
If an application can not use fontconfig today this is a serious bug that
Packit 46375d
should be reported to the application upstream. Please ask it to add
Packit 46375d
fontconfig support to their code (usually, via a higher-level library
Packit 46375d
such as pango-cairo). However it can workarounded by the packager with
Packit 46375d
symlinks (that will need maintenance).
Packit 46375d
EOF
Packit 46375d
        ;;
Packit 46375d
    esac
Packit 46375d
    ;;
Packit 46375d
  "duplicated-face-ext")
Packit 46375d
    case "$2" in
Packit 46375d
      "title")
Packit 46375d
        echo "Error: font faces duplicated by different packages"
Packit 46375d
        ;;
Packit 46375d
      "help")
Packit 46375d
        cat << EOF
Packit 46375d
Packager task, eventual upstream task
Packit 46375d
Packit 46375d
Several packages duplicate font files with the same face name. This
Packit 46375d
needlessly wastes resources infrastructure and user side and makes font
Packit 46375d
maintenance problematic:
Packit 46375d
Packit 46375d
1. Very often an upstream that copied some fonts will forget to keep them
Packit 46375d
up to date, and the duplication will result in the distribution of old
Packit 46375d
buggy data.
Packit 46375d
Packit 46375d
2. Shipping the same font in different formats is also problematic:
Packit 46375d
different font formats have different features, and are processed by
Packit 46375d
different font libraries. It is almost impossible to create a font in
Packit 46375d
multiple formats that will all behave the same. Users hate fonts that do
Packit 46375d
not behave consistently everywhere.
Packit 46375d
Packit 46375d
3. Most of our applications use fontconfig to access fonts, and fontconfig
Packit 46375d
uses font names to identify files. Naming collisions make font selection
Packit 46375d
unreliable. So even genuine forks with different features from the
Packit 46375d
original are a problem if not renamed.
Packit 46375d
Packit 46375d
A repository should always include only one version of a font face.
Packit 46375d
Packit 46375d
This test can not discriminate between packages and identity the correct
Packit 46375d
owner of the font face. His maintainer will be blamed with others. If
Packit 46375d
you're not him it is therefore unfriendly not to fix this error as soon as
Packit 46375d
you can.
Packit 46375d
Packit 46375d
It is always possible to reuse a font file packaged separately by adding a
Packit 46375d
dependency on the other package providing it, and accessing the font
Packit 46375d
through fontconfig.
Packit 46375d
Packit 46375d
If an application can not use fontconfig today this is a serious bug that
Packit 46375d
should be reported to the application upstream. Please ask it to add
Packit 46375d
fontconfig support to their code (usually, via a higher-level library
Packit 46375d
such as pango-cairo). However it can workarounded by the packager with
Packit 46375d
symlinks (that will need maintenance).
Packit 46375d
Packit 46375d
If an application can not use a modern font format and forces the
Packit 46375d
re-packaging in an older format of an exiting font this is an application
Packit 46375d
bug that should be reported to the application upstream. In that case
Packit 46375d
these is no good solution possible baring the fixing of the application.
Packit 46375d
EOF
Packit 46375d
        ;;
Packit 46375d
    esac
Packit 46375d
    ;;
Packit 46375d
  "fc-query")
Packit 46375d
    case "$2" in
Packit 46375d
      "title")
Packit 46375d
        echo "Error: fonts fc-query can not parse"
Packit 46375d
        ;;
Packit 46375d
      "help")
Packit 46375d
        cat << EOF
Packit 46375d
Upstream task
Packit 46375d
Packit 46375d
fc-query could not parse some font files in the package. The files may be
Packit 46375d
malformed and in need of fixing, or fc-query has a bug.
Packit 46375d
Packit 46375d
Any font file rejected by fc-query will be useless in fontconfig and most
Packit 46375d
applications. If it can not be fixed drop it
Packit 46375d
Packit 46375d
Please relay the problem to the appropriate upstream to get it fixed.
Packit 46375d
EOF
Packit 46375d
        ;;
Packit 46375d
    esac
Packit 46375d
    ;;
Packit 46375d
  "libmagic")
Packit 46375d
    case "$2" in
Packit 46375d
      "title")
Packit 46375d
        echo "Error: fonts not identified as such by libmagic"
Packit 46375d
        ;;
Packit 46375d
      "help")
Packit 46375d
        cat << EOF
Packit 46375d
Upstream task
Packit 46375d
Packit 46375d
libmagic could not identify some files with font-like extensions in the
Packit 46375d
package. The files may be malformed and in need of fixing, or they use a
Packit 46375d
font extension when they should not, or libmagic has a bug.
Packit 46375d
Packit 46375d
Please relay the problem to the appropriate upstream to get it fixed.
Packit 46375d
EOF
Packit 46375d
        ;;
Packit 46375d
    esac
Packit 46375d
    ;;
Packit 46375d
  "broken-symlink")
Packit 46375d
    case "$2" in
Packit 46375d
      "title")
Packit 46375d
        echo "Error: broken symlinks to font files"
Packit 46375d
        ;;
Packit 46375d
      "help")
Packit 46375d
        cat << EOF
Packit 46375d
Packager and upstream task
Packit 46375d
Packit 46375d
The symlinked font file has moved, been renamed, or the symlink was never
Packit 46375d
properly set up. You need to change the symlink.
Packit 46375d
Packit 46375d
Symlinking requires maintenance and is only necessary when an application
Packit 46375d
lacks fontconfig support. If an application can not use fontconfig today
Packit 46375d
this is a serious bug that should be reported to the application upstream.
Packit 46375d
Please ask it to add fontconfig support to their code (usually, via a
Packit 46375d
higher-level library such as pango-cairo).
Packit 46375d
EOF
Packit 46375d
        ;;
Packit 46375d
    esac
Packit 46375d
    ;;
Packit 46375d
  "rpmlint")
Packit 46375d
    case "$2" in
Packit 46375d
      "title")
Packit 46375d
        echo "Error: rpmlint"
Packit 46375d
        ;;
Packit 46375d
      "help")
Packit 46375d
        cat << EOF
Packit 46375d
Packager task
Packit 46375d
Packit 46375d
Check rpmlint output to fix the listed packages (using the -i flag if you
Packit 46375d
don't understand rpmlint messages).
Packit 46375d
EOF
Packit 46375d
        ;;
Packit 46375d
    esac
Packit 46375d
    ;;
Packit 46375d
  "mixed-with-non-font-data")
Packit 46375d
    case "$2" in
Packit 46375d
      "title")
Packit 46375d
        echo "Error: fonts in packages that contain non-font data"
Packit 46375d
        ;;
Packit 46375d
      "help")
Packit 46375d
        cat << EOF
Packit 46375d
Packager task
Packit 46375d
Packit 46375d
Please do not mix font files with non-font data in packages. Fonts are
Packit 46375d
usually useful outside of the package that deploys them and should be
Packit 46375d
installable without pulling in other material.
Packit 46375d
EOF
Packit 46375d
        ;;
Packit 46375d
    esac
Packit 46375d
    ;;
Packit 46375d
  "arch-package")
Packit 46375d
    case "$2" in
Packit 46375d
      "title")
Packit 46375d
        echo "Error: fonts in arch packages"
Packit 46375d
        ;;
Packit 46375d
      "help")
Packit 46375d
        cat << EOF
Packit 46375d
Packager task
Packit 46375d
Packit 46375d
Fonts are not arch-specific; please make sure they are deployed in noarch
Packit 46375d
packages.
Packit 46375d
EOF
Packit 46375d
        ;;
Packit 46375d
    esac
Packit 46375d
    ;;
Packit 46375d
  "bad-rpm-naming")
Packit 46375d
    case "$2" in
Packit 46375d
      "title")
Packit 46375d
        echo "Warning: fonts in packages that do not respect font naming conventions"
Packit 46375d
        ;;
Packit 46375d
      "help")
Packit 46375d
        cat << EOF
Packit 46375d
Packager task
Packit 46375d
Packit 46375d
Please respect font package naming conventions and provide consistent
Packit 46375d
packages to users. Some scripts may depend on strict package naming.
Packit 46375d
EOF
Packit 46375d
        ;;
Packit 46375d
    esac
Packit 46375d
    ;;
Packit 46375d
  "bad-naming")
Packit 46375d
    case "$2" in
Packit 46375d
      "title")
Packit 46375d
        echo "Warning: bad font naming"
Packit 46375d
        ;;
Packit 46375d
      "help")
Packit 46375d
        cat << EOF
Packit 46375d
Font upstream task, with packager workarounds
Packit 46375d
Packit 46375d
The font naming declared by one or more files in the package is not a
Packit 46375d
canonical WWS¹ naming or has some other naming problem. As noted by Adobe²
Packit 46375d
the W3C CSS font family model used in WPF/WWS is less than ideal, but it is
Packit 46375d
a standard and applications expect it.
Packit 46375d
Packit 46375d
This script attempted to apply some heuristics to fix this naming, and
Packit 46375d
computed different values than those in the font files.
Packit 46375d
Packit 46375d
That means some of those files are using non-standard, fuzzy,
Packit 46375d
self-conflicting, confusing names. A correct naming:
Packit 46375d
1. only includes “Width”, “Weight”, “Slant” qualifiers in its style name;
Packit 46375d
2. does not declare more than one of each;
Packit 46375d
3. declares them using the canonical keywords defined in the WWS paper;
Packit 46375d
4. declares them in “Width”, “Weight”, “Slant” order;
Packit 46375d
3. uses spaces to separate them;
Packit 46375d
4. does not use “Width”, “Weight”, “Slant” qualifiers in its family name;
Packit 46375d
5. does not use symbols such as & that cause problems in SGML/XML/HTML
Packit 46375d
   contexts. 
Packit 46375d
Packit 46375d
The canonical naming computed by this script was printed at test time.
Packit 46375d
Please note that it is only correct in a formal sense: no attempt was made
Packit 46375d
to check that the computed naming corresponds to actual font
Packit 46375d
characteristics. It still needs human review (when the computed naming is
Packit 46375d
way off however that usually indicates the original naming is particularly
Packit 46375d
bad and confusing).
Packit 46375d
Packit 46375d
Because the aim of this test is to help improve overall font naming it will
Packit 46375d
not accept some user-unfriendly naming exceptions Microsoft handles in its
Packit 46375d
WPF heuristic. Also, the naming parsing used in this test is more aggressive
Packit 46375d
than the one Microsoft uses, so it will manage to “fix” some names WPF can
Packit 46375d
not, at the expense of a few false positives³.
Packit 46375d
Packit 46375d
The average application is not as smart as this script and will not attempt
Packit 46375d
to “fix” font naming in any way. Therefore, even if this script computed a
Packit 46375d
correct naming, you should not rely on applications doing the same. Please
Packit 46375d
ask the font usptream to fix the naming directly in the font file(s).
Packit 46375d
Packit 46375d
Packager workaround: patch the file (if it is available in .sfd format),
Packit 46375d
or add a fontconfig rule to your package to hide the problem⁴.
Packit 46375d
Packit 46375d
¹ http://blogs.msdn.com/text/attachment/2249036.ashx
Packit 46375d
  http://blogs.adobe.com/typblography/typotechnica2007/Font%20names.pdf
Packit 46375d
² http://blogs.adobe.com/typblography/atypi2006/CSS%20&%20OT%2015.pdf
Packit 46375d
³ For example the family name may include some words that look like a
Packit 46375d
  “Width”, “Weight”, “Slant” attribute, but that are used in a different
Packit 46375d
  sense. This script is not a natural language parser and can not detect
Packit 46375d
  those cases reliably
Packit 46375d
⁴ cf the “fontpackages” remapping template; unfortunately this workaround
Packit 46375d
  won't fix problems for non-fontconfig applications, or when
Packit 46375d
  interoperating with other systems.
Packit 46375d
EOF
Packit 46375d
        ;;
Packit 46375d
    esac
Packit 46375d
    ;;
Packit 46375d
  "core-fonts")
Packit 46375d
    case "$2" in
Packit 46375d
      "title")
Packit 46375d
        echo "Warning: core fonts use"
Packit 46375d
        ;;
Packit 46375d
      "help")
Packit 46375d
        cat << EOF
Packit 46375d
Upstream task
Packit 46375d
Packit 46375d
This package accesses fonts through the X11 Core protocol.
Packit 46375d
Packit 46375d
Numerous long-standing problems with this mode of access, and a design
Packit 46375d
that could not scale to modern font needs lead the (then XFree86) team to
Packit 46375d
deprecate it in favour of fontconfig (née xft). Adoption was quick and by
Packit 46375d
2003 it was clear fontconfig was the new standard¹. Nowadays fontconfig is
Packit 46375d
widely used², including on non Linux/Unix platforms.
Packit 46375d
Packit 46375d
While X11 Core access has been kept on life-support this font system is
Packit 46375d
not actively maintained today. The font library it depends on is slowly
Packit 46375d
shrinking, as it was created in a period of different legal and technical
Packit 46375d
requirements², and there is no one to update the font files when a problem
Packit 46375d
is found³. Therefore, projects are advised to migrate before the situation
Packit 46375d
reaches a critical stage.
Packit 46375d
Packit 46375d
Fontconfig has been our default font system for a long time, and accessing
Packit 46375d
fonts by other means will cause behaviour inconsistencies and many other
Packit 46375d
problems (since fontconfig can be used to change the behaviour of a font).
Packit 46375d
Packit 46375d
If an application can not use fontconfig today this is a serious bug that
Packit 46375d
should be reported to the application upstream. Please ask it to add
Packit 46375d
fontconfig support to their code (usually, via a higher-level library
Packit 46375d
such as pango-cairo).
Packit 46375d
Packit 46375d
Packit 46375d
¹ http://xfree86.org/pipermail/forum/2003-March/000799.html
Packit 46375d
² Screen technology changed, encoding standard (Unicode) changed, legal
Packit 46375d
reviews became more comprehensive, etc.
Packit 46375d
³ Leaving culling the only solution.
Packit 46375d
EOF
Packit 46375d
        ;;
Packit 46375d
    esac
Packit 46375d
    ;;
Packit 46375d
  "font-linking")
Packit 46375d
    case "$2" in
Packit 46375d
      "title")
Packit 46375d
        echo "Warning: font linking"
Packit 46375d
        ;;
Packit 46375d
      "help")
Packit 46375d
        cat << EOF
Packit 46375d
Upstream task
Packit 46375d
Packit 46375d
Symlinking is a way for non-font packages to avoid duplicating font files,
Packit 46375d
but it is also a symptom of missing or incomplete fontconfig support.
Packit 46375d
Packit 46375d
Fontconfig has been our default font system for a long time, and accessing
Packit 46375d
fonts by other means will cause behaviour inconsistencies and many other
Packit 46375d
problems (since fontconfig can be used to change the behaviour of a font).
Packit 46375d
Packit 46375d
If an application can not use fontconfig today this is a serious bug that
Packit 46375d
should be reported to the application upstream. Please ask it to add
Packit 46375d
fontconfig support to their code (usually, via a higher-level library
Packit 46375d
such as pango-cairo).
Packit 46375d
EOF
Packit 46375d
        ;;
Packit 46375d
    esac
Packit 46375d
    ;;
Packit 46375d
  "duplicated-face-int")
Packit 46375d
    case "$2" in
Packit 46375d
      "title")
Packit 46375d
        echo "Warning: font faces duplicated within a package"
Packit 46375d
        ;;
Packit 46375d
      "help")
Packit 46375d
        cat << EOF
Packit 46375d
Packager or upstream task
Packit 46375d
Packit 46375d
Face duplication within a package is almost certainly a bug (usually,
Packit 46375d
mis-naming in one of the font files), except for special symbol font
Packit 46375d
families.
Packit 46375d
Packit 46375d
1. Fonts that were split because of the limitations of legacy font formats
Packit 46375d
(PCF, Type 1…) should be converted to modern OpenType (TT, CFF or bitmap)
Packit 46375d
containers.
Packit 46375d
Packit 46375d
2. Shipping the same font in different formats is problematic: different
Packit 46375d
font formats have different features, and are processed by different font
Packit 46375d
libraries. It is almost impossible to create a font in multiple formats
Packit 46375d
that will all behave the same. Users hate fonts that do not behave
Packit 46375d
consistently everywhere.
Packit 46375d
Packit 46375d
3. Most of our applications use fontconfig to access fonts, and fontconfig
Packit 46375d
uses font names to identify files. Naming collisions make font selection
Packit 46375d
unreliable.
Packit 46375d
Packit 46375d
If an application can not use a modern font format and forces the
Packit 46375d
re-packaging in an older format of an exiting font this is an application
Packit 46375d
bug that should be reported to the application upstream. In that case
Packit 46375d
these is no good solution possible baring the fixing of the application.
Packit 46375d
EOF
Packit 46375d
        ;;
Packit 46375d
    esac
Packit 46375d
    ;;
Packit 46375d
  "fontlint")
Packit 46375d
    case "$2" in
Packit 46375d
      "title")
Packit 46375d
        echo "Warning: fonts that do not pass fontlint sanity checks"
Packit 46375d
        ;;
Packit 46375d
      "help")
Packit 46375d
        cat << EOF
Packit 46375d
Font upstream task
Packit 46375d
Packit 46375d
Fontforge's fontlint¹ test suite found problems in some files included in
Packit 46375d
the package. Those problems may not be obvious and only manifest as
Packit 46375d
strange behaviour in specific applications (making them hard to debug).
Packit 46375d
For that reason it is recommanded to report those problems upstream and
Packit 46375d
get them fixed, even if the font file seems to work fine most of the time.
Packit 46375d
Packit 46375d
You can ask help about specific fontlint errors on:
Packit 46375d
https://lists.sourceforge.net/lists/listinfo/fontforge-users
Packit 46375d
Packit 46375d
Please relay the problem report to the font upstream.
Packit 46375d
Packit 46375d
¹ http://fontforge.sourceforge.net/fontlint.html
Packit 46375d
EOF
Packit 46375d
        ;;
Packit 46375d
    esac
Packit 46375d
    ;;
Packit 46375d
  "no-english-metadata")
Packit 46375d
    case "$2" in
Packit 46375d
      "title")
Packit 46375d
        echo "Warning: fonts with localized metadata but no English variant"
Packit 46375d
        ;;
Packit 46375d
      "help")
Packit 46375d
        cat << EOF
Packit 46375d
Font upstream task
Packit 46375d
Packit 46375d
Some font files in the package declare localized metadata, but do not
Packit 46375d
include an English variant. They need to be fixed to also declare metadata
Packit 46375d
in English, so it can be used in technical declarations such as CSS rules.
Packit 46375d
(Sometimes font do include English metadata, but under another language
Packit 46375d
label. There is no way for applications or for this test to guess some
Packit 46375d
metadata is mislabeled).
Packit 46375d
Packit 46375d
Please relay the problem report to the font upstream.
Packit 46375d
EOF
Packit 46375d
        ;;
Packit 46375d
    esac
Packit 46375d
    ;;
Packit 46375d
  "partial-scripts")
Packit 46375d
    case "$2" in
Packit 46375d
      "title")
Packit 46375d
        echo "Suggestion: fonts with partial script coverage"
Packit 46375d
        ;;
Packit 46375d
      "help")
Packit 46375d
        cat << EOF
Packit 46375d
Font upstream task
Packit 46375d
Packit 46375d
Some font files included in the package are missing a few glyphs to be
Packit 46375d
accepted by fontconfig as covering one or several scripts. Therefore they
Packit 46375d
could be made useful to more people with only a little effort.
Packit 46375d
Packit 46375d
Many scripts differ by only a few glyphs and it is unfortunately common
Packit 46375d
for font authors not to notice they stopped just short of full support for
Packit 46375d
some of them.
Packit 46375d
Packit 46375d
To check a font file script coverage, run:
Packit 46375d
  $ FC_DEBUG=256 fc-query font-file
Packit 46375d
and look for lines like:
Packit 46375d
  script-id¹(number) { list-of-unicode-codepoints }
Packit 46375d
Packit 46375d
For example
Packit 46375d
  “mi(2) { 1e34 1e35 }”
Packit 46375d
means fontconfig will accept the tested file for Maori if codepoints 1e34
Packit 46375d
and 1e35 are added.
Packit 46375d
Packit 46375d
fontconfig is used by a lot of applications on many systems so ignoring
Packit 46375d
its opinion on a font is a mistake.
Packit 46375d
Packit 46375d
Please relay the incomplete coverage report to the font upstream.
Packit 46375d
Packit 46375d
P.S.
Packit 46375d
Of course fontconfig is not perfect either so it may require a glyph for a
Packit 46375d
script when it should not. In that case, please report the problem to
Packit 46375d
fontconfig upstream:
Packit 46375d
https://bugs.freedesktop.org/enter_bug.cgi?product=fontconfig
Packit 46375d
against the “orth” component.
Packit 46375d
Packit 46375d
¹ http://www.loc.gov/standards/iso639-2/php/code_list.php
Packit 46375d
² https://bugs.freedesktop.org/enter_bug.cgi?product=fontconfig
Packit 46375d
EOF
Packit 46375d
        ;;
Packit 46375d
    esac
Packit 46375d
    ;;
Packit 46375d
  "partial-blocks")
Packit 46375d
    case "$2" in
Packit 46375d
      "title")
Packit 46375d
        echo "Suggestion: fonts with partial unicode block coverage"
Packit 46375d
        ;;
Packit 46375d
      "help")
Packit 46375d
        cat << EOF
Packit 46375d
Font upstream task
Packit 46375d
Packit 46375d
Some font files included in the package are missing only a few glyphs to
Packit 46375d
fully cover an Unicode block. Therefore they could be made useful to more
Packit 46375d
people with only a little effort.
Packit 46375d
Packit 46375d
The Unicode consortium revises its tables regularly. A font may need to be
Packit 46375d
extended to maintain full coverage of a block when a new Unicode standard
Packit 46375d
revision is published¹.
Packit 46375d
Packit 46375d
To check the unicode coverage of a font, run the ttfcoverage command. (It
Packit 46375d
only works for modern .otf or .ttf fonts).
Packit 46375d
Packit 46375d
Please relay the incomplete coverage report to the font upstream.
Packit 46375d
Packit 46375d
¹ http://www.unicode.org/charts/
Packit 46375d
EOF
Packit 46375d
        ;;
Packit 46375d
    esac
Packit 46375d
    ;;
Packit 46375d
 *)
Packit 46375d
    echo "Unknown test."
Packit 46375d
    ;;
Packit 46375d
esac
Packit 46375d
Packit 46375d
[ "$2" == "help" ] && echo ""