/*
 * Copyright 2022 Rive
 */

#ifndef _RIVE_UTF_HPP_
#define _RIVE_UTF_HPP_

#include "rive/render_text.hpp"

namespace rive {

    class UTF {
    public:
        // returns the number of bytes needed in this sequence
        // For ascii, this will return 1
        static int CountUTF8Length(const uint8_t utf8[]);

        // Return the unichar pointed to by the utf8 pointer, and then
        // update the pointer to point to the next sequence.
        static Unichar NextUTF8(const uint8_t** utf8Ptr);

        // Convert the unichar into (1 or 2) utf16 values, and return
        // the number of values.
        static int ToUTF16(Unichar uni, uint16_t utf16[]);
    };

} // namespace rive

#endif
