Zitat von Martin Schreiber <[EMAIL PROTECTED]>: > On Wednesday 02 July 2008 11.08:31 Mattias Gärtner wrote: > > Zitat von Martin Schreiber <[EMAIL PROTECTED]>: > > > For example lib/common/kernel/msedrawtext.pas:223, procedure layouttext. > > > > Nice code. > > As far as I can see, it handles tabs, linebreaks, c_softhyphen and > > charwidth. It uses single array element per character optimizations, like > > the charwidths array. > > I think I would simply keep that and define the characterwidth for the > > follow up elements as 0. > > Then you only need to change the places where you check for the > > c_softhyphen. And because this is a constant you can even use some tricks > > here. > > I don't see how this have a big impact on the performance. > > > The code is complicated enough, don't you think? ;-)
Ah, sorry, now I understand. You meant, the performance penalty of the *programmer* is not negligible comparing ASCII/UCS-2 and UTF-8/16. Yes, it's true, that for layout code it is often better (readability, maintance) to refactor the code first, before extending it for UTF. Especially if it is optimized code. BTW, where is the layout code that handles Right-To-Left, kerning and sub pixel rendering? Mattias _______________________________________________ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal