dmd.utf

Functions related to UTF encoding.

Authors

Walter Bright

Source: utf.d

  • Declaration

    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]

  • Declaration

    pure nothrow @nogc bool isUniAlpha(dchar c);

    Return !=0 if unicode alpha. Use table from C99 Appendix D.

  • Declaration

    pure nothrow @nogc int utf_codeLengthChar(dchar c);

    Returns the code length of c in code units.

  • Declaration

    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.

  • Declaration

    pure nothrow @nogc string utf_decodeChar(const(char)[] s, 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 ridx

    starting index in s[], updated to reflect number of code units decoded

    dchar rresult

    set to character decoded

    Return Value

    null on success, otherwise error message string

  • Declaration

    pure nothrow @nogc string utf_decodeWchar(const(wchar)[] s, 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 ridx

    starting index in s[], updated to reflect number of code units decoded

    dchar rresult

    set to character decoded

    Return Value

    null on success, otherwise error message string