提交给官方的提案么当然是英文的,我想汉化组各位看看小蝌蚪自然应该没什么问题,所以就原文奉上咯,也请大家帮忙测试xDDD。
Dear Wesnothians:
Greetings!
I am CloudiDust, maintainer of Simplified Chinese translations.
Here's my proposal for replacing the default CJK font in wesnoth.
--> Objective:
Improve the rendering quality of CJK (Chinese, Japanese, Korean) characters in wesnoth.
--> Current Status:
The default CJK font in wesnoth is now 'WenQuanYi ZenHei' (wqy-zenhei), which has the following shortcomings:
1. It cannot be used to render italic characters when used with other fonts.*
2. It cannot provide proper glyphs for certain Japanese characters.
3. It cannot render Korean properly, even the regular ones.
4. The font file is 12.6 MB, which is large.
* If I remove everything but wqy-zenhei from the two 'order' entries in font.cfg, italics can be rendered. And I have no idea why. As far as I know, this seems to be a windows specific problem, and 'pango under windows' being a host of glitches seems no news (Oops).
As a result, CJK players, especially the windows guys, are required to manually configure the game for a proper display. Usually this means replacing wqy-zenhei with another font, thus completely defeating the reason to include wqy-zenhei in the first place. Moreover, this process is hard for normal players, isn't something they should be forced to do, and they are likely to just abandon the game. Definitely not what we would like to see.
--> Previous Proposals:
It has been proposed by Clearpotion (
http://forums.wesnoth.org/viewtopic.php?f=4&t=32115) to include TakaoPGothic as the default Japanese font. Chinese and Korean issues are not addressed.
There are some concerns about Takao fonts, that their license, the IPA Font License, is not GPL compatible. As a result wesnoth may not be able to distribute TakaoPGothic in the source tarball. As far as I know, this is a grey area, like many other GPL related issues.
So,
--> My Proposal:
#1. Replace wqy-zenhei with Google Android's 'Droid Sans Fallback' (DSF) and 'Droid Sans Japanese' (DSJ).
#2. Remove the obsoleted entries in data/hardwired/fonts.cfg.
--> Reasons:
My reasons for #1:
1) They can be used to render italic characters unconditionally.
2) DSJ can provide Japanese-specfic glyphs over Chinese ones offered in DSF.
3) The Korean characters are not 'broken' with these two fonts.
4) The total size of the two is 6.17 MB, only half of wqy-zenhei.
Compared to the other possible combination (Takao + DSF), DSJ + DSF has the following advantages:
1) Droid fonts are under Apache License 2.0, which is GPL compatible, says FSF.
2) Droid fonts provides a unified style for CJK.
3) Takao is 5.94 MB, while DSJ is only 1.1 MB as it can fallback to DSF.
My reasons for #2:
The obsoleted entries are for wqy-zenhei-gb2312 and sazanami-gothic. The former is a stripped version of wqy-zenhei, while the latter is only for Japanese and cannot provide italics when used with other fonts either.
--> Impact If Accepted:
1. Better CJK character rendering overall and support for italics.
2. fonts/wqy-zenhei.ttc would be replaced by DroidSanFallbackFull.ttf and DroidSansJapanese.ttf.*
3. data/hardwired/fonts.cfg would be modified accordingly.
4. The license of the Droid fonts (Apache License 2.0) would be included in wesnoth/fonts/COPYING.
5. Translators would have to 'retranslate' (reorder, actually) the two font related messages in textdomain 'wesnoth'.
6. If a language other than CJK depends on glyphs only available in wqy-zenhei, there might be new display glitches introduced.
* The DroidSansJapanese.ttf to be included in the official distribution would be a modified one if a certain bug doesn't get fixed in the Android git repository, see Known Issues(3).
--> Known Issues:
1. Once again, a seemingly windows specific issue, likely caused by pango. The texts rendered are not properly anti-aliased in some parts of the game, so are less pretty than the others. (Please compare the texts in the loading screen and the ones in the main menu screen.) In this regard, wqy-zenhei and Takao fonts also have their respective strong and weak areas. Until the day pango finally settles things down with windows, we may have to live with this.
2. The DSF + DSJ combination lack (like wqy-zenhei and Takao) some of the proper 'dash' characters introduced in wesnoth 1.9.x. A better solution would be giving Droids priority and fallback to DejaVu Sans only when necessary, but somehow this setup doesn't work. The game won't fallback to DejaVu. So I do it the other way around, preferring Dejavu to Droids for the non-CJK characters. As DejaVu and Droid have different styles, sometimes texts would feel slightly out of place. Nevertheless I would prefer this 'imperfection' to utter-user-unfriendly character-not-found rectangles any day.
Then some may ask, why not introduce Droid Sans that has those characters? Because we only need the dashes, and adding a new font for fewer than four characters seems not economical. Then maybe more importantly, throwing Droid Sans into the combination still means rectangles, no matter how I set the font order. Again, I don't know why, or if this is another windows specific issue.
3. Yet another Windows Specific Issue (TM). The DroidSansJapanese.ttf from the Android git repository is not valid on windows thanks to an incomplete cmap (the font has a format 12 subtable, but no accompanying format 4 subtable as required by windows). And the game will always fallback to DSF. A modified version of DSJ that works on windows is employed here. DSF used to have this issue too, but the Android developers fixed it in some update. DSJ is not so lucky on this one.
4. There seems to be a bug in the Korean translation that prevents the game from being saved. However this bug also shows when I use the original font.cfg and wqy-zenhei.
--> Help Needed:
Wesnothians, please test the new fonts in the game if possible. I sincerely hope you will enjoy them.
The steps to use the new fonts are:
1. Download the data archive from:
http://wesnoth-translation-cn.go ... ew_cjk_fonts.tar.gz
2. Extract it and put the contents of the extracted 'wesnoth' directory into the wesnoth resource directory. That means the game's root directory under windows, or (usually) /usr/share/wesnoth or /usr/share/games/wesnoth under linux.
3. There will be a fonts.cfg.ja and a fonts.cfg.ff in {resource dir}/data/hardwired, rename one of them to fonts.cfg and replace the original one. (Make sure a backup is made.) Japanese players will need fonts.cfg.ja, which gives DSJ priority over DSF, while Chinese and Korean players may prefer fonts.cfg.ff ('Fallback' First). The two files should work equally well for players using other languages. If it's not the case, please let me know.
4. Run the game.
It's worth mentioning that fonts.cfg.{ja,ff} both contain an entry for TakaoPGothic.ttf, and it's priority is only topped by DejaVu Sans. So if you would like to see Takao in action, just move the font file from {resource dir}/fonts/takao to {resource dir}/fonts and its ready to go.
--> Notes:
1. All my tests are performed on Windows 7 Ultimate (zh_CN), with wesnoth 1.9.13. This obviously is far from enough, and any input would be appreciated.
2. Unmodified Droid fonts are available at:
http://android.git.linaro.org/gi ... frameworks/base.git;a=tree;f=data/fonts
Unmodified DroidSansJapanese.ttf should work fine under linux, so there is no need for linux packagers to pack my modified version if this proposal gets accepted. A better solution would be submitting a bug report to Android to finish the work once and for all, which won't be discussed further in this proposal.
3. Takao fonts are available at:
https://launchpad.net/takao-fonts
--> The End.
Comments are welcome.
Thanks in advance.
Best regards,
CloudiDust
---------------------------------------
CloudiDust, maintainer of Simplified Chinese translations.