mirror of https://github.com/nirenjan/libx52.git
Prior to this change, the libx52util_convert_utf8_string function had a limited set of characters that it would convert to the MFD character map, these characters were derived from the x52_char_map.cfg file. However, this is a tiny subset of the actual supported characters in the Basic Multilingual Plane (BMP), since many characters in the BMP can be normalized to a different character (or character sequence) that has a corresponding glyph on the X52 MFD. One example of this is the half-width Katakana characters which are mapped in the display, however the corresponding full-width characters were not explicitly mapped. With this commit, the generator script now automatically detects that the half-width characters can be normalized to the corresponding full width forms, and maps the full width forms back to the correct characters on the MFD. A second benefit of this change is that the MFD can now show characters that would otherwise never be seen, for example, the 3/4 symbol or 5/8 symbol have no corresponding glyph in the MFD, but they can be translated to the sequence `3` `/` `4`, giving us much more flexibility on the characters that can actually be displayed. Finally, with this change, the function also maps missing or unsupported characters to the box character (0xDB in the display), making it clearer that there was something there that could not be displayed. Earlier, it would have simply skipped that character. |
||
|---|---|---|
| .. | ||
| Makefile.am | ||
| libx52util.h | ||
| libx52util.pc.in | ||
| meson.build | ||
| x52_char_map.cfg | ||
| x52_char_map.h | ||
| x52_char_map_gen.py | ||
| x52_char_map_lookup.c | ||
| x52_char_map_test.c | ||