You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

28 lines
762 B
C

// SPDX-License-Identifier: LGPL-3.0-or-later
/**
* \file utf/utfdef.h
*
* UTF-8 types and macro constants definitions.
*
* \copyright The DoubleFourteen Code Forge (C) All Rights Reserved
* \author Lorenzo Cogotti
*/
#ifndef DF_UTFDEF_H_
#define DF_UTFDEF_H_
#include "xpt.h"
/// 32-bits unsigned type capable of holding any UTF-8 character.
typedef Uint32 Rune;
#define MAXUTF 4u ///< Maximum bytes per `Rune`
#define RUNE_SYNC 0x80 ///< Cannot represent part of a UTF sequence (<)
#define RUNE_SELF 0x80 ///< `Rune` and UTF sequences are the same (<)
#define RUNE_ERR 0xfffdu ///< Decoding error in UTF
#define MAXRUNE 0x10ffffu ///< Maximum `Rune` value
#define BOM 0xefbbbfu ///< UTF-8 BOM marker
#endif