Unicode information =================== This collection of files is intended to create/curate the file `characters.scm` in this directory, and act as the repository for UCD data. The source of authority here is the [Unicode Character Database][ucd], which is described in [Standard Annex #44][ucddoc], cross-referenced where necessary with the [Unicode code charts][charts]. The file `characters.scm` is derived from the UCD `NamesList.txt` file, and edited by hand to add for each entry the LaTeX escape sequence which produces that character. It is used in `../../util-extra.c.in`. The files `UnicodeData.txt`, `DerivedCoreProperties.txt` and `PropList.txt` are used in the generation of `../../mycu.c`. This is (currently) taken from Unicode 17.0.0. To update these, simply download the new versions from the [UCD distribution][ucd], and copy them unchanged into `ucd/`. Update the version in `ucd/ucd_version.h`. It may be necessary to update the copyright year in the corresponding `.license` files. Some of the Unicode code is written to use [ICU][], which has pretty good [API docs][icudocs]. Reference and support --------------------- Running ../../beastie chars-to-latex.scm >chars.tex generates `chars.tex`, which can be run through `lualatex` to confirm all the escape sequences are right. Similarly, ../../beastie character-class-table.scm will generate a (text) table of the working character classes of the characters below 0x100. [ucd]: https://www.unicode.org/Public/UCD/latest/ucd/ [ucddoc]: https://www.unicode.org/reports/tr44/ [charts]: https://www.unicode.org/charts/ [icu]: https://icu.unicode.org [icudocs]: https://unicode-org.github.io/icu-docs/apidoc/released/icu4c/index.html ---- SPDX-FileCopyrightText: 2023 Norman Gray SPDX-License-Identifier: BSD-2-Clause