Клуб Punto Switcher

Переключение раскладки слова, с распознаванием кавычек

29 июля 2013, 23:42

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

Эпривет

.
А если такого функционала нет, то было бы полезным добавить отключаемую в настройках опцию. Спасибо.

11 комментариев
Подписаться на комментарии к посту

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

Это печально. Неужели нельзя проверять то, что получается после переключения по словарю или хотя бы по статистике?

У нас нет словаря! :) мы слов целиком  не знаем, мы работаем с морфемикой – биграммы, триграммы. Поэтому успеваем переключаться. Все знаки препинания русской раскладки стоят не там, где они стоят в английской. Такова данность и все с этим живут :)

Но Вы же не остановитесь на достигнутом? Упомянутый выше функционал весьма актуален!

Извините, мы этого делать не будем, причины объяснены выше.

Так может быть пора этот словарь завести, хотя бы для тех слов, которые могут начинаться с русских букв под знаками препинания?

Подумайте, ведь знаков препинания, которые могут слитно писаться в начале слова, не так уж и много: это кавычки " и ', и реже квадратная и угловые скобки [ <

Если вы сами не хотите этого делать, может вы предоставите возможность сделать это самим пользователям?

Вы можете даже написать собственную программу, если Вас что-то не устраивает в Punto Switcher :) мы живем в свободном мире. На этом тему с кавычками позвольте закрыть. 

На такие вопросы корректнее было бы отвечать, что "объём такого программирования выходит за рамки бесплатного проекта"...

Спасибо, что Вы ответили! Клуб именно для этого и создан, чтобы помогать друг другу :)

Я правильно понимаю, что ваш алгоритм работает примерно так: 

1) переводим что набрано от разделителя до курсора

2) считаем статистику сочетания биграм/триграм в русской раскладке

3) считаем статистику сочетания биграм/триграм в английской раскладке

4) сравниваем, переключаем туда где статистика более вероятна

А что мешает при расчете статистики для строки, например "БикЮпривет" после перевода в "
ghbdtn" разбить эту строку по разделителю ">" и считать статистику отдельно для строк "
" и "ghbdtn".


Надеюсь понятно объяснил?

В данном треде человек предлагает отсеивать кавычки, речи о распознании  html нет. Потом, вы предполагаете, что знак > является признаком html. Есть сотни случаев, когда это не так.
Описанная Вами проблема отчасти решается при помощи автозамены:  < br заменится на этот тег записанный целиком. После срабатывания автозамены, когда Вы начнёте набирать "привет", произойдет автоматическое переключение на русский.