Re: [Fresco-devel] Babylon Strings
Tobias Hunger <[email protected]> Sat, 19 Jul 2003 17:53:20 +0200
| Newsgroups | gmane.comp.video.fresco.devel |
|---|---|
| Message-ID | <[email protected]> |
David T. Pierson <[email protected]> wrote: > Doesn't the so-called visual order depend on the space in which you are > trying to display it? You are right... Mourad pointed exactly this point out when I talked to him at FOSDEM and a few times before that, too. Damit, why does this point keep eluding me? I have thought about your mail and the one from Evan today. Basically the arguments you raised shatterd the idea of hiding the mapping from memory to visual order:-( Fortunately this "multiline bidir issue" makes things a bit easier, too. Babylon can provide a list of Linebreak opportunities as defined in the Unicode standard. The text layout process can measure the chunks of text between break opportunities in memory order just as well, so no reordering is needed at this point. At rendertime a bidir-reordered line can be requested by asking for the visual-ordered part of the text (String get_visible_order(startpos, endpos) or something similar). The nice thing is that the Handler-classes can go: String can be a simple class without any need to trick it into having two different implementations to hide the bidir-mapping process. Downside: That process isen't hidden:-( Are there some API docs from other unicode libraries? How do they handle this issue? Pango isen't much help here, it's primarily a rendering library, so there's no clear distinction between Unicode algorithmns and rendering functionality. PS: I really feel good for posting and asking wether this could work out before trying it for once;-) -- 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/GWlwv0FZW3NyoqURAqY9AKCaAhz5ji+Z45Mh66iZUjExdfbMswCcCq1e rs3EAO+5EvSd38USynUrq48= =fc/M -----END PGP SIGNATURE-----