Write a dchar[] as a dstring ""d
Write a function that returns a dchar[] with data stored in table
Write a dchar[] as hex string
Write a function that returns a uint[] with data stored in table
Where to put generated files
Url from which unicode files are downloaded
Directory in which unicode files are downloaded
8 byte easy SimpleCaseEntry, will be compressed to SCE which bit packs values to 4 bytes
canonical combining class
This is a tool to automatically generate source code for unicode data structures.
If not present, the script will automatically try to download the files from: https://www.unicode.org/Public
Make sure the current working directory is the /tools folder.
To update std.internal.unicode*.d files, run:
The -m32 run will replace the files, while the -m64 run with --min will append 64-bit specific parts. The 32-bit compilation of the generator is needed because it depends on 32-bit data structures defined in std.uni. To make -m32 work on linux, you may need to grab a 32-bit libphobos2.a from dmd2/linux/lib32 and pass it as argument:
Pull Requests to untangle this complex bootstrap process are welcome! :)
TODO: Support emitting of Turkic casefolding mappings