Rename it to "Dimension units", and make it a radio submenu.
Migrate the previous metric_length setting to this new dimension_units
one.
Update optionsutil to follow it.
Don't mangle string input values when a unit was passed.
(i.e., keep displaying them as their actual string instead of as nil).
(e.g., when current is set to a number, but default is still unset,
which translates to "not set" in showValues).
Attempting to align the numbers on the same column was a fool's errand.
Our default UI font is not monospaced, to begin with,
and to do it right, we'd need to align the rightmost number, not the
leftmost ;).
i.e., T() would need to have much fancier justification capabilities ;).
Or, err, *any* text justification features, really ^^.
We want to be able to set a custom value (i.e., more_options),
because on high-dpi devices, the scaling can lead to pretty large
differences; but more_options on a toggle is ugly and clunky.
So, switch to something more suited to what this actually sets,
which is ultimately an absolute pixel value, like margins.
Add a few more steps on the low end to fill out the bar (and because
that's where I found them most useful on high-dpi devices).
configdialog doesn't actually pass a unit argument to
name_text_hold_callback, so pull it instead from a new name_text_unit
field.
Expand said helper to support a "px" unit, which simply converts from
our arbitrary pixels to actual on-device pixels (e.g., a plain
scaleBySize).
Enable real_size_string usage when name_text_true_values is set
(it's a NOP in terms of the generated string if no unit is specified).
Using `require` didn't make much sense since most of them are only used in a single place anyway, and it takes care of a few weird interactions in the process (besides not polluting `package.loaded` with useless crap ;)).
This will make the stroke-based Chinese character keyboard compatible with Japanese kanji stroke order, with an increase of the data file by about 80kb.
This could be a temporary solution for Japanese users to type kanji before better methods are implemented.
The stroke order data are extracted from this repo: https://github.com/KanjiVG/kanjivg.
And add an OTM block to do a cleanup pass on existing DBs (which might take a while if you're severely affected, because we've seen reports of DBs north of 2GB).