WSTech: Writing Systems Technology (formerly known as NRSI)
Guidelines for Writing System Support: Technical Details: Smart Rendering: Part 4
UNESCO project Initiative B@bel
A complete index of all SIL's contributions to UNESCO‘s project Initiative B@bel can be found here.
Guidelines Table of 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.
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.
[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.
(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.