- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
\message{Russian hyphenation patterns by D. Vulis,}
\message{modified by M.Vorontsova and S.Lvovski.}
\message{Version date: 24.02.96}
--- неинтересная часть пропущена ---
{
\lccode`\a=`\м
\lccode`\b=`\г
\lccode`\c=`\у
\lccode`\d=`\е
\lccode`\e=`\с
\lccode`\f=`\х
\lccode`\g=`\у
\lccode`\h=`\к
\lccode`\i=`\г
\lccode`\j=`\х
\lccode`\k=`\м
\lccode`\l=`\н
\lccode`\n=`\ъ
\lccode`\o=`\з
\lccode`\p=`\й
\lccode`\q=`\ю
\lccode`\r=`\д
\lccode`\s=`\у
\lccode`\t=`\д
\lccode`\u=`\х
\lccode`\v=`\я
\lccode`\w=`\ы
\lccode`\x=`\z
\lccode`\y=`\ь
\lccode`\z=`\ч
\lowercase{
\patterns{
6jcp. 6usv. 6fgq. 6ucdk.
}
}
}
Отрывок из образцов переноса слов для TeX'а. Авторы постеснялись написать открытым текстом четыре образца (строка 35), поэтому зашифровали их простой подстановкой.
Читателю предлагается расшифровать эти образцы и догадаться, чего испугались авторы.
This section contains a brief explanation of Knuth's algorithm, in
case you missed it from the TeX books. We'll use the semi-word
"example" as our running example.
Since the beginning and end of a word are special, the algorithm is
actually run over the prepared word (prep_word in the source)
".example.". Knuths algorithm basically just does pattern matches from
the rule set, then applies the matches. The patterns in this case that
match are "xa", "xam", "mp", and "pl". These are actually stored as
"x1a", "xam3", "4m1p", and "1p2l2". Whenever numbers appear between
the letters, they are added in. If two (or more) patterns have numbers
in the same place, the highest number wins. Here's the example:
Finally, hyphens are placed wherever odd numbers appear. They are,
however, suppressed after the first letter and before the last letter
of the word (TeX actually suppresses them before the next-to-last, as
well). So, it's "ex-am-ple", which is correct.
Точка означает начало либо конец слова (как в регулярках ^ или $). Чётные числа указывают на нежелательность переноса в этом месте, нечётные — на желательность. Если слову соответствуют несколько образцов и образцы накладываются, для каждой пары букв выигрывает наивысшее число среди образцов.
Короче, 6 и точка означают, что перед слогами хуй$, хую$, хуе$, хуем$ перенос делать нежелательно, дабы не смущать воспитанниц Института благородных девиц. Перекрыть это правило можно, если добавить образец типа 7ху
Если несколько кодов могут отображаться на один, то это сжимающее отображение, т. е. хэш.
Если один код может отображаться на несколько, как здесь, то это... разжимающее отображение. Большое количество вореций зашифрованной информации не позволяет восстановить её с помощью частотного анализа, не зная ключа.
Недостаток разжимающего отображения заключается в том, что алфавит зашифрованного текста должен быть мощнее алфавита источника.
Отсюда:
C:\Program Files\LibreOffice 5\share\extensions\dict-ru\hyph_ru_RU.dic
Если РКН запретит нецензурную лексику в файлах, то скачать Опенофис/Либрофис не получится...
Не подскажешь список того, что «must have»?
https://lh4.googleusercontent.com/-0RTe0qQVcec/T6lrwK9SGMI/AAAAAAAABe4/CJxl-Xp6wY0/s640/P1130754_2012-05-08T16-03-22.JPG
https://www.phantom.sannata.org/viewtopic.php?t=6133&start=693
SQL ERROR [ mysqli ]
MySQL server has gone away [2006]
An sql error occurred while fetching this page. Please contact an administrator if this problem persists.
Уже 15 лет как ушёл...
Нифига себе сколько народу на «Говнокоде»! Сайт положили сразу после публикации ссылки.
6хрь.
Это же не слоги?
Т.е. если у тебя есть и1х и 6хрь, то сти-хи будут переноситься, а вихрь - нет.
Пусть инканус поправит, если я гоню.
Алгоритм первоначально был рассчитан на английский и на всякие романо-германские языки, которым свойственны буквосочетания (вроде дифтонгов или обозначения звука [ш] несколькими буквами), так что без детального анализа нельзя разобрать слово на гласные-согласные.
Или этот:
Для устранения «тоннеля» приходится добавлять пробелы в случайных местах. ТеХ, кажется, с этой задачей справляется, а в текстах, свёрстанных в Ворде, нередко вижу «тоннели».
Но это уже к алгоритму переносов имеет отдалённое отношение.
> нецензурной лексики
Во времена однобайтных кодировок хуи в рандомных данных встречались довольно часто.
P.S. Не могу придумать пример слова, заканчивающегося на «-хуе».
А "страхуемый" он может перенести как стра-
хуемый?
1. Как получают эти паттерны? Вручную, основываясь на свою интуицию, выдирают из словаря или есть какие-нибудь автоматические алгоритмы получения паттернов?
2. Табличка паттернов может быть использована для получения новых слов в бредогенераторе. Для этого нужно выбирать из неё достаточно длинные паттерны. В генерации связных текстов это никак не поможет, но может выдать что-нибудь типа «верблюдается» и «одновременьше».
скорее всего эти производные тоже заносятся
тут думать надо
В словарях, которые я видел, общее число паттернов от 3 до 6 тысяч, хотя исходная база содержит около миллиона слов.
ХУЙ!
https://en.wiktionary.org/wiki/huy
А ещё в табасаранском языке слово «хуй» означает собаку, в монгольском языке слово «хуй» означает рулон или ножны. А «хуйхуй» —– это самоназвание народа дунгане:
https://en.wikipedia.org/wiki/Hui_people
Сейчас в литературе и в СМИ вместо «хуйхуй» стыдливо употребляют «облагороженное» слово «хуэй».