I can think of a couple alternatives, but none which require so few changes (ex. explicit size variables for each array, sentinel-terminated arrays, etc).
I really think any solution should minimize the risk of likely problems (well, at least the ones that are likely to happen, e.g. anything that can arise from adding/modifying mappings in higlightingmappings.h), and explicit size variables seem really easy to get wrong (or at the very least tedious), and sentinels are also easily forgotten if not checked by the compiler.