def recognise(self, string, line_num):
		"""
		Splits the string into chars and distributes these into the buckets of
		IPA and non-IPA symbols. Expects that there are no precomposed chars in
		the string.
		"""
		symbols = []
		unknown = []

		for char in string:
			if char == SPACE:
				continue

			try:
				name = unicodedata.name(char)
			except ValueError:
				name = 'UNNAMED CHARACTER {}'.format(ord(char))

			if char in self.ipa:
				symbol = Symbol(char, name, self.ipa[char])
				symbols.append(symbol)
				self.ipa_symbols[symbol].append(line_num)
			else:
				symbol = UnknownSymbol(char, name)
				unknown.append(symbol)
				self.unk_symbols[symbol].append(line_num)

		return tuple(symbols), tuple(unknown)
Splits the string into chars and distributes these into the buckets of
		IPA and non-IPA symbols. Expects that there are no precomposed chars in
		the string.