If it is short, then the Russian letters and symbols aren’t displayed. I tried to generate shrit via the generator, but also he doesn’t see the Russian symbols. Don’t prompt as it is possible to solve this problem? I apply screenshots.
In the Font Asset Creator - Character Set, you have selected ASCII which will only include the ASCII character set in the font asset.
To include characters for different languages like Russian which uses the Cyrillic character set, you have to include those in your selection. According to the Unicode Chart where you can learn about the Unicode range for all languages, Cyrillic is located in the range of 0400-04FF.
Here is an example of an SDF Font Asset that I can use as Fallback using Unicode Range 400-4FF which include the Cyrillic set.
Please take the time to watch the video about Font Asset Creation as all these options are explained including localization. I also strongly suggest you watch the video about Material Presets which is equally important.
I also suggest you use SDF 16 or SDF 32 as this will give you the most flexibility and allow you to use Material Presets to define different visual styles for your text.
If you are using the latest release of the TextMesh Pro package which is version 1.4.1 for Unity 2018.3 and Unity 2018.4 or version 2.0.1 for Unity 2019.x with the new Dynamic SDF support, you simply need to create a dynamic font asset and make sure your select font contains the appropriate characters and that is it.
If you are using the previous version, you need to define the range of characters you wish to include which would be extended ASCII and then create a fallback font asset that contains the Cyrillic character set which is unicode range 0400-04FF as shown in my previous post. Then assign this Cyrillic font asset as fallback to your primary Extended ASCII one.
0000-04FFF would result in adding a bunch of undesired characters. Each language exists in a given unicode block so it is best to either use the dynamic SDF system (if you don’t want to worry about any of this) or to specify the unicode block you really need.
I realize the learning about Unicode is boring but it is there for a reason.
P.S. I will consider adding an addition option in the Font Asset Creator to include something like Extended ASCII + Cyrillic.
I looked at your font asset and everything appears to be working as expected. Copying the text from the input field into Notepad works fine. Copying from Notepad back to the text field works fine on my end as well.
Can you post images or some video of what you are experiencing?
What version of Unity and TextMesh Pro are you using again?
I’m using Unity 2019.1.5.f1 (also applies to newer versions up to 2019.3.0a5) and TextMeshPro 2.0.1.
Here is the sample project below.
Here is the sample video:
This appears to be a bug in the Editor related to the Copy / Clipboard function. This appears to be an issue introduced at some point in 2019.1 and still present in early alpha of 2019.3 but not in the latest.
There are a few bug reports about this already. I’ll check internally to see when the fix for this will be back ported to previous version of 2019.x.
Hi, I also had this problem before. And I realized that it is easier to set the TestMeshPro characters that I need in Russian. I ask 33 uppercase letters, 33 ordinary letters, 10 digits, and all punctuation, math, etc. Almost always, I do not find 2 - 3 characters, but this is not essential.
Привет, я то же раньше сталкивался с этой проблемой. И понял что проще задать TestMeshPro символы которые мне нужны в русском языке. Я задаю 33 заглавные буквы, 33 обычные буквы, 10 цифр, и все знаки препинания, математические и т. д. Практически всегда у меня не находит 2 - 3 символа, но это не существенно.
Provided the requested characters are present in the source font file, you can always create / assign a dynamic fallback font asset to the primary font asset. See how the LiberationSans SDF and its fallback are setup in the latest version of TMP which is 1.4.1 for Unity 2018.4 and 2.0.1 for Unity 2019.x.
Speaking of Liberation Fallback. It has letters of Cyrillic alphabet but for some reason it misses the capital Russian “Р” (it looks like capital English “P” but it’s not). So every time you have capital Р - it shows a square. Or you have to manually replace all Russian P with English P. I believe that’s a weird bug I’m on Unity 2019.3.6 btw.