----- Forwarded message from [EMAIL PROTECTED] -----
To: Paul Rohr <[EMAIL PROTECTED]> Cc: [EMAIL PROTECTED] Subject: Re: selections and combining characters References: <[EMAIL PROTECTED]> From: Havoc Pennington <[EMAIL PROTECTED]> Date: 23 Apr 2002 23:35:39 -0400 In-Reply-To: <[EMAIL PROTECTED]> Message-ID: <[EMAIL PROTECTED]> Lines: 30 User-Agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.1 MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Paul Rohr <[EMAIL PROTECTED]> writes: > For the sake of completeness, I should also ask: > > How should selections work for combining characters? > It sure makes sense to me to take the Pango implementation and use it, so that AbiWord document selections won't work randomly differently than those in the dialogs and other widgetry. ;-) IIRC basically Pango uses grapheme boundaries as defined by the Unicode spec (I implemented all the horrible text boundary algorithms), and then allows language-specific engines to override. PangoLogAttr::is_cursor_position is the right flag I think. The language-specific engines are the part that will in particular suck massively if AbiWord reimplements them, because it will create all kinds of weird little behavior differences between AbiWord document area and the widgets in the dialogs and other apps. Conceivably you want to use the Windows Uniscribe stuff or whatever on win32 in addition to using Pango on UNIX, with the same rationale, but that could be challenging to impossible to implement, I haven't looked into it... Anyhow if nothing else there are several threads on this topic in the gtk-devel-list or gtk-i18n-list archives I'm pretty sure. Havoc ----- End forwarded message -----
