Editing Sinhala and Similar Scripts

Whistler, Ken ken.whistler at sap.com
Wed Mar 19 12:28:07 CDT 2014

And I think you need to distinguish  between *proximate*
behavior in an editor and editing behavior in general.

Once a user enters editing mode, the expectation that we
(the software community writing text editors) have built,
in interaction with users, is that within reason, something that
you have *just* done in editing, can be easily undone.
And that is what "backspace" now means to many users.

Do do do do ... undo undo undo undo ... 
That should get you back to where you were before
the do do do do.

It is really annoying, particularly to efficient typists, when
a sequence of 4 keystrokes is *not* exactly undone by a
sequence of 4 backspace strokes. When that occurs, the
flow of text composition is suddenly interrupted by forcing
the user out of "compose" mode and into a completely different
"monitor and check what the state of the display is" mode that
can be very annoying.

But that is what I am referring to as the proximate behavior.
An editing implementation can and should collect a reasonable
undo buffer, which *does* know about complicated states,
including significant operations like selection deletion, which
are the most common types of operations that composers
really, really, really want to be able to undo. But in cases
like that, the backspace key is only a partial aspect of the undo,
and I suspect that most people are not all that annoyed when they
have to shift out of "compose" mode to accomplish more
significant undo operations.

But what Peter was pointing out that in the *generic* case
for editing, such as first cursor down at some random
location in already existing text, there is no existing history
of how that text was created. And thus there are no "keystrokes"
to be undone by hitting a backspace at that point. Yet a
backspace command has to do *something* reasonable,
and my own assessment is that it shouldn't be too different
from what a backspace key does during active text entry.

So that is the real conundrum here. Getting all of the commands
of a text editor to work efficiently the way users expect is
itself an art form -- even for relatively simple scripts. So it
really should not be too surprising that people have rather
intense arguments about how such operations *should* work
for abugidas. (Particularly because such operations very
often are not occurring in monolingual/monoscriptal
contexts, and expectations carry over from one language/script
to another.)


> Peter Constable <petercon at microsoft dot com> wrote:
> >> There are two types of people:
> >>
> >> 1. those who fully expect Backspace to erase a single keystroke
> >
> > It is nonsensical to talk about erasing a _keystroke_.
> But that's what they expect.

More information about the Unicode mailing list