At work, I have been tasked with improving the text rendering of our application to better support text character kerning. Our application generates images that appear on Television, so image quality is paramount. Therefore, even small improvements to the appearance of any output we generate is very useful.
Our current text engine is implemented using Uniscribe, which seems to be an ideal solution. As mentioned here, it supports ligature substitution in a context aware fashion with complex scripts. It also handles right-to-left languages, and BiDi. This is all important as we need to be able to render arabic/cursive languages perfectly.
It therefore seems rather peculiar that Uniscribe doesn't appear to output glyph kerning information. I have attached a screenshot to demonstrate the issue.
alt text http://www.aliparr.net/kerning.jpg
My app performs the same as notepad in that every glyph appears 'monospaced'. Notice how in Photoshop CS2, the bridge at the top of the 'T' nicely overhangs the 'e'. I want to recreate this.
I am aware of other APIs such as Pango/Freetype - but it seems a rather heavyweight solution to include all of that just to do the final 1% of this task, if Uniscribe is so great at everything else.
Am I missing a step using Uniscribe? What is the best solution to this? Can Freetype export kerning information in a lightweight fashion, so that I can integrate it with the existing Uniscribe solution?
N.b. We only need to run on Windows - platform portability is thankfully not an issue I need to worry about right now.
Cheers in advance !