. . ' . ' + ` . * ' * . ` . ' * . + ' : `. . + ' . ' . ` . . ' ' . ' . '. _____ _____ ______ _____ _____ ' . '. . ( ' . & /____//_____//_____//____/ /____/ . * ' . ` ' . ` _____ ____ __ + __ '. __ ' + . ' ' ' : ' _ /'\___\*/ / '. / / * / / ' . ' . '. + . / // /_____)// /___ _/ /_ _/ /_ . ( ' * . /_//_//_____//_____//_____//_____/ '. . ' . * ' _____ ______ ________ ' . `. + '. . +. ^( :' ./____//___ //_______/ .'. ' . ' . . ' ' + _____ ____/ /' __ . '* `. : * '. Verrion 4.8 / _ // . _/ '/ / Translation by ` . ' boba@wwa.com / // // /\ \ . '/ / 'Spy/Eternity Industry December 4, 1994 ./_//_//_/ \_\ /_/ January 22, 1999. ' ' ______ '_____ ____'______ __ __ ______ '_____ _____ ____ . ' /___ / /____//____// ___ // / / //___ / /____//____//____/ * ____/ / ____ ___ './ /*/ // /./ /____/ / __ '. ____ ___ + ' / . _/ / __/ .\__\./ /./ // / / // . _/ / /. / __/ \__\ `. / /\ \ / /__ ____)// /_/ // /_/ // /\ \ / /__ / /__ ____)/ . /_/ \_\/____//____//_____//_____//_/ .\_\/____//____//____/ . . * ' . ' . '+ . ` ' * . ' . ' (+ . * ` . ' . + ' :' `. . ' + ` . ` . ( . . ` * . ` . . . . <-------------[Продолжение. Начало в 16-м BUZZ'е.]-------------> ___ O | __! _____________________________________________ /|\ !__ \ _/ | \_ !___/ Как просматривать ASCII наилучшим образом? _/ \_ Некоторые советы по просмотру ASCII графики: √ Используйте т.н. непропорциональный фонт. Это шрифт, под все символы которого отводится одинаковое (по горизонтали) коли- чество пикселей, не принимая во внимание действительную шири- ну каждого iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii символа. В nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn качестве при- MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM мера приведе- ны три строки букв: i, n, и M. Если в данный момент Вы используете непро- порциональный фонт (а на Speccy это, скорее всего, так - прим.пер.), длина этих строк будет одинаковой. √ Узкий, скажем, девятипиксельный (очевидно, для тачек с res'ом побольше, чем у Speccy :-) - прим. пер.), фонт как бы увеличивает разрешение. Особенно хорошо узкий шрифт подходит для просмотра gray scale-картинок. √ Также могу порекомендовать смотреть ASCII с некоторого рас- стояния, скажем, метр или больше. √ Настройте атрибуты экрана таким образом, чтобы символы были светлыми, а фон - темным. В большинстве ASCII-картинок подразумеваются именно светлые символы на темном фоне. Сдела- но это для достижения наилучшего эффекта - такие атрибуты позволяют легче манипулировать яркостью символов. Кроме того, экран монитора меньше выгорает. Несколько отдельных случаев... √ Как уже говорилось, большинство gray scale-картинок должны просматриваться светлыми символами на темном фоне. Сущест- вуют, однако, картинки, для просмотра которых символы должны быть темными, а фон - светлым. Как Вы уже, наверное, догада- лись, подобные картинки, в основном, предназначены для рас- печатки на принтере. √ В то время, как большинство ASCII-картинок предназначены для просмотра на мониторах, экран которых имеет 80 символов в ширину (опять-таки, не для Spectrum'а - прим. пер.), некото- рые картинки шире (от 81 до 132 символов). Они также предназ- начены для печати. Для просмотра их на мониторе используйте узкий, например, четырехпиксельный, фонт. Не забудьте также, что фон должен быть светлым, а символы - темными. √ Помимо ASCII, непосредственно предназначенной для просмотра или распечатки, также можно встретить графику, записанную в BMP, EPS, GIF или другом формате. Подобные файлы просматрива- ются или печатаются с использованием соответствующего ПО. Есть несколько моментов, которые неоходимо помнить, когда создаешь, просматриваешь или просто говоришь об ASCII, и о кото- рых, те не менее, почти всегда забывают. √ Непропорциональные шрифты тоже могут различаться, а значит, одна и та же картинка, при использовании разных фонтов, может выглядеть неодинаково. Некоторые ASCII-художники указывают, с использованием какого фонта создавалась картинка. √ Фонт может состоять как из прописных (больших), так и из строчных (маленьких) букв, которые, в свою очередь, могут быть прямыми или искривленными (курсив, например), широкими или узкими. Все это также сказывается на "внешнем виде" ASCII-графики. √ Можно варьировать "вес" символов. Подобным "весовым" различи- ям особенно подвержены следующие символы: # - хэш (hatch/hash mark) $ - знак доллара (dollar sign) @ - знак "at" (at sign) √ "Внешний вид", "образ" символов также может различаться. Ниже приведены 3 _наименее_ изменяющихся символа: - - дэш (dash) / - слэш (slash) \ - обратный слэш (backslash) Как сказал Ричард Керк (Richard Kirk), вот символы, с которы- ми надо быть поосторожнее (достаточно вольный перевод фразы "Shapes to be wary of are" - прим. пер.): ~ - иногда расположен сверху, иногда посередине ^ - аналогично * - аналогично & - иногда "закрыт", иногда "открыт" | - иногда изображается сплошной чертой,иногда прерывистой ' - иногда "скошен" набок, иногда прямой [] - иногда расположены по центру, иногда ближе к краю <> - иногда касаются верха или низа знакоместа, иногда рас- положены посередине 0 - иногда перечеркнут, иногда нет l - иногда изображается с закруглением внизу, иногда без него y - иногда с прямым хвостом, иногда с загнутым √ Как сказано в файле "asciitech" (by Jorn): "К сожалению, этот несколько ограниченный стандарт не учитывает некоторые детали: знак фунта в Британии, буквы с 'ударениями' во фран- цузском и скандинавских алфавитах и др., что приводит к некоторым изменениям стандарта, делая следующие символы, как минимум, неуниверсальными": ^ - знак степени (caret) ` - обратный апостроф (backquote) # - хэш (hatch/hash mark) | - pipe {} - фигурные скобки (curly braces) ~ - волнистая линия (tilde) \ - обратный слэш (backslash) [] - квадратные скобки (square brackets) $ - знак доллара (dollar sign) @ - знак "at" (ат sign) √ Различное оборудование по-разному отображает символы. Если Вы просматриваете картинку на терминале Unix-сайта, а затем приносите ее домой и смотрите на Маке (эх и примерчики :-) прим. пер.), она будет выглядеть немного по-другому. На Макинтоше ее вертикальный размер будет несколько меньше. Другими словами, изменится коэффициент пропорциональности (aspect ratio). Шкала коэффициентов пропорциональности: 0.0 0.5 1.0 1.5 2.0 2.5 3.0 3.5 4.0 4.5 5.0 -+----+----+----+----+----+----+----+----+----+----+----> | | | Для измерения коэффициента пропорциональ- | | ности экрана Вашего монитора проделайте | | следующее: | | | | Измерьте с помощью линейки вертикальную | | линию слева. | | | | Отмерьте такое же расстояние на горизон- | | тальной шкале. Полученное значение и | | будет искомым коэффициентом. | -+--------------------------------------------+- / __ , O/ / /_ _____________________________________________ \/| | _ \ | \___/ Как научиться ASCII? _/ \_ К сожалению, информации на эту тему крайне мало. Хорошим путем является наблюдение за тем, как ASCII-художник создает картинку. Обратите внимание, какие символы он использует и для чего. Второй способ - изменение уже существующих произведений. Выбе- рите часть картинки, которую, по Вашему мнению, можно улучшить. Сделайте ее копию и приступайте к работе. Если Вы испортите ко- пию, сделайте еще одну и попробуйте снова. После того, как у Вас будет неплохо получаться, попробуйте до- работать действительно хорошую картинку. Переконвертируйте какой-нибудь GIF файл. Если конверсия, как Вам кажется, будет выглядеть "не очень", попробуйте исправить неудавшиеся участки. Если Вы начали работать "с нуля", следующие советы могут Вам пригодиться: √ Прежде всего, определитесь с тем, что Вам нужно. Набросайте будущий рисунок, примерно прикидывая, где что будет распола- гаться. Затем наметьте размеры и пропорции. Это необходимо сделать сейчас, а не после того, как будут прорисованы все мелочи. √ Постепенно добавляйте детали. Обращайте особое внимание на наиболее важные части Вашего шедевра. Вследствие того, что ASCII - это искусство низкого разрешения, картинка будет довольно большого размера, если Вы хотите получить хорошо сглаженный и детализированный рисунок. √ Однако будьте поосторожнее с детализацией - чрезмерное увле- чение ею может испортить картинку. √ Но самая лучшая помощь - это хорошее знание того, как изо- бражать различные объекты. К примеру, можно "изогнуть" гори- зонтальную линию, используя только три символа: _ - " _____-------"""""""--------_____-------"""""""-------_____ Другой пример - волнистая линия (by MJ): .-. .-. .-. .-. .-. .-. .-. `._.' `._.' `._.' `._.' `._.' `._.' `._.' ` ДНК-подобная линия (by Richard Kirk): .-.-. .-.-. .-.-. .-.-. .-.-. .-.-. .-.-. / / \ \ / / \ \ / / \ \ / / \ \ / / \ \ / / \ \ / / \ \ `-' `-`-' `-`-' `-`-' `-`-' `-`-' `-`-' `-` √ Довольно просто изображать наклонные вертикальные линии: / ,' ,-' , / ,' ,-' ,_-'" / ,' ,-' ,_" / ,' ,-' ,_-'" / ,' ,-' ,_-'" / ,' ,-' ,_-'" Пример Феликса Ли (Felix Lee): / _/ ./ ,/ /' .' ,' / _/ ./ ,/ /' .' ,' / _/ ./ ,/ /' .' ,' √ Далее выполняется сглаживание (smoothing или anti-aliаsing). На этом этапе особое внимание уделяется именно "внешнему виду" символов (интересно, на каком этапе этому _не_ уделя- ется внимание ;-) - прим. пер.) Используя подобную технику, можно сглаживать фонт или другие объекты: Допустим, Вы нарисовали объект, XXXX используя только символы "X". _________ XXXXXXXX Объект, как видно, довольно угловат. XXXXXXXXXX Давайте несколько изменим его; перво- XXXXXXXX наперво, заполним его внутреннюю часть XXXX восьмерками. "8" - это популярный символ для общей заливки. Некоторые, однако, предпочитают символы "М" или "Н". Теперь приступим непосредственно к сглаживанию Скобки подходят для _ d88b ___ Символы "b", "d" и "о" закругления сторон \ d888888b подходят для скругления (88888888) переходов от строки к Здесь можно было бы Y888888Y строке. использовать "P", но / Y88Y этот символ не имеет / зеркального отражения, поэтому используем "Y". Кроме этого, можно также использовать "*". √ Для "эмуляции" цветовой палитры, тонирования и контрастности используйте целые группы символов. В этом случае на первый план выходит не одиночный символ, а то, как он выглядит в совокупности с другими. К примеру, обратите внимание, как на изображенном ниже цветке постепенно изменяется "плотность" символов для формирования теневых переходов. Хотелось бы увидеть это в цвете. . .@. . @m@,. .@ .@m%nm@,. .@m@ .@nvv%vnmm@,. .@mn%n@ .@mnvvv%vvnnmm@,. .@mmnv%vn@, @mmnnvvv%vvvvvnnmm@,. .@mmnnvvv%vvnm@ @mmnnvvvvv%vvvvvvnnmm@, ;;;@mmnnvvvvv%vvvnm@, `@mmnnvvvvvv%vvvvvnnmmm;;@mmnnvvvvvv%vvvvnmm@ `@mmmnnvvvvvv%vvvnnmmm;%mmnnvvvvvv%vvvvnnmm@ `@m%v%v%v%v%v;%;%;%;%;%;%;%%%vv%vvvvnnnmm@ .,mm@@@@@mm%;;@@m@m@@m@@m@mm;;%%vvvnnnmm@;@,. .,@mmmmmmvv%%;;@@vmvvvvvvvvvmvm@@;;%%vvnnm@;%mmm@, .,@mnnvv%v%v%v%%;;@mmvvvv%%;*;*;%%vvvvmmm@;;%m;%%v%v%v%vmm@,. @mnnvv%v%v%v%v%v%v%;;@@vvvv%%;*;*;*;%%vvvvm@@;;m%%%v%v%v%v%v%vnn `@mnnvv%v%v%v%%;;@mvvvvv%%;;*;;%%vvvmmmm@;;%m;%%v%v%v%vmm@' `@mmnnvvvvv%%;;@@mvvvv%%%%%%%vvvvmm@@;;%%mm@;%%nnnnm@' `@mmmmmmvv%%;;@@mvvvvvvvvvvmmm@@;;%%mmnmm@;%mmm@' `mm@@@@@mm%;;@m@@m@m@m@@m@@;;%%vvvvvnmm@;@' ,@m%v%v%v%v%v;%;%;%;%;%;%;%;%vv%vvvvvnnmm@ .@mmnnvvvvvvv%vvvvnnmm%mmnnvvvvvvv%vvvvnnmm@ .@mmnnvvvvvv%vvvvvvnnmm'`@mmnnvvvvvv%vvvnnmm@ @mmnnvvvvv%vvvvvvnnmm@':%::`@mmnnvvvv%vvvnm@' @mmnnvvv%vvvvvnnmm@'`:::%%:::'`@mmnnvv%vvmm@ `@mnvvv%vvnnmm@' `:;%%;:' `@mvv%vm@' `@mnv%vnnm@' `;%;' `@n%n@ `@m%mm@' ;%;. `@m@ @m@' `;%; `@ `@' ;%;. ' ` `;%; Top portion of a picture by Susie Oviatt. √ Вот парочка текстур из файла "asciitech" (by Jorn): *::*::*::*::*::*::*::* ::*:::::***::::::::::: *::*::*::*::*::*::*::* :::::::**::::::*::::*: *::*::*::*::*::*::*::* :*::*:*::*::::*::::*:: *::*::*::*::*::*::*::* :::*::::::*::*:*:::::: *::*::*::*::*::*::*::* ::*:*::::*:*:::::::::: *::*::*::*::*::*::*::* ::::::*:*::::*:::::::: *::*::*::*::*::*::*::* *::::::::**:::::::::** *::*::*::*::*::*::*::* ::::*::::::*:::::*:::: ровная текстура случайная текстура Вот несколько советов, с помощью которых облегчается процесс создания ASCII-картинок: √ Самый быстрый способ создания картинки - это нарисовать ее на прозрачном пластике и прикрепить к экрану монитора. Кар- тинка, нарисованная на пластике, будет помогать Вам "разме- щать" символы. √ Также Вашу работу облегчит создание файла, содержащего стро- ки из пробелов. Создайте копию и приступайте к работе. Вы почувствуете, что работать стало легче, т.к. Вы можете пере- мещаться куда угодно и ставить символы где угодно, при этом не нужно постоянно нажимать клавишу "пробел". После заверше- ния работы не забудьте убрать лишние пробелы. √ Используйте мышку. Она позволит Вам перемещаться от символа к символу гораздо быстрее. Также облегчается процесс удале- ния группы символов и большого количества строк. ___________________________ √ Чтобы уменьшить различие в | | изображении различными фон- | ) = + / ! ( | тами, изпользуйте символы по- | - _ : ; , . | казанные справа. !___________________________! √ Пользуйтесь "блоковым редактированием", конечно если можете. Некоторое ПО позволяет вырезать, копировать и вставлять ква- дратные или прямоугольные куски текста. Также, рекомендую посмотреть файлы, похожие на "asciitech" Jorn'а. Их можно найти по следующим адресам: Jorn's FTP site -> Host: ftp.mcs.com Path: mcsnet.users/jorn/ascii-art File: asciitech URL: ftp://ftp.mcs.com/mcsnet.users/jorn/ascii-art/asciitech Scarecrow's FTP Site -> Host: ftp.wwa.com Address: 198.49.174.1 Path: pub/Scarecrow/Info URL: ftp://ftp.wwa.com/pub/Scarecrow/Info Посылайте различную ASCII-графику по адресу: boba@wwa.com \ ____ \O , !__ | _________________________________________________ |\/ / / | /_/ Существуют ли какие-либо вспомогательные програм- _/ \_ мы для ASCII? Не много. "The Emacs editor" предлагает некоторую помощь, ес- ли Вы конечно знаете, как им пользоваться. Пару битов Emacs кода можно найти на FTP-сайте Scarecrow. EmacsMouseCode дает возмож- ность рисовать с помощью мышки, а EmacsFigletCode позволяет ис- пользовать Figlet внутри Emacs. Q-Edit и "vedit" - это редакторы, позволяющие выполнять неко- торые блочные операции, а TheDraw может делать некоторые ANSI хитрости, но ограничивается размером памяти. Для Unix'а и DOS'а существуют программы для создания ASCII- картинок (похожие на "modasc" Ric'а Hotchkiss'а). BBSdraw дос- тупна для Амиги. Также доступен CygnusEd, который позволяет ре- дактировать столбцы. И еще существует TPU editor для VAX. И так- же, "mdraw.el" для "GNU Emacs 19 under X", который позволяет рисовать с помощью мышки. <-------------[Продолжение в следующем номере...]-------------->