• Ben Avison's avatar
    UTF-8 support from previous version switched in; additional alphabet-... · 2c759475
    Ben Avison authored
    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'
    2c759475
Messages 2.69 KB
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 Acorn ACORN Select SELECT Menu MENU Adjust ADJUST
OK:Continue
Continue:Continue
Quit:Quit
OSUnits: OS Units
DeciSec: * 1/10 second
OSUperSec: OS Units / second
OSUperSec2: OS Units / second
WSP:Wimp sprite pool

#{DictTokens}
NoClaim:Wimp unable to claim work area
BadSprite:Sprite doesn't exist
BadSprites:Squashed or missing sprite file
BadOp:Invalid Wimp operation in this context
RectFull:Rectangle area full
TooBig:There is not enough memory to create this window or menu
GetRect:Get_Rectangle not called correctly
Focus:Input focus window not found
BadHandle:Illegal window handle
TooMenus:Too many menus
BadExtent:Bad work area extent
BadPointer:Syntax: *Pointer [0|1]
NoTemplateFile:Template file not found
BadTemplate:Template entry invalid
BadFonts:Unable to bind font handle
BadSyntax:Syntax error in validation string
NoTasks:Too many tasks
NoTemplate:Template entry not found
InUse:Window manager in use
BadPalFile:Error in palette file
BadPalFile2:The window manager does not understand this type of palette file
BadVersion:Bad version number passed to Wimp_Initialise
BadMessageSize:Message block is too big / not a multiple of 4
BadReasonCode:Illegal reason code given to SendMessage
BadTaskHandle:Illegal task handle
CantTask:Can't start task from here
BadSubMenu:Submenus require a parent menu tree
OwnerWindow:Access to window denied
BadMode:This screen mode is unsuitable for displaying the desktop
BadTransfer:Wimp transfer out of range
BadSlot:One of the task slots is wrong!!!
BadSysInfo:Bad parameter passed to Wimp in R0
BadPtrInR1:Bad pointer passed to Wimp in R1
BadEscapeState:Wimp_Poll called with escape enabled!
BadIconHandle:Illegal icon handle
BadR3:Illegal Wimp_Poll pointer in R3
BadParent:Bad parent window
NoSprites:There is not enough memory to load all of the available sprites. This may affect the appearance of files and applications.
TemplateEOF:End of file while reading template file.
CantKill:Window manager is currently active
MF:Message from %0
ID:Please insert %0 '%1'
Space:Press SPACE or click mouse to continue
ErrorF:Message from %0
ErrorP:%0 may have gone wrong. Click Continue to try to resume or Quit to stop %0.
ErrMemS:There is not enough free memory to start this application.
ErrMem:%0K free memory is needed before the application will start.
ErrNoMv:Unable to move memory
KillApp:Press Stop to terminate %0.
KillProg:Press the return key to stop the program or