User Tools

Site Tools


geda:gaf_utility.ru

На других языках: English

gaf - утилита командной строки gEDA/gaf

Программа gaf предоставляет в распоряжение пользователя несколько маленьких утилит командной строки для работы с файлами схем и символов. Её назначение — пакетная обработка данных проектов, созданных с помощью редактора схем gschem. В настоящее время программа поддерживает три встроенных команды:

  • gaf export используется для конвертации файлов схем и символов в форматы SVG, PDF, PNG, PS и EPS с целью распечатки или внедрения в другую документацию.
  • gaf config предназначена для чтения текущих и записи новых параметров настройки в файлы настроек проектов, пользовательские и системные файлы настроек gEDA.
  • gaf shell предоставляет интерфейс командной строки с «циклом чтения-вычисления-вывода» Scheme (REPL) для пакетной обработки данных принципиальных схем.

Подробное описание опций утилиты см. в справочной странице gaf(1).

gaf export

Подробное описание команды gaf export можно найти в справочной странице gaf(1).

gaf config

В данном разделе приводится описание настройки gschem и gnetlist с помощью команды gaf config.

Подробное описание опций утилиты см. в справочной странице gaf(1).

Файлы настроек

Параметры настройки записываются в файлы настроек gEDA. Это следующие файлы:

  • geda-system.conf для системных настроек. Файл системных настроек последовательно ищется в трёх местах:
    • в ${XDG_CONFIG_DIRS}/gEDA, подробности об этой переменной окружения см. в XDG Base Directory Specification;
    • если системных настроек там не найдено, то в традиционном местоположении rc-файлов gEDA, то есть в каталоге ${PREFIX}/share/gEDA, где ${PREFIX} является скомпилированным умолчанием, обычно /usr или /usr/local (но в дистрибутивах на основе Debian вместо этого используется каталог /etc/gEDA),
    • и наконец, если файл настроек так и не был пока найден, в каталоге по умолчанию XDG или, если таковой не определён, в каталоге /etc/xdg/gEDA.
  • $HOME/.gEDA/geda-user.conf для пользовательских настроек.
  • путь/к/проекту/geda.conf для локальных настроек проекта.

Примечание: эти файлы можно также редактировать вручную в текстовом редакторе.

Формат файла настроек приводится в этом стандарте freedesktop.org.

Все файлы настроек состоят из разделов, называемых группами, содержащих пары ключ-значение.

Значениями ключей в файлах настроек gEDA могут быть отдельные числа или списки. Обратите внимание, что в отличие от команды gaf export, для которой можно использовать несколько разделителей списка, единственным разделителем между значениями списка в файлах настроек является точка с запятой ';'. Другое отличие заключается в том, что при использовании команды gaf config всегда необходимо указывать все параметры используемого списка. Таким образом, например, следующая команда не будет работать должным образом:

gaf config --project export size 1000

Правильная команда будет выглядеть так:

gaf config --project export size "1000;1000"

Все размеры должны задаваться в пунктах Adobe (72 пункта = 1 дюйму). Суффиксы, такие как “pt”, “mm” и другие, которые могут использоваться с командой gaf export, в файлах настроек не работают.

В следующих разделах приводятся все существующие группы.

Группа export

Таблица 1. Параметры группы export

Ключ Формат По умолчанию
align строка «auto» или список из двух целых вида ГОРИЗ_ВЫРАВНИВАНИЕ;ВЕРТ_ВЫРАВНИВАНИЕ auto
dpi целое 96
font строка Arial
layout предопределённая строка: «portrait», «landscape» или «auto» auto
margins список из четырёх целых вида TOP;LEFT;BOTTOM;RIGHT 18;18;18;18
monochrome логическое значение true
paper строка, определяющая предопределённый формат зависит от текущей локали
size строка «auto» или список из двух целых вида ВЫСОТА;ШИРИНА auto

align

Настройка выравнивания изображения на странице. ГОРИЗ_ВЫРАВНИВАНИЕ управляет горизонтальным выравниванием, а ВЕРТ_ВЫРАВНИВАНИЕ — вертикальным. Оба значения должны быть в диапазоне 0.0 — 1.0. Значение выравнивания auto эквивалентно значению 0.5:0.5, т. е. изображение будет центрировано.

Для команды gaf export при отсутствии кавычек можно использовать разделитель своей локали. В этом случае числа будут интерпретироваться вашей оболочкой. Для gaf config так делать нельзя, поскольку значение ключа align является строкой. При записи в файл настроек чисел с плавающей запятой в качестве разделителя используется точка, и точка также должна использоваться для чисел, содержащихся в строках. См. примеры ниже.

dpi

Количество пикселов на дюйм для вывода в формате PNG.

font

Настройка шрифта для вывода текста.

Подробную информацию о выборе шрифтов см. ниже в разделе Шрифты.

layout

Настройка ориентации вывода при задании размера бумаги. При задании «auto» используется та ориентация, которая лучше соответствует размерам изображения.

margins

Установка ширины полей.

Фактические размеры полей могут быть больше значений, записанных в файлах настроек, так как эти значения определяют только минимальные расстояния от краёв листа, а размеры выбранной бумаги могут не соответствовать размерам печатаемой схемы с полями. Если значение не определено, размер полей по умолчанию составляет 18pt для каждого поля.

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

monochrome

Переключение монохромного/цветного вывода.

paper

Задание размера вывода в виде конкретного формата листа.

Легальные размеры бумаги описаны в стандарте PWG 5101.1-2002 (iso_a4, iso_a3, na_letter, na_legal и т. д.). Формат бумаги по умолчанию зависит от текущей локали. Например, это A4, когда используется ru_RU.UTF-8, в то время как для локали en_US.UTF-8 это letter.

size

Задание определённых размеров для вывода изображения. При задании «auto», выбирается тот размер, при котором изображение размещается наилучшим образом.

Размер бумаги, заданный ключом size, переопределит размер, заданный ключом paper. Примечание: задание только одного числа для данного ключа или использование каких-либо суффиксов для указания единиц измерения работать не будет.

Группа gnetlist

Таблица 2. Параметры группы gnetlist

Ключ Формат По умолчанию
default-bus-name строка unnamed_bus
default-net-name строка unnamed_net
net-naming-priority предопределённая строка: «net-attribute» или «netname-attribute» net-attribute
traverse-hierarchy логическое значение true

default-bus-name

Имя шины по умолчанию для именования шин, не имеющих имён в схеме.

Шины пока ещё не используются ни в одном из низкоуровневых драйверов gnetlist, поэтому данный параметр пока бесполезен.

default-net-name

Имя соединения по умолчанию для именования соединений, не имеющих имён в схеме.

Оно используется для создания имён соединений вида «unnamed_netN», где N является числом.

net-naming-priority

Настройка приоритета одного из атрибутов net или netname для случаев, когда обнаруживаются соединения с двумя именами. Все конфликты имён соединений будут разрешаться с использованием указанного атрибута.

Этот параметр используется, когда какие-нибудь соединения схемы имеют и атрибут net, и атрибут netname, и нужно указать, какой из них должен определять имена соединений, которые gnetlist будет использовать для создания списка соединений. Подробности использования этих атрибутов см. в Мини-HOWTO по атрибуту net= и в Перечне основных атрибутов.

traverse-hierarchy

Настройка разрешения обхода иерархии. При отключении gnetlist не будет спускаться вниз по иерархии для поиска низлежащих источников данных.

Группа gschem

Таблица 3. Параметры группы gschem

Ключ Формат По умолчанию
default-filename строка untitled

default-filename

Имя файла по умолчанию для новых файлов схем, создаваемых в gschem.

Оно используется для создания имён файлов вида «untitled_N.sch», где N является числом.

Группа gschem.library

Таблица 4. Параметры группы gschem.library

Ключ Формат По умолчанию
component-attributes список имён атрибутов, разделённых запятыми *
sort логическое значение false

component-attributes

Список имён атрибутов, отображаемых в диалоговом окне выбора компонентов.

Атрибуты символов в диалоговом окне сортируются в том же порядке, в каком они появляются в списке. Если первым элементом списка будет звёздочка “*”, все атрибуты будут отображаться в алфавитном порядке. При задании пустого списка показ атрибутов в диалоговом окне будет отключен.

sort

Настройка сортировки библиотеки компонентов.

Если значение этого параметра равно «true», библиотеки компонентов сортируются в алфавитном порядке. В противном случае они сортируются в порядке, обратном порядку их добавления.

Группа gschem.printing

Таблица 5. Параметры группы gschem.printing

Ключ Формат По умолчанию
layout предопределённая строка: «portrait», «landscape» или «auto» auto
monochrome логическое значение false
paper предопределённая строка размера зависит от локали

layout

Настройка ориентации вывода при задании размера бумаги. При задании «auto» используется та ориентация, которая лучше соответствует размерам изображения.

Ориентация страницы в gschem рассчитана на вывод страниц на принтер, а не в PDF, поэтому значение «auto» означает, что если вы выводите страницы в PDF, вы получите перевёрнутую пейзажную ориентацию вместо обычной. Для получения пригодного для чтения PDF со страницами в пейзажной ориентации используйте вместо этого команду gaf export и задайте значение «auto» для ключа layout в группе export.

Примечание: в настоящее время при печати с помощью скрипта print.scm настройка ключа layout не используется.

paper

Задание размера вывода в виде конкретного формата листа.

Значение по умолчанию ключа paper зависит от текущей локали. См. примечания о размере бумаги выше в описании ключа paper для группы export.

monochrome

Переключение монохромного/цветного вывода.

Значение по умолчанию ключа monochrome в данной группе в отличие от значения этого ключа в группе export задано равным false умышленно.

Группы gschem.dialog-geometry.*

Сюда входят группы:

  • gschem.dialog-geometry.arc-angle
  • gschem.dialog-geometry.autonumber
  • gschem.dialog-geometry.color-edit
  • gschem.dialog-geometry.compselect
  • gschem.dialog-geometry.coord
  • gschem.dialog-geometry.fill-type
  • gschem.dialog-geometry.find-text
  • gschem.dialog-geometry.hide-text
  • gschem.dialog-geometry.hotkeys
  • gschem.dialog-geometry.line-type
  • gschem.dialog-geometry.log
  • gschem.dialog-geometry.multiattrib
  • gschem.dialog-geometry.pin-type-edit
  • gschem.dialog-geometry.show-text
  • gschem.dialog-geometry.singleattrib
  • gschem.dialog-geometry.slot-edit
  • gschem.dialog-geometry.snap-size
  • gschem.dialog-geometry.text-edit
  • gschem.dialog-geometry.text-entry
  • gschem.dialog-geometry.text-size
  • gschem.dialog-geometry.translate

Есть две особые группы, имеющие дополнительные настройки:

  • gschem.dialog-geometry.compselect
  • gschem.dialog-geometry.multiattrib

Таблица 5. Параметры группы gschem.dialog-geometry.*

Все диалоговые окна
Ключ Формат По умолчанию
x целое -
y целое -
width целое -
height целое -
gschem.dialog-geometry.compselect
Ключ Формат По умолчанию
hpaned целое -
vpaned целое -
source-tab 0 или 1 1
gschem.dialog-geometry.multiattrib
Ключ Формат По умолчанию
show_inherited логическое значение true

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

x

Позиция диалогового окна по оси X.

y

Позиция диалогового окна по оси Y.

width

Ширина диалогового окна.

height

Высота диалогового окна.

hpaned

Ширина горизонтального фрейма, где выбираются компоненты в диалоговом окне выбора компонентов.

vpaned

Высота вертикального фрейма для предварительного просмотра компонента в диалоговом окне выбора компонентов.

source-tab

Значение, определяющее то, какая вкладка будет открываться при открытии диалогового окна выбора компонента. 0 означает, что будет выбрана вкладка «Используемые» («In use»), 1 означает, что будет выбрана вкладка «Библиотечные» («Libraries»).

show_inherited

Настройка видимости унаследованных атрибутов в диалоговом окне редактирования атрибутов.

gaf shell

gaf shell предоставляет цикл чтения-вычисления-вывода Scheme («Read-Eval-Print Loop» — REPL) для автоматической обработки файлов схем и символов. Эта утилита разработана для поддержки работы с API языка Scheme в gEDA. Информацию об опциях утилиты см. в справочной странице gaf(1), а для информации о поддерживаемых Scheme-процедурах gEDA см. info geda-scheme.

Шрифты

В Linux за настройку шрифтов отвечает пакет Fontconfig, и современные системы (в частности pango и cairo) полагаются на его библиотеку в поиске любого заданного шрифта. Вы можете задать команде gaf шаблон, содержащий имя нужного шрифта и, при желании, некоторые настройки для этого шрифта. Fontconfig ищет соответствие шаблону среди всех шрифтов, доступных в вашей системе, и выбирает самое близкое соответствие. Это обеспечивает то, что библиотека всегда возвращает какой-то шрифт, но не гарантирует, что он будет похож на запрошенный в шаблоне.

Если вы хотите узнать, какие шрифты доступны в вашей системе, вы можете использовать утилиту fc-list(1) из пакета fontconfig. Для проверки, смог ли fontconfig найти подходящий шрифт по указанному шаблону (или посмотреть какой шрифт будет соответствовать вашему шаблону), используйте утилиту fc-match(1).

Больше информации о том, как задать имя шрифта, который хотелось бы использовать, см. в документации пакета fontconfig.

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

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

Table 6. Возможные параметры настройки шрифта

Параметр Значение
Style Normal
Oblique
Italic
Weight Thin
Ultralight
Light
Book
Normal
Medium
Semibold
Bold
Ultrabold
Heavy
Ultraheavy
Variant Normal
SmallCaps
Stretch UltraCondensed
ExtraCondensed
Condensed
SemiCondensed
Normal
SemiExpanded
Expanded
ExtraExpanded
UltraExpanded

Примеры

Настройка экспорта

Использовать пейзажную ориентацию («landscape») по умолчанию для локального проекта:

gaf config --project export layout landscape

Использовать размер бумаги «letter» по умолчанию для печати чего-угодно:

gaf config --user export paper na_letter

Задать для локального проекта определённое значение размера бумаги, равное 1×2 дюйма:

gaf config --project export size "72;144"

Задать поля как полдюйма для левой и правой сторон и как четверть дюйма для верха и низа для локального проекта:

gaf config --project export margins "18;36;18;36"

Следующая команда выровняет схемы вашего проекта вправо:

gaf config --project export align "1.0;0.5"

Следующая команда — неправильная, она не будет работать, даже если в вашей локали в качестве разделителя в числах с плавающей запятой используется запятая, а не точка:

gaf config --project export align "1,0;0,0"

Эта команда, однако, работает в данном случае (например, в локали ru_RU.UTF-8):

gaf export -a 0,0:1.0 -o file.pdf file.sch

Обратите внимание, что здесь я использую gaf export, а не gaf config.

Чтобы печатать все свои схемы в цвете (обратите внимание: “False” или “FALSE” работать не будут):

gaf config --project export monochrome false

Настроить нестандартный пользовательский шрифт:

gaf config --user export font "OpenGost Type B TT Italic"

Выбрать другой шрифт для локального проекта:

gaf config --project export font "Arial Bold"

Настройка создания списков соединений

Использовать более короткие имена соединений и шин во всех списках соединений созданных пользователем:

gaf config --user gnetlist default-net-name net
gaf config --user gnetlist default-bus-name bus

Обеспечить, что в локальном проекте будут использоваться иерархические имена соединений, несмотря на настройки в geda-user.conf:

gaf config --project gnetlist traverse-hierarchy true

Переименовывать соединения, подключенные к gnd-1.sym (и другим символам имеющим атрибут net), если они имеют атрибут netname:

gaf config --project gnetlist net-naming-priority netname-attribute

Настройка gschem

Использовать более короткие имена для новых файлов:

gaf config --user gschem default-filename empty

Настройка вида библиотеки gschem

Эта команда явно говорит, что вы хотите, чтобы всегда показывались все атрибуты:

gaf config --project gschem.library component-attributes "*"

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

Ограничить список отображаемых атрибутов указанным фильтром:

gaf config --project gschem.library component-attributes "refdes;device;description"

Не показывать никаких атрибутов в диалоговом окне выбора атрибутов:

gaf config --project gschem.library component-attributes ""

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

gaf config --project gschem.library component-attributes "refdes,device,description"

Сортировать библиотеку компонентов в gschem в алфавитном порядке:

gaf config --user gschem.library sort true

Настройка печати из gschem

Выбрать пейзажную ориентацию (landscape) как ориентацию по умолчанию для локального проекта при печати из gschem:

gaf config --project gschem.printing layout landscape

Использовать формат A5 при печати из gschem:

gaf config --project gschem.printing paper iso_a5

Всегда использовать чёрно-белую печать в gschem:

gaf config --user gschem.printing monochrome true

Настройка диалоговых окон gschem

Не отображать никаких унаследованных атрибутов в диалоговом окне редактирования атрибутов:

gaf config --user gschem.dialog-geometry.multiattrib show_inherited false

Учтите, что в команде выше нельзя использовать ключ --project (-p). Эта команда работает только в пользовательском контексте и не имеет смысла для локальных проектов.

Использование оболочки gaf (gaf shell)

Для определения имени каталога пользовательских настроек gEDA, наберите:

gaf shell -c "(display (user-config-dir))"

То же самое для каталогов системных настроек:

gaf shell -c "(display (sys-config-dirs))"
geda/gaf_utility.ru.txt · Last modified: 2014/07/28 08:01 by vzh