Provided by:
defoma_0.11.12ubuntu1_all 
NOM
Defoma::Common - module Defoma fournissant diverses fonctions.
SYNOPSIS
use Defoma::Common;
$h = parse_hints_start( indications... );
$hsub = parse_hints_subhints( table_hachage_indications, police );
$hsub = parse_hints_subhints_inherit( table_hachage_indications, police
);
parse_hints_cut( table_hachage_indications, types_indications... );
parse_hints_cut_except( table_hachage_indications, types_indications...
);
@hints = parse_hints_build( table_hachage_indications );
$charset = get_charset( xencoding );
$xencoding = get_xencoding( charset, encoding );
@XLFDs = get_xlfd_of_font( police, level => niveau, face => police );
my $num = weight_ascii2integer( cha^ine_graisse );
my $num = weight_a2i( cha^ine_graisse );
DESCRIPTION
parse_hints_start est une fonction qui permet de convertir des
indications contenues dans un tableau vers une table de hachage. Une
indication consiste en un type et une ou plusieurs valeurs. Voici des
exemples d'indication sous la forme d'un tableau.
--FontName Helvetica-BoldItalic --Family Helvetica --GeneralFamily
SansSerif --Weight Bold --Shape NoSerif Italic --Charset ISO8859-1
Dans cet exemple, FontName, Family, GeneralFamily, Weight, Shape et
Charset sont les types des indications. Les elements commencant par
deux tirets << -- >> sont consideres comme des types d'indication. Les
autres sont consideres comme les valeurs. La fonction convertit ce
tableau en une table de hachage decrite de la facon suivante :
FontName => 'Helvetica-BoldItalic',
Family => 'Helvetica',
GeneralFamily => 'SansSerif',
Weight => 'Bold',
Shape => 'NoSerif Italic',
Charset => 'ISO8859-1'
Vous voyez que les types d'indication sont utilises comme cles de
hachage, et que la forme (Shape) a plus d'une valeur : NoSerif et
Italic. Si un type d'indication a plus d'une valeur, alors elles sont
combinees en une unique chaine, separees par une espace.
parse_hints_subhints est une fonction qui permet d'obtenir la cle de
hachage d'une indication secondaire pointee par police dans la table de
hachage table_hachage_indications. Voici un exemple de table de hachage
d'indications :
$h = {Inherit => 'Charset Weight',
FontName => 'Helvetica',
Charset => 'ISO8859-1',
Weight => 'Medium',
Shape => 'Upright',
FontName1 => 'Helvetica-Bold',
Weight1 => 'Bold',
FontName2 => 'Helvetica-Unicode',
Charset2 => 'ISO10646-1'};
Vous voyez dans cet exemple que certains types d'indication sont
numerotes. parse_hints_subhints extrait l'indication ayant le bon
numero. Par exemple, vous pouvez extraire les indications FontName et
Charset non numerotees avec :
$hsub = parse_hints_subhints($h, 0);
et le contenu de $hsub sera :
FontName => 'Helvetica',
Charset => 'ISO8859-1',
Weight => 'Medium',
Shape => 'Upright'
Si vous mettez a 1 le deuxieme parametre de parse_hints_subhints, alors
le contenu de $hsub sera :
FontName => 'Helvetica-Bold',
Weight => 'Bold'
Notez que le numero de chaque type d'indication est retire.
parse_hints_subhints_inherit est presque identique a
parse_hints_subhints, a la difference que les indications des types
specifies dans l'indication de type << Inherit >> sont heritees. Voici
les resultats de parse_hints_subhints_inherit avec les valeurs 1 et 2
comme second parametre dans l'exemple donne avec parse_hints_subhints.
FontName => 'Helvetica-Bold',
Weight => 'Bold',
Charset => 'ISO8859-1'
FontName => 'Helvetica-Unicode',
Weight => 'Medium',
Charset => 'ISO10646-1'
parse_hints_cut permet de retirer d'une table de hachage d'indications
les types d'indication (et leur valeur) specifies par
types_indications. Cette fonction est supposee etre utilisee
conjointement avec parse_hints_build.
parse_hints_cut_except permet de retirer d'une table de hachage
d'indications tous les types d'indication (et leur valeur), sauf ceux
specifies par types_indications. Cette fonction est supposee etre
utilisee conjointement avec parse_hints_build.
parse_hints_build permet de convertir une table de hachage
d'indications en un tableau.
get_charset est une fonction qui permet de convertir un champ
X-RegistryEncoding specifie par xencoding en un Charset.
X-RegistryEncoding correspond aux deux derniers elements d'un XLFD
[ NdT : X Logical Font Description, une chaine de 15 champs separes par
des tirets qui permet de decrire une police ], comme iso8859-1 ou
jisx0208.1983-0. Les valeurs de retour pour ces exemples sont
respectivement ISO8859-1 et JISX0208.
get_xencoding permet de convertir un jeu de caracteres (<< Charset >>)
et un codage (<< Encoding >>) specifies par charset et encoding en un
X-RegistryEncoding. encoding est en regle generale omis.
weight_ascii2integer est une fonction qui permet de convertir une
graisse de police (Weight) sous forme de chaine - comme Bold (gras) ou
Medium (moyen) - en une valeur numerique (un entier). Medium a toujours
la valeur 0, et plus la police est grasse, plus ce nombre est eleve.
Par exemple, Bold vaut +2, et Light (leger) vaut -2. weight_a2i est un
raccourci pour weight_ascii2integer.
get_xlfd_of_font permet d'obtenir un tableau de XLFD pour une police
specifiee par police. Vous pouvez controler la quantite de XLFD obtenue
avec les options niveau et face. Le niveau doit etre soit << min >>,
soit << normal >>, ou encore << max >>. Lorsque min est specifie, les
XLFD non italique ou gras enregistres dans la categorie << xfont >>
sont retournes. Lorsque normal est specifie, les XLFD etant gras ou
italique (mais pas italique a l'envers) enregistres dans la categorie
<< xfont >> sont retournes. Lorsque max est specifie, tous les XLFD
generes sont retournes.
EXEMPLES
$h = parse_hints_start(@_);
@shape = split(/ /, $h->{Shape});
@alias = split(/ /, $h->{Alias});
$priority = $h->{Priority};
$realname = $h->{FontName};
$realname =~ s/ .*//;
parse_hints_cut($h, 'Priority', 'FontName', 'Charset');
@hints = parse_hints_build($h);
VOIR AUSSI
defoma(1).
TRADUCTION
Ce document est une traduction, realisee par Nicolas Francois le 29
juillet 2005 et mise a jour par Cyril Brulebois en janvier 2007.
L'equipe de traduction a fait le maximum pour realiser une adaptation
francaise de qualite.
La version anglaise la plus a jour de ce document est toujours
consultable en ajoutant l'option << -L C >> a la commande man.
N'hesitez pas a signaler a l'auteur ou a la liste de traduction
<debian-l10n-french@lists.debian.org>, selon le cas, toute erreur dans
cette page de manuel.
March 4, 2001 Defoma::Common(3pm)