 isVariationSequence = (string, index=0) ->
   not isVariationSelector(string, index) and isVariationSelector(string, index + 1)
 
+# Is the character at the given index the start of a combined character pair?
+#
+# * `string` The {String} to check for a combined character.
+# * `index`  The {Number} index to look for a variation sequence at.
+#
+# Return a {Boolean}.
+isCombinedCharacter = (string, index=0) ->
+  not isCombiningCharacter(string, index) and isCombiningCharacter(string, index + 1)
+
 # Is the character at the given index the start of high/low surrogate pair
 # or a variation sequence?
 #


isVariationSelector = (string, index) ->
  0xFE00 <= string.charCodeAt(index) <= 0xFE0F

# Is the character at the given index the start of a high/low surrogate pair?
#

#
# Return a {Boolean}.
isPairedCharacter = (string, index=0) ->
  isSurrogatePair(string, index) or isVariationSequence(string, index) or isCombinedCharacter(string, index)

# Does the given string contain at least surrogate pair or variation sequence?
#
