Страница 1 из 1

Как отличить латинскую букву от кириллической?

СообщениеДобавлено: Сб авг 25, 2012 18:43
Fiona Allen
Извините, пожалуйста. Вопрос, так понимаю, чисто технический и решаемый, наверняка, просто, но никак в Гугле не нахожу подсказки.

Имеется в документе буква "А". Как определить, латинская это буква или кириллическая?

Проверка правописания с подключением английского или русского языка, понятное дело, ответа не дает, поскольку это может быть и неопределенным артиклем, и союзом.

Еще раз извиняюсь за свою "темноту-друг-молодежи"...

Re: Как отличить латинскую букву от кириллической?

СообщениеДобавлено: Сб авг 25, 2012 18:50
Zummer
Самый простой и доступный способ - это использовать MS Word.

Например, с использованием Worda 2003.

1. Копируете эту букву в doc-документ.
2. Выделяете букву (A).
3. Щелкаете в меню "Вставка"->"Символ".
4. Появится окошко "Символ", в котором ваша буква будет подсвечена, а ниже будет надпись:
- "LATIN CAPITAL LETTER A", если это латинская буква "A",
или
- "LATIN SMALL LETTER A", если это латинская буква "a",
или
- "CYRILLIC CAPITAL LETTER A", если это латинская буква "A",
или
- "CYRILLIC SMALL LETTER A", если это латинская буква "a".
8-)

Re: Как отличить латинскую букву от кириллической?

СообщениеДобавлено: Сб авг 25, 2012 19:25
LyoSHICK
Zummer
Спасибо! Такой вопрос иногда возникал (правда, к счастью, без ножа к горлу) - пока это самый простой способ.

Re: Как отличить латинскую букву от кириллической?

СообщениеДобавлено: Сб авг 25, 2012 19:28
LyoSHICK
ОФФ. Кстати, при включенной двуязычной проверке правописания можно приписать к букве "а" букву д или d. Спеллчекер отреагирует на смешение алфавитов. Но это как раз из разряда "правое ухо левой пяткой".

Re: Как отличить латинскую букву от кириллической?

СообщениеДобавлено: Сб авг 25, 2012 20:03
L.B.
В Word'e еще можно встать справа от буквы и нажать Alt X, после чего вместо буквы появятся соответствующие цифры.

Например (только что опробовал), вместо английского а появляется 0061, вместо русского 0430, вместо английского P появляется 0050, вместо русского 0420, и так далее...

А наши-то буквы горааааздо крупнее! :-)

Re: Как отличить латинскую букву от кириллической?

СообщениеДобавлено: Сб авг 25, 2012 20:09
Виталий
Если пользуетесь Punto Switcher, то выделяете и нажимаете клавишную комбинацию перекодировки (на случай неверной раскладки). Если a станет ф, то она была латинской, если а станет f - кириллической. Для случая c/с это не поможет (т.к. они на одной кнопке), поэтому здесь пригодится транслитерация (есть отдельная команда). Если станет s, это была кириллица, если ц, это была латиница.

Re: Как отличить латинскую букву от кириллической?

СообщениеДобавлено: Сб авг 25, 2012 20:43
mikhailo
А что обязательно в Ворд?
При проверке объёмного текста:

В Emeditore можно настроить разные цвета для разных алфавитов.

В ворде тоже регекспами можно выделить символы одного алфавита и поменять им цвет.

Для набора можно создать разные стили для текста на разных языках, которые ворд может определять по переключению раскладки при наборе. Правда будет небольшая проблема с пунто.

А вообще эта проблема больше для буквы С из-за совпадения латинской С и кириллической С на клавиатуре.

Re: Как отличить латинскую букву от кириллической?

СообщениеДобавлено: Сб авг 25, 2012 23:35
Fiona Allen
Большущее нечеловеческре всем спасибо!

Особенно, Zummery! :wink:
Действительно, вариант с Вордом самый простой и быстрый!

Re: Как отличить латинскую букву от кириллической?

СообщениеДобавлено: Сб авг 25, 2012 23:53
maythebest
Особо не задумываясь над сложностью этой проблемы, всегда решала ее выделением буквы и нажатием ctrl+c+c для вызова Lingvo Dictionary - открывается словарь соответствующего языка (ну, или просто copy-paste).:)

Re: Как отличить латинскую букву от кириллической?

СообщениеДобавлено: Вс авг 26, 2012 10:19
esperantisto
UniRed в строке состояния показывает 16-чный код символа у курсора, различать символы разных алфавитов (точнее, разных диапазонов уникода) не является проблемой.

Re: Как отличить латинскую букву от кириллической?

СообщениеДобавлено: Вт фев 09, 2016 11:22
white_oak
Есть сервис http://cyr-lat.progresssite.pro/

Re: Как отличить латинскую букву от кириллической?

СообщениеДобавлено: Пт фев 19, 2016 23:02
random_nick
Для тех, кто постоянно Вордом пользуется, проще всего, конечно, скопировать эту букву в новый документ и дописать что-нибудь рядом, спеллчекер отреагирует.

Каждый предлагает свой путь, я предложу свой :)
Код: Выделить всё
Python 3.4.3 (default, Sep  3 2015, 15:31:10)
[GCC 4.4.7 20120313 (Red Hat 4.4.7-16)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> ru_alphabet = 'АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЫЪЬЭЮЯабвгдеёжзийклмнопрстуфхцчшщыъьэюя'
>>> 'А' in ru_alphabet
True
>>> 'A' in ru_alphabet
False

Очень занятный, кстати, вопрос, как сделать это проще и быстрее. Нашел еще такое элегантное решение:
Код: Выделить всё
>>> import string
>>> 'A' in string.ascii_letters
True
>>> 'А' in string.ascii_letters
False

Ну и с помощью регулярных выражений можно диапазоны задавать.

Re: Как отличить латинскую букву от кириллической?

СообщениеДобавлено: Сб фев 20, 2016 12:39
mikhailo
Честно говоря, не понимаю, что мешает решить эту проблему МС вкупе с практической неразличимостью I/l в беззасечных шрифтах (серифах).

Решения.

1. Создаём смесь стрижа и ужа - шрифт с кириллицей из TMR и латиницей из Ариала или Курьера.
2. Пользуясь заменой и регвырами в Ворд заменяем латиницу или кириллицу на самое себя но уже цветным шрифтом. Аналогично можно раскрашивать разные алфавиты,цифры или языки после распознавания многоязычных документов в ФР.

Разработчики Макросов типа Методички - вот вам полезная функция, достойная кнопки на панели инструментов Ворда.

Данная проблема присутствует практически во всех переведенных русских ООНовских документах, особенно в списках где а и с между b и d очень часто кириллические. Товарищи - переводчики ООН, пользуйтесь списками в текстовых редакторах.

Re: Как отличить латинскую букву от кириллической?

СообщениеДобавлено: Сб фев 20, 2016 12:46
LyoSHICK
Оффтопик
Понял, почему не держались в памяти все эти способы - практической большой нужды не было; начнешь вспоминать, да и плюнешь: "да пошли они" и перенаберешь нужную букву руками...

(это я, конечно, только про себя)

Re: Как отличить латинскую букву от кириллической?

СообщениеДобавлено: Сб фев 20, 2016 21:30
random_nick
mikhailo писал(а):практической неразличимостью I/l в беззасечных шрифтах (серифах)

Шрифты без засечек = sans, с засечками - serif. В шрифтах без засечек принципиально нельзя различить l/I по другим критериям, кроме высоты - на то они и без засечек. А в шрифтах с засечками, в особенности Times New Roman, другая проблема - плохо различимы 1 и l. Сравните, например, Times New Roman и Liberation Serif:
Изображение
В Times New Roman практически неразличимы 1ime и lime, в Liberation Serif они различимы. Так что если кто-то еще пользуется убогостью в виде Times New Roman, рекомендую перейти на Liberation Serif, благо второй по метрике совпадает с первым.
В любом случае, это проблема не MS, а тех, кто такие шрифты рисует.

Re: Как отличить латинскую букву от кириллической?

СообщениеДобавлено: Вс фев 21, 2016 01:46
mikhailo
Шрифты без засечек = sans, с засечками - serif. В шрифтах без засечек принципиально нельзя различить l/I по другим критериям, кроме высоты - на то они и без засечек. А в шрифтах с засечками, в особенности Times New Roman, другая проблема - плохо различимы 1 и l. Сравните, например, Times New Roman и Liberation Serif:


Спасибо за замечание. Попутал

Так что если кто-то еще пользуется убогостью в виде Times New Roman, рекомендую перейти на Liberation Serif, благо второй по метрике совпадает с первым.
В любом случае, это проблема не MS, а тех, кто такие шрифты рисует.


Использование стандартных МС шрифтов избавляет от множества проблем в переводе - внешний вид/наличие глифов/бурная реакция заказчика на всё это.
Поэтому совет хорош, но в узком кругу.
МС давно уже пора дать возможность как и в ЕМэдиторе настраивать цвета разных алфавитов/цифр пользователям.

Re: Как отличить латинскую букву от кириллической?

СообщениеДобавлено: Вс фев 21, 2016 22:01
random_nick
mikhailo писал(а):Использование стандартных МС шрифтов избавляет от множества проблем в переводе - внешний вид/наличие глифов/бурная реакция заказчика на всё это.

В LibreOffice возможна подстановка шрифтов на экране, т.е. в документе фактически Times New Roman, на экране (и/или печати) - Liberation Serif. С учетом того, что их метрика идентична, то верстка ползти не будет.