From Fedora Project Wiki

(Redirecting to Category:Fonts and text QA)
 
(One intermediate revision by the same user not shown)
Line 1: Line 1:
''Reporting, verifying and getting fixed text rendering issues''
#REDIRECT [[:Category:Fonts_and_text_QA]]
{{CompactHeader|fonts}}
 
{{Anchor|text-ecosystem}}
== Text rendering ecosystem ==
 
Modern text rendering is a complex process that involves many components<ref>See also [[Font_rendering_and_text_layouting|this article]].</ref>:
* font files,
* a font discovery and substitution library (usually Fontconfig, but Java uses its own solution),
* a font rasterizer library (usually Freetype nowadays, but again Java uses its own solution),
* a text layouter library (Pango for GNOME, internal Qt library for KDE, ICU for OpenOffice.org, HarfBuzz for future GNOME & QT),
* the settings the application passes to those components, sometimes taken from Xorg.
 
 
It all works roughly that way:
# application passes:
## a string of unicode points,
## language information,
## target media dot density, DPI (used to convert font sizes in universal units like points to measures in number-of-dots)
## desired font (name, variant, size)
# the font discovery and substitution library is used to find the requested font, and complete it/replace it with other fonts if needed (typically, requested font not present or lacking some of the glyphs needed to render the unicode string). If this library is misconfigured non-optimal substitutions will happen.
# the text layouter library positions the glyphs based on the language information, in-font information tables, and internal library rules. It can choose to replace some glyphs with others (ligatures, etc)
# the font rasterizer library renders those glyphs to the target media dot density. Unfortunately computer screens  typically do not have a pixel density high enough to do direct glyph scaling without getting human-visible rounding artifacts. The rasterizer library must distort glyph shapes so they fit as much as possible in the pixel grid. This distortion process uses either in-font instructions (hints) and a patented algorithm, or on FLOSS systems like Fedora a process called autohinting.
 
The root cause of a text rendering problem can occur at any of those stages, in any of the components involved. Identifying the problem and getting it fixed will therefore often require interaction with the font designers and the developers of several of those software components. While not overly difficult or long, QA process on text rendering is not for fly-by bug reporters.
 
 
{{Anchor|process}}
 
== Process ==
 
Given this [[#text-ecosystem | complexity]], the most efficient process for everyone involved is not to blindly report problems in [https://bugzilla.redhat.com/ Fedora bugzilla], but to do the following:
# Consult the [[#known-problems|known problems]] list to check if your issue has not been reported before.
# If that is the case, you can increase issue visibility and decrease its resolution time by:
## adding a polite comment in the issue tracker,
## putting yourself in CC,
## voting for the issue when it's possible.
# Otherwise:
## ''ask help'' on the SIG [[Fonts_SIG_mailing_lists | list]]  or the ##fonts irc channel to identify what component is likely to cause the issue<ref>You can also find clueful help on the #dejavu irc channel</ref>,
## ''report it'' directly in the ''upstream'' issue tracker of the affected component,
## ''notify the SIG'' by CC-ing the SIG [[Fonts_SIG_mailing_lists | bugs list]] in the upstream issue tracker.
## If you find the issue '''very''' impacting, you can add a [https://bugzilla.redhat.com/enter_bug.cgi?product=Fedora new bug] in Fedora bugzilla pointing to the upstream issue.
 
 
{{Anchor|identify-font}}
== Identifying fonts ==
{{:Identifying_fonts}}
 
== In-depth font testing ==
 
Pravin Satpute published this nice [http://pravin-s.blogspot.com/2008/02/how-to-test-open-type-fonts.html How to test OpenType Fonts] article.
 
 
{{Anchor|known-problems}}
== Known problems ==
 
Problems are tagged by CC-ing the SIG [[Fonts_SIG_mailing_lists |bugs list]] when the upstream issue tracker allows it (any bugzilla) or by CC-ing a specific user (fedorafonts) otherwise.
 
{{:Known_fonts_and_text_bugs}}
 
{{:Fonts_SIG_signature}}
[[Category:Fonts SIG|QA]]
[[Category:BugTriage|Fonts QA]]

Latest revision as of 10:08, 26 June 2008