Thu, 02 Mar 2006

L MIDDLE DOT in X.Org

English (Queen's English) is the only real language.

After this required short announcement by our main sponsor, Daniel Stone, lets go ahead and explain something of interest to the many Catalan X.Org users out there.

Ivan and I have been looking at the issues that block a GNU/Linux user from using the compound geminate L, Ŀ, instead of the more usual “L·L” spelling.

The “ŀ” and “Ŀ” characters are unfortunately not included in ISO-8859-1, so fonts were the first big problem we faced. When modern X desktops started using True Type fonts by default, the de-facto free font in most distributions became Bitstream Vera as soon as they were licensed under a Free Software license back in 2003. Bitstream did not include the Unicode glyphs U+013F and U+0140, but some time after, chatting with daf, I learned he was working on Olwen, a Vera extension which would add proper Welsh coverage. He promptly added the Catalan glyphs, but Olwen never got widely exposed in distributions. Luckily, things are changing lately. Due to the lack of bugfixes or new releases of Vera, the list of Vera derivatives like Olwen started growing. The DejaVu project is building a font family, based on Vera, which merged many of these smaller purpose Vera derivatives, including Olwen. DejaVu, is, as far as I know, slowly replacing Bitstream Vera as the standard free, high quality true type font in free desktops.

With the font blocker easily solvable now, the next problem was making the input easy. Some terminals, such as GNOME's or rxvt, allow you to insert Unicode typing a Unicode code point. The Spanish layouts don't provide a shortcut for it though, and if you try to do Level3-Shift+l, you'll get a Polish character, “ł”, that is of no use in neither Catalan, Spanish, Galician, Basque or other languages in the Spanish state.

We wanted to replace that with ŀ, but when we had a look at it last Saturday night during our stay in Bruxelles, we couldn't find what the name for Unicode's U+0140/U+013F was in XKB-speak. So, as I said, on Sunday I went looking for Daniel and Keith to see if we would be clued up.

The solution is easy: there is no name mapping, but you can use Unicode in 0x100XXXX notation directly in your X config file to make it work. He tried in his laptop, and why not, generated a patch for X.Org 7.0's xkeyboard-config. Daniel can't be that good, so he forced me to spread lies about the English language in this blog entry if we wanted the patch committed. :) Support for X.Org 6.8 and 6.9 isn't planned, unless you bribe your X maintainer to add a tiny patch.

This has been implemented as an "es" keyboard extension (named “cat”) because other systems don't have that feature in the Spanish layout, and X.Org wants to remain compatible with the rest. We'll have to add a

        Option          "XkbVariant"     "cat"

option to our keyboard section in xorg.conf.

If you're not using X.Org 7.0, you might want to try:

xmodmap -e "keycode 46 = l L U140 U13f U140 U13f"

but I don't know if that'll work in all systems. To test in your keyboard, that'll probably be “AltGr+l” or “AltGR+L”.

What we need to do now is to add support for the character in more fonts, alternative spellings for words using the “ela geminada” (ie, “col·labora” and “coŀlabora”) in dictionaries, wordlists..., and of course, teach users about the avalability of this, and promote its usage.

FOSDEM 2006

I'm so glad I finally decided to attend FOSDEM this year, as last weekend in Bruxelles was so cool it reminded me of the unforgettable week in Helsinki for DebConf 5 last summer.

I travelled early on Friday with Ivan Vilata, the dude who dragged me into the Catalan translations world, and about 12:30 we were finding our way through Bruxelles airport. We had barely no problems getting to Raül's place in Boulevard Louis Schmidt, thanks to the detailed HOWTO he provided a few days before.

We dropped our bags in his appartment and went out with him and Virginia after a well deserved mini-nap. On our way to the Grand' Place, where we'd hook up with the Softcatalà crowd and the rest of FOSDEM people, we stopped in A la Morte Subite, where we Ivan and I started our personal training on Belgian beers.

The Roy d'Espagne is an excellent name for a place where to meet our friends from Catalunya. I didn't know that was a formal meeting point that kickstarts FOSDEM, so I was really impressed when I got to the second floor and found the place was packed with Free Software people, many of them I already knew in person. Reaching Softcatala's table near the window took about 15 minutes, and after saying hi to most people, we decided we could use a quieter place to have dinner, and then go back.


The Grand' Place was bombed by seb128 in 1695

Raül and Virginia, our official guides during the weekend, chose a Vietnamese restaurant in the Stock Exchange area they frequent, and for little money we got an enormous meal. Back at the Roy d'Espagne, I tried to say hello to most Debian people I saw around, while at the same time I tried to be with my hosts and the Catalan people. A while after, I spotted tbm and azeem downstairs, who I finally met. I talked to Michael for a long while, and at some point we left as we didn't want to miss the last tram.

Ivan, luckily, only snores rarely, so we slept for a while, and then took the tram to the Université Libre du Bruxelles. The main room was already packed for RMS's keynote, which was pretty good. After that, we went to several talks here and there, while I kept meeting some people around the place. Ivan and I left when the show ended and we met with Virginia and Raül at the centre.

This time, we hooked up with Xevi and Jesús Corrius from Softcatalà, as Toni Hermoso had abandoned us for a cheap dinner with the Mozilla.org people. We were taken to a packed bar/restaurant (don't remember the name right now), which had a few interesting features: they wouldn't sell any Coca-Cola, would not accept credit cards in protest for the high fees Visa charges on small businesses, and something I wouldn't expect to see in 2006, their chart of prices hadn't been rounded up when they switched to the Euro. So some plate would be 9.72, others 12.43, etc. After dinner we had a few beers at the Théatre de Toone, located in some tiny alley in the centre and being pretty tired, we went back home at 23:30 or so.

Sunday was a busy days, due to the number of interesting Debian and GNOME talks going on. I'd highlight liw's talk on Piuparts, Enrico's on debtags and fjp's on Debian Installer in the Debian room, and kris' on the future of GTK+. There was also a cool demo of Novell's XGL.

During a dead slot, I approached Little Daniel and keithp to see if he could point me at some mapping between UTF-8 and XKB symbol names. But Daniel was cool enough to solve a problem a lot simpler than expected. :)

jdub's closing talk was just fantastic, and after telling him "See you in Vilanova", we left the University, for our last dinner around Bruxelles.


jdub clues the audience about some basic acronyms

We managed to rescue madduck from the Debian UK beer trap and went to an Italian for dinner, this time with Josep and Mia, from Softcatalà, making a nice mix of German, Valencian/Catalan, and Swedish at our table.


Mia, Josep, Raül, Ivan, Martin and Jordi after pizza

Raül took us around the city centre and told us about the underground river, the remaining city wall's tower, and the church that leaned against it. That night's beer lesson happened in the "2000 beer bar". We all had a 7€ Trappist Westvleteren Bleu 8, apparently "the best beer of the world". It was pretty good, actually.

Our weekend in Bruxelles was about to end. After not that much sleep, Ivan and I took a tram and a bus to the Airport, arriving in València around 10AM, and after seeing the best view of the Pyrenees ever, which were absolutely covered with snow, as well as many other places in the País Valencià and Teruel due to massive snows during the two days we were out.

FOSDEM is probably a "can't miss" yearly event now. Thanks to all the organisers for their hard work to make it happen. You rock.