vak: (Default)
[personal profile] vak
На заре интернета, когда в 90-м году мы в курчатнике и кооперативе Демос подключились к западным каналам и пошла бурная переписка, остро возникла проблема транслитерации. У себя-то мы весь софт русифицировали и сделали восьмибитным. Но большинство западных почтовиков оставались семибитными. Посылаешь текст на русском, и он в лучшем случае приходит WOT W TAKOM WIDE, а в худшем - полная абракадабра. Общались-то мы первое время с русскоговорящими, нашими бывшими соотечественниками. Нужен был простой способ превращать русский текст в латиницу, но чтобы он оставался читаемым. И чтобы его можно было конвертнуть обратно в русский.

Вадик Антонов предложил гениальное решение. Два правила:
- В большинстве случаев русская буква заменяется одной латинской буквой. Это относится к А Б В Г Д Е З И Й К Л М Н О П Р С Т У Ф Х Ц Ы Ь.
- В сложных случаях заменяем латинской буквой и символом ` (обратная кавычка). Это для букв Ё Ж Ч Ш Щ Ъ Э Ю Я.

Текст остаётся понятным и легко читаемым. А главное - однозначно восстанавливается в исходный русский текст. Единственное требование - отсутствие обратных кавычек в тексте. Но их никто и не использует.

Окрестили мы это дело по простому: волапюк. Нынче волапюком называют любую транслитерацию русского в латиницу, даже статья в википедии есть. А тогда мы под термином волапюк имели в виду именно алгоритм Вадика Антонова.

Вот так выглядит текст в кодировке волапюк:
Vot tak vygla`dit tekst v kodirovke volapu`k.
Почему-то исходники кодировщика оказались утеряны, а точный алгоритм забыт. Я попытался восстановить по памяти: volapuk.c

Date: 2023-02-27 08:03 (UTC)
From: [personal profile] h1uke
"гениальное решение" - это вы придрались. Обычная рацуха.
Но, что она была полезна в отдельно взятом курчатнике - это да, не поспоришь.

Date: 2023-02-27 11:51 (UTC)
juan_gandhi: (Default)
From: [personal profile] juan_gandhi

Хм, интересная идейка. Я на это не глядел вообще как на что-то принципиальное; кто как писал. Потом, почтовик я себе просто сам навалял, чтобы с совамтелепортом общаться... да там и не было кириллицы. А в фидо все буквы, кроме Н, были норм.

А в Борланде сдуру букву Я решили использовать, в Дельфях, что ли, в качестве какого-то ограничителя текста. Вот народ зверел в России.

Date: 2023-02-27 13:03 (UTC)
prool: cat (Default)
From: [personal profile] prool
Я вот занимаюсь мадами (MUD - muiltiusers dungeon) и там с 80-х идет куча кодировок кириллицы, куча клиентов на куче платформ. И я изобретал свою транслитерацию. Я принял такие правила - одна кириллическая буква - одна латинская буква или знак. Потому что в мадах авторы любили использовать псеввдографические приколы - текств рамочке, таблички, псевдографическое изображение текста на свитке. И чтобы не заморачиваться изменяющейся длиной строки я сделал примитивную односимольную таблицу с такими перлами как Ж - W Щ - #

Сейчас то все сервера пришли к UTF-8, и клиенты тоже (почти все, кроме старого JMC).

Но и с UTF не все безоблачно, я вот читаю общение с разработчиками клиентов tintin++ и Mudlet, там появляются коллеги китайцы и корейцы и с их символами тоже не все безоблачно.

Date: 2023-02-27 13:04 (UTC)
prool: cat (Default)
From: [personal profile] prool
Кто видел MUD на китайском, тот познал дзен

Date: 2023-02-27 13:06 (UTC)
prool: cat (Default)
From: [personal profile] prool
Забыл написать, таблица, которую я придумывал, должна была быть не только односимвольной, то есть не меняющей длины строк, но и обратимой, поэтому две кириллические буквы нельзя преобразовывать в один знак. То есть русские И и Ы можно преобразовать в i и будет читаемо, но будет необратимо.

Зачем - чтобы чел, не имеющий кириллицы на клавиатуре, мог вводить кириллические команды

Date: 2023-02-27 21:46 (UTC)
prool: cat (Default)
From: [personal profile] prool
Это да, но кодировку я выдумывал на тот редкий случай, когда муд на русском захочет посетить наш человек издалека, у которого нет кириллицы на клавиатуре и нет кириллического шрифта. Чешских букв и драйвера тоже скорее всего не будет.

Date: 2023-02-27 22:02 (UTC)
spamsink: (Default)
From: [personal profile] spamsink
А что ж на Си, если это, в сущности, набор контекстных замен, и всё пишется на более приличествующем задаче языке в несколько строчек?

Date: 2023-02-28 00:45 (UTC)
sab123: (Default)
From: [personal profile] sab123
А каково происождения названия? Вроде так раньше назывался какой-то проект общеславянского языка?

Date: 2023-02-28 06:05 (UTC)
ya_miranda: (Default)
From: [personal profile] ya_miranda
вот кому спасибо-то сказать