This should indeed be implemented as you said above, it DOES work for the ‘normal’ latin alphabet and for the greek alphabet, i see no reason why it shouldn’t work for the cyrillic. Korean, Hebrew, and Arabic don’t have capitals, so there is should `work’ already
I understand these two letters were excluded for not being part of the Bulgarian alphabet, but I’d still keep {“?” → “?”, “?” → “?”} and add at least “?” → “?” (i with grave, or “? ? ???”).