In order to display most languages in TextMeshPro, nothing needs to be done. Upload any font, and the text should show up properly in-game.
Even though the Editor displays squares, proper text will be displayed in-game.
This does not increase the build size.
The same rules as player nameplates are applied. Some characters will show up as a small circle like this: ⚬
If you need text for non-English languages to show up properly in Editor, add the font of your choice such as "Noto Sans Japanese" to your "Project Settings > TextMeshPro/Settings > Fallback Font Assets".
This does not increase the build size.
The fonts may be downloaded from Google: https://fonts.google.com/noto/fonts?noto.query=noto
Some symbols may be replaced with a little circle ⚬ because the same rules as player nameplates are applied.
If you need symbols to show up properly, add "Noto Sans Symbols 2" to the Fallback Font Assets of your font. This will increase the build size slightly.
The font may be downloaded from Google: https://fonts.google.com/noto/specimen/Noto+Sans+Symbols+2
In addition to Outline and Underlay, the Lighting settings of a TextMeshPro material can be used to create bevels and embossed text.