diff options
Diffstat (limited to 'lib/sisu/v2/param.rb')
-rw-r--r-- | lib/sisu/v2/param.rb | 21 |
1 files changed, 20 insertions, 1 deletions
diff --git a/lib/sisu/v2/param.rb b/lib/sisu/v2/param.rb index 87dd9aab..bf32fc59 100644 --- a/lib/sisu/v2/param.rb +++ b/lib/sisu/v2/param.rb @@ -514,6 +514,11 @@ module SiSU_Param l,n=Db[:col_classify_library],'classify.dewey' validate_length(s,l,n) end + def oclc + s=@h['oclc'] + l,n=Db[:col_classify_library],'classify.oclc' + validate_length(s,l,n) + end def pg s=@h['pg'] l,n=Db[:col_classify_small],'classify.pg' @@ -927,7 +932,7 @@ module SiSU_Param l=determine_papersize(l.dup) @papersize=l end - when /^@make:(.+)/m #% metainfo DC + when /^@make:(.+)/m #% metainfo DC @make=Md.new($1.strip,@opt).make if defined? @make.breaks \ and @make.breaks[:page_new] #clearpage @@ -1097,6 +1102,20 @@ module SiSU_Param @rights=Md_default.new.rights("[#{@creator.author}]",'') end end + if defined? @classify.topic_register \ + and @classify.topic_register.length >3 + topic_register=@classify.topic_register + u=topic_register.scan(/[^;]+/) + v=[] + u.each do |l| + v << l.scan(/[^:]+/) + end + v.each do |m| + m[-1]=m[-1].scan(/[^|]+/) if m[-1] =~/[|]/ + @topic_register_array << m + end + @topic_register_array.sort! + end if @markup_version.to_f >= 0.38 #convert values in headers to internal representation translated=[] translate_list=[@pagenew,@pagebreak,@num_top,@toc_lev_limit] |