Steve Cotton 01424cc853 Check which glyphs are in each font, instead of using a list hardcoded in WML
This is a "it's known to be broken, so let's rip it out and put in a minimal
replacement" change. Updated raw pointers to smart pointers just because,
updated the docs a bit, and ended up with a big change.

Fixes the most visible part of #5194, where Chinese needed DroidSansFallbackFull
to be loaded before DroidSansJapanese. The removed code in
`char_block_map::insert` and `char_block_map::compress` had a bug that
triggered when one font had a contiguous range of codepoints that was a
superset of several ranges in another font - this meant it treated the first
font containing U+4E00 as having the whole CJK Unified Ideographs block.

Remove the now-unused font codepoints WML. There is no schema change for this,
it seems the data/hardwired/fonts.cfg file isn't checked by the validation.

Optimise calling set_font_list with the same list (but possibly reordered), by
reusing the already-loaded fonts.
2020-10-10 17:36:10 +02:00
..
2019-10-01 11:36:35 +02:00
2020-09-16 14:19:20 -05:00

This is a directory of miscellaneous developer tools for Battle for Wesnoth, mostly to support packaging, code integrity checks, and control of the Wesnoth servers.

Tools that work on data (WML, maps, images, sounds) no longer belong here. Go to data/tools for those.