🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: comp.fonts
Article #632

Re: Unicode and ligatures (was Re: font encoding morass)

#632
From: David Opstad
Date: Wed, 19 Aug 1992 23:41
47 lines
3238 bytes
In article <1992Aug19.120450.1@lucy.claremont.edu> dhosek@lucy.claremont.edu writes:
>And what is this magic method? If it involves, say, some system
>call, then you have two problems: First, the system has to be
>Unicode-knowledgable (in short, the majority of in situ operating
>environments can't use it) and the line breaking software has to
>be willing to interface with this system call. In the case of a
>system like TeX (or any of the systems which use TeX's line
>breaking mechanism), this is likely not a viable choice. TeX
>needs to be able to work (internally) with ligatures as physical
>glyphs. Unicode in this case could be workable as an input
>scheme, but not as a useful coding scheme for fonts.
> 
The only knowledge of Unicode the system has to have is how to map Unicodes
to (initial cuts at) glyphs *for that font*. Once that is done, any
further processing occurs independent of character encoding. Concrete
example: QuickDraw GX on the Mac (which I'm working on). Here, a single font
can have many different 'cmap' tables, which map from various character
encodings to glyph indices in that font. All subsequent processing (such as
formation of ligatures, swashes, kerning, decomposition of ligatures, etc.)
happens in this glyph index space, and is therefore independent of *any*
character encoding.

I'm not sure I understand your point about TeX working with ligatures as
physical glyphs. If I pass GX a string "office" I'll get back widths that
are appropriate to the font being rendered with. One font may have "ffi"
ligatures, another only the "fi" ligature, and still a third no ligatures
at all. The measurements returned will be appropriate to the context. Further,
if these ligatures need to be re-broken for linebreaking purposes, data in
the font again can identify what the whitespace threshholds are before
that breakage happens, and can return appropriate widths.

Your point about Unicode being useful as an input scheme is precisely
correct. In the examples I've cited above, the set of Unicodes mapped
by the 'cmap' table may only number a couple of hundred, but the glyph
repertoire in the font may number in the thousands. There doesn't need
to be a one-to-one mapping, since the Unicodes aren't intended to
convey appearance, but just meaning. As I mentioned in my previous link,
appearance is the responsibility of something other than the character
encoding.

Your analogy of Unicode to ASCII is right on the money. I agree that Unicode
is not the answer to questions of appearance (although, as described above,
it can certainly be used as the input to the process of generating an
appearance for a string of text).

Dave Opstad
Line Layout Weenie
Technical Details
Message-ID: <71405@apple.Apple.COM>
Path: arc1-ca.pugleaf.net!sparky!uunet!charon.amdahl.com!pacbell.com!mips!sdd.hp.com!uakari.primate.wisc.edu!ames!data.nas.nasa.gov!taligent!apple!opstad
References: <26760@life.ai.mit.edu> <71384@apple.Apple.COM> <1992Aug19.120450.1@lucy.claremont.edu>

Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!sparky!uunet!charon.amdahl.com!pacbell.com!mips!sdd.hp.com!uakari.primate.wisc.edu!ames!data.nas.nasa.gov!taligent!apple!opstad
From: opstad@Apple.COM (David Opstad)
Newsgroups: comp.fonts
Subject: Re: Unicode and ligatures (was Re: font encoding morass)
Message-ID: <71405@apple.Apple.COM>
Date: 19 Aug 92 23:41:42 GMT
References: <26760@life.ai.mit.edu> <71384@apple.Apple.COM> <1992Aug19.120450.1@lucy.claremont.edu>
Organization: Apple Computer Inc, Cupertino, CA
Lines: 47