Lines 120-139
my $label_types = [
Link Here
|
120 |
{type => 'BAR', name => 'Barcode', desc => 'Only the barcode is printed.', selected => 0}, |
120 |
{type => 'BAR', name => 'Barcode', desc => 'Only the barcode is printed.', selected => 0}, |
121 |
]; |
121 |
]; |
122 |
|
122 |
|
123 |
my $font_types = [ |
123 |
#NOTE: this is needed to maintain current font ordering |
124 |
{type => 'TR', name => 'Times-Roman', selected => 0}, |
124 |
my @default_font_type_codes = ( |
125 |
{type => 'TB', name => 'Times-Bold', selected => 0}, |
125 |
"TR", |
126 |
{type => 'TI', name => 'Times-Italic', selected => 0}, |
126 |
"TB", |
127 |
{type => 'TBI', name => 'Times-Bold-Italic', selected => 0}, |
127 |
"TI", |
128 |
{type => 'C', name => 'Courier', selected => 0}, |
128 |
"TBI", |
129 |
{type => 'CB', name => 'Courier-Bold', selected => 0}, |
129 |
"C", |
130 |
{type => 'CO', name => 'Courier-Oblique', selected => 0}, |
130 |
"CB", |
131 |
{type => 'CBO', name => 'Courier-Bold-Oblique', selected => 0}, |
131 |
"CO", |
132 |
{type => 'H', name => 'Helvetica', selected => 0}, |
132 |
"CBO", |
133 |
{type => 'HO', name => 'Helvetica-Oblique', selected => 0}, |
133 |
"H", |
134 |
{type => 'HB', name => 'Helvetica-Bold', selected => 0}, |
134 |
"HO", |
135 |
{type => 'HBO', name => 'Helvetica-Bold-Oblique', selected => 0}, |
135 |
"HB", |
136 |
]; |
136 |
"HBO" |
|
|
137 |
); |
138 |
my %default_font_types = ( |
139 |
TR => {name => 'Times-Roman', }, |
140 |
TB => {name => 'Times-Bold', }, |
141 |
TI => {name => 'Times-Italic', }, |
142 |
TBI => {name => 'Times-Bold-Italic', }, |
143 |
C => {name => 'Courier', }, |
144 |
CB => {name => 'Courier-Bold', }, |
145 |
CO => {name => 'Courier-Oblique', }, |
146 |
CBO => {name => 'Courier-Bold-Oblique', }, |
147 |
H => {name => 'Helvetica', }, |
148 |
HO => {name => 'Helvetica-Oblique', }, |
149 |
HB => {name => 'Helvetica-Bold', }, |
150 |
HBO => {name => 'Helvetica-Bold-Oblique', }, |
151 |
); |
137 |
|
152 |
|
138 |
my $text_justification_types = [ |
153 |
my $text_justification_types = [ |
139 |
{type => 'L', name => 'Left', selected => 0}, |
154 |
{type => 'L', name => 'Left', selected => 0}, |
Lines 427-433
This function returns a reference to an array of hashes containing all font type
Link Here
|
427 |
=cut |
442 |
=cut |
428 |
|
443 |
|
429 |
sub get_font_types { |
444 |
sub get_font_types { |
430 |
return dclone $font_types; |
445 |
my @available_fonts = (); |
|
|
446 |
my %available_font_lookup = %default_font_types; |
447 |
|
448 |
#Add new fonts or rename default fonts |
449 |
my $ttf = C4::Context->config('ttf'); |
450 |
if ($ttf && $ttf->{font} && ref $ttf->{font} eq 'ARRAY'){ |
451 |
foreach my $font ( @{$ttf->{font}} ){ |
452 |
if ($font->{type} && $font->{name} && $font->{content}){ |
453 |
$available_font_lookup{ $font->{type} } = { name => $font->{name}, }; |
454 |
} |
455 |
} |
456 |
} |
457 |
|
458 |
#Output default font types first (in default order) |
459 |
_use_font({ |
460 |
font_types => \@default_font_type_codes, |
461 |
font_lookup => \%available_font_lookup, |
462 |
available_fonts => \@available_fonts, |
463 |
}); |
464 |
|
465 |
#Output configured font types last (in alphabetical order) |
466 |
my @remaining_types = sort keys %available_font_lookup; |
467 |
_use_font({ |
468 |
font_types => \@remaining_types, |
469 |
font_lookup => \%available_font_lookup, |
470 |
available_fonts => \@available_fonts, |
471 |
}); |
472 |
|
473 |
return \@available_fonts; |
474 |
} |
475 |
|
476 |
sub _use_font { |
477 |
my ($args) = @_; |
478 |
my $font_types = $args->{font_types}; |
479 |
my $font_lookup = $args->{font_lookup}; |
480 |
my $available_fonts = $args->{available_fonts}; |
481 |
if ($font_types && $font_lookup && $available_fonts){ |
482 |
foreach my $font_type (@$font_types){ |
483 |
my $font = delete $font_lookup->{$font_type}; |
484 |
$font->{type} = $font_type; |
485 |
#FIXME: in future it would be good to remove this selected requirement, but needs template changes |
486 |
$font->{selected} = 0; |
487 |
push(@$available_fonts,$font); |
488 |
} |
489 |
} |
431 |
} |
490 |
} |
432 |
|
491 |
|
433 |
=head2 C4::Creators::Lib::get_text_justification_types() |
492 |
=head2 C4::Creators::Lib::get_text_justification_types() |
434 |
- |
|
|