Comment créer vos propres modèles à la main.
Jim Evins
evins@snaught.com
Mario Blättermann
mariobl@gnome.org

Creative Commons Paternité-Partage des Conditions Initiales à l'Identique 3.0

# Création manuelle de nouveaux modèles

Cette page est un guide de référence pour créer manuellement des modèles gLabels. Les modèles gLabels sont définis par de simples fichiers XML comme décrit dans la DTD (Définition de Type de Document) : glabels-2.3.dtd (cette DTD décrit aussi d'autres formats XML utilisés par gLabels).

Les fichiers de modèle créés manuellement doivent être placés dans ${HOME}/.glabels et posséder une extension .template.

gLabels recherche les modèles dans plusieurs autres emplacements tels que définis ici :

Emplacement | Description
${prefix}/share/libglabels-3.0/templates | Modèles prédéfinis distribués avec gLabels. ${prefix} est habituellement /usr ou /usr/local en fonction de l'endroit où a été installé gLabels.
${XDG_CONFIG_HOME}/libglabels/templates | Modèles définis par l'utilisateur, créés avec le créateur de modèles de gLabels. Ne pas placer de modèles créés manuellement dans ce répertoire. Si la variable ${XDG_CONFIG_HOME} n'est pas définie, sa valeur par défaut est ${HOME}/.config.
${HOME}/.glabels | Les modèles définis par l'utilisateur et qui ont été créés manuellement, doivent être placés dans ce répertoire. Les versions plus anciennes du créateur de modèles de gLabels (antérieures à 3.0) placent également leurs modèles dans ce répertoire.

Des fichiers modèles finalisés peuvent être envoyés à la liste de diffusion sur les modèles de gLabels pour qu'ils soient éventuellement inclus dans les futures versions de gLabels.

# Hypothèses/précautions

Une page ne contient qu'un seul format d'étiquette ou de carte (s'il y en a plusieurs, il faut la diviser en plusieurs modèles et faire autant de passes d'impression).

Les dimensions peuvent être exprimées en `pt`, `in`, `mm`, `cm` ou `pc`. Par exemple : "`1.0in`" ou "`2.54cm`". Si aucune unité n'est indiquée, c'est le point (`pt`) qui est utilisé par défaut : 1 pt = 1/72e de pouce= 0,352778 mm.

# Fichier modèle

Un fichier modèle contient un seul nœud de haut-niveau `Glabels-templates`.

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

...modèles...

</Glabels-templates>

## Exemple de modèle d'étiquette

Exemple de fichier modèle de gLabels contenant un seul nœud `Template`.
<?xml version="1.0"?> <Glabels-templates>

<Template brand="Avery" part="8160" size="US-Letter" description="Étiquettes postales"> <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>

# Nœud Template

Un nœud `Template` décrit les caractéristiques d'un seul produit. Il doit contenir une instance de l'un des types de nœud « Label-... » suivants : `Label-rectangle`, `Label-round` ou `Label-cd`.

Propriétés | Description
`brand` | Marque ou fabricant de la fourniture de bureau, par ex. « Avery »
`part` | Numéro de série ou nom de la fourniture de bureau, par ex. « 8160 »
`size` | Format de page, par ex. « `US-Letter` », « `A4` », ...
`description` | Description de la fourniture de bureau, par ex. « Étiquettes postales ».
`_description` | Description traduisible de la fourniture de bureau, par ex. « Étiquettes postales » (utile seulement pour les formats de modèles prédéfinis).
`width` | Largeur de la page. Valide seulement si la propriété « size » contient « Other » (autre).
`height` | Hauteur de la page. Valide seulement si la propriété « size » contient « Other » (autre).
`equiv` | Numéro de la partie équivalente. Si cette propriété est présente, le modèle est un clone d'un autre modèle de la même marque. Le modèle hérite de toutes les propriétés sauf de la marque et du nom de l'autre modèle. Cette propriété equiv doit se rapporter à un modèle défini antérieurement - Actuellement, gLabels ne prend pas en charge les références anticipées.

# Nœud Meta

Un nœud `Meta` contient des informations supplémentaires à propos du modèle. Un nœud `Template` peut contenir zéro nœud `Meta` ou plus.

Sous-nœuds | Description

`category`

Une catégorie pour le modèle. Un modèle peut appartenir à plusieurs catégories en ajoutant simplement plusieurs nœuds `Meta` au nœud `Template` parent. Les catégories de modèle sont utilisés dans la boîte de dialogue Nouvelle étiquette de gLabels pour filtrer les résultats des recherches de modèle.

La valeur de cette catégorie doit correspondre à un identifiant de catégorie prédéfini dans le fichier ${prefix}/libglabels-3.0/templates/categories.xml. Les identifiants de catégorie actuellement définis comprennent :

`label`

`round-label`

`elliptical-label`

`square-label`

`rectangle-label`

`card`

`business-card`

`media`

`mail`

`foldable`

`photo`

`product_url` | Un URL pointant sur la page Web du fournisseur du produit spécifié, si elle existe.

Des suggestions pour des catégories supplémentaires peuvent être envoyées à la liste de diffusion des développeurs de gLabels.

Les URL des produits peuvent être d'un intérêt limité car il se peut qu'ils ne soient pas permanents.

# Nœud Label-rectangle

Un nœud `Label-rectangle` décrit les dimensions d'une étiquette ou d'une carte de visite de forme rectangulaire (elle peut aussi avoir des angles arrondis).

Propriétés | Description
`id` | Réservé pour une utilisation future. Doit toujours être 0.
`width` | Largeur de l'étiquette/carte
`height` | Hauteur de l'étiquette/carte
`round` | Rayon de l'arrondi du coin. Pour les étiquettes ou cartes à angles droits (cartes de visite), la valeur du rayon doit être 0.
`x_waste` | Quantité d'espace horizontal perdu acceptable (surimpression). C'est utile pour réduire les problèmes d'alignement, notamment avec l'utilisation de fonds colorés (par ex. des images).
`y_waste` | Quantité d'espace vertical perdu acceptable (surimpression). C'est utile pour réduire les problèmes d'alignement, notamment avec l'utilisation de fonds colorés (par ex. des images).

Paramètres de Label-rectangle

Paramètres de Label-rectangle

# Nœud Label-ellipse

Un nœud `Label-ellipse` décrit les dimensions d'une étiquette ou carte de visite de forme elliptique.

Propriétés | Description
`id` | Réservé pour une utilisation future. Doit toujours être 0.
`width` | Largeur de l'ellipse
`height` | Hauteur de l'ellipse
`waste` | Quantité d'espace perdu acceptable (surimpression). C'est utile pour réduire les problèmes d'alignement, notamment avec l'utilisation de fonds colorés (par ex. des images).

Paramètres de Label-ellipse

Paramètres de Label-ellipse

# Nœud Label-round

Un nœud `Label-round` décrit les dimensions d'une étiquette ronde pleine (pas pour un CD).

Propriétés | Description
`id` | Réservé pour une utilisation future. Doit toujours être 0.
`radius` | Rayon (la moitié du diamètre) d'une étiquette ronde
`waste` | Quantité d'espace perdu acceptable (surimpression). C'est utile pour réduire les problèmes d'alignement, notamment avec l'utilisation de fonds colorés (par ex. des images).

Paramètres de Label-ellipse

Paramètres de Label-ellipse

# Nœud Label-cd

Un nœud `Label-cd` décrit les dimensions d'une étiquette de CD, de DVD ou de mini CD.

Propriétés | Description
`id` | Réservé pour une utilisation future. Doit toujours être 0.
`radius` | Rayon extérieur de l'étiquette
`hole` | Rayon du trou central
`width` | Si présent, l'étiquette est découpée à la largeur indiquée (utile pour les « mini CD »).
`height` | Si présent, l'étiquette est découpée à la hauteur donnée (utile pour les « mini CD »).
`waste` | Quantité d'espace perdu acceptable (surimpression). C'est utile pour réduire les problèmes d'alignement, notamment avec l'utilisation de fonds colorés (par ex. des images).

Paramètres de Label-cd

Paramètres pour étiquette de CD

# Nœuds Markup

Le modèle peut comporter des nœuds « markup » optionnels. Ces nœuds s'utilisent pour décrire un simple ensemble de lignes de marquage visibles sur le canevas de tracé de glabels, mais invisibles à l'impression. Ces lignes peuvent représenter des marges, des lignes de pliage, des lignes de centrage, des zones spécialisées ou d'autres indications pour aider l'utilisateur d'un modèle.

## Nœud Markup-margin

Un nœud `Markup-margin` délimite la marge autour d'une étiquette.

Propriétés | Description
`size` | Taille de la marge, c'est-à-dire la distance de la ligne de marge jusqu'au bord de l'étiquette ou de la carte.

## Nœud Markup-line

Un nœud `Markup-line` décrit le tracé d'une droite de marquage.

Propriétés | Description
`x1` | Abscisse x de l'origine du segment de droite.
`y1` | Ordonnée y de l'origine du segment de droite.
`x2` | Abscisse x de l'extrémité du segment de droite.
`y2` | Ordonnée y de l'extrémité du segment de droite.

## Nœud Markup-circle

Un nœud `Markup-circle` décrit le tracé d'un cercle de marquage.

Propriétés | Description
`x0` | Abscisse x du centre du cercle.
`y0` | Ordonnée y du centre du cercle.
`radius` | Rayon du cercle.

## Nœud Markup-rect

Un nœud `Markup-rect` décrit le tracé d'un rectangle de marquage.

Propriétés | Description
`x1` | Abscisse x du coin supérieur gauche du rectangle.
`y1` | Ordonnée y du coin supérieur gauche du rectangle.
`w` | Largeur du rectangle.
`h` | Hauteur du rectangle.
`r` | Rayon de l'arrondi des coins du rectangle.

## Nœud Markup-ellipse

Un nœud `Markup-ellipse` décrit le tracé d'une ellipse de marquage.

Propriétés | Description
`x1` | Abscisse x du coin supérieur gauche du rectangle exinscrit dans l'ellipse.
`y1` | Ordonnée y du coin supérieur gauche du rectangle exinscrit dans l'ellipse.
`w` | Largeur de l'ellipse.
`h` | Hauteur de l'ellipse.

# Nœud Layout

Un nœud Label peut contenir plusieurs nœuds `Layout` enfants. Si les étiquettes sont placées dans une trame de grille simple, un seul nœud suffit. Si les étiquettes sont disposées dans plusieurs grilles, comme pour le motif décalé d'un mur de briques, plusieurs nœuds `Layout` seront nécessaires.

Une étiquette unique peut toujours être considérée comme une grille à un seul élément.

Propriétés | Description
`nx` | Nombre d'étiquettes/cartes dans la grille (horizontalement).
`ny` | Nombre d'étiquettes/cartes dans la grille (verticalement).
`x0` | Distance entre le bord gauche de la page et le bord gauche de la première colonne d'étiquettes/cartes dans la disposition.
`y0` | Distance entre le bord supérieur de la page et le bord supérieur de la première rangée d'étiquettes/cartes dans la disposition.
`dx` | Pas horizontal de la grille.
`dy` | Pas vertical de la grille.

Paramètres de Layout

Paramètres de Layout