dwww Home | Manual pages | Find package

Font::TTF::XMLparse(3pUser Contributed Perl DocumentatFont::TTF::XMLparse(3pm)

NAME
       Font::TTF::XMLparse - provides support for XML parsing. Requires Expat
       module XML::Parser::Expat

SYNOPSIS
           use Font::TTF::Font;
           use Font::TTF::XMLparse;

           $f = Font::TTF::Font->new;
           read_xml($f, $ARGV[0]);
           $f->out($ARGV[1]);

DESCRIPTION
       This module contains the support routines for parsing XML and
       generating the Truetype font structures as a result. The module has
       been separated from the rest of the package in order to reduce the
       dependency that this would bring, of the whole package on XML::Parser.
       This way, people without the XML::Parser can still use the rest of the
       package.

       The package interacts with another package through the use of a context
       containing and element 'receiver' which is an object which can possibly
       receive one of the following messages:

       XML_start
           This message is called when an open tag occurs. It is called with
           the context, tag name and the attributes. The return value has no
           meaning.

       XML_end
           This messages is called when a close tag occurs. It is called with
           the context, tag name and attributes (held over from when the tag
           was opened). There are 3 possible return values from such a
           message:

           undef   This is the default return value indicating that default
                   processing should occur in which either the current element
                   on the tree, or the text of this element should be stored
                   in the parent object.

           $context
                   This magic value marks that the element should be deleted
                   from the parent.  Nothing is stored in the parent. (This
                   rather than '' is used to allow 0 returns.)

           anything
                   Anything else is taken as the element content to be stored
                   in the parent.

           In addition, the context hash passed to these messages contains the
           following keys:

           xml This is the expat xml object. The context is also available as
               $context->{'xml'}{' mycontext'}. But that is a long winded way
               of not saying much!

           font
               This is the base object that was passed in for XML parsing.

           receiver
               This holds the current receiver of parsing events. It may be
               set in associated application to adjust which objects should
               receive messages when. It is also stored in the parsing stack
               to ensure that where an object changes it during XML_start,
               that that same object that received XML_start will receive the
               corresponding XML_end

           stack
               This is the parsing stack, used internally to hold the current
               receiver and attributes for each element open, as a complete
               hierarchy back to the root element.

           tree
               This element contains the storage tree corresponding to the
               parent of each element in the stack. The default action is to
               push undef onto this stack during XML_start and then to resolve
               this, either in the associated application (by changing
               $context->{'tree'}[-1]) or during XML_end of a child element,
               by which time we know whether we are dealing with an array or a
               hash or what.

           text
               Character processing is to insert all the characters into the
               text element of the context for available use later.

METHODS
AUTHOR
       Martin Hosken <http://scripts.sil.org/FontUtils>.

LICENSING
       Copyright (c) 1998-2016, SIL International (http://www.sil.org)

       This module is released under the terms of the Artistic License 2.0.
       For details, see the full text of the license in the file LICENSE.

perl v5.34.0                      2022-06-14          Font::TTF::XMLparse(3pm)

Generated by dwww version 1.15 on Sun Jun 30 22:52:44 CEST 2024.