I wasn't ready to put this up on HN because I didn't have an English page yet, but @specifictso has gone ahead and posted it.
The font is licensed under the SIL Open Font License as mentioned.
There's less than 10 Arabic monospaced typefaces out there and Kawkab Mono comes to fill a gap in this area. Might not be as highly demanded as Latin monospaced fonts, but still, it's great to have variety.
This is very much beta software as I haven't really tested the font outside of my personal setup. I've had no type design experience prior to this project. Would love to hear your thoughts and feedback.
Google Chrome 46.0.2490.71 on Linux
Is there a link to the font on github?
Less than 10 for every language using nastaleek script.
This is a little far fetched, but I think is a huge win for society. Better Arabic fonts = easier Arabic-only speakers to do work online = more opportunity for a huge portion of the world.
And also check out the Arabic fonts published by Monotype
The JetBrains series of IDEs have some Arabic support, in the sense that the text is rendered properly at least.
I made an Arabic Markdown editor for the Mac last year, so that personally helps me when I need to edit Arabic text http://katibapp.com/
There's a lot left to be done for Arabic. So much low-hanging fruit.
In particular, can Emacs deal with cases where the Unicode RTL algorithm gives nonsense, such as editing HTML in Arabic?
(Because HTML tags are made of punctuation, Roman letters, and attribute values that could be in any language, you can end up with LTR segments that may include half a tag and some adjacent text. At that point you can't even see visually what they include; you have to reason out what Unicode is doing. You might even end up with a tag that begins with an open angle bracket that looks like > and ends with a closing angle bracket that also looks like >.)
I ask this not as someone who knows any Arabic, but someone who has to deal with the results of complexities of text such as RTL formatting. To make mixed-direction text editing "perfect", someone would have to put a lot of task-specific design into it.
(repl here: http://qlb-repl.herokuapp.com/)
If you don't speak Arabic (like me, for now :<), you might have to look at the source code to figure out how to use it. :)
I'd assume that the text is modified in units more complex than substrings and whitespace splitting?
Correct. Each letter in Arabic can have up to four shapes depending on its position in a word: initial, medial, final and isolated.
Also note that the sample text on the left contains Arabic diacritics. These are usually omitted by native speakers/writers since they can be inferred from the context (the only exception I can think of is religious scripture), but they certainly add to the complexity of it all.
Needless to say, creating an Arabic mono-font is quite challenging. Kudos to the designer.
This is the main problem you see sometimes in movies where they try to show something in Arabic and they get the rendering wrong. They probably get each letter on its own and try to construct the words like that, where the letters do not join and the whole thing looks like a mess.
Sure, statements are still in English in most languages, but it must feel great to be able to write comments in your own language!
Having to juggle languages inside of my head while also deciphering code just creates unnecessary problems (don't know about you but I always need to "switch context" because I'm thinking in some language) - also there's the problem you have to learn double terminology and in reality few actually use the localized terms, they just mix in English ones - this makes talking about programming awkward because English terms sounds weird when you apply contextual rules for words, and (thankfully) nobody actually uses the translated terminology.
I don't believe you can be a good programmer without knowing English - most existing code/resources are in English and it's the language in which new developments are created and this is an industry with very fast innovation cycle.
Also we live in a global economy with multinational teams - why make things more complicated for everyone by using non-standard languages ? Sure the choice of English is arbitrary and it might not be a perfect choice but it's what we have and there's no good reason to change it.
I've seen some places (government related) mandate which language must be used but I would not call this "great".
Then there are string constants, which one often edits in the same tool as code, and also Emacs addicts like myself like to use it for personal notes and Wiki (org-mode), finance tracking (ledger-cli), blogging (again, org-mode) and e-mail (at least I would be if I could figure out how to make Emacs work with GMail effortlessly). There are many reasons for which this font is a great development!
The font looks amazing and easy and comfortable on the eyes. Let us know when you will publish it on GitHub so we could contribute more to this seed project and expand it even further.
Congrats to you again
IMO, the variable connector width in Arabic script seems to make letterforms less distorted compared to the variable-width letterforms than in Western scripts.