--- /dev/null
- * Licenses: lgpl-2.1-or-later
+/**
+ * FLL - Level 0
+ *
+ * Project: FSS
+ * API Version: 0.8
++ * Licenses: clarified_1_0_or_later-lgpl_2_1_or_later
+ *
+ * Test skip past combining joiner in the fss project.
+ */
+#ifndef _TEST__F_fss__skip_past_combining_joiner
+#define _TEST__F_fss__skip_past_combining_joiner
+
+/**
+ * Test that the function correctly fails on invalid parameter.
+ *
+ * @see f_fss_skip_past_combining_joiner()
+ */
+extern void test__f_fss_skip_past_combining_joiner__parameter_checking(void **state);
+
+/**
+ * Test that the function returns F_data_not.
+ *
+ * @see f_fss_skip_past_combining_joiner()
+ */
+extern void test__f_fss_skip_past_combining_joiner__returns_data_not(void **state);
+
+/**
+ * Test that the function works.
+ *
+ * @see f_fss_skip_past_combining_joiner()
+ */
+extern void test__f_fss_skip_past_combining_joiner__works(void **state);
+
+#endif // _TEST__F_fss__skip_past_combining_joiner
--- /dev/null
- * Licenses: lgpl-2.1-or-later
+/**
+ * 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_joiner_h
+#define _PRIVATE_F_utf_joiner_h
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/**
+ * Private implementation of f_utf_character_is_joiner().
+ *
+ * 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 joiner character.
+ * F_false if not a UTF-8 joiner 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_alphabetic()
+ * @see f_utf_character_is_alphabetic_digit()
+ * @see f_utf_character_is_alphabetic_numeric()
+ * @see f_utf_character_is_combining_joiner()
+ * @see f_utf_character_is_joiner()
+ * @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()
+ */
+#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_)
+ 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_)
+
+#ifdef __cplusplus
+} // extern "C"
+#endif
+
+#endif // _PRIVATE_F_utf_joiner_h
--- /dev/null
- * Licenses: lgpl-2.1-or-later
+/**
+ * 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_combining_joiner_h
+#define _TEST__F_utf_character_is_combining_joiner_h
+
+/**
+ * Test that the function works.
+ *
+ * @see f_utf_character_is_combining_joiner()
+ */
+extern void test__f_utf_character_is_combining_joiner__works(void **state);
+
+#endif // _TEST__F_utf_character_is_combining_joiner_h
--- /dev/null
- * Licenses: lgpl-2.1-or-later
+/**
+ * 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_joiner_h
+#define _TEST__F_utf_character_is_joiner_h
+
+/**
+ * Test that the function works.
+ *
+ * @see f_utf_character_is_joiner()
+ */
+extern void test__f_utf_character_is_joiner__works(void **state);
+
+#endif // _TEST__F_utf_character_is_joiner_h
--- /dev/null
- * Licenses: lgpl-2.1-or-later
+/**
+ * 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_combining_joiner_h
+#define _TEST__F_utf_is_combining_joiner_h
+
+/**
+ * Test that the function works.
+ *
+ * @see f_utf_is_combining_joiner()
+ */
+extern void test__f_utf_is_combining_joiner__works(void **state);
+
+#endif // _TEST__F_utf_is_combining_joiner_h
--- /dev/null
- * Licenses: lgpl-2.1-or-later
+/**
+ * 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_joiner_h
+#define _TEST__F_utf_is_joiner_h
+
+/**
+ * Test that the function works.
+ *
+ * @see f_utf_is_joiner()
+ */
+extern void test__f_utf_is_joiner__works(void **state);
+
+#endif // _TEST__F_utf_is_joiner_h
# fss-0002 iki-0000
#
- # license open-standard-license-1.1-or-later
+ # license open_standard_license_1_1_or_later
-# version 2026/05/31
+# version 2026/07/21
#
# This file (assumed to be named fss.txt) can be more easily read using the following iki_read commands:
# iki_read fss.txt +Q -w -rrrrrrrr anti-KISS anti-KISS ASCII ASCII BOM BOM FSS FSS KISS KISS UTF-8 UTF-8 URL URL XML XML -WWW character "'" "'" code '"' '"' italic '"' '"'