GnuCash  5.6-150-g038405b370+
gnc-unicode.h
1 /********************************************************************
2  * gnc-icu-locale.h -- Localization with ICU. *
3  * *
4  * Copyright (C) 2025 John Ralls <jralls@ceridwen.us *
5  * *
6  * This program is free software; you can redistribute it and/or *
7  * modify it under the terms of the GNU General Public License as *
8  * published by the Free Software Foundation; either version 2 of *
9  * the License, or (at your option) any later version. *
10  * *
11  * This program is distributed in the hope that it will be useful, *
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of *
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
14  * GNU General Public License for more details. *
15  * *
16  * You should have received a copy of the GNU General Public License*
17  * along with this program; if not, contact: *
18  * *
19  * Free Software Foundation Voice: +1-617-542-5942 *
20  * 51 Franklin Street, Fifth Floor Fax: +1-617-542-2652 *
21  * Boston, MA 02110-1301, USA gnu@gnu.org *
22  ********************************************************************/
23 
24 #pragma once
25 #include <stdbool.h>
26 
46 #ifdef __cplusplus
47 extern "C"
48 {
49 #endif
50 
61 bool gnc_unicode_has_substring_base_chars(const char* needle, const
62  char* haystack, int* position,
63  int* length);
64 
75 bool gnc_unicode_has_substring_accented_chars(const char* needle, const
76  char* haystack, int* position,
77  int* length);
78 
89 bool gnc_unicode_has_substring_accented_case_sensitive(const char* needle, const
90  char* haystack, int* position,
91  int* length);
102 bool gnc_unicode_has_substring_identical(const char* needle, const
103  char* haystack, int* position,
104  int* length);
113 int gnc_unicode_compare_base_chars(const char* one, const char* two);
114 
123 int gnc_unicode_compare_accented_chars(const char* one, const char* two);
124 
133 int gnc_unicode_compare_accented_case_sensitive(const char* one, const char* two);
141 int gnc_unicode_compare_identical(const char* one, const char* two);
142 #ifdef __cplusplus
143 }
144 #endif