Report a bug
If you spot a problem with this page, click here to create a Bugzilla issue.
Improve this page
Quickly fork, edit online, and submit a pull request for this page. Requires a signed-in GitHub account. This works well for small changes. If you'd like to make larger changes you may want to consider using a local clone.

dmd.utf

Compiler implementation of the D programming language.
Authors:

Source utf.d

pure nothrow @nogc bool utf_isValidDchar(dchar c);
The Unicode code space is the range of code points [0x000000,0x10FFFF] except the UTF-16 surrogate pairs in the range [0xD800,0xDFFF]
pure nothrow @nogc bool isUniAlpha(dchar c);
Return !=0 if unicode alpha. Use table from C99 Appendix D.
pure nothrow @nogc int utf_codeLengthChar(dchar c);
Returns the code length of c in code units.
pure nothrow @nogc int utf_codeLength(int sz, dchar c);
Returns the code length of c in code units for the encoding. sz is the encoding: 1 = utf8, 2 = utf16, 4 = utf32.
pure nothrow @nogc immutable(char*) utf_decodeChar(const(char)* s, size_t len, ref size_t ridx, out dchar rresult);
Decode a UTF-8 sequence as a single UTF-32 code point.
Parameters:
const(char)* s UTF-8 sequence
size_t len number of code units in s[]
size_t ridx starting index in s[], updated to reflect number of code units decoded
dchar rresult set to character decoded
Returns:
null on success, otherwise error message string
pure nothrow @nogc immutable(char*) utf_decodeWchar(const(wchar)* s, size_t len, ref size_t ridx, out dchar rresult);
Decode a UTF-16 sequence as a single UTF-32 code point.
Parameters:
const(wchar)* s UTF-16 sequence
size_t len number of code units in s[]
size_t ridx starting index in s[], updated to reflect number of code units decoded
dchar rresult set to character decoded
Returns:
null on success, otherwise error message string