Home

Contact Us

General

Initiative B@bel

WSI Guidelines

Encoding

Principles

Unicode

Training

Tutorials

PUA

Conversion

Resources

Utilities

TECkit

Maps

Resources

Input

Principles

Utilities

Tutorials

Resources

Type Design

Principles

Design Tools

Formats

Resources

Font Downloads

Gentium

Doulos

IPA

Rendering

Principles

Technologies

OpenType

Graphite

Resources

Font FAQ

Links

Glossary


NRSI: Computers & Writing Systems

SIL HOME | SIL SOFTWARE | SUPPORT | DONATE

You are here: General > WSI Guidelines
Short URL: http://scripts.sil.org/WSI_Guidelines_Sec_9_4

Guidelines for Writing System Support: Technical Details: Smart Rendering: Part 4

Martin Hosken, Victor Gaultney, 2003-09-05

Contents

9.4   User Interaction

In an editing environment, once the glyphs are on the screen, a user may well want to interact with what they see. This section looks at some of the rendering issues involved in editing.

9.4.1   Hit Testing

When the user clicks the mouse somewhere in a section of text, the editing process needs to know where to place the cursor in the underlying text. For simple linear rendering, this is not difficult. But once re-ordering, bi-directionality, split glyphs and even diacritics are involved, hit testing can become difficult. A good rendering system will handle this for an application.

9.4.2   Selection

When the user clicks the mouse and drags, they expect the normal behavior of character selection to occur, where the glyphs involved become highlighted in some way. The question an application developer has to decide is whether the selection is logical or visual.

Logical selection is the process of selecting a contiguous sequence of characters in the underlying text. Due to re-ordering, etc. during rendering, this may result in a non-contiguous sequence of glyphs being highlighted. While the visual process of selection may look rather odd, having a contiguous sequence of characters selected is usually much easier for application developers.

On the other hand, users may strongly prefer visual selection, where a contiguous sequence of glyphs is highlighted, regardless of what is being selected in the underlying stored text. This may seem to be the most visually appealing approach to use, but the complexity increase on the part of application developers, as they try to grapple with non-contiguous sequences of characters in their selections, may mean that logical selection is more appropriate.

9.4.3   Arrow Keys

What happens when the user presses an arrow key? Should the cursor move logically or visually? This issue is akin to the previous one regarding selection. Logical cursor movement moves the cursor linearly through the underlying text. The result can mean the cursor jumps around on the screen, which may confuse users. Visual cursor movement ensures a linear movement on the screen, but may involve jumping around in the underlying text. Visual cursor movement, however, is not as hard to implement as visual selection.

There is, however, not a single appropriate method of cursor handling. An application may provide logical cursor movement for text that includes re-ordered glyphs, split graphs and other rearrangement, but may provide visual movement if the text is bidirectional.

9.5   References

[CON2000] Constable, Peter. Understanding multilingual software on MS Windows: the answer to the ultimate question of fonts, keyboards and everything. ms. Dallas, TX: SIL International, 2000. Available in CTC Resource Collection 2000 CD-ROM, by SIL International.

Copyright notice

(c) Copyright 2003 UNESCO and SIL International Inc.



Note: If you want to add a response to this article, you need to enable cookies in your browser, and then restart your browser.

Note: the opinions expressed in submitted contributions below do not necessarily reflect the opinions of our website.



© 2003-2017 SIL International, all rights reserved, unless otherwise noted elsewhere on this page.
Provided by SIL's Non-Roman Script Initiative. Contact us here.