I had studied this topic before v1.52, and I found someone had got result as below:
1. All characters of a language can be displayed in civ4 if that language uses 1 byte code. Part of characyers of a language can be displayed in civ4 if that language uses 2 byes code.
2. The characters in civ4 are displayed in two method, they use different font.
One is in files GameFont.tga and GameFont_75.tga of folder C:\Program Files\Firaxis Games\Sid Meier's Civilization 4\Assets\res\Fonts, they are used in main graphics screen.
Another is in file sylfaen.ttf of folder C:\Program Files\Firaxis Games\Sid Meier's Civilization 4\Resource\Fonts, they are used for menu and so on.
3. To show your own characters in graphics screen, You have to create your own GameFont.tga and GameFont_75 with
Gimp. You can only use about 700 characters in this file. Here is a sample of GameFont.tga for Chinese.
4. To display your characters for menu text, you have to create a ttf font file with truetype font editor, then change font in file Civ4Theme_Common.thm as above. Remember you only can use code lower 255 or 0xFF, so that about 200 characyers, here is a sample of Chinese TTF font file.
5. Change XML file to charset for your language and use &#nnnn to specific character for your language.