Strips the whitespace and applies Unicode normalisation to the given
		string. The second arg is used as an ID of the string when reporting
		its lint errors (if such).

def normalise(self, string, line_num):
		"""
		Strips the whitespace and applies Unicode normalisation to the given
		string. The second arg is used as an ID of the string when reporting
		its lint errors (if such).
		"""
		stripped = string.strip()
		if stripped != string:
			self.strip_errors.append(line_num)

		nfc_pos = [index
					for index, char in enumerate(stripped)
					if char in self.nfc_chars]

		parts = []
		start_pos = 0

		for pos in nfc_pos:
			if pos > 0:
				parts.append(self.norm_f(stripped[start_pos:pos]))

			parts.append(stripped[pos])
			start_pos = pos + 1

		if start_pos < len(stripped):
			parts.append(self.norm_f(stripped[start_pos:]))

		norm = ''.join(parts)

		if norm != stripped:
			self.norm_errors.append(line_num)

		return norm