From Fedora Project Wiki

< L10N‎ | Tasks

Revision as of 15:17, 19 July 2008 by Nim (talk | contribs)

A page of the Fonts Special Interest Group

Note.png
Background information
See the Wikipedia page on the Romanian alphabet.
Idea.png
Tip of the page
A very useful program is fontmatrix. Detailed font info and one click font installs. Yum it!

Issues (and suggested fixes)

Type-1 fonts need an additional mapping from U+021A/B to U+162/3

Most PS1 fonts (not OpenType) that ship with Linux distorts lack the code points U+21A/B (t with comma below) which is the proper code point for Romanian t with comma below. Thankfully, Adobe once decided that t with cedilla is not used in any language so the proper glyphs are usually present at U+162/3, which used to be the unified code point for t cedilla and t comma below before Unicode 3.0. The Uniscribe renderer automatically handles this issue by remapping U+21A/B to U+162/3 when the former glyphs are missing. Unfortunately, Pango/fonconfig doesn't do this, so most new Romanian documents can only be displayed with a very narrow font selection.

Proposed solution: adopt Uniscribe solution; editing the PS1 fonts is pointless and would violate the license for the commercial ones. With an external mapping all PS1 fonts would instantly become usable.

Liberation 1.0 fonts lack "s & t with comma" completely

The glyph was added in version 1.04 of the fonts, but these are not yet packaged. A beta version (1.04 beta 2) is available on rawhide.

Missing OpenType localized forms GSUB/latn/ROM/{locl,ccmp}

The Adobe/Linotype/Vista industry standard seems to that activating ROM/locl should map "s with cedilla" to "s with comma". Since in Adobe (Pro) OT fonts U+162/3 is by default mapped to "t with comma", activating this optional mapping for s renders old, pre-Unicode 3.0 Romanian texts with comma below both s and t. Thankfully Pango already handles this!

The OT SIL fonts take a slightly different approach, but work with Pango nonetheless. First, they have proper cedilla variants for both s and t. Second, they don't have a ROM/locl feature, but a ROM/ccmp feature which remaps both cedilla variants to comma-below counterparts. I'm not sure this approach is entirely correct because the OpenType spec on ccmp says that ccmp should not be language sensitive. YMMV, I'm no expert on this.

So, what's the trouble?

  • Practically no free fonts have a ROM/locl feature, while most newer commercical fonts do. This should be a two line fix in fontforge. Those form SIL use the ROM/ccmp mechanism that fortunately works.
  • Pango does not allow an application to set the OT features language independently from UI language; not for Romanian anyway. Currently, the only way to run, say, gedit with ROM/locl enabled but the default English UI is: LANG=ro_RO.UTF-8 LC_MESSAGES=C gedit. See Pango bug #442786.

Console Fonts

The default Linux console fonts also lack the U+219-B range, but few care about the console fonts these days...

Font status matrix

For the sake of keeping the table compact, the table entries are abbreviated (y=yes, n=no, s=soon). You can click on the font name to be taken further down the page for details (if available).

Support for Romanian in Fedora fonts
Font name type ă î â ș ț ş ţ „” «» locl Source License Contacted? Details
DejaVu TTF y y y y y y y y y n [1] [2] n -
Luxi ??? y y y y y y y y y ?? xfree86.org ? [3] n -
Linx Libertine TTF y y y y y y y y y n [4] [5] n -
Liberation TTF y y y s s y y y y n [6] [7] y 1.04
MgOpen ??? y y y n n y y y y ? [8] [9] y -
Charis & Doulos TTF y y y y y y y y y y [10] [11] y 1.04
Gentium TTF y y y y y y y y y n [12] [13] y 1.04
STIX TTF y y y y n n y y y n [14] [15] y 1.04
Termins (console) ??? y y y y y y y y y ? [16] ? n -

Key for font type:

  • TTF = old TrueType or TrueType flavored OpenType [which is backwards compabile with TrueType] in a .ttf or .ttc file (.ttc is a collection of more than one font, e.g. Cambria and Cambria Math in Vista)
  • CFF = CFF (Postscript Type 2) in OpenType .otf file
  • PS1 = Postscript Type 1 in .afm/.pfb file pairs.

Font status details:

Liberation

On Fedora 9, use yum --enablerepo=rawhide update liberation-fonts to install version 1.04 beta 2. Or use fontmatrix to install the final version.


Idea.png
Fonts in Fedora
The Fonts SIG takes loving care of Fedora fonts. Please join this special interest group if you are interested in creating, improving, packaging, or just suggesting a font. Any help will be appreciated.