mirror of
				https://github.com/RGBCube/serenity
				synced 2025-10-31 03:42:44 +00:00 
			
		
		
		
	 8f2589b3b0
			
		
	
	
		8f2589b3b0
		
	
	
	
	
		
			
			Case folding rules have a similar mapping style as special casing rules,
where one code point may map to zero or more case folding rules. These
will be used for case-insensitive string comparisons. To see how case
folding can differ from other casing rules, consider "ß" (U+00DF):
    >>> "ß".lower()
    'ß'
    >>> "ß".upper()
    'SS'
    >>> "ß".title()
    'Ss'
    >>> "ß".casefold()
    'ss'
		
	
			
		
			
				
	
	
		
			22 lines
		
	
	
	
		
			730 B
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			22 lines
		
	
	
	
		
			730 B
		
	
	
	
		
			C++
		
	
	
	
	
	
| /*
 | |
|  * Copyright (c) 2023, Tim Flynn <trflynn89@serenityos.org>
 | |
|  *
 | |
|  * SPDX-License-Identifier: BSD-2-Clause
 | |
|  */
 | |
| 
 | |
| #pragma once
 | |
| 
 | |
| #include <AK/Error.h>
 | |
| #include <AK/Forward.h>
 | |
| #include <AK/Optional.h>
 | |
| #include <AK/Utf8View.h>
 | |
| #include <LibUnicode/Forward.h>
 | |
| 
 | |
| namespace Unicode::Detail {
 | |
| 
 | |
| ErrorOr<void> build_lowercase_string(Utf8View code_points, StringBuilder& builder, Optional<StringView> const& locale);
 | |
| ErrorOr<void> build_uppercase_string(Utf8View code_points, StringBuilder& builder, Optional<StringView> const& locale);
 | |
| ErrorOr<void> build_titlecase_string(Utf8View code_points, StringBuilder& builder, Optional<StringView> const& locale);
 | |
| ErrorOr<void> build_casefold_string(Utf8View code_points, StringBuilder& builder);
 | |
| 
 | |
| }
 |