diff --git a/Meta/Lagom/Tools/CodeGenerators/LibUnicode/GenerateUnicodeNumberFormat.cpp b/Meta/Lagom/Tools/CodeGenerators/LibUnicode/GenerateUnicodeNumberFormat.cpp index 188b629e7a..0b379a8fba 100644 --- a/Meta/Lagom/Tools/CodeGenerators/LibUnicode/GenerateUnicodeNumberFormat.cpp +++ b/Meta/Lagom/Tools/CodeGenerators/LibUnicode/GenerateUnicodeNumberFormat.cpp @@ -742,19 +742,19 @@ static void generate_unicode_locale_implementation(Core::File& file, UnicodeLoca #include #include -namespace Unicode::Detail { +namespace Unicode { )~~~"); locale_data.unique_strings.generate(generator); generator.append(R"~~~( -struct NumberFormat { - Unicode::NumberFormat to_unicode_number_format() const { - Unicode::NumberFormat number_format {}; +struct NumberFormatImpl { + NumberFormat to_unicode_number_format() const { + NumberFormat number_format {}; number_format.magnitude = magnitude; number_format.exponent = exponent; - number_format.plurality = static_cast(plurality); + number_format.plurality = static_cast(plurality); number_format.zero_format = s_string_list[zero_format]; number_format.positive_format = s_string_list[positive_format]; number_format.negative_format = s_string_list[negative_format]; @@ -803,7 +803,7 @@ struct Unit { }; )~~~"); - locale_data.unique_formats.generate(generator, "NumberFormat"sv, "s_number_formats"sv, 10); + 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); locale_data.unique_systems.generate(generator, "NumberSystem"sv, "s_number_systems"sv, 10); @@ -850,8 +850,7 @@ static NumberSystem const* find_number_system(StringView locale, StringView syst return nullptr; } -Optional get_number_system_symbol(StringView locale, StringView system, Unicode::NumericSymbol symbol) asm("unicode_get_number_system_symbol"); -Optional get_number_system_symbol(StringView locale, StringView system, Unicode::NumericSymbol symbol) +Optional get_number_system_symbol(StringView locale, StringView system, NumericSymbol symbol) { if (auto const* number_system = find_number_system(locale, system); number_system != nullptr) { auto symbols = s_numeric_symbol_lists.at(number_system->symbols); @@ -866,7 +865,6 @@ Optional get_number_system_symbol(StringView locale, StringView syst return {}; } -Optional get_number_system_groupings(StringView locale, StringView system) asm("unicode_get_number_system_groupings"); Optional get_number_system_groupings(StringView locale, StringView system) { if (auto const* number_system = find_number_system(locale, system); number_system != nullptr) @@ -874,8 +872,7 @@ Optional get_number_system_groupings(StringView locale, StringV return {}; } -Optional get_standard_number_system_format(StringView locale, StringView system, StandardNumberFormatType type) asm("unicode_get_standard_number_system_format"); -Optional get_standard_number_system_format(StringView locale, StringView system, StandardNumberFormatType type) +Optional get_standard_number_system_format(StringView locale, StringView system, StandardNumberFormatType type) { if (auto const* number_system = find_number_system(locale, system); number_system != nullptr) { @number_format_index_type@ format_index = 0; @@ -904,10 +901,9 @@ Optional get_standard_number_system_format(StringView loc return {}; } -Vector get_compact_number_system_formats(StringView locale, StringView system, CompactNumberFormatType type) asm("unicode_get_compact_number_system_formats"); -Vector get_compact_number_system_formats(StringView locale, StringView system, CompactNumberFormatType type) +Vector get_compact_number_system_formats(StringView locale, StringView system, CompactNumberFormatType type) { - Vector formats; + Vector formats; if (auto const* number_system = find_number_system(locale, system); number_system != nullptr) { @number_format_list_index_type@ number_format_list_index { 0 }; @@ -956,10 +952,9 @@ static Unit const* find_units(StringView locale, StringView unit) return nullptr; } -Vector get_unit_formats(StringView locale, StringView unit, Style style) asm("unicode_get_unit_formats"); -Vector get_unit_formats(StringView locale, StringView unit, Style style) +Vector get_unit_formats(StringView locale, StringView unit, Style style) { - Vector formats; + Vector formats; if (auto const* units = find_units(locale, unit); units != nullptr) { @number_format_list_index_type@ number_format_list_index { 0 }; diff --git a/Userland/Libraries/LibUnicode/NumberFormat.cpp b/Userland/Libraries/LibUnicode/NumberFormat.cpp index b642f6450b..aa2e587dbe 100644 --- a/Userland/Libraries/LibUnicode/NumberFormat.cpp +++ b/Userland/Libraries/LibUnicode/NumberFormat.cpp @@ -8,7 +8,6 @@ #include #include #include -#include #if ENABLE_UNICODE_DATA # include @@ -16,35 +15,11 @@ namespace Unicode { -Optional get_number_system_symbol(StringView locale, StringView system, NumericSymbol symbol) -{ - static auto const& symbols = Detail::Symbols::ensure_loaded(); - return symbols.get_number_system_symbol(locale, system, symbol); -} - -Optional get_number_system_groupings(StringView locale, StringView system) -{ - static auto const& symbols = Detail::Symbols::ensure_loaded(); - return symbols.get_number_system_groupings(locale, system); -} - -Optional get_standard_number_system_format(StringView locale, StringView system, StandardNumberFormatType type) -{ - static auto const& symbols = Detail::Symbols::ensure_loaded(); - return symbols.get_standard_number_system_format(locale, system, type); -} - -Vector get_compact_number_system_formats(StringView locale, StringView system, CompactNumberFormatType type) -{ - static auto const& symbols = Detail::Symbols::ensure_loaded(); - return symbols.get_compact_number_system_formats(locale, system, type); -} - -Vector get_unit_formats(StringView locale, StringView unit, Style style) -{ - static auto const& symbols = Detail::Symbols::ensure_loaded(); - return symbols.get_unit_formats(locale, unit, style); -} +Optional __attribute__((weak)) get_number_system_symbol(StringView, StringView, NumericSymbol) { return {}; } +Optional __attribute__((weak)) get_number_system_groupings(StringView, StringView) { return {}; } +Optional __attribute__((weak)) get_standard_number_system_format(StringView, StringView, StandardNumberFormatType) { return {}; } +Vector __attribute__((weak)) get_compact_number_system_formats(StringView, StringView, CompactNumberFormatType) { return {}; } +Vector __attribute__((weak)) get_unit_formats(StringView, StringView, Style) { return {}; } Optional select_pattern_with_plurality(Vector const& formats, double number) { diff --git a/Userland/Libraries/LibUnicode/UnicodeSymbols.cpp b/Userland/Libraries/LibUnicode/UnicodeSymbols.cpp index 5e254ea134..7c89d3d18f 100644 --- a/Userland/Libraries/LibUnicode/UnicodeSymbols.cpp +++ b/Userland/Libraries/LibUnicode/UnicodeSymbols.cpp @@ -17,7 +17,6 @@ # include # include # include -# include #endif namespace Unicode::Detail { @@ -112,12 +111,6 @@ Symbols const& Symbols::ensure_loaded() load_symbol(symbols.add_likely_subtags, "unicode_add_likely_subtags"); load_symbol(symbols.resolve_most_likely_territory, "unicode_resolve_most_likely_territory"); - load_symbol(symbols.get_number_system_symbol, "unicode_get_number_system_symbol"); - load_symbol(symbols.get_number_system_groupings, "unicode_get_number_system_groupings"); - load_symbol(symbols.get_standard_number_system_format, "unicode_get_standard_number_system_format"); - load_symbol(symbols.get_compact_number_system_formats, "unicode_get_compact_number_system_formats"); - load_symbol(symbols.get_unit_formats, "unicode_get_unit_formats"); - load_symbol(symbols.get_regional_hour_cycles, "unicode_get_regional_hour_cycles"); load_symbol(symbols.get_calendar_date_format, "unicode_get_calendar_date_format"); load_symbol(symbols.get_calendar_time_format, "unicode_get_calendar_time_format"); diff --git a/Userland/Libraries/LibUnicode/UnicodeSymbols.h b/Userland/Libraries/LibUnicode/UnicodeSymbols.h index 4b0cd1ef0f..2efd04e0b8 100644 --- a/Userland/Libraries/LibUnicode/UnicodeSymbols.h +++ b/Userland/Libraries/LibUnicode/UnicodeSymbols.h @@ -64,14 +64,6 @@ struct Symbols { Optional (*add_likely_subtags)(LanguageID const&); Optional (*resolve_most_likely_territory)(LanguageID const&); - // Loaded from UnicodeNumberFormat.cpp: - - Optional (*get_number_system_symbol)(StringView, StringView, NumericSymbol); - Optional (*get_number_system_groupings)(StringView, StringView); - Optional (*get_standard_number_system_format)(StringView, StringView, StandardNumberFormatType); - Vector (*get_compact_number_system_formats)(StringView, StringView, CompactNumberFormatType); - Vector (*get_unit_formats)(StringView, StringView, Style); - // Loaded from UnicodeDateTimeFormat.cpp: Vector (*get_regional_hour_cycles)(StringView) { nullptr };