From: Kevin Day Date: Sun, 1 Nov 2026 01:26:53 +0000 (-0500) Subject: Feature: Add f_utf_is_print_not() and fix f_utf_is_zero_width(). X-Git-Url: https://www.git.kevux.org/?a=commitdiff_plain;h=71719fab842a21399e63b7180ec5c1f81bc677af;p=fll Feature: Add f_utf_is_print_not() and fix f_utf_is_zero_width(). It turns out that I am mis-using zero-width terminology. The existing `f_utf_is_zero_width()` actually operates as a "no print" rather than a zero-width. Solve this by renaming the `f_utf_is_zero_width()` to `f_utf_is_print_not()`. Then provide a proper `f_utf_is_zero_width()` that operates how zero-width is supposed to be. This brings the code into compliance. Add additional types of checks to properly check the leading combining/placeholder. Once again the editors arbitrarily added spaces in from of combining and joiners despite when I want to literally add a combining and joiner without a space. Use `sed` and `utf8` to fix the editor caused problem: ```sh sed -i -e "s|^ ́|$(utf8 -cB U+0301)|g" objects/*-combining_read.txt strings/*-combining_read.txt ``` Update the **Byte Dump** program to use `f_utf_is_print_not()`. --- diff --git a/build/level_0/settings b/build/level_0/settings index 15bd1d9a8..99544f90c 100644 --- a/build/level_0/settings +++ b/build/level_0/settings @@ -132,7 +132,7 @@ build_sources_library string/static.c string/statics.c string/staticss.c build_sources_library string/triple.c string/triples.c string/tripless.c build_sources_library time.c build_sources_library type_array/cell.c type_array/date.c type_array/file.c type_array/fll_id.c type_array/int8.c type_array/int16.c type_array/int32.c type_array/int64.c type_array/int128.c type_array/number_signed.c type_array/number_unsigned.c type_array/pid.c type_array/poll.c type_array/quantity.c type_array/quantitys.c type_array/quantityss.c type_array/range.c type_array/ranges.c type_array/rangess.c type_array/range_double.c type_array/range_doubles.c type_array/range_doubless.c type_array/state.c type_array/status.c type_array/time.c type_array/uint8.c type_array/uint16.c type_array/uint32.c type_array/uint64.c type_array/uint128.c -build_sources_library utf.c private-utf.c private-utf_alphabetic.c private-utf_combining.c private-utf_control.c private-utf_digit.c private-utf_emoji.c private-utf_joiner.c private-utf_numeric.c private-utf_phonetic.c private-utf_private.c private-utf_punctuation.c private-utf_subscript.c private-utf_superscript.c private-utf_symbol.c private-utf_unassigned.c private-utf_valid.c private-utf_whitespace.c private-utf_wide.c private-utf_word.c private-utf_zero_width.c +build_sources_library utf.c private-utf.c private-utf_alphabetic.c private-utf_combining.c private-utf_control.c private-utf_digit.c private-utf_emoji.c private-utf_joiner.c private-utf_numeric.c private-utf_phonetic.c private-print_not.c private-utf_private.c private-utf_punctuation.c private-utf_subscript.c private-utf_superscript.c private-utf_symbol.c private-utf_unassigned.c private-utf_valid.c private-utf_whitespace.c private-utf_wide.c private-utf_word.c private-utf_zero_width.c build_sources_library utf/common.c utf/convert.c build_sources_library utf/dynamic.c utf/dynamics.c utf/dynamicss.c build_sources_library utf/is.c utf/is_character.c diff --git a/build/monolithic/settings b/build/monolithic/settings index 9fac4ba8d..dcef54ac3 100644 --- a/build/monolithic/settings +++ b/build/monolithic/settings @@ -154,7 +154,7 @@ build_sources_library level_0/string/static.c level_0/string/statics.c level_0/s build_sources_library level_0/string/triple.c level_0/string/triples.c level_0/string/tripless.c build_sources_library level_0/time.c build_sources_library level_0/type_array/cell.c level_0/type_array/date.c level_0/type_array/file.c level_0/type_array/fll_id.c level_0/type_array/int8.c level_0/type_array/int16.c level_0/type_array/int32.c level_0/type_array/int64.c level_0/type_array/int128.c level_0/type_array/number_signed.c level_0/type_array/number_unsigned.c level_0/type_array/pid.c level_0/type_array/poll.c level_0/type_array/quantity.c level_0/type_array/quantitys.c level_0/type_array/quantityss.c level_0/type_array/range.c level_0/type_array/ranges.c level_0/type_array/rangess.c level_0/type_array/range_double.c level_0/type_array/range_doubles.c level_0/type_array/range_doubless.c level_0/type_array/state.c level_0/type_array/status.c level_0/type_array/time.c level_0/type_array/uint8.c level_0/type_array/uint16.c level_0/type_array/uint32.c level_0/type_array/uint64.c level_0/type_array/uint128.c -build_sources_library level_0/utf.c level_0/private-utf.c level_0/private-utf_alphabetic.c level_0/private-utf_combining.c level_0/private-utf_control.c level_0/private-utf_digit.c level_0/private-utf_emoji.c level_0/private-utf_joiner.c level_0/private-utf_numeric.c level_0/private-utf_phonetic.c level_0/private-utf_private.c level_0/private-utf_punctuation.c level_0/private-utf_subscript.c level_0/private-utf_superscript.c level_0/private-utf_symbol.c level_0/private-utf_unassigned.c level_0/private-utf_valid.c level_0/private-utf_whitespace.c level_0/private-utf_wide.c level_0/private-utf_word.c level_0/private-utf_zero_width.c +build_sources_library level_0/utf.c level_0/private-utf.c level_0/private-utf_alphabetic.c level_0/private-utf_combining.c level_0/private-utf_control.c level_0/private-utf_digit.c level_0/private-utf_emoji.c level_0/private-utf_joiner.c level_0/private-utf_numeric.c level_0/private-utf_phonetic.c level_0/private-print_not.c level_0/private-utf_private.c level_0/private-utf_punctuation.c level_0/private-utf_subscript.c level_0/private-utf_superscript.c level_0/private-utf_symbol.c level_0/private-utf_unassigned.c level_0/private-utf_valid.c level_0/private-utf_whitespace.c level_0/private-utf_wide.c level_0/private-utf_word.c level_0/private-utf_zero_width.c build_sources_library level_0/utf/common.c level_0/utf/convert.c build_sources_library level_0/utf/dynamic.c level_0/utf/dynamics.c level_0/utf/dynamicss.c build_sources_library level_0/utf/is.c level_0/utf/is_character.c diff --git a/build/stand_alone/byte_dump.config.h b/build/stand_alone/byte_dump.config.h index f656e8b65..9893393e6 100644 --- a/build/stand_alone/byte_dump.config.h +++ b/build/stand_alone/byte_dump.config.h @@ -1343,6 +1343,7 @@ #define _di_f_utf_character_is_joiner_ #define _di_f_utf_character_is_numeric_ #define _di_f_utf_character_is_phonetic_ +//#define _di_f_utf_character_is_print_not_ #define _di_f_utf_character_is_private_ #define _di_f_utf_character_is_punctuation_ #define _di_f_utf_character_is_subscript_ @@ -1359,7 +1360,7 @@ #define _di_f_utf_character_is_word_ #define _di_f_utf_character_is_word_dash_ #define _di_f_utf_character_is_word_dash_plus_ -//#define _di_f_utf_character_is_zero_width_ +#define _di_f_utf_character_is_zero_width_ #define _di_f_utf_character_unicode_from_ #define _di_f_utf_character_unicode_string_to_ #define _di_f_utf_character_unicode_to_ @@ -1381,6 +1382,7 @@ #define _di_f_utf_is_joiner_ #define _di_f_utf_is_numeric_ #define _di_f_utf_is_phonetic_ +#define _di_f_utf_is_print_not_ #define _di_f_utf_is_private_ #define _di_f_utf_is_punctuation_ #define _di_f_utf_is_subscript_ diff --git a/build/stand_alone/byte_dump.settings b/build/stand_alone/byte_dump.settings index 91a944e75..47ba26cd5 100644 --- a/build/stand_alone/byte_dump.settings +++ b/build/stand_alone/byte_dump.settings @@ -52,7 +52,7 @@ build_sources_program fll/level_0/signal.c build_sources_program fll/level_0/string.c fll/level_0/private-string.c fll/level_0/string/common.c build_sources_program fll/level_0/string/dynamic.c fll/level_0/string/dynamics.c fll/level_0/string/dynamicss.c fll/level_0/string/map.c fll/level_0/string/maps.c fll/level_0/string/mapss.c fll/level_0/string/map_multi.c fll/level_0/string/map_multis.c fll/level_0/string/map_multiss.c fll/level_0/string/static.c fll/level_0/string/statics.c fll/level_0/string/staticss.c fll/level_0/string/triple.c fll/level_0/string/triples.c fll/level_0/string/tripless.c build_sources_program fll/level_0/type_array/cell.c fll/level_0/type_array/date.c fll/level_0/type_array/file.c fll/level_0/type_array/fll_id.c fll/level_0/type_array/int8.c fll/level_0/type_array/int16.c fll/level_0/type_array/int32.c fll/level_0/type_array/int64.c fll/level_0/type_array/int128.c fll/level_0/type_array/number_signed.c fll/level_0/type_array/number_unsigned.c fll/level_0/type_array/poll.c fll/level_0/type_array/quantity.c fll/level_0/type_array/quantitys.c fll/level_0/type_array/quantityss.c fll/level_0/type_array/range.c fll/level_0/type_array/ranges.c fll/level_0/type_array/rangess.c fll/level_0/type_array/state.c fll/level_0/type_array/status.c fll/level_0/type_array/time.c fll/level_0/type_array/uint8.c fll/level_0/type_array/uint16.c fll/level_0/type_array/uint32.c fll/level_0/type_array/uint64.c fll/level_0/type_array/uint128.c -build_sources_program fll/level_0/utf.c fll/level_0/private-utf.c fll/level_0/private-utf_alphabetic.c fll/level_0/private-utf_combining.c fll/level_0/private-utf_control.c fll/level_0/private-utf_digit.c fll/level_0/private-utf_emoji.c fll/level_0/private-utf_joiner.c fll/level_0/private-utf_numeric.c fll/level_0/private-utf_phonetic.c fll/level_0/private-utf_private.c fll/level_0/private-utf_punctuation.c fll/level_0/private-utf_subscript.c fll/level_0/private-utf_superscript.c fll/level_0/private-utf_symbol.c fll/level_0/private-utf_unassigned.c fll/level_0/private-utf_valid.c fll/level_0/private-utf_whitespace.c fll/level_0/private-utf_wide.c fll/level_0/private-utf_word.c fll/level_0/private-utf_zero_width.c +build_sources_program fll/level_0/utf.c fll/level_0/private-utf.c fll/level_0/private-utf_alphabetic.c fll/level_0/private-utf_combining.c fll/level_0/private-utf_control.c fll/level_0/private-utf_digit.c fll/level_0/private-utf_emoji.c fll/level_0/private-utf_joiner.c fll/level_0/private-utf_numeric.c fll/level_0/private-utf_phonetic.c fll/level_0/private-utf_print_not.c fll/level_0/private-utf_private.c fll/level_0/private-utf_punctuation.c fll/level_0/private-utf_subscript.c fll/level_0/private-utf_superscript.c fll/level_0/private-utf_symbol.c fll/level_0/private-utf_unassigned.c fll/level_0/private-utf_valid.c fll/level_0/private-utf_whitespace.c fll/level_0/private-utf_wide.c fll/level_0/private-utf_word.c fll/level_0/private-utf_zero_width.c build_sources_program fll/level_0/utf/common.c fll/level_0/utf/convert.c fll/level_0/utf/dynamic.c fll/level_0/utf/dynamics.c fll/level_0/utf/dynamicss.c fll/level_0/utf/is.c fll/level_0/utf/is_character.c fll/level_0/utf/map.c fll/level_0/utf/maps.c fll/level_0/utf/mapss.c fll/level_0/utf/map_multi.c fll/level_0/utf/map_multis.c fll/level_0/utf/map_multiss.c fll/level_0/utf/static.c fll/level_0/utf/statics.c fll/level_0/utf/staticss.c fll/level_0/utf/string.c fll/level_0/utf/triple.c fll/level_0/utf/triples.c fll/level_0/utf/tripless.c build_sources_program fll/level_0/utf/private-dynamics.c fll/level_0/utf/private-maps.c fll/level_0/utf/private-map_multis.c fll/level_0/utf/private-string.c fll/level_0/utf/private-triples.c diff --git a/build/stand_alone/example.config.h b/build/stand_alone/example.config.h index cd01de073..9920203c0 100644 --- a/build/stand_alone/example.config.h +++ b/build/stand_alone/example.config.h @@ -1308,6 +1308,7 @@ #define _di_f_utf_character_is_joiner_ #define _di_f_utf_character_is_numeric_ #define _di_f_utf_character_is_phonetic_ +#define _di_f_utf_character_is_print_not_ #define _di_f_utf_character_is_private_ #define _di_f_utf_character_is_punctuation_ #define _di_f_utf_character_is_subscript_ @@ -1346,6 +1347,7 @@ #define _di_f_utf_is_joiner_ #define _di_f_utf_is_numeric_ #define _di_f_utf_is_phonetic_ +#define _di_f_utf_is_print_not_ #define _di_f_utf_is_private_ #define _di_f_utf_is_punctuation_ #define _di_f_utf_is_subscript_ diff --git a/build/stand_alone/example.settings b/build/stand_alone/example.settings index 1eeb8ff06..8894018ec 100644 --- a/build/stand_alone/example.settings +++ b/build/stand_alone/example.settings @@ -52,7 +52,7 @@ build_sources_program fll/level_0/signal.c build_sources_program fll/level_0/string.c fll/level_0/private-string.c fll/level_0/string/common.c build_sources_program fll/level_0/string/dynamic.c fll/level_0/string/dynamics.c fll/level_0/string/dynamicss.c fll/level_0/string/map.c fll/level_0/string/maps.c fll/level_0/string/mapss.c fll/level_0/string/map_multi.c fll/level_0/string/map_multis.c fll/level_0/string/map_multiss.c fll/level_0/string/static.c fll/level_0/string/statics.c fll/level_0/string/staticss.c fll/level_0/string/triple.c fll/level_0/string/triples.c fll/level_0/string/tripless.c build_sources_program fll/level_0/type_array/cell.c fll/level_0/type_array/date.c fll/level_0/type_array/file.c fll/level_0/type_array/fll_id.c fll/level_0/type_array/int8.c fll/level_0/type_array/int16.c fll/level_0/type_array/int32.c fll/level_0/type_array/int64.c fll/level_0/type_array/int128.c fll/level_0/type_array/number_signed.c fll/level_0/type_array/number_unsigned.c fll/level_0/type_array/poll.c fll/level_0/type_array/quantity.c fll/level_0/type_array/quantitys.c fll/level_0/type_array/quantityss.c fll/level_0/type_array/range.c fll/level_0/type_array/ranges.c fll/level_0/type_array/rangess.c fll/level_0/type_array/state.c fll/level_0/type_array/status.c fll/level_0/type_array/time.c fll/level_0/type_array/uint8.c fll/level_0/type_array/uint16.c fll/level_0/type_array/uint32.c fll/level_0/type_array/uint64.c fll/level_0/type_array/uint128.c -build_sources_program fll/level_0/utf.c fll/level_0/private-utf.c fll/level_0/private-utf_alphabetic.c fll/level_0/private-utf_combining.c fll/level_0/private-utf_control.c fll/level_0/private-utf_digit.c fll/level_0/private-utf_emoji.c fll/level_0/private-utf_joiner.c fll/level_0/private-utf_numeric.c fll/level_0/private-utf_phonetic.c fll/level_0/private-utf_private.c fll/level_0/private-utf_punctuation.c fll/level_0/private-utf_subscript.c fll/level_0/private-utf_superscript.c fll/level_0/private-utf_symbol.c fll/level_0/private-utf_unassigned.c fll/level_0/private-utf_valid.c fll/level_0/private-utf_whitespace.c fll/level_0/private-utf_wide.c fll/level_0/private-utf_word.c fll/level_0/private-utf_zero_width.c +build_sources_program fll/level_0/utf.c fll/level_0/private-utf.c fll/level_0/private-utf_alphabetic.c fll/level_0/private-utf_combining.c fll/level_0/private-utf_control.c fll/level_0/private-utf_digit.c fll/level_0/private-utf_emoji.c fll/level_0/private-utf_joiner.c fll/level_0/private-utf_numeric.c fll/level_0/private-utf_phonetic.c fll/level_0/private-utf_print_not.c fll/level_0/private-utf_private.c fll/level_0/private-utf_punctuation.c fll/level_0/private-utf_subscript.c fll/level_0/private-utf_superscript.c fll/level_0/private-utf_symbol.c fll/level_0/private-utf_unassigned.c fll/level_0/private-utf_valid.c fll/level_0/private-utf_whitespace.c fll/level_0/private-utf_wide.c fll/level_0/private-utf_word.c fll/level_0/private-utf_zero_width.c build_sources_program fll/level_0/utf/common.c fll/level_0/utf/convert.c fll/level_0/utf/dynamic.c fll/level_0/utf/dynamics.c fll/level_0/utf/dynamicss.c fll/level_0/utf/is.c fll/level_0/utf/is_character.c fll/level_0/utf/map.c fll/level_0/utf/maps.c fll/level_0/utf/mapss.c fll/level_0/utf/map_multi.c fll/level_0/utf/map_multis.c fll/level_0/utf/map_multiss.c fll/level_0/utf/static.c fll/level_0/utf/statics.c fll/level_0/utf/staticss.c fll/level_0/utf/string.c fll/level_0/utf/triple.c fll/level_0/utf/triples.c fll/level_0/utf/tripless.c build_sources_program fll/level_0/utf/private-dynamics.c fll/level_0/utf/private-maps.c fll/level_0/utf/private-map_multis.c fll/level_0/utf/private-string.c fll/level_0/utf/private-triples.c diff --git a/build/stand_alone/fake.config.h b/build/stand_alone/fake.config.h index 4664af0e7..ebda700e9 100644 --- a/build/stand_alone/fake.config.h +++ b/build/stand_alone/fake.config.h @@ -1801,6 +1801,7 @@ #define _di_f_utf_character_is_joiner_ #define _di_f_utf_character_is_numeric_ #define _di_f_utf_character_is_phonetic_ +#define _di_f_utf_character_is_print_not_ #define _di_f_utf_character_is_private_ #define _di_f_utf_character_is_punctuation_ #define _di_f_utf_character_is_subscript_ @@ -1839,6 +1840,7 @@ //#define _di_f_utf_is_joiner_ #define _di_f_utf_is_numeric_ #define _di_f_utf_is_phonetic_ +#define _di_f_utf_is_print_not_ #define _di_f_utf_is_private_ #define _di_f_utf_is_punctuation_ #define _di_f_utf_is_subscript_ diff --git a/build/stand_alone/fake.settings b/build/stand_alone/fake.settings index b8f7f9678..61ba4feba 100644 --- a/build/stand_alone/fake.settings +++ b/build/stand_alone/fake.settings @@ -69,7 +69,7 @@ build_sources_program fll/level_0/string.c fll/level_0/private-string.c fll/leve build_sources_program fll/level_0/string/dynamic.c fll/level_0/string/dynamics.c fll/level_0/string/dynamicss.c fll/level_0/string/map.c fll/level_0/string/maps.c fll/level_0/string/mapss.c fll/level_0/string/map_multi.c fll/level_0/string/map_multis.c fll/level_0/string/map_multiss.c fll/level_0/string/static.c fll/level_0/string/statics.c fll/level_0/string/staticss.c fll/level_0/string/triple.c fll/level_0/string/triples.c fll/level_0/string/tripless.c build_sources_program fll/level_0/time.c build_sources_program fll/level_0/type_array/cell.c fll/level_0/type_array/date.c fll/level_0/type_array/file.c fll/level_0/type_array/fll_id.c fll/level_0/type_array/int8.c fll/level_0/type_array/int16.c fll/level_0/type_array/int32.c fll/level_0/type_array/int64.c fll/level_0/type_array/int128.c fll/level_0/type_array/number_signed.c fll/level_0/type_array/number_unsigned.c fll/level_0/type_array/poll.c fll/level_0/type_array/quantity.c fll/level_0/type_array/quantitys.c fll/level_0/type_array/quantityss.c fll/level_0/type_array/range.c fll/level_0/type_array/ranges.c fll/level_0/type_array/rangess.c fll/level_0/type_array/state.c fll/level_0/type_array/status.c fll/level_0/type_array/time.c fll/level_0/type_array/uint8.c fll/level_0/type_array/uint16.c fll/level_0/type_array/uint32.c fll/level_0/type_array/uint64.c fll/level_0/type_array/uint128.c -build_sources_program fll/level_0/utf.c fll/level_0/private-utf.c fll/level_0/private-utf_alphabetic.c fll/level_0/private-utf_combining.c fll/level_0/private-utf_control.c fll/level_0/private-utf_digit.c fll/level_0/private-utf_emoji.c fll/level_0/private-utf_joiner.c fll/level_0/private-utf_numeric.c fll/level_0/private-utf_phonetic.c fll/level_0/private-utf_private.c fll/level_0/private-utf_punctuation.c fll/level_0/private-utf_subscript.c fll/level_0/private-utf_superscript.c fll/level_0/private-utf_symbol.c fll/level_0/private-utf_unassigned.c fll/level_0/private-utf_valid.c fll/level_0/private-utf_whitespace.c fll/level_0/private-utf_wide.c fll/level_0/private-utf_word.c fll/level_0/private-utf_zero_width.c +build_sources_program fll/level_0/utf.c fll/level_0/private-utf.c fll/level_0/private-utf_alphabetic.c fll/level_0/private-utf_combining.c fll/level_0/private-utf_control.c fll/level_0/private-utf_digit.c fll/level_0/private-utf_emoji.c fll/level_0/private-utf_joiner.c fll/level_0/private-utf_numeric.c fll/level_0/private-utf_phonetic.c fll/level_0/private-utf_print_not.c fll/level_0/private-utf_private.c fll/level_0/private-utf_punctuation.c fll/level_0/private-utf_subscript.c fll/level_0/private-utf_superscript.c fll/level_0/private-utf_symbol.c fll/level_0/private-utf_unassigned.c fll/level_0/private-utf_valid.c fll/level_0/private-utf_whitespace.c fll/level_0/private-utf_wide.c fll/level_0/private-utf_word.c fll/level_0/private-utf_zero_width.c build_sources_program fll/level_0/utf/common.c fll/level_0/utf/convert.c fll/level_0/utf/dynamic.c fll/level_0/utf/dynamics.c fll/level_0/utf/dynamicss.c fll/level_0/utf/is.c fll/level_0/utf/is_character.c fll/level_0/utf/map.c fll/level_0/utf/maps.c fll/level_0/utf/mapss.c fll/level_0/utf/map_multi.c fll/level_0/utf/map_multis.c fll/level_0/utf/map_multiss.c fll/level_0/utf/static.c fll/level_0/utf/statics.c fll/level_0/utf/staticss.c fll/level_0/utf/string.c fll/level_0/utf/triple.c fll/level_0/utf/triples.c fll/level_0/utf/tripless.c build_sources_program fll/level_0/utf/private-dynamics.c fll/level_0/utf/private-maps.c fll/level_0/utf/private-map_multis.c fll/level_0/utf/private-string.c fll/level_0/utf/private-triples.c diff --git a/build/stand_alone/fss_identify.config.h b/build/stand_alone/fss_identify.config.h index d67fb67b5..33c7aa21a 100644 --- a/build/stand_alone/fss_identify.config.h +++ b/build/stand_alone/fss_identify.config.h @@ -1490,6 +1490,7 @@ #define _di_f_utf_character_is_joiner_ #define _di_f_utf_character_is_numeric_ #define _di_f_utf_character_is_phonetic_ +#define _di_f_utf_character_is_print_not_ #define _di_f_utf_character_is_private_ #define _di_f_utf_character_is_punctuation_ #define _di_f_utf_character_is_subscript_ @@ -1529,6 +1530,7 @@ #define _di_f_utf_is_numeric_ #define _di_f_utf_is_phonetic_ #define _di_f_utf_is_private_ +#define _di_f_utf_is_print_not_ #define _di_f_utf_is_punctuation_ #define _di_f_utf_is_subscript_ #define _di_f_utf_is_superscript_ diff --git a/build/stand_alone/fss_identify.settings b/build/stand_alone/fss_identify.settings index 750257340..fa5d5f496 100644 --- a/build/stand_alone/fss_identify.settings +++ b/build/stand_alone/fss_identify.settings @@ -57,7 +57,7 @@ build_sources_program fll/level_0/signal.c build_sources_program fll/level_0/string.c fll/level_0/private-string.c fll/level_0/string/common.c build_sources_program fll/level_0/string/dynamic.c fll/level_0/string/dynamics.c fll/level_0/string/dynamicss.c fll/level_0/string/map.c fll/level_0/string/maps.c fll/level_0/string/mapss.c fll/level_0/string/map_multi.c fll/level_0/string/map_multis.c fll/level_0/string/map_multiss.c fll/level_0/string/static.c fll/level_0/string/statics.c fll/level_0/string/staticss.c fll/level_0/string/triple.c fll/level_0/string/triples.c fll/level_0/string/tripless.c build_sources_program fll/level_0/type_array/cell.c fll/level_0/type_array/date.c fll/level_0/type_array/file.c fll/level_0/type_array/fll_id.c fll/level_0/type_array/int8.c fll/level_0/type_array/int16.c fll/level_0/type_array/int32.c fll/level_0/type_array/int64.c fll/level_0/type_array/int128.c fll/level_0/type_array/number_signed.c fll/level_0/type_array/number_unsigned.c fll/level_0/type_array/poll.c fll/level_0/type_array/quantity.c fll/level_0/type_array/quantitys.c fll/level_0/type_array/quantityss.c fll/level_0/type_array/range.c fll/level_0/type_array/ranges.c fll/level_0/type_array/rangess.c fll/level_0/type_array/state.c fll/level_0/type_array/status.c fll/level_0/type_array/time.c fll/level_0/type_array/uint8.c fll/level_0/type_array/uint16.c fll/level_0/type_array/uint32.c fll/level_0/type_array/uint64.c fll/level_0/type_array/uint128.c -build_sources_program fll/level_0/utf.c fll/level_0/private-utf.c fll/level_0/private-utf_alphabetic.c fll/level_0/private-utf_combining.c fll/level_0/private-utf_control.c fll/level_0/private-utf_digit.c fll/level_0/private-utf_emoji.c fll/level_0/private-utf_joiner.c fll/level_0/private-utf_numeric.c fll/level_0/private-utf_phonetic.c fll/level_0/private-utf_private.c fll/level_0/private-utf_punctuation.c fll/level_0/private-utf_subscript.c fll/level_0/private-utf_superscript.c fll/level_0/private-utf_symbol.c fll/level_0/private-utf_unassigned.c fll/level_0/private-utf_valid.c fll/level_0/private-utf_whitespace.c fll/level_0/private-utf_wide.c fll/level_0/private-utf_word.c fll/level_0/private-utf_zero_width.c +build_sources_program fll/level_0/utf.c fll/level_0/private-utf.c fll/level_0/private-utf_alphabetic.c fll/level_0/private-utf_combining.c fll/level_0/private-utf_control.c fll/level_0/private-utf_digit.c fll/level_0/private-utf_emoji.c fll/level_0/private-utf_joiner.c fll/level_0/private-utf_numeric.c fll/level_0/private-utf_phonetic.c fll/level_0/private-utf_print_not.c fll/level_0/private-utf_private.c fll/level_0/private-utf_punctuation.c fll/level_0/private-utf_subscript.c fll/level_0/private-utf_superscript.c fll/level_0/private-utf_symbol.c fll/level_0/private-utf_unassigned.c fll/level_0/private-utf_valid.c fll/level_0/private-utf_whitespace.c fll/level_0/private-utf_wide.c fll/level_0/private-utf_word.c fll/level_0/private-utf_zero_width.c build_sources_program fll/level_0/utf/common.c fll/level_0/utf/convert.c fll/level_0/utf/dynamic.c fll/level_0/utf/dynamics.c fll/level_0/utf/dynamicss.c fll/level_0/utf/is.c fll/level_0/utf/is_character.c fll/level_0/utf/map.c fll/level_0/utf/maps.c fll/level_0/utf/mapss.c fll/level_0/utf/map_multi.c fll/level_0/utf/map_multis.c fll/level_0/utf/map_multiss.c fll/level_0/utf/static.c fll/level_0/utf/statics.c fll/level_0/utf/staticss.c fll/level_0/utf/string.c fll/level_0/utf/triple.c fll/level_0/utf/triples.c fll/level_0/utf/tripless.c build_sources_program fll/level_0/utf/private-dynamics.c fll/level_0/utf/private-maps.c fll/level_0/utf/private-map_multis.c fll/level_0/utf/private-string.c fll/level_0/utf/private-triples.c diff --git a/build/stand_alone/fss_read.config.fss_basic.h b/build/stand_alone/fss_read.config.fss_basic.h index a9277040b..868321667 100644 --- a/build/stand_alone/fss_read.config.fss_basic.h +++ b/build/stand_alone/fss_read.config.fss_basic.h @@ -1561,6 +1561,7 @@ #define _di_f_utf_character_is_joiner_ #define _di_f_utf_character_is_numeric_ #define _di_f_utf_character_is_phonetic_ +#define _di_f_utf_character_is_print_not_ #define _di_f_utf_character_is_private_ #define _di_f_utf_character_is_punctuation_ #define _di_f_utf_character_is_subscript_ @@ -1599,6 +1600,7 @@ //#define _di_f_utf_is_joiner_ #define _di_f_utf_is_numeric_ #define _di_f_utf_is_phonetic_ +#define _di_f_utf_is_print_not_ #define _di_f_utf_is_private_ #define _di_f_utf_is_punctuation_ #define _di_f_utf_is_subscript_ diff --git a/build/stand_alone/fss_read.config.fss_basic_list.h b/build/stand_alone/fss_read.config.fss_basic_list.h index bfcb03b39..56c04dac9 100644 --- a/build/stand_alone/fss_read.config.fss_basic_list.h +++ b/build/stand_alone/fss_read.config.fss_basic_list.h @@ -1561,6 +1561,7 @@ #define _di_f_utf_character_is_joiner_ #define _di_f_utf_character_is_numeric_ #define _di_f_utf_character_is_phonetic_ +#define _di_f_utf_character_is_print_not_ #define _di_f_utf_character_is_private_ #define _di_f_utf_character_is_punctuation_ #define _di_f_utf_character_is_subscript_ @@ -1599,6 +1600,7 @@ //#define _di_f_utf_is_joiner_ #define _di_f_utf_is_numeric_ #define _di_f_utf_is_phonetic_ +#define _di_f_utf_is_print_not_ #define _di_f_utf_is_private_ #define _di_f_utf_is_punctuation_ #define _di_f_utf_is_subscript_ diff --git a/build/stand_alone/fss_read.config.fss_embedded_list.h b/build/stand_alone/fss_read.config.fss_embedded_list.h index f961cdebe..54fd4a6cc 100644 --- a/build/stand_alone/fss_read.config.fss_embedded_list.h +++ b/build/stand_alone/fss_read.config.fss_embedded_list.h @@ -1561,6 +1561,7 @@ #define _di_f_utf_character_is_joiner_ #define _di_f_utf_character_is_numeric_ #define _di_f_utf_character_is_phonetic_ +#define _di_f_utf_character_is_print_not_ #define _di_f_utf_character_is_private_ #define _di_f_utf_character_is_punctuation_ #define _di_f_utf_character_is_subscript_ @@ -1599,6 +1600,7 @@ //#define _di_f_utf_is_joiner_ #define _di_f_utf_is_numeric_ #define _di_f_utf_is_phonetic_ +#define _di_f_utf_is_print_not_ #define _di_f_utf_is_private_ #define _di_f_utf_is_punctuation_ #define _di_f_utf_is_subscript_ diff --git a/build/stand_alone/fss_read.config.fss_extended.h b/build/stand_alone/fss_read.config.fss_extended.h index 20590656e..d04ab6aa9 100644 --- a/build/stand_alone/fss_read.config.fss_extended.h +++ b/build/stand_alone/fss_read.config.fss_extended.h @@ -1561,6 +1561,7 @@ #define _di_f_utf_character_is_joiner_ #define _di_f_utf_character_is_numeric_ #define _di_f_utf_character_is_phonetic_ +#define _di_f_utf_character_is_print_not_ #define _di_f_utf_character_is_private_ #define _di_f_utf_character_is_punctuation_ #define _di_f_utf_character_is_subscript_ @@ -1599,6 +1600,7 @@ //#define _di_f_utf_is_joiner_ #define _di_f_utf_is_numeric_ #define _di_f_utf_is_phonetic_ +#define _di_f_utf_is_print_not_ #define _di_f_utf_is_private_ #define _di_f_utf_is_punctuation_ #define _di_f_utf_is_subscript_ diff --git a/build/stand_alone/fss_read.config.fss_extended_list.h b/build/stand_alone/fss_read.config.fss_extended_list.h index 9275671f0..5fc9b568b 100644 --- a/build/stand_alone/fss_read.config.fss_extended_list.h +++ b/build/stand_alone/fss_read.config.fss_extended_list.h @@ -1561,6 +1561,7 @@ #define _di_f_utf_character_is_joiner_ #define _di_f_utf_character_is_numeric_ #define _di_f_utf_character_is_phonetic_ +#define _di_f_utf_character_is_print_not_ #define _di_f_utf_character_is_private_ #define _di_f_utf_character_is_punctuation_ #define _di_f_utf_character_is_subscript_ @@ -1599,6 +1600,7 @@ //#define _di_f_utf_is_joiner_ #define _di_f_utf_is_numeric_ #define _di_f_utf_is_phonetic_ +#define _di_f_utf_is_print_not_ #define _di_f_utf_is_private_ #define _di_f_utf_is_punctuation_ #define _di_f_utf_is_subscript_ diff --git a/build/stand_alone/fss_read.config.fss_payload.h b/build/stand_alone/fss_read.config.fss_payload.h index 7dd5fde10..408e79331 100644 --- a/build/stand_alone/fss_read.config.fss_payload.h +++ b/build/stand_alone/fss_read.config.fss_payload.h @@ -1561,6 +1561,7 @@ #define _di_f_utf_character_is_joiner_ #define _di_f_utf_character_is_numeric_ #define _di_f_utf_character_is_phonetic_ +#define _di_f_utf_character_is_print_not_ #define _di_f_utf_character_is_private_ #define _di_f_utf_character_is_punctuation_ #define _di_f_utf_character_is_subscript_ @@ -1599,6 +1600,7 @@ //#define _di_f_utf_is_joiner_ #define _di_f_utf_is_numeric_ #define _di_f_utf_is_phonetic_ +#define _di_f_utf_is_print_not_ #define _di_f_utf_is_private_ #define _di_f_utf_is_punctuation_ #define _di_f_utf_is_subscript_ diff --git a/build/stand_alone/fss_read.config.h b/build/stand_alone/fss_read.config.h index da6dea24e..6b136fdca 100644 --- a/build/stand_alone/fss_read.config.h +++ b/build/stand_alone/fss_read.config.h @@ -1561,6 +1561,7 @@ #define _di_f_utf_character_is_joiner_ #define _di_f_utf_character_is_numeric_ #define _di_f_utf_character_is_phonetic_ +#define _di_f_utf_character_is_print_not_ #define _di_f_utf_character_is_private_ #define _di_f_utf_character_is_punctuation_ #define _di_f_utf_character_is_subscript_ @@ -1599,6 +1600,7 @@ //#define _di_f_utf_is_joiner_ #define _di_f_utf_is_numeric_ #define _di_f_utf_is_phonetic_ +#define _di_f_utf_is_print_not_ #define _di_f_utf_is_private_ #define _di_f_utf_is_punctuation_ #define _di_f_utf_is_subscript_ diff --git a/build/stand_alone/fss_read.settings b/build/stand_alone/fss_read.settings index 8c46c6e78..b989f1e86 100644 --- a/build/stand_alone/fss_read.settings +++ b/build/stand_alone/fss_read.settings @@ -59,7 +59,7 @@ build_sources_program fll/level_0/signal.c build_sources_program fll/level_0/string.c fll/level_0/private-string.c fll/level_0/string/common.c build_sources_program fll/level_0/string/dynamic.c fll/level_0/string/dynamics.c fll/level_0/string/dynamicss.c fll/level_0/string/map.c fll/level_0/string/maps.c fll/level_0/string/mapss.c fll/level_0/string/map_multi.c fll/level_0/string/map_multis.c fll/level_0/string/map_multiss.c fll/level_0/string/static.c fll/level_0/string/statics.c fll/level_0/string/staticss.c fll/level_0/string/triple.c fll/level_0/string/triples.c fll/level_0/string/tripless.c build_sources_program fll/level_0/type_array/cell.c fll/level_0/type_array/date.c fll/level_0/type_array/file.c fll/level_0/type_array/fll_id.c fll/level_0/type_array/int8.c fll/level_0/type_array/int16.c fll/level_0/type_array/int32.c fll/level_0/type_array/int64.c fll/level_0/type_array/int128.c fll/level_0/type_array/number_signed.c fll/level_0/type_array/number_unsigned.c fll/level_0/type_array/poll.c fll/level_0/type_array/quantity.c fll/level_0/type_array/quantitys.c fll/level_0/type_array/quantityss.c fll/level_0/type_array/range.c fll/level_0/type_array/ranges.c fll/level_0/type_array/rangess.c fll/level_0/type_array/state.c fll/level_0/type_array/status.c fll/level_0/type_array/time.c fll/level_0/type_array/uint8.c fll/level_0/type_array/uint16.c fll/level_0/type_array/uint32.c fll/level_0/type_array/uint64.c fll/level_0/type_array/uint128.c -build_sources_program fll/level_0/utf.c fll/level_0/private-utf.c fll/level_0/private-utf_alphabetic.c fll/level_0/private-utf_combining.c fll/level_0/private-utf_control.c fll/level_0/private-utf_digit.c fll/level_0/private-utf_emoji.c fll/level_0/private-utf_joiner.c fll/level_0/private-utf_numeric.c fll/level_0/private-utf_phonetic.c fll/level_0/private-utf_private.c fll/level_0/private-utf_punctuation.c fll/level_0/private-utf_subscript.c fll/level_0/private-utf_superscript.c fll/level_0/private-utf_symbol.c fll/level_0/private-utf_unassigned.c fll/level_0/private-utf_valid.c fll/level_0/private-utf_whitespace.c fll/level_0/private-utf_wide.c fll/level_0/private-utf_word.c fll/level_0/private-utf_zero_width.c +build_sources_program fll/level_0/utf.c fll/level_0/private-utf.c fll/level_0/private-utf_alphabetic.c fll/level_0/private-utf_combining.c fll/level_0/private-utf_control.c fll/level_0/private-utf_digit.c fll/level_0/private-utf_emoji.c fll/level_0/private-utf_joiner.c fll/level_0/private-utf_numeric.c fll/level_0/private-utf_phonetic.c fll/level_0/private-utf_print_not.c fll/level_0/private-utf_private.c fll/level_0/private-utf_punctuation.c fll/level_0/private-utf_subscript.c fll/level_0/private-utf_superscript.c fll/level_0/private-utf_symbol.c fll/level_0/private-utf_unassigned.c fll/level_0/private-utf_valid.c fll/level_0/private-utf_whitespace.c fll/level_0/private-utf_wide.c fll/level_0/private-utf_word.c fll/level_0/private-utf_zero_width.c build_sources_program fll/level_0/utf/common.c fll/level_0/utf/convert.c fll/level_0/utf/dynamic.c fll/level_0/utf/dynamics.c fll/level_0/utf/dynamicss.c fll/level_0/utf/is.c fll/level_0/utf/is_character.c fll/level_0/utf/map.c fll/level_0/utf/maps.c fll/level_0/utf/mapss.c fll/level_0/utf/map_multi.c fll/level_0/utf/map_multis.c fll/level_0/utf/map_multiss.c fll/level_0/utf/static.c fll/level_0/utf/statics.c fll/level_0/utf/staticss.c fll/level_0/utf/string.c fll/level_0/utf/triple.c fll/level_0/utf/triples.c fll/level_0/utf/tripless.c build_sources_program fll/level_0/utf/private-dynamics.c fll/level_0/utf/private-maps.c fll/level_0/utf/private-map_multis.c fll/level_0/utf/private-string.c fll/level_0/utf/private-triples.c diff --git a/build/stand_alone/fss_read.settings.fss_basic b/build/stand_alone/fss_read.settings.fss_basic index cd72e0405..301f37013 100644 --- a/build/stand_alone/fss_read.settings.fss_basic +++ b/build/stand_alone/fss_read.settings.fss_basic @@ -59,7 +59,7 @@ build_sources_program fll/level_0/signal.c build_sources_program fll/level_0/string.c fll/level_0/private-string.c fll/level_0/string/common.c build_sources_program fll/level_0/string/dynamic.c fll/level_0/string/dynamics.c fll/level_0/string/dynamicss.c fll/level_0/string/map.c fll/level_0/string/maps.c fll/level_0/string/mapss.c fll/level_0/string/map_multi.c fll/level_0/string/map_multis.c fll/level_0/string/map_multiss.c fll/level_0/string/static.c fll/level_0/string/statics.c fll/level_0/string/staticss.c fll/level_0/string/triple.c fll/level_0/string/triples.c fll/level_0/string/tripless.c build_sources_program fll/level_0/type_array/cell.c fll/level_0/type_array/date.c fll/level_0/type_array/file.c fll/level_0/type_array/fll_id.c fll/level_0/type_array/int8.c fll/level_0/type_array/int16.c fll/level_0/type_array/int32.c fll/level_0/type_array/int64.c fll/level_0/type_array/int128.c fll/level_0/type_array/number_signed.c fll/level_0/type_array/number_unsigned.c fll/level_0/type_array/poll.c fll/level_0/type_array/quantity.c fll/level_0/type_array/quantitys.c fll/level_0/type_array/quantityss.c fll/level_0/type_array/range.c fll/level_0/type_array/ranges.c fll/level_0/type_array/rangess.c fll/level_0/type_array/state.c fll/level_0/type_array/status.c fll/level_0/type_array/time.c fll/level_0/type_array/uint8.c fll/level_0/type_array/uint16.c fll/level_0/type_array/uint32.c fll/level_0/type_array/uint64.c fll/level_0/type_array/uint128.c -build_sources_program fll/level_0/utf.c fll/level_0/private-utf.c fll/level_0/private-utf_alphabetic.c fll/level_0/private-utf_combining.c fll/level_0/private-utf_control.c fll/level_0/private-utf_digit.c fll/level_0/private-utf_emoji.c fll/level_0/private-utf_joiner.c fll/level_0/private-utf_numeric.c fll/level_0/private-utf_phonetic.c fll/level_0/private-utf_private.c fll/level_0/private-utf_punctuation.c fll/level_0/private-utf_subscript.c fll/level_0/private-utf_superscript.c fll/level_0/private-utf_symbol.c fll/level_0/private-utf_unassigned.c fll/level_0/private-utf_valid.c fll/level_0/private-utf_whitespace.c fll/level_0/private-utf_wide.c fll/level_0/private-utf_word.c fll/level_0/private-utf_zero_width.c +build_sources_program fll/level_0/utf.c fll/level_0/private-utf.c fll/level_0/private-utf_alphabetic.c fll/level_0/private-utf_combining.c fll/level_0/private-utf_control.c fll/level_0/private-utf_digit.c fll/level_0/private-utf_emoji.c fll/level_0/private-utf_joiner.c fll/level_0/private-utf_numeric.c fll/level_0/private-utf_phonetic.c fll/level_0/private-utf_print_not.c fll/level_0/private-utf_private.c fll/level_0/private-utf_punctuation.c fll/level_0/private-utf_subscript.c fll/level_0/private-utf_superscript.c fll/level_0/private-utf_symbol.c fll/level_0/private-utf_unassigned.c fll/level_0/private-utf_valid.c fll/level_0/private-utf_whitespace.c fll/level_0/private-utf_wide.c fll/level_0/private-utf_word.c fll/level_0/private-utf_zero_width.c build_sources_program fll/level_0/utf/common.c fll/level_0/utf/convert.c fll/level_0/utf/dynamic.c fll/level_0/utf/dynamics.c fll/level_0/utf/dynamicss.c fll/level_0/utf/is.c fll/level_0/utf/is_character.c fll/level_0/utf/map.c fll/level_0/utf/maps.c fll/level_0/utf/mapss.c fll/level_0/utf/map_multi.c fll/level_0/utf/map_multis.c fll/level_0/utf/map_multiss.c fll/level_0/utf/static.c fll/level_0/utf/statics.c fll/level_0/utf/staticss.c fll/level_0/utf/string.c fll/level_0/utf/triple.c fll/level_0/utf/triples.c fll/level_0/utf/tripless.c build_sources_program fll/level_0/utf/private-dynamics.c fll/level_0/utf/private-maps.c fll/level_0/utf/private-map_multis.c fll/level_0/utf/private-string.c fll/level_0/utf/private-triples.c diff --git a/build/stand_alone/fss_read.settings.fss_basic_list b/build/stand_alone/fss_read.settings.fss_basic_list index c920d4187..9bfedc724 100644 --- a/build/stand_alone/fss_read.settings.fss_basic_list +++ b/build/stand_alone/fss_read.settings.fss_basic_list @@ -59,7 +59,7 @@ build_sources_program fll/level_0/signal.c build_sources_program fll/level_0/string.c fll/level_0/private-string.c fll/level_0/string/common.c build_sources_program fll/level_0/string/dynamic.c fll/level_0/string/dynamics.c fll/level_0/string/dynamicss.c fll/level_0/string/map.c fll/level_0/string/maps.c fll/level_0/string/mapss.c fll/level_0/string/map_multi.c fll/level_0/string/map_multis.c fll/level_0/string/map_multiss.c fll/level_0/string/static.c fll/level_0/string/statics.c fll/level_0/string/staticss.c fll/level_0/string/triple.c fll/level_0/string/triples.c fll/level_0/string/tripless.c build_sources_program fll/level_0/type_array/cell.c fll/level_0/type_array/date.c fll/level_0/type_array/file.c fll/level_0/type_array/fll_id.c fll/level_0/type_array/int8.c fll/level_0/type_array/int16.c fll/level_0/type_array/int32.c fll/level_0/type_array/int64.c fll/level_0/type_array/int128.c fll/level_0/type_array/number_signed.c fll/level_0/type_array/number_unsigned.c fll/level_0/type_array/poll.c fll/level_0/type_array/quantity.c fll/level_0/type_array/quantitys.c fll/level_0/type_array/quantityss.c fll/level_0/type_array/range.c fll/level_0/type_array/ranges.c fll/level_0/type_array/rangess.c fll/level_0/type_array/state.c fll/level_0/type_array/status.c fll/level_0/type_array/time.c fll/level_0/type_array/uint8.c fll/level_0/type_array/uint16.c fll/level_0/type_array/uint32.c fll/level_0/type_array/uint64.c fll/level_0/type_array/uint128.c -build_sources_program fll/level_0/utf.c fll/level_0/private-utf.c fll/level_0/private-utf_alphabetic.c fll/level_0/private-utf_combining.c fll/level_0/private-utf_control.c fll/level_0/private-utf_digit.c fll/level_0/private-utf_emoji.c fll/level_0/private-utf_joiner.c fll/level_0/private-utf_numeric.c fll/level_0/private-utf_phonetic.c fll/level_0/private-utf_private.c fll/level_0/private-utf_punctuation.c fll/level_0/private-utf_subscript.c fll/level_0/private-utf_superscript.c fll/level_0/private-utf_symbol.c fll/level_0/private-utf_unassigned.c fll/level_0/private-utf_valid.c fll/level_0/private-utf_whitespace.c fll/level_0/private-utf_wide.c fll/level_0/private-utf_word.c fll/level_0/private-utf_zero_width.c +build_sources_program fll/level_0/utf.c fll/level_0/private-utf.c fll/level_0/private-utf_alphabetic.c fll/level_0/private-utf_combining.c fll/level_0/private-utf_control.c fll/level_0/private-utf_digit.c fll/level_0/private-utf_emoji.c fll/level_0/private-utf_joiner.c fll/level_0/private-utf_numeric.c fll/level_0/private-utf_phonetic.c fll/level_0/private-utf_print_not.c fll/level_0/private-utf_private.c fll/level_0/private-utf_punctuation.c fll/level_0/private-utf_subscript.c fll/level_0/private-utf_superscript.c fll/level_0/private-utf_symbol.c fll/level_0/private-utf_unassigned.c fll/level_0/private-utf_valid.c fll/level_0/private-utf_whitespace.c fll/level_0/private-utf_wide.c fll/level_0/private-utf_word.c fll/level_0/private-utf_zero_width.c build_sources_program fll/level_0/utf/common.c fll/level_0/utf/convert.c fll/level_0/utf/dynamic.c fll/level_0/utf/dynamics.c fll/level_0/utf/dynamicss.c fll/level_0/utf/is.c fll/level_0/utf/is_character.c fll/level_0/utf/map.c fll/level_0/utf/maps.c fll/level_0/utf/mapss.c fll/level_0/utf/map_multi.c fll/level_0/utf/map_multis.c fll/level_0/utf/map_multiss.c fll/level_0/utf/static.c fll/level_0/utf/statics.c fll/level_0/utf/staticss.c fll/level_0/utf/string.c fll/level_0/utf/triple.c fll/level_0/utf/triples.c fll/level_0/utf/tripless.c build_sources_program fll/level_0/utf/private-dynamics.c fll/level_0/utf/private-maps.c fll/level_0/utf/private-map_multis.c fll/level_0/utf/private-string.c fll/level_0/utf/private-triples.c diff --git a/build/stand_alone/fss_read.settings.fss_embedded_list b/build/stand_alone/fss_read.settings.fss_embedded_list index 53d5da50c..fca04282d 100644 --- a/build/stand_alone/fss_read.settings.fss_embedded_list +++ b/build/stand_alone/fss_read.settings.fss_embedded_list @@ -59,7 +59,7 @@ build_sources_program fll/level_0/signal.c build_sources_program fll/level_0/string.c fll/level_0/private-string.c fll/level_0/string/common.c build_sources_program fll/level_0/string/dynamic.c fll/level_0/string/dynamics.c fll/level_0/string/dynamicss.c fll/level_0/string/map.c fll/level_0/string/maps.c fll/level_0/string/mapss.c fll/level_0/string/map_multi.c fll/level_0/string/map_multis.c fll/level_0/string/map_multiss.c fll/level_0/string/static.c fll/level_0/string/statics.c fll/level_0/string/staticss.c fll/level_0/string/triple.c fll/level_0/string/triples.c fll/level_0/string/tripless.c build_sources_program fll/level_0/type_array/cell.c fll/level_0/type_array/date.c fll/level_0/type_array/file.c fll/level_0/type_array/fll_id.c fll/level_0/type_array/int8.c fll/level_0/type_array/int16.c fll/level_0/type_array/int32.c fll/level_0/type_array/int64.c fll/level_0/type_array/int128.c fll/level_0/type_array/number_signed.c fll/level_0/type_array/number_unsigned.c fll/level_0/type_array/poll.c fll/level_0/type_array/quantity.c fll/level_0/type_array/quantitys.c fll/level_0/type_array/quantityss.c fll/level_0/type_array/range.c fll/level_0/type_array/ranges.c fll/level_0/type_array/rangess.c fll/level_0/type_array/state.c fll/level_0/type_array/status.c fll/level_0/type_array/time.c fll/level_0/type_array/uint8.c fll/level_0/type_array/uint16.c fll/level_0/type_array/uint32.c fll/level_0/type_array/uint64.c fll/level_0/type_array/uint128.c -build_sources_program fll/level_0/utf.c fll/level_0/private-utf.c fll/level_0/private-utf_alphabetic.c fll/level_0/private-utf_combining.c fll/level_0/private-utf_control.c fll/level_0/private-utf_digit.c fll/level_0/private-utf_emoji.c fll/level_0/private-utf_joiner.c fll/level_0/private-utf_numeric.c fll/level_0/private-utf_phonetic.c fll/level_0/private-utf_private.c fll/level_0/private-utf_punctuation.c fll/level_0/private-utf_subscript.c fll/level_0/private-utf_superscript.c fll/level_0/private-utf_symbol.c fll/level_0/private-utf_unassigned.c fll/level_0/private-utf_valid.c fll/level_0/private-utf_whitespace.c fll/level_0/private-utf_wide.c fll/level_0/private-utf_word.c fll/level_0/private-utf_zero_width.c +build_sources_program fll/level_0/utf.c fll/level_0/private-utf.c fll/level_0/private-utf_alphabetic.c fll/level_0/private-utf_combining.c fll/level_0/private-utf_control.c fll/level_0/private-utf_digit.c fll/level_0/private-utf_emoji.c fll/level_0/private-utf_joiner.c fll/level_0/private-utf_numeric.c fll/level_0/private-utf_phonetic.c fll/level_0/private-utf_print_not.c fll/level_0/private-utf_private.c fll/level_0/private-utf_punctuation.c fll/level_0/private-utf_subscript.c fll/level_0/private-utf_superscript.c fll/level_0/private-utf_symbol.c fll/level_0/private-utf_unassigned.c fll/level_0/private-utf_valid.c fll/level_0/private-utf_whitespace.c fll/level_0/private-utf_wide.c fll/level_0/private-utf_word.c fll/level_0/private-utf_zero_width.c build_sources_program fll/level_0/utf/common.c fll/level_0/utf/convert.c fll/level_0/utf/dynamic.c fll/level_0/utf/dynamics.c fll/level_0/utf/dynamicss.c fll/level_0/utf/is.c fll/level_0/utf/is_character.c fll/level_0/utf/map.c fll/level_0/utf/maps.c fll/level_0/utf/mapss.c fll/level_0/utf/map_multi.c fll/level_0/utf/map_multis.c fll/level_0/utf/map_multiss.c fll/level_0/utf/static.c fll/level_0/utf/statics.c fll/level_0/utf/staticss.c fll/level_0/utf/string.c fll/level_0/utf/triple.c fll/level_0/utf/triples.c fll/level_0/utf/tripless.c build_sources_program fll/level_0/utf/private-dynamics.c fll/level_0/utf/private-maps.c fll/level_0/utf/private-map_multis.c fll/level_0/utf/private-string.c fll/level_0/utf/private-triples.c diff --git a/build/stand_alone/fss_read.settings.fss_extended b/build/stand_alone/fss_read.settings.fss_extended index a4d0c3645..b4393e7f8 100644 --- a/build/stand_alone/fss_read.settings.fss_extended +++ b/build/stand_alone/fss_read.settings.fss_extended @@ -59,7 +59,7 @@ build_sources_program fll/level_0/signal.c build_sources_program fll/level_0/string.c fll/level_0/private-string.c fll/level_0/string/common.c build_sources_program fll/level_0/string/dynamic.c fll/level_0/string/dynamics.c fll/level_0/string/dynamicss.c fll/level_0/string/map.c fll/level_0/string/maps.c fll/level_0/string/mapss.c fll/level_0/string/map_multi.c fll/level_0/string/map_multis.c fll/level_0/string/map_multiss.c fll/level_0/string/static.c fll/level_0/string/statics.c fll/level_0/string/staticss.c fll/level_0/string/triple.c fll/level_0/string/triples.c fll/level_0/string/tripless.c build_sources_program fll/level_0/type_array/cell.c fll/level_0/type_array/date.c fll/level_0/type_array/file.c fll/level_0/type_array/fll_id.c fll/level_0/type_array/int8.c fll/level_0/type_array/int16.c fll/level_0/type_array/int32.c fll/level_0/type_array/int64.c fll/level_0/type_array/int128.c fll/level_0/type_array/number_signed.c fll/level_0/type_array/number_unsigned.c fll/level_0/type_array/poll.c fll/level_0/type_array/quantity.c fll/level_0/type_array/quantitys.c fll/level_0/type_array/quantityss.c fll/level_0/type_array/range.c fll/level_0/type_array/ranges.c fll/level_0/type_array/rangess.c fll/level_0/type_array/state.c fll/level_0/type_array/status.c fll/level_0/type_array/time.c fll/level_0/type_array/uint8.c fll/level_0/type_array/uint16.c fll/level_0/type_array/uint32.c fll/level_0/type_array/uint64.c fll/level_0/type_array/uint128.c -build_sources_program fll/level_0/utf.c fll/level_0/private-utf.c fll/level_0/private-utf_alphabetic.c fll/level_0/private-utf_combining.c fll/level_0/private-utf_control.c fll/level_0/private-utf_digit.c fll/level_0/private-utf_emoji.c fll/level_0/private-utf_joiner.c fll/level_0/private-utf_numeric.c fll/level_0/private-utf_phonetic.c fll/level_0/private-utf_private.c fll/level_0/private-utf_punctuation.c fll/level_0/private-utf_subscript.c fll/level_0/private-utf_superscript.c fll/level_0/private-utf_symbol.c fll/level_0/private-utf_unassigned.c fll/level_0/private-utf_valid.c fll/level_0/private-utf_whitespace.c fll/level_0/private-utf_wide.c fll/level_0/private-utf_word.c fll/level_0/private-utf_zero_width.c +build_sources_program fll/level_0/utf.c fll/level_0/private-utf.c fll/level_0/private-utf_alphabetic.c fll/level_0/private-utf_combining.c fll/level_0/private-utf_control.c fll/level_0/private-utf_digit.c fll/level_0/private-utf_emoji.c fll/level_0/private-utf_joiner.c fll/level_0/private-utf_numeric.c fll/level_0/private-utf_phonetic.c fll/level_0/private-utf_print_not.c fll/level_0/private-utf_private.c fll/level_0/private-utf_punctuation.c fll/level_0/private-utf_subscript.c fll/level_0/private-utf_superscript.c fll/level_0/private-utf_symbol.c fll/level_0/private-utf_unassigned.c fll/level_0/private-utf_valid.c fll/level_0/private-utf_whitespace.c fll/level_0/private-utf_wide.c fll/level_0/private-utf_word.c fll/level_0/private-utf_zero_width.c build_sources_program fll/level_0/utf/common.c fll/level_0/utf/convert.c fll/level_0/utf/dynamic.c fll/level_0/utf/dynamics.c fll/level_0/utf/dynamicss.c fll/level_0/utf/is.c fll/level_0/utf/is_character.c fll/level_0/utf/map.c fll/level_0/utf/maps.c fll/level_0/utf/mapss.c fll/level_0/utf/map_multi.c fll/level_0/utf/map_multis.c fll/level_0/utf/map_multiss.c fll/level_0/utf/static.c fll/level_0/utf/statics.c fll/level_0/utf/staticss.c fll/level_0/utf/string.c fll/level_0/utf/triple.c fll/level_0/utf/triples.c fll/level_0/utf/tripless.c build_sources_program fll/level_0/utf/private-dynamics.c fll/level_0/utf/private-maps.c fll/level_0/utf/private-map_multis.c fll/level_0/utf/private-string.c fll/level_0/utf/private-triples.c diff --git a/build/stand_alone/fss_read.settings.fss_extended_list b/build/stand_alone/fss_read.settings.fss_extended_list index d62be4cdb..a6a81bade 100644 --- a/build/stand_alone/fss_read.settings.fss_extended_list +++ b/build/stand_alone/fss_read.settings.fss_extended_list @@ -59,7 +59,7 @@ build_sources_program fll/level_0/signal.c build_sources_program fll/level_0/string.c fll/level_0/private-string.c fll/level_0/string/common.c build_sources_program fll/level_0/string/dynamic.c fll/level_0/string/dynamics.c fll/level_0/string/dynamicss.c fll/level_0/string/map.c fll/level_0/string/maps.c fll/level_0/string/mapss.c fll/level_0/string/map_multi.c fll/level_0/string/map_multis.c fll/level_0/string/map_multiss.c fll/level_0/string/static.c fll/level_0/string/statics.c fll/level_0/string/staticss.c fll/level_0/string/triple.c fll/level_0/string/triples.c fll/level_0/string/tripless.c build_sources_program fll/level_0/type_array/cell.c fll/level_0/type_array/date.c fll/level_0/type_array/file.c fll/level_0/type_array/fll_id.c fll/level_0/type_array/int8.c fll/level_0/type_array/int16.c fll/level_0/type_array/int32.c fll/level_0/type_array/int64.c fll/level_0/type_array/int128.c fll/level_0/type_array/number_signed.c fll/level_0/type_array/number_unsigned.c fll/level_0/type_array/poll.c fll/level_0/type_array/quantity.c fll/level_0/type_array/quantitys.c fll/level_0/type_array/quantityss.c fll/level_0/type_array/range.c fll/level_0/type_array/ranges.c fll/level_0/type_array/rangess.c fll/level_0/type_array/state.c fll/level_0/type_array/status.c fll/level_0/type_array/time.c fll/level_0/type_array/uint8.c fll/level_0/type_array/uint16.c fll/level_0/type_array/uint32.c fll/level_0/type_array/uint64.c fll/level_0/type_array/uint128.c -build_sources_program fll/level_0/utf.c fll/level_0/private-utf.c fll/level_0/private-utf_alphabetic.c fll/level_0/private-utf_combining.c fll/level_0/private-utf_control.c fll/level_0/private-utf_digit.c fll/level_0/private-utf_emoji.c fll/level_0/private-utf_joiner.c fll/level_0/private-utf_numeric.c fll/level_0/private-utf_phonetic.c fll/level_0/private-utf_private.c fll/level_0/private-utf_punctuation.c fll/level_0/private-utf_subscript.c fll/level_0/private-utf_superscript.c fll/level_0/private-utf_symbol.c fll/level_0/private-utf_unassigned.c fll/level_0/private-utf_valid.c fll/level_0/private-utf_whitespace.c fll/level_0/private-utf_wide.c fll/level_0/private-utf_word.c fll/level_0/private-utf_zero_width.c +build_sources_program fll/level_0/utf.c fll/level_0/private-utf.c fll/level_0/private-utf_alphabetic.c fll/level_0/private-utf_combining.c fll/level_0/private-utf_control.c fll/level_0/private-utf_digit.c fll/level_0/private-utf_emoji.c fll/level_0/private-utf_joiner.c fll/level_0/private-utf_numeric.c fll/level_0/private-utf_phonetic.c fll/level_0/private-utf_print_not.c fll/level_0/private-utf_private.c fll/level_0/private-utf_punctuation.c fll/level_0/private-utf_subscript.c fll/level_0/private-utf_superscript.c fll/level_0/private-utf_symbol.c fll/level_0/private-utf_unassigned.c fll/level_0/private-utf_valid.c fll/level_0/private-utf_whitespace.c fll/level_0/private-utf_wide.c fll/level_0/private-utf_word.c fll/level_0/private-utf_zero_width.c build_sources_program fll/level_0/utf/common.c fll/level_0/utf/convert.c fll/level_0/utf/dynamic.c fll/level_0/utf/dynamics.c fll/level_0/utf/dynamicss.c fll/level_0/utf/is.c fll/level_0/utf/is_character.c fll/level_0/utf/map.c fll/level_0/utf/maps.c fll/level_0/utf/mapss.c fll/level_0/utf/map_multi.c fll/level_0/utf/map_multis.c fll/level_0/utf/map_multiss.c fll/level_0/utf/static.c fll/level_0/utf/statics.c fll/level_0/utf/staticss.c fll/level_0/utf/string.c fll/level_0/utf/triple.c fll/level_0/utf/triples.c fll/level_0/utf/tripless.c build_sources_program fll/level_0/utf/private-dynamics.c fll/level_0/utf/private-maps.c fll/level_0/utf/private-map_multis.c fll/level_0/utf/private-string.c fll/level_0/utf/private-triples.c diff --git a/build/stand_alone/fss_read.settings.fss_payload b/build/stand_alone/fss_read.settings.fss_payload index c4eeba2ed..6604bd90c 100644 --- a/build/stand_alone/fss_read.settings.fss_payload +++ b/build/stand_alone/fss_read.settings.fss_payload @@ -59,7 +59,7 @@ build_sources_program fll/level_0/signal.c build_sources_program fll/level_0/string.c fll/level_0/private-string.c fll/level_0/string/common.c build_sources_program fll/level_0/string/dynamic.c fll/level_0/string/dynamics.c fll/level_0/string/dynamicss.c fll/level_0/string/map.c fll/level_0/string/maps.c fll/level_0/string/mapss.c fll/level_0/string/map_multi.c fll/level_0/string/map_multis.c fll/level_0/string/map_multiss.c fll/level_0/string/static.c fll/level_0/string/statics.c fll/level_0/string/staticss.c fll/level_0/string/triple.c fll/level_0/string/triples.c fll/level_0/string/tripless.c build_sources_program fll/level_0/type_array/cell.c fll/level_0/type_array/date.c fll/level_0/type_array/file.c fll/level_0/type_array/fll_id.c fll/level_0/type_array/int8.c fll/level_0/type_array/int16.c fll/level_0/type_array/int32.c fll/level_0/type_array/int64.c fll/level_0/type_array/int128.c fll/level_0/type_array/number_signed.c fll/level_0/type_array/number_unsigned.c fll/level_0/type_array/poll.c fll/level_0/type_array/quantity.c fll/level_0/type_array/quantitys.c fll/level_0/type_array/quantityss.c fll/level_0/type_array/range.c fll/level_0/type_array/ranges.c fll/level_0/type_array/rangess.c fll/level_0/type_array/state.c fll/level_0/type_array/status.c fll/level_0/type_array/time.c fll/level_0/type_array/uint8.c fll/level_0/type_array/uint16.c fll/level_0/type_array/uint32.c fll/level_0/type_array/uint64.c fll/level_0/type_array/uint128.c -build_sources_program fll/level_0/utf.c fll/level_0/private-utf.c fll/level_0/private-utf_alphabetic.c fll/level_0/private-utf_combining.c fll/level_0/private-utf_control.c fll/level_0/private-utf_digit.c fll/level_0/private-utf_emoji.c fll/level_0/private-utf_joiner.c fll/level_0/private-utf_numeric.c fll/level_0/private-utf_phonetic.c fll/level_0/private-utf_private.c fll/level_0/private-utf_punctuation.c fll/level_0/private-utf_subscript.c fll/level_0/private-utf_superscript.c fll/level_0/private-utf_symbol.c fll/level_0/private-utf_unassigned.c fll/level_0/private-utf_valid.c fll/level_0/private-utf_whitespace.c fll/level_0/private-utf_wide.c fll/level_0/private-utf_word.c fll/level_0/private-utf_zero_width.c +build_sources_program fll/level_0/utf.c fll/level_0/private-utf.c fll/level_0/private-utf_alphabetic.c fll/level_0/private-utf_combining.c fll/level_0/private-utf_control.c fll/level_0/private-utf_digit.c fll/level_0/private-utf_emoji.c fll/level_0/private-utf_joiner.c fll/level_0/private-utf_numeric.c fll/level_0/private-utf_phonetic.c fll/level_0/private-utf_print_not.c fll/level_0/private-utf_private.c fll/level_0/private-utf_punctuation.c fll/level_0/private-utf_subscript.c fll/level_0/private-utf_superscript.c fll/level_0/private-utf_symbol.c fll/level_0/private-utf_unassigned.c fll/level_0/private-utf_valid.c fll/level_0/private-utf_whitespace.c fll/level_0/private-utf_wide.c fll/level_0/private-utf_word.c fll/level_0/private-utf_zero_width.c build_sources_program fll/level_0/utf/common.c fll/level_0/utf/convert.c fll/level_0/utf/dynamic.c fll/level_0/utf/dynamics.c fll/level_0/utf/dynamicss.c fll/level_0/utf/is.c fll/level_0/utf/is_character.c fll/level_0/utf/map.c fll/level_0/utf/maps.c fll/level_0/utf/mapss.c fll/level_0/utf/map_multi.c fll/level_0/utf/map_multis.c fll/level_0/utf/map_multiss.c fll/level_0/utf/static.c fll/level_0/utf/statics.c fll/level_0/utf/staticss.c fll/level_0/utf/string.c fll/level_0/utf/triple.c fll/level_0/utf/triples.c fll/level_0/utf/tripless.c build_sources_program fll/level_0/utf/private-dynamics.c fll/level_0/utf/private-maps.c fll/level_0/utf/private-map_multis.c fll/level_0/utf/private-string.c fll/level_0/utf/private-triples.c diff --git a/build/stand_alone/fss_write.config.fss_basic.h b/build/stand_alone/fss_write.config.fss_basic.h index f5a8a965d..ee6c66b80 100644 --- a/build/stand_alone/fss_write.config.fss_basic.h +++ b/build/stand_alone/fss_write.config.fss_basic.h @@ -1504,6 +1504,7 @@ #define _di_f_utf_character_is_joiner_ #define _di_f_utf_character_is_numeric_ #define _di_f_utf_character_is_phonetic_ +#define _di_f_utf_character_is_print_not_ #define _di_f_utf_character_is_private_ #define _di_f_utf_character_is_punctuation_ #define _di_f_utf_character_is_subscript_ @@ -1542,6 +1543,7 @@ //#define _di_f_utf_is_joiner_ #define _di_f_utf_is_numeric_ #define _di_f_utf_is_phonetic_ +#define _di_f_utf_is_print_not_ #define _di_f_utf_is_private_ #define _di_f_utf_is_punctuation_ #define _di_f_utf_is_subscript_ diff --git a/build/stand_alone/fss_write.config.fss_basic_list.h b/build/stand_alone/fss_write.config.fss_basic_list.h index 73b9f5104..84d56e0b7 100644 --- a/build/stand_alone/fss_write.config.fss_basic_list.h +++ b/build/stand_alone/fss_write.config.fss_basic_list.h @@ -1504,6 +1504,7 @@ #define _di_f_utf_character_is_joiner_ #define _di_f_utf_character_is_numeric_ #define _di_f_utf_character_is_phonetic_ +#define _di_f_utf_character_is_print_not_ #define _di_f_utf_character_is_private_ #define _di_f_utf_character_is_punctuation_ #define _di_f_utf_character_is_subscript_ @@ -1542,6 +1543,7 @@ //#define _di_f_utf_is_joiner_ #define _di_f_utf_is_numeric_ #define _di_f_utf_is_phonetic_ +#define _di_f_utf_is_print_not_ #define _di_f_utf_is_private_ #define _di_f_utf_is_punctuation_ #define _di_f_utf_is_subscript_ diff --git a/build/stand_alone/fss_write.config.fss_embedded_list.h b/build/stand_alone/fss_write.config.fss_embedded_list.h index db29a22a8..522ff98d8 100644 --- a/build/stand_alone/fss_write.config.fss_embedded_list.h +++ b/build/stand_alone/fss_write.config.fss_embedded_list.h @@ -1504,6 +1504,7 @@ #define _di_f_utf_character_is_joiner_ #define _di_f_utf_character_is_numeric_ #define _di_f_utf_character_is_phonetic_ +#define _di_f_utf_character_is_print_not_ #define _di_f_utf_character_is_private_ #define _di_f_utf_character_is_punctuation_ #define _di_f_utf_character_is_subscript_ @@ -1542,6 +1543,7 @@ //#define _di_f_utf_is_joiner_ #define _di_f_utf_is_numeric_ #define _di_f_utf_is_phonetic_ +#define _di_f_utf_is_print_not_ #define _di_f_utf_is_private_ #define _di_f_utf_is_punctuation_ #define _di_f_utf_is_subscript_ diff --git a/build/stand_alone/fss_write.config.fss_extended.h b/build/stand_alone/fss_write.config.fss_extended.h index 101cb9b12..37482cdb4 100644 --- a/build/stand_alone/fss_write.config.fss_extended.h +++ b/build/stand_alone/fss_write.config.fss_extended.h @@ -1504,6 +1504,7 @@ #define _di_f_utf_character_is_joiner_ #define _di_f_utf_character_is_numeric_ #define _di_f_utf_character_is_phonetic_ +#define _di_f_utf_character_is_print_not_ #define _di_f_utf_character_is_private_ #define _di_f_utf_character_is_punctuation_ #define _di_f_utf_character_is_subscript_ @@ -1542,6 +1543,7 @@ //#define _di_f_utf_is_joiner_ #define _di_f_utf_is_numeric_ #define _di_f_utf_is_phonetic_ +#define _di_f_utf_is_print_not_ #define _di_f_utf_is_private_ #define _di_f_utf_is_punctuation_ #define _di_f_utf_is_subscript_ diff --git a/build/stand_alone/fss_write.config.fss_extended_list.h b/build/stand_alone/fss_write.config.fss_extended_list.h index 17e6eea91..69584003e 100644 --- a/build/stand_alone/fss_write.config.fss_extended_list.h +++ b/build/stand_alone/fss_write.config.fss_extended_list.h @@ -1504,6 +1504,7 @@ #define _di_f_utf_character_is_joiner_ #define _di_f_utf_character_is_numeric_ #define _di_f_utf_character_is_phonetic_ +#define _di_f_utf_character_is_print_not_ #define _di_f_utf_character_is_private_ #define _di_f_utf_character_is_punctuation_ #define _di_f_utf_character_is_subscript_ @@ -1542,6 +1543,7 @@ //#define _di_f_utf_is_joiner_ #define _di_f_utf_is_numeric_ #define _di_f_utf_is_phonetic_ +#define _di_f_utf_is_print_not_ #define _di_f_utf_is_private_ #define _di_f_utf_is_punctuation_ #define _di_f_utf_is_subscript_ diff --git a/build/stand_alone/fss_write.config.fss_payload.h b/build/stand_alone/fss_write.config.fss_payload.h index d3499ca28..6a7c66f88 100644 --- a/build/stand_alone/fss_write.config.fss_payload.h +++ b/build/stand_alone/fss_write.config.fss_payload.h @@ -1504,6 +1504,7 @@ #define _di_f_utf_character_is_joiner_ #define _di_f_utf_character_is_numeric_ #define _di_f_utf_character_is_phonetic_ +#define _di_f_utf_character_is_print_not_ #define _di_f_utf_character_is_private_ #define _di_f_utf_character_is_punctuation_ #define _di_f_utf_character_is_subscript_ @@ -1542,6 +1543,7 @@ //#define _di_f_utf_is_joiner_ #define _di_f_utf_is_numeric_ #define _di_f_utf_is_phonetic_ +#define _di_f_utf_is_print_not_ #define _di_f_utf_is_private_ #define _di_f_utf_is_punctuation_ #define _di_f_utf_is_subscript_ diff --git a/build/stand_alone/fss_write.config.h b/build/stand_alone/fss_write.config.h index 8421653ae..e8942bf40 100644 --- a/build/stand_alone/fss_write.config.h +++ b/build/stand_alone/fss_write.config.h @@ -1504,6 +1504,7 @@ #define _di_f_utf_character_is_joiner_ #define _di_f_utf_character_is_numeric_ #define _di_f_utf_character_is_phonetic_ +#define _di_f_utf_character_is_print_not_ #define _di_f_utf_character_is_private_ #define _di_f_utf_character_is_punctuation_ #define _di_f_utf_character_is_subscript_ @@ -1542,6 +1543,7 @@ //#define _di_f_utf_is_joiner_ #define _di_f_utf_is_numeric_ #define _di_f_utf_is_phonetic_ +#define _di_f_utf_is_print_not_ #define _di_f_utf_is_private_ #define _di_f_utf_is_punctuation_ #define _di_f_utf_is_subscript_ diff --git a/build/stand_alone/fss_write.settings b/build/stand_alone/fss_write.settings index 11b94a9e4..a74e2aebc 100644 --- a/build/stand_alone/fss_write.settings +++ b/build/stand_alone/fss_write.settings @@ -57,7 +57,7 @@ build_sources_program fll/level_0/signal.c build_sources_program fll/level_0/string.c fll/level_0/private-string.c fll/level_0/string/common.c build_sources_program fll/level_0/string/dynamic.c fll/level_0/string/dynamics.c fll/level_0/string/dynamicss.c fll/level_0/string/map.c fll/level_0/string/maps.c fll/level_0/string/mapss.c fll/level_0/string/map_multi.c fll/level_0/string/map_multis.c fll/level_0/string/map_multiss.c fll/level_0/string/static.c fll/level_0/string/statics.c fll/level_0/string/staticss.c fll/level_0/string/triple.c fll/level_0/string/triples.c fll/level_0/string/tripless.c build_sources_program fll/level_0/type_array/cell.c fll/level_0/type_array/date.c fll/level_0/type_array/file.c fll/level_0/type_array/fll_id.c fll/level_0/type_array/int8.c fll/level_0/type_array/int16.c fll/level_0/type_array/int32.c fll/level_0/type_array/int64.c fll/level_0/type_array/int128.c fll/level_0/type_array/number_signed.c fll/level_0/type_array/number_unsigned.c fll/level_0/type_array/poll.c fll/level_0/type_array/quantity.c fll/level_0/type_array/quantitys.c fll/level_0/type_array/quantityss.c fll/level_0/type_array/range.c fll/level_0/type_array/ranges.c fll/level_0/type_array/rangess.c fll/level_0/type_array/state.c fll/level_0/type_array/status.c fll/level_0/type_array/time.c fll/level_0/type_array/uint8.c fll/level_0/type_array/uint16.c fll/level_0/type_array/uint32.c fll/level_0/type_array/uint64.c fll/level_0/type_array/uint128.c -build_sources_program fll/level_0/utf.c fll/level_0/private-utf.c fll/level_0/private-utf_alphabetic.c fll/level_0/private-utf_combining.c fll/level_0/private-utf_control.c fll/level_0/private-utf_digit.c fll/level_0/private-utf_emoji.c fll/level_0/private-utf_joiner.c fll/level_0/private-utf_numeric.c fll/level_0/private-utf_phonetic.c fll/level_0/private-utf_private.c fll/level_0/private-utf_punctuation.c fll/level_0/private-utf_subscript.c fll/level_0/private-utf_superscript.c fll/level_0/private-utf_symbol.c fll/level_0/private-utf_unassigned.c fll/level_0/private-utf_valid.c fll/level_0/private-utf_whitespace.c fll/level_0/private-utf_wide.c fll/level_0/private-utf_word.c fll/level_0/private-utf_zero_width.c +build_sources_program fll/level_0/utf.c fll/level_0/private-utf.c fll/level_0/private-utf_alphabetic.c fll/level_0/private-utf_combining.c fll/level_0/private-utf_control.c fll/level_0/private-utf_digit.c fll/level_0/private-utf_emoji.c fll/level_0/private-utf_joiner.c fll/level_0/private-utf_numeric.c fll/level_0/private-utf_phonetic.c fll/level_0/private-utf_print_not.c fll/level_0/private-utf_private.c fll/level_0/private-utf_punctuation.c fll/level_0/private-utf_subscript.c fll/level_0/private-utf_superscript.c fll/level_0/private-utf_symbol.c fll/level_0/private-utf_unassigned.c fll/level_0/private-utf_valid.c fll/level_0/private-utf_whitespace.c fll/level_0/private-utf_wide.c fll/level_0/private-utf_word.c fll/level_0/private-utf_zero_width.c build_sources_program fll/level_0/utf/common.c fll/level_0/utf/convert.c fll/level_0/utf/dynamic.c fll/level_0/utf/dynamics.c fll/level_0/utf/dynamicss.c fll/level_0/utf/is.c fll/level_0/utf/is_character.c fll/level_0/utf/map.c fll/level_0/utf/maps.c fll/level_0/utf/mapss.c fll/level_0/utf/map_multi.c fll/level_0/utf/map_multis.c fll/level_0/utf/map_multiss.c fll/level_0/utf/static.c fll/level_0/utf/statics.c fll/level_0/utf/staticss.c fll/level_0/utf/string.c fll/level_0/utf/triple.c fll/level_0/utf/triples.c fll/level_0/utf/tripless.c build_sources_program fll/level_0/utf/private-dynamics.c fll/level_0/utf/private-maps.c fll/level_0/utf/private-map_multis.c fll/level_0/utf/private-string.c fll/level_0/utf/private-triples.c diff --git a/build/stand_alone/fss_write.settings.fss_basic b/build/stand_alone/fss_write.settings.fss_basic index 13c650c18..f60daeeb9 100644 --- a/build/stand_alone/fss_write.settings.fss_basic +++ b/build/stand_alone/fss_write.settings.fss_basic @@ -57,7 +57,7 @@ build_sources_program fll/level_0/signal.c build_sources_program fll/level_0/string.c fll/level_0/private-string.c fll/level_0/string/common.c build_sources_program fll/level_0/string/dynamic.c fll/level_0/string/dynamics.c fll/level_0/string/dynamicss.c fll/level_0/string/map.c fll/level_0/string/maps.c fll/level_0/string/mapss.c fll/level_0/string/map_multi.c fll/level_0/string/map_multis.c fll/level_0/string/map_multiss.c fll/level_0/string/static.c fll/level_0/string/statics.c fll/level_0/string/staticss.c fll/level_0/string/triple.c fll/level_0/string/triples.c fll/level_0/string/tripless.c build_sources_program fll/level_0/type_array/cell.c fll/level_0/type_array/date.c fll/level_0/type_array/file.c fll/level_0/type_array/fll_id.c fll/level_0/type_array/int8.c fll/level_0/type_array/int16.c fll/level_0/type_array/int32.c fll/level_0/type_array/int64.c fll/level_0/type_array/int128.c fll/level_0/type_array/number_signed.c fll/level_0/type_array/number_unsigned.c fll/level_0/type_array/poll.c fll/level_0/type_array/quantity.c fll/level_0/type_array/quantitys.c fll/level_0/type_array/quantityss.c fll/level_0/type_array/range.c fll/level_0/type_array/ranges.c fll/level_0/type_array/rangess.c fll/level_0/type_array/state.c fll/level_0/type_array/status.c fll/level_0/type_array/time.c fll/level_0/type_array/uint8.c fll/level_0/type_array/uint16.c fll/level_0/type_array/uint32.c fll/level_0/type_array/uint64.c fll/level_0/type_array/uint128.c -build_sources_program fll/level_0/utf.c fll/level_0/private-utf.c fll/level_0/private-utf_alphabetic.c fll/level_0/private-utf_combining.c fll/level_0/private-utf_control.c fll/level_0/private-utf_digit.c fll/level_0/private-utf_emoji.c fll/level_0/private-utf_joiner.c fll/level_0/private-utf_numeric.c fll/level_0/private-utf_phonetic.c fll/level_0/private-utf_private.c fll/level_0/private-utf_punctuation.c fll/level_0/private-utf_subscript.c fll/level_0/private-utf_superscript.c fll/level_0/private-utf_symbol.c fll/level_0/private-utf_unassigned.c fll/level_0/private-utf_valid.c fll/level_0/private-utf_whitespace.c fll/level_0/private-utf_wide.c fll/level_0/private-utf_word.c fll/level_0/private-utf_zero_width.c +build_sources_program fll/level_0/utf.c fll/level_0/private-utf.c fll/level_0/private-utf_alphabetic.c fll/level_0/private-utf_combining.c fll/level_0/private-utf_control.c fll/level_0/private-utf_digit.c fll/level_0/private-utf_emoji.c fll/level_0/private-utf_joiner.c fll/level_0/private-utf_numeric.c fll/level_0/private-utf_phonetic.c fll/level_0/private-utf_print_not.c fll/level_0/private-utf_private.c fll/level_0/private-utf_punctuation.c fll/level_0/private-utf_subscript.c fll/level_0/private-utf_superscript.c fll/level_0/private-utf_symbol.c fll/level_0/private-utf_unassigned.c fll/level_0/private-utf_valid.c fll/level_0/private-utf_whitespace.c fll/level_0/private-utf_wide.c fll/level_0/private-utf_word.c fll/level_0/private-utf_zero_width.c build_sources_program fll/level_0/utf/common.c fll/level_0/utf/convert.c fll/level_0/utf/dynamic.c fll/level_0/utf/dynamics.c fll/level_0/utf/dynamicss.c fll/level_0/utf/is.c fll/level_0/utf/is_character.c fll/level_0/utf/map.c fll/level_0/utf/maps.c fll/level_0/utf/mapss.c fll/level_0/utf/map_multi.c fll/level_0/utf/map_multis.c fll/level_0/utf/map_multiss.c fll/level_0/utf/static.c fll/level_0/utf/statics.c fll/level_0/utf/staticss.c fll/level_0/utf/string.c fll/level_0/utf/triple.c fll/level_0/utf/triples.c fll/level_0/utf/tripless.c build_sources_program fll/level_0/utf/private-dynamics.c fll/level_0/utf/private-maps.c fll/level_0/utf/private-map_multis.c fll/level_0/utf/private-string.c fll/level_0/utf/private-triples.c diff --git a/build/stand_alone/fss_write.settings.fss_basic_list b/build/stand_alone/fss_write.settings.fss_basic_list index 66ecdcf88..e54e37785 100644 --- a/build/stand_alone/fss_write.settings.fss_basic_list +++ b/build/stand_alone/fss_write.settings.fss_basic_list @@ -57,7 +57,7 @@ build_sources_program fll/level_0/signal.c build_sources_program fll/level_0/string.c fll/level_0/private-string.c fll/level_0/string/common.c build_sources_program fll/level_0/string/dynamic.c fll/level_0/string/dynamics.c fll/level_0/string/dynamicss.c fll/level_0/string/map.c fll/level_0/string/maps.c fll/level_0/string/mapss.c fll/level_0/string/map_multi.c fll/level_0/string/map_multis.c fll/level_0/string/map_multiss.c fll/level_0/string/static.c fll/level_0/string/statics.c fll/level_0/string/staticss.c fll/level_0/string/triple.c fll/level_0/string/triples.c fll/level_0/string/tripless.c build_sources_program fll/level_0/type_array/cell.c fll/level_0/type_array/date.c fll/level_0/type_array/file.c fll/level_0/type_array/fll_id.c fll/level_0/type_array/int8.c fll/level_0/type_array/int16.c fll/level_0/type_array/int32.c fll/level_0/type_array/int64.c fll/level_0/type_array/int128.c fll/level_0/type_array/number_signed.c fll/level_0/type_array/number_unsigned.c fll/level_0/type_array/poll.c fll/level_0/type_array/quantity.c fll/level_0/type_array/quantitys.c fll/level_0/type_array/quantityss.c fll/level_0/type_array/range.c fll/level_0/type_array/ranges.c fll/level_0/type_array/rangess.c fll/level_0/type_array/state.c fll/level_0/type_array/status.c fll/level_0/type_array/time.c fll/level_0/type_array/uint8.c fll/level_0/type_array/uint16.c fll/level_0/type_array/uint32.c fll/level_0/type_array/uint64.c fll/level_0/type_array/uint128.c -build_sources_program fll/level_0/utf.c fll/level_0/private-utf.c fll/level_0/private-utf_alphabetic.c fll/level_0/private-utf_combining.c fll/level_0/private-utf_control.c fll/level_0/private-utf_digit.c fll/level_0/private-utf_emoji.c fll/level_0/private-utf_joiner.c fll/level_0/private-utf_numeric.c fll/level_0/private-utf_phonetic.c fll/level_0/private-utf_private.c fll/level_0/private-utf_punctuation.c fll/level_0/private-utf_subscript.c fll/level_0/private-utf_superscript.c fll/level_0/private-utf_symbol.c fll/level_0/private-utf_unassigned.c fll/level_0/private-utf_valid.c fll/level_0/private-utf_whitespace.c fll/level_0/private-utf_wide.c fll/level_0/private-utf_word.c fll/level_0/private-utf_zero_width.c +build_sources_program fll/level_0/utf.c fll/level_0/private-utf.c fll/level_0/private-utf_alphabetic.c fll/level_0/private-utf_combining.c fll/level_0/private-utf_control.c fll/level_0/private-utf_digit.c fll/level_0/private-utf_emoji.c fll/level_0/private-utf_joiner.c fll/level_0/private-utf_numeric.c fll/level_0/private-utf_phonetic.c fll/level_0/private-utf_print_not.c fll/level_0/private-utf_private.c fll/level_0/private-utf_punctuation.c fll/level_0/private-utf_subscript.c fll/level_0/private-utf_superscript.c fll/level_0/private-utf_symbol.c fll/level_0/private-utf_unassigned.c fll/level_0/private-utf_valid.c fll/level_0/private-utf_whitespace.c fll/level_0/private-utf_wide.c fll/level_0/private-utf_word.c fll/level_0/private-utf_zero_width.c build_sources_program fll/level_0/utf/common.c fll/level_0/utf/convert.c fll/level_0/utf/dynamic.c fll/level_0/utf/dynamics.c fll/level_0/utf/dynamicss.c fll/level_0/utf/is.c fll/level_0/utf/is_character.c fll/level_0/utf/map.c fll/level_0/utf/maps.c fll/level_0/utf/mapss.c fll/level_0/utf/map_multi.c fll/level_0/utf/map_multis.c fll/level_0/utf/map_multiss.c fll/level_0/utf/static.c fll/level_0/utf/statics.c fll/level_0/utf/staticss.c fll/level_0/utf/string.c fll/level_0/utf/triple.c fll/level_0/utf/triples.c fll/level_0/utf/tripless.c build_sources_program fll/level_0/utf/private-dynamics.c fll/level_0/utf/private-maps.c fll/level_0/utf/private-map_multis.c fll/level_0/utf/private-string.c fll/level_0/utf/private-triples.c diff --git a/build/stand_alone/fss_write.settings.fss_embedded_list b/build/stand_alone/fss_write.settings.fss_embedded_list index 53fb614e5..1e35df14a 100644 --- a/build/stand_alone/fss_write.settings.fss_embedded_list +++ b/build/stand_alone/fss_write.settings.fss_embedded_list @@ -57,7 +57,7 @@ build_sources_program fll/level_0/signal.c build_sources_program fll/level_0/string.c fll/level_0/private-string.c fll/level_0/string/common.c build_sources_program fll/level_0/string/dynamic.c fll/level_0/string/dynamics.c fll/level_0/string/dynamicss.c fll/level_0/string/map.c fll/level_0/string/maps.c fll/level_0/string/mapss.c fll/level_0/string/map_multi.c fll/level_0/string/map_multis.c fll/level_0/string/map_multiss.c fll/level_0/string/static.c fll/level_0/string/statics.c fll/level_0/string/staticss.c fll/level_0/string/triple.c fll/level_0/string/triples.c fll/level_0/string/tripless.c build_sources_program fll/level_0/type_array/cell.c fll/level_0/type_array/date.c fll/level_0/type_array/file.c fll/level_0/type_array/fll_id.c fll/level_0/type_array/int8.c fll/level_0/type_array/int16.c fll/level_0/type_array/int32.c fll/level_0/type_array/int64.c fll/level_0/type_array/int128.c fll/level_0/type_array/number_signed.c fll/level_0/type_array/number_unsigned.c fll/level_0/type_array/poll.c fll/level_0/type_array/quantity.c fll/level_0/type_array/quantitys.c fll/level_0/type_array/quantityss.c fll/level_0/type_array/range.c fll/level_0/type_array/ranges.c fll/level_0/type_array/rangess.c fll/level_0/type_array/state.c fll/level_0/type_array/status.c fll/level_0/type_array/time.c fll/level_0/type_array/uint8.c fll/level_0/type_array/uint16.c fll/level_0/type_array/uint32.c fll/level_0/type_array/uint64.c fll/level_0/type_array/uint128.c -build_sources_program fll/level_0/utf.c fll/level_0/private-utf.c fll/level_0/private-utf_alphabetic.c fll/level_0/private-utf_combining.c fll/level_0/private-utf_control.c fll/level_0/private-utf_digit.c fll/level_0/private-utf_emoji.c fll/level_0/private-utf_joiner.c fll/level_0/private-utf_numeric.c fll/level_0/private-utf_phonetic.c fll/level_0/private-utf_private.c fll/level_0/private-utf_punctuation.c fll/level_0/private-utf_subscript.c fll/level_0/private-utf_superscript.c fll/level_0/private-utf_symbol.c fll/level_0/private-utf_unassigned.c fll/level_0/private-utf_valid.c fll/level_0/private-utf_whitespace.c fll/level_0/private-utf_wide.c fll/level_0/private-utf_word.c fll/level_0/private-utf_zero_width.c +build_sources_program fll/level_0/utf.c fll/level_0/private-utf.c fll/level_0/private-utf_alphabetic.c fll/level_0/private-utf_combining.c fll/level_0/private-utf_control.c fll/level_0/private-utf_digit.c fll/level_0/private-utf_emoji.c fll/level_0/private-utf_joiner.c fll/level_0/private-utf_numeric.c fll/level_0/private-utf_phonetic.c fll/level_0/private-utf_print_not.c fll/level_0/private-utf_private.c fll/level_0/private-utf_punctuation.c fll/level_0/private-utf_subscript.c fll/level_0/private-utf_superscript.c fll/level_0/private-utf_symbol.c fll/level_0/private-utf_unassigned.c fll/level_0/private-utf_valid.c fll/level_0/private-utf_whitespace.c fll/level_0/private-utf_wide.c fll/level_0/private-utf_word.c fll/level_0/private-utf_zero_width.c build_sources_program fll/level_0/utf/common.c fll/level_0/utf/convert.c fll/level_0/utf/dynamic.c fll/level_0/utf/dynamics.c fll/level_0/utf/dynamicss.c fll/level_0/utf/is.c fll/level_0/utf/is_character.c fll/level_0/utf/map.c fll/level_0/utf/maps.c fll/level_0/utf/mapss.c fll/level_0/utf/map_multi.c fll/level_0/utf/map_multis.c fll/level_0/utf/map_multiss.c fll/level_0/utf/static.c fll/level_0/utf/statics.c fll/level_0/utf/staticss.c fll/level_0/utf/string.c fll/level_0/utf/triple.c fll/level_0/utf/triples.c fll/level_0/utf/tripless.c build_sources_program fll/level_0/utf/private-dynamics.c fll/level_0/utf/private-maps.c fll/level_0/utf/private-map_multis.c fll/level_0/utf/private-string.c fll/level_0/utf/private-triples.c diff --git a/build/stand_alone/fss_write.settings.fss_extended b/build/stand_alone/fss_write.settings.fss_extended index eb45958d3..4657da0a5 100644 --- a/build/stand_alone/fss_write.settings.fss_extended +++ b/build/stand_alone/fss_write.settings.fss_extended @@ -57,7 +57,7 @@ build_sources_program fll/level_0/signal.c build_sources_program fll/level_0/string.c fll/level_0/private-string.c fll/level_0/string/common.c build_sources_program fll/level_0/string/dynamic.c fll/level_0/string/dynamics.c fll/level_0/string/dynamicss.c fll/level_0/string/map.c fll/level_0/string/maps.c fll/level_0/string/mapss.c fll/level_0/string/map_multi.c fll/level_0/string/map_multis.c fll/level_0/string/map_multiss.c fll/level_0/string/static.c fll/level_0/string/statics.c fll/level_0/string/staticss.c fll/level_0/string/triple.c fll/level_0/string/triples.c fll/level_0/string/tripless.c build_sources_program fll/level_0/type_array/cell.c fll/level_0/type_array/date.c fll/level_0/type_array/file.c fll/level_0/type_array/fll_id.c fll/level_0/type_array/int8.c fll/level_0/type_array/int16.c fll/level_0/type_array/int32.c fll/level_0/type_array/int64.c fll/level_0/type_array/int128.c fll/level_0/type_array/number_signed.c fll/level_0/type_array/number_unsigned.c fll/level_0/type_array/poll.c fll/level_0/type_array/quantity.c fll/level_0/type_array/quantitys.c fll/level_0/type_array/quantityss.c fll/level_0/type_array/range.c fll/level_0/type_array/ranges.c fll/level_0/type_array/rangess.c fll/level_0/type_array/state.c fll/level_0/type_array/status.c fll/level_0/type_array/time.c fll/level_0/type_array/uint8.c fll/level_0/type_array/uint16.c fll/level_0/type_array/uint32.c fll/level_0/type_array/uint64.c fll/level_0/type_array/uint128.c -build_sources_program fll/level_0/utf.c fll/level_0/private-utf.c fll/level_0/private-utf_alphabetic.c fll/level_0/private-utf_combining.c fll/level_0/private-utf_control.c fll/level_0/private-utf_digit.c fll/level_0/private-utf_emoji.c fll/level_0/private-utf_joiner.c fll/level_0/private-utf_numeric.c fll/level_0/private-utf_phonetic.c fll/level_0/private-utf_private.c fll/level_0/private-utf_punctuation.c fll/level_0/private-utf_subscript.c fll/level_0/private-utf_superscript.c fll/level_0/private-utf_symbol.c fll/level_0/private-utf_unassigned.c fll/level_0/private-utf_valid.c fll/level_0/private-utf_whitespace.c fll/level_0/private-utf_wide.c fll/level_0/private-utf_word.c fll/level_0/private-utf_zero_width.c +build_sources_program fll/level_0/utf.c fll/level_0/private-utf.c fll/level_0/private-utf_alphabetic.c fll/level_0/private-utf_combining.c fll/level_0/private-utf_control.c fll/level_0/private-utf_digit.c fll/level_0/private-utf_emoji.c fll/level_0/private-utf_joiner.c fll/level_0/private-utf_numeric.c fll/level_0/private-utf_phonetic.c fll/level_0/private-utf_print_not.c fll/level_0/private-utf_private.c fll/level_0/private-utf_punctuation.c fll/level_0/private-utf_subscript.c fll/level_0/private-utf_superscript.c fll/level_0/private-utf_symbol.c fll/level_0/private-utf_unassigned.c fll/level_0/private-utf_valid.c fll/level_0/private-utf_whitespace.c fll/level_0/private-utf_wide.c fll/level_0/private-utf_word.c fll/level_0/private-utf_zero_width.c build_sources_program fll/level_0/utf/common.c fll/level_0/utf/convert.c fll/level_0/utf/dynamic.c fll/level_0/utf/dynamics.c fll/level_0/utf/dynamicss.c fll/level_0/utf/is.c fll/level_0/utf/is_character.c fll/level_0/utf/map.c fll/level_0/utf/maps.c fll/level_0/utf/mapss.c fll/level_0/utf/map_multi.c fll/level_0/utf/map_multis.c fll/level_0/utf/map_multiss.c fll/level_0/utf/static.c fll/level_0/utf/statics.c fll/level_0/utf/staticss.c fll/level_0/utf/string.c fll/level_0/utf/triple.c fll/level_0/utf/triples.c fll/level_0/utf/tripless.c build_sources_program fll/level_0/utf/private-dynamics.c fll/level_0/utf/private-maps.c fll/level_0/utf/private-map_multis.c fll/level_0/utf/private-string.c fll/level_0/utf/private-triples.c diff --git a/build/stand_alone/fss_write.settings.fss_extended_list b/build/stand_alone/fss_write.settings.fss_extended_list index 160f2e45f..c6f8ae19c 100644 --- a/build/stand_alone/fss_write.settings.fss_extended_list +++ b/build/stand_alone/fss_write.settings.fss_extended_list @@ -57,7 +57,7 @@ build_sources_program fll/level_0/signal.c build_sources_program fll/level_0/string.c fll/level_0/private-string.c fll/level_0/string/common.c build_sources_program fll/level_0/string/dynamic.c fll/level_0/string/dynamics.c fll/level_0/string/dynamicss.c fll/level_0/string/map.c fll/level_0/string/maps.c fll/level_0/string/mapss.c fll/level_0/string/map_multi.c fll/level_0/string/map_multis.c fll/level_0/string/map_multiss.c fll/level_0/string/static.c fll/level_0/string/statics.c fll/level_0/string/staticss.c fll/level_0/string/triple.c fll/level_0/string/triples.c fll/level_0/string/tripless.c build_sources_program fll/level_0/type_array/cell.c fll/level_0/type_array/date.c fll/level_0/type_array/file.c fll/level_0/type_array/fll_id.c fll/level_0/type_array/int8.c fll/level_0/type_array/int16.c fll/level_0/type_array/int32.c fll/level_0/type_array/int64.c fll/level_0/type_array/int128.c fll/level_0/type_array/number_signed.c fll/level_0/type_array/number_unsigned.c fll/level_0/type_array/poll.c fll/level_0/type_array/quantity.c fll/level_0/type_array/quantitys.c fll/level_0/type_array/quantityss.c fll/level_0/type_array/range.c fll/level_0/type_array/ranges.c fll/level_0/type_array/rangess.c fll/level_0/type_array/state.c fll/level_0/type_array/status.c fll/level_0/type_array/time.c fll/level_0/type_array/uint8.c fll/level_0/type_array/uint16.c fll/level_0/type_array/uint32.c fll/level_0/type_array/uint64.c fll/level_0/type_array/uint128.c -build_sources_program fll/level_0/utf.c fll/level_0/private-utf.c fll/level_0/private-utf_alphabetic.c fll/level_0/private-utf_combining.c fll/level_0/private-utf_control.c fll/level_0/private-utf_digit.c fll/level_0/private-utf_emoji.c fll/level_0/private-utf_joiner.c fll/level_0/private-utf_numeric.c fll/level_0/private-utf_phonetic.c fll/level_0/private-utf_private.c fll/level_0/private-utf_punctuation.c fll/level_0/private-utf_subscript.c fll/level_0/private-utf_superscript.c fll/level_0/private-utf_symbol.c fll/level_0/private-utf_unassigned.c fll/level_0/private-utf_valid.c fll/level_0/private-utf_whitespace.c fll/level_0/private-utf_wide.c fll/level_0/private-utf_word.c fll/level_0/private-utf_zero_width.c +build_sources_program fll/level_0/utf.c fll/level_0/private-utf.c fll/level_0/private-utf_alphabetic.c fll/level_0/private-utf_combining.c fll/level_0/private-utf_control.c fll/level_0/private-utf_digit.c fll/level_0/private-utf_emoji.c fll/level_0/private-utf_joiner.c fll/level_0/private-utf_numeric.c fll/level_0/private-utf_phonetic.c fll/level_0/private-utf_print_not.c fll/level_0/private-utf_private.c fll/level_0/private-utf_punctuation.c fll/level_0/private-utf_subscript.c fll/level_0/private-utf_superscript.c fll/level_0/private-utf_symbol.c fll/level_0/private-utf_unassigned.c fll/level_0/private-utf_valid.c fll/level_0/private-utf_whitespace.c fll/level_0/private-utf_wide.c fll/level_0/private-utf_word.c fll/level_0/private-utf_zero_width.c build_sources_program fll/level_0/utf/common.c fll/level_0/utf/convert.c fll/level_0/utf/dynamic.c fll/level_0/utf/dynamics.c fll/level_0/utf/dynamicss.c fll/level_0/utf/is.c fll/level_0/utf/is_character.c fll/level_0/utf/map.c fll/level_0/utf/maps.c fll/level_0/utf/mapss.c fll/level_0/utf/map_multi.c fll/level_0/utf/map_multis.c fll/level_0/utf/map_multiss.c fll/level_0/utf/static.c fll/level_0/utf/statics.c fll/level_0/utf/staticss.c fll/level_0/utf/string.c fll/level_0/utf/triple.c fll/level_0/utf/triples.c fll/level_0/utf/tripless.c build_sources_program fll/level_0/utf/private-dynamics.c fll/level_0/utf/private-maps.c fll/level_0/utf/private-map_multis.c fll/level_0/utf/private-string.c fll/level_0/utf/private-triples.c diff --git a/build/stand_alone/fss_write.settings.fss_payload b/build/stand_alone/fss_write.settings.fss_payload index 28305e052..07a4d0872 100644 --- a/build/stand_alone/fss_write.settings.fss_payload +++ b/build/stand_alone/fss_write.settings.fss_payload @@ -57,7 +57,7 @@ build_sources_program fll/level_0/signal.c build_sources_program fll/level_0/string.c fll/level_0/private-string.c fll/level_0/string/common.c build_sources_program fll/level_0/string/dynamic.c fll/level_0/string/dynamics.c fll/level_0/string/dynamicss.c fll/level_0/string/map.c fll/level_0/string/maps.c fll/level_0/string/mapss.c fll/level_0/string/map_multi.c fll/level_0/string/map_multis.c fll/level_0/string/map_multiss.c fll/level_0/string/static.c fll/level_0/string/statics.c fll/level_0/string/staticss.c fll/level_0/string/triple.c fll/level_0/string/triples.c fll/level_0/string/tripless.c build_sources_program fll/level_0/type_array/cell.c fll/level_0/type_array/date.c fll/level_0/type_array/file.c fll/level_0/type_array/fll_id.c fll/level_0/type_array/int8.c fll/level_0/type_array/int16.c fll/level_0/type_array/int32.c fll/level_0/type_array/int64.c fll/level_0/type_array/int128.c fll/level_0/type_array/number_signed.c fll/level_0/type_array/number_unsigned.c fll/level_0/type_array/poll.c fll/level_0/type_array/quantity.c fll/level_0/type_array/quantitys.c fll/level_0/type_array/quantityss.c fll/level_0/type_array/range.c fll/level_0/type_array/ranges.c fll/level_0/type_array/rangess.c fll/level_0/type_array/state.c fll/level_0/type_array/status.c fll/level_0/type_array/time.c fll/level_0/type_array/uint8.c fll/level_0/type_array/uint16.c fll/level_0/type_array/uint32.c fll/level_0/type_array/uint64.c fll/level_0/type_array/uint128.c -build_sources_program fll/level_0/utf.c fll/level_0/private-utf.c fll/level_0/private-utf_alphabetic.c fll/level_0/private-utf_combining.c fll/level_0/private-utf_control.c fll/level_0/private-utf_digit.c fll/level_0/private-utf_emoji.c fll/level_0/private-utf_joiner.c fll/level_0/private-utf_numeric.c fll/level_0/private-utf_phonetic.c fll/level_0/private-utf_private.c fll/level_0/private-utf_punctuation.c fll/level_0/private-utf_subscript.c fll/level_0/private-utf_superscript.c fll/level_0/private-utf_symbol.c fll/level_0/private-utf_unassigned.c fll/level_0/private-utf_valid.c fll/level_0/private-utf_whitespace.c fll/level_0/private-utf_wide.c fll/level_0/private-utf_word.c fll/level_0/private-utf_zero_width.c +build_sources_program fll/level_0/utf.c fll/level_0/private-utf.c fll/level_0/private-utf_alphabetic.c fll/level_0/private-utf_combining.c fll/level_0/private-utf_control.c fll/level_0/private-utf_digit.c fll/level_0/private-utf_emoji.c fll/level_0/private-utf_joiner.c fll/level_0/private-utf_numeric.c fll/level_0/private-utf_phonetic.c fll/level_0/private-utf_print_not.c fll/level_0/private-utf_private.c fll/level_0/private-utf_punctuation.c fll/level_0/private-utf_subscript.c fll/level_0/private-utf_superscript.c fll/level_0/private-utf_symbol.c fll/level_0/private-utf_unassigned.c fll/level_0/private-utf_valid.c fll/level_0/private-utf_whitespace.c fll/level_0/private-utf_wide.c fll/level_0/private-utf_word.c fll/level_0/private-utf_zero_width.c build_sources_program fll/level_0/utf/common.c fll/level_0/utf/convert.c fll/level_0/utf/dynamic.c fll/level_0/utf/dynamics.c fll/level_0/utf/dynamicss.c fll/level_0/utf/is.c fll/level_0/utf/is_character.c fll/level_0/utf/map.c fll/level_0/utf/maps.c fll/level_0/utf/mapss.c fll/level_0/utf/map_multi.c fll/level_0/utf/map_multis.c fll/level_0/utf/map_multiss.c fll/level_0/utf/static.c fll/level_0/utf/statics.c fll/level_0/utf/staticss.c fll/level_0/utf/string.c fll/level_0/utf/triple.c fll/level_0/utf/triples.c fll/level_0/utf/tripless.c build_sources_program fll/level_0/utf/private-dynamics.c fll/level_0/utf/private-maps.c fll/level_0/utf/private-map_multis.c fll/level_0/utf/private-string.c fll/level_0/utf/private-triples.c diff --git a/build/stand_alone/iki_read.config.eki.h b/build/stand_alone/iki_read.config.eki.h index 3e207ebb0..f445b4b3f 100644 --- a/build/stand_alone/iki_read.config.eki.h +++ b/build/stand_alone/iki_read.config.eki.h @@ -1404,6 +1404,7 @@ #define _di_f_utf_character_is_joiner_ #define _di_f_utf_character_is_numeric_ #define _di_f_utf_character_is_phonetic_ +#define _di_f_utf_character_is_print_not_ #define _di_f_utf_character_is_private_ #define _di_f_utf_character_is_punctuation_ #define _di_f_utf_character_is_subscript_ @@ -1442,6 +1443,7 @@ //#define _di_f_utf_is_joiner_ #define _di_f_utf_is_numeric_ #define _di_f_utf_is_phonetic_ +#define _di_f_utf_is_print_not_ #define _di_f_utf_is_private_ #define _di_f_utf_is_punctuation_ #define _di_f_utf_is_subscript_ diff --git a/build/stand_alone/iki_read.config.h b/build/stand_alone/iki_read.config.h index afc332121..9c81a6a8a 100644 --- a/build/stand_alone/iki_read.config.h +++ b/build/stand_alone/iki_read.config.h @@ -1404,6 +1404,7 @@ #define _di_f_utf_character_is_joiner_ #define _di_f_utf_character_is_numeric_ #define _di_f_utf_character_is_phonetic_ +#define _di_f_utf_character_is_print_not_ #define _di_f_utf_character_is_private_ #define _di_f_utf_character_is_punctuation_ #define _di_f_utf_character_is_subscript_ @@ -1442,6 +1443,7 @@ #define _di_f_utf_is_joiner_ #define _di_f_utf_is_numeric_ #define _di_f_utf_is_phonetic_ +#define _di_f_utf_is_print_not_ #define _di_f_utf_is_private_ #define _di_f_utf_is_punctuation_ #define _di_f_utf_is_subscript_ diff --git a/build/stand_alone/iki_read.settings b/build/stand_alone/iki_read.settings index d31ff4b84..db1d17e7b 100644 --- a/build/stand_alone/iki_read.settings +++ b/build/stand_alone/iki_read.settings @@ -55,7 +55,7 @@ build_sources_program fll/level_0/signal.c build_sources_program fll/level_0/string.c fll/level_0/private-string.c fll/level_0/string/common.c build_sources_program fll/level_0/string/dynamic.c fll/level_0/string/dynamics.c fll/level_0/string/dynamicss.c fll/level_0/string/map.c fll/level_0/string/maps.c fll/level_0/string/mapss.c fll/level_0/string/map_multi.c fll/level_0/string/map_multis.c fll/level_0/string/map_multiss.c fll/level_0/string/static.c fll/level_0/string/statics.c fll/level_0/string/staticss.c fll/level_0/string/triple.c fll/level_0/string/triples.c fll/level_0/string/tripless.c build_sources_program fll/level_0/type_array/cell.c fll/level_0/type_array/date.c fll/level_0/type_array/file.c fll/level_0/type_array/fll_id.c fll/level_0/type_array/int8.c fll/level_0/type_array/int16.c fll/level_0/type_array/int32.c fll/level_0/type_array/int64.c fll/level_0/type_array/int128.c fll/level_0/type_array/number_signed.c fll/level_0/type_array/number_unsigned.c fll/level_0/type_array/poll.c fll/level_0/type_array/quantity.c fll/level_0/type_array/quantitys.c fll/level_0/type_array/quantityss.c fll/level_0/type_array/range.c fll/level_0/type_array/ranges.c fll/level_0/type_array/rangess.c fll/level_0/type_array/state.c fll/level_0/type_array/status.c fll/level_0/type_array/time.c fll/level_0/type_array/uint8.c fll/level_0/type_array/uint16.c fll/level_0/type_array/uint32.c fll/level_0/type_array/uint64.c fll/level_0/type_array/uint128.c -build_sources_program fll/level_0/utf.c fll/level_0/private-utf.c fll/level_0/private-utf_alphabetic.c fll/level_0/private-utf_combining.c fll/level_0/private-utf_control.c fll/level_0/private-utf_digit.c fll/level_0/private-utf_emoji.c fll/level_0/private-utf_joiner.c fll/level_0/private-utf_numeric.c fll/level_0/private-utf_phonetic.c fll/level_0/private-utf_private.c fll/level_0/private-utf_punctuation.c fll/level_0/private-utf_subscript.c fll/level_0/private-utf_superscript.c fll/level_0/private-utf_symbol.c fll/level_0/private-utf_unassigned.c fll/level_0/private-utf_valid.c fll/level_0/private-utf_whitespace.c fll/level_0/private-utf_wide.c fll/level_0/private-utf_word.c fll/level_0/private-utf_zero_width.c +build_sources_program fll/level_0/utf.c fll/level_0/private-utf.c fll/level_0/private-utf_alphabetic.c fll/level_0/private-utf_combining.c fll/level_0/private-utf_control.c fll/level_0/private-utf_digit.c fll/level_0/private-utf_emoji.c fll/level_0/private-utf_joiner.c fll/level_0/private-utf_numeric.c fll/level_0/private-utf_phonetic.c fll/level_0/private-utf_print_not.c fll/level_0/private-utf_private.c fll/level_0/private-utf_punctuation.c fll/level_0/private-utf_subscript.c fll/level_0/private-utf_superscript.c fll/level_0/private-utf_symbol.c fll/level_0/private-utf_unassigned.c fll/level_0/private-utf_valid.c fll/level_0/private-utf_whitespace.c fll/level_0/private-utf_wide.c fll/level_0/private-utf_word.c fll/level_0/private-utf_zero_width.c build_sources_program fll/level_0/utf/common.c fll/level_0/utf/convert.c fll/level_0/utf/dynamic.c fll/level_0/utf/dynamics.c fll/level_0/utf/dynamicss.c fll/level_0/utf/is.c fll/level_0/utf/is_character.c fll/level_0/utf/map.c fll/level_0/utf/maps.c fll/level_0/utf/mapss.c fll/level_0/utf/map_multi.c fll/level_0/utf/map_multis.c fll/level_0/utf/map_multiss.c fll/level_0/utf/static.c fll/level_0/utf/statics.c fll/level_0/utf/staticss.c fll/level_0/utf/string.c fll/level_0/utf/triple.c fll/level_0/utf/triples.c fll/level_0/utf/tripless.c build_sources_program fll/level_0/utf/private-dynamics.c fll/level_0/utf/private-maps.c fll/level_0/utf/private-map_multis.c fll/level_0/utf/private-string.c fll/level_0/utf/private-triples.c diff --git a/build/stand_alone/iki_read.settings.eki b/build/stand_alone/iki_read.settings.eki index 3493673a2..bb3a36fd5 100644 --- a/build/stand_alone/iki_read.settings.eki +++ b/build/stand_alone/iki_read.settings.eki @@ -54,7 +54,7 @@ build_sources_program fll/level_0/signal.c build_sources_program fll/level_0/string.c fll/level_0/private-string.c fll/level_0/string/common.c build_sources_program fll/level_0/string/dynamic.c fll/level_0/string/dynamics.c fll/level_0/string/dynamicss.c fll/level_0/string/map.c fll/level_0/string/maps.c fll/level_0/string/mapss.c fll/level_0/string/map_multi.c fll/level_0/string/map_multis.c fll/level_0/string/map_multiss.c fll/level_0/string/static.c fll/level_0/string/statics.c fll/level_0/string/staticss.c fll/level_0/string/triple.c fll/level_0/string/triples.c fll/level_0/string/tripless.c build_sources_program fll/level_0/type_array/cell.c fll/level_0/type_array/date.c fll/level_0/type_array/file.c fll/level_0/type_array/fll_id.c fll/level_0/type_array/int8.c fll/level_0/type_array/int16.c fll/level_0/type_array/int32.c fll/level_0/type_array/int64.c fll/level_0/type_array/int128.c fll/level_0/type_array/number_signed.c fll/level_0/type_array/number_unsigned.c fll/level_0/type_array/poll.c fll/level_0/type_array/quantity.c fll/level_0/type_array/quantitys.c fll/level_0/type_array/quantityss.c fll/level_0/type_array/range.c fll/level_0/type_array/ranges.c fll/level_0/type_array/rangess.c fll/level_0/type_array/state.c fll/level_0/type_array/status.c fll/level_0/type_array/time.c fll/level_0/type_array/uint8.c fll/level_0/type_array/uint16.c fll/level_0/type_array/uint32.c fll/level_0/type_array/uint64.c fll/level_0/type_array/uint128.c -build_sources_program fll/level_0/utf.c fll/level_0/private-utf.c fll/level_0/private-utf_alphabetic.c fll/level_0/private-utf_combining.c fll/level_0/private-utf_control.c fll/level_0/private-utf_digit.c fll/level_0/private-utf_emoji.c fll/level_0/private-utf_joiner.c fll/level_0/private-utf_numeric.c fll/level_0/private-utf_phonetic.c fll/level_0/private-utf_private.c fll/level_0/private-utf_punctuation.c fll/level_0/private-utf_subscript.c fll/level_0/private-utf_superscript.c fll/level_0/private-utf_symbol.c fll/level_0/private-utf_unassigned.c fll/level_0/private-utf_valid.c fll/level_0/private-utf_whitespace.c fll/level_0/private-utf_wide.c fll/level_0/private-utf_word.c fll/level_0/private-utf_zero_width.c +build_sources_program fll/level_0/utf.c fll/level_0/private-utf.c fll/level_0/private-utf_alphabetic.c fll/level_0/private-utf_combining.c fll/level_0/private-utf_control.c fll/level_0/private-utf_digit.c fll/level_0/private-utf_emoji.c fll/level_0/private-utf_joiner.c fll/level_0/private-utf_numeric.c fll/level_0/private-utf_phonetic.c fll/level_0/private-utf_print_not.c fll/level_0/private-utf_private.c fll/level_0/private-utf_punctuation.c fll/level_0/private-utf_subscript.c fll/level_0/private-utf_superscript.c fll/level_0/private-utf_symbol.c fll/level_0/private-utf_unassigned.c fll/level_0/private-utf_valid.c fll/level_0/private-utf_whitespace.c fll/level_0/private-utf_wide.c fll/level_0/private-utf_word.c fll/level_0/private-utf_zero_width.c build_sources_program fll/level_0/utf/common.c fll/level_0/utf/convert.c fll/level_0/utf/dynamic.c fll/level_0/utf/dynamics.c fll/level_0/utf/dynamicss.c fll/level_0/utf/is.c fll/level_0/utf/is_character.c fll/level_0/utf/map.c fll/level_0/utf/maps.c fll/level_0/utf/mapss.c fll/level_0/utf/map_multi.c fll/level_0/utf/map_multis.c fll/level_0/utf/map_multiss.c fll/level_0/utf/static.c fll/level_0/utf/statics.c fll/level_0/utf/staticss.c fll/level_0/utf/string.c fll/level_0/utf/triple.c fll/level_0/utf/triples.c fll/level_0/utf/tripless.c build_sources_program fll/level_0/utf/private-dynamics.c fll/level_0/utf/private-maps.c fll/level_0/utf/private-map_multis.c fll/level_0/utf/private-string.c fll/level_0/utf/private-triples.c diff --git a/build/stand_alone/iki_write.config.eki.h b/build/stand_alone/iki_write.config.eki.h index 3d03e3957..208a3ea5c 100644 --- a/build/stand_alone/iki_write.config.eki.h +++ b/build/stand_alone/iki_write.config.eki.h @@ -1355,6 +1355,7 @@ #define _di_f_utf_character_is_joiner_ #define _di_f_utf_character_is_numeric_ #define _di_f_utf_character_is_phonetic_ +#define _di_f_utf_character_is_print_not_ #define _di_f_utf_character_is_private_ #define _di_f_utf_character_is_punctuation_ #define _di_f_utf_character_is_subscript_ @@ -1393,6 +1394,7 @@ #define _di_f_utf_is_joiner_ #define _di_f_utf_is_numeric_ #define _di_f_utf_is_phonetic_ +#define _di_f_utf_is_print_not_ #define _di_f_utf_is_private_ #define _di_f_utf_is_punctuation_ #define _di_f_utf_is_subscript_ diff --git a/build/stand_alone/iki_write.config.h b/build/stand_alone/iki_write.config.h index 3832f9a3b..7aed27576 100644 --- a/build/stand_alone/iki_write.config.h +++ b/build/stand_alone/iki_write.config.h @@ -1355,6 +1355,7 @@ #define _di_f_utf_character_is_joiner_ #define _di_f_utf_character_is_numeric_ #define _di_f_utf_character_is_phonetic_ +#define _di_f_utf_character_is_print_not_ #define _di_f_utf_character_is_private_ #define _di_f_utf_character_is_punctuation_ #define _di_f_utf_character_is_subscript_ @@ -1393,6 +1394,7 @@ #define _di_f_utf_is_joiner_ #define _di_f_utf_is_numeric_ #define _di_f_utf_is_phonetic_ +#define _di_f_utf_is_print_not_ #define _di_f_utf_is_private_ #define _di_f_utf_is_punctuation_ #define _di_f_utf_is_subscript_ diff --git a/build/stand_alone/iki_write.settings b/build/stand_alone/iki_write.settings index 38b97eb4b..bf372d82d 100644 --- a/build/stand_alone/iki_write.settings +++ b/build/stand_alone/iki_write.settings @@ -53,7 +53,7 @@ build_sources_program fll/level_0/signal.c build_sources_program fll/level_0/string.c fll/level_0/private-string.c fll/level_0/string/common.c build_sources_program fll/level_0/string/dynamic.c fll/level_0/string/dynamics.c fll/level_0/string/dynamicss.c fll/level_0/string/map.c fll/level_0/string/maps.c fll/level_0/string/mapss.c fll/level_0/string/map_multi.c fll/level_0/string/map_multis.c fll/level_0/string/map_multiss.c fll/level_0/string/static.c fll/level_0/string/statics.c fll/level_0/string/staticss.c fll/level_0/string/triple.c fll/level_0/string/triples.c fll/level_0/string/tripless.c build_sources_program fll/level_0/type_array/cell.c fll/level_0/type_array/date.c fll/level_0/type_array/file.c fll/level_0/type_array/fll_id.c fll/level_0/type_array/int8.c fll/level_0/type_array/int16.c fll/level_0/type_array/int32.c fll/level_0/type_array/int64.c fll/level_0/type_array/int128.c fll/level_0/type_array/number_signed.c fll/level_0/type_array/number_unsigned.c fll/level_0/type_array/poll.c fll/level_0/type_array/quantity.c fll/level_0/type_array/quantitys.c fll/level_0/type_array/quantityss.c fll/level_0/type_array/range.c fll/level_0/type_array/ranges.c fll/level_0/type_array/rangess.c fll/level_0/type_array/state.c fll/level_0/type_array/status.c fll/level_0/type_array/time.c fll/level_0/type_array/uint8.c fll/level_0/type_array/uint16.c fll/level_0/type_array/uint32.c fll/level_0/type_array/uint64.c fll/level_0/type_array/uint128.c -build_sources_program fll/level_0/utf.c fll/level_0/private-utf.c fll/level_0/private-utf_alphabetic.c fll/level_0/private-utf_combining.c fll/level_0/private-utf_control.c fll/level_0/private-utf_digit.c fll/level_0/private-utf_emoji.c fll/level_0/private-utf_joiner.c fll/level_0/private-utf_numeric.c fll/level_0/private-utf_phonetic.c fll/level_0/private-utf_private.c fll/level_0/private-utf_punctuation.c fll/level_0/private-utf_subscript.c fll/level_0/private-utf_superscript.c fll/level_0/private-utf_symbol.c fll/level_0/private-utf_unassigned.c fll/level_0/private-utf_valid.c fll/level_0/private-utf_whitespace.c fll/level_0/private-utf_wide.c fll/level_0/private-utf_word.c fll/level_0/private-utf_zero_width.c +build_sources_program fll/level_0/utf.c fll/level_0/private-utf.c fll/level_0/private-utf_alphabetic.c fll/level_0/private-utf_combining.c fll/level_0/private-utf_control.c fll/level_0/private-utf_digit.c fll/level_0/private-utf_emoji.c fll/level_0/private-utf_joiner.c fll/level_0/private-utf_numeric.c fll/level_0/private-utf_phonetic.c fll/level_0/private-utf_print_not.c fll/level_0/private-utf_private.c fll/level_0/private-utf_punctuation.c fll/level_0/private-utf_subscript.c fll/level_0/private-utf_superscript.c fll/level_0/private-utf_symbol.c fll/level_0/private-utf_unassigned.c fll/level_0/private-utf_valid.c fll/level_0/private-utf_whitespace.c fll/level_0/private-utf_wide.c fll/level_0/private-utf_word.c fll/level_0/private-utf_zero_width.c build_sources_program fll/level_0/utf/common.c fll/level_0/utf/convert.c fll/level_0/utf/dynamic.c fll/level_0/utf/dynamics.c fll/level_0/utf/dynamicss.c fll/level_0/utf/is.c fll/level_0/utf/is_character.c fll/level_0/utf/map.c fll/level_0/utf/maps.c fll/level_0/utf/mapss.c fll/level_0/utf/map_multi.c fll/level_0/utf/map_multis.c fll/level_0/utf/map_multiss.c fll/level_0/utf/static.c fll/level_0/utf/statics.c fll/level_0/utf/staticss.c fll/level_0/utf/string.c fll/level_0/utf/triple.c fll/level_0/utf/triples.c fll/level_0/utf/tripless.c build_sources_program fll/level_0/utf/private-dynamics.c fll/level_0/utf/private-maps.c fll/level_0/utf/private-map_multis.c fll/level_0/utf/private-string.c fll/level_0/utf/private-triples.c diff --git a/build/stand_alone/iki_write.settings.eki b/build/stand_alone/iki_write.settings.eki index d1bd23126..e8cf04ebc 100644 --- a/build/stand_alone/iki_write.settings.eki +++ b/build/stand_alone/iki_write.settings.eki @@ -53,7 +53,7 @@ build_sources_program fll/level_0/signal.c build_sources_program fll/level_0/string.c fll/level_0/private-string.c fll/level_0/string/common.c build_sources_program fll/level_0/string/dynamic.c fll/level_0/string/dynamics.c fll/level_0/string/dynamicss.c fll/level_0/string/map.c fll/level_0/string/maps.c fll/level_0/string/mapss.c fll/level_0/string/map_multi.c fll/level_0/string/map_multis.c fll/level_0/string/map_multiss.c fll/level_0/string/static.c fll/level_0/string/statics.c fll/level_0/string/staticss.c fll/level_0/string/triple.c fll/level_0/string/triples.c fll/level_0/string/tripless.c build_sources_program fll/level_0/type_array/cell.c fll/level_0/type_array/date.c fll/level_0/type_array/file.c fll/level_0/type_array/fll_id.c fll/level_0/type_array/int8.c fll/level_0/type_array/int16.c fll/level_0/type_array/int32.c fll/level_0/type_array/int64.c fll/level_0/type_array/int128.c fll/level_0/type_array/number_signed.c fll/level_0/type_array/number_unsigned.c fll/level_0/type_array/poll.c fll/level_0/type_array/quantity.c fll/level_0/type_array/quantitys.c fll/level_0/type_array/quantityss.c fll/level_0/type_array/range.c fll/level_0/type_array/ranges.c fll/level_0/type_array/rangess.c fll/level_0/type_array/state.c fll/level_0/type_array/status.c fll/level_0/type_array/time.c fll/level_0/type_array/uint8.c fll/level_0/type_array/uint16.c fll/level_0/type_array/uint32.c fll/level_0/type_array/uint64.c fll/level_0/type_array/uint128.c -build_sources_program fll/level_0/utf.c fll/level_0/private-utf.c fll/level_0/private-utf_alphabetic.c fll/level_0/private-utf_combining.c fll/level_0/private-utf_control.c fll/level_0/private-utf_digit.c fll/level_0/private-utf_emoji.c fll/level_0/private-utf_joiner.c fll/level_0/private-utf_numeric.c fll/level_0/private-utf_phonetic.c fll/level_0/private-utf_private.c fll/level_0/private-utf_punctuation.c fll/level_0/private-utf_subscript.c fll/level_0/private-utf_superscript.c fll/level_0/private-utf_symbol.c fll/level_0/private-utf_unassigned.c fll/level_0/private-utf_valid.c fll/level_0/private-utf_whitespace.c fll/level_0/private-utf_wide.c fll/level_0/private-utf_word.c fll/level_0/private-utf_zero_width.c +build_sources_program fll/level_0/utf.c fll/level_0/private-utf.c fll/level_0/private-utf_alphabetic.c fll/level_0/private-utf_combining.c fll/level_0/private-utf_control.c fll/level_0/private-utf_digit.c fll/level_0/private-utf_emoji.c fll/level_0/private-utf_joiner.c fll/level_0/private-utf_numeric.c fll/level_0/private-utf_phonetic.c fll/level_0/private-utf_print_not.c fll/level_0/private-utf_private.c fll/level_0/private-utf_punctuation.c fll/level_0/private-utf_subscript.c fll/level_0/private-utf_superscript.c fll/level_0/private-utf_symbol.c fll/level_0/private-utf_unassigned.c fll/level_0/private-utf_valid.c fll/level_0/private-utf_whitespace.c fll/level_0/private-utf_wide.c fll/level_0/private-utf_word.c fll/level_0/private-utf_zero_width.c build_sources_program fll/level_0/utf/common.c fll/level_0/utf/convert.c fll/level_0/utf/dynamic.c fll/level_0/utf/dynamics.c fll/level_0/utf/dynamicss.c fll/level_0/utf/is.c fll/level_0/utf/is_character.c fll/level_0/utf/map.c fll/level_0/utf/maps.c fll/level_0/utf/mapss.c fll/level_0/utf/map_multi.c fll/level_0/utf/map_multis.c fll/level_0/utf/map_multiss.c fll/level_0/utf/static.c fll/level_0/utf/statics.c fll/level_0/utf/staticss.c fll/level_0/utf/string.c fll/level_0/utf/triple.c fll/level_0/utf/triples.c fll/level_0/utf/tripless.c build_sources_program fll/level_0/utf/private-dynamics.c fll/level_0/utf/private-maps.c fll/level_0/utf/private-map_multis.c fll/level_0/utf/private-string.c fll/level_0/utf/private-triples.c diff --git a/build/stand_alone/status_code.config.fss.h b/build/stand_alone/status_code.config.fss.h index 1c40e66dd..846155c44 100644 --- a/build/stand_alone/status_code.config.fss.h +++ b/build/stand_alone/status_code.config.fss.h @@ -1474,6 +1474,7 @@ #define _di_f_utf_character_is_joiner_ #define _di_f_utf_character_is_numeric_ #define _di_f_utf_character_is_phonetic_ +#define _di_f_utf_character_is_print_not_ #define _di_f_utf_character_is_private_ #define _di_f_utf_character_is_punctuation_ #define _di_f_utf_character_is_subscript_ @@ -1512,6 +1513,7 @@ //#define _di_f_utf_is_joiner_ #define _di_f_utf_is_numeric_ #define _di_f_utf_is_phonetic_ +#define _di_f_utf_is_print_not_ #define _di_f_utf_is_private_ #define _di_f_utf_is_punctuation_ #define _di_f_utf_is_subscript_ diff --git a/build/stand_alone/status_code.config.h b/build/stand_alone/status_code.config.h index a08336293..715377b5f 100644 --- a/build/stand_alone/status_code.config.h +++ b/build/stand_alone/status_code.config.h @@ -1403,6 +1403,7 @@ #define _di_f_utf_character_is_joiner_ #define _di_f_utf_character_is_numeric_ #define _di_f_utf_character_is_phonetic_ +#define _di_f_utf_character_is_print_not_ #define _di_f_utf_character_is_private_ #define _di_f_utf_character_is_punctuation_ #define _di_f_utf_character_is_subscript_ @@ -1441,6 +1442,7 @@ #define _di_f_utf_is_joiner_ #define _di_f_utf_is_numeric_ #define _di_f_utf_is_phonetic_ +#define _di_f_utf_is_print_not_ #define _di_f_utf_is_private_ #define _di_f_utf_is_punctuation_ #define _di_f_utf_is_subscript_ diff --git a/build/stand_alone/status_code.settings b/build/stand_alone/status_code.settings index acafba500..6225ab2fc 100644 --- a/build/stand_alone/status_code.settings +++ b/build/stand_alone/status_code.settings @@ -55,7 +55,7 @@ build_sources_program fll/level_0/status_string.c build_sources_program fll/level_0/string.c fll/level_0/private-string.c fll/level_0/string/common.c build_sources_program fll/level_0/string/dynamic.c fll/level_0/string/dynamics.c fll/level_0/string/dynamicss.c fll/level_0/string/map.c fll/level_0/string/maps.c fll/level_0/string/mapss.c fll/level_0/string/map_multi.c fll/level_0/string/map_multis.c fll/level_0/string/map_multiss.c fll/level_0/string/static.c fll/level_0/string/statics.c fll/level_0/string/staticss.c fll/level_0/string/triple.c fll/level_0/string/triples.c fll/level_0/string/tripless.c build_sources_program fll/level_0/type_array/cell.c fll/level_0/type_array/date.c fll/level_0/type_array/file.c fll/level_0/type_array/fll_id.c fll/level_0/type_array/int8.c fll/level_0/type_array/int16.c fll/level_0/type_array/int32.c fll/level_0/type_array/int64.c fll/level_0/type_array/int128.c fll/level_0/type_array/number_signed.c fll/level_0/type_array/number_unsigned.c fll/level_0/type_array/poll.c fll/level_0/type_array/quantity.c fll/level_0/type_array/quantitys.c fll/level_0/type_array/quantityss.c fll/level_0/type_array/range.c fll/level_0/type_array/ranges.c fll/level_0/type_array/rangess.c fll/level_0/type_array/state.c fll/level_0/type_array/status.c fll/level_0/type_array/time.c fll/level_0/type_array/uint8.c fll/level_0/type_array/uint16.c fll/level_0/type_array/uint32.c fll/level_0/type_array/uint64.c fll/level_0/type_array/uint128.c -build_sources_program fll/level_0/utf.c fll/level_0/private-utf.c fll/level_0/private-utf_alphabetic.c fll/level_0/private-utf_combining.c fll/level_0/private-utf_control.c fll/level_0/private-utf_digit.c fll/level_0/private-utf_emoji.c fll/level_0/private-utf_joiner.c fll/level_0/private-utf_numeric.c fll/level_0/private-utf_phonetic.c fll/level_0/private-utf_private.c fll/level_0/private-utf_punctuation.c fll/level_0/private-utf_subscript.c fll/level_0/private-utf_superscript.c fll/level_0/private-utf_symbol.c fll/level_0/private-utf_unassigned.c fll/level_0/private-utf_valid.c fll/level_0/private-utf_whitespace.c fll/level_0/private-utf_wide.c fll/level_0/private-utf_word.c fll/level_0/private-utf_zero_width.c +build_sources_program fll/level_0/utf.c fll/level_0/private-utf.c fll/level_0/private-utf_alphabetic.c fll/level_0/private-utf_combining.c fll/level_0/private-utf_control.c fll/level_0/private-utf_digit.c fll/level_0/private-utf_emoji.c fll/level_0/private-utf_joiner.c fll/level_0/private-utf_numeric.c fll/level_0/private-utf_phonetic.c fll/level_0/private-utf_print_not.c fll/level_0/private-utf_private.c fll/level_0/private-utf_punctuation.c fll/level_0/private-utf_subscript.c fll/level_0/private-utf_superscript.c fll/level_0/private-utf_symbol.c fll/level_0/private-utf_unassigned.c fll/level_0/private-utf_valid.c fll/level_0/private-utf_whitespace.c fll/level_0/private-utf_wide.c fll/level_0/private-utf_word.c fll/level_0/private-utf_zero_width.c build_sources_program fll/level_0/utf/common.c fll/level_0/utf/convert.c fll/level_0/utf/dynamic.c fll/level_0/utf/dynamics.c fll/level_0/utf/dynamicss.c fll/level_0/utf/is.c fll/level_0/utf/is_character.c fll/level_0/utf/map.c fll/level_0/utf/maps.c fll/level_0/utf/mapss.c fll/level_0/utf/map_multi.c fll/level_0/utf/map_multis.c fll/level_0/utf/map_multiss.c fll/level_0/utf/static.c fll/level_0/utf/statics.c fll/level_0/utf/staticss.c fll/level_0/utf/string.c fll/level_0/utf/triple.c fll/level_0/utf/triples.c fll/level_0/utf/tripless.c build_sources_program fll/level_0/utf/private-dynamics.c fll/level_0/utf/private-maps.c fll/level_0/utf/private-map_multis.c fll/level_0/utf/private-string.c fll/level_0/utf/private-triples.c diff --git a/build/stand_alone/status_code.settings.fss b/build/stand_alone/status_code.settings.fss index 233f90ee1..eaa7ebc99 100644 --- a/build/stand_alone/status_code.settings.fss +++ b/build/stand_alone/status_code.settings.fss @@ -57,7 +57,7 @@ build_sources_program fll/level_0/status_string.c build_sources_program fll/level_0/string.c fll/level_0/private-string.c fll/level_0/string/common.c build_sources_program fll/level_0/string/dynamic.c fll/level_0/string/dynamics.c fll/level_0/string/dynamicss.c fll/level_0/string/map.c fll/level_0/string/maps.c fll/level_0/string/mapss.c fll/level_0/string/map_multi.c fll/level_0/string/map_multis.c fll/level_0/string/map_multiss.c fll/level_0/string/static.c fll/level_0/string/statics.c fll/level_0/string/staticss.c fll/level_0/string/triple.c fll/level_0/string/triples.c fll/level_0/string/tripless.c build_sources_program fll/level_0/type_array/cell.c fll/level_0/type_array/date.c fll/level_0/type_array/file.c fll/level_0/type_array/fll_id.c fll/level_0/type_array/int8.c fll/level_0/type_array/int16.c fll/level_0/type_array/int32.c fll/level_0/type_array/int64.c fll/level_0/type_array/int128.c fll/level_0/type_array/number_signed.c fll/level_0/type_array/number_unsigned.c fll/level_0/type_array/poll.c fll/level_0/type_array/quantity.c fll/level_0/type_array/quantitys.c fll/level_0/type_array/quantityss.c fll/level_0/type_array/range.c fll/level_0/type_array/ranges.c fll/level_0/type_array/rangess.c fll/level_0/type_array/state.c fll/level_0/type_array/status.c fll/level_0/type_array/time.c fll/level_0/type_array/uint8.c fll/level_0/type_array/uint16.c fll/level_0/type_array/uint32.c fll/level_0/type_array/uint64.c fll/level_0/type_array/uint128.c -build_sources_program fll/level_0/utf.c fll/level_0/private-utf.c fll/level_0/private-utf_alphabetic.c fll/level_0/private-utf_combining.c fll/level_0/private-utf_control.c fll/level_0/private-utf_digit.c fll/level_0/private-utf_emoji.c fll/level_0/private-utf_joiner.c fll/level_0/private-utf_numeric.c fll/level_0/private-utf_phonetic.c fll/level_0/private-utf_private.c fll/level_0/private-utf_punctuation.c fll/level_0/private-utf_subscript.c fll/level_0/private-utf_superscript.c fll/level_0/private-utf_symbol.c fll/level_0/private-utf_unassigned.c fll/level_0/private-utf_valid.c fll/level_0/private-utf_whitespace.c fll/level_0/private-utf_wide.c fll/level_0/private-utf_word.c fll/level_0/private-utf_zero_width.c +build_sources_program fll/level_0/utf.c fll/level_0/private-utf.c fll/level_0/private-utf_alphabetic.c fll/level_0/private-utf_combining.c fll/level_0/private-utf_control.c fll/level_0/private-utf_digit.c fll/level_0/private-utf_emoji.c fll/level_0/private-utf_joiner.c fll/level_0/private-utf_numeric.c fll/level_0/private-utf_phonetic.c fll/level_0/private-utf_print_not.c fll/level_0/private-utf_private.c fll/level_0/private-utf_punctuation.c fll/level_0/private-utf_subscript.c fll/level_0/private-utf_superscript.c fll/level_0/private-utf_symbol.c fll/level_0/private-utf_unassigned.c fll/level_0/private-utf_valid.c fll/level_0/private-utf_whitespace.c fll/level_0/private-utf_wide.c fll/level_0/private-utf_word.c fll/level_0/private-utf_zero_width.c build_sources_program fll/level_0/utf/common.c fll/level_0/utf/convert.c fll/level_0/utf/dynamic.c fll/level_0/utf/dynamics.c fll/level_0/utf/dynamicss.c fll/level_0/utf/is.c fll/level_0/utf/is_character.c fll/level_0/utf/map.c fll/level_0/utf/maps.c fll/level_0/utf/mapss.c fll/level_0/utf/map_multi.c fll/level_0/utf/map_multis.c fll/level_0/utf/map_multiss.c fll/level_0/utf/static.c fll/level_0/utf/statics.c fll/level_0/utf/staticss.c fll/level_0/utf/string.c fll/level_0/utf/triple.c fll/level_0/utf/triples.c fll/level_0/utf/tripless.c build_sources_program fll/level_0/utf/private-dynamics.c fll/level_0/utf/private-maps.c fll/level_0/utf/private-map_multis.c fll/level_0/utf/private-string.c fll/level_0/utf/private-triples.c diff --git a/build/stand_alone/utf8.config.h b/build/stand_alone/utf8.config.h index ec0642738..10dff68a8 100644 --- a/build/stand_alone/utf8.config.h +++ b/build/stand_alone/utf8.config.h @@ -1361,6 +1361,7 @@ #define _di_f_utf_character_is_joiner_ #define _di_f_utf_character_is_numeric_ #define _di_f_utf_character_is_phonetic_ +#define _di_f_utf_character_is_print_not_ #define _di_f_utf_character_is_private_ #define _di_f_utf_character_is_punctuation_ #define _di_f_utf_character_is_subscript_ @@ -1399,6 +1400,7 @@ #define _di_f_utf_is_joiner_ #define _di_f_utf_is_numeric_ #define _di_f_utf_is_phonetic_ +#define _di_f_utf_is_print_not_ //#define _di_f_utf_is_private_ #define _di_f_utf_is_punctuation_ #define _di_f_utf_is_subscript_ diff --git a/build/stand_alone/utf8.settings b/build/stand_alone/utf8.settings index 7bcd09d85..22c97ebc1 100644 --- a/build/stand_alone/utf8.settings +++ b/build/stand_alone/utf8.settings @@ -53,7 +53,7 @@ build_sources_program fll/level_0/signal.c build_sources_program fll/level_0/string.c fll/level_0/private-string.c fll/level_0/string/common.c build_sources_program fll/level_0/string/dynamic.c fll/level_0/string/dynamics.c fll/level_0/string/dynamicss.c fll/level_0/string/map.c fll/level_0/string/maps.c fll/level_0/string/mapss.c fll/level_0/string/map_multi.c fll/level_0/string/map_multis.c fll/level_0/string/map_multiss.c fll/level_0/string/static.c fll/level_0/string/statics.c fll/level_0/string/staticss.c fll/level_0/string/triple.c fll/level_0/string/triples.c fll/level_0/string/tripless.c build_sources_program fll/level_0/type_array/cell.c fll/level_0/type_array/date.c fll/level_0/type_array/file.c fll/level_0/type_array/fll_id.c fll/level_0/type_array/int8.c fll/level_0/type_array/int16.c fll/level_0/type_array/int32.c fll/level_0/type_array/int64.c fll/level_0/type_array/int128.c fll/level_0/type_array/number_signed.c fll/level_0/type_array/number_unsigned.c fll/level_0/type_array/poll.c fll/level_0/type_array/quantity.c fll/level_0/type_array/quantitys.c fll/level_0/type_array/quantityss.c fll/level_0/type_array/range.c fll/level_0/type_array/ranges.c fll/level_0/type_array/rangess.c fll/level_0/type_array/state.c fll/level_0/type_array/status.c fll/level_0/type_array/time.c fll/level_0/type_array/uint8.c fll/level_0/type_array/uint16.c fll/level_0/type_array/uint32.c fll/level_0/type_array/uint64.c fll/level_0/type_array/uint128.c -build_sources_program fll/level_0/utf.c fll/level_0/private-utf.c fll/level_0/private-utf_alphabetic.c fll/level_0/private-utf_combining.c fll/level_0/private-utf_control.c fll/level_0/private-utf_digit.c fll/level_0/private-utf_emoji.c fll/level_0/private-utf_joiner.c fll/level_0/private-utf_numeric.c fll/level_0/private-utf_phonetic.c fll/level_0/private-utf_private.c fll/level_0/private-utf_punctuation.c fll/level_0/private-utf_subscript.c fll/level_0/private-utf_superscript.c fll/level_0/private-utf_symbol.c fll/level_0/private-utf_unassigned.c fll/level_0/private-utf_valid.c fll/level_0/private-utf_whitespace.c fll/level_0/private-utf_wide.c fll/level_0/private-utf_word.c fll/level_0/private-utf_zero_width.c +build_sources_program fll/level_0/utf.c fll/level_0/private-utf.c fll/level_0/private-utf_alphabetic.c fll/level_0/private-utf_combining.c fll/level_0/private-utf_control.c fll/level_0/private-utf_digit.c fll/level_0/private-utf_emoji.c fll/level_0/private-utf_joiner.c fll/level_0/private-utf_numeric.c fll/level_0/private-utf_phonetic.c fll/level_0/private-utf_print_not.c fll/level_0/private-utf_private.c fll/level_0/private-utf_punctuation.c fll/level_0/private-utf_subscript.c fll/level_0/private-utf_superscript.c fll/level_0/private-utf_symbol.c fll/level_0/private-utf_unassigned.c fll/level_0/private-utf_valid.c fll/level_0/private-utf_whitespace.c fll/level_0/private-utf_wide.c fll/level_0/private-utf_word.c fll/level_0/private-utf_zero_width.c build_sources_program fll/level_0/utf/common.c fll/level_0/utf/convert.c fll/level_0/utf/dynamic.c fll/level_0/utf/dynamics.c fll/level_0/utf/dynamicss.c fll/level_0/utf/is.c fll/level_0/utf/is_character.c fll/level_0/utf/map.c fll/level_0/utf/maps.c fll/level_0/utf/mapss.c fll/level_0/utf/map_multi.c fll/level_0/utf/map_multis.c fll/level_0/utf/map_multiss.c fll/level_0/utf/static.c fll/level_0/utf/statics.c fll/level_0/utf/staticss.c fll/level_0/utf/string.c fll/level_0/utf/triple.c fll/level_0/utf/triples.c fll/level_0/utf/tripless.c build_sources_program fll/level_0/utf/private-dynamics.c fll/level_0/utf/private-maps.c fll/level_0/utf/private-map_multis.c fll/level_0/utf/private-string.c fll/level_0/utf/private-triples.c diff --git a/level_0/f_fss/c/fss.c b/level_0/f_fss/c/fss.c index e7342db2a..1b4cbbc02 100644 --- a/level_0/f_fss/c/fss.c +++ b/level_0/f_fss/c/fss.c @@ -320,30 +320,15 @@ extern "C" { return F_false; } - state->status = f_utf_is_zero_width( + state->status = f_utf_is_whitespace( buffer.string + range.start, (range.stop - range.start) + 1 > buffer.used - range.start ? buffer.used - range.start - : (range.stop - range.start) + 1 + : (range.stop - range.start) + 1, + F_false ); - if (state->status == F_true) { - state->status = F_space; - - return F_false; - } - - if (state->status == F_false) { - state->status = f_utf_is_whitespace( - buffer.string + range.start, - (range.stop - range.start) + 1 > buffer.used - range.start - ? buffer.used - range.start - : (range.stop - range.start) + 1, - F_false - ); - - if (state->status == F_false) return F_false; - } + if (state->status == F_false) return F_false; if (state->status == F_true) { state->status = f_utf_is_control( @@ -357,11 +342,9 @@ extern "C" { state->status = F_control; // Some ASCII control characters are space characters. - if (!macro_f_utf_byte_width_is(buffer.string[range.start])) { - return F_true; - } - - return F_false; + return macro_f_utf_byte_width_is(buffer.string[range.start]) + ? F_false + : F_true; } else if (state->status == F_false) { return F_true; diff --git a/level_0/f_fss/c/fss.h b/level_0/f_fss/c/fss.h index 3fb6010d3..06904e0af 100644 --- a/level_0/f_fss/c/fss.h +++ b/level_0/f_fss/c/fss.h @@ -369,7 +369,7 @@ extern "C" { #endif // _di_f_fss_is_joiner_ /** - * Identify whether or not a character in the buffer is a non-zero-width white space or non-zero-width control (ASCII or UTF-8) character. + * Identify whether or not a character in the buffer is a printing white space or printing control (ASCII or UTF-8) character. * * This does not check characters beyond the current one to check for combining or joining characters. * @@ -383,10 +383,11 @@ extern "C" { * Must not be NULL. * * This alters state.status: + * F_bound character in the buffer is a joiner character (future versions will provide a more accurate status, like F_join). + * F_combarudoo character in the buffer is a combining character (future versions will provide a more accurate status, like F_combine). + * F_control if the character is a control character (F_true is returned by this function when is both a space and a control character, otherwise F_false). * F_data_not on success but nothing is processed. * F_false if the character in the buffer is not a space character. - * F_space if the character is a zero width space (F_false is returned by this function). - * F_control if the character is a control character (F_false is returned by this function when zero-width or F_true when is both a space and a control character). * F_true on success and is a space character. * * F_interrupt (with error bit) if stopping due to an interrupt. @@ -394,7 +395,6 @@ extern "C" { * * Errors (with error bit) from: f_utf_is_control(). * Errors (with error bit) from: f_utf_is_whitespace(). - * Errors (with error bit) from: f_utf_is_zero_width(). * * @return * F_false if the character in the buffer is not a space character. @@ -403,7 +403,6 @@ extern "C" { * * @see f_utf_is_control() * @see f_utf_is_whitespace() - * @see f_utf_is_zero_width() */ #ifndef _di_f_fss_is_space_ extern f_status_t f_fss_is_space(const f_string_static_t buffer, const f_range_t range, f_state_t * const state); @@ -650,7 +649,6 @@ extern "C" { * Errors (with error bit) from: f_utf_is_control(). * Errors (with error bit) from: f_utf_is_whitespace(). * Errors (with error bit) from: f_utf_is_zero_width(). - * * @param previous * The previous position before * diff --git a/level_0/f_fss/tests/unit/c/test-fss-is_space.c b/level_0/f_fss/tests/unit/c/test-fss-is_space.c index aadd8db3e..c25c204a5 100644 --- a/level_0/f_fss/tests/unit/c/test-fss-is_space.c +++ b/level_0/f_fss/tests/unit/c/test-fss-is_space.c @@ -63,8 +63,8 @@ void test__f_fss_is_space__works(void **state) { const f_status_t status = f_fss_is_space(f_string_empty_s, range, &state_data); - if (status) { - printf("[ -------> ] --- [01] Expected true for empty string with range (%lu, %lu).\n", range.start, range.stop); + if (status != F_false) { + printf("[ -------> ] --- [01] Expected false for empty string with range (%lu, %lu).\n", range.start, range.stop); } assert_int_equal(status, F_false); @@ -81,8 +81,8 @@ void test__f_fss_is_space__works(void **state) { const f_status_t status = f_fss_is_space(f_string_empty_s, range, &state_data); - if (status) { - printf("[ -------> ] --- [03] Expected true for empty string with (out of) range (%lu, %lu).\n", range.start, range.stop); + if (status != F_false) { + printf("[ -------> ] --- [03] Expected false for empty string with (out of) range (%lu, %lu).\n", range.start, range.stop); } assert_int_equal(status, F_false); diff --git a/level_0/f_fss/tests/unit/c/test-fss-is_zero_width.c b/level_0/f_fss/tests/unit/c/test-fss-is_zero_width.c index ba539052f..438758bec 100644 --- a/level_0/f_fss/tests/unit/c/test-fss-is_zero_width.c +++ b/level_0/f_fss/tests/unit/c/test-fss-is_zero_width.c @@ -20,15 +20,13 @@ void test__f_fss_is_zero_width__works(void **state) { macro_f_string_static_t_initialize_1("全", 3, 0), macro_f_string_static_t_initialize_1("$", 1, 0), macro_f_string_static_t_initialize_1(".", 1, 0), - macro_f_string_static_t_initialize_1(" ́", 3, 0), // Space followed by a combining character (U+0020 U+0301). + macro_f_string_static_t_initialize_1(" ́", 3, 0), // Space followed by a combining character (U+0020 U+0301). macro_f_string_static_t_initialize_1(" ॐ" , 5, 0), // Space followed by a printing character (U+0020 U+0061). - macro_f_string_static_t_initialize_1("​", 3, 0), // Zero-width space (U+200B). + macro_f_string_static_t_initialize_1("​", 3, 0), // Zero-width space (U+200B). macro_f_string_static_t_initialize_1("a b", 0, 3), }; f_status_t expects[] = { - F_true, - F_true, F_false, F_false, F_false, @@ -37,7 +35,9 @@ void test__f_fss_is_zero_width__works(void **state) { F_false, F_false, F_false, - F_true, + F_false, + F_false, + F_false, F_false, F_true, F_false, @@ -61,10 +61,14 @@ void test__f_fss_is_zero_width__works(void **state) { { .start = 1, .stop = 1 }, }; - for (f_number_unsigned_t i = 0; i < 14; ++i) { + for (uint8_t i = 0; i < 14; ++i) { const f_status_t status = f_fss_is_zero_width(tests[i], ranges[i], &state_data); + if (status != expects[i]) { + printf("[ -------> ] --- [00] Expected %s at index %d for string '%s'.\n", expects[i] ? "true" : "false", i, tests[i].used ? tests[i].string : ""); + } + assert_int_equal(status, expects[i]); } // for @@ -73,7 +77,17 @@ void test__f_fss_is_zero_width__works(void **state) { const f_status_t status = f_fss_is_zero_width(f_string_empty_s, range, &state_data); + if (status != F_false) { + printf("[ -------> ] --- [01] Expected false for empty string with range (%lu, %lu).\n", range.start, range.stop); + } + assert_int_equal(status, F_false); + + if (state_data.status != F_data_not) { + printf("[ -------> ] --- [02] Expected F_data_not in state.status for empty string with range (%lu, %lu).\n", range.start, range.stop); + } + + assert_int_equal(state_data.status, F_data_not); } { @@ -81,7 +95,17 @@ void test__f_fss_is_zero_width__works(void **state) { const f_status_t status = f_fss_is_zero_width(f_string_empty_s, range, &state_data); + if (status != F_false) { + printf("[ -------> ] --- [03] Expected false for empty string with (out of) range (%lu, %lu).\n", range.start, range.stop); + } + assert_int_equal(status, F_false); + + if (state_data.status != F_data_not) { + printf("[ -------> ] --- [04] Expected F_data_not in state.status for empty string with (out of) range (%lu, %lu).\n", range.start, range.stop); + } + + assert_int_equal(state_data.status, F_data_not); } { @@ -90,6 +114,10 @@ void test__f_fss_is_zero_width__works(void **state) { const f_status_t status = f_fss_is_zero_width(test, range, &state_data); + if (status != F_false) { + printf("[ -------> ] --- [05] Expected false for string '%s' range (%lu, %lu).\n", test.string, range.start, range.stop); + } + assert_int_equal(status, F_false); } } diff --git a/level_0/f_utf/c/private-utf.c b/level_0/f_utf/c/private-utf.c index dddcd4e68..2d6e78e1a 100644 --- a/level_0/f_utf/c/private-utf.c +++ b/level_0/f_utf/c/private-utf.c @@ -6,7 +6,7 @@ extern "C" { #endif -#if !defined(_di_f_utf_char_to_character_) || !defined(_di_f_utf_is_alphabetic_) || !defined(_di_f_utf_is_alphabetic_digit_) || !defined(_di_f_utf_is_alphabetic_numeric_) || !defined(_di_f_utf_is_ascii_) || !defined(_di_f_utf_is_combining_) || !defined(_di_f_utf_is_control_) || !defined(_di_f_utf_is_control_picture_) || !defined(_di_f_utf_is_digit_) || !defined(_di_f_utf_is_emoji_) || !defined(_di_f_utf_is_graph_) || !defined(_di_f_utf_is_joiner_) || !defined(_di_f_utf_is_numeric_) || !defined(_di_f_utf_is_phonetic_) || !defined(_di_f_utf_is_private_) || !defined(_di_f_utf_is_punctuation_) || !defined(_di_f_utf_is_symbol_) || !defined(_di_f_utf_is_unassigned_) || !defined(_di_f_utf_is_valid_) || !defined(_di_f_utf_is_whitespace_) || !defined(_di_f_utf_is_whitespace_modifier_) || !defined(_di_f_utf_is_whitespace_other_) || !defined(_di_f_utf_is_wide_) || !defined(_di_f_utf_is_word_) || !defined(_di_f_utf_is_word_dash_) || !defined(_di_f_utf_is_word_dash_plus_) || !defined(_di_f_utf_is_zero_width_) || !defined(_di_f_utf_unicode_to_) +#if !defined(_di_f_utf_char_to_character_) || !defined(_di_f_utf_is_alphabetic_) || !defined(_di_f_utf_is_alphabetic_digit_) || !defined(_di_f_utf_is_alphabetic_numeric_) || !defined(_di_f_utf_is_ascii_) || !defined(_di_f_utf_is_combining_) || !defined(_di_f_utf_is_control_) || !defined(_di_f_utf_is_control_picture_) || !defined(_di_f_utf_is_digit_) || !defined(_di_f_utf_is_print_not_) || !defined(_di_f_utf_is_emoji_) || !defined(_di_f_utf_is_graph_) || !defined(_di_f_utf_is_joiner_) || !defined(_di_f_utf_is_numeric_) || !defined(_di_f_utf_is_phonetic_) || !defined(_di_f_utf_is_private_) || !defined(_di_f_utf_is_punctuation_) || !defined(_di_f_utf_is_symbol_) || !defined(_di_f_utf_is_unassigned_) || !defined(_di_f_utf_is_valid_) || !defined(_di_f_utf_is_whitespace_) || !defined(_di_f_utf_is_whitespace_modifier_) || !defined(_di_f_utf_is_whitespace_other_) || !defined(_di_f_utf_is_wide_) || !defined(_di_f_utf_is_word_) || !defined(_di_f_utf_is_word_dash_) || !defined(_di_f_utf_is_word_dash_plus_) || !defined(_di_f_utf_is_zero_width_) || !defined(_di_f_utf_unicode_to_) f_status_t private_f_utf_char_to_character(const f_string_t sequence, const f_number_unsigned_t width_max, f_utf_char_t *character_utf) { if (!macro_f_utf_byte_width_is(*sequence)) { @@ -34,7 +34,7 @@ extern "C" { return F_okay; } -#endif // !defined(_di_f_utf_char_to_character_) || !defined(_di_f_utf_is_alphabetic_) || !defined(_di_f_utf_is_alphabetic_digit_) || !defined(_di_f_utf_is_alphabetic_numeric_) || !defined(_di_f_utf_is_ascii_) || !defined(_di_f_utf_is_combining_) || !defined(_di_f_utf_is_control_) || !defined(_di_f_utf_is_control_picture_) || !defined(_di_f_utf_is_digit_) || !defined(_di_f_utf_is_emoji_) || !defined(_di_f_utf_is_graph_) || !defined(_di_f_utf_is_joiner_) || !defined(_di_f_utf_is_numeric_) || !defined(_di_f_utf_is_phonetic_) || !defined(_di_f_utf_is_private_) || !defined(_di_f_utf_is_punctuation_) || !defined(_di_f_utf_is_symbol_) || !defined(_di_f_utf_is_unassigned_) || !defined(_di_f_utf_is_valid_) || !defined(_di_f_utf_is_whitespace_) || !defined(_di_f_utf_is_whitespace_modifier_) || !defined(_di_f_utf_is_whitespace_other_) || !defined(_di_f_utf_is_wide_) || !defined(_di_f_utf_is_word_) || !defined(_di_f_utf_is_word_dash_) || !defined(_di_f_utf_is_word_dash_plus_) || !defined(_di_f_utf_is_zero_width_) || !defined(_di_f_utf_unicode_to_) +#endif // !defined(_di_f_utf_char_to_character_) || !defined(_di_f_utf_is_alphabetic_) || !defined(_di_f_utf_is_alphabetic_digit_) || !defined(_di_f_utf_is_alphabetic_numeric_) || !defined(_di_f_utf_is_ascii_) || !defined(_di_f_utf_is_combining_) || !defined(_di_f_utf_is_control_) || !defined(_di_f_utf_is_control_picture_) || !defined(_di_f_utf_is_digit_) || !defined(_di_f_utf_is_print_not_) || !defined(_di_f_utf_is_emoji_) || !defined(_di_f_utf_is_graph_) || !defined(_di_f_utf_is_joiner_) || !defined(_di_f_utf_is_numeric_) || !defined(_di_f_utf_is_phonetic_) || !defined(_di_f_utf_is_private_) || !defined(_di_f_utf_is_punctuation_) || !defined(_di_f_utf_is_symbol_) || !defined(_di_f_utf_is_unassigned_) || !defined(_di_f_utf_is_valid_) || !defined(_di_f_utf_is_whitespace_) || !defined(_di_f_utf_is_whitespace_modifier_) || !defined(_di_f_utf_is_whitespace_other_) || !defined(_di_f_utf_is_wide_) || !defined(_di_f_utf_is_word_) || !defined(_di_f_utf_is_word_dash_) || !defined(_di_f_utf_is_word_dash_plus_) || !defined(_di_f_utf_is_zero_width_) || !defined(_di_f_utf_unicode_to_) #if !defined(_di_f_utf_unicode_to_) || !defined(_di_f_utf_character_unicode_to_) f_status_t private_f_utf_character_unicode_to(const f_utf_char_t sequence, uint32_t *codepoint) { diff --git a/level_0/f_utf/c/private-utf.h b/level_0/f_utf/c/private-utf.h index 1d58811f0..421f1121a 100644 --- a/level_0/f_utf/c/private-utf.h +++ b/level_0/f_utf/c/private-utf.h @@ -56,6 +56,7 @@ extern "C" { * @see f_utf_is_joiner() * @see f_utf_is_numeric() * @see f_utf_is_phonetic() + * @see f_utf_is_print_not() * @see f_utf_is_private() * @see f_utf_is_punctuation() * @see f_utf_is_symbol() @@ -71,12 +72,12 @@ extern "C" { * @see f_utf_is_zero_width() * @see f_utf_unicode_to() */ -#if !defined(_di_f_utf_char_to_character_) || !defined(_di_f_utf_is_alphabetic_) || !defined(_di_f_utf_is_alphabetic_digit_) || !defined(_di_f_utf_is_alphabetic_numeric_) || !defined(_di_f_utf_is_ascii_) || !defined(_di_f_utf_is_combining_) || !defined(_di_f_utf_is_control_) || !defined(_di_f_utf_is_control_picture_) || !defined(_di_f_utf_is_digit_) || !defined(_di_f_utf_is_emoji_) || !defined(_di_f_utf_is_graph_) || !defined(_di_f_utf_is_joiner_) || !defined(_di_f_utf_is_numeric_) || !defined(_di_f_utf_is_phonetic_) || !defined(_di_f_utf_is_private_) || !defined(_di_f_utf_is_punctuation_) || !defined(_di_f_utf_is_symbol_) || !defined(_di_f_utf_is_unassigned_) || !defined(_di_f_utf_is_valid_) || !defined(_di_f_utf_is_whitespace_) || !defined(_di_f_utf_is_whitespace_modifier_) || !defined(_di_f_utf_is_whitespace_other_) || !defined(_di_f_utf_is_wide_) || !defined(_di_f_utf_is_word_) || !defined(_di_f_utf_is_word_dash_) || !defined(_di_f_utf_is_word_dash_plus_) || !defined(_di_f_utf_is_zero_width_) || !defined(_di_f_utf_unicode_to_) +#if !defined(_di_f_utf_char_to_character_) || !defined(_di_f_utf_is_alphabetic_) || !defined(_di_f_utf_is_alphabetic_digit_) || !defined(_di_f_utf_is_alphabetic_numeric_) || !defined(_di_f_utf_is_ascii_) || !defined(_di_f_utf_is_combining_) || !defined(_di_f_utf_is_control_) || !defined(_di_f_utf_is_control_picture_) || !defined(_di_f_utf_is_digit_) || !defined(_di_f_utf_is_print_not_) || !defined(_di_f_utf_is_emoji_) || !defined(_di_f_utf_is_graph_) || !defined(_di_f_utf_is_joiner_) || !defined(_di_f_utf_is_numeric_) || !defined(_di_f_utf_is_phonetic_) || !defined(_di_f_utf_is_private_) || !defined(_di_f_utf_is_punctuation_) || !defined(_di_f_utf_is_symbol_) || !defined(_di_f_utf_is_unassigned_) || !defined(_di_f_utf_is_valid_) || !defined(_di_f_utf_is_whitespace_) || !defined(_di_f_utf_is_whitespace_modifier_) || !defined(_di_f_utf_is_whitespace_other_) || !defined(_di_f_utf_is_wide_) || !defined(_di_f_utf_is_word_) || !defined(_di_f_utf_is_word_dash_) || !defined(_di_f_utf_is_word_dash_plus_) || !defined(_di_f_utf_is_zero_width_) || !defined(_di_f_utf_unicode_to_) extern f_status_t private_f_utf_char_to_character(const f_string_t character, const f_number_unsigned_t width_max, f_utf_char_t *character_utf) F_attribute_visibility_internal_d; -#endif // !defined(_di_f_utf_char_to_character_) || !defined(_di_f_utf_is_alphabetic_) || !defined(_di_f_utf_is_alphabetic_digit_) || !defined(_di_f_utf_is_alphabetic_numeric_) || !defined(_di_f_utf_is_ascii_) || !defined(_di_f_utf_is_combining_) || !defined(_di_f_utf_is_control_) || !defined(_di_f_utf_is_control_picture_) || !defined(_di_f_utf_is_digit_) || !defined(_di_f_utf_is_emoji_) || !defined(_di_f_utf_is_graph_) || !defined(_di_f_utf_is_joiner_) || !defined(_di_f_utf_is_numeric_) || !defined(_di_f_utf_is_phonetic_) || !defined(_di_f_utf_is_private_) || !defined(_di_f_utf_is_punctuation_) || !defined(_di_f_utf_is_symbol_) || !defined(_di_f_utf_is_unassigned_) || !defined(_di_f_utf_is_valid_) || !defined(_di_f_utf_is_whitespace_) || !defined(_di_f_utf_is_whitespace_modifier_) || !defined(_di_f_utf_is_whitespace_other_) || !defined(_di_f_utf_is_wide_) || !defined(_di_f_utf_is_word_) || !defined(_di_f_utf_is_word_dash_) || !defined(_di_f_utf_is_word_dash_plus_) || !defined(_di_f_utf_is_zero_width_) || !defined(_di_f_utf_unicode_to_) +#endif // !defined(_di_f_utf_char_to_character_) || !defined(_di_f_utf_is_alphabetic_) || !defined(_di_f_utf_is_alphabetic_digit_) || !defined(_di_f_utf_is_alphabetic_numeric_) || !defined(_di_f_utf_is_ascii_) || !defined(_di_f_utf_is_combining_) || !defined(_di_f_utf_is_control_) || !defined(_di_f_utf_is_control_picture_) || !defined(_di_f_utf_is_digit_) || !defined(_di_f_utf_is_print_not_) || !defined(_di_f_utf_is_emoji_) || !defined(_di_f_utf_is_graph_) || !defined(_di_f_utf_is_joiner_) || !defined(_di_f_utf_is_numeric_) || !defined(_di_f_utf_is_phonetic_) || !defined(_di_f_utf_is_private_) || !defined(_di_f_utf_is_punctuation_) || !defined(_di_f_utf_is_symbol_) || !defined(_di_f_utf_is_unassigned_) || !defined(_di_f_utf_is_valid_) || !defined(_di_f_utf_is_whitespace_) || !defined(_di_f_utf_is_whitespace_modifier_) || !defined(_di_f_utf_is_whitespace_other_) || !defined(_di_f_utf_is_wide_) || !defined(_di_f_utf_is_word_) || !defined(_di_f_utf_is_word_dash_) || !defined(_di_f_utf_is_word_dash_plus_) || !defined(_di_f_utf_is_zero_width_) || !defined(_di_f_utf_unicode_to_) /** - * Private implementation of f_utf_character_is_zero_width(). + * Private implementation of f_utf_character_unicode_to(). * * Intended to be shared to each of the different implementation variations. * diff --git a/level_0/f_utf/c/private-utf_combining.c b/level_0/f_utf/c/private-utf_combining.c index e9f73f591..43397bddf 100644 --- a/level_0/f_utf/c/private-utf_combining.c +++ b/level_0/f_utf/c/private-utf_combining.c @@ -6,7 +6,7 @@ extern "C" { #endif -#if !defined(_di_f_utf_character_is_alphabetic_) || !defined(_di_f_utf_character_is_combining_) || !defined(_di_f_utf_character_is_combining_joiner_) || !defined(_di_f_utf_is_combining_) || !defined(_di_f_utf_is_combining_joiner_) +#if !defined(_di_f_utf_character_is_alphabetic_) || !defined(_di_f_utf_character_is_combining_) || !defined(_di_f_utf_character_is_combining_joiner_) || !defined(_di_f_utf_character_is_print_not_) || !defined(_di_f_utf_is_combining_) || !defined(_di_f_utf_is_combining_joiner_) || !defined(_di_f_utf_is_print_not_) f_status_t private_f_utf_character_is_combining(const f_utf_char_t sequence) { if (macro_f_utf_char_t_width_is(sequence) == 2) { @@ -1485,7 +1485,7 @@ extern "C" { return F_false; } -#endif // !defined(_di_f_utf_character_is_alphabetic_) || !defined(_di_f_utf_character_is_combining_) || !defined(_di_f_utf_character_is_combining_joiner_) || !defined(_di_f_utf_is_combining_) || !defined(_di_f_utf_is_combining_joiner_) +#endif // !defined(_di_f_utf_character_is_alphabetic_) || !defined(_di_f_utf_character_is_combining_) || !defined(_di_f_utf_character_is_combining_joiner_) || !defined(_di_f_utf_character_is_print_not_) || !defined(_di_f_utf_is_combining_) || !defined(_di_f_utf_is_combining_joiner_) || !defined(_di_f_utf_is_print_not_) #ifdef __cplusplus } // extern "C" diff --git a/level_0/f_utf/c/private-utf_combining.h b/level_0/f_utf/c/private-utf_combining.h index 2dad4e7b8..de9c34911 100644 --- a/level_0/f_utf/c/private-utf_combining.h +++ b/level_0/f_utf/c/private-utf_combining.h @@ -37,12 +37,14 @@ extern "C" { * @see f_utf_character_is_alphabetic() * @see f_utf_character_is_combining() * @see f_utf_character_is_combining_joiner() + * @see f_utf_character_is_print_not() * @see f_utf_is_combining() * @see f_utf_is_combining_joiner() + * @see f_utf_is_print_not() */ -#if !defined(_di_f_utf_character_is_alphabetic_) || !defined(_di_f_utf_character_is_combining_) || !defined(_di_f_utf_character_is_combining_joiner_) || !defined(_di_f_utf_is_combining_) || !defined(_di_f_utf_is_combining_joiner_) +#if !defined(_di_f_utf_character_is_alphabetic_) || !defined(_di_f_utf_character_is_combining_) || !defined(_di_f_utf_character_is_combining_joiner_) || !defined(_di_f_utf_character_is_print_not_) || !defined(_di_f_utf_is_combining_) || !defined(_di_f_utf_is_combining_joiner_) || !defined(_di_f_utf_is_print_not_) extern f_status_t private_f_utf_character_is_combining(const f_utf_char_t sequence) F_attribute_visibility_internal_d; -#endif // !defined(_di_f_utf_character_is_alphabetic_) || !defined(_di_f_utf_character_is_combining_) || !defined(_di_f_utf_character_is_combining_joiner_)|| !defined(_di_f_utf_is_combining_) || !defined(_di_f_utf_is_combining_joiner_) +#endif // !defined(_di_f_utf_character_is_alphabetic_) || !defined(_di_f_utf_character_is_combining_) || !defined(_di_f_utf_character_is_combining_joiner_) || !defined(_di_f_utf_character_is_print_not_) || !defined(_di_f_utf_is_combining_) || !defined(_di_f_utf_is_combining_joiner_) || !defined(_di_f_utf_is_print_not_) #ifdef __cplusplus } // extern "C" diff --git a/level_0/f_utf/c/private-utf_control.c b/level_0/f_utf/c/private-utf_control.c index f4f801f17..6346790d4 100644 --- a/level_0/f_utf/c/private-utf_control.c +++ b/level_0/f_utf/c/private-utf_control.c @@ -6,7 +6,7 @@ extern "C" { #endif -#if !defined(_di_f_utf_character_is_alphabetic_) || !defined(_di_f_utf_character_is_control_) || !defined(_di_f_utf_is_alphabetic_) || !defined(_di_f_utf_is_control_) +#if !defined(_di_f_utf_character_is_alphabetic_) || !defined(_di_f_utf_character_is_control_) || !defined(_di_f_utf_character_is_print_not_) || !defined(_di_f_utf_is_alphabetic_) || !defined(_di_f_utf_is_control_) || !defined(_di_f_utf_is_print_not_) f_status_t private_f_utf_character_is_control(const f_utf_char_t sequence) { if (macro_f_utf_char_t_width_is(sequence) == 2) { @@ -127,7 +127,7 @@ extern "C" { return F_false; } -#endif // !defined(_di_f_utf_character_is_alphabetic_) || !defined(_di_f_utf_character_is_control_) || !defined(_di_f_utf_is_alphabetic_) || !defined(_di_f_utf_is_control_) +#endif // !defined(_di_f_utf_character_is_alphabetic_) || !defined(_di_f_utf_character_is_control_) || !defined(_di_f_utf_character_is_print_not_) || !defined(_di_f_utf_is_alphabetic_) || !defined(_di_f_utf_is_control_) || !defined(_di_f_utf_is_print_not_) #if !defined(_di_f_utf_character_is_control_code_) || !defined(_di_f_utf_is_control_code_) f_status_t private_f_utf_character_is_control_code(const f_utf_char_t sequence) { diff --git a/level_0/f_utf/c/private-utf_control.h b/level_0/f_utf/c/private-utf_control.h index cdf29f495..ea9b3cbf0 100644 --- a/level_0/f_utf/c/private-utf_control.h +++ b/level_0/f_utf/c/private-utf_control.h @@ -36,12 +36,14 @@ extern "C" { * * @see f_utf_character_is_alphabetic() * @see f_utf_character_is_control() + * @see f_utf_character_is_print_not() * @see f_utf_is_alphabetic() * @see f_utf_is_control() + * @see f_utf_is_print_not() */ -#if !defined(_di_f_utf_character_is_alphabetic_) || !defined(_di_f_utf_character_is_control_) || !defined(_di_f_utf_is_alphabetic_) || !defined(_di_f_utf_is_control_) +#if !defined(_di_f_utf_character_is_alphabetic_) || !defined(_di_f_utf_character_is_control_) || !defined(_di_f_utf_character_is_print_not_) || !defined(_di_f_utf_is_alphabetic_) || !defined(_di_f_utf_is_control_) || !defined(_di_f_utf_is_print_not_) extern f_status_t private_f_utf_character_is_control(const f_utf_char_t sequence) F_attribute_visibility_internal_d; -#endif // !defined(_di_f_utf_character_is_alphabetic_) || !defined(_di_f_utf_character_is_control_) || !defined(_di_f_utf_is_alphabetic_) || !defined(_di_f_utf_is_control_) +#endif // !defined(_di_f_utf_character_is_alphabetic_) || !defined(_di_f_utf_character_is_control_) || !defined(_di_f_utf_character_is_print_not_) || !defined(_di_f_utf_is_alphabetic_) || !defined(_di_f_utf_is_control_) || !defined(_di_f_utf_is_print_not_) /** * Private implementation of f_utf_character_is_control_code(). diff --git a/level_0/f_utf/c/private-utf_joiner.c b/level_0/f_utf/c/private-utf_joiner.c index 1c577f682..8c8d2eba3 100644 --- a/level_0/f_utf/c/private-utf_joiner.c +++ b/level_0/f_utf/c/private-utf_joiner.c @@ -6,7 +6,7 @@ extern "C" { #endif -#if !defined(_di_f_utf_character_is_alphabetic_) || !defined(_di_f_utf_character_is_alphabetic_digit_) || !defined(_di_f_utf_character_is_alphabetic_numeric_) || !defined(_di_f_utf_character_is_combining_joiner_) || !defined(_di_f_utf_character_is_joiner_) || !defined(_di_f_utf_is_alphabetic_) || !defined(_di_f_utf_is_alphabetic_digit_) || !defined(_di_f_utf_is_alphabetic_numeric_) || !defined(_di_f_utf_is_combining_joiner_) || !defined(_di_f_utf_is_joiner_) || !defined( _di_f_utf_is_zero_width_) +#if !defined(_di_f_utf_character_is_alphabetic_) || !defined(_di_f_utf_character_is_alphabetic_digit_) || !defined(_di_f_utf_character_is_alphabetic_numeric_) || !defined(_di_f_utf_character_is_combining_joiner_) || !defined(_di_f_utf_character_is_joiner_) || !defined(_di_f_utf_character_is_print_not_) || !defined(_di_f_utf_is_alphabetic_) || !defined(_di_f_utf_is_alphabetic_digit_) || !defined(_di_f_utf_is_alphabetic_numeric_) || !defined(_di_f_utf_is_combining_joiner_) || !defined(_di_f_utf_is_joiner_) || !defined( _di_f_utf_is_print_not_) f_status_t private_f_utf_character_is_joiner(const f_utf_char_t sequence) { if (macro_f_utf_char_t_width_is(sequence) == 3) { @@ -22,7 +22,7 @@ extern "C" { return F_false; } -#endif // !defined(_di_f_utf_character_is_alphabetic_) || !defined(_di_f_utf_character_is_alphabetic_digit_) || !defined(_di_f_utf_character_is_alphabetic_numeric_) || !defined(_di_f_utf_character_is_combining_joiner_) || !defined(_di_f_utf_character_is_joiner_) || !defined(_di_f_utf_is_alphabetic_) || !defined(_di_f_utf_is_alphabetic_digit_) || !defined(_di_f_utf_is_alphabetic_numeric_) || !defined(_di_f_utf_is_combining_joiner_) || !defined(_di_f_utf_is_joiner_) || !defined( _di_f_utf_is_zero_width_) +#endif // !defined(_di_f_utf_character_is_alphabetic_) || !defined(_di_f_utf_character_is_alphabetic_digit_) || !defined(_di_f_utf_character_is_alphabetic_numeric_) || !defined(_di_f_utf_character_is_combining_joiner_) || !defined(_di_f_utf_character_is_joiner_) || !defined(_di_f_utf_character_is_print_not_) || !defined(_di_f_utf_is_alphabetic_) || !defined(_di_f_utf_is_alphabetic_digit_) || !defined(_di_f_utf_is_alphabetic_numeric_) || !defined(_di_f_utf_is_combining_joiner_) || !defined(_di_f_utf_is_joiner_) || !defined( _di_f_utf_is_print_not_) #ifdef __cplusplus } // extern "C" diff --git a/level_0/f_utf/c/private-utf_joiner.h b/level_0/f_utf/c/private-utf_joiner.h index dabca435f..1e2e13e76 100644 --- a/level_0/f_utf/c/private-utf_joiner.h +++ b/level_0/f_utf/c/private-utf_joiner.h @@ -39,16 +39,17 @@ extern "C" { * @see f_utf_character_is_alphabetic_numeric() * @see f_utf_character_is_combining_joiner() * @see f_utf_character_is_joiner() + * @see f_utf_character_is_print_not() * @see f_utf_is_alphabetic() * @see f_utf_is_alphabetic_digit() * @see f_utf_is_alphabetic_numeric() * @see f_utf_is_combining_joiner() * @see f_utf_is_joiner() - * @see f_utf_is_zero_width() + * @see f_utf_is_print_not() */ -#if !defined(_di_f_utf_character_is_alphabetic_) || !defined(_di_f_utf_character_is_alphabetic_digit_) || !defined(_di_f_utf_character_is_alphabetic_numeric_) || !defined(_di_f_utf_character_is_combining_joiner_) || !defined(_di_f_utf_character_is_joiner_) || !defined(_di_f_utf_is_alphabetic_) || !defined(_di_f_utf_is_alphabetic_digit_) || !defined(_di_f_utf_is_alphabetic_numeric_) || !defined(_di_f_utf_is_joiner_) || !defined( _di_f_utf_is_zero_width_) +#if !defined(_di_f_utf_character_is_alphabetic_) || !defined(_di_f_utf_character_is_alphabetic_digit_) || !defined(_di_f_utf_character_is_alphabetic_numeric_) || !defined(_di_f_utf_character_is_combining_joiner_) || !defined(_di_f_utf_character_is_joiner_) || !defined(_di_f_utf_character_is_print_not_) || !defined(_di_f_utf_is_alphabetic_) || !defined(_di_f_utf_is_alphabetic_digit_) || !defined(_di_f_utf_is_alphabetic_numeric_) || !defined(_di_f_utf_is_combining_joiner_) || !defined(_di_f_utf_is_joiner_) || !defined( _di_f_utf_is_print_not_) extern f_status_t private_f_utf_character_is_joiner(const f_utf_char_t sequence) F_attribute_visibility_internal_d; -#endif // !defined(_di_f_utf_character_is_alphabetic_) || !defined(_di_f_utf_character_is_alphabetic_digit_) || !defined(_di_f_utf_character_is_alphabetic_numeric_) || !defined(_di_f_utf_character_is_combining_joiner_) || !defined(_di_f_utf_character_is_joiner_) || !defined(_di_f_utf_is_alphabetic_) || !defined(_di_f_utf_is_alphabetic_digit_) || !defined(_di_f_utf_is_alphabetic_numeric_) || !defined(_di_f_utf_is_joiner_) || !defined( _di_f_utf_is_zero_width_) +#endif // !defined(_di_f_utf_character_is_alphabetic_) || !defined(_di_f_utf_character_is_alphabetic_digit_) || !defined(_di_f_utf_character_is_alphabetic_numeric_) || !defined(_di_f_utf_character_is_combining_joiner_) || !defined(_di_f_utf_character_is_joiner_) || !defined(_di_f_utf_character_is_print_not_) || !defined(_di_f_utf_is_alphabetic_) || !defined(_di_f_utf_is_alphabetic_digit_) || !defined(_di_f_utf_is_alphabetic_numeric_) || !defined(_di_f_utf_is_combining_joiner_) || !defined(_di_f_utf_is_joiner_) || !defined( _di_f_utf_is_print_not_) #ifdef __cplusplus } // extern "C" diff --git a/level_0/f_utf/c/private-utf_print_not.c b/level_0/f_utf/c/private-utf_print_not.c new file mode 100644 index 000000000..da69b2d01 --- /dev/null +++ b/level_0/f_utf/c/private-utf_print_not.c @@ -0,0 +1,26 @@ +#include "utf.h" +#include "private-utf.h" +#include "private-utf_print_not.h" + +#ifdef __cplusplus +extern "C" { +#endif + +#if !defined(_di_f_utf_character_is_print_not_) || !defined(_di_f_utf_is_print_not_) + f_status_t private_f_utf_character_is_print_not(const f_utf_char_t sequence) { + + if (macro_f_utf_char_t_width_is(sequence) == 3) { + + // Unassigned and reserved for future use: U+FFF0 to U+FFF8 (these are treated as non-printing). + if (sequence >= 0xefbfb000 && sequence <= 0xefbfb900) { + return F_true; + } + } + + return F_false; + } +#endif // !defined(_di_f_utf_character_is_print_not_) || !defined(_di_f_utf_is_print_not_) + +#ifdef __cplusplus +} // extern "C" +#endif diff --git a/level_0/f_utf/c/private-utf_print_not.h b/level_0/f_utf/c/private-utf_print_not.h new file mode 100644 index 000000000..5ed2db04a --- /dev/null +++ b/level_0/f_utf/c/private-utf_print_not.h @@ -0,0 +1,48 @@ +/** + * FLL - Level 0 + * + * Project: UTF + * API Version: 0.8 + * Licenses: clarified_1_0_or_later-lgpl_2_1_or_later + * + * Provides UTF-8 capabilities. + * + * These are provided for internal reduction in redundant code. + * These should not be exposed/used outside of this project. + */ +#ifndef _PRIVATE_F_utf_print_not_h +#define _PRIVATE_F_utf_print_not_h + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * Private implementation of f_utf_character_is_print_not(). + * + * Intended to be shared to each of the different implementation variations. + * + * This expects the character width to be of at least size 2. + * + * @param sequence + * The byte sequence to validate as a character. + * + * @return + * F_true if a UTF-8 non-printing character. + * F_false if not a UTF-8 non-printing character. + * + * F_utf_fragment (with error bit) if character is a UTF-8 fragment. + * F_utf_not (with error bit) if unicode is an invalid Unicode character. + * + * @see f_utf_character_is_print_not() + * @see f_utf_is_print_not() + */ +#if !defined(_di_f_utf_character_is_print_not_) || !defined(_di_f_utf_is_print_not_) + extern f_status_t private_f_utf_character_is_print_not(const f_utf_char_t sequence) F_attribute_visibility_internal_d; +#endif // !defined(_di_f_utf_character_is_print_not_) || !defined(_di_f_utf_is_print_not_) + +#ifdef __cplusplus +} // extern "C" +#endif + +#endif // _PRIVATE_F_utf_print_not_h diff --git a/level_0/f_utf/c/private-utf_zero_width.c b/level_0/f_utf/c/private-utf_zero_width.c index 52e438fb6..44af3eace 100644 --- a/level_0/f_utf/c/private-utf_zero_width.c +++ b/level_0/f_utf/c/private-utf_zero_width.c @@ -6,19 +6,19 @@ extern "C" { #endif -#if !defined(_di_f_utf_character_is_alphabetic_) || !defined(_di_f_utf_character_is_alphabetic_numeric_) || !defined(_di_f_utf_character_is_alphabetic_digit_) || !defined(_di_f_utf_character_is_graph_) || !defined(_di_f_utf_character_is_word_) || !defined(_di_f_utf_character_is_word_dash_) || !defined(_di_f_utf_character_is_word_dash_plus_) || !defined(_di_f_utf_character_is_zero_width_) || !defined(_di_f_utf_is_alphabetic_) || !defined(_di_f_utf_is_alphabetic_digit_) || !defined(_di_f_utf_is_alphabetic_numeric_) || !defined(_di_f_utf_is_graph_) || !defined(_di_f_utf_is_word_) || !defined(_di_f_utf_is_word_dash_) || !defined(_di_f_utf_is_word_dash_plus_) || !defined(_di_f_utf_is_zero_width_) +#if !defined(_di_f_utf_character_is_alphabetic_) || !defined(_di_f_utf_character_is_alphabetic_numeric_) || !defined(_di_f_utf_character_is_alphabetic_digit_) || !defined(_di_f_utf_character_is_graph_) || !defined(_di_f_utf_character_is_print_not_) || !defined(_di_f_utf_character_is_word_) || !defined(_di_f_utf_character_is_word_dash_) || !defined(_di_f_utf_character_is_word_dash_plus_) || !defined(_di_f_utf_character_is_print_not_) || !defined(_di_f_utf_is_alphabetic_) || !defined(_di_f_utf_is_alphabetic_digit_) || !defined(_di_f_utf_is_alphabetic_numeric_) || !defined(_di_f_utf_is_graph_) || !defined(_di_f_utf_is_print_not_) || !defined(_di_f_utf_is_word_) || !defined(_di_f_utf_is_word_dash_) || !defined(_di_f_utf_is_word_dash_plus_) || !defined(_di_f_utf_is_zero_width_) f_status_t private_f_utf_character_is_zero_width(const f_utf_char_t sequence) { if (macro_f_utf_char_t_width_is(sequence) == 3) { if (macro_f_utf_char_t_to_char_1(sequence) == 0xe2) { - // General Punctuation: U+200D. - if (sequence == 0xe2808d00) { + // General Punctuation: U+200B to U+200D. + if (sequence >= 0xe2808b00 && sequence <= 0xe2808d00) { return F_true; } // General Punctuation: U+2028 to U+2029. - if (sequence >= 0xf090b4a3 && sequence <= 0xf090b4a7) { + if (sequence >= 0xe280a800 && sequence <= 0xe280a900) { return F_true; } @@ -33,19 +33,17 @@ extern "C" { } } else if (macro_f_utf_char_t_to_char_1(sequence) == 0xef) { - if (macro_f_utf_char_t_to_char_2(sequence) == 0xbf) { - // Unassigned and reserved for future use: U+FFF0 to U+FFF8 (these are assumed to be zero-width). - if (sequence >= 0xefbfb000 && sequence <= 0xefbfb900) { - return F_true; - } + // Arabic Presentation Forms-B: U+FEFF. + if (sequence == 0xefbbbf00) { + return F_true; } } } return F_false; } -#endif // !defined(_di_f_utf_character_is_alphabetic_) || !defined(_di_f_utf_character_is_alphabetic_numeric_) || !defined(_di_f_utf_character_is_alphabetic_digit_) || !defined(_di_f_utf_character_is_graph_) || !defined(_di_f_utf_character_is_word_) || !defined(_di_f_utf_character_is_word_dash_) || !defined(_di_f_utf_character_is_word_dash_plus_) || !defined(_di_f_utf_character_is_zero_width_) || !defined(_di_f_utf_is_alphabetic_) || !defined(_di_f_utf_is_alphabetic_digit_) || !defined(_di_f_utf_is_alphabetic_numeric_) || !defined(_di_f_utf_is_graph_) || !defined(_di_f_utf_is_word_) || !defined(_di_f_utf_is_word_dash_) || !defined(_di_f_utf_is_word_dash_plus_) || !defined(_di_f_utf_is_zero_width_) +#endif // !defined(_di_f_utf_character_is_alphabetic_) || !defined(_di_f_utf_character_is_alphabetic_numeric_) || !defined(_di_f_utf_character_is_alphabetic_digit_) || !defined(_di_f_utf_character_is_graph_) || !defined(_di_f_utf_character_is_print_not_) || !defined(_di_f_utf_character_is_word_) || !defined(_di_f_utf_character_is_word_dash_) || !defined(_di_f_utf_character_is_word_dash_plus_) || !defined(_di_f_utf_character_is_print_not_) || !defined(_di_f_utf_is_alphabetic_) || !defined(_di_f_utf_is_alphabetic_digit_) || !defined(_di_f_utf_is_alphabetic_numeric_) || !defined(_di_f_utf_is_graph_) || !defined(_di_f_utf_is_print_not_) || !defined(_di_f_utf_is_word_) || !defined(_di_f_utf_is_word_dash_) || !defined(_di_f_utf_is_word_dash_plus_) || !defined(_di_f_utf_is_zero_width_) #ifdef __cplusplus } // extern "C" diff --git a/level_0/f_utf/c/private-utf_zero_width.h b/level_0/f_utf/c/private-utf_zero_width.h index 3a44013a6..144b83e62 100644 --- a/level_0/f_utf/c/private-utf_zero_width.h +++ b/level_0/f_utf/c/private-utf_zero_width.h @@ -28,8 +28,8 @@ extern "C" { * The byte sequence to validate as a character. * * @return - * F_true if a UTF-8 non-printing or zero-width character. - * F_false if not a UTF-8 non-printing or zero-width character. + * F_true if a UTF-8 zero-width character. + * F_false if not a UTF-8 zero-width character. * * F_utf_fragment (with error bit) if character is a UTF-8 fragment. * F_utf_not (with error bit) if unicode is an invalid Unicode character. @@ -38,22 +38,24 @@ extern "C" { * @see f_utf_character_is_alphabetic_numeric() * @see f_utf_character_is_alphabetic_digit() * @see f_utf_character_is_graph() + * @see f_utf_character_is_print_not() * @see f_utf_character_is_word() * @see f_utf_character_is_word_dash() * @see f_utf_character_is_word_dash_plus() - * @see f_utf_character_is_zero_width() + * @see f_utf_character_is_print_not() * @see f_utf_is_alphabetic() * @see f_utf_is_alphabetic_digit() * @see f_utf_is_alphabetic_numeric() * @see f_utf_is_graph() + * @see f_utf_is_print_not() * @see f_utf_is_word() * @see f_utf_is_word_dash() * @see f_utf_is_word_dash_plus() - * @see f_utf_is_zero_width_ + * @see f_utf_is_zero_width() */ -#if !defined(_di_f_utf_character_is_alphabetic_) || !defined(_di_f_utf_character_is_alphabetic_numeric_) || !defined(_di_f_utf_character_is_alphabetic_digit_) || !defined(_di_f_utf_character_is_graph_) || !defined(_di_f_utf_character_is_word_) || !defined(_di_f_utf_character_is_word_dash_) || !defined(_di_f_utf_character_is_word_dash_plus_) || !defined(_di_f_utf_character_is_zero_width_) || !defined(_di_f_utf_is_alphabetic_) || !defined(_di_f_utf_is_alphabetic_digit_) || !defined(_di_f_utf_is_alphabetic_numeric_) || !defined(_di_f_utf_is_graph_) || !defined(_di_f_utf_is_word_) || !defined(_di_f_utf_is_word_dash_) || !defined(_di_f_utf_is_word_dash_plus_) || !defined(_di_f_utf_is_zero_width_) +#if !defined(_di_f_utf_character_is_alphabetic_) || !defined(_di_f_utf_character_is_alphabetic_numeric_) || !defined(_di_f_utf_character_is_alphabetic_digit_) || !defined(_di_f_utf_character_is_graph_) || !defined(_di_f_utf_character_is_print_not_) || !defined(_di_f_utf_character_is_word_) || !defined(_di_f_utf_character_is_word_dash_) || !defined(_di_f_utf_character_is_word_dash_plus_) || !defined(_di_f_utf_character_is_print_not_) || !defined(_di_f_utf_is_alphabetic_) || !defined(_di_f_utf_is_alphabetic_digit_) || !defined(_di_f_utf_is_alphabetic_numeric_) || !defined(_di_f_utf_is_graph_) || !defined(_di_f_utf_is_print_not_) || !defined(_di_f_utf_is_word_) || !defined(_di_f_utf_is_word_dash_) || !defined(_di_f_utf_is_word_dash_plus_) || !defined(_di_f_utf_is_zero_width_) extern f_status_t private_f_utf_character_is_zero_width(const f_utf_char_t sequence) F_attribute_visibility_internal_d; -#endif // !defined(_di_f_utf_character_is_alphabetic_) || !defined(_di_f_utf_character_is_alphabetic_numeric_) || !defined(_di_f_utf_character_is_alphabetic_digit_) || !defined(_di_f_utf_character_is_graph_) || !defined(_di_f_utf_character_is_word_) || !defined(_di_f_utf_character_is_word_dash_) || !defined(_di_f_utf_character_is_word_dash_plus_) || !defined(_di_f_utf_character_is_zero_width_) || !defined(_di_f_utf_is_alphabetic_) || !defined(_di_f_utf_is_alphabetic_digit_) || !defined(_di_f_utf_is_alphabetic_numeric_) || !defined(_di_f_utf_is_graph_) || !defined(_di_f_utf_is_word_) || !defined(_di_f_utf_is_word_dash_) || !defined(_di_f_utf_is_word_dash_plus_) || !defined(_di_f_utf_is_zero_width_) +#endif // !defined(_di_f_utf_character_is_alphabetic_) || !defined(_di_f_utf_character_is_alphabetic_numeric_) || !defined(_di_f_utf_character_is_alphabetic_digit_) || !defined(_di_f_utf_character_is_graph_) || !defined(_di_f_utf_character_is_print_not_) || !defined(_di_f_utf_character_is_word_) || !defined(_di_f_utf_character_is_word_dash_) || !defined(_di_f_utf_character_is_word_dash_plus_) || !defined(_di_f_utf_character_is_print_not_) || !defined(_di_f_utf_is_alphabetic_) || !defined(_di_f_utf_is_alphabetic_digit_) || !defined(_di_f_utf_is_alphabetic_numeric_) || !defined(_di_f_utf_is_graph_) || !defined(_di_f_utf_is_print_not_) || !defined(_di_f_utf_is_word_) || !defined(_di_f_utf_is_word_dash_) || !defined(_di_f_utf_is_word_dash_plus_) || !defined(_di_f_utf_is_zero_width_) #ifdef __cplusplus } // extern "C" diff --git a/level_0/f_utf/c/utf/is.c b/level_0/f_utf/c/utf/is.c index 9e6305d6a..ccf5d51c2 100644 --- a/level_0/f_utf/c/utf/is.c +++ b/level_0/f_utf/c/utf/is.c @@ -8,6 +8,7 @@ #include "../private-utf_joiner.h" #include "../private-utf_numeric.h" #include "../private-utf_phonetic.h" +#include "../private-utf_print_not.h" #include "../private-utf_private.h" #include "../private-utf_punctuation.h" #include "../private-utf_subscript.h" @@ -430,6 +431,40 @@ extern "C" { } #endif // _di_f_utf_is_phonetic_ +#ifndef _di_f_utf_is_print_not_ + f_status_t f_utf_is_print_not(const f_string_t sequence, const f_number_unsigned_t width_max) { + + if (width_max < 1) return F_data_not; + + if (macro_f_utf_byte_width_is(*sequence)) { + if (macro_f_utf_byte_width_is(*sequence) > width_max) return F_status_set_error(F_complete_not_utf); + if (macro_f_utf_byte_width_is(*sequence) == 1) return F_status_set_error(F_utf_fragment); + + f_utf_char_t utf = 0; + + { + const f_status_t status = private_f_utf_char_to_character(sequence, width_max, &utf); + if (F_status_is_error(status)) return status; + } + + // Control, combining, joiner, and zero-width characters are non-printing. + if (private_f_utf_character_is_control(utf)) return F_true; + if (private_f_utf_character_is_combining(utf)) return F_true; + if (private_f_utf_character_is_joiner(utf)) return F_true; + if (private_f_utf_character_is_zero_width(utf)) return F_true; + + return private_f_utf_character_is_print_not(utf); + } + + // These control characters are non-printing. + if (*sequence >= 0x00 && *sequence < 0x09) return F_true; + if (*sequence > 0x0b && *sequence < 0x20) return F_true; + if (*sequence == 0x7f) return F_true; + + return F_false; + } +#endif // _di_f_utf_is_print_not_ + #ifndef _di_f_utf_is_private_ f_status_t f_utf_is_private(const f_string_t sequence, const f_number_unsigned_t width_max) { @@ -831,19 +866,9 @@ extern "C" { if (F_status_is_error(status)) return status; } - // Control and combining characters are zero-width. - if (private_f_utf_character_is_control(utf)) return F_true; - if (private_f_utf_character_is_combining(utf)) return F_true; - if (private_f_utf_character_is_joiner(utf)) return F_true; - return private_f_utf_character_is_zero_width(utf); } - // These control characters are considered zero-width spaces. - if (*sequence >= 0x00 && *sequence < 0x09) return F_true; - if (*sequence > 0x0b && *sequence < 0x20) return F_true; - if (*sequence == 0x7f) return F_true; - return F_false; } #endif // _di_f_utf_is_zero_width_ diff --git a/level_0/f_utf/c/utf/is.h b/level_0/f_utf/c/utf/is.h index 9a5b08d21..47befc2fc 100644 --- a/level_0/f_utf/c/utf/is.h +++ b/level_0/f_utf/c/utf/is.h @@ -481,6 +481,33 @@ extern "C" { extern f_status_t f_utf_is_phonetic(const f_string_t sequence, const f_number_unsigned_t width_max); #endif // _di_f_utf_is_phonetic_ +/** + * Check to see if the entire byte block of the character is an ASCII or UTF-8 general non-printing character. + * + * Only characters that do not print, including zero-width characters. + * + * @param sequence + * The byte sequence to validate as a character. + * There must be enough space allocated to compare against, as limited by width_max. + * @param width_max + * The maximum width available for checking. + * Can be anything greater than 0. + * + * @return + * F_true if a UTF-8 non-printing character. + * F_false if not a UTF-8 non-printing character. + * F_data_not if width_max is less than 1. + * + * F_complete_not_utf (with error bit set) if character is an incomplete UTF-8 sequence. + * F_maybe (with error bit) if this could be a white space but width is not long enough. + * F_parameter (with error bit) if a parameter is invalid. + * F_utf_fragment (with error bit) if character is a UTF-8 fragment. + * F_utf_not (with error bit) if Unicode is an invalid Unicode character. + */ +#ifndef _di_f_utf_is_print_not_ + extern f_status_t f_utf_is_print_not(const f_string_t sequence, const f_number_unsigned_t width_max); +#endif // _di_f_utf_is_print_not_ + /** * Check to see if the entire byte block of the character is a UTF-8 private character. * @@ -889,8 +916,8 @@ extern "C" { * When FALSE, zero-width punctuation characters are not considered a character. * * @return - * F_true if a UTF-8 word or dash character. - * F_false if not a UTF-8 word or dash character. + * F_true if a UTF-8 word, dash, or plus character. + * F_false if not a UTF-8 word, dash, or plus character. * F_data_not if width_max is less than 1. * * F_complete_not_utf (with error bit set) if character is an incomplete UTF-8 sequence. @@ -902,9 +929,7 @@ extern "C" { #endif // _di_f_utf_is_word_dash_plus_ /** - * Check to see if the entire byte block of the character is an ASCII or UTF-8 general non-printing character. - * - * Only characters that do not print, which are generally called zero-width. + * Check to see if the entire byte block of the character is an ASCII or UTF-8 zero-width character. * * @param sequence * The byte sequence to validate as a character. @@ -914,8 +939,8 @@ extern "C" { * Can be anything greater than 0. * * @return - * F_true if a UTF-8 white space. - * F_false if not a UTF-8 white space. + * F_true if a UTF-8 zero-width character. + * F_false if not a UTF-8 zero-width character. * F_data_not if width_max is less than 1. * * F_complete_not_utf (with error bit set) if character is an incomplete UTF-8 sequence. diff --git a/level_0/f_utf/c/utf/is_character.c b/level_0/f_utf/c/utf/is_character.c index 0786ebebc..be5220ec2 100644 --- a/level_0/f_utf/c/utf/is_character.c +++ b/level_0/f_utf/c/utf/is_character.c @@ -8,6 +8,7 @@ #include "../private-utf_joiner.h" #include "../private-utf_numeric.h" #include "../private-utf_phonetic.h" +#include "../private-utf_print_not.h" #include "../private-utf_private.h" #include "../private-utf_punctuation.h" #include "../private-utf_subscript.h" @@ -273,6 +274,30 @@ extern "C" { } #endif // _di_f_utf_character_is_phonetic_ +#ifndef _di_f_utf_character_is_print_not_ + f_status_t f_utf_character_is_print_not(const f_utf_char_t sequence) { + + if (macro_f_utf_char_t_width_is(sequence)) { + if (macro_f_utf_char_t_width_is(sequence) == 1) return F_status_set_error(F_utf_fragment); + + // Control, combining, joiner, and zero-width characters are non-printing. + if (private_f_utf_character_is_control(sequence)) return F_true; + if (private_f_utf_character_is_combining(sequence)) return F_true; + if (private_f_utf_character_is_joiner(sequence)) return F_true; + if (private_f_utf_character_is_zero_width(sequence)) return F_true; + + return private_f_utf_character_is_print_not(sequence); + } + + // These control characters are non-printing. + if (macro_f_utf_char_t_to_char_1(sequence) >= 0x00 && macro_f_utf_char_t_to_char_1(sequence) < 0x09) return F_true; + if (macro_f_utf_char_t_to_char_1(sequence) > 0x0b && macro_f_utf_char_t_to_char_1(sequence) < 0x20) return F_true; + if (macro_f_utf_char_t_to_char_1(sequence) == 0x7f) return F_true; + + return F_false; + } +#endif // _di_f_utf_character_is_print_not_ + #ifndef _di_f_utf_character_is_private_ f_status_t f_utf_character_is_private(const f_utf_char_t sequence) { @@ -285,7 +310,7 @@ extern "C" { // There are no ASCII private characters. return F_false; } -#endif // _di_f_utf_character_is_phonetic_ +#endif // _di_f_utf_character_is_private_ #ifndef _di_f_utf_character_is_punctuation_ f_status_t f_utf_character_is_punctuation(const f_utf_char_t sequence) { @@ -509,18 +534,9 @@ extern "C" { if (macro_f_utf_char_t_width_is(sequence)) { if (macro_f_utf_char_t_width_is(sequence) == 1) return F_status_set_error(F_utf_fragment); - // Control and combining characters are zero-width. - if (private_f_utf_character_is_control(sequence)) return F_true; - if (private_f_utf_character_is_combining(sequence)) return F_true; - return private_f_utf_character_is_zero_width(sequence); } - // These control characters are considered zero-width spaces. - if (macro_f_utf_char_t_to_char_1(sequence) >= 0x00 && macro_f_utf_char_t_to_char_1(sequence) < 0x09) return F_true; - if (macro_f_utf_char_t_to_char_1(sequence) > 0x0b && macro_f_utf_char_t_to_char_1(sequence) < 0x20) return F_true; - if (macro_f_utf_char_t_to_char_1(sequence) == 0x7f) return F_true; - return F_false; } #endif // _di_f_utf_character_is_zero_width_ diff --git a/level_0/f_utf/c/utf/is_character.h b/level_0/f_utf/c/utf/is_character.h index e2ae0dc1e..ed0702b6e 100644 --- a/level_0/f_utf/c/utf/is_character.h +++ b/level_0/f_utf/c/utf/is_character.h @@ -392,6 +392,25 @@ extern "C" { extern f_status_t f_utf_character_is_phonetic(const f_utf_char_t sequence); #endif // _di_f_utf_character_is_phonetic_ +/** + * Check to see if the entire byte block of the character is an ASCII or UTF-8 general non-printing character. + * + * Only characters that do not print, including zero-width characters. + * + * @param sequence + * The byte sequence to validate as a character. + * + * @return + * F_true if a UTF-8 non-printing character. + * F_false if not a UTF-8 non-printing character. + * + * F_utf_fragment (with error bit) if character is a UTF-8 fragment. + * F_utf_not (with error bit) if unicode is an invalid Unicode character. + */ +#ifndef _di_f_utf_character_is_print_not_ + extern f_status_t f_utf_character_is_print_not(const f_utf_char_t sequence); +#endif // _di_f_utf_character_is_print_not_ + /** * Check to see if the entire byte block of the character is a UTF-8 private character. * @@ -492,7 +511,7 @@ extern "C" { * To not do this, use f_utf_character_is(). * * @param sequence - * The character to unassignedate. + * The byte sequence to validate as a character. * * @return * F_true if a UTF-8 unassigned character. @@ -717,8 +736,8 @@ extern "C" { * When FALSE, zero-width punctuation characters are not considered a character. * * @return - * F_true if a UTF-8 word or dash character. - * F_false if not a UTF-8 word or dash character. + * F_true if a UTF-8 word, dash, or plus character. + * F_false if not a UTF-8 word, dash, or plus character. * * F_utf_fragment (with error bit) if character is a UTF-8 fragment. * F_utf_not (with error bit) if unicode is an invalid Unicode character. @@ -728,16 +747,14 @@ extern "C" { #endif // _di_f_utf_character_is_word_dash_plus_ /** - * Check to see if the entire byte block of the character is an ASCII or UTF-8 general non-printing character. - * - * Only characters that do not print, which are generally called zero-width. + * Check to see if the entire byte block of the character is an ASCII or UTF-8 general zero-width character. * * @param sequence * The byte sequence to validate as a character. * * @return - * F_true if a UTF-8 non-printing or zero-width character. - * F_false if not a UTF-8 non-printing or zero-width character. + * F_true if a UTF-8 zero-width character. + * F_false if not a UTF-8 zero-width character. * * F_utf_fragment (with error bit) if character is a UTF-8 fragment. * F_utf_not (with error bit) if unicode is an invalid Unicode character. diff --git a/level_0/f_utf/data/build/settings b/level_0/f_utf/data/build/settings index 13644e8ce..e200e0377 100644 --- a/level_0/f_utf/data/build/settings +++ b/level_0/f_utf/data/build/settings @@ -43,7 +43,7 @@ build_libraries_static-individual -l:libf_memory.a -l:libf_string.a build_sources_headers utf.h utf/common.h utf/convert.h utf/dynamic.h utf/dynamics.h utf/dynamicss.h utf/is.h utf/is_character.h utf/map.h utf/maps.h utf/mapss.h utf/map_multi.h utf/map_multis.h utf/map_multiss.h utf/static.h utf/statics.h utf/staticss.h utf/string.h utf/triple.h utf/triples.h utf/tripless.h -build_sources_library utf.c private-utf.c private-utf_alphabetic.c private-utf_combining.c private-utf_control.c private-utf_digit.c private-utf_emoji.c private-utf_joiner.c private-utf_numeric.c private-utf_phonetic.c private-utf_private.c private-utf_punctuation.c private-utf_subscript.c private-utf_superscript.c private-utf_symbol.c private-utf_unassigned.c private-utf_valid.c private-utf_whitespace.c private-utf_wide.c private-utf_word.c private-utf_zero_width.c +build_sources_library utf.c private-utf.c private-utf_alphabetic.c private-utf_combining.c private-utf_control.c private-utf_digit.c private-utf_emoji.c private-utf_joiner.c private-utf_numeric.c private-utf_phonetic.c private-utf_print_not.c private-utf_private.c private-utf_punctuation.c private-utf_subscript.c private-utf_superscript.c private-utf_symbol.c private-utf_unassigned.c private-utf_valid.c private-utf_whitespace.c private-utf_wide.c private-utf_word.c private-utf_zero_width.c build_sources_library utf/common.c utf/convert.c utf/dynamic.c utf/dynamics.c utf/dynamicss.c utf/is.c utf/is_character.c utf/map.c utf/maps.c utf/mapss.c utf/map_multi.c utf/map_multis.c utf/map_multiss.c utf/static.c utf/statics.c utf/staticss.c utf/string.c utf/triple.c utf/triples.c utf/tripless.c build_sources_library utf/private-dynamics.c utf/private-maps.c utf/private-map_multis.c utf/private-string.c utf/private-triples.c diff --git a/level_0/f_utf/data/build/settings-mocks b/level_0/f_utf/data/build/settings-mocks index 5795a9c63..a08177013 100644 --- a/level_0/f_utf/data/build/settings-mocks +++ b/level_0/f_utf/data/build/settings-mocks @@ -32,7 +32,7 @@ build_libraries-individual -lf_memory -lf_string build_sources_headers utf.h utf/common.h utf/convert.h utf/dynamic.h utf/dynamics.h utf/dynamicss.h utf/is.h utf/is_character.h utf/map.h utf/maps.h utf/mapss.h utf/map_multi.h utf/map_multis.h utf/map_multiss.h utf/static.h utf/statics.h utf/staticss.h utf/string.h utf/triple.h utf/triples.h utf/tripless.h -build_sources_library utf.c private-utf.c private-utf_alphabetic.c private-utf_combining.c private-utf_control.c private-utf_digit.c private-utf_emoji.c private-utf_joiner.c private-utf_numeric.c private-utf_phonetic.c private-utf_private.c private-utf_punctuation.c private-utf_subscript.c private-utf_superscript.c private-utf_symbol.c private-utf_unassigned.c private-utf_valid.c private-utf_whitespace.c private-utf_wide.c private-utf_word.c private-utf_zero_width.c +build_sources_library utf.c private-utf.c private-utf_alphabetic.c private-utf_combining.c private-utf_control.c private-utf_digit.c private-utf_emoji.c private-utf_joiner.c private-utf_numeric.c private-utf_phonetic.c private-utf_print_not.c private-utf_private.c private-utf_punctuation.c private-utf_subscript.c private-utf_superscript.c private-utf_symbol.c private-utf_unassigned.c private-utf_valid.c private-utf_whitespace.c private-utf_wide.c private-utf_word.c private-utf_zero_width.c build_sources_library utf/common.c utf/convert.c utf/dynamic.c utf/dynamics.c utf/dynamicss.c utf/is.c utf/is_character.c utf/map.c utf/maps.c utf/mapss.c utf/map_multi.c utf/map_multis.c utf/map_multiss.c utf/static.c utf/statics.c utf/staticss.c utf/string.c utf/triple.c utf/triples.c utf/tripless.c build_sources_library utf/private-dynamics.c utf/private-maps.c utf/private-map_multis.c utf/private-string.c utf/private-triples.c build_sources_library ../../tests/unit/c/mock-utf.c diff --git a/level_0/f_utf/data/build/settings-tests b/level_0/f_utf/data/build/settings-tests index 2b9f73353..7f2780773 100644 --- a/level_0/f_utf/data/build/settings-tests +++ b/level_0/f_utf/data/build/settings-tests @@ -38,6 +38,7 @@ build_sources_program test-utf-character_is_emoji.c test-utf-is_emoji.c build_sources_program test-utf-character_is_joiner.c test-utf-is_joiner.c build_sources_program test-utf-character_is_numeric.c test-utf-is_numeric.c build_sources_program test-utf-character_is_phonetic.c test-utf-is_phonetic.c +build_sources_program test-utf-character_is_print_not.c test-utf-is_print_not.c build_sources_program test-utf-character_is_private.c test-utf-is_private.c build_sources_program test-utf-character_is_punctuation.c test-utf-is_punctuation.c build_sources_program test-utf-character_is_subscript.c test-utf-is_subscript.c diff --git a/level_0/f_utf/data/tests/bytesequences/print_not-all.txt b/level_0/f_utf/data/tests/bytesequences/print_not-all.txt new file mode 100644 index 000000000..9f7f80085 --- /dev/null +++ b/level_0/f_utf/data/tests/bytesequences/print_not-all.txt @@ -0,0 +1,42 @@ +0 +1 +2 +3 +4 +5 +6 +7 +8 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +127 +14786702 +14844043 +14844044 +14844045 +14844072 +14844073 +14844320 +14844326 +14844327 +14844328 +14844329 +15711167 diff --git a/level_0/f_utf/data/tests/bytesequences/zero_width-all.txt b/level_0/f_utf/data/tests/bytesequences/zero_width-all.txt index 6b5c7e034..01f50375d 100644 --- a/level_0/f_utf/data/tests/bytesequences/zero_width-all.txt +++ b/level_0/f_utf/data/tests/bytesequences/zero_width-all.txt @@ -1,36 +1,11 @@ -0 -1 -2 -3 -4 -5 -6 -7 -8 -12 -13 -14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 -25 -26 -27 -28 -29 -30 -31 -127 -14786702 14844043 14844044 14844045 +14844072 +14844073 14844320 +14844326 +14844327 +14844328 +14844329 15711167 diff --git a/level_0/f_utf/data/tests/codepoints/print_not-all.txt b/level_0/f_utf/data/tests/codepoints/print_not-all.txt new file mode 100644 index 000000000..347a7278e --- /dev/null +++ b/level_0/f_utf/data/tests/codepoints/print_not-all.txt @@ -0,0 +1,42 @@ +U+0000 +U+0001 +U+0002 +U+0003 +U+0004 +U+0005 +U+0006 +U+0007 +U+0008 +U+000C +U+000D +U+000E +U+000F +U+0010 +U+0011 +U+0012 +U+0013 +U+0014 +U+0015 +U+0016 +U+0017 +U+0018 +U+0019 +U+001A +U+001B +U+001C +U+001D +U+001E +U+001F +U+007F +U+180E +U+200B +U+200C +U+200D +U+2028 +U+2029 +U+2060 +U+2066 +U+2067 +U+2068 +U+2069 +U+FEFF diff --git a/level_0/f_utf/data/tests/codepoints/zero_width-all.txt b/level_0/f_utf/data/tests/codepoints/zero_width-all.txt index 92935863c..af332b068 100644 --- a/level_0/f_utf/data/tests/codepoints/zero_width-all.txt +++ b/level_0/f_utf/data/tests/codepoints/zero_width-all.txt @@ -1,36 +1,11 @@ -U+0000 -U+0001 -U+0002 -U+0003 -U+0004 -U+0005 -U+0006 -U+0007 -U+0008 -U+000C -U+000D -U+000E -U+000F -U+0010 -U+0011 -U+0012 -U+0013 -U+0014 -U+0015 -U+0016 -U+0017 -U+0018 -U+0019 -U+001A -U+001B -U+001C -U+001D -U+001E -U+001F -U+007F -U+180E U+200B U+200C U+200D +U+2028 +U+2029 U+2060 +U+2066 +U+2067 +U+2068 +U+2069 U+FEFF diff --git a/level_0/f_utf/tests/unit/c/data-utf.c b/level_0/f_utf/tests/unit/c/data-utf.c index 6299056a4..c94d0303e 100644 --- a/level_0/f_utf/tests/unit/c/data-utf.c +++ b/level_0/f_utf/tests/unit/c/data-utf.c @@ -54,6 +54,11 @@ FILE *data__bytesequence_file_open__phonetic(void) { return fopen("./data/tests/bytesequences/phonetic-all.txt", "r"); } +FILE *data__bytesequence_file_open__print_not(void) { + + return fopen("./data/tests/bytesequences/print_not-all.txt", "r"); +} + FILE *data__bytesequence_file_open__private(void) { return fopen("./data/tests/bytesequences/private-all.txt", "r"); diff --git a/level_0/f_utf/tests/unit/c/data-utf.h b/level_0/f_utf/tests/unit/c/data-utf.h index f2924d76c..7ac0be186 100644 --- a/level_0/f_utf/tests/unit/c/data-utf.h +++ b/level_0/f_utf/tests/unit/c/data-utf.h @@ -25,7 +25,7 @@ extern "C" { /** * Open the "alphabetic" bytesequence file. * - * This assumes the following: + * This expects the following: * - The file path is relative to the current working directory (tests are run from project root). * - The file path is "data/tests/bytesequences/alphabetic-all.txt". * @@ -40,7 +40,7 @@ extern FILE *data__bytesequence_file_open__alphabetic(void); /** * Open the "combining" bytesequence file. * - * This assumes the following: + * This expects the following: * - The file path is relative to the current working directory (tests are run from project root). * - The file path is "data/tests/bytesequences/combining-all.txt". * @@ -55,7 +55,7 @@ extern FILE *data__bytesequence_file_open__combining(void); /** * Open the "combining" or "joiner" bytesequence file. * - * This assumes the following: + * This expects the following: * - The file path is relative to the current working directory (tests are run from project root). * - The file path is "data/tests/bytesequences/combining_joiner-all.txt". * @@ -70,7 +70,7 @@ extern FILE *data__bytesequence_file_open__combining_joiner(void); /** * Open the "control" bytesequence file. * - * This assumes the following: + * This expects the following: * - The file path is relative to the current working directory (tests are run from project root). * - The file path is "data/tests/bytesequences/control-all.txt". * @@ -85,7 +85,7 @@ extern FILE *data__bytesequence_file_open__control(void); /** * Open the "control_picture" bytesequence file. * - * This assumes the following: + * This expects the following: * - The file path is relative to the current working directory (tests are run from project root). * - The file path is "data/tests/bytesequences/control_picture-all.txt". * @@ -100,7 +100,7 @@ extern FILE *data__bytesequence_file_open__control_picture(void); /** * Open the "digit" bytesequence file. * - * This assumes the following: + * This expects the following: * - The file path is relative to the current working directory (tests are run from project root). * - The file path is "data/tests/bytesequences/digit-all.txt". * @@ -115,7 +115,7 @@ extern FILE *data__bytesequence_file_open__digit(void); /** * Open the "emoji" bytesequence file. * - * This assumes the following: + * This expects the following: * - The file path is relative to the current working directory (tests are run from project root). * - The file path is "data/tests/bytesequences/emoji-all.txt". * @@ -130,7 +130,7 @@ extern FILE *data__bytesequence_file_open__emoji(void); /** * Open the "joiner" bytesequence file. * - * This assumes the following: + * This expects the following: * - The file path is relative to the current working directory (tests are run from project root). * - The file path is "data/tests/bytesequences/joiner-all.txt". * @@ -145,7 +145,7 @@ extern FILE *data__bytesequence_file_open__joiner(void); /** * Open the "numeric" bytesequence file. * - * This assumes the following: + * This expects the following: * - The file path is relative to the current working directory (tests are run from project root). * - The file path is "data/tests/bytesequences/numeric-all.txt". * @@ -160,7 +160,7 @@ extern FILE *data__bytesequence_file_open__numeric(void); /** * Open the "phonetic" bytesequence file. * - * This assumes the following: + * This expects the following: * - The file path is relative to the current working directory (tests are run from project root). * - The file path is "data/tests/bytesequences/phonetic-all.txt". * @@ -172,10 +172,25 @@ extern FILE *data__bytesequence_file_open__numeric(void); */ extern FILE *data__bytesequence_file_open__phonetic(void); +/** + * Open the "print_not" bytesequence file. + * + * This expects the following: + * - The file path is relative to the current working directory (tests are run from project root). + * - The file path is "data/tests/bytesequences/print_not-all.txt". + * + * @return + * Non-zero on success. + * 0 on failure. + * + * @see fopen() + */ +extern FILE *data__bytesequence_file_open__print_not(void); + /** * Open the "private use area" bytesequence file. * - * This assumes the following: + * This expects the following: * - The file path is relative to the current working directory (tests are run from project root). * - The file path is "data/tests/bytesequences/private-all.txt". * @@ -190,7 +205,7 @@ extern FILE *data__bytesequence_file_open__private(void); /** * Open the "punctuation" bytesequence file. * - * This assumes the following: + * This expects the following: * - The file path is relative to the current working directory (tests are run from project root). * - The file path is "data/tests/bytesequences/punctuation-all.txt". * @@ -205,7 +220,7 @@ extern FILE *data__bytesequence_file_open__punctuation(void); /** * Open the "subscript" bytesequence file. * - * This assumes the following: + * This expects the following: * - The file path is relative to the current working directory (tests are run from project root). * - The file path is "data/tests/bytesequences/subscript-all.txt". * @@ -220,7 +235,7 @@ extern FILE *data__bytesequence_file_open__subscript(void); /** * Open the "superscript" bytesequence file. * - * This assumes the following: + * This expects the following: * - The file path is relative to the current working directory (tests are run from project root). * - The file path is "data/tests/bytesequences/superscript-all.txt". * @@ -235,7 +250,7 @@ extern FILE *data__bytesequence_file_open__superscript(void); /** * Open the "symbols" bytesequence file. * - * This assumes the following: + * This expects the following: * - The file path is relative to the current working directory (tests are run from project root). * - The file path is "data/tests/bytesequences/symbol-all.txt". * @@ -250,7 +265,7 @@ extern FILE *data__bytesequence_file_open__symbol(void); /** * Open the "valid" bytesequence file. * - * This assumes the following: + * This expects the following: * - The file path is relative to the current working directory (tests are run from project root). * - The file path is "data/tests/bytesequences/valid-all.txt". * @@ -265,7 +280,7 @@ extern FILE *data__bytesequence_file_open__valid(void); /** * Open the "whitespace" bytesequence file. * - * This assumes the following: + * This expects the following: * - The file path is relative to the current working directory (tests are run from project root). * - The file path is "data/tests/bytesequences/whitespace-all.txt". * @@ -280,7 +295,7 @@ extern FILE *data__bytesequence_file_open__whitespace(void); /** * Open the "whitespace_modifier" bytesequence file, the "modifier" variation. * - * This assumes the following: + * This expects the following: * - The file path is relative to the current working directory (tests are run from project root). * - The file path is "data/tests/bytesequences/whitespace-modifier.txt". * @@ -295,7 +310,7 @@ extern FILE *data__bytesequence_file_open__whitespace__modifier(void); /** * Open the "whitespace_other" bytesequence file, the "other" variation. * - * This assumes the following: + * This expects the following: * - The file path is relative to the current working directory (tests are run from project root). * - The file path is "data/tests/bytesequences/whitespace-other.txt". * @@ -310,7 +325,7 @@ extern FILE *data__bytesequence_file_open__whitespace__other(void); /** * Open the "whitespace_zero_width" bytesequence file, the "zero_width" variation. * - * This assumes the following: + * This expects the following: * - The file path is relative to the current working directory (tests are run from project root). * - The file path is "data/tests/bytesequences/whitespace-zero_width.txt". * @@ -325,7 +340,7 @@ extern FILE *data__bytesequence_file_open__whitespace__zero_width(void); /** * Open the "wide" bytesequence file. * - * This assumes the following: + * This expects the following: * - The file path is relative to the current working directory (tests are run from project root). * - The file path is "data/tests/bytesequences/wide-all.txt". * @@ -340,7 +355,7 @@ extern FILE *data__bytesequence_file_open__wide(void); /** * Open the "word" bytesequence file. * - * This assumes the following: + * This expects the following: * - The file path is relative to the current working directory (tests are run from project root). * - The file path is "data/tests/bytesequences/word-all.txt". * @@ -355,7 +370,7 @@ extern FILE *data__bytesequence_file_open__word(void); /** * Open the "word_dash" bytesequence file. * - * This assumes the following: + * This expects the following: * - The file path is relative to the current working directory (tests are run from project root). * - The file path is "data/tests/bytesequences/word_dash-all.txt". * @@ -370,7 +385,7 @@ extern FILE *data__bytesequence_file_open__word_dash(void); /** * Open the "word_dash_plus" bytesequence file. * - * This assumes the following: + * This expects the following: * - The file path is relative to the current working directory (tests are run from project root). * - The file path is "data/tests/bytesequences/word_dash_plus-all.txt". * @@ -385,7 +400,7 @@ extern FILE *data__bytesequence_file_open__word_dash_plus(void); /** * Open the "word" bytesequence file, the "lax" variation. * - * This assumes the following: + * This expects the following: * - The file path is relative to the current working directory (tests are run from project root). * - The file path is "data/tests/bytesequences/word-lax.txt". * @@ -400,7 +415,7 @@ extern FILE *data__bytesequence_file_open__word__lax(void); /** * Open the "word_dash" bytesequence file, the "lax" variation. * - * This assumes the following: + * This expects the following: * - The file path is relative to the current working directory (tests are run from project root). * - The file path is "data/tests/bytesequences/word_dash-lax.txt". * @@ -415,7 +430,7 @@ extern FILE *data__bytesequence_file_open__word_dash__lax(void); /** * Open the "word_dash_plus" bytesequence file, the "lax" variation. * - * This assumes the following: + * This expects the following: * - The file path is relative to the current working directory (tests are run from project root). * - The file path is "data/tests/bytesequences/word_dash_plus-lax.txt". * @@ -430,7 +445,7 @@ extern FILE *data__bytesequence_file_open__word_dash_plus__lax(void); /** * Open the "zero_width" bytesequence file. * - * This assumes the following: + * This expects the following: * - The file path is relative to the current working directory (tests are run from project root). * - The file path is "data/tests/bytesequences/zero_width-all.txt". * @@ -445,7 +460,7 @@ extern FILE *data__bytesequence_file_open__zero_width(void); /** * Simple line reader that converts the line into a character. * - * This assumes the following: + * This expects the following: * - The line only contains base-10 digits. * - The line only contains at most 32 characters. * @@ -473,7 +488,7 @@ extern ssize_t data__bytesequence_get_line(FILE * const file, f_utf_char_t * con /** * Open the "decimal_number" values file. * - * This assumes the following: + * This expects the following: * - The file path is relative to the current working directory (tests are run from project root). * - The file path is "data/tests/values/digit-all.txt". * @@ -488,7 +503,7 @@ extern FILE *data__value_file_open__digit(void); /** * Simple line reader that converts the line into a long long. * - * This assumes the following: + * This expects the following: * - The line only contains base-10 digits as ASCII characters. * * The input file is expected to be in base-10 so that existing standard functions like atoll() can be easily used. diff --git a/level_0/f_utf/tests/unit/c/test-utf-character_is_print_not.c b/level_0/f_utf/tests/unit/c/test-utf-character_is_print_not.c new file mode 100644 index 000000000..c5c4bfcc8 --- /dev/null +++ b/level_0/f_utf/tests/unit/c/test-utf-character_is_print_not.c @@ -0,0 +1,44 @@ +#include "test-utf.h" +#include "test-utf-character_is_print_not.h" + +#ifdef __cplusplus +extern "C" { +#endif + +void test__f_utf_character_is_print_not__works(void **state) { + + { + FILE *file = data__bytesequence_file_open__print_not(); + + assert_non_null(file); + + f_utf_char_t sequence = 0; + ssize_t bytes = 0; + long long code = 0; + + f_number_unsigned_t line = 0; + + do { + bytes = data__bytesequence_get_line(file, &sequence, &code); + + if (bytes > 0) { + const f_status_t status = f_utf_character_is_print_not(sequence); + + if (status != F_true) { + printf("[ -------> ] --- Failure at line=%lu sequence='%0x' (%llu).\n", line + 1, sequence, code); + } + + assert_int_equal(status, F_true); + } + + ++line; + + } while (bytes > 0); + + fclose(file); + } +} + +#ifdef __cplusplus +} // extern "C" +#endif diff --git a/level_0/f_utf/tests/unit/c/test-utf-character_is_print_not.h b/level_0/f_utf/tests/unit/c/test-utf-character_is_print_not.h new file mode 100644 index 000000000..0affd2125 --- /dev/null +++ b/level_0/f_utf/tests/unit/c/test-utf-character_is_print_not.h @@ -0,0 +1,20 @@ +/** + * FLL - Level 0 + * + * Project: UTF + * API Version: 0.8 + * Licenses: clarified_1_0_or_later-lgpl_2_1_or_later + * + * Test the function in the utf project. + */ +#ifndef _TEST__F_utf_character_is_print_not_h +#define _TEST__F_utf_character_is_print_not_h + +/** + * Test that the function works. + * + * @see f_utf_character_is_print_not() + */ +extern void test__f_utf_character_is_print_not__works(void **state); + +#endif // _TEST__F_utf_character_is_print_not_h diff --git a/level_0/f_utf/tests/unit/c/test-utf-is_print_not.c b/level_0/f_utf/tests/unit/c/test-utf-is_print_not.c new file mode 100644 index 000000000..be0ac6f53 --- /dev/null +++ b/level_0/f_utf/tests/unit/c/test-utf-is_print_not.c @@ -0,0 +1,61 @@ +#include "test-utf.h" +#include "test-utf-is_print_not.h" + +#ifdef __cplusplus +extern "C" { +#endif + +void test__f_utf_is_print_not__works(void **state) { + + { + FILE *file = data__bytesequence_file_open__print_not(); + + assert_non_null(file); + + f_utf_char_t sequence = 0; + ssize_t bytes = 0; + long long code = 0; + + f_number_unsigned_t line = 0; + + do { + bytes = data__bytesequence_get_line(file, &sequence, &code); + + if (bytes > 0) { + const uint8_t width = macro_f_utf_char_t_width(sequence); + char buffer[5] = { 0, 0, 0, 0, 0 }; + + buffer[0] = macro_f_utf_char_t_to_char_1(sequence); + + if (width > 1) { + buffer[1] = macro_f_utf_char_t_to_char_2(sequence); + + if (width > 2) { + buffer[2] = macro_f_utf_char_t_to_char_3(sequence); + + if (width > 3) { + buffer[3] = macro_f_utf_char_t_to_char_4(sequence); + } + } + } + + const f_status_t status = f_utf_is_print_not(buffer, 5); + + if (status != F_true) { + printf("[ -------> ] --- Failure at line=%lu sequence='%0x' (%llu).\n", line + 1, sequence, code); + } + + assert_int_equal(status, F_true); + } + + ++line; + + } while (bytes > 0); + + fclose(file); + } +} + +#ifdef __cplusplus +} // extern "C" +#endif diff --git a/level_0/f_utf/tests/unit/c/test-utf-is_print_not.h b/level_0/f_utf/tests/unit/c/test-utf-is_print_not.h new file mode 100644 index 000000000..13453ee43 --- /dev/null +++ b/level_0/f_utf/tests/unit/c/test-utf-is_print_not.h @@ -0,0 +1,20 @@ +/** + * FLL - Level 0 + * + * Project: UTF + * API Version: 0.8 + * Licenses: clarified_1_0_or_later-lgpl_2_1_or_later + * + * Test the function in the utf project. + */ +#ifndef _TEST__F_utf_is_print_not_h +#define _TEST__F_utf_is_print_not_h + +/** + * Test that the function works. + * + * @see f_utf_is_print_not() + */ +extern void test__f_utf_is_print_not__works(void **state); + +#endif // _TEST__F_utf_is_print_not_h diff --git a/level_0/f_utf/tests/unit/c/test-utf.c b/level_0/f_utf/tests/unit/c/test-utf.c index bf2c58b12..28664ee61 100644 --- a/level_0/f_utf/tests/unit/c/test-utf.c +++ b/level_0/f_utf/tests/unit/c/test-utf.c @@ -36,6 +36,7 @@ int main(void) { cmocka_unit_test(test__f_utf_character_is_joiner__works), cmocka_unit_test(test__f_utf_character_is_numeric__works), cmocka_unit_test(test__f_utf_character_is_phonetic__works), + cmocka_unit_test(test__f_utf_character_is_print_not__works), cmocka_unit_test(test__f_utf_character_is_private__works), cmocka_unit_test(test__f_utf_character_is_punctuation__works), cmocka_unit_test(test__f_utf_character_is_subscript__works), @@ -151,6 +152,7 @@ int main(void) { cmocka_unit_test(test__f_utf_is_joiner__works), cmocka_unit_test(test__f_utf_is_numeric__works), cmocka_unit_test(test__f_utf_is_phonetic__works), + cmocka_unit_test(test__f_utf_is_print_not__works), cmocka_unit_test(test__f_utf_is_private__works), cmocka_unit_test(test__f_utf_is_punctuation__works), cmocka_unit_test(test__f_utf_is_subscript__works), diff --git a/level_0/f_utf/tests/unit/c/test-utf.h b/level_0/f_utf/tests/unit/c/test-utf.h index 3133a20d2..cbdbf8fc9 100644 --- a/level_0/f_utf/tests/unit/c/test-utf.h +++ b/level_0/f_utf/tests/unit/c/test-utf.h @@ -46,6 +46,7 @@ #include "test-utf-character_is_joiner.h" #include "test-utf-character_is_numeric.h" #include "test-utf-character_is_phonetic.h" +#include "test-utf-character_is_print_not.h" #include "test-utf-character_is_private.h" #include "test-utf-character_is_punctuation.h" #include "test-utf-character_is_subscript.h" @@ -114,6 +115,7 @@ #include "test-utf-is_joiner.h" #include "test-utf-is_numeric.h" #include "test-utf-is_phonetic.h" +#include "test-utf-is_print_not.h" #include "test-utf-is_private.h" #include "test-utf-is_punctuation.h" #include "test-utf-is_subscript.h" diff --git a/level_1/fl_fss/data/tests/matches/basic-combining_read.txt b/level_1/fl_fss/data/tests/matches/basic-combining_read.txt index 87000e719..9d005c75b 100644 --- a/level_1/fl_fss/data/tests/matches/basic-combining_read.txt +++ b/level_1/fl_fss/data/tests/matches/basic-combining_read.txt @@ -1,6 +1,6 @@ 2 2 -1 +-1 1 2 2 diff --git a/level_1/fl_fss/data/tests/matches/extended-combining_read.txt b/level_1/fl_fss/data/tests/matches/extended-combining_read.txt index 87000e719..9d005c75b 100644 --- a/level_1/fl_fss/data/tests/matches/extended-combining_read.txt +++ b/level_1/fl_fss/data/tests/matches/extended-combining_read.txt @@ -1,6 +1,6 @@ 2 2 -1 +-1 1 2 2 diff --git a/level_1/fl_fss/data/tests/objects/basic-combining_read.txt b/level_1/fl_fss/data/tests/objects/basic-combining_read.txt index 7ed2a8697..839e3bfba 100644 --- a/level_1/fl_fss/data/tests/objects/basic-combining_read.txt +++ b/level_1/fl_fss/data/tests/objects/basic-combining_read.txt @@ -1,6 +1,6 @@ first is_second - ́ +́ fourth ͜no_space fifth sixtẖ̚ diff --git a/level_1/fl_fss/data/tests/objects/extended-combining_read.txt b/level_1/fl_fss/data/tests/objects/extended-combining_read.txt index 7ed2a8697..839e3bfba 100644 --- a/level_1/fl_fss/data/tests/objects/extended-combining_read.txt +++ b/level_1/fl_fss/data/tests/objects/extended-combining_read.txt @@ -1,6 +1,6 @@ first is_second - ́ +́ fourth ͜no_space fifth sixtẖ̚ diff --git a/level_1/fl_fss/data/tests/strings/basic-combining_read.txt b/level_1/fl_fss/data/tests/strings/basic-combining_read.txt index d2132bf51..fe24da37d 100644 --- a/level_1/fl_fss/data/tests/strings/basic-combining_read.txt +++ b/level_1/fl_fss/data/tests/strings/basic-combining_read.txt @@ -1,6 +1,6 @@ first valid. is_second and does not have embedded new line. - ́ +́ fourth ͜no_space fifth is valid. sixtẖ̚ is valid with two combiners. diff --git a/level_1/fl_fss/data/tests/strings/extended-combining_read.txt b/level_1/fl_fss/data/tests/strings/extended-combining_read.txt index d2132bf51..fe24da37d 100644 --- a/level_1/fl_fss/data/tests/strings/extended-combining_read.txt +++ b/level_1/fl_fss/data/tests/strings/extended-combining_read.txt @@ -1,6 +1,6 @@ first valid. is_second and does not have embedded new line. - ́ +́ fourth ͜no_space fifth is valid. sixtẖ̚ is valid with two combiners. diff --git a/level_1/fl_fss/tests/unit/c/test-fss-basic_content_read.c b/level_1/fl_fss/tests/unit/c/test-fss-basic_content_read.c index 89bbf6a2f..6c7f7fff4 100644 --- a/level_1/fl_fss/tests/unit/c/test-fss-basic_content_read.c +++ b/level_1/fl_fss/tests/unit/c/test-fss-basic_content_read.c @@ -335,7 +335,8 @@ void test__fl_fss_basic_content_read__works_using_combining(void **void_state) { fl_fss_basic_object_read(buffer_string, &range, &found_object, "e, &delimits, &state); - if (matches) { + if (matches > 0) { + // When matches is 2, then this matches both object and content. if (matches == 2) { if (!(state.status == F_fss_found_object)) { @@ -354,93 +355,104 @@ void test__fl_fss_basic_content_read__works_using_combining(void **void_state) { assert_true(state.status == F_fss_found_object_content_not); } } + else if (matches == -1) { + + // Use -1 to represent F_complete_not_utf_start. + if (!(state.status == F_status_set_error(F_complete_not_utf_start))) { + printf("[ -------> ] --- [03] Failure with fl_fss_basic_object_read(), with line %lu '%s', matches=%d, status=%u, expected %u.\n", line, line_content, matches, state.status, F_status_set_error(F_complete_not_utf_start)); + } + + assert_true(state.status == F_status_set_error(F_complete_not_utf_start)); + } else { // This is currently not supported. - printf("[ -------> ] --- [03] Failure line %lu matches of 0 is not supported.\n", line); + printf("[ -------> ] --- [04] Failure line %lu matches of 0 is not supported.\n", line); assert_true(F_false); } - status_object = state.status; - state.status = F_none; + if (matches > 0) { + status_object = state.status; + state.status = F_none; - fl_fss_basic_content_read(buffer_string, &range, &found, &delimits, &state); + fl_fss_basic_content_read(buffer_string, &range, &found, &delimits, &state); - if (status_object == F_fss_found_object) { - if (state.status != F_fss_found_content) { - printf("[ -------> ] --- [04] Failure with fl_fss_basic_content_read(), with line %lu '%s', expected %u.\n", line, line_content, F_fss_found_content); + if (status_object == F_fss_found_object) { + if (state.status != F_fss_found_content) { + printf("[ -------> ] --- [05] Failure with fl_fss_basic_content_read(), with line %lu '%s', expected %u.\n", line, line_content, F_fss_found_content); + } + + assert_int_equal(state.status, F_fss_found_content); } + else { + if (state.status != F_data_not) { + printf("[ -------> ] --- [06] Failure with fl_fss_basic_content_read(), with line %lu '%s', expected %u.\n", line, line_content, F_data_not); + } - assert_int_equal(state.status, F_fss_found_content); - } - else { - if (state.status != F_data_not) { - printf("[ -------> ] --- [05] Failure with fl_fss_basic_content_read(), with line %lu '%s', expected %u.\n", line, line_content, F_data_not); + assert_int_equal(state.status, F_data_not); } - assert_int_equal(state.status, F_data_not); - } + if (matches == 2) { + if (state.status == F_fss_found_content) { + if (!found.used) { + printf("[ -------> ] --- [07] Failure with fl_fss_basic_content_read(), with line %lu '%s', expected found.used <> 0.\n", line, line_content); + } - if (matches == 2) { - if (state.status == F_fss_found_content) { - if (!found.used) { - printf("[ -------> ] --- [06] Failure with fl_fss_basic_content_read(), with line %lu '%s', expected found.used <> 0.\n", line, line_content); - } + assert_true(found.used); - assert_true(found.used); + { + const f_status_t status = f_string_dynamic_append(buffer_string, &delimit_string); - { - const f_status_t status = f_string_dynamic_append(buffer_string, &delimit_string); + if (status != F_okay) { + printf("[ -------> ] --- [08] Failure with f_string_dynamic_append(), with line %lu '%s', expected %u.\n", line, line_content, F_okay); + } - if (status != F_okay) { - printf("[ -------> ] --- [07] Failure with f_string_dynamic_append(), with line %lu '%s', expected %u.\n", line, line_content, F_okay); + assert_int_equal(status, F_okay); } - assert_int_equal(status, F_okay); - } + state.status = F_none; - state.status = F_none; + f_fss_apply_delimit(delimits, &delimit_string, &state); - f_fss_apply_delimit(delimits, &delimit_string, &state); + if (state.status != F_okay) { + printf("[ -------> ] --- [09] Failure with f_fss_apply_delimit(), with line %lu '%s', expected %u.\n", line, line_content, F_okay); + } - if (state.status != F_okay) { - printf("[ -------> ] --- [08] Failure with f_fss_apply_delimit(), with line %lu '%s', expected %u.\n", line, line_content, F_okay); - } + assert_int_equal(state.status, F_okay); - assert_int_equal(state.status, F_okay); + { + const f_status_t status = f_string_dynamic_partial_append_nulless(delimit_string, found.array[0], &result_string); - { - const f_status_t status = f_string_dynamic_partial_append_nulless(delimit_string, found.array[0], &result_string); + if (!(status == F_okay || status == F_data_not_eos)) { + printf("[ -------> ] --- [10] Failure with f_string_dynamic_partial_append_nulless(), with line %lu '%s', status=%u, expected %u or %#0x.\n", line, line_content, status, F_okay, F_data_not_eos); + } - if (!(status == F_okay || status == F_data_not_eos)) { - printf("[ -------> ] --- [09] Failure with f_string_dynamic_partial_append_nulless(), with line %lu '%s', status=%u, expected %u or %#0x.\n", line, line_content, status, F_okay, F_data_not_eos); + assert_true(status == F_okay || status == F_data_not_eos); } - assert_true(status == F_okay || status == F_data_not_eos); - } + { + const f_status_t status = f_string_dynamic_terminate_after(&result_string); - { - const f_status_t status = f_string_dynamic_terminate_after(&result_string); + if (status != F_okay) { + printf("[ -------> ] --- [11] Failure with f_string_dynamic_terminate_after(), Failure with line %lu '%s', expected %u.\n", line, line_content, F_okay); + } - if (status != F_okay) { - printf("[ -------> ] --- [10] Failure with f_string_dynamic_terminate_after(), Failure with line %lu '%s', expected %u.\n", line, line_content, F_okay); + assert_int_equal(status, F_okay); } - assert_int_equal(status, F_okay); - } + if (strcmp((const char *) result_string.string, (const char *) line_content)) { + printf("[ -------> ] --- [12] Failure with line %lu, strings do not match.\n", line); + } - if (strcmp((const char *) result_string.string, (const char *) line_content)) { - printf("[ -------> ] --- [11] Failure with line %lu, strings do not match.\n", line); + assert_string_equal(result_string.string, line_content); } + else { + if (found.used) { + printf("[ -------> ] --- [13] Failure with fl_fss_basic_content_read(), with line %lu '%s', expected found.used == 0.\n", line, line_content); + } - assert_string_equal(result_string.string, line_content); - } - else { - if (found.used) { - printf("[ -------> ] --- [12] Failure with fl_fss_basic_content_read(), with line %lu '%s', expected found.used == 0.\n", line, line_content); + assert_true(!found.used); } - - assert_true(!found.used); } } diff --git a/level_1/fl_fss/tests/unit/c/test-fss-basic_list_content_read.c b/level_1/fl_fss/tests/unit/c/test-fss-basic_list_content_read.c index cb5347ab8..d36b0b4cb 100644 --- a/level_1/fl_fss/tests/unit/c/test-fss-basic_list_content_read.c +++ b/level_1/fl_fss/tests/unit/c/test-fss-basic_list_content_read.c @@ -490,7 +490,7 @@ void test__fl_fss_basic_list_content_read__works_using_combining(void **void_sta const f_status_t status = data__extract_from_source(set_strings, found_object, &set_result); if (F_status_is_error(status)) { - printf("[ -------> ] --- [14] Failure with data__extract_from_source() for extract object, with set %lu, status=%u has error bit set.\n", set, status); + printf("[ -------> ] --- [08] Failure with data__extract_from_source() for extract object, with set %lu, status=%u has error bit set.\n", set, status); } assert_true(F_status_is_error_not(status)); diff --git a/level_1/fl_fss/tests/unit/c/test-fss-basic_object_read.c b/level_1/fl_fss/tests/unit/c/test-fss-basic_object_read.c index e97030e37..fbe56e2e2 100644 --- a/level_1/fl_fss/tests/unit/c/test-fss-basic_object_read.c +++ b/level_1/fl_fss/tests/unit/c/test-fss-basic_object_read.c @@ -310,7 +310,7 @@ void test__fl_fss_basic_object_read__works_using_combining(void **void_state) { fl_fss_basic_object_read(buffer_string, &range, &found, "e, &delimits, &state); - if (matches) { + if (matches > 0) { // When matches is 2, then this matches both object and content. if (matches == 2) { if (!(state.status == F_fss_found_object)) { @@ -335,60 +335,70 @@ void test__fl_fss_basic_object_read__works_using_combining(void **void_state) { assert_true(state.status == F_fss_found_object_content_not); } } + else if (matches == -1) { + + // Use -1 to represent F_complete_not_utf_start. + if (!(state.status == F_status_set_error(F_complete_not_utf_start))) { + printf("[ -------> ] --- [04] Failure with fl_fss_basic_object_read(), with line %lu '%s', matches=%d, status=%u, expected %u.\n", line, line_object, matches, state.status, F_status_set_error(F_complete_not_utf_start)); + } + + assert_true(state.status == F_status_set_error(F_complete_not_utf_start)); + } else { // This is currently not supported. - printf("[ -------> ] --- [04] Failure with fl_fss_basic_object_read(), line %lu matches of 0 is not supported.\n", line); + printf("[ -------> ] --- [05] Failure with fl_fss_basic_object_read(), line %lu matches of 0 is not supported.\n", line); assert_true(F_false); } + if (matches > 0) { + { + const f_status_t status = f_string_dynamic_append(buffer_string, &delimit_string); - { - const f_status_t status = f_string_dynamic_append(buffer_string, &delimit_string); + if (status != F_okay) { + printf("[ -------> ] --- [06] Failure with f_string_dynamic_append(), Failure with line '%s'.\n", line_object); + } - if (status != F_okay) { - printf("[ -------> ] --- [05] Failure with f_string_dynamic_append(), Failure with line '%s'.\n", line_object); + assert_int_equal(status, F_okay); } - assert_int_equal(status, F_okay); - } + state.status = F_none; - state.status = F_none; + f_fss_apply_delimit(delimits, &delimit_string, &state); - f_fss_apply_delimit(delimits, &delimit_string, &state); + if (state.status != F_okay) { + printf("[ -------> ] --- [07] Failure with f_fss_apply_delimit(), Failure with line '%s'.\n", line_object); + } - if (state.status != F_okay) { - printf("[ -------> ] --- [06] Failure with f_fss_apply_delimit(), Failure with line '%s'.\n", line_object); - } + assert_int_equal(state.status, F_okay); - assert_int_equal(state.status, F_okay); + { + const f_status_t status = f_string_dynamic_partial_append_nulless(delimit_string, found, &result_string); - { - const f_status_t status = f_string_dynamic_partial_append_nulless(delimit_string, found, &result_string); + if (!(status == F_okay || status == F_data_not_eos)) { + printf("[ -------> ] --- [08] Failure with f_string_dynamic_partial_append_nulless(), Failure with line '%s', status=%u.\n", line_object, status); + } - if (!(status == F_okay || status == F_data_not_eos)) { - printf("[ -------> ] --- [07] Failure with f_string_dynamic_partial_append_nulless(), Failure with line '%s', status=%u.\n", line_object, status); + assert_true(status == F_okay || status == F_data_not_eos); } - assert_true(status == F_okay || status == F_data_not_eos); - } + { + const f_status_t status = f_string_dynamic_terminate_after(&result_string); - { - const f_status_t status = f_string_dynamic_terminate_after(&result_string); + if (status != F_okay) { + printf("[ -------> ] --- [09] Failure with f_string_dynamic_terminate_after(), with line '%s'.\n", line_object); + } - if (status != F_okay) { - printf("[ -------> ] --- [08] Failure with f_string_dynamic_terminate_after(), with line '%s'.\n", line_object); + assert_int_equal(status, F_okay); } - assert_int_equal(status, F_okay); - } + if (strcmp((const char *) result_string.string, (const char *) line_object)) { + printf("[ -------> ] --- [10] Failure with line %lu, line_object = '%s', strings do not match.\n", line, line_object); + } - if (strcmp((const char *) result_string.string, (const char *) line_object)) { - printf("[ -------> ] --- [09] Failure with line %lu, line_object = '%s', strings do not match.\n", line, line_object); + assert_string_equal(result_string.string, line_object); } - assert_string_equal(result_string.string, line_object); - if (line_matches) free(line_matches); if (line_object) free(line_object); if (line_string) free(line_string); diff --git a/level_1/fl_fss/tests/unit/c/test-fss-extended_content_read.c b/level_1/fl_fss/tests/unit/c/test-fss-extended_content_read.c index 693a3dcc6..3e9ae9c5b 100644 --- a/level_1/fl_fss/tests/unit/c/test-fss-extended_content_read.c +++ b/level_1/fl_fss/tests/unit/c/test-fss-extended_content_read.c @@ -425,7 +425,7 @@ void test__fl_fss_extended_content_read__works_using_combining(void **void_state fl_fss_extended_object_read(buffer_string, &range, &found_object, "e, &delimits, &state); - if (matches) { + if (matches > 0) { // When matches is 2, then this matches both object and content. if (matches == 2) { if (!(state.status == F_fss_found_object)) { @@ -444,113 +444,124 @@ void test__fl_fss_extended_content_read__works_using_combining(void **void_state assert_true(state.status == F_fss_found_object_content_not); } } + else if (matches == -1) { + + // Use -1 to represent F_complete_not_utf_start. + if (!(state.status == F_status_set_error(F_complete_not_utf_start))) { + printf("[ -------> ] --- [03] Failure with fl_fss_basic_object_read(), with line %lu, matches=%d, status=%u, expected %u.\n", line, matches, state.status, F_status_set_error(F_complete_not_utf_start)); + } + + assert_true(state.status == F_status_set_error(F_complete_not_utf_start)); + } else { // This is currently not supported. - printf("[ -------> ] --- [03] Failure line %lu matches of 0 is not supported.\n", line); + printf("[ -------> ] --- [04] Failure line %lu matches of 0 is not supported.\n", line); assert_true(F_false); } - status_object = state.status; - state.status = F_none; + if (matches > 0) { + status_object = state.status; + state.status = F_none; - fl_fss_extended_content_read(buffer_string, &range, &found, "es, &delimits, &state); + fl_fss_extended_content_read(buffer_string, &range, &found, "es, &delimits, &state); - if (status_object == F_fss_found_object) { - if (state.status != F_fss_found_content) { - printf("[ -------> ] --- [04] Failure with fl_fss_extended_content_read() line %lu status=%u, expected %u.\n", line, state.status, F_fss_found_content); + if (status_object == F_fss_found_object) { + if (state.status != F_fss_found_content) { + printf("[ -------> ] --- [05] Failure with fl_fss_extended_content_read() line %lu status=%u, expected %u.\n", line, state.status, F_fss_found_content); + } + + assert_int_equal(state.status, F_fss_found_content); } + else { + if (state.status != F_data_not) { + printf("[ -------> ] --- [06] Failure with fl_fss_extended_content_read() line %lu status=%u, expected %u.\n", line, state.status, F_data_not); + } - assert_int_equal(state.status, F_fss_found_content); - } - else { - if (state.status != F_data_not) { - printf("[ -------> ] --- [05] Failure with fl_fss_extended_content_read() line %lu status=%u, expected %u.\n", line, state.status, F_data_not); + assert_int_equal(state.status, F_data_not); } - assert_int_equal(state.status, F_data_not); - } + if (state.status == F_fss_found_content) { + if (!found.used) { + printf("[ -------> ] --- [07] Failure with fl_fss_extended_content_read() line %lu got F_fss_found_content status=%u, expected found.used to be > 0.\n", line, state.status); + } - if (state.status == F_fss_found_content) { - if (!found.used) { - printf("[ -------> ] --- [06] Failure with fl_fss_extended_content_read() line %lu got F_fss_found_content status=%u, expected found.used to be > 0.\n", line, state.status); - } + assert_true(found.used); - assert_true(found.used); + if (!(found.used <= (f_number_unsigned_t) total_content)) { + printf("[ -------> ] --- [08] Failure with fl_fss_extended_content_read() line %lu got F_fss_found_content status=%u, expected found.used (%lu) should be <= total_content (%lu).\n", line, state.status, found.used, (f_number_unsigned_t) total_content); + } - if (!(found.used <= (f_number_unsigned_t) total_content)) { - printf("[ -------> ] --- [07] Failure with fl_fss_extended_content_read() line %lu got F_fss_found_content status=%u, expected found.used (%lu) should be <= total_content (%lu).\n", line, state.status, found.used, (f_number_unsigned_t) total_content); - } + assert_true(found.used <= (f_number_unsigned_t) total_content); - assert_true(found.used <= (f_number_unsigned_t) total_content); + { + const f_status_t status = f_string_dynamic_append(buffer_string, &delimit_string); - { - const f_status_t status = f_string_dynamic_append(buffer_string, &delimit_string); + if (status != F_okay) { + printf("[ -------> ] --- [09] Failure with f_string_dynamic_append() line %lu, got status=%u, expected %u.\n", line, status, F_okay); + } - if (status != F_okay) { - printf("[ -------> ] --- [08] Failure with f_string_dynamic_append() line %lu, got status=%u, expected %u.\n", line, status, F_okay); + assert_int_equal(status, F_okay); } - assert_int_equal(status, F_okay); - } + state.status = F_none; - state.status = F_none; + f_fss_apply_delimit(delimits, &delimit_string, &state); - f_fss_apply_delimit(delimits, &delimit_string, &state); + if (state.status != F_okay) { + printf("[ -------> ] --- [10] Failure with f_fss_apply_delimit() line %lu, got status=%u, expected %u.\n", line, state.status, F_okay); + } - if (state.status != F_okay) { - printf("[ -------> ] --- [09] Failure with f_fss_apply_delimit() line %lu, got status=%u, expected %u.\n", line, state.status, F_okay); - } + assert_int_equal(state.status, F_okay); - assert_int_equal(state.status, F_okay); + { + uint8_t i = 0; - { - uint8_t i = 0; + for (; i < found.used; ++i) { - for (; i < found.used; ++i) { + result_string.used = 0; - result_string.used = 0; + { + const f_status_t status = f_string_dynamic_partial_append_nulless(delimit_string, found.array[i], &result_string); - { - const f_status_t status = f_string_dynamic_partial_append_nulless(delimit_string, found.array[i], &result_string); + if (!(status == F_okay || status == F_data_not_eos)) { + printf("[ -------> ] --- [11] Failure with f_string_dynamic_partial_append_nulless() line %lu and found[%u], got status=%u, expected either %u or %u.\n", line, i, status, F_okay, F_data_not_eos); + } - if (!(status == F_okay || status == F_data_not_eos)) { - printf("[ -------> ] --- [10] Failure with f_string_dynamic_partial_append_nulless() line %lu and found[%u], got status=%u, expected either %u or %u.\n", line, i, status, F_okay, F_data_not_eos); + assert_true(status == F_okay || status == F_data_not_eos); } - assert_true(status == F_okay || status == F_data_not_eos); - } + { + const f_status_t status = f_string_dynamic_terminate_after(&result_string); - { - const f_status_t status = f_string_dynamic_terminate_after(&result_string); + if (status != F_okay) { + printf("[ -------> ] --- [12] Failure with f_string_dynamic_terminate_after() line %lu and found[%u], got status=%u, expected %u.\n", line, i, status, F_okay); + } - if (status != F_okay) { - printf("[ -------> ] --- [11] Failure with f_string_dynamic_terminate_after() line %lu and found[%u], got status=%u, expected %u.\n", line, i, status, F_okay); + assert_int_equal(status, F_okay); } - assert_int_equal(status, F_okay); - } - - if (strcmp(result_string.string, line_content[i])) { - printf("[ -------> ] --- [12] Failure with line %lu and found[%u], strings do not match.\n", line, i); - } + if (strcmp(result_string.string, line_content[i])) { + printf("[ -------> ] --- [13] Failure with line %lu and found[%u], strings do not match.\n", line, i); + } - assert_string_equal(result_string.string, line_content[i]); - } // for + assert_string_equal(result_string.string, line_content[i]); + } // for - // All remaining positions in the file need to be a zero length string. - for (; i < total_content; ++i) { + // All remaining positions in the file need to be a zero length string. + for (; i < total_content; ++i) { - if (line_content[i][0]) { - printf("[ -------> ] --- [13] Failure line %lu line_content[%u][0] should be 0 but got %u.\n", line, i, line_content[i][0]); - } + if (line_content[i][0]) { + printf("[ -------> ] --- [14] Failure line %lu line_content[%u][0] should be 0 but got %u.\n", line, i, line_content[i][0]); + } - assert_int_equal(line_content[i][0], 0); - } // for + assert_int_equal(line_content[i][0], 0); + } // for + } + } + else { + assert_true(!found.used); } - } - else { - assert_true(!found.used); } if (line_matches) free(line_matches); diff --git a/level_1/fl_fss/tests/unit/c/test-fss-extended_object_read.c b/level_1/fl_fss/tests/unit/c/test-fss-extended_object_read.c index 028382ae7..a98764921 100644 --- a/level_1/fl_fss/tests/unit/c/test-fss-extended_object_read.c +++ b/level_1/fl_fss/tests/unit/c/test-fss-extended_object_read.c @@ -326,7 +326,7 @@ void test__fl_fss_extended_object_read__works_using_combining(void **void_state) fl_fss_extended_object_read(buffer_string, &range, &found, "e, &delimits, &state); - if (matches) { + if (matches > 0) { // When matches is 2, then this matches both object and content. if (matches == 2) { if (!(state.status == F_fss_found_object)) { @@ -351,59 +351,70 @@ void test__fl_fss_extended_object_read__works_using_combining(void **void_state) assert_true(state.status == F_fss_found_object_content_not); } } + else if (matches == -1) { + + // Use -1 to represent F_complete_not_utf_start. + if (!(state.status == F_status_set_error(F_complete_not_utf_start))) { + printf("[ -------> ] --- [04] Failure with fl_fss_basic_object_read(), with line %lu '%s', matches=%d, status=%u, expected %u.\n", line, line_object, matches, state.status, F_status_set_error(F_complete_not_utf_start)); + } + + assert_true(state.status == F_status_set_error(F_complete_not_utf_start)); + } else { // This is currently not supported. - printf("[ -------> ] --- [04] Failure with fl_fss_extended_object_read(), line %lu matches of 0 is not supported.\n", line); + printf("[ -------> ] --- [05] Failure with fl_fss_extended_object_read(), line %lu matches of 0 is not supported.\n", line); assert_true(F_false); } - { - const f_status_t status = f_string_dynamic_append(buffer_string, &delimit_string); + if (matches > 0) { + { + const f_status_t status = f_string_dynamic_append(buffer_string, &delimit_string); + + if (!(status == F_okay || status == F_data_not_eos)) { + printf("[ -------> ] --- [06] Failure with fl_fss_extended_object_read(), with fl_fss_extended_object_read() line %lu, got status=%u, expected either %u or %u.\n", line, status, F_okay, F_data_not_eos); + } - if (!(status == F_okay || status == F_data_not_eos)) { - printf("[ -------> ] --- [05] Failure with fl_fss_extended_object_read(), with fl_fss_extended_object_read() line %lu, got status=%u, expected either %u or %u.\n", line, status, F_okay, F_data_not_eos); + assert_int_equal(status, F_okay); } - assert_int_equal(status, F_okay); - } + state.status = F_none; - state.status = F_none; + f_fss_apply_delimit(delimits, &delimit_string, &state); - f_fss_apply_delimit(delimits, &delimit_string, &state); + if (state.status != F_okay) { + printf("[ -------> ] --- [07] Failure with f_fss_apply_delimit() line %lu, got status=%u, expected %u.\n", line, state.status, F_okay); + } - if (state.status != F_okay) { - printf("[ -------> ] --- [06] Failure with f_fss_apply_delimit() line %lu, got status=%u, expected %u.\n", line, state.status, F_okay); - } + assert_int_equal(state.status, F_okay); - assert_int_equal(state.status, F_okay); + { + const f_status_t status = f_string_dynamic_partial_append_nulless(delimit_string, found, &result_string); - { - const f_status_t status = f_string_dynamic_partial_append_nulless(delimit_string, found, &result_string); + if (!(status == F_okay || status == F_data_not_eos)) { + printf("[ -------> ] --- [08] Failure with f_string_dynamic_partial_append_nulless() line %lu, got status=%u, expected either %u or %u.\n", line, status, F_okay, F_data_not_eos); + } - if (!(status == F_okay || status == F_data_not_eos)) { - printf("[ -------> ] --- [07] Failure with f_string_dynamic_partial_append_nulless() line %lu, got status=%u, expected either %u or %u.\n", line, status, F_okay, F_data_not_eos); + assert_true(status == F_okay || status == F_data_not_eos); } - assert_true(status == F_okay || status == F_data_not_eos); - } + { + const f_status_t status = f_string_dynamic_terminate_after(&result_string); - { - const f_status_t status = f_string_dynamic_terminate_after(&result_string); + if (status != F_okay) { + printf("[ -------> ] --- [09] Failure with f_string_dynamic_terminate_after() line %lu, got status=%u, expected %u.\n", line, status, F_okay); + } - if (status != F_okay) { - printf("[ -------> ] --- [08] Failure with f_string_dynamic_terminate_after() line %lu, got status=%u, expected %u.\n", line, status, F_okay); + assert_int_equal(status, F_okay); } - assert_int_equal(status, F_okay); - } + if (strcmp(result_string.string, line_object)) { + printf("[ -------> ] --- [10] Failure with f_string_dynamic_terminate_after() with line %lu, strings do not match.\n", line); + } - if (strcmp(result_string.string, line_object)) { - printf("[ -------> ] --- [09] Failure with f_string_dynamic_terminate_after() with line %lu, strings do not match.\n", line); + assert_string_equal(result_string.string, line_object); } - assert_string_equal(result_string.string, line_object); - if (line_matches) free(line_matches); if (line_string) free(line_string); if (line_object) free(line_object); diff --git a/level_3/byte_dump/c/main/print/data.c b/level_3/byte_dump/c/main/print/data.c index 235b5807e..da73d3485 100644 --- a/level_3/byte_dump/c/main/print/data.c +++ b/level_3/byte_dump/c/main/print/data.c @@ -427,7 +427,7 @@ extern "C" { f_print_dynamic_raw(f_string_ascii_space_s, print->to); } } - else if (f_utf_character_is_zero_width(sequence.string[i]) == F_true) { + else if (f_utf_character_is_print_not(sequence.string[i]) == F_true) { if (main->setting.presentation == byte_dump_presentation_classic_e) { f_print_dynamic_raw(f_string_ascii_period_s, print->to); }