.\" Automatically generated by Pod::Man 4.14 (Pod::Simple 3.42) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left .\" double quote, and \*(R" will give a right double quote. \*(C+ will .\" give a nicer C++. Capital omega is used to do unbreakable dashes and .\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, .\" nothing in troff, for use with C<>. .tr \(*W- .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- . ds PI pi . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch . ds L" "" . ds R" "" . ds C` "" . ds C' "" 'br\} .el\{\ . ds -- \|\(em\| . ds PI \(*p . ds L" `` . ds R" '' . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is >0, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{\ . if \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{\ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .\" ======================================================================== .\" .IX Title "Font::TTF::Ttc 3pm" .TH Font::TTF::Ttc 3pm "2022-06-14" "perl v5.34.0" "User Contributed Perl Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" Font::TTF::Ttc \- Truetype Collection class .SH "DESCRIPTION" .IX Header "DESCRIPTION" A TrueType collection is a collection of TrueType fonts in one file in which tables may be shared between different directories. In order to support this, the \s-1TTC\s0 introduces the concept of a table being shared by different TrueType fonts. This begs the question of what should happen to the ' \s-1PARENT\s0' property of a particular table. It is made to point to the first directory object which refers to it. It is therefore up to the application to sort out any confusion. Confusion only occurs if shared tables require access to non-shared tables. This should not happen since the shared tables are dealing with glyph information only and the private tables are dealing with encoding and glyph identification. Thus the general direction is from identification to glyph and not the other way around (at least not without knowledge of the particular context). .SH "INSTANCE VARIABLES" .IX Header "INSTANCE VARIABLES" The following instance variables are preceded by a space .IP "fname (P)" 4 .IX Item "fname (P)" Filename for this TrueType Collection .IP "\s-1INFILE\s0 (P)" 4 .IX Item "INFILE (P)" The filehandle of this collection .PP The following instance variable does not start with a space .IP "directs" 4 .IX Item "directs" An array of directories (Font::TTF::Font objects) for each sub-font in the directory .SH "METHODS" .IX Header "METHODS" .SS "Font::TTF::Ttc\->open($fname)" .IX Subsection "Font::TTF::Ttc->open($fname)" Opens and reads the given filename as a TrueType Collection. Reading a collection involves reading each of the directories which go to make up the collection. .ie n .SS "$c\->read" .el .SS "\f(CW$c\fP\->read" .IX Subsection "$c->read" Reads a Collection by reading all the directories in the collection .ie n .SS "$c\->find($direct, $name, $check, $off, $len)" .el .SS "\f(CW$c\fP\->find($direct, \f(CW$name\fP, \f(CW$check\fP, \f(CW$off\fP, \f(CW$len\fP)" .IX Subsection "$c->find($direct, $name, $check, $off, $len)" Hunts around to see if a table with the given characteristics of name, checksum, offset and length has been associated with a directory earlier in the list. Actually on checks the offset since no two tables can share the same offset in a TrueType font, collection or otherwise. .ie n .SS "$c\->\s-1DESTROY\s0" .el .SS "\f(CW$c\fP\->\s-1DESTROY\s0" .IX Subsection "$c->DESTROY" Closees any opened files by us .SH "BUGS" .IX Header "BUGS" No known bugs, but then not ever executed! .SH "AUTHOR" .IX Header "AUTHOR" Martin Hosken . .SH "LICENSING" .IX Header "LICENSING" Copyright (c) 1998\-2016, \s-1SIL\s0 International (http://www.sil.org) .PP 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 \s-1LICENSE.\s0