Dutch "ij" ligature (ij)

Bug #9364 reported by Martijn vdS
22
This bug affects 2 people
Affects Status Importance Assigned to Milestone
GTK+
Invalid
Wishlist
gtk+3.0 (Ubuntu)
Fix Released
Wishlist
Unassigned

Bug Description

The Dutch language has a "ij" ligature (ij), which I can't compose in X using the
"us" keymap and the UTF-8 compose sequences. Most people don't use the ligature
(as "ij" works fine, and has worked fine since the typewriter). As my name
contains a "ij", and I like to be a nitpick about these things, I'd like to be
able to type this character easily.

There are two versions: uppercase (IJ/IJ/unicode 0132) and lowercase
(ij/ij/unicode 0133)

More info on the ligature: http://en.wikipedia.org/wiki/Dutch_Y

I don't think it's really really important, but it'd be nice to be able to do
this (and it should be easy to add this :))

Revision history for this message
Daniel Stone (daniels) wrote :

I tried adding { GDK_Multi_key, GDK_i, GDK_j, 0, 0, 0x0132 } to gtk_compose_map
in gkt/gtkimcontextsimple.c, but with no effect. Seb, any ideas?

Revision history for this message
Sebastien Bacher (seb128) wrote :

In which application does it happen ? Is that specific do gtk/gnome applications
or do you get this in an xterm too by example ?

Revision history for this message
Sebastien Bacher (seb128) wrote :

according to the discussion on IRC:
<Treenaks> seb128: if I use the "X input method" I can use compose fine, it's
just that that combination is not in the Xorg compose map yet

Daniel, this bug is for you :)

Revision history for this message
Daniel Stone (daniels) wrote :

As discussed on IRC:
14:43 < daniels> seb128: there are two bugs
14:43 < daniels> seb128: one is on X, the other GTK.
14:43 < seb128> daniels: there is not even a gtk app mentionned in this bug
6774
:43 < daniels> seb128: i added ?Dij (U0133) and IJ (U0132) to the X compse
map, but that doesn't matter
14:44 < Keybuk> GTK+'s compose map needs an overhaul
14:44 < daniels> so now if I right-click in gedit, hit Input Methods, and select
X Input Method, I can compose ij and IJ
                 with multi-key
14:44 < daniels> seb128: but, stupidly, GTK's default mapping is *not* this, and
has its own compose handling
14:44 < seb128> ok, so that's good
14:44 < Treenaks> you mean ? and ? ;)
14:44 < daniels> seb128: the table is in gtk/gtkimcontextsimple.c
14:44 < daniels> Treenaks: (yeah, can't be arsed restarting gnome-terminal, and
my utf8-fu is broken for irc anyway)
14:45 < daniels> seb128: so { GDK_Multi_key, GDK_i, GDK_j, 0, 0, 0x0133 }, needs
to be added to the table, presumably
14:45 < seb128> ok
14:45 < daniels> but that didn't work when I was trying something else, so I
dunno if it will be any good
14:45 < daniels> so I've fixed my bug, now you get your half :)
14:45 < seb128> you could provide some details in the bugs
14:45 < Keybuk> there's a huge patch for gtk/gtkimcontextsimple.c in Bugzilla
that adds a few hundred new mappings
14:45 < Keybuk> (GNOME Bugzilla, that is)
14:46 < seb128> ie: giving the xorg fix so I can apply it to test gtk :p

The X.Org fix is:
<Multi_key> <i> <j> : "ij" U0133 # LATIN SMALL LIGATURE IJ
<Multi_key> <I> <J> : "IJ" U0132 # LATIN CAPITAL LIGATURE IJ
in the Compose files of the relevant locale (e.g. en_US.UTF-8).

Revision history for this message
Sebastien Bacher (seb128) wrote :

reassigning to gtk

Revision history for this message
Denis Moyogo Jacquerye (moyogo) wrote :

This is a Unicode normalization error. I think pango and gtk handle this (at
least for this matter).

If the locale is set to a language where "ij" and "ij" are equivalent, any of
them could be normalized to one form.

If you want to set up an input method for this, you could try UIM instead of XIM.

Revision history for this message
Martijn vdS (martijn) wrote :

Not all instances of "ij" should be "ij". There are quite a fre exceptions to the
rule (mostly names, but also "real" words like "plooijurk").

Revision history for this message
Sebastien Bacher (seb128) wrote :

some upstream bugs about this:
http://bugzilla.gnome.org/show_bug.cgi?id=88639
http://bugzilla.gnome.org/show_bug.cgi?id=155010

Not sure if that's a bug or what is the right way to handle compose for gtk

Revision history for this message
Denis Moyogo Jacquerye (moyogo) wrote :

I'm not sure I understand this bug at all.
But if the sequence "i" and "j" cannot be "ij" all the time, why not simply set a
key for it?

Add the appropriate line in the file /etc/X11/xkb/symbols/pc/nl or replace it in
the keymap file you're using.
    key <AC07> { [ j, J, 0x01000133, 0x01000132] };

This way, pressing AltGr+j will give ij in almost any application in X.

Revision history for this message
Daniel Stone (daniels) wrote :

The proposed AltGr fix doesn't solve this problem at all; it only works for
people with pc105 keyboards. The discussion was getting a Compose map for it,
which is very much a GTK problem.

Revision history for this message
Martijn vdS (martijn) wrote :

Uh no, that's an X problem too imho, as I'd like to type an ij in non-GTK apps
too (imagine KDE users)

Revision history for this message
Denis Moyogo Jacquerye (moyogo) wrote :

(In reply to comment #10)
> The proposed AltGr fix doesn't solve this problem at all; it only works for
> people with pc105 keyboards. The discussion was getting a Compose map for it,
> which is very much a GTK problem.

Daniel:
I'm not sure I understand what you're saying?
I have a pc104 keyboard, and it works perfectly with the african keyboard layout
i've made like that.

Martijn:
Woudl the proposed AltGr fix work for you? Btw, the keyboard layouts I've made
this way work with everything I've tested --- xterm, gtk-based ap, qt-based ap
( qt-based have a weird behaviour with some locales) --- except Emacs.
Could you try adding this line to your keymap file, reload the xkb layout, test
it and say if it fixes what you need?

Revision history for this message
Martijn vdS (martijn) wrote :

It won't work in the "nl" keymap, as 99% of keyboards in the Netherlands are US
keyboards (at least on i386, don't know about Apple's keyboard policies), and my
current keymap doesn't have an AltGr to test this.

Revision history for this message
Denis Moyogo Jacquerye (moyogo) wrote :

(In reply to comment #13)
> It won't work in the "nl" keymap, as 99% of keyboards in the Netherlands are US
> keyboards (at least on i386, don't know about Apple's keyboard policies), and my
> current keymap doesn't have an AltGr to test this.

Sorry for using the wrong name here. What I call AltGr, should map, i think to
your right Alt. The Alt key you use to print '{' ("braceleft") when typing AltGr+8.

Revision history for this message
Martijn vdS (martijn) wrote :

It works just like a regular Alt key for me. The Euro sign (AltGr+5) doesn't
work either.

There doesn't seem to be a US keyboard map with AltGr, but without dead keys (US
International has dead keys, US Internation with ISO 9995-3 has keys in the
wrong places).

Revision history for this message
Sebastien Bacher (seb128) wrote :

<email address hidden> changed:

           What |Removed |Added
----------------------------------------------------------------------------
             Status|NEW |ASSIGNED

Are you going to fix this bug, or you just assign it to somebody else without
asking him?

Revision history for this message
Martijn vdS (martijn) wrote :

I changed it?

Revision history for this message
Denis Moyogo Jacquerye (moyogo) wrote :

Martijn:
The right Alt doesn't work because you are using the wrong keymap.

The US keymap you are using seems to be the US ASCII one (no dead keys, no AltGr).

If you don't want dead keys, as in the US International, then you should use the
appropriate Dutch keymap.
It supports everything you need (if RightAlt+5 doesn't print €, file a bug about
it, the nl keymap file seems to be missing; RightAlt+8 does print "{" however).

Add the suggested line and "ij" will print on "RightAlt+j".

Revision history for this message
Martijn vdS (martijn) wrote :

I'll retry:

1: I don't want dead keys (it makes coding annoying)
2: The keyboard is a US layout board (like most keyboards in the Netherlands,
except for a few)
3: There is no US map without dead keys but with AltGr.

Which means I have the choice of dead keys or using a layout that doesn't match
the keys on my keyboard. I could test it (and it'd probably work..), but there's
still the dead keys/layout tradeoff.

Revision history for this message
Denis Moyogo Jacquerye (moyogo) wrote :

Martijn:
I agree that having deadkeys is a pain when coding. That is why is switch
between keyboard layouts.
If you don't want to change layout, you can still try adding the line to the
file /etc/X11/xkb/symbols/pc/us in the xkb_symbols "basic" section (line 47 if I
have the same version as you do).
Reload (`setkbmap us`) and then RightAlt+j should work.

RightAlt does not do anything special right now simply because no combination is
using it in the US/ASCII keymap you are using.

Revision history for this message
Daniel Stone (daniels) wrote :

Yes, it will get fixed in X's Compose maps, and I'll ask the upstream guys about
the Dutch map, but if you want to make it work properly, you need to bind it to
a compose sequence (Compose-i-j). Remember, not everyone has AltGr.

Daniel, typing this from a keyboard with two keys marked as 'Alt', one of which
is actually Compose

Revision history for this message
Martin Bergner (martin-bergner) wrote :

Does this still occur with breezy and/or dapper?

Revision history for this message
Martijn vdS (martijn) wrote :

I still can't compose an 'ij' using Compose, i, j. I have no idea where/how to type it otherwise (except using the Unicode hex position, etc.).

Revision history for this message
Phil Bull (philbull) wrote :

Confirming, as Martijn still has the issue and I don't think it needs more info. Any news on a fix, or otherwise, guys?

Changed in gtk+2.0:
status: Needs Info → Confirmed
Changed in gtk:
status: Unknown → Confirmed
Changed in gtk+2.0:
assignee: seb128 → desktop-bugs
status: Confirmed → Triaged
Revision history for this message
Tralalalala (tralalalala) wrote :

It still hasn't been fixed. Compose - a - e gives me an æ, just like expected. I expected to get an ij by typing compose - i - j, but it doesn't work.

Changed in gtk:
importance: Unknown → Wishlist
Changed in gtk+2.0 (Ubuntu):
assignee: Ubuntu Desktop Bugs (desktop-bugs) → nobody
Changed in gtk:
status: Confirmed → Invalid
affects: gtk+2.0 (Ubuntu) → ubuntu
affects: ubuntu → xkeyboard-config (Ubuntu)
Revision history for this message
Gunnar Hjalmarsson (gunnarhj) wrote :

Compose followed by i followed by j gives me ij on Ubuntu 21.04. So somehow (gtk update?) this bug seems to have been fixed. Closing.

affects: xkeyboard-config (Ubuntu) → gtk+3.0 (Ubuntu)
Changed in gtk+3.0 (Ubuntu):
status: Triaged → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.