Date création : 27-03-2008 20:23:44
 Vous êtes dans : GNU/Linux Astuces / Pages man [Section3 - Sous-fonctions]
Defoma::Common
Index
- NOM
- SYNOPSIS
- DESCRIPTION
- EXEMPLES
- VOIR AUSSI
- TRADUCTION
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îne_graisse );
my $num = weight_a2i( chaîne_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 éléments commençant par deux tirets
« -- » sont considérés comme des types d'indication. Les autres sont
considérés comme les valeurs. La fonction convertit ce tableau en une table
de hachage décrite de la façon suivante :
FontName => 'Helvetica-BoldItalic',
Family => 'Helvetica',
GeneralFamily => 'SansSerif',
Weight => 'Bold',
Shape => 'NoSerif Italic',
Charset => 'ISO8859-1'
Vous voyez que les types d'indication sont utilisés comme clés 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 combinées en une unique
chaîne, séparées par une espace.
parse_hints_subhints est une fonction qui permet d'obtenir la clé de
hachage d'une indication secondaire pointée 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
numérotés. parse_hints_subhints extrait l'indication ayant le bon
numéro. Par exemple, vous pouvez extraire les indications FontName et
Charset non numérotées 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 à 1 le deuxième paramètre de parse_hints_subhints, alors
le contenu de $hsub sera :
FontName => 'Helvetica-Bold',
Weight => 'Bold'
Notez que le numéro de chaque type d'indication est retiré.
parse_hints_subhints_inherit est presque identique à
parse_hints_subhints, à la différence que les indications des types
spécifiés dans l'indication de type « Inherit » sont héritées. Voici les
résultats de parse_hints_subhints_inherit avec les valeurs 1 et 2 comme
second paramètre dans l'exemple donné 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) spécifiés par
types_indications. Cette fonction est supposée être utilisée
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
spécifiés par types_indications. Cette fonction est supposée être
utilisée 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 spécifié par xencoding en un
Charset. X-RegistryEncoding correspond aux deux derniers éléments d'un XLFD
[ NdT : X Logical Font Description, une chaîne de 15 champs séparés par des
tirets qui permet de décrire 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 caractères (« Charset ») et
un codage (« Encoding ») spécifiés par charset et encoding en un
X-RegistryEncoding. encoding est en règle générale omis.
weight_ascii2integer est une fonction qui permet de convertir une graisse
de police (Weight) sous forme de chaîne - comme Bold (gras) ou Medium
(moyen) - en une valeur numérique (un entier). Medium a toujours la valeur
0, et plus la police est grasse, plus ce nombre est élevé. Par exemple, Bold
vaut +2, et Light (léger) vaut -2. weight_a2i est un raccourci pour
weight_ascii2integer.
get_xlfd_of_font permet d'obtenir un tableau de XLFD pour une police
spécifiée par police. Vous pouvez contrôler la quantité de XLFD obtenue
avec les options niveau et face. Le niveau doit être soit
« min », soit « normal », ou encore « max ». Lorsque min est
spécifié, les XLFD non italique ou gras enregistrés dans la catégorie
« xfont » sont retournés. Lorsque normal est spécifié, les XLFD étant
gras ou italique (mais pas italique à l'envers) enregistrés dans la
catégorie « xfont » sont retournés. Lorsque max est spécifié, tous les
XLFD générés sont retournés.
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, 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
<debian-l10n-french@lists.debian.org>,
selon le cas, toute erreur dans cette page de manuel.
|