Take the 2-minute tour ×
Ask Different is a question and answer site for power users of Apple hardware and software. It's 100% free, no registration required.

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.

share|improve this question
    
Does it also apply to other applications or for example using Terminal's default font in TextEdit? Could you just delete or disable the fonts you don't want to be used for font substitution? –  Lauri Ranta Apr 15 '13 at 11:56
    
It is only in Terminal.app, it works great until I enable and use certain Arabic fonts then things get messy. So a way to solve this would be to know how does Terminal.app get to pick the next font (which font?) when the current font doesn't have the glyphs available. Other applications would play nicely. I even figured out a way to type in certain glyphs which OS X doesn't type anymore since Snow Leopard. –  ismail Apr 15 '13 at 12:05
    
Can you elaborate on what "messy" means, or include a screenshot? My guess is that the available Arabic glyphs are variable-width and look "messy" when Terminal lays them out in monospace. Is that what you mean? The solution is likely to install a monospaced Arabic font. –  Chris Page Apr 15 '13 at 13:40
    
by messy, i mean it picks certain normal glyphs present in the used font and for another set of glyphs also present in the for it would pick another font. Since Arabic is cursive, it gets really hard to even read the output. –  ismail Apr 15 '13 at 15:54
    
It's a minor point, but you should never find Unicode FEEB in correct unicode Arabic text. What you should see is Unicode 0647 which the OS should display in the proper form depending on its position. –  Tom Gewecke Apr 16 '13 at 12:54
show 4 more comments

1 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).

share|improve this answer
    
Unfortunately, that doesn't answer the question. Thanks for the vim arabic page. Been through that already, and compiled a version of vim with Arabic support. Tried MacVim as well. My question is about picking up fonts for certain scripts when characters are not available in the current font. –  ismail Apr 15 '13 at 11:43
    
Terminal.app only uses the one display font you select for it. Have you tried iTerm instead of Terminal? (iterm.sourceforge.net) It will allow you to choose a secondary font, presumably for exactly this reason. –  sdmeyers Apr 15 '13 at 12:19
    
Whatever font you choose, the OS X font system automatically looks for any missing glyphs in a "fallback" font. The behavior should be the same for all applications. Terminal doesn't do anything special in this regard. As far as I am aware, there is a single fallback font and no supported means for users to choose another one. ismail Your best bet is to install a monospaced Arabic font that contains the glyphs you want. –  Chris Page Apr 15 '13 at 13:33
    
Chris, thanks for the clarification. Exactly what I was looking for, that "fallback" mechanism and if it can be altered/hacked to cherry pick desired fonts. –  ismail Apr 15 '13 at 15:47
    
sdmeyers, I'll iTerm a try. Used it long time ago, but fell back to shipped Terminal.app. Maybe it is time again to move to another Terminal App. –  ismail Apr 15 '13 at 15:48
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.