diff --git a/docs/PRODUCT-TEMPLATES.md b/docs/PRODUCT-TEMPLATES.md index 302b3d9..b56fe07 100644 --- a/docs/PRODUCT-TEMPLATES.md +++ b/docs/PRODUCT-TEMPLATES.md @@ -1,7 +1,573 @@ +Manually Creating Product Templates +=================================== + +This document is a reference for manually creating *gLabels* product templates. + +*gLabels* searches for templates in several locations as described here:
+ + +Location | Description +-----------------------------------------|----------------------------------------- +${prefix}/share/libglabels-qt/templates/ | Predefined templates distributed with glabels. +${XDG_CONFIG_HOME}/libglabels/templates | User defined templates created with the gLabels Template Designer. +${HOME}/.glabels | Manually created templates should be placed here. + + + +Assumptions/caveats +------------------- + +A sheet contains only one size of label or card (if a sheet contains more than one size of item, +it can be split into multiple templates for multiple pass printing). + +Distances can be expressed in units of *pt*, *in1*, *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*). + + +Template Files +-------------- + +A template file contains a single *Glabels-templates* top-level node. + +```xml + +A *Label-ellipse* node describes the + dimensions of a single label or business card that is elliptic + in shape.
+ +Property | Description |
+
| + | |
*id* |
+ Reserved for future use. Should always be 0. |
+
*width* |
+ Width of the ellipse |
+
*height* |
+ Height of the ellipse |
+
*waste* |
+ Amount of waste (over-print) to allow. This is useful + for minimizing alignment problems when using non-white + backgrounds (e.g. images). |
+
*Label-ellipse* parameters
+A *Label-round* node describes the dimensions + of a simple round label (not a CD).
+ +Property | Description |
+
| + | |
*id* |
+ Reserved for future use. Should always be 0. |
+
*radius* |
+ Radius (1/2 diameter) of label |
+
*waste* |
+ Amount of waste (over-print) to allow. This is useful + for minimizing alignment problems when using non-white + backgrounds (e.g. images). |
+
*Label-ellipse* parameters
+A *Label-cd* node describes the dimensions + of a CD, DVD, or business card CD.
+ +Property | Description |
+
| + | |
*id* |
+ Reserved for future use. Should always be 0. |
+
*radius* |
+ Outer radius of label |
+
*hole* |
+ Radius of concentric hole |
+
*width* |
+ If present, the label is clipped to the given width. + (Useful for "business card CDs"). |
+
*height* |
+ If present, the label is clipped to the given height. + (Useful for "business card CDs"). |
+
*waste* |
+ Amount of waste (over-print) to allow. This is useful + for minimizing alignment problems when using non-white + backgrounds (e.g. images). |
+
CD label parameters
+Templates may contain optional markup nodes. These nodes are used to describe
+ a simple set of markup lines that are visible in the
A *Markup-margin* describes a margin along + all edges of a label.
+ +Property | Description |
+
| + | |
*size* |
+ Size of the margin. I.e. the distance of the margin + line from the edge of the card/label. |
+
A *Markup-line* node describes a markup line.
+ +Property | Description |
+
| + | |
*x1* |
+ x coordinate of 1st endpoint of the line segment. |
+
*y1* |
+ y coordinate of 1st endpoint of the line segment. |
+
*x2* |
+ x coordinate of 2nd endpoint of the line segment. |
+
*y2* |
+ y coordinate of 2nd endpoint of the line segment. |
+
A *Markup-circle* describes a markup circle.
+ +Property | Description |
+
| + | |
*x0* |
+ x coordinate of circle origin (center). |
+
*y0* |
+ y coordinate of circle origin (center). |
+
*radius* |
+ Radius of circle. |
+
A *Markup-rect* describes a markup rectangle.
+ +Property | Description |
+
| + | |
*x1* |
+ x coordinate of upper left corner of rectangle. |
+
*y1* |
+ y coordinate of upper left corner of rectangle. |
+
*w* |
+ Width of rectangle. |
+
*h* |
+ Height of rectangle. |
+
*r* |
+ Radius of rounded corners of rectangle. |
+
A *Markup-ellipse* describes a markup ellipse.
+ +Property | Description |
+
| + | |
*x1* |
+ x coordinate of upper left corner of ellipse. |
+
*y1* |
+ y coordinate of upper left corner of ellipse. |
+
*w* |
+ Width of ellipse. |
+
*h* |
+ Height of ellipse. |
+
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.
+A common example for multiple layouts is a sheet with three + CD labels:
+ + +CD label sheet
+The two labels on the left edge can be assigned to a grid, assuming we + can define the coordinates for the top left label and the distance to + the second label properly. The distance to the left edge is common to + these labels. The third one on the right edge has no common distance + values with the other ones, that's why we have to define a second layout, + with unique coordinates for the top left corner of that label.
+ +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
A single label can always be treated as a grid of one.
+Property | Description |
+
| + | |
*nx* |
+ Number of labels/cards across in the grid (horizontal) |
+
*ny* |
+ Number of labels/cards across in the grid (vertical) |
+
*x0* |
+ Distance from left edge of sheet to the left edge of + the left column of cards/labels in the layout. |
+
*y0* |
+ Distance from the top edge of sheet to the top edge of + the top row of labels/cards in the layout. |
+
*dx* |
+ Horizontal pitch of grid. |
+
*dy* |
+ Vertical pitch of grid. |
+
Layout Parameters
+