Верстка шахматных партий
Вы готовы к тому, что завтра вам предложат сверстать учебник по шахматам? Текст, конечно не проблема, но как быть со множеством рисунков шахматных позиций, которые вам предоставят в виде вырезок из старых газет, журналов или шахматных учебников, а то и вовсе нарисованных авторучкой или карандашом? Или приложат кучу пережатых Jpeg-ов с разрешением 72 dpi.
Собственно, это сообщение посвящено только одному аспекту работы с шахматными изданиями — получению текущей позиции на доске в контурном виде в программе верстки.
Наверное вначале нужно рассмотреть какими популярными программами пользуются шахматисты при анализе партий и в каких форматах сохраняется и воспроизводится последовательность ходов. На сегодняшний день таких программ придумано много. Ходы, как правило, сохраняются в формате PGN, текущая позиция — в формате FEN.
Я пользовался программой EPD2diag, взятой тут http://www.rebel.nl/epd2diag.htm.
Она импортирует описание партии в формате PGN, воспроизводит ходы, а внизу рабочего окна отображается запись текущей позиции в формате FEN.
На рисунке курсор указывает на строку, описывающую текущее положение на доске.
В этом формате нас интересует только первое поле. В нем семью прямыми наклонными чертами отделена друг от друга информация по каждой горизонтали шахматной доски, начиная сверху.
Так выглядит запись начала партии, когда еще не было ни одного хода:
rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR
После е2-е4, е7-е5 строка записи позиции в формате FEN выглядит так:
rnbqkbnr/pppp1ppp/8/4p3/4P3/8/PPPP1PPP/RNBQKBNR
Если на доске нет ни одной фигуры, то это состояние будет описано такой строкой:
8/8/8/8/8/8/8/8
Ну и что, — скажете вы, — конечно интересно, но как это поможет получить хороший рисунок шахматной позиции?
Все дело в том, что был разработан скрипт для Indesign CS3-CS4, который в качестве исходных данных берет запись шахматной позиции в формате FEN и на ее онове генерирует EPS-изображение расположения фигур на шахматной доске.
1. Подготовка. Для работы скрипта необходимо установить в операционную систему символьный шрифт Chess Alpha, в котором вместо букв присутствуют шахматные фигуры, используемые для создания рисунка шахматной позиции. Надо сказать, что это не единственный шрифт с шахматными фигурами, но он мне понравился больше других. Этот шрифт вы найдете в скачанном архиве.
В этом же архиве вы найдете файлы chess.indt и chess.inx, где уже есть стиль myChessPositionView, необходимый для работы скрипта.
2. Запуск скрипта. Загрузите в Индизайн любой из скачанных файлов chess.indt или chess.inx и запустите скрипт ChessPositonFromFEN.jsx.
(Вы можете запускать скрипт с любого Индизайновского документа, единственное условие — в этом документе должен присутствовать абзацный стиль myChessPositionView, в котором заложен шрифт Chess Alpha, 18 пт., / 18 пт., выравнивание по центру. Этот стиль перед запуском скрипта необходимо каким-либо образом вытащить с файла chess.indt или chess.inx).
Если после запуска скрипта обнаружится, что файл еще ни разу не сохранялся, вам будет предложено это сделать.
Затем скрипт предложит ввести запись позиции в формате FEN. Пробелы в начале строки недопустимы.
После ввода на экране появится оконтуренная позиция
Очевидно, что она совпадает с рисунком, взятым из программы EPD2diag.
В дальнейшем скрипт предложит сохранить рисунок с именем ChessPosition_?, но вместо знака вопроса надо ввести очередной номер рисунка. Иллюстрация будет помещена в том же каталоге, где лежит текущий indd-файл. Кроме того, этот рисунок сохраняется в буфере обмена.
Скрипт проверялся на макинтоше Mac OC X, версия 10.5.6 и в системе Windows в версии XP2.
Скачать архив со скриптом.
Михаил Иванюшин ivanyushin#yandex.ru
Последние комментарии