[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Groff] unicode support - where to compose?
From: |
Werner LEMBERG |
Subject: |
Re: [Groff] unicode support - where to compose? |
Date: |
Thu, 23 Feb 2006 09:08:53 +0100 (CET) |
> > Currently, there is a single non-spacing glyph used in groff
> > (`slashnot' in devdvi; the other non-spacing glyphs from the
> > various DVI fonts have no names), and this has to be placed before
> > the base character. Additionally, it isn't a valid Unicode
> > character so there is no conflict.
>
> Does the separator need to be a glyph?
No.
> I haven't looked yet how exactly \& works, but for most devices I
> expect it to be an input node, but not a glyph.
`\&' is converted to a `dummy_node' in the output node list,
effectively representing a zero-width space. It avoids merging of
glyph nodes to both ligature nodes and to kerning nodes.
> > I've thought that you suggest to handle
> >
> > <U+0078><U+0302><U+0301> -> \[x u0302 u0301]
> >
> > in preconv, and
> >
> > x\[u0302]\[u0301] -> \[x u0302 u0301]
> >
> > within groff.
>
> Actually I want to do one _or_ the other. If it's done inside troff,
> there is no need to do it in preconv as well.
OK.
> > The latter is quite complicated -- the node merging code in GNU
> > troff is, well, not easy to understand --
>
> I'll try to put it there nevertheless, because composed characters
> in Unicode are a concept similar to ligatures; I would like to avoid
> implementing two similar things in two very different ways.
Please be careful! Unicode gets extended from time to time, and there
are high chances that new non-spacing diacritics are added.
Consequently, a solution within groff must be based on
user-controllable data.
I suggest to (re)use
.composite foo
(just a single argument) to register `foo' as a Unicode composite. At
startup, `composite.tmac' is loaded, make the registered Unicode
composite characters `active' (in the TeX sense).
Werner
- Re: [Groff] unicode support - where to compose?, (continued)
Re: [Groff] unicode support - where to compose?, Werner LEMBERG, 2006/02/22