unicode word joiner character (WJ U+2060) inhibits ligature selection

Bug #267957 reported by Tristan Wibberley on 2008-09-08
Affects Status Importance Assigned to Milestone
pango1.0 (Ubuntu)
Ubuntu Desktop Bugs

Bug Description

Binary package hint: libpango1.0-0

I've had a guess at the package that is the source of this bug. it seems to be present in gtk widgets at least. Seen in Ubuntu Hardy.

This problem can be reproduced with the standard ubuntu serif font.

1) open the gnome text editor, type 'fi' (eff, eye) - ensure that your font shows them joined with a ligature by inserting a space to see if one or both characters change shape as they separate.
2) remove the space when satisfied so the ligature reforms or select a new font and larger size until you are satisfied and /then/ remove the space to reform the ligature.
3) open the gnome character map, find the word joiner character (WJ) in the general punctuation block, code U+2060 (it might be displayed as a blank oblong).
4) ensure the text area is empty (so the copy button is greyed out).
5) double click the character (or select it then press space), click the copy button next to the text area.
6) place the cursor between the f and the i in the gnome text editor
7) paste the word joiner character at the cursor position, the characters should not revert to the shapes that they had when there was a space between them but should remain joined by a ligature. But pango currently lets the WJ codepoint inhibit ligature selection, this is unexpected and incorrect.

Unicode 5.1 section 16.2 discusses the purpose of U+2060, where it is stated that it should only affect word boundary calculation (removing what would otherwise be a word boundary) and it should be ignored for ligature selection.

"In particular, inserting a word joiner between
two characters has no effect on their ligating and cursive joining behavior. The word joiner
should be ignored in contexts other than word or line breaking."

Sebastien Bacher (seb128) wrote :

thank you for your bug report, the issue seems to be an upstream one, could you open the bug on bugzilla.gnome.org where people writting the software will read it? it's not likely somebody will work on that in an ubuntu specific way

Changed in pango1.0:
assignee: nobody → desktop-bugs
importance: Undecided → Low

On Tue, 2008-09-09 at 08:54 +0000, Sebastien Bacher wrote:
> could you open the bug on bugzilla.gnome.org

Unless my launchpad or savannah credentials will work there, I'm afraid
I can't. I've got credentials coming out of my ears for open source bug
tracking systems.

Also I've discovered that it is possible that a fix may be acceptable in
the font file instead. I'm not sure if a unicode implementation has to
support multiple redundant specials between printable glyphs and if not,
then ligature mappings for f -> WJ -> i, f -> WJ -> f, f -> WJ -> f ->
WJ -> i, etc will do the trick.

If this way of fixing it is just as correct, then all standard ubuntu
fonts should have all such mapping combinations. Note that things like
liga -> WJ -> ZWJ -> WJ -> ligb might also need mappings - I'm not
really sure about these more complex scenarios.

Especially, then, I don't want sign up to, and then duplicate the report
in, the Gnome bug tracker in case they just refer me to font projects
where I've then got to sign up and report the issue in heaven knows how
many more systems. Although I could email all these upstream players and
give them each the url to this bug.


Sebastien Bacher (seb128) wrote :

the bug will just probably sit there until somebody having a clue about your issue is wanting to send it to GNOME

Pedro Villavicencio (pedro) wrote :

Thanks for the report, it has been some time without any response or feedback in this bug report and we are wondering if this is still an issue for you with the latest release of Ubuntu the Natty Narwhal, May you please test with that version and comment back if you're still having or not the issue? Please have a look at http://www.ubuntu.com/download to know how to install that version.Thanks in advance.

Changed in pango1.0 (Ubuntu):
status: New → Incomplete
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers