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 only TTF fonts.
[http://fontconfig.org/wiki/ Fontconfig] is used for font management. See [http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=354044 #354044]
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 non-latin languages (Indic languages, Arabic ,Hebrew and Vietnamese). Help from translators may be needed to decide the optimal font for the installer (taking into consideration both quality and space required). Please note mthat 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.
- 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.
News
2006.06.30 ttf-farsiweb out of NEW with a udeb
2006.06.27 ttf-tamil-fonts is available now
2006.06.25 ttf-freefont 20060501cvs-3 uploaded by our super-responsive maintainer: tamil language now uses the right font
2006.06.24 ttf-dejavu 2.7-2 uploaded to unstable with Arabic/Farsi glyphs stripped
[http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=374902 #374902] prevents many languages to render properly. A patch is already available
2006.06.22 screenshots using new libraries are also available [http://d-i.alioth.debian.org/gtk-frontend/screenshots/20060621_dejavu2.7_exp/ here]
2006.06.21 ttf-thai-tlwg-udeb made it into unstable
screenshots for all supported languages are available [http://d-i.alioth.debian.org/gtk-frontend/screenshots/20060621_dejavu2.7/ here]
2006.06.20 dejavu 2.7 hit unstable; should have better support for Vietnamese (only problem found is #374720)
2006.06.17 ttf-indic-fonts 0.4.7.1 uploaded with a udeb for ttf-tamil-fonts
2006.06.16 ttf-freefont 20060501cvs-2 uploaded with Vietnamese and Georgian characters stripped in the udeb
2006.06.16 ttf-farsiweb is in NEW with the udeb. Same for t1-thai-tlwg.
2006.06.15 - After ttf-dejavu 2.6 made it into the archives, g-i switched to ?DejaVu as default font.
screenshots for all supported languages are available [http://d-i.alioth.debian.org/gtk-frontend/screenshots/20060614_dejavu2.6/ here]
- the only missing udebs are currently ttf-farsiweb (#355447) ttf-tamil-fonts (#358226) t1-thai-tlwg (#372799) and ttf-bpg-georgian-fonts (#356333)
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) We _really_ need to add characters as we need them, not to strip them from fonts. The fonts overlap too much - CJK fonts provide also codes for Latin scripts.
Latin scripts are provided by most fonts, but they can be fixed with some [http://fontforge.sourceforge.net/scripting.html Fontforge scripting]
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:
[http://svn.debian.org/wsvn/d-i/trunk/packages/localechooser/?rev=0&sc=0 localechooser]
[http://cvs.savannah.gnu.org/viewcvs/freefont/freefont/AUTHORS?rev=1.13&view=auto AUTHORS] file included in the [http://cvs.savannah.gnu.org/viewcvs/freefont/freefont/ freefont source package]
Latin-1
Base characters (Latin) are taken from ttf-dejavu (existing udeb).
Lang Code |
Language Name |
Current Font |
Other Fonts |
Status / Observations |
ca |
Catalan |
ttf-dejavu |
ttf-freefont |
ok |
da |
Danish |
ttf-dejavu |
ttf-freefont |
ok |
de |
German |
ttf-dejavu |
ttf-freefont |
ok |
en |
English |
ttf-dejavu |
ttf-freefont |
ok |
es |
Spanish |
ttf-dejavu |
ttf-freefont |
ok |
eu |
Basque |
ttf-dejavu |
ttf-freefont |
ok |
fi |
Finnish |
ttf-dejavu |
ttf-freefont |
ok |
fr |
French |
ttf-dejavu |
ttf-freefont |
ok |
ga |
Irish |
ttf-dejavu |
ttf-freefont |
ok |
gl |
Gallegan |
ttf-dejavu |
ttf-freefont |
ok |
is |
Icelandic |
ttf-dejavu |
ttf-freefont |
ok |
it |
Italian |
ttf-dejavu |
ttf-freefont |
ok |
nb |
Norwegian Bokmal |
ttf-dejavu |
ttf-freefont |
ok |
nl |
Dutch |
ttf-dejavu |
ttf-freefont |
ok |
nn |
Norwegian Nynorsk |
ttf-dejavu |
ttf-freefont |
ok |
pt |
Portuguese |
ttf-dejavu |
ttf-freefont |
ok |
pt_BR |
Portuguese (Brazil) |
ttf-dejavu |
ttf-freefont |
ok |
sq |
Albanian |
ttf-dejavu |
ttf-freefont |
ok |
sv |
Swedish |
ttf-dejavu |
ttf-freefont |
ok |
Latin-other
These are also covered by ttf-dejavu.
Lang Code |
Language Name |
Current Font |
Other Fonts |
Status / Observations |
bs |
Bosnian |
ttf-dejavu |
ttf-freefont |
ok |
cs |
Czech |
ttf-dejavu |
ttf-freefont |
ok |
cy |
Welsh |
ttf-dejavu |
ttf-freefont |
ok |
eo |
Esperanto |
ttf-dejavu |
ttf-freefont |
ok |
et |
Estonian |
ttf-dejavu |
ttf-freefont |
ok |
hu |
Hungarian |
ttf-dejavu |
ttf-freefont |
ok |
id |
Indonesian |
ttf-dejavu |
ttf-freefont |
ok |
ku |
Kurdish |
ttf-dejavu |
ttf-freefont |
ok |
lv |
Latvian |
ttf-dejavu |
ttf-freefont |
ok |
lt |
Lithuanian |
ttf-dejavu |
ttf-freefont |
ok |
mg |
Malagasy |
ttf-dejavu |
ttf-freefont |
ok |
pl |
Polish |
ttf-dejavu |
ttf-freefont |
ok |
ro |
Romanian |
ttf-dejavu |
ttf-freefont |
ok |
hr |
Croatian |
ttf-dejavu |
ttf-freefont |
ok |
se |
Sami |
ttf-dejavu |
ttf-freefont |
ok |
sk |
Slovakian |
ttf-dejavu |
ttf-freefont |
ok |
sl |
Slovenian |
ttf-dejavu |
ttf-freefont |
ok |
tl |
Tagalog |
ttf-dejavu |
ttf-freefont |
ok |
tr |
Turkish |
ttf-dejavu |
ttf-freefont |
ok |
ca@valencia |
Valencian-Catalan |
ttf-dejavu |
ttf-freefont |
ok |
vi |
Vietnamese |
ttf-dejavu |
ttf-freefont;[http://www.vn.net/staticpages/index.php/VietUniFont-HanNomSet ?HanNomSet],[http://www.vn.net/staticpages/index.php/VietUniFont-TriChlorSet ?TriChlorSet] |
The licenses for [http://www.vn.net/staticpages/index.php/VietUniFont-HanNomSet ?HanNomSet] and [http://www.vn.net/staticpages/index.php/VietUniFont-TriChlorSet ?TriChlorSet] have not been studied |
wo |
Wolof |
ttf-dejavu |
ttf-freefont |
Display is correct with ttf-freefont, even the "ŋ" characters; dejavu state is unknown |
xh |
Xhosa |
ttf-dejavu |
ttf-freefont |
ok |
Non-Latin scripts
Georgian script
Lang Code |
Language Name |
Current Font |
Other Fonts |
Status / Observations |
ka |
Georgian |
ttf-bpg-georgian-fonts |
ttf-freefont |
Udeb requested in [http://bugs.debian.org/356333 #356333] |
Greek script
Lang Code |
Language Name |
Current Font |
Other Fonts |
Status / Observations |
el |
Greek |
ttf-dejavu |
ttf-freefont |
With ttf-freefont, Greek is a little blurred but ok: see [http://lists.debian.org/debian-boot/2006/02/msg00662.html this] thread |
Hebrew script
Lang Code |
Language Name |
Current Font |
Other Fonts |
Status / Observations |
he |
Hebrew |
ttf-freefont |
ttf-freefont was [http://lists.debian.org/debian-boot/2005/12/msg00511.html approved by Lior Kaplan]. |
Indic family scripts
Lang Code |
Language Name |
Current Font |
Other Fonts |
Status / Observations |
bn |
Bengali |
MuktiNarrow |
ttf-freefont |
ttf-freefont still has issues, while Mukti displays correctly. New freefont have been succesfully tested and can be used after [http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=254113 #254113] will be fixed. |
hi |
Hindi |
Gargi_1.7.ttf |
Chandas, Lohit Hindi |
Displays correctly after a proper stripping. New freefont have been succesfully tested and can be used after [http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=254113 #254113] will be fixed. |
mr |
Marathi |
Gargi_1.7.ttf |
Chandas, Lohit Hindi |
Same script than Hindi, so to be checked on time with the translator |
ne |
Nepali |
Gargi_1.7.ttf |
Chandas, Lohit Hindi |
Paras pradhan recommends using Garki_1.7.ttf.freefont contains all the glyphs necessary to display Nepali text and is currently used. |
pa |
Punjabi (Gumurkhi) |
Saab |
Lohit Punjabi, AnmolUni |
Saab.ttf works fine; new freefont have been succesfully tested and can be used after [http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=254113 #254113] will be fixed. 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) |
ml |
Malayalam |
none(?) |
RachanaMedium.ttf ([http://packages.debian.org/unstable/x11/ttf-malayalam-fonts ttf-malayalam-fonts]), Racotf04.ttf |
Vivek Varghese Cherian recommends using Racotf04.ttf (not packaged yet). Current font will be dropped in favor of Racotf04 |
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)
- Saab.ttf (ttf-punjabi-fonts)
Bengali script (Brahmic family)
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 freefont; in the near future ?MuktiNarrow will probably be used (recomended by Jamil Ahmed <itsjamil@gmail.com> and confirmed by Baishampayan Ghose <b.ghose@gnu.org.in>).
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)
Update: #343446 confirms that ?MuktiNarrow should be used. Although freefont has support for Bengali, it seems that there are still some problems.
Devanagari script
[hi] Hindi
[ne] Nepali
Nepali uses the Devanagari script. Language is not currently supported by the Debian Installer (translations are not present).
Gurmukhi script
[pa] Punjabi (Gumurkhi)
Punjabi Language is Written in Gurmukhi Script for Eastren Punjab (India).
Malayalam script
[ml] Malayalam
Malayalam has a script of his own. Vivek Varghese Cherian recommends using Racotf04.ttf. 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].
Language is not currently supported by the Debian Installer (translations are not present).
Tamil script
[ta] Tamil
Lang Code |
Language Name |
Current Font |
Other Fonts |
Status / Observations |
ta |
Tamil |
TSCu_Paranar! |
|
Font in ttf-tamil-fonts. udeb available as of 2006.06.27 |
Tibetan family scripts
Lang Code |
Language Name |
Current Font |
Other Fonts |
Status / Observations |
dz |
Dzongkha |
|
ttf-dzongkha |
Jomolhari.ttf [http://lists.debian.org/debian-boot/2006/04/msg00581.html should be used]. udeb OK in unstable |
South-East Asian scripts
Lang Code |
Language Name |
Current Font |
Other Fonts |
Status / Observations |
km |
Khmer |
KhmerOSsys.ttf |
ttf-khmeros |
udeb OK in unstable. |
lo |
Lao |
none(?) |
ttf-lao |
Font named Phetsarath |
th |
Thai |
none |
[http://linux.thai.net/~thep/debian/source/thaifonts-scalable/ ttf-thai-tlwg] |
Font named Loma. ttf-thai-tlwg-udeb provided by thaifonts-scalable 0.4.4-5 uploaded June 12th, but needs NEW processing |
Arabic scripts
Lang Code |
Language Name |
Current Font |
Other Fonts |
Status / Observations |
ar |
Arabic |
nazli |
ae_AlMohanad and [http://lists.debian.org/debian-boot/2006/01/msg01119.html others] |
Davide Viti has created [http://lists.debian.org/debian-boot/2006/02/msg00915.html an iso image] where he uses nazli for arabic, also [http://lists.debian.org/debian-boot/2006/02/msg00916.html sceenshots for all supported languages] were done an published |
fa |
Persian |
nazli |
[http://fpf.sourceforge.net/cms/index.php Free Persian Font] and [http://lists.debian.org/debian-boot/2006/01/msg01119.html others] |
[http://fpf.sourceforge.net/cms/index.php Free Persian Font]'s italic [http://lists.debian.org/debian-boot/2006/01/msg01108.html looks ugly]. Tests should be done for "[http://lists.debian.org/debian-boot/2006/01/msg01119.html others]", if any of them are suggested by farsi speaking people. |
nazli characters should be bigger (same for ae_AlMohanad in case it will be used again).
It seems that for arabic, nazli is the most fitted for arabic scripts. ttf-farsiweb-udeb provided by ttf-farsiweb 0.4-2.1 uploaded June 13th, but needs NEW processing
[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:
[http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=341229 #341229] (ATM the bug is fixed, but it's safer to make sure all languages are OK before closing it), [http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=342239 #342239]
Needs to be checked now that ttf-freefont has been stripped.
There is some oddity going around in G-I as Arabic was not displayed when ttf-arabeyes was added along with ttf-punjabi-fonts, ?MuktiNarrow, ja, ko and zh fonts. This problem was not present when ttf-farsiweb is added instead of ttf-arabeyes.
[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
Lang Code |
Language Name |
Current Font |
Other Fonts |
Status / Observations |
ja |
Japanese |
ttf-cjk-compact-udeb |
Kenshi and Hidetaka recommend Sazanami-Gothic. A stripped ttf is about 160KB. Still there is a [http://lists.debian.org/debian-boot/2006/02/msg00936.html question] if the kana and kanji glyphs are well mixed for Japanese. |
|
ko |
Korean |
ttf-cjk-compact-udeb |
[http://packages.debian.org/unstable/debian-installer/ttf-cjk-compact-udeb ttf-cjk-compact-udeb] is a custom made font set based on the necessary glyphs that are encountered in D-I. The Korean fonts are taken from UmDotum; We did have report from Sunjae Park <darehanl@gmail.com> stating that the [http://lists.debian.org/debian-boot/2005/11/msg01409.html ?UnDotum looked right] |
|
zh_CN |
Chinese (Simplified) |
ttf-cjk-compact-udeb |
ttf-comapct-fonts is a custom made font set based on the necessary glyphs that are encountered in D-I |
|
zh_TW |
Chinese (Traditional) |
ttf-cjk-compact-udeb |
ttf-comapct-fonts is a custom made font set based on the necessary glyphs that are encountered in D-I |
For Chinese and Japanese [http://lists.debian.org/debian-boot/2005/12/msg00150.html 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).
Chinese and Japanese have an [http://en.wikipedia.org/wiki/Han_unification 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.
For Korean we now use [http://lists.debian.org/debian-boot/2005/12/msg00150.html 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
Lang Code |
Language Name |
Current Font |
Other Fonts |
Status / Observations |
be |
Belarusian |
ttf-dejavu |
||
bg |
Bulgarian |
ttf-dejavu |
||
kk |
Kazakh |
ttf-dejavu |
||
mk |
Macedonian |
ttf-dejavu |
||
ru |
Russian |
ttf-dejavu |
||
sr |
Serbian |
ttf-dejavu |
||
uk |
Ukrainian |
ttf-dejavu |
[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.7. The package now creates a udeb since version 2.7-1, using the DejaVuSans fonts. If latin glyphs are not used from this font, then they should be stripped out.
Creating screenshots
As a prerequisite your machine must have been started with support for framebuffer
get a minimal g-i image (around 10Mb) and create the test environment:
$ mkdir -p g-i/tree && cd g-i $ wget http://people.debian.org/~joeyh/d-i/images/daily/gtk-miniiso/mini.iso $ mount -t iso9660 mini.iso /mnt -o loop $ cp /mnt/initrd.gz tree/ && cd tree/ $ zcat initrd.gz | cpio -i $ cd .. $ umount /mnt
put all you need for taking the screenshots (text files, application, etc) in the test environment:
$ wget http://d-i.alioth.debian.org/gtk-frontend/screenshots/samples.tgz $ tar xzf samples.tgz -C tree/
grab the [http://svn.debian.org/wsvn/d-i/trunk/scripts/g-i/chroot_g-i.txt?op=file&rev=0&sc=0 script] which does some black magic and execute it:
$ sh chroot_g-i.txt $ chroot tree /bin/ash
You can take a screenshoot for Italian language:
$ ./gtk_font_tester it.txt 800 600 $ mv /var/log/test_0.png /var/log/it.png
or if you want to take a screenshot for all supported languages:
$ take_shots.sh
It's now possible to leave the chroot (CTRL-d) and see the pictures inside tree/var/log