aboutsummaryrefslogtreecommitdiffhomepage
path: root/lib/sisu/v2/param.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/sisu/v2/param.rb')
-rw-r--r--lib/sisu/v2/param.rb29
1 files changed, 17 insertions, 12 deletions
diff --git a/lib/sisu/v2/param.rb b/lib/sisu/v2/param.rb
index a4ac4589..98478626 100644
--- a/lib/sisu/v2/param.rb
+++ b/lib/sisu/v2/param.rb
@@ -148,8 +148,8 @@ module SiSU_Param
end
end
class Md
- def initialize(str,opt)
- @s,@opt=str,opt
+ def initialize(str,opt,env)
+ @s,@opt,@env=str,opt,env
end
def validate_length(s,l,n)
#s=(s.length <= l) ? s : nil
@@ -668,6 +668,11 @@ module SiSU_Param
else nil
end
end
+ def texpdf_font
+ @h['texpdf_font'] && (@h['texpdf_font']=~/\S{3,}/) \
+ ? @h['texpdf_font'] \
+ : @env.font.texpdf
+ end
def skin
@h['skin']
end
@@ -922,23 +927,23 @@ module SiSU_Param
case para
when /^@ocn:\s+(.+?)$/m; @ocn=$1 #% processing
when /^@title:(.+)/m #% metainfo DC
- @title=Md.new($1.strip,@opt).title
+ @title=Md.new($1.strip,@opt,@env).title
when /^@creator:(.+)/m #% metainfo DC
- @creator=Md.new($1.strip,@opt).creator
+ @creator=Md.new($1.strip,@opt,@env).creator
@authorship=@author=@creator.author
@authors=@creator.author_detail
when /^@classify:(.+)/m; classify=$1
- @classify=Md.new($1.strip,@opt).classify
+ @classify=Md.new($1.strip,@opt,@env).classify
when /^@publisher:\s+(.+)/m
- @publisher=Md.new($1.strip,@opt).current_publisher
+ @publisher=Md.new($1.strip,@opt,@env).current_publisher
when /^@original:(.+)/m
- @original=Md.new($1.strip,@opt).original
+ @original=Md.new($1.strip,@opt,@env).original
@source=@original.source
when /^@writing_focus[:.]nationality:\s+(.+?)$/; @writing_focus=$1 # e.g. Finland (where and article on Finnish law)
when /^@date:(.+)/m #% metainfo DC
- @date=Md.new($1.strip,@opt).date
+ @date=Md.new($1.strip,@opt,@env).date
when /^@rights:(.+)/m; #@rights=$1.gsub(/<(?:\/\s*)?br(?:\s*\/)?>/,Mx[:br_line]) #% metainfo DC copyright, public domain, copyleft, creative commons, etc.
- @rights=Md.new($1.strip,@opt).rights
+ @rights=Md.new($1.strip,@opt,@env).rights
when /^@papersize:\s+(.+?)$/m #% metainfo DC
l=$1
if @mod.inspect !~/--papersize[=-]\S+/
@@ -946,7 +951,7 @@ module SiSU_Param
@papersize=l
end
when /^@make:(.+)/m #% metainfo DC
- @make=Md.new($1.strip,@opt).make
+ @make=Md.new($1.strip,@opt,@env).make
if defined? @make.breaks \
and @make.breaks[:page_new] #clearpage
@pagenew=@make.breaks[:page_new]
@@ -978,7 +983,7 @@ module SiSU_Param
@man_section=(defined? @make.manpage.section) ? @make.manpage.section : 1
end
when /^@links:\s+(.+?)\Z/m #% processing
- doc_links=Md.new($1.strip,@opt).links
+ doc_links=Md.new($1.strip,@opt,@env).links
count=1
@lnk=[]
doc_links.each do |doc_link|
@@ -989,7 +994,7 @@ module SiSU_Param
end
end
when /^@notes?:\s(.+)/ #% metainfo
- Md.new($1.strip,@opt).notes
+ Md.new($1.strip,@opt,@env).notes
when /^@base_program:\s+(.+?)$/; @base_program=$1 #% processing
end
@lv1 ||=/^1~/