diff options
Diffstat (limited to 'statgen')
-rw-r--r-- | statgen/Makefile | 10 | ||||
-rw-r--r-- | statgen/Makefile.am | 18 | ||||
-rw-r--r-- | statgen/debug.c | 4 | ||||
-rwxr-xr-x | statgen/doit | 19 | ||||
-rw-r--r-- | statgen/dragons.txt | 514 | ||||
-rw-r--r-- | statgen/test.c | 12 | ||||
-rwxr-xr-x | statgen/traslations | 12 |
7 files changed, 545 insertions, 44 deletions
diff --git a/statgen/Makefile b/statgen/Makefile deleted file mode 100644 index 76251bd..0000000 --- a/statgen/Makefile +++ /dev/null @@ -1,10 +0,0 @@ -all: generate ascii test upper debug -generate: generate.c - gcc -lm -o generate generate.c -ascii: ascii.c - gcc -o ascii ascii.c -test: test.c charset_auto_russian.h russian_table.h - gcc -o test test.c -debug: debug.c charset_auto_russian.h russian_table.h - gcc -o debug debug.c -upper: upper.c
\ No newline at end of file diff --git a/statgen/Makefile.am b/statgen/Makefile.am new file mode 100644 index 0000000..c2e2a82 --- /dev/null +++ b/statgen/Makefile.am @@ -0,0 +1,18 @@ +bin_PROGRAMS= generate ascii upper +generate_SOURCES= generate.c +generate_LDADD= -lm +ascii_SOURCES= ascii.c +upper_SOURCES= upper.c + +EXTRA_DIST= doit + +table.tmp.h: dragons.txt + ./doit dragons.txt + +tests: table.tmp.h + cat ../src/librcd.c | sed -e "s|russian_table|table.tmp|;s|librcd\.h|../src/librcd.h|" > librcd.tmp.c + gcc -o test test.c + gcc -o debug debug.c + +clean-local: + -rm -f *.tmp.[ch] test debug diff --git a/statgen/debug.c b/statgen/debug.c index 85b950b..72bd0b1 100644 --- a/statgen/debug.c +++ b/statgen/debug.c @@ -1,6 +1,6 @@ #include <stdio.h> #define _AUTO_DEBUG -#include "charset_auto_russian.h" +#include "librcd.tmp.c" main(int argc, char *argv[]) { @@ -28,6 +28,6 @@ main(int argc, char *argv[]) { if (len<5) continue; else word[len+1]=0; - autocharset_russian_uc(word+st,len+1-st); + rcdGetRussianCharset(word+st,len+1-st); } } diff --git a/statgen/doit b/statgen/doit index c38fe39..a71a88a 100755 --- a/statgen/doit +++ b/statgen/doit @@ -9,29 +9,26 @@ fi dos2unix -U $1 cat $1 | sed -e "s/╕/ё/g;s/╣/N/g;s/░/°/g" | iconv -f CP866 -t KOI8-R > $1.koi -cat $1 | sed -e "s/╕/ё/g;s/╣/N/g;s/░/°/g" | iconv -f CP866 -t CP1251 > $1.win -cat $1 | sed -e "s/╕/ё/g;s/╣/N/g;s/░/°/g" > $1.alt - +#cat $1 | sed -e "s/╕/ё/g;s/╣/N/g;s/░/°/g" | iconv -f CP866 -t CP1251 > $1.win +#cat $1 | sed -e "s/╕/ё/g;s/╣/N/g;s/░/°/g" > $1.alt #cat $1 | sed -e "s/╕/ё/g;s/╣/№/g;s/░/°/g" | iconv -f CP866 -t UTF-8 > $1.utf export LC_CTYPE="ru_RU.KOI8-R" -./generate $1.koi koi > russian_table.h 2> header1.tmp -./generate $1.koi win >> russian_table.h 2> header2.tmp -./generate $1.koi alt >> russian_table.h 2> header3.tmp -#./generate $1.win win >> russian_table.h 2> header2.tmp -#./generate $1 alt >> russian_table.h 2> header3.tmp +./generate $1.koi koi > table.tmp.h 2> header1.tmp +./generate $1.koi win >> table.tmp.h 2> header2.tmp +./generate $1.koi alt >> table.tmp.h 2> header3.tmp cmp header1.tmp header2.tmp if [ $? -ne 0 ]; then echo "Different number items in win & koi tables. Strange..." - rm -f russian_table.h + rm -f table.tmp.h else cmp header1.tmp header3.tmp if [ $? -ne 0 ]; then echo "Different number items in win & koi tables. Strange..." - rm -f russian_table.h + rm -f table.tmp.h else - cat header1.tmp >> russian_table.h + cat header1.tmp >> table.tmp.h fi fi diff --git a/statgen/dragons.txt b/statgen/dragons.txt new file mode 100644 index 0000000..c6ba945 --- /dev/null +++ b/statgen/dragons.txt @@ -0,0 +1,514 @@ + Святослав ЛОГИНОВ + + ДРАКОНЫ ПОЛУНОЧНЫХ ГОР + + + Среди всех городских пивнушек "Пятиголовый Хаб" считался самой +приличной. Народ здесь собирался грубый, но честный, а разбавлять пиво +старый Хаб считал ниже своего достоинства. Драки тоже случались редко, +поскольку именно в заведение к Пятиголовому Хабу приходил по вечерам +пить пиво Онеро. + Сам Хаб давно смирился со своим прозвищем и даже гордился им +наравне с неразбавленным пивом и чинным поведением +девушек-подавальщиц. Когда-то, над входом в пивную красовалась +вывеска, c изображением пивной кружки, рядом с которой примостился +дракон. Дракон получился маленький, с кружку размером и больше всего +походил на ощипанного пятиголового цыплёнка. По задумке, пивная должна +была называться "Пятиглавый дракон", однако, народ немедленно окрестил +Пятиголовым Хабом и саму пивнушку, и её хозяина. + Теперь Хаб уже не пытался бороться с судьбой и даже извлекал из +случившегося прибыль. Вывеска с пятиглавым курчонком, поначалу снятая, +была восстановлена и регулярно подновлялась, а за не слишком большую +цену всякий желающий мог заказать фирменное блюдо: жареного цыплёнка, +которому искусство повара приставило ещё четыре курячих головы. +Появление этого блюда обычно сопровождалось восторженными криками, а +гордый собой клиент, вооружившись ножом, старался снести все головы +одним махом. + Онеро в подобных развлечениях участия не принимал. Он сидел за +отдельным столиком в углу, прихлёбывал своё пиво, и выпив за вечер три +кружки, расплачивался и шёл домой. Онеро пил только светлое пиво и +всегда выпивал три кружки. Такое постоянство вызывало уважение даже у +тех, кто считал светлое пиво напитком недостойным мужчины. К тому же, +речь шла не о ком-нибудь, а о самом знаменитом человеке города. Любой +горожанин и всякий приезжий знали, кто такой Онеро и посему, даже в +отсутствие знаменитости старались в заведении не буянить. Сам Онеро, +казалось, не замечал ни любопытных взглядов приезжих, ни шепотка за +спиной. Он молча пил пиво. Завсегдатаи привычно не обращали внимания +на молчаливую фигуру за крайним столиком. + Порой на улице к Онеро подходили мальчишки, что-то спрашивали. +Онеро отвечал, и мальчишки отходили гордые. Случалось, что и в пивной +к Онеро подсаживались люди. Обычно это были приезжие из дальних +городов, а то и вовсе из других стран - слава Онеро гремела по всему +миру. С этими Онеро подолгу разговаривал, кивал, расспрашивал. +Некоторых приглашал к себе домой. Тогда в городе знали, что угловой +столик в "Пятиголовом Хабе" скоро опустеет. Онеро соберётся и уедет, +на месяц, два, а то и полгода. Потом он вернётся, а следом на +крестьянских телегах будут везти трофеи. Онеро не скрывал результатов +своих поездок, и всему городу было о чём поговорить. + Вечер только начинался и перед Онеро стояла первая кружка, +увенчаная шапкой белой пены. Народу в зале покуда было немного, всяк +находился на виду, и на вошедшего многие обратили внимание, хотя ничем +особым он не выделялся. Мужчина в годах, но ещё не старый, несмотря на +бороду с проседью и лицо в морщинах. Одет вошедший в некрашенный +дорожный плащ и грубые сапоги. И плащ, и сапоги, и шапка с наушниками, +которую человек стащил с головы, входя под крышу, и особенно вычурная +можжевеловая палка, всё было покрыто пылью и указывало путника, +пришедшего издалека. Вот только за спиной у странного посетителя не +было мешка, а в руках даже самой завалящей сумчонки. + Мужчина окинул зал цепким взглядом и, без колебаний выделив +крайний столик, подошёл к Онеро. + - Я могу здесь сесть? + Онеро кивнул, не поднимая глаз от тарелки с обжаренным в масле +горохом. Незнакомец сел напротив, прислонив палку к стене. Потом +сказал: + - Меня зовут Манган. Манган из Манганеи. + Онеро подцепил оловянной дожкой три жёлтых, покрытых хрустящей +корочкой горошины, отправил их в рот, затем поднял глаза на +собеседника. + - Здравствуйте, Манган из Манганеи. Меня зовут Онеро, а родом я +отсюда. + Кучерявая Нистра подошла к столику, поставила перед путником +кружку с таким же светлым пивом, что и у Онеро. Спросила с привычной +улыбкой: + - Что сударь желает к пиву? Есть раки, вяленая и провесная рыба, +мочёная брусника, горох двух видов, солёные сушки, гренки... + - Гренки, пожалуйста, - быстро сказал Манган. + - Гренки можно подать простые, с маслом, с ченоком, сыром... + Гость кротко глянул на Нистру, и девушка, подавившись +заготовленной тирадой, поспешно отошла. + - Вы не слышали прежде моего имени? - спросил Манган. + - Нет, - Онеро покачал головой. - Я живу затворником. + - Я тоже, - Манган приподнял кружку, омочив усы в густой пене. - +Но о вас я слышал. Вообще-то я волшебник. + - Я это заметил. + - И как же? + - Только волшебники пускаются в дальнюю дорогу, не взяв ничего +кроме палки. + - Забавное наблюдение. Я действительно не люблю таскать с собой +ненужные вещи. + - И что же заставило мага и домоседа Мангана изменить привычкам и +тащиться в такую даль? + Волшебник помолчал, собираясь с мыслями, затем произнёс: + - Скажите, Онеро, вы не замечаете, что последние годы в мире +творится нечто странное? + - Странное в мире творится ровно столько, сколько я себя помню. + - Однако, последние годы силы зла вновь подняли голову. Чёрная +магия возросла и встречается теперь повсюду. + - Простите меня за невежество, мудрый Манган, но я ни разу не +встречался с силами зла и не верю в магию, будь она чёрной, белой или +оранжевой. + Волшебник подавился пивом. + - Помилуйте! - вскричал он, прокашлявшись. - И это говорите вы? +Тот человек, что убил две дюжины драконов? + - Пятнадцать. Я убил ровным счётом пятнадцать драконов. + - И после этого вы говорите, что не существует магии тёмных сил? + - Вот именно, - Онеро зацепил полную ложку хорошо прожаренного +гороха, задумчиво пережевал его, запил пивом. Потом проговорил, как бы +заканчивая мысль: - Честно говоря, в магию светлых сил я верю ещё +меньше. Сила это не забор, её нельзя покрасить. Она просто есть. Одни +считают её доброй, другие злой, но от мнения людей ничего не меняется. +А магия?.. Мне ни разу не приходилось с ней сталкиваться. Фокусы, +ловкий обман - это сколько угодно. А в магию - не верю. + - Убивая драконов, вы ни разу не встречались с магией? + - Ни полраза. Дракон это просто зверь. Редкий, опасный, весьма +неприятный, если общаться с ним на близком расстоянии. Но ничего +волшебного я в них не видел. Впрочем, мы ещё успеем обсудить этот +вопрос, а пока вы хотели поведать мне что-то по поводу напастей, +угрожающих населённым землям. + - Да, конечно. Это важнее нежели самый утончённый спор. Но на +время моего рассказа вам придётся принять на веру, что магия всё же +существует. Поймите, я много лет занимаюсь этим вопросом и достиг +немалых успехов в своём деле. Так вот, уверяю вас, что колдовство не +только существует, но и бывает изначально злым. Я имею в виду не +деревенских колдунов - грубых и неотёсанных, словно окружающие их +мужики, я говорю о высочайшей магии, доступной немногим. Именно эта +магия вызывает смерчи и ураганы, она провоцирует войны, рождает +эпидемии. Драконы тоже насылаются этой злой волей. Более того, дракон +есть высшее проявление злых сил, и я удивлён, что вам это не известно. +Так вот, последние годы влияние магии враждебной силам добра небывало +возросло. Положение не просто серьёзное, оно катастрофическое. За +всем, что происходит в мире отчётливо проглядывает рука тьмы... + - Особенно по утрам... - пробормотал Онеро, уткнувшись в тарелку с +горохом. + - Что?.. - переспросил Манган и, не дожидаясь ответа, продолжил: - +Так вот, мне удалось установить, где скрывается тот, чья воля творит +зло на земле! Вы знаете такое место - Шиган? + - Если вы говорите о Шиганском хребте, то там не выживет даже +самый злой колдун. Вам, вообще, доводилось бродить в тех краях? Лето +там бывает только по названию, кругом голая тундра, людей почти нет. А +горы ещё севернее, там вообще всё покрыто льдами. Я был однажды +неподалёку, не в самих горах, но хребет уже маячил на горизонте. И я +скажу прямо - скверное место. Если силы зла выбрали его для +проживания, то они поступили хорошо, потому что там некому вредить. + - Но оттуда тьма расползается по всему миру. + - Разумеется, оттуда. Шиган - полуночные горы, откуда ещё +приходить тьме? И я не вижу в этом ничего плохого. Скажу более того: +ночь я люблю ничуть не меньше дня. Я, вообще, большой любитель +поспать. + - Я имею в виду не темноту ночи, а тёмные силы. Именно оттуда +разлетаются по миру драконы, неся смерть и разрушение... + - Послушайте, - перебил Онеро. - Вы хотя бы раз в жизни видели +живого дракона? Или хотя бы бывали в тех краях, где водится дракон? + - Не довелось. Именно поэтому я пришёл к вам. + - Так вот, я, как человек повидавший немало драконов, скажу, что +на месте сил зла я выбрал бы иной способ досадить людям. Средних +размеров туча саранчи приносит куда больше неприятностей, чем самый +разужасный дракон. Дракон - это просто хищный и тупой зверь, не более +того. + - Тогда почему же вы убиваете драконов? + - Это моя работа. Таким способом я зарабатываю на жизнь. И неплохо +зарабатываю, смею вас уверить. Дракон словно специально создан, чтобы +приносить славу победителю. Он слишком эффектен, он весь как +ненастоящий. Дракон - что-то вроде балаганного зазывалы или вывески +над дверями этой таверны. Силы, которые действуют исподтишка, никогда +не станут использовать дракона. + - И всё же я просил бы вас сопровождать меня во время путешествия +в Шиган. + - Вряд ли это получится, во всяком случае - сейчас, - Онеро резким +толчком отодвинул пустую кружку, и проворная Нистра немедленно +поставила перед ним полную. - Может быть, вы слышали, в Нестеле +объявился дракон. Ко мне уже присылали оттуда ходоков, но они +предлагали за работу такие гроши, что я оказался. + - То есть, вы делаете своё дело только за деньги? - с ужасом +спросил Манган. + - Нет, конечно. Но Нестеле - богатый край, они могут заплатить как +следует, вот и пусть раскошеливаются. Или пусть сами управляются со +своим зверем, в конце концов, в городе стоит немалый гарнизон, +которому ежедневно платят больше, чем они предлагали мне за всю +работу. + - Жаль... - медленно протянул волшебник. - Я, честно говоря, очень +рассчитывал на вас. + - Беда в том, - улыбнулся Онеро, - что я не верю в злые чары. И +если вы не будете против, я бы показал вам кое-что, подтверждающее мои +слова. Я имею в виду свои трофеи. Думаю, что вам это будет любопытно. +Это не живой дракон, но всё-таки, кое-что. + - В монастыре в Байо хранится высушенная лапа чудовища. С когтями +и чешуёй. Я видел её и должен сказать, что от этой вещи до сих пор +несёт чёрной магией. Словно ледяной сквозняк тянет через неплотно +прикрытую дверь. Именно там я окончательно убедился, что драконы не +просто магические существа, а порождения злых сил. + - В таком случае, в моём доме должен гулять не сквозняк, а +настоящая пурга. Пятнадцать драконьих голов это чуть больше, чем одна +засушенная лапа. + - Вы держите головы убитых драконов дома?! - волшебник вскочил, +плащ за спиной колыхнулся, словно крылья всполошенной птицы. + - А где же ещё? Дома конечно. И каким бы холодом ни тянуло от этих +голов, я ешё ни разу не простужался. + - И их можно видеть? - выдохнул Манган. + - Это я вам и предлагаю. Угодно - пойдём прямо сейчас. + - Да, конечно, - заторопился маг, - конечно! Подумать только - +голова настоящего дракона! Я полагал, что вы сжигаете останки убитых +чудовищ, чтобы они не заражали окрестности. + - Я так и делаю, - проговорил Онеро вставая, - но головы я +оставляю себе на память. + Он залпом допил вторую кружку, махнул рукой, останавливая +услужливую Нистру, и двинулся к выходу. Маг расплатился за недопитое +пиво и нетронутые гренки и поспешил следом. + На улице было ещё светло, усталое солнце висело над самыми +крышами, готовясь нырнуть за край земли. "Пятиголовый Хаб" +располагался на окраине, однако дом Онеро и вовсе стоял на особицу. +Здесь уже не было мостовых, под ногами проминалась трава: персидская +ромашка, муравка и вечные листья неистребимого подорожника. Онеро и +взволнованный маг шли рядом. Затем, хозяин спросил: + - Ну хорошо, предположим в глубине Шиганских гор действительно +прячется какой-то злодей. И как вы собираетесь с ним сражаться? + - Прежде всего, - нерешительно проговорил Манган, - я выясню, где +именно он скрывается. Я изучу структуру магических потоков вокруг его +замка и постараюсь их перекрыть... + - Вы так уверенно говорите о замке, будто уже побывали в Шигане. +Только в рыцарских романах злодей обязательно живёт в замке. А если он +поселился в пещере или просто спит на снегу? А если он не человек, а +тот же дракон или исполненная злобы огненная гора? Или вовсе нечто +такое, для чего в нашем языке нет слов? + - Это ничего не меняет, - терпеливо пояснил маг. - Достаточно +направить стихии, которыми он повелевает, внутрь себя, и недруг падёт, +сожжённый собственной мощью. Поверьте, этот вопрос мне хорошо +известен. Пусть чёрный маг окажется стократ сильнее меня, он всё равно +не сможет устоять. У слишком большой силы обязательно есть свои +слабости, вам это должно быть известно, будь иначе, вы бы не смогли +уничтожать драконов. Всемогущий чародей уязвим для того, кто подойдёт +к нему вплотную. Именно поэтому величайшие из колдунов удалялись в +пустыню и даже на три дня пути никому не позволяли приблизиться. + - Всё это крайне поучительно, - кивнул Онеро, - но я хотел бы +знать, зачем вам нужен я. У вас замечательный план, вы уверены в +успехе - ну так пойдите и убейте злодея! + - План хорош, но в нём есть один недостаток. Я не могу +приблизиться к повелителю тёмных сил, ибо горные проходы охраняются +драконами. И только вы можете справиться с ними. + - Та-ак!.. - серьёзно протянул Онеро. - Это уже любопытно. С чего +вы взяли, будто там водятся драконы? Вам кто-то рассказывал о них? Вы +были там? Видели хоть одного? + - Я был неподалёку, разговаривал с туземцами и слушал их рассказы. +Я, наконец, подошёл довольно близко к горам, чтобы почувствовать +пронзительную магию драконов, слабый отблеск которой впервые коснулся +меня в монастыре Байо. Кто раз ощутил беспросветную силу дракона, тот +не перепутает её ни с чем! + - Вы говорите очень поэтично, - согласился Онеро, - однако у меня +всё ещё есть сомнения... + - Я даже знаю, в чём они заключаются. Вы хотите сказать, что не +верите мне, потому что я не могу обнаружить останки драконов в вашем +доме, хотя до этого хвастал, какое действие произвела на меня одна +лишь высушенная лапа? + - Именно это я имел в виду, - признал Онеро. + - Так вот, вы живёте в том доме, что сейчас покажется из-за +деревьев. Каменный двухэтажный дом со сланцевой крышей - я обратил на +него внимание, ещё входя в город. Если бы я не различил магию дракона, +то мог бы подумать, что в этом тихом доме засел злой колдун, такой +мрак разливается окрест. Здесь всё пропахло драконами, и я сразу +вспомнил о вас. Я даже пытался достучаться к вам, но какой-то прохожй +сказал, что в этот час вы наверняка сидите в таверне. Как видите, я +сумел определить, что этот дом имеет отношение к драконам. Но я и +помыслить не мог, что вы осмелились держать голову дракона в доме, где +вам приходится жить! + - Пятнадцать голов. + Манган застонал и схватился за собственную голову, словно +опасался, что она вот-вот присоединится к ужасной коллекции. + - Послушайте, - вдруг спросил Онеро. - А вам не пришла мысль, что +в доме действительно засел злой колдун, который отпугивает прохожих +волшебников тенью дракона? + - Нет. Магию дракона невозможно подделать. К тому же я +разговариваю с вами уже долго и вижу, что в вас нет ни единой капли +нематериальных энергий. Я представить себе не мог, что на свете +существуют столь прозаические люди. Должно быть поэтому вредоносная +сила драконов и не действует на вас. + Онеро поднялся на крыльцо дома, крытого чёрным природным шифером, +достал с пояса связку ключей. + - Прозаический человек... - задумчиво повторил он. - Это вы хорошо +сказали. Жаль, никто в городе не поверит вам. Они считают меня героем. +Но вам я покажу правду. Заходите. + Тяжёлая дверь отворилась. Манган вскрикнул и попятился. Со стены +обширной прихожей щерилась чудовищная морда. Голова дракона словно +нависала над входящим в дом. Она была по меньше мере вдесятеро крупнее +головы самого большого быка. Её украшали три пары вычурных рогов. +Седьмой рог, прямой и острый торчал на переносице между глаз, +заменённых рубиновыми стекляшками. Жёлтые изогнутые зубы были +оскалены, один клык - сломан. + Онеро стоял в дверях, любуясь произведённым эффектом. + - Ну и как он вам? - спросил он наконец. + - Потрясающе - ошарашено пробормотал Манган. - Я не думал, что они +бывают такие огромные. И сила... какая страшная мощь исходит от него +даже сейчас. + Манган осторожно приблизился к голове. Шепча заклинания, сделал +несколько пассов. + - Это самый большой, - пояснил Онеро. - Я взял его в Дунласе. Это +оказалось совсем не сложно, зверь был стар м страдал всеми мыслимыми +болезнями. Самое трудное было очистить шкуру от паразитов. Клопы и вши +покрывали его сплошняком. Вся башка была в язвах. Мне пришлось +повесить её сюда, потому что здесь полутьма и не так заметно, что +голова изъедена червями. Если бы я не убил этого зверя, он бы сам +издох через пару месяцев. Но я успел расправиться с ним, покуда он ещё +ползал, и получил от благодарных горожан двенадцать тысяч червонцев. + - Я слышал, что против Дунласского чудовища выезжало немало +рыцарей, и всё были сокрушены его убийственной мощью, - осторожно +напомнил Манган. + - Вот именно, что выезжали. Выезжать на коне против дракона может +лишь идиот или самоубийца. При этом приходится иметь дело не только со +зверем, но и со взбесившимся от страха конём. А я пятнадцать раз +выходил против дракона пешком и пятнадцать раз оставался победителем. +А впрочем, чего тут стоять, пойдём наверх. + Они поднялись в большой зал на втором этаже. На этот раз Манган +уже знал, чего ожидать, но всё же не осмелился сразу войти в +помещение. На каждой стене были прибиты по три уродливых головы, +изукрашенных рогами, гребнями, вершковыми зубами. Один дракон был +вовсе беззубым, вместо пасти у него топорщились костяные жвалы, +способные в щепу размолоть древко копья. Чудовища были раскрашены в +самые неожиданные цвета: алые пятна по голубому фону сменялись +черно-белой зеброй, брусничные брызги рдели на зелёном, одна из голов, +казалось, наливается апоплексической синевой, а рядом мерцала +выпуклыми искристыми глазами безмятежно розовая голова. + - Как вам моя коллекция? - с нескрываемой гордостью спросил Онеро. + Манган кружил по залу, переходя от одной головы к другой, +всплескивал руками, шептал закляться вперемешку с восхищёнными охами. + - Одного не могу понять, - наконец признал он, - почему вы до сих +пор живы? Эти останки создают здесь столь глубокую область негативной +энергии, что мне приходится напрягать сейчас все свои силы, чтобы +уберечь себя и вас от вредного воздействия драконьей магии. К тому же, +обратите внимание: здесь ровно двенадцать голов и они расположены +кругом! Любой чёрный маг душу отдаст ради того, чтобы иметь столь +мощный магический круг! + - Квадрат. + - Что? + - Я говорю, что зал квадратный, и головы расположены квадратом. +должно быть, я жив до сих пор, благодаря этой случайности. + - И вы ещё можете шутить! - вскричал маг. - Хорошо, что они +смотрят вниз, будь иначе, через комнату было бы невозможно пройти, +даже мёртвая магия оказалась бы слишком сильна! Скажите, ну зачем вам +вздумалось собирать вместе именно двенадцать голов? + - Больше на стены не лезет, - признался Онеро, - можно, конечно, +вешать их в два ряда, но тогда не хватит голов. Ну, вы сами видели, +одна висит в прихожей, двенадцать здесь, одна в кабинете и одна на +чердаке. Это самая свежая голова, и от неё ещё попахивает драконом. +Скверный запах, к вашему сведению. Когда я убил вот этого полосатого +красавца, местные мужики предложили мне в уплату половину своих стад. +Больше у них просто ничего не было. Представляете, как бы я перегонял +домой всех этих баранов? Пришлось удовольствоваться всего одним +барашком, которого мне зажарили благодарные хозяйки. Да и этого я +вечером выбросил. После того, как туша пролежала день в одной телеге с +драконьей головой, её не стали жрать даже собаки. Но я всё равно +доволен, - вы когда-нибудь видели полосатого дракона? А у меня он +есть. + - Кстати, - Манган сделал широкий жест рукой, - Вы говорите, что +это просто звери, однако, посудите сами, бывает ли среди зверей такое +разнообразие? Только опытные охотники умеют отличить одного волка от +другого, а среди драконов невозможно найти двух одинаковых. Вот у +этого есть уши, у единственного среди всех, у этого - крошечные +глазки, а у его соседа - буркалы величиной с тарелку. А крылья?.. +Скажите, у них были крылья? + - У некоторых были. Но летал только один - вот этот, который с +ушами. Да и то, не летал, а перепархивал с места на место, помогая +себе крыльями. За то и поплатился. Я взял его на рогатину, как +медведя, а он, разогнавшись, не сумел уклониться. А что касается их +разнообразия, то я же не утверждал, что все эти существа - родные +братья. Покажите неопытному человеку жирафа и, скажем, морскую касатку +- он не сумеет найти у них ничего общего. А между тем, и тот, и другой +кормят детёнышей молоком и, значит, состоят в близком родстве. А +взгляните на собак! Комнатная левретка ничуть не напоминает добермана +или бультерьера, мастерство собаководов сотворило с ними злое чудо. +Возможно и с драконами дело обстоит так же. Это решать не мне, а вам, +учёным людям. Впрочем, для чего мы тут стоим, вы же говорите - вредно. +Я предлагаю перейти в кабинет, там всего одна голова. Яично-жёлтый +дракон. Но, когда я набиваю себе цену перед богатыми заказчиками, я +величаю его золотым. + Они прошли в соседнюю комнату, которую меньше всего хотелось бы +назвать кабинетом, хотя здесь имелся стол и пара шкафов с книгами. +Однако, больше всего было оружия. Мечи и топоры, копья, тяжёлые +самострелы, причудливые лезвия, заточки, гарпуны... железо всех видов +и форм. Над столом была приколочена не слишком большая голова жёлтого +дракона. Из отороченной жёсткими усами пасти высовывалось длинное +костяное остриё, напоминающее рыбацкую острогу. + - У вас тут целый арсенал, - уважительно проговорил Манган. - +Зачем вам столько разного оружия? + - А вы думали я выхожу на бой с верным мечом в руках? Так +поступают болваны, идущие зверю на корм. Большинство этих тварей +невозможно взять мечом - слишком много костяных бляшек, гребней и +прочей мишуры. Копьё тоже не годится, если не знаешь наверняка, куда +надо бить. Но что можно знать наверняка, выходя на дракона? Моя +скромная точка зрения такова, что лучше всего против дракона +использовать тяжёлую секиру со штырём вот здесь, чтобы её легко было +превратить в рогатину. Если зверь волочит брюхо по земле, то полезно +закрепить в камнях подходящий клинок, а потом выманить тварь на себя. +Для этой цели я обычно использую арбалет. Причинить существенного +вреда он не может, но почему-то драконы ужасно не любят удара стрелой +по носу. Как видите, я не делаю тайны из своего занятия, но рыцари, +приезжавшие ко мне за советом, гневно называли меня мясником и +отправлялись рубить своих драконов верхом и с мечом на перевязи. +Удивительно, но ни один не заехал потом, чтобы похвастаться трофеями. +Впрочем, почти каждый дракон подкидывает охотнику что-то новенькое; вы +верно сказали: драконы очень разнообразны. Взять хотя бы вот этого... +знаете почему он висит здесь, а не вместе со всеми? Он единственный +сумел ранить меня. Ужасно вёрткая была тварь, а ведь обычно драконы +неповоротливы. К тому же, они не любят сражаться и, стараясь напугать +противника, сразу демонстрируют все свои фокусы и приёмы. Иногда +бывает достаточно просто вовремя сбежать от него, чтобы на следующий +день вернуться с нужным инструментом. А этот цыплёнок до последней +секунды не показывал своего языка. Видите какая штука? Он умел бить им +словно копьём, выкидывая язык почти на два ярда. А я не ожидал такого +удара, и он пропорол мне ногу. Спасибо тёмным силам, но жало оказалось +не ядовитым. Правда, самому дракону, как видите, его ловкий удар не +помог. + - То, что вы рассказываете - удивительно! - проговорил волшебник. +- Скажите, а они плевались огнём? + - Нет, я ни разу не встречал огнедышащих драконов. И боюсь, что +всё это сказки. Когда зверь вламывается в деревню, люди сами в панике +роняют огонь, а потом списывают пожары на огнедышащее чудовище. +Слишком много сказок толчётся вокруг драконов, слишком много магии, +поэзии и вранья. Вот вы говорите, драконы прилетают из Шиганских гор. +Возможно вы и правы, ведь у большинства из них есть крылья. Но я не +видал летающих драконов. Если вдуматься - объяснение может быть только +одно: к нам попадают лишь старые, одряхлевшие драконы, которые уже не +могут прожить в горах Шигана. И значит, если я соглашусь сопровождать +вас, то мне придётся иметь дело с молодыми, полными сил чудовищами. +Справлюсь ли я? Впрочем, это дело десятое. Важнее другое: зачем тёмным +силам, ежели они существуют, насылать на людей дряхлых и больных +драконов? Только для того, чтобы я их убивал? + - Возможно, вы правы, - задумчиво проговорил Манган, - и те +драконы, с которыми сталкивались люди, это действительно всего-лишь +блохастые дворовые кобели, которых тёмный властелин выгнал из своего +логова, как жестокий хозяин выгоняет обеззубевшую шавку. Но тогда тем +более страшно подумать, какие планы может вынашивать тьма. И, значит, +тем более важно проникнуть в Шиган и узнать эти планы. Вы боитесь, что +не совладаете с молодым драконом? Что же, я не буду настаивать, хотя +без вас у меня почти нет шансов остаться в живых. Вы и так изрядно +помогли мне, рассказав о драконах такое, чего я не мог и подозревать. +Примите и вы добрый совет: не надо хранить эти трофеи дома, их магия +слишком ужасна. + - Простите меня, мудрейший, - медленно произнёс Онеро, - но я +по-прежнему не верю ни в чёрную, ни в светлую магию. А что касается +ужасов, то вы представить себе не можете, с чем приходилось +сталкиваться мне. А если бы представили, то не стали говорить, будто я +могу чего-то испугаться. Когда я выхожу против дракона, я не гадаю, +молод он или стар, я думаю, как его уничтожить. Ладно, так и быть, я +покажу вам кое-что ещё. То, чего не видел никто из моих гостей. Может +быть, тогда вы хотя бы приблизительно поймёте, что такое настоящая +жуть. Правда, для этого придётся спуститься в подвал, в доме я это не +решаюсь хранить. + - Оно живое? - встревожено спросил маг. + - Я похож на самоубийцу? - вопросом на вопрос ответил Онеро. - Я +ещё ничего не приносил в город, прежде чем не убеждался, что оно как +следует выпотрошено, просушено и просмолено еловым дымом. + - Тогда, идём! - решительно сказал Манган. + Они прошли через большой зал и прихожую. Онеро под пристальным +взглядом стеклянных глаз отворил тяжёлую дверь, засветил фонарь, +стоящий в стенной нише. Поднял фонарь над головой, осветив крутые +ступени, идущие вниз. + - Осторожней. Здесь сухо, но ступеньки старые, половина выщебилась +от времени. Дом выстроен на фундаменте старой башни, прежде здесь было +предмостное укрепление, и в подвале хранились ядра для баллист. Потом +в башне расположилась тюрьма, а в подвале - пыточная камера. Башню +снесли лет сто назад и сейчас уже никто не помнит, что подвал на самом +деле сохранился. А ведь одно воспоминание о том, что здесь творилось, +страшнее всех драконов вместе взятых. Погодите, сейчас я открою вторую +дверь. + Манган остановился перед запертым полукруглым проходом. Дверь была +старинная, крепостная, покрытая железными заклёпками, каждая с кулак +величиной. Вид её навевал воспоминания о костяной чешуе дракона. +Онеро, вытащив связку причудливых ключей, склонился над замком. + - Что там, за дверью? - тревожно спосил волшебник. - Я чувствую +непредставимую силу. Пронзительная магия драконов почти заглушает её +звучание, но отсюда я вижу, что она куда неудержимей и злее, нежели +сила излучаемая драконами. Онеро, вы играете в опасные игры. Человек +неподготовленный не должен иметь дела с такими вещами. + - А вы считаете себя подготовленным? - сердито проворчал Онеро, со +скрипом проворачивая в заржавелой скважине ключ. - Почему же вы не +обнаружили эту непредставимую сиду сразу, едва войдя в город? + - Вопль драконов заглушил этот звук. Эта магия сродни волшебству +дракона, но она куда изощрённей и потому не так заметна. + - Теперь вам осталось сказать, что это магия самого владыки тёмных +сил. Что же, я не против. Ведь это значит, что я выпотрошил и закоптил +средоточие мирового зла. Готово, можете заходить. Только не надо +ничего трогать. + Некоторое время Манган недоумённо разглядывал подвал, +расположенный прямо под залом с драконьими головами. В свете масляного +фонаря трудно было рассмотреть хоть что-то, но подвал на первый взгляд +казался совершенно пустым. Однако, искушённый взгляд мага остановился +на противоположной стене. С тихим воклицанием Манган шагнул вперёд, +ступив в круг, где пересекались мёртвые взгляды драконов, висящих на +втором этаже. Дикий крик наполнил подвал, словно запятнанные селитрой +стены оживили мрачную память былых столетий. Фигура мага вспыхнула +лиловым светом, сгустки багрового пламени метнулись к потолку. Манган +ещё пытался уклониться или отвести удар, а может, он просто испуганно +вскинул руки, но в следующее мгновение жидкий огонь сгустился, +просветлел и бесследно опал. Подвал вновь был пуст. + Онеро стоял в дверях и ждал, подняв фонарь. Некоторое время ничего +не происходило, потом из пустого места, где пропал волшебник, шагнула +неясная фигура: + - Я доволен тобой, Онеро. Это действительно тот тип, что бродил в +предгорьях Шигана. Если бы он сумел проползти мимо застав, то стал бы +по настоящему опасен. + - Но он испугался драконов и пришёл ко мне, угодив в мышеловку, - +согласился драконоборец. - И конечно, он, как и те, что были до него, +никого не предупредил о своих планах. + - Именно так он и поступил. Что ты хочешь за службу? + - Я счастлив служить тебе, повелитель. + - И всё-таки, что бы ты хотел для себя? + Мгновение Онеро колебался, потом произнёс: + - Все колдуны, явившиеся ко мне за помощью и угадавшие в ловушку, +говорили о коварных планах повелителя тьмы. Я хочу знать, правда ли, +что у тьмы есть цель? + - Ты стал философом, Онеро. Я слышал твой разговор с магом. Для +чего ты рассказывал ему правду? + - Потому что я сам хочу знать её. + - Правду нельзя узнать от другого, кем бы этот другой ни был. +Ответа не будет. Оставь свои размышления и собирайся в Нестеле, иначе +тамошний дракон околеет, прежде чем ты успеешь получить за него +деньги. diff --git a/statgen/test.c b/statgen/test.c index 936b491..46d4951 100644 --- a/statgen/test.c +++ b/statgen/test.c @@ -1,5 +1,5 @@ #include <stdio.h> -#include "charset_auto_russian.h" +#include "librcd.tmp.c" main(int argc, char *argv[]) { FILE *f; @@ -37,11 +37,7 @@ main(int argc, char *argv[]) { } if (strlen(phrase)<5) continue; - a[autocharset_russian_uc(phrase,strlen(phrase))]++; -// a[autocharset_russian(phrase,strlen(phrase))]++; - -// a[autocharset_russian(word+st,len+1-st)]++; -// puts(word); + a[rcdGetRussianCharset(phrase,0)]++; } printf("Win: %lu, Koi: %lu, Alt: %lu, UTF: %lu\n",a[0],a[1],a[3],a[2]); @@ -70,9 +66,7 @@ main(int argc, char *argv[]) { } if (strlen(phrase)<5) continue; - i=autocharset_russian_uc(phrase,strlen(phrase)); -// i=autocharset_russian(phrase,strlen(phrase)); -// i=autocharset_russian(word+st,len+1-st); + i=rcdGetRussianCharset(phrase,0); if (i!=max) { if (i==0) printf("Win: %s\n",phrase); else if (i==1) printf("Koi: %s\n",phrase); diff --git a/statgen/traslations b/statgen/traslations deleted file mode 100755 index 630735a..0000000 --- a/statgen/traslations +++ /dev/null @@ -1,12 +0,0 @@ -#! /bin/bash - -if [ -z "$1" ]; then - echo "Usage: doit <file name>" - exit -fi - -# In some CP866 texts used "Yo" and "N" simbols from CP1251 encoding. This fixes it. -dos2unix -U $1 -cat $1 | sed -e "s/╕/ё/g" | sed -e "s/╣/N/g;s/░/°/g" | iconv -f CP866 -t KOI8-R > $1.koi -cat $1 | sed -e "s/╕/ё/g" | sed -e "s/╣/№/g;s/░/°/g" | iconv -f CP866 -t CP1251 > $1.win -cat $1 | sed -e "s/╕/ё/g" | sed -e "s/╣/№/g;s/░/°/g" | iconv -f CP866 -t UTF-8 > $1.utf |