diff options
author | Hans Hagen <pragma@wxs.nl> | 2005-08-19 00:00:00 +0200 |
---|---|---|
committer | Hans Hagen <pragma@wxs.nl> | 2005-08-19 00:00:00 +0200 |
commit | 762d1d411dbef0c303d28c3c2db2df4065648747 (patch) | |
tree | ff26a98539a470fba370715f71008fc22b5375f1 | |
parent | f8482bca2d7d031de38b8c751aadf5e2523f1a52 (diff) | |
download | context-762d1d411dbef0c303d28c3c2db2df4065648747.tar.gz |
stable 2005.08.19
39 files changed, 664 insertions, 226 deletions
diff --git a/scripts/context/ruby/base/kpse.rb b/scripts/context/ruby/base/kpse.rb index 3c3cc21df..dc4898ffc 100644 --- a/scripts/context/ruby/base/kpse.rb +++ b/scripts/context/ruby/base/kpse.rb @@ -20,19 +20,23 @@ require 'rbconfig' module Kpse - @@located = Hash.new - @@paths = Hash.new - @@scripts = Hash.new - @@formats = ['tex','texmfscripts','other text files'] - @@progname = 'context' - @@ownpath = $0.sub(/[\\\/][a-z0-9\-]*?\.rb/i,'') - @@problems = false - @@tracing = false - @@distribution = 'web2c' - @@crossover = true - @@mswindows = Config::CONFIG['host_os'] =~ /mswin/ - - @@distribution = 'miktex' if ENV['PATH'] =~ /miktex[\\\/]bin/o + @@located = Hash.new + @@paths = Hash.new + @@scripts = Hash.new + @@formats = ['tex','texmfscripts','other text files'] + @@progname = 'context' + @@ownpath = $0.sub(/[\\\/][a-z0-9\-]*?\.rb/i,'') + @@problems = false + @@tracing = false + @@distribution = 'web2c' + @@crossover = true + @@mswindows = Config::CONFIG['host_os'] =~ /mswin/ + + @@distribution = 'miktex' if ENV['PATH'] =~ /miktex[\\\/]bin/o + + @@usekpserunner = false || ENV['KPSEFAST'] == 'yes' + + require 'base/tool' if @@usekpserunner if @@crossover then ENV.keys.each do |k| @@ -101,7 +105,7 @@ module Kpse end def Kpse.which - Kpse.Kpsewhich + Kpse.kpsewhich end def Kpse.run(arguments) @@ -110,7 +114,11 @@ module Kpse if @@problems then results = '' else - results = `kpsewhich #{arguments}`.chomp + if @@usekpserunner then + results = KpseRunner.kpsewhich(arguments).chomp + else + results = `kpsewhich #{arguments}`.chomp + end end rescue puts "unable to run kpsewhich" if @@tracing diff --git a/scripts/context/ruby/base/kpsefast.rb b/scripts/context/ruby/base/kpsefast.rb index a519a6be6..e0204cf13 100644 --- a/scripts/context/ruby/base/kpsefast.rb +++ b/scripts/context/ruby/base/kpsefast.rb @@ -180,6 +180,7 @@ class KPSEFAST @found = Hash.new @kpsevars = Hash.new @lsrfiles = Array.new + @cnffiles = Array.new @verbose = true @remember = true @scandisk = true @@ -192,7 +193,21 @@ class KPSEFAST @cachefile = 'tmftools.log' end + # {$SELFAUTOLOC,$SELFAUTODIR,$SELFAUTOPARENT}{,{/share,}/texmf{-local,}/web2c} + # + # $SELFAUTOLOC : /usr/tex/bin/platform + # $SELFAUTODIR : /usr/tex/bin + # $SELFAUTOPARENT : /usr/tex + # + # since we live in scriptpath we need a slightly different method + def load_cnf + ownpath = File.expand_path($0) + if ownpath.gsub!(/texmf.*?$/o, '') then + ENV['SELFAUTOPARENT'] = ownpath + else + ENV['SELFAUTOPARENT'] = '.' + end unless @treepath.empty? then unless @rootpath.empty? then @treepath = @treepath.split(',').collect do |p| File.join(@rootpath,p) end.join(',') @@ -205,7 +220,16 @@ class KPSEFAST ENV['SELFAUTOPARENT'] = @rootpath @isolate = true end - filenames = [File.join(ENV['TEXMFCNF'] || '.','texmf.cnf')] + filenames = Array.new + if ENV['TEXMFCNF'] and not ENV['TEXMFCNF'].empty? then + filenames << File.join(ENV['TEXMFCNF'],'texmf.cnf') + elsif ENV['SELFAUTOPARENT'] == '.' then + filenames << File.join('.','texmf.cnf') + else + ['texmf-local','texmf'].each do |tree| + filenames << File.join(ENV['SELFAUTOPARENT'],tree,'web2c','texmf.cnf') + end + end # <root>/texmf/web2c/texmf.cnf @rootpath = filenames.first 3.times do @@ -216,6 +240,7 @@ class KPSEFAST end filenames.each do |fname| if FileTest.file?(fname) and f = File.open(fname) then + @cnffiles << fname while line = f.gets do loop do # concatenate lines ending with \ @@ -659,9 +684,10 @@ class KPSEFAST end def analyze_files(filter='',strict=false,sort='',delete=false) - puts("command = #{ARGV.join(' ')}") - puts("files = #{@files.size}") - puts("filter = #{filter}") + puts("command line = #{ARGV.join(' ')}") + puts("number of files = #{@files.size}") + puts("filter pattern = #{filter}") + puts("loaded cnf files = #{@cnffiles.join(' ')}") puts('') if filter.gsub!(/^not:/,'') then def the_same(filter,filename) @@ -737,6 +763,79 @@ class KPSEFAST end +module KpseRunner + + @@kpse = nil + + def KpseRunner.kpsewhich(arg='') + options, arguments = split_args(arg) + unless @@kpse then + @@kpse = KPSEFAST.new + @@kpse.load_cnf + @@kpse.progname = options['progname'] || '' + @@kpse.engine = options['engine'] || '' + @@kpse.format = options['format'] || '' + @@kpse.expand_variables + @@kpse.load_lsr + else + @@kpse.progname = options['progname'] || '' + @@kpse.engine = options['engine'] || '' + @@kpse.format = options['format'] || '' + @@kpse.expand_variables + end + if option = options['expand-braces'] and not option.empty? then + @@kpse.expand_braces(option) + elsif option = options['expand-path'] and not option.empty? then + @@kpse.expand_path(option) + elsif option = options['expand-var'] and not option.empty? then + @@kpse.expand_var(option) + elsif option = options['show-path'] and not option.empty? then + @@kpse.show_path(option) + elsif option = options['var-value'] and not option.empty? then + @@kpse.expand_var(option) + elsif arguments.size > 0 then + files = Array.new + arguments.each do |option| + if file = @@kpse.find_file(option) and not file.empty? then + files << file + end + end + files.join("\n") + else + '' + end + end + + def KpseRunner.kpsereset + @@kpse = nil + end + + private + + def KpseRunner.split_args(arg) + vars, args = Hash.new, Array.new + arg.gsub!(/([\"\'])(.*?)\1/o) do + $2.gsub(' ','<space/>') + end + arg = arg.split(/\s+/o) + arg.collect! do |a| + a.gsub('<space/>',' ') + end + arg.each do |a| + if a =~ /^(.*?)\=(.*?)$/o then + k, v = $1, $2 + vars[k.sub(/^\-+/,'')] = v + else + args << a + end + end + # puts vars.inspect + # puts args.inspect + return vars, args + end + +end + if false then k = KPSEFAST.new # (root) diff --git a/scripts/context/ruby/base/texutil.rb b/scripts/context/ruby/base/texutil.rb index 47c613474..c279bcc97 100644 --- a/scripts/context/ruby/base/texutil.rb +++ b/scripts/context/ruby/base/texutil.rb @@ -172,10 +172,14 @@ class TeXUtil end def prepare - @rexa = /(#{@rep.keys.join('|')})/o + if @rep.size > 0 then + @rexa = /(#{@rep.keys.join('|')})/ # o + else + @rexa = nil + end if @map.size > 0 then # watch out, order of match matters - @rexb = /(\\[a-zA-Z]+|#{@map.keys.join('|')}|.)\s*/o + @rexb = /(\\[a-zA-Z]+|#{@map.keys.join('|')}|.)\s*/ # o else @rexb = /(\\[a-zA-Z]+|.)\s*/o end @@ -186,17 +190,21 @@ class TeXUtil s.gsub!(/(\d+)/o) do $1.rjust(10,'a') # rest is b .. k end - s.gsub!(@rexa) do - @rep[$1.escaped] + if @rexa then + s.gsub!(@rexa) do + @rep[$1.escaped] + end end - s.gsub!(@rexb) do - token = $1.sub(/\\/o, '') - if @exp.key?(token) then - @exp[token].ljust(@max,' ') - elsif @map.key?(token) then - @map[token].ljust(@max,' ') - else - '' + if @rexb then + s.gsub!(@rexb) do + token = $1.sub(/\\/o, '') + if @exp.key?(token) then + @exp[token].ljust(@max,' ') + elsif @map.key?(token) then + @map[token].ljust(@max,' ') + else + '' + end end end s diff --git a/scripts/context/ruby/ctxtools.rb b/scripts/context/ruby/ctxtools.rb index 44bf85b5b..75720d8b8 100644 --- a/scripts/context/ruby/ctxtools.rb +++ b/scripts/context/ruby/ctxtools.rb @@ -1251,12 +1251,13 @@ class Commands if line =~ /^[\%\#]+/mo then '' else - encoding = if line =~ /([a-z0-9\-]+)\.enc/io then $1 else '' end - fontfile = if line =~ /([a-z0-9\-]+)\.(pfb|ttf)/io then $1 else nil end - metrics = if line =~ /^([a-z0-9\-]+)[\s\<]+/io then $1 else nil end + encoding = if line =~ /([a-z0-9\-]+)\.enc/io then $1 else '' end + fontfile = if line =~ /([a-z0-9\-]+)\.(pfb|ttf)/io then $1 else nil end + metrics = if line =~ /^([a-z0-9\-]+)[\s\<]+/io then $1 else nil end + slant = if line =~ /\"([\d\.]+)\s+SlantFont\"/io then "-s #{$1}" else '' end if metrics && encoding && fontfile then n += 1 - "#{metrics} #{encoding} #{fontfile}" + "#{metrics} #{encoding} #{fontfile} #{slant}" else '' end diff --git a/tex/context/base/context.tex b/tex/context/base/context.tex index 43446058f..60d538895 100644 --- a/tex/context/base/context.tex +++ b/tex/context/base/context.tex @@ -31,7 +31,7 @@ %D 2004.8.30 the low level interface is english. Watch out and adapt %D your styles an modules. -\def\contextversion{2005.08.15} +\def\contextversion{2005.08.19} %D Welcome to the main module. When this module is ran through %D \type{initex} or \type {tex -i} or \type {whatevertex} using diff --git a/tex/context/base/core-fld.tex b/tex/context/base/core-fld.tex index 614d35efe..5f03d699e 100644 --- a/tex/context/base/core-fld.tex +++ b/tex/context/base/core-fld.tex @@ -875,6 +875,8 @@ \fi \egroup} +\chardef\fitfieldmode\plusone % 3 = best + \def\dohandlefitfield[#1][#2][#3][#4][#5]% alleen check {\presetlocalframed[\??fd]% \localframed @@ -894,8 +896,17 @@ \setbox\scratchbox\hbox{\dogetfieldsymbol\@@DriverFieldValue}% \scratchdimen\wd\scratchbox \edef\@@DriverFieldWidth {\the\scratchdimen}% \scratchdimen\ht\scratchbox \edef\@@DriverFieldHeight{\the\scratchdimen}% - \vbox to \ht\scratchbox - {\vfill\hbox to \wd\scratchbox{\typesetfield\hfill}\vss}}} + \ifcase\fitfieldmode + \typesetfield + \or % 1 = ignore depth (original, assumed no depth, actually a bug) + \vbox to \ht\scratchbox{\vfill\hbox to \wd\scratchbox{\typesetfield\hfill}\vss}% + \or % 2 = add depth to height, but no depth in result + \advance\scratchdimen\dp\scratchbox \edef\@@DriverFieldHeight{\the\scratchdimen}% + \vbox to \ht\scratchbox{\vfill\hbox to \wd\scratchbox{\typesetfield\hfill}\vss}% + \or % 3 = add depth to height, and apply depth to result + \advance\scratchdimen\dp\scratchbox \edef\@@DriverFieldHeight{\the\scratchdimen}% + \hbox to \wd\scratchbox{\lower\dp\scratchbox\hbox{\typesetfield}\hfill}% + \fi}} %D Common stuff diff --git a/tex/context/base/core-lst.tex b/tex/context/base/core-lst.tex index 7aa6f18c2..a93954fe0 100644 --- a/tex/context/base/core-lst.tex +++ b/tex/context/base/core-lst.tex @@ -212,7 +212,7 @@ \c!textcommand=\listtextcommand, \c!pagecommand=\listpagecommand, \c!pagenumber=\v!yes, -\c!sectionnumber=\v!yes, +\c!headnumber=\v!yes, \c!pageboundaries=, \c!margin=\!!zeropoint, \c!aligntitle=, @@ -237,7 +237,7 @@ \c!textstyle,\c!textcolor,\c!textcommand, \c!pagestyle,\c!pagecommand,\c!pagecolor, \c!numberstyle,\c!numbercolor,\c!numbercommand, -\c!sectionnumber, +\c!headnumber, \c!pagenumber,\c!pageboundaries,\c!margin,\c!symbol,\c!limittext, \c!aligntitle,\c!before,\c!after,\c!inbetween,\v!part\c!number,\c!label]% \getparameters[\??li#1][#3]}}% @@ -518,7 +518,7 @@ {\forgetall \makelistelement\v!all {% -\doif{\listparameter\c!sectionnumber}\v!yes +\doif{\listparameter\c!headnumber}\v!yes {\makelistelement\v!sectionnumber {\donestedlistattributes\c!numberstyle\c!numbercolor {\listparameter\c!numbercommand{\currentlistsymbol}}}% @@ -591,7 +591,7 @@ {\forgetall \dostartlistattributes\c!style\c!color\empty \!!widthb\hsize -\doifelse{\listparameter\c!sectionnumber}\v!yes{% +\doifelse{\listparameter\c!headnumber}\v!yes{% \setbox2\hbox \ifdim\!!widtha>\zeropoint to \!!widtha \fi {\makelistelement\v!sectionnumber {\donestedlistattributes\c!numberstyle\c!numbercolor @@ -710,7 +710,7 @@ {\listparameter\c!pagecommand {\pageprefix\??li\currentlist[#5]% \translatednumber[#5]}}}}}}% -\doif{\listparameter\c!sectionnumber}\v!yes{% +\doif{\listparameter\c!headnumber}\v!yes{% \donetrue \doifnothing{#3}{\doifnothing{\listparameter\c!symbol}\donefalse}% % == \doifnothing{#3\listparameter\c!symbol}\donefalse diff --git a/tex/context/base/core-rul.tex b/tex/context/base/core-rul.tex index 7116d05c4..e21d6385a 100644 --- a/tex/context/base/core-rul.tex +++ b/tex/context/base/core-rul.tex @@ -71,7 +71,7 @@ %D rounded corners are used, so: %D %D \startbuffer -%D \periodgraybox +%D \dotgraybox %D \width.5\hsize\height1cm\depth0cm\raster.85\corner\v!no\radius0pt\\ %D \stopbuffer %D @@ -86,7 +86,7 @@ %D \startlinecorrection %D \unprotect %D \vbox to 1cm -%D {\getvalue{period graybox}% +%D {\dotgraybox %D \width.5\hsize\height1cm\depth0cm\raster.85\corner\v!no\radius0pt\\} %D \protect %D \stoplinecorrection @@ -791,7 +791,7 @@ \else \boxhaswidthfalse \fi - \else\ifx\localwidth\v!fixed % equals \v!fix but no shapebox + \else\ifx\localwidth\v!fixed % equals \v!fit but no shapebox \ifboxhasformat \boxhaswidthtrue \!!widtha\hsize @@ -1688,7 +1688,7 @@ %D formatting. Watch the visualized struts. \footnote {Here we %D used \type {\showstruts}.} %D -%D \startuitstellen +%D \startpostponing %D \bgroup %D \showstruts %D \dontcomplain @@ -1729,9 +1729,9 @@ %D \framed[width=fit, height=broad, align=middle] {a\par b\par c}& %D \framed[width=fit, height=fit, align=middle] {a\par b\par c}\cr} %D \stoplinecorrection -%D \blank[2*groot] +%D \blank[2*big] %D \egroup -%D \stopuitstellen +%D \stoppostponing %D \macros %D {framednoflines, framedlastlength} @@ -1798,7 +1798,7 @@ %D visualization of the resulting box, that is, we applied %D \type{\ruledhbox} to the result. -%D \startuitstellen +%D \startpostponing %D \bgroup %D \unprotect %D \dontcomplain @@ -1845,7 +1845,7 @@ %D %D \protect %D \egroup -%D \stopuitstellen +%D \stoppostponing %D When typesetting the framed box inline, we have to keep the %D baseline intact outside as well as inside the framed box. @@ -1975,32 +1975,32 @@ %D \setuptyping[margin=0pt] %D \startlinecorrection %D \startbuffer -%D \framed[offset=overlay,frame=on] {\donkerrood\blackrule} +%D \framed[offset=overlay,frame=on]{\darkred\blackrule} %D \stopbuffer %D \hbox{\getbuffer\vbox{\typebuffer}} %D %D \startbuffer -%D \framed[offset=overlay,frame=on,bottomframe=off]{\donkerrood\blackrule} +%D \framed[offset=overlay,frame=on,bottomframe=off]{\darkred\blackrule} %D \stopbuffer %D \hbox{\getbuffer\vbox{\typebuffer}} %D %D \startbuffer -%D \framed[offset=overlay,frame=on,bottomframe=on]{\donkerrood\blackrule} +%D \framed[offset=overlay,frame=on,bottomframe=on]{\darkred\blackrule} %D \stopbuffer %D \hbox{\getbuffer\vbox{\typebuffer}} %D %D \startbuffer -%D \framed[offset=overlay,frame=off] {\donkerrood\blackrule} +%D \framed[offset=overlay,frame=off]{\darkred\blackrule} %D \stopbuffer %D \hbox{\getbuffer\vbox{\typebuffer}} %D %D \startbuffer -%D \framed[offset=overlay,frame=off,bottomframe=off]{\donkerrood\blackrule} +%D \framed[offset=overlay,frame=off,bottomframe=off]{\darkred\blackrule} %D \stopbuffer %D \hbox{\getbuffer\vbox{\typebuffer}} %D %D \startbuffer -%D \framed[offset=overlay,frame=off,bottomframe=on]{\donkerrood\blackrule} +%D \framed[offset=overlay,frame=off,bottomframe=on]{\darkred\blackrule} %D \stopbuffer %D \hbox{\getbuffer\vbox{\typebuffer}} %D \stoplinecorrection @@ -2493,13 +2493,13 @@ %D width=\hsize, %D background=screen] %D -%D \startkadertekst +%D \startframedtext %D By default the framed text is centered \dots -%D \stopkadertekst +%D \stopframedtext %D -%D \startkadertekst[right] +%D \startframedtext[right] %D \dots\ but we can also align left, middle and right. -%D \stopkadertekst +%D \stopframedtext %D \stopbuffer %D %D \startbuffer[framed-1] @@ -2558,7 +2558,7 @@ %D %D that generates two commands: %D -%D \showsetup{\e!start<<framedtext>>} +%D \showsetup{start<<framedtext>>} %D \showsetup{<<framedtext>>} %D %D The next definition shows the defaults. diff --git a/tex/context/base/core-spa.tex b/tex/context/base/core-spa.tex index db13c4992..6ee5df55d 100644 --- a/tex/context/base/core-spa.tex +++ b/tex/context/base/core-spa.tex @@ -3659,6 +3659,8 @@ \setvalue{@@align@@\v!nothanging }{\disableprotruding} \setvalue{@@align@@\v!hz }{\enableadjusting} \setvalue{@@align@@\v!nohz }{\disableadjusting} +\setvalue{@@align@@\v!spacing }{\enablespacehandling} +\setvalue{@@align@@\v!nospacing }{\disablespacehandling} \setvalue{@@align@@\v!hyphenated }{\dohyphens} \setvalue{@@align@@\v!nothyphenated}{\nohyphens} \setvalue{@@align@@\v!new }{\@@asraggedfalse} % so new will give you consistency diff --git a/tex/context/base/enco-ans.tex b/tex/context/base/enco-ans.tex index 282f33b3e..6c7acf731 100644 --- a/tex/context/base/enco-ans.tex +++ b/tex/context/base/enco-ans.tex @@ -76,7 +76,7 @@ \definecharacter thorn 254 \definecharacter Thorn 222 -\definecharacter Eth 208 +\definecharacter Dstroke 208 % also Eth, mapped in enco-def \definecharacter eth 240 \definecharacter exclamdown 161 diff --git a/tex/context/base/enco-def.tex b/tex/context/base/enco-def.tex index 2cad5a89e..4bc504c1b 100644 --- a/tex/context/base/enco-def.tex +++ b/tex/context/base/enco-def.tex @@ -62,8 +62,8 @@ \definecharacter thorn {\unknownchar} \definecharacter Thorn {\unknownchar} -\definecharacter eth {\unknownchar} -\definecharacter Eth {\unknownchar} +\definecharacter eth {\dstroke} % wrong but better that nothing +\definecharacter Eth {\Dstroke} % wrong but better that nothing \definecharacter exclamdown 60 \definecharacter questiondown 62 diff --git a/tex/context/base/enco-ec.tex b/tex/context/base/enco-ec.tex index 58ccd0400..aa8319e00 100644 --- a/tex/context/base/enco-ec.tex +++ b/tex/context/base/enco-ec.tex @@ -113,7 +113,8 @@ \definecharacter thorn 254 \definecharacter Thorn 222 -\definecharacter Eth 208 +%definecharacter Eth 208 % no ! +\definecharacter Dstroke 208 \definecharacter eth 240 \definecharacter exclamdown 189 % lig @@ -253,7 +254,8 @@ \definecharacter uhungarumlaut 182 \definecharacter Uhungarumlaut 150 -\definecharacter dmacron 158 +%definecharacter dmacron 158 % no ! +\definecharacter dstroke 158 \definecharacter aogonek 161 \definecharacter Aogonek 129 diff --git a/tex/context/base/enco-fsl.tex b/tex/context/base/enco-fsl.tex new file mode 100644 index 000000000..86a41c88a --- /dev/null +++ b/tex/context/base/enco-fsl.tex @@ -0,0 +1,32 @@ +%D \module +%D [ file=enco-fsl, +%D version=2005.08.17, +%D title=\CONTEXT\ Encoding Macros, +%D subtitle=Slovenian Specialities, +%D author={Hans Hagen, Mojka Miklavec}, +%D date=\currentdate, +%D copyright=Hans Hagen] +%C +%C This module is part of the \CONTEXT\ macro||package and is +%C therefore copyrighted by \PRAGMA. See mreadme.pdf for +%C details. + +%D Usage: +%D +%D \starttyping +%D \useencoding[fsl] +%D +%D \starttext +%D \dstroke \language[sl] \dstroke +%D \stoptext +%D \stoptyping + +\unprotect + +\startlanguagespecifics[\s!sl] + \startencoding[\s!default] + \definecharacter dstroke {d\zcaron} % hm, expects a space delimiter + \stopencoding +\stoplanguagespecifics + +\protect \endinput diff --git a/tex/context/base/enco-qx.tex b/tex/context/base/enco-qx.tex index 38db703d9..407d60bd7 100644 --- a/tex/context/base/enco-qx.tex +++ b/tex/context/base/enco-qx.tex @@ -110,7 +110,7 @@ \definecharacter thorn 254 \definecharacter Thorn 222 -\definecharacter Eth 208 +\definecharacter Dstroke 208 % also Eth, mapped into enco-def \definecharacter eth 240 \definecharacter exclamdown 60 diff --git a/tex/context/base/font-chi.tex b/tex/context/base/font-chi.tex index 580f633b1..7a602d4ab 100644 --- a/tex/context/base/font-chi.tex +++ b/tex/context/base/font-chi.tex @@ -36,6 +36,7 @@ %M \def\WangLei{\purechinese{\uchar{205}{245}\uchar{192}{218}}} \useencoding[chi] +\loadmapfile[gbk] %D When \WangLei\ sent me a mail asking if \CONTEXT\ was able %D to support Chinese, I wasn't sure if the answer could be diff --git a/tex/context/base/font-ini.tex b/tex/context/base/font-ini.tex index aa1bafcc9..b2007ee31 100644 --- a/tex/context/base/font-ini.tex +++ b/tex/context/base/font-ini.tex @@ -874,13 +874,21 @@ \newif\ifsynchronizemathfonts \synchronizemathfontstrue \def\synchronizetext % stylish text in mmode - {\ifsynchronizemathfonts\the\textstrategies\fam\minusone\fi} + {\ifsynchronizemathfonts\the\textstrategies\fi} % \if...\fam\minusone\fi} \def\synchronizemath % math stuff in mmode - {\ifsynchronizemathfonts\the\mathstrategies\fam\minusone\fi} + {\ifsynchronizemathfonts\the\mathstrategies\fi} % \if...\fam\minusone\fi} \def\synchronizesymb % stylish math stuff in mmode - {\ifsynchronizemathfonts\the\symbstrategies\fam\minusone\fi} + {\ifsynchronizemathfonts\the\symbstrategies\fi} % \if...\fam\minusone\fi} + +%D By not setting the family we can append a font switch to \tyep +%D {\everymath}. On the other hand, one never knows in what family +%D state the strategies brought us. +%D +%D \starttyping +%D {\bfa $\the\fam$} {\bfa \everymath{} $\the\fam$} +%D \stoptyping %D \macros %D {textonly} diff --git a/tex/context/base/hand-def.tex b/tex/context/base/hand-def.tex index db87525ac..591370cda 100644 --- a/tex/context/base/hand-def.tex +++ b/tex/context/base/hand-def.tex @@ -524,6 +524,41 @@ \definefonthandling [noligs] [noligs] [\c!type=tag] +% experimental values ! +% +% \definefontsynonym[myfont][Serif][handling=prespacing] +% \definefont[whatever][myfont sa 1] +% \setupalign[spacing] +% +% \whatever look at this: we now have a proper spacing feature and, hurray, +% get rid of active punctuation! + +\startfonthandling [flexspacing] + + \definespacefactor : 0 1.25 .25 .25 + + \definespacefactor , 0 1 .25 .25 + \inheritspacefactor ; , + + \definespacefactor . 0 1.5 .25 .25 + \inheritspacefactor ! . + \inheritspacefactor ? . + +\stopfonthandling + +\definefonthandling[flexspacing][flexspacing][\c!type=\v!spacing] + +\startfonthandling [prespacing] % better name needed + + \definespacefactor : .25 .25 0 0 + \inheritspacefactor ; : + \inheritspacefactor ! : + \inheritspacefactor ? : + +\stopfonthandling + +\definefonthandling[prespacing][prespacing][\c!type=\v!spacing] % factor=.5 + % A special case of guillemots, beware: when used ungrouped, % it overloads all successive (current) encoding vector % instances! Will be obsolete soon. diff --git a/tex/context/base/hand-ini.tex b/tex/context/base/hand-ini.tex index 1d5f2da4e..588d635a9 100644 --- a/tex/context/base/hand-ini.tex +++ b/tex/context/base/hand-ini.tex @@ -73,6 +73,8 @@ \newif\ifskiphandlingdef \skiphandlingdeffalse +\newtoks\everyenablefonthandling + % much in common with hz/protruding defs % todo: fix others @@ -100,11 +102,45 @@ \let\char\normalchar}}% \fi} -\def\doinhsomehandling#1#2 #3 % +% \def\dosettriplethandling#1#2#3 #4 #5 #6 % no define since directly set +% {\ifskiphandlingdef \else +% \doifnumberelse{\string#2} +% {#1{#2#3}{#4}{#5}{#6}} +% {\doifelsenothing{#3} +% {#1{`#2}{#4}{#5}{#6}} +% {\let\char\empty +% \doifnumberelse{\csname#2#3\endcsname}{#1{\csname#2#3\endcsname}{#4}{#5}{#6}}\donothing +% \let\char\normalchar}}% +% \fi} + +\def\dosetquartethandling#1#2#3 #4 #5 #6 #7 % no define since directly set {\ifskiphandlingdef \else - \let\char\empty - \doifnumberelse{\csname#2\endcsname}{#1{\csname#2\endcsname}{`#3}}\donothing - \let\char\normalchar + \doifnumberelse{\string#2} + {#1{#2#3}{#4}{#5}{#6}{#7}} + {\doifelsenothing{#3} + {#1{`#2}{#4}{#5}{#6}{#7}} + {\let\char\empty + \doifnumberelse{\csname#2#3\endcsname}{#1{\csname#2#3\endcsname}{#4}{#5}{#6}{#7}}\donothing + \let\char\normalchar}}% + \fi} + + +% \def\doinhsomehandling#1#2 #3 % +% {\ifskiphandlingdef \else +% \let\char\empty +% \doifnumberelse{\csname#2\endcsname}{#1{\csname#2\endcsname}{`#3}}\donothing +% \let\char\normalchar +% \fi} + +\def\doinhsomehandling#1#2#3 #4 % to be checked + {\ifskiphandlingdef \else + \if#3\relax\relax + #1{`#2}{`#4}% + \else + \let\char\empty + \doifnumberelse{\csname#2#3\endcsname}{#1{\csname#2#3\endcsname}{`#4}}\donothing + \let\char\normalchar + \fi \fi} % adjustspacing @@ -178,6 +214,12 @@ \fontname\handledfont}} \fi +\ifx\setfontadjusting\gobbleoneargument \else + \appendtoks + \setfontadjusting\askedfonthandling + \to \everyenablefonthandling +\fi + % protruding \newif\ifembasedprotruding \embasedprotrudingfalse @@ -238,28 +280,28 @@ \newdimen\protrudethreshold \protrudethreshold=36pt -% keep this - -% \def\redodefineprotrudefactor#1% -% {\ifdim\fontdimen6\font>\protrudethreshold -% \divide\scratchdimen\fontdimen6\font -% \multiply\scratchdimen\fontcharwd\handledfont#1\relax -% \else -% \multiply\scratchdimen\fontcharwd\handledfont#1\relax -% \divide\scratchdimen\fontdimen6\font -% \fi} - -% \def\dododefineprotrudefactor#1#2#3% -% {\scratchdimen#2\lproddimen -% \ifembasedprotruding \else -% \redodefineprotrudefactor{#1}% -% \fi -% \lpcode\handledfont#1\scratchdimen -% \scratchdimen#3\rproddimen -% \ifembasedprotruding \else -% \redodefineprotrudefactor{#1}% -% \fi -% \rpcode\handledfont#1\scratchdimen} + % keep this + + % \def\redodefineprotrudefactor#1% + % {\ifdim\fontdimen6\font>\protrudethreshold + % \divide\scratchdimen\fontdimen6\font + % \multiply\scratchdimen\fontcharwd\handledfont#1\relax + % \else + % \multiply\scratchdimen\fontcharwd\handledfont#1\relax + % \divide\scratchdimen\fontdimen6\font + % \fi} + + % \def\dododefineprotrudefactor#1#2#3% + % {\scratchdimen#2\lproddimen + % \ifembasedprotruding \else + % \redodefineprotrudefactor{#1}% + % \fi + % \lpcode\handledfont#1\scratchdimen + % \scratchdimen#3\rproddimen + % \ifembasedprotruding \else + % \redodefineprotrudefactor{#1}% + % \fi + % \rpcode\handledfont#1\scratchdimen} \def\dododefineprotrudefactor#1#2#3% {\lpcode\handledfont#1\dimexpr#2\lproddimen @@ -328,6 +370,81 @@ \fi +\ifx\setprotrudingfactor\gobbleoneargument \else + \appendtoks + \setprotrudingfactor\askedfonthandling + \to \everyenablefonthandling +\fi + +% Basic support for a new pdftex feature: space factors +% +% \knbccode -- kern before char code +% \knbscode -- kern before space code +% \stbscode -- stretch before space code +% \shbscode -- shrink before space code +% +% Setting \knsbcode\font`\.=200 means that if a period sits before +% a interword space (glue), then the interword glue will be increased +% by an amount of 1em*200/1000, i.e. the value is given in thousandths +% of an em. (HTT) + +\newdimen\spfacdimen + +\ifx\undefined\pdfadjustinterwordglue % we don't use pdftex + + \let\enablespacehandling \relax + \let\disablespacehandling \relax + + \let\setspacehandling \gobbleoneargument + + \def\definespacefactor #1 #2 #3 #4 #5 {} + \def\inheritspacefactor #1 #2 {} + +\else + + \def\enablespacehandling {\pdfadjustinterwordglue\plusone } + \def\disablespacehandling{\pdfadjustinterwordglue\minusone} + + \appendtoks \disablespacehandling \to \everyforgetall % Here or not here? + + \def\dosetspacehandling#1% + {\spfacdimen\csname\@fha@\@fha@#1\c!factor\endcsname\s!pt + \multiply\spfacdimen\plusthousand\divide\spfacdimen\maxcard\relax} + + \def\setspacehandling#1% + {\doifvalue{\@fha@\@fha@#1\c!type}\v!spacing{\dosetspacehandling{#1}}} + + \def\dododefinespacefactor#1#2#3#4#5% + {\sfcode#1\plusthousand + \knbccode\handledfont#1\dimexpr#2\spfacdimen\relax + \knbscode\handledfont#1\dimexpr#3\spfacdimen\relax + \stbscode\handledfont#1\dimexpr#4\spfacdimen\relax + \shbscode\handledfont#1\dimexpr#5\spfacdimen\relax} + + \def\dodoinheritspacefactor#1#2% + {\sfcode#1\plusthousand + \knbccode\handledfont#1\knbccode\handledfont#2\relax + \knbscode\handledfont#1\knbscode\handledfont#2\relax + \stbscode\handledfont#1\stbscode\handledfont#2\relax + \shbscode\handledfont#1\shbscode\handledfont#2\relax} + + \def\definespacefactor#1 #2 #3 #4 #5 % + {\setfonttoks + \let\inherithandling\inheritspacefactor + \appendtoks\dosetquartethandling\dododefinespacefactor#1 #2 #3 #4 #5 \to\fonttoks} + + \def\inheritspacefactor#1 #2 % + {\setfonttoks + \appendtoks\doinhsomehandling\dodoinheritspacefactor#1 #2 \to\fonttoks} + +\fi + +\ifx\setspacehandling\gobbleoneargument \else + \appendtoks + \setspacehandling\askedfonthandling + \to \everyenablefonthandling +\fi + % font attributes \let\notagcode\minusone @@ -385,7 +502,13 @@ \def\dodefinefonthandling[#1][#2][#3]% {\ifthirdargument \setvalue{\@fha@\@fha@#1}{#2}% - \getparameters[\@fha@\@fha@#1][\c!type=\v!hanging,\c!left=1,\c!right=1,\c!min=20,\c!max=20,\c!step=5,#3]% + \getparameters + [\@fha@\@fha@#1] + [\c!type=\v!hanging,% + \c!left=1,\c!right=1,% + \c!min=20,\c!max=20,\c!step=5,% + \c!factor=1,% + #3]% \else \setvalue{\@fha@\@fha@\@fha@#1}{#2}% \fi} @@ -450,20 +573,6 @@ \endETEX -\newtoks\everyenablefonthandling - -\ifx\setprotrudingfactor\gobbleoneargument \else - \appendtoks - \setprotrudingfactor\askedfonthandling - \to \everyenablefonthandling -\fi - -\ifx\setfontadjusting\gobbleoneargument \else - \appendtoks - \setfontadjusting\askedfonthandling - \to \everyenablefonthandling -\fi - \def\redofastenablehandling {\edef\fonthandling{\csname\@fha@\@fha@\@fha@\askedfonthandling\endcsname}% \rawprocesscommacommand[\fonthandling]\xfastenablehandling} diff --git a/tex/context/base/mult-con.tex b/tex/context/base/mult-con.tex index 201dd1082..80fb85c31 100644 --- a/tex/context/base/mult-con.tex +++ b/tex/context/base/mult-con.tex @@ -1039,6 +1039,9 @@ keyexpansion: sleutelexpansie keyexpansion pagenumber: paginanummer pagenumber seitennummer cislostranky numeropagina numarpagina + headnumber: kopnummer headnumber + kopfnummer cislonadpisu + numerotesta numartitlu pageboundaries: paginaovergangen pageboundaries seitenbegrenzung hranicestranky limitipagina marginipagina @@ -1701,6 +1704,12 @@ textlayer: tekstlaag textlayer hanging: hangend hanging haengend visici sospeso suspendat + spacing: spatiering spacing + spatiumausgleich mezerovani + spaziatura spatiere + nospacing: geenspatiering nospacing + nospacing nospacing + nospacing nospacing repeat: herhaal repeat wiederholen opakovat ripeti repetat diff --git a/tex/context/base/sort-def.tex b/tex/context/base/sort-def.tex index 04ce50681..e2496f196 100644 --- a/tex/context/base/sort-def.tex +++ b/tex/context/base/sort-def.tex @@ -349,4 +349,99 @@ \exportsortexpansion{dcroat} {dstroke} \exportsortexpansion{Dcroat} {Dstroke} +% more + +\exportsortshortcut{\^ A} {\Acircumflex} \exportsortshortcut{\^ a} {\acircumflex} +\exportsortshortcut{\^ C} {\Ccircumflex} \exportsortshortcut{\^ c} {\ccircumflex} +\exportsortshortcut{\^ E} {\Ecircumflex} \exportsortshortcut{\^ e} {\ecircumflex} +\exportsortshortcut{\^ G} {\Gcircumflex} \exportsortshortcut{\^ g} {\gcircumflex} +\exportsortshortcut{\^ H} {\Hcircumflex} \exportsortshortcut{\^ h} {\hcircumflex} +\exportsortshortcut{\^ I} {\Icircumflex} \exportsortshortcut{\^ i} {\icircumflex} \exportsortshortcut{\^\i} {\icircumflex} +\exportsortshortcut{\^ J} {\Jcircumflex} \exportsortshortcut{\^ j} {\jcircumflex} \exportsortshortcut{\^\j} {\jcircumflex} +\exportsortshortcut{\^ O} {\Ocircumflex} \exportsortshortcut{\^ o} {\ocircumflex} +\exportsortshortcut{\^ S} {\Scircumflex} \exportsortshortcut{\^ s} {\scircumflex} +\exportsortshortcut{\^ U} {\Ucircumflex} \exportsortshortcut{\^ u} {\ucircumflex} +\exportsortshortcut{\^ W} {\Wcircumflex} \exportsortshortcut{\^ w} {\wcircumflex} +\exportsortshortcut{\^ Y} {\Ycircumflex} \exportsortshortcut{\^ y} {\ycircumflex} + +\exportsortshortcut{\` A} {\Agrave} \exportsortshortcut{\` a} {\agrave} +\exportsortshortcut{\` E} {\Egrave} \exportsortshortcut{\` e} {\egrave} +\exportsortshortcut{\` I} {\Igrave} \exportsortshortcut{\` i} {\igrave} \exportsortshortcut{\`\i} {\igrave} +\exportsortshortcut{\` O} {\Ograve} \exportsortshortcut{\` o} {\ograve} +\exportsortshortcut{\` U} {\Ugrave} \exportsortshortcut{\` u} {\ugrave} +\exportsortshortcut{\` Y} {\Ygrave} \exportsortshortcut{\` y} {\ygrave} + +\exportsortshortcut{\~ A} {\Atilde} \exportsortshortcut{\~ a} {\atilde} +\exportsortshortcut{\~ I} {\Itilde} \exportsortshortcut{\~ i} {\itilde} \exportsortshortcut{\~\i} {\itilde} +\exportsortshortcut{\~ O} {\Otilde} \exportsortshortcut{\~ o} {\otilde} +\exportsortshortcut{\~ U} {\Utilde} \exportsortshortcut{\~ u} {\utilde} + +\exportsortshortcut{\" A} {\Adiaeresis} \exportsortshortcut{\" a} {\adiaeresis} +\exportsortshortcut{\" E} {\Ediaeresis} \exportsortshortcut{\" e} {\ediaeresis} +\exportsortshortcut{\" I} {\Idiaeresis} \exportsortshortcut{\" i} {\idiaeresis} \exportsortshortcut{\"\i} {\idiaeresis} +\exportsortshortcut{\" O} {\Odiaeresis} \exportsortshortcut{\" o} {\odiaeresis} +\exportsortshortcut{\" U} {\Udiaeresis} \exportsortshortcut{\" u} {\udiaeresis} +\exportsortshortcut{\" Y} {\Ydiaeresis} \exportsortshortcut{\" y} {\ydiaeresis} + +\exportsortshortcut{\' A} {\Aacute} \exportsortshortcut{\' a} {\aacute} +\exportsortshortcut{\' C} {\Cacute} \exportsortshortcut{\' c} {\cacute} +\exportsortshortcut{\' E} {\Eacute} \exportsortshortcut{\' e} {\eacute} +\exportsortshortcut{\' I} {\Iacute} \exportsortshortcut{\' i} {\iacute} \exportsortshortcut{\'\i} {\iacute} +\exportsortshortcut{\' L} {\Lacute} \exportsortshortcut{\' l} {\lacute} +\exportsortshortcut{\' N} {\Nacute} \exportsortshortcut{\' n} {\nacute} +\exportsortshortcut{\' O} {\Oacute} \exportsortshortcut{\' o} {\oacute} +\exportsortshortcut{\' R} {\Racute} \exportsortshortcut{\' r} {\racute} +\exportsortshortcut{\' S} {\Sacute} \exportsortshortcut{\' s} {\sacute} +\exportsortshortcut{\' U} {\Uacute} \exportsortshortcut{\' u} {\uacute} +\exportsortshortcut{\' Y} {\Yacute} \exportsortshortcut{\' y} {\yacute} +\exportsortshortcut{\' Z} {\Zacute} \exportsortshortcut{\' z} {\zacute} + +\exportsortshortcut{\. C} {\Cdotaccent} \exportsortshortcut{\. c} {\cdotaccent} +\exportsortshortcut{\. E} {\Edotaccent} \exportsortshortcut{\. e} {\edotaccent} +\exportsortshortcut{\. G} {\Gdotaccent} \exportsortshortcut{\. g} {\gdotaccent} +\exportsortshortcut{\. I} {\Idotaccent} \exportsortshortcut{\. i} {\idotaccent} \exportsortshortcut{\.\i} {\idotaccent} +\exportsortshortcut{\. Z} {\Zdotaccent} \exportsortshortcut{\. z} {\zdotaccent} + +\exportsortshortcut{\= A} {\Amacron} \exportsortshortcut{\= a} {\amacron} +\exportsortshortcut{\= E} {\Emacron} \exportsortshortcut{\= e} {\emacron} +\exportsortshortcut{\= I} {\Imacron} \exportsortshortcut{\= i} {\imacron} \exportsortshortcut{\=\i} {\imacron} +\exportsortshortcut{\= O} {\Omacron} \exportsortshortcut{\= o} {\omacron} +\exportsortshortcut{\= U} {\Umacron} \exportsortshortcut{\= u} {\umacron} + +\exportsortshortcut{\c C} {\Ccedilla} \exportsortshortcut{\c c} {\ccedilla} +\exportsortshortcut{\c K} {\Kcedilla} \exportsortshortcut{\c k} {\kcedilla} +\exportsortshortcut{\c L} {\Lcedilla} \exportsortshortcut{\c l} {\lcedilla} +\exportsortshortcut{\c N} {\Ncedilla} \exportsortshortcut{\c n} {\ncedilla} +\exportsortshortcut{\c R} {\Rcedilla} \exportsortshortcut{\c r} {\rcedilla} +\exportsortshortcut{\c S} {\Scedilla} \exportsortshortcut{\c s} {\scedilla} +\exportsortshortcut{\c T} {\Tcedilla} \exportsortshortcut{\c t} {\tcedilla} + +\exportsortshortcut{\H O} {\Ohungarumlaut} \exportsortshortcut{\H o} {\ohungarumlaut} +\exportsortshortcut{\H u} {\uhungarumlaut} \exportsortshortcut{\H U} {\Uhungarumlaut} + +\exportsortshortcut{\k A} {\Aogonek} \exportsortshortcut{\k a} {\aogonek} +\exportsortshortcut{\k E} {\Eogonek} \exportsortshortcut{\k e} {\eogonek} +\exportsortshortcut{\k I} {\Iogonek} \exportsortshortcut{\k i} {\iogonek} +\exportsortshortcut{\k U} {\Uogonek} \exportsortshortcut{\k u} {\uogonek} + +\exportsortshortcut{\r A} {\Aring} \exportsortshortcut{\r a} {\aring} +\exportsortshortcut{\r U} {\Uring} \exportsortshortcut{\r u} {\uring} + +\exportsortshortcut{\u A} {\Abreve} \exportsortshortcut{\u a} {\abreve} +\exportsortshortcut{\u E} {\Ebreve} \exportsortshortcut{\u e} {\ebreve} +\exportsortshortcut{\u G} {\Gbreve} \exportsortshortcut{\u g} {\gbreve} +\exportsortshortcut{\u I} {\Ibreve} \exportsortshortcut{\u i} {\ibreve} \exportsortshortcut{\u\i} {\ibreve} +\exportsortshortcut{\u O} {\Obreve} \exportsortshortcut{\u o} {\obreve} +\exportsortshortcut{\u U} {\Ubreve} \exportsortshortcut{\u u} {\ubreve} + +\exportsortshortcut{\v C} {\Ccaron} \exportsortshortcut{\v c} {\ccaron} +\exportsortshortcut{\v D} {\Dcaron} \exportsortshortcut{\v d} {\dcaron} +\exportsortshortcut{\v E} {\Ecaron} \exportsortshortcut{\v e} {\ecaron} +\exportsortshortcut{\v L} {\Lcaron} \exportsortshortcut{\v l} {\lcaron} +\exportsortshortcut{\v N} {\Ncaron} \exportsortshortcut{\v n} {\ncaron} +\exportsortshortcut{\v R} {\Rcaron} \exportsortshortcut{\v r} {\rcaron} +\exportsortshortcut{\v S} {\Scaron} \exportsortshortcut{\v s} {\scaron} +\exportsortshortcut{\v T} {\Tcaron} \exportsortshortcut{\v t} {\tcaron} +\exportsortshortcut{\v Z} {\Zcaron} \exportsortshortcut{\v z} {\zcaron} + \endinput diff --git a/tex/context/base/sort-lan.tex b/tex/context/base/sort-lan.tex index c4489b1ff..60b0699ac 100644 --- a/tex/context/base/sort-lan.tex +++ b/tex/context/base/sort-lan.tex @@ -96,12 +96,11 @@ % czech % -% +% a-c ccaron d- -\startmode[sortorder-no,sortorder-da] - \exportsortreduction{ch}{c} +\startmode[sortorder-cz] + \exportsortrule {ccaron} {c+1} + \exportsortreduction {ch} {c} \stopmode - - \endinput diff --git a/tex/context/base/spec-fdf.tex b/tex/context/base/spec-fdf.tex index 7bd1c3277..853dbb678 100644 --- a/tex/context/base/spec-fdf.tex +++ b/tex/context/base/spec-fdf.tex @@ -33,7 +33,7 @@ \unprotect %D \macros -%D {\PDFobjref} +%D {PDFobjref} %D %D Just a shortcut. diff --git a/tex/context/base/supp-lan.tex b/tex/context/base/supp-lan.tex index bd3ac9224..ebb47424c 100644 --- a/tex/context/base/supp-lan.tex +++ b/tex/context/base/supp-lan.tex @@ -715,7 +715,7 @@ \def\activedododotextmodediscretionary#1#2% {\convertargument#2\to\discretionarytoken - \def\textmodediscretionary% + \def\textmodediscretionary {\getvalue{\strippedcsname\textmodediscretionary\string#1}}% \ifx#1\nextnext % takes care of ||| and +++ and ...... \prewordbreak\discretionary{\hbox{$#1$}}{}{\hbox{$#1$}}% @@ -823,8 +823,9 @@ {\prewordbreak\discretionary{-}{}{\thinspace}\postwordbreak} \definetextmodediscretionary _ - {\prewordbreak\discretionary{\textmodediscretionary} - {\textmodediscretionary}{\textmodediscretionary}\prewordbreak} + {\prewordbreak + \discretionary{\compoundhyphen}{\compoundhyphen}{\compoundhyphen}% + \prewordbreak} \definetextmodediscretionary ( {\ifdim\lastskip>\zeropoint diff --git a/tex/context/base/supp-pdf.tex b/tex/context/base/supp-pdf.tex index dff57957a..b40a699f2 100644 --- a/tex/context/base/supp-pdf.tex +++ b/tex/context/base/supp-pdf.tex @@ -1103,7 +1103,7 @@ %D %D The last case outputs a \type{gsave fill grestore} before %D \type{stroke}. Handling the path outside the main loops -%D saves about 40\% run time.\footnoot{We can save some more by +%D saves about 40\% run time.\footnote{We can save some more by %D following the \METAPOST\ output routine, but for the moment %D we keep things simple.} Switching between the main loop and %D the path loop is done by means of the recursely called @@ -1241,7 +1241,7 @@ %D The transformation code is rewritten by Daniel H. Luecking who %D describes his patch as follows: %D -%D We would like to divide 1 by $X4, but all divisions are integer so +%D We would like to divide 1 by $X$, but all divisions are integer so %D for accuracy we want to convert to large integers and make sure the %D integer quotient has as many significant digits as possible. Thus we %D need to replace $1/X$ with $M/N$ where $N$ is as large as possible @@ -1250,7 +1250,7 @@ %D largest legal integer. Using it (and simply ignoring the inaccuracy %D caused by $-1$) turns out to be at least as accurate in all cases, %D and more accurate in some.} (largest legal power of 2) and adjust -%D $X4 downward (if necessary) to the the range $1-2^{16}$. This gives +%D $X$ downward (if necessary) to the the range $1-2^{16}$. This gives %D at least 15 significant binary digits, (almost as accurate as %D \METAPOST\ for numbers near 1) or almost 5 significant figures %D (decimal). @@ -1276,7 +1276,7 @@ %D is the right way to do $(1 \hbox{pt})/(X \hbox{pt})$ and get the %D answer in points. But we are limited to $2^{30}/X$. However, we %D actually do $[ 2^{30} / (X/2^K) ]*2^{2-K}$ where $K$ is the number -%D of halvings it takes to bring $X4 below $1 \hbox{pt}$. If $K$ is 0 +%D of halvings it takes to bring $X$ below $1 \hbox{pt}$. If $K$ is 0 %D or 1 we readjust by multiplying by 4 or 2, otherwise by halving %D $(K-2)$ times \type {\MPscratchCnt} holds the value of $K$ from %D \type {\MPadjustdimen}. @@ -1608,7 +1608,7 @@ %OLD \edef#2{\withoutpt\the\dimen18}% % p_x^\prime %OLD \edef#4{\withoutpt\the\dimen12}} % p_y^\prime -%D DHL: Ideally, $r_x$, $r_y$, $s_x4, $s_y$ should be in macros, not +%D DHL: Ideally, $r_x$, $r_y$, $s_x$, $s_y$ should be in macros, not %D dimensions (they are scalar quantities after all, not lengths). I %D suppose the authors decided to do calculations with integer %D arithmetic instead of using real factors because it's faster. diff --git a/tex/context/base/type-syn.tex b/tex/context/base/type-syn.tex index 894812d9c..16d0c0a83 100644 --- a/tex/context/base/type-syn.tex +++ b/tex/context/base/type-syn.tex @@ -98,7 +98,7 @@ \definefontsynonym [MathSymbolBold] [ComputerModernMath-Symbol-Bold] \stoptypescript -\starttypescript [serif] [modern,computer-modern-vari,latin-modern-vari] [name] +\starttypescript [serif] [modern-vari,computer-modern-vari,latin-modern-vari] [name] \definefontsynonym [Serif] [ComputerModernMono-Variable] \definefontsynonym [SerifBold] [Serif] \definefontsynonym [SerifItalic] [Serif] diff --git a/tex/context/base/x-res-01.tex b/tex/context/base/x-res-01.tex index 181641332..82c1116de 100644 --- a/tex/context/base/x-res-01.tex +++ b/tex/context/base/x-res-01.tex @@ -302,8 +302,8 @@ [section] [style=bfb] -\setupbodyfont - [pos] +% \setupbodyfont +% [pos] \setupinteractionmenu [bottom] diff --git a/tex/context/interface/cont-cz.xml b/tex/context/interface/cont-cz.xml index 7929f1075..44e402edc 100644 --- a/tex/context/interface/cont-cz.xml +++ b/tex/context/interface/cont-cz.xml @@ -5019,7 +5019,7 @@ <cd:constant type="ano"/> <cd:constant type="ne"/> </cd:parameter> - <cd:parameter name="cislooddilu"> + <cd:parameter name="cislonadpisu"> <cd:constant type="ano"/> <cd:constant type="ne"/> </cd:parameter> diff --git a/tex/context/interface/cont-de.xml b/tex/context/interface/cont-de.xml index 0247fdefb..21f47dd37 100644 --- a/tex/context/interface/cont-de.xml +++ b/tex/context/interface/cont-de.xml @@ -5019,7 +5019,7 @@ <cd:constant type="ja"/> <cd:constant type="nein"/> </cd:parameter> - <cd:parameter name="abschnittsnummer"> + <cd:parameter name="kopfnummer"> <cd:constant type="ja"/> <cd:constant type="nein"/> </cd:parameter> diff --git a/tex/context/interface/cont-en.xml b/tex/context/interface/cont-en.xml index 33a6f8917..99caedfc4 100644 --- a/tex/context/interface/cont-en.xml +++ b/tex/context/interface/cont-en.xml @@ -5019,7 +5019,7 @@ <cd:constant type="yes"/> <cd:constant type="no"/> </cd:parameter> - <cd:parameter name="sectionnumber"> + <cd:parameter name="headnumber"> <cd:constant type="yes"/> <cd:constant type="no"/> </cd:parameter> diff --git a/tex/context/interface/cont-it.xml b/tex/context/interface/cont-it.xml index c1e9f3ec1..92bb4881e 100644 --- a/tex/context/interface/cont-it.xml +++ b/tex/context/interface/cont-it.xml @@ -5019,7 +5019,7 @@ <cd:constant type="si"/> <cd:constant type="no"/> </cd:parameter> - <cd:parameter name="numerosezione"> + <cd:parameter name="numerotesta"> <cd:constant type="si"/> <cd:constant type="no"/> </cd:parameter> diff --git a/tex/context/interface/cont-nl.xml b/tex/context/interface/cont-nl.xml index cbb842a78..3a4cd05ee 100644 --- a/tex/context/interface/cont-nl.xml +++ b/tex/context/interface/cont-nl.xml @@ -5019,7 +5019,7 @@ <cd:constant type="ja"/> <cd:constant type="nee"/> </cd:parameter> - <cd:parameter name="sectienummer"> + <cd:parameter name="kopnummer"> <cd:constant type="ja"/> <cd:constant type="nee"/> </cd:parameter> diff --git a/tex/context/interface/cont-ro.xml b/tex/context/interface/cont-ro.xml index ff05e0543..5c1415d46 100644 --- a/tex/context/interface/cont-ro.xml +++ b/tex/context/interface/cont-ro.xml @@ -5019,7 +5019,7 @@ <cd:constant type="da"/> <cd:constant type="nu"/> </cd:parameter> - <cd:parameter name="numarsectiune"> + <cd:parameter name="numartitlu"> <cd:constant type="da"/> <cd:constant type="nu"/> </cd:parameter> diff --git a/tex/context/interface/keys-cz.xml b/tex/context/interface/keys-cz.xml index f8748f148..483dba76f 100644 --- a/tex/context/interface/keys-cz.xml +++ b/tex/context/interface/keys-cz.xml @@ -1,6 +1,6 @@ <?xml version="1.0"?> -<cd:interface xmlns:cd="http://www.pragma-ade.com/commands" name="context" language="cz" version="2005.08.15"> +<cd:interface xmlns:cd="http://www.pragma-ade.com/commands" name="context" language="cz" version="2005.08.19"> <cd:variables> <cd:variable name="one" value="jedna"/> @@ -327,6 +327,7 @@ <cd:constant name="pagecolor" value="barvastranky"/> <cd:constant name="pagestyle" value="stylstranky"/> <cd:constant name="pagenumber" value="cislostranky"/> + <cd:constant name="headnumber" value="cislonadpisu"/> <cd:constant name="pageboundaries" value="hranicestranky"/> <cd:constant name="pagestate" value="pagestate"/> <cd:constant name="palet" value="paleta"/> @@ -543,6 +544,8 @@ <cd:variable name="halfline" value="pulradku"/> <cd:variable name="keep" value="drzet"/> <cd:variable name="hanging" value="visici"/> + <cd:variable name="spacing" value="mezerovani"/> + <cd:variable name="nospacing" value="nospacing"/> <cd:variable name="repeat" value="opakovat"/> <cd:variable name="fix" value="fixuj"/> <cd:variable name="here" value="zde"/> diff --git a/tex/context/interface/keys-de.xml b/tex/context/interface/keys-de.xml index 43c6f0838..a8e7e8851 100644 --- a/tex/context/interface/keys-de.xml +++ b/tex/context/interface/keys-de.xml @@ -1,6 +1,6 @@ <?xml version="1.0"?> -<cd:interface xmlns:cd="http://www.pragma-ade.com/commands" name="context" language="de" version="2005.08.15"> +<cd:interface xmlns:cd="http://www.pragma-ade.com/commands" name="context" language="de" version="2005.08.19"> <cd:variables> <cd:variable name="one" value="eins"/> @@ -327,6 +327,7 @@ <cd:constant name="pagecolor" value="seitenfarbe"/> <cd:constant name="pagestyle" value="seitenstil"/> <cd:constant name="pagenumber" value="seitennummer"/> + <cd:constant name="headnumber" value="kopfnummer"/> <cd:constant name="pageboundaries" value="seitenbegrenzung"/> <cd:constant name="pagestate" value="pagestate"/> <cd:constant name="palet" value="palette"/> @@ -543,6 +544,8 @@ <cd:variable name="halfline" value="halbezeile"/> <cd:variable name="keep" value="behalte"/> <cd:variable name="hanging" value="haengend"/> + <cd:variable name="spacing" value="spatiumausgleich"/> + <cd:variable name="nospacing" value="nospacing"/> <cd:variable name="repeat" value="wiederholen"/> <cd:variable name="fix" value="stellewiederher"/> <cd:variable name="here" value="hier"/> diff --git a/tex/context/interface/keys-en.xml b/tex/context/interface/keys-en.xml index 8bbc01db4..7f9439fe3 100644 --- a/tex/context/interface/keys-en.xml +++ b/tex/context/interface/keys-en.xml @@ -1,6 +1,6 @@ <?xml version="1.0"?> -<cd:interface xmlns:cd="http://www.pragma-ade.com/commands" name="context" language="en" version="2005.08.15"> +<cd:interface xmlns:cd="http://www.pragma-ade.com/commands" name="context" language="en" version="2005.08.19"> <cd:variables> <cd:variable name="one" value="one"/> @@ -327,6 +327,7 @@ <cd:constant name="pagecolor" value="pagecolor"/> <cd:constant name="pagestyle" value="pagestyle"/> <cd:constant name="pagenumber" value="pagenumber"/> + <cd:constant name="headnumber" value="headnumber"/> <cd:constant name="pageboundaries" value="pageboundaries"/> <cd:constant name="pagestate" value="pagestate"/> <cd:constant name="palet" value="palet"/> @@ -543,6 +544,8 @@ <cd:variable name="halfline" value="halfline"/> <cd:variable name="keep" value="keep"/> <cd:variable name="hanging" value="hanging"/> + <cd:variable name="spacing" value="spacing"/> + <cd:variable name="nospacing" value="nospacing"/> <cd:variable name="repeat" value="repeat"/> <cd:variable name="fix" value="fix"/> <cd:variable name="here" value="here"/> diff --git a/tex/context/interface/keys-it.xml b/tex/context/interface/keys-it.xml index c0ed7a5fd..7790cefc4 100644 --- a/tex/context/interface/keys-it.xml +++ b/tex/context/interface/keys-it.xml @@ -1,6 +1,6 @@ <?xml version="1.0"?> -<cd:interface xmlns:cd="http://www.pragma-ade.com/commands" name="context" language="it" version="2005.08.15"> +<cd:interface xmlns:cd="http://www.pragma-ade.com/commands" name="context" language="it" version="2005.08.19"> <cd:variables> <cd:variable name="one" value="uno"/> @@ -327,6 +327,7 @@ <cd:constant name="pagecolor" value="colorepagina"/> <cd:constant name="pagestyle" value="stilepagina"/> <cd:constant name="pagenumber" value="numeropagina"/> + <cd:constant name="headnumber" value="numerotesta"/> <cd:constant name="pageboundaries" value="limitipagina"/> <cd:constant name="pagestate" value="statopagina"/> <cd:constant name="palet" value="tavolozza"/> @@ -543,6 +544,8 @@ <cd:variable name="halfline" value="mezzariga"/> <cd:variable name="keep" value="mantieni"/> <cd:variable name="hanging" value="sospeso"/> + <cd:variable name="spacing" value="spaziatura"/> + <cd:variable name="nospacing" value="nospacing"/> <cd:variable name="repeat" value="ripeti"/> <cd:variable name="fix" value="fisso"/> <cd:variable name="here" value="qui"/> diff --git a/tex/context/interface/keys-nl.xml b/tex/context/interface/keys-nl.xml index 04c956b1a..b396316ed 100644 --- a/tex/context/interface/keys-nl.xml +++ b/tex/context/interface/keys-nl.xml @@ -1,6 +1,6 @@ <?xml version="1.0"?> -<cd:interface xmlns:cd="http://www.pragma-ade.com/commands" name="context" language="nl" version="2005.08.15"> +<cd:interface xmlns:cd="http://www.pragma-ade.com/commands" name="context" language="nl" version="2005.08.19"> <cd:variables> <cd:variable name="one" value="een"/> @@ -327,6 +327,7 @@ <cd:constant name="pagecolor" value="paginakleur"/> <cd:constant name="pagestyle" value="paginaletter"/> <cd:constant name="pagenumber" value="paginanummer"/> + <cd:constant name="headnumber" value="kopnummer"/> <cd:constant name="pageboundaries" value="paginaovergangen"/> <cd:constant name="pagestate" value="paginastatus"/> <cd:constant name="palet" value="palet"/> @@ -543,6 +544,8 @@ <cd:variable name="halfline" value="halveregel"/> <cd:variable name="keep" value="handhaaf"/> <cd:variable name="hanging" value="hangend"/> + <cd:variable name="spacing" value="spatiering"/> + <cd:variable name="nospacing" value="geenspatiering"/> <cd:variable name="repeat" value="herhaal"/> <cd:variable name="fix" value="herstel"/> <cd:variable name="here" value="hier"/> diff --git a/tex/context/interface/keys-ro.xml b/tex/context/interface/keys-ro.xml index 7fdf9898f..b237b3be2 100644 --- a/tex/context/interface/keys-ro.xml +++ b/tex/context/interface/keys-ro.xml @@ -1,6 +1,6 @@ <?xml version="1.0"?> -<cd:interface xmlns:cd="http://www.pragma-ade.com/commands" name="context" language="ro" version="2005.08.15"> +<cd:interface xmlns:cd="http://www.pragma-ade.com/commands" name="context" language="ro" version="2005.08.19"> <cd:variables> <cd:variable name="one" value="unu"/> @@ -327,6 +327,7 @@ <cd:constant name="pagecolor" value="culoarepagina"/> <cd:constant name="pagestyle" value="stilpagina"/> <cd:constant name="pagenumber" value="numarpagina"/> + <cd:constant name="headnumber" value="numartitlu"/> <cd:constant name="pageboundaries" value="marginipagina"/> <cd:constant name="pagestate" value="pagestate"/> <cd:constant name="palet" value="paleta"/> @@ -543,6 +544,8 @@ <cd:variable name="halfline" value="jumatatelinie"/> <cd:variable name="keep" value="mentine"/> <cd:variable name="hanging" value="suspendat"/> + <cd:variable name="spacing" value="spatiere"/> + <cd:variable name="nospacing" value="nospacing"/> <cd:variable name="repeat" value="repetat"/> <cd:variable name="fix" value="fix"/> <cd:variable name="here" value="aici"/> diff --git a/tex/context/patterns/lang-hr.pat b/tex/context/patterns/lang-hr.pat index cfb9656c7..6355a5a8d 100644 --- a/tex/context/patterns/lang-hr.pat +++ b/tex/context/patterns/lang-hr.pat @@ -5,9 +5,9 @@ % begin description data % <!-- copied from lang-all.xml -% +% % <?xml version='1.0' standalone='yes'?> -% +% % <description language='hr'> % <sourcefile> hrhyph.tex</sourcefile> % <title>TeX hyphenation patterns for the Croatian language</title> @@ -16,7 +16,7 @@ % <owner>Marinovi\'c Igor (migor@student.math.hr)</owner> % </copyright> % </description> -% +% % end of copy --> % end description data @@ -79,11 +79,11 @@ a1d[zcaron]e a1d[zcaron]i a1d[zcaron]o a1d[zcaron]u -a1[dmacron]a -a1[dmacron]e -a1[dmacron]i -a1[dmacron]o -a1[dmacron]u +a1[dstroke]a +a1[dstroke]e +a1[dstroke]i +a1[dstroke]o +a1[dstroke]u a1fa a1fe a1fi @@ -204,11 +204,11 @@ e1d[zcaron]e e1d[zcaron]i e1d[zcaron]o e1d[zcaron]u -e1[dmacron]a -e1[dmacron]e -e1[dmacron]i -e1[dmacron]o -e1[dmacron]u +e1[dstroke]a +e1[dstroke]e +e1[dstroke]i +e1[dstroke]o +e1[dstroke]u e1fa e1fe e1fi @@ -329,11 +329,11 @@ i1d[zcaron]e i1d[zcaron]i i1d[zcaron]o i1d[zcaron]u -i1[dmacron]a -i1[dmacron]e -i1[dmacron]i -i1[dmacron]o -i1[dmacron]u +i1[dstroke]a +i1[dstroke]e +i1[dstroke]i +i1[dstroke]o +i1[dstroke]u i1fa i1fe i1fi @@ -454,11 +454,11 @@ o1d[zcaron]e o1d[zcaron]i o1d[zcaron]o o1d[zcaron]u -o1[dmacron]a -o1[dmacron]e -o1[dmacron]i -o1[dmacron]o -o1[dmacron]u +o1[dstroke]a +o1[dstroke]e +o1[dstroke]i +o1[dstroke]o +o1[dstroke]u o1fa o1fe o1fi @@ -579,11 +579,11 @@ u1d[zcaron]e u1d[zcaron]i u1d[zcaron]o u1d[zcaron]u -u1[dmacron]a -u1[dmacron]e -u1[dmacron]i -u1[dmacron]o -u1[dmacron]u +u1[dstroke]a +u1[dstroke]e +u1[dstroke]i +u1[dstroke]o +u1[dstroke]u u1fa u1fe u1fi @@ -680,7 +680,7 @@ b1[ccaron] b1[cacute] b1d b1d[zcaron] -b1[dmacron] +b1[dstroke] b1f b1g b1h @@ -709,7 +709,7 @@ c1[ccaron] c1[cacute] c1d c1d[zcaron] -c1[dmacron] +c1[dstroke] c1f c1g c1h @@ -738,7 +738,7 @@ c1[zcaron] [ccaron]1[cacute] [ccaron]1d [ccaron]1d[zcaron] -[ccaron]1[dmacron] +[ccaron]1[dstroke] [ccaron]1f [ccaron]1g [ccaron]1h @@ -767,7 +767,7 @@ c1[zcaron] [cacute]1[cacute] [cacute]1d [cacute]1d[zcaron] -[cacute]1[dmacron] +[cacute]1[dstroke] [cacute]1f [cacute]1g [cacute]1h @@ -795,7 +795,7 @@ d1[ccaron] d1[cacute] d1d d2[zcaron] -d1[dmacron] +d1[dstroke] d1f 2d1g d1h @@ -822,7 +822,7 @@ d[zcaron]1[ccaron] d[zcaron]1[cacute] d[zcaron]1d d[zcaron]1d[zcaron] -d[zcaron]1[dmacron] +d[zcaron]1[dstroke] d[zcaron]1f d[zcaron]1g d[zcaron]1h @@ -845,42 +845,42 @@ d[zcaron]1t 2d[zcaron]v. d[zcaron]1z d[zcaron]1[zcaron] -[dmacron]1b -[dmacron]1c -[dmacron]1[ccaron] -[dmacron]1[cacute] -[dmacron]1d -[dmacron]1d[zcaron] -[dmacron]1[dmacron] -[dmacron]1f -[dmacron]1g -[dmacron]1h -1[dmacron]j -2[dmacron]j. -[dmacron]1k -1[dmacron]l -2[dmacron]l. -2[dmacron]1lj -[dmacron]1m -[dmacron]1n -[dmacron]1nj -[dmacron]1p -1[dmacron]r -2[dmacron]r. -[dmacron]1s -[dmacron]1[scaron] -[dmacron]1t -1[dmacron]v -2[dmacron]v. -[dmacron]1z -[dmacron]1[zcaron] +[dstroke]1b +[dstroke]1c +[dstroke]1[ccaron] +[dstroke]1[cacute] +[dstroke]1d +[dstroke]1d[zcaron] +[dstroke]1[dstroke] +[dstroke]1f +[dstroke]1g +[dstroke]1h +1[dstroke]j +2[dstroke]j. +[dstroke]1k +1[dstroke]l +2[dstroke]l. +2[dstroke]1lj +[dstroke]1m +[dstroke]1n +[dstroke]1nj +[dstroke]1p +1[dstroke]r +2[dstroke]r. +[dstroke]1s +[dstroke]1[scaron] +[dstroke]1t +1[dstroke]v +2[dstroke]v. +[dstroke]1z +[dstroke]1[zcaron] f1b f1c f1[ccaron] f1[cacute] f1d f1d[zcaron] -f1[dmacron] +f1[dstroke] f1f f1g f1h @@ -909,7 +909,7 @@ g1[ccaron] g1[cacute] g1d g1d[zcaron] -g1[dmacron] +g1[dstroke] g1f g1g g1h @@ -938,7 +938,7 @@ h1[ccaron] h1[cacute] h1d h1d[zcaron] -h1[dmacron] +h1[dstroke] h1f h1g h1h @@ -967,7 +967,7 @@ j1[ccaron] j1[cacute] j1d j1d[zcaron] -j1[dmacron] +j1[dstroke] j1f j1g j1h @@ -992,7 +992,7 @@ k1[ccaron] k1[cacute] k1d k1d[zcaron] -k1[dmacron] +k1[dstroke] k1f k1g k1h @@ -1020,7 +1020,7 @@ l1[ccaron] l1[cacute] l1d l1d[zcaron] -l1[dmacron] +l1[dstroke] l1f l1g l1h @@ -1044,7 +1044,7 @@ lj1[ccaron] lj1[cacute] lj1d lj1d[zcaron] -lj1[dmacron] +lj1[dstroke] lj1f lj1g lj1h @@ -1071,7 +1071,7 @@ m1[ccaron] m1[cacute] m1d m1d[zcaron] -m1[dmacron] +m1[dstroke] m1f m1g m1h @@ -1100,7 +1100,7 @@ n1[ccaron] n1[cacute] n1d n1d[zcaron] -n1[dmacron] +n1[dstroke] n1f n1g n1h @@ -1127,7 +1127,7 @@ nj1[ccaron] nj1[cacute] nj1d nj1d[zcaron] -nj1[dmacron] +nj1[dstroke] nj1f nj1g nj1h @@ -1156,7 +1156,7 @@ p1[ccaron] p1[cacute] p1d p1d[zcaron] -p1[dmacron] +p1[dstroke] p1f p1g 2p1h @@ -1185,7 +1185,7 @@ r1[ccaron] r1[cacute] r1d r1d[zcaron] -r1[dmacron] +r1[dstroke] r1f r1g r1h @@ -1215,8 +1215,8 @@ s1c 2sd. 1sd[zcaron] 2sd[zcaron]. -1s[dmacron] -2s[dmacron]. +1s[dstroke] +2s[dstroke]. 1sf 2sf. 1sg @@ -1260,8 +1260,8 @@ s1t 2[scaron]d. 1[scaron]d[zcaron] 2[scaron]d[zcaron]. -1[scaron][dmacron] -2[scaron][dmacron]. +1[scaron][dstroke] +2[scaron][dstroke]. 1[scaron]f 2[scaron]f. 1[scaron]g @@ -1300,7 +1300,7 @@ t1[ccaron] t1[cacute] t1d t1d[zcaron] -t1[dmacron] +t1[dstroke] t1f t1g t1h @@ -1329,7 +1329,7 @@ v1[ccaron] v1[cacute] v1d v1d[zcaron] -v1[dmacron] +v1[dstroke] v1f v1g v1h @@ -1360,8 +1360,8 @@ z1b z1d 1zd[zcaron] 2zd[zcaron]. -1z[dmacron] -2z[dmacron]. +1z[dstroke] +2z[dstroke]. 1zf 2zf. z1g @@ -1403,8 +1403,8 @@ z1s 2[zcaron]d. 1[zcaron]d[zcaron] 2[zcaron]d[zcaron]. -1[zcaron][dmacron] -2[zcaron][dmacron]. +1[zcaron][dstroke] +2[zcaron][dstroke]. 1[zcaron]f 2[zcaron]f. 1[zcaron]g |