2021-07-28 21:45:09 -04:00
|
|
|
/*
|
2022-01-12 16:15:41 -05:00
|
|
|
* Copyright (c) 2021-2022, Tim Flynn <trflynn89@pm.me>
|
2021-07-28 21:45:09 -04:00
|
|
|
*
|
|
|
|
* SPDX-License-Identifier: BSD-2-Clause
|
|
|
|
*/
|
|
|
|
|
|
|
|
#pragma once
|
|
|
|
|
|
|
|
#include <AK/Types.h>
|
|
|
|
|
|
|
|
namespace Unicode {
|
|
|
|
|
2021-12-16 07:18:35 -05:00
|
|
|
enum class Calendar : u8;
|
2021-11-27 14:54:48 -05:00
|
|
|
enum class CalendarFormatType : u8;
|
|
|
|
enum class CalendarPatternStyle : u8;
|
2022-01-12 16:15:41 -05:00
|
|
|
enum class CalendarName : u8;
|
2021-12-16 07:18:35 -05:00
|
|
|
enum class CalendarSymbol : u8;
|
2021-10-25 12:15:10 -04:00
|
|
|
enum class CompactNumberFormatType : u8;
|
2021-08-10 07:17:24 -04:00
|
|
|
enum class Condition : u8;
|
2021-12-16 07:18:35 -05:00
|
|
|
enum class Currency : u16;
|
2022-01-12 17:16:12 -05:00
|
|
|
enum class DateField : u8;
|
2021-12-16 07:18:35 -05:00
|
|
|
enum class DayPeriod : u8;
|
|
|
|
enum class Era : u8;
|
2021-08-10 07:17:24 -04:00
|
|
|
enum class GeneralCategory : u8;
|
LibUnicode: Parse and generate regional hour cycles
Unlike most data in the CLDR, hour cycles are not stored on a per-locale
basis. Instead, they are keyed by a string that is usually a region, but
sometimes is a locale. Therefore, given a locale, to determine the hour
cycles for that locale, we:
1. Check if the locale itself is assigned hour cycles.
2. If the locale has a region, check if that region is assigned hour
cycles.
3. Otherwise, maximize that locale, and if the maximized locale has
a region, check if that region is assigned hour cycles.
4. If the above all fail, fallback to the "001" region.
Further, each locale's default hour cycle is the first assigned hour
cycle.
2021-11-27 20:57:21 -05:00
|
|
|
enum class HourCycle : u8;
|
2021-12-16 07:18:35 -05:00
|
|
|
enum class HourCycleRegion : u8;
|
|
|
|
enum class Key : u8;
|
2021-08-24 19:50:18 -04:00
|
|
|
enum class Language : u8;
|
2021-09-06 13:56:44 -04:00
|
|
|
enum class ListPatternStyle : u8;
|
|
|
|
enum class ListPatternType : u8;
|
2021-08-26 06:42:11 -04:00
|
|
|
enum class Locale : u16;
|
2021-12-16 07:18:35 -05:00
|
|
|
enum class Month : u8;
|
2022-01-11 18:42:07 -05:00
|
|
|
enum class NumberSystem : u8;
|
2021-12-16 07:18:35 -05:00
|
|
|
enum class NumericSymbol : u8;
|
2021-08-10 08:27:28 -04:00
|
|
|
enum class Property : u8;
|
2021-08-10 07:17:24 -04:00
|
|
|
enum class Script : u8;
|
2021-12-16 07:18:35 -05:00
|
|
|
enum class ScriptTag : u8;
|
2021-10-26 13:23:08 -04:00
|
|
|
enum class StandardNumberFormatType : u8;
|
2021-11-16 09:31:15 -05:00
|
|
|
enum class Style : u8;
|
2021-08-24 19:50:18 -04:00
|
|
|
enum class Territory : u8;
|
2021-12-16 07:18:35 -05:00
|
|
|
enum class Weekday : u8;
|
2021-08-10 07:17:24 -04:00
|
|
|
enum class WordBreakProperty : u8;
|
2021-07-28 21:45:09 -04:00
|
|
|
|
2021-11-27 14:54:48 -05:00
|
|
|
struct CalendarFormat;
|
|
|
|
struct CalendarPattern;
|
2021-12-16 07:18:35 -05:00
|
|
|
struct CalendarRangePattern;
|
2021-09-09 10:49:13 -04:00
|
|
|
struct CurrencyCode;
|
2021-09-01 09:47:23 -04:00
|
|
|
struct Keyword;
|
2021-08-31 10:03:49 -04:00
|
|
|
struct LanguageID;
|
2021-09-06 13:56:44 -04:00
|
|
|
struct ListPatterns;
|
2021-09-01 09:47:23 -04:00
|
|
|
struct LocaleExtension;
|
|
|
|
struct LocaleID;
|
2021-10-25 12:15:10 -04:00
|
|
|
struct NumberFormat;
|
2021-11-13 22:03:22 -05:00
|
|
|
struct NumberGroupings;
|
2021-09-01 09:47:23 -04:00
|
|
|
struct OtherExtension;
|
2021-07-28 21:45:09 -04:00
|
|
|
struct SpecialCasing;
|
2021-09-01 09:47:23 -04:00
|
|
|
struct TransformedExtension;
|
|
|
|
struct TransformedField;
|
2021-07-28 21:45:09 -04:00
|
|
|
struct UnicodeData;
|
|
|
|
|
|
|
|
}
|