It's just an idea that I have exceptionally fast version for Unicode just around the corner, but I wouldn't mind some competition ;)
Well, I already mentioned to you how I was planning to do it: Just stupid binary search over ranges of numbers indexed on 0.
The "big" chunk of work, actually (IMO), is just creating the raw data...