GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages


Manual Reference Pages  -  PDF::API3::COMPAT::API2::BASIC::TTF::NAME (3)

.ds Aq ’

NAME

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

CONTENTS

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

CW$t->read

Reads all the names into memory

CW$t->out($fh)

Writes out all the strings

CW$t->XML_element($context, CW$depth, CW$key, CW$value)

Outputs the string element in nice XML (which is all the table really!)

CW$t->XML_end($context, CW$tag, CW%attrs)

Store strings in the right place

is_utf8($pid, CW$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.
Search for    or go to Top of page |  Section 3 |  Main Index


perl v5.20.3 PDF::API3::COMPAT::API2::BASIC::TTF::NAME (3) 2009-04-21

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with manServer 1.07.