Re: dotless j

From: Kevin Bracey (kbracey@e-14.com)
Date: Wed Jul 07 1999 - 13:12:50 EDT


In message <9907062248.AA24908@unicode.org>
          timpart@perdix.demon.co.uk (Timothy Partridge) wrote:

> Adam Stanislav recently said:
>
> > Here is a question about dotless i, by the way: It has been stated that it
> > is a true character because it is used in Turkish. I would like to know if
> > *that* was the reason Adobe has been including it in every font. I have
> > my suspicion that Adobe included it in their original PS fonts precisely
> > because they felt the need to be able to create the letter i with any
> > diacritic possible, not because it also happened to be a Turkish
> > character. (And please do not interpret this as being negative about
> > Adobe, I happen to think very highly about Adobe.)
>
> On the RISC OS font system there is a feature for constructing characters by
> combining others. This is commonly used for making accented characters. Of
> course the i loses its dot so many font vendors in the RISC OS market have
> put a dotless i in an unused spot just for this purpose.
>

But in RISC OS that glyph can be totally inaccessible to the user - if
it's in, say, the Outlines0 file, and no encoding file references that
glyph, then it will be inaccessible.

With the Unicode Font Manager, it may be accessible via the private use area
(as per the Adobe Unicode Glyph Naming spec), but only if the glyph has a
name. It could just be /.notdef in the base encoding file, in which case
no-one will ever know it's there, unless someone asks for a glyph-encoded
version of the font, in which case they will be able to pull it out by
glyph number.

There's no need to assign subglyphs, or composite glyphs, to Unicode encoding
points.

Actually, there is a cunning trick in the RISC OS font manager that solves
the dotted-i problem. If you make a character a composite of another
character, you don't inherit that character's composite parts. So a font file
might have:

       <dot diacritic> = path
       <letter i> = i stem path + composite(<dot diacritic>)
       <i-circumflex> = composite(<letter i> + <circumflex diacritic>)
       
The i-circumflex doesn't get the dot as it wasn't actually in the letter i's
definition :) No need for a separate i stem glyph. This is only possible
because RISC OS allows characters to have both a path and a composite
reference. Other font systems make these mutually exclusive.

-- 
Kevin Bracey, Senior Software Engineer
Pace Micro Technology plc                     Tel: +44 (0) 1223 725228
645 Newmarket Road                            Fax: +44 (0) 1223 725328
Cambridge, CB5 8PB, United Kingdom            WWW: http://www.acorn.co.uk/



This archive was generated by hypermail 2.1.2 : Tue Jul 10 2001 - 17:20:48 EDT