isUnicodeCombiningMark function
True for every Unicode 17 mark category: Mn, Mc, or Me.
This avoids incomplete hand-maintained block ranges and follows the
Unicode general-category data shipped by package:unicode.
Implementation
bool isUnicodeCombiningMark(int rune) =>
unicode.isNonspacingMark(rune) ||
unicode.isSpacingMark(rune) ||
unicode.isEnclosingMark(rune);