Win32Forth


Unicode Wordset


Tom Dixon - August 2006

Unicode wordset for working with Unicode APIs

: UniPlace ( addr len destaddr -- )

Store a unicode string to an address

: +UniPlace ( addr len destaddr -- )

Append a string to the end of an address

: UniCount ( addr -- addr len )

Fetch a unicode string from an address (stored with uniplace)

: ZUniCount ( addr -- addr len )

Fetch a null-terminated unicode string from an address (null is 16-bit)

: UniType ( addr len -- )

Type a unicode string to the console

: Ustr, ( addr n -- )

Store a unicode string to the dictionary at HERE

: Asc>Uni ( str len -- str len ) \ !!! MUST FREE STRING AFTER !!!

Convert a ascii string to unicode.
must free unicode string with 'free' when no longer needed.

: Uni>Asc ( str len -- str len ) \ !!! MUST FREE STRING AFTER !!!

Convert a unicode string to ascii
must free ascii string afterwards when no longer needed.

: >Unicode ( str len -- str len )

Convert ascii string to unicode (uses new$)

: >ascii ( str len -- str len )

Convert unicode string to ascii (uses new$)

: U" ( ... " -- str len )

Unicode string - same as s"

: Asc>bstr ( str len -- bstr )

Convert ascii string to unicode bstr.  bstr must be freed later with 'bstrfree'.

: bstrFree ( bstr -- )

Free a bstr.

: bstrlen ( ustr -- len )

Returns the length of the bstr.  From this the bstr can be used with all the other unicode functions.


Document $Id: Unicode.htm,v 1.1 2006/08/19 14:45:36 georgeahubert Exp $