> > Yes, but I know nothing on combining, bidi and joint ... > > > If I extend my function that does composing to fill in an array mapping > > character position in the in-string to their visual position. > > > > For example, let's say there is "o" + "some obscure composing char" + "a", > > where there is no pre-composed form for an "o" with "some obscure > > composing char", it would give an array: [0,0,1] > > That is the first 2 characters should get drawn in first "square", the > > last in the second square. > > > > What could perhaps be tricky is to handle BIDI. The mapping array must be > > rearranged as characters are reorganised by the BIDI algorithm. > > > > I do not understand the problem, sorry. But two remarks/questions: > What about merging FCombineChars, FBidi and FBidiJoin? > Which charset (in the sense of the FlocaleCharsetTable from FLocaleCharset.c) > needs Char Combining and which charset needs Joining (I know for > Bidi)?
Sometimes there is no character defined in Unicode for a specific combination of an ordinary character (for example an "o") and some unusual combinational character. In this case, the best thing to do is to draw the combinational character at the same position as the "o", to get an approximation of what the combined character would look like. I think the combination algorithm is a bit different from the contextual shaping used for Arabic. Also the Arabic joining and shaping is only done if BIDI is enabled (and using a charset needing BIDI). I think Arabic joining should only be done if BIDI is done. It seems to me it wouldn't make sense to do that without BIDI. Nadim, do you have an opinion? I found some case where the algorithm fails, so I will continue to refine it before making further descitions > > Can you send some relevant strings (in UTF-8 or/and others encoding) > for adding test in purify.fvwm2rc? Yes, I will take care of this. //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]
