letterspacing, different types of ligatures and ZWNJ
- From: j_mach_wust shared-files de
- To: gtk-i18n-list gnome org
- Subject: letterspacing, different types of ligatures and ZWNJ
- Date: Mon, 30 Aug 2010 18:30:34 +0200
Hi
I am developing blackletter fonts. In these fonts, certain ligatures
must not be broken up when letterspacing is increased (ch, ck, ſt,
tz). I have encoded these with the OpenType feature "rlig" (required
ligatures). The other ligatures must be broken up when letterspacing
is increased. I have encoded these with the OpenType feature "liga".
An example: The character sequence "ch", encoded with "rlig", should
always be rendered with the ch-ligature glyph, irrespective of
letterspacing. On the other hand, the character sequence "fi", encoded
with "liga", should be rendered with the fi-ligature glyph in normal
text, but when the letterspacing is increased, it should be rendered
with the f-glyph follwed by increased letterspace followed by the i-
glyph. For more detailed explanations and screenshots, see:
http://unifraktur.sourceforge.net/letterspacing.html
On Ubuntu applications such as Firefox, this does not work correctly.
I am not quite sure, but from what I understand, text rendering in
Ubuntu Firefox is done by Pango, so I think this might be a bug in
Pango.
The incorrect rendering in Ubuntu Firefox has two errors:
1. When the letterspacing is increased, the "liga" ligatures are still
used, instead of the single characters' glyphs.
2. When letterspacing is increased, the ZWNJ (U+200C, required for
German words such as "Zeitzone" 'time zone' that must not hava a tz-
ligature) triggers double letterspacing as if it were a zero-width
character. The ZWNJ should only inhibit ligatures, but it should not
affect the letterspacing. Of course, fonts use a zero-width glyph for
the ZWNJ. The text renderer, however, must be instructed to disregard
the ZWNJ glyph when it comes to letterspacing.
Neither of these two errors occurs in Firefox on Mac OS X or in
InDesign.
--
grüess
mach
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]