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.
The following issues are open with respect to fonts:
- 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 that the screenshots are a little outdated currently.
- 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)
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 Fontforge scripting
Davide Viti created a fontforge script, that will allow stripping unnecessary glyphs or glyph ranges from the fonts. If needed, one can read the usage hints.
Information on how to play around with fonts is included in DebianInstaller/GUIBuild.
Fonts configuration for the G-I
Infos for language codes were fetched from:
AUTHORS file included in the freefont source package
Font packages currently used:
Color codes below:
- Green: rendering has been checked and confirmed correct with the mentioned setup
- Yellow: we have the recommended configuration but the rendering has not been confirmed correct
- Red: we're missing something to properly build g-i with the recommended font
Latin-1
Base characters (Latin) are taken from fonts-dejavu (existing udeb).
Lang Code |
Language Name |
Current Font pkg |
Other Fonts pkg |
Status / Observations |
br |
Breton |
fonts-dejavu |
fonts-freefont |
ok |
ca |
Catalan |
fonts-dejavu |
fonts-freefont |
ok |
ca@valencia |
Valencian-Catalan |
fonts-dejavu |
fonts-freefont |
ok |
da |
Danish |
fonts-dejavu |
fonts-freefont |
ok |
de |
German |
fonts-dejavu |
fonts-freefont |
ok |
en |
English |
fonts-dejavu |
fonts-freefont |
ok |
es |
Spanish |
fonts-dejavu |
fonts-freefont |
ok |
eu |
Basque |
fonts-dejavu |
fonts-freefont |
ok |
fi |
Finnish |
fonts-dejavu |
fonts-freefont |
ok |
fr |
French |
fonts-dejavu |
fonts-freefont |
ok |
ga |
Irish |
fonts-dejavu |
fonts-freefont |
ok |
gl |
Galician |
fonts-dejavu |
fonts-freefont |
ok |
id |
Indonesian |
fonts-dejavu |
fonts-freefont |
ok |
is |
Icelandic |
fonts-dejavu |
fonts-freefont |
ok |
it |
Italian |
fonts-dejavu |
fonts-freefont |
ok |
ms |
Malay |
fonts-dejavu |
fonts-freefont |
Language is not supported yet but uses only ASCII characters |
nb |
Norwegian Bokmal |
fonts-dejavu |
fonts-freefont |
ok |
nl |
Dutch |
fonts-dejavu |
fonts-freefont |
ok |
nn |
Norwegian Nynorsk |
fonts-dejavu |
fonts-freefont |
ok |
pt |
Portuguese |
fonts-dejavu |
fonts-freefont |
ok |
pt_BR |
Portuguese (Brazil) |
fonts-dejavu |
fonts-freefont |
ok |
sq |
Albanian |
fonts-dejavu |
fonts-freefont |
ok |
sv |
Swedish |
fonts-dejavu |
fonts-freefont |
ok |
tl |
Tagalog |
fonts-dejavu |
fonts-freefont |
ok |
xh |
Xhosa |
fonts-dejavu |
fonts-freefont |
ok |
Latin-other
These are also covered by fonts-dejavu.
Lang Code |
Language Name |
Current Font pkg |
Other Fonts pkg |
Status / Observations |
ast |
Asturian |
fonts-dejavu |
fonts-freefont |
ok |
bs |
Bosnian |
fonts-dejavu |
fonts-freefont |
ok |
cs |
Czech |
fonts-dejavu |
fonts-freefont |
ok |
cy |
Welsh |
fonts-dejavu |
fonts-freefont |
ok |
eo |
Esperanto |
fonts-dejavu |
fonts-freefont |
ok |
et |
Estonian |
fonts-dejavu |
fonts-freefont |
ok |
hu |
Hungarian |
fonts-dejavu |
fonts-freefont |
ok |
ku |
Kurdish |
fonts-dejavu |
fonts-freefont |
ok |
lv |
Latvian |
fonts-dejavu |
fonts-freefont |
ok |
lt |
Lithuanian |
fonts-dejavu |
fonts-freefont |
ok |
mg |
Malagasy |
fonts-dejavu |
fonts-freefont |
ok |
pl |
Polish |
fonts-dejavu |
fonts-freefont |
ok |
ro |
Romanian |
fonts-dejavu |
fonts-freefont |
ok |
hr |
Croatian |
fonts-dejavu |
fonts-freefont |
ok |
se |
Sami |
fonts-dejavu |
fonts-freefont |
ok |
sk |
Slovak |
fonts-dejavu |
fonts-freefont |
ok |
sl |
Serbian (Latin) |
fonts-dejavu |
fonts-freefont |
ok |
sl |
Slovenian |
fonts-dejavu |
fonts-freefont |
ok |
tr |
Turkish |
fonts-dejavu |
fonts-freefont |
ok |
vi |
Vietnamese |
fonts-dejavu |
fonts-freefont;HanNomSet,TriChlorSet |
The licenses for HanNomSet have not been studied. TriChlorSet is "all rights reserved". |
wo |
Wolof |
fonts-dejavu |
fonts-freefont |
Display is correct with fonts-freefont, even the "ŋ" characters; dejavu state is unknown |
Non-Latin scripts
Armenian script
Lang Code |
Language Name |
Current Font pkg |
Other Fonts pkg |
Status / Observations |
hy |
Armenian |
fonts-dejavu |
|
Language not yet in the installer |
Georgian script
Lang Code |
Language Name |
Current Font pkg |
Other Fonts pkg |
Status / Observations |
ka |
Georgian |
fonts-dejavu |
fonts-freefont, ttf-bpg-georgian-fonts |
Udeb OK |
Greek script
Lang Code |
Language Name |
Current Font pkg |
Other Fonts pkg |
Status / Observations |
el |
Greek |
fonts-dejavu |
fonts-freefont |
With fonts-freefont, Greek is a little blurred but ok: see this thread |
Hebrew script
Lang Code |
Language Name |
Current Font pkg |
Other Fonts pkg |
Status / Observations |
he |
Hebrew |
fonts-dejavu |
fonts-freefont |
OK for translator |
Indic family scripts
Lang Code |
Language Name |
Script |
Current Font pkg |
Other Font pkg |
Status / Observations |
bn |
Bengali |
Bengali |
fonts-freefont |
ttf-bengali-fonts |
?MuktiNarrow in ttf-bengali-fonts recommended by translators (udeb requested with 375475) |
gu |
Gujarati |
Gujarati |
fonts-freefont |
ttf-gujarati-fonts |
|
hi |
Hindi |
Devanagari |
fonts-freefont |
ttf-devanagari-fonts |
Gargi_1.7.ttf in ttf-devanagari-fonts also possible. |
kn |
Kannada |
Kannada |
fonts-knda |
|
Uses Kannada script. Kadige-* in ttf-kannada-fonts suggested by indlinux contributors. |
ml |
Malayalam |
Malayalam |
fonts-mlym |
|
Rachana_w01.otf is used. |
mr |
Marathi |
Devanagari |
fonts-freefont |
ttf-devanagari-fonts |
Gargi_1.7.ttf in ttf-devanagari-fonts also possible |
ne |
Nepali |
Devanagari |
fonts-freefont |
ttf-devanagari-fonts |
Gargi_1.7.ttf in ttf-devanagari-fonts recommended by Paras pradhan |
pa |
Punjabi |
Gurmukhi |
fonts-freefont |
ttf-punjabi-fonts |
Saab.ttf of lohit_pa.ttf from ttf-punjabi-fonts also possible (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) |
sa |
Sanskrit |
Devanagari |
fonts-freefont |
ttf-devanagari-fonts |
Language not yet in the installer |
si |
Sinhala |
Sinhala |
fonts-noto-hinted |
|
|
ta |
Tamil |
Tamil |
fonts-taml |
|
TSCu_Paranar in ttf-tamil-fonts |
te |
Telugu |
Telugu |
fonts-telu |
|
Pothana2000 suggested by translator. |
ks |
Kashmiri |
Devanagari |
fonts-freefont |
ttf-devanagari-fonts |
Gargi_1.7.ttf in ttf-devanagari-fonts also possible. Doubts about complete support in Freefont. It seems that Kashmiri has special glyphs wrt other Devanagari-based languages. See [ http://pravins.fedorapeople.org/Draft/kashmiri_draft.html that link] for more details |
Resources: #indlinux IRC channel on irc.freenode.net and eventually < debian-in-workers@lists.alioth.debian.org >
There was a report stating that Bengali does not look right. 343446 tries to analyze the problem.
Bengali: 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.
Ethiopic script
Lang Code |
Language Name |
Current Font pkg |
Other Fonts pkg |
Status / Observations |
am |
Amharic |
fonts-sil-abyssinica |
|
Abyssinica_SIL to be used. |
Tibeto-Burman family scripts
Lang Code |
Language Name |
Current Font pkg |
Other Font pkg |
Status / Observations |
dz |
Dzongkha |
fonts-tibetan-machine |
ttf-dzongkha |
udeb OK |
South-East Asian scripts
Lang Code |
Language Name |
Current Font pkg |
Other Font pkg |
Status / Observations |
km |
Khmer |
fonts-khmeros |
|
KhmerOSsys.ttf udeb OK |
lo |
Lao |
fonts-dejavu |
ttf-lao |
Font named Phetsarath (ttf-lao) |
my |
Burmese |
fonts-sil-padauk |
|
Translators recommend a font named Myanmar3 from [http://www.myanmarnlp.net.mm/ MyanmarNLP]. Needs to be packaged. padauk can be used in the meantime |
th |
Thai |
fonts-thai-tlwg |
none |
Font named Loma. udeb OK |
Arabic scripts
Lang Code |
Language Name |
Current Font pkg |
Other Fonts pkg |
Status / Observations |
ar |
Arabic |
fonts-farsiweb |
fonts-arabeyes |
Font named Nazli ae_AlMohanad from ttf-arabeyes also possible |
fa |
Persian |
fonts-farsiweb |
|
Font named Nazli |
sd |
Sindhi |
|
|
Translator recommends Scheherazade from fonts-sil-scheherazade. udeb requested through 660819. Language not yet in the installer |
ur |
Urdu |
fonts-nafees |
fonts-paktype |
Font named ?NafeesWeb. Language not yet in the installer |
ug |
Uyghur |
fonts-ukij-uyghur |
Font named UKIJ Tuz Tom |
udeb OK |
Resources: #arabeyes IRC channel on irc.freenode.net
Chinese/Japanese/Korean scripts
Lang Code |
Language Name |
Current Font pkg |
Other Fonts pkg |
Status / Observations |
ja |
Japanese |
fonts-android |
|
|
ko |
Korean |
fonts-android |
|
|
zh_CN |
Chinese (Simplified) |
fonts-android |
|
|
zh_TW |
Chinese (Traditional) |
fonts-android |
|
|
We no longer use ttf-cjk-compact-udeb for CJK for some time now!
Following are historical information for CJK languages, no longer up-to-date:
Japanese: Sazanami-Gothic recommended. A stripped ttf is about 160KB. Still there is a issue with the kana and kanji glyphs which are not well mixed for Japanese. Kenshi Muto confirmed personally that the issue is present. No solution for this problem, yet.
Korean: Korean fonts are taken from UnDotum confirmed OK by translator
For Chinese and Japanese we currently use the fonts prepared by Kenshi Muto (ttf-compact-fonts). For an overview, see 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 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 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 pkg |
Other Fonts pkg |
Status / Observations |
be |
Belarusian |
fonts-dejavu |
|
|
bg |
Bulgarian |
fonts-dejavu |
|
|
ky |
Kirghiz |
fonts-dejavu |
|
Language not yet in the installer |
kk |
Kazakh |
fonts-dejavu |
|
|
mk |
Macedonian |
fonts-dejavu |
|
|
os |
Ossetian |
fonts-dejavu |
|
Language not yet in the installer |
ru |
Russian |
fonts-dejavu |
|
|
sr |
Serbian |
fonts-dejavu |
|
|
tg |
Tajik |
fonts-dejavu |
|
|
uk |
Ukrainian |
fonts-dejavu |
|
|
Creating screenshots
As a prerequisite your machine must have been started with support for framebuffer
- get a minimal g-i image (around 62MB) and create the test environment:
$ mkdir -p g-i/tree && cd g-i $ wget https://d-i.debian.org/daily-images/amd64/daily/netboot/gtk/mini.iso $ mount -t iso9660 mini.iso /mnt -o loop $ cd tree/ $ zcat /mnt/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 script which does some black magic and execute it:
$ wget -O chroot_g-i.txt 'https://salsa.debian.org/installer-team/d-i/blob/master/scripts/g-i/chroot_g-i.txt' $ 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 (script available here: take_shots.sh):
$ take_shots.sh
It's now possible to leave the chroot (CTRL-d) and see the pictures inside tree/var/log