After last gtk patch, many people propose good advice, so I can make some change of my patch. Something worth saying: 1. after erase 2 or 3 inline functions, there are also many inline functions, but almost every inline function is less than 3 lines, so I think reserve these inline functions do not matter. 2. the rendering system is based xft yet, but I have found a way to do that based pango. But I don't know if that is correct. I will change the rendering system to pango after consult others. Huang Ying