From a9b0b03b20ec2cc443e2c319b6087dc2b57a1aab Mon Sep 17 00:00:00 2001 From: Kevin Day Date: Fri, 24 Jun 2022 00:23:16 -0500 Subject: [PATCH] Update: Finish f_utf unit tests for digits. This does not handle the alphabetic variation of the digit unit tests. There are still several other (non-digit) unit tests that I plan to get to. --- level_0/f_utf/c/private-utf_digit.c | 4574 +++++++++++++++++++++---- level_0/f_utf/c/private-utf_numeric.c | 4 +- level_0/f_utf/data/tests/values/digit-all.txt | 20 +- 3 files changed, 3975 insertions(+), 623 deletions(-) diff --git a/level_0/f_utf/c/private-utf_digit.c b/level_0/f_utf/c/private-utf_digit.c index e845a4f..70a759c 100644 --- a/level_0/f_utf/c/private-utf_digit.c +++ b/level_0/f_utf/c/private-utf_digit.c @@ -86,6 +86,126 @@ static inline f_status_t private_inline_f_utf_character_handle_digit_from_one(co return F_true; } +/** + * Inline helper function to reduce amount of code typed. + * + * Given the value, this will conditionally convert the range into an appropriate base-10 integer from 2 to 9. + * + * This does not handle non-decimal values (non-base-10). + * + * @param sequence + * The character sequence to process. + * @param start + * An inclusive start range. + * The base-10 stop range calculated from this. + * @param value + * The value to update, if non-NULL. + * + * @return + * F_true for valid digit in the requested range. + * F_false, otherwise. + */ +static inline f_status_t private_inline_f_utf_character_handle_digit_from_two(const f_utf_char_t sequence, const f_utf_char_t start, uint64_t * const value) { + + if (value) { + f_char_t ascii = 0x32; + + if (macro_f_utf_char_t_width(sequence) == 2) { + ascii += (f_char_t) macro_f_utf_char_t_to_char_2(sequence - start); + } + else if (macro_f_utf_char_t_width(sequence) == 3) { + ascii += (f_char_t) macro_f_utf_char_t_to_char_3(sequence - start); + } + else if (macro_f_utf_char_t_width(sequence) == 4) { + ascii += (f_char_t) macro_f_utf_char_t_to_char_4(sequence - start); + } + + return private_f_utf_character_is_digit_for_ascii(ascii, value); + } + + return F_true; +} + +/** + * Inline helper function to reduce amount of code typed. + * + * Given the value, this will conditionally convert the range into an appropriate base-10 integer from 3 to 9. + * + * This does not handle non-decimal values (non-base-10). + * + * @param sequence + * The character sequence to process. + * @param start + * An inclusive start range. + * The base-10 stop range calculated from this. + * @param value + * The value to update, if non-NULL. + * + * @return + * F_true for valid digit in the requested range. + * F_false, otherwise. + */ +static inline f_status_t private_inline_f_utf_character_handle_digit_from_three(const f_utf_char_t sequence, const f_utf_char_t start, uint64_t * const value) { + + if (value) { + f_char_t ascii = 0x33; + + if (macro_f_utf_char_t_width(sequence) == 2) { + ascii += (f_char_t) macro_f_utf_char_t_to_char_2(sequence - start); + } + else if (macro_f_utf_char_t_width(sequence) == 3) { + ascii += (f_char_t) macro_f_utf_char_t_to_char_3(sequence - start); + } + else if (macro_f_utf_char_t_width(sequence) == 4) { + ascii += (f_char_t) macro_f_utf_char_t_to_char_4(sequence - start); + } + + return private_f_utf_character_is_digit_for_ascii(ascii, value); + } + + return F_true; +} + +/** + * Inline helper function to reduce amount of code typed. + * + * Given the value, this will conditionally convert the range into an appropriate base-10 integer from 4 to 9. + * + * This does not handle non-decimal values (non-base-10). + * + * @param sequence + * The character sequence to process. + * @param start + * An inclusive start range. + * The base-10 stop range calculated from this. + * @param value + * The value to update, if non-NULL. + * + * @return + * F_true for valid digit in the requested range. + * F_false, otherwise. + */ +static inline f_status_t private_inline_f_utf_character_handle_digit_from_four(const f_utf_char_t sequence, const f_utf_char_t start, uint64_t * const value) { + + if (value) { + f_char_t ascii = 0x34; + + if (macro_f_utf_char_t_width(sequence) == 2) { + ascii += (f_char_t) macro_f_utf_char_t_to_char_2(sequence - start); + } + else if (macro_f_utf_char_t_width(sequence) == 3) { + ascii += (f_char_t) macro_f_utf_char_t_to_char_3(sequence - start); + } + else if (macro_f_utf_char_t_width(sequence) == 4) { + ascii += (f_char_t) macro_f_utf_char_t_to_char_4(sequence - start); + } + + return private_f_utf_character_is_digit_for_ascii(ascii, value); + } + + return F_true; +} + #if !defined(_di_f_utf_character_is_alphabetic_digit_) || !defined(_di_f_utf_is_alphabetic_digit_) || !defined(_di_f_utf_character_is_digit_) || !defined(_di_f_utf_is_digit_) f_status_t private_f_utf_character_is_digit(const f_utf_char_t sequence, uint64_t * const value) { @@ -1071,6 +1191,49 @@ static inline f_status_t private_inline_f_utf_character_handle_digit_from_one(co } else if (macro_f_utf_char_t_to_char_1(sequence) == 0xe3) { + // CJK Symbols and Punctuation: U+3007. + if (sequence == 0xe3808700) { + if (value) { + *value = 0; + } + + return F_true; + } + + // CJK Symbols and Punctuation: U+3021 to U+3029. + if (sequence >= 0xe380a100 && sequence <= 0xe380a900) { + return private_inline_f_utf_character_handle_digit_from_one(sequence, 0xe380a100, value); + } + + // CJK Symbols and Punctuation: U+3038 to U+303A. + if (sequence >= 0xe380b800 && sequence <= 0xe380ba00) { + + // CJK Symbols and Punctuation: U+3038. + if (sequence == 0xe380b800) { + if (value) { + *value = 10; + } + + return F_true; + } + + // CJK Symbols and Punctuation: U+3039. + if (sequence == 0xe380b900) { + if (value) { + *value = 20; + } + + return F_true; + } + + // CJK Symbols and Punctuation: U+303A. + if (value) { + *value = 30; + } + + return F_true; + } + // Kanbun: U+3192 to U+3195. if (sequence >= 0xe3869200 && sequence <= 0xe3869500) { return private_inline_f_utf_character_handle_digit_from_one(sequence, 0xe3869200, value); @@ -1465,6 +1628,27 @@ static inline f_status_t private_inline_f_utf_character_handle_digit_from_one(co return private_inline_f_utf_character_handle_digit(sequence, 0xea98a000, value); } + // Bamum: U+A6E6 to U+A6EF. + if (sequence >= 0xea9ba600 && sequence <= 0xea9baf00) { + + // Bamum: U+A6E6 to U+A6EE. + if (sequence <= 0xea9bae00) { + return private_inline_f_utf_character_handle_digit_from_one(sequence, 0xea9ba600, value); + } + + // Enclosed CJK Letters and Months: U+A6EF. + if (value) { + *value = 0; + } + + return F_true; + } + + // Common Indic Number Forms: U+A830 to U+A835. + if (sequence >= 0xeaa0b000 && sequence <= 0xeaa0b500) { + return F_true; + } + // Saurashtra: U+A8D0 to U+A8D9. if (sequence >= 0xeaa39000 && sequence <= 0xeaa39900) { return private_inline_f_utf_character_handle_digit(sequence, 0xeaa39000, value); @@ -1841,106 +2025,92 @@ static inline f_status_t private_inline_f_utf_character_handle_digit_from_one(co return F_true; } - // Ancient Greek Numbers: U+1018A. - if (sequence == 0xf090868a) { - if (value) { - *value = 0; - } - - return F_true; - } - - // Coptic Epact Numbers: U+102E1 to U+102FB. - if (sequence >= 0xf0908ba1 && sequence <= 0xf0908bbb) { - - // Coptic Epact Numbers: U+102E1 to U+102E9. - if (sequence <= 0xf0908ba9) { - return private_inline_f_utf_character_handle_digit_from_one(sequence, 0xf0908ba1, value); - } + // Ancient Greek Numbers: U+10142 to U+10174. + if (sequence >= 0xf0908582 && sequence <= 0xf09085b4) { - // Coptic Epact Numbers: U+102EA. - if (sequence == 0xf0908baa) { + // Ancient Greek Numbers: U+10142. + if (sequence == 0xf0908582) { if (value) { - *value = 10; + *value = 1; } return F_true; } - // Coptic Epact Numbers: U+102EB. - if (sequence == 0xf0908bab) { + // Ancient Greek Numbers: U+10143. + if (sequence == 0xf0908583) { if (value) { - *value = 20; + *value = 5; } return F_true; } - // Coptic Epact Numbers: U+102EC. - if (sequence == 0xf0908bac) { + // Ancient Greek Numbers: U+10144. + if (sequence == 0xf0908584) { if (value) { - *value = 30; + *value = 50; } return F_true; } - // Coptic Epact Numbers: U+102ED. - if (sequence == 0xf0908bad) { + // Ancient Greek Numbers: U+10145. + if (sequence == 0xf0908585) { if (value) { - *value = 40; + *value = 500; } return F_true; } - // Coptic Epact Numbers: U+102EE. - if (sequence == 0xf0908bae) { + // Ancient Greek Numbers: U+10146. + if (sequence == 0xf0908586) { if (value) { - *value = 50; + *value = 5000; } return F_true; } - // Coptic Epact Numbers: U+102EF. - if (sequence == 0xf0908baf) { + // Ancient Greek Numbers: U+10147. + if (sequence == 0xf0908587) { if (value) { - *value = 60; + *value = 50000; } return F_true; } - // Coptic Epact Numbers: U+102F0. - if (sequence == 0xf0908bb0) { + // Ancient Greek Numbers: U+10148. + if (sequence == 0xf0908588) { if (value) { - *value = 70; + *value = 5; } return F_true; } - // Coptic Epact Numbers: U+102F1. - if (sequence == 0xf0908bb1) { + // Ancient Greek Numbers: U+10149. + if (sequence == 0xf0908589) { if (value) { - *value = 80; + *value = 10; } return F_true; } - // Coptic Epact Numbers: U+102F2. - if (sequence == 0xf0908bb2) { + // Ancient Greek Numbers: U+1014A. + if (sequence == 0xf090858a) { if (value) { - *value = 90; + *value = 50; } return F_true; } - // Coptic Epact Numbers: U+102F3. - if (sequence == 0xf0908bb3) { + // Ancient Greek Numbers: U+1014B. + if (sequence == 0xf090858b) { if (value) { *value = 100; } @@ -1948,208 +2118,170 @@ static inline f_status_t private_inline_f_utf_character_handle_digit_from_one(co return F_true; } - // Coptic Epact Numbers: U+102F4. - if (sequence == 0xf0908bb4) { + // Ancient Greek Numbers: U+1014C. + if (sequence == 0xf090858c) { if (value) { - *value = 200; + *value = 500; } return F_true; } - // Coptic Epact Numbers: U+102F5. - if (sequence == 0xf0908bb5) { + // Ancient Greek Numbers: U+1014D. + if (sequence == 0xf090858d) { if (value) { - *value = 300; + *value = 1000; } return F_true; } - // Coptic Epact Numbers: U+102F6. - if (sequence == 0xf0908bb6) { + // Ancient Greek Numbers: U+1014E. + if (sequence == 0xf090858e) { if (value) { - *value = 400; + *value = 5000; } return F_true; } - // Coptic Epact Numbers: U+102F7. - if (sequence == 0xf0908bb7) { + // Ancient Greek Numbers: U+1014F. + if (sequence == 0xf090858f) { if (value) { - *value = 500; + *value = 5; } return F_true; } - // Coptic Epact Numbers: U+102F8. - if (sequence == 0xf0908bb8) { + // Ancient Greek Numbers: U+10150. + if (sequence == 0xf0908590) { if (value) { - *value = 600; + *value = 10; } return F_true; } - // Coptic Epact Numbers: U+102F9. - if (sequence == 0xf0908bb9) { + // Ancient Greek Numbers: U+10151. + if (sequence == 0xf0908591) { if (value) { - *value = 700; + *value = 50; } return F_true; } - // Coptic Epact Numbers: U+102FA. - if (sequence == 0xf0908bba) { + // Ancient Greek Numbers: U+10152. + if (sequence == 0xf0908592) { if (value) { - *value = 800; + *value = 100; } return F_true; } - // Coptic Epact Numbers: U+102FB. - if (value) { - *value = 900; - } - - return F_true; - } - - // Old Italic: U+10320 to U+10323. - if (sequence >= 0xf0908ca0 && sequence <= 0xf0908ca3) { - - // Old Italic: U+10320. - if (sequence == 0xf0908ca0) { + // Ancient Greek Numbers: U+10153. + if (sequence == 0xf0908593) { if (value) { - *value = 1; + *value = 500; } return F_true; } - // Old Italic: U+10321. - if (sequence == 0xf0908ca1) { + // Ancient Greek Numbers: U+10154. + if (sequence == 0xf0908594) { if (value) { - *value = 5; + *value = 1000; } return F_true; } - // Old Italic: U+10322. - if (sequence == 0xf0908ca2) { + // Ancient Greek Numbers: U+10155. + if (sequence == 0xf0908595) { if (value) { - *value = 10; + *value = 10000; } return F_true; } - // Old Italic: U+10323. - if (value) { - *value = 50; - } - - return F_true; - } - - // Osmanya: U+104A0 to U+104A9. - if (sequence >= 0xf09092a0 && sequence <= 0xf09092a9) { - return private_inline_f_utf_character_handle_digit(sequence, 0xf09092a0, value); - } - - // Imperial Aramaic: U+10858 to U+1085F. - if (sequence >= 0xf090a198 && sequence <= 0xf090a19f) { - - // Imperial Aramaic: U+10858. - if (sequence == 0xf090a198) { + // Ancient Greek Numbers: U+10156. + if (sequence == 0xf0908596) { if (value) { - *value = 1; + *value = 50000; } return F_true; } - // Imperial Aramaic: U+10859. - if (sequence == 0xf090a199) { + // Ancient Greek Numbers: U+10157. + if (sequence == 0xf0908597) { if (value) { - *value = 2; + *value = 10; } return F_true; } - // Imperial Aramaic: U+1085a. - if (sequence == 0xf090a19a) { + // Ancient Greek Numbers: U+10158. + if (sequence == 0xf0908598) { if (value) { - *value = 3; + *value = 1; } return F_true; } - // Imperial Aramaic: U+1085b. - if (sequence == 0xf090a19b) { + // Ancient Greek Numbers: U+10159. + if (sequence == 0xf0908599) { if (value) { - *value = 10; + *value = 1; } return F_true; } - // Imperial Aramaic: U+1085c. - if (sequence == 0xf090a19c) { + // Ancient Greek Numbers: U+1015A. + if (sequence == 0xf090859a) { if (value) { - *value = 20; + *value = 1; } return F_true; } - // Imperial Aramaic: U+1085d. - if (sequence == 0xf090a19d) { + // Ancient Greek Numbers: U+1015B. + if (sequence == 0xf090859b) { if (value) { - *value = 100; + *value = 2; } return F_true; } - // Imperial Aramaic: U+1085e. - if (sequence == 0xf090a19e) { + // Ancient Greek Numbers: U+1015C. + if (sequence == 0xf090859c) { if (value) { - *value = 1000; + *value = 2; } return F_true; } - // Imperial Aramaic: U+1085f. - if (value) { - *value = 10000; - } - - return F_true; - } - - // Palmyrene: U+10879 to U+1087F. - if (sequence >= 0xf090a1b9 && sequence <= 0xf090a1bf) { - - // Palmyrene: U+10879. - if (sequence == 0xf090a1b9) { + // Ancient Greek Numbers: U+1015D. + if (sequence == 0xf090859d) { if (value) { - *value = 1; + *value = 2; } return F_true; } - // Palmyrene: U+1087A. - if (sequence == 0xf090a1ba) { + // Ancient Greek Numbers: U+1015E. + if (sequence == 0xf090859e) { if (value) { *value = 2; } @@ -2157,35 +2289,35 @@ static inline f_status_t private_inline_f_utf_character_handle_digit_from_one(co return F_true; } - // Palmyrene: U+1087B. - if (sequence == 0xf090a1bb) { + // Ancient Greek Numbers: U+1015F. + if (sequence == 0xf090859f) { if (value) { - *value = 3; + *value = 5; } return F_true; } - // Palmyrene: U+1087C. - if (sequence == 0xf090a1bc) { + // Ancient Greek Numbers: U+10160. + if (sequence == 0xf09085a0) { if (value) { - *value = 4; + *value = 10; } return F_true; } - // Palmyrene: U+1087D. - if (sequence == 0xf090a1bd) { + // Ancient Greek Numbers: U+10161. + if (sequence == 0xf09085a1) { if (value) { - *value = 5; + *value = 10; } return F_true; } - // Palmyrene: U+1087E. - if (sequence == 0xf090a1be) { + // Ancient Greek Numbers: U+10162. + if (sequence == 0xf09085a2) { if (value) { *value = 10; } @@ -2193,212 +2325,197 @@ static inline f_status_t private_inline_f_utf_character_handle_digit_from_one(co return F_true; } - // Palmyrene: U+1087F. - if (value) { - *value = 20; - } - - return F_true; - } - - // Nabataean: U+108A7 to U+108AF. - if (sequence >= 0xf090a2a7 && sequence <= 0xf090a2af) { - - // Nabataean: U+108A7. - if (sequence == 0xf090a2a7) { + // Ancient Greek Numbers: U+10163. + if (sequence == 0xf09085a3) { if (value) { - *value = 1; + *value = 10; } return F_true; } - // Nabataean: U+108A8. - if (sequence == 0xf090a2a8) { + // Ancient Greek Numbers: U+10164. + if (sequence == 0xf09085a4) { if (value) { - *value = 2; + *value = 10; } return F_true; } - // Nabataean: U+108A9. - if (sequence == 0xf090a2a9) { + // Ancient Greek Numbers: U+10165. + if (sequence == 0xf09085a5) { if (value) { - *value = 3; + *value = 30; } return F_true; } - // Nabataean: U+108AA. - if (sequence == 0xf090a2aa) { + // Ancient Greek Numbers: U+10166. + if (sequence == 0xf09085a6) { if (value) { - *value = 4; + *value = 50; } return F_true; } - // Nabataean: U+108AB. - if (sequence == 0xf090a2ab) { + // Ancient Greek Numbers: U+10167. + if (sequence == 0xf09085a7) { if (value) { - *value = 4; + *value = 50; } return F_true; } - // Nabataean: U+108AC. - if (sequence == 0xf090a2ac) { + // Ancient Greek Numbers: U+10168. + if (sequence == 0xf09085a8) { if (value) { - *value = 5; + *value = 50; } return F_true; } - // Nabataean: U+108AD. - if (sequence == 0xf090a2ad) { + // Ancient Greek Numbers: U+10169. + if (sequence == 0xf09085a9) { if (value) { - *value = 10; + *value = 50; } return F_true; } - // Nabataean: U+108AE. - if (sequence == 0xf090a2ae) { + // Ancient Greek Numbers: U+10169. + if (sequence == 0xf09085a9) { if (value) { - *value = 20; + *value = 50; } return F_true; } - // Nabataean: U+108AF. - if (value) { - *value = 100; - } - - return F_true; - } + // Ancient Greek Numbers: U+1016A. + if (sequence == 0xf09085aa) { + if (value) { + *value = 100; + } - // Hatran: U+108FB to U+108FF. - if (sequence >= 0xf090a3bb && sequence <= 0xf090a3bf) { + return F_true; + } - // Hatran: U+108FB. - if (sequence == 0xf090a3bb) { + // Ancient Greek Numbers: U+1016B. + if (sequence == 0xf09085ab) { if (value) { - *value = 1; + *value = 300; } return F_true; } - // Hatran: U+108FC. - if (sequence == 0xf090a3bc) { + // Ancient Greek Numbers: U+1016C. + if (sequence == 0xf09085ac) { if (value) { - *value = 5; + *value = 500; } return F_true; } - // Hatran: U+108FD. - if (sequence == 0xf090a3bd) { + // Ancient Greek Numbers: U+1016D. + if (sequence == 0xf09085ad) { if (value) { - *value = 10; + *value = 500; } return F_true; } - // Hatran: U+108FE. - if (sequence == 0xf090a3be) { + // Ancient Greek Numbers: U+1016E. + if (sequence == 0xf09085ae) { if (value) { - *value = 20; + *value = 500; } return F_true; } - // Hatran: U+108FF. - if (sequence == 0xf090a3bf) { + // Ancient Greek Numbers: U+1016F. + if (sequence == 0xf09085af) { if (value) { - *value = 100; + *value = 500; } return F_true; } - } - - // Phoenician: U+10916 to U+1091B. - if (sequence >= 0xf090a496 && sequence <= 0xf090a49b) { - // Phoenician: U+10916. - if (sequence == 0xf090a496) { + // Ancient Greek Numbers: U+10170. + if (sequence == 0xf09085b0) { if (value) { - *value = 1; + *value = 500; } return F_true; } - // Phoenician: U+10917. - if (sequence == 0xf090a497) { + // Ancient Greek Numbers: U+10171. + if (sequence == 0xf09085b1) { if (value) { - *value = 10; + *value = 1000; } return F_true; } - // Phoenician: U+10918. - if (sequence == 0xf090a498) { + // Ancient Greek Numbers: U+10172. + if (sequence == 0xf09085b2) { if (value) { - *value = 20; + *value = 5000; } return F_true; } - // Phoenician: U+10919. - if (sequence == 0xf090a499) { + // Ancient Greek Numbers: U+10173. + if (sequence == 0xf09085b3) { if (value) { - *value = 100; + *value = 5; } return F_true; } - // Phoenician: U+1091A. - if (sequence == 0xf090a49a) { + // Ancient Greek Numbers: U+10174. + if (sequence == 0xf09085b4) { if (value) { - *value = 2; + *value = 50; } return F_true; } + } - // Phoenician: U+1091B. + // Ancient Greek Numbers: U+1018A. + if (sequence == 0xf090868a) { if (value) { - *value = 3; + *value = 0; } return F_true; } - // Meroitic Cursive: U+109C0 to U+109F5. - if (sequence >= 0xf090a780 && sequence <= 0xf090a7b5) { + // Coptic Epact Numbers: U+102E1 to U+102FB. + if (sequence >= 0xf0908ba1 && sequence <= 0xf0908bbb) { - // Meroitic Cursive: U+109C0 to U+109C8. - if (sequence <= 0xf090a788) { - return private_inline_f_utf_character_handle_digit_from_one(sequence, 0xf090a780, value); + // Coptic Epact Numbers: U+102E1 to U+102E9. + if (sequence <= 0xf0908ba9) { + return private_inline_f_utf_character_handle_digit_from_one(sequence, 0xf0908ba1, value); } - // Meroitic Cursive: U+109C9. - if (sequence == 0xf090a789) { + // Coptic Epact Numbers: U+102EA. + if (sequence == 0xf0908baa) { if (value) { *value = 10; } @@ -2406,8 +2523,8 @@ static inline f_status_t private_inline_f_utf_character_handle_digit_from_one(co return F_true; } - // Meroitic Cursive: U+109CA. - if (sequence == 0xf090a78a) { + // Coptic Epact Numbers: U+102EB. + if (sequence == 0xf0908bab) { if (value) { *value = 20; } @@ -2415,8 +2532,8 @@ static inline f_status_t private_inline_f_utf_character_handle_digit_from_one(co return F_true; } - // Meroitic Cursive: U+109CB. - if (sequence == 0xf090a78b) { + // Coptic Epact Numbers: U+102EC. + if (sequence == 0xf0908bac) { if (value) { *value = 30; } @@ -2424,8 +2541,8 @@ static inline f_status_t private_inline_f_utf_character_handle_digit_from_one(co return F_true; } - // Meroitic Cursive: U+109CC. - if (sequence == 0xf090a78c) { + // Coptic Epact Numbers: U+102ED. + if (sequence == 0xf0908bad) { if (value) { *value = 40; } @@ -2433,8 +2550,8 @@ static inline f_status_t private_inline_f_utf_character_handle_digit_from_one(co return F_true; } - // Meroitic Cursive: U+109CD. - if (sequence == 0xf090a78d) { + // Coptic Epact Numbers: U+102EE. + if (sequence == 0xf0908bae) { if (value) { *value = 50; } @@ -2442,8 +2559,8 @@ static inline f_status_t private_inline_f_utf_character_handle_digit_from_one(co return F_true; } - // Meroitic Cursive: U+109CE. - if (sequence == 0xf090a78e) { + // Coptic Epact Numbers: U+102EF. + if (sequence == 0xf0908baf) { if (value) { *value = 60; } @@ -2451,8 +2568,8 @@ static inline f_status_t private_inline_f_utf_character_handle_digit_from_one(co return F_true; } - // Meroitic Cursive: U+109CF. - if (sequence == 0xf090a78f) { + // Coptic Epact Numbers: U+102F0. + if (sequence == 0xf0908bb0) { if (value) { *value = 70; } @@ -2460,338 +2577,356 @@ static inline f_status_t private_inline_f_utf_character_handle_digit_from_one(co return F_true; } - // U+109D1 and U+109D2 are fractions. - - // Meroitic Cursive: U+109D2. - if (sequence == 0xf090a792) { + // Coptic Epact Numbers: U+102F1. + if (sequence == 0xf0908bb1) { if (value) { - *value = 100; + *value = 80; } return F_true; } - // Meroitic Cursive: U+109D3. - if (sequence == 0xf090a793) { + // Coptic Epact Numbers: U+102F2. + if (sequence == 0xf0908bb2) { if (value) { - *value = 200; + *value = 90; } return F_true; } - // Meroitic Cursive: U+109D4. - if (sequence == 0xf090a794) { + // Coptic Epact Numbers: U+102F3. + if (sequence == 0xf0908bb3) { if (value) { - *value = 300; + *value = 100; } return F_true; } - // Meroitic Cursive: U+109D5. - if (sequence == 0xf090a795) { + // Coptic Epact Numbers: U+102F4. + if (sequence == 0xf0908bb4) { if (value) { - *value = 400; + *value = 200; } return F_true; } - // Meroitic Cursive: U+109D6. - if (sequence == 0xf090a796) { + // Coptic Epact Numbers: U+102F5. + if (sequence == 0xf0908bb5) { if (value) { - *value = 500; + *value = 300; } return F_true; } - // Meroitic Cursive: U+109D7. - if (sequence == 0xf090a797) { + // Coptic Epact Numbers: U+102F6. + if (sequence == 0xf0908bb6) { if (value) { - *value = 600; + *value = 400; } return F_true; } - // Meroitic Cursive: U+109D8. - if (sequence == 0xf090a798) { + // Coptic Epact Numbers: U+102F7. + if (sequence == 0xf0908bb7) { if (value) { - *value = 700; + *value = 500; } return F_true; } - // Meroitic Cursive: U+109D9. - if (sequence == 0xf090a799) { + // Coptic Epact Numbers: U+102F8. + if (sequence == 0xf0908bb8) { if (value) { - *value = 800; + *value = 600; } return F_true; } - // Meroitic Cursive: U+109DA. - if (sequence == 0xf090a79a) { + // Coptic Epact Numbers: U+102F9. + if (sequence == 0xf0908bb9) { if (value) { - *value = 900; + *value = 700; } return F_true; } - // Meroitic Cursive: U+109DB. - if (sequence == 0xf090a79b) { + // Coptic Epact Numbers: U+102FA. + if (sequence == 0xf0908bba) { if (value) { - *value = 1000; + *value = 800; } return F_true; } - // Meroitic Cursive: U+109DC. - if (sequence == 0xf090a79c) { - if (value) { - *value = 2000; - } - - return F_true; + // Coptic Epact Numbers: U+102FB. + if (value) { + *value = 900; } - // Meroitic Cursive: U+109DD. - if (sequence == 0xf090a79d) { - if (value) { - *value = 3000; - } + return F_true; + } - return F_true; - } + // Old Italic: U+10320 to U+10323. + if (sequence >= 0xf0908ca0 && sequence <= 0xf0908ca3) { - // Meroitic Cursive: U+109DE. - if (sequence == 0xf090a79e) { + // Old Italic: U+10320. + if (sequence == 0xf0908ca0) { if (value) { - *value = 4000; + *value = 1; } return F_true; } - // Meroitic Cursive: U+109DF. - if (sequence == 0xf090a79f) { + // Old Italic: U+10321. + if (sequence == 0xf0908ca1) { if (value) { - *value = 5000; + *value = 5; } return F_true; } - // Meroitic Cursive: U+109E0. - if (sequence == 0xf090a7a0) { + // Old Italic: U+10322. + if (sequence == 0xf0908ca2) { if (value) { - *value = 6000; + *value = 10; } return F_true; } - // Meroitic Cursive: U+109E1. - if (sequence == 0xf090a7a1) { - if (value) { - *value = 7000; - } - - return F_true; + // Old Italic: U+10323. + if (value) { + *value = 50; } - // Meroitic Cursive: U+109E2. - if (sequence == 0xf090a7a2) { - if (value) { - *value = 8000; - } + return F_true; + } - return F_true; + // Gothic: U+10341. + if (sequence == 0xf0908d81) { + if (value) { + *value = 90; } - // Meroitic Cursive: U+109E3. - if (sequence == 0xf090a7a3) { - if (value) { - *value = 9000; - } + return F_true; + } - return F_true; + // Gothic: U+1034A. + if (sequence == 0xf0908d8a) { + if (value) { + *value = 900; } - // Meroitic Cursive: U+109E4. - if (sequence == 0xf090a7a4) { - if (value) { - *value = 10000; - } + return F_true; + } - return F_true; - } + // Old Persian: U+103D1 to U+103D5. + if (sequence >= 0xf0908f91 && sequence <= 0xf0908f95) { - // Meroitic Cursive: U+109E5. - if (sequence == 0xf090a7a5) { + // Old Persian: U+103D1. + if (sequence == 0xf0908f91) { if (value) { - *value = 20000; + *value = 1; } return F_true; } - // Meroitic Cursive: U+109E6. - if (sequence == 0xf090a7a6) { + // Old Persian: U+103D2. + if (sequence == 0xf0908f92) { if (value) { - *value = 30000; + *value = 2; } return F_true; } - // Meroitic Cursive: U+109E7. - if (sequence == 0xf090a7a7) { + // Old Persian: U+103D3. + if (sequence == 0xf0908f93) { if (value) { - *value = 40000; + *value = 10; } return F_true; } - // Meroitic Cursive: U+109E8. - if (sequence == 0xf090a7a8) { + // Old Persian: U+103D4. + if (sequence == 0xf0908f94) { if (value) { - *value = 50000; + *value = 20; } return F_true; } - // Meroitic Cursive: U+109E9. - if (sequence == 0xf090a7a9) { + // Old Persian: U+103D5. + if (value) { + *value = 100; + } + + return F_true; + } + + // Osmanya: U+104A0 to U+104A9. + if (sequence >= 0xf09092a0 && sequence <= 0xf09092a9) { + return private_inline_f_utf_character_handle_digit(sequence, 0xf09092a0, value); + } + + // Imperial Aramaic: U+10858 to U+1085F. + if (sequence >= 0xf090a198 && sequence <= 0xf090a19f) { + + // Imperial Aramaic: U+10858. + if (sequence == 0xf090a198) { if (value) { - *value = 60000; + *value = 1; } return F_true; } - // Meroitic Cursive: U+109EA. - if (sequence == 0xf090a7aa) { + // Imperial Aramaic: U+10859. + if (sequence == 0xf090a199) { if (value) { - *value = 70000; + *value = 2; } return F_true; } - // Meroitic Cursive: U+109EB. - if (sequence == 0xf090a7ab) { + // Imperial Aramaic: U+1085a. + if (sequence == 0xf090a19a) { if (value) { - *value = 80000; + *value = 3; } return F_true; } - // Meroitic Cursive: U+109EC. - if (sequence == 0xf090a7ac) { + // Imperial Aramaic: U+1085b. + if (sequence == 0xf090a19b) { if (value) { - *value = 90000; + *value = 10; } return F_true; } - // Meroitic Cursive: U+109ED. - if (sequence == 0xf090a7ad) { + // Imperial Aramaic: U+1085c. + if (sequence == 0xf090a19c) { if (value) { - *value = 100000; + *value = 20; } return F_true; } - // Meroitic Cursive: U+109EE. - if (sequence == 0xf090a7ae) { + // Imperial Aramaic: U+1085d. + if (sequence == 0xf090a19d) { if (value) { - *value = 200000; + *value = 100; } return F_true; } - // Meroitic Cursive: U+109EF. - if (sequence == 0xf090a7af) { + // Imperial Aramaic: U+1085e. + if (sequence == 0xf090a19e) { if (value) { - *value = 300000; + *value = 1000; } return F_true; } - // Meroitic Cursive: U+109F0. - if (sequence == 0xf090a7b0) { + // Imperial Aramaic: U+1085f. + if (value) { + *value = 10000; + } + + return F_true; + } + + // Palmyrene: U+10879 to U+1087F. + if (sequence >= 0xf090a1b9 && sequence <= 0xf090a1bf) { + + // Palmyrene: U+10879. + if (sequence == 0xf090a1b9) { if (value) { - *value = 400000; + *value = 1; } return F_true; } - // Meroitic Cursive: U+109F1. - if (sequence == 0xf090a7b1) { + // Palmyrene: U+1087A. + if (sequence == 0xf090a1ba) { if (value) { - *value = 500000; + *value = 2; } return F_true; } - // Meroitic Cursive: U+109F2. - if (sequence == 0xf090a7b2) { + // Palmyrene: U+1087B. + if (sequence == 0xf090a1bb) { if (value) { - *value = 600000; + *value = 3; } return F_true; } - // Meroitic Cursive: U+109F3. - if (sequence == 0xf090a7b3) { + // Palmyrene: U+1087C. + if (sequence == 0xf090a1bc) { if (value) { - *value = 700000; + *value = 4; } return F_true; } - // Meroitic Cursive: U+109F4. - if (sequence == 0xf090a7b4) { + // Palmyrene: U+1087D. + if (sequence == 0xf090a1bd) { if (value) { - *value = 800000; + *value = 5; } return F_true; } - // Meroitic Cursive: U+109F5. - if (sequence == 0xf090a7b5) { + // Palmyrene: U+1087E. + if (sequence == 0xf090a1be) { if (value) { - *value = 900000; + *value = 10; } return F_true; } + + // Palmyrene: U+1087F. + if (value) { + *value = 20; + } + + return F_true; } - // Kharoshthi: U+10A40 to U+10A47. - if (sequence >= 0xf090a980 && sequence <= 0xf090a987) { + // Nabataean: U+108A7 to U+108AF. + if (sequence >= 0xf090a2a7 && sequence <= 0xf090a2af) { - // Kharoshthi: U+10A40. - if (sequence == 0xf090a980) { + // Nabataean: U+108A7. + if (sequence == 0xf090a2a7) { if (value) { *value = 1; } @@ -2799,8 +2934,8 @@ static inline f_status_t private_inline_f_utf_character_handle_digit_from_one(co return F_true; } - // Kharoshthi: U+10A41. - if (sequence == 0xf090a981) { + // Nabataean: U+108A8. + if (sequence == 0xf090a2a8) { if (value) { *value = 2; } @@ -2808,8 +2943,8 @@ static inline f_status_t private_inline_f_utf_character_handle_digit_from_one(co return F_true; } - // Kharoshthi: U+10A42. - if (sequence == 0xf090a982) { + // Nabataean: U+108A9. + if (sequence == 0xf090a2a9) { if (value) { *value = 3; } @@ -2817,8 +2952,8 @@ static inline f_status_t private_inline_f_utf_character_handle_digit_from_one(co return F_true; } - // Kharoshthi: U+10A43. - if (sequence == 0xf090a983) { + // Nabataean: U+108AA. + if (sequence == 0xf090a2aa) { if (value) { *value = 4; } @@ -2826,75 +2961,73 @@ static inline f_status_t private_inline_f_utf_character_handle_digit_from_one(co return F_true; } - // Kharoshthi: U+10A44. - if (sequence == 0xf090a984) { + // Nabataean: U+108AB. + if (sequence == 0xf090a2ab) { if (value) { - *value = 10; + *value = 4; } return F_true; } - // Kharoshthi: U+10A45. - if (sequence == 0xf090a985) { + // Nabataean: U+108AC. + if (sequence == 0xf090a2ac) { if (value) { - *value = 20; + *value = 5; } return F_true; } - // Kharoshthi: U+10A46. - if (sequence == 0xf090a986) { + // Nabataean: U+108AD. + if (sequence == 0xf090a2ad) { if (value) { - *value = 100; + *value = 10; } return F_true; } - // Kharoshthi: U+10A47. - if (sequence == 0xf090a987) { + // Nabataean: U+108AE. + if (sequence == 0xf090a2ae) { if (value) { - *value = 1000; + *value = 20; } return F_true; } - } - // Old South Arabian: U+10A7D. - if (sequence == 0xf090a9bd) { + // Nabataean: U+108AF. if (value) { - *value = 1; + *value = 100; } return F_true; } - // Old South Arabian: U+10A7E. - if (sequence == 0xf090a9be) { - if (value) { - *value = 50; - } + // Hatran: U+108FB to U+108FF. + if (sequence >= 0xf090a3bb && sequence <= 0xf090a3bf) { - return F_true; - } + // Hatran: U+108FB. + if (sequence == 0xf090a3bb) { + if (value) { + *value = 1; + } - // Old North Arabian: U+10A9D to U+10A9F. - if (sequence >= 0xf090aa9d && sequence <= 0xf090aa9f) { + return F_true; + } - // Old North Arabian: U+10A9D. - if (sequence == 0xf090aa9d) { + // Hatran: U+108FC. + if (sequence == 0xf090a3bc) { if (value) { - *value = 1; + *value = 5; } return F_true; } - // Old North Arabian: U+10A9E. - if (sequence == 0xf090aa9e) { + // Hatran: U+108FD. + if (sequence == 0xf090a3bd) { if (value) { *value = 10; } @@ -2902,19 +3035,30 @@ static inline f_status_t private_inline_f_utf_character_handle_digit_from_one(co return F_true; } - // Old North Arabian: U+10A9F. - if (value) { - *value = 20; + // Hatran: U+108FE. + if (sequence == 0xf090a3be) { + if (value) { + *value = 20; + } + + return F_true; } - return F_true; + // Hatran: U+108FF. + if (sequence == 0xf090a3bf) { + if (value) { + *value = 100; + } + + return F_true; + } } - // Old North Arabian: U+10AEB to U+10AEF. - if (sequence >= 0xf090abab && sequence <= 0xf090abaf) { + // Phoenician: U+10916 to U+1091B. + if (sequence >= 0xf090a496 && sequence <= 0xf090a49b) { - // Old North Arabian: U+10AEB. - if (sequence == 0xf090abab) { + // Phoenician: U+10916. + if (sequence == 0xf090a496) { if (value) { *value = 1; } @@ -2922,336 +3066,3544 @@ static inline f_status_t private_inline_f_utf_character_handle_digit_from_one(co return F_true; } - // Old North Arabian: U+10AEC. - if (sequence == 0xf090abac) { + // Phoenician: U+10917. + if (sequence == 0xf090a497) { if (value) { - *value = 5; + *value = 10; } return F_true; } - // Old North Arabian: U+10AED. - if (sequence == 0xf090abad) { + // Phoenician: U+10918. + if (sequence == 0xf090a498) { if (value) { - *value = 10; + *value = 20; } return F_true; } - // Old North Arabian: U+10AEE. - if (sequence == 0xf090abae) { + // Phoenician: U+10919. + if (sequence == 0xf090a499) { if (value) { - *value = 20; + *value = 100; } return F_true; } - // Old North Arabian: U+10AEF. + // Phoenician: U+1091A. + if (sequence == 0xf090a49a) { + if (value) { + *value = 2; + } + + return F_true; + } + + // Phoenician: U+1091B. if (value) { - *value = 100; + *value = 3; } return F_true; } - // Inscriptional Parthian: U+10B58 to U+10B5F. - if (sequence >= 0xf090ad98 && sequence <= 0xf090ad9f) { + // Meroitic Cursive: U+109C0 to U+109F5. + if (sequence >= 0xf090a780 && sequence <= 0xf090a7b5) { - // Inscriptional Parthian: U+10B58. - if (sequence == 0xf090ad98) { + // Meroitic Cursive: U+109C0 to U+109C8. + if (sequence <= 0xf090a788) { + return private_inline_f_utf_character_handle_digit_from_one(sequence, 0xf090a780, value); + } + + // Meroitic Cursive: U+109C9. + if (sequence == 0xf090a789) { if (value) { - *value = 1; + *value = 10; } return F_true; } - // Inscriptional Parthian: U+10B59. - if (sequence == 0xf090ad99) { + // Meroitic Cursive: U+109CA. + if (sequence == 0xf090a78a) { if (value) { - *value = 2; + *value = 20; } return F_true; } - // Inscriptional Parthian: U+10B5A. - if (sequence == 0xf090ad9a) { + // Meroitic Cursive: U+109CB. + if (sequence == 0xf090a78b) { if (value) { - *value = 3; + *value = 30; } return F_true; } - // Inscriptional Parthian: U+10B5B. - if (sequence == 0xf090ad9b) { + // Meroitic Cursive: U+109CC. + if (sequence == 0xf090a78c) { if (value) { - *value = 4; + *value = 40; } return F_true; } - // Inscriptional Parthian: U+10B5C. - if (sequence == 0xf090ad9c) { + // Meroitic Cursive: U+109CD. + if (sequence == 0xf090a78d) { if (value) { - *value = 10; + *value = 50; } return F_true; } - // Inscriptional Parthian: U+10B5D. - if (sequence == 0xf090ad9d) { + // Meroitic Cursive: U+109CE. + if (sequence == 0xf090a78e) { if (value) { - *value = 20; + *value = 60; } return F_true; } - // Inscriptional Parthian: U+10B5E. - if (sequence == 0xf090ad9e) { + // Meroitic Cursive: U+109CF. + if (sequence == 0xf090a78f) { if (value) { - *value = 100; + *value = 70; } return F_true; } - // Inscriptional Parthian: U+10B5F. - if (value) { - *value = 1000; - } + // U+109D1 and U+109D2 are fractions. - return F_true; - } + // Meroitic Cursive: U+109D2. + if (sequence == 0xf090a792) { + if (value) { + *value = 100; + } - // Inscriptional Pahlavi: U+10B78 to U+10B7F. - if (sequence >= 0xf090adb8 && sequence <= 0xf090adbf) { + return F_true; + } - // Inscriptional Pahlavi: U+10B78. - if (sequence == 0xf090adb8) { + // Meroitic Cursive: U+109D3. + if (sequence == 0xf090a793) { if (value) { - *value = 1; + *value = 200; } return F_true; } - // Inscriptional Pahlavi: U+10B79. - if (sequence == 0xf090adb9) { + // Meroitic Cursive: U+109D4. + if (sequence == 0xf090a794) { if (value) { - *value = 2; + *value = 300; } return F_true; } - // Inscriptional Pahlavi: U+10B7A. - if (sequence == 0xf090adba) { + // Meroitic Cursive: U+109D5. + if (sequence == 0xf090a795) { if (value) { - *value = 3; + *value = 400; } return F_true; } - // Inscriptional Pahlavi: U+10B7B. - if (sequence == 0xf090adbb) { + // Meroitic Cursive: U+109D6. + if (sequence == 0xf090a796) { if (value) { - *value = 4; + *value = 500; } return F_true; } - // Inscriptional Pahlavi: U+10B7C. - if (sequence == 0xf090adbc) { + // Meroitic Cursive: U+109D7. + if (sequence == 0xf090a797) { if (value) { - *value = 10; + *value = 600; } return F_true; } - // Inscriptional Pahlavi: U+10B7D. - if (sequence == 0xf090adbd) { + // Meroitic Cursive: U+109D8. + if (sequence == 0xf090a798) { if (value) { - *value = 20; + *value = 700; } return F_true; } - // Inscriptional Pahlavi: U+10B7E. - if (sequence == 0xf090adbe) { + // Meroitic Cursive: U+109D9. + if (sequence == 0xf090a799) { if (value) { - *value = 100; + *value = 800; } return F_true; } - // Inscriptional Pahlavi: U+10B7F. - if (value) { - *value = 1000; + // Meroitic Cursive: U+109DA. + if (sequence == 0xf090a79a) { + if (value) { + *value = 900; + } + + return F_true; } - return F_true; - } + // Meroitic Cursive: U+109DB. + if (sequence == 0xf090a79b) { + if (value) { + *value = 1000; + } - // @todo U+10BA9 and so on.. + return F_true; + } - // Hanifi Rohingya: U+10D30 to U+10D39. - if (sequence >= 0xf090b4b0 && sequence <= 0xf090b4b9) { - return private_inline_f_utf_character_handle_digit(sequence, 0xf090b4b0, value); - } - } - else if (macro_f_utf_char_t_to_char_2(sequence) == 0x91) { + // Meroitic Cursive: U+109DC. + if (sequence == 0xf090a79c) { + if (value) { + *value = 2000; + } - // Brahmi: U+11066 to U+1106F. - if (sequence >= 0xf09181a6 && sequence <= 0xf09181af) { + return F_true; + } + + // Meroitic Cursive: U+109DD. + if (sequence == 0xf090a79d) { + if (value) { + *value = 3000; + } + + return F_true; + } + + // Meroitic Cursive: U+109DE. + if (sequence == 0xf090a79e) { + if (value) { + *value = 4000; + } + + return F_true; + } + + // Meroitic Cursive: U+109DF. + if (sequence == 0xf090a79f) { + if (value) { + *value = 5000; + } + + return F_true; + } + + // Meroitic Cursive: U+109E0. + if (sequence == 0xf090a7a0) { + if (value) { + *value = 6000; + } + + return F_true; + } + + // Meroitic Cursive: U+109E1. + if (sequence == 0xf090a7a1) { + if (value) { + *value = 7000; + } + + return F_true; + } + + // Meroitic Cursive: U+109E2. + if (sequence == 0xf090a7a2) { + if (value) { + *value = 8000; + } + + return F_true; + } + + // Meroitic Cursive: U+109E3. + if (sequence == 0xf090a7a3) { + if (value) { + *value = 9000; + } + + return F_true; + } + + // Meroitic Cursive: U+109E4. + if (sequence == 0xf090a7a4) { + if (value) { + *value = 10000; + } + + return F_true; + } + + // Meroitic Cursive: U+109E5. + if (sequence == 0xf090a7a5) { + if (value) { + *value = 20000; + } + + return F_true; + } + + // Meroitic Cursive: U+109E6. + if (sequence == 0xf090a7a6) { + if (value) { + *value = 30000; + } + + return F_true; + } + + // Meroitic Cursive: U+109E7. + if (sequence == 0xf090a7a7) { + if (value) { + *value = 40000; + } + + return F_true; + } + + // Meroitic Cursive: U+109E8. + if (sequence == 0xf090a7a8) { + if (value) { + *value = 50000; + } + + return F_true; + } + + // Meroitic Cursive: U+109E9. + if (sequence == 0xf090a7a9) { + if (value) { + *value = 60000; + } + + return F_true; + } + + // Meroitic Cursive: U+109EA. + if (sequence == 0xf090a7aa) { + if (value) { + *value = 70000; + } + + return F_true; + } + + // Meroitic Cursive: U+109EB. + if (sequence == 0xf090a7ab) { + if (value) { + *value = 80000; + } + + return F_true; + } + + // Meroitic Cursive: U+109EC. + if (sequence == 0xf090a7ac) { + if (value) { + *value = 90000; + } + + return F_true; + } + + // Meroitic Cursive: U+109ED. + if (sequence == 0xf090a7ad) { + if (value) { + *value = 100000; + } + + return F_true; + } + + // Meroitic Cursive: U+109EE. + if (sequence == 0xf090a7ae) { + if (value) { + *value = 200000; + } + + return F_true; + } + + // Meroitic Cursive: U+109EF. + if (sequence == 0xf090a7af) { + if (value) { + *value = 300000; + } + + return F_true; + } + + // Meroitic Cursive: U+109F0. + if (sequence == 0xf090a7b0) { + if (value) { + *value = 400000; + } + + return F_true; + } + + // Meroitic Cursive: U+109F1. + if (sequence == 0xf090a7b1) { + if (value) { + *value = 500000; + } + + return F_true; + } + + // Meroitic Cursive: U+109F2. + if (sequence == 0xf090a7b2) { + if (value) { + *value = 600000; + } + + return F_true; + } + + // Meroitic Cursive: U+109F3. + if (sequence == 0xf090a7b3) { + if (value) { + *value = 700000; + } + + return F_true; + } + + // Meroitic Cursive: U+109F4. + if (sequence == 0xf090a7b4) { + if (value) { + *value = 800000; + } + + return F_true; + } + + // Meroitic Cursive: U+109F5. + if (sequence == 0xf090a7b5) { + if (value) { + *value = 900000; + } + + return F_true; + } + } + + // Kharoshthi: U+10A40 to U+10A47. + if (sequence >= 0xf090a980 && sequence <= 0xf090a987) { + + // Kharoshthi: U+10A40. + if (sequence == 0xf090a980) { + if (value) { + *value = 1; + } + + return F_true; + } + + // Kharoshthi: U+10A41. + if (sequence == 0xf090a981) { + if (value) { + *value = 2; + } + + return F_true; + } + + // Kharoshthi: U+10A42. + if (sequence == 0xf090a982) { + if (value) { + *value = 3; + } + + return F_true; + } + + // Kharoshthi: U+10A43. + if (sequence == 0xf090a983) { + if (value) { + *value = 4; + } + + return F_true; + } + + // Kharoshthi: U+10A44. + if (sequence == 0xf090a984) { + if (value) { + *value = 10; + } + + return F_true; + } + + // Kharoshthi: U+10A45. + if (sequence == 0xf090a985) { + if (value) { + *value = 20; + } + + return F_true; + } + + // Kharoshthi: U+10A46. + if (sequence == 0xf090a986) { + if (value) { + *value = 100; + } + + return F_true; + } + + // Kharoshthi: U+10A47. + if (sequence == 0xf090a987) { + if (value) { + *value = 1000; + } + + return F_true; + } + } + + // Old South Arabian: U+10A7D. + if (sequence == 0xf090a9bd) { + if (value) { + *value = 1; + } + + return F_true; + } + + // Old South Arabian: U+10A7E. + if (sequence == 0xf090a9be) { + if (value) { + *value = 50; + } + + return F_true; + } + + // Old North Arabian: U+10A9D to U+10A9F. + if (sequence >= 0xf090aa9d && sequence <= 0xf090aa9f) { + + // Old North Arabian: U+10A9D. + if (sequence == 0xf090aa9d) { + if (value) { + *value = 1; + } + + return F_true; + } + + // Old North Arabian: U+10A9E. + if (sequence == 0xf090aa9e) { + if (value) { + *value = 10; + } + + return F_true; + } + + // Old North Arabian: U+10A9F. + if (value) { + *value = 20; + } + + return F_true; + } + + // Old North Arabian: U+10AEB to U+10AEF. + if (sequence >= 0xf090abab && sequence <= 0xf090abaf) { + + // Old North Arabian: U+10AEB. + if (sequence == 0xf090abab) { + if (value) { + *value = 1; + } + + return F_true; + } + + // Old North Arabian: U+10AEC. + if (sequence == 0xf090abac) { + if (value) { + *value = 5; + } + + return F_true; + } + + // Old North Arabian: U+10AED. + if (sequence == 0xf090abad) { + if (value) { + *value = 10; + } + + return F_true; + } + + // Old North Arabian: U+10AEE. + if (sequence == 0xf090abae) { + if (value) { + *value = 20; + } + + return F_true; + } + + // Old North Arabian: U+10AEF. + if (value) { + *value = 100; + } + + return F_true; + } + + // Inscriptional Parthian: U+10B58 to U+10B5F. + if (sequence >= 0xf090ad98 && sequence <= 0xf090ad9f) { + + // Inscriptional Parthian: U+10B58. + if (sequence == 0xf090ad98) { + if (value) { + *value = 1; + } + + return F_true; + } + + // Inscriptional Parthian: U+10B59. + if (sequence == 0xf090ad99) { + if (value) { + *value = 2; + } + + return F_true; + } + + // Inscriptional Parthian: U+10B5A. + if (sequence == 0xf090ad9a) { + if (value) { + *value = 3; + } + + return F_true; + } + + // Inscriptional Parthian: U+10B5B. + if (sequence == 0xf090ad9b) { + if (value) { + *value = 4; + } + + return F_true; + } + + // Inscriptional Parthian: U+10B5C. + if (sequence == 0xf090ad9c) { + if (value) { + *value = 10; + } + + return F_true; + } + + // Inscriptional Parthian: U+10B5D. + if (sequence == 0xf090ad9d) { + if (value) { + *value = 20; + } + + return F_true; + } + + // Inscriptional Parthian: U+10B5E. + if (sequence == 0xf090ad9e) { + if (value) { + *value = 100; + } + + return F_true; + } + + // Inscriptional Parthian: U+10B5F. + if (value) { + *value = 1000; + } + + return F_true; + } + + // Inscriptional Pahlavi: U+10B78 to U+10B7F. + if (sequence >= 0xf090adb8 && sequence <= 0xf090adbf) { + + // Inscriptional Pahlavi: U+10B78. + if (sequence == 0xf090adb8) { + if (value) { + *value = 1; + } + + return F_true; + } + + // Inscriptional Pahlavi: U+10B79. + if (sequence == 0xf090adb9) { + if (value) { + *value = 2; + } + + return F_true; + } + + // Inscriptional Pahlavi: U+10B7A. + if (sequence == 0xf090adba) { + if (value) { + *value = 3; + } + + return F_true; + } + + // Inscriptional Pahlavi: U+10B7B. + if (sequence == 0xf090adbb) { + if (value) { + *value = 4; + } + + return F_true; + } + + // Inscriptional Pahlavi: U+10B7C. + if (sequence == 0xf090adbc) { + if (value) { + *value = 10; + } + + return F_true; + } + + // Inscriptional Pahlavi: U+10B7D. + if (sequence == 0xf090adbd) { + if (value) { + *value = 20; + } + + return F_true; + } + + // Inscriptional Pahlavi: U+10B7E. + if (sequence == 0xf090adbe) { + if (value) { + *value = 100; + } + + return F_true; + } + + // Inscriptional Pahlavi: U+10B7F. + if (value) { + *value = 1000; + } + + return F_true; + } + + // Psalter Pahlavi: U+10BA9 to U+10BAF. + if (sequence >= 0xf090aea9 && sequence <= 0xf090aeaf) { + + // Psalter Pahlavi: U+10BA9. + if (sequence == 0xf090aea9) { + if (value) { + *value = 1; + } + + return F_true; + } + + // Psalter Pahlavi: U+10BAA. + if (sequence == 0xf090aeaa) { + if (value) { + *value = 2; + } + + return F_true; + } + + // Psalter Pahlavi: U+10BAB. + if (sequence == 0xf090aeab) { + if (value) { + *value = 3; + } + + return F_true; + } + + // Psalter Pahlavi: U+10BAC. + if (sequence == 0xf090aeac) { + if (value) { + *value = 4; + } + + return F_true; + } + + // Psalter Pahlavi: U+10BAD. + if (sequence == 0xf090aead) { + if (value) { + *value = 10; + } + + return F_true; + } + + // Psalter Pahlavi: U+10BAE. + if (sequence == 0xf090aeae) { + if (value) { + *value = 20; + } + + return F_true; + } + + // Psalter Pahlavi: U+10BAF. + if (value) { + *value = 100; + } + + return F_true; + } + + // Old Hungarian: U+10CFA to U+10CFF. + if (sequence >= 0xf090b3ba && sequence <= 0xf090b3bf) { + + // Old Hungarian: U+10CFA. + if (sequence == 0xf090b3ba) { + if (value) { + *value = 1; + } + + return F_true; + } + + // Old Hungarian: U+10CFB. + if (sequence == 0xf090b3bb) { + if (value) { + *value = 5; + } + + return F_true; + } + + // Old Hungarian: U+10CFC. + if (sequence == 0xf090b3bc) { + if (value) { + *value = 10; + } + + return F_true; + } + + // Old Hungarian: U+10CFD. + if (sequence == 0xf090b3bd) { + if (value) { + *value = 50; + } + + return F_true; + } + + // Old Hungarian: U+10CFE. + if (sequence == 0xf090b3be) { + if (value) { + *value = 100; + } + + return F_true; + } + + // Old Hungarian: U+10CFF. + if (value) { + *value = 1000; + } + + return F_true; + } + + // Rumi Numeral Symbols: U+10E60 to U+10E7A. + if (sequence >= 0xf090b9a0 && sequence <= 0xf090b9ba) { + + // Rumi Numeral Symbols: U+10E60 to U+10E68. + if (sequence <= 0xf090b9a8) { + return private_inline_f_utf_character_handle_digit_from_one(sequence, 0xf090b9a0, value); + } + + // Rumi Numeral Symbols: U+10E69. + if (sequence == 0xf090b9a9) { + if (value) { + *value = 10; + } + + return F_true; + } + + // Rumi Numeral Symbols: U+10E6A. + if (sequence == 0xf090b9aa) { + if (value) { + *value = 20; + } + + return F_true; + } + + // Rumi Numeral Symbols: U+10E6B. + if (sequence == 0xf090b9ab) { + if (value) { + *value = 30; + } + + return F_true; + } + + // Rumi Numeral Symbols: U+10E6C. + if (sequence == 0xf090b9ac) { + if (value) { + *value = 40; + } + + return F_true; + } + + // Rumi Numeral Symbols: U+10E6D. + if (sequence == 0xf090b9ad) { + if (value) { + *value = 50; + } + + return F_true; + } + + // Rumi Numeral Symbols: U+10E6E. + if (sequence == 0xf090b9ae) { + if (value) { + *value = 60; + } + + return F_true; + } + + // Rumi Numeral Symbols: U+10E6F. + if (sequence == 0xf090b9af) { + if (value) { + *value = 70; + } + + return F_true; + } + + // Rumi Numeral Symbols: U+10E70. + if (sequence == 0xf090b9b0) { + if (value) { + *value = 80; + } + + return F_true; + } + + // Rumi Numeral Symbols: U+10E71. + if (sequence == 0xf090b9b1) { + if (value) { + *value = 90; + } + + return F_true; + } + + // Rumi Numeral Symbols: U+10E72. + if (sequence == 0xf090b9b2) { + if (value) { + *value = 100; + } + + return F_true; + } + + // Rumi Numeral Symbols: U+10E73. + if (sequence == 0xf090b9b3) { + if (value) { + *value = 200; + } + + return F_true; + } + + // Rumi Numeral Symbols: U+10E74. + if (sequence == 0xf090b9b4) { + if (value) { + *value = 300; + } + + return F_true; + } + + // Rumi Numeral Symbols: U+10E75. + if (sequence == 0xf090b9b5) { + if (value) { + *value = 400; + } + + return F_true; + } + + // Rumi Numeral Symbols: U+10E76. + if (sequence == 0xf090b9b6) { + if (value) { + *value = 500; + } + + return F_true; + } + + // Rumi Numeral Symbols: U+10E77. + if (sequence == 0xf090b9b7) { + if (value) { + *value = 600; + } + + return F_true; + } + + // Rumi Numeral Symbols: U+10E78. + if (sequence == 0xf090b9b8) { + if (value) { + *value = 700; + } + + return F_true; + } + + // Rumi Numeral Symbols: U+10E79. + if (sequence == 0xf090b9b9) { + if (value) { + *value = 800; + } + + return F_true; + } + + // Rumi Numeral Symbols: U+10E7A. + if (value) { + *value = 900; + } + + return F_true; + } + + // Old Sogdian: U+10F1D to U+10F25. + if (sequence >= 0xf090bc9d && sequence <= 0xf090bca5) { + + // Old Sogdian: U+10F1D. + if (sequence == 0xf090bc9d) { + if (value) { + *value = 1; + } + + return F_true; + } + + // Old Sogdian: U+10F1E. + if (sequence == 0xf090bc9e) { + if (value) { + *value = 2; + } + + return F_true; + } + + // Old Sogdian: U+10F1F. + if (sequence == 0xf090bc9f) { + if (value) { + *value = 3; + } + + return F_true; + } + + // Old Sogdian: U+10F20. + if (sequence == 0xf090bca0) { + if (value) { + *value = 4; + } + + return F_true; + } + + // Old Sogdian: U+10F21. + if (sequence == 0xf090bca1) { + if (value) { + *value = 5; + } + + return F_true; + } + + // Old Sogdian: U+10F22. + if (sequence == 0xf090bca2) { + if (value) { + *value = 10; + } + + return F_true; + } + + // Old Sogdian: U+10F23. + if (sequence == 0xf090bca3) { + if (value) { + *value = 20; + } + + return F_true; + } + + // Old Sogdian: U+10F24. + if (sequence == 0xf090bca4) { + if (value) { + *value = 30; + } + + return F_true; + } + + // Old Sogdian: U+10F25. + if (value) { + *value = 100; + } + + return F_true; + } + + // Sogdian: U+10F51 to U+10F54. + if (sequence >= 0xf090bd91 && sequence <= 0xf090bd94) { + + // Sogdian: U+10F51. + if (sequence == 0xf090bd91) { + if (value) { + *value = 1; + } + + return F_true; + } + + // Sogdian: U+10F52. + if (sequence == 0xf090bd92) { + if (value) { + *value = 10; + } + + return F_true; + } + + // Sogdian: U+10F53. + if (sequence == 0xf090bd93) { + if (value) { + *value = 20; + } + + return F_true; + } + + // Sogdian: U+10F54. + if (value) { + *value = 100; + } + + return F_true; + } + + // Chorasmian Number: U+10FC5 to U+10FCB. + if (sequence >= 0xf090bf85 && sequence <= 0xf090bf8b) { + + // Chorasmian Number: U+10FC5. + if (sequence == 0xf090bf85) { + if (value) { + *value = 1; + } + + return F_true; + } + + // Chorasmian Number: U+10FC6. + if (sequence == 0xf090bf86) { + if (value) { + *value = 2; + } + + return F_true; + } + + // Chorasmian Number: U+10FC7. + if (sequence == 0xf090bf87) { + if (value) { + *value = 3; + } + + return F_true; + } + + // Chorasmian Number: U+10FC8. + if (sequence == 0xf090bf88) { + if (value) { + *value = 4; + } + + return F_true; + } + + // Chorasmian Number: U+10FC9. + if (sequence == 0xf090bf89) { + if (value) { + *value = 10; + } + + return F_true; + } + + // Chorasmian Number: U+10FCA. + if (sequence == 0xf090bf8a) { + if (value) { + *value = 20; + } + + return F_true; + } + + // Chorasmian Number: U+10FCA. + if (value) { + *value = 100; + } + + return F_true; + } + + // Hanifi Rohingya: U+10D30 to U+10D39. + if (sequence >= 0xf090b4b0 && sequence <= 0xf090b4b9) { + return private_inline_f_utf_character_handle_digit(sequence, 0xf090b4b0, value); + } + } + else if (macro_f_utf_char_t_to_char_2(sequence) == 0x91) { + + // Brahmi: U+11066 to U+1106F. + if (sequence >= 0xf09181a6 && sequence <= 0xf09181af) { return private_inline_f_utf_character_handle_digit(sequence, 0xf09181a6, value); } - // Sora Sompeng: U+110F0 to U+110F9. - if (sequence >= 0xf09183b0 && sequence <= 0xf09183b9) { - return private_inline_f_utf_character_handle_digit(sequence, 0xf09183b0, value); - } + // Sora Sompeng: U+110F0 to U+110F9. + if (sequence >= 0xf09183b0 && sequence <= 0xf09183b9) { + return private_inline_f_utf_character_handle_digit(sequence, 0xf09183b0, value); + } + + // Chakma: U+11136 to U+1113F. + if (sequence >= 0xf09184b6 && sequence <= 0xf09184bf) { + return private_inline_f_utf_character_handle_digit(sequence, 0xf09184b6, value); + } + + // Sharada: U+111D0 to U+111D9. + if (sequence >= 0xf0918790 && sequence <= 0xf0918799) { + return private_inline_f_utf_character_handle_digit(sequence, 0xf0918790, value); + } + + // Khudawadi: U+112F0 to U+112F9. + if (sequence >= 0xf0918bb0 && sequence <= 0xf0918bb9) { + return private_inline_f_utf_character_handle_digit(sequence, 0xf0918bb0, value); + } + + // Newa: U+11450 to U+11459. + if (sequence >= 0xf0919190 && sequence <= 0xf0919199) { + return private_inline_f_utf_character_handle_digit(sequence, 0xf0919190, value); + } + + // Tirhuta: U+114D0 to U+114D9. + if (sequence >= 0xf0919390 && sequence <= 0xf0919399) { + return private_inline_f_utf_character_handle_digit(sequence, 0xf0919390, value); + } + + // Modi: U+11650 to U+11659. + if (sequence >= 0xf0919990 && sequence <= 0xf0919999) { + return private_inline_f_utf_character_handle_digit(sequence, 0xf0919990, value); + } + + // Takri: U+116C0 to U+116C9. + if (sequence >= 0xf0919b80 && sequence <= 0xf0919b89) { + return private_inline_f_utf_character_handle_digit(sequence, 0xf0919b80, value); + } + + // Ahom: U+11730 to U+11739. + if (sequence >= 0xf0919cb0 && sequence <= 0xf0919cb9) { + return private_inline_f_utf_character_handle_digit(sequence, 0xf0919cb0, value); + } + + // Warang Citi: U+118E0 to U+118E9. + if (sequence >= 0xf091a3a0 && sequence <= 0xf091a3a9) { + return private_inline_f_utf_character_handle_digit(sequence, 0xf091a3a0, value); + } + + // Dives Akuru: U+11950 to U+11959. + if (sequence >= 0xf091a590 && sequence <= 0xf091a599) { + return private_inline_f_utf_character_handle_digit(sequence, 0xf091a590, value); + } + + // Bhaiksuki: U+11C50 to U+11C59. + if (sequence >= 0xf091b190 && sequence <= 0xf091b199) { + return private_inline_f_utf_character_handle_digit(sequence, 0xf091b190, value); + } + + // Bhaiksuki: U+11C5A to U+11C6C. + if (sequence >= 0xf091b19a && sequence <= 0xf091b1ac) { + + // Bhaiksuki: U+11C5A to U+11C62. + if (sequence <= 0xf091b1a2) { + return private_inline_f_utf_character_handle_digit_from_one(sequence, 0xf091b19a, value); + } + + // Bhaiksuki: U+11C63. + if (sequence == 0xf091b1a3) { + if (value) { + *value = 10; + } + + return F_true; + } + + // Bhaiksuki: U+11C64. + if (sequence == 0xf091b1a4) { + if (value) { + *value = 20; + } + + return F_true; + } + + // Bhaiksuki: U+11C65. + if (sequence == 0xf091b1a5) { + if (value) { + *value = 30; + } + + return F_true; + } + + // Bhaiksuki: U+11C66. + if (sequence == 0xf091b1a6) { + if (value) { + *value = 40; + } + + return F_true; + } + + // Bhaiksuki: U+11C67. + if (sequence == 0xf091b1a7) { + if (value) { + *value = 50; + } + + return F_true; + } + + // Bhaiksuki: U+11C68. + if (sequence == 0xf091b1a8) { + if (value) { + *value = 60; + } + + return F_true; + } + + // Bhaiksuki: U+11C69. + if (sequence == 0xf091b1a9) { + if (value) { + *value = 70; + } + + return F_true; + } + + // Bhaiksuki: U+11C6A. + if (sequence == 0xf091b1aa) { + if (value) { + *value = 80; + } + + return F_true; + } + + // Bhaiksuki: U+11C6B. + if (sequence == 0xf091b1ab) { + if (value) { + *value = 90; + } + + return F_true; + } + + // Bhaiksuki: U+11C6C. + if (value) { + *value = 100; + } + + return F_true; + } + + // Masaram Gondi: U+11D50 to U+11D59. + if (sequence >= 0xf091b590 && sequence <= 0xf091b599) { + return private_inline_f_utf_character_handle_digit(sequence, 0xf091b590, value); + } + + // Gunjala Gondi: U+11DA0 to U+11DA9. + if (sequence >= 0xf091b6a0 && sequence <= 0xf091b6a9) { + return private_inline_f_utf_character_handle_digit(sequence, 0xf091b6a0, value); + } + + // Brahmi: U+11052 to U+11065. + if (sequence >= 0xf0918192 && sequence <= 0xf09181a5) { + + // Brahmi: U+11052 to U+1105A. + if (sequence <= 0xf091819a) { + return private_inline_f_utf_character_handle_digit_from_one(sequence, 0xf0918192, value); + } + + // Brahmi: U+1105B. + if (sequence == 0xf091819b) { + if (value) { + *value = 10; + } + + return F_true; + } + + // Brahmi: U+1105C. + if (sequence == 0xf091819c) { + if (value) { + *value = 20; + } + + return F_true; + } + + // Brahmi: U+1105D. + if (sequence == 0xf091819d) { + if (value) { + *value = 30; + } + + return F_true; + } + + // Brahmi: U+1105E. + if (sequence == 0xf091819e) { + if (value) { + *value = 40; + } + + return F_true; + } + + // Brahmi: U+1105F. + if (sequence == 0xf091819f) { + if (value) { + *value = 50; + } + + return F_true; + } + + // Brahmi: U+11060. + if (sequence == 0xf09181a0) { + if (value) { + *value = 60; + } + + return F_true; + } + + // Brahmi: U+11061. + if (sequence == 0xf09181a1) { + if (value) { + *value = 70; + } + + return F_true; + } + + // Brahmi: U+11062. + if (sequence == 0xf09181a2) { + if (value) { + *value = 80; + } + + return F_true; + } + + // Brahmi: U+11063. + if (sequence == 0xf09181a3) { + if (value) { + *value = 90; + } + + return F_true; + } + + // Brahmi: U+11064. + if (sequence == 0xf09181a4) { + if (value) { + *value = 100; + } + + return F_true; + } + + // Brahmi: U+11065. + if (value) { + *value = 1000; + } + + return F_true; + } + + // Sinhala Archaic Numbers: U+111E1 to U+111F4. + if (sequence >= 0xf09187a1 && sequence <= 0xf09187b4) { + + // Sinhala Archaic Numbers: U+111E1 to U+111E9. + if (sequence <= 0xf09187a9) { + return private_inline_f_utf_character_handle_digit_from_one(sequence, 0xf09187a1, value); + } + + // Sinhala Archaic Numbers: U+111EA. + if (sequence == 0xf09187aa) { + if (value) { + *value = 10; + } + + return F_true; + } + + // Sinhala Archaic Numbers: U+111EB. + if (sequence == 0xf09187ab) { + if (value) { + *value = 20; + } + + return F_true; + } + + // Sinhala Archaic Numbers: U+111EC. + if (sequence == 0xf09187ac) { + if (value) { + *value = 30; + } + + return F_true; + } + + // Sinhala Archaic Numbers: U+111ED. + if (sequence == 0xf09187ad) { + if (value) { + *value = 40; + } + + return F_true; + } + + // Sinhala Archaic Numbers: U+111EE. + if (sequence == 0xf09187ae) { + if (value) { + *value = 50; + } + + return F_true; + } + + // Sinhala Archaic Numbers: U+111EF. + if (sequence == 0xf09187af) { + if (value) { + *value = 60; + } + + return F_true; + } + + // Sinhala Archaic Numbers: U+111F0. + if (sequence == 0xf09187b0) { + if (value) { + *value = 70; + } + + return F_true; + } + + // Sinhala Archaic Numbers: U+111F1. + if (sequence == 0xf09187b1) { + if (value) { + *value = 80; + } + + return F_true; + } + + // Sinhala Archaic Numbers: U+111F2. + if (sequence == 0xf09187b2) { + if (value) { + *value = 90; + } + + return F_true; + } + + // Sinhala Archaic Numbers: U+111F3. + if (sequence == 0xf09187b3) { + if (value) { + *value = 100; + } + + return F_true; + } + + // Sinhala Archaic Numbers: U+111F4. + if (value) { + *value = 1000; + } + + return F_true; + } + + // Ahom: U+1173A. + if (sequence == 0xf0919cba) { + if (value) { + *value = 10; + } + + return F_true; + } + + // Ahom: U+1173B. + if (sequence == 0xf0919cbb) { + if (value) { + *value = 20; + } + + return F_true; + } + + // Warang Citi: U+118EA to U+118F2. + if (sequence >= 0xf091a3aa && sequence <= 0xf091a3b2) { + + // Warang Citi: U+118EA. + if (sequence == 0xf091a3aa) { + if (value) { + *value = 10; + } + + return F_true; + } + + // Warang Citi: U+118EB. + if (sequence == 0xf091a3ab) { + if (value) { + *value = 20; + } + + return F_true; + } + + // Warang Citi: U+118EC. + if (sequence == 0xf091a3ac) { + if (value) { + *value = 30; + } + + return F_true; + } + + // Warang Citi: U+118ED. + if (sequence == 0xf091a3ad) { + if (value) { + *value = 40; + } + + return F_true; + } + + // Warang Citi: U+118EE. + if (sequence == 0xf091a3ae) { + if (value) { + *value = 50; + } + + return F_true; + } + + // Warang Citi: U+118EF. + if (sequence == 0xf091a3af) { + if (value) { + *value = 60; + } + + return F_true; + } + + // Warang Citi: U+118F0. + if (sequence == 0xf091a3b0) { + if (value) { + *value = 70; + } + + return F_true; + } + + // Warang Citi: U+118F1. + if (sequence == 0xf091a3b1) { + if (value) { + *value = 80; + } + + return F_true; + } + + // Warang Citi: U+118F2. + if (value) { + *value = 90; + } + + return F_true; + } + } + else if (macro_f_utf_char_t_to_char_2(sequence) == 0x92) { + + // Cuneiform Numbers and Punctuation: U+12400 to U+1246E. + if (sequence >= 0xf0929080 && sequence <= 0xf09291ae) { + + // Cuneiform Numbers and Punctuation: U+12400 to U+12407. + if (sequence <= 0xf0929087) { + return private_inline_f_utf_character_handle_digit_from_two(sequence, 0xf0929080, value); + } + + // Cuneiform Numbers and Punctuation: U+12408 to U+1240E. + if (sequence <= 0xf092908e) { + return private_inline_f_utf_character_handle_digit_from_three(sequence, 0xf0929088, value); + } + + // Cuneiform Numbers and Punctuation: U+1240F to U+12414. + if (sequence <= 0xf0929094) { + return private_inline_f_utf_character_handle_digit_from_four(sequence, 0xf092908f, value); + } + + // Cuneiform Numbers and Punctuation: U+12415 to U+1241D. + if (sequence <= 0xf092909d) { + return private_inline_f_utf_character_handle_digit_from_one(sequence, 0xf0929095, value); + } + + // Cuneiform Numbers and Punctuation: U+1241E to U+12422. + if (sequence <= 0xf09290a2) { + return private_inline_f_utf_character_handle_digit_from_one(sequence, 0xf092909e, value); + } + + // Cuneiform Numbers and Punctuation: U+12423. + if (sequence == 0xf09290a3) { + if (value) { + *value = 2; + } + + return F_true; + } + + // Cuneiform Numbers and Punctuation: U+12424, U+12425. + if (sequence == 0xf09290a4 || sequence == 0xf09290a5) { + if (value) { + *value = 3; + } + + return F_true; + } + + // Cuneiform Numbers and Punctuation: U+12426 to U+1242B. + if (sequence <= 0xf09290ab) { + return private_inline_f_utf_character_handle_digit_from_four(sequence, 0xf09290a6, value); + } + + // Cuneiform Numbers and Punctuation: U+1242C to U+1242E. + if (sequence <= 0xf09290ae) { + return private_inline_f_utf_character_handle_digit_from_one(sequence, 0xf09290ac, value); + } + + // Cuneiform Numbers and Punctuation: U+1242F to U+12431. + if (sequence <= 0xf09290b1) { + return private_inline_f_utf_character_handle_digit_from_three(sequence, 0xf09290af, value); + } + + // Cuneiform Numbers and Punctuation: U+12432. + if (sequence == 0xf09290b2) { + if (value) { + *value = 216000; + } + + return F_true; + } + + // Cuneiform Numbers and Punctuation: U+12433. + if (sequence == 0xf09290b3) { + if (value) { + *value = 432000; + } + + return F_true; + } + + // Cuneiform Numbers and Punctuation: U+12434. + if (sequence == 0xf09290b4) { + if (value) { + *value = 1; + } + + return F_true; + } + + // Cuneiform Numbers and Punctuation: U+12435. + if (sequence == 0xf09290b5) { + if (value) { + *value = 2; + } + + return F_true; + } + + // Cuneiform Numbers and Punctuation: U+12436. + if (sequence == 0xf09290b6) { + if (value) { + *value = 3; + } + + return F_true; + } + + // Cuneiform Numbers and Punctuation: U+12437. + if (sequence == 0xf09290b7) { + if (value) { + *value = 3; + } + + return F_true; + } + + // Cuneiform Numbers and Punctuation: U+12438. + if (sequence == 0xf09290b8) { + if (value) { + *value = 4; + } + + return F_true; + } + + // Cuneiform Numbers and Punctuation: U+12439. + if (sequence == 0xf09290b9) { + if (value) { + *value = 5; + } + + return F_true; + } + + // Cuneiform Numbers and Punctuation: U+1243A. + if (sequence == 0xf09290ba) { + if (value) { + *value = 3; + } + + return F_true; + } + + // Cuneiform Numbers and Punctuation: U+1243B. + if (sequence == 0xf09290bb) { + if (value) { + *value = 3; + } + + return F_true; + } + + // Cuneiform Numbers and Punctuation: U+1243C. + if (sequence == 0xf09290bc) { + if (value) { + *value = 4; + } + + return F_true; + } + + // Cuneiform Numbers and Punctuation: U+1243D. + if (sequence == 0xf09290bd) { + if (value) { + *value = 4; + } + + return F_true; + } + + // Cuneiform Numbers and Punctuation: U+1243E. + if (sequence == 0xf09290be) { + if (value) { + *value = 4; + } + + return F_true; + } + + // Cuneiform Numbers and Punctuation: U+1243F. + if (sequence == 0xf09290bf) { + if (value) { + *value = 4; + } + + return F_true; + } + + // Cuneiform Numbers and Punctuation: U+12440. + if (sequence == 0xf0929180) { + if (value) { + *value = 6; + } + + return F_true; + } + + // Cuneiform Numbers and Punctuation: U+12441. + if (sequence == 0xf0929181) { + if (value) { + *value = 7; + } + + return F_true; + } + + // Cuneiform Numbers and Punctuation: U+12442. + if (sequence == 0xf0929182) { + if (value) { + *value = 7; + } + + return F_true; + } + + // Cuneiform Numbers and Punctuation: U+12443. + if (sequence == 0xf0929183) { + if (value) { + *value = 7; + } + + return F_true; + } + + // Cuneiform Numbers and Punctuation: U+12444. + if (sequence == 0xf0929184) { + if (value) { + *value = 8; + } + + return F_true; + } + + // Cuneiform Numbers and Punctuation: U+12445. + if (sequence == 0xf0929185) { + if (value) { + *value = 8; + } + + return F_true; + } + + // Cuneiform Numbers and Punctuation: U+12446. + if (sequence == 0xf0929186) { + if (value) { + *value = 9; + } + + return F_true; + } + + // Cuneiform Numbers and Punctuation: U+12447. + if (sequence == 0xf0929187) { + if (value) { + *value = 9; + } + + return F_true; + } + + // Cuneiform Numbers and Punctuation: U+12448. + if (sequence == 0xf0929188) { + if (value) { + *value = 9; + } + + return F_true; + } + + // Cuneiform Numbers and Punctuation: U+12449. + if (sequence == 0xf0929189) { + if (value) { + *value = 9; + } + + return F_true; + } + + // Cuneiform Numbers and Punctuation: U+1244A. + if (sequence == 0xf092918a) { + if (value) { + *value = 2; + } + + return F_true; + } + + // Cuneiform Numbers and Punctuation: U+1244B. + if (sequence == 0xf092918b) { + if (value) { + *value = 3; + } + + return F_true; + } + + // Cuneiform Numbers and Punctuation: U+1244C. + if (sequence == 0xf092918c) { + if (value) { + *value = 4; + } + + return F_true; + } + + // Cuneiform Numbers and Punctuation: U+1244D. + if (sequence == 0xf092918d) { + if (value) { + *value = 5; + } + + return F_true; + } + + // Cuneiform Numbers and Punctuation: U+1244E. + if (sequence == 0xf092918e) { + if (value) { + *value = 6; + } + + return F_true; + } + + // Cuneiform Numbers and Punctuation: U+1244F. + if (sequence == 0xf092918f) { + if (value) { + *value = 1; + } + + return F_true; + } + + // Cuneiform Numbers and Punctuation: U+12450. + if (sequence == 0xf0929190) { + if (value) { + *value = 2; + } + + return F_true; + } + + // Cuneiform Numbers and Punctuation: U+12451. + if (sequence == 0xf0929191) { + if (value) { + *value = 3; + } + + return F_true; + } + + // Cuneiform Numbers and Punctuation: U+12452. + if (sequence == 0xf0929192) { + if (value) { + *value = 4; + } + + return F_true; + } + + // Cuneiform Numbers and Punctuation: U+12453. + if (sequence == 0xf0929193) { + if (value) { + *value = 4; + } + + return F_true; + } + + // Cuneiform Numbers and Punctuation: U+12454. + if (sequence == 0xf0929194) { + if (value) { + *value = 5; + } + + return F_true; + } + + // Cuneiform Numbers and Punctuation: U+12455. + if (sequence == 0xf0929195) { + if (value) { + *value = 5; + } + + return F_true; + } + + // Cuneiform Numbers and Punctuation: U+12456. + if (sequence == 0xf0929196) { + if (value) { + *value = 2; + } + + return F_true; + } + + // Cuneiform Numbers and Punctuation: U+12457. + if (sequence == 0xf0929197) { + if (value) { + *value = 3; + } + + return F_true; + } + + // Cuneiform Numbers and Punctuation: U+12458. + if (sequence == 0xf0929198) { + if (value) { + *value = 1; + } + + return F_true; + } + + // Cuneiform Numbers and Punctuation: U+12459. + if (sequence == 0xf0929199) { + if (value) { + *value = 2; + } + + return F_true; + } + + // Cuneiform Numbers and Punctuation: U+12467. + if (sequence == 0xf09291a7) { + if (value) { + *value = 40; + } + + return F_true; + } + + // Cuneiform Numbers and Punctuation: U+12468. + if (sequence == 0xf09291a8) { + if (value) { + *value = 50; + } + + return F_true; + } + + // Cuneiform Numbers and Punctuation: U+12469. + if (sequence == 0xf09291a9) { + if (value) { + *value = 4; + } + + return F_true; + } + + // Cuneiform Numbers and Punctuation: U+1246A. + if (sequence == 0xf09291aa) { + if (value) { + *value = 5; + } + + return F_true; + } + + // Cuneiform Numbers and Punctuation: U+1246B. + if (sequence == 0xf09291ab) { + if (value) { + *value = 6; + } + + return F_true; + } + + // Cuneiform Numbers and Punctuation: U+1246C. + if (sequence == 0xf09291ac) { + if (value) { + *value = 7; + } + + return F_true; + } + + // Cuneiform Numbers and Punctuation: U+1246D. + if (sequence == 0xf09291ad) { + if (value) { + *value = 8; + } + + return F_true; + } + + // Cuneiform Numbers and Punctuation: U+1246E. + if (sequence == 0xf09291ae) { + if (value) { + *value = 9; + } + + return F_true; + } + } + } + else if (macro_f_utf_char_t_to_char_2(sequence) == 0x96) { + + // Mro: U+16A60 to U+16A69. + if (sequence >= 0xf096a9a0 && sequence <= 0xf096a9a9) { + return private_inline_f_utf_character_handle_digit(sequence, 0xf096a9a0, value); + } + + // Tangsa: U+16AC0 to U+16AC9. + if (sequence >= 0xf096ab80 && sequence <= 0xf096ab89) { + return private_inline_f_utf_character_handle_digit(sequence, 0xf096ab80, value); + } + + // Pahawh Hmong: U+16B50 to U+16B59. + if (sequence >= 0xf096ad90 && sequence <= 0xf096ad99) { + return private_inline_f_utf_character_handle_digit(sequence, 0xf096ad90, value); + } + + // Pahawh Hmong: U+16B5B to U+16B61. + if (sequence >= 0xf096ad9b && sequence <= 0xf096ada1) { + + // Pahawh Hmong: U+16B5B. + if (sequence == 0xf096ad9b) { + if (value) { + *value = 10; + } + + return F_true; + } + + // Pahawh Hmong: U+16B5C. + if (sequence == 0xf096ad9c) { + if (value) { + *value = 100; + } + + return F_true; + } + + // Pahawh Hmong: U+16B5D. + if (sequence == 0xf096ad9d) { + if (value) { + *value = 10000; + } + + return F_true; + } + + // Pahawh Hmong: U+16B5E. + if (sequence == 0xf096ad9e) { + if (value) { + *value = 1000000; + } + + return F_true; + } + + // Pahawh Hmong: U+16B5F. + if (sequence == 0xf096ad9f) { + if (value) { + *value = 100000000; + } + + return F_true; + } + + // Pahawh Hmong: U+16B60. + if (sequence == 0xf096ada0) { + if (value) { + *value = 10000000000; + } + + return F_true; + } + + // Pahawh Hmong: U+16B61. + if (value) { + *value = 1000000000000; + } + + return F_true; + } + + // Medefaidrin: U+16E80 to U+16E96. + if (sequence >= 0xf096ba80 && sequence <= 0xf096ba96) { + + // Medefaidrin: U+16E80 to U+16E89. + if (sequence <= 0xf096ba89) { + return private_inline_f_utf_character_handle_digit(sequence, 0xf096ba80, value); + } + + // Medefaidrin: U+16E8A. + if (sequence == 0xf096ba8a) { + if (value) { + *value = 10; + } + + return F_true; + } + + // Medefaidrin: U+16E8B. + if (sequence == 0xf096ba8b) { + if (value) { + *value = 11; + } + + return F_true; + } + + // Medefaidrin: U+16E8C. + if (sequence == 0xf096ba8c) { + if (value) { + *value = 12; + } + + return F_true; + } + + // Medefaidrin: U+16E8D. + if (sequence == 0xf096ba8d) { + if (value) { + *value = 13; + } + + return F_true; + } + + // Medefaidrin: U+16E8E. + if (sequence == 0xf096ba8e) { + if (value) { + *value = 14; + } + + return F_true; + } + + // Medefaidrin: U+16E8F. + if (sequence == 0xf096ba8f) { + if (value) { + *value = 15; + } + + return F_true; + } + + // Medefaidrin: U+16E90. + if (sequence == 0xf096ba90) { + if (value) { + *value = 16; + } + + return F_true; + } + + // Medefaidrin: U+16E91. + if (sequence == 0xf096ba91) { + if (value) { + *value = 17; + } + + return F_true; + } + + // Medefaidrin: U+16E92. + if (sequence == 0xf096ba92) { + if (value) { + *value = 18; + } + + return F_true; + } + + // Medefaidrin: U+16E93. + if (sequence == 0xf096ba93) { + if (value) { + *value = 19; + } + + return F_true; + } + + // Medefaidrin: U+16E94 to U+16E96. + return private_inline_f_utf_character_handle_digit_from_one(sequence, 0xf096ba94, value); + } + } + else if (macro_f_utf_char_t_to_char_2(sequence) == 0x9d) { + + // Mayan Numerals: U+1D2E0 to U+1D2F3. + if (sequence >= 0xf09d8ba0 && sequence <= 0xf09d8bb3) { + + // Mayan Numerals: U+1D2E0 to U+1D2E9. + if (sequence <= 0xf09d8ba9) { + return private_inline_f_utf_character_handle_digit(sequence, 0xf09d8ba0, value); + } + + // Mayan Numerals: U+1D2EA. + if (sequence == 0xf09d8baa) { + if (value) { + *value = 10; + } + + return F_true; + } + + // Mayan Numerals: U+1D2EB. + if (sequence == 0xf09d8bab) { + if (value) { + *value = 11; + } + + return F_true; + } + + // Mayan Numerals: U+1D2EC. + if (sequence == 0xf09d8bac) { + if (value) { + *value = 12; + } + + return F_true; + } + + // Mayan Numerals: U+1D2ED. + if (sequence == 0xf09d8bad) { + if (value) { + *value = 13; + } + + return F_true; + } + + // Mayan Numerals: U+1D2EE. + if (sequence == 0xf09d8bae) { + if (value) { + *value = 14; + } + + return F_true; + } + + // Mayan Numerals: U+1D2EF. + if (sequence == 0xf09d8baf) { + if (value) { + *value = 15; + } + + return F_true; + } + + // Mayan Numerals: U+1D2F0. + if (sequence == 0xf09d8bb0) { + if (value) { + *value = 16; + } + + return F_true; + } + + // Mayan Numerals: U+1D2F1. + if (sequence == 0xf09d8bb1) { + if (value) { + *value = 17; + } + + return F_true; + } + + // Mayan Numerals: U+1D2F2. + if (sequence == 0xf09d8bb2) { + if (value) { + *value = 18; + } + + return F_true; + } + + // Mayan Numerals: U+1D2F3. + if (value) { + *value = 19; + } + + return F_true; + } + + // Counting Rod Numerals: U+1D360 to U+1D378. + if (sequence >= 0xf09d8da0 && sequence <= 0xf09d8db8) { + + // Counting Rod Numerals: U+1D360 to U+1D368. + if (sequence <= 0xf09d8da8) { + return private_inline_f_utf_character_handle_digit_from_one(sequence, 0xf09d8da0, value); + } + + // Counting Rod Numerals: U+1D369. + if (sequence == 0xf09d8da9) { + if (value) { + *value = 10; + } + + return F_true; + } + + // Counting Rod Numerals: U+1D36A. + if (sequence == 0xf09d8daa) { + if (value) { + *value = 20; + } + + return F_true; + } + + // Counting Rod Numerals: U+1D36B. + if (sequence == 0xf09d8dab) { + if (value) { + *value = 30; + } + + return F_true; + } + + // Counting Rod Numerals: U+1D36C. + if (sequence == 0xf09d8dac) { + if (value) { + *value = 40; + } + + return F_true; + } + + // Counting Rod Numerals: U+1D36D. + if (sequence == 0xf09d8dad) { + if (value) { + *value = 50; + } + + return F_true; + } + + // Counting Rod Numerals: U+1D36E. + if (sequence == 0xf09d8dae) { + if (value) { + *value = 60; + } + + return F_true; + } + + // Counting Rod Numerals: U+1D36F. + if (sequence == 0xf09d8daf) { + if (value) { + *value = 70; + } + + return F_true; + } + + // Counting Rod Numerals: U+1D370. + if (sequence == 0xf09d8db0) { + if (value) { + *value = 80; + } + + return F_true; + } + + // Counting Rod Numerals: U+1D371. + if (sequence == 0xf09d8db1) { + if (value) { + *value = 90; + } + + return F_true; + } + + // Counting Rod Numerals: U+1D372. + if (sequence == 0xf09d8db2) { + if (value) { + *value = 1; + } + + return F_true; + } + + // Counting Rod Numerals: U+1D373. + if (sequence == 0xf09d8db3) { + if (value) { + *value = 2; + } + + return F_true; + } + + // Counting Rod Numerals: U+1D374. + if (sequence == 0xf09d8db4) { + if (value) { + *value = 3; + } + + return F_true; + } + + // Counting Rod Numerals: U+1D375. + if (sequence == 0xf09d8db5) { + if (value) { + *value = 4; + } + + return F_true; + } + + // Counting Rod Numerals: U+1D376. + if (sequence == 0xf09d8db6) { + if (value) { + *value = 5; + } + + return F_true; + } + + // Counting Rod Numerals: U+1D377. + if (sequence == 0xf09d8db7) { + if (value) { + *value = 1; + } + + return F_true; + } + + // Counting Rod Numerals: U+1D378. + if (value) { + *value = 5; + } + + return F_true; + } + + // Mathematical Alphanumeric (Bold) Symbols: U+1D7CE to U+1D7D7. + if (sequence >= 0xf09d9f8e && sequence <= 0xf09d9f97) { + return private_inline_f_utf_character_handle_digit(sequence, 0xf09d9f8e, value); + } + + // Mathematical Alphanumeric (Double-Struck) Symbols: U+1D7D8 to U+1D7E1. + if (sequence >= 0xf09d9f98 && sequence <= 0xf09d9fa1) { + return private_inline_f_utf_character_handle_digit(sequence, 0xf09d9f98, value); + } + + // Mathematical Alphanumeric (Sans-Serif) Symbols: U+1D7E2 to U+1D7EB. + if (sequence >= 0xf09d9fa2 && sequence <= 0xf09d9fab) { + return private_inline_f_utf_character_handle_digit(sequence, 0xf09d9fa2, value); + } + + // Mathematical Alphanumeric (Sans-Serif Bold) Symbols: U+1D7EC to U+1D7F5. + if (sequence >= 0xf09d9fac && sequence <= 0xf09d9fb5) { + return private_inline_f_utf_character_handle_digit(sequence, 0xf09d9fac, value); + } + + // Mathematical Alphanumeric (Monospace) Symbols: U+1D7F6 to U+1D7FF. + if (sequence >= 0xf09d9fb6 && sequence <= 0xf09d9fbf) { + return private_inline_f_utf_character_handle_digit(sequence, 0xf09d9fb6, value); + } + } + else if (macro_f_utf_char_t_to_char_2(sequence) == 0x9e) { + + // Mende Kikakui: U+1E8C7 to U+1E8CF. + if (sequence >= 0xf09ea387 && sequence <= 0xf09ea38f) { + return private_inline_f_utf_character_handle_digit_from_one(sequence, 0xf09ea387, value); + } + + // Indic Siyaq Numbers: U+1EC71 to U+1ECB4. + if (sequence >= 0xf09eb1b1 && sequence <= 0xf09eb2b4) { + + // Indic Siyaq Numbers: U+1EC71 to U+1EC79. + if (sequence <= 0xf09eb1b9) { + return private_inline_f_utf_character_handle_digit_from_one(sequence, 0xf09eb1b1, value); + } + + // Indic Siyaq Numbers: U+1EC7A. + if (sequence == 0xf09eb1ba) { + if (value) { + *value = 10; + } + + return F_true; + } + + // Indic Siyaq Numbers: U+1EC7B. + if (sequence == 0xf09eb1bb) { + if (value) { + *value = 20; + } + + return F_true; + } + + // Indic Siyaq Numbers: U+1EC7C. + if (sequence == 0xf09eb1bc) { + if (value) { + *value = 30; + } + + return F_true; + } + + // Indic Siyaq Numbers: U+1EC7D. + if (sequence == 0xf09eb1bd) { + if (value) { + *value = 40; + } + + return F_true; + } + + // Indic Siyaq Numbers: U+1EC7E. + if (sequence == 0xf09eb1be) { + if (value) { + *value = 50; + } + + return F_true; + } + + // Indic Siyaq Numbers: U+1EC7F. + if (sequence == 0xf09eb1bf) { + if (value) { + *value = 60; + } + + return F_true; + } + + // Indic Siyaq Numbers: U+1EC80. + if (sequence == 0xf09eb280) { + if (value) { + *value = 70; + } + + return F_true; + } + + // Indic Siyaq Numbers: U+1EC81. + if (sequence == 0xf09eb281) { + if (value) { + *value = 80; + } + + return F_true; + } + + // Indic Siyaq Numbers: U+1EC82. + if (sequence == 0xf09eb282) { + if (value) { + *value = 90; + } + + return F_true; + } + + // Indic Siyaq Numbers: U+1EC83. + if (sequence == 0xf09eb283) { + if (value) { + *value = 100; + } + + return F_true; + } + + // Indic Siyaq Numbers: U+1EC84. + if (sequence == 0xf09eb284) { + if (value) { + *value = 200; + } + + return F_true; + } + + // Indic Siyaq Numbers: U+1EC85. + if (sequence == 0xf09eb285) { + if (value) { + *value = 300; + } + + return F_true; + } + + // Indic Siyaq Numbers: U+1EC86. + if (sequence == 0xf09eb286) { + if (value) { + *value = 400; + } + + return F_true; + } + + // Indic Siyaq Numbers: U+1EC87. + if (sequence == 0xf09eb287) { + if (value) { + *value = 500; + } + + return F_true; + } + + // Indic Siyaq Numbers: U+1EC88. + if (sequence == 0xf09eb288) { + if (value) { + *value = 600; + } + + return F_true; + } + + // Indic Siyaq Numbers: U+1EC89. + if (sequence == 0xf09eb289) { + if (value) { + *value = 700; + } + + return F_true; + } + + // Indic Siyaq Numbers: U+1EC8A. + if (sequence == 0xf09eb28a) { + if (value) { + *value = 800; + } + + return F_true; + } + + // Indic Siyaq Numbers: U+1EC8B. + if (sequence == 0xf09eb28b) { + if (value) { + *value = 900; + } + + return F_true; + } + + // Indic Siyaq Numbers: U+1EC8C. + if (sequence == 0xf09eb28c) { + if (value) { + *value = 1000; + } + + return F_true; + } + + // Indic Siyaq Numbers: U+1EC8D. + if (sequence == 0xf09eb28d) { + if (value) { + *value = 2000; + } + + return F_true; + } + + // Indic Siyaq Numbers: U+1EC8E. + if (sequence == 0xf09eb28e) { + if (value) { + *value = 3000; + } + + return F_true; + } + + // Indic Siyaq Numbers: U+1EC8F. + if (sequence == 0xf09eb28f) { + if (value) { + *value = 4000; + } + + return F_true; + } + + // Indic Siyaq Numbers: U+1EC90. + if (sequence == 0xf09eb290) { + if (value) { + *value = 5000; + } + + return F_true; + } + + // Indic Siyaq Numbers: U+1EC91. + if (sequence == 0xf09eb291) { + if (value) { + *value = 6000; + } + + return F_true; + } + + // Indic Siyaq Numbers: U+1EC92. + if (sequence == 0xf09eb292) { + if (value) { + *value = 7000; + } + + return F_true; + } + + // Indic Siyaq Numbers: U+1EC93. + if (sequence == 0xf09eb293) { + if (value) { + *value = 8000; + } + + return F_true; + } + + // Indic Siyaq Numbers: U+1EC94. + if (sequence == 0xf09eb294) { + if (value) { + *value = 9000; + } + + return F_true; + } + + // Indic Siyaq Numbers: U+1EC95. + if (sequence == 0xf09eb295) { + if (value) { + *value = 10000; + } + + return F_true; + } + + // Indic Siyaq Numbers: U+1EC96. + if (sequence == 0xf09eb296) { + if (value) { + *value = 20000; + } + + return F_true; + } + + // Indic Siyaq Numbers: U+1EC97. + if (sequence == 0xf09eb297) { + if (value) { + *value = 30000; + } + + return F_true; + } + + // Indic Siyaq Numbers: U+1EC98. + if (sequence == 0xf09eb298) { + if (value) { + *value = 40000; + } + + return F_true; + } + + // Indic Siyaq Numbers: U+1EC99. + if (sequence == 0xf09eb299) { + if (value) { + *value = 50000; + } + + return F_true; + } + + // Indic Siyaq Numbers: U+1EC9A. + if (sequence == 0xf09eb29a) { + if (value) { + *value = 60000; + } + + return F_true; + } + + // Indic Siyaq Numbers: U+1EC9B. + if (sequence == 0xf09eb29b) { + if (value) { + *value = 70000; + } + + return F_true; + } + + // Indic Siyaq Numbers: U+1EC9C. + if (sequence == 0xf09eb29c) { + if (value) { + *value = 80000; + } + + return F_true; + } + + // Indic Siyaq Numbers: U+1EC9D. + if (sequence == 0xf09eb29d) { + if (value) { + *value = 90000; + } + + return F_true; + } + + // Indic Siyaq Numbers: U+1EC9E. + if (sequence == 0xf09eb29e) { + if (value) { + *value = 100000; + } + + return F_true; + } + + // Indic Siyaq Numbers: U+1EC9F. + if (sequence == 0xf09eb29f) { + if (value) { + *value = 200000; + } + + return F_true; + } + + // Indic Siyaq Numbers: U+1ECA0. + if (sequence == 0xf09eb2a0) { + if (value) { + *value = 100000; + } + + return F_true; + } + + // Indic Siyaq Numbers: U+1ECA1. + if (sequence == 0xf09eb2a1) { + if (value) { + *value = 10000000; + } + + return F_true; + } + + // Indic Siyaq Numbers: U+1ECA2. + if (sequence == 0xf09eb2a2) { + if (value) { + *value = 20000000; + } + + return F_true; + } + + // Indic Siyaq Numbers: U+1ECA3 to U+1ECAB. + if (sequence <= 0xf09eb2ab) { + return private_inline_f_utf_character_handle_digit_from_one(sequence, 0xf09eb2a3, value); + } + + // These are not whole numbers: U+1ECAC, U+1ECAD, U+1ECAE, U+1ECAF, and U+1ECB0. + + // Indic Siyaq Numbers: U+1ECB1. + if (sequence == 0xf09eb2b1) { + if (value) { + *value = 1; + } + + return F_true; + } + + // Indic Siyaq Numbers: U+1ECB2. + if (sequence == 0xf09eb2b2) { + if (value) { + *value = 2; + } + + return F_true; + } + + // Indic Siyaq Numbers: U+1ECB3. + if (sequence == 0xf09eb2b3) { + if (value) { + *value = 10000; + } + + return F_true; + } + + // Indic Siyaq Numbers: U+1ECB4. + if (sequence == 0xf09eb2b4) { + if (value) { + *value = 100000; + } + + return F_true; + } + } + + // Nyiakeng Puachue Hmong: U+1E140 to U+1E149. + if (sequence >= 0xf09e8580 && sequence <= 0xf09e8589) { + return private_inline_f_utf_character_handle_digit(sequence, 0xf09e8580, value); + } + + // Wancho: U+1E2F0 to U+1E2F9. + if (sequence >= 0xf09e8bb0 && sequence <= 0xf09e8bb9) { + return private_inline_f_utf_character_handle_digit(sequence, 0xf09e8bb0, value); + } + + // Adlam: U+1E950 to U+1E959. + if (sequence >= 0xf09ea590 && sequence <= 0xf09ea599) { + return private_inline_f_utf_character_handle_digit(sequence, 0xf09ea590, value); + } + + // Ottoman Siyaq Numbers: U+1ED01 to U+1ED3B. + if (sequence >= 0xf09eb481 && sequence <= 0xf09eb4bb) { + + // Ottoman Siyaq Numbers: U+1ED01 to U+1ED09. + if (sequence <= 0xf09eb489) { + return private_inline_f_utf_character_handle_digit_from_one(sequence, 0xf09eb481, value); + } + + // Ottoman Siyaq Numbers: U+1ED0A. + if (sequence == 0xf09eb48a) { + if (value) { + *value = 10; + } + + return F_true; + } + + // Ottoman Siyaq Numbers: U+1ED0B. + if (sequence == 0xf09eb48b) { + if (value) { + *value = 20; + } + + return F_true; + } + + // Ottoman Siyaq Numbers: U+1ED0C. + if (sequence == 0xf09eb48c) { + if (value) { + *value = 30; + } + + return F_true; + } + + // Ottoman Siyaq Numbers: U+1ED0D. + if (sequence == 0xf09eb48d) { + if (value) { + *value = 40; + } + + return F_true; + } + + // Ottoman Siyaq Numbers: U+1ED0E. + if (sequence == 0xf09eb48e) { + if (value) { + *value = 50; + } + + return F_true; + } + + // Ottoman Siyaq Numbers: U+1ED0F. + if (sequence == 0xf09eb48f) { + if (value) { + *value = 60; + } + + return F_true; + } + + // Ottoman Siyaq Numbers: U+1ED10. + if (sequence == 0xf09eb490) { + if (value) { + *value = 70; + } + + return F_true; + } + + // Ottoman Siyaq Numbers: U+1ED11. + if (sequence == 0xf09eb491) { + if (value) { + *value = 80; + } + + return F_true; + } + + // Ottoman Siyaq Numbers: U+1ED12. + if (sequence == 0xf09eb492) { + if (value) { + *value = 90; + } + + return F_true; + } + + // Ottoman Siyaq Numbers: U+1ED13. + if (sequence == 0xf09eb493) { + if (value) { + *value = 100; + } + + return F_true; + } + + // Ottoman Siyaq Numbers: U+1ED14. + if (sequence == 0xf09eb494) { + if (value) { + *value = 200; + } + + return F_true; + } + + // Ottoman Siyaq Numbers: U+1ED15. + if (sequence == 0xf09eb495) { + if (value) { + *value = 300; + } + + return F_true; + } + + // Ottoman Siyaq Numbers: U+1ED16. + if (sequence == 0xf09eb496) { + if (value) { + *value = 400; + } + + return F_true; + } + + // Ottoman Siyaq Numbers: U+1ED17. + if (sequence == 0xf09eb497) { + if (value) { + *value = 500; + } + + return F_true; + } + + // Ottoman Siyaq Numbers: U+1ED18. + if (sequence == 0xf09eb498) { + if (value) { + *value = 600; + } + + return F_true; + } + + // Ottoman Siyaq Numbers: U+1ED19. + if (sequence == 0xf09eb499) { + if (value) { + *value = 700; + } + + return F_true; + } + + // Ottoman Siyaq Numbers: U+1ED1A. + if (sequence == 0xf09eb49a) { + if (value) { + *value = 800; + } + + return F_true; + } + + // Ottoman Siyaq Numbers: U+1ED1B. + if (sequence == 0xf09eb49b) { + if (value) { + *value = 900; + } + + return F_true; + } + + // Ottoman Siyaq Numbers: U+1ED1C. + if (sequence == 0xf09eb49c) { + if (value) { + *value = 1000; + } + + return F_true; + } + + // Ottoman Siyaq Numbers: U+1ED1D. + if (sequence == 0xf09eb49d) { + if (value) { + *value = 2000; + } - // Chakma: U+11136 to U+1113F. - if (sequence >= 0xf09184b6 && sequence <= 0xf09184bf) { - return private_inline_f_utf_character_handle_digit(sequence, 0xf09184b6, value); - } + return F_true; + } - // Sharada: U+111D0 to U+111D9. - if (sequence >= 0xf0918790 && sequence <= 0xf0918799) { - return private_inline_f_utf_character_handle_digit(sequence, 0xf0918790, value); - } + // Ottoman Siyaq Numbers: U+1ED1E. + if (sequence == 0xf09eb49e) { + if (value) { + *value = 3000; + } - // Khudawadi: U+112F0 to U+112F9. - if (sequence >= 0xf0918bb0 && sequence <= 0xf0918bb9) { - return private_inline_f_utf_character_handle_digit(sequence, 0xf0918bb0, value); - } + return F_true; + } - // Newa: U+11450 to U+11459. - if (sequence >= 0xf0919190 && sequence <= 0xf0919199) { - return private_inline_f_utf_character_handle_digit(sequence, 0xf0919190, value); - } + // Ottoman Siyaq Numbers: U+1ED1F. + if (sequence == 0xf09eb49f) { + if (value) { + *value = 4000; + } - // Tirhuta: U+114D0 to U+114D9. - if (sequence >= 0xf0919390 && sequence <= 0xf0919399) { - return private_inline_f_utf_character_handle_digit(sequence, 0xf0919390, value); - } + return F_true; + } - // Modi: U+11650 to U+11659. - if (sequence >= 0xf0919990 && sequence <= 0xf0919999) { - return private_inline_f_utf_character_handle_digit(sequence, 0xf0919990, value); - } + // Ottoman Siyaq Numbers: U+1ED20. + if (sequence == 0xf09eb4a0) { + if (value) { + *value = 5000; + } - // Takri: U+116C0 to U+116C9. - if (sequence >= 0xf0919b80 && sequence <= 0xf0919b89) { - return private_inline_f_utf_character_handle_digit(sequence, 0xf0919b80, value); - } + return F_true; + } - // Ahom: U+11730 to U+11739. - if (sequence >= 0xf0919cb0 && sequence <= 0xf0919cb9) { - return private_inline_f_utf_character_handle_digit(sequence, 0xf0919cb0, value); - } + // Ottoman Siyaq Numbers: U+1ED21. + if (sequence == 0xf09eb4a1) { + if (value) { + *value = 6000; + } - // Warang Citi: U+118E0 to U+118E9. - if (sequence >= 0xf091a3a0 && sequence <= 0xf091a3a9) { - return private_inline_f_utf_character_handle_digit(sequence, 0xf091a3a0, value); - } + return F_true; + } - // Dives Akuru: U+11950 to U+11959. - if (sequence >= 0xf091a590 && sequence <= 0xf091a599) { - return private_inline_f_utf_character_handle_digit(sequence, 0xf091a590, value); - } + // Ottoman Siyaq Numbers: U+1ED22. + if (sequence == 0xf09eb4a2) { + if (value) { + *value = 7000; + } - // Bhaiksuki: U+11C50 to U+11C59. - if (sequence >= 0xf091b190 && sequence <= 0xf091b199) { - return private_inline_f_utf_character_handle_digit(sequence, 0xf091b190, value); - } + return F_true; + } - // Masaram Gondi: U+11D50 to U+11D59. - if (sequence >= 0xf091b590 && sequence <= 0xf091b599) { - return private_inline_f_utf_character_handle_digit(sequence, 0xf091b590, value); - } + // Ottoman Siyaq Numbers: U+1ED23. + if (sequence == 0xf09eb4a3) { + if (value) { + *value = 8000; + } - // Gunjala Gondi: U+11DA0 to U+11DA9. - if (sequence >= 0xf091b6a0 && sequence <= 0xf091b6a9) { - return private_inline_f_utf_character_handle_digit(sequence, 0xf091b6a0, value); - } - } - else if (macro_f_utf_char_t_to_char_2(sequence) == 0x96) { + return F_true; + } - // Mro: U+16A60 to U+16A69. - if (sequence >= 0xf096a9a0 && sequence <= 0xf096a9a9) { - return private_inline_f_utf_character_handle_digit(sequence, 0xf096a9a0, value); - } + // Ottoman Siyaq Numbers: U+1ED24. + if (sequence == 0xf09eb4a4) { + if (value) { + *value = 9000; + } - // Tangsa: U+16AC0 to U+16AC9. - if (sequence >= 0xf096ab80 && sequence <= 0xf096ab89) { - return private_inline_f_utf_character_handle_digit(sequence, 0xf096ab80, value); - } + return F_true; + } - // Pahawh Hmong: U+16B50 to U+16B59. - if (sequence >= 0xf096ad90 && sequence <= 0xf096ad99) { - return private_inline_f_utf_character_handle_digit(sequence, 0xf096ad90, value); - } - } - else if (macro_f_utf_char_t_to_char_2(sequence) == 0x9d) { + // Ottoman Siyaq Numbers: U+1ED25. + if (sequence == 0xf09eb4a5) { + if (value) { + *value = 10000; + } - // Mathematical Alphanumeric (Bold) Symbols: U+1D7CE to U+1D7D7. - if (sequence >= 0xf09d9f8e && sequence <= 0xf09d9f97) { - return private_inline_f_utf_character_handle_digit(sequence, 0xf09d9f8e, value); - } + return F_true; + } - // Mathematical Alphanumeric (Double-Struck) Symbols: U+1D7D8 to U+1D7E1. - if (sequence >= 0xf09d9f98 && sequence <= 0xf09d9fa1) { - return private_inline_f_utf_character_handle_digit(sequence, 0xf09d9f98, value); - } + // Ottoman Siyaq Numbers: U+1ED26. + if (sequence == 0xf09eb4a6) { + if (value) { + *value = 20000; + } - // Mathematical Alphanumeric (Sans-Serif) Symbols: U+1D7E2 to U+1D7EB. - if (sequence >= 0xf09d9fa2 && sequence <= 0xf09d9fab) { - return private_inline_f_utf_character_handle_digit(sequence, 0xf09d9fa2, value); - } + return F_true; + } - // Mathematical Alphanumeric (Sans-Serif Bold) Symbols: U+1D7EC to U+1D7F5. - if (sequence >= 0xf09d9fac && sequence <= 0xf09d9fb5) { - return private_inline_f_utf_character_handle_digit(sequence, 0xf09d9fac, value); - } + // Ottoman Siyaq Numbers: U+1ED27. + if (sequence == 0xf09eb4a7) { + if (value) { + *value = 30000; + } - // Mathematical Alphanumeric (Monospace) Symbols: U+1D7F6 to U+1D7FF. - if (sequence >= 0xf09d9fb6 && sequence <= 0xf09d9fbf) { - return private_inline_f_utf_character_handle_digit(sequence, 0xf09d9fb6, value); - } - } - else if (macro_f_utf_char_t_to_char_2(sequence) == 0x9e) { + return F_true; + } - // Nyiakeng Puachue Hmong: U+1E140 to U+1E149. - if (sequence >= 0xf09e8580 && sequence <= 0xf09e8589) { - return private_inline_f_utf_character_handle_digit(sequence, 0xf09e8580, value); - } + // Ottoman Siyaq Numbers: U+1ED28. + if (sequence == 0xf09eb4a8) { + if (value) { + *value = 40000; + } - // Wancho: U+1E2F0 to U+1E2F9. - if (sequence >= 0xf09e8bb0 && sequence <= 0xf09e8bb9) { - return private_inline_f_utf_character_handle_digit(sequence, 0xf09e8bb0, value); - } + return F_true; + } - // Adlam: U+1E950 to U+1E959. - if (sequence >= 0xf09ea590 && sequence <= 0xf09ea599) { - return private_inline_f_utf_character_handle_digit(sequence, 0xf09ea590, value); + // Ottoman Siyaq Numbers: U+1ED29. + if (sequence == 0xf09eb4a9) { + if (value) { + *value = 50000; + } + + return F_true; + } + + // Ottoman Siyaq Numbers: U+1ED2A. + if (sequence == 0xf09eb4aa) { + if (value) { + *value = 60000; + } + + return F_true; + } + + // Ottoman Siyaq Numbers: U+1ED2B. + if (sequence == 0xf09eb4ab) { + if (value) { + *value = 70000; + } + + return F_true; + } + + // Ottoman Siyaq Numbers: U+1ED2C. + if (sequence == 0xf09eb4ac) { + if (value) { + *value = 80000; + } + + return F_true; + } + + // Ottoman Siyaq Numbers: U+1ED2D. + if (sequence == 0xf09eb4ad) { + if (value) { + *value = 90000; + } + + return F_true; + } + + // Not a whole number: U+1ED2E. + + // Ottoman Siyaq Numbers: U+1ED2F to U+1ED36. + if (sequence >= 0xf09eb4af && sequence <= 0xf09eb4b6) { + return private_inline_f_utf_character_handle_digit_from_two(sequence, 0xf09eb4af, value); + } + + // Ottoman Siyaq Numbers: U+1ED37. + if (sequence == 0xf09eb4b7) { + if (value) { + *value = 10; + } + + return F_true; + } + + // Ottoman Siyaq Numbers: U+1ED38. + if (sequence == 0xf09eb4b8) { + if (value) { + *value = 400; + } + + return F_true; + } + + // Ottoman Siyaq Numbers: U+1ED39. + if (sequence == 0xf09eb4b9) { + if (value) { + *value = 600; + } + + return F_true; + } + + // Ottoman Siyaq Numbers: U+1ED3A. + if (sequence == 0xf09eb4ba) { + if (value) { + *value = 2000; + } + + return F_true; + } + + // Ottoman Siyaq Numbers: U+1ED3B. + if (sequence == 0xf09eb4bb) { + if (value) { + *value = 10000; + } + + return F_true; + } } } else if (macro_f_utf_char_t_to_char_2(sequence) == 0x9f) { + // Enclosed Alphanumeric Supplement: U+1F100 to U+1F10C. + if (sequence >= 0xf09f8480 && sequence <= 0xf09f848c) { + + // Enclosed Alphanumeric Supplement: U+1F100. + if (sequence == 0xf09f8480) { + if (value) { + *value = 0; + } + + return F_true; + } + + // Ottoman Siyaq Numbers: U+1ED01 to U+1F10A. + if (sequence <= 0xf09f848a) { + return private_inline_f_utf_character_handle_digit(sequence, 0xf09f8481, value); + } + + // Enclosed Alphanumeric Supplement: U+1F10B, U+1F10C. + if (value) { + *value = 0; + } + + return F_true; + } + // Symbols for Legacy Computing (Segmented): U+1FBF0 to U+1FBF9. if (sequence >= 0xf09fafb0 && sequence <= 0xf09fafb9) { return private_inline_f_utf_character_handle_digit(sequence, 0xf09fafb0, value); diff --git a/level_0/f_utf/c/private-utf_numeric.c b/level_0/f_utf/c/private-utf_numeric.c index 566beec..695c3a6 100644 --- a/level_0/f_utf/c/private-utf_numeric.c +++ b/level_0/f_utf/c/private-utf_numeric.c @@ -372,8 +372,8 @@ extern "C" { return F_true; } - // Gothic: U+10341 to U+1034A. - if (sequence >= 0xf0908d81 && sequence <= 0xf0908d8a) { + // Gothic: U+10341, U+1034A. + if (sequence == 0xf0908d81 || sequence == 0xf0908d8a) { return F_true; } diff --git a/level_0/f_utf/data/tests/values/digit-all.txt b/level_0/f_utf/data/tests/values/digit-all.txt index 72e12b8..c33c677 100644 --- a/level_0/f_utf/data/tests/values/digit-all.txt +++ b/level_0/f_utf/data/tests/values/digit-all.txt @@ -1260,15 +1260,15 @@ 7 8 9 -1 -2 -3 -4 -5 -6 -7 -8 -9 +10 +20 +30 +40 +50 +60 +70 +80 +90 1 2 3 @@ -1434,7 +1434,7 @@ 10 11 12 -15 +50 100 500 1000 -- 1.8.3.1