From 481ced53d85444280039ec9c33834eb98f16a5b6 Mon Sep 17 00:00:00 2001 From: Timothy Flynn Date: Sun, 30 Jan 2022 16:46:19 -0500 Subject: [PATCH] LibUnicode: Generate a list of available numbering systems --- .../CodeGenerators/LibUnicode/GenerateUnicodeNumberFormat.cpp | 2 ++ Userland/Libraries/LibUnicode/NumberFormat.cpp | 1 + Userland/Libraries/LibUnicode/NumberFormat.h | 2 ++ 3 files changed, 5 insertions(+) diff --git a/Meta/Lagom/Tools/CodeGenerators/LibUnicode/GenerateUnicodeNumberFormat.cpp b/Meta/Lagom/Tools/CodeGenerators/LibUnicode/GenerateUnicodeNumberFormat.cpp index 167a9e1e46..0c433a74aa 100644 --- a/Meta/Lagom/Tools/CodeGenerators/LibUnicode/GenerateUnicodeNumberFormat.cpp +++ b/Meta/Lagom/Tools/CodeGenerators/LibUnicode/GenerateUnicodeNumberFormat.cpp @@ -869,6 +869,8 @@ struct Unit { }; )~~~"); + generate_available_values(generator, "get_available_number_systems"sv, locale_data.number_systems); + locale_data.unique_formats.generate(generator, "NumberFormatImpl"sv, "s_number_formats"sv, 10); locale_data.unique_format_lists.generate(generator, s_number_format_index_type, "s_number_format_lists"sv); locale_data.unique_symbols.generate(generator, s_string_index_type, "s_numeric_symbol_lists"sv); diff --git a/Userland/Libraries/LibUnicode/NumberFormat.cpp b/Userland/Libraries/LibUnicode/NumberFormat.cpp index 3571e0814d..1250642249 100644 --- a/Userland/Libraries/LibUnicode/NumberFormat.cpp +++ b/Userland/Libraries/LibUnicode/NumberFormat.cpp @@ -16,6 +16,7 @@ namespace Unicode { +Span __attribute__((weak)) get_available_number_systems() { return {}; } Optional __attribute__((weak)) number_system_from_string(StringView) { return {}; } Optional __attribute__((weak)) get_number_system_symbol(StringView, StringView, NumericSymbol) { return {}; } Optional __attribute__((weak)) get_number_system_groupings(StringView, StringView) { return {}; } diff --git a/Userland/Libraries/LibUnicode/NumberFormat.h b/Userland/Libraries/LibUnicode/NumberFormat.h index 34b69f523a..cc201f5d8c 100644 --- a/Userland/Libraries/LibUnicode/NumberFormat.h +++ b/Userland/Libraries/LibUnicode/NumberFormat.h @@ -66,6 +66,8 @@ enum class NumericSymbol : u8 { PlusSign, }; +Span get_available_number_systems(); + Optional number_system_from_string(StringView system); Optional get_default_number_system(StringView locale);