Hi, Taco:

> This patch was coded at the KTS meeting in Seoul. As far as I know, it
> is faster only because there is less swapping involved and/or malloc()
> is more efficient. The exact same amount of work is done as before. In
> particular, the glyph boundingboxes are still correctly calculated.

Yes, I know. The bounding boxes are still calculated. Thanks a lot for the patched code and explanation.
(and you are also right that less swapping is the real cause for less runtime on my machine,
it is the first time that LuaTeX loads big CJK fonts without swapping on my machine).

btw, I think the bounding boxes (or control boxes) are useful for CJK languages in some cases.
Remember in MKIV Hans wrote a lot of code and set many constant parameters to handle the punctuation compression?
These parameters should be font dependent (It will produce ugly result when the font is changed). 
But in fact we can use the boudningbox information for better calculation.
For example, we can compress the "。" and """ by just gluing their bouding boxes.
It was difficult to make  punctuations like "。" at the end of the line close to the margin line. but now with bounding box information it is also possible.
in short, I think we can handle "punctuation compression" and "margin kerning" using the bounding box information.
What do you think of this idea, Wolfgang?


Yue Wang