Многие книжки по ИТ-литературе и в частности по программированию не имеют цифровых аналогов типа fb2 или хотя бы pdf, поэтому многие такие книжки сканируют и потом распознают в программе типа FineReader. Однако при этом получается неприятная ситуация с корректностью распознавания.
Например данную программу не получится откомпилировать из-за ошибок:
using System;
class Exаmple
{
static void Mаin()
{
int a = 1, x = 2, y = 3;
Cоnsоlе.WritеLinе("Простая программа на С#.");
Console.WriteLine(а);
Console.WriteLine(х);
Console.WriteLine(у);
}
}
Копмилятор выдаст сообщения об ошибках:
Error 3 The name 'х' does not exist in the current context 9 27 ConsoleApplication62 Error 4 The name 'у' does not exist in the current context 10 27 ConsoleApplication62 Error 2 The name 'а' does not exist in the current context 8 27 ConsoleApplication62 Error 1 The name 'Cоnsоlе' does not exist in the current context 7 9 ConsoleApplication62
А все из-за того, что в коде объявляются переменные, записанные латинскими буквами, а используются переменные и названия, написанные похожими русскими буквами.
Вручную переделать все можно, но часто из-за большого объема текста неудобно. Поэтому я нашел способ сделать это автоматически, с помощью текстового редактора PSPad.
Для начала нужно в папке C:\Program Files (x86)\PSPad editor\Convert создать конвертор. Это будет текстовый файл с расширением .ini, например Rus2Eng.ini
Далее вставляем туда текст:
;semicolon is comment - optional, is ignored ;section names are bold - mandatory ;red color - mandatory text. Must be set. [Description] ;convertor description - will be displayed in menu ForwardName=Change Russian letters the same in English (A->A) BackwardName=none ;set of char case ignore. 1 = yes, 0 = no ForwardIgnoreCase=0 BackWardIgnoreCase=0 ;sets whether conversion will be processed with char table or replacing string by string CharTab=1 ;section for replacing string by string. Strings are delimited by | char (pipe or bar) [Conversion] ;list of char, which will be removed during conversion [Remove chars] ;char conversion table. Numbers are char ASCII values. Write only chars you want to convert. [Table] ;х 245=120 ;у 243=121 ;с 241=99 ;а 224=97 ;е 229=101 ;о 238=111 ;р 240=112 ;T 210=84 ;B 194=66 ;А 192=65 ;С 209=67 ;О 206=79 ;К 202=75
В этом файле используются коды символов ASCII, а не Unicode!!!
Потом открываем PSPad, копируем туда текст, который нужно изменить и в меню выбраем Tools -> User Convertors
Появляется список конверторов, запускаем нужный нам (при вызове конвертора текст выделять не обязательно).
Если вдруг потребуется добавить новые символы для конвертера, то окно с кодами символов ASCII вызывается клавишами
- Android: Захват траффика - 07.09.2024
- WPF: Отобразить дату и время в формате региональных настроек - 30.08.2024
- Яндекс-диск: Сортировка фото по дате - 23.07.2024