pdf.js … very cool

PDF.js is a new project from Mozilla to render PDFs using pure Javascript and HTML. So I thought to put it through its paces - what would happen if I gave it a PDF of one of Diwan’s most complex Arabic fonts to render. This usually stretches Adobe’s own Acrobat. Here is the result (click [...]

The trials of Bidi IRIs

Bidi IRIs are a divisive issue - how would you display an English URL to to an Arabic user (is it www.goggle.com or com.goggle.www?) and if that URL is in Arabic how would that be ordered? As the old joke goes, put three experts in a room to discuss this, you will get four [...]

Hacking dir=uba

I spent the past week hacking dir=uba support into Gecko. Here are the problems I have hit:
HTML and CSS incompatibility
HTML will have the dir=uba attribute inherited to child elements but there is no matching CSS direction:uba. The idea is that the direction will be calculated from the content and then set in the CSS. So [...]

Additional Requirements for Bidi in HTML…

… is the subject of the W3C working draft for future improvements to bidi support in HTML5 and CSS3. Having formally moaned three years ago about the state of bidi in HTML, it looks like something will actually change. A few months ago a group was formed to formalise a proposal to the W3C about [...]

A Tale of Two Tweets
or how Twitter broke the bidi algorithm.

For years I have been trying to explain to anyone who would listen that the Unicode Bidi Algorithm has a fundamental flaw. The problem was that I did not have strong practical examples… and then along came Twitter.
My complaint is that Unicode bidi considers most characters that are not letters or numbers as neutrals and, [...]

Mashing Up Bidi - Unicode Conference Slides

At the 33rd Unicode Conference I gave a presentation around the problems I encountered in my previous post Mashing Up Bidi. Here are the summary and slides:

Mashing-up Bi-Di
Mash-ups is a relatively new fashionable word on the Web - taking bits of other web sites to build up your own web page. It is not new [...]