Re: [Fresco-devel] Babylon Strings
Tobias Hunger <[email protected]> Fri, 18 Jul 2003 17:28:29 +0200
| Newsgroups | gmane.comp.video.fresco.devel |
|---|---|
| Message-ID | <[email protected]> |
Evan Martin <[email protected]> wrote: > This is simplifying it a little; vowel markings, for example, are > combining characters that follow the consonant. Would the visual > order rearrange those, too? Yes, I know. Unicode is a very complex beast. That's precisely why I want everything in one nice package called Babylon:-) combining characters are a bit strange... The standard specifies that "Combining marks applied to right-to-left base chracter will at this point precede their base character. If the rendering engine expects them to follow the base characters in the final display process, then the ordering of the marks and the base character must be reversed" (Unicode 3.0 page 66). Since I want the berlin server to be as unicode-agnostic as possible that's what I'm going to do. > There are many hard problems with bidi that simply having the visual > order won't solve; for example, line-breaking. That's right. But without knowing the sequence in which the characters will actually need to get rendered linebreaking does not work. Let's get bidir worked out and go from there. > Another case study: cut and paste. Suppose I have this sentence again > and I click and drag the mouse to make a selection from left to right > along the region underlined: > this is a sentence BETEK BUTKAM with words. > ^^^^^^^^^^^^^^^^^^^^^^^^^ > What I should get in the copy buffer, and what should be selected > visually, is this: > this is a sentence BETEK BUTKAM with words. > ^^^^^^^^^^^^^^^^^^ ^^^^^^ Yes, we are going to (try to) hide that inside Babylon as well, at least as far as that can be hidden. > To summarize: bidi is really hard to do right. Most applications > shouldn't need to know the visual order, and the code that will need to > to know it (such as the text layout engine of the text widget) will need > to know more than just the visual order. Bidir is hard, that's why I want it done right in one place (Babylon) and not scattered around the server sources. That way it will be easier to maintain (and replace). > (Apologies in advance if I got either the language or the bidi algorithm > wrong; I just read about this recently and I'm going from memory.) You seem to have an excellent memory. I'm looking forward to more mails from you. -- Gruss, Tobias ------------------------------------------------------------ Tobias Hunger The box said: 'Windows 95 or better' [email protected] So I installed Linux. ------------------------------------------------------------
signature.asc
(application/pgp-signature, 189 B)
-----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.2 (GNU/Linux) iD8DBQE/GBIcv0FZW3NyoqURAr4ZAKCB5r8l7jj5Ob+elxiGPTpQBG9TrgCfSY6+ ZtHVd9MZHrc7G8Hw9dAUchQ= =+w6B -----END PGP SIGNATURE-----