Символи на кирилица, че е 2

Развитие → Notepad ++. Символи на кирилица, по погрешка, хванати в капана код - решение

Вчера прекарах почти два часа се опитва да намери грешка в привидно правилния код. Проблемът се оказа банална - в масив "текст" ключ някак си писмото на кирилица "е". На външен вид тя не се различава от "е" на латински, както и да намерите проблема се оказа много трудно. Сигурен съм, че по-голямата част от програмисти, и само на хората, които работят с текстова информация от време на време се сблъскват със сходни проблеми. Това е особено вярно за "SI" английски и руски букви "ове", които са на един и същ ключ в руски и английски оформления. Аз този случай не е първият, и затова реших да се намери решение на този проблем сериозно. И решението - макар и не много елегантен, но това е доста полезна - бе намерен.







Исторически погледнато, че аз често използвам Notepad ++ да работи като цяло, и за писане на скриптове в PHP, по-специално. И в него, например, имена на променливи и $ iicuxiphametod $ іisuhirhametod (не обръщат внимание на странното име - това е само един пример) изглеждат абсолютно еднакви, въпреки че думата в дясната половина на героите на кирилица.

Първата ми мисъл беше с помощта на търсене на регулярен израз, за ​​да намерите всички малки символи на кирилица, които са непосредствено вдясно или вляво на латиница и ръчно или, отново, регулярен израз, за ​​да ги замени.

Търсене пример (модел (?<=[A-Za-z])[а-яёі]|[а-яёі](?=[A-Za-z]), в символьных классах "і" украинская):







За простота, аз не решите да класове характер само символите от кирилицата са подобни на латински, и ги включва всички (на български и украински език, с изключение на някои украински писма) - просто исках да покажа на принципа.

Като алтернатива може да се счита това решение, но след това трябва да се провери всеки файл всеки път, код не работи. И това не е удобно.

Вторият ми мисъл беше: "Възможно е да се поиска кирилица отделен шрифт или размер на шрифта на индивида на. за кирилица и латиница различава на външен вид, докато пишете, погрешно въведени знаци, за да хващат окото, и може да се коригира незабавно и не по-късно? "В Notepad ++ такъв вариант не е бил там. Можете да зададете отделни шрифтове, размери, цветове за различни езици за програмиране, за различните типове данни - променливи, редове, резервирани думи и т.н. но не и за кирилицата.

Тогава си помислих, че може би там е плъгин, който ви позволява да се постигне това. Но търсенето на такава добавка е била да не се ползват.

Ето, например, имената на посоченото по-горе се появяват, ако имената на променливи, за да зададете шрифта SimSun-ExtB (Options-> Определение stiley-> Font Style):

Ако отидете по-далеч, шрифта, в който може да се настрои кирилица за данни низ да се различава от латинската дума, например, SimSun-ExtB, а в други страни, например, за променливи, където обикновено не се изисква кирилица - шрифт, в които не кирилица. Например, шрифт Мариам фиксиран. Вместо на българските букви в тези шрифтове се показват и други знаци непосредствено очевидна.

Символи на кирилица, че тя

Сравнете същите имена в шрифт Courier New на:

и шрифт Мириам Fixed:

Шрифтовете са много сходни, но във втория случай на кирилица погрешно въвеждане на практика се изключват.

Надяваме се, че този процес ще помогне на някой да се спести време и предотвратяване на тези елементарни, но тези гадни грешки в бъдеще.