Here's a new feature idea that would be quite useful.
The CharSet tool is useful for generating fonts for just the characters in use (for example TextMeshPro). However, for most languages we have several fonts: e.g. one for normal text, one for titles/headings. These fonts are used for different text. The heading font is displayed larger and typically needs fewer characters. This is good because fewer characters means they can take up more space in the font atlas, which makes the characters look better at larger size.
I think you get where I'm going with this. Right now the CharSet tool searches in all text for a particular language, but it doesn't look at all the I2.Localize components in all the scenes. This would allow it to consider the secondary localizations to determine the font for a particular language and determine the characters used not just for that language, but language + font.
One more addition to this feature - both I2.Localize and TextMeshProUGUI have the ability to convert case. I use this currently in TextMeshPro to force capital letters on many headings. As a consequence I don't build lower-case letters into the TMP Font Assets.
It would be super awesome if the CharSet tool, in addition to filtering by font, could also consider case conversion (in both TMP and I2.Localize) and only add the glyphs that will end up being used.