Merge branch 'sg/line-log-tree-diff-optim'
[git/git.git] / contrib / update-unicode / README
1 TL;DR: Run update_unicode.sh after the publication of a new Unicode
2 standard and commit the resulting unicode-widths.h file.
3
4 The long version
5 ================
6
7 The Git source code ships the file unicode-widths.h which contains
8 tables of zero and double width Unicode code points, respectively.
9 These tables are generated using update_unicode.sh in this directory.
10 update_unicode.sh itself uses a third-party tool, uniset, to query two
11 Unicode data files for the interesting code points.
12
13 On first run, update_unicode.sh clones uniset from Github and builds it.
14 This requires a current-ish version of autoconf (2.69 works per December
15 2016).
16
17 On each run, update_unicode.sh checks whether more recent Unicode data
18 files are available from the Unicode consortium, and rebuilds the header
19 unicode-widths.h with the new data. The new header can then be
20 committed.