Re: ligature selections (was Re: undo and combining characters)

From: Andrew Dunbar (hippietrail@yahoo.com)
Date: Tue Apr 23 2002 - 22:54:03 EDT

  • Next message: Martin Sevior: "undo broken in 1.0 - abort 1.0.0 announce 1.0.1?"

     --- Paul Rohr <paul@abisource.com> wrote: > At 05:15
    PM 4/23/02 +0100, Andrew Dunbar wrote:
    > > --- Karl Ove Hufthammer <huftis@bigfoot.com>
    > wrote: >
    > >"Tomas Frydrych" <tomas@frydrych.uklinux.net> wrote
    > >> in
    > >> news:3CC58433.16110.B1F416@localhost:
    > >>
    > >> > I think in the case of the Arabic ligature,
    > these
    > >> have to be
    > >> > treated as two characters, i.e., pressing
    > >> backspace after the
    > >> > second one leaves you with the first one. This
    > >> case is not a
    > >> > real issue, because internally the ligature is
    > >> stored as two
    > >> > separate characters, ligature is just a way of
    > >> displaying in
    > >> > them in a way that looks better,
    > >>
    > >> But how does selection works? Are the glyphs
    > >> 'decomposed' to allow
    > >> selection (which causes a reflow), and religated
    > >> when you move the
    > >> selection?
    > >
    > >Selection should select the entire ligature.
    >
    > Really? For the sake of a consistent user
    > experience, shouldn't the
    > following operations all have the same extent?

    To the user, backspacing is different to selecting.
    The user expects backspace to undo the key he just
    pressed. He never expects it to undo two keypresses!
    The user expects to select what he can see. He never
    expects to select half a ligature. It's also
    difficult to display graphically a half-selected
    ligature and difficult for the user to understand
    the display when we do come up with a way to do it.

    I just tested Arabic selection in MSIE here:
    http://www.aljazeera.net/ and selecting a lam+alef
    ligature by keyboard or by mouse works as I've said.

    > - backspace
    > - extend selection one unit (shift-left arrow)
    > - extend selection one unit (via the mouse)

    If we were selecting with the keys there might be some
    expectation for, say, shift-left to select just the
    last keypress. But people don't mix typing,
    backspacing and mouse selection on one word as they're
    entering it.

    > If backspace is going to decompose the ligature,
    > then you're setting a UI
    > expectation that the portions of that character are
    > discrete units, so you
    > also should be able to select, format, copy, and
    > paste at the same level of
    > granularity.

    Maybe for an English language user. For Arabic users
    they will expect it to work the way they are used to.

    -- Okay I just tested MSWord too and it does do both
    backspacing and selection by codepoint. For selection
    it actually does it for both keyboard (incremental)
    selection and mouse selection. I find it very
    difficult to use with the mouse and reasonably
    difficult to use with the keyboard. I prefer the way
    MSIE works. So even MS are not consistent ):

    > Thus, please make a case for one of the following:
    >
    > - backspace/selection are ligature-centric OR
    > - backspace/selection are character-centric
    >
    > I'm not buying the argument that they should be
    > different. Ick.

    Well we should definitely not make both ligature-
    centric. Making selection character-centric is a lot
    of extra work IMHO...

    > >Otherwise
    > >we need a selection that can highlight half of a
    > >ligature and I think this is too much to ask for
    > too
    > >little gain.
    >
    > Yep. That's what we'd need to implement. Doing the
    > math for this may not
    > be too hard, though. Two simple suggestions:
    >
    > 1. Take the width of the ligature and divide by the
    > number of characters it
    > represents. This might not be pretty, but the
    > overall effect should be
    > self-explanatory.

    Umm no because you're assuming ligatures always have
    two halves being on the left and the right. This is
    not so! lam+alef do work this way, others such as
    anything involving mim, or lam+jim have the two halves
    displayed vertically. For Indian languages it gets
    even more complicated. A vowel can actually have a
    part drawn on the left of the consonant and a part
    drawn on the right. I don't even know if the fonts
    encode information that would make highlighting these
    cases possible...

    > 2. Take the widths of the "standalone" glyphs, and
    > use them to
    > proportionally subdivide the width of the
    > ligature. However, I'm not
    > sure whether the results would be "good enough"
    > in real life. You'd
    > have to test.

    That wouldn't work at all. For example, alef is only
    one pixel wide, lam and lam+alef are about the same
    width.

    > >I think MSWord does do it though ):
    >
    > OK, so this suggests that the local equivalent of
    > the church secretary
    > (gosh, what an American concept that is) already has
    > an expectation about
    > what it means for selections to Just Work here.

    I thought so but after just testing MSIE and MSWord
    (without an Arabic keyboard) I'm not sure. I think
    we need to ask Arabic users - and if we don't have
    any we should do what takes the least effort since if
    we put in lots of effort and get it wrong it will be
    a waste.

    > Paul
    >
    > PS: How did this discussion move from the selection
    > thread to the undo
    > thread? Argh! All these posts are hard enough to
    > keep track of as it is.

    Once it's all been thrashed out, somebody can go
    through them all and put the relevant bits in a
    summary doc. I'd do it myself if I didn't have to
    relay on cybercafes.

    Andrew Dunbar.

    =====
    http://linguaphile.sourceforge.net http://www.abisource.com

    __________________________________________________
    Do You Yahoo!?
    Everything you'll ever need on one web page
    from News and Sport to Email and Music Charts
    http://uk.my.yahoo.com



    This archive was generated by hypermail 2.1.4 : Tue Apr 23 2002 - 22:55:24 EDT