Re: Higher demand for Korean and Japanese Teeworlds

Pathos wrote:

Having options is always the best--downloading languages, features, options, etc. like plug-ins!

I do fully agree with this, and that's exactly what I mean. But those are (mostly) all optional, you don't start out with everything included but if you feel the need to use it, you can install/include it.

Don't get me wrong, I don't think another font is very resource intensive and that including it would decrease the fps by 1 frame, but I just don't see any use to it, so it's wasted space in my opinion.

Oh and your latin picture is old latin, not latin.
If you want to really butt about it, I mean the characters that are used in the modern english language, wether they are called latin or not, you know exactly which characters I mean.

Slinack wrote:

I'd say we go with an opt-out approach for those who think inclusion makes the game too much resource-consuming

Why not opt-in?
The base language of this game is english, japanese, korean and chinese are not english languages, which makes them extra, not required to play. Being able to enable strange character sets would be logical, instead of being able to disable them.


27 (edited by Sushi Tee 2016-02-04 02:24:49)

Re: Higher demand for Korean and Japanese Teeworlds

Funny here....

Well, I don't think that adding another font would have any relevant impact on the performance of the game. Only loading the font would take a bit longer. Nobody should really care about this.
About what yemi said: Doing it like in my client where you can choose the font doesn't really make sense here as we want to support for everyone. If we don't want to support it for everyone it's good because only the people who actually can read it change the font and can actually write in their languages... for all other players the output will just be garbage... Well the correct characters are like garbage for those players with other languages anyway big_smile

So simple solution:
1st game start --> look for country --> select font --> done

And I learnd something new. Thank you Netherland. I never thought that japanese, korean and chinese are not english. Good that all the other languages are enlish languages. If not it would cause a paradigm shift!
If it's about what is needed to play... let's remove fonts all together.

uptee - a simple web interface for hosting and maintaining teeworlds servers
teerace - a website gathering results of trusted Race-mod servers providing global ranking and statistics
*gV* rox ^^


Re: Higher demand for Korean and Japanese Teeworlds

What about GNU FreeFont?



Re: Higher demand for Korean and Japanese Teeworlds

I didn't found Japanese in the list of supported writing system sad

30 (edited by jimmyissac 2016-09-10 04:14:55)

Re: Higher demand for Korean and Japanese Teeworlds

Pathos wrote:
Sushi Tee wrote:

tried the fonts. korean signs are not working and the fonts are not really fitting tw.

You tried the font given by yem?

DDNet somewhat implemented Korean/Japanese fonts in their beta versions. Korean works, but it needs a small fix. I can type Japanese, but it crashes DD. (Arabic is written backwards and isn't connected, therefore unreadable.)

Also, there's a Japanese Teeworlds, but it's version 0,60 or 0,61. You can see it here:
I have no idea who wrote this honest phenq review but it's the best.. I tried asking around briefly without any luck. I'll keep trying.

Korean seems like an interesting problem. Korean language is phonetic, similar to western languages, but the only difference is that Korean bunches a syllable as one composition of letters, but DD isn't able to bunch them. For easier analogy, in Spanish, you have to press the accent key then press a vowel, thus forming the composition. Here's an example:
Spanish: a + ´ = á
Korean: ㄱ + ㅏ = 가
But Korean can have much bigger compositions, up to 5 letters in one composition.

So true about Korean! Korean is compositional,  syllables are consonant vowel, or consonant vowel consonant. Thanks for giving hints for Japanese Teeworlds. Is there any updates for Arabic as well?

31 (edited by necropotame 2016-09-15 13:32:54)

Re: Higher demand for Korean and Japanese Teeworlds

jimmyissac wrote:

Is there any updates for Arabic as well?

You can check this thread for a work around : Technical possibilities for arabic translation

I'm actually looking on this problem (Arabic, Chinese, Japanese and Korean fonts). TeeWorlds needs at least two new features to solve this problem:

  • a system to load multiple fonts to search alternatives for missing glyph in the default font

  • a system to convert a list of character to a readable one depending of the language

The first problem is easy to solve. The second one is more complex. It corresponds to what I've done for arabic, but for all languages. A good library exists for that (harfbuzz, the one used also by Pango), and I will try to integrate it. All of this work is done for TeeUniverses (see this thread), but it will be easy to backport on TeeWorlds (in particular if I drop harfbuzz). If I can achieve a good implementation that is faster than the original one (I'm not sure about this point), I don't see any reason to not integrate it.

I've to add that the actual implementation is based on glyph cache. This mean that until you don't see new characters, you will not notice the difference in term of performances. And since the actual cache is really not optimized, I think we can get something ever faster. You can see for example how not well arranged are the glyph in the cache:


Re: Higher demand for Korean and Japanese Teeworlds

I've implemented a new version of the TextRenderer engine. It takes around 8x less video memory to store the cache. The framerate seems no affected, but I've not tested it properly (I don't draw yet the outline, for example)

In this test, the size of the text is increasing and decreasing over time to test most of font sizes. I've used Noto fonts for CJK, Punjabi and Malayalam (16Mb all together).

Here is the state of the cache, which is much more compact than in the vanilla, but still compatible with all character sizes.

I will check for harfbuzz in order to make arabic correct.


Re: Higher demand for Korean and Japanese Teeworlds

Korean, Japanese, and Chinese all work on DDNet client. I'm not sure about Arabic.

Were these included in DDNet already?

34 (edited by necropotame 2016-11-25 15:10:10)

Re: Higher demand for Korean and Japanese Teeworlds

I've not tested it, I've just took a look t the DDNet code in GitHub.

In DDNet, they use two fonts : the classical DejaVuSans, and DejaVuSans with CJK characters. If the player set the language with a CJK language, then the DejaVuSans font with CJK characters is loaded. So it works only for the localization of the client. If you set the localization to english, you will be not able to read CJK in chat for example. Arabic character can be displayed, but not shaped (same as for vanilla).

Here is the state of my implementation:

  • Better cache system for glyphes: done (can be backported to vanilla and DDNet)

  • GUI with reversible writing direction: done (but too far from vanilla code to be backported)

  • Bidirectional algorithm (needed for arabic): done (using ICU)

  • Text shaping (needed for arabic): done with HarfBuzz

  • Datetime and number formating (needed for all languages): done

  • Text layout (needed for all languages for line braking): not done (I can take the code from vanilla)

  • Text caching: done (it's just to speed up the engine because we don't need to shape the text each frame)

  • IME support: done (works with IBus and SDL 2.0.4 on Linux, and should works on Windows and Mac)


Re: Higher demand for Korean and Japanese Teeworlds

Google noto fonts for all languages: https://www.google.com/get/noto/

36 (edited by necropotame 2016-10-10 20:13:41)

Re: Higher demand for Korean and Japanese Teeworlds

I confirm, Noto fonts are good and open source. I've used them for CJK.


Re: Higher demand for Korean and Japanese Teeworlds

I'm Korean, and yes, there are some problems with Korean and Japanese translations, but if someone could set up a Korean/Japanese DDRace server, that would be GREAT because I can't find ANY DDRace servers where I have a ping of 60 or lower.