MacOS – How to change fonts picked by Terminal.app to display languages other than English

fontmacosterminal

This is definitely and advanced topic and possibly needs a hack that I am willing to do.

I edit Arabic files quite a lot. Arabic characters displayed by Terminal.app are not playing nice at all. To top that, some custom fonts that I use are getting picked up as alternatives for certain glyphs in my vim sessions.

The default font for displaying English works fine and I have no complains about it.

However, I want to change the font picked by Terminal.app when displaying other languages, in my case it is Arabic.

To answer this question, one must know if it is even possible. Are the fonts hardwired into the binary? Is there a hack to bypass that?

UPDATE:

It turns out the only hack to solve this problem wasn't a hack. It is the best of what the OS offers for eligible Fixed Arabic Font and that is Courier New. The font can be read very clearly except for "ARABIC LETER HEH INITIAL FORM" Unicode FEEB. Hopefully someday someone will fix that letter for better reading in the terminal. Or just copy those glyphs over to Menlo.

Best Answer

You can set the font for terminal in the terminal preferences. (Terminal -> Preferences... then select the "Settings" tab and "Text" sub-tab. Fonts are choses based on profiles so you could set up a profile with an Arabic font.

You must have monospaced Arabic font installed. You'll need to to search the internet for one.

Most important, for using using Vim read this:

http://vim.dindinx.net/orig/html/arabic.txt.php

The default version of Vim on the Mac is compiled with "-arabic" so it will never give you what you want, you'll need to recompile you own version (try homebrew) also MacVim may work (GUI version of Vim so no terminal necessary).