Хорошо, я нашел проблему. Во-первых, вы должны указать кодировку файла, иначе он пропустит несколько байтов. В моем случае это был пропуск \x86
, который отбросил все.
Единственный способ, которым я понял это, было сделать:
string shortText = File.ReadAllText("Original.dat");
File.WriteAllText("New.dat", shortText);
И затем выполняется байтовый анализ. Правильный путь заключается в следующем:
string shortText = File.ReadAllText("Wrapped.dat", Encoding.ASCII);
Даже тогда, и даже с моноширинным шрифтом это не будет выглядеть правильно. Это связано с тем, что большинство шрифтов TTF не имеют определения вещей, которые не являются буквенно-цифровыми, поэтому вы добавляете регулярное выражение, чтобы удалить все остальное, и это работает.
shortText = Regex.Replace(shortText, @"[^\w\n',|\.@-]", " ", RegexOptions.None);