Hacker News new | past | comments | ask | show | jobs | submit login
Kawkab Monospaced Arabic Font (makkuk.com)
180 points by specifictso on Oct 15, 2015 | hide | past | favorite | 42 comments

The font's designer here- glad you guys like it!

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.

I can't read it, but I've noticed the red marks move relative to the glyph when playing with the resize slider: https://youtu.be/CiOg12B6A4g

Google Chrome 46.0.2490.71 on Linux

The problem is that the text is actually two identical layers, the tashkil/diacritics residing on an upper layer with a hints-only font and absolute positioning. You can fix it by giving that layer "width: 100%".

Thanks! Yes this fixes it. Updated the page.

Awesome work, يعطيك العافية!

Is there a link to the font on github?

Will put up the source code on Github very soon. I just need to organize everything a bit.

So friken beautiful! Ahhh.

Hey mahmud! Thanks! :)

It's been a long time since I tried to read right-to-left. The red isn't really more of a pink on my screen. Is that a choice? I always like how true red jumped out.

Red and blue on black make for pretty cool 3D effects. I noticed it when playing with colors in terminal.

Not using true red. This is what I'm using #AF476E

>There's less than 10 Arabic monospaced typefaces

Less than 10 for every language using nastaleek script.

Have you tried Google's Noto Nastaliq?


I would now. Thank you.

جزاك الله خيراً


Beautiful! So much more readable than the other Arabic fonts I've seen in the past.

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.

The Arabic type design community is already tiny, but there's a good number of really beautiful and well-designed Arabic fonts out there, and equally talented designers. My font here doesn't really even compare, it's an amateur's work.

Examples http://www.sakkal.com/type/index.html http://www.amirifont.org/ http://www.29letters.com/ https://www.typotheque.com/fonts/arabic And also check out the Arabic fonts published by Monotype

Out of curiosity, what text editors work well with Arabic these days? A few years back, when Textmate was still very popular, I had to sometimes do i18n work. I had a coworker for a different department who was a native Arabic speaker, who would help me out, but together we still struggled. We'd put the cursor where an edit needed to be made, and changes would appear elsewhere. It took lots of trial-and-error to get the work done. Are things better these days?

It's very hit and miss in terms of code editors. For example Sublime Text has no complex text shaping at all. It actually renders Arabic as disjointed letters.

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.

Emacs claims support for Arabic editing. How is this in practice?

It's perfect.

Can you go into more detail?

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.

!ممتاز I am always disappointed when I try and type something in Arabic on OS X. Now I will install Kawkab-mono and Katib both, and improve matters 200%.

Wow, this really shows off how pretty Arabic looks. I can't read a word of it but I really appreciate the aesthetics of the language and it's unfortunate it always gets mucked up in digital format.

There is a shortage in monospace fonts for Arabic script. Thank you so much for this! It's beautiful. Under what license this is published?

It appears to be under the SIL Open Font License: http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&id=...

This would be great for قلب! It's an Arabic programming language: http://nas.sr/%D9%82%D9%84%D8%A8/

(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. :)

It's a Lisp dialect it seems :-)

Are there more basic string operations that need to be available for Arabic, a quick play with copy and paste produces all sorts of unusual effects I assume because of combining marks not being copied or being suitable in their new contexts.

I'd assume that the text is modified in units more complex than substrings and whitespace splitting?

> 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[0].

Also note that the sample text on the left contains Arabic diacritics[1]. 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.

[0] https://en.wikipedia.org/wiki/Arabic_alphabet#Letter_forms

[1] https://en.wikipedia.org/wiki/Arabic_diacritics

Letters in Arabic have different rendering depending on where they lie in the word; at the start, middle, end, or following/preceding certain characters.

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.

Fwiw, Greek also has one letter (sigma) that differs in rendering depending on where in the word it appears. It's the same letter, it's just that when it appears word-final, it looks different. But Unicode decided to split it into two codepoints, rather than treat it as a rendering issue. Therefore rendering of Greek codepoints never depends on position within the word, even though rendering of Greek letters can. Instead it's up to the user to make sure that whenever a lowercase sigma appears word-final, it should be encoded with a different codepoint, GREEK SMALL LETTER FINAL SIGMA (U+03C2), 'ς', rather than the usual codepoint, GREEK SMALL LETTER SIGMA (U+03C3), 'σ'.

I'll add to what others mentioned the fact the proper text selection for bidirectional text is awkward at best, and often outright impossible with buggy UIs. Particularly at the border of where the text changes direction.

I can't read Arabic, but it's great that the internationalization of modern programming languages and editors allows for this.

Sure, statements are still in English in most languages, but it must feel great to be able to write comments in your own language!

>but it's great that the internationalization of modern programming languages and editors allows for this.

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".

While I absolutely hate comments in languages other than English, I appreciate the fact that not all software is intended for international audience.

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!

This is very nice; and easy to read... one of my main qualms with Arabic fonts has been their jaggedness. The evenness of this font will not only make code and comments look beautiful; but also the web!

I don't know Arabic but I'm very glad work like this is being done.

Good job ِAbdullah.

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

So pretty!

IMO, the variable connector width in Arabic script seems to make letterforms less distorted compared to the variable-width letterforms than in Western scripts.

Awesome font, will try it in Arabic Adobe CS6 inDesign, but for webpages, I think the browser will fall back to default fonts (in Chrome/Firefox) regardless of the actual webpage fonts.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact