AbiWord on MacOS X had broken justified text display for a few month, and that is really bad. See bug 8384 and all its duplicates. I hadn't used AbiWord on Mac for some time, and I wanted to update some document I had on a CD that the crappry CD-ROM drive in my PC is unable to read. So I did read it on the MacMini and used AbiWord for that. That is what made me fix that bug. Not that I wouldn't have, but I was not really aware of that as it was working when I left the code last year.
It appears that a change in December to support Bi-directional languages removed the code to draw word by word justified text and use the inter-word gap as specified to the GR_Graphics::drawChars()
. The UNIX code use Xft to draw chars one by one, but MacOS X is not very fast to do that.
So I reimplemented that with the new code, but broke the bi-directional languages support (programming by side effects). That will be fixed differently as since Tomas has added hooks to tell whether we support that or not. At the same time I commented that part to explain why I do that. I expect to have simplier code by then. Ultimately I may rewrite this using ATSUI.