Subject: Re: bug#11948: 24.1.50; word-wrap should allow wrapping at all breaking space characters, not just space and tab

From: martin rudalics <[email-masked]>
Date: Tue, 17 Jul 2012 11:49:56 +0200

>> The Unicode line breaking algorithm is probably the place to go:
 >>
 >> http://unicode.org/reports/tr14/
 >
 > Thanks, but that's not what I meant.  Implementing UAX#14 in full is
 > an effort similar (although smaller) to what was required for
 > implementing UAX#9, the Unicode Bidirectional Algorithm.  The main
 > problem is that, like with UAX#9, the algorithms in UAX#14 are
 > specified assuming that text is processed for display in batches.  By
 > contrast, the Emacs display engine, which implements word-wrap,
 > examines and processes characters one by one.  So one needs to
 > "serialize", so to speak, the UAX#14 algorithms so that its decisions
 > could be made on a character-by-character basis.
 >
 > I think just supporting more characters from LineBreak.txt on which to
 > wrap should be a good start, and much easier than implementing UAX#14.
 > Even for that, we will need an efficient char-table for the related
 > properties, probably via the uniprop_table machinery, like what bidi.c
 > uses.  Otherwise, referencing the ordinary char-tables of character
 > properties for each character we display could slow down redisplay too
 > much.

While you're all there: If anybody has any idea how to support a
practical and simplified version of collation, see

http://www.unicode.org/reports/tr10/

in emacs, I'd be all ears.

martin