Development for Android
June 2011 18

Мечта любителя типографики сбывается: пополняем клавиатуру мобильника (снабжённого Android) русскими кавычками, тире, символами параграфа и приближённого равенства, буквами Имперской Речи

Tutorial
Я не выношу скверной типографики, в которой роль тире играют дефисы, а «компьютерные кавычки» ("), более напоминающие знак дюйма или угловой секунды, употребляются вместо кавычек-«ёлочек», принятых в традиционной русской типографике. Мне также немало досаждает употребление обычного пробела вместо неразрывного, когда перевод строки по случайности разрывает словосочетание, создавая «висячие союзы», «висячие предлоги» и прочие формы неприглядного уродства. Я стремлюсь избегать этой скверны и оформлять свои тексты полноценно.

Под Windows и под Mac подспорьем поклонника типографики является раскладка Бирмана или другие аналогичные ей средства, а пользователи Linux используют несколько более сложные ([1], [2]), но всё же действенные изыски. И только под Android мне никак не удавалось (вплоть до сегодняшнего дня) достигнуть желаемого. Это было настоящим кошмаром, особенно когда в конце мая 2011 года кишечная инфекция привела меня на больничную койку в изоляторе, где ноутбуки были запрещены правилами внутреннего распорядка. Целую неделю пришлось валяться в обнимку с HTC Desire, купленным в прошлом году, и мучительно страдать от необходимости долгое время обходиться вообще без типографики, и даже после выздоровления не иметь возможности исправить её там, где реплики не поддаются исправлению (комментарии на Хабрахабре и в LiveJournal, микроблог в Твиттере, ответы на Формспринге…).

Тогда мне ещё казалось, что тупик безвыходен, совершенно безвыходен. Стандартная клавиатура HTC Sense не имеет редактируемой раскладки нестандартных символов, а её собственный набор их — далёк от желаемого. Множество других клавиатур, имеющихся в Android Market, также не содержат клавиши неразрывного пробела, не содержат достойных, полноценных кавычек. А некоторые плоды труда Юго-Восточной Азии даже и частью русских букв жертвуют — например, ознакомившись с одним из обзоров kedDroid, вы узнаете, что раскладка Go Keyboard не содержит твёрдого знака и буквы «ё» (и только XHunter мне подсказывает, что они есть там, доступные по длинному нажатию — просто не нарисованы с той же явственностью, с какой изображены цифры в верхнем ряду):

[скриншот]

Как ни странно, азиатом же оказался и тот, кто помог мне найти выход из этого тупика. То был Jon Quach с бодрым видеообзором программы Smart Keyboard:



Видите, как он нахваливает богатые возможности настройки программы Smart Keyboard PRO и возможность пользоваться её бесплатной пробной версией Smart Keyboard Trial без особенных неудобств (кроме редко всплывающего окна с просьбой регистрироваться)? И скины у ней настраиваются, и звуки у ней настраиваются, и поддерживается многотык (multitouch) для одновременной работы несколькими пальцами по клавиатуре. Разумеется, я заинтересовался, поставил себе Smart Keyboard и тотчас стал глядеть, нет ли в её настройках пункта, позволяющего переменить надписи на её кнопках.

Такого пункта в Smart Keyboard нет — и всё же существует средство, позволяющее при помощи Smart Keyboard отныне вводить в Android какой угодно символ Unicode. Посмотрите на скриншот Smart Keyboard, имеющийся в Android Market:

[скриншот Smart Keyboard]

Сразу скажу, что символ «ъ» вводится долгим нажатием на «ь» (где и нарисован), а символ «ё» — долгим нажатием на «е».

Но теперь взгляните попристальнее: что это за белая полоса над верхним рядом клавиатуры? Это полоса подсказок, предлагающая итоги автодополнения: «русский», «русски» (вторая часть слова «по-русски», надо думать), «русской» — все они берутся из словаря, который для Smart Keyboard надо, кстати, доустанавливать отдельно (причём не только русский, но и английский также, и за это следует похвалить автора программы: понятно, что если клавиатурою будет пользоваться житель сельского Востока, которому английский в быту не понадобится, то и драгоценная память в мобильнике экономится).

А что же случается, когда нет возможности подсказать слово, то есть когда слово ужé введено (например, после него поставили пробел или точку), или когда слово ещё не введено (например, пользователь мобильника набрал первую букву некоторого слова, но затем передумал и нажал на Backspace)?

Оказывается, что на клавиатуре Smart Keyboard (с её-то заслуженно расхваливаемыми настройками это не удивительно!) существует возможность наполнить автоподсказку в таких случаях набором заранее указанных символов (всегда одним и тем же набором, в одном и том же порядке). Это как бы дополнительный, пятый снизу, ряд клавиш другого цвета. Зайдя в «Settings → Language & keyboard → Smart Keyboard Trial → Text prediction» (в купленной версии будет «PRO» вместо «Trial»), нетрудно обнаружить галочку «Suggest punctuation» и текстовое поле «Custom punctuation», которые управляют появлением и содержимым этого ряда символов (по названию настроек нетрудно угадать, что эти клавиши предназначались для отображения пунктуации). Поле «Custom punctuation» является текстовою строкою, и туда можно поместить какие угодно символы Unicode, которые в дальнейшем будут (по одному) доступными для ввода над клавиатурою Smart Keyboard!

Правда, до этого нельзя набрать их на клавиатуре, так что на какое-то время приходится задуматься, откуда же взять их. Но эта проблема не велика в сравнении с тем путём, который ужé пройден, и ответ весьма прост: донором символов станет компьютер с установленной раскладкою Бирмана. Достаточно набрать на нём и отправить в микроблог на Твиттере краткое текстовое сообщение:
Зловѣщій твитъ: «≈§ —»ѢѣІiѲѳѴѵ
После двоеточия в нём стоят те символы, которые мне было угодно разметить над клавиатурою. Сперва идут более употребительные символы типографики, в том числе кавычки и тире (обратите внимание, что внутри кавычек располагаются не три, а четыре символа: перед тире стоит неразрывный пробел); все они сразу будут видны над клавиатурою. Затем идут символы Имперской Речи (тот элемент письменной речи Пушкина, Лермонтова, Тютчева, Каткова, Достоевского, Некрасова, Тургенева, Аксакова, Гумилёва, Бунина, Ильина и других мастеров слова, который был утрачен в кровавом кошмаре жидобольшевицкого обрѣзанія); к ним, хотя сперва и не видным над клавиатурою, можно будет обратиться, прокручивая список подсказок.

Копировать из Твиттера текст внутрь «Custom punctuation» пришлось посредством встроенного браузера (WebKit), хотя у меня и установлен Firefox Mobile. Во-первых, мобильный Firefox ещё не научили копировать простой текст со страниц; во-вторых, даже если бы научили, то немобильная версия Файерфокса наверняка наградила бы и своё мобильное дитя страшным наследственным недугом, от которого страдала вся их семья со времён Mozilla Suite и ранних Netscape — автоматическим преобразованием неразрывных пробелов в обычные во время копирования (в буфер обмена попадает обыкновенный пробел, даже если он является итогом копирования неразрывного; хорошо ещё, что неразрывный пробел не повреждается в первоисточнике).

Вышеприведённая микроблогозапись является всего лишь наглядным примером. Используя мой опыт, вы можете наполнить верхний дополнительный ряд клавиатуры Smart Keyboard самыми разнообразными символами по своему вкусу — например, изображениями стрелок, надстрочными и подстрочными цифрами да дробями, символами валют, элементами кириллицы нерусских народов, и так далее. Я и сам со временем почувствую нужду в односимвольном многоточии, я заранее предчувствую это, а вот с символом параграфа, должно быть, поторопился — вряд ли он понадобится на первом, сразу видимом, экране.

Но эти незначительные детали станут предметом дальнейших действий и породят, быть может, дополнительные комментарии и блогозаписи; нынешний же рассказ мой окончен.
+44
21.8k 38
Comments 57
Similar posts
Top of the day