serenity/Meta
Nico Weber 0197bfcadf LibUnicode+LibWeb: Rework bidirectional_class() API a bit
Before this commit, GenerateUnicodeData generated a
`BidirectionalClass` enum directly from UnicodeData.txt.

Now, GenerateUnicodeData instead generates `BidirectionalClassInternal`
and CharacterTypes.h has an explicit enum `BidiClass` with nicer names
-- no underscores, but also names more similar to ICUs names.

(Since CharacterTypes.h is included in some of LibUnicode's generators,
it can't refer to generated `BidirectionalClassInternal`, so we instead
have a big manual mapping switch in UnicodeData.cpp.)

`bidirectional_class()` used to return an `Optional<BidirectionalClass>`
for when unicode data was disabled. Now we return `BidiClass` and
just return `BidiClass::LeftToRight` instead of making every client
do this.

It also updates LibWeb's Element.cpp to this new system.

Also remove now-unused `bidirectional_class_from_string()`.

This kind of cherry-picks the 4th commit of
LadybirdBrowser/ladybird#239 (aa3a30870b58c47cb37bce1418d7e6bee7af71d9):
The CharacterTypes.h, Element.cpp and TestUnicodeCharacterTypes.cpp changes are
by trflynn.

Co-authored-by: Tim Flynn <trflynn89@serenityos.org>
2024-11-23 19:24:11 -05:00
..
CMake Meta: Use download_file.py for the CMake build 2024-11-21 10:08:16 +01:00
gn Kernel/aarch64: Use generic kprintf.cpp 2024-11-23 19:29:50 +01:00
HeaderCheck
Lagom LibUnicode+LibWeb: Rework bidirectional_class() API a bit 2024-11-23 19:24:11 -05:00
Screenshots
ShellCompletions/zsh
Websites/man.serenityos.org Meta: Move SerenityOS.org website to separate repository 2024-11-02 02:02:57 +01:00
analyze-qemu-coverage.sh
build-image-extlinux.sh
build-image-grub.sh
build-image-limine.sh
build-image-qemu.sh Meta: Combine boot drive environment variables into SERENITY_BOOT_DRIVE 2024-08-07 18:30:06 -04:00
build-manpages-website.sh
build-native-partition.sh
build-root-filesystem.sh Meta: Remove /mod 2024-08-10 10:13:52 -04:00
check-ak-test-files.sh
check-debug-flags.sh Meta: Make check-debug-flags.sh runnable in Bash 3.2 2024-11-05 06:05:19 -05:00
check-emoji.py
check-idl-files.py Meta: Add script for checking WebIDL files 2024-11-10 21:19:33 -05:00
check-markdown.sh
check-newlines-at-eof.py Meta: Ignore LibWeb text tests for newline-at-eof check 2024-11-21 22:16:48 -05:00
check-png-sizes.sh
check-style.py
convert-markdown-links.lua
debug-kernel.sh Meta: Unbreak kernel debugging script after Prekernel/Kernel merge 2024-07-26 14:25:49 -04:00
download_file.py Meta: Try to download files with gzip compression in download_file.py 2024-11-21 10:08:16 +01:00
embed_as_string.py Meta: Make embed_as_string_view.py produce Strings instead 2024-11-15 23:10:03 -05:00
emoji-file-list.txt Base: Add 3 emojis 2024-10-09 19:55:11 -04:00
export-argsparser-manpages.sh
extlinux.conf
find_compiler.sh
generate-embedded-resource-assembly.sh
generate-libwasm-spec-test.py
generate-libwasm-spec-test.sh
grub-ebr.cfg
grub-gpt.cfg
grub-mbr.cfg
import-wpt-test.py Meta+Tests: Substitute Ahem font path in import-wpt-test.py 2024-11-21 22:16:48 -05:00
install-ports-tree.sh
jbig2_to_pdf.py
label-pull-requests.js
lb-cherry-picks.py Meta: Add more commits and PRs to lb-cherry-picks.py 2024-11-17 15:05:50 -05:00
limine.cfg
lint-ci.sh Meta: Add script for checking WebIDL files 2024-11-10 21:19:33 -05:00
lint-clang-format.sh
lint-commit.sh
lint-executable-resources.sh
lint-gml-format.sh
lint-gn.sh
lint-keymaps.py
lint-ports.py Meta: Fix Ports table linter when there's only one space after the link 2024-10-04 10:46:42 -04:00
lint-prettier.sh Meta: Enforce Prettier formatting of Markdown files 2024-10-04 10:46:42 -04:00
lint-python.sh
lint-shell-scripts.sh Userland: Move Shell code to be in a library directory 2024-10-04 10:56:27 +02:00
new-project.sh
refresh-serenity-qtcreator.sh
run.py Kernel/aarch64: Use generic kprintf.cpp 2024-11-23 19:29:50 +01:00
run.sh
serenity.sh Meta: Delete jakt toolchain in delete_toolchain too 2024-11-22 19:43:12 +01:00
serenity_gdb.py
shell_include.sh
test_pdf.py
toot-commits.js
tweet-commits.js