SYNOPSIS
use Defoma::Subst;
$Sb = defoma_subst_open(
rulename => nom_règle,
threshold => seuil,
idobject => id_objet,
private => drapeau_privé );
defoma_subst_close( objet_subst );
defoma_subst_register( objet_subst, police, nom_réel );
defoma_subst_unregister( objet_subst, police nom_réel );
defoma_subst_add_rule( objet_subst, id_requis, règle... );
defoma_subst_remove_rule( objet_subst, id_requis, règle... );
DESCRIPTION
Defoma::Subst est un module Defoma qui permet de gérer les caches de substitution (« subst-cache ») et les règles de substitution (« subst-rule »). Lorsqu'un identifiant est requis, mais qu'il n'est ni fourni comme nom réel (RealName) ou Alias d'une police, les polices qui ont une apparence similaire et le même jeu de caractères peuvent se substituer à cette police. Les identifiants requis et les informations concernant leur apparence et leur jeu de caractères sont décrits dans une règle de substitution. Defoma::Subst compare ces règles pour les identifiants requis avec les indications d'une police de substitution et calcule le pourcentage de similitude, il enregistre ensuite l'identifiant requis et la police avec une priorité « Substituted » dans une base de référence à l'aide du module Defoma::Id.Les règles de substitution sont en grande partie modifiables par les utilisateurs, ce qui signifie que les utilisateurs peuvent éditer les fichiers de règles de substitution pour ajouter, retirer ou modifier les identifiants et leurs informations. Cependant certains de ces fichiers ne sont pas modifiables et sont gérés par les scripts de configuration Defoma. Ces premières règles de substitution sont dites publiques et ces dernières sont dites privées.
Un cache de substitution contient les polices pouvant se substituer à l'identifiant demandé. Comme indiqué précédemment, une règle de l'identifiant requis et les indications des polices sont comparées. Les indications ne sont pas stockées dans les caches de substitution et sont donc récupérées dans une base de référence. De plus, les identifiants requis et leur règle sont stockés dans des règles de substitution, donc les caches de substitution, les règles de substitution et les bases de références sont fortement liés. Particulièrement les caches de substitution et les règles de substitution, qui ne peuvent pas être séparées, ce qui explique que Defoma::Subst les manipule par l'intermédiaire d'un unique objet.
defoma_subst_open permet d'ouvrir un cache de substitution et une règle de substitution tous deux spécifiés par nom_règle. Elle prend également un argument drapeau_privé et retourne un objet_subst qui sera utilisé pour les opérations suivantes. Si la règle de substitution est privée, drapeau_privé doit être non nul. Sinon, il peut être omis. La règle devient alors publique. id_objet doit être spécifié car les caches de substitution et les règles de substitution sont fortement liés à une base de référence comme mentionné précédemment. Les indications d'une police de substitution sont récupérées dans la base de référence id_objet, et les identifiants requis décrits dans la règle de substitution sont enregistrés dans la base de référence. Le seuil permet d'empêcher les polices dont le pourcentage de similitude est trop bas d'être enregistrées. Si un identifiant requis est déjà enregistré dans la base de référence, les polices de substitution dont le degré de similitude est plus faible ne sont pas enregistrées dans la base de référence.
defoma_subst_close permet de fermer un cache et une règle de substitution donnés par objet_subst. En interne, ceci permet d'écrire dans un fichier le contenu du cache et de la règle en mémoire.
defoma_subst_register permet d'enregistrer une police pouvant se substituer à un identifiant requis dans le cache de substitution spécifié par objet_subst. Le nom réel (« RealName ») de la police doit être renseigné.
defoma_subst_unregister permet de retirer une police du cache de substitution objet_subst. Le nom réel (RealName) peut être omis.
defoma_subst_add_rule permet d'ajouter un identifiant requis et sa règle à la règle de substitution objet_subst.
defoma_subst_remove_rule permet de retirer un identifiant requis et sa règle de la règle de substitution objet_subst. Si la règle est omise, toutes les règles décrivant l'identifiant requis id_requis sont retirées de la règle de substitution. Sinon, seule une règle spécifiée par règle et id_requis est retirée.
EXEMPLES
1. Ouverture d'une règle de substitution privée.
$Id = defoma_id_open(); $Sb = defoma_subst_open(rulename => 'subst1', idobject => $Id);
2. Enregistrement d'une police de substitution.
defoma_id_register($Id, type => 'real', font => $police, id => $nom_réel, priority => $priorité, hints => join(' ', @_)); defoma_subst_register($Sb, $police, $nom_réel);
3. Désenregistrement.
defoma_subst_unregister($Id, $police); defoma_id_unregister($Id, 'real', $police);
4. Ajout d'une règle.
defoma_subst_add_rule($Sb, 'Helvetica', @indications);
5. Retrait de toutes les règles pour Helvetica.
defoma_subst_remove_rule($Sb, 'Helvetica');
TRADUCTION
Ce document est une traduction, réalisée par Nicolas François le 29 juillet 2005 et mise à jour par Cyril Brulebois en janvier 2007.L'équipe de traduction a fait le maximum pour réaliser une adaptation française de qualité.
La version anglaise la plus à jour de ce document est toujours consultable en ajoutant l'option « -L C » à la commande man.
N'hésitez pas à signaler à l'auteur ou à la liste de traduction <[email protected]>, selon le cas, toute erreur dans cette page de manuel.