--- /dev/null
+
+<!-- :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -->
+<!-- ENTITIES: primitive types used in element attributes -->
+<!-- :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -->
+
+<!-- primitives -->
+<!ENTITY % BOOLEAN_TYPE "(False | True | 0 | 1)">
+<!ENTITY % STRING_TYPE "CDATA">
+<!ENTITY % LENGTH_TYPE "CDATA"> <!-- %g (pt|in|mm|cm|pc) -->
+<!ENTITY % INT_TYPE "CDATA"> <!-- %d | 0x%x | 0%o -->
+<!ENTITY % UINT_TYPE "CDATA"> <!-- %u | 0x%x | 0%o -->
+<!ENTITY % FLOAT_TYPE "CDATA"> <!-- %g -->
+
+<!-- Text related enumerations/types -->
+<!ENTITY % JUSTIFY_TYPE "(Left | Right | Center)">
+<!ENTITY % FONT_WEIGHT_TYPE "(Regular | Bold)">
+
+<!-- Barcode related enumerations/types -->
+<!ENTITY % BC_STYLE_TYPE "CDATA">
+ <!-- one of:
+ "(POSTNET |
+ POSTNET-5 |
+ POSTNET-9 |
+ POSTNET-11 |
+ CEPNET |
+ EAN |
+ EAN-8 |
+ EAN-8+2 |
+ EAN-8+5 |
+ EAN-13 |
+ EAN-13+2 |
+ EAN-13+5 |
+ UPC |
+ UPC-A |
+ UPC-A+2 |
+ UPC-A+5 |
+ UPC-E |
+ UPC-E+2 |
+ UPC-E+5 |
+ ISBN |
+ ISBN+5 |
+ Code39 |
+ Code128 |
+ Code128C |
+ Code128B |
+ I25 |
+ CBR |
+ MSI |
+ PLS |
+ IEC16022)"
+ -->
+
+<!-- Data encoding method -->
+<!ENTITY % DATA_ENCODING_TYPE "(None | Base64)">
+
+<!-- :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -->
+<!-- :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -->
+<!-- Top-level glabels paper data base -->
+<!-- :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -->
+<!-- :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -->
+<!ELEMENT Glabels-paper-sizes (Paper-size*)>
+<!ATTLIST Glabels-paper-sizes
+ xmlns %STRING_TYPE; #IMPLIED
+>
+
+<!-- :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -->
+<!-- :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -->
+<!-- Top-level glabels categories data base -->
+<!-- :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -->
+<!-- :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -->
+<!ELEMENT Glabels-categories (Category*)>
+<!ATTLIST Glabels-categories
+ xmlns %STRING_TYPE; #IMPLIED
+>
+
+<!-- :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -->
+<!-- :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -->
+<!-- Top-level glabels template data base -->
+<!-- :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -->
+<!-- :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -->
+<!ELEMENT Glabels-templates (Template*)>
+<!ATTLIST Glabels-templates
+ xmlns %STRING_TYPE; #IMPLIED
+>
+
+<!-- :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -->
+<!-- :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -->
+<!-- Top-level glabels document -->
+<!-- :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -->
+<!-- :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -->
+<!ELEMENT Glabels-document (Template, Objects+, Merge?, Data*)>
+<!ATTLIST Glabels-document
+ xmlns %STRING_TYPE; #IMPLIED
+>
+
+<!-- :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -->
+<!-- Paper size -->
+<!-- :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -->
+<!ELEMENT Paper-size EMPTY>
+<!ATTLIST Paper-size
+ id %STRING_TYPE; #REQUIRED
+ name %STRING_TYPE; #IMPLIED
+ _name %STRING_TYPE; #IMPLIED
+ width %LENGTH_TYPE; #REQUIRED
+ height %LENGTH_TYPE; #REQUIRED
+>
+
+<!-- :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -->
+<!-- Category -->
+<!-- :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -->
+<!ELEMENT Category EMPTY>
+<!ATTLIST Category
+ id %STRING_TYPE; #REQUIRED
+ name %STRING_TYPE; #IMPLIED
+ _name %STRING_TYPE; #IMPLIED
+>
+
+<!-- :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -->
+<!-- Template Section -->
+<!-- :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -->
+<!ENTITY % label_element "Label-rectangle | Label-round | Label-cd">
+<!ENTITY % markup_element "Markup-margin | Markup-line | Markup-circle | Markup-rect">
+
+<!ELEMENT Template (Meta*, (%label_element;)+, Alias*)>
+<!ATTLIST Template
+ brand %STRING_TYPE; #REQUIRED
+ part %STRING_TYPE; #REQUIRED
+ name %STRING_TYPE; #IMPLIED
+ size %STRING_TYPE; #REQUIRED
+ width %LENGTH_TYPE; #IMPLIED
+ height %LENGTH_TYPE; #IMPLIED
+ description %STRING_TYPE; #IMPLIED
+ _description %STRING_TYPE; #IMPLIED
+>
+
+<!ELEMENT Meta EMPTY>
+<!ATTLIST Meta
+ category %STRING_TYPE; #REQUIRED
+>
+
+<!ELEMENT Label-rectangle ((%markup_element;)*, Layout+)>
+<!ATTLIST Label-rectangle
+ id %STRING_TYPE; #REQUIRED
+ width %LENGTH_TYPE; #REQUIRED
+ height %LENGTH_TYPE; #REQUIRED
+ round %LENGTH_TYPE; "0 pt"
+ waste %LENGTH_TYPE; #IMPLIED
+ x_waste %LENGTH_TYPE; #IMPLIED
+ y_waste %LENGTH_TYPE; #IMPLIED
+>
+
+<!ELEMENT Label-round ((%markup_element;)*, Layout+)>
+<!ATTLIST Label-round
+ id %STRING_TYPE; #REQUIRED
+ radius %LENGTH_TYPE; #REQUIRED
+ waste %LENGTH_TYPE; #IMPLIED
+>
+
+<!ELEMENT Label-cd ((%markup_element;)*, Layout+)>
+<!ATTLIST Label-cd
+ id %STRING_TYPE; #REQUIRED
+ radius %LENGTH_TYPE; #REQUIRED
+ hole %LENGTH_TYPE; #REQUIRED
+ width %LENGTH_TYPE; #IMPLIED
+ height %LENGTH_TYPE; #IMPLIED
+ waste %LENGTH_TYPE; #IMPLIED
+>
+
+<!ELEMENT Markup-margin EMPTY>
+<!ATTLIST Markup-margin
+ size %LENGTH_TYPE; #REQUIRED
+>
+
+<!ELEMENT Markup-line EMPTY>
+<!ATTLIST Markup-line
+ x1 %LENGTH_TYPE; #REQUIRED
+ y1 %LENGTH_TYPE; #REQUIRED
+ x2 %LENGTH_TYPE; #REQUIRED
+ y2 %LENGTH_TYPE; #REQUIRED
+>
+
+<!ELEMENT Markup-circle EMPTY>
+<!ATTLIST Markup-circle
+ x0 %LENGTH_TYPE; #REQUIRED
+ y0 %LENGTH_TYPE; #REQUIRED
+ radius %LENGTH_TYPE; #REQUIRED
+>
+
+<!ELEMENT Markup-rect EMPTY>
+<!ATTLIST Markup-rect
+ x1 %LENGTH_TYPE; #REQUIRED
+ y1 %LENGTH_TYPE; #REQUIRED
+ w %LENGTH_TYPE; #REQUIRED
+ h %LENGTH_TYPE; #REQUIRED
+ r %LENGTH_TYPE; #REQUIRED
+>
+
+<!ELEMENT Layout EMPTY>
+<!ATTLIST Layout
+ nx %UINT_TYPE; #REQUIRED
+ ny %UINT_TYPE; #REQUIRED
+ x0 %LENGTH_TYPE; "0 pt"
+ y0 %LENGTH_TYPE; "0 pt"
+ dx %LENGTH_TYPE; "0 pt"
+ dy %LENGTH_TYPE; "0 pt"
+>
+
+<!ELEMENT Alias EMPTY>
+<!ATTLIST Alias
+ brand %STRING_TYPE; #REQUIRED
+ part %STRING_TYPE; #REQUIRED
+ name %STRING_TYPE; #IMPLIED
+>
+
+<!-- :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -->
+<!-- Objects Section -->
+<!-- :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -->
+<!ENTITY % object_class_element "Object-text |
+ Object-box |
+ Object-line |
+ Object-ellipse |
+ Object-image |
+ Object-barcode"
+>
+
+<!ELEMENT Objects ((%object_class_element;)*)>
+<!ATTLIST Objects
+ id %STRING_TYPE; #REQUIRED
+ rotate %BOOLEAN_TYPE; #REQUIRED
+>
+
+<!ENTITY % position_attrs
+ "x %LENGTH_TYPE; #REQUIRED
+ y %LENGTH_TYPE; #REQUIRED"
+>
+
+<!ENTITY % size_attrs
+ "w %LENGTH_TYPE; #REQUIRED
+ h %LENGTH_TYPE; #REQUIRED"
+>
+
+<!ENTITY % line_attrs
+ "line_width %LENGTH_TYPE; #IMPLIED
+ line_color %UINT_TYPE; #IMPLIED
+ line_color_field %STRING_TYPE; #IMPLIED"
+>
+
+<!ENTITY % fill_attrs
+ "fill_color %UINT_TYPE; #IMPLIED
+ fill_color_field %STRING_TYPE; #IMPLIED"
+>
+
+<!ENTITY % affine_attrs
+ "a0 %FLOAT_TYPE; #IMPLIED
+ a1 %FLOAT_TYPE; #IMPLIED
+ a2 %FLOAT_TYPE; #IMPLIED
+ a3 %FLOAT_TYPE; #IMPLIED
+ a4 %FLOAT_TYPE; #IMPLIED
+ a5 %FLOAT_TYPE; #IMPLIED"
+>
+
+<!ENTITY % shadow_attrs
+ ""
+>
+
+<!ELEMENT Object-text (Span)>
+<!ATTLIST Object-text
+ %position_attrs;
+ %size_attrs;
+ justify %JUSTIFY_TYPE; #REQUIRED
+ auto_shrink %BOOLEAN_TYPE; #IMPLIED
+ %affine_attrs;
+ %shadow_attrs;
+>
+
+<!ELEMENT Object-box EMPTY>
+<!ATTLIST Object-box
+ %position_attrs;
+ %size_attrs;
+ %line_attrs;
+ %fill_attrs;
+ %affine_attrs;
+ %shadow_attrs;
+>
+
+<!ELEMENT Object-ellipse EMPTY>
+<!ATTLIST Object-ellipse
+ %position_attrs;
+ %size_attrs;
+ %line_attrs;
+ %fill_attrs;
+ %affine_attrs;
+ %shadow_attrs;
+>
+
+<!ELEMENT Object-line EMPTY>
+<!ATTLIST Object-line
+ %position_attrs;
+ dx %LENGTH_TYPE; #REQUIRED
+ dy %LENGTH_TYPE; #REQUIRED
+ %line_attrs;
+ %affine_attrs;
+ %shadow_attrs;
+>
+
+<!ELEMENT Object-image EMPTY>
+<!ATTLIST Object-image
+ %position_attrs;
+ %size_attrs;
+ src %STRING_TYPE; #IMPLIED
+ field %STRING_TYPE; #IMPLIED
+ embed %BOOLEAN_TYPE; #IMPLIED
+ %affine_attrs;
+ %shadow_attrs;
+>
+
+<!ELEMENT Object-barcode EMPTY>
+<!ATTLIST Object-barcode
+ %position_attrs;
+ %size_attrs;
+ style %BC_STYLE_TYPE; #REQUIRED
+ text %BOOLEAN_TYPE; #REQUIRED
+ checksum %BOOLEAN_TYPE; #REQUIRED
+ color %UINT_TYPE; #IMPLIED
+ color_field %STRING_TYPE; #IMPLIED
+ data %STRING_TYPE; #IMPLIED
+ field %STRING_TYPE; #IMPLIED
+ format %UINT_TYPE; #IMPLIED
+ %affine_attrs;
+ %shadow_attrs;
+>
+
+
+
+<!-- :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -->
+<!-- Merge Section -->
+<!-- :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -->
+<!ELEMENT Merge EMPTY>
+<!ATTLIST Merge
+ type %STRING_TYPE; #REQUIRED
+ src %STRING_TYPE; #IMPLIED
+>
+
+<!-- :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -->
+<!-- Data Section -->
+<!-- :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -->
+<!ENTITY % data_element "Pixdata">
+
+<!ELEMENT Data (%data_element;)*>
+
+<!-- Inline Pixdata -->
+<!ELEMENT Pixdata (#PCDATA)>
+<!ATTLIST Pixdata
+ name %STRING_TYPE; #REQUIRED
+ encoding %DATA_ENCODING_TYPE; "Base64"
+>
+
+
+<!-- :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -->
+<!-- Text elements -->
+<!-- :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -->
+<!ENTITY % text_element "#PCDATA | Span | Field | NL">
+
+<!ELEMENT Span (%text_element;)*>
+<!ATTLIST Span
+ font_family %STRING_TYPE; #IMPLIED
+ font_size %LENGTH_TYPE; #IMPLIED
+ font_weight %FONT_WEIGHT_TYPE; #IMPLIED
+ font_italic %BOOLEAN_TYPE; #IMPLIED
+ color %UINT_TYPE; #IMPLIED
+ color_field %STRING_TYPE; #IMPLIED
+ line_spacing %LENGTH_TYPE; #IMPLIED
+>
+
+<!ELEMENT Field EMPTY>
+<!ATTLIST Field
+ name %STRING_TYPE; #REQUIRED
+>
+
+<!ELEMENT NL EMPTY>
<ul>
<li>
<div class="latest">
- <?a("templates-2.0/","Designing Custom Templates for gLabels 2.0.x");?>
+ <?a("templates-2.2/","Designing Custom Templates for gLabels 2.2.x");?>
</div>
</li>
--- /dev/null
+<?php include "../../common_php.inc"; ?>
+
+<?php gLabelsHeader("docs"); ?>
+
+<h1 class="doc">Defining new gLabels templates for gLabels 2.2.x</h1>
+
+<p>
+Predefined templates are defined by XML files located in
+<i>${prefix}/share/glabels/</i>,
+where <i>${prefix}</i> is usually something like
+<i>/usr/local</i> or <i>/usr</i> depending
+on the configuration option <i>prefix</i>. gLabels will
+use all files of the form <i>*-templates.xml</i> or <i>*.template</i>,
+that it finds in <i>${prefix}/share/glabels/</i> and <i>${HOME}/.glabels/</i>.
+Additional templates can be added by creating additional
+<i>*.template</i> files in either of these directories.
+</p>
+<ul>
+ <li>The format for these files is defined in the DTD: <?a("/doc/glabels-2.2.dtd.txt","glabels-2.2.dtd");?>. (This DTD also describes other XML formats used by glabels.)</li>
+</ul>
+
+<h2>Assumptions/caveats</h2>
+<ul>
+ <li>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)</li>
+ <li>Distances can be expressed in units of <i>pt</i>, <i>in</i>, <i>mm</i>, <i>cm</i>, or <i>pc</i>. For example: "1.0in" or "2.54cm". If no units are specified, computer points (<i>pt</i>) will be assumed (1 pt = 1/72 in = 0.352778 mm).</li>
+</ul>
+
+
+<h2><i>*-templates.xml</i> and <i>*.template</i> files</h2>
+<div class="codebox">
+<?xml version="1.0"?>
+<Glabels-templates>
+
+ ...<i>templates</i>...
+
+</Glabels-templates>
+</div>
+
+
+<h2>Example Template</h2>
+<div class="codebox">
+ <Template brand="Avery" part="8160" size="US-Letter" description="Mailing Labels">
+ <Label-rectangle id="0" width="189" height="72" round="5">
+ <Markup-margin size="5"/>
+ <Layout nx="3" ny="10" x0="11.25" y0="36" dx="200" dy="72"/>
+ </Label-rectangle>
+ <Alias brand="Avery" part="5160"/>
+ <Alias brand="Avery" part="6233"/>
+ </Template>
+</div>
+
+
+<h2>Template Node</h2>
+<p>
+A <i>Template</i> node describes a single stationary product. It must contain
+one instance of any type of Label node (<i>Label-rectangle</i>,
+<i>Label-round</i>, or <i>Label-cd</i>). This node can be followed by zero
+or more <i>Alias</i> nodes.
+</p>
+<h3>Properties</h3>
+<table border="1">
+ <tr>
+ <td valign="top">brand</td>
+ <td>Brand or manufacturer of stationary product. E.g. "Avery"</td>
+ </tr>
+ <tr>
+ <td valign="top">part</td>
+ <td>Part number or name of stationary product. E.g. "8160"</td>
+ </tr>
+ <tr>
+ <td valign="top">size</td>
+ <td>Size of sheet. E.g., "US-Letter," "A4", ...</td>
+ </tr>
+ <tr>
+ <td valign="top">description</td>
+ <td>Description of stationary product. E.g, "Mailing Labels."</td>
+ </tr>
+ <tr>
+ <td valign="top">_description</td>
+ <td>Translatable description of stationary product. E.g, "Mailing Labels." (Only useful for predefined templates)</td>
+ </tr>
+ <tr>
+ <td valign="top">width</td>
+ <td>Page width. Only valid if size="Other"</td>
+ </tr>
+ <tr>
+ <td valign="top">height</td>
+ <td>Page height. Only valid if size="Other"</td>
+ </tr>
+</table>
+
+<h2>Label-rectangle Node</h2>
+<p>
+A <i>Label-rectangle</i> node describes the dimensions of a single label or
+business card that is rectangular in shape (may have rounded edges).
+</p>
+<h3>Properties</h3>
+<table border="1">
+ <tr>
+ <td valign="top">id</td>
+ <td>Reserved for future use. Should always be 0.</td>
+ </tr>
+ <tr>
+ <td valign="top">width</td>
+ <td>Width of label/card</td>
+ </tr>
+ <tr>
+ <td valign="top">height</td>
+ <td>Height of label/card</td>
+ </tr>
+ <tr>
+ <td valign="top">round</td>
+ <td>Radius of corners. For items with square edges (business cards)
+ , the radius should be 0.</td>
+ </tr>
+ <tr>
+ <td valign="top">x_waste</td>
+ <td>Amount of horizontal waste (over-print) to allow. This is useful for minimizing alignment problems when using non-white backgrounds (e.g. images).</td>
+ </tr>
+ <tr>
+ <td valign="top">y_waste</td>
+ <td>Amount of vertical waste (over-print) to allow. This is useful for minimizing alignment problems when using non-white backgrounds (e.g. images).</td>
+ </tr>
+</table>
+<br />
+<?img("glabels-template-label.png","Label illustration");?>
+
+<h2>Label-round Node</h2>
+<p>
+A <i>Label-round</i> node describes the dimensions of a simple round label (not a CD).
+</p>
+<h3>Properties</h3>
+<table border="1">
+ <tr>
+ <td valign="top">id</td>
+ <td>Reserved for future use. Should always be 0.</td>
+ </tr>
+ <tr>
+ <td valign="top">radius</td>
+ <td>Radius (1/2 diameter) of label</td>
+ </tr>
+ <tr>
+ <td valign="top">waste</td>
+ <td>Amount of waste (over-print) to allow. This is useful for minimizing alignment problems when using non-white backgrounds (e.g. images).</td>
+ </tr>
+</table>
+
+<h2>Label-cd Node</h2>
+<p>
+A <i>Label-cd</i> node describes the dimensions of a CD, DVD, or business card
+CD.
+</p>
+<h3>Properties</h3>
+<table border="1">
+ <tr>
+ <td valign="top">id</td>
+ <td>Reserved for future use. Should always be 0.</td>
+ </tr>
+ <tr>
+ <td valign="top">radius</td>
+ <td>Outer radius of label</td>
+ </tr>
+ <tr>
+ <td valign="top">hole</td>
+ <td>Radius of concentric hole</td>
+ </tr>
+ <tr>
+ <td valign="top">width</td>
+ <td>If present, the label is clipped to the given width. (Useful for "business card CDs").</td>
+ </tr>
+ <tr>
+ <td valign="top">height</td>
+ <td>If present, the label is clipped to the given height. (Useful for "business card CDs").</td>
+ </tr>
+ <tr>
+ <td valign="top">waste</td>
+ <td>Amount of waste (over-print) to allow. This is useful for minimizing alignment problems when using non-white backgrounds (e.g. images).</td>
+ </tr>
+</table>
+<br />
+<?img("glabels-template-cd.png","CD Label illustration");?>
+
+
+<h2>Markup-margin Node</h2>
+<p>
+A <i>Markup-margin</i> describes a margin along all edges of a label.
+</p>
+<h3>Properties</h3>
+<table border="1">
+ <tr>
+ <td valign="top">size</td>
+ <td>Size of the margin. I.e. the distance of the margin line from the
+ edge of the card/label.</td>
+ </tr>
+</table>
+
+
+<h2>Markup-line Node</h2>
+<p>
+A <i>Markup-line</i> describes a markup line.
+</p>
+<h3>Properties</h3>
+<table border="1">
+ <tr>
+ <td valign="top">x1</td>
+ <td>x coordinate of 1st endpoint of the line segment.</td>
+ </tr>
+ <tr>
+ <td valign="top">y1</td>
+ <td>y coordinate of 1st endpoint of the line segment.</td>
+ </tr>
+ <tr>
+ <td valign="top">x2</td>
+ <td>x coordinate of 2nd endpoint of the line segment.</td>
+ </tr>
+ <tr>
+ <td valign="top">y2</td>
+ <td>y coordinate of 2nd endpoint of the line segment.</td>
+ </tr>
+</table>
+
+<h2>Markup-circle Node</h2>
+<p>
+A <i>Markup-circle</i> describes a markup circle.
+</p>
+<h3>Properties</h3>
+<table border="1">
+ <tr>
+ <td valign="top">x0</td>
+ <td>x coordinate of circle origin (center).</td>
+ </tr>
+ <tr>
+ <td valign="top">y0</td>
+ <td>y coordinate of circle origin (center).</td>
+ </tr>
+ <tr>
+ <td valign="top">radius</td>
+ <td>Radius of circle.</td>
+ </tr>
+</table>
+
+<h2>Markup-rect Node</h2>
+<p>
+A <i>Markup-rect</i> describes a markup rectangle.
+</p>
+<h3>Properties</h3>
+<table border="1">
+ <tr>
+ <td valign="top">x1</td>
+ <td>x coordinate of upper left corner of rectangle.</td>
+ </tr>
+ <tr>
+ <td valign="top">y1</td>
+ <td>y coordinate of upper left corner of rectangle.</td>
+ </tr>
+ <tr>
+ <td valign="top">w</td>
+ <td>Width of rectangle.</td>
+ </tr>
+ <tr>
+ <td valign="top">h</td>
+ <td>Height of rectangle.</td>
+ </tr>
+ <tr>
+ <td valign="top">r</td>
+ <td>Radius of rounded corners.</td>
+ </tr>
+</table>
+
+<h2>Layout Node</h2>
+<p>
+A label node may contain multiple <i>Layout</i> children. If labels are layed out in
+a simple grid pattern, only one layout is needed. However, if labels are
+layed out in multiple grids, such as a running bond pattern, multiple
+<i>layout</i> tags can be used. Note: a single label can always be treated as
+a grid of one.
+</p>
+<h3>Properties</h3>
+<table border="1">
+ <tr>
+ <td valign="top">nx</td>
+ <td>Number of labels/cards across in the grid (horizontal)</td>
+ </tr>
+ <tr>
+ <td valign="top">ny</td>
+ <td>Number of labels/cards up and down in the grid (vertical)</td>
+ </tr>
+ <tr>
+ <td valign="top">x0</td>
+ <td>Distance from left edge of sheet to the left edge of the left
+ column of cards/labels in the layout.</td>
+ </tr>
+ <tr>
+ <td valign="top">y0</td>
+ <td>Distance from the top edge of sheet to the top edge of
+ the top row of labels/cards in the layout.</td>
+ </tr>
+ <tr>
+ <td valign="top">dx</td>
+ <td>Horizontal pitch of grid.</td>
+ </tr>
+ <tr>
+ <td valign="top">dy</td>
+ <td>Vertical pitch of grid.</td>
+ </tr>
+</table>
+<br />
+<?img("glabels-template-layout.png","Layout illustration");?>
+
+<h2>Alias Node</h2>
+<h3>Properties</h3>
+<table border="1">
+ <tr>
+ <td valign="top">brand</td>
+ <td>Brand or manufacturer of the product with the same size and layout
+ characteristics.</td>
+ </tr>
+ <tr>
+ <td valign="top">part</td>
+ <td>Part number or name of the product with the same size and layout
+ characteristics.</td>
+ </tr>
+</table>
+
+<br />
+
+
+<?php gLabelsFooter(); ?>
<h2>System Requirements</h2>
<p>
-gLabels is designed to run on <i>GNOME 2.2+</i>, but more specifically it requires the following libraries or newer.
+gLabels is designed to run on <i>GNOME 2.16+</i>, but more specifically it requires the following libraries or newer.
</p>
<ul>
- <li>GTK+-2.0.x</li>
- <li>LIBGNOME[UI]-2.0.x</li>
- <li>LIBXML-2.4.x</li>
- <li>LIBGNOMEPRINT[UI]-2.2.x</li>
- <li>LIBGNOMECANVAS-2.0.x</li>
- <li>LIBGLADE-2.0.x</li>
+ <li>GTK+-2.10.x</li>
+ <li>LIBGNOME[UI]-2.16.x</li>
+ <li>LIBXML-2.6.x</li>
+ <li>LIBGLADE-2.6.x</li>
</ul>
<p>
Note: to compile gLabels on most GNU/Linux systems, you will need the development packages (e.g., gtk2-devel or gtk2-dev)
<ul>
<li>
<div class="latest">
- <?a_sfdownload("glabels-2.0.4.tar.gz");?> (latest version)
+ <?a_sfdownload("glabels-2.2.0.tar.gz");?> (latest version)
</div>
</li>
- <li><?a_sfdownload("glabels-2.0.3.tar.gz");?></li>
- <li><?a_sfdownload("glabels-2.0.2.tar.gz");?></li>
- <li><?a_sfdownload("glabels-2.0.1.tar.gz");?></li>
- <li><?a_sfdownload("glabels-2.0.0.tar.gz");?></li>
</ul>
<h2>Source:</h2>
<ul>
+
<li>
<div class="latest">
- <?a_sfdownload("glabels-2.1.5.tar.gz");?> (latest version)
+ <i>No post 2.2.x development version available yet.</i>
</div>
</li>
- <li><?a_sfdownload("glabels-2.1.4.tar.gz");?></li>
- <li><?a_sfdownload("glabels-2.1.3.tar.gz");?></li>
- <li><?a_sfdownload("glabels-2.1.2.tar.gz");?></li>
- <li><?a_sfdownload("glabels-2.1.1.tar.gz");?></li>
- <li><?a_sfdownload("glabels-2.1.0.tar.gz");?></li>
</ul>
<h2>Subversion:</h2>
-<h2><?a("/source/","Older versions ...");?></h2>
-
-
+<h2><?a("http://sourceforge.net/project/showfiles.php?group_id=46122", "Older versions ...");?></h2>
+<div class="newsitem">
+<div class="newsdate">26 December 2007</div>
+<div class="newstitle">Release 2.2.0 (Stable)</div>
+<p>
+<i>After two years in the making, it's finally here...</i>
+</p>
+<p>
+<i>A new stable release</i>. The underlying technology has been largely overhauled from the 2.0.x branch.
+The libgnomeprint library has been completely replaced with Cairo and the new GtkPrintOperation API.
+One side effect of print rendering with Cairo is that image compositing now works at full resolution.
+Cairo has also replaced GnomeCanvas in the main display and drawing interface.
+Many other deprecated dependencies have been replaced as well. Because of this, this version requires at least Gnome 2.16.
+</p>
+<p>
+Changes/fixes since 2.0.4 include
+</p>
+<ul>
+
+<li>Migrated from EggRecent to GtkRecentManager</li>
+<li>Migrated from libgnomeprint to GtkPrintOperation and Cairo.</li>
+<li>Migrated from libgnomeprint to Pango for text layout.</li>
+<li>Migrated GnomeDruid to GtkAssistant for template designer.</li>
+<li>Migrated from GnomeCanvas to Cairo.</li>
+<li>Removed all deprecated widgets as of Gnome-2.16/Gtk-2.10.</li>
+<li>Added categorization of templates and an updated New Label dialog.</li>
+<li>New label dialog now allows selection of recently used templates</li>
+<li>Removed splash screen.</li>
+<li>Added initial support for datamatrix 2D barcodes.</li>
+<li>Added support for Brazilian CEPNet barcodes.</li>
+<li>Added shadow attribute to label objects.</li>
+<li>New merge backend for evolution data server</li>
+<li>Various bug fixes.</li>
+<li>New templates.</li>
+
+</ul>
+<p>
+<?a("/download/","Download here");?>.
+</p>
+</div>
+
+
+
+
+
+
<div class="newsitem">
<div class="newsdate">9 December 2007</div>
<div class="newstitle">Release 2.1.5 (Unstable)</div>
<li>Major cleanup of libglabels API and documentation</li>
<li>Minor bug fixes (and probably some new bugs).</li>
</ul>
-<p>
-<?a("/download/","Download here");?>.
-</p>
</div>
<li>New templates and fixes</li>
</ul>
-<p>
-<?a("/download/","Download here");?>.
-</p>
</div>
<li><?a("http://gnomefiles.org/app.php?soft_id=254", "gLabels GNOME Files Page");?></li>
<li><?a("http://lists.sourceforge.net/lists/listinfo/glabels-devel","gLabels Developers Mail List");?></li>
<li><?a("http://lists.sourceforge.net/lists/listinfo/glabels-templates","gLabels Templates Mail List");?></li>
- <li><?a("http://packages.debian.org/unstable/gnome/glabels.html","Debian gLabels Information Page");?></li>
+ <li><?a("http://packages.debian.org/etch/glabels","Debian gLabels Information Page");?></li>
</ul>
<li><?a_host("www.gtk.org");?></li>
<li><?a_host("www.gnome.org");?></li>
<li><?a("http://arcana.linux.it/software/barcode/barcode.html","Alessandro Rubini's GNU-Barcode library");?></li>
+ <li><?a("http://www.datenfreihafen.org/projects/iec16022.html","IEC16022 Library");?></li>
</ul>
<li><?a("http://www.kbarcode.net","Kbarcode");?> (barcode and label printing application for KDE 3)</li>
<li><?a("http://www.red-bean.com/labelnation/","Label Nation");?> (another program for making labels)</li>
<li><?a("http://oplnk.net/~ajackson/software/maillabels/","PostScript::MailLabels");?> (a perl module for creating mail labels)</li>
+ <li><?a("http://qlabels.p34.net","QLabels");?> (gLabels clone using Qt4)</li>
</ul>
+<div class="newsitem">
+<div class="newsdate">26 December 2007</div>
+<div class="newstitle">Release 2.2.0 (Stable)</div>
+<p>
+<i>After two years in the making, it's finally here...</i>
+</p>
+<p>
+<i>A new stable release</i>. The underlying technology has been largely overhauled from the 2.0.x branch.
+The libgnomeprint library has been completely replaced with Cairo and the new GtkPrintOperation API.
+One side effect of print rendering with Cairo is that image compositing now works at full resolution.
+Cairo has also replaced GnomeCanvas in the main display and drawing interface.
+Many other deprecated dependencies have been replaced as well. Because of this, this version requires at least Gnome 2.16.
+</p>
+<p>
+Changes/fixes since 2.0.4 include
+</p>
+<ul>
+
+<li>Migrated from EggRecent to GtkRecentManager</li>
+<li>Migrated from libgnomeprint to GtkPrintOperation and Cairo.</li>
+<li>Migrated from libgnomeprint to Pango for text layout.</li>
+<li>Migrated GnomeDruid to GtkAssistant for template designer.</li>
+<li>Migrated from GnomeCanvas to Cairo.</li>
+<li>Removed all deprecated widgets as of Gnome-2.16/Gtk-2.10.</li>
+<li>Added categorization of templates and an updated New Label dialog.</li>
+<li>New label dialog now allows selection of recently used templates</li>
+<li>Removed splash screen.</li>
+<li>Added initial support for datamatrix 2D barcodes.</li>
+<li>Added support for Brazilian CEPNet barcodes.</li>
+<li>Added shadow attribute to label objects.</li>
+<li>New merge backend for evolution data server</li>
+<li>Various bug fixes.</li>
+<li>New templates.</li>
+
+</ul>
+<p>
+<?a("/download/","Download here");?>.
+</p>
+</div>
+
+
+
+
+
+
<div class="newsitem">
<div class="newsdate">9 December 2007</div>
<div class="newstitle">Release 2.1.5 (Unstable)</div>
<li>New templates and fixes</li>
</ul>
-<p>
-<?a("/download/","Download here");?>.
-</p>
</div>
+<h2>Stable/2.2.x</h2>
+
+<table>
+ <tr valign="top">
+ <td><a href="220-screenshot-new.png"><?img("220-screenshot-new-thumb.png","New label dialog");?></a></td>
+ <td><a href="220-screenshot-main.png"><?img("220-screenshot-main-thumb.png","Main editing window");?></a></td>
+ </tr>
+</table>
+
+<table>
+ <tr valign="top">
+ <td><a href="220-screenshot-print.png"><?img("220-screenshot-print-thumb.png","Print dialog");?></a></td>
+ <td><a href="220-screenshot-preview.png"><?img("220-screenshot-preview-thumb.png","Print preview window");?></a></td>
+ </tr>
+</table>
+
+
+
+
<h2>Unstable/1.93.x</h2>
<table>