Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
PDF::API3::Compat::APIUseraContributed:Perl::Compat::API2::Basic::TTF::Name(3)

NAME
       PDF::API3::Compat::API2::Basic::TTF::Name - String table	for a TTF font

DESCRIPTION
       Strings are held	by number, platform, encoding and language. Strings
       are accessed as:

	   $f->{'name'}{'strings'}[$number][$platform_id][$encoding_id]{$language_id}

       Notice that the language	is held	in an associative array	due to its
       sparse nature on	some platforms such as Microsoft ($pid = 3). Notice
       also that the array order is different from the stored array order
       (platform, encoding, language, number) to allow for easy	manipulation
       of strings by number (which is what I guess most	people will want to
       do).

       By default, $PDF::API3::Compat::API2::Basic::TTF::Name::utf8 is set to
       1, and strings will be stored as	UTF8 wherever possible.	The method
       "is_utf8" can be	used to	find out if a string in	a particular platform
       and encoding will be returned as	UTF8. Unicode strings are always
       converted if utf8 is requested. Otherwise, strings are stored according
       to platform:

	   ***WARNING NON-UTF8 is deprecated and utf8 strings has become the default***

       You now have to set <$PDF::API3::Compat::API2::Basic::TTF::Name::utf8>
       to 0 to get the old behaviour.

       Apple Unicode (platform id = 0)
	   Data	is stored as network ordered UCS2. There is no encoding	id for
	   this	platform but there are language	ids as per Mac language	ids.

       Mac (platform id	= 1)
	   Data	is stored as 8-bit binary data,	leaving	the interpretation to
	   the user according to encoding id.

       Unicode (platform id = 2)
	   Currently stored as 16-bit network ordered UCS2. Upon release of
	   Perl	5.005 this will	change to utf8 assuming	current	UCS2 semantics
	   for all encoding ids.

       Windows (platform id = 3)
	   As per Unicode, the data is currently stored	as 16-bit network
	   ordered UCS2. Upon release of Perl 5.005 this will change to	utf8
	   assuming current UCS2 semantics for all encoding ids.

INSTANCE VARIABLES
       strings
	   An array of arrays, etc.

METHODS
   $t->read
       Reads all the names into	memory

   $t->out($fh)
       Writes out all the strings

   $t->XML_element($context, $depth, $key, $value)
       Outputs the string element in nice XML (which is	all the	table really!)

   $t->XML_end($context, $tag, %attrs)
       Store strings in	the right place

   is_utf8($pid, $eid)
       Returns whether a string	of a given platform and	encoding is going to
       be in UTF8

   find_name($nid)
       Hunts down a name in all	the standard places and	returns	the string and
       for an array context the	pid, eid & lid as well

BUGS
       o   Unicode type	strings	will be	stored in utf8 for all known
	   platforms, once Perl	5.6 has	been released and I can	find all the
	   mapping tables, etc.

AUTHOR
       Martin Hosken Martin_Hosken@sil.org. See
       PDF::API3::Compat::API2::Basic::TTF::Font for copyright and licensing.

perl v5.24.1			  PDF::API3::Compat::API2::Basic::TTF::Name(3)

NAME | DESCRIPTION | INSTANCE VARIABLES | METHODS | BUGS | AUTHOR

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=PDF::API3::Compat::API2::Basic::TTF::Name&sektion=3&manpath=FreeBSD+12.0-RELEASE+and+Ports>

home | help