From 76b4e3623f8fc6da6b55444699e1f44ef35dfbec Mon Sep 17 00:00:00 2001
From: Hans Hagen <pragma@wxs.nl>
Date: Tue, 12 Dec 2006 23:46:00 +0100
Subject: stable 2006.12.12 23:46

---
 scripts/context/ruby/pdftools.rb  | 21 ++++++++++++++++-----
 scripts/context/ruby/pstopdf.rb   |  8 ++++++--
 tex/context/base/cont-log.tex     | 14 +++++++-------
 tex/context/base/cont-new.tex     |  2 +-
 tex/context/base/context.tex      |  2 +-
 tex/context/base/core-mis.tex     | 22 ++++++++++++++++++----
 tex/context/base/core-trf.tex     |  4 ++--
 tex/context/base/core-var.tex     |  8 ++++----
 tex/context/base/rlxtools.rlx     |  8 ++++++++
 tex/context/base/s-abr-01.tex     |  3 ++-
 tex/context/base/s-abr-02.tex     |  8 +++-----
 tex/context/base/type-ghz.tex     | 16 ++++++++++++++--
 tex/context/base/unic-ini.tex     |  2 +-
 tex/context/interface/keys-cz.xml |  2 +-
 tex/context/interface/keys-de.xml |  2 +-
 tex/context/interface/keys-en.xml |  2 +-
 tex/context/interface/keys-fr.xml |  2 +-
 tex/context/interface/keys-it.xml |  2 +-
 tex/context/interface/keys-nl.xml |  2 +-
 tex/context/interface/keys-ro.xml |  2 +-
 20 files changed, 90 insertions(+), 42 deletions(-)

diff --git a/scripts/context/ruby/pdftools.rb b/scripts/context/ruby/pdftools.rb
index d40e2d852..cfcc39631 100644
--- a/scripts/context/ruby/pdftools.rb
+++ b/scripts/context/ruby/pdftools.rb
@@ -739,12 +739,21 @@ class Commands
     end
 
     def countpages
-        filenames, n = findfiles('pdf'), 0
+        if @commandline.option('pattern') then
+            filenames, n = globfiles(@commandline.option('pattern'),'pdf'), 0
+        else
+            filenames, n = findfiles('pdf'), 0
+        end
+        threshold = @commandline.option('threshold').to_i rescue 0
         filenames.each do |filename|
             if `pdfinfo #{filename}`.chomp =~ /^pages\s*\:\s*(\d+)/mois then
-                report("#{$1.rjust(4)} pages found in #{filename}")
-                n += $1.to_i
-            end
+                p = $1
+                m = p.to_i rescue 0
+                if threshold == 0 or m > threshold then
+                    report("#{p.rjust(4)} pages found in #{filename}")
+                    n += m
+                end
+           end
         end
         report("#{n.to_s.rjust(4)} pages in total")
     end
@@ -791,7 +800,7 @@ commandline.registeraction('colorimage',      'filename --colorspec= [--retain -
 commandline.registeraction('convertimage',    'filename [--retain --subpath]')
 commandline.registeraction('downsampleimage', 'filename [--retain --subpath --lowres --normal]')
 commandline.registeraction('info',            'filename')
-commandline.registeraction('countpages',      'pattern')
+commandline.registeraction('countpages',      '[--pattern --threshold]')
 
 commandline.registeraction('analyzefile' ,    'filename')
 
@@ -801,6 +810,8 @@ commandline.registeraction('version')
 commandline.registervalue('colorname')
 commandline.registervalue('colorspec')
 commandline.registervalue('subpath')
+commandline.registervalue('pattern')
+commandline.registervalue('threshold',0)
 
 commandline.registerflag('lowres')
 commandline.registerflag('medres')
diff --git a/scripts/context/ruby/pstopdf.rb b/scripts/context/ruby/pstopdf.rb
index 55bfa3365..3625f4d83 100644
--- a/scripts/context/ruby/pstopdf.rb
+++ b/scripts/context/ruby/pstopdf.rb
@@ -42,7 +42,10 @@ class Commands
     def main
         filename = @commandline.argument('first')
         pattern  = @commandline.option('pattern')
-        globfiles(pattern) if filename.empty? && ! pattern.empty?
+        if filename.empty? && ! pattern.empty? then
+            pattern = "**/#{pattern}" if @commandline.option('recurse')
+            globfiles(pattern)
+        end
         filename = @commandline.argument('first')
         if filename.empty? then
             help
@@ -344,7 +347,7 @@ class Commands
             # report("processing non ps/pdf file #{filename}")
             handle_magick(magick,filename)
         else
-            report("option not suported for #{filename}")
+            report("option not supported for #{filename}")
         end
     end
 
@@ -509,6 +512,7 @@ commandline.registervalue('outputpath')
 
 commandline.registerflag('watch')
 commandline.registerflag('force')
+commandline.registerflag('recurse')
 
 commandline.registervalue('delay',2)
 
diff --git a/tex/context/base/cont-log.tex b/tex/context/base/cont-log.tex
index 4f9bf2d5e..37aabbbb6 100644
--- a/tex/context/base/cont-log.tex
+++ b/tex/context/base/cont-log.tex
@@ -224,11 +224,11 @@
 
 %D Some placeholders:
 
-\def\eTeX     {\mathematics{\varepsilon}-\TeX}
-\def\pdfTeX   {pdf\TeX}
-\def\pdfeTeX  {pdfe-\TeX}
-\def\luaTeX   {lua\TeX}
-\def\XeTeX    {X\lower.5ex\hbox{\kern-.15em\mirror{E}}\kern-.1667em\TeX}
+\def\eTeX             {\mathematics{\varepsilon}-\TeX}
+\def\pdfTeX           {pdf\TeX}
+\def\pdfeTeX          {pdfe-\TeX}
+\def\luaTeX           {lua\TeX}
+\unexpanded\def\XeTeX {X\lower.5ex\hbox{\kern-.15em\mirror{E}}\kern-.1667em\TeX}
 
 \let\ETEX     \eTeX
 \let\PDFTEX   \pdfTeX
@@ -243,8 +243,8 @@
 
   \let\NormalTeXLogo\TeX
 
-  \def\TeX  {T\smash[d]{\kern-.1667em\lower.5ex\hbox{E}}\kern-.125emX}
-  \def\XeTeX{X\smash[d]{\lower.5ex\hbox{\kern-.15em\mirror{E}}}\kern-.1667em\TeX}
+  \unexpanded\def\TeX  {T\smash[d]{\kern-.1667em\lower.5ex\hbox{E}}\kern-.125emX}
+  \unexpanded\def\XeTeX{X\smash[d]{\lower.5ex\hbox{\kern-.15em\mirror{E}}}\kern-.1667em\TeX}
 
 \endXETEX
 
diff --git a/tex/context/base/cont-new.tex b/tex/context/base/cont-new.tex
index 0664accb6..0c82a1721 100644
--- a/tex/context/base/cont-new.tex
+++ b/tex/context/base/cont-new.tex
@@ -13,7 +13,7 @@
 
 % it's about time to clean up this file ...
 
-\newcontextversion{2006.12.11 12:41}
+\newcontextversion{2006.12.12 23:46}
 
 %D This file is loaded at runtime, thereby providing an
 %D excellent place for hacks, patches, extensions and new
diff --git a/tex/context/base/context.tex b/tex/context/base/context.tex
index 69c0ca3f0..8ef29ce3b 100644
--- a/tex/context/base/context.tex
+++ b/tex/context/base/context.tex
@@ -42,7 +42,7 @@
 %D your styles an modules.
 
 \edef\contextformat {\jobname}
-\edef\contextversion{2006.12.11 12:41}
+\edef\contextversion{2006.12.12 23:46}
 
 %D For those who want to use this:
 
diff --git a/tex/context/base/core-mis.tex b/tex/context/base/core-mis.tex
index 2547e9afa..1444d0d89 100644
--- a/tex/context/base/core-mis.tex
+++ b/tex/context/base/core-mis.tex
@@ -1156,12 +1156,26 @@
 \def\rightdelimitedtextmark
   {\hsmash{\delimitedtextparameter\c!right}}
 
+% \starttext
+%     \dorecurse{100}{\hskip300pt\hskip\recurselevel pt test \quote{xxx xxxx}.\par}
+%     \page \setuppapersize[A5][A4]
+%     \quotation {overly beautiful pusillanimous sesquipedalian
+%     longwinded} test test test test test test test test test test test
+%     test test test test test test test test test test test test test
+%     test test test test test test test test test test test test test
+%     test test test test test test test test test test test test test
+%     test test test
+% \stoptext
+
 \def\dohandledelimitedtext#1#2%
   {\begingroup
    \setbox\scratchbox\hbox{\delimitedtextparameter#1}%
    \ifdim\wd\scratchbox>\zeropoint
-     \ifdim\lastskip=\delimitedtextsignal
-       \unskip\hskip\hspaceamount\currentlanguage{interquotation}%
+%      \ifdim\lastskip=\delimitedtextsignal
+%        \unskip
+     \ifdim\lastkern=\delimitedtextsignal
+       \unkern
+       \hskip\hspaceamount\currentlanguage{interquotation}%
      \else
        #2%
      \fi
@@ -1171,8 +1185,8 @@
      \fi
      \strut % new, needed below
      \delimitedtextparameter#1% unhbox\scratchbox
-     % \penalty\!!tenthousand % else overfull boxes
-     \hskip\delimitedtextsignal % +- \prewordbreak
+%      \penalty\!!tenthousand % else overfull boxes, but that's better than dangling periods
+     \kern\delimitedtextsignal % +- \prewordbreak
    \fi
    \endgroup}
 
diff --git a/tex/context/base/core-trf.tex b/tex/context/base/core-trf.tex
index cabafb303..7a62d5392 100644
--- a/tex/context/base/core-trf.tex
+++ b/tex/context/base/core-trf.tex
@@ -20,7 +20,7 @@
 
 %D Scaling:
 
-\def\scale{\dodoubleempty\doscalenextbox[\??xy]}
+\unexpanded\def\scale{\dodoubleempty\doscalenextbox[\??xy]}
 
 % probably too many dimens / the width calculations can go
 % since we may assume scaling is available (was not true
@@ -533,7 +533,7 @@
       \flushnextbox
       \egroup}}
 
-\def\mirror
+\unexpanded\def\mirror
   {\domirrorbox\hbox}
 
 % \setbox0=\hbox{gans}
diff --git a/tex/context/base/core-var.tex b/tex/context/base/core-var.tex
index 184fd91c7..6b019d658 100644
--- a/tex/context/base/core-var.tex
+++ b/tex/context/base/core-var.tex
@@ -451,10 +451,10 @@
    \getvariable{#2}\s!set
    \errorisfatalfalse}
 
-\def\setvariable #1#2#3{\setvalue {\??vars:#1:#2}{#3}}
-\def\setevariable#1#2#3{\setevalue{\??vars:#1:#2}{#3}}
-\def\setgvariable#1#2#3{\setgvalue{\??vars:#1:#2}{#3}}
-\def\setxvariable#1#2#3{\setxvalue{\??vars:#1:#2}{#3}}
+\long\def\setvariable #1#2#3{\long\setvalue {\??vars:#1:#2}{#3}}
+\long\def\setevariable#1#2#3{\long\setevalue{\??vars:#1:#2}{#3}}
+\long\def\setgvariable#1#2#3{\long\setgvalue{\??vars:#1:#2}{#3}}
+\long\def\setxvariable#1#2#3{\long\setxvalue{\??vars:#1:#2}{#3}}
 
 \beginTEX
 
diff --git a/tex/context/base/rlxtools.rlx b/tex/context/base/rlxtools.rlx
index 0336620f2..cc8249031 100644
--- a/tex/context/base/rlxtools.rlx
+++ b/tex/context/base/rlxtools.rlx
@@ -48,6 +48,14 @@
         </rl:step>
     </rl:manipulator>
 
+    <rl:manipulator name='pdf' suffix='eps'>
+        <rl:old><rl:value name='path'/>/<rl:value name='file' method='nosuffix'/>.eps</rl:old>
+        <rl:step>
+            texmfstart pstopdf --convert
+            <rl:value name='old'/>
+        </rl:step>
+    </rl:manipulator>
+
     <rl:manipulator name='pdf' suffix='svgz'>
         <rl:old><rl:value name='path'/>/<rl:value name='file' method='nosuffix'/>.svgz</rl:old>
         <rl:new><rl:value name='path'/>/<rl:value name='prefix'/><rl:value name='file' method='nosuffix'/>.pdf</rl:new>
diff --git a/tex/context/base/s-abr-01.tex b/tex/context/base/s-abr-01.tex
index 648780320..3be277023 100644
--- a/tex/context/base/s-abr-01.tex
+++ b/tex/context/base/s-abr-01.tex
@@ -209,7 +209,8 @@
 \logo [URI]        {uri}
 \logo [URL]        {url}
 \logo [USA]        {usa}
-\logo [UTF]        {utf8}
+\logo [UTF]        {utf}
+\logo [UCS]        {ucs}
 \logo [USENET]     {usenet}
 \logo [UTF]        {utf}
 \logo [WDT]        {wdt}
diff --git a/tex/context/base/s-abr-02.tex b/tex/context/base/s-abr-02.tex
index e2cdbfb72..005559ef3 100644
--- a/tex/context/base/s-abr-02.tex
+++ b/tex/context/base/s-abr-02.tex
@@ -8,8 +8,8 @@
 %D      copyright={PRAGMA / Hans Hagen \& Ton Otten}]
 %C
 %C This module is part of the \CONTEXT\ macro||package and is
-%C therefore copyrighted by \PRAGMA. See mreadme.pdf for 
-%C details. 
+%C therefore copyrighted by \PRAGMA. See mreadme.pdf for
+%C details.
 
 \usemodule[abr-01]
 
@@ -19,6 +19,4 @@
 
 \setupcapitals[\c!title=\v!no]
 
-\protect
-
-\endinput
+\protect \endinput
diff --git a/tex/context/base/type-ghz.tex b/tex/context/base/type-ghz.tex
index 318e6d596..afb637818 100644
--- a/tex/context/base/type-ghz.tex
+++ b/tex/context/base/type-ghz.tex
@@ -90,8 +90,20 @@
 \starttypescript[optima-nova][texnansi,ec] % will change to more narrow tt
     \definetypeface[optima][ss][sans][optima-nova] [default][encoding=\typescripttwo]
     \definetypeface[optima][rm][sans][optima-nova] [default][encoding=\typescripttwo]
-    \definetypeface[optima][tt][mono][latin-modern][default][encoding=\typescripttwo,rscale=1.125]
-    \definetypeface[optima][mm][mono][latin-modern][default][encoding=\typescripttwo,rscale=1.125]
+%     \definetypeface[optima][tt][mono][latin-modern][default][encoding=\typescripttwo,rscale=1.125]
+%     \definetypeface[optima][mm][mono][latin-modern][default][encoding=\typescripttwo,rscale=1.125]
+    \definetypeface[optima][tt][mono][latin-modern][default][encoding=\typescripttwo,rscale=1.1]
+    \definetypeface[optima][mm][mono][latin-modern][default][encoding=\typescripttwo,rscale=1.1]
+    \quittypescriptscanning
+\stoptypescript
+
+\starttypescript[optima-nova-os][texnansi,ec] % will change to more narrow tt
+    \definetypeface[optima-os][ss][sans][optima-nova-os] [default][encoding=\typescripttwo]
+    \definetypeface[optima-os][rm][sans][optima-nova-os] [default][encoding=\typescripttwo]
+%     \definetypeface[optima-os][tt][mono][latin-modern]   [default][encoding=\typescripttwo,rscale=1.125]
+%     \definetypeface[optima-os][mm][mono][latin-modern]   [default][encoding=\typescripttwo,rscale=1.125]
+    \definetypeface[optima-os][tt][mono][latin-modern]   [default][encoding=\typescripttwo,rscale=1.1]
+    \definetypeface[optima-os][mm][mono][latin-modern]   [default][encoding=\typescripttwo,rscale=1.1]
     \quittypescriptscanning
 \stoptypescript
 
diff --git a/tex/context/base/unic-ini.tex b/tex/context/base/unic-ini.tex
index ec85c3c9e..587edd308 100644
--- a/tex/context/base/unic-ini.tex
+++ b/tex/context/base/unic-ini.tex
@@ -50,7 +50,7 @@
 %D In \UTF-8 the characters in the range 128---191 are illegal
 %D as first characters. The characters 254 and 255 are
 %D completely illegal and should not appear at all (they are
-%D related to UTF16).
+%D related to UTF-16).
 %D
 %D The unicode number for an \UTF-8 sequence can be calculated
 %D as follows:
diff --git a/tex/context/interface/keys-cz.xml b/tex/context/interface/keys-cz.xml
index c49ea9975..6b2aac332 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="2006.12.11 12:41">
+<cd:interface xmlns:cd="http://www.pragma-ade.com/commands" name="context" language="cz" version="2006.12.12 23:46">
 
   <cd:variables>
     <cd:variable name="one" value="jedna"/>
diff --git a/tex/context/interface/keys-de.xml b/tex/context/interface/keys-de.xml
index 1e0830b63..12dce1800 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="2006.12.11 12:41">
+<cd:interface xmlns:cd="http://www.pragma-ade.com/commands" name="context" language="de" version="2006.12.12 23:46">
 
   <cd:variables>
     <cd:variable name="one" value="eins"/>
diff --git a/tex/context/interface/keys-en.xml b/tex/context/interface/keys-en.xml
index ea6e05b0b..d1ccf8cf1 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="2006.12.11 12:41">
+<cd:interface xmlns:cd="http://www.pragma-ade.com/commands" name="context" language="en" version="2006.12.12 23:46">
 
   <cd:variables>
     <cd:variable name="one" value="one"/>
diff --git a/tex/context/interface/keys-fr.xml b/tex/context/interface/keys-fr.xml
index 86400899b..5b20b1319 100644
--- a/tex/context/interface/keys-fr.xml
+++ b/tex/context/interface/keys-fr.xml
@@ -1,6 +1,6 @@
 <?xml version="1.0"?>
 
-<cd:interface xmlns:cd="http://www.pragma-ade.com/commands" name="context" language="fr" version="2006.12.11 12:41">
+<cd:interface xmlns:cd="http://www.pragma-ade.com/commands" name="context" language="fr" version="2006.12.12 23:46">
 
   <cd:variables>
     <cd:variable name="one" value="un"/>
diff --git a/tex/context/interface/keys-it.xml b/tex/context/interface/keys-it.xml
index e0e468303..0e54e179b 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="2006.12.11 12:41">
+<cd:interface xmlns:cd="http://www.pragma-ade.com/commands" name="context" language="it" version="2006.12.12 23:46">
 
   <cd:variables>
     <cd:variable name="one" value="uno"/>
diff --git a/tex/context/interface/keys-nl.xml b/tex/context/interface/keys-nl.xml
index 36d76d1c5..5209459ad 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="2006.12.11 12:41">
+<cd:interface xmlns:cd="http://www.pragma-ade.com/commands" name="context" language="nl" version="2006.12.12 23:46">
 
   <cd:variables>
     <cd:variable name="one" value="een"/>
diff --git a/tex/context/interface/keys-ro.xml b/tex/context/interface/keys-ro.xml
index d264c0547..2cd2a12f1 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="2006.12.11 12:41">
+<cd:interface xmlns:cd="http://www.pragma-ade.com/commands" name="context" language="ro" version="2006.12.12 23:46">
 
   <cd:variables>
     <cd:variable name="one" value="unu"/>
-- 
cgit v1.2.3