Initial commit of OpenSPARC T2 design and verification files.
[OpenSPARC-T2-DV] / tools / perl-5.8.0 / lib / site_perl / 5.8.0 / Pastel / Font.pm
CommitLineData
86530b38
AT
1package Pastel::Font;\r
2@ISA = qw (Pastel::Mixin::Mixin);\r
3use Pastel::Mixin::Mixin;\r
4use Carp;\r
5use strict;\r
6\r
7my $font_parser;\r
8\r
9{\r
10 my $id;\r
11 sub _id { return $id++;}\r
12}\r
13\r
14sub new {\r
15 my $class = shift;\r
16 my $self = {};\r
17 bless $self, ref($class) || $class;\r
18 $self->_init(@_);\r
19 return $self;\r
20}\r
21\r
22sub _init {\r
23 my ($self, @args) = @_;\r
24 my ($family, $style, $size) = $self->_rearrange(["FAMILY","STYLE","SIZE"],\r
25 @args );\r
26 if ( defined ( $family) ){\r
27 $self->{"family"} = $family;\r
28 }\r
29\r
30 if ( defined( $style ) ){\r
31 if( ($style =~ /^bold$/i) || ($style =~ /^italic$/i) ||\r
32 ($style =~ /^bolditalic$/i) || ($style =~ /^plain$/i)|| ($style =~ /^regular$/i) ){\r
33 $self->{"style"} = $style;\r
34 }\r
35 else {\r
36 croak "Illegal style parameter in Pastel::Font\n";\r
37 }\r
38 } else {\r
39 $self->{"style"} = "REGULAR";\r
40 }\r
41\r
42 if ( defined( $size ) ){\r
43 $self->{"size"} = $size;\r
44 } else {\r
45 $self->{"size"} = 10;\r
46 }\r
47 \r
48 $self->{"id"} = $self->_id() ;\r
49 return $self;\r
50}\r
51\r
52sub get_id {\r
53 return $_[0]->{"id"};\r
54}\r
55\r
56sub get_family {\r
57 return $_[0]->{"family"};\r
58}\r
59\r
60sub get_style {\r
61 return $_[0]->{"style"};\r
62}\r
63\r
64sub get_size {\r
65 return $_[0]->{"size"};\r
66}\r
67\r
68sub get_svg_string {\r
69 my $self = shift;\r
70 my $s = "";\r
71 $s .= "font-family:".$self->get_family()."; "; \r
72 $s .= "font-size:".$self->get_size()."pt;";\r
73 if( $self->{"style"} =~ /^bold$/i ){\r
74 $s .= "font-weight:bold;";\r
75 }\r
76 if( $self->{"style"} eq "bolditalic"){\r
77 $s .= 'font-style:italic;font-weight:bold';\r
78 }\r
79 if( $self->{"style"} eq "italic"){\r
80 $s .= 'font-style:italic';\r
81 }\r
82 return $s;\r
83}\r
84\r
85sub _fontify {\r
86 my $self = shift;\r
87 my $string_object = shift;\r
88 $string_object->{"font"} = $self;\r
89 return $string_object;\r
90}\r
91\r
92sub create_from_file {\r
93 my ($self, @args) = @_;\r
94 #my $font_parser;\r
95 my ($filename, $type) = $self->_rearrange( ["FILE","TYPE"], @args );\r
96 \r
97 if ( defined ($type) ){\r
98\r
99 if ($type =~ /^TTF$/i ){\r
100 # $self->{"type"} = "TTF";\r
101 $font_parser = Pastel::Font::TTF->create_from_file($filename);\r
102 #print "Font created\n";\r
103 return $self->new($font_parser->get_font_family(),$font_parser->get_subfamily());\r
104 \r
105 }\r
106\r
107 } else {\r
108 croak 'Error: Argument missing in Pastel::Font::create_from file()', "\n";\r
109 }\r
110\r
111}\r
1121;\r
113\r