Commit e6cf688e authored by Ben Avison's avatar Ben Avison
Browse files

UTF-8 support from previous version switched in; additional alphabet-...

UTF-8 support from previous version switched in; additional alphabet- conditional support added as follows: 

* Correctly converts character index returned from Font_FindCaret into byte
  index into raw string.
* Left-arrow, right-arrow, delete-left and delete-right now act as far as
  the next character boundary, instead of to the next byte.
* Menu item text justification works again (it relies on overwriting spaces
  with hard space characters, which are two-byte characters in UTF-8).
* General key handling code has been rewritten. The Wimp now has three
  internal key input buffers - one each for taking keyboard-generated,
  task-generated, and function-key-generated strings. Each input buffer is
  processed in chunks of one character, rather than one byte; malformed
  UTF-8 characters are rejected, so tasks don't have to worry about them
  (simplifying their character-handling code). There is also a key output
  buffer, to ensure that (UTF-8) sequences of Key_Pressed events are not
  broken up.
* As a result of the above, multiple calls to Wimp_ProcessKey are now
  possible between calls to Wimp_Poll. Previously, this resulted in bytes
  getting jumbled up - making it useless for input of UTF-8 characters.
* Multi-byte characters are inserted into writeable icons in one go, so you
  don't see a brief flicker of the "malformed character" symbol while the
  initial bytes are being inserted.
* Multi-byte characters that don't entirely fit in a writeable icon buffer
  are not inserted at all.
* A new validation string command ("U") can limit the contents of a
  writeable by number of characters, instead of bytes. This will hide the
  character sizes from the user interface.
* Allowable characters (validation string command "A") now works on Unicode
  characters and character ranges.
* Various other minor bugs are fixed (Wimp_ProcessKey 13 can activate a
  writeable menu item, Shift-arrow keys are always consistent in firing off
  Key_Pressed events, etc.)
* Password icons supported: one symbol is displayed for each character
  (instead of for each byte); the display character (validation string
  command "D") can be any UTF-8 character; correctly displays the caret
  after set-caret-by-index calls, even though characters in the processed
  string are different width to those in the raw string, in password icons.
 
Other changes:
* The border around NC-style error boxes is resized when the error window
  is grown or shrunk.
* Messages, CmdHelp and Template files made consistent across resource
  directories, including support for all Ursula features.
* ShrinkableAreas turned back on in System=RCA builds.
* User interface features of desktop OS builds standardised.

Version 4.06. Tagged as 'Wimp-4_06'
parent f6ac9cd8
......@@ -13,9 +13,11 @@
; limitations under the License.
;
;
; Wimp options for a RISC OS 3.7x build of the Window Manager
; Wimp options for a Morris4 build of the Window Manager
;
module_postfix SETS " Morris4"
ASSERT International_Help <> 0
END
......@@ -2,7 +2,7 @@ Error:Fehler
NoError:%0
Watchdog:Stopp,Abbrechen,Nächste Aufgabe
Modifiers:^ ‹ ^‹ ‹^
KeyNames:Esc ESC F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 Druck DRUCK Untbr UNTBR Pause PAUSE Tab TAB Eingabe EINGABE Einfg EINFG Pos1 POS1 Bildauf BILDAUF Entf ENTF Copy COPY Ende ENDE Bildab BILDAB Enter ENTER Auf AUF Ab AB Links LINKS Rechts RECHTS Auswahl AUSWAHL Menü MENÜ Spezial SPEZIAL Print PRINT Break BREAK Return RETURN Insert INSERT Home HOME PageUp PAGE UP Delete DELETE End END PageDown PAGE DOWN Up UP Down DOWN Left LEFT Right RIGHT Select SELECT Menu MENU Adjust ADJUST
KeyNames:Esc ESC F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 Druck DRUCK Untbr UNTBR Pause PAUSE Tab TAB Eingabe EINGABE Einfg EINFG Pos1 POS1 Bildauf BILDAUF Entf ENTF Copy COPY Ende ENDE Bildab BILDAB Enter ENTER Auf AUF Ab AB Links LINKS Rechts RECHTS Auswahl AUSWAHL Menü MENÜ Spezial SPEZIAL Print PRINT Break BREAK Return RETURN Insert INSERT Home HOME PageUp PAGE UP Delete DELETE End END PageDown PAGE DOWN Up UP Down DOWN Left LEFT Right RIGHT Acorn ACORN Select SELECT Menu MENU Adjust ADJUST
OK:OK
Continue:Weiter
Quit:Beenden
......
......@@ -2,7 +2,7 @@ Error:Error
NoError:%0
Watchdog:Stop,Cancel,Next Task
Modifiers:^ ^ ^
KeyNames:Esc ESC F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 Print PRINT Break BREAK Pause PAUSE Tab TAB Return RETURN Insert INSERT Home HOME PageUp PAGEUP Delete DELETE Copy COPY End END PageDown PAGEDOWN Enter ENTER Up UP Down DOWN Left LEFT Right RIGHT Select SELECT Menu MENU Adjust ADJUST
KeyNames:Esc ESC F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 Print PRINT Break BREAK Pause PAUSE Tab TAB Return RETURN Insert INSERT Home HOME PageUp PAGEUP Delete DELETE Copy COPY End END PageDown PAGEDOWN Enter ENTER Up UP Down DOWN Left LEFT Right RIGHT Acorn ACORN Select SELECT Menu MENU Adjust ADJUST
OK:OK
Continue:Continue
Quit:Quit
......
No preview for this file type
......@@ -226,6 +226,7 @@ WimpValidation_Line * 'L' ; Set line spacing in OS units
WimpValidation_Pointer * 'P' ; Set pointer from sprite name and active posn
WimpValidation_Border * 'R' ; Border type
WimpValidation_Sprite * 'S' ; Sprite name
WimpValidation_CharLimit * 'U' ; Max number of Unicode characters allowed
WimpValidation_NoAuto * 'X' ; wimp doesn't auto size iconbar icons
WimpValidationKey_Return * 'R' ; Handle return key
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment