> 
> So if I well understand, FBidiJoint.c should be updated to handle
> some "composing char". Nadim can you send a patch? An other issue
> is that FBidiJoint has nothing to do with bidi and it should be use
> even if libfribidi is not detected?

I think the way to go is this:
First map all characters to their "combing class", ("normal" characters
have combining class = 0, various combing chars have different combinging
classes != 0).
Then traverse the string, looking at pairs of chars: if
combining-class(c1) > combining-class(c2), swap c1 and c2 (and
corresponding combining classes).
Traverse one character at a time like this.
Do this until no more swapping can be done.

Now traverse the resulting string each pair of characters if there is a
mapping for it to a precomposed form.
For example: "A" + diaresis" => Ä
Repeat this until no replacing is done.
Note that now multiple combination can be done like this:

"A" + "diaresis" + "acute" => "Ä" + "acute" => "A with diaresis and
acute" (don't have this character at hand...)

Since the combinging characters are orderd, a mapping like this would
work.

Last we can take remaining combining charaters and superimpose them as
Olivier suggests.

I'm not sure though wether we need to do a step before all this that
decomposes any eventual precomposed forms to make it correct.

For example suppose we have:

"Ä" + "acute"
and
"Á" + "diaresis"

The first would yield a "A with diaresis and acute"
but the second would give "Á with diaresis", since there will be no
mapping for this order of combinging, thus the superimposition would be
used in this case.
I don't know if this would be a problem.
We might need to first apply a decomposistion:
such that "A with diaresis and acute" will map to "Ä" + "acute" which
will in turn become "A" + "diaresis" + "acute"

//Marcus 


--
Visit the official FVWM web page at <URL:http://www.fvwm.org/>.
To unsubscribe from the list, send "unsubscribe fvwm-workers" in the
body of a message to [EMAIL PROTECTED]
To report problems, send mail to [EMAIL PROTECTED]

Reply via email to