Re: Canonical equivalence in rendering: mandatory or recommended?

From: Peter Kirk (
Date: Fri Oct 17 2003 - 03:56:33 CST

On 16/10/2003 17:23, John Hudson wrote:

> ...
> My understanding is that at least the rendering systems I'm most
> familiar seem to be pretty much all or nothing: you either pass a
> string to a script engine or you don't. If the string is passed to the
> script engine, that engine goes through its steps. Having the engine
> decide whether or not to go through a particular step would seem to be
> an extra step, i.e. an even bigger hit on performance. In Uniscribe,
> for example, there is a single engine for Hebrew: if you make changes
> to the engine to facilitate Biblical Hebrew, what is the impact on
> processing speed, and is it acceptable if your primary user group do
> not benefit from the change because they're using modern Hebrew. Note
> that I don't claim to know what the impact is, I'm just trying to
> understand why engineers I've spoken to about this are unhappy about
> the idea of adding extra processing steps to existing engines that
> work well for the majority user community.

Well, I don't claim to be able to rewrite anyone's script engine. But
this just doesn't add up. All Hebrew script has to be passed to a script
engine anyway for bidi processing etc. Within this script engine there
is already special processing for combining marks, different from what
is needed for base characters. In order to invoke this processing, there
must be some kind of test of whether each character is a combining
character. With unpointed Hebrew text, this test always fails and so the
special processing code for combining marks is never run. So, if the
extra complication of a reordering pass is added to this special
processing, it cannot affect the performance when working with unpointed

Peter Kirk (personal) (work)

This archive was generated by hypermail 2.1.5 : Thu Jan 18 2007 - 15:54:24 CST