[LON-CAPA-cvs] cvs: loncom /interface lonprintout.pm
foxr
foxr@source.lon-capa.org
Mon, 22 Jun 2009 09:50:39 -0000
foxr Mon Jun 22 09:50:39 2009 EDT
Modified files:
/loncom/interface lonprintout.pm
Log:
BZ 3871 - Allow global font-size selection.
Index: loncom/interface/lonprintout.pm
diff -u loncom/interface/lonprintout.pm:1.555 loncom/interface/lonprintout.pm:1.556
--- loncom/interface/lonprintout.pm:1.555 Wed Jun 17 15:27:14 2009
+++ loncom/interface/lonprintout.pm Mon Jun 22 09:50:39 2009
@@ -1,7 +1,7 @@
# The LearningOnline Network
# Printout
#
-# $Id: lonprintout.pm,v 1.555 2009/06/17 15:27:14 bisitz Exp $
+# $Id: lonprintout.pm,v 1.556 2009/06/22 09:50:39 foxr Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -70,6 +70,10 @@
my $ssi_retry_count = 5; # Some arbitrary value.
+# Font size:
+
+my $font_size = 'normalsize'; # Default is normalsize...
+
# Fetch the contents of a resource, uninterpreted.
# This is used here to fetch a latex file to be included
@@ -114,6 +118,24 @@
return $result;
}
+#
+# Set a global document font size:
+# This is done by replacing \begin{document}
+# with \begin{document}{\some-font-directive
+# and \end{document} with
+# }\end{document
+#
+sub set_font_size {
+
+ my ($text) = @_;
+
+ $text =~ s/\\begin{document}/\\begin{document}{\\$font_size/;
+ $text =~ s/\\end{document}/}\\end{document}/;
+ return $text;
+
+
+}
+
# include_pdf - PDF files are included into the
# output as follows:
# - The PDF, if necessary, is replicated.
@@ -1497,6 +1519,7 @@
my %parmhash = %$rparmhash;
$ssi_error = 0; # This will be set nonzero by failing ssi's.
$resources_printed = '';
+ $font_size = $helper->{'VARS'}->{'fontsize'};
my $do_postprocessing = 1;
my $js = <<ENDPART;
<script type="text/javascript">
@@ -2222,6 +2245,11 @@
$URLback=~s|^/~|/priv/|;
}
}
+ #
+ # Final adjustment of the font size:
+ #
+
+ $result = set_font_size($result);
#-- writing .tex file in prtspool
my $temp_file;
@@ -3233,9 +3261,6 @@
&addMessage('<br />'
.'<h3>'.&mt('Print Options').'</h3>'
.&Apache::lonhtmlcommon::start_pick_box()
-# .&Apache::lonhtmlcommon::row_headline()
-# .'<h3>'.&mt('Print Options').'</h3>'
-# .&Apache::lonhtmlcommon::row_closure()
.&Apache::lonhtmlcommon::row_title(
'<label for="ANSWER_TYPE_forminput">'
.&mt('Print Answers')
@@ -3253,6 +3278,34 @@
Apache::lonhelper::dropdown->new();
&addMessage(&Apache::lonhtmlcommon::row_closure());
$startedTable = 1;
+
+#
+# Select font size.
+#
+
+ $helper->declareVar('fontsize');
+ &addMessage(&Apache::lonhtmlcommon::row_title(&mt('Font Size')));
+ my $xmlfrag = << "FONT_SELECTION";
+
+
+ <dropdown variable='fontsize' multichoice='0', allowempty='0'>
+ <defaultvalue>
+ return 'normalsize';
+ </defaultvalue>
+ <choice computer='tiny'>Tiny</choice>
+ <choice computer='sub/superscriptsize'>Script Size</choice>
+ <choice computer='footnotesize'>Footnote Size</choice>
+ <choice computer='small'>Small</choice>
+ <choice computer='normalsize'>Normal (default)</choice>
+ <choice computer='large'>larger than normal</choice>
+ <choice computer='Large'>Even larger than normal</choice>
+ <choice computer='LARGE'>Still larger than normal</choice>
+ <choice computer='huge'>huge font size</choice>
+ <choice computer='Huge'>Largest possible size</choice>
+ </dropdown>
+FONT_SELECTION
+ &Apache::lonxml::xmlparse($r, 'helper', $xmlfrag);
+ &addMessage(&Apache::lonhtmlcommon::row_closure(1));
}
if ($perm{'pav'}) {
@@ -3418,9 +3471,10 @@
</dropdown>
PROBTYPE
&Apache::lonxml::xmlparse($r, 'helper', $xmlfrag);
-
&addMessage(&Apache::lonhtmlcommon::row_closure(1));
+
+
}
}
@@ -3530,6 +3584,8 @@
my $pdfFormLabel=&mt('PDF-Formfields');
my $with=&mt('with Formfields');
my $without=&mt('without Formfields');
+
+
$result.='<h3>'.&mt('Layout Options').'</h3>'
.&Apache::loncommon::start_data_table()
.&Apache::loncommon::start_data_table_header_row()