Subject: Re: Commit: fonts part 2 & 3
From: Dom Lachowicz (email@example.com)
Date: Mon Mar 19 2001 - 12:28:27 CST
>However, quite a while ago either Eric or Bruce introduced a change to
>every character typed into its own run. (Ick.) IIRC, this might have been
>part of the effort to fix character overhang problems, but I'm not sure.
>You'll have to ask them. :-)
>If you're concerned about run bloat, you might want to look at what would
>happen if we *did* go back to coalescing runs properly instead.
Just FYI and all, but this was the biggest use of setFont - the metrics were
queried about 16 times per character inserted into the document. They still
are getting queried a lot now - which brings me to my next point/question -
why and how can we reduce that?
Putting each char into its own run seems like bloat, even if the run gets
coalesced at some later time (think of the memory needed to store a textrun
+ the time it takes to coalesce - both are nontrivial if they can be
avoided). AFAIK, the default case should be that characters get appended to
the existing run with the previous characteristics.
People who use WP's are students, secretaries, etc... The default writing
mode of these people are to type paragraphs where most (if not all) of the
characters share the same attributes. The times when one changes from the
default/porevious (or the previously used attributes) are infrequent when
compared to the document as a whole. I write a lot of papers for school.
Generally, the only time I change font or paragraph attributes is when I'm
citing outside works/sources.
But even then, my italic citation is 20 characters long, so it makes sense
to append each new char to the existing italic character run until I'm
finished with the citation.
Even when we consider the worst-case where each character differs from the
previous one, I don't see how we're any worse-off than we are now.
So, was there a reason why each char gets its own temporary textrun?
Get your FREE download of MSN Explorer at http://explorer.msn.com
This archive was generated by hypermail 2b25 : Mon Mar 19 2001 - 12:28:35 CST