/* * Copyright (c) 2021-2024, Tim Flynn * * SPDX-License-Identifier: BSD-2-Clause */ #pragma once #include #include #include #include #include namespace Unicode { Optional general_category_from_string(StringView); bool code_point_has_general_category(u32 code_point, GeneralCategory general_category); bool code_point_is_printable(u32 code_point); bool code_point_has_control_general_category(u32 code_point); bool code_point_has_letter_general_category(u32 code_point); bool code_point_has_number_general_category(u32 code_point); bool code_point_has_punctuation_general_category(u32 code_point); bool code_point_has_separator_general_category(u32 code_point); bool code_point_has_space_separator_general_category(u32 code_point); bool code_point_has_symbol_general_category(u32 code_point); Optional property_from_string(StringView); bool code_point_has_property(u32 code_point, Property property); bool code_point_has_emoji_property(u32 code_point); bool code_point_has_emoji_modifier_base_property(u32 code_point); bool code_point_has_emoji_presentation_property(u32 code_point); bool code_point_has_identifier_start_property(u32 code_point); bool code_point_has_identifier_continue_property(u32 code_point); bool code_point_has_regional_indicator_property(u32 code_point); bool code_point_has_variation_selector_property(u32 code_point); bool code_point_has_white_space_property(u32 code_point); bool is_ecma262_property(Property); Optional