isUnicodeCombiningMark function

bool isUnicodeCombiningMark(
  1. int rune
)

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);