Re: How is glyph shaping done?

From: Rick McGowan (rick@unicode.org)
Date: Fri Jan 31 2003 - 12:42:44 EST

  • Next message: John Hudson: "Re: How is glyph shaping done?"

    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



    This archive was generated by hypermail 2.1.5 : Fri Jan 31 2003 - 13:22:39 EST