19
$\begingroup$

How can I add text with non Latin characters?

I'd like to get text in other languages like Arabic, Russin (Cyrilic), Japanese, Chinese, Malayalam among others, but I get rectangles instead of Arabic letters.

$\endgroup$
4
  • 1
    $\begingroup$ I found this directly on google. youtube.com/watch?v=kCoC89m3yGQ $\endgroup$
    – Gunslinger
    Commented Oct 25, 2013 at 22:11
  • 1
    $\begingroup$ Related: blender.stackexchange.com/q/2687/599 $\endgroup$
    – gandalf3
    Commented Oct 26, 2013 at 0:29
  • $\begingroup$ A guess, but: - Ensure you have loaded a font supporting required glyphs. - Try using paste text from file function from the menu. $\endgroup$
    – kivig
    Commented Oct 26, 2013 at 22:29
  • $\begingroup$ No, Blender doesn't support Arabic or Udru. I have fonts installed with OS support. but still, blender doesn't support it. Using a virtual keyboard to flip the letters wont help too, as they won't be joined as required. Only reasonable option left is to write them up in inkscape and import the svg in blender. (Convert your text to path , before saving svg file). i59.tinypic.com/2nis1gx.png $\endgroup$
    – Ali Jibran
    Commented Feb 18, 2014 at 10:19

4 Answers 4

18
$\begingroup$

First of all, Blender does not support Right-to-Left text rendering, however there are ways to use a wide variety of character sets.

In a 3D text object:

The default Bfont has a very limited character set which does not include arabic.
To add arabic text to a 3D text object, you need to use a font that has the relevant glyphs (e.g. a unicode font). Once you find a font that contains arabic characters, you need to load it into blender.

Note that you cannot use bitmap fonts, as blender needs vector data for generating curves.

##Loading a font: You can load a font into blender from the Object data > Font panel:

  1. Add a text object ShiftA> Text

  2. With the text object selected, click the file icon for the appropriate styling (e.g. regular, bold, etc.) in Properties > Object Data > Font:

enter image description here

  1. Navigate to a font file (.ttf .otf etc.) on your system and click Open Font:

enter image description here

The font should now be used for the active text object.

##Entering characters:

If you don't have a keyboard that has Arabic characters, here are some alternate ways to input text:

method one:

  1. Select the text object and enter edit mode Tab. You should see a bar appear that indicates the location of the cursor:

enter image description here

  1. Delete the existing characters (Backspace) and enter a character. You should see a text field appear in the Redo menu at the bottom of the Tool Shelf (T in the 3D view):

enter image description here

  1. Select the text box and paste the your text into it, then press Enter:

enter image description here

Note that you can enable International fonts in User preferences > System to display arabic charecters in the UI, making the arabic characters visible in the text field:
enter image description here
More about this later.

Method two:

As mentioned by kivig, there is a Paste from file feature.

  1. Select the text object and enter edit mode (Tab)

  2. Click Paste file in 3D view > Header > Text:

enter image description here

  1. Navigate to a text file containing the text you wish to put in the text object and press Paste File.

In the Interface:

You can enable International Fonts in CtrlAltU> User preferences > System to display arabic characters:

enter image description here

This also enables options to translate the UI into many languages, including arabic. See the wiki for more details:

From version 2.60, Blender supports international fonts and a range of language options for the Interface and Tooltips. To enable it, open the User Preferences window, System tab, and toggle the International Fonts option in the bottom right-hand corner.

This displays three new settings:

  • Language
    drop-down menu where you can select your preferred language.

  • Interface
    to translate the User Interface itself (e.g. controls and menus).

  • Tooltips
    to translate tooltips.

$\endgroup$
3
  • $\begingroup$ Method two seems being dropped in 2.70? $\endgroup$ Commented Mar 25, 2014 at 12:19
  • $\begingroup$ @LeonCheung It was apparently moved to the "edit menu", but I'm not sure what that is.. $\endgroup$
    – gandalf3
    Commented Mar 27, 2014 at 6:23
  • 1
    $\begingroup$ In case you're using Blender 2.80, the "International Fonts" checkbox has been replaced by the checkbox in the "Translation" header in Edit > Preferences > Interface. Took me some time to find it. $\endgroup$
    – Ray
    Commented Jun 14, 2019 at 14:24
4
$\begingroup$

Another way is to type/load texts in Text Editor, then Edit>Text To 3D Object.

enter image description here

However, As you see from the image, the order for arbic characters is actually flipped. RTL editing/inputting hasn't been supported yet. You have to type / convert all characters flipped per line before that. (There is a very old solution for this, in case it may help some.)

$\endgroup$
2
$\begingroup$

Well for better results of text other than English I would advice you make a SVG file with inkscape and then import it in Blender.

To expand further:

  1. Use Inkscape to write your text using the Text Tool: Press F8 and type away.
  2. Convert the text into a path: Select your text object, and press Shift + Ctrl + C
  3. Remove any extraneous groups: Select the newly converted text path and press Shift + Ctrl + G multiple times until you see selection boxes around each separate glyph/diacritic.
  4. Unify these disparate segments into a single path by pressing Shift + Ctrl + +.

There is currently no way to render properly-shaped Arabic text in Blender alone.

$\endgroup$
0
$\begingroup$

Another way is to use Inkscape to create a font and save it as a .svg file. Then in Blender, enable the .svg import addon and import the .svg file that you saved.

$\endgroup$

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .