Older blog entries for rbrady (starting at number 28)


Starting to add support to Xterm for bidi. This is making my head hurt. (well, metaphorically)


Made a nifty little panel applet that uses xkb to figure out an appropriate flag for the current keygroup, with no configuration required at all. Ported my Hindi/Bengali keymaps to Xkb format. Now pondering how to get Xkb to combine arbritrary combinations (e.g. say I wanted a three-mode Russian/Hindi/English layout, how could I do that without editing a config file?)

Xterm & bidi

Spent quite some time staring at the ECMA specification for how-to-do-bidi-in-a-terminal and failing to understand it.

Can we have less flamewars in the diary entries please?



Excellent - I now have a modified version of Slang which uses an array of wchar_t for each character, and compiles and links and everything. And, better, it even seems to work. Now to get it to output UTF-8...


Started trying to port SLang curses implementation to be able to deal with wide characters. It's highly confusing, but not as confusing as ncurses. Hopefully, lessons learnt in porting slcurses will be transferrable to ncurses.


Ages ago (well, in 97-99), I was part of the development team of the Cryosphere, a SciFi mud. I dropped out of this due to the pressures of university, and I got interested in other stuff (the Unicode stuff, as it happens). By February 1999, it had died.

Eighteen months later, it has been resurrected (by some folks who were high-ups in Attempt #2). And I now have some free time. So I've joined again. We have now, (which we failed to have in 1999), a vision, which we can get to through a series of incremental steps - and when we get there, it will rock.


There was fixing of yet more xterm bugs! At least these were mainly ones I introduced, so therefore I could find them. :-) Also much hacking on a new Gujarati renderer, which can share something like 90% of the code with the Devanagari renderer. Started making an appropriate font. Progress slow due to not being able to read Gujarati.


Stared lots at Gujarati glyphs and managed to cobble together a couple of fonts that work. These have gone into CVS.

Other indic hacking - I'm making all the Indic renderers indicate invalid sequences better, and share more code between them. And some other bits and pieces.

Got some feedback re: the Devanagari renderer and keymaps. They work! (Apart from some minor glitches in the keymap). Hopefully this means gtk HEAD will get translated into Hindi soon.

The Future

I've arranged to go to the main UK office next week. Looking forward to this, as I finally get to meet my boss.


Signed the contract yesterday, so I'm now officially employed. :) Um, yay!


Most of today was spent tracking down bugs in xterm. I fixed the combining-doublewide characters interaction problem and the consequent U+FFFF getting mangled issue, and some potential security issues wrt the UTF-8 decoder.

The Killer Bug was the recently-tracked-down CutBuffer problem. It's all icky and complicated, but related to the fact that Xterm is exporting cutbuffers in UTF-8 and then importing them in Latin1. This is clearly wrong, but no-one seems to know the right answer. I suspect I will make it so it converts the exported strings to Latin1, as that, whilst not good, is several million times better than the current behaviour, which is of no use to anyone.


Some people have been recently talking about free Unicode fonts. It might interesting them to learn of the ucs- fonts project - which has extended many standard X11 fonts to a decent Unicode range. Soon, the -Adobe- pixel fonts will also be ready to a quite large range.

If you have XFree86 4.0, you already have these fonts, and a UTF-8 supporting xterm. Just type "xterm -u8 -fn 9x18u" and lo! This doesn't support CJK or combining characters, but you can get a patch for that, which hopefully will be integrated into the standard Xterm soon.

Obviously this doesn't support Indic scripts, however works in ongoing on support for Indic scripts in Pango, and will hopefully be ready for 1.0, along with a decent selection of pixel fonts for : Devanagari, Bengali, Gurmukhi, Burmese, Gujarati, Oriya, and possibly other scripts.

OpenType support is more confusing, and something I'd prefer not to have to do on my own. If anyone is interested in collaborating on this issue, I'd strongly recommend getting on the appropriate mailing lists, including fonts@xfree86, and the linux-utf8.

Some folk also might be interested to learn a stab at a free TrueType font editor exits. The main thing missing from this is hinting. All that is needed for OpenType is editors for Numerous Tables.

Bill of Rights

The Bill of Rights is far from unique. The Constitutions of most countries guarantee certain rights. All member states of the European Union are signatories to the European Convention on Human Rights, which prohibits the abridgement of lots of basic rights which weren't guaranteed by the Bill of Rights These rights include

  • The right not to be a slave (1865 in US)
  • The right not to be killed (still absent)
  • The right not to be tortured (as part of investigation, not prohibited by US constitution, the 8th amendment only applies to punishments)
  • The right to be presumed innocent until proven otherwise (still absent, I think)
  • The right not to be discriminated against on grounds of sex, race, colour, language, national origin, association with a national minority (1920, at least.)
  • The right to free and fair elections (1964)
  • The right to education (still absent)

So, whilst the United States's constitution is actually pretty good today, it would be false to credit this to the Bill of Rights, which didn't really contain anything that was very radical (most of the points being enshrined in English law at the time).


The current standard for C, is ISO 9899:1999, not :1990 The standardisation work for this was done entirely by ISO (which ANSI are a member organisation of, of course).


Continued hacking on xterm to support CJK/Thai. There is a strange selection crashbug still there, but I can't reliably reproduce it. Debugging isn't helped by the fact that the Xterm sourcecode isn't exactly the best example of modular, well-documented code.

Continued hacking on Indic script support for Pango. I have discovered my X server crashes when it tries to access a BDF file with a longer-than-1024-chars-long line. Must find out if XF86 4 does this and report it if so.

Need to if there is a standard Sinhala keyboard layout. This seems to be just about the only Indic script that doesn't fit well onto the Inscript keyboard layout that I'm using to enter all the other scripts. (due to the prenalised stops). Please let me know if you do...

Driving lessons going well, haven't crashed into anything or killed anyone yet. (this is a good sign).

19 older entries...

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!