Mete Kural asked: > when a Unicode rendering program is doing > glyph shaping for Arabic (or any other language with > similar properties), would the program first convert > all Unicode Arabic characters in the 06XX domain into > Arabic presentation forms in the FXXX domain, and then > render each one of these presentation forms one by one > and join them together?
Probably not. These days, Arabic shaping is typically done by the low-level rendering system built into your OS, in conjunction with data tables available in smart fonts. If you haven't already looked into some of the literature about how Arabic is encoded and how it is supported on various platforms, you should probably do so. Please see the Unicode standard online, http://www.unicode.org/uni2book/u2.html chapter 8, and the technical report on Bidi http://www.unicode.org/reports/tr9/ . Probably also there are some questions in the FAQ http://www.unicode.org/faq and also please see one or more of the presentations by Thomas Milo on Arabic here: http://www.tradigital.de/specials/casestudies.htm That would save you a lot of work. Most platforms these days already support Arabic rendering, so you don't need to worry about this level of detail, unless you are planning to implement a new system from scratch. I would expect the Microsoft developer web site to also have some info on their Arabic implementation... > So does this mean that every character rendered on the > screen in a Unicode-enabled program such as Internet > Explorer or some editor, have a corresponding > presentation form Unicode associated to it? No. It means that the fonts have appropriate tables and the rendering engine, Uniscribe or whatever, knows how to handle the font to do correct shaping when the text is rendered. You should not be using any presentation form characters in your text, just nominal forms from the 0600 block. Rick