Этот сайт — моя персональная записная книжка. Интересна мне, по большей части, история, своя жизнь и немного программирование.

Транслит в «Виоле»

Пытаюсь улучшить транслит в браузере «Виола», который я продолжаю ковырять. Напомню: чтобы не менять шрифты, я сделал транслитерацию для языков, буквы которых отсутствуют в кодировке ISO-8859-1 — именно в ней всё работает по умолчанию.

Кодировка сейчас обрабатывается в три прохода.

На первом шаге я определяю кодировку страницы: смотрю её в заголовке Content-Type или в x-archive-guessed-charset — такой заголовок использует «Веб-архив».
Если кодировка отличается от UTF-8, выполняю перекодирование с помощью библиотеки iconv.

На втором шаге перегоняю текст в транслит при помощи ICU, для русских букв использую таблицу BGN, для остальным — то, что там работает по-умолчанию.

И на третьем шаге я опять вызываю iconv в режиме TRANSLIT, чтобы перегнать оставшиеся значки — то, что буквами не является, всякие там буллиты, кавычки и так далее.

Проблема в том, что я давно разучился бегло читать транслит, поэтому приходится прикладывать усилия. Варианта три: ничего с этим не делать, взять шрифты, которые содержат русские буквы, или переделать транслит так, чтобы его было проще читать.

Результат моих усилий — на скриншоте. Кажется, вариант по центру читается проще, чем правый. Но есть очевидные проблемы с буквами «ц» и «щ»: они у меня передаются как «u,» и «w,» соответственно, и этот знак запятой здорово сбивает темп чтения — заставляет спотыкаться. Пока думаю дальше.

3 комментария
xl 19 дн

Средний вариант отвратительный, классический транслит лучше читается. Ц — c или ts, Щ — sch или schc.

Евгений Степанищев 19 дн

Что-то мне все так сказали :-) Пусть будет классический )

hsh 19 дн

пусть ии переводит на английский!

Евгений Степанищев 19 дн

Вариант :-) Но всё постепенно будет платным становиться же )

Александр Игумнов 17 дн

Средний вариант очень похож на то, что при автоматическом распознавании текста выдают сканеры (или ПО для сканирования) какой-то фирмы. Когда из гос. учреждений приходят отсканированные в PDF документы, там часто бывает текстовый слой, но распознанный, как если бы текст был латиницей. Там именно так з->3, Ж -> }|{ и т. п. Хотел даже конветртер написать из этой кодировки, но заново распознать FineReaderом оказалось проще.

Евгений Степанищев 17 дн

С таким не сталкивался :-) Есть сканеры, которые умею сразу распознавать текст, видимо это они, просто без поддержки русского.