Text-rendering solutions (with international support?)

Started by
3 comments, last by Adam_42 9 years, 3 months ago

Well met!

I am wondering what kind of solution is preferable when it comes to text-rendering (for a dx11 engine).

As far as I can see, there are 3 solutions:

- Merging dx11 and dx10 to use directWrite, maybe using this lib http://fw1.codeplex.com/ (someone from this forum made it, I think)

- Using the DXUT

- Writing my own Text-engine, for example http://www.rastertek.com/dx11tut12.html (Yayyy, it's back up!)

Currently, I have implemented the rastertek version, and it is working well. However, I do not know how to:
- Generate the files (texture and mapping-file) that are needed for a font.

- Give international support, for example the german ä or the full chinese language. While the special chars of european languages could be included, I don't know how I can support a full language of this sort.

To avoid these problems, I could use one of the two other methods of rendering fonts.

Therefore I ask you: What is the current way-to-go for AAA titles, and which method can be expected to cause the least problems as time progresses (updating to dx12, for example). What are the ups and downs of the 3 methods I mentioned, and are there better ones?

Thank you for your time!

Advertisement

Hi!

You would implement your own engine using font textures:

http://www.angelcode.com/products/bmfont/

There is a fourth option available of using the DirectX toolkit library. It contains utilities for text rendering, 2d drawing, dds texture loading etc

Washu has recently made some great posts about this: here and here. Those look to be a good source of information for your investigations!

One thing that hasn't been mentioned here is that to handle large character sets (e.g. Japanese) with a bitmap font, one common approach is to go through your entire text database and generate a set of all used characters, and only include those in the font texture. This will cut down the number of characters significantly, but it does mean that any text change may require you to rebuild that texture.

The only thing you need to be careful of is to make sure that you also have appropriate characters in the font to display text strings entered by the user (if your game supports that). This is usually still possible with a limited number of characters in the font.

This topic is closed to new replies.

Advertisement