diff options
author | Marius <mariausol@gmail.com> | 2011-01-31 00:20:51 +0200 |
---|---|---|
committer | Marius <mariausol@gmail.com> | 2011-01-31 00:20:51 +0200 |
commit | 91675d8e11906bc15351278f8865d41de6bcc06d (patch) | |
tree | da027e5dd2b69bb8f0b19c774c222c098bbfc4b7 | |
parent | 3019c4ccfb0d984b45670a86d2400a6aacfbaa68 (diff) | |
download | context-91675d8e11906bc15351278f8865d41de6bcc06d.tar.gz |
beta 2011.01.23 20:36
111 files changed, 6019 insertions, 1554 deletions
diff --git a/scripts/context/lua/mtx-interface.lua b/scripts/context/lua/mtx-interface.lua index 9659dce90..bee6a7da1 100644 --- a/scripts/context/lua/mtx-interface.lua +++ b/scripts/context/lua/mtx-interface.lua @@ -7,7 +7,8 @@ if not modules then modules = { } end modules ['mtx-cache'] = { } local concat, sort, insert = table.concat, table.sort, table.insert -local gsub, format, gmatch = string.gsub, string.format, string.gmatch +local gsub, format, gmatch, find = string.gsub, string.format, string.gmatch, string.find +local utfchar, utfgsub = utf.char, utf.gsub scripts = scripts or { } scripts.interface = scripts.interface or { } @@ -223,7 +224,7 @@ function scripts.interface.check() end end -function scripts.interface.context() +function scripts.interface.interfaces() local filename = resolvers.findfile(environment.files[1] or "mult-def.lua") or "" if filename ~= "" then local interface = dofile(filename) @@ -277,7 +278,7 @@ function scripts.interface.context() flush(texresult,xmlresult,language,"commands", "command") texresult[#texresult+1] = format("%%\n\\endinput") xmlresult[#xmlresult+1] = format("</cd:interface>") - local texfilename = format("mult-%s.tex",language) + local texfilename = format("mult-%s.mkii",language) local xmlfilename = format("keys-%s.xml",language) io.savedata(texfilename,concat(texresult,"\n")) logs.simple("saving interface definitions '%s'",texfilename) @@ -338,16 +339,137 @@ function scripts.interface.messages() end end texresult[#texresult+1] = format("%%\n\\endinput") - local interfacefile = format("mult-m%s.tex",interface) + local interfacefile = format("mult-m%s.mkii",interface) io.savedata(interfacefile,concat(texresult,"\n")) logs.simple("messages for '%s' saved in '%s'",interface,interfacefile) end end end -logs.extendbanner("ConTeXt Interface Related Goodies 0.12") +function scripts.interface.toutf() + local filename = environment.files[1] + if filename then + require("char-def.lua") + local contextnames = { } + for unicode, data in next, characters.data do + local contextname = data.contextname + if contextname then + contextnames[contextname] = utf.char(unicode) + end + contextnames.uumlaut = contextnames.udiaeresis + contextnames.Uumlaut = contextnames.Udiaeresis + contextnames.oumlaut = contextnames.odiaeresis + contextnames.Oumlaut = contextnames.Odiaeresis + contextnames.aumlaut = contextnames.adiaeresis + contextnames.Aumlaut = contextnames.Adiaeresis + end + logs.simple("loading '%s'",filename) + local str = io.loaddata(filename) or "" + local done = { } + str = gsub(str,"(\\)([a-zA-Z][a-zA-Z][a-zA-Z]+)(%s*)", function(b,s,a) + local cn = contextnames[s] + if cn then + done[s] = (done[s] or 0) + 1 + return cn + else + done[s] = (done[s] or 0) - 1 + return b .. s .. a + end + end) + for k, v in table.sortedpairs(done) do + if v > 0 then + logs.simple("+ %5i : %s => %s",v,k,contextnames[k]) + else + logs.simple("- %5i : %s",-v,k,contextnames[k]) + end + end + filename = filename .. ".toutf" + logs.simple("saving '%s'",filename) + io.savedata(filename,str) + end +end + +function scripts.interface.labels() + require("char-def.lua") + require("lang-txt.lua") + local interfaces = require("mult-def.lua") + local variables = interfaces.variables + local contextnames = { } + for unicode, data in next, characters.data do + local contextname = data.contextname + if contextname then + contextnames[utfchar(unicode)] = "\\" .. contextname .. " " + end + end + contextnames["i"] = nil + contextnames["'"] = nil + contextnames["\\"] = nil + local function flush(f,kind,what,expand,namespace,prefix) + local whatdata = languages.data.labels[what] + f:write("\n") + f:write(format("%% %s => %s\n",what,kind)) + for tag, data in table.sortedpairs(whatdata) do + if not data.hidden then + f:write("\n") + for language, text in table.sortedpairs(data.labels) do + if text ~= "" then + if expand then + text = utfgsub(text,".",contextnames) + text = gsub(text," ", "\ ") + end + if namespace and namespace[tag] then + tag = prefix .. tag + end + if find(text,",") then + text = "{" .. text .. "}" + end + + if text == "" then + -- skip + else + if type(text) == "table" then + f:write(format("\\setup%stext[\\s!%s][%s={{%s},}]\n",kind,language,tag,text)) + else + f:write(format("\\setup%stext[\\s!%s][%s={{%s},{%s}}]\n",kind,language,tag,text[1],text[2])) + end + end + + end + end + end + end + end + function flushall(txtname,expand) + local f = io.open(txtname,"w") + if f then + logs.simple("saving '%s'",txtname) + f:write("% this file is auto-generated, don't edit this file\n") + flush(f,"head","titles",expand,variables,"\\v!") + flush(f,"label","texts",expand,variables,"\\v!") + flush(f,"mathlabel","functions",expand) + flush(f,"taglabel","tags",expand) + f:write("\n") + f:write("\\endinput\n") + f:close() + end + end + flushall("lang-txt.mkii",true) + flushall("lang-txt.mkiv",false) +end + +function scripts.interface.labels() + -- maybe supported one day +end + +logs.extendbanner("ConTeXt Interface Related Goodies 0.13") messages.help = [[ +--interfaces generate context interface files +--messages generate context message files +--labels generate context label files + +--context equals --interfaces --messages --languages + --scite generate scite interface --bbedit generate bbedit interface files --jedit generate jedit interface files @@ -355,21 +477,36 @@ messages.help = [[ --text create text files for commands and environments --raw report commands to the console --check generate check file ---context generate context definition files + +--toutf replace named characters by utf --preprocess preprocess mkvi files to tex files [force,suffix] + --suffix use given suffix for output files --force force action even when in doubt ---messages generate context message files ]] local ea = environment.argument if ea("context") then - scripts.interface.context() + scripts.interface.interfaces() + scripts.interface.messages() + scripts.interface.labels() +elseif ea("interfaces") or ea("messages") or ea("labels") then + if ea("interfaces") then + scripts.interface.interfaces() + end + if ea("messages") then + scripts.interface.messages() + end + if ea("labels") then + scripts.interface.labels() + end elseif ea("preprocess") then scripts.interface.preprocess() -elseif ea("messages") then - scripts.interface.messages() +elseif ea("toutf") then + scripts.interface.toutf() +elseif ea("check") then + scripts.interface.check() elseif ea("scite") or ea("bbedit") or ea("jedit") or ea("textpad") or ea("text") or ea("raw") then if ea("scite") then scripts.interface.editor("scite") @@ -389,8 +526,6 @@ elseif ea("scite") or ea("bbedit") or ea("jedit") or ea("textpad") or ea("text") if ea("raw") then scripts.interface.editor("raw") end -elseif ea("check") then - scripts.interface.check() else logs.help(messages.help) end diff --git a/tex/context/base/bibl-tra.mkiv b/tex/context/base/bibl-tra.mkiv index a6a594d7f..9a42cb539 100644 --- a/tex/context/base/bibl-tra.mkiv +++ b/tex/context/base/bibl-tra.mkiv @@ -735,7 +735,7 @@ \unexpanded\def\startpublication {\begingroup - \catcode`\%=\othercatcode + \catcode\commentasciicode\othercatcode \dosingleempty\dostartpublication} \let\stoppublication\relax diff --git a/tex/context/base/buff-ini.lua b/tex/context/base/buff-ini.lua index a1e1f5d6b..de5a880e3 100644 --- a/tex/context/base/buff-ini.lua +++ b/tex/context/base/buff-ini.lua @@ -126,7 +126,7 @@ function commands.grabbuffer(name,begintag,endtag,bufferdata) -- maybe move \\ t dn = dn .. "\n" .. sub(bufferdata,1,-2) -- no \r, \n is more generic end local last = sub(dn,-1) - if last == "\n" or last == "\r" then + if last == "\n" or last == "\r" then -- \n is unlikely as \r is the endlinechar dn = sub(dn,1,-2) end end diff --git a/tex/context/base/buff-ver.lua b/tex/context/base/buff-ver.lua index 7427e1f86..91bf1c6a0 100644 --- a/tex/context/base/buff-ver.lua +++ b/tex/context/base/buff-ver.lua @@ -334,8 +334,11 @@ end local space_pattern = patterns.space^0 local name_pattern = R("az","AZ")^1 +-- the hack is needed in order to retain newlines when an escape happens at the +-- at the begin of a line; it also ensures proper line numbering; a bit messy + local function hack(pattern) - return Cs(pattern * Cc(signal)) -- hack to retain newlines + return Cs(pattern * Cc(signal)) end function visualizers.registerescapepattern(name,before,after,normalmethod,escapemethod) @@ -349,8 +352,7 @@ function visualizers.registerescapepattern(name,before,after,normalmethod,escape (before / "") * ((1 - after)^0 / (escapemethod or texmethod)) * (after / "") - -- + hack((1 - before)^1) / (normalmethod or defaultmethod) - + ((1 - before)^1) / (normalmethod or defaultmethod) + + hack((1 - before)^1) / (normalmethod or defaultmethod) )^0 escapepatterns[name] = escapepattern end @@ -601,7 +603,8 @@ local function filter(lines,settings) -- todo: inline or display in settings first, last = getrange(lines,first,last,range) first, last = getstrip(lines,first,last) end - local content = concat(lines,(settings.nature == "inline" and " ") or "\r",first,last) -- was \n + -- \r is \endlinechar but \n would is more generic so this choice is debatable + local content = concat(lines,(settings.nature == "inline" and " ") or "\n",first,last) return content, m end diff --git a/tex/context/base/buff-ver.mkii b/tex/context/base/buff-ver.mkii index e7ad5474f..355296101 100644 --- a/tex/context/base/buff-ver.mkii +++ b/tex/context/base/buff-ver.mkii @@ -626,7 +626,6 @@ {\let\currenttypingclass\??ty \initializetype \verbatimcolor - %\setcatcodetable \typcatcodesa \catcode`\{=\@@begingroup \catcode`\}=\@@endgroup} diff --git a/tex/context/base/buff-ver.mkiv b/tex/context/base/buff-ver.mkiv index 45b3a614f..ea259c06a 100644 --- a/tex/context/base/buff-ver.mkiv +++ b/tex/context/base/buff-ver.mkiv @@ -329,17 +329,17 @@ \def\dodotypeA {\firststageinitializetype - \setcatcodetable\typcatcodesa + \setcatcodetable\tpacatcodes \dodotypenormal} \def\dodotypeB#1% {\firststageinitializetype - \setcatcodetable\typcatcodesb + \setcatcodetable\tpbcatcodes \dodotypenested} \def\dodotypeC#1% {\firststageinitializetype - \setcatcodetable\typcatcodesc + \setcatcodetable\vrbcatcodes \def\next##1#1{\dodotypenormal{##1}}% \next} @@ -413,8 +413,8 @@ \def\setgroupedtype {\firststageinitializetype - \catcode`\{=\begingroupcatcode - \catcode`\}=\endgroupcatcode} + \catcode\leftbraceasciicode \begingroupcatcode + \catcode\rightbraceasciicode\endgroupcatcode} \unexpanded\def\tex{\groupedcommand{\setgroupedtype\texescape}{\relax}} \unexpanded\def\arg{\groupedcommand{\setgroupedtype\leftargument}{\rightargument}} diff --git a/tex/context/base/catc-act.tex b/tex/context/base/catc-act.mkii index 2cde28e44..2cde28e44 100644 --- a/tex/context/base/catc-act.tex +++ b/tex/context/base/catc-act.mkii diff --git a/tex/context/base/catc-act.mkiv b/tex/context/base/catc-act.mkiv new file mode 100644 index 000000000..2cde28e44 --- /dev/null +++ b/tex/context/base/catc-act.mkiv @@ -0,0 +1,65 @@ +%D \module +%D [ file=catc-act, +%D version=2006.09.18, +%D title=\CONTEXT\ Catcode Macros, +%D subtitle=Default Catcode Tables, +%D author=Hans Hagen, +%D date=\currentdate, +%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. + +%D This module deals with some active character handling. Use +%D with care. + +%D \macros +%D {installactivecharacter} + +\def\installactivecharacter#1 % + {\edef\temp{\detokenize{#1}}% + \cctcounterc\expandafter`\temp\relax % relax needed + \expandafter\startextendcatcodetable + \expandafter\ctxcatcodes\expandafter\catcode\the\cctcounterc\activecatcode + \stopextendcatcodetable + \letcatcodecommand \ctxcatcodes \cctcounterc \temp \relax + \ifnum\currentcatcodetable=\ctxcatcodes \setcatcodetable\ctxcatcodes \fi} + +%D \macros +%D {defineactivecharacter} +%D +%D Use this one with care, esp in combination with catcode +%D vectors. There are better ways now. + +\chardef\activehackcode=`~ + +\def\defineactivecharacter #1#2 #3% + {\cctcounterc\uccode\activehackcode + \if#1"\uccode\activehackcode\expandafter\doifnumberelse\expandafter{\string#1#2}\empty #1#2\else + \uccode\activehackcode\expandafter\doifnumberelse\expandafter{\string#1#2}\empty`#1#2\fi + \catcode\uccode\activehackcode\activecatcode + \uppercase{\def\next{~}}% + \uccode\activehackcode\cctcounterc + \expandafter\expandafter\expandafter\def\expandafter\next\expandafter + {\expandafter\dohandleactivecharacter\next{#3}}} + +\chardef\activecharactermode\plusone % overloading still backward compatible + +\def\dodohandleactivecharacter#1#2{#2} +\def\donthandleactivecharacter#1#2{\noexpand#1} + +\def\dohandleactivecharacter + {\ifcase\activecharactermode + \expandafter\donthandleactivecharacter + \else + \expandafter\dodohandleactivecharacter + \fi} + +\def\makecharacteractive #1 {\catcode`#1\active} + +\def\installanddefineactivecharacter #1 % #2% + {\normalexpanded{\noexpand\installactivecharacter \utfchar{#1} }% + \defineactivecharacter #1 }% {#2}} + +\endinput diff --git a/tex/context/base/catc-ctx.mkii b/tex/context/base/catc-ctx.mkii new file mode 100644 index 000000000..6bf4e9cfb --- /dev/null +++ b/tex/context/base/catc-ctx.mkii @@ -0,0 +1,76 @@ +%D \module +%D [ file=catc-cys, +%D version=2006.09.18, +%D title=\CONTEXT\ Catcode Macros, +%D subtitle=Extra Tables, +%D author=Hans Hagen, +%D date=\currentdate, +%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. + +%D We prefer to define relevant catcode tables in this file instead +%D of everywhere around. + +\ifdefined \ctxcatcodes \else \newcatcodetable \ctxcatcodes \fi +\ifdefined \prtcatcodes \else \newcatcodetable \prtcatcodes \fi + +\startcatcodetable \ctxcatcodes + \catcode\tabasciicode \spacecatcode + \catcode\endoflineasciicode \endoflinecatcode + \catcode\formfeedasciicode \endoflinecatcode + \catcode\spaceasciicode \spacecatcode + \catcode\endoffileasciicode \ignorecatcode + \catcode\circumflexasciicode\superscriptcatcode + \catcode\underscoreasciicode\subscriptcatcode + \catcode\ampersandasciicode \alignmentcatcode + \catcode\backslashasciicode \escapecatcode + \catcode\leftbraceasciicode \begingroupcatcode + \catcode\rightbraceasciicode\endgroupcatcode + \catcode\dollarasciicode \mathshiftcatcode + \catcode\hashasciicode \parametercatcode + \catcode\commentasciicode \commentcatcode + \catcode\tildeasciicode \activecatcode + \catcode\barasciicode \activecatcode +\stopcatcodetable + +\startcatcodetable \prtcatcodes + \catcode\tabasciicode \spacecatcode + \catcode\endoflineasciicode \endoflinecatcode + \catcode\formfeedasciicode \endoflinecatcode + \catcode\spaceasciicode \spacecatcode + \catcode\endoffileasciicode \ignorecatcode + \catcode\circumflexasciicode\superscriptcatcode + \catcode\underscoreasciicode\subscriptcatcode + \catcode\ampersandasciicode \alignmentcatcode + \catcode\backslashasciicode \escapecatcode + \catcode\leftbraceasciicode \begingroupcatcode + \catcode\rightbraceasciicode\endgroupcatcode + \catcode\dollarasciicode \mathshiftcatcode + \catcode\hashasciicode \parametercatcode + \catcode\commentasciicode \commentcatcode + \catcode`\@ \lettercatcode + \catcode`\! \lettercatcode + \catcode`\? \lettercatcode + \catcode\tildeasciicode \activecatcode + \catcode\barasciicode \activecatcode +\stopcatcodetable + +\letcatcodecommand \ctxcatcodes \barasciicode \relax +\letcatcodecommand \ctxcatcodes \tildeasciicode \relax + + \catcodetable \ctxcatcodes +\let \defaultcatcodetable \ctxcatcodes + +% for the moment here: + +\def\starttexcode + {\pushcatcodetable + \catcodetable\prtcatcodes} + +\def\stoptexcode + {\popcatcodetable} + +\endinput diff --git a/tex/context/base/catc-ctx.mkiv b/tex/context/base/catc-ctx.mkiv new file mode 100644 index 000000000..bdba6aeee --- /dev/null +++ b/tex/context/base/catc-ctx.mkiv @@ -0,0 +1,131 @@ +%D \module +%D [ file=catc-cys, +%D version=2006.09.18, +%D title=\CONTEXT\ Catcode Macros, +%D subtitle=Extra Tables, +%D author=Hans Hagen, +%D date=\currentdate, +%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. + +%D We prefer to define relevant catcode tables in this file instead +%D of everywhere around. + +\ifdefined \ctxcatcodes \else \newcatcodetable \ctxcatcodes \fi +\ifdefined \prtcatcodes \else \newcatcodetable \prtcatcodes \fi +\ifdefined \txtcatcodes \else \newcatcodetable \txtcatcodes \fi +%ifdefined \mthcatcodes \else \newcatcodetable \mthcatcodes \fi % math, not used, too tricky +\ifdefined \tpacatcodes \else \newcatcodetable \tpacatcodes \fi % { } +\ifdefined \tpbcatcodes \else \newcatcodetable \tpbcatcodes \fi % < > + +\startcatcodetable \ctxcatcodes + \catcode\tabasciicode \spacecatcode + \catcode\endoflineasciicode \endoflinecatcode + \catcode\formfeedasciicode \endoflinecatcode + \catcode\spaceasciicode \spacecatcode + \catcode\endoffileasciicode \ignorecatcode + \catcode\circumflexasciicode\superscriptcatcode + \catcode\underscoreasciicode\subscriptcatcode + \catcode\ampersandasciicode \alignmentcatcode + \catcode\backslashasciicode \escapecatcode + \catcode\leftbraceasciicode \begingroupcatcode + \catcode\rightbraceasciicode\endgroupcatcode + \catcode\dollarasciicode \mathshiftcatcode + \catcode\hashasciicode \parametercatcode + \catcode\commentasciicode \commentcatcode + \catcode\tildeasciicode \activecatcode + \catcode\barasciicode \activecatcode +\stopcatcodetable + +\startcatcodetable \prtcatcodes + \catcode\tabasciicode \spacecatcode + \catcode\endoflineasciicode \endoflinecatcode + \catcode\formfeedasciicode \endoflinecatcode + \catcode\spaceasciicode \spacecatcode + \catcode\endoffileasciicode \ignorecatcode + \catcode\circumflexasciicode\superscriptcatcode + \catcode\underscoreasciicode\lettercatcode + \catcode\ampersandasciicode \alignmentcatcode + \catcode\backslashasciicode \escapecatcode + \catcode\leftbraceasciicode \begingroupcatcode + \catcode\rightbraceasciicode\endgroupcatcode + \catcode\dollarasciicode \mathshiftcatcode + \catcode\hashasciicode \parametercatcode + \catcode\commentasciicode \commentcatcode + \catcode`\@ \lettercatcode + \catcode`\! \lettercatcode + \catcode`\? \lettercatcode + \catcode\tildeasciicode \activecatcode + \catcode\barasciicode \activecatcode +\stopcatcodetable + +%startcatcodetable \mthcatcodes +% \catcode\tabasciicode \spacecatcode +% \catcode\endoflineasciicode \endoflinecatcode +% %\catcode\newlineasciicode \spacecatcode +% \catcode\formfeedasciicode \endoflinecatcode +% \catcode\spaceasciicode \spacecatcode +% \catcode\endoffileasciicode \ignorecatcode +% \catcode\circumflexasciicode\superscriptcatcode +% \catcode\underscoreasciicode\subscriptcatcode +% \catcode\ampersandasciicode \alignmentcatcode +% \catcode\backslashasciicode \escapecatcode +% \catcode\leftbraceasciicode \begingroupcatcode +% \catcode\rightbraceasciicode\endgroupcatcode +% \catcode\dollarasciicode \mathshiftcatcode +% \catcode\hashasciicode \parametercatcode +% \catcode\commentasciicode \commentcatcode +% %\catcode\tildeasciicode \activecatcode +% %\catcode\barasciicode \activecatcode +%stopcatcodetable + +\startcatcodetable \tpacatcodes + \catcode\tabasciicode \othercatcode + \catcode\endoflineasciicode \othercatcode + \catcode\formfeedasciicode \othercatcode + \catcode\spaceasciicode \othercatcode + \catcode\endoffileasciicode \othercatcode + \catcode\leftbraceasciicode \begingroupcatcode + \catcode\rightbraceasciicode\endgroupcatcode +\stopcatcodetable + +\startcatcodetable \tpbcatcodes + \catcode\tabasciicode \othercatcode + \catcode\endoflineasciicode \othercatcode + \catcode\formfeedasciicode \othercatcode + \catcode\spaceasciicode \othercatcode + \catcode\endoffileasciicode \othercatcode + \catcode`\< \begingroupcatcode + \catcode`\> \endgroupcatcode +\stopcatcodetable + +\startcatcodetable \txtcatcodes + \catcode\tabasciicode \spacecatcode + \catcode\endoflineasciicode \endoflinecatcode + \catcode\formfeedasciicode \endoflinecatcode + \catcode\spaceasciicode \spacecatcode + \catcode\endoffileasciicode \ignorecatcode + \catcode\backslashasciicode \escapecatcode + \catcode\leftbraceasciicode \begingroupcatcode + \catcode\rightbraceasciicode\endgroupcatcode +\stopcatcodetable + +\letcatcodecommand \ctxcatcodes \barasciicode \relax +\letcatcodecommand \ctxcatcodes \tildeasciicode \relax + + \catcodetable \ctxcatcodes +\let \defaultcatcodetable \ctxcatcodes + +% for the moment here: + +\def\starttexcode + {\pushcatcodetable + \catcodetable\prtcatcodes} + +\def\stoptexcode + {\popcatcodetable} + +\endinput diff --git a/tex/context/base/catc-ctx.tex b/tex/context/base/catc-ctx.tex deleted file mode 100644 index 1216dba9d..000000000 --- a/tex/context/base/catc-ctx.tex +++ /dev/null @@ -1,182 +0,0 @@ -%D \module -%D [ file=catc-cys, -%D version=2006.09.18, -%D title=\CONTEXT\ Catcode Macros, -%D subtitle=Extra Tables, -%D author=Hans Hagen, -%D date=\currentdate, -%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. - -%D We prefer to define relevant catcode tables in this file instead -%D of everywhere around. - -\ifdefined \ctxcatcodes \else \newcatcodetable \ctxcatcodes \fi -\ifdefined \txtcatcodes \else \newcatcodetable \txtcatcodes \fi -\ifdefined \mthcatcodes \else \newcatcodetable \mthcatcodes \fi % math, not used, too tricky -\ifdefined \typcatcodesa \else \newcatcodetable \typcatcodesa \fi % { } -\ifdefined \typcatcodesb \else \newcatcodetable \typcatcodesb \fi % < > -\ifdefined \typcatcodesc \else \newcatcodetable \typcatcodesc \fi % delimited - -\startcatcodetable \ctxcatcodes - \catcode\tabasciicode \spacecatcode - \catcode\endoflineasciicode \endoflinecatcode - \catcode\formfeedasciicode \endoflinecatcode - \catcode\spaceasciicode \spacecatcode - \catcode\endoffileasciicode \ignorecatcode - \catcode\caretasciicode \superscriptcatcode - \catcode\underscoreasciicode\subscriptcatcode - \catcode\ampersandasciicode \alignmentcatcode - \catcode`\\ \escapecatcode - \catcode`\{ \begingroupcatcode - \catcode`\} \endgroupcatcode - \catcode`\$ \mathshiftcatcode - \catcode`\# \parametercatcode - \catcode`\% \commentcatcode - \catcode`\~ \activecatcode - \catcode`\| \activecatcode -\stopcatcodetable - -\startcatcodetable \prtcatcodes - \catcode\tabasciicode \spacecatcode - \catcode\endoflineasciicode \endoflinecatcode - \catcode\formfeedasciicode \endoflinecatcode - \catcode\spaceasciicode \spacecatcode - \catcode\endoffileasciicode \ignorecatcode - \catcode\caretasciicode \superscriptcatcode % soon we will also get rid of the usage of ^^ so then ^ can also be other - \catcode\underscoreasciicode\ifnum\texengine=\luatexengine\lettercatcode \else \subscriptcatcode \fi - \catcode\ampersandasciicode \alignmentcatcode - \catcode`\\ \escapecatcode - \catcode`\{ \begingroupcatcode - \catcode`\} \endgroupcatcode - \catcode`\$ \mathshiftcatcode - \catcode`\# \parametercatcode - \catcode`\% \commentcatcode - \catcode`\@ \lettercatcode - \catcode`\! \lettercatcode - \catcode`\? \lettercatcode - \catcode`\~ \activecatcode - \catcode`\| \activecatcode -\stopcatcodetable - -\startcatcodetable \mthcatcodes - \catcode\tabasciicode \spacecatcode - \catcode\endoflineasciicode \endoflinecatcode - %\catcode\newlineasciicode \spacecatcode - \catcode\formfeedasciicode \endoflinecatcode - \catcode\spaceasciicode \spacecatcode - \catcode\endoffileasciicode \ignorecatcode - \catcode\caretasciicode \superscriptcatcode - \catcode\underscoreasciicode\subscriptcatcode - \catcode\ampersandasciicode \alignmentcatcode - \catcode`\\ \escapecatcode - \catcode`\{ \begingroupcatcode - \catcode`\} \endgroupcatcode - \catcode`\$ \mathshiftcatcode - \catcode`\# \parametercatcode - \catcode`\% \commentcatcode - %\catcode`\~ \activecatcode - %\catcode`\| \activecatcode -\stopcatcodetable - -\startcatcodetable \typcatcodesa - \catcode\tabasciicode \othercatcode - \catcode\endoflineasciicode\othercatcode - \catcode\formfeedasciicode \othercatcode - \catcode\spaceasciicode \othercatcode - \catcode\endoffileasciicode\othercatcode - \catcode`\{ \begingroupcatcode - \catcode`\} \endgroupcatcode -\stopcatcodetable - -\startcatcodetable \typcatcodesb - \catcode\tabasciicode \othercatcode - \catcode\endoflineasciicode\othercatcode - \catcode\formfeedasciicode \othercatcode - \catcode\spaceasciicode \othercatcode - \catcode\endoffileasciicode\othercatcode - \catcode`\< \begingroupcatcode - \catcode`\> \endgroupcatcode -\stopcatcodetable - -\startcatcodetable \typcatcodesc - \catcode\tabasciicode \othercatcode - \catcode\endoflineasciicode\othercatcode - \catcode\formfeedasciicode \othercatcode - \catcode\spaceasciicode \othercatcode - \catcode\endoffileasciicode\othercatcode -\stopcatcodetable - -\startcatcodetable \txtcatcodes - \catcode\tabasciicode \spacecatcode - \catcode\endoflineasciicode\endoflinecatcode - \catcode\formfeedasciicode \endoflinecatcode - \catcode\spaceasciicode \spacecatcode - \catcode\endoffileasciicode\ignorecatcode - \catcode`\\ \escapecatcode - \catcode`\{ \begingroupcatcode - \catcode`\} \endgroupcatcode -\stopcatcodetable - -\letcatcodecommand \ctxcatcodes `\| \relax -\letcatcodecommand \ctxcatcodes `\~ \relax - - \catcodetable \ctxcatcodes -\let \defaultcatcodetable \ctxcatcodes - -% for the moment here: - -\def\starttexcode - {\pushcatcodetable - \catcodetable\prtcatcodes} - -\def\stoptexcode - {\popcatcodetable} - -\endinput - -% under consideration: -% -% \newcatcodetable\txtcatcodes -% -% \startcatcodetable \txtcatcodes -% \catcode\tabasciicode \spacecatcode -% \catcode\endoflineasciicode\endoflinecatcode -% \catcode\formfeedasciicode \endoflinecatcode -% \catcode\spaceasciicode \spacecatcode -% \catcode`\\ \escapecatcode -% \catcode`\{ \begingroupcatcode -% \catcode`\} \endgroupcatcode -% \stopcatcodetable -% -% \newcount\relaxedcatcodedepth -% -% \def\startrelaxedcatcodes -% {\global\chardef\relaxedcatcodeparent\catcodetable -% \global\advance\relaxedcatcodedepth\plusone -% \nonknuthmode\setcatcodetable\txtcatcodes} -% -% \def\stoprelaxedcatcodes -% {\ifcase\relaxedcatcodedepth -% % error -% \or -% \setcatcodetable\relaxedcatcodeparent -% \global\relaxedcatcodedepth\zerocount -% \else -% \global\advance\relaxedcatcodedepth\minusone -% \setcatcodetable\txtcatcodes -% \fi} -% -% \starttext -% -% \startrelaxedcatcodes -% \startcomment test \stopcomment -% test $ test 10% whatever|test \mathematics{x^2=1} -% \stoprelaxedcatcodes -% -% $x^2=1$ -% -% \stoptext diff --git a/tex/context/base/catc-def.tex b/tex/context/base/catc-def.mkii index 7db086489..275a9a6cd 100644 --- a/tex/context/base/catc-def.tex +++ b/tex/context/base/catc-def.mkii @@ -34,15 +34,15 @@ \catcode\formfeedasciicode \endoflinecatcode \catcode\spaceasciicode \spacecatcode \catcode\endoffileasciicode \ignorecatcode - \catcode\caretasciicode \superscriptcatcode + \catcode\circumflexasciicode\superscriptcatcode \catcode\underscoreasciicode\subscriptcatcode \catcode\ampersandasciicode \alignmentcatcode - \catcode`\\ \escapecatcode - \catcode`\{ \begingroupcatcode - \catcode`\} \endgroupcatcode - \catcode`\$ \mathshiftcatcode - \catcode`\# \parametercatcode - \catcode`\% \commentcatcode + \catcode\backslashasciicode \escapecatcode + \catcode\leftbraceasciicode \begingroupcatcode + \catcode\rightbraceasciicode\endgroupcatcode + \catcode\dollarasciicode \mathshiftcatcode + \catcode\hashasciicode \parametercatcode + \catcode\commentasciicode \commentcatcode \stopcatcodetable \startcatcodetable \luacatcodes @@ -51,17 +51,17 @@ \catcode\formfeedasciicode \othercatcode \catcode\spaceasciicode \othercatcode \catcode\endoffileasciicode \ignorecatcode - \catcode\caretasciicode \othercatcode + \catcode\circumflexasciicode\othercatcode \catcode\underscoreasciicode\othercatcode \catcode\ampersandasciicode \othercatcode - \catcode`\\ \escapecatcode - \catcode`\% \othercatcode - \catcode`\# \othercatcode - \catcode`\| \othercatcode - \catcode`\{ \othercatcode - \catcode`\} \othercatcode - \catcode`\~ \othercatcode - \catcode`\$ \othercatcode + \catcode\backslashasciicode \escapecatcode + \catcode\commentasciicode \othercatcode + \catcode\hashasciicode \othercatcode + \catcode\barasciicode \othercatcode + \catcode\leftbraceasciicode \othercatcode + \catcode\rightbraceasciicode\othercatcode + \catcode\tildeasciicode \othercatcode + \catcode\dollarasciicode \othercatcode \stopcatcodetable \startcatcodetable \notcatcodes % probably less needed @@ -70,22 +70,22 @@ \catcode\formfeedasciicode \endoflinecatcode \catcode\spaceasciicode \spacecatcode \catcode\endoffileasciicode \ignorecatcode - \catcode\caretasciicode \othercatcode + \catcode\circumflexasciicode\othercatcode \catcode\underscoreasciicode\othercatcode \catcode\ampersandasciicode \othercatcode - \catcode`\~ \othercatcode - \catcode`\# \othercatcode - \catcode`\$ \othercatcode - \catcode`\% \othercatcode + \catcode\tildeasciicode \othercatcode + \catcode\hashasciicode \othercatcode + \catcode\dollarasciicode \othercatcode + \catcode\commentasciicode \othercatcode \catcode`\< \othercatcode \catcode`\> \othercatcode - \catcode`\{ \othercatcode - \catcode`\} \othercatcode + \catcode\leftbraceasciicode \othercatcode + \catcode\rightbraceasciicode\othercatcode \catcode`\" \othercatcode \catcode`\' \othercatcode \catcode`\/ \othercatcode - \catcode`\\ \othercatcode - \catcode`\| \othercatcode + \catcode\backslashasciicode \othercatcode + \catcode\barasciicode \othercatcode \stopcatcodetable \startcatcodetable \vrbcatcodes % probably less needed @@ -102,34 +102,34 @@ \catcode\formfeedasciicode \endoflinecatcode \catcode\spaceasciicode \spacecatcode \catcode\endoffileasciicode \ignorecatcode - \catcode\caretasciicode \superscriptcatcode + \catcode\circumflexasciicode\superscriptcatcode \catcode\underscoreasciicode\subscriptcatcode \catcode\ampersandasciicode \alignmentcatcode - \catcode`\\ \escapecatcode - \catcode`\{ \begingroupcatcode - \catcode`\} \endgroupcatcode - \catcode`\$ \mathshiftcatcode - \catcode`\# \parametercatcode - \catcode`\% \commentcatcode + \catcode\backslashasciicode \escapecatcode + \catcode\leftbraceasciicode \begingroupcatcode + \catcode\rightbraceasciicode\endgroupcatcode + \catcode\dollarasciicode \mathshiftcatcode + \catcode\hashasciicode \parametercatcode + \catcode\commentasciicode \commentcatcode \catcode`\@ \lettercatcode \catcode`\! \lettercatcode \catcode`\? \lettercatcode - \catcode`\~ \activecatcode - \catcode`\| \activecatcode + \catcode\tildeasciicode \activecatcode + \catcode\barasciicode \activecatcode \stopcatcodetable %D Because some characters have a special meaning, we provide %D shortcuts to their character representation. -\chardef\^=\caretasciicode +\chardef\^=\circumflexasciicode \chardef\_=\underscoreasciicode % but way too wide in lm, so ... until that's fixed: \chardef\&=\ampersandasciicode -\chardef\%=`\% -\chardef\#=`\# -\chardef\$=`\$ -\chardef\{=`\{ -\chardef\}=`\} -\chardef\\=`\\ +\chardef\%=\commentasciicode +\chardef\#=\hashasciicode +\chardef\$=\dollarasciicode +\chardef\{=\leftbraceasciicode +\chardef\}=\rightbraceasciicode +\chardef\\=\backslashasciicode %def\_{\leavevmode \kern.06em \vbox{\hrule width.3em}} \def\_{\dontleavehmode \kern.06em \vbox{\hrule width.3em}} diff --git a/tex/context/base/catc-def.mkiv b/tex/context/base/catc-def.mkiv new file mode 100644 index 000000000..275a9a6cd --- /dev/null +++ b/tex/context/base/catc-def.mkiv @@ -0,0 +1,142 @@ +%D \module +%D [ file=catc-def, +%D version=2006.09.18, +%D title=\CONTEXT\ Catcode Macros, +%D subtitle=Default Tables, +%D author=Hans Hagen, +%D date=\currentdate, +%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. + +%D The following catcode tables are rather \CONTEXT\ independent. + +\ifdefined\nilcatcodes \else \newcatcodetable \nilcatcodes \fi +\ifdefined\texcatcodes \else \newcatcodetable \texcatcodes \fi +\ifdefined\luacatcodes \else \newcatcodetable \luacatcodes \fi +\ifdefined\notcatcodes \else \newcatcodetable \notcatcodes \fi +\ifdefined\vrbcatcodes \else \newcatcodetable \vrbcatcodes \fi +\ifdefined\prtcatcodes \else \newcatcodetable \prtcatcodes \fi + +\startcatcodetable \nilcatcodes + \catcode\tabasciicode \spacecatcode + \catcode\endoflineasciicode\endoflinecatcode + \catcode\formfeedasciicode \endoflinecatcode + \catcode\spaceasciicode \spacecatcode + \catcode\endoffileasciicode\ignorecatcode +\stopcatcodetable + +\startcatcodetable \texcatcodes + \catcode\tabasciicode \spacecatcode + \catcode\endoflineasciicode \endoflinecatcode + \catcode\formfeedasciicode \endoflinecatcode + \catcode\spaceasciicode \spacecatcode + \catcode\endoffileasciicode \ignorecatcode + \catcode\circumflexasciicode\superscriptcatcode + \catcode\underscoreasciicode\subscriptcatcode + \catcode\ampersandasciicode \alignmentcatcode + \catcode\backslashasciicode \escapecatcode + \catcode\leftbraceasciicode \begingroupcatcode + \catcode\rightbraceasciicode\endgroupcatcode + \catcode\dollarasciicode \mathshiftcatcode + \catcode\hashasciicode \parametercatcode + \catcode\commentasciicode \commentcatcode +\stopcatcodetable + +\startcatcodetable \luacatcodes + \catcode\tabasciicode \othercatcode + \catcode\endoflineasciicode \othercatcode + \catcode\formfeedasciicode \othercatcode + \catcode\spaceasciicode \othercatcode + \catcode\endoffileasciicode \ignorecatcode + \catcode\circumflexasciicode\othercatcode + \catcode\underscoreasciicode\othercatcode + \catcode\ampersandasciicode \othercatcode + \catcode\backslashasciicode \escapecatcode + \catcode\commentasciicode \othercatcode + \catcode\hashasciicode \othercatcode + \catcode\barasciicode \othercatcode + \catcode\leftbraceasciicode \othercatcode + \catcode\rightbraceasciicode\othercatcode + \catcode\tildeasciicode \othercatcode + \catcode\dollarasciicode \othercatcode +\stopcatcodetable + +\startcatcodetable \notcatcodes % probably less needed + \catcode\tabasciicode \spacecatcode + \catcode\endoflineasciicode \endoflinecatcode + \catcode\formfeedasciicode \endoflinecatcode + \catcode\spaceasciicode \spacecatcode + \catcode\endoffileasciicode \ignorecatcode + \catcode\circumflexasciicode\othercatcode + \catcode\underscoreasciicode\othercatcode + \catcode\ampersandasciicode \othercatcode + \catcode\tildeasciicode \othercatcode + \catcode\hashasciicode \othercatcode + \catcode\dollarasciicode \othercatcode + \catcode\commentasciicode \othercatcode + \catcode`\< \othercatcode + \catcode`\> \othercatcode + \catcode\leftbraceasciicode \othercatcode + \catcode\rightbraceasciicode\othercatcode + \catcode`\" \othercatcode + \catcode`\' \othercatcode + \catcode`\/ \othercatcode + \catcode\backslashasciicode \othercatcode + \catcode\barasciicode \othercatcode +\stopcatcodetable + +\startcatcodetable \vrbcatcodes % probably less needed + \catcode\tabasciicode \othercatcode + \catcode\endoflineasciicode\othercatcode + \catcode\formfeedasciicode \othercatcode + \catcode\spaceasciicode \othercatcode + \catcode\endoffileasciicode\othercatcode +\stopcatcodetable + +\startcatcodetable \prtcatcodes + \catcode\tabasciicode \spacecatcode + \catcode\endoflineasciicode \endoflinecatcode + \catcode\formfeedasciicode \endoflinecatcode + \catcode\spaceasciicode \spacecatcode + \catcode\endoffileasciicode \ignorecatcode + \catcode\circumflexasciicode\superscriptcatcode + \catcode\underscoreasciicode\subscriptcatcode + \catcode\ampersandasciicode \alignmentcatcode + \catcode\backslashasciicode \escapecatcode + \catcode\leftbraceasciicode \begingroupcatcode + \catcode\rightbraceasciicode\endgroupcatcode + \catcode\dollarasciicode \mathshiftcatcode + \catcode\hashasciicode \parametercatcode + \catcode\commentasciicode \commentcatcode + \catcode`\@ \lettercatcode + \catcode`\! \lettercatcode + \catcode`\? \lettercatcode + \catcode\tildeasciicode \activecatcode + \catcode\barasciicode \activecatcode +\stopcatcodetable + +%D Because some characters have a special meaning, we provide +%D shortcuts to their character representation. + +\chardef\^=\circumflexasciicode +\chardef\_=\underscoreasciicode % but way too wide in lm, so ... until that's fixed: +\chardef\&=\ampersandasciicode +\chardef\%=\commentasciicode +\chardef\#=\hashasciicode +\chardef\$=\dollarasciicode +\chardef\{=\leftbraceasciicode +\chardef\}=\rightbraceasciicode +\chardef\\=\backslashasciicode + +%def\_{\leavevmode \kern.06em \vbox{\hrule width.3em}} +\def\_{\dontleavehmode \kern.06em \vbox{\hrule width.3em}} + +%D From now on we can use the protection mechanisms. + +\def\unprotect {\pushcatcodetable\setcatcodetable\prtcatcodes} +\def\protect {\popcatcodetable} + +\endinput diff --git a/tex/context/base/catc-ini.mkii b/tex/context/base/catc-ini.mkii index 4f80e6595..900f61756 100644 --- a/tex/context/base/catc-ini.mkii +++ b/tex/context/base/catc-ini.mkii @@ -22,33 +22,41 @@ \ifx\plusone \undefined \chardef \plusone = 1 \fi \ifx\minusone \undefined \newcount\minusone \minusone =-1 \fi -\chardef\escapecatcode = 0 -\chardef\begingroupcatcode = 1 -\chardef\endgroupcatcode = 2 -\chardef\mathshiftcatcode = 3 -\chardef\alignmentcatcode = 4 -\chardef\endoflinecatcode = 5 -\chardef\parametercatcode = 6 -\chardef\superscriptcatcode = 7 -\chardef\subscriptcatcode = 8 -\chardef\ignorecatcode = 9 -\chardef\spacecatcode = 10 -\chardef\lettercatcode = 11 -\chardef\othercatcode = 12 \chardef\other = 12 -\chardef\activecatcode = 13 \chardef\active = 13 -\chardef\commentcatcode = 14 - -\chardef\tabasciicode = 9 % ^^I -\chardef\newlineasciicode = 10 % ^^J don't confuse this one with \endoflineasciicode -\chardef\formfeedasciicode = 12 % ^^L -\chardef\endoflineasciicode = 13 % ^^M somewhat messy but this can be the active \par -\chardef\endoffileasciicode = 26 % ^^Z -\chardef\ampersandasciicode = 38 -\chardef\caretasciicode = 94 -\chardef\underscoreasciicode= 95 -\chardef\spaceasciicode = 32 -%chardef\barasciicode = 124 -\chardef\delasciicode = 127 +\chardef\escapecatcode = 0 +\chardef\begingroupcatcode = 1 +\chardef\endgroupcatcode = 2 +\chardef\mathshiftcatcode = 3 +\chardef\alignmentcatcode = 4 +\chardef\endoflinecatcode = 5 +\chardef\parametercatcode = 6 +\chardef\superscriptcatcode = 7 +\chardef\subscriptcatcode = 8 +\chardef\ignorecatcode = 9 +\chardef\spacecatcode = 10 +\chardef\lettercatcode = 11 +\chardef\othercatcode = 12 \chardef\other = 12 +\chardef\activecatcode = 13 \chardef\active = 13 +\chardef\commentcatcode = 14 +\chardef\invalidcatcode = 15 + +\chardef\tabasciicode = 9 % ^^I +\chardef\newlineasciicode = 10 % ^^J don't confuse this one with \endoflineasciicode +\chardef\formfeedasciicode = 12 % ^^L +\chardef\endoflineasciicode = 13 % ^^M somewhat messy but this can be the active \par +\chardef\endoffileasciicode = 26 % ^^Z +\chardef\spaceasciicode = 32 +\chardef\hashasciicode = 35 +\chardef\dollarasciicode = 36 +\chardef\commentasciicode = 37 +\chardef\ampersandasciicode = 38 +\chardef\backslashasciicode = 92 % `\\ +\chardef\circumflexasciicode = 94 +\chardef\underscoreasciicode = 95 +\chardef\leftbraceasciicode = 123 % `\{ +\chardef\barasciicode = 124 % `\| +\chardef\rightbraceasciicode = 125 % `\} +\chardef\tildeasciicode = 126 % `\~ +\chardef\delasciicode = 127 \newif \ifrecatcodeuppercharacters % only used in good old tex diff --git a/tex/context/base/catc-ini.mkiv b/tex/context/base/catc-ini.mkiv index 9e974545e..fbc8630de 100644 --- a/tex/context/base/catc-ini.mkiv +++ b/tex/context/base/catc-ini.mkiv @@ -21,21 +21,22 @@ %D implement a fake method in the \MKII\ file. There is some %D overlap in code with \MKII\ but we take that for granted. -\setnewconstant\escapecatcode 0 -\setnewconstant\begingroupcatcode 1 -\setnewconstant\endgroupcatcode 2 -\setnewconstant\mathshiftcatcode 3 -\setnewconstant\alignmentcatcode 4 -\setnewconstant\endoflinecatcode 5 -\setnewconstant\parametercatcode 6 -\setnewconstant\superscriptcatcode 7 -\setnewconstant\subscriptcatcode 8 -\setnewconstant\ignorecatcode 9 -\setnewconstant\spacecatcode 10 -\setnewconstant\lettercatcode 11 -\setnewconstant\othercatcode 12 \let\other \othercatcode -\setnewconstant\activecatcode 13 \let\active\activecatcode -\setnewconstant\commentcatcode 14 +\setnewconstant\escapecatcode 0 +\setnewconstant\begingroupcatcode 1 +\setnewconstant\endgroupcatcode 2 +\setnewconstant\mathshiftcatcode 3 +\setnewconstant\alignmentcatcode 4 +\setnewconstant\endoflinecatcode 5 +\setnewconstant\parametercatcode 6 +\setnewconstant\superscriptcatcode 7 +\setnewconstant\subscriptcatcode 8 +\setnewconstant\ignorecatcode 9 +\setnewconstant\spacecatcode 10 +\setnewconstant\lettercatcode 11 +\setnewconstant\othercatcode 12 \let\other \othercatcode +\setnewconstant\activecatcode 13 \let\active\activecatcode +\setnewconstant\commentcatcode 14 +\setnewconstant\invalidcatcode 15 \setnewconstant\tabasciicode 9 \setnewconstant\newlineasciicode 10 % don't confuse this one with \endoflineasciicode @@ -43,12 +44,37 @@ \setnewconstant\endoflineasciicode 13 % somewhat messy but this can be the active \par \setnewconstant\endoffileasciicode 26 \setnewconstant\spaceasciicode 32 +\setnewconstant\hashasciicode 35 +\setnewconstant\dollarasciicode 36 +\setnewconstant\commentasciicode 37 \setnewconstant\ampersandasciicode 38 -\setnewconstant\caretasciicode 94 +\setnewconstant\backslashasciicode 92 % `\\ +\setnewconstant\circumflexasciicode 94 \setnewconstant\underscoreasciicode 95 -%setnewconstant\barasciicode 124 +\setnewconstant\leftbraceasciicode 123 % `\{ +\setnewconstant\barasciicode 124 % `\| +\setnewconstant\rightbraceasciicode 125 % `\} +\setnewconstant\tildeasciicode 126 % `\~ \setnewconstant\delasciicode 127 +\bgroup + \catcode \tabasciicode \activecatcode \gdef\activetabtoken {^^I} + \gdef\outputnewlinechar {^^J} + \catcode \formfeedasciicode \activecatcode \gdef\activeformfeedtoken {^^L} + \catcode \endoflineasciicode \activecatcode \gdef\activeendoflinetoken{^^M} +\egroup + +% \endlinechar = \endoflineasciicode % appended to input lines +% \newlinechar = \newlineasciicode % can be used in write + +% rather special and used in writing to file: \let\par\outputnewlinechar + +\def\initializenewlinechar % operating system dependent + {\bgroup + \newlinechar\newlineasciicode + \xdef\outputnewlinechar{^^J}% + \egroup} + \ifx\gobbleoneargument\undefined \long\def\gobbleoneargument#1{} \fi \newif \ifrecatcodeuppercharacters % only used in good old tex @@ -71,10 +97,10 @@ \newtoks \setdefaultcatcodes \setdefaultcatcodes - {\catcode`\\ \othercatcode + {\catcode\backslashasciicode\othercatcode \catcode\endoflineasciicode\othercatcode \catcode\spaceasciicode \othercatcode - \catcode`\% \othercatcode + \catcode\commentasciicode \othercatcode \catcode\delasciicode \othercatcode} \long\normalprotected\def\startcatcodetable#1#2\stopcatcodetable @@ -85,8 +111,10 @@ \savecatcodetable#1\relax \egroup} -\def\permitcaretescape % to be used grouped - {\catcode`\^ = \superscriptcatcode} +\def\permitcircumflexescape % to be used grouped + {\catcode\circumflexasciicode\superscriptcatcode} + +\let\permitcaretescape\permitcircumflexescape \newcatcodetable\dummycatcodes @@ -121,7 +149,7 @@ %D mechanism? Future versions of \MKIV\ might only use %D active characters for very special cases. -\setnewconstant\activehackcode `\~ +\setnewconstant\activehackcode \tildeasciicode %D Once a catcode is assigned, the next assignments will happen faster. diff --git a/tex/context/base/catc-sym.tex b/tex/context/base/catc-sym.mkii index dafe92290..91cac5f90 100644 --- a/tex/context/base/catc-sym.tex +++ b/tex/context/base/catc-sym.mkii @@ -94,8 +94,8 @@ % if used often we can move the code inline - \catcode`\|=\activecatcode - \catcode`\~=\activecatcode + \catcode\barasciicode \activecatcode + \catcode\tildeasciicode\activecatcode \global \everyverbosechacters = {\setverbosecscharacter |\setverbosecscharacter ~% context specific diff --git a/tex/context/base/catc-sym.mkiv b/tex/context/base/catc-sym.mkiv new file mode 100644 index 000000000..91cac5f90 --- /dev/null +++ b/tex/context/base/catc-sym.mkiv @@ -0,0 +1,187 @@ +%D \module +%D [ file=catc-sym, +%D version=1997.01.03, % moved code +%D title=\CONTEXT\ Catcode Macros, +%D subtitle=Some Handy Constants, +%D author=Hans Hagen, +%D date=\currentdate, +%D copyright=\PRAGMA] +%C +%C This module is part of the \CONTEXT\ macro||package and is +%C therefore copyrighted by \PRAGMA. See mreadme.pdf for +%C details. + +% we now have loaded syst-* so we have all @@catcode constants + +%D We want to have access to the raw alternatives of the +%D special characters. We use a \type {\xdef} instead of +%D \type {\let} because we need an expandable token in a +%D \type {\write}. + +\bgroup + +\catcode`B=\begingroupcatcode +\catcode`E=\endgroupcatcode +\catcode`.=\escapecatcode + +.catcode `.{ 12 .xdef .letteropenbrace B.string{E +.catcode `.} 12 .xdef .letterclosebrace B.string}E +.catcode `.& 12 .xdef .letterampersand B.string&E +.catcode `.< 12 .xdef .letterless B.string<E +.catcode `.> 12 .xdef .lettermore B.string>E +.catcode `.# 12 .xdef .letterhash B.string#E +.catcode `." 12 .xdef .letterdoublequote B.string"E +.catcode `.' 12 .xdef .lettersinglequote B.string'E +.catcode `.$ 12 .xdef .letterdollar B.string$E +.catcode `.% 12 .xdef .letterpercent B.string%E +.catcode `.^ 12 .xdef .letterhat B.string^E +.catcode `._ 12 .xdef .letterunderscore B.string_E +.catcode `.| 12 .xdef .letterbar B.string|E +.catcode `.~ 12 .xdef .lettertilde B.string~E +.catcode `.\ 12 .xdef .letterbackslash B.string\E +.catcode `./ 12 .xdef .letterslash B.string/E +.catcode `.? 12 .xdef .letterquestionmark B.string?E +.catcode `.! 12 .xdef .letterexclamationmark B.string!E +.catcode `.@ 12 .xdef .letterat B.string@E +.catcode `.: 12 .xdef .lettercolon B.string:E + + .global .let .letterescape .letterbackslash + .global .let .letterbgroup .letteropenbrace + .global .let .letteregroup .letterclosebrace + .global .let .letterleftbrace .letteropenbrace + .global .let .letterrightbrace .letterclosebrace + +.egroup + +%D \macros +%D {uncatcodespecials,setnaturalcatcodes,setnormalcatcodes, +%D uncatcodecharacters,uncatcodeallcharacters, +%D uncatcodespacetokens} +%D +%D The following macros are more or less replaced by switching +%D to a catcode table (which we simulate in \MKII) but we keep +%D them for convenience and compatibility. Some old engine code +%D has been removed. + +\def\uncatcodespecials {\setcatcodetable\nilcatcodes \uncatcodespacetokens} +\def\setnaturalcatcodes {\setcatcodetable\nilcatcodes} +\def\setnormalcatcodes {\setcatcodetable\ctxcatcodes} % maybe \texcatcodes +\def\uncatcodecharacters {\setcatcodetable\nilcatcodes} % was fast version, gone now +\def\uncatcodeallcharacters{\setcatcodetable\nilcatcodes} % was slow one, with restore + +\def\uncatcodespacetokens + {\catcode\spaceasciicode \spacecatcode + \catcode\formfeedasciicode \ignorecatcode + \catcode\endoflineasciicode\endoflinecatcode + \catcode\delasciicode \ignorecatcode} + +%D \macros +%D {setverbosecharacter,setverbosecscharacters} +%D +%D Next follows a definition that lets some shortcuts expand to +%D themselves. This macro is meant for \POSTSCRIPT\ and \PDF\ +%D code passed on to the backend. + +\newtoks\everyverbosechacters + +\def\setverbosecscharacter#1% + {\edef#1{\string#1}} + +\def\setverbosecscharacters + {\the\everyverbosechacters} + +\bgroup + + % if used often we can move the code inline + + \catcode\barasciicode \activecatcode + \catcode\tildeasciicode\activecatcode + + \global \everyverbosechacters = + {\setverbosecscharacter |\setverbosecscharacter ~% context specific + \setverbosecscharacter\|\setverbosecscharacter\~% + \setverbosecscharacter\:\setverbosecscharacter\;% + \setverbosecscharacter\+\setverbosecscharacter\-% + \setverbosecscharacter\[\setverbosecscharacter\]% + \setverbosecscharacter\.\setverbosecscharacter\\% + \setverbosecscharacter\)\setverbosecscharacter\(% + \setverbosecscharacter\0\setverbosecscharacter\1% + \setverbosecscharacter\2\setverbosecscharacter\3% + \setverbosecscharacter\4\setverbosecscharacter\5% + \setverbosecscharacter\6\setverbosecscharacter\7% + \setverbosecscharacter\8\setverbosecscharacter\9% + \setverbosecscharacter\n\setverbosecscharacter\s% + \setverbosecscharacter\/} + +\egroup + +%D (Inspired by a discussion on the \CONTEXT\ mailing list) +%D +%D In \TEX\ each character can have one of 16 catcodes. This way the +%D backslash, dollar, ampersand, hash and some more characters get +%D their special meaning. If you want to process tokens under a +%D certain catcode regime, passing arguments can interfere badly. +%D +%D \startbuffer[a] +%D \def\whatever#1{[#1]} +%D \whatever{whatever \type {\whatever{you want}} $or$ not!} +%D \stopbuffer +%D +%D \typebuffer[a] +%D +%D Here we pass an argument to \type {\whatever} but part of that +%D argument is to be processed under a different catcode regime, i.e.\ +%D all characters that need to be typeset verbatim need to get +%D the catcode that makes it a letter. This is what we get when we typeset +%D the text verbatim: +%D +%D \starttyping +%D whatever \type {\whatever{you want}} $or$ not! +%D \stoptyping +%D +%D However, when passed to \type {\whatever} we get: +%D +%D \getbuffer[a] +%D +%D In \ETEX\ one can use \type {\scantokens} to circumvent this problem. +%D +%D \startbuffer[b] +%D \def\rescan#1{\scantokens{#1}} +%D \def\whatever#1{[\rescan{#1}]} +%D \whatever{whatever \type {\whatever{you want}} $or$ not!} +%D \stopbuffer +%D +%D \getbuffer[b] \typebuffer[b] +%D +%D This time the \type {\whatever} call gives: +%D +%D \getbuffer[b] +%D +%D In this example, two spaces have crept in. The first one, after the +%D macro name, is inserted by \TEX\ and cannot be avoided. The last space +%D is inserted by \type {\scantokens}, and is the consequence of the fact +%D that this macro mimics reading from a file. You can avoid the last +%D space by a slightly different definition: +%D +%D \startbuffer[c] +%D \def\rescan#1{\scantokens{#1\ignorespaces}} +%D \def\whatever#1{[\rescan{#1}]} +%D \whatever{whatever \type {\whatever{you want}} $or$ not!} +%D \stopbuffer +%D +%D \typebuffer[c] +%D +%D Unfortunately we still keep the first space, but at least it's better than +%D a failure: +%D +%D \getbuffer[c] + +\long\def\rescan#1{\scantokens{#1\ignorespaces}} +\long\def\rescanwithsetup#1#2{\begingroup\directsetup{#1}\scantokens{#2\ignorespaces}\endgroup} + +\ifx\scantextokens\undefined \else + \long\def\rescan#1{\scantextokens{#1}} + \long\def\rescanwithsetup#1#2{\begingroup\directsetup{#1}\scantextokens{#2}\endgroup} +\fi + +\endinput diff --git a/tex/context/base/catc-xml.mkii b/tex/context/base/catc-xml.mkii new file mode 100644 index 000000000..2349e01a2 --- /dev/null +++ b/tex/context/base/catc-xml.mkii @@ -0,0 +1,114 @@ +%D \module +%D [ file=catc-xml, +%D version=2006.09.18, +%D title=\CONTEXT\ Catcode Macros, +%D subtitle=\XML\ Catcode Tables, +%D author=Hans Hagen, +%D date=\currentdate, +%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. + +\writestatus{loading}{ConTeXt Catcode Regimes / XML} + +\ifdefined \xmlcatcodesn \else \newcatcodetable \xmlcatcodesn \fi % normal +\ifdefined \xmlcatcodese \else \newcatcodetable \xmlcatcodese \fi % entitle +\ifdefined \xmlcatcodesr \else \newcatcodetable \xmlcatcodesr \fi % reduce + +\startcatcodetable \xmlcatcodesn + \catcode\tabasciicode \spacecatcode + \catcode\endoflineasciicode \endoflinecatcode + \catcode\formfeedasciicode \endoflinecatcode + \catcode\spaceasciicode \spacecatcode + \catcode\endoffileasciicode \ignorecatcode + \catcode\ampersandasciicode \activecatcode + \catcode`\< \activecatcode + \catcode`\> \othercatcode + \catcode`\" \othercatcode % probably not needed any more + \catcode`\/ \othercatcode % probably not needed any more + \catcode`\' \othercatcode % probably not needed any more + \catcode\tildeasciicode \othercatcode % probably not needed any more + \catcode\hashasciicode \othercatcode % probably not needed any more + \catcode\backslashasciicode \othercatcode % probably not needed any more +\stopcatcodetable + +\startcatcodetable \xmlcatcodese + \catcode\tabasciicode \spacecatcode + \catcode\endoflineasciicode \endoflinecatcode + \catcode\formfeedasciicode \endoflinecatcode + \catcode\spaceasciicode \spacecatcode + \catcode\endoffileasciicode \ignorecatcode + \catcode\ampersandasciicode \activecatcode + \catcode`\< \activecatcode + \catcode`\> \activecatcode + \catcode\hashasciicode \activecatcode + \catcode\dollarasciicode \activecatcode + \catcode\commentasciicode \activecatcode + \catcode\backslashasciicode \activecatcode + \catcode\circumflexasciicode\activecatcode + \catcode\underscoreasciicode\activecatcode + \catcode\leftbraceasciicode \activecatcode + \catcode\rightbraceasciicode\activecatcode + \catcode\barasciicode \activecatcode + \catcode\tildeasciicode \activecatcode +\stopcatcodetable + +\startcatcodetable \xmlcatcodesr + \catcode\tabasciicode \spacecatcode + \catcode\endoflineasciicode \endoflinecatcode + \catcode\formfeedasciicode \endoflinecatcode + \catcode\spaceasciicode \spacecatcode + \catcode\endoffileasciicode \ignorecatcode + \catcode\ampersandasciicode \activecatcode + \catcode`\< \activecatcode + \catcode`\> \activecatcode + \catcode\hashasciicode \activecatcode + \catcode\dollarasciicode \activecatcode + \catcode\commentasciicode \activecatcode + \catcode\backslashasciicode \activecatcode + \catcode\circumflexasciicode\activecatcode + \catcode\underscoreasciicode\activecatcode + \catcode\leftbraceasciicode \activecatcode + \catcode\rightbraceasciicode\activecatcode + \catcode\barasciicode \activecatcode + \catcode\tildeasciicode \activecatcode +\stopcatcodetable + +%D Next we hook in some active character definitions. + +\letcatcodecommand \xmlcatcodesn \ampersandasciicode \relax +\letcatcodecommand \xmlcatcodesn `\< \relax + +\letcatcodecommand \xmlcatcodese \ampersandasciicode \relax +\letcatcodecommand \xmlcatcodese `\< \relax + +\letcatcodecommand \xmlcatcodesr \ampersandasciicode \relax +\letcatcodecommand \xmlcatcodesr `\< \relax + +\letcatcodecommand \xmlcatcodese \hashasciicode \relax +\letcatcodecommand \xmlcatcodese \dollarasciicode \relax +\letcatcodecommand \xmlcatcodese \commentasciicode \relax +\letcatcodecommand \xmlcatcodese \backslashasciicode \relax +\letcatcodecommand \xmlcatcodese \circumflexasciicode \relax +\letcatcodecommand \xmlcatcodese \underscoreasciicode \relax +\letcatcodecommand \xmlcatcodese \leftbraceasciicode \relax +\letcatcodecommand \xmlcatcodese \rightbraceasciicode \relax +\letcatcodecommand \xmlcatcodese \barasciicode \relax +\letcatcodecommand \xmlcatcodese \tildeasciicode \relax + +\letcatcodecommand \xmlcatcodesr \hashasciicode \relax +\letcatcodecommand \xmlcatcodesr \dollarasciicode \relax +\letcatcodecommand \xmlcatcodesr \commentasciicode \relax +\letcatcodecommand \xmlcatcodesr \backslashasciicode \relax +\letcatcodecommand \xmlcatcodesr \circumflexasciicode \relax +\letcatcodecommand \xmlcatcodesr \underscoreasciicode \relax +\letcatcodecommand \xmlcatcodesr \leftbraceasciicode \relax +\letcatcodecommand \xmlcatcodesr \rightbraceasciicode \relax +\letcatcodecommand \xmlcatcodesr \barasciicode \relax +\letcatcodecommand \xmlcatcodesr \tildeasciicode \relax + +\let\xmlcatcodes \xmlcatcodesn % beware, in mkiv we use \notcatcodes + +\endinput diff --git a/tex/context/base/catc-xml.mkiv b/tex/context/base/catc-xml.mkiv new file mode 100644 index 000000000..1f11d353a --- /dev/null +++ b/tex/context/base/catc-xml.mkiv @@ -0,0 +1,133 @@ +%D \module +%D [ file=catc-xml, +%D version=2006.09.18, +%D title=\CONTEXT\ Catcode Macros, +%D subtitle=\XML\ Catcode Tables, +%D author=Hans Hagen, +%D date=\currentdate, +%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. + +\writestatus{loading}{ConTeXt Catcode Regimes / XML} + +\ifdefined \xmlcatcodesn \else \newcatcodetable \xmlcatcodesn \fi % normal +\ifdefined \xmlcatcodese \else \newcatcodetable \xmlcatcodese \fi % entitle +\ifdefined \xmlcatcodesr \else \newcatcodetable \xmlcatcodesr \fi % reduce + +\startcatcodetable \xmlcatcodesn + \catcode\tabasciicode \spacecatcode + \catcode\endoflineasciicode \endoflinecatcode + \catcode\formfeedasciicode \endoflinecatcode + \catcode\spaceasciicode \spacecatcode + \catcode\endoffileasciicode \ignorecatcode + \catcode\ampersandasciicode \activecatcode + \catcode`\< \activecatcode + \catcode`\> \othercatcode + \catcode`\" \othercatcode % probably not needed any more + \catcode`\/ \othercatcode % probably not needed any more + \catcode`\' \othercatcode % probably not needed any more + \catcode\tildeasciicode \othercatcode % probably not needed any more + \catcode\hashasciicode \othercatcode % probably not needed any more + \catcode\backslashasciicode \othercatcode % probably not needed any more +\stopcatcodetable + +\startcatcodetable \xmlcatcodese + \catcode\tabasciicode \spacecatcode + \catcode\endoflineasciicode \endoflinecatcode + \catcode\formfeedasciicode \endoflinecatcode + \catcode\spaceasciicode \spacecatcode + \catcode\endoffileasciicode \ignorecatcode + \catcode\ampersandasciicode \activecatcode + \catcode`\< \activecatcode + \catcode`\> \activecatcode + \catcode\hashasciicode \activecatcode + \catcode\dollarasciicode \activecatcode + \catcode\commentasciicode \activecatcode + \catcode\backslashasciicode \activecatcode + \catcode\circumflexasciicode\activecatcode + \catcode\underscoreasciicode\activecatcode + \catcode\leftbraceasciicode \activecatcode + \catcode\rightbraceasciicode\activecatcode + \catcode\barasciicode \activecatcode + \catcode\tildeasciicode \activecatcode +\stopcatcodetable + +\startcatcodetable \xmlcatcodesr + \catcode\tabasciicode \spacecatcode + \catcode\endoflineasciicode \endoflinecatcode + \catcode\formfeedasciicode \endoflinecatcode + \catcode\spaceasciicode \spacecatcode + \catcode\endoffileasciicode \ignorecatcode + \catcode\ampersandasciicode \activecatcode + \catcode`\< \activecatcode + \catcode`\> \activecatcode + \catcode\hashasciicode \activecatcode + \catcode\dollarasciicode \activecatcode + \catcode\commentasciicode \activecatcode + \catcode\backslashasciicode \activecatcode + \catcode\circumflexasciicode\activecatcode + \catcode\underscoreasciicode\activecatcode + \catcode\leftbraceasciicode \activecatcode + \catcode\rightbraceasciicode\activecatcode + \catcode\barasciicode \activecatcode + \catcode\tildeasciicode \activecatcode +\stopcatcodetable + +%D Next we hook in some active character definitions. + +\letcatcodecommand \xmlcatcodesn \ampersandasciicode \relax +\letcatcodecommand \xmlcatcodesn `\< \relax + +\letcatcodecommand \xmlcatcodese \ampersandasciicode \relax +\letcatcodecommand \xmlcatcodese `\< \relax + +\letcatcodecommand \xmlcatcodesr \ampersandasciicode \relax +\letcatcodecommand \xmlcatcodesr `\< \relax + +\letcatcodecommand \xmlcatcodese \hashasciicode \relax +\letcatcodecommand \xmlcatcodese \dollarasciicode \relax +\letcatcodecommand \xmlcatcodese \commentasciicode \relax +\letcatcodecommand \xmlcatcodese \backslashasciicode \relax +\letcatcodecommand \xmlcatcodese \circumflexasciicode \relax +\letcatcodecommand \xmlcatcodese \underscoreasciicode \relax +\letcatcodecommand \xmlcatcodese \leftbraceasciicode \relax +\letcatcodecommand \xmlcatcodese \rightbraceasciicode \relax +\letcatcodecommand \xmlcatcodese \barasciicode \relax +\letcatcodecommand \xmlcatcodese \tildeasciicode \relax + +\letcatcodecommand \xmlcatcodesr \hashasciicode \relax +\letcatcodecommand \xmlcatcodesr \dollarasciicode \relax +\letcatcodecommand \xmlcatcodesr \commentasciicode \relax +\letcatcodecommand \xmlcatcodesr \backslashasciicode \relax +\letcatcodecommand \xmlcatcodesr \circumflexasciicode \relax +\letcatcodecommand \xmlcatcodesr \underscoreasciicode \relax +\letcatcodecommand \xmlcatcodesr \leftbraceasciicode \relax +\letcatcodecommand \xmlcatcodesr \rightbraceasciicode \relax +\letcatcodecommand \xmlcatcodesr \barasciicode \relax +\letcatcodecommand \xmlcatcodesr \tildeasciicode \relax + +\let\xmlcatcodes \xmlcatcodesn % beware, in mkiv we use \notcatcodes + +%D We register the catcodetables at the \LUA\ end where some further +%D initializations take place. + +\ctxlua { + characters.define( + { % letter catcodes + \number\xmlcatcodesn, + \number\xmlcatcodese, + \number\xmlcatcodesr, + }, + { % activate catcodes + \number\xmlcatcodesn, + \number\xmlcatcodese, + \number\xmlcatcodesr, + } + ) + catcodes.register("xmlcatcodes",\number\xmlcatcodes) +} + +\endinput diff --git a/tex/context/base/catc-xml.tex b/tex/context/base/catc-xml.tex deleted file mode 100644 index 69fa7ee43..000000000 --- a/tex/context/base/catc-xml.tex +++ /dev/null @@ -1,137 +0,0 @@ -%D \module -%D [ file=catc-xml, -%D version=2006.09.18, -%D title=\CONTEXT\ Catcode Macros, -%D subtitle=\XML\ Catcode Tables, -%D author=Hans Hagen, -%D date=\currentdate, -%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. - -\writestatus{loading}{ConTeXt Catcode Regimes / XML} - -\ifdefined \xmlcatcodesn \else \newcatcodetable \xmlcatcodesn \fi % normal -\ifdefined \xmlcatcodese \else \newcatcodetable \xmlcatcodese \fi % entitle -\ifdefined \xmlcatcodesr \else \newcatcodetable \xmlcatcodesr \fi % reduce - -\startcatcodetable \xmlcatcodesn - \catcode\tabasciicode \spacecatcode - \catcode\endoflineasciicode\endoflinecatcode - \catcode\formfeedasciicode \endoflinecatcode - \catcode\spaceasciicode \spacecatcode - \catcode\endoffileasciicode\ignorecatcode - \catcode`\& \activecatcode - \catcode`\< \activecatcode - \catcode`\> \othercatcode - \catcode`\" \othercatcode % probably not needed any more - \catcode`\/ \othercatcode % probably not needed any more - \catcode`\' \othercatcode % probably not needed any more - \catcode`\~ \othercatcode % probably not needed any more - \catcode`\# \othercatcode % probably not needed any more - \catcode`\\ \othercatcode % probably not needed any more -\stopcatcodetable - -\startcatcodetable \xmlcatcodese - \catcode\tabasciicode \spacecatcode - \catcode\endoflineasciicode\endoflinecatcode - \catcode\formfeedasciicode \endoflinecatcode - \catcode\spaceasciicode \spacecatcode - \catcode\endoffileasciicode\ignorecatcode - \catcode`\& \activecatcode - \catcode`\< \activecatcode - \catcode`\> \activecatcode - \catcode`\# \activecatcode - \catcode`\$ \activecatcode - \catcode`\% \activecatcode - \catcode`\\ \activecatcode - \catcode`\^ \activecatcode - \catcode`\_ \activecatcode - \catcode`\{ \activecatcode - \catcode`\} \activecatcode - \catcode`\| \activecatcode - \catcode`\~ \activecatcode -\stopcatcodetable - -\startcatcodetable \xmlcatcodesr - \catcode\tabasciicode \spacecatcode - \catcode\endoflineasciicode\endoflinecatcode - \catcode\formfeedasciicode \endoflinecatcode - \catcode\spaceasciicode \spacecatcode - \catcode\endoffileasciicode\ignorecatcode - \catcode`\& \activecatcode - \catcode`\< \activecatcode - \catcode`\> \activecatcode - \catcode`\# \activecatcode - \catcode`\$ \activecatcode - \catcode`\% \activecatcode - \catcode`\\ \activecatcode - \catcode`\^ \activecatcode - \catcode`\_ \activecatcode - \catcode`\{ \activecatcode - \catcode`\} \activecatcode - \catcode`\| \activecatcode - \catcode`\~ \activecatcode -\stopcatcodetable - -%D Next we hook in some active character definitions. - -\letcatcodecommand \xmlcatcodesn `\& \relax -\letcatcodecommand \xmlcatcodesn `\< \relax - -\letcatcodecommand \xmlcatcodese `\& \relax -\letcatcodecommand \xmlcatcodese `\< \relax - -\letcatcodecommand \xmlcatcodesr `\& \relax -\letcatcodecommand \xmlcatcodesr `\< \relax - -\letcatcodecommand \xmlcatcodese `\# \relax -\letcatcodecommand \xmlcatcodese `\$ \relax -\letcatcodecommand \xmlcatcodese `\% \relax -\letcatcodecommand \xmlcatcodese `\\ \relax -\letcatcodecommand \xmlcatcodese `\^ \relax -\letcatcodecommand \xmlcatcodese `\_ \relax -\letcatcodecommand \xmlcatcodese `\{ \relax -\letcatcodecommand \xmlcatcodese `\} \relax -\letcatcodecommand \xmlcatcodese `\| \relax -\letcatcodecommand \xmlcatcodese `\~ \relax - -\letcatcodecommand \xmlcatcodesr `\# \relax -\letcatcodecommand \xmlcatcodesr `\$ \relax -\letcatcodecommand \xmlcatcodesr `\% \relax -\letcatcodecommand \xmlcatcodesr `\\ \relax -\letcatcodecommand \xmlcatcodesr `\^ \relax -\letcatcodecommand \xmlcatcodesr `\_ \relax -\letcatcodecommand \xmlcatcodesr `\{ \relax -\letcatcodecommand \xmlcatcodesr `\} \relax -\letcatcodecommand \xmlcatcodesr `\| \relax -\letcatcodecommand \xmlcatcodesr `\~ \relax - -\let\xmlcatcodes \xmlcatcodesn % beware, in mkiv we use \notcatcodes - -%D We register the catcodetables at the \LUA\ end where some further -%D initializations take place. - -\ifnum\texengine=\luatexengine - - \ctxlua { - characters.define( - { % letter catcodes - \number\xmlcatcodesn, - \number\xmlcatcodese, - \number\xmlcatcodesr, - }, - { % activate catcodes - \number\xmlcatcodesn, - \number\xmlcatcodese, - \number\xmlcatcodesr, - } - ) - catcodes.register("xmlcatcodes",\number\xmlcatcodes) - } - -\fi - -\endinput diff --git a/tex/context/base/char-act.mkiv b/tex/context/base/char-act.mkiv index 6cac0010e..1045d5975 100644 --- a/tex/context/base/char-act.mkiv +++ b/tex/context/base/char-act.mkiv @@ -66,33 +66,44 @@ %D \NEWPAGE\ character locally, we redefine the meaning of %D this (often already) active character. -\bgroup \permitcaretescape +% \bgroup \permitcircumflexescape - \catcode\formfeedasciicode\activecatcode +% \catcode\formfeedasciicode\activecatcode - \gdef^^L{\par} +% \gdef^^L{\par} -\egroup +% \egroup + +\expandafter\def\activeformfeedtoken{\par} %D The following indirect definitions enable us to implement %D all kind of \type{\obeyed} handlers. -\bgroup \permitcaretescape +% \bgroup \permitcircumflexescape - \catcode\tabasciicode \activecatcode - \catcode\endoflineasciicode\activecatcode - \catcode\formfeedasciicode \activecatcode +% \catcode\tabasciicode \activecatcode +% \catcode\endoflineasciicode\activecatcode +% \catcode\formfeedasciicode \activecatcode - \gdef\obeytabs {\catcode\tabasciicode \activecatcode\def^^I{\obeyedtab }} - \gdef\obeylines {\catcode\endoflineasciicode\activecatcode\def^^M{\obeyedline}} - \gdef\obeypages {\catcode\formfeedasciicode \activecatcode\def^^L{\obeyedpage}} +% \gdef\obeytabs {\catcode\tabasciicode \activecatcode\def^^I{\obeyedtab }} +% \gdef\obeylines {\catcode\endoflineasciicode\activecatcode\def^^M{\obeyedline}} +% \gdef\obeypages {\catcode\formfeedasciicode \activecatcode\def^^L{\obeyedpage}} - \gdef\ignoretabs {\catcode\tabasciicode \activecatcode\def^^I{\obeyedspace}} - \gdef\ignorelines{\catcode\endoflineasciicode\activecatcode\def^^M{\obeyedspace}} - \gdef\ignorepages{\catcode\formfeedasciicode \ignorecatcode } % \def^^L{\obeyedline}} - \gdef\ignoreeofs {\catcode\endoffileasciicode\ignorecatcode } +% \gdef\ignoretabs {\catcode\tabasciicode \activecatcode\def^^I{\obeyedspace}} +% \gdef\ignorelines{\catcode\endoflineasciicode\activecatcode\def^^M{\obeyedspace}} +% \gdef\ignorepages{\catcode\formfeedasciicode \ignorecatcode} +% \gdef\ignoreeofs {\catcode\endoffileasciicode\ignorecatcode} -\egroup +% \egroup + +\def\obeytabs {\catcode\tabasciicode \activecatcode\expandafter\def\activetabtoken {\obeyedtab }} +\def\obeylines {\catcode\endoflineasciicode\activecatcode\expandafter\def\activeendoflinetoken{\obeyedline}} +\def\obeypages {\catcode\formfeedasciicode \activecatcode\expandafter\def\activeformfeedtoken {\obeyedpage}} + +\def\ignoretabs {\catcode\tabasciicode \activecatcode\expandafter\def\activetabtoken {\obeyedspace}} +\def\ignorelines{\catcode\endoflineasciicode\activecatcode\expandafter\def\activeendoflinetoken{\obeyedspace}} +\def\ignorepages{\catcode\formfeedasciicode \ignorecatcode} +\def\ignoreeofs {\catcode\endoffileasciicode\ignorecatcode} %D \macros %D {naturaltextext} diff --git a/tex/context/base/char-def.lua b/tex/context/base/char-def.lua index 3e74aa50a..e63024e6d 100644 --- a/tex/context/base/char-def.lua +++ b/tex/context/base/char-def.lua @@ -51938,7 +51938,7 @@ characters.data={ direction="on", linebreak="al", mathclass="relation", - mathname="barleftarrowrightarrowba", -- This is a strange name + mathname="barleftarrowrightarrowbar", unicodeslot=0x21B9, }, [0x21BA]={ diff --git a/tex/context/base/char-ini.mkiv b/tex/context/base/char-ini.mkiv index ba31e6b95..1f8a46808 100644 --- a/tex/context/base/char-ini.mkiv +++ b/tex/context/base/char-ini.mkiv @@ -47,20 +47,22 @@ % \setcclcuc "201C "201C "201C % \setcclcuc "201D "201D "201D +% Is setting up vrb tpa and tpb needed? + \ctxlua { characters.define( { % letter catcodes \number\texcatcodes, \number\ctxcatcodes, \number\notcatcodes, - \number\mthcatcodes, + %number\mthcatcodes, \number\vrbcatcodes, \number\prtcatcodes, % \number\xmlcatcodesn, % \number\xmlcatcodese, % \number\xmlcatcodesr, - \number\typcatcodesa, - \number\typcatcodesb, + \number\tpacatcodes, + \number\tpbcatcodes, \number\txtcatcodes, }, { % activate catcodes diff --git a/tex/context/base/cldf-ver.lua b/tex/context/base/cldf-ver.lua index 54cc6a58b..6490b7f89 100644 --- a/tex/context/base/cldf-ver.lua +++ b/tex/context/base/cldf-ver.lua @@ -6,7 +6,7 @@ if not modules then modules = { } end modules ['cldf-ver'] = { license = "see context related readme files" } --- tex.print == newline +-- tex.print == line with endlinechar appended local concat, tohandle = table.concat, table.tohandle local find, splitlines = string.find, string.splitlines diff --git a/tex/context/base/cont-new.mkii b/tex/context/base/cont-new.mkii index 1dafcb61f..b6fd0caef 100644 --- a/tex/context/base/cont-new.mkii +++ b/tex/context/base/cont-new.mkii @@ -11,7 +11,7 @@ %C therefore copyrighted by \PRAGMA. See mreadme.pdf for %C details. -\newcontextversion{2011.01.18 19:34} +\newcontextversion{2011.01.23 20:36} %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/cont-new.mkiv b/tex/context/base/cont-new.mkiv index 9b76b6ca2..cf0be096a 100644 --- a/tex/context/base/cont-new.mkiv +++ b/tex/context/base/cont-new.mkiv @@ -11,7 +11,7 @@ %C therefore copyrighted by \PRAGMA. See mreadme.pdf for %C details. -\newcontextversion{2011.01.18 19:34} +\newcontextversion{2011.01.23 20:36} %D This file is loaded at runtime, thereby providing an %D excellent place for hacks, patches, extensions and new @@ -243,7 +243,7 @@ % \scratchdimen=100pt \setpercentdimen\scratchdimen{10\letterpercent} \the\scratchdimen % \scratchdimen=100pt \setpercentdimen\scratchdimen{5pt} \the\scratchdimen -\bgroup \permitcaretescape +\bgroup \permitcircumflexescape \obeylines % don't remove %'s ! diff --git a/tex/context/base/context.mkii b/tex/context/base/context.mkii index 2124dc771..93a5873e8 100644 --- a/tex/context/base/context.mkii +++ b/tex/context/base/context.mkii @@ -16,7 +16,7 @@ %D minimal as possible. \loadcorefile{syst-ini} -\loadcorefile{syst-pln} +\loadmarkfile{syst-pln} \loadcorefile{norm-tex} \loadcorefile{norm-etx} @@ -25,11 +25,11 @@ \loadcorefile{norm-ctx} \loadmarkfile{catc-ini} -\loadcorefile{catc-act} -\loadcorefile{catc-def} -\loadcorefile{catc-ctx} -\loadcorefile{catc-sym} -\loadcorefile{catc-xml} +\loadmarkfile{catc-act} +\loadmarkfile{catc-def} +\loadmarkfile{catc-ctx} +\loadmarkfile{catc-sym} +\loadmarkfile{catc-xml} \loadmarkfile{syst-gen} \loadmarkfile{syst-ext} @@ -154,19 +154,19 @@ \loadmarkfile{lang-mis} \loadmarkfile{lang-url} -\loadcorefile{lang-ger} -\loadcorefile{lang-ita} -\loadcorefile{lang-sla} -\loadcorefile{lang-alt} -\loadcorefile{lang-ana} -\loadcorefile{lang-art} -\loadcorefile{lang-bal} -\loadcorefile{lang-cel} -\loadcorefile{lang-grk} -\loadcorefile{lang-ind} -\loadcorefile{lang-ura} -\loadcorefile{lang-vn} -\loadcorefile{lang-cyr} +\loadmarkfile{lang-ger} +\loadmarkfile{lang-ita} +\loadmarkfile{lang-sla} +\loadmarkfile{lang-alt} +\loadmarkfile{lang-ana} +\loadmarkfile{lang-art} +\loadmarkfile{lang-bal} +\loadmarkfile{lang-cel} +\loadmarkfile{lang-grk} +\loadmarkfile{lang-ind} +\loadmarkfile{lang-ura} +\loadmarkfile{lang-vn} +\loadmarkfile{lang-cyr} \loadmarkfile{typo-ini} diff --git a/tex/context/base/context.mkiv b/tex/context/base/context.mkiv index 75306e53c..e76b34bc6 100644 --- a/tex/context/base/context.mkiv +++ b/tex/context/base/context.mkiv @@ -32,7 +32,7 @@ %D Now the more fundamnetal code gets defined. \loadcorefile{norm-ctx} -\loadcorefile{syst-pln} +\loadmarkfile{syst-pln} \loadmarkfile{syst-mes} \loadmarkfile{luat-cod} @@ -40,10 +40,10 @@ \loadmarkfile{luat-lib} \loadmarkfile{catc-ini} -\loadcorefile{catc-act} -\loadcorefile{catc-def} -\loadcorefile{catc-ctx} -\loadcorefile{catc-sym} +\loadmarkfile{catc-act} +\loadmarkfile{catc-def} +\loadmarkfile{catc-ctx} +\loadmarkfile{catc-sym} % From here on we have \unexpanded being \normalprotected, as we % already had \unexpanded long before etex came around. @@ -140,19 +140,19 @@ \loadmarkfile{lang-mis} \loadmarkfile{lang-url} -\loadcorefile{lang-ger} -\loadcorefile{lang-ita} -\loadcorefile{lang-sla} -\loadcorefile{lang-alt} -\loadcorefile{lang-ana} -\loadcorefile{lang-art} -\loadcorefile{lang-bal} -\loadcorefile{lang-cel} -\loadcorefile{lang-grk} -\loadcorefile{lang-ind} -\loadcorefile{lang-ura} -\loadcorefile{lang-vn} -\loadcorefile{lang-cyr} +\loadmarkfile{lang-ger} +\loadmarkfile{lang-ita} +\loadmarkfile{lang-sla} +\loadmarkfile{lang-alt} +\loadmarkfile{lang-ana} +\loadmarkfile{lang-art} +\loadmarkfile{lang-bal} +\loadmarkfile{lang-cel} +\loadmarkfile{lang-grk} +\loadmarkfile{lang-ind} +\loadmarkfile{lang-ura} +\loadmarkfile{lang-vn} +\loadmarkfile{lang-cyr} \loadmarkfile{lang-ara} \loadmarkfile{lang-cjk} diff --git a/tex/context/base/context.tex b/tex/context/base/context.tex index 8c2c70ab7..4eb9a1209 100644 --- a/tex/context/base/context.tex +++ b/tex/context/base/context.tex @@ -20,7 +20,7 @@ %D your styles an modules. \edef\contextformat {\jobname} -\edef\contextversion{2011.01.18 19:34} +\edef\contextversion{2011.01.23 20:36} %D For those who want to use this: diff --git a/tex/context/base/core-env.mkiv b/tex/context/base/core-env.mkiv index 3bede1cad..250356a35 100644 --- a/tex/context/base/core-env.mkiv +++ b/tex/context/base/core-env.mkiv @@ -306,7 +306,7 @@ \newtoks\everydefinexmlsetups \appendtoks \catcode\endoflineasciicode\ignorecatcode - \catcode`\|\othercatcode + \catcode\barasciicode \othercatcode \to \everydefinexmlsetups \newtoks\everydefineluasetups \appendtoks diff --git a/tex/context/base/core-fnt.mkiv b/tex/context/base/core-fnt.mkiv index 4d19ff39e..bd91b5578 100644 --- a/tex/context/base/core-fnt.mkiv +++ b/tex/context/base/core-fnt.mkiv @@ -26,7 +26,7 @@ %D so test\compound{}test can be used instead of test||test %D \stoptyping -\bgroup \catcode`\|=\activecatcode \gdef\compound#1{|#1|} \egroup +\bgroup \catcode\barasciicode\activecatcode \gdef\compound#1{|#1|} \egroup %D Here we hook some code into the clean up mechanism needed %D for verbatim data. diff --git a/tex/context/base/core-job.mkii b/tex/context/base/core-job.mkii index 869ae6a31..1b7f9138e 100644 --- a/tex/context/base/core-job.mkii +++ b/tex/context/base/core-job.mkii @@ -147,7 +147,7 @@ \doglobal\appendtoks % brrr better \setcatcodetable\ctxcatcodes \bgroup \disableXML - \readsysfile{\f!errfilename.\mksuffix}\donothing + \readsysfile{\f!errfilename.\mksuffix}\donothing\donothing \egroup \to\everygoodbye}}}} diff --git a/tex/context/base/core-sys.mkiv b/tex/context/base/core-sys.mkiv index a620bf82f..c6fa25070 100644 --- a/tex/context/base/core-sys.mkiv +++ b/tex/context/base/core-sys.mkiv @@ -44,16 +44,6 @@ \def \inputfilename {\ctxsprint{environment.inputfilename or ""}} \def \outputfilename {\ctxsprint{environment.outputfilename or ""}} -\bgroup \permitcaretescape - - \gdef\initializenewlinechar - {\bgroup - \newlinechar\newlineasciicode - \xdef\outputnewlinechar{^^J}% - \egroup} - -\egroup - \newtoks \everysetupsystem \unexpanded\def\setupsystem diff --git a/tex/context/base/lang-alt.tex b/tex/context/base/lang-alt.mkii index f65acbda3..f65acbda3 100644 --- a/tex/context/base/lang-alt.tex +++ b/tex/context/base/lang-alt.mkii diff --git a/tex/context/base/lang-alt.mkiv b/tex/context/base/lang-alt.mkiv new file mode 100644 index 000000000..078076c50 --- /dev/null +++ b/tex/context/base/lang-alt.mkiv @@ -0,0 +1,63 @@ +%D \module +%D [ file=lang-alt, +%D version=1997.09.03, +%D title=\CONTEXT\ Language Macros, +%D subtitle=Altaic Languages, +%D author=Hans Hagen / Tobias Burnus, +%D date=\currentdate, +%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. + +\writestatus{loading}{ConTeXt Language Macros / Altaic Languages} + +%D The framework of this module is set up by Hans Hagen while +%D many of the first translations were done by Tobias. Later +%D on, corrections were made by users. If you have suggestions, +%D or feel that your name missing here, don't hesitate to send +%D us an email. + +% Uigur, Uzbek +% Azeri/Azerbaijani, Chuvash, Turkish, Turkmen +% Kazakh, Kazar, Kireghiz, Noghay, Talar +% Buryat, Kalmuck, Khalkha +% +% Turkmen translation by Nazar Annagurban <nazartm at gmail.com> 18. March 2010 + +\unprotect + +\installlanguage + [\s!tr] + [\c!spacing=\v!packed, + \c!leftsentence=---, + \c!rightsentence=---, + \c!leftsubsentence=---, + \c!rightsubsentence=---, + \c!leftquote=\upperleftsinglesixquote, + \c!rightquote=\upperrightsingleninequote, + \c!leftquotation=\upperleftdoublesixquote, + \c!rightquotation=\upperrightdoubleninequote, + \c!date={\v!year,\ ,\v!month,\ ,\v!day}] + +\installlanguage + [\s!tk] + [\c!spacing=\v!broad, + \c!leftsentence=---, + \c!rightsentence=---, + \c!leftsubsentence=---, + \c!rightsubsentence=---, + \c!leftquote=\upperleftsinglesixquote, + \c!rightquote=\upperrightsingleninequote, + \c!leftquotation=\upperleftdoublesixquote, + \c!rightquotation=\upperrightdoubleninequote, + \c!date={\v!year,\ ,\v!month,\ ,\v!day} + \s!patterns=\s!tk, + \s!lefthyphenmin=1, + \s!righthyphenmin=2] + +\installlanguage [turkish] [\s!tr] +\installlanguage [turkmen] [\s!tk] + +\protect \endinput diff --git a/tex/context/base/lang-ana.tex b/tex/context/base/lang-ana.mkii index c108655c4..c108655c4 100644 --- a/tex/context/base/lang-ana.tex +++ b/tex/context/base/lang-ana.mkii diff --git a/tex/context/base/lang-ana.mkiv b/tex/context/base/lang-ana.mkiv new file mode 100644 index 000000000..c108655c4 --- /dev/null +++ b/tex/context/base/lang-ana.mkiv @@ -0,0 +1,24 @@ +%D \module +%D [ file=lang-ana, +%D version=1997.09.03, +%D title=\CONTEXT\ Language Macros, +%D subtitle=Anatolian Languages, +%D author=Hans Hagen / Tobias Burnus, +%D date=\currentdate, +%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. + +\writestatus{loading}{ConTeXt Language Macros / Anatolian Languages} + +%D The framework of this module is set up by Hans Hagen while +%D many of the first translations were done by Tobias. Later +%D on, corrections were made by users. If you have suggestions, +%D or feel that your name missing here, don't hesitate to send +%D us an email. + +\unprotect + +\protect \endinput diff --git a/tex/context/base/lang-ara.mkiv b/tex/context/base/lang-ara.mkiv index 3c4d3c522..d576df488 100644 --- a/tex/context/base/lang-ara.mkiv +++ b/tex/context/base/lang-ara.mkiv @@ -35,18 +35,18 @@ % Just aliases to "ar" for now -\installlanguage[\s!ar-ae][\c!default=\s!ar] % U.A.E. -\installlanguage[\s!ar-bh][\c!default=\s!ar] % Bahrain -\installlanguage[\s!ar-eg][\c!default=\s!ar] % Egypt -\installlanguage[\s!ar-in][\c!default=\s!ar] % India? -\installlanguage[\s!ar-kw][\c!default=\s!ar] % Kuwait -\installlanguage[\s!ar-ly][\c!default=\s!ar] % Libya -\installlanguage[\s!ar-om][\c!default=\s!ar] % Oman -\installlanguage[\s!ar-qa][\c!default=\s!ar] % Qatar -\installlanguage[\s!ar-sa][\c!default=\s!ar] % Saudi Arabia -\installlanguage[\s!ar-sd][\c!default=\s!ar] % Sudan -\installlanguage[\s!ar-tn][\c!default=\s!ar] % Tunisia -\installlanguage[\s!ar-ye][\c!default=\s!ar] % Yemen +\installlanguage[\s!ar-ae][\c!default=\s!ar] % U.A.E. +\installlanguage[\s!ar-bh][\c!default=\s!ar] % Bahrain +\installlanguage[\s!ar-eg][\c!default=\s!ar] % Egypt +\installlanguage[\s!ar-in][\c!default=\s!ar] % India? +\installlanguage[\s!ar-kw][\c!default=\s!ar] % Kuwait +\installlanguage[\s!ar-ly][\c!default=\s!ar] % Libya +\installlanguage[\s!ar-om][\c!default=\s!ar] % Oman +\installlanguage[\s!ar-qa][\c!default=\s!ar] % Qatar +\installlanguage[\s!ar-sa][\c!default=\s!ar] % Saudi Arabia +\installlanguage[\s!ar-sd][\c!default=\s!ar] % Sudan +\installlanguage[\s!ar-tn][\c!default=\s!ar] % Tunisia +\installlanguage[\s!ar-ye][\c!default=\s!ar] % Yemen % Syriac months @@ -57,94 +57,7 @@ % Maghribi months -\installlanguage[\s!ar-dz][\c!default=\s!ar] % Algeria -\installlanguage[\s!ar-ma][\c!default=\s!ar] % Morocco - -\setupheadtext [\s!ar] [\v!content=المحتويات] -\setupheadtext [\s!ar] [\v!tables=الجداول] -\setupheadtext [\s!ar] [\v!figures=الأشكال] -\setupheadtext [\s!ar] [\v!graphics=الرسوم] -\setupheadtext [\s!ar] [\v!intermezzi=فسح] -\setupheadtext [\s!ar] [\v!index=الفهرس] -\setupheadtext [\s!ar] [\v!abbreviations=الاختصارات] -\setupheadtext [\s!ar] [\v!logos=الشعارات] -\setupheadtext [\s!ar] [\v!units=الوحدات] -\setuplabeltext [\s!ar] [\v!table=جدول ] -\setuplabeltext [\s!ar] [\v!figure=شكل ] -\setuplabeltext [\s!ar] [\v!intermezzo=فسحة ] -\setuplabeltext [\s!ar] [\v!graphic=رسم ] - -%D We don't set these here. One can do that in a style. - -\setuplabeltext [\s!ar] [\v!chapter=] % باب -\setuplabeltext [\s!ar] [\v!section=] % فصل or قسم -\setuplabeltext [\s!ar] [\v!subsection=] % فصل أدنى -\setuplabeltext [\s!ar] [\v!subsubsection=] % فصل أ دنى أدنى -\setuplabeltext [\s!ar] [\v!subsubsubsection=] % فصل أدنى أدنى أدنى -\setuplabeltext [\s!ar] [\v!appendix=] % ملحق -\setuplabeltext [\s!ar] [\v!part=جزء ] -\setuplabeltext [\s!ar] [\v!line=سطر ] -\setuplabeltext [\s!ar] [\v!lines=السطور ] - -\setuplabeltext [\s!ar] [\v!january=يناير] -\setuplabeltext [\s!ar] [\v!february=فبراير] -\setuplabeltext [\s!ar] [\v!march=مارس] -\setuplabeltext [\s!ar] [\v!april=أبريل] -\setuplabeltext [\s!ar] [\v!may=مايو] -\setuplabeltext [\s!ar] [\v!june=يونيو] -\setuplabeltext [\s!ar] [\v!july=يوليو] -\setuplabeltext [\s!ar] [\v!august=أغسطس] -\setuplabeltext [\s!ar] [\v!september=سبتمبر] -\setuplabeltext [\s!ar] [\v!october=أكتوبر] -\setuplabeltext [\s!ar] [\v!november=نوفمبر] -\setuplabeltext [\s!ar] [\v!december=ديسمبر] - -\setuplabeltext [\s!ar-sy] [\v!january=كانون الثاني] -\setuplabeltext [\s!ar-sy] [\v!february=شباط] -\setuplabeltext [\s!ar-sy] [\v!march=آذار] -\setuplabeltext [\s!ar-sy] [\v!april=نيسان] -\setuplabeltext [\s!ar-sy] [\v!may=أيار] -\setuplabeltext [\s!ar-sy] [\v!june=حزيران] -\setuplabeltext [\s!ar-sy] [\v!july=تموز] -\setuplabeltext [\s!ar-sy] [\v!august=آب] -\setuplabeltext [\s!ar-sy] [\v!september=أيلول] -\setuplabeltext [\s!ar-sy] [\v!october=تشرين الأول] -\setuplabeltext [\s!ar-sy] [\v!november=تشرين الثاني] -\setuplabeltext [\s!ar-sy] [\v!december=كانون الأول] - -\setuplabeltext [\s!ar-ma] [\v!may=ماي] -\setuplabeltext [\s!ar-ma] [\v!july=يوليوز] -\setuplabeltext [\s!ar-ma] [\v!august=غشت] -\setuplabeltext [\s!ar-ma] [\v!september=شتنبر] -\setuplabeltext [\s!ar-ma] [\v!november=نونبر] -\setuplabeltext [\s!ar-ma] [\v!december=دجنبر] - -\setuplabeltext [\s!ar-dz] [\v!january=جانفي] -\setuplabeltext [\s!ar-dz] [\v!february=فيفري] -\setuplabeltext [\s!ar-dz] [\v!april=أفريل] -\setuplabeltext [\s!ar-dz] [\v!may=ماي] -\setuplabeltext [\s!ar-dz] [\v!june=جوان] -\setuplabeltext [\s!ar-dz] [\v!july=جويلة] -\setuplabeltext [\s!ar-dz] [\v!august=أوت] - -\setuplabeltext [\s!ar] [\v!sunday=الأحد] -\setuplabeltext [\s!ar] [\v!monday=الاثنين] -\setuplabeltext [\s!ar] [\v!tuesday=الثلاثاء] -\setuplabeltext [\s!ar] [\v!wednesday=الأربعاء] -\setuplabeltext [\s!ar] [\v!thursday=الخميس] -\setuplabeltext [\s!ar] [\v!friday=الجمعة] -\setuplabeltext [\s!ar] [\v!saturday=السبت] - -%D Rather new ... - -\setuplabeltext [\s!ar] [\v!page=صفحة ] -\setuplabeltext [\s!ar] [\v!atpage=في صفحة ] -\setuplabeltext [\s!ar] [\v!hencefore=كما وضحنا سابقا] -\setuplabeltext [\s!ar] [\v!hereafter=كما نوضح لاحقا] -\setuplabeltext [\s!ar] [\v!see=انظر ] - -%D ... and to be completed! - -%D \ShowAllLanguageValues [\s!ar] [arabic] {Arabic} {horn} % engelse humor +\installlanguage[\s!ar-dz][\c!default=\s!ar] % Algeria +\installlanguage[\s!ar-ma][\c!default=\s!ar] % Morocco \protect \endinput diff --git a/tex/context/base/lang-art.tex b/tex/context/base/lang-art.mkii index e8be91630..e8be91630 100644 --- a/tex/context/base/lang-art.tex +++ b/tex/context/base/lang-art.mkii diff --git a/tex/context/base/lang-art.mkiv b/tex/context/base/lang-art.mkiv new file mode 100644 index 000000000..e8be91630 --- /dev/null +++ b/tex/context/base/lang-art.mkiv @@ -0,0 +1,26 @@ +%D \module +%D [ file=lang--art, +%D version=1997.09.03, +%D title=\CONTEXT\ Language Macros, +%D subtitle=Artificial Languages, +%D author=Hans Hagen / Tobias Burnus, +%D date=\currentdate, +%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. + +\writestatus{loading}{ConTeXt Language Macros / Artificial Languages} + +%D The framework of this module is set up by Hans Hagen while +%D many of the first translations were done by Tobias. Later +%D on, corrections were made by users. If you have suggestions, +%D or feel that your name missing here, don't hesitate to send +%D us an email. + +% Esperanto + +\unprotect + +\protect \endinput diff --git a/tex/context/base/lang-bal.tex b/tex/context/base/lang-bal.mkii index 394e9d93c..394e9d93c 100644 --- a/tex/context/base/lang-bal.tex +++ b/tex/context/base/lang-bal.mkii diff --git a/tex/context/base/lang-bal.mkiv b/tex/context/base/lang-bal.mkiv new file mode 100644 index 000000000..a6d03a2ab --- /dev/null +++ b/tex/context/base/lang-bal.mkiv @@ -0,0 +1,44 @@ +%D \module +%D [ file=lang-bal, +%D version=2010.01.21, +%D title=\CONTEXT\ Language Macros, +%D subtitle=Baltic Languages, +%D author=Marius Aleknevičius, +%D date=\currentdate, +%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. + +\writestatus{loading}{ConTeXt Language Macros / Baltic Languages} + +%D The framework of this module is set up by Hans Hagen while +%D all the translations were done by Marius Aleknevičius. If +%D you have suggestions, don't hesitate to send us an email. + +%D This file is in \UTF\ encoding and is meant for \MKIV. + +% Lettish/Latvian, Lietuvių/Lithuanian + +\unprotect + +\installlanguage + [\s!lt] + [\c!spacing=\v!packed, + \c!leftsentence=---, + \c!rightsentence=---, + \c!leftsubsentence=---, + \c!rightsubsentence=---, + \c!leftquote=\lowerleftdoubleninequote, + \c!rightquote=\upperrightdoublesixquote, + \c!leftquotation=\lowerleftdoubleninequote, + \c!rightquotation=\upperrightdoublesixquote, + \c!date={\v!year,~m.,\ ,\v!month,\ ,\v!day,~d.}, + \s!patterns=\s!lt, + \s!lefthyphenmin=2, + \s!righthyphenmin=2] + +\installlanguage [lithuanian] [\s!lt] + +\protect \endinput diff --git a/tex/context/base/lang-cel.tex b/tex/context/base/lang-cel.mkii index 4d93957f1..4d93957f1 100644 --- a/tex/context/base/lang-cel.tex +++ b/tex/context/base/lang-cel.mkii diff --git a/tex/context/base/lang-cel.mkiv b/tex/context/base/lang-cel.mkiv new file mode 100644 index 000000000..4d93957f1 --- /dev/null +++ b/tex/context/base/lang-cel.mkiv @@ -0,0 +1,26 @@ +%D \module +%D [ file=lang-cel, +%D version=1997.09.03, +%D title=\CONTEXT\ Language Macros, +%D subtitle=Celtic Languages, +%D author=Hans Hagen / Tobias Burnus, +%D date=\currentdate, +%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. + +\writestatus{loading}{ConTeXt Language Macros / Celtic Languages} + +%D The framework of this module is set up by Hans Hagen while +%D many of the first translations were done by Tobias. Later +%D on, corrections were made by users. If you have suggestions, +%D or feel that your name missing here, don't hesitate to send +%D us an email. + +% Breton, Welsh, Irish, Manx, Scottish Gaelic + +\unprotect + +\protect \endinput diff --git a/tex/context/base/lang-cjk.mkiv b/tex/context/base/lang-cjk.mkiv index 5f736d4a1..4594c52b4 100644 --- a/tex/context/base/lang-cjk.mkiv +++ b/tex/context/base/lang-cjk.mkiv @@ -21,8 +21,6 @@ \unprotect -% Chinese - \installlanguage [\s!cn] [\c!leftsentence=——, @@ -35,54 +33,6 @@ \c!rightquotation=”, \c!date={\v!year,年,\ ,\v!month,\v!day,日}] -\setupheadtext [\s!cn] [\v!content=目录] -\setupheadtext [\s!cn] [\v!tables=表格] -\setupheadtext [\s!cn] [\v!figures=图形] -\setupheadtext [\s!cn] [\v!graphics=图] -\setupheadtext [\s!cn] [\v!intermezzi=퉣] -\setupheadtext [\s!cn] [\v!index=索引] -\setupheadtext [\s!cn] [\v!abbreviations=缩略语] -\setupheadtext [\s!cn] [\v!logos=徽贬] -\setupheadtext [\s!cn] [\v!units=计量单位] - -\setuplabeltext [\s!cn] [\v!table=表] -\setuplabeltext [\s!cn] [\v!figure=图] -\setuplabeltext [\s!cn] [\v!intermezzo=퉣] -\setuplabeltext [\s!cn] [\v!graphic=插图] -\setuplabeltext [\s!cn] [\v!appendix=附录] -\setuplabeltext [\s!cn] [\v!part={第,部分}] -\setuplabeltext [\s!cn] [\v!chapter={第,章}] -\setuplabeltext [\s!cn] [\v!section={第,节}] -\setuplabeltext [\s!cn] [\v!line=行] -\setuplabeltext [\s!cn] [\v!lines=行] - -\setuplabeltext [\s!cn] [\v!subsection=] -\setuplabeltext [\s!cn] [\v!subsubsection=] -\setuplabeltext [\s!cn] [\v!subsubsubsection=] - -\setuplabeltext [\s!cn] [\v!january=一月] -\setuplabeltext [\s!cn] [\v!february=二月] -\setuplabeltext [\s!cn] [\v!march=三月] -\setuplabeltext [\s!cn] [\v!april=四月] -\setuplabeltext [\s!cn] [\v!may=五月] -\setuplabeltext [\s!cn] [\v!june=六月] -\setuplabeltext [\s!cn] [\v!july=七月] -\setuplabeltext [\s!cn] [\v!august=八月] -\setuplabeltext [\s!cn] [\v!september=九月] -\setuplabeltext [\s!cn] [\v!october=十月] -\setuplabeltext [\s!cn] [\v!november=十一月] -\setuplabeltext [\s!cn] [\v!december=十二月] - -\setuplabeltext [\s!cn] [\v!sunday=星期日] -\setuplabeltext [\s!cn] [\v!monday=星期一] -\setuplabeltext [\s!cn] [\v!tuesday=星期二] -\setuplabeltext [\s!cn] [\v!wednesday=星期三] -\setuplabeltext [\s!cn] [\v!thursday=星期四] -\setuplabeltext [\s!cn] [\v!friday=星期五] -\setuplabeltext [\s!cn] [\v!saturday=星期六] - -%D Japanese - \installlanguage [\s!ja] [\c!leftsentence=——, @@ -95,234 +45,4 @@ \c!rightquotation=」, \c!date={西暦,\v!year,年,\v!month,月,\v!day,日}] -\setupheadtext [\s!ja] [\v!content=目次] -\setupheadtext [\s!ja] [\v!tables=机] -\setupheadtext [\s!ja] [\v!figures=図] -\setupheadtext [\s!ja] [\v!graphics=グラフ] -\setupheadtext [\s!ja] [\v!intermezzi=間奏曲] -\setupheadtext [\s!ja] [\v!index=目次] -\setupheadtext [\s!ja] [\v!abbreviations=略語] -\setupheadtext [\s!ja] [\v!logos=理性] -\setupheadtext [\s!ja] [\v!units=ユニッツ] - -\setuplabeltext [\s!ja] [\v!table=表] -\setuplabeltext [\s!ja] [\v!figure=図] -\setuplabeltext [\s!ja] [\v!intermezzo=間奏曲] -\setuplabeltext [\s!ja] [\v!graphic=イラスト] -\setuplabeltext [\s!ja] [\v!appendix=付録] -\setuplabeltext [\s!ja] [\v!part={第,パート}] -\setuplabeltext [\s!ja] [\v!chapter={第,章}] -\setuplabeltext [\s!ja] [\v!section={第,項}] -\setuplabeltext [\s!ja] [\v!line=線] -\setuplabeltext [\s!ja] [\v!lines=線] - -\setuplabeltext [\s!ja] [\v!subsection=] -\setuplabeltext [\s!ja] [\v!subsubsection=] -\setuplabeltext [\s!ja] [\v!subsubsubsection=] - -\setuplabeltext [\s!ja] [\v!january=1] -\setuplabeltext [\s!ja] [\v!february=2] -\setuplabeltext [\s!ja] [\v!march=3] -\setuplabeltext [\s!ja] [\v!april=4] -\setuplabeltext [\s!ja] [\v!may=5] -\setuplabeltext [\s!ja] [\v!june=6] -\setuplabeltext [\s!ja] [\v!july=7] -\setuplabeltext [\s!ja] [\v!august=8] -\setuplabeltext [\s!ja] [\v!september=9] -\setuplabeltext [\s!ja] [\v!october=10] -\setuplabeltext [\s!ja] [\v!november=11] -\setuplabeltext [\s!ja] [\v!december=12] - -\setuplabeltext [\s!ja] [\v!monday=月曜日] -\setuplabeltext [\s!ja] [\v!tuesday=火曜日] -\setuplabeltext [\s!ja] [\v!wednesday=水曜日] -\setuplabeltext [\s!ja] [\v!thursday=木曜日] -\setuplabeltext [\s!ja] [\v!friday=金曜日] -\setuplabeltext [\s!ja] [\v!saturday=土曜日] -\setuplabeltext [\s!ja] [\v!sunday=日曜日] - -%D Korean - -% todo - \protect \endinput - -cn={ - ["abbreviations"]="缩略语", - ["appendix"]="附录", - ["april"]="四月", - ["august"]="八月", - ["chapter"]="章", - ["contents"]="目录", - ["day"]="日", - ["december"]="十二月", - ["febrary"]="二月", - ["figure"]="图", - ["figures"]="图形", - ["friday"]="星期五", - ["graphics"]="图", - ["illustration"]="插图", - ["index"]="索引", - ["intermezzo"]="퉣", - ["intro"]="第", - ["january"]="一月", - ["july"]="七月", - ["june"]="六月", - ["leftsentence"]="——", - ["leftsubsentence"]="——", - ["line"]="行", - ["logos"]="徽贬", - ["march"]="三月", - ["may"]="五月", - ["monday"]="星期一", - ["month"]="月", - ["november"]="十一月", - ["october"]="十月", - ["part"]="部分", - ["rightsentence"]="——", - ["rightsubsentence"]="——", - ["saturday"]="星期六", - ["section"]="节", - ["september"]="九月", - ["sunday"]="星期日", - ["table"]="表", - ["tables"]="表格", - ["thursday"]="星期四", - ["tuesday"]="星期二", - ["units"]="计量单位", - ["upperleftdoublequote"]="“", - ["upperleftdoublequote-v"]="『", - ["upperleftsinglequote"]="‘", - ["upperleftsinglequote-v"]="「", - ["upperrightdoublequote"]="”", - ["upperrightdoublequote-v"]="』", - ["upperrightsinglequote"]="’", - ["upperrightsinglequote-v"]="」", - ["wednesday"]="星期三", - ["year"]="年", -} - -ja={ - ["abbreviations"]="略語", - ["abstract"]="概要", - ["and"]="、", - ["answer"]="答:", - ["appendix"]="付録", - ["april"]="四月", - ["article"]="項目", - ["august"]="八月", - ["bibliography"]="参考文献", - ["book"]="ブック", - ["bridgehead"]="項", - ["bullet"]="●", - ["by"]=":", - ["caution"]="注意", - ["chapter"]="章", - ["christiandate"]="西暦", - ["colophon"]="奥付", - ["copyright"]="製作著作", - ["day"]="日", - ["december"]="十二月", - ["dedication"]="謝辞", - ["edited"]="編者", - ["editedby"]="編者:", - ["edition"]="編集", - ["endquote"]="」", - ["equation"]="式", - ["example"]="例", - ["february"]="二月", - ["figure"]="図", - ["figures"]="図", - ["friday"]="土曜日", - ["glossary"]="用語集", - ["glosssee"]="参照", - ["glossseealso"]="参照", - ["graphics"]="グラフ", - ["illustration"]="イラスト", - ["important"]="重要項目", - ["index"]="目次", - ["indexsymbols"]="シンボル", - ["intermezzo"]="間奏曲", - ["intermezzos"]="間奏曲", - ["intro"]="第", - ["january"]="一月", - ["july"]="七月", - ["june"]="六月", - ["leftsentence"]="——", - ["leftsubsentence"]="——", - ["line"]="線", - ["lines"]="線", - ["listofequations"]="式目次", - ["listofexamples"]="例目次", - ["listoffigures"]="図目次", - ["listoftables"]="表目次", - ["listofunknown"]="不明目次", - ["logos"]="理性", - ["march"]="三月", - ["may"]="五月", - ["monday"]="火曜日", - ["month"]="月", - ["msgaud"]="対象者", - ["msglevel"]="レベル", - ["msgorig"]="発信元", - ["navhome"]="ホーム", - ["navnext"]="次のページ", - ["navnextsibling"]="早送り", - ["navprev"]="前のページ", - ["navprevsibling"]="巻戻し", - ["navup"]="上に戻る", - ["nestedendquote"]="』", - ["nestedstartquote"]="『", - ["nonexistantelement"]="要素が存在しません", - ["note"]="注意", - ["notes"]="注意", - ["november"]="十一月", - ["october"]="十月", - ["pages"]="偧献", - ["part"]="パート", - ["preface"]="序文", - ["procedure"]="手順", - ["procedureformal"]="手順", - ["productionset"]="プロダクション", - ["productionsetformal"]="プロダクション", - ["published"]="発行", - ["qandadiv"]="問:、答:", - ["qandaentry"]="問:", - ["question"]="問:", - ["reference"]="参照", - ["refname"]="名前", - ["refsection"]="項", - ["refsynopsisdiv"]="概要", - ["revhistory"]="改訂履歴", - ["revision"]="改訂", - ["rightsentence"]="——", - ["rightsubsentence"]="——", - ["saturday"]="日曜日", - ["section"]="項", - ["see"]="参照", - ["seealso"]="参照", - ["separator"]="、", - ["september"]="九月", - ["set"]="設定", - ["setindex"]="目次設定", - ["sidebar"]="サイドバー", - ["simplesect"]="項", - ["singleendquote"]="’", - ["singlestartquote"]="‘", - ["startquote"]="「", - ["step"]="ステップ", - ["sunday"]="月曜日", - ["table"]="表", - ["tablenotes"]="注意", - ["tableofcontents"]="目次", - ["tables"]="机", - ["thursday"]="金曜日", - ["tip"]="ティップ", - ["tuesday"]="水曜日", - ["unexpectedelementname"]="不明な要素名", - ["units"]="ユニッツ", - ["unsupported"]="サポートしません", - ["warning"]="警告", - ["wednesday"]="木曜日", - ["year"]="年", -} diff --git a/tex/context/base/lang-cyr.tex b/tex/context/base/lang-cyr.mkii index 470402bb1..470402bb1 100644 --- a/tex/context/base/lang-cyr.tex +++ b/tex/context/base/lang-cyr.mkii diff --git a/tex/context/base/lang-cyr.mkiv b/tex/context/base/lang-cyr.mkiv new file mode 100644 index 000000000..a07fe8d4a --- /dev/null +++ b/tex/context/base/lang-cyr.mkiv @@ -0,0 +1,60 @@ +%D \module +%D [ file=lang-cyr, +%D version=2003.01.24, +%D title=\CONTEXT\ Language Macros, +%D subtitle=Cyrillic Languages, +%D author=see below, +%D date=\currentdate, +%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. + +\writestatus{loading}{ConTeXt Language Macros / Cyrillic Languages} + +%D The cyrillic languages always use a dedicated input regime. +%D Therefore we define the labels using symbolic names. +%D Support for cyrillic is initiated by Olga Briginets who +%D also layed the base for the language, encoding and font +%D definition. Later Alexander Bokovoy and Victor Figurnov +%D improved things. I (Hans Hagen) mainly cleaned things up +%D a bit. + +\unprotect + +\installlanguage + [\s!ru] + [\s!lefthyphenmin=2, + \s!righthyphenmin=2, + \c!spacing=\v!packed, + \c!leftsentence=\leftguillemot, + \c!rightsentence=\rightguillemot, + \c!leftsubsentence=\lowerleftdoubleninequote, + \c!rightsubsentence=\upperrightdoubleninequote, + \c!leftquote=\lowerleftdoubleninequote, + \c!rightquote=\upperrightdoubleninequote, + \c!leftquotation=\leftguillemot, + \c!rightquotation=\rightguillemot, + \c!date={\v!day,\ ,\v!month,\ ,\v!year}] + +\installlanguage + [\s!ua] + [\s!lefthyphenmin=2, + \s!righthyphenmin=2, + \c!spacing=\v!packed, + \c!leftsentence=\leftguillemot, + \c!rightsentence=\rightguillemot, + \c!leftsubsentence=\lowerleftdoubleninequote, + \c!rightsubsentence=\upperrightdoubleninequote, + \c!leftquote=\lowerleftdoubleninequote, + \c!rightquote=\upperrightdoubleninequote, + \c!leftquotation=\leftguillemot, + \c!rightquotation=\rightguillemot, + \c!date={\v!day,\ ,\v!month,\ ,\v!year}, + \s!patterns=\s!uk] + +\installlanguage [russian] [\s!ru] +\installlanguage [ukrainian] [\s!ua] + +\protect \endinput diff --git a/tex/context/base/lang-def.lua b/tex/context/base/lang-def.lua new file mode 100644 index 000000000..4fdcdf8a7 --- /dev/null +++ b/tex/context/base/lang-def.lua @@ -0,0 +1,418 @@ +if not modules then modules = { } end modules ['lang-ini'] = { + version = 1.001, + comment = "companion to lang-ini.mkiv", + author = "Hans Hagen, PRAGMA-ADE, Hasselt NL", + copyright = "PRAGMA ADE / ConTeXt Development Team", + license = "see context related readme files" +} + +local lower = string.lower + +languages = languages or { } +local languages = languages + +languages.data = languages.data or utilities.storage.allocate { } +local data = languages.data + +-- The specifications are based on an analysis done by Arthur. The +-- names of tags were changed by Hans. The data is not yet used but +-- will be some day. +-- +-- description +-- +-- The description is only meant as an indication; for example 'no' is +-- "Norwegian, undetermined" because that's really what it is. +-- +-- script +-- +-- This is the 4-letter script tag according to ISO 15924, the +-- official standard. +-- +-- bibliographical and terminological +-- +-- Then we have *two* ISO-639 3-letter tags: one is supposed to be used +-- for "bibliographical" purposes, the other for "terminological". The +-- first one is quite special (and mostly used in American libraries), +-- and the more interesting one is the other (apparently it's that one +-- we find everywhere). +-- +-- context +-- +-- These are the ones used in ConteXt. Kind of numberplate ones. +-- +-- opentype +-- +-- This is the 3-letter OpenType language tag, obviously. +-- +-- variant +-- +-- This is actually the rfc4646: an extension of ISO-639 that also defines +-- codes for variants like de-1901 for "German, 1901 orthography" or zh-Hans for +-- "Chinese, simplified characters" ('Hans' is the ISO-15924 tag for +-- "HAN ideographs, Simplified" :-) As I said yesterday, I think this +-- should be the reference since it's exactly what we want: it's really +-- standard (it's a RFC) and it's more than simply languages. To my +-- knowledge this is the only system that addresses this issue. +-- +-- Warning: it's not unique! Because we have two "German" languages +-- (and could, potentially, have two Chinese, etc.) +-- +-- Beware: the abbreviations are lowercased, which makes it more +-- convenient to use them. +-- +-- todo: add default features + +local specifications = { + { + ["description"] = "Basque", + ["script"] = "latn", + ["bibliographical"] = "baq", + ["terminological"] = "eus", + ["context"] = "ba", + ["opentype"] = "euq", + ["variant"] = "eu", + }, + { + ["description"] = "Welsh", + ["script"] = "latn", + ["bibliographical"] = "wel", + ["terminological"] = "cym", + ["context"] = "cy", + ["opentype"] = "wel", + ["variant"] = "cy", + }, + { + ["description"] = "Icelandic", + ["script"] = "latn", + ["bibliographical"] = "ice", + ["terminological"] = "isl", + ["context"] = "is", + ["opentype"] = "isl", + ["variant"] = "is", + }, + { + ["description"] = "Norwegian, undetermined", + ["script"] = "latn", + ["bibliographical"] = "nor", + ["terminological"] = "nor", + ["context"] = "no", + ["variant"] = "no", + }, + { + ["description"] = "Norwegian bokmal", + ["script"] = "latn", + ["bibliographical"] = "nob", + ["terminological"] = "nob", + ["opentype"] = "nor", -- not sure! + ["variant"] = "nb", + }, + { + ["description"] = "Norwegian nynorsk", + ["script"] = "latn", + ["bibliographical"] = "nno", + ["terminological"] = "nno", + ["opentype"] = "nny", + ["variant"] = "nn", + }, + { + ["description"] = "Ancient Greek", + ["script"] = "grek", + ["bibliographical"] = "grc", + ["terminological"] = "grc", + ["context"] = "agr", + ["variant"] = "grc", + }, + { + ["description"] = "German, 1901 orthography", + ["script"] = "latn", + ["terminological"] = "deu", + ["context"] = "deo", + ["opentype"] = "deu", + ["variant"] = "de-1901", + }, + { + ["description"] = "German, 1996 orthography", + ["script"] = "latn", + ["bibliographical"] = "ger", + ["terminological"] = "deu", + ["context"] = "de", + ["opentype"] = "deu", + ["variant"] = "de-1996", + }, + { + ["description"] = "Afrikaans", + ["script"] = "latn", + ["bibliographical"] = "afr", + ["terminological"] = "afr", + ["context"] = "af", + ["opentype"] = "afk", + ["variant"] = "af", + }, + { + ["description"] = "Catalan", + ["script"] = "latn", + ["bibliographical"] = "cat", + ["terminological"] = "cat", + ["context"] = "ca", + ["opentype"] = "cat", + ["variant"] = "ca", + }, + { + ["description"] = "Czech", + ["script"] = "latn", + ["bibliographical"] = "cze", + ["terminological"] = "ces", + ["context"] = "cz", + ["opentype"] = "csy", + ["variant"] = "cs", + }, + { + ["description"] = "Greek", + ["script"] = "grek", + ["bibliographical"] = "gre", + ["terminological"] = "ell", + ["context"] = "gr", + ["opentype"] = "ell", + ["variant"] = "el", + }, + { + ["description"] = "American English", + ["script"] = "latn", + ["bibliographical"] = "eng", + ["terminological"] = "eng", + ["context"] = "us", + ["opentype"] = "eng", + ["variant"] = "en-US", + }, + { + ["description"] = "British English", + ["script"] = "latn", + ["bibliographical"] = "eng", + ["terminological"] = "eng", + ["context"] = "uk", + ["opentype"] = "eng", + ["variant"] = "en-UK", -- Could be en-GB as well ... + }, + { + ["description"] = "Spanish", + ["script"] = "latn", + ["bibliographical"] = "spa", + ["terminological"] = "spa", + ["context"] = "es", + ["opentype"] = "esp", + ["variant"] = "es", + }, + { + ["description"] = "Finnish", + ["script"] = "latn", + ["bibliographical"] = "fin", + ["terminological"] = "fin", + ["context"] = "fi", + ["opentype"] = "fin", + ["variant"] = "fi", + }, + { + ["description"] = "French", + ["script"] = "latn", + ["bibliographical"] = "fre", + ["terminological"] = "fra", + ["context"] = "fr", + ["opentype"] = "fra", + ["variant"] = "fr", + }, + { + ["description"] = "Croatian", + ["script"] = "latn", + ["bibliographical"] = "scr", + ["terminological"] = "hrv", + ["context"] = "hr", + ["opentype"] = "hrv", + ["variant"] = "hr", + }, + { + ["description"] = "Hungarian", + ["script"] = "latn", + ["bibliographical"] = "hun", + ["terminological"] = "hun", + ["context"] = "hu", + ["opentype"] = "hun", + ["variant"] = "hu", + }, + { + ["description"] = "Italian", + ["script"] = "latn", + ["bibliographical"] = "ita", + ["terminological"] = "ita", + ["context"] = "it", + ["opentype"] = "ita", + ["variant"] = "it", + }, + { + ["description"] = "Japanese", + ["script"] = "jpan", + ["bibliographical"] = "jpn", + ["terminological"] = "jpn", + ["context"] = "ja", + ["opentype"] = "jan", + ["variant"] = "ja", + }, + { + ["description"] = "Latin", + ["script"] = "latn", + ["bibliographical"] = "lat", + ["terminological"] = "lat", + ["context"] = "la", + ["opentype"] = "lat", + ["variant"] = "la", + }, + { + ["description"] = "Portuguese", + ["script"] = "latn", + ["bibliographical"] = "por", + ["terminological"] = "por", + ["context"] = "pt", + ["opentype"] = "ptg", + ["variant"] = "pt", + }, + { + ["description"] = "Polish", + ["script"] = "latn", + ["bibliographical"] = "pol", + ["terminological"] = "pol", + ["context"] = "pl", + ["opentype"] = "plk", + ["variant"] = "pl", + }, + { + ["description"] = "Romanian", + ["script"] = "latn", + ["bibliographical"] = "rum", + ["terminological"] = "ron", + ["context"] = "ro", + ["opentype"] = "rom", + ["variant"] = "ro", + }, + { + ["description"] = "Russian", + ["script"] = "cyrl", + ["bibliographical"] = "rus", + ["terminological"] = "rus", + ["context"] = "ru", + ["opentype"] = "rus", + ["variant"] = "ru", + }, + { + ["description"] = "Slovak", + ["script"] = "latn", + ["bibliographical"] = "slo", + ["terminological"] = "slk", + ["context"] = "sk", + ["opentype"] = "sky", + ["variant"] = "sk", + }, + { + ["description"] = "Slovenian", + ["script"] = "latn", + ["bibliographical"] = "slv", + ["terminological"] = "slv", + ["context"] = "sl", + ["opentype"] = "slv", + ["variant"] = "sl", + }, + { + ["description"] = "Swedish", + ["script"] = "latn", + ["bibliographical"] = "swe", + ["terminological"] = "swe", + ["context"] = "sv", + ["opentype"] = "sve", + ["variant"] = "sv", + }, + { + ["description"] = "Turkish", + ["script"] = "latn", + ["bibliographical"] = "tur", + ["terminological"] = "tur", + ["context"] = "tr", + ["opentype"] = "trk", + ["variant"] = "tr", + }, + { + ["description"] = "Vietnamese", + ["script"] = "latn", + ["bibliographical"] = "vie", + ["terminological"] = "vie", + ["context"] = "vn", + ["opentype"] = "vit", + ["variant"] = "vi", + }, + { + ["description"] = "Chinese, simplified", + ["script"] = "hans", + ["opentype-script"] = "hani", + ["bibliographical"] = "chi", + ["terminological"] = "zho", + ["context"] = "cn", + ["opentype"] = "zhs", + ["variant"] = "zh-hans", + }, +} + +data.specifications = specifications + +storage.mark(specifications) + +local variants = { } data.variants = variants +local opentypes = { } data.opentypes = opentypes +local contexts = { } data.contexts = contexts +local records = { } data.records = records + + +for k=1,#specifications do + local v = languagedata[k] + if v.variant then + variants[v.variant] = v + end + if v.opentype then + opentypes[v.opentype] = v + end + local vc = v.context + if vc then + if type(vc) == "table" then + for k=1,#vc do + contexts[v] = vc[k] + end + else + contexts[vc] = v + end + end +end + +setmetatable(variants, { __index = function(t,k) + str = lower(str) + local v = (l_variant[str] or l_opentype[str] or l_context[str] or l_variant.en).language + t[k] = v + return v +end } ) + +setmetatable(opentypes, { __index = function(t,k) + str = lower(str) + local v = (l_variant[str] or l_opentype[str] or l_context[str] or l_variant.en).opentype + t[k] = v + return v +end + +setmetatable(contexts, { __index = function(t,k) + str = lower(str) + local v = (l_variant[str] or l_opentype[str] or l_context[str] or l_variant[languages.default]).context + v = (type(v) == "table" and v[1]) or v + t[k] = v + return v +end + +setmetatable(records, { __index = function(t,k) -- how useful is this one? + str = lower(str) + local v = variants[str] or opentypes[str] or contexts[str] or variants.en + t[k] = v + return v +end diff --git a/tex/context/base/lang-frd.tex b/tex/context/base/lang-frd.mkii index 6cc27080b..6cc27080b 100644 --- a/tex/context/base/lang-frd.tex +++ b/tex/context/base/lang-frd.mkii diff --git a/tex/context/base/lang-frq.tex b/tex/context/base/lang-frq.mkii index 773230e6c..773230e6c 100644 --- a/tex/context/base/lang-frq.tex +++ b/tex/context/base/lang-frq.mkii diff --git a/tex/context/base/lang-ger.tex b/tex/context/base/lang-ger.mkii index 04551a891..04551a891 100644 --- a/tex/context/base/lang-ger.tex +++ b/tex/context/base/lang-ger.mkii diff --git a/tex/context/base/lang-ger.mkiv b/tex/context/base/lang-ger.mkiv new file mode 100644 index 000000000..abba341a4 --- /dev/null +++ b/tex/context/base/lang-ger.mkiv @@ -0,0 +1,259 @@ +%D \module +%D [ file=lang-ger, +%D version=1997.09.03, +%D title=\CONTEXT\ Language Macros, +%D subtitle=Germanic Languages, +%D author=Hans Hagen / Tobias Burnus, +%D date=\currentdate, +%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. + +\writestatus{loading}{ConTeXt Language Macros / Germanic Languages} + +%D The framework of this module is set up by Hans Hagen while +%D many of the first translations were done by Tobias. Later +%D on, corrections were made by users. If you have suggestions, +%D or feel that your name missing here, don't hesitate to send +%D us an email. +%D +%D \starttabulate[|lB|l|] +%D \NC Norwegian \NC Hans Fredrik Nordhaug \NC \NR +%D \NC Danish \NC Arne Jorgensen \NC \NR % check the o +%D \NC Afrikaans \NC \NC \NR +%D \stoptabulate + +% Danish, Faeroese, Icelandic, Norwegian, Swedish, German, Yiddish +% Afrikaans, Dutch, English, Flemush, Frisian, Plattdeutsch + +\unprotect + +\installlanguage + [\s!nl] + [\c!spacing=\v!packed, + \c!leftsentence=---, + \c!rightsentence=---, + \c!leftsubsentence=---, + \c!rightsubsentence=---, + \c!leftquote=\lowerleftsingleninequote, + \c!rightquote=\upperrightsingleninequote, + \c!leftquotation=\lowerleftdoubleninequote, + \c!rightquotation=\upperrightdoubleninequote, + \c!date={\v!day,\ ,\v!month,\ ,\v!year}] + +\installlanguage + [\s!en] + [\c!spacing=\v!broad, + \c!leftsentence=---, + \c!rightsentence=---, + \c!leftsubsentence=---, + \c!rightsubsentence=---, + \c!leftquote=\upperleftsinglesixquote, + \c!rightquote=\upperrightsingleninequote, + \c!leftquotation=\upperleftdoublesixquote, + \c!rightquotation=\upperrightdoubleninequote, + \c!date={\v!month,\ ,\v!day,{,\ },\v!year}, + \s!patterns=\s!us, + \s!lefthyphenmin=2, + \s!righthyphenmin=3] + +\installlanguage + [\s!de] + [\c!spacing=\v!packed, + \s!lefthyphenmin=3, + \s!righthyphenmin=3, + \c!leftsentence={\hbox{--~}}, + \c!rightsentence={\hbox{~--}}, + \c!leftsubsentence={--}, + \c!rightsubsentence={--}, + \c!leftquote=\lowerleftsingleninequote, + \c!rightquote=\upperrightsinglesixquote, + \c!leftquotation=\lowerleftdoubleninequote, + \c!rightquotation=\upperrightdoublesixquote, + \c!date={\v!day,{.},\ ,\v!month,\ ,\v!year}] + +\installlanguage + [\s!da] + [\c!spacing=\v!packed, + \c!leftsentence={\hbox{--\hskip.5em}}, + \c!rightsentence={\hbox{\hskip.5em--}}, + \c!leftsubsentence={--}, + \c!rightsubsentence={--}, + \c!leftquote=\lowerleftsingleninequote, + \c!rightquote=\upperrightsinglesixquote, + \c!leftquotation=\lowerleftdoubleninequote, + \c!rightquotation=\upperrightdoublesixquote, + \c!date={\v!day,{.},\ ,\v!month,\ ,\v!year}] + +\installlanguage + [\s!sv] + [\c!spacing=\v!packed, + \c!leftsentence={\hbox{--~}}, + \c!rightsentence={\hbox{~--}}, + \c!leftsubsentence={--}, + \c!rightsubsentence={--}, + \c!leftquote=\upperrightsingleninequote, + \c!rightquote=\upperrightsingleninequote, + \c!leftquotation=\upperrightdoubleninequote, + \c!rightquotation=\upperrightdoubleninequote, + \c!date={\v!day,\ ,\v!month,\ ,\v!year}] + +\installlanguage + [\s!af] + [\c!spacing=\v!packed, + \c!leftsentence=---, + \c!rightsentence=---, + \c!leftsubsentence=---, + \c!rightsubsentence=---, + \c!leftquote=\upperleftsinglesixquote, + \c!rightquote=\upperrightsingleninequote, + \c!leftquotation=\upperleftdoublesixquote, + \c!rightquotation=\upperrightdoubleninequote, + \c!date={\v!year,\ ,\v!month,\ ,\v!day}] + +\installlanguage + [\s!nb] + [spacing=packed, + lefthyphenmin=2, + righthyphenmin=2, + leftsentence=---, + rightsentence=---, + leftsubsentence=---, + rightsubsentence=---, + leftquote=\upperleftsinglesixquote, + rightquote=\upperrightsingleninequote, + leftquotation=\leftguillemot, + rightquotation=\rightguillemot, + date={day,{.},\ ,month,\ ,year}] + +\installlanguage + [\s!nn] + [spacing=packed, + lefthyphenmin=2, + righthyphenmin=2, + leftsentence=---, + rightsentence=---, + leftsubsentence=---, + rightsubsentence=---, + leftquote=\upperleftsinglesixquote, + rightquote=\upperrightsingleninequote, + leftquotation=\leftguillemot, + rightquotation=\rightguillemot, + date={day,{.},\ ,month,\ ,year}] + +\installlanguage [\s!no] [\s!nb] +\installlanguage [\s!norwegian] [\s!nb] +\installlanguage [\s!bokmal] [\s!nb] +\installlanguage [\s!nynorsk] [\s!nn] + +%D Extra: + +% \mainlanguage[en] +% \mainlanguage[de] +% \mainlanguage[deo] +% \mainlanguage[de-de] +% \mainlanguage[de-at] +% \mainlanguage[de-ch] +% +% \starttext +% Die Herren Meier\index{Meier}, Müller\index{Müller}, Huber\index{Huber} +% und Schmidt\index{Schmidt} arbeiten in der gleichen Firma. +% +% \index{Mass}\index{Mas}\index{Maß}\index{Maße}\index{Masse} +% \index{Muller}\index{Mûller} +% \index{Hutte}\index{Hütte}\index{Huttf} +% \index{paar}\index{Paar} +% \index{a}\index{aa}\index{ä}\index{az}\index{aza} +% \index{o}\index{oo}\index{ö}\index{oz}\index{oza} +% \index{u}\index{uu}\index{ü}\index{uz}\index{uza}\index{üa} +% \index{call}\index{chip} +% +% \subject{Index} \placeindex +% \stoptext + +\installlanguage % old german + [deo] + [\c!spacing=\v!packed, + \c!default=\s!de] + +\installlanguage + [de-de] + [\c!spacing=\v!packed, + \c!default=\s!de] + +\installlanguage + [de-at] + [\c!spacing=\v!packed, + \c!default=\s!de, + \c!leftquote=\leftguillemot, + \c!rightquote=\rightguillemot, + \c!leftquotation=\leftguillemot, + \c!rightquotation=\rightguillemot] + +\installlanguage + [de-ch] + [\c!spacing=\v!packed, + \c!default=\s!de] + +%D And some alternative (but very real) english patterns: + +\installlanguage + [en-gb] + [\c!default=\s!en, + \s!patterns=\s!gb, + \s!lefthyphenmin=3, + \s!righthyphenmin=3] + +\installlanguage + [en-us] + [\c!default=\s!en, + \s!patterns=\s!us] + +\installlanguage [\s!uk] [\s!en-\s!gb] +\installlanguage [\s!us] [\s!en-\s!us] + +%D For compatibility reasons we also define: + +%installlanguage [du] [\s!de] % old times context +%installlanguage [sp] [\s!es] % old times context /lang-ita + +\installlanguage [usenglish] [\s!en-\s!us] +\installlanguage [ukenglish] [\s!en-\s!gb] +\installlanguage [english] [\s!en] +\installlanguage [dutch] [\s!nl] +\installlanguage [german] [\s!de] +\installlanguage [danish] [\s!da] +\installlanguage [swedish] [\s!sv] +\installlanguage [afrikaans] [\s!af] + +%D Next we implement couple of ordinal mumber converters: + +\def\enordinaldaynumber#1% + {#1\ifnum\lasttwodigits{#1}=11 + \highordinalstr{th}% + \else\ifnum\lasttwodigits{#1}=12 + \highordinalstr{th}% + \else\ifnum\lasttwodigits{#1}=13 + \highordinalstr{th}% + \else\ifcase\lastdigit{#1}% + \highordinalstr{th}% + \or % 1 + \highordinalstr{st}% + \or % 2 + \highordinalstr{nd}% + \or % 3 + \highordinalstr{rd}% + \else + \highordinalstr{th}% + \fi\fi\fi\fi} + +% \def\enordinaldaynumber#1% +% {#1\ordinalstr{\ifnum\lasttwodigits{#1}=11 th\else\ifcase\lastdigit{#1} +% th\or st\or nd\or rd\else th\fi\fi}} + +\def\nlordinaldaynumber#1% + {#1\highordinalstr{e}} + +\protect \endinput diff --git a/tex/context/base/lang-grk.tex b/tex/context/base/lang-grk.mkii index 862f3c5f4..862f3c5f4 100644 --- a/tex/context/base/lang-grk.tex +++ b/tex/context/base/lang-grk.mkii diff --git a/tex/context/base/lang-grk.mkiv b/tex/context/base/lang-grk.mkiv new file mode 100644 index 000000000..92bd9aca6 --- /dev/null +++ b/tex/context/base/lang-grk.mkiv @@ -0,0 +1,48 @@ +%D \module +%D [ file=lang-grk, +%D version=2003.04.01, +%D title=\CONTEXT\ Language Macros, +%D subtitle=Uralic Languages, +%D author=Apostolos Syropoulos +%D date=\currentdate, +%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. + +\writestatus{loading}{ConTeXt Language Macros / Greek} + +%D The framework of this module is set up by Hans Hagen while +%D all the translations have been done by Apostolos Syropoulos + +\unprotect + +\installlanguage + [\s!gr] + [\c!spacing=\v!packed, + \c!leftsentence=---, + \c!rightsentence=---, + \c!leftsubsentence=---, + \c!rightsubsentence=---, + \c!leftquote=\greekleftquot, + \c!rightquote=\greekrightquot, + \c!leftquotation=\greekleftquot, + \c!rightquotation=\greekrightquot, + \c!date={\v!day\ \v!month\ \v!year}, + \s!patterns=\s!agr] % ok? + +\installlanguage [greek] [\s!gr] + +\installlanguage + [\s!agr] + [\s!default=\s!gr, + \c!leftquote=\upperleftsinglesixquote, + \c!rightquote=\upperrightsingleninequote, + \c!leftquotation=\upperleftdoublesixquote, + \c!rightquotation=\upperrightdoubleninequote] + +\installlanguage [ancientgreek] [\s!agr] +\installlanguage [grk] [\s!agr] + +\protect \endinput diff --git a/tex/context/base/lang-ind.tex b/tex/context/base/lang-ind.mkii index 9b6e5ff1d..9b6e5ff1d 100644 --- a/tex/context/base/lang-ind.tex +++ b/tex/context/base/lang-ind.mkii diff --git a/tex/context/base/lang-ind.mkiv b/tex/context/base/lang-ind.mkiv new file mode 100644 index 000000000..9b6e5ff1d --- /dev/null +++ b/tex/context/base/lang-ind.mkiv @@ -0,0 +1,26 @@ +%D \module +%D [ file=lang--ind, +%D version=1997.09.03, +%D title=\CONTEXT\ Language Macros, +%D subtitle=Indo Iranian Languages, +%D author=Hans Hagen / Tobias Burnus, +%D date=\currentdate, +%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. + +\writestatus{loading}{ConTeXt Language Macros / Indo-Iranian Languages} + +%D The framework of this module is set up by Hans Hagen while +%D many of the first translations were done by Tobias. Later +%D on, corrections were made by users. If you have suggestions, +%D or feel that your name missing here, don't hesitate to send +%D us an email. + +% 34 languages + +\unprotect + +\protect \endinput diff --git a/tex/context/base/lang-ini.mkiv b/tex/context/base/lang-ini.mkiv index 7d2f91a92..88b26ddb0 100644 --- a/tex/context/base/lang-ini.mkiv +++ b/tex/context/base/lang-ini.mkiv @@ -23,6 +23,7 @@ \writestatus{loading}{ConTeXt Language Macros / Initialization} \registerctxluafile{lang-ini}{1.001} +\registerctxluafile{lang-def}{1.001} \unprotect diff --git a/tex/context/base/lang-ita.tex b/tex/context/base/lang-ita.mkii index 03efb0614..03efb0614 100644 --- a/tex/context/base/lang-ita.tex +++ b/tex/context/base/lang-ita.mkii diff --git a/tex/context/base/lang-ita.mkiv b/tex/context/base/lang-ita.mkiv new file mode 100644 index 000000000..2443825de --- /dev/null +++ b/tex/context/base/lang-ita.mkiv @@ -0,0 +1,157 @@ +%D \module +%D [ file=lang-ita, +%D version=1997.09.03, +%D title=\CONTEXT\ Language Macros, +%D subtitle=Italic Languages, +%D author=Hans Hagen / Tobias Burnus, +%D date=\currentdate, +%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. + +% Todo: replace \'.. by \namedglyph + +\writestatus{loading}{ConTeXt Language Macros / Italic Languages} + +%D The framework of this module is set up by Hans Hagen while +%D many of the first translations were done by Tobias. Later +%D on, corrections were made by users. If you have suggestions, +%D or feel that your name missing here, don't hesitate to send +%D us an email. +%D +%D \starttabulate[|lB|l|] +%D \NC Italian \NC Giuseppe Bilotta \NC \NR +%D \NC Romanian \NC Dan Seracu \NC \NR +%D \NC Portuguese \NC Pedro F. M. Mendon\c a \NC \NR +%D \stoptabulate + +% Latin, Italian, Rhaeto-Romanic, Rumanian, Sardian +% Catalan, French, Ladino, Portuguese, Proven\c{c}al, Spanish + +\unprotect + +\ifx\guillemotspace\undefined \let\guillemotspace\empty \fi +\ifx\sentencespace \undefined \let\sentencespace \empty \fi + +\installlanguage + [\s!fr] + [\c!spacing=\v!packed, + \c!leftsentence=\emdash, + \c!rightsentence=\emdash, + \c!leftsubsentence=\emdash, + \c!rightsubsentence=\emdash, + \c!leftquote=\leftguillemot, + \c!rightquote=\rightguillemot, + \c!leftquotation=\leftguillemot, + \c!rightquotation=\rightguillemot, + \c!date={\v!day+,\v!space,\v!month,\v!space,\v!year}] + +\installlanguage + [\s!es] + [\c!spacing=\v!packed, + \c!leftsentence=---, + \c!rightsentence=---, + \c!leftsubsentence=---, + \c!rightsubsentence=---, + \c!leftquote=\upperleftsinglesixquote, + \c!rightquote=\upperrightsingleninequote, + \c!leftquotation=\upperleftdoublesixquote, + \c!rightquotation=\upperrightdoubleninequote, + \c!date={\v!day,\ ,\v!month,\ ,\v!year}] + +\installlanguage [sp] [\s!es] % old times context + +\installlanguage + [\s!ca] + [\c!spacing=\v!packed, + \c!leftsentence=---, + \c!rightsentence=---, + \c!leftsubsentence=---, + \c!rightsubsentence=---, + \c!leftquote=\upperleftsinglesixquote, + \c!rightquote=\upperrightsingleninequote, + \c!leftquotation=\upperleftdoublesixquote, + \c!rightquotation=\upperrightdoubleninequote, + \c!date={\v!day,\ ,\v!month,\ ,\v!year}] + +% Note GB left|/|right (sub)sentences are for \quote {incisi}. + +\installlanguage + [\s!it] + [\c!spacing=\v!packed, + \c!leftsentence=---, + \c!rightsentence=---, + \c!leftsubsentence=--, + \c!rightsubsentence=--, + \c!leftquote=\upperleftsinglesixquote, + \c!rightquote=\upperrightsingleninequote, + \c!leftquotation=\upperleftdoublesixquote, + \c!rightquotation=\upperrightdoubleninequote, + \c!leftspeech=\leftguillemot, + \c!middlespeech=\leftguillemot, + \c!rightspeech=\rightguillemot, + \c!date={\v!day,\ ,\v!month,\ ,\v!year}] + +\installlanguage % the same as italian + [\s!la] + [\c!spacing=\v!packed, + \c!leftsentence=---, + \c!rightsentence=---, + \c!leftsubsentence=---, + \c!rightsubsentence=---, + \c!leftquote=\upperleftsinglesixquote, + \c!rightquote=\lowerrightsingleninequote, + \c!leftquotation=\upperleftdoublesixquote, + \c!rightquotation=\lowerrightdoubleninequote, + \c!date={\v!day,\ ,\v!month,\ ,\v!year}] + +\installlanguage + [\s!pt] + [\c!spacing=\v!packed, + \c!leftsentence=---, + \c!rightsentence=---, + \c!leftsubsentence=---, + \c!rightsubsentence=---, + \c!leftquote=\upperleftsinglesixquote, + \c!rightquote=\upperrightsingleninequote, + \c!leftquotation=\upperleftdoublesixquote, + \c!rightquotation=\upperrightdoubleninequote, + \c!date={\v!year,\ ,\v!month,\ ,\v!day}] + +\installlanguage + [\s!ro] + [\c!spacing=\v!packed, + \c!leftsentence=---, + \c!rightsentence=---, + \c!leftsubsentence=---, + \c!rightsubsentence=---, + \c!leftquote=\leftguillemot, + \c!rightquote=\rightguillemot, + \c!leftquotation=\lowerrightdoubleninequote, + \c!rightquotation=\upperleftdoublesixquote, + \c!date={\v!day,\ ,\v!month,\ ,\v!year}] + +%D For compatibility reasons we also define: + +\installlanguage [fa] [\s!fr] % for dutchies only + +\installlanguage [french] [\s!fr] +\installlanguage [spanish] [\s!es] +\installlanguage [catalan] [\s!ca] +\installlanguage [italian] [\s!it] +\installlanguage [latin] [\s!la] +\installlanguage [portuguese] [\s!pt] +\installlanguage [romanian] [\s!ro] + +%D Ordinal converters: + +\def\frordinaldaynumber#1% date is masculine + {\number#1\ifcase#1\or + \highordinalstr{er}% + \fi} + +\defineconversion [\s!fr] [\v!day+] [\frordinaldaynumber] + +\protect \endinput diff --git a/tex/context/base/lang-lab.lua b/tex/context/base/lang-lab.lua new file mode 100644 index 000000000..0f4fa0a30 --- /dev/null +++ b/tex/context/base/lang-lab.lua @@ -0,0 +1,131 @@ +if not modules then modules = { } end modules ['lang-lab'] = { + version = 1.001, + comment = "companion to lang-lab.mkiv", + author = "Hans Hagen, PRAGMA-ADE, Hasselt NL", + copyright = "PRAGMA ADE / ConTeXt Development Team", + license = "see context related readme files" +} + +--~ local function complete() +--~ local function process(what) +--~ for tag, data in next, what do +--~ for k, v in next, data.labels do +--~ languages[k] = true +--~ end +--~ end +--~ end +--~ process(languages.labels.data.titles) +--~ process(languages.labels.data.texts) +--~ process(languages.labels.data.functions) +--~ process(languages.labels.data.tags) +--~ local function process(what) +--~ for tag, data in next, what do +--~ local labels = data.labels +--~ for k, v in next, languages do +--~ if not labels[k] then +--~ labels[k] = "" +--~ end +--~ end +--~ end +--~ end +--~ process(languages.data.labels.titles) +--~ process(languages.data.labels.texts) +--~ process(languages.data.labels.functions) +--~ process(languages.data.labels.tags) +--~ end +--~ +--~ local function strip(default) +--~ local function process(what) +--~ for tag, data in next, what do +--~ local labels = data.labels +--~ for k, v in next, labels do +--~ if v == "" then +--~ labels[k] = default +--~ end +--~ end +--~ end +--~ end +--~ process(languages.data.labels.titles) +--~ process(languages.data.labels.texts) +--~ process(languages.data.labels.functions) +--~ process(languages.data.labels.tags) +--~ end +--~ +--~ complete() +--~ strip(false) +--~ strip() + +--~ table.print(languages.data.labels,"languages.data.labels",false,true,true) + +-- this will move + +local format, find = string.format, string.find +local next, rawget, type = next, rawget, type +local texsprint = tex.sprint +local prtcatcodes = tex.prtcatcodes + +languages.labels = languages.labels or { } +languages.data = languages.data or { } + +local trace_labels = false trackers.register("languages.labels", function(v) trace_labels = v end) + +local report_labels = logs.new("language labels") + +function languages.labels.define() + local variables = interfaces.variables + local data = languages.data.labels + local function define(command,list,prefixed) + if list then + for tag, data in next, list do + if data.hidden then + -- skip + else + for language, text in next, data.labels do + if text == "" then + -- skip + elseif prefixed and rawget(variables,tag) then + if type(text) == "table" then + texsprint(prtcatcodes,format("\\%s[%s][\\v!%s={{%s},{%s}}]",command,language,tag,text[1],text[2])) + else + texsprint(prtcatcodes,format("\\%s[%s][\\v!%s={{%s},}]",command,language,tag,text)) + end + else + if type(text) == "table" then + texsprint(prtcatcodes,format("\\%s[%s][%s={{%s},{%s}}]",command,language,tag,text[1],text[2])) + else + texsprint(prtcatcodes,format("\\%s[%s][%s={{%s},}]",command,language,tag,text)) + end + end + if trace_labels then + if type(text) == "table" then + report_labels("language '%s', defining label '%s' as '%s' and '%s'",language,tag,text[1],text[2]) + else + report_labels("language '%s', defining label '%s' as '%s'",language,tag,text) + end + end + end + end + end + end + end + define("setupheadtext", data.titles, true) + define("setuplabeltext", data.texts, true) + define("setupmathlabeltext", data.functions) + define("setuptaglabeltext", data.tags) +end + +--~ function languages.labels.check() +--~ for category, list in next, languages.data.labels do +--~ for tag, specification in next, list do +--~ for language, text in next, specification.labels do +--~ if type(text) == "string" and find(text,",") then +--~ logs.simple("label with comma: category '%s', language '%s', tag '%s', text '%s'", +--~ category, language, tag, text) +--~ end +--~ end +--~ end +--~ end +--~ end +--~ +--~ languages.labels.check() + diff --git a/tex/context/base/lang-lab.mkiv b/tex/context/base/lang-lab.mkiv index 86311e77f..d7a705627 100644 --- a/tex/context/base/lang-lab.mkiv +++ b/tex/context/base/lang-lab.mkiv @@ -11,6 +11,11 @@ %C therefore copyrighted by \PRAGMA. See mreadme.pdf for %C details. +\writestatus{loading}{ConTeXt Language Macros / Labels} + +\registerctxluafile{lang-lab}{1.001} +\registerctxluafile{lang-txt}{1.001} + \unprotect %C The UPPERCASE variants are obsolete as we can now use \WORD @@ -144,10 +149,10 @@ %D These macros enable us to automatically define head and label %D texts without replacing predefined ones. They are internal macros. -\definelabelclass [head] [0] -\definelabelclass [label] [0] -\definelabelclass [mathlabel] [0] -\definelabelclass [taglabel] [2] +\definelabelclass [head] [0] % titles +\definelabelclass [label] [0] % texts +\definelabelclass [mathlabel] [0] % functions +\definelabelclass [taglabel] [2] % tags \appendtoks \let\labellanguage\currentlanguage \to \everycurrentdate @@ -258,4 +263,12 @@ {\getparameters[\??lg][#1]% \edef#2{\csname\??lg\currentlanguage\endcsname}} +%D Now we load the labels: + +\ifdefined\sixperemspace \else \def\sixperemspace{ } \fi % we could embed 0x2006 but it does not show up in a editor + +%D Now we can load the labels: + +\ctxlua{languages.labels.define()} + \protect \endinput diff --git a/tex/context/base/lang-sla.mkii b/tex/context/base/lang-sla.mkii index 62483aeb6..2834b652f 100644 --- a/tex/context/base/lang-sla.mkii +++ b/tex/context/base/lang-sla.mkii @@ -11,6 +11,461 @@ %C therefore copyrighted by \PRAGMA. See mreadme.pdf for %C details. +% Todo: replace \'.. by \namedglyph + +%D The framework of this module is set up by Hans Hagen while +%D many of the first translations were done by Tobias. Later +%D on, corrections were made by users. If you have suggestions, +%D or feel that your name missing here, don't hesitate to send +%D us an email. +%D +%D \starttabulate[|lB|l|] +%D \NC Czech \NC Tom Hudec, Petr Sojka \NC \NR +%D \NC Polish \NC Grzegorz Sapijaszko \NC \NR +%D \NC Croatian \NC \Zcaron eljko Vrba \NC \NR +%D \NC Slovenian \NC Mojca Miklavec \NC \NR +%D \NC Cz and Sk \NC Richard Gabriel \NC \NR +%D \stoptabulate + +% Belarussian, Russian, Ukrainian, Bulgarian, Macedonian, +% Serbian, Croatian, Slovenian, Czech, Kushubian, +% Lusatian/Sorbian/Wendish, Polish, Slovak, Albanian, +% Illyrian, Armenian + +\writestatus{loading}{ConTeXt Language Macros / Slavic Languages} + +\unprotect + +\installlanguage + [\s!pl] + [\c!spacing=\v!packed, + \c!leftsentence=---, + \c!rightsentence=---, + \c!leftsubsentence=---, + \c!rightsubsentence=---, + \c!leftquote=\lowerleftsingleninequote, + \c!rightquote=\upperrightsingleninequote, + \c!leftquotation=\lowerleftdoubleninequote, + \c!rightquotation=\upperrightdoubleninequote, + \c!date={\v!day,{.},\ ,\v!month,\ ,\v!year}, + \s!mapping={pl0,ec,qx}, + \s!encoding={pl0,ec,qx}] + +\installlanguage + [\s!cs] + [\c!spacing=\v!packed, + \c!leftsentence=\thickglue--\thickglue\penalty-20\relax, % hh, \relax added + \c!rightsentence=\thickglue--\thickglue\penalty-20\relax, + \c!leftsubsentence=~---~\penalty-20\relax, + \c!rightsubsentence=~---~\penalty-20\relax, + \c!leftquote=\lowerleftsingleninequote, + \c!rightquote=\upperrightsinglesixquote, + \c!leftquotation=\lowerleftdoubleninequote, + \c!rightquotation=\upperrightdoublesixquote, + \c!date={\v!day,{.\,},\v!month,\ ,\v!year}, + \s!mapping={il2,ec}, + \s!encoding={il2,ec}] + +\installlanguage + [\s!sk] + [\c!spacing=\v!packed, + \c!leftsentence=---, + \c!rightsentence=---, + \c!leftsubsentence=---, + \c!rightsubsentence=---, + \c!leftquote=\upperleftsinglesixquote, + \c!rightquote=\upperrightsingleninequote, + \c!leftquotation=\upperleftdoublesixquote, + \c!rightquotation=\upperrightdoubleninequote, + \c!date={\v!day,{.\,},\v!month,\ ,\v!year}, + \s!mapping={il2,ec}, + \s!encoding={il2,ec}] + +\installlanguage + [\s!hr] + [\c!spacing=\v!packed, + \c!leftsentence=---, + \c!rightsentence=---, + \c!leftsubsentence=---, + \c!rightsubsentence=---, + \c!leftquote=\lowerleftsingleninequote, + \c!rightquote=\upperrightsingleninequote, + \c!leftquotation=\lowerleftdoubleninequote, + \c!rightquotation=\upperrightdoubleninequote, + \c!date={\v!day,{.},\ ,\v!month,\ ,\v!year}, + \s!mapping=ec, + \s!encoding=ec] + +%D The default quotation marks for Slovenian were chosen as +%D \lowerleftdoubleninequote these ones\upperrightdoublesixquote\ +%D which was probably due to the strong influence computers +%D had on typesetting, but \rightguillemot these ones\leftguillemot\ +%D are \quotation{more correct}. +%D +%D If you still want the other quotation marks, use this: +%D +%D \starttyping +%D \installlanguage +%D [sl] +%D [leftquote=\lowerleftsingleninequote, +%D rightquote=\upperrightsinglesixquote, +%D leftquotation=\lowerleftdoubleninequote, +%D rightquotation=\upperrightdoublesixquote] +%D \stoptyping +%D +%D If you disagree with the change, please send an email to Mojca, but +%D best use some pretty strong arguments because she loves S{\sl love}nia +%D too much to compromise on this. +%D +%D German faces approximately the same problem. I (MM) would prefer to +%D have something like: +%D +%D \starttyping +%D \mainlanguage[sl][quotationstyle=guillemot|doublequote] % better name needed +%D \stoptyping +%D +%D but users are expected to respect the rules of nice and correct +%D typography anyway. + +\installlanguage + [\s!sl] + [\c!spacing=\v!packed, + \c!leftsentence={\hbox{--~}}, + \c!rightsentence={\hbox{~--}}, + \c!leftsubsentence={--}, + \c!rightsubsentence={--}, + %\c!leftquote=\lowerleftsingleninequote, + %\c!rightquote=\upperrightsinglesixquote, + %\c!leftquotation=\lowerleftdoubleninequote, + %\c!rightquotation=\upperrightdoublesixquote, + \c!leftquote=\guilsingleright, + \c!rightquote=\guilsingleleft, + \c!leftquotation=\rightguillemot, + \c!rightquotation=\leftguillemot, + \c!date={\v!day,{.},\ ,\v!month,\ ,\v!year}, + \s!mapping=ec, + \s!encoding=ec] + +\installlanguage [polish] [\s!pl] +\installlanguage [czech] [\s!cs] +\installlanguage [slovak] [\s!sk] +\installlanguage [croatian] [\s!hr] +\installlanguage [slovenian] [\s!sl] +\installlanguage [slovene] [\s!sl] % both possible (mojca: still needed?) + +\installlanguage [cz] [\s!cs] + +% labels + +\setupheadtext [\s!pl] [\v!content=Spis tre\sacute ci] +\setupheadtext [\s!cs] [\v!content=Obsah] +\setupheadtext [\s!sk] [\v!content=Obsah] +\setupheadtext [\s!hr] [\v!content=Sadr\zcaron aj] +\setupheadtext [\s!sl] [\v!content=Kazalo] + +\setupheadtext [\s!pl] [\v!tables=Tabele] +\setupheadtext [\s!cs] [\v!tables=Tabulky] +\setupheadtext [\s!sk] [\v!tables=Tabuliek] +\setupheadtext [\s!hr] [\v!tables=Tablice] +\setupheadtext [\s!sl] [\v!tables=Tabele] + +\setupheadtext [\s!pl] [\v!figures=Ilustracje] +\setupheadtext [\s!cs] [\v!figures=Obr\aacute zky] +\setupheadtext [\s!sk] [\v!figures=Obr\aacute zkov] +\setupheadtext [\s!hr] [\v!figures=Slike] +\setupheadtext [\s!sl] [\v!figures=Slike] + +\setupheadtext [\s!pl] [\v!graphics=Grafika] +\setupheadtext [\s!cs] [\v!graphics=Grafy] +\setupheadtext [\s!sk] [\v!graphics=Graf] +\setupheadtext [\s!hr] [\v!graphics=Slike] +\setupheadtext [\s!sl] [\v!graphics=Slike] + +\setupheadtext [\s!pl] [\v!intermezzi=Intermezza] +\setupheadtext [\s!cs] [\v!intermezzi=Intermezza] +\setupheadtext [\s!sk] [\v!intermezzi=Intermezz\aacute] +\setupheadtext [\s!hr] [\v!intermezzi=Intermeci] +\setupheadtext [\s!sl] [\v!intermezzi=Intermezzi] + +\setupheadtext [\s!pl] [\v!index=Indeks] +\setupheadtext [\s!cs] [\v!index=Rejst\rcaron\iacute k] +\setupheadtext [\s!sk] [\v!index=Zoznam] +\setupheadtext [\s!hr] [\v!index=Indeks] +\setupheadtext [\s!sl] [\v!index=Stvarno kazalo] + +\setupheadtext [\s!pl] [\v!abbreviations=Skr\oacute cenie] +\setupheadtext [\s!cs] [\v!abbreviations=Zkratky] +\setupheadtext [\s!sk] [\v!abbreviations=Skratky] +\setupheadtext [\s!hr] [\v!abbreviations=Kratice] +\setupheadtext [\s!sl] [\v!abbreviations=Kratice] + +\setupheadtext [\s!pl] [\v!logos=Znaki] +\setupheadtext [\s!cs] [\v!logos=Loga] +\setupheadtext [\s!sk] [\v!logos=Log\aacute] +\setupheadtext [\s!hr] [\v!logos=Znakovi] +\setupheadtext [\s!sl] [\v!logos=Logotipi] + +\setupheadtext [\s!pl] [\v!units=Jednostki] +\setupheadtext [\s!cs] [\v!units=Jednotky] +\setupheadtext [\s!sk] [\v!units=Jednotky] +\setupheadtext [\s!hr] [\v!units=Jedinice] +\setupheadtext [\s!sl] [\v!units=Enote] + +%setupheadtext [\s!pl] [pubs=?] +\setupheadtext [\s!cs] [pubs=Literatura] +%setupheadtext [\s!sk] [pubs=?] +\setupheadtext [\s!hr] [pubs=Literatura] +\setupheadtext [\s!sl] [pubs=Literatura] + +\setuplabeltext [\s!pl] [\v!table=Tabela ] +\setuplabeltext [\s!cs] [\v!table=Tabulka ] +\setuplabeltext [\s!sk] [\v!table=Tabu\lcaron ka ] +\setuplabeltext [\s!hr] [\v!table=Tablica ] +\setuplabeltext [\s!sl] [\v!table=Tabela ] + +\setuplabeltext [\s!pl] [\v!figure=Ilustracja ] +\setuplabeltext [\s!cs] [\v!figure=Obr\aacute zek ] +\setuplabeltext [\s!sk] [\v!figure=Obr\aacute zok ] +\setuplabeltext [\s!hr] [\v!figure=Slika ] +\setuplabeltext [\s!sl] [\v!figure=Slika ] + +\setuplabeltext [\s!pl] [\v!intermezzo=Intermezzo ] +\setuplabeltext [\s!cs] [\v!intermezzo=Intermezzo ] +\setuplabeltext [\s!sk] [\v!intermezzo=Intermezzo ] +\setuplabeltext [\s!hr] [\v!intermezzo=Intermeco ] +\setuplabeltext [\s!sl] [\v!intermezzo=Intermezzo ] + +\setuplabeltext [\s!pl] [\v!graphic=Grafika ] +\setuplabeltext [\s!cs] [\v!graphic=Graf ] +\setuplabeltext [\s!sk] [\v!graphic=Graf ] +\setuplabeltext [\s!hr] [\v!graphic=Slika ] +\setuplabeltext [\s!sl] [\v!graphic=Slika ] + +\setuplabeltext [\s!pl] [\v!chapter=] % Rozdzia\l +\setuplabeltext [\s!cs] [\v!chapter=] % Kapitola +\setuplabeltext [\s!sk] [\v!chapter=] % Kapitola +\setuplabeltext [\s!hr] [\v!chapter=] % Poglavlje +\setuplabeltext [\s!sl] [\v!chapter=] % Poglavje + +\setuplabeltext [\s!pl] [\v!section=] % Podrozdzia\l +\setuplabeltext [\s!cs] [\v!section=] % Sekce +\setuplabeltext [\s!sk] [\v!section=] % Sekcia +\setuplabeltext [\s!hr] [\v!section=] % Odjeljak +\setuplabeltext [\s!sl] [\v!section=] + +\setuplabeltext [\s!pl] [\v!subsection=] +\setuplabeltext [\s!cs] [\v!subsection=] % Podsekce +\setuplabeltext [\s!sk] [\v!subsection=] % Podsekcia +\setuplabeltext [\s!hr] [\v!subsection=] % Pododjeljak +\setuplabeltext [\s!sl] [\v!subsection=] + +\setuplabeltext [\s!pl] [\v!subsubsection=] +\setuplabeltext [\s!cs] [\v!subsubsection=] % Podpodsekce +\setuplabeltext [\s!sk] [\v!subsubsection=] % Podpodsekcia +\setuplabeltext [\s!hr] [\v!subsubsection=] % Podpododjeljak +\setuplabeltext [\s!sl] [\v!subsubsection=] + +\setuplabeltext [\s!pl] [\v!subsubsubsection=] +\setuplabeltext [\s!cs] [\v!subsubsubsection=] % Podpodpodsekce +\setuplabeltext [\s!sk] [\v!subsubsubsection=] % Podpodpodsekcia +\setuplabeltext [\s!hr] [\v!subsubsubsection=] % Podpodpododjeljak +\setuplabeltext [\s!sl] [\v!subsubsubsection=] + +\setuplabeltext [\s!pl] [\v!appendix=] % Dodatek +\setuplabeltext [\s!cs] [\v!appendix=] % P\rcaron\iacute loha +\setuplabeltext [\s!sk] [\v!appendix=] % Pr\iacute loha +\setuplabeltext [\s!hr] [\v!appendix=] % Dodatak +\setuplabeltext [\s!sl] [\v!appendix=] % Dodatek + +\setuplabeltext [\s!pl] [\v!part=Ust\eogonek p ] +\setuplabeltext [\s!cs] [\v!part=\Ccaron \aacute st ] +\setuplabeltext [\s!sk] [\v!part=\Ccaron as\tcaron{} ] +\setuplabeltext [\s!hr] [\v!part=Dio ] +\setuplabeltext [\s!sl] [\v!part=Del ] + +\setuplabeltext [\s!pl] [\v!line=wiersz ] +\setuplabeltext [\s!cs] [\v!line=\rcaron\aacute dek ] +\setuplabeltext [\s!sk] [\v!line=riadok ] +\setuplabeltext [\s!hr] [\v!line=redak ] +\setuplabeltext [\s!sl] [\v!line=vrstica ] + +\setuplabeltext [\s!pl] [\v!lines=wiersze ] +\setuplabeltext [\s!cs] [\v!lines=\rcaron\aacute dky ] +\setuplabeltext [\s!sk] [\v!lines=riadky ] +\setuplabeltext [\s!hr] [\v!lines=retci ] +\setuplabeltext [\s!sl] [\v!lines=vrstice ] + +\setuplabeltext [\s!pl] [\v!january=stycznia] +\setuplabeltext [\s!pl] [\v!february=lutego] +\setuplabeltext [\s!pl] [\v!march=marca] +\setuplabeltext [\s!pl] [\v!april=kwietnia] +\setuplabeltext [\s!pl] [\v!may=maja] +\setuplabeltext [\s!pl] [\v!june=czerwca] +\setuplabeltext [\s!pl] [\v!july=lipca] +\setuplabeltext [\s!pl] [\v!august=sierpnia] +\setuplabeltext [\s!pl] [\v!september=wrze\sacute nia] +\setuplabeltext [\s!pl] [\v!october=pa\zacute dziernika] +\setuplabeltext [\s!pl] [\v!november=listopada] +\setuplabeltext [\s!pl] [\v!december=grudnia] + +\setuplabeltext [\s!cs] [\v!january=ledna] +\setuplabeltext [\s!cs] [\v!february=\uacute nora] +\setuplabeltext [\s!cs] [\v!march=b\rcaron ezna] +\setuplabeltext [\s!cs] [\v!april=dubna] +\setuplabeltext [\s!cs] [\v!may=kv\ecaron tna] +\setuplabeltext [\s!cs] [\v!june=\ccaron ervna] +\setuplabeltext [\s!cs] [\v!july=\ccaron ervence] +\setuplabeltext [\s!cs] [\v!august=srpna] +\setuplabeltext [\s!cs] [\v!september=z\aacute\rcaron\iacute{}] +\setuplabeltext [\s!cs] [\v!october=\rcaron\iacute jna] +\setuplabeltext [\s!cs] [\v!november=listopadu] +\setuplabeltext [\s!cs] [\v!december=prosince] + +\setuplabeltext [\s!sk] [\v!january=janu\aacute ra] +\setuplabeltext [\s!sk] [\v!february=febru\aacute ra] +\setuplabeltext [\s!sk] [\v!march=marca] +\setuplabeltext [\s!sk] [\v!april=apr\iacute la] +\setuplabeltext [\s!sk] [\v!may=m\aacute ja] +\setuplabeltext [\s!sk] [\v!june=j\uacute na] +\setuplabeltext [\s!sk] [\v!july=j\uacute la] +\setuplabeltext [\s!sk] [\v!august=augusta] +\setuplabeltext [\s!sk] [\v!september=septembra] +\setuplabeltext [\s!sk] [\v!october=okt\oacute bra] +\setuplabeltext [\s!sk] [\v!november=novembra] +\setuplabeltext [\s!sk] [\v!december=decembra] + +\setuplabeltext [\s!hr] [\v!january=sije\ccaron anj] +\setuplabeltext [\s!hr] [\v!february=velja\ccaron a] +\setuplabeltext [\s!hr] [\v!march=o\zcaron ujak] +\setuplabeltext [\s!hr] [\v!april=travanj] +\setuplabeltext [\s!hr] [\v!may=svibanj] +\setuplabeltext [\s!hr] [\v!june=lipanj] +\setuplabeltext [\s!hr] [\v!july=srpanj] +\setuplabeltext [\s!hr] [\v!august=kolovoz] +\setuplabeltext [\s!hr] [\v!september=rujan] +\setuplabeltext [\s!hr] [\v!october=listopad] +\setuplabeltext [\s!hr] [\v!november=studeni] +\setuplabeltext [\s!hr] [\v!december=prosinac] + +\setuplabeltext [\s!sl] [\v!january=januar] +\setuplabeltext [\s!sl] [\v!february=februar] +\setuplabeltext [\s!sl] [\v!march=marec] +\setuplabeltext [\s!sl] [\v!april=april] +\setuplabeltext [\s!sl] [\v!may=maj] +\setuplabeltext [\s!sl] [\v!june=junij] +\setuplabeltext [\s!sl] [\v!july=julij] +\setuplabeltext [\s!sl] [\v!august=avgust] +\setuplabeltext [\s!sl] [\v!september=september] +\setuplabeltext [\s!sl] [\v!october=oktober] +\setuplabeltext [\s!sl] [\v!november=november] +\setuplabeltext [\s!sl] [\v!december=december] + +\setuplabeltext [\s!pl] [\v!sunday=niedziela] +\setuplabeltext [\s!pl] [\v!monday=poniedzia\lstroke ek] +\setuplabeltext [\s!pl] [\v!tuesday=wtorek] +\setuplabeltext [\s!pl] [\v!wednesday=\sacute roda] +\setuplabeltext [\s!pl] [\v!thursday=czwartek] +\setuplabeltext [\s!pl] [\v!friday=pi\aogonek tek] +\setuplabeltext [\s!pl] [\v!saturday=sobota] + +\setuplabeltext [\s!cs] [\v!sunday=ned\ecaron le] +\setuplabeltext [\s!cs] [\v!monday=pond\ecaron l\iacute] +\setuplabeltext [\s!cs] [\v!tuesday=\uacute ter\yacute] +\setuplabeltext [\s!cs] [\v!wednesday=st\rcaron eda] +\setuplabeltext [\s!cs] [\v!thursday=\ccaron tvrtek] +\setuplabeltext [\s!cs] [\v!friday=p\aacute tek] +\setuplabeltext [\s!cs] [\v!saturday=sobota] + +% Slovakian missing + +\setuplabeltext [\s!hr] [\v!sunday=nedjelja] +\setuplabeltext [\s!hr] [\v!monday=ponedjeljak] +\setuplabeltext [\s!hr] [\v!tuesday=utorak] +\setuplabeltext [\s!hr] [\v!wednesday=srijeda] +\setuplabeltext [\s!hr] [\v!thursday=\ccaron etvrtak] +\setuplabeltext [\s!hr] [\v!friday=petak] +\setuplabeltext [\s!hr] [\v!saturday=subota] + +\setuplabeltext [\s!sl] [\v!sunday=nedelja] +\setuplabeltext [\s!sl] [\v!monday=ponedeljek] +\setuplabeltext [\s!sl] [\v!tuesday=torek] +\setuplabeltext [\s!sl] [\v!wednesday=sreda] +\setuplabeltext [\s!sl] [\v!thursday=\ccaron etrtek] +\setuplabeltext [\s!sl] [\v!friday=petek] +\setuplabeltext [\s!sl] [\v!saturday=sobota] + +%D Rather new ... +%\installlanguage +% [\s!cs] +% [\c!spacing=\v!packed, +% \c!leftsentence=---, +% \c!rightsentence=---, +% \c!leftsubsentence=---, +% \c!rightsubsentence=---, +% \c!leftquote=\lowerleftsingleninequote, +% \c!rightquote=\upperrightsinglesixquote, +% \c!leftquotation=\lowerleftdoubleninequote, +% \c!rightquotation=\upperrightdoublesixquote, +% \c!date={\v!day,\ ,\v!month,\ ,\v!year}] + +% Polish missing + +\setuplabeltext [\s!cs] [\v!page=strana ] +\setuplabeltext [\s!cs] [\v!atpage=na stran\ecaron\ ] +\setuplabeltext [\s!cs] [\v!hencefore=viz v\yacute\scaron e ] +\setuplabeltext [\s!cs] [\v!hereafter=viz n\iacute\zcaron e ] +\setuplabeltext [\s!cs] [\v!see=viz ] + +% Slovakian missing + +\setuplabeltext [\s!hr] [\v!page=stranica ] +\setuplabeltext [\s!hr] [\v!atpage=na stranici ] +\setuplabeltext [\s!hr] [\v!hencefore=vidi gore ] +\setuplabeltext [\s!hr] [\v!hereafter=vidi ispod ] +\setuplabeltext [\s!hr] [\v!see=vidi ] + +\setuplabeltext [\s!sl] [\v!page=stran ] +\setuplabeltext [\s!sl] [\v!atpage=na strani ] +\setuplabeltext [\s!sl] [\v!hencefore=glej zgoraj ] +\setuplabeltext [\s!sl] [\v!hereafter=glej spodaj ] +\setuplabeltext [\s!sl] [\v!see=glej ] + +%D \ShowAllLanguageValues [\s!pl] [polish] {Polish} {furniture} +%D \ShowAllLanguageValues [\s!cs] [czech] {Czech} {mate} +%D \ShowAllLanguageValues [\s!sk] [slovak] {Slovakian} {face} +%D \ShowAllLanguageValues [\s!hr] [croatian] {Croatian} {heartthrob} +%D \ShowAllLanguageValues [\s!sl] [slovenian] {Slovenian} {mountains} + +%D A present from Brooks Moses and Hans Hagen for Mojca Miklavec: + +\def\doconvertsloveniancharacters{\dodoconvertcharacters{25}} + +\def\sloveniancharacters{\doconvertsloveniancharacters\sloveniancharacter} +\def\slovenianCharacters{\doconvertsloveniancharacters\slovenianCharacter} + +%D Define general-purpose macros for Slovenian character enumerations: + +\defineconversion [sloveniancharacter] [\sloveniancharacter] +\defineconversion [slovenianCharacter] [\slovenianCharacter] + +\defineconversion [sloveniancharacters] [\sloveniancharacters] +\defineconversion [slovenianCharacters] [\slovenianCharacters] + +%D Define these as the general character enumeration when +%D language is Slovenian. If you feel uncomfortable with this, +%D mail Mojca, since she promised to to take the heat. + +\defineconversion [sl] [character] [\sloveniancharacter] +\defineconversion [sl] [Character] [\slovenianCharacter] + +\defineconversion [sl] [characters] [\sloveniancharacters] +\defineconversion [sl] [Characters] [\slovenianCharacters] + +\defineconversion [sl] [a] [\sloveniancharacters] +\defineconversion [sl] [A] [\slovenianCharacters] +\defineconversion [sl] [AK] [\smallcapped\sloveniancharacters] +\defineconversion [sl] [KA] [\smallcapped\sloveniancharacters] + \def\sloveniancharacter#1% {\ifcase#1\unknowncharacter \or a\or b\or c\or \ccaron\or d\or e\or f\or g\or h\or i\or j\or k\or l\or m% @@ -27,4 +482,4 @@ \unknowncharacter \fi} -\endinput +\protect \endinput diff --git a/tex/context/base/lang-sla.mkiv b/tex/context/base/lang-sla.mkiv index 479012615..3bcf04c57 100644 --- a/tex/context/base/lang-sla.mkiv +++ b/tex/context/base/lang-sla.mkiv @@ -1,6 +1,6 @@ %D \module %D [ file=lang-sla, -%D version=2006.09.16, +%D version=1999.09.13, % 1997.09.03 %D title=\CONTEXT\ Language Macros, %D subtitle=Slavic Languages, %D author=Hans Hagen / Tobias Burnus, @@ -11,7 +11,169 @@ %C therefore copyrighted by \PRAGMA. See mreadme.pdf for %C details. +% Todo: replace \'.. by \namedglyph + +%D The framework of this module is set up by Hans Hagen while +%D many of the first translations were done by Tobias. Later +%D on, corrections were made by users. If you have suggestions, +%D or feel that your name missing here, don't hesitate to send +%D us an email. +%D +%D \starttabulate[|lB|l|] +%D \NC Czech \NC Tom Hudec, Petr Sojka \NC \NR +%D \NC Polish \NC Grzegorz Sapijaszko \NC \NR +%D \NC Croatian \NC \Zcaron eljko Vrba \NC \NR +%D \NC Slovenian \NC Mojca Miklavec \NC \NR +%D \NC Cz and Sk \NC Richard Gabriel \NC \NR +%D \stoptabulate + +% Belarussian, Russian, Ukrainian, Bulgarian, Macedonian, +% Serbian, Croatian, Slovenian, Czech, Kushubian, +% Lusatian/Sorbian/Wendish, Polish, Slovak, Albanian, +% Illyrian, Armenian + +\writestatus{loading}{ConTeXt Language Macros / Slavic Languages} + +\unprotect + +\installlanguage + [\s!pl] + [\c!spacing=\v!packed, + \c!leftsentence=---, + \c!rightsentence=---, + \c!leftsubsentence=---, + \c!rightsubsentence=---, + \c!leftquote=\lowerleftsingleninequote, + \c!rightquote=\upperrightsingleninequote, + \c!leftquotation=\lowerleftdoubleninequote, + \c!rightquotation=\upperrightdoubleninequote, + \c!date={\v!day,{.},\ ,\v!month,\ ,\v!year}] + +\installlanguage + [\s!cs] + [\c!spacing=\v!packed, + \c!leftsentence=\thickglue--\thickglue\penalty-20\relax, % hh, \relax added + \c!rightsentence=\thickglue--\thickglue\penalty-20\relax, + \c!leftsubsentence=~---~\penalty-20\relax, + \c!rightsubsentence=~---~\penalty-20\relax, + \c!leftquote=\lowerleftsingleninequote, + \c!rightquote=\upperrightsinglesixquote, + \c!leftquotation=\lowerleftdoubleninequote, + \c!rightquotation=\upperrightdoublesixquote, + \c!date={\v!day,{.\,},\v!month,\ ,\v!year}] + +\installlanguage + [\s!sk] + [\c!spacing=\v!packed, + \c!leftsentence=---, + \c!rightsentence=---, + \c!leftsubsentence=---, + \c!rightsubsentence=---, + \c!leftquote=\upperleftsinglesixquote, + \c!rightquote=\upperrightsingleninequote, + \c!leftquotation=\upperleftdoublesixquote, + \c!rightquotation=\upperrightdoubleninequote, + \c!date={\v!day,{.\,},\v!month,\ ,\v!year}] + +\installlanguage + [\s!hr] + [\c!spacing=\v!packed, + \c!leftsentence=---, + \c!rightsentence=---, + \c!leftsubsentence=---, + \c!rightsubsentence=---, + \c!leftquote=\lowerleftsingleninequote, + \c!rightquote=\upperrightsingleninequote, + \c!leftquotation=\lowerleftdoubleninequote, + \c!rightquotation=\upperrightdoubleninequote, + \c!date={\v!day,{.},\ ,\v!month,\ ,\v!year}] + +%D The default quotation marks for Slovenian were chosen as +%D \lowerleftdoubleninequote these ones\upperrightdoublesixquote\ +%D which was probably due to the strong influence computers +%D had on typesetting, but \rightguillemot these ones\leftguillemot\ +%D are \quotation{more correct}. +%D +%D If you still want the other quotation marks, use this: +%D +%D \starttyping +%D \installlanguage +%D [sl] +%D [leftquote=\lowerleftsingleninequote, +%D rightquote=\upperrightsinglesixquote, +%D leftquotation=\lowerleftdoubleninequote, +%D rightquotation=\upperrightdoublesixquote] +%D \stoptyping +%D +%D If you disagree with the change, please send an email to Mojca, but +%D best use some pretty strong arguments because she loves S{\sl love}nia +%D too much to compromise on this. +%D +%D German faces approximately the same problem. I (MM) would prefer to +%D have something like: +%D +%D \starttyping +%D \mainlanguage[sl][quotationstyle=guillemot|doublequote] % better name needed +%D \stoptyping +%D +%D but users are expected to respect the rules of nice and correct +%D typography anyway. + +\installlanguage + [\s!sl] + [\c!spacing=\v!packed, + \c!leftsentence={\hbox{--~}}, + \c!rightsentence={\hbox{~--}}, + \c!leftsubsentence={--}, + \c!rightsubsentence={--}, + %\c!leftquote=\lowerleftsingleninequote, + %\c!rightquote=\upperrightsinglesixquote, + %\c!leftquotation=\lowerleftdoubleninequote, + %\c!rightquotation=\upperrightdoublesixquote, + \c!leftquote=\guilsingleright, + \c!rightquote=\guilsingleleft, + \c!leftquotation=\rightguillemot, + \c!rightquotation=\leftguillemot, + \c!date={\v!day,{.},\ ,\v!month,\ ,\v!year}] + +\installlanguage [polish] [\s!pl] +\installlanguage [czech] [\s!cs] +\installlanguage [slovak] [\s!sk] +\installlanguage [croatian] [\s!hr] +\installlanguage [slovenian] [\s!sl] +\installlanguage [slovene] [\s!sl] % both possible (mojca: still needed?) + +\installlanguage [cz] [\s!cs] + +\def\doconvertsloveniancharacters{\dodoconvertcharacters{25}} + +\def\sloveniancharacters{\doconvertsloveniancharacters\sloveniancharacter} +\def\slovenianCharacters{\doconvertsloveniancharacters\slovenianCharacter} + +%D Define general-purpose macros for Slovenian character enumerations: + +\defineconversion [sloveniancharacter] [\sloveniancharacter] +\defineconversion [slovenianCharacter] [\slovenianCharacter] + +\defineconversion [sloveniancharacters] [\sloveniancharacters] +\defineconversion [slovenianCharacters] [\slovenianCharacters] + +%D Define these as the general character enumeration when +%D language is Slovenian. If you feel uncomfortable with this, +%D mail Mojca, since she promised to to take the heat. + +\defineconversion [sl] [character] [\sloveniancharacter] +\defineconversion [sl] [Character] [\slovenianCharacter] + +\defineconversion [sl] [characters] [\sloveniancharacters] +\defineconversion [sl] [Characters] [\slovenianCharacters] + +\defineconversion [sl] [a] [\sloveniancharacters] +\defineconversion [sl] [A] [\slovenianCharacters] +\defineconversion [sl] [AK] [\smallcapped\sloveniancharacters] +\defineconversion [sl] [KA] [\smallcapped\sloveniancharacters] + \def\sloveniancharacters#1{\ctxlua{converters.alphabetic(\number#1,"sl")}} \def\slovenianCharacters#1{\ctxlua{converters.Alphabetic(\number#1,"sl")}} -\endinput +\protect \endinput diff --git a/tex/context/base/lang-sla.tex b/tex/context/base/lang-sla.tex deleted file mode 100644 index 7892123bb..000000000 --- a/tex/context/base/lang-sla.tex +++ /dev/null @@ -1,507 +0,0 @@ -%D \module -%D [ file=lang-sla, -%D version=1999.09.13, % 1997.09.03 -%D title=\CONTEXT\ Language Macros, -%D subtitle=Slavic Languages, -%D author=Hans Hagen / Tobias Burnus, -%D date=\currentdate, -%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. - -% Todo: replace \'.. by \namedglyph - -%D The framework of this module is set up by Hans Hagen while -%D many of the first translations were done by Tobias. Later -%D on, corrections were made by users. If you have suggestions, -%D or feel that your name missing here, don't hesitate to send -%D us an email. -%D -%D \starttabulate[|lB|l|] -%D \NC Czech \NC Tom Hudec, Petr Sojka \NC \NR -%D \NC Polish \NC Grzegorz Sapijaszko \NC \NR -%D \NC Croatian \NC \Zcaron eljko Vrba \NC \NR -%D \NC Slovenian \NC Mojca Miklavec \NC \NR -%D \NC Cz and Sk \NC Richard Gabriel \NC \NR -%D \stoptabulate - -% Belarussian, Russian, Ukrainian, Bulgarian, Macedonian, -% Serbian, Croatian, Slovenian, Czech, Kushubian, -% Lusatian/Sorbian/Wendish, Polish, Slovak, Albanian, -% Illyrian, Armenian - -\writestatus{loading}{ConTeXt Language Macros / Slavic Languages} - -\unprotect - -% \unexpanded\def\textormathglue#1#2#3% submitted original -% {\begingroup -% \scratchdimen=#1\hspaceamount\empty{#3}% -% \scratchskip=\zeropoint\!!plus.5\scratchdimen\!!minus.3\scratchdimen\relax -% \ifmmode -% \mskip#1#2% -% \else -% \kern#1\hspaceamount\empty{#3}% -% \hskip\scratchskip -% \fi -% \endgroup} - -% actually we could use the new pdftex features - -\unexpanded\def\textormathglue#1#2#3% cleaned up one - {\begingroup - \ifmmode - \mskip#1#2% - \else - \scratchdimen#1\hspaceamount\empty{#3}% - \scratchskip\scratchdimen\!!plus.5\scratchdimen\!!minus.3\scratchdimen - \hskip\scratchskip - \fi - \endgroup} - -\def\thinglue {\textormathglue+\thinmuskip 1} -\def\medglue {\textormathglue+\medmuskip 2} -\def\thickglue{\textormathglue+\thickmuskip3} - -\installlanguage - [\s!pl] - [\c!spacing=\v!packed, - \c!leftsentence=---, - \c!rightsentence=---, - \c!leftsubsentence=---, - \c!rightsubsentence=---, - \c!leftquote=\lowerleftsingleninequote, - \c!rightquote=\upperrightsingleninequote, - \c!leftquotation=\lowerleftdoubleninequote, - \c!rightquotation=\upperrightdoubleninequote, - \c!date={\v!day,{.},\ ,\v!month,\ ,\v!year}, - \s!mapping={pl0,ec,qx}, - \s!encoding={pl0,ec,qx}] - -\installlanguage - [\s!cs] - [\c!spacing=\v!packed, - \c!leftsentence=\thickglue--\thickglue\penalty-20\relax, % hh, \relax added - \c!rightsentence=\thickglue--\thickglue\penalty-20\relax, - \c!leftsubsentence=~---~\penalty-20\relax, - \c!rightsubsentence=~---~\penalty-20\relax, - \c!leftquote=\lowerleftsingleninequote, - \c!rightquote=\upperrightsinglesixquote, - \c!leftquotation=\lowerleftdoubleninequote, - \c!rightquotation=\upperrightdoublesixquote, - \c!date={\v!day,{.\,},\v!month,\ ,\v!year}, - \s!mapping={il2,ec}, - \s!encoding={il2,ec}] - -\installlanguage - [\s!sk] - [\c!spacing=\v!packed, - \c!leftsentence=---, - \c!rightsentence=---, - \c!leftsubsentence=---, - \c!rightsubsentence=---, - \c!leftquote=\upperleftsinglesixquote, - \c!rightquote=\upperrightsingleninequote, - \c!leftquotation=\upperleftdoublesixquote, - \c!rightquotation=\upperrightdoubleninequote, - \c!date={\v!day,{.\,},\v!month,\ ,\v!year}, - \s!mapping={il2,ec}, - \s!encoding={il2,ec}] - -\installlanguage - [\s!hr] - [\c!spacing=\v!packed, - \c!leftsentence=---, - \c!rightsentence=---, - \c!leftsubsentence=---, - \c!rightsubsentence=---, - \c!leftquote=\lowerleftsingleninequote, - \c!rightquote=\upperrightsingleninequote, - \c!leftquotation=\lowerleftdoubleninequote, - \c!rightquotation=\upperrightdoubleninequote, - \c!date={\v!day,{.},\ ,\v!month,\ ,\v!year}, - \s!mapping=ec, - \s!encoding=ec] - -%D The default quotation marks for Slovenian were chosen as -%D \lowerleftdoubleninequote these ones\upperrightdoublesixquote\ -%D which was probably due to the strong influence computers -%D had on typesetting, but \rightguillemot these ones\leftguillemot\ -%D are \quotation{more correct}. -%D -%D If you still want the other quotation marks, use this: -%D -%D \starttyping -%D \installlanguage -%D [sl] -%D [leftquote=\lowerleftsingleninequote, -%D rightquote=\upperrightsinglesixquote, -%D leftquotation=\lowerleftdoubleninequote, -%D rightquotation=\upperrightdoublesixquote] -%D \stoptyping -%D -%D If you disagree with the change, please send an email to Mojca, but -%D best use some pretty strong arguments because she loves S{\sl love}nia -%D too much to compromise on this. -%D -%D German faces approximately the same problem. I (MM) would prefer to -%D have something like: -%D -%D \starttyping -%D \mainlanguage[sl][quotationstyle=guillemot|doublequote] % better name needed -%D \stoptyping -%D -%D but users are expected to respect the rules of nice and correct -%D typography anyway. - -\installlanguage - [\s!sl] - [\c!spacing=\v!packed, - \c!leftsentence={\hbox{--~}}, - \c!rightsentence={\hbox{~--}}, - \c!leftsubsentence={--}, - \c!rightsubsentence={--}, - %\c!leftquote=\lowerleftsingleninequote, - %\c!rightquote=\upperrightsinglesixquote, - %\c!leftquotation=\lowerleftdoubleninequote, - %\c!rightquotation=\upperrightdoublesixquote, - \c!leftquote=\guilsingleright, - \c!rightquote=\guilsingleleft, - \c!leftquotation=\rightguillemot, - \c!rightquotation=\leftguillemot, - \c!date={\v!day,{.},\ ,\v!month,\ ,\v!year}, - \s!mapping=ec, - \s!encoding=ec] - -\installlanguage [polish] [\s!pl] -\installlanguage [czech] [\s!cs] -\installlanguage [slovak] [\s!sk] -\installlanguage [croatian] [\s!hr] -\installlanguage [slovenian] [\s!sl] -\installlanguage [slovene] [\s!sl] % both possible (mojca: still needed?) - -\installlanguage [cz] [\s!cs] - -% labels - -\setupheadtext [\s!pl] [\v!content=Spis tre\sacute ci] -\setupheadtext [\s!cs] [\v!content=Obsah] -\setupheadtext [\s!sk] [\v!content=Obsah] -\setupheadtext [\s!hr] [\v!content=Sadr\zcaron aj] -\setupheadtext [\s!sl] [\v!content=Kazalo] - -\setupheadtext [\s!pl] [\v!tables=Tabele] -\setupheadtext [\s!cs] [\v!tables=Tabulky] -\setupheadtext [\s!sk] [\v!tables=Tabuliek] -\setupheadtext [\s!hr] [\v!tables=Tablice] -\setupheadtext [\s!sl] [\v!tables=Tabele] - -\setupheadtext [\s!pl] [\v!figures=Ilustracje] -\setupheadtext [\s!cs] [\v!figures=Obr\aacute zky] -\setupheadtext [\s!sk] [\v!figures=Obr\aacute zkov] -\setupheadtext [\s!hr] [\v!figures=Slike] -\setupheadtext [\s!sl] [\v!figures=Slike] - -\setupheadtext [\s!pl] [\v!graphics=Grafika] -\setupheadtext [\s!cs] [\v!graphics=Grafy] -\setupheadtext [\s!sk] [\v!graphics=Graf] -\setupheadtext [\s!hr] [\v!graphics=Slike] -\setupheadtext [\s!sl] [\v!graphics=Slike] - -\setupheadtext [\s!pl] [\v!intermezzi=Intermezza] -\setupheadtext [\s!cs] [\v!intermezzi=Intermezza] -\setupheadtext [\s!sk] [\v!intermezzi=Intermezz\aacute] -\setupheadtext [\s!hr] [\v!intermezzi=Intermeci] -\setupheadtext [\s!sl] [\v!intermezzi=Intermezzi] - -\setupheadtext [\s!pl] [\v!index=Indeks] -\setupheadtext [\s!cs] [\v!index=Rejst\rcaron\iacute k] -\setupheadtext [\s!sk] [\v!index=Zoznam] -\setupheadtext [\s!hr] [\v!index=Indeks] -\setupheadtext [\s!sl] [\v!index=Stvarno kazalo] - -\setupheadtext [\s!pl] [\v!abbreviations=Skr\oacute cenie] -\setupheadtext [\s!cs] [\v!abbreviations=Zkratky] -\setupheadtext [\s!sk] [\v!abbreviations=Skratky] -\setupheadtext [\s!hr] [\v!abbreviations=Kratice] -\setupheadtext [\s!sl] [\v!abbreviations=Kratice] - -\setupheadtext [\s!pl] [\v!logos=Znaki] -\setupheadtext [\s!cs] [\v!logos=Loga] -\setupheadtext [\s!sk] [\v!logos=Log\aacute] -\setupheadtext [\s!hr] [\v!logos=Znakovi] -\setupheadtext [\s!sl] [\v!logos=Logotipi] - -\setupheadtext [\s!pl] [\v!units=Jednostki] -\setupheadtext [\s!cs] [\v!units=Jednotky] -\setupheadtext [\s!sk] [\v!units=Jednotky] -\setupheadtext [\s!hr] [\v!units=Jedinice] -\setupheadtext [\s!sl] [\v!units=Enote] - -%setupheadtext [\s!pl] [pubs=?] -\setupheadtext [\s!cs] [pubs=Literatura] -%setupheadtext [\s!sk] [pubs=?] -\setupheadtext [\s!hr] [pubs=Literatura] -\setupheadtext [\s!sl] [pubs=Literatura] - -\setuplabeltext [\s!pl] [\v!table=Tabela ] -\setuplabeltext [\s!cs] [\v!table=Tabulka ] -\setuplabeltext [\s!sk] [\v!table=Tabu\lcaron ka ] -\setuplabeltext [\s!hr] [\v!table=Tablica ] -\setuplabeltext [\s!sl] [\v!table=Tabela ] - -\setuplabeltext [\s!pl] [\v!figure=Ilustracja ] -\setuplabeltext [\s!cs] [\v!figure=Obr\aacute zek ] -\setuplabeltext [\s!sk] [\v!figure=Obr\aacute zok ] -\setuplabeltext [\s!hr] [\v!figure=Slika ] -\setuplabeltext [\s!sl] [\v!figure=Slika ] - -\setuplabeltext [\s!pl] [\v!intermezzo=Intermezzo ] -\setuplabeltext [\s!cs] [\v!intermezzo=Intermezzo ] -\setuplabeltext [\s!sk] [\v!intermezzo=Intermezzo ] -\setuplabeltext [\s!hr] [\v!intermezzo=Intermeco ] -\setuplabeltext [\s!sl] [\v!intermezzo=Intermezzo ] - -\setuplabeltext [\s!pl] [\v!graphic=Grafika ] -\setuplabeltext [\s!cs] [\v!graphic=Graf ] -\setuplabeltext [\s!sk] [\v!graphic=Graf ] -\setuplabeltext [\s!hr] [\v!graphic=Slika ] -\setuplabeltext [\s!sl] [\v!graphic=Slika ] - -\setuplabeltext [\s!pl] [\v!chapter=] % Rozdzia\l -\setuplabeltext [\s!cs] [\v!chapter=] % Kapitola -\setuplabeltext [\s!sk] [\v!chapter=] % Kapitola -\setuplabeltext [\s!hr] [\v!chapter=] % Poglavlje -\setuplabeltext [\s!sl] [\v!chapter=] % Poglavje - -\setuplabeltext [\s!pl] [\v!section=] % Podrozdzia\l -\setuplabeltext [\s!cs] [\v!section=] % Sekce -\setuplabeltext [\s!sk] [\v!section=] % Sekcia -\setuplabeltext [\s!hr] [\v!section=] % Odjeljak -\setuplabeltext [\s!sl] [\v!section=] - -\setuplabeltext [\s!pl] [\v!subsection=] -\setuplabeltext [\s!cs] [\v!subsection=] % Podsekce -\setuplabeltext [\s!sk] [\v!subsection=] % Podsekcia -\setuplabeltext [\s!hr] [\v!subsection=] % Pododjeljak -\setuplabeltext [\s!sl] [\v!subsection=] - -\setuplabeltext [\s!pl] [\v!subsubsection=] -\setuplabeltext [\s!cs] [\v!subsubsection=] % Podpodsekce -\setuplabeltext [\s!sk] [\v!subsubsection=] % Podpodsekcia -\setuplabeltext [\s!hr] [\v!subsubsection=] % Podpododjeljak -\setuplabeltext [\s!sl] [\v!subsubsection=] - -\setuplabeltext [\s!pl] [\v!subsubsubsection=] -\setuplabeltext [\s!cs] [\v!subsubsubsection=] % Podpodpodsekce -\setuplabeltext [\s!sk] [\v!subsubsubsection=] % Podpodpodsekcia -\setuplabeltext [\s!hr] [\v!subsubsubsection=] % Podpodpododjeljak -\setuplabeltext [\s!sl] [\v!subsubsubsection=] - -\setuplabeltext [\s!pl] [\v!appendix=] % Dodatek -\setuplabeltext [\s!cs] [\v!appendix=] % P\rcaron\iacute loha -\setuplabeltext [\s!sk] [\v!appendix=] % Pr\iacute loha -\setuplabeltext [\s!hr] [\v!appendix=] % Dodatak -\setuplabeltext [\s!sl] [\v!appendix=] % Dodatek - -\setuplabeltext [\s!pl] [\v!part=Ust\eogonek p ] -\setuplabeltext [\s!cs] [\v!part=\Ccaron \aacute st ] -\setuplabeltext [\s!sk] [\v!part=\Ccaron as\tcaron{} ] -\setuplabeltext [\s!hr] [\v!part=Dio ] -\setuplabeltext [\s!sl] [\v!part=Del ] - -\setuplabeltext [\s!pl] [\v!line=wiersz ] -\setuplabeltext [\s!cs] [\v!line=\rcaron\aacute dek ] -\setuplabeltext [\s!sk] [\v!line=riadok ] -\setuplabeltext [\s!hr] [\v!line=redak ] -\setuplabeltext [\s!sl] [\v!line=vrstica ] - -\setuplabeltext [\s!pl] [\v!lines=wiersze ] -\setuplabeltext [\s!cs] [\v!lines=\rcaron\aacute dky ] -\setuplabeltext [\s!sk] [\v!lines=riadky ] -\setuplabeltext [\s!hr] [\v!lines=retci ] -\setuplabeltext [\s!sl] [\v!lines=vrstice ] - -\setuplabeltext [\s!pl] [\v!january=stycznia] -\setuplabeltext [\s!pl] [\v!february=lutego] -\setuplabeltext [\s!pl] [\v!march=marca] -\setuplabeltext [\s!pl] [\v!april=kwietnia] -\setuplabeltext [\s!pl] [\v!may=maja] -\setuplabeltext [\s!pl] [\v!june=czerwca] -\setuplabeltext [\s!pl] [\v!july=lipca] -\setuplabeltext [\s!pl] [\v!august=sierpnia] -\setuplabeltext [\s!pl] [\v!september=wrze\sacute nia] -\setuplabeltext [\s!pl] [\v!october=pa\zacute dziernika] -\setuplabeltext [\s!pl] [\v!november=listopada] -\setuplabeltext [\s!pl] [\v!december=grudnia] - -\setuplabeltext [\s!cs] [\v!january=ledna] -\setuplabeltext [\s!cs] [\v!february=\uacute nora] -\setuplabeltext [\s!cs] [\v!march=b\rcaron ezna] -\setuplabeltext [\s!cs] [\v!april=dubna] -\setuplabeltext [\s!cs] [\v!may=kv\ecaron tna] -\setuplabeltext [\s!cs] [\v!june=\ccaron ervna] -\setuplabeltext [\s!cs] [\v!july=\ccaron ervence] -\setuplabeltext [\s!cs] [\v!august=srpna] -\setuplabeltext [\s!cs] [\v!september=z\aacute\rcaron\iacute{}] -\setuplabeltext [\s!cs] [\v!october=\rcaron\iacute jna] -\setuplabeltext [\s!cs] [\v!november=listopadu] -\setuplabeltext [\s!cs] [\v!december=prosince] - -\setuplabeltext [\s!sk] [\v!january=janu\aacute ra] -\setuplabeltext [\s!sk] [\v!february=febru\aacute ra] -\setuplabeltext [\s!sk] [\v!march=marca] -\setuplabeltext [\s!sk] [\v!april=apr\iacute la] -\setuplabeltext [\s!sk] [\v!may=m\aacute ja] -\setuplabeltext [\s!sk] [\v!june=j\uacute na] -\setuplabeltext [\s!sk] [\v!july=j\uacute la] -\setuplabeltext [\s!sk] [\v!august=augusta] -\setuplabeltext [\s!sk] [\v!september=septembra] -\setuplabeltext [\s!sk] [\v!october=okt\oacute bra] -\setuplabeltext [\s!sk] [\v!november=novembra] -\setuplabeltext [\s!sk] [\v!december=decembra] - -\setuplabeltext [\s!hr] [\v!january=sije\ccaron anj] -\setuplabeltext [\s!hr] [\v!february=velja\ccaron a] -\setuplabeltext [\s!hr] [\v!march=o\zcaron ujak] -\setuplabeltext [\s!hr] [\v!april=travanj] -\setuplabeltext [\s!hr] [\v!may=svibanj] -\setuplabeltext [\s!hr] [\v!june=lipanj] -\setuplabeltext [\s!hr] [\v!july=srpanj] -\setuplabeltext [\s!hr] [\v!august=kolovoz] -\setuplabeltext [\s!hr] [\v!september=rujan] -\setuplabeltext [\s!hr] [\v!october=listopad] -\setuplabeltext [\s!hr] [\v!november=studeni] -\setuplabeltext [\s!hr] [\v!december=prosinac] - -\setuplabeltext [\s!sl] [\v!january=januar] -\setuplabeltext [\s!sl] [\v!february=februar] -\setuplabeltext [\s!sl] [\v!march=marec] -\setuplabeltext [\s!sl] [\v!april=april] -\setuplabeltext [\s!sl] [\v!may=maj] -\setuplabeltext [\s!sl] [\v!june=junij] -\setuplabeltext [\s!sl] [\v!july=julij] -\setuplabeltext [\s!sl] [\v!august=avgust] -\setuplabeltext [\s!sl] [\v!september=september] -\setuplabeltext [\s!sl] [\v!october=oktober] -\setuplabeltext [\s!sl] [\v!november=november] -\setuplabeltext [\s!sl] [\v!december=december] - -\setuplabeltext [\s!pl] [\v!sunday=niedziela] -\setuplabeltext [\s!pl] [\v!monday=poniedzia\lstroke ek] -\setuplabeltext [\s!pl] [\v!tuesday=wtorek] -\setuplabeltext [\s!pl] [\v!wednesday=\sacute roda] -\setuplabeltext [\s!pl] [\v!thursday=czwartek] -\setuplabeltext [\s!pl] [\v!friday=pi\aogonek tek] -\setuplabeltext [\s!pl] [\v!saturday=sobota] - -\setuplabeltext [\s!cs] [\v!sunday=ned\ecaron le] -\setuplabeltext [\s!cs] [\v!monday=pond\ecaron l\iacute] -\setuplabeltext [\s!cs] [\v!tuesday=\uacute ter\yacute] -\setuplabeltext [\s!cs] [\v!wednesday=st\rcaron eda] -\setuplabeltext [\s!cs] [\v!thursday=\ccaron tvrtek] -\setuplabeltext [\s!cs] [\v!friday=p\aacute tek] -\setuplabeltext [\s!cs] [\v!saturday=sobota] - -% Slovakian missing - -\setuplabeltext [\s!hr] [\v!sunday=nedjelja] -\setuplabeltext [\s!hr] [\v!monday=ponedjeljak] -\setuplabeltext [\s!hr] [\v!tuesday=utorak] -\setuplabeltext [\s!hr] [\v!wednesday=srijeda] -\setuplabeltext [\s!hr] [\v!thursday=\ccaron etvrtak] -\setuplabeltext [\s!hr] [\v!friday=petak] -\setuplabeltext [\s!hr] [\v!saturday=subota] - -\setuplabeltext [\s!sl] [\v!sunday=nedelja] -\setuplabeltext [\s!sl] [\v!monday=ponedeljek] -\setuplabeltext [\s!sl] [\v!tuesday=torek] -\setuplabeltext [\s!sl] [\v!wednesday=sreda] -\setuplabeltext [\s!sl] [\v!thursday=\ccaron etrtek] -\setuplabeltext [\s!sl] [\v!friday=petek] -\setuplabeltext [\s!sl] [\v!saturday=sobota] - -%D Rather new ... -%\installlanguage -% [\s!cs] -% [\c!spacing=\v!packed, -% \c!leftsentence=---, -% \c!rightsentence=---, -% \c!leftsubsentence=---, -% \c!rightsubsentence=---, -% \c!leftquote=\lowerleftsingleninequote, -% \c!rightquote=\upperrightsinglesixquote, -% \c!leftquotation=\lowerleftdoubleninequote, -% \c!rightquotation=\upperrightdoublesixquote, -% \c!date={\v!day,\ ,\v!month,\ ,\v!year}] - -% Polish missing - -\setuplabeltext [\s!cs] [\v!page=strana ] -\setuplabeltext [\s!cs] [\v!atpage=na stran\ecaron\ ] -\setuplabeltext [\s!cs] [\v!hencefore=viz v\yacute\scaron e ] -\setuplabeltext [\s!cs] [\v!hereafter=viz n\iacute\zcaron e ] -\setuplabeltext [\s!cs] [\v!see=viz ] - -% Slovakian missing - -\setuplabeltext [\s!hr] [\v!page=stranica ] -\setuplabeltext [\s!hr] [\v!atpage=na stranici ] -\setuplabeltext [\s!hr] [\v!hencefore=vidi gore ] -\setuplabeltext [\s!hr] [\v!hereafter=vidi ispod ] -\setuplabeltext [\s!hr] [\v!see=vidi ] - -\setuplabeltext [\s!sl] [\v!page=stran ] -\setuplabeltext [\s!sl] [\v!atpage=na strani ] -\setuplabeltext [\s!sl] [\v!hencefore=glej zgoraj ] -\setuplabeltext [\s!sl] [\v!hereafter=glej spodaj ] -\setuplabeltext [\s!sl] [\v!see=glej ] - -%D \ShowAllLanguageValues [\s!pl] [polish] {Polish} {furniture} -%D \ShowAllLanguageValues [\s!cs] [czech] {Czech} {mate} -%D \ShowAllLanguageValues [\s!sk] [slovak] {Slovakian} {face} -%D \ShowAllLanguageValues [\s!hr] [croatian] {Croatian} {heartthrob} -%D \ShowAllLanguageValues [\s!sl] [slovenian] {Slovenian} {mountains} - -%D A present from Brooks Moses and Hans Hagen for Mojca Miklavec: - -\def\doconvertsloveniancharacters{\dodoconvertcharacters{25}} - -\def\sloveniancharacters{\doconvertsloveniancharacters\sloveniancharacter} -\def\slovenianCharacters{\doconvertsloveniancharacters\slovenianCharacter} - -%D Define general-purpose macros for Slovenian character enumerations: - -\defineconversion [sloveniancharacter] [\sloveniancharacter] -\defineconversion [slovenianCharacter] [\slovenianCharacter] - -\defineconversion [sloveniancharacters] [\sloveniancharacters] -\defineconversion [slovenianCharacters] [\slovenianCharacters] - -%D Define these as the general character enumeration when -%D language is Slovenian. If you feel uncomfortable with this, -%D mail Mojca, since she promised to to take the heat. - -\defineconversion [sl] [character] [\sloveniancharacter] -\defineconversion [sl] [Character] [\slovenianCharacter] - -\defineconversion [sl] [characters] [\sloveniancharacters] -\defineconversion [sl] [Characters] [\slovenianCharacters] - -\defineconversion [sl] [a] [\sloveniancharacters] -\defineconversion [sl] [A] [\slovenianCharacters] -\defineconversion [sl] [AK] [\smallcapped\sloveniancharacters] -\defineconversion [sl] [KA] [\smallcapped\sloveniancharacters] - -% this will become more generic : \languagecharacters{sl}{..} - -\let\sloveniancharacter\gobbleoneargument -\let\slovenianCharacter\gobbleoneargument - -%D Plugins: - -\loadmarkfile{lang-sla} - -\protect \endinput diff --git a/tex/context/base/lang-txt.lua b/tex/context/base/lang-txt.lua new file mode 100644 index 000000000..05e6f03bf --- /dev/null +++ b/tex/context/base/lang-txt.lua @@ -0,0 +1,2421 @@ +if not modules then modules = { } end modules ['lang-txt'] = { + version = 1.001, + comment = "companion to lang-lab.mkiv", + author = "Hans Hagen, PRAGMA-ADE, Hasselt NL", + copyright = "PRAGMA ADE / ConTeXt Development Team", + license = "see context related readme files" +} + +-- The content of this file is derived from the mkii lang-* files and +-- early 2011 the mkii labels are generated from this file. The +-- translations have been collected over years by users, using named +-- glyphs. This file uses utf exclusively. + +-- For the moment we keep this table in memory. In the future we can then +-- enable labels. + +-- thinspace == sixperemspace = 0x2006 +-- print("!"..utf.char(0x2006).."!") + +languages = languages or { } +local languages = languages + +languages.data = languages.data or utilities.storage.allocate { } +local data = languages.data + +data.labels={ + functions={ + Pr={ + labels={ + en="Pr", + }, + }, + arccos={ + labels={ + en="arccos", + pl="arc\\sixperemspace cos", + }, + }, + arcctg={ + labels={ + en="arccot", + pl="arc\\sixperemspace ctg", + }, + }, + arcsin={ + labels={ + en="arcsin", + pl="arc\\sixperemspace sin", + }, + }, + arctan={ + labels={ + en="arctan", + pl="arc\\sixperemspace tg", + }, + }, + arctg={ + labels={ + en="arctan", + pl="arc\\sixperemspace tg", + }, + }, + arg={ + labels={ + en="arg", + }, + }, + cos={ + labels={ + en="cos", + }, + }, + cosh={ + labels={ + en="cosh", + }, + }, + cot={ + labels={ + en="cot", + pl="ctg", + }, + }, + coth={ + labels={ + en="coth", + }, + }, + csc={ + labels={ + en="csc", + }, + }, + ctg={ + labels={ + en="cot", + pl="ctg", + }, + }, + deg={ + labels={ + en="deg", + }, + }, + det={ + labels={ + en="det", + }, + }, + dim={ + labels={ + en="dim", + }, + }, + exp={ + labels={ + en="exp", + }, + }, + gcd={ + labels={ + en="gcd", + nl="ggd", + }, + }, + hom={ + labels={ + en="hom", + }, + }, + inf={ + labels={ + en="inf", + }, + }, + injlim={ + labels={ + en="inj\\sixperemspace lim", + }, + }, + ker={ + labels={ + en="ker", + }, + }, + lcm={ + labels={ + en="lcm", + nl="kgv", + }, + }, + lg={ + labels={ + en="lg", + }, + }, + lim={ + labels={ + en="lim", + }, + }, + liminf={ + labels={ + en="lim\\sixperemspace inf", + }, + }, + limsup={ + labels={ + en="lim\\sixperemspace sup", + }, + }, + ln={ + labels={ + en="ln", + }, + }, + log={ + labels={ + en="log", + }, + }, + max={ + labels={ + en="max", + }, + }, + median={ + labels={ + en="median", + }, + }, + min={ + labels={ + en="min", + }, + }, + mod={ + labels={ + en="mod", + }, + }, + projlim={ + labels={ + en="proj\\sixperemspace lim", + }, + }, + sec={ + labels={ + en="sec", + }, + }, + sin={ + labels={ + en="sin", + }, + }, + sinh={ + labels={ + en="sinh", + }, + }, + sup={ + labels={ + en="sup", + }, + }, + tan={ + labels={ + en="tan", + pl="tg", + }, + }, + tanh={ + labels={ + en="tanh", + }, + }, + tg={ + labels={ + en="tan", + pl="tg", + }, + }, + }, + texts={ + ["and"]={ + labels={ + af="", + ca="", + cs="", + da="", + de="und", + en="and", + es="", + fi="", + fr="", + gr="", + hr="", + hu="", + it="", + la="", + lt="", + nb="", + nl="en", + nn="", + pl="", + pt="", + ro="", + ru="", + sk="", + sl="", + sv="", + tk="", + tr="", + ua="", + vi="", + }, + }, + appendix={ + hidden=true, + labels={ + af="Bylae ", + ar="ملحق ", + ca="Apèndix ", + cn="附录", + cs="Příloha ", + da="Bilag ", + de="Anhang ", + en="Appendix ", + es="Apéndice ", + fi="", + fr="Annexe ", + gr="Παράρτημα", + hr="Dodatak ", + hu="", + it="", + ja="付録", + la="", + lt="", + nb="Tillegg ", + nl="", + nn="Tillegg ", + pl="Dodatek ", + pt="", + ro="", + ru="", + sk="Príloha ", + sl="Dodatek ", + sv="", + tk="Goşmaça", + tr="", + ua="", + vi="", + }, + }, + april={ + labels={ + af="april", + ar="أبريل", + ["ar-dz"]="أفريل", + ["ar-sy"]="نيسان", + ca="abril", + cn="四月", + cs="dubna", + da="april", + de="April", + en="April", + es="abril", + fi="huhtikuu", + fr="avril", + gr="Απρίλιος", + hr="travanj", + hu="április", + it="aprile", + ja="4", + la="Aprilis", + lt="balandžio", + nb="april", + nl="april", + nn="april", + pl="kwietnia", + pt="abril", + ro="aprilie", + ru="апреля", + sk="apríla", + sl="april", + sv="april", + tk="aprel", + tr="nisan", + ua="квітня", + vi="tháng tư", + }, + }, + ["april:mnem"]={ + labels={ + af="", + ca="", + cs="", + da="", + de="", + en="apr", + es="", + fi="", + fr="", + gr="", + hr="", + hu="", + it="", + la="", + lt="apr", + nb="april", + nl="", + nn="april", + pl="", + pt="", + ro="", + ru="", + sk="", + sl="", + sv="", + tk="", + tr="", + ua="", + vi="", + }, + }, + atpage={ + labels={ + af="", + ar="في صفحة ", + ca="", + cs="na straně ", + da="på side ", + de="auf Seite ", + en="at page ", + es="", + fi="", + fr="à la page ", + gr="", + hr="na stranici ", + hu="", + it="a pagina ", + la="", + lt="puslapyje ", + nb="på side ", + nl="op pagina ", + nn="på side ", + pl="", + pt="", + ro="", + ru="наspaceстраницеspace", + sk="", + sl="na strani ", + sv="på sida ", + tk="", + tr="", + ua="наspaceсторінціspace", + vi="", + }, + }, + august={ + labels={ + af="augustus", + ar="أغسطس", + ["ar-dz"]="أوت", + ["ar-ma"]="غشت", + ["ar-sy"]="آب", + ca="agost", + cn="八月", + cs="srpna", + da="august", + de="August", + en="August", + es="agosto", + fi="elokuu", + fr="aoât", + gr="Αύγουστος", + hr="kolovoz", + hu="augusztus", + it="agosto", + ja="8", + la="Augustus", + lt="rugpjūčio", + nb="august", + nl="augustus", + nn="august", + pl="sierpnia", + pt="agosto", + ro="august", + ru="августа", + sk="augusta", + sl="avgust", + sv="augusti", + tk="awgust", + tr="ağustos", + ua="серпня", + vi="tháng tám", + }, + }, + ["august:mnem"]={ + labels={ + af="", + ca="", + cs="", + da="", + de="", + en="aug", + es="", + fi="", + fr="", + gr="", + hr="", + hu="", + it="", + la="", + lt="aug", + nb="aug.", + nl="", + nn="aug.", + pl="", + pt="", + ro="", + ru="", + sk="", + sl="", + sv="", + tk="", + tr="", + ua="", + vi="", + }, + }, + chapter={ + hidden=true, + labels={ + af="Hoofstuk ", + ar="باب ", + ca="Capítol ", + cn={"第","章"}, + cs="Kapitola ", + da="", + de="Kapitel ", + en="Chapter ", + es="Capítulo ", + fi="", + fr="Chapitre ", + gr="Κεφάλαιο", + hr="Poglavlje ", + hu=",. fejezet:", + it="", + ja={"第","章"}, + la="", + lt="", + nb="", + nl="", + nn="", + pl="Rozdział ", + pt="", + ro="", + ru="", + sk="Kapitola ", + sl="Poglavje ", + sv="", + tk="Bap", + tr="", + ua="", + vi="Chương ", + }, + }, + continued={ + labels={ + af="", + ca="", + cs="", + da="", + de="", + en=" (continued)", + es="", + fi="", + fr="", + gr="", + hr="", + hu="", + it="", + la="", + lt="", + nb="", + nl=" (vervolgd)", + nn="", + pl="", + pt="", + ro="", + ru="", + sk="", + sl="", + sv="", + tk="", + tr="", + ua="", + vi="", + }, + }, + december={ + labels={ + af="desember", + ar="ديسمبر", + ["ar-ma"]="دجنبر", + ["ar-sy"]="كانون الأول", + ca="desembre", + cn="十二月", + cs="prosince", + da="december", + de="Dezember", + en="December", + es="diciembre", + fi="joulukuu", + fr="décembre", + gr="Δεκέμβριος", + hr="prosinac", + hu="december", + it="dicembre", + ja="12", + la="December", + lt="gruodžio", + nb="desember", + nl="december", + nn="desember", + pl="grudnia", + pt="dezembro", + ro="decembrie", + ru="декабря", + sk="decembra", + sl="december", + sv="december", + tk="dekabr", + tr="aralık", + ua="грудня", + vi="tháng mười hai", + }, + }, + ["december:mnem"]={ + labels={ + af="", + ca="", + cs="", + da="", + de="", + en="dec", + es="", + fi="", + fr="", + gr="", + hr="", + hu="", + it="", + la="", + lt="dec", + nb="des.", + nl="", + nn="des.", + pl="", + pt="", + ro="", + ru="", + sk="", + sl="", + sv="", + tk="", + tr="", + ua="", + vi="", + }, + }, + february={ + labels={ + af="februarie", + ar="فبراير", + ["ar-dz"]="فيفري", + ["ar-sy"]="شباط", + ca="febrer", + cn="二月", + cs="února", + da="februar", + de="Februar", + en="February", + es="febrero", + fi="helmikuu", + fr="février", + gr="Φεβρουάριος", + hr="veljača", + hu="február", + it="febbraio", + ja="2", + la="Februarius", + lt="vasario", + nb="februar", + nl="februari", + nn="februar", + pl="lutego", + pt="fevereiro", + ro="februarie", + ru="февраля", + sk="februára", + sl="februar", + sv="februari", + tk="fewral", + tr="Şubat", + ua="лютого", + vi="tháng hai", + }, + }, + ["february:mnem"]={ + labels={ + af="", + ca="", + cs="", + da="", + de="", + en="feb", + es="", + fi="", + fr="", + gr="", + hr="", + hu="", + it="", + la="", + lt="feb", + nb="feb.", + nl="", + nn="feb.", + pl="", + pt="", + ro="", + ru="", + sk="", + sl="", + sv="", + tk="", + tr="", + ua="", + vi="", + }, + }, + figure={ + labels={ + af="Figuur ", + ar="شكل ", + ca="Figura ", + cn="图", + cs="Obrázek ", + da="Figur ", + de="Abbildung ", + en="Figure ", + es="Ilustración ", + fi="Kuva ", + fr="Figure ", + gr="Σχήμα", + hr="Slika ", + hu=",. ábra:", + it="Fig. ", + ja="図", + la="Imago ", + lt=", pav.", + nb="Figur ", + nl="Figuur ", + nn="Figur ", + pl="Ilustracja ", + pt="Figura ", + ro="Figura ", + ru="Рисунокspace", + sk="Obrázok ", + sl="Slika ", + sv="Figur ", + tk="Surat", + tr="Şekil ", + ua="Малюнокspace", + vi="Hình ", + }, + }, + friday={ + labels={ + af="vrydag", + ar="الجمعة", + ca="divendres", + cn="星期五", + cs="pátek", + da="fredag", + de="Freitag", + en="Friday", + es="viernes", + fi="perjantai", + fr="vendredi", + gr="Παρασκευή", + hr="petak", + hu="péntek", + it="venerdì", + ja="金曜日", + la="Dies Veneris", + lt="penktadienis", + nb="fredag", + nl="vrijdag", + nn="fredag", + pl="piątek", + pt="sexta-feira", + ro="vineri", + ru="пятница", + sk="", + sl="petek", + sv="fredag", + tk="bäşinji gün", + tr="cuma", + ua="п'ятниця", + vi="thứ sáu", + }, + }, + graphic={ + labels={ + af="Grafiek ", + ar="رسم ", + ca="Gràfica ", + cn="插图", + cs="Graf ", + da="Grafik ", + de="Graphik ", + en="Graphic ", + es="Gráfico ", + fi="Grafiikka ", + fr="Illustration ", + gr="Γραφικό", + hr="Slika ", + hu=",. kép:", + it="Grafico ", + ja="イラスト", + la="Typus ", + lt="Graphic ", + nb="Bilde ", + nl="Grafiek ", + nn="Bilete ", + pl="Grafika ", + pt="Gráfico ", + ro="Graficul ", + ru="Графикspace", + sk="Graf ", + sl="Slika ", + sv="Grafik ", + tk="Grafik", + tr="Grafik", + ua="Графикspace", + vi="Đồ thị", + }, + }, + hencefore={ + labels={ + af="", + ar="كما وضحنا سابقا", + ca="", + cs="viz výše", + da="se foroven", + de="siehe oben", + en="as we show above", + es="", + fi="", + fr="ci-dessus", + gr="", + hr="vidi gore", + hu="", + it="come mostrato sopra", + la="", + lt="kaip parodyta aukščiau", + nb="som vist over", + nl="hierboven", + nn="som vist over", + pl="", + pt="", + ro="", + ru="см.spaceвыше", + sk="", + sl="glej zgoraj", + sv="se ovan", + tk="", + tr="", + ua="якspaceпоказаноspaceвище", + vi="", + }, + }, + hereafter={ + labels={ + af="", + ar="كما نوضح لاحقا", + ca="", + cs="viz níže", + da="se forneden", + de="siehe unten", + en="as we show below", + es="", + fi="", + fr="ci-dessous", + gr="", + hr="vidi ispod", + hu="", + it="come mostrato sotto", + la="", + lt="kaip parodyta žemiau", + nb="som vist under", + nl="hieronder", + nn="som vist under", + pl="", + pt="", + ro="", + ru="см.spaceниже", + sk="", + sl="glej spodaj", + sv="se nedan", + tk="", + tr="", + ua="якspaceпоказаноspaceнижче", + vi="", + }, + }, + intermezzo={ + labels={ + af="Intermezzo ", + ar="فسحة ", + ca="Intermedi ", + cn="퉣", + cs="Intermezzo ", + da="Intermezzo ", + de="Intermezzo ", + en="Intermezzo ", + es="Intermedio ", + fi="Intermezzo ", + fr="Intermède ", + gr="Παύση", + hr="Intermeco ", + hu=",. intermezzo:", + it="Intermezzo ", + ja="間奏曲", + la="Intermissum ", + lt="Intermezzo ", + nb="Intermesso ", + nl="Intermezzo ", + nn="Intermesso ", + pl="Intermezzo ", + pt="Intermédio ", + ro="Intermezzo ", + ru="Вставкаspace", + sk="Intermezzo ", + sl="Intermezzo ", + sv="Intermezzo ", + tk="Arakesme", + tr="", + ua="Вставкаspace", + vi="intermezzo", + }, + }, + january={ + labels={ + af="januarie", + ar="يناير", + ["ar-dz"]="جانفي", + ["ar-sy"]="كانون الثاني", + ca="gener", + cn="一月", + cs="ledna", + da="januar", + de="Januar", + en="January", + es="enero", + fi="tammikuu", + fr="janvier", + gr="Ιανουάριος", + hr="siječanj", + hu="január", + it="gennaio", + ja="1", + la="Ianuarius", + lt="sausio", + nb="januar", + nl="januari", + nn="januar", + pl="stycznia", + pt="janeiro", + ro="ianuarie", + ru="января", + sk="januára", + sl="januar", + sv="januari", + tk="ýanwar", + tr="ocak", + ua="січня", + vi="tháng giêng", + }, + }, + ["january:mnem"]={ + labels={ + af="", + ca="", + cs="", + da="", + de="", + en="jan", + es="", + fi="", + fr="", + gr="", + hr="", + hu="", + it="", + la="", + lt="jan", + nb="jan.", + nl="", + nn="jan.", + pl="", + pt="", + ro="", + ru="", + sk="", + sl="", + sv="", + tk="", + tr="", + ua="", + vi="", + }, + }, + july={ + labels={ + af="julie", + ar="يوليو", + ["ar-dz"]="جويلة", + ["ar-ma"]="يوليوز", + ["ar-sy"]="تموز", + ca="juliol", + cn="七月", + cs="července", + da="juli", + de="Juli", + en="July", + es="julio", + fi="heinäkuu", + fr="juillet", + gr="Ιούλιος", + hr="srpanj", + hu="július", + it="luglio", + ja="7", + la="Iulius", + lt="liepos", + nb="juli", + nl="juli", + nn="juli", + pl="lipca", + pt="julho", + ro="iulie", + ru="июля", + sk="júla", + sl="julij", + sv="juli", + tk="iýul", + tr="temmuz", + ua="липня", + vi="tháng bảy", + }, + }, + ["july:mnem"]={ + labels={ + af="", + ca="", + cs="", + da="", + de="", + en="jul", + es="", + fi="", + fr="", + gr="", + hr="", + hu="", + it="", + la="", + lt="jul", + nb="juli", + nl="", + nn="juli", + pl="", + pt="", + ro="", + ru="", + sk="", + sl="", + sv="", + tk="", + tr="", + ua="", + vi="", + }, + }, + june={ + labels={ + af="junie", + ar="يونيو", + ["ar-dz"]="جوان", + ["ar-sy"]="حزيران", + ca="juny", + cn="六月", + cs="června", + da="juni", + de="Juni", + en="June", + es="junio", + fi="kesäkuu", + fr="juin", + gr="Ιούνιος", + hr="lipanj", + hu="június", + it="giugno", + ja="6", + la="Iunius", + lt="birželio", + nb="juni", + nl="juni", + nn="juni", + pl="czerwca", + pt="junho", + ro="iunie", + ru="июня", + sk="júna", + sl="junij", + sv="juni", + tk="iýun", + tr="haziran", + ua="червня", + vi="tháng sáu", + }, + }, + ["june:mnem"]={ + labels={ + af="", + ca="", + cs="", + da="", + de="", + en="jun", + es="", + fi="", + fr="", + gr="", + hr="", + hu="", + it="", + la="", + lt="jun", + nb="juni", + nl="", + nn="juni", + pl="", + pt="", + ro="", + ru="", + sk="", + sl="", + sv="", + tk="", + tr="", + ua="", + vi="", + }, + }, + line={ + labels={ + af="reël ", + ar="سطر ", + ca="línia ", + cn="行", + cs="řádek ", + da="linie ", + de="Zeile ", + en="line ", + es="línea ", + fi="rivi ", + fr="ligne ", + gr="Γραμμή", + hr="redak ", + hu=",. sor:", + it="riga ", + ja="線", + la="versus ", + lt="line ", + nb="linje ", + nl="regel ", + nn="linje ", + pl="wiersz ", + pt="linha ", + ro="linia ", + ru="строкаspace", + sk="riadok ", + sl="vrstica ", + sv="rad ", + tk="setir", + tr="satır ", + ua="рядокspace", + vi="dòng ", + }, + }, + lines={ + labels={ + af="reëls ", + ar="السطور ", + ca="línies ", + cn="行", + cs="řádky ", + da="linier ", + de="Zeilen ", + en="lines ", + es="líneas ", + fi="rivie ", + fr="lignes ", + gr="Γραμμές", + hr="retci ", + hu="sorok", + it="righe ", + ja="線", + la="versus ", + lt="lines ", + nb="linjer ", + nl="regels ", + nn="linjer ", + pl="wiersze ", + pt="linhas ", + ro="liniile ", + ru="строкиspace", + sk="riadky ", + sl="vrstice ", + sv="rader ", + tk="setirler", + tr="satırlar ", + ua="рядкиspace", + vi="dòng ", + }, + }, + march={ + labels={ + af="maart", + ar="مارس", + ["ar-sy"]="آذار", + ca="març", + cn="三月", + cs="března", + da="marts", + de="März", + en="March", + es="marzo", + fi="maaliskuu", + fr="mars", + gr="Μάρτιος", + hr="ožujak", + hu="március", + it="marzo", + ja="3", + la="Martius", + lt="kovo", + nb="mars", + nl="maart", + nn="mars", + pl="marca", + pt="março", + ro="martie", + ru="марта", + sk="marca", + sl="marec", + sv="mars", + tk="mart", + tr="mart", + ua="березня", + vi="tháng ba", + }, + }, + ["march:mnem"]={ + labels={ + af="", + ca="", + cs="", + da="", + de="", + en="mar", + es="", + fi="", + fr="", + gr="", + hr="", + hu="", + it="", + la="", + lt="mar", + nb="mars", + nl="", + nn="mars", + pl="", + pt="", + ro="", + ru="", + sk="", + sl="", + sv="", + tk="", + tr="", + ua="", + vi="", + }, + }, + may={ + labels={ + af="mei", + ar="مايو", + ["ar-dz"]="ماي", + ["ar-ma"]="ماي", + ["ar-sy"]="أيار", + ca="maig", + cn="五月", + cs="května", + da="maj", + de="Mai", + en="May", + es="mayo", + fi="toukokuu", + fr="mai", + gr="Μάιος", + hr="svibanj", + hu="május", + it="maggio", + ja="5", + la="Maius", + lt="gegužės", + nb="mai", + nl="mei", + nn="mai", + pl="maja", + pt="maio", + ro="mai", + ru="мая", + sk="mája", + sl="maj", + sv="maj", + tk="maý", + tr="mayıs", + ua="травня", + vi="tháng năm", + }, + }, + ["may:mnem"]={ + labels={ + af="", + ca="", + cs="", + da="", + de="", + en="may", + es="", + fi="", + fr="", + gr="", + hr="", + hu="", + it="", + la="", + lt="may", + nb="mai", + nl="", + nn="mai", + pl="", + pt="", + ro="", + ru="", + sk="", + sl="", + sv="", + tk="", + tr="", + ua="", + vi="", + }, + }, + monday={ + labels={ + af="maandag", + ar="الاثنين", + ca="dilluns", + cn="星期一", + cs="pondělí", + da="mandag", + de="Montag", + en="Monday", + es="lunes", + fi="maanantai", + fr="lundi", + gr="Δευτέρα", + hr="ponedjeljak", + hu="hétfõ", + it="lunedì", + ja="月曜日", + la="Dies Lunae", + lt="pirmadienis", + nb="mandag", + nl="maandag", + nn="måndag", + pl="poniedziałek", + pt="segunda-feira", + ro="luni", + ru="понедельник", + sk="", + sl="ponedeljek", + sv="måndag", + tk="birinji gün", + tr="pazartesi", + ua="понеділок", + vi="thứ hai", + }, + }, + november={ + labels={ + af="november", + ar="نوفمبر", + ["ar-ma"]="نونبر", + ["ar-sy"]="تشرين الثاني", + ca="novembre", + cn="十一月", + cs="listopadu", + da="november", + de="November", + en="November", + es="noviembre", + fi="marraskuu", + fr="novembre", + gr="Νοέμβριος", + hr="studeni", + hu="november", + it="novembre", + ja="11", + la="November", + lt="lapkričio", + nb="november", + nl="november", + nn="november", + pl="listopada", + pt="novembro", + ro="noiembrie", + ru="ноября", + sk="novembra", + sl="november", + sv="november", + tk="noýabr", + tr="kasım", + ua="листопада", + vi="tháng mười một", + }, + }, + ["november:mnem"]={ + labels={ + af="", + ca="", + cs="", + da="", + de="", + en="nov", + es="", + fi="", + fr="", + gr="", + hr="", + hu="", + it="", + la="", + lt="nov", + nb="nov.", + nl="", + nn="nov.", + pl="", + pt="", + ro="", + ru="", + sk="", + sl="", + sv="", + tk="", + tr="", + ua="", + vi="", + }, + }, + october={ + labels={ + af="oktober", + ar="أكتوبر", + ["ar-sy"]="تشرين الأول", + ca="octubre", + cn="十月", + cs="října", + da="oktober", + de="Oktober", + en="October", + es="octubre", + fi="lokakuu", + fr="octobre", + gr="Οκτώβριος", + hr="listopad", + hu="október", + it="ottobre", + ja="10", + la="October", + lt="spalio", + nb="oktober", + nl="oktober", + nn="oktober", + pl="października", + pt="outubro", + ro="octombrie", + ru="октября", + sk="októbra", + sl="oktober", + sv="oktober", + tk="oktýabr", + tr="ekim", + ua="жовтня", + vi="tháng mười", + }, + }, + ["october:mnem"]={ + labels={ + af="", + ca="", + cs="", + da="", + de="", + en="oct", + es="", + fi="", + fr="", + gr="", + hr="", + hu="", + it="", + la="", + lt="oct", + nb="okt.", + nl="", + nn="okt.", + pl="", + pt="", + ro="", + ru="", + sk="", + sl="", + sv="", + tk="", + tr="", + ua="", + vi="", + }, + }, + page={ + labels={ + af="", + ar="صفحة ", + ca="", + cs="strana ", + da="Side ", + de="Seite ", + en="page ", + es="", + fi="", + fr="page ", + gr="", + hr="stranica ", + hu="", + it="pagina ", + la="", + lt="puslapis ", + nb="side ", + nl="pagina ", + nn="side ", + pl="", + pt="", + ro="", + ru="страницаspace", + sk="", + sl="stran ", + sv="Sida ", + tk="", + tr="", + ua="сторінкаspace", + vi="", + }, + }, + part={ + labels={ + af="Deel ", + ar="جزء ", + ca="Part ", + cn={"第","部分"}, + cs="Část ", + da="Del ", + de="Teil ", + en="Part ", + es="Parte ", + fi="Osa ", + fr="Partie ", + gr="Μέρος", + hr="Dio ", + hu=",. rész:", + it="Parte ", + ja={"第","パート"}, + la="Pars ", + lt=", dalis", + nb="Del", + nl="Deel ", + nn="Del", + pl="Ustęp ", + pt="Parte ", + ro="Partea ", + ru="Частьspace", + sk="Časť ", + sl="Del ", + sv="Del ", + tk="Bölüm", + tr="Cilt ", + ua="Частинаspace", + vi="Phần ", + }, + }, + saturday={ + labels={ + af="saterdag", + ar="السبت", + ca="dissabte", + cn="星期六", + cs="sobota", + da="lørdag", + de="Samstag", + en="Saturday", + es="sábado", + fi="lauantai", + fr="samedi", + gr="Σάββατο", + hr="subota", + hu="szombat", + it="sabato", + ja="土曜日", + la="Dies Saturni", + lt="šeštadienis", + nb="lørdag", + nl="zaterdag", + nn="laurdag", + pl="sobota", + pt="sábado", + ro="sâmbătă", + ru="суббота", + sk="", + sl="sobota", + sv="lördag", + tk="altynjy gün", + tr="cumartesi", + ua="субота", + vi="thứ bảy", + }, + }, + section={ + hidden=true, + labels={ + af="Paragraaf ", + ar="فصل ", + ca="Secció ", + cn={"第","节"}, + cs="Sekce ", + da="", + de="", + en="", + es="Sección ", + fi="", + fr="Section ", + gr="Ενότητα", + hr="Odjeljak ", + hu="", + it="", + ja={"第","項"}, + la="", + lt="", + nb="", + nl="", + nn="", + pl="Podrozdział ", + pt="", + ro="", + ru="", + sk="Sekcia ", + sl="", + sv="", + tk="", + tr="", + ua="", + vi="", + }, + }, + see={ + labels={ + af="", + ar="انظر ", + ca="", + cs="viz ", + da="se ", + de="siehe ", + en="see ", + es="", + fi="", + fr="cf. ", + gr="", + hr="vidi ", + hu="", + it="cf. ", + la="", + lt="žiūrėti ", + nb="se ", + nl="zie ", + nn="sjå ", + pl="", + pt="", + ro="", + ru="см.space", + sk="", + sl="glej ", + sv="se ", + tk="", + tr="", + ua="див.space", + vi="", + }, + }, + september={ + labels={ + af="september", + ar="سبتمبر", + ["ar-ma"]="شتنبر", + ["ar-sy"]="أيلول", + ca="setembre", + cn="九月", + cs="září", + da="september", + de="September", + en="September", + es="septiembre", + fi="syyskuu", + fr="septembre", + gr="Σεπτέμβριος", + hr="rujan", + hu="szeptember", + it="settembre", + ja="9", + la="September", + lt="rugsėjo", + nb="september", + nl="september", + nn="september", + pl="września", + pt="setembro", + ro="septembrie", + ru="сентября", + sk="septembra", + sl="september", + sv="september", + tk="sentýabr", + tr="eylül", + ua="вересня", + vi="tháng chín", + }, + }, + ["september:mnem"]={ + labels={ + af="", + ca="", + cs="", + da="", + de="", + en="sep", + es="", + fi="", + fr="", + gr="", + hr="", + hu="", + it="", + la="", + lt="sep", + nb="sep.", + nl="", + nn="sep.", + pl="", + pt="", + ro="", + ru="", + sk="", + sl="", + sv="", + tk="", + tr="", + ua="", + vi="", + }, + }, + subsection={ + hidden=true, + labels={ + af="", + ar="فصل أدنى ", + ca="Subsecció ", + cn="", + cs="Podsekce ", + da="", + de="", + en="", + es="Subsección ", + fi="", + fr="Soussection ", + gr="Υπόενότητα", + hr="Pododjeljak ", + hu="", + it="", + ja="", + la="", + lt="", + nb="", + nl="", + nn="", + pl="", + pt="", + ro="", + ru="", + sk="Podsekcia ", + sl="", + sv="", + tk="", + tr="", + ua="", + vi="", + }, + }, + subsubsection={ + hidden=true, + labels={ + af="", + ar="فصل أ دنى أدنى ", + ca="Subsubsecció ", + cn="", + cs="Podpodsekce ", + da="", + de="", + en="", + es="Subsubsección ", + fi="", + fr="Soussoussection ", + gr="", + hr="Podpododjeljak ", + hu="", + it="", + ja="", + la="", + lt="", + nb="", + nl="", + nn="", + pl="", + pt="", + ro="", + ru="", + sk="Podpodsekcia ", + sl="", + sv="", + tk="", + tr="", + ua="", + vi="", + }, + }, + subsubsubsection={ + hidden=true, + labels={ + af="", + ar="فصل أدنى أدنى أدنى ", + ca="Subsubsubsecció ", + cn="", + cs="Podpodpodsekce ", + da="", + de="", + en="", + es="Subsubsubsección ", + fi="", + fr="Soussoussoussection ", + gr="", + hr="Podpodpododjeljak ", + hu="", + it="", + ja="", + la="", + lt="", + nb="", + nl="", + nn="", + pl="", + pt="", + ro="", + ru="", + sk="Podpodpodsekcia ", + sl="", + sv="", + tk="", + tr="", + ua="", + vi="", + }, + }, + sunday={ + labels={ + af="sondag", + ar="الأحد", + ca="diumenge", + cn="星期日", + cs="neděle", + da="søndag", + de="Sonntag", + en="Sunday", + es="domingo", + fi="sunnuntai", + fr="dimanche", + gr="Κυριακή", + hr="nedjelja", + hu="vasárnap", + it="domenica", + ja="日曜日", + la="Dies Solis", + lt="sekmadienis", + nb="søndag", + nl="zondag", + nn="sundag", + pl="niedziela", + pt="domingo", + ro="duminică", + ru="воскресенье", + sk="", + sl="nedelja", + sv="söndag", + tk="dynç gün", + tr="pazar", + ua="неділя", + vi="chủ nhật", + }, + }, + table={ + labels={ + af="Tabel", + ar="جدول ", + ca="Taula ", + cn="表", + cs="Tabulka ", + da="Tabel ", + de="Tabelle ", + en="Table ", + es="Tabla ", + fi="Taulukko ", + fr="Tableau ", + gr="Πίνακας", + hr="Tablica ", + hu=",. táblázat:", + it="Tabella ", + ja="表", + la="Tabula ", + lt=", lentelė.", + nb="Tabell ", + nl="Tabel ", + nn="Tabell ", + pl="Tabela ", + pt="Tabela ", + ro="Tabelul ", + ru="Таблицаspace", + sk="Tabuľka ", + sl="Tabela ", + sv="Tabell ", + tk="Tablisa", + tr="Tablo ", + ua="Таблицяspace", + vi="Bảng ", + }, + }, + thursday={ + labels={ + af="donderdag", + ar="الخميس", + ca="dijous", + cn="星期四", + cs="čtvrtek", + da="torsdag", + de="Donnerstag", + en="Thursday", + es="jueves", + fi="torstai", + fr="jeudi", + gr="Πέμπτη", + hr="četvrtak", + hu="csütörtök", + it="giovedì", + ja="木曜日", + la="Dies Iovis", + lt="ketvirtadienis", + nb="torsdag", + nl="donderdag", + nn="torsdag", + pl="czwartek", + pt="quinta-feira", + ro="joi", + ru="четверг", + sk="", + sl="četrtek", + sv="torsdag", + tk="dördünji gün", + tr="perşembe", + ua="четвер", + vi="thứ năm", + }, + }, + tuesday={ + labels={ + af="dinsdag", + ar="الثلاثاء", + ca="dimarts", + cn="星期二", + cs="úterý", + da="tirsdag", + de="Dienstag", + en="Tuesday", + es="martes", + fi="tiistai", + fr="mardi", + gr="Τρίτη", + hr="utorak", + hu="kedd", + it="martedì", + ja="火曜日", + la="Dies Martis", + lt="antradienis", + nb="tirsdag", + nl="dinsdag", + nn="tysdag", + pl="wtorek", + pt="terça-feira", + ro="marți", + ru="вторник", + sk="", + sl="torek", + sv="tisdag", + tk="ikinji gün", + tr="salı", + ua="вівторок", + vi="thứ ba", + }, + }, + wednesday={ + labels={ + af="woensdag", + ar="الأربعاء", + ca="dimecres", + cn="星期三", + cs="středa", + da="onsdag", + de="Mittwoch", + en="Wednesday", + es="miércoles", + fi="keskiviikko", + fr="mercredi", + gr="Τετάρτη", + hr="srijeda", + hu="szerda", + it="mercoledì", + ja="水曜日", + la="Dies Mercuri", + lt="trečiadienis", + nb="onsdag", + nl="woensdag", + nn="onsdag", + pl="środa", + pt="quarta-feira", + ro="miercuri", + ru="среда", + sk="", + sl="sreda", + sv="onsdag", + tk="üçünji", + tr="çarşamba", + ua="середа", + vi="thứ tư", + }, + }, + }, + titles={ + abbreviations={ + labels={ + af="Afkortings", + ar="الاختصارات", + ca="Abreviacions", + cn="缩略语", + cs="Zkratky", + da="Forkortelser", + de="Abkürzungen", + en="Abbreviations", + es="Abreviaturas", + fi="Lyhennyksi", + fr="Abréviations", + gr="Συντομογραφίες", + hr="Kratice", + hu="RövidÍtések", + it="Abbreviazioni", + ja="略語", + la="Notae", + lt="Santrumpos", + nb="Forkortelser", + nl="Afkortingen", + nn="Forkortingar", + pl="Skrócenie", + pt="Abreviaturas", + ro="Abrevieri", + ru="Списокspaceсокращений", + sk="Skratky", + sl="Kratice", + sv="Förkortningar", + tk="Gysgaltmalar", + tr="Kısaltmalar", + ua="Перелікspaceскорочень", + vi="Chữ viết tắt", + }, + }, + content={ + labels={ + af="Inhoud", + ar="المحتويات", + ca="Índex de continguts", + cn="目录", + cs="Obsah", + da="Indhold", + de="Inhalt", + en="Contents", + es="Índice", + fi="Sisällys", + fr="Table des matières", + gr="Περιεχόμενα", + hr="Sadržaj", + hu="Tartalom", + it="Indice", + ja="目次", + la="Quod in libro continetur", + lt="Turinys", + nb="Innhold", + nl="Inhoud", + nn="Innhald", + pl="Spis treści", + pt="Conteúdo", + ro="Cuprins", + ru="Содержание", + sk="Obsah", + sl="Kazalo", + sv="Innehåll", + tk="Mazmuny", + tr="Fihrist", + ua="Зміст", + vi="Mục lục", + }, + }, + figures={ + labels={ + af="Figure", + ar="الأشكال", + ca="Figures", + cn="图形", + cs="Obrázky", + da="Figurer", + de="Abbildungen", + en="Figures", + es="Ilustraciones", + fi="Kuvi", + fr="Figures", + gr="Σχήματα", + hr="Slike", + hu="ábrák", + it="Figure", + ja="図", + la="Imagines", + lt="Iliustracijos", + nb="Figurer", + nl="Figuren", + nn="Figurar", + pl="Ilustracje", + pt="Figuras", + ro="Figuri", + ru="Списокspaceиллюстраций", + sk="Obrázkov", + sl="Slike", + sv="Figurer", + tk="Suratlar", + tr="Şekiller", + ua="Перелікspaceілюстрацій", + vi="Danh sách hình vẽ", + }, + }, + graphics={ + labels={ + af="Grafieke", + ar="الرسوم", + ca="Gràfiques", + cn="图", + cs="Grafy", + da="Grafik", + de="Graphiken", + en="Graphics", + es="Gráficos", + fi="Grafiikkaoi", + fr="Graphiques", + gr="Γραφικά", + hr="Slike", + hu="Grafikák", + it="Grafici", + ja="グラフ", + la="Typi", + lt="Graphics", + nb="Bilde", + nl="Grafieken", + nn="Bilete", + pl="Grafika", + pt="Gráficos", + ro="Grafice", + ru="Списокspaceграфиков", + sk="Graf", + sl="Slike", + sv="Grafik", + tk="Grafikler", + tr="Grafikler", + ua="Перелікspaceграфіков", + vi="Đồ thị", + }, + }, + index={ + labels={ + af="Indeks", + ar="الفهرس", + ca="Índex alfabètic", + cn="索引", + cs="Rejstřík", + da="Indeks", + de="Index", + en="Index", + es="Índice alfabético", + fi="Indeksiluku", + fr="Index", + gr="Ευρετήριο", + hr="Indeks", + hu="Index", + it="Indice", + ja="目次", + la="Indices", + lt="Rodyklė", + nb="Register", + nl="Index", + nn="Register", + pl="Indeks", + pt="Índice", + ro="Index", + ru="Алфавитныйspaceуказатель", + sk="Zoznam", + sl="Stvarno kazalo", + sv="Sakregister", + tk="Indeks", + tr="İndex", + ua="Покажчик", + vi="Chỉ số", + }, + }, + intermezzi={ + labels={ + af="Intermezzos", + ar="فسح", + ca="Intermedis", + cn="퉣", + cs="Intermezza", + da="Intermezzoer", + de="Intermezzi", + en="Intermezzos", + es="Intermedios", + fi="Intermezzos", + fr="Intermèdes", + gr="Παύσεις", + hr="Intermeci", + hu="Intermezzok", + it="Intermezzi", + ja="間奏曲", + la="Intermissa", + lt="Intermezzos", + nb="Intermesso", + nl="Intermezzo's", + nn="Intermesso", + pl="Intermezza", + pt="Intermédios", + ro="Intermzzo", + ru="Списокspaceвставок", + sk="Intermezzá", + sl="Intermezzi", + sv="Intermezzon", + tk="Arakesmeler", + tr="", + ua="Перелікspaceвставок", + vi="Intermezzos", + }, + }, + logos={ + labels={ + af="Logos", + ar="الشعارات", + ca="Logotips", + cn="徽贬", + cs="Loga", + da="Logoer", + de="Logos", + en="Logos", + es="Logotipos", + fi="Vertauskuva", + fr="Logos", + gr="Λογότυπα", + hr="Znakovi", + hu="Fejlécek", + it="Logotipi", + ja="理性", + la="Typi negotiales", + lt="Logos", + nb="Logoer", + nl="Logo's", + nn="Logoar", + pl="Znaki", + pt="Logotipos", + ro="Logo-uri", + ru="Логотипы", + sk="Logá", + sl="Logotipi", + sv="Loggor", + tk="Logolar", + tr="Logolar", + ua="Логотипи", + vi="Biểu tượng", + }, + }, + pubs={ + labels={ + af="", + ca="Referències", + cs="Literatura", + da="", + de="Literatur", + en="References", + es="Bibliografía", + fi="", + fr="Bibliographie", + gr="", + hr="Literatura", + hu="", + it="Bibliografia", + la="", + lt="Literatūra", + nb="", + nl="Literatuur", + nn="", + pl="", + pt="", + ro="", + ru="", + sk="", + sl="Literatura", + sv="", + tk="", + tr="", + ua="", + vi="", + }, + }, + tables={ + labels={ + af="Tabelle", + ar="الجداول", + ca="Taules", + cn="表格", + cs="Tabulky", + da="Tabeller", + de="Tabellen", + en="Tables", + es="Tablas", + fi="Taulukkoj", + fr="Tableaux", + gr="Πίνακες", + hr="Tablice", + hu="Táblázatok", + it="Tabelle", + ja="机", + la="Tabulae", + lt="Lentelės", + nb="Tabeller", + nl="Tabellen", + nn="Tabellar", + pl="Tabele", + pt="Tabelas", + ro="Tabele", + ru="Списокspaceтаблиц", + sk="Tabuliek", + sl="Tabele", + sv="Tabeller", + tk="Tablisalar", + tr="Tablolar", + ua="Перелікspaceтаблиць", + vi="Danh sách bảng", + }, + }, + units={ + labels={ + af="Eenhede", + ar="الوحدات", + ca="Unitats", + cn="计量单位", + cs="Jednotky", + da="Enheder", + de="Einheiten", + en="Units", + es="Unidades", + fi="Yksiköt", + fr="Unités", + gr="Μονάδες", + hr="Jedinice", + hu="Mértékegységek", + it="Unità", + ja="ユニッツ", + la="Modi", + lt="Units", + nb="Enheter", + nl="Eenheden", + nn="Einingar", + pl="Jednostki", + pt="Unidades", + ro="Unități", + ru="Единицыspaceизмерения", + sk="Jednotky", + sl="Enote", + sv="Enheter", + tk="Birlikler", + tr="Birimler", + ua="Одиниціspaceвиміру", + vi="Đơn vị", + }, + }, + }, +} diff --git a/tex/context/base/lang-ura.tex b/tex/context/base/lang-ura.mkii index a2bcd3d2b..a2bcd3d2b 100644 --- a/tex/context/base/lang-ura.tex +++ b/tex/context/base/lang-ura.mkii diff --git a/tex/context/base/lang-ura.mkiv b/tex/context/base/lang-ura.mkiv new file mode 100644 index 000000000..3b69d4696 --- /dev/null +++ b/tex/context/base/lang-ura.mkiv @@ -0,0 +1,63 @@ +%D \module +%D [ file=lang-sla, +%D version=1997.09.03, +%D title=\CONTEXT\ Language Macros, +%D subtitle=Uralic Languages, +%D author=Hans Hagen / Tobias Burnus, +%D date=\currentdate, +%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. + +% Todo: replace \'.. by \namedglyph + +\writestatus{loading}{ConTeXt Language Macros / Uralic Languages} + +%D The framework of this module is set up by Hans Hagen while +%D many of the first translations were done by Tobias. Later +%D on, corrections were made by users. If you have suggestions, +%D or feel that your name missing here, don't hesitate to send +%D us an email. +%D +%D \starttabulate[|lB|l|] +%D \NC Finnish \NC \NC \NR +%D \NC Hungarian \NC Balazs Nagy \NC \NR +%D \stoptabulate + +% Cheremiss, Estonian, Finnish, Karelian, Laap, Mordvinian, +% Permian tongues, Hungarian, Ostyak, Vogul, Samoyed + +\unprotect + +\installlanguage + [\s!fi] + [\c!spacing=\v!packed, + \c!leftsentence=---, + \c!rightsentence=---, + \c!leftsubsentence=---, + \c!rightsubsentence=---, + \c!leftquote=\upperleftsinglesixquote, + \c!rightquote=\upperrightsingleninequote, + \c!leftquotation=\upperleftdoublesixquote, + \c!rightquotation=\upperrightdoubleninequote, + \c!date={\v!year,\ ,\v!month,\ ,\v!day}] + +\installlanguage + [\s!hu] + [\c!spacing=\v!packed, + \c!leftsentence=---, + \c!rightsentence=---, + \c!leftsubsentence=---, + \c!rightsubsentence=---, + \c!leftquote=\lowerleftsingleninequote, + \c!rightquote=\upperrightsingleninequote, + \c!leftquotation=\lowerleftdoubleninequote, + \c!rightquotation=\upperrightdoubleninequote, + \c!date={\v!year,.,\ ,\v!month,\ ,\v!day,.}] + +\installlanguage [finish] [\s!fi] +\installlanguage [hungarian] [\s!hu] + +\protect \endinput diff --git a/tex/context/base/lang-vn.tex b/tex/context/base/lang-vn.mkii index 27d2a48a1..27d2a48a1 100644 --- a/tex/context/base/lang-vn.tex +++ b/tex/context/base/lang-vn.mkii diff --git a/tex/context/base/lang-vn.mkiv b/tex/context/base/lang-vn.mkiv new file mode 100644 index 000000000..1e852d762 --- /dev/null +++ b/tex/context/base/lang-vn.mkiv @@ -0,0 +1,43 @@ +%D \module +%D [ file=lang-vn, +%D version=2004.11.22, % 1999.12.12, +%D title=\CONTEXT\ Language Macros, +%D subtitle=Vietnamese, +%D author={Han The Thanh \& Adam Lindsay \& Hans Hagen}, +%D date=\currentdate, +%D copyright=\PRAGMA] +%C +%C This module is part of the \CONTEXT\ macro||package and is +%C therefore copyrighted by \PRAGMA. See mreadme.pdf for +%C details. + +\writestatus{loading}{ConTeXt Language Macros / Vietnamese Language} + +%D The framework of this module is set up by Hans Hagen while +%D many of the first translations were done by Tobias. Later +%D on, corrections were made by users. If you have suggestions, +%D or feel that your name missing here, don't hesitate to send +%D us an email. +%D +%D \starttabulate[|lB|l|] +%D \NC Vietnamese \NC \THANH\ \NC \NR +%D \stoptabulate + +\unprotect + +\installlanguage + [\s!vi] + [\c!spacing=\v!packed, + \c!leftsentence=---, + \c!rightsentence=---, + \c!leftsubsentence=---, + \c!rightsubsentence=---, + \c!leftquote=\quoteleft, + \c!rightquote=\quoteright, + \c!leftquotation=\quotedblleft, + \c!rightquotation=\quotedblright, + \c!date={{ },dd,{/},mm,{/},yy}] + +\installlanguage [vietnamese] [\s!vi] + +\protect \endinput diff --git a/tex/context/base/luat-ini.mkiv b/tex/context/base/luat-ini.mkiv index 6e3432d9a..d58d9977a 100644 --- a/tex/context/base/luat-ini.mkiv +++ b/tex/context/base/luat-ini.mkiv @@ -229,8 +229,8 @@ {\begingroup \obeylualines \obeyluatokens - \catcode`\{\plusone - \catcode`\}\plustwo + \catcode\leftbraceasciicode \plusone + \catcode\rightbraceasciicode\plustwo \afterassignment\doctxluacode \scratchtoks=} diff --git a/tex/context/base/m-database.mkiv b/tex/context/base/m-database.mkiv index 56aed04de..0653bfa0e 100644 --- a/tex/context/base/m-database.mkiv +++ b/tex/context/base/m-database.mkiv @@ -209,7 +209,7 @@ d e f \stopCSV \startsetups csv:unix - \catcode`\#=\commentcatcode + \catcode\hashasciicode\commentcatcode \stopsetups \defineseparatedlist diff --git a/tex/context/base/m-zint.mkiv b/tex/context/base/m-zint.mkiv new file mode 100644 index 000000000..815d83fab --- /dev/null +++ b/tex/context/base/m-zint.mkiv @@ -0,0 +1,78 @@ +%D \module +%D [ file=m-zint, +%D version=2010.12.07, +%D title=\CONTEXT\ Extra Modules, +%D subtitle=Zint Barcode Generator, +%D author=Hans Hagen, +%D date=\currentdate, +%D copyright=PRAGMA] +%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 Using \type {zint} seems to be the easiest way to generate +%D (PDF417) barcodes so therefore we now have this module. There +%D are proper (also windows) binaries at: +%D +%D \starttyping +%D http://www.zint.org.uk +%D \stoptyping +%D +%D There is a bit more code than needed as we want to be able to +%D feed names. + +\startluacode + +moduledata.zint = { } + +local format, lower, gsub = string.format, string.lower, string.gsub +local patterns = lpeg.patterns + +local zint = "zint" -- '"c:/program files/zint/zint.exe"' + +local whitespace = patterns.whitespace +local spaces = whitespace^0 +local key = (spaces / "") * patterns.digit^0 * (patterns.colon * spaces / "") +local value = (whitespace / "" + (1 - key))^1 +local pattern = lpeg.Cf(lpeg.Ct("") * (lpeg.Cg((lpeg.Cs(key) / tonumber) * (lpeg.Cs(value) / lower)) + patterns.anything)^0,rawset) + +local reverse + +local function cleancode(code) + return lower(gsub(code," ","")) +end + +local function numberofcode(code) + if not reverse then + local types = os.resultof(format("%s --types",zint)) or "" + local formats = lpeg.match(pattern,types) + reverse = table.swapped(formats) or { } + end + code = cleancode(code) + return reverse[code] or code +end + +function moduledata.zint.generate(code,data,suffix,options) + local code = cleancode(code) + local name = format("zint-%s-%s.%s",code,md5.hex(data),suffix or "eps") + if not lfs.isfile(name) then + local code = numberofcode(code) + os.spawn(format('%s --barcode=%s --output="%s" %s --data="%s"',zint,code,name,options or "",data)) + end + return name +end + +\stopluacode + +\doifnotmode{demo}{\endinput} + +\starttext + + \externalfigure[\cldcontext{moduledata.zint.generate("PDF417","Ton Otten")}] + \blank + \externalfigure[\cldcontext{moduledata.zint.generate("ISBN","9789490688011")}] + +\stoptext + + diff --git a/tex/context/base/math-ini.mkiv b/tex/context/base/math-ini.mkiv index d530f5937..07a93d548 100644 --- a/tex/context/base/math-ini.mkiv +++ b/tex/context/base/math-ini.mkiv @@ -363,21 +363,21 @@ \setnewconstant\primeasciicode 39 % ' -\activatemathcharacter\caretasciicode +\activatemathcharacter\circumflexasciicode \activatemathcharacter\underscoreasciicode \activatemathcharacter\ampersandasciicode \activatemathcharacter\primeasciicode % not used: % -% \mathcode`\ =\activemathcharcode +% \mathcode\spaceasciicode\activemathcharcode % % not used: % % \bgroup -% \catcode`\_ = 13 +% \catcode\underscoreasciicode\activecatcode % \doglobal\appendtoks -% \mathcode`\_=\activemathcharcode +% \mathcode\underscoreasciicode\activemathcharcode % \let_\activemathunderscore % \to \everymathematics % \egroup @@ -387,7 +387,7 @@ \bgroup \catcode\primeasciicode\activecatcode \doglobal\appendtoks - \let'\activemathquote + \let'\domathprime \to \everymathematics \egroup @@ -402,7 +402,7 @@ \bgroup \catcode\underscoreasciicode\activecatcode - \catcode\caretasciicode \activecatcode + \catcode\circumflexasciicode\activecatcode \catcode\ampersandasciicode \activecatcode \global \everynonknuthmode {\appendtoks @@ -415,20 +415,20 @@ \appendtoks \catcode\underscoreasciicode\othercatcode - \catcode\caretasciicode \othercatcode + \catcode\circumflexasciicode\othercatcode \catcode\ampersandasciicode \othercatcode \to \everynonknuthmode \appendtoks \catcode\underscoreasciicode\subscriptcatcode - \catcode\caretasciicode \superscriptcatcode + \catcode\circumflexasciicode\superscriptcatcode \catcode\ampersandasciicode \alignmentcatcode \to \everydonknuthmode \appendtoks \startextendcatcodetable\ctxcatcodes \catcode\underscoreasciicode\othercatcode - \catcode\caretasciicode \othercatcode + \catcode\circumflexasciicode\othercatcode \catcode\ampersandasciicode \othercatcode \stopextendcatcodetable \to \everynonknuthmode @@ -436,14 +436,14 @@ \appendtoks \startextendcatcodetable\ctxcatcodes \catcode\underscoreasciicode\subscriptcatcode - \catcode\caretasciicode \superscriptcatcode + \catcode\circumflexasciicode\superscriptcatcode \catcode\ampersandasciicode \alignmentcatcode \stopextendcatcodetable \to \everydonknuthmode % \def\prefermathcatcodes % {\catcode\underscoreasciicode\subscriptcatcode -% \catcode\caretasciicode \superscriptcatcode +% \catcode\circumflexasciicode\superscriptcatcode % \catcode\ampersandasciicode \alignmentcatcode} %D Even more drastic: diff --git a/tex/context/base/math-pln.mkiv b/tex/context/base/math-pln.mkiv index 59f582f06..6deac5efb 100644 --- a/tex/context/base/math-pln.mkiv +++ b/tex/context/base/math-pln.mkiv @@ -68,27 +68,27 @@ \ifx\!\undefined \def\!{\mskip-\thinmuskip } \fi \ifx\*\undefined \def\*{\discretionary{\thinspace\the\textfont2\char2}{}{}} \fi -% {\catcode`\'=\active \gdef'{^\bgroup\prim@s}} +{ \catcode\circumflexasciicode\othercatcode \global\let\othercircumflextoken ^ } +{ \catcode\circumflexasciicode\superscriptcatcode \global\let\superscriptcircumflextoken^ } -\def\activemathquote{^\bgroup\prim@s} +\def\domathprime{^\bgroup\dodomathprime} -\def\prim@s - {\prime\futurelet\next\pr@m@s} +\def\dodomathprime + {\prime\futurelet\nexttoken\dododomathprime} -\def\pr@m@s - {\ifx'\next - \@EA\pr@@@s - \else\ifx^\next - \@EAEAEA\pr@@@t - \else - \@EAEAEA\egroup - \fi\fi} +\def\dododomathprime + {\csname domathprime@% + \ifx '\nexttoken a\else + \ifx\superscriptcircumflextoken\nexttoken b\else + \ifx\othercircumflextoken \nexttoken b\else + c\fi\fi\fi + \endcsname} -\def\pr@@@s#1% - {\prim@s} +\def\domathprime@a #1{\dodomathprime} +\def\domathprime@b#1#2{#2\egroup} +\def\domathprime@c {\egroup} -\def\pr@@@t#1#2% - {#2\egroup} +\let\activemathprime\domathprime % {\catcode`\_=\active \global\let_=\_} % _ in math is either subscript or \_ diff --git a/tex/context/base/meta-fun.mkiv b/tex/context/base/meta-fun.mkiv index a43ffefff..fbe91fd6a 100644 --- a/tex/context/base/meta-fun.mkiv +++ b/tex/context/base/meta-fun.mkiv @@ -17,4 +17,9 @@ \unprotect +%D Just a few handy helpers: + +\ifdefined\MPtoks\else \newtoks\MPtoks \fi +\ifdefined\MPbox \else \newbox \MPbox \fi + \protect \endinput diff --git a/tex/context/base/meta-pdh.mkiv b/tex/context/base/meta-pdh.mkiv index 0857182e2..978128f3a 100644 --- a/tex/context/base/meta-pdh.mkiv +++ b/tex/context/base/meta-pdh.mkiv @@ -36,7 +36,7 @@ %D First we define a handy constant: -\bgroup \catcode`\%=\othercatcode \xdef\letterpercent{\string%} \egroup +\bgroup \catcode\commentasciicode\othercatcode \xdef\letterpercent{\string%} \egroup %D \macros %D {convertMPtoPDF} diff --git a/tex/context/base/mult-com.tex b/tex/context/base/mult-com.mkii index 118616837..118616837 100644 --- a/tex/context/base/mult-com.tex +++ b/tex/context/base/mult-com.mkii diff --git a/tex/context/base/mult-con.tex b/tex/context/base/mult-con.mkii index 62e97d567..62e97d567 100644 --- a/tex/context/base/mult-con.tex +++ b/tex/context/base/mult-con.mkii diff --git a/tex/context/base/mult-de.tex b/tex/context/base/mult-de.mkii index 0f18b009a..0f18b009a 100644 --- a/tex/context/base/mult-de.tex +++ b/tex/context/base/mult-de.mkii diff --git a/tex/context/base/mult-def.mkii b/tex/context/base/mult-def.mkii index a6840b0e0..0e1a7dee7 100644 --- a/tex/context/base/mult-def.mkii +++ b/tex/context/base/mult-def.mkii @@ -25,7 +25,7 @@ \def\userinterfacetag{\ifcsname @interface@\currentinterface @\endcsname\csname @interface@\currentinterface @\endcsname\else en\fi} \def\userresponsestag{\ifcsname @interface@\currentresponses @\endcsname\csname @interface@\currentresponses @\endcsname\else en\fi} -\input mult-\userinterfacetag \relax -\input mult-m\userresponsestag \relax +\input mult-\userinterfacetag .\mksuffix \relax +\input mult-m\userresponsestag.\mksuffix \relax \protect \endinput diff --git a/tex/context/base/mult-en.tex b/tex/context/base/mult-en.mkii index 9263f465c..9263f465c 100644 --- a/tex/context/base/mult-en.tex +++ b/tex/context/base/mult-en.mkii diff --git a/tex/context/base/mult-fr.tex b/tex/context/base/mult-fr.mkii index 29adf8314..29adf8314 100644 --- a/tex/context/base/mult-fr.tex +++ b/tex/context/base/mult-fr.mkii diff --git a/tex/context/base/mult-it.tex b/tex/context/base/mult-it.mkii index b1fa81a66..b1fa81a66 100644 --- a/tex/context/base/mult-it.tex +++ b/tex/context/base/mult-it.mkii diff --git a/tex/context/base/mult-mcs.tex b/tex/context/base/mult-mcs.mkii index 27fbd37dd..27fbd37dd 100644 --- a/tex/context/base/mult-mcs.tex +++ b/tex/context/base/mult-mcs.mkii diff --git a/tex/context/base/mult-mde.tex b/tex/context/base/mult-mde.mkii index 2819c1ed5..2819c1ed5 100644 --- a/tex/context/base/mult-mde.tex +++ b/tex/context/base/mult-mde.mkii diff --git a/tex/context/base/mult-men.tex b/tex/context/base/mult-men.mkii index c9c56bcc5..c9c56bcc5 100644 --- a/tex/context/base/mult-men.tex +++ b/tex/context/base/mult-men.mkii diff --git a/tex/context/base/mult-mfr.tex b/tex/context/base/mult-mfr.mkii index 7fee954c0..7fee954c0 100644 --- a/tex/context/base/mult-mfr.tex +++ b/tex/context/base/mult-mfr.mkii diff --git a/tex/context/base/mult-mit.tex b/tex/context/base/mult-mit.mkii index 9d09e2676..9d09e2676 100644 --- a/tex/context/base/mult-mit.tex +++ b/tex/context/base/mult-mit.mkii diff --git a/tex/context/base/mult-mnl.tex b/tex/context/base/mult-mnl.mkii index fb527d4ad..fb527d4ad 100644 --- a/tex/context/base/mult-mnl.tex +++ b/tex/context/base/mult-mnl.mkii diff --git a/tex/context/base/mult-mno.tex b/tex/context/base/mult-mno.mkii index bbbc3a658..bbbc3a658 100644 --- a/tex/context/base/mult-mno.tex +++ b/tex/context/base/mult-mno.mkii diff --git a/tex/context/base/mult-mpe.tex b/tex/context/base/mult-mpe.mkii index c9c56bcc5..c9c56bcc5 100644 --- a/tex/context/base/mult-mpe.tex +++ b/tex/context/base/mult-mpe.mkii diff --git a/tex/context/base/mult-mro.tex b/tex/context/base/mult-mro.mkii index 70673c317..70673c317 100644 --- a/tex/context/base/mult-mro.tex +++ b/tex/context/base/mult-mro.mkii diff --git a/tex/context/base/mult-nl.tex b/tex/context/base/mult-nl.mkii index 772e7bb6d..772e7bb6d 100644 --- a/tex/context/base/mult-nl.tex +++ b/tex/context/base/mult-nl.mkii diff --git a/tex/context/base/mult-pe.tex b/tex/context/base/mult-pe.mkii index 61de69d6c..61de69d6c 100644 --- a/tex/context/base/mult-pe.tex +++ b/tex/context/base/mult-pe.mkii diff --git a/tex/context/base/mult-ro.tex b/tex/context/base/mult-ro.mkii index 33649b07c..33649b07c 100644 --- a/tex/context/base/mult-ro.tex +++ b/tex/context/base/mult-ro.mkii diff --git a/tex/context/base/page-lay.mkii b/tex/context/base/page-lay.mkii index de1194c2a..8da9ba852 100644 --- a/tex/context/base/page-lay.mkii +++ b/tex/context/base/page-lay.mkii @@ -1372,10 +1372,7 @@ %D paper size with the typeset paper size. This setting should %D come after the first layout specification (already done). -\setuppapersize - [A4][A4] - -%D A few goodies: +% not interfaced ! \definepapersize [oversized] @@ -1392,6 +1389,14 @@ [ \c!width=\dimexpr \paperheight+1.5cm\relax, \c!height=\dimexpr2\paperwidth +1.5cm\relax] +\definepapersize + [samesized] + [ \c!width=\paperwidth, + \c!height=\paperheight] + +\setuppapersize + [A4][samesized] + %D For orthogonality: \definepapersize diff --git a/tex/context/base/s-abr-01.tex b/tex/context/base/s-abr-01.tex index 85b263468..dc5b0475b 100644 --- a/tex/context/base/s-abr-01.tex +++ b/tex/context/base/s-abr-01.tex @@ -75,6 +75,7 @@ \logo [DVIPSONE] {dvipsone} \logo [DVISCR] {dviscr} \logo [DVIWINDO] {dviwindo} +\logo [EBCDIC] {ebcdic} \logo [EC] {ec} \logo [EIFFEL] {Eiffel} \logo [EMACS] {emacs} diff --git a/tex/context/base/s-inf-01.tex b/tex/context/base/s-inf-01.tex index cf8cca80e..1dfb66d6a 100644 --- a/tex/context/base/s-inf-01.tex +++ b/tex/context/base/s-inf-01.tex @@ -16,18 +16,19 @@ \startluacode local format, gsub, find, match = string.format, string.gsub, string.find, string.match - local list, size, comp, used, nope = { }, { }, { }, { mkii = { }, mkiv = { } }, { 0, 0, 0, 0 } + local list, size, comp, used, nope = { }, { }, { }, { mkii = { }, mkiv = { }, mkvi = { } }, { 0, 0, 0, 0, 0 } local omit = { "char%-def%.lua", - "mult%-def%.lua", "mult%-..%.tex", "mult%-m..%.tex", + "mult%-def%.lua", "mult%-..%.mkii", "mult%-m..%.mkii", } local skip = { "prag%-.*%.tex", "docs%-.*.tex", "list%-.*%.tex", "test%-.*%.tex", "demo%-.*%.tex", - "opti%-.*%.tex", "chrt%-.*%.tex", + "opti%-.*%.tex", "chrt%-.*%.tex", ".*%-old", ".*%-obs", ".*%-tst", "supp%-.*%.tex", + "colo%-pan.tex", } local types = { - "tex", "mkii", "mkiv", "lua" + "tex", "mkii", "mkiv", "mkvi", "lua" } local function collect(list,suffix,n) @@ -48,7 +49,7 @@ if okay then local lm, sm, cm = list[category], size[category], comp[category] if not lm then - lm, sm, cm = { 0, 0, 0, 0 }, { 0, 0, 0, 0, 0, 0, 0, 0 }, { 0, 0, 0, 0 } + lm, sm, cm = { 0, 0, 0, 0, 0 }, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, { 0, 0, 0, 0, 0 } list[category], size[category], comp[category] = lm, sm, cm end lm[n] = lm[n] + 1 @@ -67,7 +68,7 @@ data = gsub(data,"%%.-[\n\r]","") end data = gsub(data,"%s","") - sm[n+4] = sm[n+4] + #data + sm[n+5] = sm[n+5] + #data if done then sm[n] = sm[n] + #data else @@ -89,7 +90,7 @@ pattern ="{"..category.."%-" for suffix, t in pairs(used) do local data = io.loaddata(resolvers.find_file("context."..suffix)) - if find(data,pattern) then + if data and find(data,pattern) then t[category] = true end end @@ -97,21 +98,21 @@ end local max, what = 0, (what == "size" and size) or list for k, v in table.sortedpairs(what) do - for i=1,4 do if v[i] > max then max = v[i] end end + for i=1,5 do if v[i] > max then max = v[i] end end end return max, what, function(n) return n/max end end function document.context_state_1(what) local max, what, norm = prepare(what) - context.starttabulate { "|Tc|T|T|T|T|]" } + context.starttabulate { "|Tc|T|T|T|T|T|" } context.NC() context(category) context.NC() for i, t in ipairs(types) do local n, m = 0, 0 for k, v in pairs(list) do - local nn, mm = what[k][i], what[k][i+4] + local nn, mm = what[k][i], what[k][i+5] n = n + nn m = m + (mm or nn) end @@ -124,7 +125,12 @@ for k, v in table.sortedpairs(what) do local c = (what == size and comp[k]) or nope context.NC() - context("%s~%s~~%s",(used.mkii[k] and "ii") or "~~",(used.mkiv[k] and "iv") or "~~",k) + context("%s~%s~~%s~~%s", + (used.mkii[k] and "ii") or "~~", + (used.mkiv[k] and "iv") or "~~", + (used.mkvi[k] and "vi") or "~~", + k + ) context.NC() for i, t in ipairs(types) do context.Bar(t,v[i],c[i],norm(v[i])) @@ -152,12 +158,14 @@ \definecolor[bar:tex] [middlegreen] \definecolor[bar:mkii][middleblue] \definecolor[bar:mkiv][middlered] +\definecolor[bar:mkvi][middleyellow] \definecolor[bar:lua] [middlegray] \def\Top#1#2#3#4% {\hbox to 5em{\hss#3}% \enspace - \hbox to #2\dimexpr 20em\relax{#1\ifnum#3=#4\else~#4\rlap{~+}\fi\hss}} +% \hbox to #2\dimexpr 20em\relax{#1\ifnum#3=#4\else~#4\rlap{~+}\fi\hss}} + \hbox {#1\ifnum#3=#4\else~#4\rlap{~+}\fi\hss}} \def\Bar#1#2#3#4% {\ifcase#2\else @@ -201,9 +209,9 @@ {The size of (core) files used in ConTeXt (- indicates exclusion of large data files; + indicates inclusion of large data files; comment and spaces removed.)} {1}{size} \Show - {The relative number of files used in ConTeXt (tex, mkii, mkiv, lua).} + {The relative number of files used in ConTeXt (tex, mkii, mkiv, mkvi, lua).} {2}{number} \Show - {The relative size of files used in ConTeXt (tex, mkii, mkiv, lua).} + {The relative size of files used in ConTeXt (tex, mkii, mkiv, mkvi, lua).} {2}{size} \stoptext diff --git a/tex/context/base/spac-gen.mkii b/tex/context/base/spac-gen.mkii index 8274db1b9..4e7b3810c 100644 --- a/tex/context/base/spac-gen.mkii +++ b/tex/context/base/spac-gen.mkii @@ -1483,6 +1483,21 @@ \fi +\unexpanded\def\textormathglue#1#2#3% cleaned up one + {\begingroup + \ifmmode + \mskip#1#2% + \else + \scratchdimen#1\hspaceamount\empty{#3}% + \scratchskip\scratchdimen\!!plus.5\scratchdimen\!!minus.3\scratchdimen + \hskip\scratchskip + \fi + \endgroup} + +\def\thinglue {\textormathglue+\thinmuskip 1} +\def\medglue {\textormathglue+\medmuskip 2} +\def\thickglue{\textormathglue+\thickmuskip3} + \ifx\eject\undefined \def\eject{\par\break} diff --git a/tex/context/base/spac-hor.mkiv b/tex/context/base/spac-hor.mkiv index 269354d0f..70d949e76 100644 --- a/tex/context/base/spac-hor.mkiv +++ b/tex/context/base/spac-hor.mkiv @@ -328,7 +328,7 @@ \unexpanded\def\nonbreakablespace{\penalty\plustenthousand\normalspaceprimitive} % no space in math -\letcatcodecommand \ctxcatcodes `\~ \nonbreakablespace % overloaded later +\letcatcodecommand \ctxcatcodes \tildeasciicode \nonbreakablespace % overloaded later \def\space { } \def\removelastspace{\ifhmode\unskip\fi} @@ -350,7 +350,7 @@ \hskip\wd\scratchbox\relax} \def\fixedspaces - {\letcatcodecommand \ctxcatcodes `\~ \fixedspace} + {\letcatcodecommand \ctxcatcodes \tildeasciicode \fixedspace} \appendtoks \let~\space @@ -932,4 +932,21 @@ \chardef\zwnj="200C \chardef\zwj ="200D +% TODO (but used in languages): + +\unexpanded\def\textormathglue#1#2#3% cleaned up one + {\begingroup + \ifmmode + \mskip#1#2% + \else + \scratchdimen#1\hspaceamount\empty{#3}% + \scratchskip\scratchdimen\!!plus.5\scratchdimen\!!minus.3\scratchdimen + \hskip\scratchskip + \fi + \endgroup} + +\def\thinglue {\textormathglue+\thinmuskip 1} +\def\medglue {\textormathglue+\medmuskip 2} +\def\thickglue{\textormathglue+\thickmuskip3} + \protect \endinput diff --git a/tex/context/base/supp-fil.mkiv b/tex/context/base/supp-fil.mkiv index 41e3a3ad9..5db8098e3 100644 --- a/tex/context/base/supp-fil.mkiv +++ b/tex/context/base/supp-fil.mkiv @@ -57,9 +57,6 @@ %D ... reading ... %D \popendofline %D \stoptyping -%D -%D Just to be sure, we save the current meaning of \type{^^M} -%D in \type{\poppedendofline}. \newcount \endoflinelevel diff --git a/tex/context/base/supp-mat.mkiv b/tex/context/base/supp-mat.mkiv index 3da664f36..e441cbc28 100644 --- a/tex/context/base/supp-mat.mkiv +++ b/tex/context/base/supp-mat.mkiv @@ -171,12 +171,12 @@ % %D and \type {\suber} by saying \type {\enablesupsub}. % % \bgroup -% \catcode`\^=\activecatcode -% \catcode`\_=\activecatcode +% \catcode\circumflexasciicode\activecatcode +% \catcode\underscoreasciicode\activecatcode % \gdef\enablesupsub -% {\catcode`\^=\activecatcode +% {\catcode\circumflexasciicode\activecatcode +% \catcode\underscoreasciicode\activecatcode % \def^{\ifmmode\expandafter\super\else\expandafter\normalsuper\fi}% -% \catcode`\_=\activecatcode % \def_{\ifmmode\expandafter\suber\else\expandafter\normalsuber\fi}} % \egroup % diff --git a/tex/context/base/supp-num.mkiv b/tex/context/base/supp-num.mkiv index 8dd763b78..68b775403 100644 --- a/tex/context/base/supp-num.mkiv +++ b/tex/context/base/supp-num.mkiv @@ -117,12 +117,7 @@ %D Watch the test for \type {\nextobeyedline}, because the %D endofline token can be \type {\def'd}, not \type {\let}'d, %D we need to do an indirect test (see \type {verb-ini.tex}) -%D for details. -%D -%D \starttyping -%D \def ^^M{\obeyedline} -%D \def\nextbeyedline{\obeyedline} -%D \stoptyping +%D for details. (This probably needs an update.) \ifx\normalmathshift\undefined \let\normalmathshift=$ \fi diff --git a/tex/context/base/syst-aux.mkiv b/tex/context/base/syst-aux.mkiv index 685e8c923..e12951fa4 100644 --- a/tex/context/base/syst-aux.mkiv +++ b/tex/context/base/syst-aux.mkiv @@ -283,6 +283,7 @@ \else \@EA\inspectnextcharacterindeed \fi} + \def\inspectnextcharacterindeed {\ifx\nexttoken\charactertoken \@EA\!!stringa @@ -321,12 +322,14 @@ {\def\nextbgroupcommandyes{#1}% \def\nextbgroupcommandnop{#2}% \futurelet\nexttoken\inspectnextbgroupcharacter} + \def\inspectnextbgroupcharacter {\ifx\nexttoken\blankspace \@EA\reinspectnextbgroupcharacter \else \@EA\inspectnextbgroupcharacterindeed \fi} + \def\inspectnextbgroupcharacterindeed {\ifx\nexttoken\nextbgroupcharactertoken \@EA\nextbgroupcommandyes @@ -340,12 +343,14 @@ {\def\nextparenthesiscommandyes{#1}% \def\nextparenthesiscommandnop{#2}% \futurelet\nexttoken\inspectnextparenthesischaracter} + \def\inspectnextparenthesischaracter {\ifx\nexttoken\blankspace \@EA\reinspectnextparenthesischaracter \else \@EA\inspectnextparenthesischaracterindeed \fi} + \def\inspectnextparenthesischaracterindeed {\ifx\nexttoken\nextparenthesischaractertoken \@EA\nextparenthesiscommandyes @@ -496,45 +501,9 @@ %D \ifundefined\NameB ... \else ... \fi %D \stoptyping -\def\ifundefined#1% ongelukkige naam .. obsolete +\def\ifundefined#1% obsolete {\unless\ifcsname#1\endcsname} -% \def\p!doifundefined#1% -% {\edef\p!defined{#1}% -% \unless\ifcsname\detokenize\@EA{\p!defined}\endcsname} - -% \def\doifundefinedelse#1% -% {\edef\p!defined{#1}% -% \ifcsname\detokenize\@EA{\p!defined}\endcsname -% \expandafter\secondoftwoarguments -% \else -% \expandafter\firstoftwoarguments -% \fi} - -% \def\doifdefinedelse#1% -% {\edef\p!defined{#1}% -% \ifcsname\detokenize\@EA{\p!defined}\endcsname -% \expandafter\firstoftwoarguments -% \else -% \expandafter\secondoftwoarguments -% \fi} - -% \def\doifundefined#1% -% {\edef\p!defined{#1}% -% \ifcsname\detokenize\@EA{\p!defined}\endcsname -% \expandafter\gobbleoneargument -% \else -% \expandafter\firstofoneargument -% \fi} - -% \def\doifdefined#1% -% {\edef\p!defined{#1}% -% \ifcsname\detokenize\@EA{\p!defined}\endcsname -% \expandafter\firstofoneargument -% \else -% \expandafter\gobbleoneargument -% \fi} - \ifdefined\suppressifcsnameerror \suppressifcsnameerror\plusone @@ -762,6 +731,7 @@ \else \expandafter\dodoifinsetelse \fi} + \long\def\dodoifinsetelse#1% {\edef\!!stringb{#1}% \ifx\!!stringb\empty @@ -777,6 +747,7 @@ \else \expandafter\dodoifinset \fi} + \long\def\dodoifinset#1% {\edef\!!stringb{#1}% \ifx\!!stringb\empty @@ -792,6 +763,7 @@ \else \expandafter\dodoifnotinset \fi} + \long\def\dodoifnotinset#1% {\edef\!!stringb{#1}% \ifx\!!stringb\empty @@ -807,12 +779,14 @@ \else \expandafter\dodocheckifiteminsetelse \fi#2} + \def\dodocheckifiteminsetelse {\ifx\!!stringb\rightoptionalbracket \expandafter\thirdofthreearguments \else \expandafter\dododocheckifiteminsetelse \fi} + \def\dododocheckifiteminsetelse {\ifx\!!stringa\!!stringb \expandafter\doquitifiteminsetelse @@ -827,12 +801,14 @@ \else \expandafter\dodocheckifiteminset \fi#2} + \def\dodocheckifiteminset {\ifx\!!stringb\rightoptionalbracket \expandafter\gobbletwoarguments \else \expandafter\dododocheckifiteminset \fi} + \def\dododocheckifiteminset {\ifx\!!stringa\!!stringb \expandafter\doquitifiteminset @@ -847,12 +823,14 @@ \else \expandafter\dodocheckifitemnotinset \fi#2} + \def\dodocheckifitemnotinset {\ifx\!!stringb\rightoptionalbracket \expandafter\secondoftwoarguments \else \expandafter\dododocheckifitemnotinset \fi} + \def\dododocheckifitemnotinset {\ifx\!!stringa\!!stringb \expandafter\doquitifitemnotinset @@ -2952,7 +2930,7 @@ \dostarttexdefinition} \gdef\dostarttexdefinition #1 - {\catcode13=\ignorecatcode% + {\catcode\endoflineasciicode\ignorecatcode% \doifinstringelse\letterhash{\detokenize{#1}}\dodostarttexdefinition\nonostarttexdefinition#1 } @@ -3102,10 +3080,6 @@ %D \csname if\strippedcsname\something\endcsname %D \stoptyping -\ifdefined\letterbackslash \else - {\catcode`.=0 .catcode`.\ 12 .xdef.letterbackslash{.string\}} % hack -\fi - \def\checkedstrippedcsname#1% this permits \strippedcsname{\xxx} and \strippedcsname{xxx} {\expandafter\docheckedstrippedcsname\string#1} @@ -5645,8 +5619,8 @@ \def\untexsomething {\begingroup - \catcode`\{=\ignorecatcode - \catcode`\}=\ignorecatcode + \catcode\leftbraceasciicode \ignorecatcode + \catcode\rightbraceasciicode\ignorecatcode \escapechar\minusone \dountexsomething} @@ -6498,9 +6472,10 @@ \dounspaced} \def\unspaceargument#1\to#2% - {\scratchcounter\catcode32\relax - \catcode32\ignorecatcode\scantextokens{\edef#2{#1}}% - \catcode32\scratchcounter} + {\scratchcounter\catcode\spaceasciicode + \catcode\spaceasciicode\ignorecatcode + \scantextokens{\edef#2{#1}}% + \catcode\spaceasciicode\scratchcounter} \def\unspaceafter#1#2% {\unspaceargument#2\to\ascii @@ -6696,32 +6671,6 @@ \def\negated#1{\if-#1\else-#1\fi} % does only work in macros or text -% This permits things like ^\index{hans}^, where hans is -% duplicated in the text. - -\newif\ifduplicate - -\bgroup - -\gdef\checkduplication % in line with Knuth - {\ifmmode\expandafter^\else\expandafter\startduplication\fi} - -\gdef\insideduplication - {\ifmmode\expandafter^\else\expandafter\egroup\fi} - -\catcode`\^=\activecatcode - -\gdef\enableduplication - {\catcode`\^=\activecatcode \let^\checkduplication} - -\gdef\disableduplication - {\catcode`\^=\superscriptcatcode} - -\gdef\startduplication - {\bgroup \duplicatetrue \let^\insideduplication} - -\egroup - \def\gobbleassigndimen#1\\{} \def\assigndimen#1#2% diff --git a/tex/context/base/syst-ltx.tex b/tex/context/base/syst-ltx.mkii index ae89ff25b..576121327 100644 --- a/tex/context/base/syst-ltx.tex +++ b/tex/context/base/syst-ltx.mkii @@ -11,6 +11,9 @@ %C therefore copyrighted by \PRAGMA. See mreadme.pdf for %C details. +%D The bib module assumes that sometimes this command is used but +%D in \MKIV\ we no longer assume that. +%D %D \macros %D {newcommand} %D diff --git a/tex/context/base/syst-pln.tex b/tex/context/base/syst-pln.mkii index f2b6129ff..f2b6129ff 100644 --- a/tex/context/base/syst-pln.tex +++ b/tex/context/base/syst-pln.mkii diff --git a/tex/context/base/syst-pln.mkiv b/tex/context/base/syst-pln.mkiv new file mode 100644 index 000000000..7fa91b73d --- /dev/null +++ b/tex/context/base/syst-pln.mkiv @@ -0,0 +1,120 @@ +%D \module +%D [ file=syst-pln, +%D version=2001.11.16, % 1999.03.17, % an oldie: 1995.10.10 +%D title=\CONTEXT\ System Macros, +%D subtitle=Efficient \PLAIN\ \TEX\ loading, +%D author=Hans Hagen, +%D date=\currentdate, +%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. + +\unprotect + +%D This module set a couple of variables to the plain \TEX\ +%D values. Later they might be overloaded. There is not much +%D difference between \MKII\ and \MKIV\ but at some point they +%D might diverge. + +%D Build||in numeric variables. + +\adjdemerits = 10000 +\binoppenalty = 700 +\brokenpenalty = 100 +\clubpenalty = 150 +%day = 0 +\defaulthyphenchar = `\- +\defaultskewchar = -1 +\delimiterfactor = 901 +\displaywidowpenalty = 50 +\doublehyphendemerits = 10000 +%endlinechar = `\^^M +\errorcontextlines = 5 +%escapechar = `\\ +\exhyphenpenalty = 50 +%fam = 0 +\finalhyphendemerits = 5000 +%floatingpenalty = 0 +%globaldefs = 0 +%hangafter = 1 +\hbadness = 1000 +%holdinginserts = 0 +\hyphenpenalty = 50 +%interlinepenalty = 0 +%language = 0 +\lefthyphenmin = 2 +\linepenalty = 10 +%looseness = 0 +%mag = 1000 +%maxdeadcycles = 25 +%month = 0 +%newlinechar = -1 % commented i.e. no plain value +%outputpenalty = 0 +%pausing = 0 +%postdisplaypenalty = 0 +\predisplaypenalty = 10000 +\pretolerance = 100 +\relpenalty = 500 +\righthyphenmin = 3 +\showboxbreadth = 5 +\showboxdepth = 3 +%time = 0 +\tolerance = 200 +%tracingcommands = 0 +\tracinglostchars = 1 +%tracingmacros = 0 +%tracingonline = 0 +%tracingoutput = 0 +%tracingpages = 0 +%tracingparagraphs = 0 +%tracingrestores = 0 +%tracingstats = 0 +\uchyph = 1 +\vbadness = 1000 +\widowpenalty = 150 +%year = 0 + +%D Build in dimension variables. + +\abovedisplayshortskip = 0pt plus 3pt +\abovedisplayskip = 12pt plus 3pt minus 9pt +%baselineskip = 0pt +\belowdisplayshortskip = 7pt plus 3pt minus 4pt +\belowdisplayskip = 12pt plus 3pt minus 9pt +\boxmaxdepth = \maxdimen +\delimitershortfall = 5pt +%displayindent = 0pt +%displaywidth = 0pt +%hangindent = 0pt +\hfuzz = 0.1pt +%hoffset = 0pt +\hsize = 6.5in +%leftskip = 0pt +%lineskip = 0pt +%lineskiplimit = 0pt +%mathsurround = 0pt +\maxdepth = 4pt +\medmuskip = 4mu plus 2mu minus 4mu +\nulldelimiterspace = 1.2pt +\overfullrule = 5pt +\parfillskip = 0pt plus 1fil +\parindent = 20pt +\parskip = 0pt plus 1pt +%predisplaysize = 0pt +%rightskip = 0pt +\scriptspace = 0.5pt +%spaceskip = 0pt +\splitmaxdepth = \maxdimen +\splittopskip = 10pt +%tabskip = 0pt +\thickmuskip = 5mu plus 5mu +\thinmuskip = 3mu +\topskip = 10pt +\vfuzz = 0.1pt +%voffset = 0pt +\vsize = 8.9in +%xspaceskip = 0pt + +\protect \endinput diff --git a/tex/context/base/tabl-tab.mkiv b/tex/context/base/tabl-tab.mkiv index a5597d62a..24bbb4dd6 100644 --- a/tex/context/base/tabl-tab.mkiv +++ b/tex/context/base/tabl-tab.mkiv @@ -830,10 +830,10 @@ \the\everytable \fi} -\bgroup \catcode`\~=13 +\bgroup \catcode\tildeasciicode\activecatcode \appendtoks - \catcode`\~=\active + \catcode\barasciicode\activecatcode \def~{\kern.5em}% \def\\{\ifhmode\space\else\par\fi}% \to \everytable @@ -1430,7 +1430,7 @@ \unexpanded\def\definetabletemplate % to be redone {\bgroup - \catcode`\|=\othercatcode + \catcode\barasciicode\othercatcode \doquadrupleempty\dodefinetabletemplate} \def\dodefinetabletemplate[#1][#2][#3][#4]% @@ -1511,7 +1511,7 @@ % \stoptablenoalign } -\bgroup \catcode`\|=\othercatcode +\bgroup \catcode\barasciicode\othercatcode \gdef\secondstagestarttable[#1]% brr nested mess {\bgroup @@ -1880,11 +1880,11 @@ %D \TABLE\ changes the catcode when needed.} \bgroup - \catcode`\|=\othercatcode \gdef\@@otherbar {|} - \catcode`\|=\activecatcode \gdef\@@useotherbar {\let|\@@otherbar} + \catcode\barasciicode\othercatcode \gdef\@@otherbar {|} + \catcode\barasciicode\activecatcode \gdef\@@useotherbar {\let|\@@otherbar} \egroup -\bgroup \catcode`\|=\othercatcode +\bgroup \catcode\barasciicode\othercatcode \gdef\dogettablenofcolumns#1% todo: also divert this to lua as with tabulate {\bgroup diff --git a/tex/context/base/unic-ini.mkii b/tex/context/base/unic-ini.mkii index 3e4c574f3..5f28ba555 100644 --- a/tex/context/base/unic-ini.mkii +++ b/tex/context/base/unic-ini.mkii @@ -25,7 +25,7 @@ % Ññ % ÒÓÔÕÖòóôõö % Øø -% ÙÚÛÜùúû +% ÙÚÛÜùúûü % Ýýÿ % ß diff --git a/tex/context/base/x-xtag.mkiv b/tex/context/base/x-xtag.mkiv index eaeb89f85..560e1b702 100644 --- a/tex/context/base/x-xtag.mkiv +++ b/tex/context/base/x-xtag.mkiv @@ -16,7 +16,8 @@ \ifdefined\XMLbanner \endinput \fi -\loadcorefile{catc-xml} +\loadmarkfile{catc-xml} + \loadcorefile{xtag-ini} \loadcorefile{xtag-ext} \loadcorefile{xtag-exp} diff --git a/tex/generic/context/luatex-fonts-merged.lua b/tex/generic/context/luatex-fonts-merged.lua index 67a48dd9c..eaed05a24 100644 --- a/tex/generic/context/luatex-fonts-merged.lua +++ b/tex/generic/context/luatex-fonts-merged.lua @@ -1,6 +1,6 @@ -- merged file : luatex-fonts-merged.lua -- parent file : luatex-fonts.lua --- merge date : 01/18/11 19:34:25 +-- merge date : 01/23/11 20:36:24 do -- begin closure to overcome local limits and interference |