| # idna-data |
| |
| The IDNA and UTS 46 functionality in this library relies upon |
| pre-calculated lookup tables for performance. These tables are derived |
| from computing against eligibility criteria in the respective standards |
| using the command-line script `idna-data` in this directory. |
| |
| This tool will fetch relevant codepoint data from the Unicode repository |
| and perform the required calculations to identify eligibility. There are |
| three main modes: |
| |
| * `idna-data make-libdata`. Generates `idnadata.py` and |
| `uts46data.py`, the pre-calculated lookup tables used for IDNA and |
| UTS 46 conversions. Implementers who wish to track this library against |
| a different Unicode version may use this tool to manually generate a |
| different version of the `idnadata.py` and `uts46data.py` files. |
| |
| * `idna-data make-table`. Generate a table of the IDNA disposition |
| (e.g. PVALID, CONTEXTJ, CONTEXTO) in the format found in Appendix |
| B.1 of RFC 5892 and the pre-computed tables published by [IANA](https://www.iana.org/). |
| |
| * `idna-data U+0061`. Prints debugging output on the various |
| properties associated with an individual Unicode codepoint (in this |
| case, U+0061), that are used to assess the IDNA and UTS 46 status of a |
| codepoint. This is helpful in debugging or analysis. |
| |
| The tool accepts a number of arguments, described using `idna-data -h`. |
| Most notably, the `--version` argument allows the specification |
| of the version of Unicode to be used in computing the table data. For |
| example, `idna-data --version 9.0.0 make-libdata` will generate |
| library data against Unicode 9.0.0. |