On Thu, Oct 04, 2007 at 09:43:44PM +0300, Martin Vermeer wrote:
> On Thu, Oct 04, 2007 at 07:15:18PM +0200, Andre Poenitz wrote:
> > On Thu, Oct 04, 2007 at 06:52:48PM +0300, Martin Vermeer wrote:
> > > On Thu, Oct 04, 2007 at 10:20:43AM +0200, Jean-Marc Lasgouttes wrote:
> > > > Abdelrazak Younes <[EMAIL PROTECTED]> writes:
> > > > 
> > > > > Within text the <space> syndrome won't be as evident because you
> > > > > generally only have one depth and not multiple level like in mathed.
> > > > 
> > > > Why do we need to nest insets then ? :-P
> > > > 
> > > > JMarc
> > > 
> > > Actually I don't think we should (usually). In text, cases where we
> > > want to nest (charstyle) insets ought to be rare, if we have defined
> > > them as sensible semantic units. Over-use of nesting is a sign that
> > > we maybe haven't.
> > 
> > One use case I can think of is a linguist wanting to mark individual
> > parts of a sentence. Certain words can be part of several such entities,
> > so overlapping might make sense there, and also the "artificial
> > splitting workaround" of the pure inset approach might not be really
> > feasible.
> 
> Yes, I agree. That would be the TEI use case.

I am still pondering the implications. If we accepted that as an
_important_ use case, insets are basically ruled out as implementation.
Which would be a shame but anyway. All theory here...

This would leave "ranges" (output as list in parallel to the actual
"data") as the only known other option. Now the biggest disadvantage of
ranges is that one never knows were one is - but that's a pure ui
problem which can be solved I think.

In fact, I think I could even get my beloved excessive cursor presses

  data : "this is a text"
  ranges : [
    { type : "emph", from : 5, to : 7 },
    { type : "strong", from : 5, to : 9 },
  ]

would translate to 

  "this <emph><strong>is</emph> a</strong>"

[note the improper nesting btw.] 

and pressing <Right> would traverse that structure like that:

  pos 0, range 0   [before 't']
  pos 1, range 0   [before 'h']
  pos 2, range 0   [before 'i']
  pos 3, range 0   [before 's']
  pos 4, range 0   [before ' ']
  pos 5, range 0   [after ' ', but outside <emph> and <strong>]
  pos 5, range 1   [after ' ', inside <emph>, outside <strong>]
  pos 5, range 2   [after ' ', inside <emph>, inside <strong>, i.e.  before 'i']
  pos 6, range 0   [before 's']

etc. So the main problem of not having separate cursor positions for
separate style context would be gone.

And for The Honoured Believers in Single Keystroke Navigation (formerly
known as The Finger Painting Faction) the multiple "pos 5, range *"
positions can be collapsed to a single one. A simple boolean preference,
maybe even togglable by C-S-M-fullMoon-F7 could steer this wihout any
impact on the implementation.

Andre'

Reply via email to