"diacritical marks" combining to make what they call "abstract character".
https://www.unicode.org/charts/PDF/U0300.pdf and https://www.unicode.org/charts/PDF/U1AB0.pdf and https://www.unicode.org/charts/PDF/U1DC0.pdf and https://www.unicode.org/charts/PDF/U20D0.pdf and https://www.unicode.org/charts/PDF/UFE20.pdf
Note that what they may be combined with isn't defined, thats language dependent. Some of the commonest combinations are also single code points in the standard, indeed this ç has the single code point u+00e7 and is treated as a single thing by Geany/Scintilla. But I don't think all legal combinations are single code pointed, and then there are the symbolic ones.
The caret will only move between code points, so its consistent that it takes two steps through the two code point version of c̦. Left to itself Scintilla will not put the caret within multiple bytes defining a code point, but the user program can still address those positions.
The computation of those "legal positions" must take into account all that mess of standards and encodings...
The [Unicode](https://www.unicode.org) CLDR contains all the data about code points and the semantics, combining, bi-di, zero wide, narrow, and dual wide. But one thing it does not define is visual glyphs.
To be fair to Unicode, its messy because human languages are messy, damn those humans, why can't they all just speak numbers like us bots. :grin:
Anyhow this has gotten slightly away from your original issue, which as I said just needs the Scintilla setting to be supported by Geany. All you need is Glade 3.8 to modify the UI but still support GTK2, but most distros don't provide it, so you need to compile your own 3.8.5 from https://ftp.gnome.org/pub/GNOME/sources/glade3/3.8/.