]> Kevux Git Server - fll/commit
Update: To Unicode 16.
authorKevin Day <Kevin@kevux.org>
Fri, 29 May 2026 00:45:58 +0000 (19:45 -0500)
committerKevin Day <Kevin@kevux.org>
Fri, 29 May 2026 00:45:58 +0000 (19:45 -0500)
commitec3890e458438da20929dd747e9b0df105b6da74
treee5be8979020479809e8b4e5527a052e41d7692b0
parent45a1d7777ac997facd990b57518f0b2aa7863cb0
Update: To Unicode 16.

This gets the code base up to date with **Unicode 16**.
I intend to follow this up with additional changes to update to **Unicode 17**.

I discovered that I accidentally had the unit tests disabled for the **Unicode** is_* functions.
Re-enable the tests and get things working.
Also add a "is_control_picture" unit tests.
I added additional logic that prints out useful information for when many of the **Unicode** related unit tests fail.
I intend to slowly add more such logic to all of me units tests over time.

I discovered that the combining characters might have marks in them that do not belong as punctuation.
I will have to follow this up with a bug fix to address all of these cases.
This will take some time.
I did not correct the unit tests within this commit to avoid doing a lot of that work right now.

I believe I also need to add is_mark functions to properly handle this and test for this.
This is will be a new feature to fix a bug.
I should also back port these changes to the 0.6.x series.

I also made some structural changes by adding some more if conditionals in situations where it seemed like there were too many checks in a given block set.
79 files changed:
level_0/f_utf/c/private-utf_alphabetic.c
level_0/f_utf/c/private-utf_combining.c
level_0/f_utf/c/private-utf_control.c
level_0/f_utf/c/private-utf_control.h
level_0/f_utf/c/private-utf_digit.c
level_0/f_utf/c/private-utf_emoji.c
level_0/f_utf/c/private-utf_numeric.c
level_0/f_utf/c/private-utf_phonetic.c
level_0/f_utf/c/private-utf_punctuation.c
level_0/f_utf/c/private-utf_superscript.c
level_0/f_utf/c/private-utf_symbol.c
level_0/f_utf/c/private-utf_unassigned.c
level_0/f_utf/c/private-utf_valid.c
level_0/f_utf/c/utf/is_character.h
level_0/f_utf/data/build/settings-tests
level_0/f_utf/data/documentation/man/man3/f_utf_character_is_symbol.3
level_0/f_utf/data/tests/bytesequences/combining-all.txt
level_0/f_utf/data/tests/bytesequences/control_picture-all.txt [new file with mode: 0644]
level_0/f_utf/data/tests/bytesequences/digit-all.txt
level_0/f_utf/data/tests/bytesequences/emoji-all.txt
level_0/f_utf/data/tests/bytesequences/numeric-all.txt
level_0/f_utf/data/tests/bytesequences/phonetic-all.txt
level_0/f_utf/data/tests/codepoints/combining-all.txt
level_0/f_utf/data/tests/codepoints/control_picture-all.txt [new file with mode: 0644]
level_0/f_utf/data/tests/codepoints/digit-all.txt
level_0/f_utf/data/tests/codepoints/emoji-all.txt
level_0/f_utf/data/tests/codepoints/numeric-all.txt
level_0/f_utf/data/tests/codepoints/phonetic-all.txt
level_0/f_utf/data/tests/codepoints/punctuation-all.txt
level_0/f_utf/data/tests/codepoints/symbol-all.txt
level_0/f_utf/tests/unit/c/data-utf.c
level_0/f_utf/tests/unit/c/data-utf.h
level_0/f_utf/tests/unit/c/test-utf-character_is_combining.c
level_0/f_utf/tests/unit/c/test-utf-character_is_control.c
level_0/f_utf/tests/unit/c/test-utf-character_is_control_picture.c [new file with mode: 0644]
level_0/f_utf/tests/unit/c/test-utf-character_is_control_picture.h [new file with mode: 0644]
level_0/f_utf/tests/unit/c/test-utf-character_is_digit.c
level_0/f_utf/tests/unit/c/test-utf-character_is_emoji.c
level_0/f_utf/tests/unit/c/test-utf-character_is_numeric.c
level_0/f_utf/tests/unit/c/test-utf-character_is_phonetic.c
level_0/f_utf/tests/unit/c/test-utf-character_is_private.c
level_0/f_utf/tests/unit/c/test-utf-character_is_punctuation.c
level_0/f_utf/tests/unit/c/test-utf-character_is_subscript.c
level_0/f_utf/tests/unit/c/test-utf-character_is_superscript.c
level_0/f_utf/tests/unit/c/test-utf-character_is_symbol.c
level_0/f_utf/tests/unit/c/test-utf-character_is_valid.c
level_0/f_utf/tests/unit/c/test-utf-character_is_whitespace.c
level_0/f_utf/tests/unit/c/test-utf-character_is_whitespace_modifier.c
level_0/f_utf/tests/unit/c/test-utf-character_is_whitespace_other.c
level_0/f_utf/tests/unit/c/test-utf-character_is_whitespace_zero_width.c
level_0/f_utf/tests/unit/c/test-utf-character_is_wide.c
level_0/f_utf/tests/unit/c/test-utf-character_is_word.c
level_0/f_utf/tests/unit/c/test-utf-character_is_word_dash.c
level_0/f_utf/tests/unit/c/test-utf-character_is_word_dash_plus.c
level_0/f_utf/tests/unit/c/test-utf-character_is_zero_width.c
level_0/f_utf/tests/unit/c/test-utf-is_combining.c
level_0/f_utf/tests/unit/c/test-utf-is_control.c
level_0/f_utf/tests/unit/c/test-utf-is_control_picture.c [new file with mode: 0644]
level_0/f_utf/tests/unit/c/test-utf-is_control_picture.h [new file with mode: 0644]
level_0/f_utf/tests/unit/c/test-utf-is_digit.c
level_0/f_utf/tests/unit/c/test-utf-is_emoji.c
level_0/f_utf/tests/unit/c/test-utf-is_numeric.c
level_0/f_utf/tests/unit/c/test-utf-is_phonetic.c
level_0/f_utf/tests/unit/c/test-utf-is_private.c
level_0/f_utf/tests/unit/c/test-utf-is_punctuation.c
level_0/f_utf/tests/unit/c/test-utf-is_subscript.c
level_0/f_utf/tests/unit/c/test-utf-is_superscript.c
level_0/f_utf/tests/unit/c/test-utf-is_symbol.c
level_0/f_utf/tests/unit/c/test-utf-is_whitespace.c
level_0/f_utf/tests/unit/c/test-utf-is_whitespace_modifier.c
level_0/f_utf/tests/unit/c/test-utf-is_whitespace_other.c
level_0/f_utf/tests/unit/c/test-utf-is_whitespace_zero_width.c
level_0/f_utf/tests/unit/c/test-utf-is_wide.c
level_0/f_utf/tests/unit/c/test-utf-is_word.c
level_0/f_utf/tests/unit/c/test-utf-is_word_dash.c
level_0/f_utf/tests/unit/c/test-utf-is_word_dash_plus.c
level_0/f_utf/tests/unit/c/test-utf-is_zero_width.c
level_0/f_utf/tests/unit/c/test-utf.c
level_0/f_utf/tests/unit/c/test-utf.h