View Issue Details

IDProjectCategoryView StatusLast Update
0002778The Dark ModGUIpublic04.08.2018 20:26
Reportertels Assigned To 
Status confirmedResolutionopen 
Product VersionTDM 1.06 
Summary0002778: Add support for Umlauts like 'Ä' in the fonts
DescriptionThe menu font (and the menu GUI) currently do not support UTF-8. However, even in ISO 8859-1, the 'ä' f.i. is rendered as □ (white suqare). Find a way to add these Umlauts to the menu font (Carleton), HUD font (Stone) and all the other fonts for readables.
TagsNo tags attached.


has duplicate 0001610 closedtels Fonts incomplete for keyboard bindings in settings menu 
child of 0002779 confirmed Translate the menu and HUD into different languages 




19.06.2011 19:40

reporter   ~0003887

The font in question is Carleton, and there are two ways:

* use a new font with the Umlauts, then convert it.
* Add the Umlauts to textures/fonts/ (etc.) and add the relevant info to the fontimage_48.dat file. A tool called q3font comes in handy here, otherwise we need to hack the file manually.


20.06.2011 17:10

reporter   ~0003889

In addition to the problem with the Umlauts it seems that D3 loads fonts from a language-specific directory, and seems not to have a fallback. That means we must probably copy the fontimage_X.dat files for each language, increasing the size of the package needlessly. Luckily these files are only 20 Kbyte each, but we have dozends for all the fonts.


23.06.2011 11:09

reporter   ~0003897

The weapon display uses the "Stone" font, so this is another candidate for getting Umlauts added.


23.06.2011 20:23

reporter   ~0003901

Hyeron did a lot of work creating a replacement Carleton font, if possible, we should retrieve this font and use it, as it would solve the issue for a lot of European languages all at once:


27.06.2011 19:42

reporter   ~0003903

French adds a non-breaking space before some punction marks. Adding a more narrow space for this would keep texts small, while still allowing it to look good to French Eyes[tm] :)


28.10.2011 15:36

reporter   ~0004110

A new utility has been checked in, it can read/dissamble font image files, patch them and write the result back. It can also be driven by commands from a textfile.

A textfie has been added which patches the most-often used characters in our Carleton 48 font. In addition, all the ISO 8859-1 and some Czech special characters in size 48 have been painted and checked in.

We now "only" need to finish the support for all characters (ideally all ISO 8859-1, but the used-by-our-current-languages subset would be fine, too).

Asfor code support, the only change is that we need to shift the Czech characters during dictionary load.

Things start to fall in place now.


28.10.2011 15:37


e_accent_3.jpg (90,823 bytes)   
e_accent_3.jpg (90,823 bytes)   


06.11.2011 22:48

reporter   ~0004124

A uisable charset with the most common accented characters has been defined:

The font_patcher can now handle #includes and #define, so it is much more versatile. The copy and extension of the characters has been moved to an extra file, so it is re-usable for other fonts.

The Carleton font in 48 pixel has been drawn for all special characters (plus some), and the font patch file has been extended to cover them all.

So at least the 48 pixel version is now done.

In addition, the "shift characters for Czech" has been implemented as a generic character-mapping support with external files (so no code change isnec. if the mapping ever changes).

TODO: The 24 pixel Carleton font (menu and HUD), and all the other fonts for the readables.


06.11.2011 22:52


accents_24.jpg (123,065 bytes)   
accents_24.jpg (123,065 bytes)   


06.11.2011 22:52


accents_48.jpg (134,275 bytes)   
accents_48.jpg (134,275 bytes)   


20.11.2011 16:43

reporter   ~0004169

Both 48 and 24 pixel Carleton are done. This means the entire menu (minus the Gamma settings) and briefings work now.

Missing are all the other readable fonts, as well as "Stone", which is used for the weapons display.


21.01.2012 16:31

reporter   ~0004266

The font loader code inside the doom3 engine has been fixed to also properly prepare character 0xFF - that was the bug that prevented "ÿ" in western fonts, and "я" in Russian fonts to render.

The Russian fonts still remap 0xFF to 0xB6, because it works and we don't need to fix all the Russian font files this way.


05.10.2014 16:39

reporter   ~0007059

Five new characters have been added to the TDM charset: Ș Ț ș ț đ

A ISO 8859-16 to TDM map file ( also exists. The fonts do not have these special characters yet, so they will appear as □ for now.


06.06.2017 14:20

reporter   ~0008886

Last edited: 04.08.2018 20:26

View 2 revisions

Even though tels is gone, this issue still needs to be completed as Romanian lacks â, ă, î.

Especially considering that TDM is standalone now.

Issue History

Date Modified Username Field Change
19.06.2011 09:16 tels New Issue
19.06.2011 09:16 tels Status new => assigned
19.06.2011 09:16 tels Assigned To => tels
19.06.2011 09:20 tels Relationship added child of 0002779
19.06.2011 19:40 tels Note Added: 0003887
20.06.2011 17:10 tels Note Added: 0003889
23.06.2011 11:09 tels Note Added: 0003897
23.06.2011 20:23 tels Note Added: 0003901
27.06.2011 19:42 tels Note Added: 0003903
19.07.2011 21:16 tels Relationship added has duplicate 0001610
28.10.2011 15:36 tels Note Added: 0004110
28.10.2011 15:37 tels File Added: e_accent_3.jpg
30.10.2011 07:30 greebo Target Version TDM 1.07 =>
06.11.2011 22:48 tels Note Added: 0004124
06.11.2011 22:52 tels File Added: accents_24.jpg
06.11.2011 22:52 tels File Added: accents_48.jpg
20.11.2011 16:43 tels Note Added: 0004169
22.11.2011 06:52 tels Summary Add support for Umlauts like 'Ä' in the menu font => Add support for Umlauts like 'Ä' in the fonts
22.11.2011 06:52 tels Description Updated View Revisions
21.01.2012 16:31 tels Note Added: 0004266
15.05.2013 15:26 tels Assigned To tels =>
03.06.2013 02:27 grayman Status assigned => confirmed
05.10.2014 16:39 tels Note Added: 0007059
06.06.2017 14:20 Anderson Note Added: 0008886
04.08.2018 20:26 Anderson Note Edited: 0008886 View Revisions