Свободный офис. Выпуск 5

Комплект свободных офисных программ

Для Windows и Linux

Алекс Ковалёв Юрий Меркулов Александр Прокудин Даниил Смирнов Bulia Byak Юрий Безнос (перевод) Daniеl Wang Александр Удовидченко (перевод) Кирилл Маслинский Алексей Смирнов

Москва, ALT Linux, 2007 Документы, составляющие эту книгу, распространяются на условиях ли- цензии на свободную документацию GNU (если не оговаривается иное). Оригинальный текст лицензии доступен по адресу http://www.gnu.org/ fdl. Текст, помещаемый на первой странице обложки: «Свободный офис. Выпуск 5. Москва, ALT Linux, 2007». Исходные документы, из которых составлено данное издание, доступны в сети Интернет по адресу http://heap.altlinux.ru. Все прочие права со- храняются за авторами. В описании каждого документа на heap.altlinux. ru указаны конкретные условия его распространения и модификации. Каж- дый имеет право воспроизводить, распространять и/или вносить изменения в эти документы в соответствии с этими условиями. ALT Linux — торговая марка компании ALT Linux. Linux — торговая мар- ка Линуса Торвальдса. Прочие встречающиеся названия могут являться тор- говыми марками соответствующих владельцев. Авторы программ указаны в файлах, входящих в состав дистрибутивов программ.

Редакторы: Артем Золочевский, Владимир Жуков Оглавление

Свободный офис. Выпуск 5 6

I Интернет: Пакет 11 Глава 1 Браузер Mozilla 12 Преимущества Firefox ...... 12 Первое знакомство с Firefox ...... 14 О профилях Mozilla Firefox ...... 17 Клонирование или перенос профиля на другой компьютер ...... 24 Как установить расширения и темы ...... 26 Тонкая настройка...... 30 Полезные советы ...... 46

Глава 2 Почтовый клиент 49 Чем Thunderbird лучше других почтовых клиентов ...... 49 Первое знакомство с Thunderbird ...... 51 Руководство мигрирующего пользователя ...... 54 Тонкая настройка...... 61 Полезные советы ...... 65 4 Оглавление

II Графика 71 Глава 3 Настольная издательская система Scribus 72 Scribus ...... 72 Установка ...... 76 Настройка после установки ...... 78 Памятка ...... 79 Самые частые ошибки и их исправление ...... 80 Справочная информация ...... 80

Глава 4 Редактор векторной графики Inkscape 82 Inkscape ...... 82 Возможности...... 83 Установка Inkscape...... 85 Справочная информация ...... 87 Об уроках ...... 87

Глава 5 Учебник по Inkscape 88 Основы ...... 88 Советы и хитрости ...... 97 Векторизация ...... 105 Профи...... 108

Глава 6 Программное обеспечение: право и свобода 119 Частное и общественное ...... 119 Оглавление 5

Степени открытости ...... 121 Степени свободы ...... 123 Свободный офис. Выпуск 5

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

1За исключением двух компонентов — Adobe Acrobat Reader и Macromedia Flash, что ого- варивается отдельно в авторском договоре. Свободный офис. Выпуск 5 7

идею — он включает дистрибутивы приложений сразу для двух платформ — Linux и Windows. В выпуске получилось три больших раздела: • работа с документами и данными • интернет и общение • работа с графикой и подготовка публикаций

Работа с документами и данными

Полный спектр возможностей для работы с документами предоставляет свободный офисный пакет OpenOffice.org. Компоненты OpenOffice.org поз- воляют создавать и редактировать: • текстовые документы (Writer); • электронные таблицы (Calc); • презентации (Impress); • диаграммы, иллюстрации, любая векторная графика (Draw); • математические формулы любой сложности; • доступ к данным непосредственно в документах (особенно эффектив- ный при установке СУБД MySQL1, также вошедшей в Свободный офис 4.0). Разработчики OpenOffice.org, внедряя передовые технологии обработки документов, старались максимально облегчить работу обычным пользова- телям. Поэтому при первом знакомстве вы попадаете в привычную среду, знакомую по приложениям MS (Microsoft), и можете сразу начать работу. Переучиваться не нужно; навыков работы с привычными офисными про- граммами вполне достаточно — основные приёмы работы чрезвычайно похо- жи. Начав использовать OpenOffice.org, вы можете по-прежнему работать со всеми файлами, которые подготовили ранее в среде MS Office, и спокойно обмениваться документами c пользователями других программ. OpenOffice.org читает и сохраняет документы в большинстве популярных

1MySQL (произносится «Май Эс Кью Эл») — свободная, мультиплатформенная система управления базами данных (СУБД), отличающаяся большой скоростью, устойчивостью и лёг- костью в использовании. 8 Свободный офис. Выпуск 5

форматов. К ним относятся файлы Word, Excel, PowerPoint, RTF, html, xhtml, DocBook, простые текстовые файлы в различных кодировках. Кроме того OpenOffice.org позволяет экспортировать сложные документы с иллю- страциями и графиками в формате pdf. Система презентаций Impress позво- ляет экспортировать презентации в формат Macromedia Flash (.swf). OpenOffice.org содержит все необходимые компоненты для создания сложных систем. Он поддерживает шаблоны, умеет работать с базами дан- ных, содержит собственный язык программирования OOBasic, во многом похожий на MS Visual Basic for Application, и исполняет программы, напи- санные на языке программирования Java. OpenOffice.org работает на нескольких платформах: Windows, Linux, FreeBSD, Solaris, Mac OS X; и многих других. При этом внешний вид приложений и формат используемых файлов остаются неизменными, что позволяет совместно работать над документами пользователям самых раз- ных операционных систем. Обратите внимание, что в настоящий сборник вошёл пакет OpenOffice.org совсем недавно выпущенной версии 2.3.0. Ветка 2.x отли- чается от предшествующей широко распространённой ветки 1.1 не только первой цифрой: вместе с нею пришли существенные нововведения. Самое значительное изменение — переход OpenOffice.org на новый формат доку- ментов: Open Document. Стандарт Open Document предложен и широко признан как стандартный международный формат для обмена документами, в том числе официальными. Также в версии 2.x значительно переработан интерфейс, справка пол- ностью переведена на русский язык. Справка — это полный и подробный источник информации обо всех функциях OpenOffice.org, в ней есть сред- ства поиска, много контекстных ссылок, вводные статьи. Не ленитесь за- глядывать туда: даже если вам привычны офисные приложения, в справке вы можете обнаружить много полезного. У OpenOffice.org есть некоторые особенности, кроме того, он включает много оригинальных возможностей, которые зачастую просто отсутствуют в других офисных приложениях, а могут быть очень и очень полезны в повседневной работе. Также в комплект выпуска Свободный офис 4.0 включена СУБД MySQL, которая в сочетании с OpenOffice.org позволяет создать полноценную среду для работы с базами данных.

Интернет и общение

Интернет-составляющая в свободном офисе представлена пакетом Mozillа во всём его разнообразии. Тут есть и наиболее известные брау- зер Firefox и почтовый клиент Thunderbird, есть и менее нашумевшие, но Свободный офис. Выпуск 5 9

не менее полезные компоненты Mozilla. Основные преимущества Firefox и Thunderbird широко известны — это безопасность, возможность блокировать слишком назойливое вмешательство в вашу работу в Сети (всплывающие окна, спам), необычайная гибкость и расширяемость. Несколько слов о других компонентах. SeaMonkey — это новое имя из- вестного интегрированного пакета интернет-приложений Mozilla, от которо- го «отпочковались» Firefox и Thunderbird, но который не прекратил свое- го развития. Интегрированный набор требует меньше системных ресурсов, чем все его компоненты в своих независимых модификациях. У SeaMonkey более богатые настройки, чем у Firefox и Thunderbird вместе взятых, для удобства работы с ним требуется намного меньше расширений. Это положи- тельным образом сказывается на стабильности. SeaMonkey проще и быстрее настраивается, чем отдельные компоненты, так как многие настройки влия- ют сразу на весь набор инструментов. Над кодом трудились многие годы, в нем очень мало ошибок. KompoZer — визуальный HTML-редактор, наследник . На сегодняшний день у KompoZer уже достаточно много возможностей, отсутствующих в оригинальном Mozilla Composer. Это Менеджер сайтов, позволяющий редактировать страницы на удалённом сервере, встроенный Редактор CSS c предварительным просмотром стилей, цветная подсветка синтаксиса в режиме редактирования кода, проверка орфографии и многое другое. Разработчики обещают поднять его функциональность до уровня FrontPage и Dreamweaver. Помимо пакета приложений Mozilla, в выпуск включены широко извест- ные свободные средства моментального обмена сообщениями Psi, Pidgin и Sim, в список поддерживаемых протоколов входит ICQ, Jabber, IRC и др.

Работа с графикой и подготовка публикаций

В Свободном офисе 4.0 представлена подборка самых развитых свобод- ных приложений для работы с графикой: сфера их возможностей охватывает растровую графику (GIMP), векторную графику (Inkscape), подготовку пе- чатных материалов (Scribus). Программы, представленные в этом разделе выпуска, особенно взятые вместе, возможно, смогут пошатнуть устойчивую стереотипную ассоциацию компьютерной графики с большими коммерче- скими приложениями.

GIMP GIMP расшифровывается как GNU Image Manipulation Program, про- грамма для обработки изображений GNU. GIMP разрабатывается уже бо- 10 Свободный офис. Выпуск 5

лее 10 лет и сегодня по праву считается «главным» свободным редактором растровой графики, и является ничуть не менее мощным инструментом для работы с графикой, чем PhotoShop. GIMP позволяет решать самый широкий круг задач, связанных с графикой:

• Полный набор инструментов для обработки растровой графики • Возможность работы с векторной графикой • Создание анимации • Работа с принтером и сканером • Захват изображений • Множество подключаемых модулей (plug-in) • Быстрое создание различных логотипов для web-дизайна • и многое другое. . .

Inkscape Inkscape — популярный свободный редактор векторной графики. Inkscape удобен для создания как художественных, так и технических иллюстраций, что неоднократно было доказано на практике. Это стало возможным во мно- гом благодаря открытому формату SVG, развиваемому консорциумом W3C. Формат SVG позволяет создавать иллюстрации различного типа, в том чис- ле анимированные.

Scribus Scribus — это приложение для визуальной вёрстки документов, создан- ное для пользователей Linux/Unix/Mac OS X и Windows, по концепции аналогичное Adobe InDesign и QuarkXPress.

Удачной работы в свободном офисе! ALT Linux Часть I

Интернет: Пакет Mozilla Глава 1

Браузер Mozilla Firefox

Юрий Меркулов

Преимущества Firefox Блокирование всплывающих окон Вы можете запретить открытие всплывающих окон, которые очень часто оказываются рекламой и только раздражают при работе.

Просмотр во вкладках Web-cтраницы открываются во вкладках в пределах одного окна брау- зера, что экономит как ваше время, так и ресурсы компьютера. Страницы загружаются в фоновом режиме, вы можете читать одну страницу, а тем временем уже заканчивается загрузка следующей.

Безопасность Вы защищены от различных spyware, не используете опасные с точки зрения безопасности элементы ActiveX. Всесторонний набор инструментов для безопасности позволит чувствовать себя уверенно при работе в сети.

Удобный поиск Поиск с помощью Google (а также во многих других поисковых маши- нах) встроен прямо в панель инструментов, и есть множество других ин- струментов поиска, например, такие как поиск перевода слова, введённого в адресной строке (попробуйте набрать «dict <слово>» в адресной строке). Преимущества Firefox 13

Живые Закладки Интеграция RSS позволяет вам читать заголовки последних новостей и читать обновления к вашим любимым страницам, которые поддерживают эту возможность. Узнайте больше. . . 1

Быстрая загрузка файлов Файлы, которые вы загружаете, автоматически сохраняются на ваш Ра- бочий стол, их легко найти.

Удобный в использовании Firefox прост и интуитивно понятен, среди множества функций Firefox найдётся всё, что вам может потребоваться: Закладки, История, работа в полноэкранном режиме, масштабируемый текст, чтобы страницы с мелким текстом было удобней читать и т. д.

От S до XXXL на ваш выбор Firefox — самый настраиваемый броузер на планете. Настройте панели инструментов, добавляйте дополнительные кнопки, поставьте новые расши- рения, которые добавляют уникальные функции, ставьте новые темы, чтобы ваш Firefox имел неповторимое оформление, используйте гибкую систему поиска, которая позволяет вам искать на любом количестве поисковых сер- веров. Firefox может быть как маленьким, так и очень большим — по жела- нию.

Быстрая установка Необходимо скачать всего 6,2 Мб (Windows), а это несколько минут для модема и несколько секунд для широкополосного подключения. Инсталля- тор быстро установится, и импортирует все ваши установки — Избранное, пароли и другие данные — из IE (Internet Explorer) и других браузеров. Вы можете начать web-серфинг сразу же.

Лучший друг разработчика Firefox идёт со стандартным набором инструментов разработчика, вклю- чая мощный JavaScript и консоль ошибок/предупреждений CSS, а также в дополнение DOM-Инспектор, который даёт детальную информацию о ваших 1http://www.mozilla.com/firefox/livebookmarks 14 Глава 1. Браузер Mozilla Firefox

страницах. Также существует большое количество расширений, которые бу- дут полезны web-разработчикам.

Первое знакомство с Firefox У меня ещё нет Firefox, откуда его можно скачать? Английская версия — http://www.mozilla.org/products/firefox/, русская версия — http://www.mozilla.ru/products/firefox/. Если вы только начинаете свой путь в мире Firefox, то лучше загрузить сразу русскую версию, так как потом не нужно будет ставить русификации, и тем самым вы сэкономите немного времени и нервов.

Какие у Firefox системные требования? Если не учитывать многозадачный режим, то для работы Firefox в Windows XP и Linux с не очень тяжёлым десктопом достаточно 128 МБ, в Windows 9x же Firefox комфортно чувствует себя на 64 МБ ОЗУ. При одной открытой вкладке Firefox занимает в памяти около 18–20 МБ. При 15–20 открытых вкладках объем занимаемой памяти увеличивается до 30– 40 МБ. Но если вы хотите кроме Firefox ещё иметь открытым какой-нибудь офисный пакет, слушать музыку, иметь кучу запущенных программ в трее и ещё что-нибудь, то мысленно удваивайте системные требования. Кроме того, если вы хотите использовать Firefox в связке с Thunderbird, то требо- вания к памяти увеличиваются на 20–30 МБ. Но желательно все же иметь 64 МБ в запасе. Firefox работает на любом 32 разрядном процессоре, вполне комфортно чувствует себя уже на процессорах уровня Pentium II или K6-2. Неофициальные сборки могут быть оптимизированы под любой процессор и тогда минимальные требования к процессору ограничиваются объектом оптимизации.

Расскажите об установке Firefox Как и все программы — запустить exe-файл. При установке будет задан вопрос о том, ставить ли всё по умолчанию. Если вы ответите «да», то Firefox ставится в папку C:\Program Files\Mozilla Firefox, но вы мо- жете выбрать и другое расположение. Никаких противопоказаний против этой папки нет, так что рекомендуется выбрать вариант по умолчанию, что- бы в будущем не задумываться о том, где лежит ваша программа. Если у вас была старая версия Firefox, то её рекомендуется сначала удалить, во избежание возможных проблем. Первое знакомство с Firefox 15

Я первый раз запускаю Firefox. . . При первом запуске Firefox у вас создаётся профиль [стр. 17]— ме- сто, где Firefox хранит все ваши настройки, закладки, cookies, пароли, жур- нал посещений, темы, кэш и т. д. Также в профиль обычно инсталлируются расширения.

А где моё Избранное, журнал, пароли. . . ? «Файл → Импорт. . . » выбираете Internet Explorer, нажмите «далее», по- том выберете то, что вы хотите импортировать и опять «далее». . .

Хочу кнопки настроить Правой клавишей мыши нажмите на панель с кнопками. Пусть стоят галочки только напротив тех пунктов, которые вам нужны (выбор неболь- шой, 2 пункта по умолчанию). Выберите пункт «Настроить. . . ». Всплывает большое окно со множеством кнопок. Снизу можете выбрать размер кно- пок, а также ставить ли под ними подписи. Ну а дальше все решают ваши требования, желания — вы можете выбирать кнопки на свой вкус.

Когда ссылки открываются в текущей вкладке, а когда в новой? Левой кнопкой мыши вы откроете ссылку в текущей вкладке, средней в новой. Двойной щелчок по свободному месту в панели вкладок откроет новую вкладку, а щелчок средней кнопкой по вкладке закроет её. Все это работает по умолчанию без каких-либо расширений.

Как ставить темы и расширения? В меню «Инструменты» есть пункт «Дополнения», при выборе которого всплывает окно с пунктами «Расширения» и «Темы». Темы имеют расши- рение .jar, расширения .xpi. По умолчанию их можно найти на https: //addons.mozilla.org/. На этом ресурсе можно загрузить и русскоязыч- ные расширения. Чтобы установить как тему, так и расширение, достаточно перетащить мышкой файл .jar или .xpi на соответствующее окно управ- ления темами или расширениями. Теперь надо перезагрузить браузер. Всё, можете выбирать новую тему или начинать настраивать/использовать новое расширение. 16 Глава 1. Браузер Mozilla Firefox

У меня очень слабый компьютер, Firefox загружается долго в первый раз, работает медленно Попытки заставить приложения загружаться вместе с Windows (Linux) не решают проблему, а загоняют её в угол. В такой ситуации лучше от- казаться от расширений или ставить только самые необходимые, вовремя очищать кэш, историю, так как их большой объем замедляет работу. А также стоит путём правки пользовательских файлов максимально очистить Firefox от второстепенных иконок, элементов. Не включайте такие элемен- ты настроек, как «плавная прокрутка», которые сильно загружают процес- сор. И, наконец, настройте работу браузера соответственно мощности ва- шего процессора и скорости канала (см. раздел «Ускорение работы Firefox» [стр. 43]).

Я что-то напортачил, и теперь ничего не работает Ничего страшного, не надо переустанавливать всю программу. Доста- точно создать новый профиль [стр. 17], где будут ваши новые настрой- ки. Зайдите в папку, где у вас установлен Firefox, и запустите его с клю- чом firefox.exe -p. Откроется окно с тремя кнопками слева «Создать профиль», «Переименовать профиль» и «Удалить профиль». Нажимайте на «Создать профиль», укажите своё имя, путь (рекомендуется оставить все по умолчанию, проще ведь) — и вот Firefox снова чист, как будто вы его только что установили.

На будущее. Как мне избежать потерь информации, настроек в случае, если я перестараюсь и испорчу профиль? Если вы — любитель экспериментов и хотите ставить много расширений, то, конечно, необходимо как-то делать резервные копии профиля. Самый простой способ — установить расширение Bookmarks Backup1. Оно авто- матически копирует ваши пользовательские файлы в заданную вами при первой настройке папку. Каждый день будет создаваться папка с именем текущего дня недели. Если отметить все галочки, то будет сохраняться все, кроме кэша. В дальнейшем для восстановления информации достаточ- но будет просто перенести содержимое папки последнего архива в папку с текущего профиля.

1http://www.pikey.me.uk/mozilla/?extension=bb О профилях Mozilla Firefox 17

Я продвинутый пользователь, какие файлы конфигурации можно править вручную? • user.js [стр. 30];

• userСhrome.css [стр. 33];

• userСontent.css [стр. 42].

Если их нет, то нужно создать. Описание доступных настроек можно прочитать в соответствующих разделах.

О профилях Mozilla Firefox

В этом разделе будет рассказано, что такое профили Mozilla Firefox и как с ним работать. Если вы не нашли здесь описания какого-либо файла, обратитесь к статье в Mozillazine Knowledge Base1 и к статье на сайте gemal.dk2

Что такое профиль Профиль — это то место, где Mozilla Firefox хранит все ваши настройки, закладки, cookies, пароли, журнал посещений, темы, кэш и т. д. Также в профиль обычно инсталлируются расширения, и в нём могут (начиная с версии 1.5) содержаться плагины (для интеграции с Java, Adobe Acrobat, QuickTime и т. д.) и поисковые машины.

Где находится профиль по умолчанию Когда вы запускаете Mozilla Firefox в первый раз, Mozilla Firefox создаёт профиль в каталоге: Windows %appdata%\Mozilla\Firefox\Profiles\xxx.Default\ Linux ~/.mozilla/firefox/ где %appdata% — переменная окружения Windows, значение которой за- висит от версии Windows; %USER% — имя вашей учётной записи. Ниже приведены типичные пути к профилю:

1http://kb.mozillazine.org/Profile_folder 2http://gemal.dk/mozilla/files.html 18 Глава 1. Браузер Mozilla Firefox

Операционная Путь система Windows C:\Windows\Application Data\Mozilla\Firefox\ 95/98/ME Profiles\xxx.Default\ Windows C:\Windows\Profiles\%USER%\Application Data\ 95/98/ME Mozilla\Firefox\Profiles\xxx.Default\ Family Logon Windows NT 4.0 C:\Winnt\Profiles\%USER%\Application Data\ Mozilla\Firefox\Profiles\xxx.Default\ Windows C:\Documents and Settings\%USER%\Application 2000/XP Data\Mozilla\Firefox\Profiles\xxx.Default\

Linux /home/$USER/.mozilla/firefox/xxx.default/

Примечание: каталог «Application Data» обычно является скрытым. Убедитесь, что у вас включено отображение скры- тых и системных файлов.

Сколько может быть профилей, и как их создать/удалить Профилей может быть столько, сколько потребуется. По умолчанию со- здаётся только один профиль на каждую учётную запись пользователя. Все операции с профилями производятся с помощью Менеджера профи- лей. Его можно вызвать, запустив Mozilla Firefox с параметром «-p» или «-ProfileManager». При работе в Windows («Пуск → Выполнить») введите firefox.exe -p или наберите в командной строке следующее: C:\Program Files\Mozilla Firefox\firefox.exe -p или в свойствах ярлыка для Firefox (вкладка «Ярлык», поле «Объект») допишите ключ «-p». В итоге получится примерно следующее: "C:\Program Files\Mozilla Firefox\firefox.exe" -p С помощью Менеджера профилей можно создать профиль в любом месте на любых дисках, в том числе сетевых, переименовать или удалить профиль. Следует отметить, что при создании нового профиля старый остаётся на своём месте, но более не используется.

Файлы, находящиеся вне профиля

pluginreg.dat Перечень зарегистрированных модулей. profiles.ini Список существующих профилей. О профилях Mozilla Firefox 19

Файлы и каталоги, находящиеся в профиле Подкаталоги профиля:

1) /bookmarkbackups: 5 последних копий файла закладок bookmarks. html. Обновляется ежедневно.

2) /Cache: Здесь хранятся посещённые страницы (about:cache).

3) /Cache.Trash: Временная папка кэша. Используется только в случае удаления реальной папки кэша.

4) /chrome: Содержит настройки интерфейса:

• userChrome.css: настройка интерфейса • userContent.css: настройка отображения контента

5) /extensions: Здесь хранятся установленные расширения и темы.

6) /searchplugins: Здесь хранятся установленные пользователем поис- ковые машины. Файлы профиля:

Имя файла Краткое описание Подробное описание .parentlock Lock-file См. parent.lock. bookmarks.bak Резервная копия В этом файле содержится ре- файла закладок зервная копия файла закладок bookmarks.html (меню «Заклад- ки → Управление закладками»). bookmarks.html Файл закладок В этом файле содержатся все ва- ши закладки (меню «Закладки → Управление закладками»). и cert8.db База данных База данных сертификатов кли- сертификатов ентов (меню «Инструменты → Настройки → Дополнительно → Шифрование → Просмотр серти- фикатов»). cert7.db — старый формат; cert8.db — новый фор- мат. Если у вас проблемы с сер- тификатами, удалите этот фай- лы. См. также key3.db и secmod.db. 20 Глава 1. Браузер Mozilla Firefox

Имя файла Краткое описание Подробное описание compatibility.ini Данные о послед- Хранит версию и путь к по- нем приложении следнему приложению, с кото- рым был использован этот про- филь. При загрузке профиля с приложением, имеющим другую версию или путь, запускается процесс регистрации компонент XPCOM. Этот файл может быть удалён вручную — при загрузке приложения он создастся автома- тически. components.ini Список папок В нем перечислены папки рас- с расширениями ширений, имеющих XPCOM- компоненты. Заменён файлом extensions.ini в 1.5. compreg.dat Список Список зарегистрированных XPCOM-компонент XPCOM-компонент. Автома- тически перегенерируется при запуске процесса регистрации XPCOM. cookies.txt База данных Сoдержит все ваши сохранённые cookies cookies (меню «Инструменты → Настройки → Приватность → Cookies → Показать Cookies»). Удаление этого файла удалит все ваши cookies. downloads.rdf База данных мене- Содержит список всех закачан- джера загрузок ных файлов (меню «Инструмен- ты → Загрузки»). Удаление этого файла удалит этот список. extensions.cache Кэш установлен- В нем перечислены установлен- ных расширений ные расширения, их ID и пап- ки, в которые они установлены, а также дата их последнего изме- нения. Кэш используется, в част- ности, для регистрации расшире- ний, которые были скопированы в одну из папок для установки расширений.Этот файл перегене- рируется автоматически. О профилях Mozilla Firefox 21

Имя файла Краткое описание Подробное описание extensions.ini Список папок уста- В нем перечислены папки с новленных расши- установленными расширениями рений и тем и темами. Файл генерирует- ся автоматически при помощи nsExtensionManager и ис- пользуется низкоуровневым ко- дом для определения chrome packages и компонент XPCOM. extensions.rdf Информация об Информация об установленных установленных расширениях. расширениях formhistory.dat База сохранённых Содержит базу сохранённых дан- данных форм ных форм (меню «Инструменты → Настройки → Приватность → Личные данные»). Удаление это- го файла удалит эту базу дан- ных. history.dat Журнал посещений Содержит базу данных всех по- сещённых Web-страниц (меню «Инструменты → Настройки → Приватность → Журнал посеще- ний» и меню «Журнал»). Удале- ние этого файла удалит эту базу данных. hostperm.1 Разрешения на Сoдержит список сайтов, кото- установку cookies рым разрешено или запрещено и открытие всплы- устанавливать cookies и которым вающих окон разрешено открывать всплываю- щие окна (меню «Инструменты → Настройки → Приватность → Cookies → Исключения» и «Ин- струменты → Настройки → Со- держимое → Исключения»). Уда- ление этого файла удалит этот список. 22 Глава 1. Браузер Mozilla Firefox

Имя файла Краткое описание Подробное описание key3.db База данных клю- База данных ключей для сер- чей для сертифика- тификатов (меню «Инструменты тов → Настройки → Дополнитель- но → Шифрование → Просмотр сертификатов»). Если у вас про- блемы с сертификатами, удалите этот файл. При загрузке он будет создан заново с установками по умолчанию. Существующие сер- тификаты будут удалены и долж- ны быть установлены заново. См. также сert8.db и secmod.db localstore.rdf Расположение и Хранит расположение и размер размер окон окон, определённые пользовате- лем. Если у вас возникли про- блемы с окнами, удалите этот файл. lock Lock-file См. parent.lock. mimeTypes.rdf MIME Types Определяет порядок работы с Helpers MIME-types. panels.rdf Боковые панели Панели, инсталлируемые на бо- ковой панели. Чтобы избавиться от них, удалите этот файл. Он будет создан заново с установка- ми по умолчанию. parent.lock Lock-file Создаётся при запуске Mozilla Firefox c данным профилем, и показывает, что профиль исполь- зуется. prefs.js Основной файл Вся конфигурация Mozilla конфигурации Firefox (about:config). search.rdf Файл поисковых Хранит поисковые машины, про- машин инсталлированные на боковой панели. Может быть удалён, что- бы восстановить настройки по умолчанию. О профилях Mozilla Firefox 23

Имя файла Краткое описание Подробное описание secmod.db База данных База данных устройств защи- устройств защиты ты (меню «Инструменты → На- стройки → Дополнительно → Шифрование → Устройства за- щиты»). Если у вас проблемы с сертификатами, удалите этот файл. См. также сert8.db и key3.db. signons.txt База данных Хранит все ваши пароли для паролей Web/FTP-сайтов (меню «Ин- струменты → Настройки → За- щита → Пароли → Показать пароли»). Для работы требует файл key3.db. Чтобы удалить все ваши пароли, удалите этот файл. user.js Файл конфигура- Файл конфигурации, определяе- ции, определяемый мый пользователем. Значения из пользователем этого файлы будут переписаны в файл pref.js при запуске Mozilla Firefox. Главное отличие файла user.js от pref.js в том, что Mozilla Firefox не может изменять значения, задаваемые в user.js, — это может сделать только пользователь. Этот файл не создаётся по умолчанию, вам потребуется создать его вруч- ную. Для работы с ним можно также можно использовать рас- ширение Chromedit. xpti.dat Список XPCOM- Список зарегистрированных интерфейсов XPCOM-интерфейсов. Автома- тически перегенерируется при запуске процесса регистрации XPCOM. XUL.mfl и Кэш XUL Файл быстрой загрузки XUL. XUL.mfasl Кэширует интерфейс пользовате- ля для ускорения загрузки. При обновлении версии Firefox реко- мендуется его удалять — он бу- дет создан заново. 24 Глава 1. Браузер Mozilla Firefox

Имя файла Краткое описание Подробное описание search.sqlite Файл поисковых Информация о ваших поисковых плагинов плагинах (впервые появился в .0). sessionstore.js Сохранённая сес- В этом файле содержатся данные сия о сохранённой сессии (впервые появился в Firefox 2.0). urlclassifier. Файл с данными Впервые появился в Firefox 2.0. sqlite для защиты от фи- шинга

Клонирование или перенос профиля на другой компьютер

Краткая теория и термины Перед прочтением рекомендуется ознакомиться со структурой профиля Firefox [стр. 17]. %USERPROFILE% — путь к профилю пользователя Windows (не путать с профилем Firefox). Обычно располагается в папке C:\Documents and Settings\имя_пользователя. %AppData% — путь к папке профиля пользователя Windows, в которой содержатся данные приложений. Обычно находится в папке %USERPROFILE %\Application Data. Профили Firefox хранятся внутри папки %AppData%\ Mozilla\Firefox.

Что происходит при запуске Firefox?

При запуске Firefox ищет папку %AppData%\Mozilla\Firefox, где рас- положен файл profiles.ini, содержащий информацию о всех имеющихся профилях: указатель на активный профиль, имена профилей и относитель- ные пути к ним.

Почему нельзя просто скопировать папку %AppData%\Mozilla\Firefox?

Это возможно, но только если совпадают пути к %AppData% (Способ 2). К сожалению, в настоящий момент множество путей, содержащихся в файлах профиля — абсолютные, и поэтому для того, чтобы перенесённый профиль работал, требуется исправить все абсолютные пути во всех файлах профиля. Если такая операция относительно корректна по отношению к Клонирование или перенос профиля 25

текстовым форматам, то замена строк в двоичных файлах может повредить их структуру.

Клонирование С помощью клонирования вы можете создать профиль-двойник и про- водить над ним любые эксперименты, не затрагивая рабочий профиль. Для создания профиля-клона проделайте следующие несложные действия: 1) Создайте новый профиль 2) Удалите его содержимое и скопируйте в него клонируемый профиль

3) С помощью любой программы пакетного поиска и замены текста в фай- лах замените строку имени клонируемого профиля (например, uhxh6 u8f.default) на имя клона (например, daf9u3bb.cloned). В каче- стве такой программы подойдут Advanced Find & Replace, EmEditor и другие.

Перенос

Способ 1 — Если совпадают пути %AppData% на обоих компьютерах

Просто копируем папку %AppData%\Mozilla\Firefox с одного компью- тера на другой. Если на целевом компьютере такая папка уже существует (и вам не важно её содержимое — уже существующие на машине профили), очистите её перед копированием.

Способ 2 — Если пути %AppData% не совпадают Здесь возможны несколько вариантов: Способ 2а. Символьные ссылки или reparse points Возможен на файловой системе, поддерживающей символьные ссылки (reparse points): это NTFS 5.x и файловые системы Linux.

1) Скопируйте папку Mozilla на её старое местоположение (напри- мер, если на исходной машине это была папка C:\Documents and Settings\имя\Application Data\Mozilla\Firefox, скопируйте её именно туда). 2) Удалите папку %AppData%\Mozilla\Firefox на новом компьютере, если она существует. 26 Глава 1. Браузер Mozilla Firefox

3) Создайте символьную ссылку (reparse point) с папки, скопирован- ной в п.1 на папку, удалённую в п.2 (в Windows это делается с помощью утилиты NTFS Links1, либо Junction2). Способ 2б. Модификация profiles.ini Возможен, если буквы дисков, на которых находится папка Documents and Settings, совпадают, но не совпадают имена пользователей Windows. 1) Скопируйте папку Mozilla\Firefox на её старое местоположе- ние (например, если на исходной машине это была папка C: Documents and Settings\имя\Application Data\Mozilla, ско- пируйте её именно туда). 2) Скопируйте файл profiles.ini в папку %AppData%\Mozilla\Firefox 3) Откройте его любым текстовым редактором и исправьте строку, со- держащую путь к профилю на такую: Path=../../../../имя_нового_пользователя/Application Data/Mozilla/Profiles/набор_символов.имя_профиля

Способ 3 — Если нет возможности для создания новых папок и путей Скопируйте профиль поверх уже существующего (предварительно за- чистив его папку) и любой программой пакетного поиска и замены строк (Advanced Find & Replace, EmEditor и т. п.) замените абсолютный путь старого профиля на новый. Данный способ является не самым корректным из всех возможных, по- этому 100% идентичность работы перенесённого профиля не гарантируется, в отличие от способов 1 и 2. Но это единственно возможный способ пере- носа профиля между Windows и Linux. После переноса профиля удалите файл XUL.MFL!

Как установить расширения и темы

Установка расширений Установка с сайта Для того, чтобы установить расширение с сайта, достаточно перейти по ссылке «Установить» на странице расширения. Откроется окно «Установка 1http://wincmd.ru/plugring/ntfslinks.html 2http://www.sysinternals.com/Utilities/Junction.html Как установить расширения и темы 27

программного обеспечения». Подтвердите согласие на установку, нажав на кнопку «Установить сейчас» или же нажмите «Отмена» для отмены установ- ки. После этого откроется менеджер тем и расширений («Дополнения») и по завершении процесса загрузки и установки, расширение, которое вы уста- навливаете, появится во вкладке «Расширения». После перезагрузки брау- зера (которую можно отложить на потом, но в этом случае расширение не будет считаться установленным), расширение будет работоспособным. В случае, если вместо окна «Установка программного обеспечения» от- кроется страница безопасности, это означает, что установка расширений с данного сайта запрещена. Ниже на скриншоте показано, как разрешить установку расширений с любого сайта (если вы ему доверяете).

Рис. 1.1. Разрешение установки расширений

Важно Если даже после этого расширение отказывается устанавливаться, наберите в адресной строке about:config и проверьте параметр xpinstall.enabled, его значение должно быть установлено в true. 28 Глава 1. Браузер Mozilla Firefox

Установка с диска Если вы скачали расширение, и оно хранится на жёстком диске, то:

• Меню «Файл → Открыть файл. . . », находите, где лежит нужное рас- ширение1, выделяете его и нажимаете «Открыть» или же открываете двойным нажатием на файле расширения2. Процесс дальнейшей уста- новки аналогичен установке с сайта. • Открываете папку содержащую расширения и выбрав то, которое необ- ходимо установить (Firefox должен быть запущен), удерживая левой кнопкой мыши перетаскиваем на окно Firefox. Процесс дальнейшей установки аналогичен установке с сайта. • Открываем менеджер расширений «Инструменты → Дополнения» и перетаскиваем на вкладку «Расширения» файл расширения, например -0.9.78.1-fx+mz+sm+fl.xpi. Процесс дальнейшей уста- новки аналогичен установке с сайта.

Установка расширений в Thunderbird аналогична установке расширений с жёсткого диска в Firefox (метод перетаскива- ния).

Установка тем Установка с сайта 1) Открываем «Инструменты → Дополнения → Темы», переходим по ссылке «Загрузить темы». На странице Mozilla update выбираете по- нравившуюся тему. Для того, чтобы сохранить на жёсткий диск, кли- каем правой кнопкой мыши, а для непосредственной установки с сай- та — левой кнопкой.

2) Откроется окно подтверждения, в котором, если вы ещё не передумали устанавливать тему, нажмите «Установть сейчас».

1Лучше создать отдельную папку, куда будете помещать расширения. 2Файл расширения имеет расширение .xpi. Как установить расширения и темы 29

3) По завершении процесса загрузки темы:

4) Выделите тему (скриншот отобразится в правой части окна «Темы»), которую хотите использовать и нажмите «Использовать тему». 30 Глава 1. Браузер Mozilla Firefox

5) Закройте окно «Темы» и перезагрузите браузер.

Установка с жёсткого диска Если вы скачали тему1, то для того, чтобы установить её, откройте мене- джер тем, «Инструменты → Дополнения → Темы». Откройте папку с темой, и удерживая файл темы, например new_silver_skin-1.2-fx.jar, перета- щите его на окно «Темы». Последующие действия аналогичны установке тем с сайта. Внимание! После установки тем или расширений не забывай- те перезагружать браузер для вступления изменений в силу.

Установка тем в Thunderbird аналогична установке тем в Firefox.

Тонкая настройка Настройка файла user.js2 Файл user.js располагается в каталоге вашего профиля. В нём устанав- ливаются разные свойства браузера. Часть из них описана на сайте http: //www.mozdev.org. Все значения переменных могут быть изменены и че- рез about:config в строке адреса, есть только маленькая тонкость — когда вы создадите новый профиль или переустанавливаете Mozilla или Firefox вам будет необходимо заново вводить все эти значения. При использовании user.js достаточно будет только перенести этот файл. Важное замечание: Если в файл вносятся строки, содержащие символы кириллицы, то его необходимо сохранить в кодировке UTF-8. Выключить автоматическое масштабирование картинок: user_pref("browser.enable_automatic_image_resizing", false); Щелчок мышью на индикаторе загрузки приведёт на forum.mozilla.ru: user_pref("browser.throbber.url", "http://forum.mozilla.ru/"); Выключение использования активных окон: user_pref("advanced.system.supportDDEExec", false); Выключение поиска по мере набора: user_pref("accessibility.typeaheadfind", false); Время в миллисекундах, после которого поиск прекращается:

1темы имеют расширение . jar 2Переведено (комментарии), собрано воедино Юрием Меркуловым. Тонкая настройка 31 user_pref("accessibility.typeaheadfind.timeout", 5000); Отключить звук об ошибке: user_pref("accessibility.typeaheadfind.enablesound", false); Установить свой звук: user_pref("accessibility.typeaheadfind.soundURL", "filename"); Сохранять историю за 1 день: user_pref("browser.history_expire_days", 1); Указать домашнюю страницу: user_pref("browser.startup.homepage", "http://forum.mozilla.ru/"); Запретить изменения в панели статуса: user_pref("dom.disable_window_status_change", true); Разрешить Javascript закрывать окна: user_pref("dom.allow_scripts_to_close_windows", true); Увеличение скорости прорисовки страницы: user_pref("nglayout.initialpaint.delay", 0); Запрещение target= «_blank» (открывать в том же окне): user_pref("browser.block.target_new_window", true); Не использовать диалоги с прогрессом: user_pref("browser.download.useProgressDialogs", false); Однооконный режим (все ссылки загружаются в пределах одного окна): user_pref("browser.block.target_new_window", true); Вместо отдельного окна для демонстрации процесса загрузки использо- вать боковую панель: user_pref("browser.download.openSidebar", true); user_pref("browser.download.useProgressDialogs", false); Указать точный объем кэша памяти: user_pref("browser.cache.memory.capacity", 16384); Включить конвейерную обработку: user_pref("network.http.pipelining", true); user_pref("network.http.proxy.pipelining", true); user_pref("network.http.pipelining.maxrequests", 8); Разрешить кешировать защищённые страницы (если не боитесь, что зло- умышленники могут воспользоваться этим для получения доступа к вашему диску): user_pref("browser.cache.disk_cache_ssl", true); Указать путь к каталогу с кэшем (расположить его на более быстром диске): user_pref("browser.cache.disk.parent_directory", "e:\temp\cache"); Где разместить файл с закладками (полезно для тех, у кого несколько профилей, и хочется иметь общие закладки): 32 Глава 1. Браузер Mozilla Firefox user_pref("browser.bookmarks.file", "C:\Bookmarks\bookmarks.html"); user_pref("browser.chrome.site_icons", false); user_pref("browser.chrome.favicons", false); Не показывать сообщение о загрузке файлов: user_pref("browser.download.manager.showAlertOnComplete", false); Настройка ограничений для новых окон: user_pref("dom.disable_window_open_feature.location", false); user_pref("dom.disable_window_open_feature.menubar", false); user_pref("dom.disable_window_open_feature.minimizable", false); user_pref("dom.disable_window_open_feature.personalbar", false); user_pref("dom.disable_window_open_feature.resizable", false); user_pref("dom.disable_window_open_feature.scrollbars", false); user_pref("dom.disable_window_open_feature.status", true); user_pref("dom.disable_window_open_feature.titlebar", false); user_pref("dom.disable_window_open_feature.toolbar", false); user_pref("dom.disable_window_status_change", true); user_pref("dom.allow_scripts_to_close_windows", true); Приказать проигрывать анимационные gif один раз (возможны варианты: normal, once, none): user_pref("image.animation_mode", "once"); Переносить длинные строки при показе исходного кода страницы: user_pref("view_source.wrap_long_lines", true); Показывать альтернативный текст вместо картинки «image-not-found» user_pref("browser.display.force_inline_alttext", false); Для изменения строки User Agent добавьте следующую переменную: user_pref("general.useragent.override", "Mozilla/5.0 (X11; U; Linux i686; en-US; rv 0.9.2) /20010726 Netscape6/6.1"); user_pref("general.useragent.override", "Mozilla/5.0 (compatible; MSIE5.5; Windows 98;"); user_pref("general.useragent.override", "Mozilla/4.0 (compatible;)"); Выключить автокопирование в стиле Unix для пользователей Linux (или включить в Windows, так как по умолчанию это не работает): user_pref("clipboard.autocopy", false); Настройки для средней кнопки мыши. Все это включено по умолчанию в Linux и выключено в Windows. user_pref("middlemouse.paste", false); user_pref("middlemouse.contentLoadURL", false); user_pref("middlemouse.scrollbarPosition", false); Тонкая настройка 33

Отобразить в настройках несколько параметров, c помощью которых можно настроить, где должны открываться ссылки — в окнах или табах. user_pref("browser.tabs.showSingleWindowModePrefs", true); Высвобождать память в Firefox 2.0 при сворачивании в трей. Так бы- ло по умолчанию в предыдущих версиях, подробности описаны на форуме Mozilla1. user_pref("config.trim_on_minimize",true); Другие настройки user.js — на сайте Add-ons Mirror2.

Настройка userChrome.css3 Файл userChrome.css расположен в подкаталоге chrome вашего про- филя. userChrome.css предназначен для стилей настройки внешнего вида Mozilla/Firefox. В нём вы можете редактировать отображение основных эле- ментов браузера, стили, создать свой собственный стиль Mozilla.

Обратите внимание: userChrome.css не создаётся по умолчанию. После установки Mozilla/Firefox создаётся файл userChrome-example.css, содержащий пример этого фай- ла, который вы можете переименовать в userChrome.css. Далее пойдёт список возможных настроек с русскими комментариями. Прочитайте комментарий, и если понравилось, то можете просто скопиро- вать текущий фрагмент в свой userChrome.css. Затем перегрузите браузер, настройки заработают. Эта строка должна быть в вашем userChrome.css обязательно: @namespace url("http://www.mozilla.org/keymaster/gatekeeper/ there.is.only.");

Закладки Уменьшение пробелов в панели Закладок: toolbarbutton.bookmark-item { padding: 0px !important; } Указать максимальную длину названия в закладках: toolbarbutton.bookmark-item { max-width: 7em !important; } Не показывать значки по станиц (favicons):

1http://forum.mozilla.ru/doku.php?id=firefox:issues:tray_ram 2http://forum.addonsmirror.net/index.php?showforum=8 3Собирается воедино Юрием Меркуловым, cпасибо за помощь: Pharaon, lcraFTl. 34 Глава 1. Браузер Mozilla Firefox menu.bookmark-item > .toolbarbutton-icon { display: none; } menu.bookmark-item > .menu-iconic-left > .menu-iconic-icon { display: none; } Удалить значки папок в меню закладок: menu.bookmark-item > .menu-iconic-left { display: none; } Удалить значки у пунктов меню закладок, собственно ссылок: menuitem.bookmark-item > .menu-iconic-left { display: none; } Раз уж нет значков в закладках, то давайте сделаем шрифт синим и жирным: menu.bookmark-item { color: navy !important; font-weight: 900 !important; } Спрятать иконки в персональной панели: toolbarbutton.bookmark-item > .toolbarbutton-icon { display: none; } Спрятать иконки для групп закладок: menuitem.bookmark-group > .menu-iconic-left { display: none; } Сменить иконки в закладках на собственные: toolbarbutton.bookmark-item { list-style-image: url(’the\path\to\yourimage.xxx’) !important; -moz-image-region: rect(0px 16px 16px 0px) !important; } toolbarbutton.bookmark-item[container="true"] { list-style-image: url(’the\path\to\yourimage.xxx’) !important; -moz-image-region: rect(0px 16px 16px 0px) !important; } Изменить ширину закладок (по умолчанию 26 единиц): menu.bookmark-item, menuitem.bookmark-item { max-width: 20em !important; } Удалить все разделители в закладках: menuitem.bookmark-item + menuseparator, menu.bookmark-item + menuseparator { Тонкая настройка 35 display: none !important; } Убирает последний пункт «Открыть во вкладках» в меню закладок: #openintabs-menuseparator, #openintabs-menuitem { display: none !important; }

Вкладки Изменить цвет активной вкладки: tab{ -moz-appearance: none !important; } tab[selected="true"] { background-color: rgb(245,245,160) !important; color: blue !important; } Изменить высоту вкладок: tab { height: 14px !important; } .tabbrowser-strip { height: 16px !important; } Изменяет цвета текста и фона при наведении во вкладках: tab:hover { color: #f00 !important; . background: #ffffff !important; } tab[selected="true"]:hover { color: #f00 !important; . background: #aaffaa !important;*/ } Изменить цвет обычных вкладок: tab { background-color: rgb(222,222,222) !important; color: black !important; } Цвет вкладок во время загрузки страницы: tab[busy] { color:red !important; } Удалить кнопку закрытия справа, в панели вкладок: tabbrowser .tabs-closebutton { display: none !important; 36 Глава 1. Браузер Mozilla Firefox

} Не показывать значки во вкладках: .tabbrowser-tabs .tab-icon { display: none; !important; } Вкладки снизу: #content > tabbox { -moz-box-direction: reverse; } Вкладки слева (при этом рекомендуется удалить значок закрытия вкла- док, увидите почему. . . ): #content > tabbox { -moz-box-orient: horizontal; } .tabbrowser-strip { -moz-box-orient: vertical; overflow: -moz-scrollbars-none; } .tabbrowser-tabs { -moz-box-orient: horizontal; min-width: 10ex; -mox-box-pack: start; -moz-box-align: start; } .tabbrowser-tabs > hbox { -moz-box-orient: vertical; -moz-box-align: stretch; -moz-box-pack: start; } .tabbrowser-tabs > hbox > tab { -moz-box-align: start; -moz-box-orient: horizontal; } Чтобы вкладки были справа, раскомментируйте следующую строчку: #content > tabbox { -moz-box-direction: reverse; } Фиксированная ширина вкладок: tabbrowser tab { min-width: 80px !important; max-width: 80px !important; } Уменьшить шрифт во вкладках на 10%: .tabbrowser-tabs .tab-text { font-size: 90%; } Тонкая настройка 37

Начинаем скрывать ненужное Скрываем лишние пункты меню: menuitem[label="Add to Bookmarks..."] { display: none; } menuitem[label="Manage Bookmarks..."] { display: none; } menuitem[label="Manage Bookmarks..."] + menuseparator { display: none; } menu[label="Character Coding"] { display: none; } Скрываем ненужные пункты в контекстном меню. Ниже представлены все пункты, но лучше что-нибудь все же оставить. #context-back, #context-blockimage, #context-bookmarklink, #context-bookmarkpage, #context-copy, #context-copyemail, #context-copyimg, #context-copyimg-contents, #context-copylink, #context-cut, #context-delete, #context-forward, #context-metadata, #context-openlink, #context-openlinkintab, #context-paste, #context-reload, #context-saveimage, #context-savelink, #context-savepage, #context-searchselect, #context-selectall, #context-sendimage, #context-sendlink, #context-sendpage, #context-sep-open, #context-sep-stop, #context-setWallpaper, 38 Глава 1. Браузер Mozilla Firefox

#context-stop, #context-undo, #context-viewbgimage, #context-viewimage, #context-viewinfo, #context-viewpartialsource-mathml, #context-viewpartialsource-selection, #context-viewsource, #openintabs-menuseparator, #openintabs-menuitem { display: none !important; } Вообще меню не показывать! #toolbar-menubar { display: none !important; } Не показывать текст в персональной панели: #personal-bookmarks .toolbarbutton-text { display : none !important; } Не показывать разделители панелей: toolbar { border-style: none !important; } Не показывать стрелочку в панели поиска r: .search-proxy-button-dropmarker { display:none !important; } Удалить ссылку в панели статуса у adblock: statusbarpanel[id="adblock-status"] { display:none !important; } Удалить слово «Go» в одноимённой кнопке и подкорректировать её раз- мер: #go-button .toolbarbutton-text { display: none !important; } #go-button .toolbarbutton-icon { margin-top: 2px !important; margin-bottom: 1px !important; } #go-button .toolbarbutton-icon { margin-right: 1px !important; } Не показывать значок обновления Firefox: #statusbar-updates { Тонкая настройка 39 display: none !important; } Удалить опцию «Добавить поисковые машины»: #search-proxy-button menuitem[label=Add engines ...] { display: none; }

Изменение общего внешнего вида Использование собственной фоновой картинки в тулбаре. Установите ва- шу собственную картинку вместо background.gif: menubar, toolbox, toolbar, .tabbrowser-tabs { background-image: url("background.gif") !important; background-color: none !important; } Изменить индикатор загрузки: toolbar[iconsize="small"] #navigator-throbber { list-style-image: url("throbber-small-stopped.gif") !important; } toolbar[iconsize="small"] #navigator-throbber[busy="true"] { list-style-image: url("throbber-small.gif") !important; } Показывать кнопку выбора стилей: #page-theme-button { display: -moz-box !important; list-style-image: url(chrome://browser/skin/page-themes.png); padding: 0px 3px; } Боковая панель справа. window > hbox { direction:rtl; } window > hbox > * { direction:ltr; } Изменить размер и тип шрифта в меню: menubar > menu { font-size: 12px !important; font-family: Comic Sans MS, sans-serif !important; font-weight: bold !important; } Сделать элементы интерфейса жирными: menubar > menu, #urlbar, #search-bar, #status-bar, 40 Глава 1. Браузер Mozilla Firefox

#go-button > .button-box > .button-text, #search-button > .button-box > .button-text, .toolbarbutton-text, toolbarbutton.bookmark-item, sidebarheader, #bookmarksPanel, #history-panel { font-weight: bold !important; } Изменить ширину строки поиска. #search-container, #searchbar { -moz-box-flex: 400 !important; } Сделать внешний вид меню, как в Office XP: menupopup, popup { border: 1px solid ThreeDShadow !important; -moz-border-left-colors: ThreeDShadow !important; -moz-border-top-colors: ThreeDShadow !important; -moz-border-right-colors: ThreeDShadow !important; -moz-border-bottom-colors: ThreeDShadow !important; padding: 1px !important; background-color: Menu !important; } menubar > menu { border: 1px solid transparent !important; padding: 2px 5px 2px 7px !important; margin: 0 !important; } menubar > menu[_moz-menuactive="true"] { background-color : Highlight !important; color: HighlightText !important; } Кнопка для закрытия вкладок слева. .tabbrowser-tabs { direction: rtl; } .tabbrowser-tabs > * { direction: ltr; } Изменить размер окна настроек Firefox. #BrowserPreferences { height: 80ex !important; width: 60em !important; } Тонкая настройка 41

Изменения в панели статуса Удалить кнопку живых закладок (RSS): #livemark-button { display: none !important; } Удалить иконку безопасности (на https страницах): #security-button { display: none !important; } Удалить statusbar-display: #statusbar-display { display: none !important; } Удалить Индикатор загрузки: #statusbar-progresspanel { display: none !important; } Удалить кнопку выбора темы страницы: #page-theme-button { display: none !important; } Удалить кнопку управления всплывающими окнами: #page-report-button { display: none !important; } Возвращаем чёрные ссылки в боковой панели. treechildren::-moz-tree-cell-text(leaf, linkTree) { text-decoration: none !important; color: black !important; } Уменьшить значок новой вкладки. #new-tab-button{ list-style-image: url("chrome://browser/skin/Toolbar-small.png") !important; -moz-image-region: rect(0px 160px 16px 144px) !important; } Уменьшить значок нового окна. #new-window-button{ list-style-image: url("chrome://browser/skin/Toolbar-small.png") !important; -moz-image-region: rect(0px 176px 16px 160px) !important; } Если вы переместили строку адреса в панель статуса и её размер вам не нравится, то его можно изменить. 42 Глава 1. Браузер Mozilla Firefox

#urlbar-container, #urlbar { width: 400px !important; } Другие настройки userChrome.css — на сайте Add-ons Mirror1.

Настройка файла userContent.css Файл userContent.css располагается в подкаталоге chrome вашего про- филя. Он предназначен для переопределения стилей страниц, которые за- гружаются в ваш браузер.

Обратите внимание: файл userContent.css не создаётся по умолчанию. После установки Mozilla/Firefox появляется файл userContent-example.css, содержащий пример этого файла, который вы можете переименовать в userContent. css. Сменить курсор для ссылок JavaScript: a[href^=":"] { cursor: move; } Изменить курсор для ссылок, открывающихся в этом окне: :link[target="_blank"], :visited[target="_blank"], :link[target="_new"], :visited[target="_new"] { cursor: crosshair; } Ссылки, открывающиеся в новом окне, выделяются линией сверху. :link[target="_blank"], :visited[target="_blank"], :link[target="_new"], :visited[target="_new"] { text-decoration: overline !important; } Подчёркивать ссылки при наведении на них: a[href]:hover { text-decoration: underline !important; } Блокируются все элементы (картинки, флэш) совпадающие с типичными размерами рекламных банеров. *[height="60"][width="468"], *[height="60px"][width="468px"], *[height="31"][width="88"], *[height="31px"][width="88px"], *[height="60"][width="234"], *[height="60px"][width="234px"], *[height="600"][width="120"], *[height="600px"][width="120px"], *[height="600"][width="160"], *[height="600px"][width="160px"], *[height="120"][width="240"], *[height="120px"][width="240px"],

1http://forum.addonsmirror.net/index.php?showforum=8 Тонкая настройка 43

*[height="150"][width="180"], *[height="150px"][width="180px"], *[height="300"][width="250"], *[height="300px"][width="250px"], *[height="336"][width="280"], *[height="336px"][width="280px"], *[height="400"][width="240"], *[height="400px"][width="240px"], *[height="250"][width="250"], *[height="250px"][width="250px"] { display: none; } Запретить Flash: embed[type="application/x-shockwave-flash"] { display: none !important; } Перечёркивать посещённые ссылки: a:visited { text-decoration: line-through !important; } Никогда не показывать панель прокрутки: scrollbar { visibility: collapse !important; } Удалить кнопку «Остановить» (Stop), когда страница загружена: #stop-button[disabled="true"] { display: none; } Удалить слово «Go» (Переход) в кнопке перехода (и уменьшить размер кнопки): #go-button .toolbarbutton-text { display: none !important; } #go-button .toolbarbutton-icon { margin-top: 2px !important; margin-bottom: 1px !important; } #go-button .toolbarbutton-icon { margin-right: 1px !important; } Другие настройки userContent.css — на сайте Add-ons Mirror1.

Ускорение работы Firefox Добавив следующие значения в файл user.js в профиле Firefox, можно добиться прироста скорости при работе с сайтами и сетью. Оптимальные значения настроек зависят от скорости соединения с Интернетом, скорости вашего компьютера и величины его оперативной памяти. Данные настройки взяты из темы Firefox tuning2 на форуме Mozillazine3.

1http://forum.addonsmirror.net/index.php?showtopic=97 2http://forums.mozillazine.org/viewtopic.php?t=53650& postdays=0&postorder=asc&postsperpage=15&start=225 3http://forums.mozillazine.org 44 Глава 1. Браузер Mozilla Firefox

450Mhz/модем user_pref("content.max.tokenizing.time", 2250000); user_pref("content.notify.backoffcount", 5); user_pref("content.notify.interval", 750000); user_pref("content.notify.ontimer", true); user_pref("content.switch.threshold", 750000); user_pref("nglayout.initialpaint.delay", 750); user_pref("network.http.max-connections", 32); user_pref("network.http.max-connections-per-server", 8); user_pref("network.http.max-persistent-connections-per-proxy", 8); user_pref("network.http.max-persistent-connections-per-server", 4); user_pref("network.http.pipelining", true); user_pref("network.http.proxy.pipelining", true); user_pref("network.http.pipelining.maxrequests", 8);

250MHz/выделенная линия user_pref("content.max.tokenizing.time", 3000000); user_pref("content.notify.backoffcount", 5); user_pref("content.notify.interval", 1000000); user_pref("content.notify.ontimer", true); user_pref("content.switch.threshold", 1000000); user_pref("content.maxtextrun", 4095); user_pref("nglayout.initialpaint.delay", 1000); user_pref("network.http.max-connections", 48); user_pref("network.http.max-connections-per-server", 16); user_pref("network.http.max-persistent-connections-per-proxy", 16); user_pref("network.http.max-persistent-connections-per-server", 8); user_pref("network.http.pipelining", true); user_pref("network.http.pipelining.maxrequests", 8); user_pref("network.http.proxy.pipelining", true); или user_pref("content.max.tokenizing.time", 2250000); user_pref("content.notify.backoffcount", 5); user_pref("content.notify.interval", 750000); user_pref("content.notify.ontimer", true); user_pref("content.switch.threshold", 750000); user_pref("content.maxtextrun", 8191); user_pref("nglayout.initialpaint.delay", 750); Тонкая настройка 45

Быстрый компьютер/модем user_pref("browser.cache.disk_cache_ssl", true); user_pref("browser.xul.error_pages.enabled", true); user_pref("content.interrupt.parsing", true); user_pref("content.max.tokenizing.time", 3000000); user_pref("content.maxtextrun", 8191); user_pref("content.notify.backoffcount", 5); user_pref("content.notify.interval", 750000); user_pref("content.notify.ontimer", true); user_pref("content.switch.threshold", 750000); user_pref("network.http.max-connections", 32); user_pref("network.http.max-connections-per-server", 8); user_pref("network.http.max-persistent-connections-per-proxy", 8); user_pref("network.http.max-persistent-connections-per-server", 4); user_pref("network.http.pipelining", true); user_pref("network.http.pipelining.maxrequests", 8); user_pref("network.http.proxy.pipelining", true); user_pref("nglayout.initialpaint.delay", 750); user_pref("plugin.expose_full_path", true);

Быстрый компьютер/512 ADSL user_pref("browser.cache.disk_cache_ssl", true); user_pref("content.max.tokenizing.time", 2250000); user_pref("content.notify.backoffcount", 5); user_pref("content.notify.interval", 750000); user_pref("content.notify.ontimer", true); user_pref("content.switch.threshold", 750000); user_pref("network.http.max-connections", 48); user_pref("network.http.max-connections-per-server", 16); user_pref("network.http.max-persistent-connections-per-proxy", 16); user_pref("network.http.max-persistent-connections-per-server", 8); user_pref("network.http.pipelining", true); user_pref("network.http.pipelining.maxrequests", 8); user_pref("network.http.proxy.pipelining", true); user_pref("nglayout.initialpaint.delay", 750);

Очень быстрый компьютер user_pref("content.interrupt.parsing", true); user_pref("content.max.tokenizing.time", 2250000); 46 Глава 1. Браузер Mozilla Firefox user_pref("content.maxtextrun", 8191); user_pref("content.notify.backoffcount", 5); user_pref("content.notify.interval", 750000); user_pref("content.notify.ontimer", true); user_pref("content.switch.threshold", 750000); user_pref("nglayout.initialpaint.delay", 500); user_pref("network.http.max-connections", 48); user_pref("network.http.max-connections-per-server", 16); user_pref("network.http.max-persistent-connections-per-proxy", 16); user_pref("network.http.max-persistent-connections-per-server", 8); user_pref("network.http.pipelining", true); user_pref("network.http.pipelining.maxrequests", 8); user_pref("network.http.proxy.pipelining", true);

Добавочные настройки Настройки сети/DNS user_pref("network.dnsCacheExpiration", 360); user_pref("network.dnsCacheEntries", 100); user_pref("network.ftp.idleConnectionTimeout", 60); user_pref("network.http.keep-alive.timeout", 30); user_pref("network.http.request.max-start-delay", 5); user_pref("network.http.connect.timeout", 30); Разное Отключение изменения строки состояния web-сайтами, что уменьшает нагрузку на CPU: user_pref("dom.disable_window_status_change", true); Мгновенное открытие меню закладок: user_pref("ui.submenuDelay", 0);

Полезные советы

Запуск нескольких копий Firefox Способ 1 (Перманентный)

Создаём переменную окружения MOZ_NO_REMOTE и присваиваем ей зна- чение true. Недостаток: возможны проблемы с запуском firefox.exe (напри- мер, из внешних приложений) при уже открытом браузере. Полезные советы 47

Способ 2 (Loader) Создаём командный файл такого содержания: set MOZ_NO_REMOTE=true start firefox.exe %* Cохраняем в папку Firefox и запускаем вместо firefox.exe. Скрипт при- нимает параметры и передаёт их firefox.exe. Таким образом, чтобы открыть Firefox с профилем test, делаем так: start.cmd -p test Можно создать ярлык и с его помощью запускать любой нужный про- филь.

Способ 3 (Сторонняя программа) В качестве сторонней программы используем TrayLaunchy1. Архив состо- ит из 2-х файлов: fflauncher.exe и fflauncher.ini. В ini-файл нужно прописать путь к exe-файлу Firefox и имя профиля. Например: [Firefox] Path="C:\Program Files\Mozilla Firefox\firefox.exe" Profile="default"

[Deer Park] Path="C:\Program Files\Deer Park Alpha 1\firefox.exe" Profile="extensions" Скриншот:fflauncher.png.eps

Как использовать панель сайдбаров с браузером Firefox? 1) Ставим расширение Ez Sidebar2. В меню «Вид» появляется подменю «Боковая панель». Включать/отключать панель сайдбаров можно кла- вишей F9. Кроме того, поставив расширение Optimoz Tweaks3, мож- но открывать/закрывать боковую панель просто наводя/убирая с неё мышку. 2) Открываем сайт Sidebar.Ru4, кликаем правой кнопкой мыши по любой кнопке «Add» и выбираем «Add This Link to Sidebar» в контекстном меню.

1http://traylaunchy.googlepages.com/ 2http://forum.addonsmirror.net/index.php?showtopic=42&hl =sidebar 3http://forum.addonsmirror.net/index.php?showtopic=1414& hl=optimoz+tweaks 4http://www.sidebar.ru 48 Глава 1. Браузер Mozilla Firefox

3) Подтверждаем добавление, а также указываем имя новой боковушки в появившемся диалоге. 4) Переключение между сайдбарами осуществляется через выпадающее меню «Panels» в заголовке боковой панели. Глава 2

Почтовый клиент Mozilla Thunderbird

Юрий Меркулов

Чем Thunderbird лучше других почтовых клиентов

Интерфейс Thunderbird имеет гибко настраиваемый интерфейс, вы можете менять кнопки на панели, менять раскладки окон. А когда разберётесь с правкой конфигурационных файлов, то сможете изменить вообще, наверное, всё.

Безопасность Thunderbird не использует ни строчки кода от IE! То есть все дыры, кото- рыми славятся почтовые программы, использующие для просмотра и созда- ния писем движок IE, тут просто не существуют изначально. Thunderbird — программа с открытыми кодами, и как только возникает какая-то уязви- мость, о ней не стесняются говорить вслух, её тут же исправляют. MS придерживается обратной точки зрения — не говорим о дырах, значит их нет. Что вам больше нравится — выбирайте.

HTML Стоит рассмотреть этот пункт внимательней. HTML-редактор писем в Thunderbird создаёт самый компактный и правильный html-код из всех известных почтовых клиентов. Достаточно только взглянуть разок на исход- ный html-код сообщения. В Thunderbird он будет выглядеть как аккуратный текст, окружённый, где надо, html-тегами. 50 Глава 2. Почтовый клиент Mozilla Thunderbird

Thunderbird не указывает жёстко по умолчанию шрифты, которыми бу- дет набираться сообщение, и как результат, получатель прочитает html- сообщение тем шрифтом, который нравится ему, а не отсылающему. Thunderbird указывает лишь группу шрифтов — пропорциональный или мо- ноширинный. Хотя есть опция, позволяющая указывать конкретные шриф- ты. Все остальные почтовые программы не имеют такой настройки. Это осо- бенно важно в свете того, что популярность Linux растёт с каждым днем, а там далеко не каждый переносит шрифты из Windows. Thunderbird вставляет смайлики не как картинки, что резко увеличивает объем писем, а как html-теги. Все остальные почтовые программы могут только загромождать письма графикой в виде смайликов. Thunderbird имеет удобный html-тег цитирования

цита- та
. Он грамотно понимается почти всеми (кроме The Bat!) почтовыми программами, и также не раздувает письмо. Outlook Express же просто рисует линию слева от цитаты.

Кодировки Можно сказать одним предложением: проблем с кодировками нет. Пись- ма из всех других почтовых клиентов отображаются правильно, и сам Thunderbird создаёт такие письма, которые читают остальные почтовые кли- енты.

Расширяемость Thunderbird поддерживает смену тем и установку расширений. И то и другое существует в большом количестве, так что можно преобразить про- грамму до неузнаваемости. Русские версии расширений можно найти на форуме проекта Mozilla Россия1.

Реклама, фильтры Thunderbird автоматически находит рекламу и может по вашему жела- нию делать с ней все, что вы захотите. Кроме того, Thunderbird может хранить вашу почту как в отдельных папках для каждого ящика, так и в общей для всех. Другие почтовые программы могут что-то одно.

1http://forum.mozilla-russia.org Первое знакомство с Thunderbird 51

Многоплатформенный Thunderbird работает во многих операционных системах. Если вы пере- ходите из Windows в Linux, то вам не надо будет менять почтовый клиент, а следовательно и привычки, навыки. Все будет работать точно так же.

Первое знакомство с Thunderbird Какие у Thunderbird системные требования? Если не учитывать многозадачный режим, то для работы Thunderbird в Windows XP и Linux с не очень тяжёлым десктопом достаточно 128 Мб, в Windows 9x же Thunderbird комфортно чувствует себя на 64 Мб ОЗУ. Thunderbird занимает в памяти около 18–20 Мб. Но если вы хотите кро- ме Thunderbird ещё иметь открытым какой-нибудь офисный пакет, слушать музыку, иметь кучу запущенных программ и ещё что-нибудь, то мысленно удваивайте системные требования. Кроме того, если вы хотите использо- вать Thunderbird в связке с Firefox, то требования к памяти увеличиваются на 20–30 Мб. Но желательно всё же иметь 64 Мб в запасе. Thunderbird работает на любом 32-разрядном процессоре, вполне комфортно чувствует себя на процессорах уровня Pentium II или K6-2. Неофициальные сборки могут быть оптимизированы под любой процессор, и тогда минимальные требования к процессору ограничиваются объектом оптимизации.

Расскажите об установке Thunderbird Как и все программы — запустить exe-файл. При установке будет задан вопрос о том, ставить ли всё по умолчанию. Если вы ответите «да», то Thunderbird ставится в папку C:\Program Files\Mozilla Thunderbird, но можно выбрать и другое расположение. Никаких противопоказаний против этой папки нет, так что рекомендуется выбрать режим умолчания, чтобы в будущем не задумываться о том, где лежит ваша программа. Если у вас была старая версия Thunderbird, то её рекомендуется сначала удалить, во избежание возможных проблем.

Я первый раз запускаю Thunderbird При первом запуске Thunderbird у вас создаётся профиль — место, где Thunderbird хранит все ваши настройки, почту, пароли, темы и т. д. Также в профиль обычно инсталлируются расширения. 52 Глава 2. Почтовый клиент Mozilla Thunderbird

Могу ли я импортировать почту из других почтовых программ? Да, и не только почту, но ещё новости и настройки. Для этого надо выбрать меню «Инструменты → Импорт». Будет предложено выбрать, что импортировать. Выберите нужный вам пункт. Поддерживается импорт из Outlook, Outlook Express, Eudora и Messanger 4.x.

Хочу кнопки настроить Правой клавишей мыши нажмите на панель с кнопками. Выберите пункт «Настроить. . . ». Появится большое окно со множеством кнопок. Снизу мо- жете выбрать размер кнопок, а также ставить ли под ними подписи. Даль- ше всё решают ваши требования, желания — вы можете выбрать именно те кнопки, которые требуются.

Как ставить темы и расширения? Нужно открыть менеджер тем и расширений «Инструменты → Дополне- ния» содержащий вкладки «Темы» и «Расширения». Темы имеют расшире- ние .jar, расширения — .xpi. Расширения, переведённые на русский язык, можно скачать на форуме mozilla.ru1. Чтобы установить тему или рас- ширение, достаточно перетащить мышкой файл .jar или .xpi на соответ- ствующую вкладку управления темами или расширениями соответственно. Затем перезагрузить клиент. Всё, можете выбирать новую тему или начи- нать настраивать/использовать новое расширение.

Я что-то напортачил, и теперь ничего не работает Ничего страшного, не надо переустанавливать всю программу. Доста- точно создать новый профиль, где будут ваши новые настройки. Запустите Thunderbird с ключом -p (по аналогии с Firefox). Откроется окно с тре- мя кнопками «Создать профиль», «Переименовать профиль» и «Удалить профиль». Нажимайте на «Создать профиль», укажите имя нового профи- ля, путь (рекомендуется оставить все по умолчанию — проще ведь), и вот Thunderbird снова чист, как будто вы его только что установили.

У меня очень слабый компьютер, Thunderdbird загружается долго в первый раз, работает медленно Попытки заставить приложения загружаться вместе с Windows (Linux) не решают проблему, а загоняют её в угол. В такой ситуации лучше от- 1http://forum.mozilla.ru/viewforum.php?id=5 Первое знакомство с Thunderbird 53

казаться от части расширений, то есть ставить только самые необходимые, вовремя очищать базу писем, так как большой её объем замедляет работу. А также стоит путём правки пользовательских файлов максимально очистить Thunderbird от второстепенных иконок, элементов.

Заголовки отображаются кракозябрами. Можно это исправить? Да. Вызвать свойства папки, где возникает подобная проблема и сменить кодировку «по умолчанию». Обычно она по умолчанию Windows-1251, и в случае, если с этой настройкой возникают проблемы, смените её на предпо- чтительную (KOI8-R или другую, в зависимости от кодировки приходящих писем).

Я продвинутый пользователь, какие файлы конфигурации можно править вручную? • user.js (находится в папке с профилем);

• userChrome.css и userContent.css (оба находятся в папка профиля /chrome). Если их нет, то нужно создать. Описание возможных на- строек можно прочитать в соответствующих разделах.

Есть ли менеджер писем, чтобы удалять письма прямо на сервере? Да, но он не такой, как, например, в The Bat! Зайдите в «Инструменты → Фильтры сообщений», создайте новый фильтр. Укажите какое-нибудь условие, а действие выберите «Удалить с сервера POP». Эти письма не будут загружаться, а будут удаляться прямо на сервере.

Как исправить письмо в Исходящих? Ctrl+E. После сохранения создаётся ещё одно новое письмо. Старое удалите.

Как создать письмо изначально в текстовом виде? Удерживая Shift, нажмите мышкой на кнопку «Ответить». Если у вас стоит опция по умолчанию создавать письма в текстовом виде, то эта опция наоборот заставит создавать HTML-письма. 54 Глава 2. Почтовый клиент Mozilla Thunderbird

Как сделать так, чтобы письма в списке по определённым правилам раскрашивались в разные цвета? На действие фильтра повесьте изменение метки. Максимум может быть 6 цветов, включая чёрный.

Из ссылок в письмах открывается IE, а я хочу, чтобы открывался Firefox Убедитесь, что вы установили Firefox на своём компьютере. Сделайте его браузером по умолчанию. Thunderbird открывает ссылки в браузере по умолчанию.

Руководство мигрирующего пользователя1

Daniel Wang, Александр Удовидченко (перевод) Этот клиент для почтовых и новостных сообщений имеет много осо- бенностей, которые делают использование электронной почты простым и безопасным, такие как, например, адаптивный фильтр спама, представле- ние сообщения в виде простого текста, группировки сообщений, сохраня- емые папки поиска (или виртуальные папки), и настраиваемые обозрения. Это руководство поможет вам перейти на Thunderbird с Netscape, Mozilla, Microsoft Outlook или Outlook Express, Eudora или других почтовых клиен- тов.

Перед установкой Если вы переходите с Microsoft Outlook или Outlook Express, вы не должны деинсталлировать клиент перед миграцией. Mozilla Thunderbird не сможет импортировать ваши данные из Microsoft Outlook или Outlook Express, если они не установлены. Если у вас уже установлена Thunderbird, вы должны сначала деинстал- лировать его. Не устанавливайте Mozilla Thunderbird поверх старых версий. Деинсталляция не приводит к удалению профиля, поэтому все ваши на- стройки и сообщения останутся на месте. Если вы мигрируете с 4.x, вы не должны деин- сталлировать Communicator перед миграцией. Он вам понадобится, чтобы импортировать вашу адресную книгу.

1Эта статья распространяется по лицензии Creative Commons cc-by-sa (http://creativecommons.org/licenses/by-sa/2.0/). Переводы на другие язы- ки приветствуются. Руководство мигрирующего пользователя 55

Миграция во время первого запуска Если вы никогда не устанавливали Thunderbird прежде, то при первом запуске Thunderbird вы увидите Мастер импорта. Мастер предложит вам выбор, откуда автоматически импортировать дан- ные: из Mozilla или Netscape, Microsoft Outlook, или Microsoft Outlook Express. Выберите ваш клиент, и нажмите «Далее» — будут автоматически импортированы ваши почтовые ящики, параметры настройки учётной запи- си и адресных книг. Данные других почтовых клиентов (не перечисленных в списке Мастера импорта) или данные из другого профиля Mozilla/Netscape вы сможете импортировать позже. Для других почтовых клиентов или почты с другого профиля Mozilla/Netscape, вы сможете импортировать ваши данные позже вручную (см. ниже). Внимание: После этого момента у вас не будет возможности импортировать почту и параметры настройки учётной записи из Mozilla и Netscape. Если вы импортируете почту и данные с нескольких клиентов, выбирайте сначала импорт данных из Mozilla/Netscape. Осторожно: по умолчанию при запуске Thunderbird проверяет наличие новых писем для учётной записи по умолчанию (независимо от предыду- щих параметров настройки учётной записи). Если вы пробуете Thunderbird, и ваша заданная по умолчанию учётная запись — почта на протоколе POP, вам необходимо разъединить подключение к Internet, чтобы избежать уда- ления новой почты с вашего сервера POP и иметь возможность получить их сначала вашим старым почтовым клиентом.

Импорт данных вручную Thunderbird может импортировать данные непосредственно из других по- пулярных почтовых клиентов типа Mozilla, Netscape 7, Microsoft Outlook or Outlook Express и Eudora. Thunderbird может также импортировать данные в нескольких стандартных форматах, таким образом, миграция с других почтовых клиентов также возможна. Thunderbird прекрасно уживается вместе с другими Internet-программа- ми, так что их деинсталляция не нужна. 56 Глава 2. Почтовый клиент Mozilla Thunderbird

Миграция с Mozilla Suite 1.x или Netscape 7 Когда Thunderbird запускается впервые, он может предложить вам им- портировать почту и параметры настройки из Mozilla/Netscape. Эта особен- ность, к сожалению, доступна только при первом запуске. Если вы пропустили этот момент и хотели бы импортировать параметры настройки и почту позже, у вас есть два варианта: В первом варианте необходимо создать новый профиль (если в вашем Thunderbird нет ничего, что требуется сохранить): 1) Закройте Thunderbird, затем откройте Менеджер профилей. • В ОС Windows, откройте меню «Пуск» и выберете «Программы», затем «Thunderbird», затем Менеджер профилей. • На Linux или Unix, в командной строке перейдите к каталогу про- граммы Thunderbird и введите thunderbird -profilemanager. 2) Удалите ваш старый профиль. 3) Закройте Менеджер профиля, не запуская Thunderbird. 4) Запустите Thunderbird снова. Во втором варианте вам придётся вручную скопировать почтовые ящики и файл с обучающими фильтрами из Mozilla/Netscape в Thunderbird, и затем создать заново ваши учётные записи и фильтры в Thunderbird: 1) Сначала закройте и Thunderbird и Mozilla/Netscape. 2) Перейдите в каталог с профилем1 вашей Mozilla. 3) вы можете увидеть файл training.dat (там находятся примеры филь- тров — это обучающий файл). Скопируйте этот файл в любой времен- ный каталог. 4) Перейдите в каталог с почтой Mail. вы увидите подкаталоги, которые названы по имени ваших учётных записей, включая местные папки. 5) В каждом каталоге учётной записи вы увидите по два файла для каж- дой почтовой папки, один без расширения имени файла и один с рас- ширением .msf (например, inbox и inbox.msf для папки входящих писем почтового ящика). Файлы без расширения msf содержат почто- вые базы, а те, что с расширением .msf, — индексные файлы. Сделайте копии всех файлов с почтовыми базами (т. е. всех файлов без расши- рения). 1http://www.mozilla.org/start/1.5/faq/profile.html##location Руководство мигрирующего пользователя 57

6) Перейдите к вашему каталогу Thunderbird [стр. 61]. Перемести- те файл training.dat в этот каталог. Затем переместите другие ва- ши файлы в подкаталог Mail/Local Folders. Переименуйте файлы в случае необходимости. 7) Теперь вы можете импортировать ваши почтовые файлы и файл с обу- чающими фильтрами. Откройте Thunderbird и обновите ваши учётные записи [стр. 60].

Миграция с Microsoft Outlook или Outlook Express Чтобы импортировать ваши старые почтовые параметры настройки, пись- ма и адресную книгу:

1) В Thunderbird откройте меню «Инструменты» и выберите «Им- порт. . . ». 2) Следуйте инструкциям Мастера импорта.

Обратите внимание: импорт параметров настройки, писем, и адресных книг от Microsoft Outlook или Outlook Express требует, чтобы программа все ещё была установлена на ва- шем компьютере. вы можете деинсталлировать Outlook или Outlook Express позже.

Обратите внимание: Thunderbird не поддерживает специаль- ные символы (например «/» и «*») в почтовых папках. Если вы получаете следующую ошибку: «Невозможно импортиро- вать почтовые ящики, Нельзя создать объект для почтовых ящиков адресата», откройте Outlook (или Outlook Express) и переименуйте ваши папки. После этого попробуйте импорти- ровать их снова.

Миграция с Eudora Чтобы импортировать ваши старые почтовые параметры настройки, пись- ма и адресную книгу:

1) В Thunderbird откройте меню «Инструменты» и выберите «Им- порт. . . ». 2) Следуйте инструкциям Мастера импорта. 58 Глава 2. Почтовый клиент Mozilla Thunderbird

Обратите внимание: Thunderbird не поддерживает специальные симво- лы (например «/»и«*») в почтовых папках. Если вы получаете следующую ошибку: «Невозможно импортировать почтовые ящики, Нельзя создать объ- ект для почтовых ящиков адресата», откройте Eudora и переименуйте ваши папки. После этого попробуйте импортировать их снова.

Миграция с Netscape Communicator Чтобы импортировать письма из Communicator, в Thunderbird открывают меню «Инструменты» и выбирают «Импорт. . . ». Откроется диалог мастера импорта, и вам останется только следовать его инструкциям.

Импорт адресной книги Чтобы импортировать вашу адресную книгу из вашего профиля Communicator, сначала экспортируйте её в формат LDIF. Вот как это можно сделать:

1) Откройте Adress Book в Communicator. 2) В Adress Book откройте меню «File» и выберите «Export». 3) В диалоге Export, выберите тип LDIF (*.ldif). Напечатайте опознавае- мое имя файла, которое будет использоваться как имя адресной книги после импорта. Сохраните файл. 4) Закройте Netscape Communicator.

Чтобы импортировать LDIF файл в Thunderbird, выполните следующие пункты:

1) В Thunderbird откройте меню «Инструменты» и выберите «Им- порт. . . ». 2) В диалоге «Импорт» выберите «Адресные книги» и нажмите «Далее». 3) Выберите текстовый файл (LDIF, tab, csv, txt) и нажмите «Далее». 4) В следующем диалоге выберите LDIF файл, который вы только что экспортировали. 5) Теперь должно появиться сообщение о том, что адресная книга успеш- но импортирована из текстового файла. Руководство мигрирующего пользователя 59

Удаление старых профилей Деинсталлятор Netscape Communicator не удаляет ваши старые профи- ли. На ОС Windows и Linux, чтобы удалить ваши старые профили, удаляют подкаталог пользователей в каталоге установки Netscape Communicator.

Миграция с другого почтового клиента, например The Bat Thunderbird позволяет импортировать почту и из любого другого почто- вого клиента, не упомянутого выше:

1) В вашем старом почтовом клиенте экспортируйте вашу почту в формат стандартного почтового ящика Unix (mbox). После того как файл со- хранен, удалите любое расширение файла, каким бы оно ни было; на- пример, если имя файла — oldmail.mbx, сделайте его просто oldmail. В имени экспортируемого файла не должно быть никаких специальных символов (например, «/» или «*»). 2) Закройте Thunderbird, если он запущен. 3) Скопируйте файл почтового ящика в каталог Mail/Local Folders в ва- шем каталоге профиля [стр. 61].

Ваша старая почта должна теперь быть доступна в локальных папках вашего профиля в Thunderbird. Импортировать адресную книгу:

1) В вашем старом почтовом клиенте экспортируйте ваш адрес в формате LDIF. 2) В Thunderbird откройте меню «Инструменты» и выберите «Им- порт. . . ». 3) В диалоге «Импорт» выберите «Адресные книги» и нажмите «Далее». 4) Выберите текстовый файл (LDIF, tab, csv, txt) и нажмите «Далее». 5) В следующем диалоге выберите LDIF файл, который вы только что экспортировали. 6) Теперь должно появиться сообщение о том, что адресная книга успеш- но импортирована из текстового файла. 60 Глава 2. Почтовый клиент Mozilla Thunderbird

Установка учётной записи Чтобы установить почтовую учётную запись, откройте меню «Инстумен- ты» и выберите «Параметры учётной записи». Нажмите «Добавить учётную запись». Должен открыться соответствующий Мастер. Выберите «Учётная запись электронной почты» и нажмите «Далее». Введите ваше имя и адрес электронной почты. Нажмите «Далее». Выберите тип вашего входящего сервера. Чаще всего это POP. Введите ваш адрес сервера (например pop.mozillanews.org). Если ваш сервер входящей почты — POP, вы можете использовать еди- ный почтовый ящик для входящих писем. Если вы не отмечаете эту опцию, ваша почтовая учётная запись будет иметь собственные каталоги, такие как Входящие, Мусор, Черновики, и т. д. Много людей с несколькими учётны- ми записями предпочитают использовать единый ящик для входящих писем, где вся почта POP сохранена и управляется в одной папке. Вы можете также указать адрес вашего сервера исходящей почты (на- пример smtp.mozillanews.org). Нажмите «Далее». Введите ваше имя пользователя, чтобы получить почту (как правило, оно совпадает с названием вашей учётной записи, например danielwang) или ваш адрес электронной почты (например, mailto:danielwang@mozillanews. org). Если для отправки почты также требуется авторизация, вы можете ввести имя вашей учётной записи на сервере исходящей почты (обычно оно совпадает с именем учётной записи для получения почты). Нажмите «Далее». Введите имя учётной записи в Thunderbird. Нажмите «Далее». Теперь Мастер покажет резюме со сведениями о вашей новой учётной записи, в этот момент вы можете немедленно загрузить почту. Предостережение: если это — ваша первая почтовая учётная запись, и это — POP, Thunderbird немедленно загрузит сообщения, выставили ли вы эту опцию или нет. По умолчанию, Thunderbird не будет оставлять почту POP на сервере после загрузки. Если вы только пробуете Thunderbird, вам лучше отключить подключение к Интернет, чтобы избежать необходимости импортировать полученные письма из Thunderbird обратно в ваш старый почтовый клиент. Проверьте, всё ли правильно, и нажмите Готово, чтобы завершить на- стройку.

Получение Почты Чтобы загрузить почту, нажмите кнопку «Получить». Тонкая настройка 61

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

Расположение профиля Mozilla Thunderbird Стандартное расположение профиля:

Операционная система Путь Windows 95, 98, или МЕ C:\Windows\Application Data\Thunderbird (без входа в систему) \Profiles\случайная_строка.default Windows 95, 98 или МЕ C:\Windows\Profiles\имя_пользователя (со входом в систему) \Application Data\Thunderbird\Profiles\ случайная_строка.default Windows 2000 или XP C:\Documents and Settings\ имя_пользователя\Application Data\ Thunderbird\Profiles\случайная_строка .default Windows NT C:\WINNT\Profiles\имя_пользователя \Application Data\Mozilla\Thunderbird \Profiles\случайная_строка.default Linux ~/.thunderbird/случайная_строка.default/ Имя_пользователя здесь — то имя, под которым вы вошли в систему. Обратите внимание: на Windows 2000 или Windows XP, ка- талог Document и Settings скрыт флагами HIDDEN и SYSTEM. Чтобы видеть каталог, установите в вашем менеджере фай- лов отображение системных и скрытых файлов.

Тонкая настройка

Юрий Меркулов

Настройка файла user.js Файла user.js не существует по умолчанию, его надо создать и поме- стить в каталог вашего профиля. В нём устанавливаются разные свойства почтовой программы. 62 Глава 2. Почтовый клиент Mozilla Thunderbird

Важное замечание: Если в файл вносятся строки, содер- жащие символы кириллицы, то его необходимо сохранить в кодировке UTF-8. Как известно, Thunderbird отображает в колонке «Дата» дату и время письма для писем, пришедших вчера, и только время для писем, пришед- ших сегодня. Но это можно поменять. Итак, нужно добавить несколько переменных, находящийся в профиле: /*Отвечает за формат даты писем пришедших на этой неделе.*/ user_pref("mail.ui.display.dateformat.thisweek", 1);

/*Отвечает за формат даты писем пришедших сегодня.*/ user_pref("mail.ui.display.dateformat.today", 1);

/*Отвечает за формат даты все остальных писем.*/ user_pref("mail.ui.display.dateformat.default", 1); Значения переменных: • 0 — не отображать дату вообще (20: 20) • 1 — длинный формат (9 сентября 2003 г. 20: 20) • 2 — короткий формат (09.09.2003 20: 20)

• 3 — только год и месяц (2003/09 20: 20) • 4 — день недели (Вт 20: 20)

/*Показывает поле "Организация"*/ user_pref("mailnews.headers.showOrganization", true);

/*Показывает поле User Agent*/ user_pref("mailnews.headers.showUserAgent", true); Для добавления своих заголовков в почтовые сообщения добавьте сле- дующую переменную: user_pref("mail.compose.other.header", "X-Conspiracy,Approved,X-No-Archive"); При составлении сообщения в выпадающем меню (От, Кому. . . ) появятся 3 строки: X-Conspiracy, Approved, X-No-Archive. Для добавления заранее сформированных заголовков (например паролей для выхода в FIDO) добавьте следующие переменные: user_pref("mail.identity.id2.headers", "xx1, xx2, xx3"); user_pref("mail.identity.id2.header.xx1", "Keywords: qwerty"); user_pref("mail.identity.id2.header.xx2", "X-Fido: Rulezzzzzzz"); Тонкая настройка 63 user_pref("mail.identity.id2.header.xx3", "X-Love: I_love_Masha"); Вместо id2 подставьте id нужной учётной записи. Изменить запись о почтовом клиенте: user_pref("general.useragent.override", "Thunderbird 0.4 Homebrew edition by Unghost"); Для изменения цвета окна предварительного просмотра писем добавьте следующую переменную: user_pref("browser.display.background_color", "#F7F9EA"); Для настройки цитирования в стиле Text-only добавьте следующие пе- ременные: user_pref("mail.quoted_graphical", false); user_pref("mail.quoteasblock", false); user_pref("mailnews.display.disable_format_flowed_support", true); user_pref("mail.display_struct", true); Для изменения заголовка при ответе на сообщение, сделайте следующее: user_pref("mailnews.reply_header_ondate", "Ответ на Ваше письмо от %s"); user_pref("mailnews.reply_header_authorwrote", "Здравствуйте, %s\r\n"); user_pref("mailnews.reply_header_type", 3); user_pref("mailnews.reply_header_locale","ru-Ru"); user_pref("mailnews.reply_header_colon", ""); user_pref("mailnews.reply_header_separator", "");

Настройка userChrome.css Файл userChrome.css расположен в подкаталоге chrome вашего про- филя. userChrome.css предназначен для стилей настройки внешнего вида Thunderbird. В нём вы можете редактировать отображение основных эле- ментов почтовой программы, стили, создать свой собственный стиль.

Обратите внимание: userChrome.css не существует по умолчанию. Вы можете создать этот файл самостоятельно.

Эта строка должна быть в вашем userChrome.css обязательно: @namespace url("http://www.mozilla.org/keymaster/gatekeeper/ there.is.only.xul"); Для удаления иконок рядом с именем пользователя при выборе адреса при составлении письма добавьте следующие строки: treechildren::-moz-tree-image(GeneratedName) { margin: 0px ! important; 64 Глава 2. Почтовый клиент Mozilla Thunderbird list-style-image: none ! important; } Для изменения внешнего вида дерева папок и панели писем добавьте следующие строки: treerows { background-color: #F7F9EA ! important; } treechildren { font-size: 8pt ! important; font-family : Tahoma, Arial, Verdana, sans-serif ! important; font-weight: normal ! important; } treechildren::-moz-tree-cell-text(read) { font-size: 8pt ! important; font-family : Tahoma, Arial, Verdana, sans-serif ! important; font-weight: normal; } treechildren::-moz-tree-cell-text(unread) { font-size: 8pt ! important; font-family : Tahoma, Arial, Verdana, sans-serif ! important; font-weight: bold; } В результате цвет фона изменится на приятный желто-коричневый (#F7F9EA), а шрифт, которым отображаются папки, станет размером в 8 пунктов. Можно кое-что поменять в панели поиска. Для этого добавьте следую- щие строки: /* Выносим туда кнопку "Дополнительно": */ #advancedButton { display: -moz-box !important; }

/* Убираем кнопку "Очистить" */ #clearButton { display: none !important; } Для изменения размера окна с вложениями добавьте следующие строки (измените размер по желанию): .attachmentBox { width: 50em !important; max-width: 45em !important; } Полезные советы 65

Полезные советы

Автоматическая настройка учётных записей 1) Разворачиваете Thunderbird в какую-либо папку.

2) В папку defaults/isp\ кладёте файл с расширением .rdf (например myisp.rdf). Образцы файлов приведены ниже, значения и параметры надо, разумеется, ввести те, которые использует ваш провайдер. 3) Запускаете Thunderbird и выбираете в Мастере Учётных Записей пункт, указанный в новом файле в параметре NC:wizardShortName (в вышеприведённом примере это Gmail). вам надо будет только ввести имя и почтовый адрес. Все остальные параметры берутся из файла.

Пример для POP3

Gmail smtp.gmail.com 15 pop3 587 true true bob true

false

true 66 Глава 2. Почтовый клиент Mozilla Thunderbird

false true [email protected] Mozilla.ru

smtp.uio.no 587 2

true true

true

true Gmail Gmail true true Gmail [email protected] username user name User Name: Полезные советы 67

false

Пример для IMAP

UiO imap.uio.no 15 imap 993 true true

2 INBOX. "INBOX." 0 1 1 http://www.statsvitenskap.uio.no/manual/ 68 Глава 2. Почтовый клиент Mozilla Thunderbird

false false Universitetet i Oslo

smtp.uio.no 587 2

true true true

true UiO hjemmebruker UiO hjemmebruker true true UiO [email protected] username username User Name true

Полезные советы 69

Ещё некоторые примеры приведены по адресу http://lxr.mozilla.org /seamonkey/source/mailnews/base/ispdata.

Работа Thunderbird через прокси Алекс Ковалёв Все настройки приведены для следующих условий: Thunderbird Thunderbird 1.5 RUS Прокси UserGate 2.8 Win OS Windows XP Pro SP1 Ситуация Локальная сеть учреждения, выход в Сеть через сервер с установленным прокси-сервером.

Настройки UG (UserGate) • Заводим в UG пользователя (например, «юзер1») штатным способом. Пусть его IP — 192.168.0.19. Устанавливаем ему тип доступа к прок- си — «по паролю», прописываем ему логин и пароль.

• Не забываем в свойствах пользователя перечислить все нужные ему e-mail адреса. Например, [email protected]. • Открываем в UG общий доступ к почте («Почта → Разрешить → Порты →. . . » и т. д.). • В этом месте в окошке почты «Домены» надо прописать все нуж- ные для всех клиентов почтовые домены. Для нашего «юзер1» с адре- сом в mail.ru это будет так: домен — mail.ru, POP— pop.mail.ru:2 5, SMTP — smtp.mail.ru:110. • Важно: Открываем в UG специальный порт для доступа Thunderbird к почте. «Назначение портов → Добавить». «Имя» — любое, «Прото- кол» — TCP, «Исходящий адрес» — 192.168.0.19 (т. е. IP-адрес «юзера 1» внутри вашей сети), «слушающий адрес» — 192.168.0.1 (это бу- дет IP-адрес вашего прокси-сервера внутри вашей сети), «Слушаю- щий порт» — любой свободный порт (я поставил 1000), «Назначение- хост» — pop.mail.ru (т. е. название РОР-сервера для данного е- mail пользователя. Для адреса типа [email protected] будет pop.list.ru и т. д.), «Назначение-порт» — РОР3-порт, используемый указанным рор-сервером, обычно это порт 25. «Авторизацию» можете 70 Глава 2. Почтовый клиент Mozilla Thunderbird

выбрать какую хотите, лучше «по паролю» пользователя. На этом с UG все.

Обращаю ваше внимание, что придётся заводить такие от- крытые порты отдельно для каждого е-mail адреса каждого пользователя сети. Естественно, менять нужно только адрес хоста назначения и номера портов.

Настройки Thunderbird • «Инструменты → Настройки → Основные → Параметры соединения» отметьте «Автоматическое определение настроек прокси». Закройте настройки. • Настройки входящей почты: идите в настройки учётной записи. «Ин- струменты → Параметры учётной записи». Выберите «Параметры сер- вера» — тип сервера — рор3, имя сервера — 192.168.0.1 (это у вас будет внутренний IP-адрес вашей прокси), порт — 1000 (это будет тот, кото- рый вы открыли в UG специально для этой учётной записи и этого е-mail адреса), имя пользователя — vasyapupkin (имя пользователя для почтового сервера, не для прокси-сервера), использовать защищённое соединение — никогда. • Настройки исходящей почты: «Инструменты → Параметры учёт- ной записи → Сервер исходящей почты». Удалите в правом спис- ке SMTP-серверов все, что там было. Заведите новый SMTP-сервер («Добавить») с параметрами: «Описание» — любое, «Имя сервера» — 192.168.0.1 (т. е. опять же внутренний IP-адрес вашей прокси!), порт — 25 (т. е. порт по умолчанию для SMTP, а не тот порт, который вы от- крыли для Птицы в UG!), снимите отметку с пункта «Безопасность», «Использовать защищённое соединение» — нет. • Теперь о паролях. У вас наверняка все прежние пароли сохранены в менеджере паролей Thunderbird, и это мешает правильной автори- зации. Зайдите в менеджер паролей, запишите все старые данные, и УДАЛИТЕ все сохранённые пароли! Теперь при первом соединении Thunderbird запросит у вас пароли — вводите свой пароль для доступа к прокси. Часть II

Графика Глава 3

Настольная издательская система Scribus

Александр Прокудин

Scribus

О программе Scribus — это приложение для визуальной вёрстки документов, создан- ное для пользователей Linux/Unix/Mac OS X и Windows, по концепции аналогичное Adobe InDesign и QuarkXPress.

История проекта Вопреки сложившимся представлениям далеко не все разработчики от- крытого софта — студенты, не имеющие постоянной работы. Пятеро из де- вяти членов основной команды разработчиков — профессионалы в допечат- ной подготовке и типографском деле, как технические специалисты, так и консультанты. Это во многом объясняет успех программы, ведь пользовате- ли, которым нужна поддержка, хотят говорить с разработчиками на одном языке. В случае со Scribus они ровно это и получают. Во многом имен- но профессиональная подготовка авторов определяет акценты в развитии приложения. Несколько лет назад Франц Шмид на встрече со знакомыми обмол- вился, что хочет написать какую-нибудь программу на Python и в ответ услышал саркастичное «Ну да, приложение для вёрстки текста?». В ответ Франц улыбнулся и несколько недель спустя выпустил версию 0.1 програм- мы OpenPage, позднее переименованной в Scribus. Первая версия была принята достаточно благожелательно и дальнейшая история слегка напоминала историю Linux — всё больше и больше людей Scribus 73

начало обращать внимание на Scribus, делиться соображениями, присылать патчи. На определённом этапе весь код был переписан на C++, затем (в версии 0.5.6) появилась поддержка управления цветом. К выходу версии 1.0 сформировалась основная команда разработчиков, каждый из которых решает задачи из наиболее близкой ему области компетенции. К примеру, последние три года документацией к Scribus занимается Питер Линнелл, консультант в области предпечатной подготовки с 20-летним опытом ра- боты. Сам Франц за годы работы над программой стал настолько хорошо разбираться в типографском деле, что некоторое время назад сменил работу на более соответствующую его увлечению. С выходом первой версии продукта из серии 1.3.х Scribus стал доступен пользователям Windows и Mac OS X (версия 1.2.х в Mac OS X работала и ранее, но не была «родным» приложением для этой операционной системы и устанавливалась из fink).

Функциональные возможности Собственный формат документов • полная поддержка шрифтов и текста в Unicode, включая тексты, пишу- щиеся справа налево, например, на арабском языке и идише (благодаря freetype2). • блоки, видимые и скрываемые, с закругляемыми углами, вращаемые и масштабируемые; • шаблоны страниц; • слои для всего документа, перемещение объектов между слоями; • абзацные стили с различными настройками (выключка, шрифты, эф- фекты текста и т.д.); • ручной кернинг и встраивание шрифтов в документы; • связывание, группировка, блокирование, изменение размера объектов, преобразование типов объектов; • поля, направляющие, настраиваемое прилипание к сетке.

Публикация • поддержка цветовой модели CMYK; предпросмотр изображений с включенным управлением цветом и встраиванием ICC-профилей в PDF для аккуратного сохранения исходного цвета; 74 Глава 3. Настольная издательская система Scribus

• создание цветоделений CMYK и RGB в PostScript; • поддержка большого количества возможностей PDF, включая интер- активные заполняемые формы; поддерживаются почти все поля PDF и сценарии на JavaScript; • возможность создавать файлы для печати на типографском оборудова- нии, включая устройства, поддерживающие PostScript Level 3 и PDF 1.4; • импорт Encapsulated PostScript с предпросмотром на холсте и экспорт в EPS; • полная поддержка вывода в PostScript Level 2, большинства возмож- ностей Level 3 и поддержка PDF 1.4, включая полупрозрачность, гра- диенты и 128-битное шифрование; • полная совместимость с PDF/X-3 — стандартом ISO на PDF для пе- чатной публикации — впервые в мире; • встраивание шрифтов и исключение неиспользуемых символов при экспорте в PostScript и PDF; • Scribus может преобразовывать все используемые шрифты в контуры PostScript, сохраняя возможность изменять текст.

Простота использования • drag’n’drop в KDE 3, включая d’n’d в запасник для часто используемых объектов вроде текстовых блоков, логотипов, фоновых изображенний и т. д. • электронная справочная система с постоянно обновляемой документа- цией на нескольких языках и файлами примеров. • удобные инструменты и палитры для измерений, вращения и правки прочих свойств объектов; • поддержка TrueType, Type 1 PostScript и OpenType шрифтов; • настраиваемые пользователем «горячие клавиши»; • локализация интерфейса на 27 языках «из коробки», включая русский и украинский; • настраиваемая расстановка переносов в текстах на 27 языках, включая русский и украинский. Scribus 75

• удобные инструменты рисования фигур: линия от руки, прямая, кривая Безье, эллипсы, многоугольники и.т.д.; • подробные и гибкие пользовательские настройки возможностей про- граммы и документов.

Форматы файлов • собственный формат файлов Scribus 1.3.x полностью документирован и основан на XML; • EPS (Encapsulated PostScript), JPEG (Joint Photographic Experts Group), PNG (Portable Network Graphics), TIFF (Tag Image File Format) и XPM (XpixMap); • поддержка TIFF 6.0 и PSD со слоями и разными режимами наложения слоёв, обтравочными контурами (только в 1.3.x) • Scribus может импортировать и экспортировать корректные документы SVG 1.0 (Scalable Vector Graphics), включая текст по контуру, изобра- жения и текст. Все данные документа Scribus транслируются в SVG, изображения при этом преобразовываются в формат PNG; • Scribus может импортировать текст в большом количестве различ- ных кодировок, включая Unicode и «национальные» русские коди- ровки Windows-1251 и KOI8-R, кроме того, текстовые документы OpenOffice.org 1.x, OASIS OpenDocument Writer и Draw с сохране- нием стилей разметки, а также документы MS Word, HTML и Palm PDB.

Архитектура • программа разработана с использованием GPL-версии QT 3 для Linux и Unix-подобных операционных систем, работает в Windows и Mac OS X (начиная с версии 1.3.х — как «родное» приложение); • поддержка модулей и API для модулей импорта/экспорта; • мощный модуль сценариев на Python для расширения функций Scribus и автоматизации, равно как и запуска приложений извне. 76 Глава 3. Настольная издательская система Scribus

Целевое использование • макеты для бюллетеней, корпоративных циркуляров, постеры, учебные материалы, техническая документация, визитки и другие документы, требующие гибких макетов и серьёзных возможностей по обработке изображений, а также точного управления типографикой и размерами изображений, каковых нет в обычных текстовых процессорах; • создание документов для высококачественной тиражируемой печати, документов, распространяемых через Интернет в формате PDF и пре- зентаций; • создание интерактивных PDF-документов с заполняемыми формами для презентаций и передачи данных из PDF.

Планы на будущее Текущая версия 1.3.3.9 вышла в мае 2007 года. Ближайшие планы раз- работчиков по ветке 1.3 можно посмотреть на Wiki проекта1.

Установка

Windows Scribus работает только в Windows 2000 SP4 или Windows XP. В Windows 98 и ME программа не тестировалась и не поддерживается. Для Windows 2000 необходимо установить библиотеку GDI+, которую можно скачать с сайта Microsoft2. Минимальные требования к аппаратному обеспечению: Pentium III/750 МГц и 256 Мбайт оперативной памяти. В случае с Windows XP для увели- чения производительности рекомендуется переключиться на «классическую» тему. Перед установкой Scribus необходимо установить в систему Ghostscript для Windows, поскольку без Ghostscript невозможен импорт EPS/PS и пе- чать. Установите версию 8.60 с диска «Свободный офис. Выпуск 4» из каталога scribus запуском инсталлятора gs860w32.exe. Затем установите Scribus запуском инсталлятора scribus-1.3.3.9-win32-install.exe, на- ходящегося в том же каталоге.

1http://wiki.scribus.net/index.php/1.3.x_Roadmap 2http://www.microsoft.com/downloads/details.aspx?FamilyID=71 cd9e74-7142-4780-83e5-ce54401da1d1&DisplayLang=en Установка 77

Linux Как правило, достаточно свежая версия Scribus есть в репозиториях па- кетов для наиболее популярных дистрибутивов. Чтобы проверить наличие пакета, воспользуйтесь стандартным средством поиска по пакетам для ва- шего дистрибутива (yum для Fedora Core, apt/synaptic для Debian, ALT Linux, Ubuntu и т. д.). Если установка пакета из репозитория по тем или иным причинам невоз- можна, вы можете собрать программу из исходного кода. Для того чтобы программа собралась и корректно работала, необходимо установить в систе- му следующие компоненты:

• компилятор GCC 3.3+; • autoconf 2.53+ • automake 1.6.3+ • Qt 3.3.0+, рекомендуется Qt 3.3.6+; • Python и python-devel начиная с версии 2.3+ для поддержки сценари- ев; • Freetype2 2.1.7+, настоятельно рекомендуется 2.1.10+; • libart_lgpl 2.3.10+, рекомендуется 2.3.17+; • libxml 2.6+. • Ghostscript 8.15+ или AFPL Ghostscript 8.54+; • шрифты PostScript, TrueType и OpenType. • средства разработки для CUPS — Scribus может печатать напрямую через CUPS. • библиотеки разработки GIMP-Print — Scribus может использовать мо- дуль GIMP-Print для CUPS. • LittleCMS — для управления цветом; минимальная версия — 1.12, ре- комендуемая — 1.15. • tkinter — для сценария, создающего альбом шрифтов; • библиотеку python-imaging для предпросмотра в сценарии создания альбома шрифтов; 78 Глава 3. Настольная издательская система Scribus

• openssl-devel (некоторые дистрибутивы включают поддержку ssl для CUPS, в частности, Suse Linux); • fontconfig-devel — для автообнаружения новых шрифтов; • antiword — для импорта документов MS Word, на этапе сборки не тре- буется.

Для сборки Scribus распакуйте архив с исходным кодом командой $ tar jxf scribus-1.3.3.9.tar.bz2 Затем зайдите в появившийся каталог $ cd scribus-1.3.3.9 $ ./configure; make; sudo make install Предполагается, что в вашей системе настроен sudo. По умолчанию Scribus установится в /usr/local. Этот путь можно изменить, определив так называемый префикс следующим образом: $ ./configure --prefix=/ваш/путь/для/установки После установки программы в меню «Офис» должен появиться пункт «Scribus».

Настройка после установки

Управление цветом В Scribus реализована достаточно развитая система управления цветом на основе LittleCMS. Для того чтобы она работала, программа должна знать о местоположении каталога с ICC-профилями. Версия 1.3.х для GNU/Linux по умолчанию устанавливается с несколькими свободно распространяемы- ми профилями, чтобы пользователю не приходилось включать управление цветом вручную. Для Linux и Unix существуют стандартные каталоги хранения профилей, определённые в спецификации OpenIcc1: $HOME/.color/icc/ и /usr/share /color/icc/. Версия Scribus для ОС Windows использует стандартные в этой системе каталоги для хранения профилей: в Windows XP это \Windows\system3 2\spool\drivers\color, в Windows 2000 это \Winnt\system32\spool\ drivers\color. На установочном диске «Свободный офис. Выпуск 4» в каталоге scribus есть подкаталог icc, в котором находятся пакеты с типовыми свободно рас- пространяемыми ICC-профилями, в том числе профилями, созданными в Adobe.

1http://www.freedesktop.org/wiki/OpenIcc Памятка 79

Шрифты По умолчанию Scribus использует пути поиска шрифтов, стандартные для каждой операционной системы. Если вы храните шрифты в иных ка- талогах, пути к ним можно добавить через диалог настройки программы, в разделе «Шрифты→ Дополнительные пути».

Памятка

• всегда используйте самую новую версию Acrobat Reader (в настоящее время это 8.0.x), чтобы получать доступ ко всем возможностям фор- мата PDF; • используйте направляющие для визуального выравнивания объектов на странице, полезна и палитра «Выравнивание и распределение»; • экономьте бумагу — вместо распечатки цветопробы делайте экспорт в PDF с низким разрешением и смотрите его в Acrobat Reader; коррект- но созданный PDF покажет на экране дисплея достаточно информа- ции, чтобы можно было оценить результат печати; • используйте PNG вместо JPEG и GIF; PNG во многих отношениях удобнее, а кроме того сжимает данные без потерь; • используйте качественные шрифты, то есть Type 1 или TrueType от Adobe Bitstream и Monotype; к счастью, шрифты из пакета MS Web вполне подходят для печати в Postscript; в комплекте с многими про- граммами для дизайна и вёрстки (Corel DRAW, Adobe Pagemaker, Adobe InDesign и т.д.) обычно идут качественные шрифты Type1; • используйте шаблоны для экономии времени; • периодически делайте архивную копию файла настроек; • изменять значение в типовом графическом элементе spinbox можно тремя способами: к примеру, если при указании значения кегля обыч- ная прокрутка колесом мыши изменяет курсор справа внутри элемен- та — каждая прокрутка колесом мыши делает шаг в десяток единиц, когда слева — в сотню единиц, с нажатым Ctrl+Shift делается ещё больший шаг; • если возникнет необходимость сообщить об ошибке, для начала от- кройте диалог «Справка→ О Scribus. . . » и посмотрите номер версии программы, а также информацию о том, с поддержкой каких возмож- ностей Scribus собран. 80 Глава 3. Настольная издательская система Scribus

Самые частые ошибки и их исправление

Замечено, что пользователи часто сталкиваются с одними и теми же проблемами. Ниже перечислены некоторые из них.

• Экспортированный документ PDF оказался в цветовом пространстве RGB, хотя предполагалось печатать его в типографии. В диалоге «Экс- порт в PDF» перейдите на вкладку «Цвет» и в раскрывающемся спис- ке «Назначение вывода» выберите «Вывод на печать (CMYK)». В этом случае в экспортируемый документ PDF будет встроен профиль для принтера, указанный в настройках управления цветом (по умолчанию используется Euroscale Coated v2). • Картинки для веба (72dpi) против картинок для печати (300dpi). В диалоге «Экспорт в PDF» на вкладке «Общие» включите параметр «Изменить разрешение всего растра до» и укажите значение 300dpi. • Изображения и цвета объектов в печати выглядят не так, как заду- мывалось. Скорее всего, неправильно работает или не работает вовсе система управления цветом. Проверьте корректность профиля для пе- чати и применённых исходных профилей для встраиваемых изображе- ний. • Красные квадратики вместо букв. Вы пытаетесь использовать шрифт, в котором нет используемых вами символов, либо они есть, но записа- ны нестандартным способом. В руководстве к Scribus использование шрифтов рассмотрено1 достаточно обстоятельно.

Справочная информация

Руководство по Scribus В настоящее время начата работа над официальной документацией по Scribus на русском языке. Самую новую справочную информацию на ан- глийском языке можно получить на http://docs.scribus.net. Кроме того, можно воспользоваться её локальной копией, вызываемой прямо из программы («Справка→ Руководство по Scribus. . . » или F1). Разработка расширений Справочная информация для пишущих сценарии и расширения к про- грамме есть как на сайте, так и в локальной копии справки.

1http://docs.scribus.net/index.php?lang=en&page=fonts2 Справочная информация 81

Список рассылки Форма для подписки на список рассылки для англоговорящих пользо- вателей доступна по адресу http://nashi.altmuehlnet.de/mailman/ listinfo/scribus. Там же можно просмотреть архив. Для поиска по архиву рекомендуется использовать http://gmane.org. Сообщество пользователей С другими пользователями Scribus и прочих свободных программ для ра- боты с графикой можно пообщаться на http://www.linuxgraphics.ru. Глава 4

Редактор векторной графики Inkscape

Александр Прокудин

Inkscape Кратко о программе История Inkscape началась с того, что нескольких программистов и пару дизайнеров, умеющих писать код, перестали устраивать условия разработки редактора векторной графики Sodipodi. Поняв, что они не смогут в должной степени применить свои навыки, они организовали новый проект, который назвали Inkscape. На тот момент в GNU/Linux было всего два редактора векторной графики, которые можно было использовать в реальной работе — Sodipodi и SKetch, позднее переименованный в Skencil1. С тех пор разра- ботка Sodipodi практически сошла на нет, а Skencil живёт своей особой внутренней жизнью, в которую вовлечены только самые преданные пользо- ватели. Inkscape де-факто стал самым популярным свободным редактором в своей области. В настоящее время есть два свободных программных продукта, которые в той или иной степени могут соперничать с Inkscape. Это OpenOffice.org Draw2 — компонент одноимённого офисного пакета, и XaraLX3 — свободная версия известного векторного редактора, исходный код которого был пуб- лично открыт в марте 2006 года. OpenOffice.org Draw ориентирован строго на применение в офисе, его «иллюстраторские» возможности довольно-таки

1http://www.skencil.org 2http://www.openoffice.org/product/draw.html 3http://xaraxtreme.org Возможности 83

ограничены. XaraLX, как только его портирование завершится, с функцио- нальной точки зрения будет стоять на одной ступеньке лестницы с Inkscape и пользователям будет нелегко выбрать между ними. Существует ещё один продукт, традиционно популярный в среде технических специалистов — это XFig1. К сожалению, он не слишком хорошо подходит для создания худо- жественных иллюстраций. В свою очередь, Inkscape удобен для создания как художественных, так и технических иллюстраций, что неоднократно было доказано на практи- ке. Это стало возможным во многом благодаря открытому формату SVG, развиваемому консорциумом W3C. Формат SVG позволяет создавать ил- люстрации различного типа, в том числе анимированные. Поскольку SVG основан на языке разметки XML, к нему можно писать расширения, чем авторы Inkscape и пользуются.

Возможности Собственный формат документов • основан на SVG v1.1, содержит ряд расширений для увеличения функ- циональности; • документы Inkscape SVG можно сохранить как Plain SVG с возмож- ностью изменять неподдерживаемые в обычном SVG элементы как контуры; • документы можно сохранять и открывать в сжатом виде, с использо- ванием алгоритма компрессии gzip; • использование групп SVG как слоёв, перемещение документов между слоями.

Поддерживаемые форматы документов • Импорт: SVG, EPS, PostScript, Dia, AI, Sketch, PNG, TIFF, JPEG, XPM, GIF, BMP • Экспорт: PNG, SVG, EPS, PostScript, Dia, AI, Sketch, POV-Ray, LaTeX

1http://www.xfig.org/ 84 Глава 4. Редактор векторной графики Inkscape

Удобство использования • привычные инструменты: Выделение, Масштабирование, Правка уз- лов, Прямоугольник, Эллипс, Звезда, Спираль, Линия от руки, кривые Безье, Каллиграфическое перо, Текст, Соединительные линии, Гради- ент, Пипетка; • контекстная панель параметров инструментов; • большое количество продуманных клавиатурных комбинаций для вы- зова функций; • информативная статусная строка, сообщающая полезную информацию о выделенных объектах и подсказывающая клавиатурные комбинации; • встроенный векторизатор растровых изображений; • расширенные возможности работы с клонами объектов, создание узора из клонов при помощи любой из 17 групп симметрии; • поддержка наклона и силы нажатия стилуса при использовании гра- фических планшетов (инструмент «Каллиграфическое перо»); • коллективное рисование через протокол XMPP (Jabber); • экономия времени за счёт использования клонов и вставки стиля (при- сваивание свойств заливки и штриха одного объекта другому); • редактор XML-кода документа с деревом объектов — для доступа к временно неподдерживаемым в графическом интерфейсе параметрам документа.

Операции с контурами • логические операции: сумма, разность, пересечение, исключающее ИЛИ, разделить, разрезать контур; • динамическая и связанная втяжка; • упрощение контура; • оконтуривание штриха; • создание составных контуров; • вставка нового узла в любую точку контура; • быстрая смена типа узла с острого на сглаженный или симметричный. Установка Inkscape 85

Архитектура • используется собственный «движок» рендеринга livarot, рассматрива- ется переход на Cairo; • возможность писать расширения, реализующие, к примеру, поддержку новых форматов данных; • инфраструктура для исполнения сценариев, написанных на Perl, Python и Ruby;

Целевое использование • иллюстрации для офисных циркуляров, презентаций, создание логоти- пов, визиток, плакатов; • технические иллюстрации (схемы, графики и пр.); • векторная графика для высококачественной печати (с предваритель- ным импортом SVG в Scribus); • веб-графика — от баннеров до макетов сайтов, пиктограммы для при- ложений и кнопок сайтов, графика для игр.

Установка Inkscape

В Windows Для установки Inkscape двойным щелчком мыши запустите инсталля- тор inkscape-0. 45.1-1.exe. По умолчанию меню «Эффекты» со сценария- ми отключено. Для того, чтобы сценарии, написанные на Python, работали в Windows, установите из каталога inkscape дистрибутив Python двойным щелчком по python-2.5.1.msi. Запомните, в какой каталог среда разработки на Python будет установлена, затем укажите путь к ней для Windows. Для этого в Windows 2000 или XP:

1) Щёлкните правой клавишей мыши по пиктограмме «Мой компьютер». 2) В открывшемся меню выберите пункт «Свойства». 3) В появившемся диалоге перейдите на вкладку «Дополнительно». 4) Нажмите кнопку «Переменные среды».

5) В списке переменных выберите «Path» и нажмите кнопку «Изменить». 86 Глава 4. Редактор векторной графики Inkscape

6) Перейдите в конец перечисленных значений и добавьте «;путь к python», где путь к python — каталог, в который установлена среда разработки Python (например, C:\Python25) 7) Нажмите «ОК», «ОК», «Применить».

Перезагрузите компьютер для того, чтобы изменения в переменной пути были учтены. Теперь двойным щелчком мышью установите PyXML из инсталля- ционного пакета PyXML-0.8.4.win32-py2.4.exe в каталоге inkscape. Запу- стите Inkscape, откройте диалог настроек программы («Файл->Настроить Inkscape. . . » («Shift+Ctrl+ P»)).

В Linux Распакуйте архив: $ tar jxf inkscape-0.45.1.tar.bz2 Зайдите в появившийся каталог: $ cd inkscape-0.45.1 и дайте команду $ ./configure; make; sudo make install Предполагается, что в вашей системе настроен sudo. По умолчанию Inkscape будет установлен в/usr/local. Этот путь можно изменить, опре- делив так называемый префикс следующим образом: $ ./configure --prefix=/ваш/путь/для/установки Кроме того, задав несколько ключей конфигурации, можно включить следующие возможности:

• коллективное рисование через протокол XMPP (Jabber) — ключ --enable-inkboard (требуется библиотека и средства сборки loudmouth);

• исполнение сценариев на Perl — ключ --with-perl (требуются сред- ства разработки на Perl для ImageMagick);

• исполнение сценариев на Python — ключ --with-python (требуется пакет PythonXML).

В дальнейшем для расширения функциональности программы рекомен- дуется установить несколько пакетов, не требующихся на этапе сборки:

1) Perl, Image:: Magick, pstoedit с фильтром ps2ai для импорта и экспорта Файлов Adobe Illustrator AI (только тех, что основаны на PostScript); Справочная информация 87

2) Sketch для импорта файлов PostScript и Sketch; 3) GhostScript — для экспорта в PDF (только в Windows).

Справочная информация

1) Руководство пользователя по Inkscape. На английском языке Ке- вином Викссоном (Kevin Wixson) пишется документация по Inkscape1. Эта работа пока не завершена. 2) Книга по использованию Inkscape пишется Тавмжонгом Бахом (Tavmjong Bah). В книге изложены многие основные принципы дизай- на, её изучение рекомендуется даже в том случае, если вы используете другие инструменты для работы с векторной графикой. Текущий ад- рес: http://tavmjong.free.fr/INKSCAPE/MANUAL/html/index.php. 3) Уроки. Подробности изложены ниже. 4) Разработка расширений. Справочная информация для пишущих сце- нарии и расширения к программе есть в вики на сайте2 Inkscape (раз- дел Developer Documentation). 5) Список рассылки. Список рассылки для пользователей и ар- хив доступны по адресу https://lists.sourceforge.net/lists/ listinfo/inkscape-user. На странице http://www.inkscape.org/ mailing_lists.php перечислены все имеющиеся списки рассылки. Для поиска по архиву рекомендуется использовать http://gmane. org. 6) Сообщество пользователей. С другими русскоязычными пользовате- лями Inkscape и прочих свободных программ для работы с графикой можно пообщаться на http://www.linuxgraphics.ru.

Об уроках

Разработчики Inkscape пришли к выводу, что наиболее простой способ научить пользователей основам работы с программой — написать несколько уроков. Изложенные ниже уроки на английском языке есть в самой про- грамме. Они загружаются из меню «Справка» как обычные файлы SVG, в которых можно рисовать прямо на полях рядом с текстом и иллюстрациями. 1http://www.angelfire.com/mi/kevincharles/inkscape/index. html 2http://wiki.inkscape.org/wiki/index.php/Main_Page Глава 5

Учебник по Inkscape

Bulia Byak, Юрий Безнос (перевод)

Основы Перемещение по холсту Есть множество способов перемещаться по холсту. Попробуйте Ctrl+стрелки для перемещения при помощи клавиатуры (Попробуйте пря- мо сейчас Ctrl+стрелка вниз для смещения документа вниз). Вы также можете передвигаться по холсту, зажав его поверхность средней кнопкой мыши или при помощи ползунков (нажмите Ctrl+B (тут и далее все буквы в управляющих связках — латинские), для того чтобы показать или спря- тать их). Колёсико прокрутки на мышке также работает для вертикального перемещения. Для горизонтального перемещения используйте Shift вместе с колёсиком.

Изменение масштаба Простейший способ изменить масштаб — это нажать «-» или «+» (для увеличения работает и «=»). Также работает вариант Ctrl+средняя кноп- ка мыши или Ctrl+правая кнопка мыши — для увеличения, Shift+средняя или Shift+правая — для уменьшения, или колёсико мыши с нажатым Ctrl. Как вариант, вы можете выбрать масштаб увеличения в нижнем левом углу окна документа. Значение указанно в процентах, набрав нужное нажмите Enter. Ко всему прочему, есть инструмент масштабирования (среди инстру- ментов слева), который позволяет увеличивать только необходимую выде- ленную область. Inkscape хранит историю масштабов, которые вы использовали при рабо- те. Нажмите клавишу «‘», чтобы вернуться к предыдущему состоянию, или «Shift+‘» для перехода к следующему. Основы 89

Инструменты Inkscape Панель с пиктограммами в левой части окна представляет инструмен- ты Inkscape для рисования и редактирования. В верхней части окна, под меню, находится «Панель команд» с основными командными кнопками, и чуть ниже — «Панель параметров инструментов», содержащую параметры, специфичные для каждого инструмента. «Строка состояния», что в самом низу окна, будет показывать полезные подсказки во время вашей работы. Многие действия доступны с клавиатуры. Полный справочник по клави- шам можно вызвать через «Справка > Клавиатура и Мышь».

Работа с документами Для создания нового пустого документа используйте «Файл > Создать» или нажмите Ctrl+N. Чтобы открыть существующий SVG документ, ис- пользуйте «Файл > Открыть» (Ctrl+O). Для сохранения используйте «Файл > Сохранить» (Ctrl+S) или «Сохранить как...» (Shift+Ctrl+S) для со- хранения файла под другим именем. (Inkscape по прежнему может быть нестабильным в работе, так что запомните важное правило — сохраняться почаще!) Inkscape использует SVG (Scalable Vector Graphics — Масштабируемая Векторная Графика) формат для своих файлов. SVG является открытым стандартом и широко используется в графических пакетах. SVG файлы ба- зируются на XML и могут редактироваться любым текстовым или XML- редактором (отдельно от Inkscape). Помимо SVG Inkscape может работать и с другими форматами (EPS, PNG). Для каждого документа Inkscape открывает новое окно. Вы можете пе- реключаться между ними разными способами в зависимости от менеджера окон (например, нажав Alt+Tab для переключения между документами по кругу). Попробуйте сейчас создать несколько новых документов и попере- ключаться между ними для практики.

Создание фигур Настало время фигур! Выберите синий прямоугольник в полоске слева (или нажмите F4). Наведите курсор мыши на документ (тут же или в но- вом созданном окне), нажмите клавишу мыши и переместите её курсор в сторонуs — вы получите прямоугольник: 90 Глава 5. Учебник по Inkscape

Как видите, по умолчанию прямоугольник залит синим, имеет чёрный штрих и частично прозрачен. Ниже мы увидим как изменить эти параметры. Другими инструментами вы также можете создать овалы, звёзды и спирали:

Рассмотренные инструменты называются инструментами фигур. Каж- дая созданная фигура имеет один и более белых прямоугольников управ- ления (ручек); попробуйте потаскать их туда-сюда и обратите внимание на изменение фигуры (белые точки видны только когда выбран один из четы- рёх инструментов: синий квадрат, коричневый круг, жёлтая звёздочка или спираль). У панели настроек инструментов свой способ настройки фигуры. Управляющие элементы в ней влияют на выбранные в настоящий момент объекты (т. е. те, ручки которых видны), а также определяют параметры новых фигур. Для отмены последнего действия действует комбинация Ctrl+Z. (Ес- ли вы изменили решение, можно вернуть отменённое действие, используя Shift+Ctrl+Z.)

Перемещение, изменение размера и вращение Наиболее популярный инструмент в Inkscape — это Выделятель. Вы- брать его можно щёлчком по чёрной стрелке (либо нажатием F1 или пробе- ла. Этим инструментом вы можете выбрать любой объект на холсте. Щёлк- ните квадрат, изображённый на иллюстрации ниже:

Вокруг объекта вы увидите восемь стрелок. Теперь вы можете:

• Передвигать объект (с нажатым Ctrl перемещения ограничиваются двумя осями: горизонтальной и вертикальной). • Менять размер объекта, потянув за любую из стрелок (меняя размер с нажатым Ctrl, вы сохраните пропорции ориганала).

Щёлкните по прямоугольнику ещё раз. Направление стрелок изменится. Теперь вы можете: Основы 91

• Поворачивать объект, потянув за угловые стрелки. С нажатым Ctrl объект будет поворачиваться шагами по 15 градусов. Сместив крестик, вы сместите центр вращения. • Перекашивать (наклонять) объект, двигая неугловые стрелки. С на- жатым Ctrl перекашивание будет производиться с шагом в 15 градусов.

В этом режиме (режиме выделения объектов) вы так же можете менять размеры и расположение выделения на холсте, используя поля вверху.

Изменение формы при помощи клавиш Одна из особенностей Inkscape, отличающая его от большинства дру- гих редакторов векторной графики — это удобное управление с клавиатуры. Трудно найти команду или действие, которое нельзя было бы выполнить с клавиатуры, и изменение формы — не исключение. Вы можете использовать клавиатуру для перемещения объектов (исполь- зуя стрелки), изменения размера (клавиши < и >), и вращения (клавиши «[» и «]»). По умолчанию перемещение и размер меняются на 2 пиксела. С нажатым Shift это значение увеличивается в 10 раз (и становится равным 20 пикселам). Клавиши Ctrl+> и Ctrl+< увеличивают или уменьшают объект на 200% или 50% от оригинала соответственно. С нажатым Ctrl вращение будет поисходит с шагом в 90 градусов вместо 15. Кстати говоря, наиболее удобны пиксельные изменения формы, произ- водимые с нажатой клавишей Alt и клавишами изменения форм. Например, Alt+стрелки будут двигать выбранное на 1 пиксел данного масштаба (т. е. на 1 пиксел экрана, не путайте с пикселом, который является SVG еди- ницей длины и отличается от пиксела масштаба). Это значит, что если вы увеличили масштаб, то Alt+стрелка даст меньшее смещение от абсолют- ного измерения, что по-прежнему будет выглядит как смещение на пиксел на экране. Это даёт возможность точно разместить объект, меняя масштаб. Схожим образом Alt+> и Alt+< меняют размер на один пиксел, а Alt+> и Alt+< вращают объект на 1 пиксел.

Выделение нескольких объектов Вы можете выбрать любое количество объектов одновременно, нажав Shift+щелчок на желаемых объектах. Ещё можно выбрать объекты рамкой выделения, так называемым резиновым выделением. (Рамка выделения появляется, когда выделение начинается с пустого места, а с нажатой кла- вишей Shift рамка выделения появится и над объектом.) Попрактикуйтесь в выделении на этих трёх фигурах: 92 Глава 5. Учебник по Inkscape

Теперь, используя «резиновое» выделение (без или с клавишей Shift), выделите эллипсы, но не прямоугольник, что под ними:

Каждый выделенный объект отображается с пунктирной рамкой вокруг него. Благодаря этой рамке просто определить, какой объект выделен, а ка- кой — нет. Например, если выбрать оба эллипса и прямоугольник под ними, то без пунктирной рамки будет сложно понять, выбраны эллипсы или нет. Shift+щелчок на выделенном исключает его из общего выделения. По- пробуйте для практики выбрать три объекта сверху, а после этого, исполь- зуя Shift+щелчок, исключите эллипсы, оставив выделенным только прямо- угольник. Нажатие Esc сбросит все выделения. Ctrl+A выделяет все объекты в пределах активного слоя (если вы не создавали слоёв, это равносильно вы- делению всех объектов документа).

Группировка Несколько объектов могут быть объеденены в группу. При перемеще- нии и трансформации группа ведёт себя как обычный объект. Как следует из иллюстрации ниже, три объекта слева независимы, в то время как правые объекты сгруппированны. Попробуйте перетащить сгруппированные объек- ты.

Для создания группы нужно выбрать один или более объектов и на- жать Ctrl+G. Разгруппировать их можно, нажав Ctrl+U и предварительно выбрав группу. Сами по себе группы могут быть сгруппированы, как и оди- ночные объекты. Подобная поэтапная группировка может быть сколь угодно Основы 93

сложной. При этом следует помнить, что Ctrl+U разгруппирует только по- следнюю группировку. Нужно нажать Ctrl+U несколько раз, если вы хотите полностью разгруппировать сложносгруппированные группы в группе. Очень удобно, что вам не нужно разбивать группу для редактирования отдельных объектов. Выполнив Ctrl+щелчок по объекту, вы его выбере- те и сможете его редактировать. Таким же образом работает комбинация Shift+Ctrl+щелчок, позволяющая редактировать несколько объектов неза- висимо от группы. Попробуйте трансформировать или переместить отдель- ные объекты из предыдущего примера (правая верхняя картинка) без раз- группировки, потом выберите всю группу обычным образом и убедитесь, что объекты остались сгруппированными.

Заливка и штрих Множество функций Inkscape доступны через диалоги (подменю). Ве- роятно, самый простой способ заполнить объект каким-либо цветом — это выбрать «Образцы цветов...» из меню «Объект», выбрать объект и выбрать цвет в палитре образцов цвета (изменение цвета заливки или штриха объ- екта). Но более мощным способом будет выбрать диалог «Заливка и штрих...» через меню «Объект» (Shift+Ctrl+F). Выберите ту фигуру, что ниже, и откройте диалог «Заливка и штрих...».

Вы увидите, что диалог содержит три вкладки: «Заливка», «Цвет штри- ха», и «Стиль штриха». Вкладка «Заливка» позволит вам изменить заполне- ние выбранного объекта (или объектов). Используя кнопки под закладкой, вы можете выбрать тип заполнения, включая режим «Нет заливки» (кноп- ка со знаком «X»), режим «Плоский цвет», режимы «Линейный градиент» или «Радиальный градиент». Для вышеприведённой фигуры будет нажата кнопка «Плоский цвет». Чуть ниже расположены кнопки-варианты выбора цвета. Каждый ва- риант имеет свою вкладку: RGB, CMYK, HSL, и Круг. Вероятно, самым удобным вариантом является Круг, где можно выбрать тон цвета, вращая треугольник, а затем подобрать насыщенность и яркость в самом треуголь- нике. Все варианты выбора цвета имеют возможность менять альфа-канал (прозрачность) выбранного объекта (или объектов). Каждый раз при выборе объекта вкладка «Заливка и штрих...» показы- вает текущее значение для данного объекта (для нескольких, одновременно 94 Глава 5. Учебник по Inkscape

выбранных объектов, вкладка цвета показывает их усреднённый цвет). По- экспериментируйте на этих примерах:

Используя вкладку «Цвет штриха», вы можете убрать штрих (обводку) объекта, установить ему цвет или прозрачность:

Последняя вкладка «Стиль штриха» позволит вам изменить толщину и другие параметры штриха:

И, наконец, вместо сплошной окраски можно использовать градиенты для заполнения или/и для штриха:

При переключении с режима «Плоский цвет» в режим градиента, но- восозданный градиент использует предыдущий цвет и направлен от насы- щенности к прозрачности. Переключитесь на инструмент для градиентов (выбрав инструмент в левой панели или нажав Ctrl+F1). При перемещении ручки градиента — видно, что ручки связаны линиями, которые определя- ют направление и длину градиента. Когда какая-нибудь из ручек градиента выбрана (подсвечена синим), диалог «Заливка и штрих...» устанавливает цвет ручки (цвета части градиента), а не выбранного объекта. Ещё один способ изменить цвет объекта — использовать инструмент Пи- петка («Брать усреднённые цвета от изображения», F7). Просто щёлкните этим инструментом в любой части рисунка, и полученный цвет будет при- своен выбранному до этого объекту (Shift+щелчок присвоит цвет штриху). Основы 95

Дублирование, выравнивание, распределение Одним из наиболее распространённых действий является дублирова- ние объекта (Ctrl+D). Дублирование размещает дубликат над оригиналом и становится выделенным, так что вы можете его переместить в сторону при помощи мыши или клавиш со стрелками. Попробуйте построить линию из копий этого квадрата:

Вероятнее всего, копии квадрата стоят неровно; это можно поправить, используя диалог «Выровнять» (Ctrl+Shift+A). Выберите все квадраты (Shift+щелчок или выделив мышью), откройте диалог (в меню «Объект») и нажмите на кнопку «Центрировать на горизонтальной оси», а после на кнопку «Выровнять интервалы между объектами по горизонтали» (читай- те подсказки над кнопками). Теперь объекты аккуратно расстановлены и расстояние между ними одинаковое. Вот другие примеры выравнивания и расстановки:

Z-порядок Термин z-порядок (порядок по оси Z) относится к перекрыванию объ- ектами друг друга на рисунке. Иначе говоря, Z-порядок определяет, какой объект находится выше и закрывает собой другие. Две команды в меню «Объект» — «Поднять на передний план» (клавиша Home) и «Опустить на задний план» (клавиша End), переместят выбранный объект в самую верх- нюю или самую нижнюю позицию по оси Z данного слоя. Другие две ко- манды, «Поднять» (PgUp) и «Опустить» (PgDn), притопят или приподнимут выбранный объект (или объекты), но только на один уровень относительно других не выделенных объектов по Z-оси (считаются только объекты, пере- крывающие выделенные; если выделение ничем не перекрывается, действие «Поднять» и «Опустить» будет ставить его в самую верхнюю или самую нижнюю позицию соответственно). Попрактикуйтесь в использовании этих команд, перевернув Z-порядок нижестоящих объектов так, чтобы крайний левый эллипс оказался вверху, а крайний правый — в самом низу: 96 Глава 5. Учебник по Inkscape

Очень полезная клавиша для выделений объектов — это Tab. Если ни- чего не выбрано, Tab выделяет самый нижний объект по оси Z; иначе Tab выбирает объект, находящийся над выбранным объектом (объектами) на Z-оси. Shift+Tab срабатывает наоборот, переключая от верхнего к нижнему, поскольку при создании объект добавляется в самый верх Z-уровня. И если нет выделения, нажатие Shift+Tab выберет последний созданный объект. Попробуйте с Tab и Shift+Tab на стопке эллипсов вверху.

Выделение объектов под объектами и перемещение выделенного Что вы будете делать, если нужный вам объект закрыт другим объектом? Вы можете видеть нижний объект? если верхний (частично) прозрачен, но щёлкнув по нужному, вы сделаете выделеным верхний объект, а не тот, что вам нужен. В такой ситуации может помочь комбинация Alt+щелчок. Для начала нажмите Alt+щелчок на объекте. Выбран будет тот объект, что сверху, как и при обычном выделении. Но при повторном нажатии Alt+щелчок в этом же месте выделенным станет нижний объект, ещё нажатие — и выделение сместится на объект ещё ниже и т.д. Таким образом, несколько нажатий Alt+щелчок на стопке объектов будут перемещать выделение от верхне- го объекта к нижнему на Z-оси. Добравшись до самого нижнего объекта, нажатие Alt+щелчок выберет самый верхний объект. Это замечательно, но что вы теперь будете делать с выделенным объек- том, находящимся под объектом? Вы можете менять его форму и передви- гать за управляющие ручки, но при попытке перемещения самого объекта ваше выделение сбросится и выделенным станет объект, находящийся выше (таким образом работает система щелчок-и-перемещение — сначало она вы- бирает объект (верхний) под курсором, а потом уже даёт возможность его перемещать). Чтобы сказать Inkscape перемещал то, что выбрано сейчас, не выбирая ничего другого, используйте Alt+перемещение (мышью). Это будет перемещать нужное выделение вне зависимости от того места, где движется курсор мыши. Попрактикуйте Alt+щелчок и Alt+перемещение (мышью) на двух ко- ричневых фигурах, что под зелёным прозрачным прямоугольником: Советы и хитрости 97

Заключение На этом завершается урок по основам Inkscape. Это лишь малая часть возможностей Inkscape, но уже с теми знаниями, которые вы получили, можно создавать простые и полезные графические работы. Описание более сложного материала можно найти в учебнике «Второй уровень» и других учебниках в меню «Справка > Учебники».

Советы и хитрости

Этот урок познакомит вас с некоторыми хитростями и «скры- тыми» возможностями Inkscape, которые могут заметно ускорить работу.

Распределение объектов по радиусу круга с использованием функции «Узор из клонов» Несложно разобраться с тем, как Узор из клонов работает для пря- моугольных сеток и узоров. Но что делать, если вам нужно распределить объекты по кругу так, чтобы у всех объектов был один центр вращения? Если ваш радиальный узор будет состоять из 3, 4, 6, 8 или 12 элементов, попробуйте типы симметрии P3, P31M, P3M1, P4, P4M, P6 или P6M. Они прекрасно подходят для снежинок и схожих с ними фигур. Более общий способ получения радиального узора описан ниже. Выберите симметрию P1 (простое смещение) и скомпенсируйте это сме- щение, перейдя во вкладку Смещение и установив значение На строку/ Смещение по Y и На столбец/Смещение по X равным -100%. За счёт этого все клоны будут расположены точно над оригиналом. Всё что остаётся — это перейти во вкладку Поворот и установить некоторый угол вращения на столбец, а затем создать узор в одну строку и несколько столбцов. Вот при- мер шаблона из горизонтальной линии и 30 столбцов, каждый из которых повёрнут на шесть градусов: 98 Глава 5. Учебник по Inkscape

Чтобы получить из этого часовой циферблат, вам нужно лишь выре- зать центральную часть или положить поверх неё белый круг (отсоедините клоны, чтобы иметь возможность выполнять логические действия с ними). Более интересный эффект может быть создан при использовании строк и столбцов одновременно. Вот шаблон из 10 столбцов и 8 строк с поворотом в 2 градуса на строку и 18 градусов на столбец. Каждая группа линий здесь — «столбец», так что каждая группа отстоит от другой на 18 градусов; внутри каждого столбца интервал между линиями равен 2 градусам:

В приведённом выше примере линии поворачиваются вокруг центра. Но как быть, если вы хотите, чтобы центр был вне фигуры? Просто создай- те невидимый (без штриха и наполнения) прямоугольник, который должен закрывать всю фигуру и центр которого располагается в нужном вам ме- сте, сгруппируйте фигуру и прямоугольник вместе и используйте функцию «Узор из клонов» на этой группе. Именно так вы можете создавать «взры- вы» и «звездопады» путём случайного поворота, смены размера и, возможно, прозрачности: Советы и хитрости 99

Как сделать нарезку работы (на несколько прямоугольных областей)? Создайте новый слой, а в нём — невидимые прямоугольники, перекрыва- ющие необходимую часть картинки. Удостоверьтесь, что документ исполь- зует единицу измерения «px» (точки растра), используемую по умолчанию. Затем включите сетку и расположите прямоугольники по сетке так, что- бы каждый прямоугольник занимал целое число единиц «px». Назначьте осмысленные ID прямоугольникам и экспортируйте каждый в собственный файл. Прямоугольники запомнят имена этих файлов. После этого любой из прямоугольников очень просто экспортировать ещё раз. Достаточно пе- реключиться на экспортируемый слой клавишей Tab (или поиском по ID) выбрать нужный прямоугольник и нажать кнопку «Экспортировать» в диа- логе экспорта. Кроме того, можно написать сценарий для автоматического экспорта всех интересующих вас областей через командную строку, исполь- зуя команду вида: inkscape -i -t <имя_файла.svg> для каждой экспортируемой области. Ключ -t говорит программе, что для экспорта будет использоваться запомненное имя файла, но вы може- те указать любое при помощи ключа -e. В качестве альтернативы можно использовать утилиту svgslice1, которая автоматически экспортирует обла- сти документа Inkscape, используя направляющие, либо передаваемые ей значения ID.

1http://www.digitalunleashed.com/ 100 Глава 5. Учебник по Inkscape

Нелинейные градиенты Версия 1.1 SVG не поддерживает нелинейные градиенты (т. е. нелинейно переходящие из цвета в цвет), но вы можете создать их подобие, используя градиент с множеством опорных точек. Начните с обычного градиента из двух опорных точек. Откройте редак- тор градиента (двойной щелчок по узлу градиента курсором инструмента для редактирования градиентов). Добавьте новую опорную точку посере- дине и сместите её немного. Добавьте ещё несколько опорных точек до и после этой, а затем тоже сместите их так, чтобы градиент получился ров- ным. Чем больше опорных точек вы добавите, тем более мягкими будут переходы в градиенте. Ниже изображён исходный чёрно-белый градиент с двумя опорными точками:

А тут примеры разных «нелинейных» градиентов с множеством опорных точек (проверьте это при помощи инструмента редактирования градиента).

Радиальный градиент со смещённым фокусом Радиальные градиенты не обязательно должны быть симметричными. Используя инструмент для редактирования градиентов, сместите централь- ный узел эллиптического градиента с нажатой клавишей Shift. Это сдвинет крестик, являющийся узлом фокуса градиента. Если вам это не нужно, вы можете вернуть узел фокуса в центр, просто перетащив его в центр. Советы и хитрости 101

Выравнивание по центру страницы Для того чтобы выровнять что-либо по центру или по стороне страницы, используя функцию «Выровнять» (Ctrl+Shift+A), выберите пункт Страницы напротив Относительно:.

Удаление ненужного из документа Множество неиспользуемых градиентов, шаблонов и маркеров (точнее, тех, что изменялись вами вручную) остаётся в соответствующих палитрах. Их можно использовать в новых объектах. Однако, если вы хотите опти- мизировать размер вашего документа, вы можете использовать функцию Очистить Defs в меню «Файл». Эта операция уберёт все градиенты, шабло- ны и маркеры, которые не используются в документе, что, соответственно, уменьшит размер файла.

Обтравочные контуры и маски для растра Изначально импортированное изображение (например, фотография) — это элемент , к которому не применим инструмент для редактирова- ния узлов. Это легко поправимо: преобразуйте изображение в прямоуголь- ник с текстурной заливкой, используя функцию «Объект(ы) в текстуру» (Alt+I). В результате у вас появится прямоугольник, заполненный изобра- жением как текстурой. Теперь этот объект можно преобразовать в контур, и над ним можно производить логические операции (вычитание, объедиение и пр.), изменять узлы и т. д. В настройках Inkscape (вкладка «Прочее») можно указать, должны ли все импортируемые изображения быть прямоугольни- ками с текстурным заполнением или же растровыми изображениями в виде элемента .

Скрытые возможности и редактор XML XML-редактор позволяет вам изменить почти все параметры докумен- та без необходимости использования внешнего текстового редактора. Кроме того, Inkscape обычно поддерживает больше возможностей формата SVG, чем доступно через графический интерфейс. К ним относятся, например, отображение масок и обтравочных контуров, каковые через графический интерфейс пока что нельзя ни создать, ни изменить. XML-редактор позво- ляет использовать эти возможности (если вы знаете SVG). 102 Глава 5. Учебник по Inkscape

Изменение единицы измерений для линеек В стандартном шаблоне единицей измерения для линеек является пик- сел «px» («единицы SVG», в Inkscape он равен 0.8pt или 1/90 дюй- ма). Эта же единица используется для отображения координат в ни- жем левом углу и во всех подменю. Вы всегда можете навести кур- сор мыши на линейку и увидеть в подсказке, какие еденицы измерения ипользуются. Изменить эту настройку можно в разделе Страница диа- лога Настройки документа (Ctrl+Shift+D), измените значение параметра Единица измерения по умолчанию.

Штамповка Для быстрого создания множества копий объекта используйте штам- повку. Просто перемещайте объект (либо меняйте его размер или повора- чивайте) и, не отпуская клавиши мыши, нажимайте Пробел. Это оставит «штамп», а попросту копию данного объекта на том месте, где он находился во время нажатия пробела. Вы можете сделать сколкьо угодно штампов.

Трюки с пером Используя инструмент, рисующий кривые Безье и прямые линии, вы можете завершить контур несколькими способами, описанными ниже:

• нажать клавишу Enter; • дважды щёлкнуть левой клавишей мыши; • выбрать этот инструмент ещё раз; • выбрать другой инструмент.

Обратите внимание, что пока контур не завершён (т. е. отображается зелё- ным или, если сегмент текущий, то красным) он ещё не является объектом документа. Следовательно, чтобы отменить его, можно использовать клави- шу Esc (отменить весь контур) или клавишу Backspace (убрать последний сегмент незаконченного контура) вместо команды Отменить. Для добавления нового сегмента контура к уже существующему контуру выберите контур и начните рисовать, удерживая нажатой клавишу Shift с любого из узлов. Если всё что вам нужно, это продолжить контур, Shift не нужен, просто начните рисовать с одного из конечных узлов выбранного контура. Советы и хитрости 103

Ввод значений Unicode При использовании инструмента Текст, нажатие Ctrl+U переключает ре- жим ввода с обычного на Unicode и обратно. В режиме Unicode каждая группа из вводимых вами четырёх шестнадцатеричных цифр превращается в символ Unicode. Это позволяет вам вводить произвольные символы (конеч- но, если вы знаете их Unicode-коды и шрифт, содержащий такие символы). Для выхода из Unicode-режима нажмите Esc. Например, введя Ctrl+U 2 0 1 4 Esc, вы получите тирe (« — »).

Использование сетки для рисования пиктограмм Предположим, вы хотите нарисовать пиктограмму размером 24x24 пик- селов. Создайте холст 24x24 px (используя диалог Настройки документа) и установите сетку в 0.5 px (48x48 пересекающихся линий). Теперь когда вы выравниваете заполненные объекты по чётным линиям сетки, а объ- екты со штрихом — по нечётным с шириной штриха, являющейся целым числом пикселов, и экспортируете их с изначальным значением dpi равным 90 (т. е. каждый пиксел холста становится одним пикселом изображения), вы получаете чёткую растровую картинку без сглаживания.

Вращение объекта Выбрав инструмент Выделение, щёлкните какой-нибудь объект, чтобы увидеть его стрелки для смены размера. Щёлкните ещё раз по объекту, и вы увидите стрелки для вращения и скашивания. Если перемещать угло- вые стрелки, объект будет поворачиваться вокруг центра (центр изображён крестиком). Если нажать клавишу Shift в момент поворота, поворот будет происходить вокруг противоположного угла. Вы также можете переместить центр вращения куда угодно. Вращение можно производить и с клавиатуры нажатием клавиш «[» и «]» (на 15 градусов) или «Ctrl+[» и «Ctrl+]» (на 90 градусов). Эти же клавиши «[» и «]» с нажатием Alt поворачивают объект(ы) с шагом в один пиксел.

Использование меню «Открыть...» как палитры Если у вас есть несколько небольших SVG-файлов, содержимое которых вы часто используете в других документах, вы можете использовать ме- ню «Открыть...» как палитру. Добавьте папку с вашими SVG-документами в закладки для быстрого доступа к ним. Затом воспользуйтесь областью предпросмотра, найдите нужный файл и перетащите его мышкой на холст. 104 Глава 5. Учебник по Inkscape

Диалог останется открытым, а рисунок будет импортирован в текущий до- кумент.

Отбрасывание тени у растровых изображений Пока Inkscape не поддерживает фильтр SVG «Гауссово размывание», вы легко можете создать размытые тени для объектов-изображений, используя функцию «Сделать растровую копию» со сценарием фильтра. Подробности описаны в документе share/extensions/inkscape-shadow.README.

Размещение текста по контуру Чтобы разместить текст по поверхности кривой, выберите текст и контур одновременно и используйте функцию Разместить по контуру из меню «Текст». Текст будет размещён от начала контура. Лучший вариант — ис- пользовать отдельный контур для заполнения текстом, чем заполнять тек- стом один из существующих элементов — это даст вам больший контроль без лишних проблем.

Поиск оригинала Когда у вас есть текст размещённый по контуру, связанный объект или клон, то порой очень сложно найти их исходный объект, потому что он может находиться под другими объектами, быть невидимым или просто закрытым для изменений (функция «запереть»). Магическая комбинация клавиш Shift+D поможет вам. Выберите текст, связанный объект или клон и нажмите Shift+D, чтобы выделение переключилось на соответствующий контур, оригинал клона или оригинал связанного объекта.

Возвращение ушедших за экран окон При работе с документом на разных системах с разными разрешения- ми экрана или с несколькими мониторами, вы можете столкнуться с тем, что Inkscape запоминает позицию окна, и окно может оказаться вне экра- на. Просто нажмите на управляющую пиктограмму окна, отвечающую за распахивание окна (что должно вернуть окно в поле зрения, используй- те панель задач), сохраните и откройте документ вновь. Вы можете обойти этот недостаток, отключив глобальный параметр сохранения геометрии окна (Настроить Inkscape, вкладка Окна). Векторизация 105

Прозрачность, градиенты и экспорт в PostScript Форматы PostScript и EPS не поддерживают прозрачность, так что никогда не используйте её, если собираетесь экспортировать рисунок в PS/EPS. При однородной прозрачности объектов вопрос решается просто. Выберите один полупрозрачных объектов, переключитесь на инструмент Пипетка (F7), удостоверьтесь, что включен режим «Брать видимый цвет без альфа-канала», и щёлкните по уже выбранному объекту. Видимый цвет будет получен и заново присвоен объекту, но уже без полупрозрачности. Повторите эту процедуру с остальными объектами. Если полупрозрачный объект перекрывает несколько объектов с простой заливкой, вам придётся разделить его на части и повторить процедуру для каждого из кусочков. Экспорт градиентов в PS или EPS не работает ни для текста (пока текст не преобразован в контур), ни для штрихов. Кроме того, поскольку прозрачность при экспорте в PS и EPS теряется, вы не можете использовать градиент из, скажем, непрозрачного синего в прозрачный синий. Обойти это ограничение можно создав градиент от непрозрачного синего в непро- зрачный цвет фона.

Векторизация

При помощи Inkscape можно векторизовать растровое изобра- жение, то есть превратить его в SVG-элемент . О том, как работает эта функция программы и рассказывается в настоящем документе.

В настоящее время для векторизации Inkscape использует код программы Potrace Питера Селинджера1. В будущем возможно подключение других программ, но уже сейчас Potrace вполне достаточно. Помните, что целью векторизации не является создание точной копии исходного изображения или готового продукта. Ни одному векторизатору это не под силу. Всё что он может — это дать вам набор контуров, которые вы можете использовать в своих работах. Potrace получает на входе чёрно-белые растровые изображения и отдаёт на выходе набор контуров. Существует три входных фильтра для преобра- зования исходного изображения в понятный для Potrace формат. Как правило, чем темнее пикселы в изображениях, тем больше работы для Potrace. Чем больше работает векторизатор, тем больше используются ресурсы центрального процессора и тем больше описание контура (элемента

1http://potrace.sourceforge.net 106 Глава 5. Учебник по Inkscape

). Поэтому рекомендуется начать с более светлых версий изображе- ния, постепенно затемняя их до получения желаемого уровня детализации конечного контура и пропорций. Для использования векторизатора загрузите или импортируйте изобра- жение, выберите его и используйте функцию «Контуры > Векторизовать растр...», либо комбинацию клавиш Shift+Alt+B.

В открывшемся меню среди прочих вы найдёте следующие три фильтра: • Яркость изображения Этот фильтр просто использует сумму красного, зелёного и синего (или от- тенки серого) компонентов пиксела в качестве индикатора, воспринимать ли его как чёрный или же как белый. Значение порога яркости может быть задано в диапазоне от 0.0 (чёрный) до 1.0 (белый). Чем выше значение, тем меньше пикселов будет воспринято как белые и тем темнее станет изобра- жение.

• Оптимальное определение краёв (Canny). Этот фильтр использует алгоритм определения краёв, придуманный Дж. Канни (J. Canny) как способ быстрого поиска изоклин и подобных контрастов. Этот фильтр создаёт картинку, меньше похожую на оригинал, чем результат первого фильтра, но предоставляет информацию о кривых, ко- торая при использовании других фильтров была бы проигнорирована. Зна- чение порога здесь (0.0 — 1.0) регулирует порог яркости между смежными пикселами, в зависимости от которого смежные пикселы будут или не будут становиться частью контрастного края и, соответственно, попадать в вывод. Фактически, этот параметр определяет темноту или толщину края. Векторизация 107

• Квантование цветов

Результатом работы этого фильтра является изображение, которое замет- но отличается от результата работы двух предыдущих фильтров, но при этом тоже полезно. Вместо того чтобы показывать изоклины яркости или контраста, этот фильтр ищет края, где меняется цвет, даже если смежные пикселы имеют одинаковую яркость и контраст. Параметр этого фильтра (количество цветов) определяет количество цветов на выходе, как если бы растровое изображение было цветным. После этого фильтр определяет чёр- ный это пиксел или белый в зависимости от чётности индекса цвета.

Пользователю стоит попробовать все три фильтра и внимательно рас- смотреть различия в результатах обработки разных изображений. Всегда найдётся изображение, на котором один фильтр сработает лучше двух дру- гих. После векторизации рекомендуется воспользоваться функцией Контуры > Упростить (Ctrl+L) на полученном контуре, чтобы уменьшить количество узлов. Это делает результат работы Potrace более лёгким для редактирова- ния. Вот пример типичной векторизации изображения Старика с Гитарой: 108 Глава 5. Учебник по Inkscape

Обратите внимание на чудовищное количество узлов. После нажатия Ctrl+L результат будет таким:

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

Профи

Способы вставки После того как вы скопируете какой нибудь объект(ы), используя Ctrl+C (здесь и далее буквы в клавиатурных комбинациях латинские) или вырежи- те при помощи Ctrl+X, обычная команда ставитьВ (Ctrl+V) вставит ско- пированный объект(ы) точно под курсор мыши или, если курсор находится за пределами окна, в центр документа. Вместе с тем, находящийся в бу- фере обмена объект(ы) «помнит» своё исходное местоположение. Благодаря Профи 109

этому его можно вставить обратно, используя команду «Вставить на место» (Ctrl+Alt+V). Команда «Вставить стиль» (Shift+Ctrl+V), применяет стиль (первого) объекта из буфера к выбранному в данным момент объекту или группе объектов. Стиль включает в себя заполнение, штрих и настройки шрифта, но не размер и не параметры фигуры (такие как количество вершин в звезде и т. п.). Для справки: у Inkscape собственный буфер обмена; системный буфер обмена задействован только при копировании/вставке текста.

Рисование произвольных линий и кривых Безье Простейший путь создать произвольную фигуру это нарисовать её при помощи Карандаша («Рисовать произвольные контуры» в меню слева, F6):

Если хотите получить более правильные фигуры, используйте Перо (ин- струмент «Рисовать кривые Безье и прямые линии» в меню слева, Shift+F6):

При использовании Пера каждый щелчок (короткое нажатие левой кноп- ки мыши) создаст острый узел без возможности управлять изгибом (без узлов управления). Так что серия щелчков создаст последовательность из прямых отрезков линии. Щелчок и смещение создаст гладкий узел Безье с двумя узлами управления, лежащими на одной линии, но направленны- ми в разные стороны. Нажмите Shift при перемещении узла управления, чтобы крутить только один ус и зафиксировать другой. Кроме того, Ctrl 110 Глава 5. Учебник по Inkscape

ограничивает поворот усов шагами по 15 градусов. Нажатие Enter закан- чивает линию, Esc отменяет её. Для отмены только последнего сегмента незаконченной линии нажмите Backspace. В обоих рассмотренных инструментах выбранный контур имеет малень- кие квадратики, якоря, на обоих концах контура. Они позволяют продол- жить этот контур (рисуя от одного из якорей) или закрыть контур (рисуя от якоря до якоря).

Редактирование контуров В отличае от фигур, созданных инструментами фигур, Перо и Каран- даш создают так называемые контуры. Контур — это последовательность отрезков прямых линий, и/или кривых Безье, которая, как и любой дру- гой объект в Inkscape, может иметь собственные параметры заполнения и штриха. В отличие от фигур контур можно свободно редактировать, смещая любой из его узлов (а не только предустановленные узлы). Выберите этот контур и включите инструмент редактирования узлов (F2):

Вы увидите несколько серых квадратов на контуре — узлов. Эти узлы могут быть выбраны разными способами: щелчком мыши, Shift+щелчок или тянущимся выделением. Точно так же как объекты выделяются обыч- ным инструментом выделения. Выбранные узлы становятся выделенными и показывают свои ручки управления(усы) — один или два кружка, соеди- нённых с выбранным узлом отрезком прямой линии. Контуры редактируются смещением своих узлов и рычагов управления. (Попробуйте подвигать узлы и рычаги узлов у пути, показанном на рисунке выше.) Ctrl работает обычно ограничителем в движении и повороте. Кноп- ки стрелок, Tab, [, ], <, > и их модификаторы, работают так же как и с инструментом выделения, но вместо объектов применяются к узлам. Вы мо- жете вставлять узлы в любую часть контура двойным щелчком мышью или комбинацией клавиш Ctrl+Alt+Щелчок в нужной точке контура. Вы може- те стирать узлы нажатием Del Ctrl+Alt+щелчок. Кроме того, вы можете дублировать (Shift+D) выбранные узлы. Контур можно разорвать на ме- сте выбранного узла (Shift+B), а разбив, соединить обратно, выбрав концы контура и нажав (Shift+J). Профи 111

Каждый узел может быть острым (Shift+C) — это значит, что оба рычага узла могут двигаться под любым углом независимо друг от друга; сглажен- ным (Shift+S) — это значит, что рычаги узла всегда находятся на прямой линии и взаимно зависимы при повороте; симметричным (Shift+Y) — по- чти тоже самое, что и сглаженные рычаги, но эти рычаги ещё и одинаковой длины. Также вы можете втягивать рычаги в узел при помощи Ctrl+щелчок на рычаге. Если рчаги у двух соседних узлов втянуты, то этот сегмент пути будет отрезком прямой линии. Чтобы вытащить рычаги наружу, нужно нажать Shift и потянуть рычаг в сторону от узла.

Подконтуры и их объединение Объект контура может состоять из более чем одного подконтура (subpath). Подконтур — это последовательность соединённых друг с дру- гом узлов. (Поэтому если контур имеет больше одного подконтура, то не все узлы контура соединены друг с другом.) Внизу слева контур состоит из трёх подконтуров, такие же три подконтура справа являются независимыми объектами — контурами:

Однако путь, состоящий из подконтуров, не является группой объектов. Это один объект, выделяемый как целое. Если выбрать верхний правый объект и включить инструмент правки узлов (F2), то узлы отобразятся на всех трёх подконтурах. Справа же можно редактировать только один из контуров. Inkscape может объединять контуры в составной контур (Ctrl+K) и раз- бить составной контур на отдельные контуры (Shift+Ctrl+K). Попробуйте эти команды на приведённых выше примерах. Поскольку параметры залив- ки и штриха у объекта индивидуальны, то новообъединённый контур берёт параметры первого объекта из объединения (нижнего по z-оси). Когда объединяются перекрывающие друг друга контуры с заполнением, в местах перекрытия заполнение исчезает: 112 Глава 5. Учебник по Inkscape

Это простейший способ создавать объекты с дырками внутри. Более мощные команды по работе с путями описаны чуть ниже в разделе «Логи- ческие операции».

Оконтуривание (преобразование в контур) Любая фигура или текст может быть преобразована в контур (окон- турена) (Shift+Ctrl+C). Это операция не меняет видимость объекта, но меняет все его специфические свойства (т. е. вы не можете округлить углы прямоугольника или редактировать текст); зато теперь вам доступно редак- тирование их узлов. Ниже изображены две звезды — левая является фи- гурой, в то время как правая преобразована в контур. Переключитесь на инструмент редактирования узлов и, выбирая объекты, сравните их воз- можности:

Кроме того, вы можете преобразовывать в контур штрих любого объекта. Первый объект внизу — просто контур (без заполнения с чёрным штрихом), второй же — результат действия команды «Оконтурить штрих» (результат — чёрное заполнение без штриха):

Логические операции Команды в меню «Контур» позволяют вам объединять два и более объ- екта, используя логические операции: Профи 113

Короткие имена этих операций ссылаются на арифметические аналоги булевых действий (сумма, разность и т. п.). Команды «Разность» и «Ис- ключающее ИЛИ» могут применяться только к двум выбранным объектам; другие могут применяться к любому количеству объектов. Результируемый объект всегда использует настройки стиля (заливки и штриха) нижнего объекта. Использование команды «Исключающее ИЛИ» выглядит похожим на ко- манду «Объединить» (см. выше), но разница заключается в том, что «Ис- ключающее ИЛИ» добавляет узлы в местах пересечения изначальных пу- тей. Разница между командами «Разделить» и «Разрезать контур» состоит в том, что первая разрезает целостность нижнего объекта контуром верхне- го объекта, в то время как вторая режет только штрих нижнего объекта и убирает заливку (это удобно для разрезания штрихов незалитых объектов).

Втягивание и вытягивание Inkscape может сжимать и растягивать фигуры не только меняя их раз- мер, но и при помощи смещения контура объекта, т. е. смещая их перпенди- кулярно к контуру в каждой точке. Соответствующие команды называются «Втянуть», Ctrl+(, и «Вытянуть», Ctrl+). На рисунке ниже в качестве при- мера изображён изначальный контур (красный) и несколько растянутых и втянутых от него контуров: 114 Глава 5. Учебник по Inkscape

Сами команды «Втянуть» и «Вытянуть» просто создают пути(преобразуя изначальный объект в путь если он не является таковым). Чаще более удоб- ным является использование команды «Динамическая втяжка» (Ctrl+J). Эта команда создаёт объект с управляющим узлом (узел как у обычных фигур), который контролирует расстояние смещения. Чтобы понять, что к чему, вы- берите нижний объект, переключитесь на инcтрумент редактирования узлов и подвигайте управляющий узел:

Подобный объект с динамической втяжкой запоминает изначальный путь, так что не бойтесь — он не «поломается» от ваших смещений. Если вам больше не нужно, чтобы объект был корректируем, вы всегда можете преобразовать его обратно в контур. Ещё одна удобная команда — это Связанная втяжка, которая схожа с динамической, но отличается тем, что связанные контуры остаются редак- тируемыми. Можно создать сколько угодно связанных втяжек от одного контура-источника. Ниже показан контур-источник (красный), одна из при- вязанных втяжек имеет чёрный штрих без заполнения объекта, другая — чёрное заполнение без штриха. Выберите красный объект и подвигайте его узлы; понаблюдайте за ре- акцией привязанных объектов. Теперь выберите один из привязанных объ- ектов и подвигайте управляющий узел. В заключение обратите внимание на поведение привязанных объектов в момент редактирования источника и на то, что раздельное редактирование привязанных объектов оставляет их привязанными к источнику. Профи 115

Упрощение Основное применение команды «Упрощение» (Ctrl+L) — это сокращение количества узлов у контура при сохранении первоначального образа (по возможности). Это может быть полезным для контуров, созданных каран- дашом, так как этот инструмент иногда создаёт слишком много узлов. Левая фигура на нижнем рисунке создана при помощи карандаша (F6), а правая — это копия левой с последующим упрощением. У первоначального конутра было 28 узлов, в то время как упрощённый контур глаже и в нём всего 17 узлов (это упрощяет работу с объектом при редактировании узлов).

Количество упрощений (так называемый порог) зависит от размера вы- деления. Следовательно, если вы выберете путь одновременно с большим объектом, то контур будет упрощаться резче, чем если бы был выбран толь- ко он. Более того, команда «Упрощение» ускоряемая. Это значит что быстро (быстро — это раз в полсекунды) нажимать Ctrl+L несколько раз подряд, порог упрощения увеличится. (После небольшой паузы порог упрощения вернётся в изначальное значение). С использованием этого ускорения очень легко получить необходимое упрощение в каждом конкретном случае. Кроме сглаживания карандашных линий, «Упрощение» может быть ис- пользовано для разных творческих эффектов. Зачастую фигуры угловаты, и немного упростив их, можно получить приятные округлённые формы с очень натуральным искажением, иногда стильным, а иногда просто забав- ным. Ниже как раз приведён пример, в котором картинка после «Упроще- ния» выглядит значительно лучше: 116 Глава 5. Учебник по Inkscape

Создание текста Inkscape умеет создавать длинные и сложные тексты, но так же пре- красно подходит для создания маленьких текстовых объектов, вроде бане- ров, логотипов, диаграмм, этикеток, заголовков и т. п. Этот раздел даёт начальные знания о возможностях инструмента для работы с текстом. Создать текстовый объект так же легко, как выбрать инструмент для работы с ним (кнопка слева «Создавать и править текстовые объекты», F8). Щёлкните на любой области документа и введите текст. Чтобы изменить шрифт, его стиль, размер и наклон, откройте «Диалог текста и выбора шрифта» (Shift+Ctrl+T). В этом диалоге есть вкладка «Текст», в которой вы можете редактировать выбранный текст. Иногда это более удобно, чем редактировать его в рамке на холсте (заслуживает отдельного внимания то, что в этом окне работает автоматическая проверка орфографии). Как и другие инструменты, инструмент для работы с текстом может выбирать объекты своего типа — , т. е. текстовые объекты. Так что, увидев текстовый объект, вы можете просто ткнуть в него текстовым инструментом и начать изменять его (например, этот самый абзац). Одно из самых обыкновенных действий в текстовом дизайне — это ре- гулирование расстояния между буквами и линиями. В Inkscape есть горя- чие клавиши для этого. В момент редактирования текста нажатие Alt+< и Alt+> изменит межсимвольный интервал на данной линии текстового объекта, так что длина линии изменится на один пиксел данного масшта- ба (как и при работе с обычными выделениями, эти кнопки отвечают за попиксельное изменение размера). Как правило, если кегль шрифта боль- ше изначального, небольшое сужение расстояния между буквами украсит внешний вид документа. Вот пример: Профи 117

Суженный варинт выглядит немного лучше, но по прежнему не идеаль- но: расстояние между буквами не одинаково, например буквы «a»и«t» слишком далеки друг от друга, в то время как «t»и«i» слишком близ- ки. Количество подобных изьянов (особенно заметных при больших кеглях шрифта) больше у шрифтов низкого качества, нежели чем у шрифтов ка- чества высокого. Но, честно говоря, в любом тексте с любым шрифтом вы, вероятно, найдёте пары букв, которые можно было бы подправить в лучшую сторону. В Inkscape делать подобное корректирование действительно просто. По- местите курсор текстового инструмента между раздражающими символами и используйте Alt+стрелки для смещения букв справа от курсора. Ниже показан тот же заголовок, но теперь с ручной корректировкой:

В дополнение к горизонтальному смещению символов комбинациями Alt+левая стрелка или Alt+правая стрелка, вы также можете сме- щать символы по вертикали комбинациями Alt+верхняя стрелка или Alt+нижняя стрелка:

Конечно, вы можете преобразовать свой текст в контур (Shift+Ctrl+C) и передвигать буквы как обычные объекты контура. Но разумнее оставлять текст текстом: он будет редактируемым, вы сможете сменить шрифт, не те- ряя настроек межсимвольного интервала, ну и сам текст занимает меньше места в сохранённом файле. Единственный минус состоит в том, что необ- ходимо иметь исходный шрифт в каждой системе, где этот SVG-документ будет открыт. Подобно регулированию межсимвольного интервала вы можете регу- лировать межстрочный интервал в многострочных текстовых объектах. Опробуйте комбинации клавиш Ctrl+Alt+< и Ctrl+Alt+> на любом из абза- цев в этом Уроке. Заметим, что от каждого нажатия общая длина текстового 118 Глава 5. Учебник по Inkscape

объекта меняется на один пиксел текущего масштаба. Как и при обычном выделении, нажатие Shift с комбинацией клавиш, меняющих межстрочный или межсимвольный интервалы, увеличивает смещение в 10 раз.

Редактор XML Самый мощный инструмент Inkscape — это редактор XML (его можно вызвать, нажав Shift+Ctrl+X). Он полностью отображает XML-дерево до- кумента, всегда отражая реальное состояние. Вы можете редактировать свои рисунки и смотреть на изменения в дереве XML. Более того, вы можете ре- дактировать любой текст, элемент или атрибут узла в XML-редакторе и видеть результат действий на холсте. Это лучший инструмент, какой только можно представить для интерактивного изучения SVG, и он позволяет вы- полнять такие хитрости, которые не сделать обычными инструментами для редактирования.

Заключение Этот учебник рассказывает только о малой части возможностей Inkscape. Мы надеемся, что чтение было увлекательным. Не бойтесь эксперемен- тировать и показывать свои работы. Пожалуйста, посетите http://www. inkscape.org для получения дополнительной информации, свежих версий программы и помощи от сообщества пользователей и разработчиков. Глава 6

Программное обеспечение: право и свобода

Кирилл Маслинский, Алексей Смирнов

Частное и общественное

Написание компьютерных программ — не так уж давно возникшая фор- ма интеллектуальной деятельности. В написании программы действитель- но много общего с написанием какого-нибудь литературного или другого нетривиального текста, поэтому совершенно естественно, что с точки зрения правовых отношений программы попали в один класс с такими текстами — «произведений». Эти правовые отношения регулируются законодательством об авторском праве и на сегодняшний день тесно ассоциируются с широко распростра- нённой системой экономического использования этих прав: торговля экзем- плярами произведения и запрет на тиражирование произведения (создание новых экземпляров) для всех, кроме обладателя прав. В этой модели рас- пространения к произведению относятся как к собственности правооблада- теля. Программы, которые распространяются по такой модели, называются точным, но не очень благозвучным в русской огласовке термином проприе- тарные. Однако не менее широко распространена и другая модель, в которой к произведению относятся как к общественному достоянию, плоду интеллек- туального творчества, который должен быть доступен любому и не при- надлежать никому в отдельности1. Типичный пример — произведения дав- 1Нужно отметить, что это относится только к имущественной стороне авторского права, неимущественные же права, в частности, право на имя, на сохранение целостности произведе- 120 Глава 6. Программное обеспечение: право и свобода

но умерших классиков, хотя и многие здравствующие авторы (например, учёные) распространяют свои произведения по этой, общественной модели. Несмотря на молодость, программное обеспечение тоже может следовать общественной модели распространения, и здесь возникают два ключевых понятия: свободное ПО и открытые системы. Заметьте, что речь не идёт о платном и бесплатном. Экзем- пляры произведений классиков тоже продаются за деньги, разница в том, что правомерно издавать (тиражировать) про- изведение, находящееся в общественном достоянии, может любой. У программ для компьютера есть всё-таки несколько существенных свойств, которые отличают их от текстов на естественном языке, поэтому и при распространении ПО возникают некоторые специфические особен- ности. Чтобы разобраться в смысле понятий «открытые системы» и «сво- бодное ПО», нам потребуется сформулировать два свойства компьютерных программ: 1) Очень часто, хотя и не обязательно, программа существует в двух видах: производится она в одной форме — в виде исходного текста, а распространяется и используется в другой — в виде скомпилирован- ной двоичной программы, машинных кодов, по которым невозможно однозначно восстановить исходный текст. 2) Объектом авторского права (то есть произведением) является исход- ный текст программы. Двоичная форма — это уже экземпляр произ- ведения, и в его отношении действуют примерно те же нормы, что и к экземпляру книги, с некоторыми технологическими оговорками. Правовая разница между произведением и экземпляром произведения, а также применение авторского права к программному обеспечению неюридическим языком хорошо раскрывается в Anti Copyright FAQ1 Фёдора Зуева. Вообще говоря, свобода и открытость — независимые признаки, поэтому мы рассмотрим их по отдельности.

ния и т. п., в конечном итоге, право на репутацию автора, всегда сохраняются за автором, вне зависимости от модели распространения. Такие права не могут быть проданы или переданы другому лицу. 1http://www.libertarium.ru/libertarium/Anti-Copyright-FAQ Степени открытости 121

Степени открытости

Нулевая степень То, что большинство программ используются в двоичной форме и не требуют для работы наличия исходного текста, приводит к возможности распространять двоичные экземпляры программы, никому не показывая ис- ходные тексты. Это подкрепляется рассуждением: конечного пользователя в первую очередь интересует программа как работающий продукт, а не то, как и почему она работает. Такое программное обеспечение широко рас- пространено на сегодняшнем рынке и может быть точно обозначено как программное обеспечение с закрытым исходным текстом.

Минимальная открытость: спецификация форматов и интерфейсов Если каждую программу сделать «вещью в себе», которая работает одной ей ведомыми способами с одной ей понятными данными, то будет невозмож- но какое бы то ни было взаимодействие разных программ и их совместное использование. Недостатки очевидны: на каждого автора или производителя программы наваливается необходимость все задачи решать самостоятельно, не имея возможности перепоручить часть работы другой программе; невоз- можен будет обмен данными между пользователями, если у них нет одной и той же программы (а что будет, если разные версии программы обраба- тывают данные слегка по-разному?). Поэтому естественно, что идеальная модель полностью закрытого ПО никогда не была реализована. С другой стороны, чтобы обеспечить взаимодействие программ, совер- шенно не требуется целиком открывать их исходный текст. Достаточно чёт- ко описать, каким способом можно обращаться к программе, чтобы добиться определённого результата, и в каком виде программа возвратит этот резуль- тат. Такое описание называется спецификация интерфейса взаимодей- ствия или API. Чтобы обеспечить обмен данными, необходимо составить набор правил, в соответствии с которыми определённые данные могут быть переведены в форму, доступную для обработки программой, и наоборот, как из этой фор- мы восстановить смысл закодированных в ней данных. Такой набор правил называется спецификацией формата данных. В качестве примера можно привести текстовый документ. Программа представляет документ в виде некоторого файла. Если у нас нет специфика- ции формата этого файла, то единственный способ получить содержащиеся в нём данные — прибегнуть к помощи этой самой программы, которая неиз- вестным же для нас образом их извлечёт и отобразит в понятном виде. 122 Глава 6. Программное обеспечение: право и свобода

Теперь представим себе, что это не просто текстовый документ, а государ- ственная бумага, подписанная электронно-цифровой подписью официально- го лица. Поскольку мы не знаем, как именно программа делает из фай- ла читаемый документ, то даже удостоверившись с помощью электронно- цифровой подписи в подлинности файла, мы не можем гарантировать, что видим тот же самый текст, который был подписан официальным лицом. Например, на одной из сторон программа настроена иначе и не отобразила примечания. . . Катастрофические государственные последствия очевидны. Такое невозможно, если мы располагаем строгой спецификацией форма- та файла, содержащего документ. Мы всегда, даже без участия какой бы то ни было специальной программы, сможем восстановить из файла содер- жащийся в нём текст, если нам известен полный набор правил, по которым это делается. При необходимости мы можем создать собственную програм- му, которая будет работать с файлами в этом формате.

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

Максимальная открытость Программное обеспечение, исходные тексты которого опубликованы или предоставляются любому по первому запросу, называется программным обеспечением с открытым исходным текстом, это несколько многослов- ный аналог более лаконичного термина Open Source Software. Но даже если публике представлен исходный текст программы целиком, этого ещё не достаточно, чтобы считать программу полностью открытой, а Степени свободы 123

её работу — полностью прозрачной для пользователя. Для этого ещё необ- ходима уверенность в том, что используемая программа в двоичном виде действительно была получена непосредственно из данного исходного тек- ста. Гарантировать это можно, если не только исходный текст, но и ин- струментарий, с помощью которого он преобразуется в двоичный вид, будут открыты для публики. В таком случае двоичную программу можно просто воспроизвести (заново скомпилировать), что даёт возможность контроля и аудита программного обеспечения.

Смысл открытых систем Даже минимальная открытость уже даёт независимость от конкретного производителя ПО, гарантии целостности и однозначности данных, откры- вает дорогу взаимодействию и совместной работе программ. Б’ольшая от- крытость ведёт к повышению общественного доверия к программе. Если же программное обеспечение применяется в общественной и государственной сфере, его открытость является гарантией соблюдения принципов граждан- ского общества1.

Степени свободы

По российскому законодательству программное обеспечение не может быть запатентовано, поэтому все связанные с ним имущественные и неиму- щественные отношения в России регулируются только законодательством о программах для ЭВМ (ЗоПЭВМ) и об авторском праве и смежных правах. Право автора подписывать произведение своим именем и прочие неиму- щественные авторские права всегда сохраняются за автором и не могут быть переданы другому лицу; в дальнейшем изложении эта сторона авторского права не будет обсуждаться. Имущественные же авторские права касаются разных форм тиражирования произведения, в том числе передачи в эфир, переработки и т. д. В момент создания произведения все имущественные права принадлежат исключительно автору, а всем остальным тиражирова- ние произведения запрещается законом. С имущественными правами автор волен поступать по своему усмотрению, главным образом, передавать их лю- бому лицу или организации. Условия передачи определяются в авторском договоре, и могут быть произвольными в рамках допустимых договорных обязательств.

1Если и делать государственный документооборот электронным, то этот механизм должен быть полностью открытым, так как он служит ограничению прав. Это полностью аналогично тому, как должны быть полностью открыты для публики тексты законов. 124 Глава 6. Программное обеспечение: право и свобода

В современном мире появилась новая форма заключения договора: одна из сторон предлагает текст договора в электронном виде, а другая, прочтя его с экрана, принимает условия, нажав на какую-нибудь кнопку. В част- ности, таким образом производитель или автор программы может распро- странять вместе со своей программой и авторский договор. Текст договора может быть и просто приложен к программе. Для обозначения такой фор- мы договора часто используют слово «лицензия» — кальку с английского license. Однако в России юридического смысла это слово не имеет, правиль- но в данном случае говорить об авторском договоре. Общественная модель распространения произведений предполагает из- вестную степень свободы в тиражировании произведения. Законодатель- ством об авторском праве предусмотрен срок, по прошествии которого про- изведение переходит в общественное достояние, фактически имущественные права на произведение в этот момент уничтожаются1. Однако пока, видимо, ещё ни одна компьютерная программа не достигла преклонного возраста, достаточного для перехода в общественное достояние. Тем не менее, в си- лах автора сделать своё произведение распространяемым по общественной модели — вопрос только в объёме имущественных прав, которые автор или законный правообладатель готовы передать в общественное достояние.

Нулевая степень свободы Минимальная степень свободы — использовать программу любым спо- собом и с любой целью. Для российских пользователей ПО эта свобода действительно «нулевая», в том смысле, что она присутствует всегда, что бы ни говорилось в авторском договоре. По российскому законодательству обладатель имущественных авторских прав волен ограничивать право поль- зователей на тиражирование своего произведения, однако у него нет ника- ких прав каким бы то ни было образом ограничивать владельца экземпляра произведения в использовании программы. Нулевая свобода — это некоторая гарантия личной свободы пользователя от посягательств производителей ПО, но она ещё не является свободой для самого произведения.

Свобода распространения Первая свобода собственно для произведения — свобода распростране- ния. Для автора она означает, с одной стороны, снятие всяких ограничений

1На сегодняшний день по российскому законодательству этот срок весьма долог — 70 лет с момента смерти автора. Степени свободы 125

на тиражирование произведения (и потенциально — его более широкое рас- пространение); с другой стороны, фактический отказ от получения возна- граждения за передачу имущественных прав. Известно огромное число примеров свободно распространяемых про- грамм. Однако свобода распространения никак не предполагает, что должны быть доступны исходные тексты программы, вполне можно распространять программу только в двоичном виде. Зачастую именно так и происходит: про- изводитель ПО стремится максимально широко распространить свою про- грамму среди пользователей, даже отказываясь от платы за экземпляры, при этом не делает свою программу открытой. Отпущенная «в свободное плава- ние» программа ещё не может считаться вполне общественным достоянием, если её исходный текст — который и является собственно произведением — недоступен публике.

Свобода модификации Одно из имущественных авторских прав, оговорённых в законодатель- стве, — право на переработку произведения. Это право приобретает очень большое значение, если в качестве произведения рассматривается компью- терная программа. В отличие от литературных и прочих текстов, программа должна работать. Это значит, что в ней необходимо исправлять ошиб- ки, приспосабливать для работы в новых системах и т. п. Если исходный текст программы открыт, то в силах любого компетентного человека вне- сти необходимые исправления. Для общественности эта возможность име- ет значение, если есть свобода распространения модифицированных версий программы. Ведь автор не всегда доступен, не всегда заинтересован и име- ет возможность вносить исправления или переносить программу на другие системы. Если в авторском договоре, сопровождающем программу, автор пере- даёт право модифицировать и распространять модифицированные версии программы, то такую программу можно с полным правом отнести к свобод- ному ПО (Free Software), в том понимании, которое было сформулировано Ричардом Столлманом1. Естественно, свобода модификации предполагает, что открыт исходный текст программы. На сегодняшний день распространено довольно много типовых форм ав- торских договоров для распространения свободных программ. Те из них, ко- торые удовлетворяют требованиям к свободному ПО, перечислены на сайте

1Имеются в виду 4 свободы Столлмана, декларированные в манифесте созданного им Фон- да свободного программного обеспечения (Free Software Foundation2). 126 Глава 6. Программное обеспечение: право и свобода

Фонда свободного программного обеспечения1. Названную свободу модифи- кации в полной мере реализует лицензия BSD2 3.

Максимальная свобода Может ли общественность злоупотребить данной ей свободой в обра- щении с программой? Вполне. Самое страшное злоупотребление, которое можно себе представить — модифицировав программу, запретить свободное распространение модифицированной версии и даже закрыть её исходный текст. Таким образом программа может быть изъята из свободного обра- щения и переведена в частное владение. В соответствии с лицензией BSD такое поведение является абсолютно законным и предусмотренным: объём передаваемых авторских прав достаточен для таких действий. Однако не всегда автор, отдавая своё произведение общественности, со- гласится на такое его использование. Чтобы избежать «закрепощения» своей программы, автор может воспользоваться тем же самым законным инстру- ментом — авторским договором. Главный прототип такого договора (да и вообще главный прототип всех свободных лицензий) — GPL4, общественная лицензия GNU (GNU General Public License), впервые сформулированная тем же Ричардом Столлманом. Эта лицензия, помимо предоставления всех необходимых свобод, включает условие copyleft: никто не имеет права, сде- лав модифицированную версию свободной программы, распространять её, не соблюдая всех принципов свободного ПО, ограничивая тем самым права других пользователей по отношению к программе. Говоря короче, запреща- ет модификацию свободной программы делать несвободной. Любой авторский договор, включающий такое условие, может быть на- зван «copyleft». Это игра слов с умыслом: по-английски авторское право называется «copyright», буквально «копироватьправо», а «copyleft», соответ- ственно, «копироватьлево». Действительно, условие «copyleft» прямо про- тивоположно по смыслу авторскому праву: авторское право призвано огра- ничить пользователя в копировании и распространении копий продукта, а «авторское лево», наоборот, строго запрещает его ограничивать. «Авторское лево» реализует идею о том, что интеллектуальные достижения человека не могут и не должны находиться в чьей-то частной собственности, и сохра- няет свободу наилучшим способом — пользуясь теми самыми механизмами ограничения, которые предоставлены законодательством об авторском пра- ве.

1http://www.gnu.org/licenses/license-list.ru.html 2http://ru.wikipedia.org/wiki/BSD_License 3BSD — Berkeley Software Distribution, пакет совместимого с UNIX программного обеспе- чения, разработанный в университете Беркли и распространявшийся свободно. 4http://www.infolex.narod.ru/gpl_gnu/gplrus.html Степени свободы 127

Несмотря на то, что лицензия BSD с юридической точки зрения передаёт б’ольший объём прав, в нашем изложении она оказалась ниже на шкале свободы именно по той причине, что она даёт меньше гарантий свободы программе.

Смысл свободного ПО Причины, по которым люди и организации выбирают свободную модель распространения своего программного обеспечения, очень разнообразны и индивидуальны. Одна из важнейших и самых общих причин для авторов — это стремление к свободе интеллектуальной деятельности. Яркое выражение этого стремления и опасений за интеллектуальную свободу можно найти в очень коротком антиутопическом рассказе Ричарда Столлмена «Право чи- тать»1. Однако здесь не всё универсально, и в общем случае существуют две противоположные стратегии поведения по отношению к полученным интеллектуальным результатам: спрятать подальше или распространить по- шире, предполагающие, соответственно, частную и общественную модели распространения. Научные и университетские традиции склоняются в поль- зу второй стратегии, но стоит науке подойти достаточно близко к техноло- гии — как нередко актуализируется частная модель, возникают патенты и закрытые результаты. Для индивидуальных авторов на некоммерческом поприще общественная модель — это хорошая возможность для самореализации: на свободно рас- пространяемых программах всегда стоят имена их авторов; здесь же и воз- можности для социализации — вокруг удачных и востребованных свободных программ всегда складывается сообщество разработчиков и пользователей. Общественная модель распространения ПО представляет хорошие воз- можности и для бизнеса. К началу XXI века уже стало традиционным стро- ить бизнес в области программного обеспечения из двух компонент: соб- ственно разработки и торговли лицензиями (правом производить ограничен- ное количество экземпляров), причём вторая часть значительно прибыль- нее первой, поскольку расходы не увеличиваются пропорционально числу проданных лицензий. На рынке свободного ПО вторая компонента просто отпадает — производить экземпляры разрешено всем в неограниченных ко- личествах, а первая — собственно разработка — остаётся в полном объёме. В результате преимущество получают те, кто делает реальную разработку — это открывает дорогу конкуренции и инновациям. В целом, на рынке сво- бодного ПО значительно ниже финансовый порог вхождения при достаточно высоком интеллектуальном пороге.

1http://www.gnu.org/philosophy/right-to-read.ru.html