Создание шаблона вручную.
Джим Эвинс (Jim Evins)
evins@snaught.com
Марио Блатерман (Mario Blättermann)
mario.blaettermann@gmail.com

Creative Commons Share Alike 3.0

# Создание шаблона вручную

Эта страница служит в качестве справочного руководства по созданию шаблонов в gLabels. Шаблоны gLabels определяются в обычных XML-файлах, описание которых (DTD) можно найти здесь. DTD описывает и другие файлы XML, которые используются в gLabels.

Созданный вручную файл шаблона должен быть помещён в каталог ${HOME}/.glabels и иметь расширение .template.

gLabels ищет шаблоны в нескольких каталогах:

Местоположение | Описание
${prefix}/share/libglabels-3.0/templates | Шаблоны, поставляемые с gLabels. ${prefix} — это чаще всего каталог /usr или /usr/local в зависимости от того, куда был установлен gLabels.
${XDG_CONFIG_HOME}/libglabels/templates | User defined templates created with the gLabels Template Designer. Do not put manually created templates in this directory. Если переменная ${XDG_CONFIG_HOME} не определена, то используется каталог по умолчанию ${HOME}/.config.
${HOME}/.glabels | User defined templates that have been created manually should be placed in this directory. Older versions of the gLabels Template Designer (prior to 3.0) would also put templates in this directory.

Окончательные файлы шаблонов можно отправить в список рассылки, чтобы этот шаблон мог быть включён в последующие версии gLabels.

# Предварительные сведения

На листе могут находиться этикетки или визитки только одного и того же размера (если на листе находится несколько этикеток или визиток с разными размерами, их можно разбить на несколько шаблонов)

Distances can be expressed in units of `pt`, `in`, `mm`, `cm`, or `pc`. For example: "`1.0in`" or "`2.54cm`". If no units are specified, computer points (`pt`) will be assumed (1 pt = 1/72 in = 0.352778 mm).

# Файлы шаблонов

A template file contains a single `Glabels-templates` top-level node.

<?xml version="1.0"?> <Glabels-templates>

...templates...

</Glabels-templates>

## Пример шаблона

Example gLabels template file containing a single `Template` node.
<?xml version="1.0"?> <Glabels-templates>

<Template brand="Avery" part="8160" size="US-Letter" description="Mailing Labels"> <Meta category="label"/> <Meta category="mail"/> <Meta product_url="http://www.avery.com/avery/en_us/"/> <Label-rectangle id="0" width="189pt" height="72pt" round="5pt"> <Markup-margin size="5pt"/> <Layout nx="3" ny="10" x0="11.25pt" y0="36pt" dx="200pt" dy="72pt"/> </Label-rectangle> </Template>

</Glabels-templates>

# `Template` Node

A `Template` node describes a single stationery product. It must contain one instance of any type of Label node (`Label-rectangle`, `Label-round`, or `Label-cd`).

Свойства | Описание
`brand` | Брэнд или производитель канцелярского изделия. Например, «Avery».
`part` | Шифр компонента или название канцелярского изделия. Например, «8160».
`size` | Size of sheet. E.g., "`US-Letter`", "`A4`", ...
`description` | Описание канцелярского изделия. Например, «Mailing Labels» (почтовые ярлыки).
`_description` | Описание канцелярского изделия, которое можно переводить. Например, «Mailing Labels.» (почтовые ярлыки). Это полезно только для предустановленных шаблонов.
`width` | Ширина страницы. Применяется только в том случае, если значение атрибута size равно «Other»
`height` | Высота страницы. Применяется только в том случае, если значение атрибута size равно «Other»
`equiv` | Эквивалентный шифр компонента. Если это свойство присутствует, то шаблон является копией другого шаблона того же самого брэнда. Шаблон наследует все свойства за исключением брэнда и названия. Это свойство должно ссылаться на предыдущий шаблон. gLabels пока что не поддерживает опережающие ссылки.

# `Meta` Node

A `Meta` node contains some additional information about the template. A `Template` node may contain zero or more `Meta` nodes.

Подчинённый узел | Описание

`category`

A category for the template. A template can belong to multiple categories by simply adding multiple `Meta` nodes to the parent `Template` node. Template categories are used by the gLabels New Label Dialog to filter the results of template searches.

Значение этой категории должно совпадать с предопределённым идентификатором категории в файле ${prefix}/libglabels-3.0/templates/categories.xml. Текущие определённые идентификаторы категорий включают в себя:

`label`

`round-label`

`elliptical-label`

`square-label`

`rectangle-label`

`card`

`business-card`

`media`

`mail`

`foldable`

`photo`

`product_url` | Адрес URL, указывающий на веб-страницу изделия (если есть).

Предложения по дополнительным категориям можно отправлять в список рассылки разработчиков gLabels.

URL изделия имеет ограниченное применение, т. к. этот адрес может быть непостоянным.

# `Label-rectangle` Node

A `Label-rectangle` node describes the dimensions of a single label or business card that is rectangular in shape (may have rounded edges).

Свойства | Описание
`id` | Зарезервировано для использования в будущем. Всегда должно иметь нулевое (0) значение.
`width` | Ширина этикетки/визитки
`height` | Height of label/card
`round` | Радиус закругления углов. Для элементов с прямоугольными гранями (визитные карточки) радиус должен иметь нулевое (0) значение.
`x_waste` | Горизонтальный отступ. Полезно для минимизации проблем при выравнивании, когда используется фон, отличный от белого (например, изображение).
`y_waste` | Вертикальный отступ. Полезно для минимизации проблем при выравнивании, когда используется фон, отличный от белого (например, изображение).

Label-rectangle
parameters

`Label-rectangle` parameters

# `Label-ellipse` Node

A `Label-ellipse` node describes the dimensions of a single label or business card that is elliptic in shape.

Свойства | Описание
`id` | Зарезервировано для использования в будущем. Всегда должно иметь нулевое (0) значение.
`width` | Ширина эллипса
`height` | Height of the ellipse
`waste` | Отступ. Полезно для минимизации проблем при выравнивании, когда используется фон, отличный от белого (например, изображение).

Label-ellipse parameters

`Label-ellipse` parameters

# `Label-round` Node

A `Label-round` node describes the dimensions of a simple round label (not a CD).

Свойства | Описание
`id` | Зарезервировано для использования в будущем. Всегда должно иметь нулевое (0) значение.
`radius` | Радиус (половина диаметра) этикетки
`waste` | Отступ. Полезно для минимизации проблем при выравнивании, когда используется фон, отличный от белого (например, изображение).

Label-ellipse
parameters

`Label-ellipse` parameters

# `Label-cd` Node

A `Label-cd` node describes the dimensions of a CD, DVD, or business card CD.

Свойства | Описание
`id` | Зарезервировано для использования в будущем. Всегда должно иметь нулевое (0) значение.
`radius` | Внешний радиус этикетки
`hole` | Радиус концентрической окружности
`width` | Если присутствует, этикетка будет обрезана по указанной ширине. Полезно для дисков в форме визиток.
`height` | Если присутствует, этикетка будет обрезана по указанной высоте. Полезно для дисков в форме визиток.
`waste` | Отступ. Полезно для минимизации проблем при выравнивании, когда используется фон, отличный от белого (например, изображение).

Label-cd
parameters

CD label parameters

# `Markup` Nodes

Шаблоны могут содержать необязательные узлы разметки. Эти узлы применяются для описания разметочных линий, которые будут показаны в области рисования glabels, но не выводятся на печать. Эти линии могут использоваться для отступов, линий сгибов, центральных линий, особых зон и других полезных элементов.

## `Markup-margin` Node

A `Markup-margin` describes a margin along all edges of a label.

Свойства | Описание
`size` | Размер поря, т. е. расстояние до границы этикетки.

## `Markup-line` Node

A `Markup-line` node describes a markup line.

Свойства | Описание
`x1` | Координата по оси X первой точки линейного сегмента.
`y1` | Координата по оси Y первой точки линейного сегмента.
`x2` | x coordinate of 2nd endpoint of the line segment.
`y2` | y coordinate of 2nd endpoint of the line segment.

## `Markup-circle` Node

A `Markup-circle` describes a markup circle.

Свойства | Описание
`x0` | Координата по оси X исходной окружности (центр).
`y0` | Координата по оси Y исходной окружности (центр).
`radius` | Радиус окружности.

## `Markup-rect` Node

A `Markup-rect` describes a markup rectangle.

Свойства | Описание
`x1` | Координата по оси X левого верхнего угла прямоугольника.
`y1` | Координата по оси Y левого верхнего угла прямоугольника.
`w` | Ширина прямоугольника.
`h` | Высота прямоугольника
`r` | Радиус закругления углов.

## `Markup-ellipse` Node

A `Markup-ellipse` describes a markup ellipse.

Свойства | Описание
`x1` | Координата по оси X левого верхнего угла эллипса.
`y1` | Координата по оси Y левого верхнего угла эллипса.
`w` | Ширина эллипса.
`h` | Высота эллипса.

# `Layout` Node

A label node may contain multiple `Layout` children. If labels are arranged in a simple grid pattern, only one layout is needed. However, if labels are arranged in multiple grids, such as a running bond pattern, multiple `Layout` tags can be used.

Примером использования нескольких слоёв может служить лист с тремя этикетками для CD:

Страница с этикеткой для CD

CD label sheet

Две этикетки с левой стороны могут быть включены в сетки, предположим, что мы можем определить координаты левой верхней этикетки и расстояние до второй этикетки. Расстояние до границы слева — общая величина для этих этикеток. У третьей этикетки справа нет общих значений расстояния с другими этикетками, поэтому необходимо задать второй слой со своими координатами для левого верхнего угла этикетки.

You can define multiple layouts only if the labels on the sheet have the same shape. If your sheet contains different shapes, you have to define each shape in another template separately. Future versions of gLabels will probably be able to concatenate such sheets with different shapes within a single template.

Одну этикетку можно рассматривать как сетку с одним элементом.

Свойства | Описание
`nx` | Количество этикеток/визиток в сетке (по горизонтали)
`ny` | Количество этикеток/визиток в сетке (по вертикали)
`x0` | Расстояние от левой границы листа до левой границы левого столбца с этикетками или визитками.
`y0` | Расстояние от верхней границы листа до верхней границы верхней строки с этикетками или визитками.
`dx` | Горизонтальный шаг сетки.
`dy` | Вертикальный шаг сетки.

Layout
parameters

Layout Parameters