File "Utf8.inc"
Path: /HotKeyMgr/inc/Utf8.inc
File size: 2.48 KB
MIME-type:
Charset: 8 bit
'------------------------------------------------------------------------------
' This is 'UTF8.inc'
' Prototypes:
' FUNCTION Utf8ToAnsi (BYVAL S AS STRING) AS STRING
' -------------------------------------------------
' > used to read an UTF8 encoded string and display it correctly
' in Windows dialogs
'
' FUNCTION AnsiToUtf8 (BYVAL S AS STRING) AS STRING
' -------------------------------------------------
' > used to read an Unicode string from a Windows dialog and
' store it correctly in an UTF8 encoded file
'
' FUNCTION NoAccent (BYVAL s AS STRING) AS STRING
' -----------------------------------------------
' > used to remove accented characters from a (Windows) string
'------------------------------------------------------------------------------
FUNCTION Utf8ToAnsi (BYVAL S AS STRING) AS STRING
LOCAL Buffer AS STRING
LOCAL length AS LONG
Buffer = SPACE$(LEN(S) * 2)
MultiByteToWideChar %CP_UTF8, 0, BYVAL STRPTR (S), -1, BYVAL STRPTR (Buffer), LEN (Buffer)
S = Buffer
length = LEN (S)
Buffer = SPACE$(length)
WideCharToMultiByte %CP_ACP, 0, BYVAL STRPTR (S), -1, BYVAL STRPTR(Buffer), LEN(Buffer), BYVAL (0), BYVAL (0)
FUNCTION = LEFT$(Buffer, INSTR(Buffer, $NUL)-1)
END FUNCTION
'------------------------------------------------------------------------------
'------------------------------------------------------------------------------
FUNCTION AnsiToUtf8 (BYVAL S AS STRING) AS STRING
LOCAL Buffer AS STRING
LOCAL length AS LONG
Buffer = SPACE$(LEN(S) * 2)
MultiByteToWideChar %CP_ACP, 0, BYVAL STRPTR (S), -1, BYVAL STRPTR(Buffer), LEN (Buffer)
S = Buffer
length = LEN (S)
Buffer = SPACE$(length)
WideCharToMultiByte %CP_UTF8, 0, BYVAL STRPTR (S), -1, BYVAL STRPTR (Buffer), LEN (Buffer), BYVAL (0), BYVAL (0)
FUNCTION = LEFT$(Buffer, INSTR(Buffer, $NUL)-1)
END FUNCTION
'------------------------------------------------------------------------------
'------------------------------------------------------------------------------
FUNCTION NoAccent (BYVAL s AS STRING) AS STRING
LOCAL r AS STRING
r = s
REPLACE ANY "" _
WITH "AAAEEEEIIOOUUUCN" IN r
REPLACE ANY "" _
WITH "aaaeeeeiioouuuycn" IN r
FUNCTION = r
END FUNCTION
'------------------------------------------------------------------------------