Differences between revisions 56 and 57
Revision 56 as of 2006-01-20 00:09:30
Size: 10194
Editor: EddyPetrisor
Comment: just break fonts from the DebianInstallerGUIToDo page
Revision 57 as of 2006-01-20 00:56:11
Size: 10684
Editor: EddyPetrisor
Comment:
Deletions are marked like this. Additions are marked like this.
Line 2: Line 2:



----
Line 14: Line 10:
 * Translators should check if their languages are displayed correctly and check for missing characters. Special attention should be given to Indic languages, Arabic and Hebrew. Help from translators may be needed to decide the optimal font for the installer (taking into consideration both quality and space required).
 * Text inside GTK!TreeView widgets is left-justified for RTL languages (see [http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=342239 #342239])
 * Translators should check if their languages are displayed correctly and check for missing characters. Special attention should be given to Indic languages, Arabic and Hebrew. Help from translators may be needed to decide the optimal font for the installer (taking into consideration both quality and space required). Please note that the screenshots are a little outdated currently.
 * Text inside GTK!TreeView widgets is left-justified for RTL languages (see [http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=342239 #342239]), but that is fixed in the new DFB libs.
Line 24: Line 20:
 * Minimize overlap between fonts. Is it possible to "strip" characters from a font?  * Minimize overlap between fonts. It is possible to "strip" characters from a font (This is currently done in the developement versions with a fontforge script)
Line 29: Line 25:

Davide Viti created [http://svn.debian.org/wsvn/d-i/trunk/scripts/g-i/strip_glyphs.pe?op=file&rev=0&sc=0 a fontforge script] that will allow stripping unnecessary glyphs from the fonts. If needed one can [http://svn.debian.org/wsvn/d-i/trunk/scripts/g-i/README.strip_glyphs?op=file&rev=0&sc=0 read the usage hints].

Intro

One of the main advantages of the graphical version of the installer is that it can support languages that use combining characters. We are currently using mainly TTF fonts, with the exception of Japanese and Chinese.

[http://fontconfig.org/wiki/ Fontconfig] is used for font management. fc-cache files are automatically generated at startup.

The following issues are open with respect to fonts:

  • Not all fonts needed for the graphical installer have yet been packaged into udebs (needed for inclusion in the official Etch release).
  • Translators should check if their languages are displayed correctly and check for missing characters. Special attention should be given to Indic languages, Arabic and Hebrew. Help from translators may be needed to decide the optimal font for the installer (taking into consideration both quality and space required). Please note that the screenshots are a little outdated currently.
  • Text inside GTK!?TreeView widgets is left-justified for RTL languages (see [http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=342239 #342239]), but that is fixed in the new DFB libs.

  • There are [http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=341229 known problems] for Indic languages and Arabic. These need to be specified and traced. Possibly extra software is needed for correct display.

  • Ideal would be to have each character we need present in only one font. The current fonts have a lot of overlap which wastes space.
  • Display has to be good both when no language has yet been selected (language selection screen) and when it has.
  • Possibly font configuration can be improved. It would be very nice if we could influence which font is used for a specific language.

Requirements for packaging fonts

  • Total amount of space used for fonts should be minimized.
  • Only font files that are actually used in the installer should be included.
  • Minimize overlap between fonts. It is possible to "strip" characters from a font (This is currently done in the developement versions with a fontforge script)

Kenshi Muto and Hidetaka Iwai created TTF shirink tool, based on [http://fontforge.sourceforge.net/ fontforge]. Their subject is to make small TTF udeb which is specialized for d-i 1st stage. See http://kmuto.jp/debian/mtu/pool/main/t/ttf-compact-fonts/ (Or you can get ttf-compact-fonts binary/source by apt via "deb-src http://kmuto.jp/debian/mtu unstable main")

Davide Viti created [http://svn.debian.org/wsvn/d-i/trunk/scripts/g-i/strip_glyphs.pe?op=file&rev=0&sc=0 a fontforge script] that will allow stripping unnecessary glyphs from the fonts. If needed one can [http://svn.debian.org/wsvn/d-i/trunk/scripts/g-i/README.strip_glyphs?op=file&rev=0&sc=0 read the usage hints].

Information on how to play around with fonts is included in ["DebianInstallerGUIBuild"].


Fonts configuration for the G-I

Infos for language codes were fetched from:

Latin-1

Base characters (Latin) are taken from ttf-freefont (existing udeb). This font was selected because it looks quite good, has a character set that gives good support for a lot of languages and was already packaged as an udeb.

A negative aspect is that it also has partial/limited/ugly support for other scripts/languages and it would be better to only have specialized fonts for those. This is being resolved by "stripping" all glyphs from the font which we want to take from other fonts.

We also only really need the FreeSans* variants of freefont, and not everything that is currently in the udeb. ChristianPerrier has a nearly ready patch for this.

[ca] Catalan

[da] Danish

[de] German

[en] English

[es] Spanish

[eu] Basque

[fi] Finnish

[fr] French

[ga] Irish

[gl] Gallegan

[is] Icelandic

[it] Italian

[nb] Norwegian Bokmal

[nl] Dutch

[nn] Norwegian Nynorsk

[pt] Portuguese

[pt_BR] Portuguese (Brazil)

[sq] Albanian

[sv] Swedish

Latin-other

These are also covered by ttf-freefont.

[bs] Bosnian

[cs] Czech

[cy] Welsh

[eo] Esperanto

[et] Estonian

[hu] Hungarian

[id] Indonesian

[ku] Kurdish

[lv] Latvian

[lt] Lithuanian

[mg] Malagasy

[pl] Polish

[ro] Romanian

[hr] Croatian

[se] Sami

[sk] Slovakian

[sl] Slovenian

[tl] Tagalog

[tr] Turkish

[vi] Vietnamese

Some characters seem to be missing. See for instance the string for "Installing the base system" which is "Đang cài đặt hệ thống cơ sở"

[wo] Wolof

Display is correct with ttf-freefont, even the "ŋ" characters

[xh] Xhosa

Non-Latin scripts

Greek script

[el] Greek

In principle ttf-freefont will be used.

Hebrew script

[he] Hebrew

In principle ttf-freefont will be used, which was [http://lists.debian.org/debian-boot/2005/12/msg00511.html approved by Lior Kaplan].

Indic family scripts

Resources: #indlinux IRC channel on irc.freenode.net and eventually <debian-in-workers@lists.alioth.debian.org>

For Indic languages we currently include fonts from [http://packages.debian.org/unstable/x11/ttf-devanagari-fonts ttf-devanagari-fonts] and [http://packages.debian.org/unstable/x11/ttf-punjabi-fonts ttf-punjabi-fonts] (both maintained by Jaldhar H. Vyas <jaldhar@debian.org>)

  • Gargi_1.7.ttf (ttf-devanagari-fonts)
  • chandas1-1.ttf (ttf-devanagari-fonts)
  • lohit_hi.ttf (ttf-devanagari-fonts)
  • Saab.ttf (ttf-punjabi-fonts)
  • lohit_pa.ttf (ttf-punjabi-fonts)

Bengali script (Brahmic family)

[bn] Bengali

There was [http://lists.debian.org/debian-boot/2005/12/msg00338.html a report] stating that Bengali does not look right. [http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=343446 #343446] tries to analyze the problem.

Devanagari script

[hi] Hindi

[ne] Nepali

Nepali uses the Devanagari script. Paras pradhan recommends using Garki_1.7.ttf.

Gurmukhi script

[pa_IN] Punjabi (Gumurkhi)

Punjabi Language is Written in Gurmukhi Script for Eastren Punjab (India). Lohit Fonts are most suitable for Linux System. [http://packages.debian.org/unstable/x11/ttf-punjabi-fonts Punjabi Fonts]

Khmer script

[km] Khmer

The [http://packages.debian.org/unstable/x11/ttf-khmeros ttf-khmeros] font should be used.

Malayalam script

[ml] Malayalam

Malayalam has a script of his own. Vivek Varghese Cherian recommends using Racotf04.ttf. This font is not packaged yet. The suggestion to package it has been sent to Soumyadip Modak who maintains [http://packages.debian.org/unstable/x11/ttf-indic-fonts ttf-indic-fonts], the source package for [http://packages.debian.org/unstable/x11/ttf-malayalam-fonts ttf-malayalam-fonts]. While waiting for this, ?RachanaMedium.ttf from the [http://packages.debian.org/unstable/x11/ttf-malayalam-fonts ttf-malayalam-fonts] package can be used.

Arabic scripts

[ar] Arabic

Resources: #arabeyes IRC channel on irc.freenode.net

Package: [http://packages.debian.org/unstable/debian-installer/ttf-arabeyes-udeb ttf-arabeyes-udeb] (maintained by Mohammed Adnène Trojette <adn+deb@diwi.org>)

The udeb includes "ae_AlMohanad.ttf"; as an alternative we've experimented a tarball containig "ae_Tholoth.ttf". "ae_AlMohanad.ttf" is said to produce better visual results.

See:

Needs to be checked now that ttf-freefont has been stripped.

[fa] Persian

Glyphs are shared with Arabic; "ae_AlMohanad.ttf" seem to have problems especially with ligatures; we need to see if "ae_Tholoth.ttf" works better. Roozbeh Pournader, upstream maintainer of [http://packages.debian.org/unstable/x11/ttf-farsiweb ttf-farsiweb] fonts, recommends using the nazli.ttf font from the [http://packages.debian.org/unstable/x11/ttf-farsiweb ttf-farsiweb] package. He discourages the use of ae_Tholoth.ttf. [http://packages.debian.org/unstable/x11/ttf-farsiweb ttf-farsiweb] is maintained by Clint Adams, but Arash Bijanzadeh, the Persian translation coordinator is ready to take it over as Clint wants to orphan the package. ChristianPerrier will help him in this process.

Chinese/Japanese/Korean scripts

For Chinese and Japanese we currently use the fonts prepared by Kenshi Muto (ttf-compact-fonts). For an overview, see [http://people.debian.org/~kmuto/d-i/cjk/cjk.html this page].

[zh_CN] Chinese (Simplified)

[zh_TW] Chinese (Traditional)

[ja] Japanese

For Japanese, Kenshi and Hidetaka recommend Sazanami-Gothic (ttf-sazanami-gothic).

  • sazanami-gothic.ttf

Complete ttf is quite big, but a stripped ttf is about 160KB.

http://lists.debian.org/debian-boot/2005/12/msg00150.html

Chinese and Japanese have `unification problem'. Unicode defines same codepoint against different glyphs between Japanese/Chinese(/Korean, but the Korean translation does not use any glyphs from this Unified Ideographs region so Korean is free from this issue). Furthermore Chinese font face and Japanese font face are different (do you think Helvetica and ?NewCentury are same? :-P ). So they don't like to use them together.

[ko] Korean

For Korean we now use [http://lists.debian.org/debian-boot/2005/12/msg00150.htm ttf-compact-fonts], which has stripped UnDotum.ttf from ttf-unfonts (maintained by Changwoo Ryu <cwryu@debian.org>)

We previous included complete ttfs, but these took a lot of space:

  • UnDotum.ttf

  • UnDotumBold.ttf

We did have report stating that the ?UnDotum looked right: http://lists.debian.org/debian-boot/2005/11/msg01409.html

Cyrillic scripts

[http://dejavu.sourceforge.net/wiki/index.php/Main_Page ?DejaVu fonts] is based on Bitstream Vera and their recent releases have good cyrilic coverage. The [http://packages.debian.org/unstable/source/ttf-dejavu Debian package] has been updated to version 2.1. The package now creates a udeb since version 2.1-2, using the ?DejaVuSans fonts.

[be] Belarusian

[bg] Bulgarian

[kk] Kazakh

[mk] Macedonian

[ru] Russian

[sr] Serbian

[uk] Ukrainian