How to make TextRenderActor render specific letters?

I am trying to localize game. I have successfully made localization, set culture in game and imported custom font.
Currently I am stuck with TextRenderActor not being able to represent specific latin letters.

Here is example (it should output “TEST ŠĐČĆŽ”):

As you can see, I am getting squares instead of those specific letters.

Font that I am using supports these letters (I tried in LibreOffice Writer to write same text and select font that I am using in Unreal Engine).

Here is example from LibreOffice Writer:

252370-sofficebin-2018-09-01-22-45-59.png

I have tried to switch (in Font) Character Set to all 3, but no luck.

Can someone point me what could be issue?

Considering you import the font you should be very aware that fonts for text render component need to be baked in to texture using “Offline” import mode and importing all Unicode characters is expensive. By default the font Offline importer create textures for for Basic Latin and Latin-1 Supplement, but you can tell it to include more, the letters you trying to use are sitting in Latin Extended A.

Go to font asset and see “Import Options” there should be “Unicode Range” this is where you paste in extra ranges you want it to import, it numbers can be written in hex and range marked with “-” and multiple ranges separated with comma. Now do to some site that shows unicode table like this one:

https://unicode-table.com

And look for range oyu looking for, in your case Latin Extended A is 0100-017F so paste that there. Then right click the font asset and hit “Reimport” and you done

There also 2nd option, in “Chars” parameter you can explicitly list characters that you want it to import, but keep in mind it will only import those characters so you need to include everything that you gonna use including Basic Latin range.

Angain everything you change in “Import Options” need to be confirmed with “Reimport” to be applyed

2 Likes

Thank you so much, it is working now :slight_smile:

Problem was that I haven’t added that Unicode Range.

Hello, I know this thread is from 5 years ago but maybe someone can verify this. I’m on UE 5.2 and I’m trying to import a font with a unicode range to use the arrow symbols in the text renderer (Unicode range 2190-2193).
As soon as I set a range in the Font Offline Options, and then hit Asset>Reimport Font, the editor freezes. Also tried passing the range as hex or setting the explicit characters in the dedicated option, always freezes. Reimport instead works fine and is pretty quick when none of these options are enabled.

There was an error in the For loop in the Factories\TTFontImport.cpp

1 Like