Skip to main content

Rendering Recommendations draft

So finally, I am giving out this long awaited draft:

It addresses some of the OpenType, Unicode and fonts related issues. Many of the issues discussed here, have been the source of conflicts, especially for ml_IN. Thus it was an utter need to provide a detailed analysis like this. I hope the illustrations made there provide some common guidelines. There is certainly a scope for improvement. I would like to hear from various communities if they want some of the other left out issues to be also addressed.
The draft is open for discussion and feedback.


  1. Hi राहुल,
    Posting my comments here, primarily for devanagari.
    First, with reference to the issues that were raised.
    अॅ Issue 1 - This form is also used in Hindi for transliterating foreign language words, for though more common in Marathi.
    Similar is the case for
    आॅ - which should be rendered the same way as ऑ, although we would be promoting two forms of the same text. Perhaps the renderer can auto convert आॅ to ऑ
    २. ऱ् - I'm curious to know if there are any other instances in Marathi that necessitate the need for ZWJ - ie not having ZWJ would change the word grammatically? Asking you because ZWJ use for ऱ् has been oft quoted on the unicode mailing lists even though it can be encoded even without ZWJ.
    3. Nothing can be done about the "redundant" codepoints. But we could have the rendering engine always produce the most compact encoding, ie the rendering engine can auto convert क़ to the single codepoint.
    4. Lack of encoding for ङ्क, ङ्ख, ङ्ग, ङ्घ conjucts - most common fonts lack these conjuncts, as a result, users resort to using anuswar instead, which is fine, but the font glyphs are forcing a particular kind of behavior on the users. Encoding of these conjuncts should be mandatory.
    5. Text editor - can you incorporate a section for the text editor as well, aside from font, rendering engine and unicode? - text editors should be designed such that they compact to the least codepoint form.
    eg क़ gets replaced with the one single conjunct, र + halant + ZWJ gets replaced with ऱ + halant during storage or data transfer.
    This way we save space(which not really the goal) and also have a consistent codepoint sequence for common words (which is the goal).

  2. Hi Alok,
    Thanks for your comments.
    1. I have received few feedbacks that have informed that the independent vowel for candra E i.e. अॅ already proposed in unicode and is currently in the beta version of unicode 5.1.0. I don't think need to have anything special for आॅ issue since ऑ is already encoded. But we may manipulate the sequence in keyboard maps.
    2. Users can always use ZWJ/ZWNJ as per guided in unicode standard. Generally they are used for alternative half forms and are used in marathi sometimes.ZWNJ is more common on few websites, may not be per unicode always, but in few cases they are required.
    3. removing redundancy is useful for ensuring proper combinations as well. But the actual data size cannot be reduced.
    4. Formation of the conjuncts is entirely upto font and we can at the most make sure to include these conjuncts in the font. But convincing unicode to add them will be very difficult.
    5. Variety and wide spectrum of text editors may not provide compact encoding, but we can always modify or create few of such.


Post a Comment

Popular posts from this blog

PVR is so wierd!

Yesterday we went second time to a mall bit far from office to complete the earlier failed mission of watching this 3D movie, Clash of the Titans. On ticket counter, we were first told that evening show was house full. Then we asked for a night show, and were told there isn't any show then and the gentleman handed us the pamphlet of all movie schedules. We checked on the nearby digital kiosk and also on the printed schedule to be sure of the show timings. Then went to second counter, and asked the lady for the night show tickets, and without any problem got the tickets for back seats. In fact this show was hardly 20% full, wonder how the evening show became houseful.

But the biggest wonder/blunder is yet to come. On the entrance we were stopped for having a laptop bag along with (we had went straight after the office). In spite of having checked the bag, we were not allowed, because laptops were not allowed inside! Then we asked for keeping it at the baggage counter. But then, the…

Designing for scalability – a startup perspective

What is scale? Is it the number of customers a company has? Is it the number of products that are sold? Is it the amount of revenue the company makes? Is it the amount of infrastructure one has? Or is it the number of features the product has? Well, it can be all of this or none of this. When an organization talks about scale it is not just a number. When an economist talks about it, again it’s not just a number. For an economist, the scale is about doing more with less. Scale is about perspective, about relationship between two or more variables that ultimately help you generate optimum value for your efforts.
Consider this, let’s say you are into making a lollipop. Selling 10 lollipops you earn $100 revenue of which $10 is you profit and $90 is the cost. When you increase you production you start selling 100 lollypops and earn $1000 revenue with $100 as your profit and $900 as cost. Did you really benefit from the scale here? In absolute terms, of course. In terms of ratios though,…

Installing fonts on Android, simple yet unnecessarily tricky

Most android devices come with set of fonts already installed for all the general purpose use with variety of styles and various languages. There is also something called 'fallback' font which ensures that in case a required font is not available, the system falls back to this font with wide range of characters and more generic style to display the text. But sometimes, you really want to use that specific font which is not there on the device or you just 'have' to use a some non-english font because the system by default does not have the font for the language you wish to use. Though upfront it looks like a simple task of installing the font, unfortunately android does not yet provide a simple way of doing it in user space. It is possible for an application to provide a custom font and use it within the application, but that's not really installing it on the device, its applicable only within the app.
Recently while working with some Indic languages on android, I …