aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--data/doc/sisu/CHANGELOG_v66
-rw-r--r--lib/sisu/v6/options.rb4
-rw-r--r--lib/sisu/v6/sysenv.rb22
-rw-r--r--lib/sisu/v6/texpdf_format.rb47
-rw-r--r--sisu.org17
5 files changed, 81 insertions, 15 deletions
diff --git a/data/doc/sisu/CHANGELOG_v6 b/data/doc/sisu/CHANGELOG_v6
index 792cb089..969ceb7e 100644
--- a/data/doc/sisu/CHANGELOG_v6
+++ b/data/doc/sisu/CHANGELOG_v6
@@ -57,6 +57,12 @@ http://www.jus.uio.no/sisu/pkg/src/sisu_6.0.5.orig.tar.xz
* texpdf, headings and table of contents
+* texpdf, pdf default font size configurable (cli & sisurc.yml) (no fractions)
+ --pdf-fontsize-12 --pdf-fontsize-8
+ default:
+ texpdf_fontsize: 12
+ (Closes: #744405)
+
* added sisu.org emacs:evil:org mode notes related to sisu development
%% 6.0.4.orig.tar.xz (2014-02-14:06/5)
diff --git a/lib/sisu/v6/options.rb b/lib/sisu/v6/options.rb
index 115281c7..462d9166 100644
--- a/lib/sisu/v6/options.rb
+++ b/lib/sisu/v6/options.rb
@@ -968,6 +968,10 @@ module SiSU_Commandline
|| mod.inspect =~/"--hash-digests"/) \
? { bool: true, set: :on }
: { bool: false, set: :na }
+ act[:pdf_font_size]=if mod.inspect =~/"--(?:pdf-)?font-?size[=-](\d{1,2})(?:pt)?"/
+ $1
+ else :na
+ end
act[:hash_digest_algo]=if mod.inspect =~/"--hash-(?:sha)?512"/
:sha512
elsif mod.inspect =~/"--hash-(?:sha)?256"/
diff --git a/lib/sisu/v6/sysenv.rb b/lib/sisu/v6/sysenv.rb
index fd36691e..6136d248 100644
--- a/lib/sisu/v6/sysenv.rb
+++ b/lib/sisu/v6/sysenv.rb
@@ -1875,6 +1875,15 @@ WOK
"#{source_file_path}/#{file}"
end
def font
+ def size(pt=nil)
+ if pt && pt != :na
+ pt
+ elsif defined? @rc['default']['fontsize'] \
+ && @rc['default']['fontsize']=~/\d{1,2}/
+ @rc['default']['fontsize']
+ else :na
+ end
+ end
def texpdf
# you may wish to check selected font against available fonts:
# fc-list :outline -f "%{family}\n"
@@ -1927,6 +1936,19 @@ WOK
? @rc['default']['texpdf_fontface_cjk_ko']
: 'IPAGothic'
end
+ def size(pt=nil)
+ if pt && pt != :na
+ pt
+ elsif (defined? @rc['default']['texpdf_fontsize']) \
+ && (@rc['default']['texpdf_fontsize']=~/\d{1,2}/)
+ @rc['default']['texpdf_fontsize']
+ elsif (defined? @rc['default']['fontsize']) \
+ && (@rc['default']['fontsize']=~/\d{1,2}/)
+ @rc['default']['fontsize']
+ else
+ :na
+ end
+ end
self
end
self
diff --git a/lib/sisu/v6/texpdf_format.rb b/lib/sisu/v6/texpdf_format.rb
index 015a9934..56bb1c0b 100644
--- a/lib/sisu/v6/texpdf_format.rb
+++ b/lib/sisu/v6/texpdf_format.rb
@@ -923,60 +923,79 @@ module SiSU_TeX_Pdf
end
def tex_head_paper_dimensions
d={}
+ fontsize_set=if defined? @env.font.texpdf.size(@md.opt.act[:pdf_font_size]) \
+ and not @env.font.texpdf.size(@md.opt.act[:pdf_font_size]).nil?
+ @env.font.texpdf.size(@md.opt.act[:pdf_font_size])
+ else :na
+ end
case @layout
when :portrait
- d[:papertype],d[:fontsize]='a4paper','11pt'
+ fontsize=(fontsize_set==:na) ? '11pt' : (fontsize_set + 'pt')
+ d[:papertype],d[:fontsize]='a4paper',fontsize
d[:oddsidemargin],d[:evensidemargin],d[:topmargin]='0mm','0mm','-12pt'
d[:headheight],d[:headsep],d[:columnsep]='12pt','35pt',''
d[:marginparsep],d[:marginparwidth]='4mm','8mm'
case @ps #@md.papersize
when /a4/i #European default, SiSU default
- d[:papertype],d[:fontsize]='a4paper','12pt'
+ fontsize=(fontsize_set==:na) ? '12pt' : (fontsize_set + 'pt')
+ d[:papertype],d[:fontsize]='a4paper',fontsize
d[:textheight],d[:textwidth]=@tx.a4.portrait.h,@tx.a4.portrait.w
when /letter/i #U.S. default
- d[:papertype],d[:fontsize]='letterpaper','12pt'
+ fontsize=(fontsize_set==:na) ? '12pt' : (fontsize_set + 'pt')
+ d[:papertype],d[:fontsize]='letterpaper',fontsize
d[:textheight],d[:textwidth]=@tx.letter.portrait.h,@tx.letter.portrait.w
when /legal/i #U.S. alternative
- d[:papertype],d[:fontsize]='legalpaper','12pt'
+ fontsize=(fontsize_set==:na) ? '12pt' : (fontsize_set + 'pt')
+ d[:papertype],d[:fontsize]='legalpaper',fontsize
d[:textheight],d[:textwidth]=@tx.legal.portrait.h,@tx.legal.portrait.w
when /book|b5/i #book default - larger
- d[:papertype],d[:fontsize]='b5paper','11pt'
+ fontsize=(fontsize_set==:na) ? '11pt' : (fontsize_set + 'pt')
+ d[:papertype],d[:fontsize]='b5paper',fontsize
d[:oddsidemargin],d[:evensidemargin],d[:topmargin]='-4mm','-4mm','-36pt'
d[:headheight],d[:headsep],d[:columnsep]='12pt','20pt',''
d[:textheight],d[:textwidth]=@tx.b5.portrait.h,@tx.b5.portrait.w
when /a5/i
- d[:papertype],d[:fontsize]='a5paper','11pt'
+ fontsize=(fontsize_set==:na) ? '11pt' : (fontsize_set + 'pt')
+ d[:papertype],d[:fontsize]='a5paper',fontsize
d[:oddsidemargin],d[:evensidemargin],d[:topmargin]='-4mm','-4mm','-36pt'
d[:headheight],d[:headsep],d[:columnsep]='11pt','12pt',''
d[:marginparsep],d[:marginparwidth]='4mm','6mm'
d[:textheight],d[:textwidth]=@tx.a5.portrait.h,@tx.a5.portrait.w
else #default currently A4
- d[:papertype],d[:fontsize]='a4paper','12pt'
+ fontsize=(fontsize_set==:na) ? '12pt' : (fontsize_set + 'pt')
+ d[:papertype],d[:fontsize]='a4paper',fontsize
d[:textheight],d[:textwidth]=@tx.a4.portrait.h,@tx.a4.portrait.w
end
when :landscape
- d[:papertype],d[:fontsize]='a4paper','11pt'
+ fontsize=(fontsize_set==:na) ? '11pt' : (fontsize_set + 'pt')
+ d[:papertype],d[:fontsize]='a4paper',fontsize
d[:oddsidemargin],d[:evensidemargin],d[:topmargin]='6mm','6mm','-12mm'
d[:headheight],d[:headsep],d[:columnsep]='12pt','20pt','40pt'
d[:marginparsep],d[:marginparwidth]='4mm','8mm'
case @ps #@md.papersize
when /a4/i #European default, SiSU default
- d[:papertype],d[:fontsize]='a4paper','11pt'
+ fontsize=(fontsize_set==:na) ? '11pt' : (fontsize_set + 'pt')
+ d[:papertype],d[:fontsize]='a4paper',fontsize
d[:textheight],d[:textwidth]=@tx.a4.landscape.h,@tx.a4.landscape.w
when /letter/i #U.S. default
- d[:papertype],d[:fontsize]='letterpaper','11pt'
+ fontsize=(fontsize_set==:na) ? '11pt' : (fontsize_set + 'pt')
+ d[:papertype],d[:fontsize]='letterpaper',fontsize
d[:textheight],d[:textwidth]=@tx.letter.landscape.h,@tx.letter.landscape.w
when /legal/i #U.S. alternative
- d[:papertype],d[:fontsize],d[:columnsep]='legalpaper','11pt','48pt'
+ fontsize=(fontsize_set==:na) ? '11pt' : (fontsize_set + 'pt')
+ d[:papertype],d[:fontsize],d[:columnsep]='legalpaper',fontsize,'48pt'
d[:textheight],d[:textwidth]=@tx.legal.landscape.h,@tx.legal.landscape.w
when /book|b5/i #book default - larger
- d[:papertype],d[:fontsize],d[:columnsep]='b5paper','11pt','35pt'
+ fontsize=(fontsize_set==:na) ? '11pt' : (fontsize_set + 'pt')
+ d[:papertype],d[:fontsize],d[:columnsep]='b5paper',fontsize,'35pt'
d[:textheight],d[:textwidth]=@tx.b5.landscape.h,@tx.b5.landscape.w
when /a5/i
- d[:papertype],d[:fontsize],d[:columnsep]='a5paper','10pt','32pt'
+ fontsize=(fontsize_set==:na) ? '10pt' : (fontsize_set + 'pt')
+ d[:papertype],d[:fontsize],d[:columnsep]='a5paper',fontsize,'32pt'
d[:textheight],d[:textwidth]=@tx.a5.landscape.h,@tx.a5.landscape.w
else #default currently A4
- d[:papertype],d[:fontsize]='a4paper','12pt'
+ fontsize=(fontsize_set==:na) ? '12pt' : (fontsize_set + 'pt')
+ d[:papertype],d[:fontsize]='a4paper',fontsize
d[:textheight],d[:textwidth]=@tx.a4.landscape.h,@tx.a4.landscape.w
end
end
diff --git a/sisu.org b/sisu.org
index 7ee24682..4db30823 100644
--- a/sisu.org
+++ b/sisu.org
@@ -1744,7 +1744,7 @@ Daniel
implemented
document command line option --sha512
-**** TODO [#C] #744405 [w|u] sisu: set default font size
+**** DONE (6.0.5) [#C] #744405 [w|u] sisu: set default font size :configuration:pdf:implement:
<https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=744405>
From: Daniel Baumann <daniel.baumann@progress-technologies.net>
@@ -1762,6 +1762,21 @@ able to set the default font size.
Regards,
Daniel
+***** NOTES/COMMENTS
+
+for pdf make configurable
+
+yaml.rc
+
+default:
+ texpdf_fontsize: 12
+
+command-line
+
+--pdf-fontsize-12
+--pdf-fontsize-8
+etc.
+
**** TODO [#C] #744407 [w|u] sisu: possibility to influence content/formating of the title page
<https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=744407>