I spend some time on arabic characters. I do not know much about this language, but differences are (A) different writing direction and (B) different chars are used when characters are connected.
I tried to output "Hello"
Which should be: مرحبا
However individual glyphs are: م ر ح ب ا
At the moment u8glib can generate the second string only:
void draw(void) {
u8g.setFont(u8g_font_unifont);
u8g.drawStr( 0, 12, "U8glib");
u8g.setFont(u8g_font_unifont_12_13);
// http://rishida.net/tools/conversion/
// u8g.drawStr( 0, 12, "\x45\x31\x2d\x28\x27");
// letters are written from right to left
u8g.drawStr( 0, 26, "\x27\x28\x2d\x31\x45");
}
Code page 0x0600 (u8g_font_unifont_12_13) will be available in the next u8glib release v1.10.

For sure not a perfect solution with u8glib, but this is at least the current state.
Oliver
Edit: U8glib v1.10 is now available for download:
http://code.google.com/p/u8glib/downloads/list