Defoma::Common(3pm) - phpMan

Command: man perldoc info search(apropos)  


Defoma::Common(3pm)                                                           Defoma::Common(3pm)



NAME
       Defoma::Common - Defoma module providing miscellaneous functions.

SYNOPSIS
       use Defoma::Common;

       $h = parse_hints_start( hints...  );

       $hsub = parse_hints_subhints( hints_hash, face );

       $hsub = parse_hints_subhints_inherit( hints_hash, face );

       parse_hints_cut( hints_hash, hinttypes...  );

       parse_hints_cut_except( hints_hash, hinttypes...  );

       @hints = parse_hints_build( hints_hash );

       $charset = get_charset( xencoding );

       $xencoding = get_xencoding( charset, encoding );

       @XLFDs = get_xlfd_of_font( font,  level => level,  face => face );

       my $num = weight_ascii2integer( weightstring );

       my $num = weight_a2i( weightstring );


DESCRIPTION
       parse_hints_start is a function to convert hints in an array to a hash. Hints consist of a
       list of hinttype and its value(s). Following is the example of hints in an array form.

       --FontName Helvetica-BoldItalic --Family Helvetica --GeneralFamily SansSerif --Weight Bold
       --Shape NoSerif Italic --Charset ISO8859-1

       In this example, FontName, Family, GeneralFamily, Weight, Shape and Charset are hinttypes.
       Items starting with double minus characters '--' are taken as  hinttype.  The  others  are
       taken  as  values.   The function converts this array to a hash described in the following
       style.

       FontName => 'Helvetica-BoldItalic',
       Family => 'Helvetica',
       GeneralFamily => 'SansSerif',
       Weight => 'Bold',
       Shape => 'NoSerif Italic',
       Charset => 'ISO8859-1'

       You see that hinttypes are used as keys of a hash, and that Shape has two values,  NoSerif
       and  Italic. If a certain hinttype has more than one values, they are combined into a sin-
       gle string separated by space.

       parse_hints_subhints is a function to get a sub hint hash pointed by face  from  the  hint
       hash specified by hints_hash.  Please look at following example of a hint hash.

       $h = {Inherit => 'Charset Weight',
             FontName => 'Helvetica',
             Charset => 'ISO8859-1',
             Weight => 'Medium',
             Shape => 'Upright',
             FontName1 => 'Helvetica-Bold',
             Weight1 => 'Bold',
             FontName2 => 'Helvetica-Unicode',
             Charset2 => 'ISO10646-1'};

       You  see there're some numbered hinttypes.  parse_hints_subhints extracts the hints of the
       specific number from it. For example, you can extract the non-numbered hints FontName  and
       Charset by:

       $hsub = parse_hints_subhints($h, 0);

       and the content of $hsub will be:

       FontName => 'Helvetica',
       Charset => 'ISO8859-1',
       Weight => 'Medium',
       Shape => 'Upright'

       If you set 1 to the second argument of parse_hints_subhints, the content of $hsub will be:

       FontName => 'Helvetica-Bold',
       Weight => 'Bold'

       Note that the number of each hinttype is removed.

       parse_hints_subhints_inherit is almost the same as parse_hints_subhints, only  differs  it
       inherits  non-numbered  hints  specified  by Inherit hinttype.  Following is the result of
       parse_hints_subhints_inherit with 1 and 2 set to the second argument  in  the  example  of
       parse_hints_subhints.

       FontName => 'Helvetica-Bold',
       Weight => 'Bold',
       Charset => 'ISO8859-1'

       FontName => 'Helvetica-Unicode',
       Weight => 'Medium',
       Charset => 'ISO10646-1'


       parse_hints_cut  is a function to remove hinttypes specified by hinttypes and their values
       from the hint hash.  It is supposed to be used together with parse_hints_build function.

       parse_hints_cut_except is a function to remove all hinttypes  except  those  specified  by
       hinttypes  and  their  values from the hint hash.  It is supposed to be used together with
       parse_hints_build function.

       parse_hints_build is a function to convert hints in a hash to an array.

       get_charset is a function  to  convert  X-RegistryEncoding  specified  by  xencoding  into
       Charset.  X-RegistryEncoding  is  the  last  two  elements  of  XLFD,  like  iso8859-1 and
       jisx0208.1983-0. The returned values of these two are ISO8859-1 and JISX0208 respectively.

       get_xencoding  is  a function to convert Charset and Encoding specified by charset and en-
       coding into X-RegistryEncoding.  encoding is often omitted.

       weight_ascii2integer is a function to convert Weight in string (like Bold and Medium) into
       a numeric value (integer). Medium is always zero, and the bolder, the larger, the lighter,
       the smaller. For example, Bold is +2, and Light is -2.   weight_a2i  is  abbreviation  for
       weight_ascii2integer.

       get_xlfd_of_font  is a function to get an array of XLFDs of a font specified by font.  You
       can control the amount of gained XLFDs by level and face options.  level must be either of
       'min',  'normal',  or 'max'.  When min is specified, not-slanted not-boldized XLFDs regis-
       tered in xfont category will be returned.   When  normal  is  specified,  XLFDs  including
       boldized  and/or  slanted (but not reverse slanted) ones registered in xfont category will
       be returned.  When max is specified, all generated XLFDs will be returned.

EXAMPLES
       $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);


SEE ALSO
       defoma(1).






                                          March  4, 2001                      Defoma::Common(3pm)

Generated by $Id: phpMan.php,v 4.49 2006/02/26 13:18:18 chedong Exp $ Author: Che Dong
On Apache
Under GNU General Public License
2012-05-23 06:09 @38.107.179.236 Crawled by CCBot/1.0 (+http://www.commoncrawl.org/bot.html)
Valid XHTML 1.0!Valid CSS!