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:

Requirements for packaging fonts

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 or glyph ranges 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>)

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.

Currently the installer uses Mukti Narrow, which should look right (not confirmed, but recomended by Jamil Ahmed <itsjamil@gmail.com>).

Mukti Narrow looks great, but there is some more stripping to be done (apparently) because this font is silently overridden by freefont (probably). (by silent I mean that "fc-list :lang:bn" does not list nothing other than Mukti, but the installer uses something else, anyway)

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]

(soumyadip: well I was reading somewhere that ?AnmolUni was better) - this font should be (apparently) in ttf-punjabi-fonts, but is not currently (1:0.4.7)

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

Apparently both nazli and ae_AlMohanad are ok for Arabic, but nazli is "definitely not the font to use". Also, both of the fonts should be bigger.

[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].

We should make sure that none of the fonts below provides glyphs for other scripts than the ones which they were introduced (currently there are latin glyphs provided by them which take up space and harm us a lot for latin scripts).

[zh_CN] Chinese (Simplified)

[zh_TW] Chinese (Traditional)

[ja] Japanese

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

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:

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