summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/context/base/lang-ini.mkiv
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2013-04-08 00:43:40 +0000
committerKarl Berry <karl@freefriends.org>2013-04-08 00:43:40 +0000
commit824f7b0903de8ad7f6ee3d7656005e4c59155e06 (patch)
treeabfc8673ef9916f3ab7074e811207384c301492b /Master/texmf-dist/tex/context/base/lang-ini.mkiv
parent689aefb0727676ed3cddf331337b4be226495e72 (diff)
context import for TL13, from www.pragma-ade.com/context/beta/cont-tmf.zip
git-svn-id: svn://tug.org/texlive/trunk@29731 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/context/base/lang-ini.mkiv')
-rw-r--r--Master/texmf-dist/tex/context/base/lang-ini.mkiv93
1 files changed, 73 insertions, 20 deletions
diff --git a/Master/texmf-dist/tex/context/base/lang-ini.mkiv b/Master/texmf-dist/tex/context/base/lang-ini.mkiv
index 150b68f702f..3226c1255ce 100644
--- a/Master/texmf-dist/tex/context/base/lang-ini.mkiv
+++ b/Master/texmf-dist/tex/context/base/lang-ini.mkiv
@@ -174,7 +174,7 @@
\newtoks \everysetuplanguage
-\def\installedlanguages{\ctxlua{languages.installed()}}
+\def\installedlanguages{\ctxcommand{installedlanguages()}}
\unexpanded\def\doiflanguageelse#1%
{\ifcsname\??language#1\c!state\endcsname
@@ -199,10 +199,10 @@
\lang_basics_install_indeed{#1}{#1}%
\getparameters[\??language#1][\c!state=\v!start,#2]}%
\edef\currentsetuplanguage{#1}%
- \ctxlua{languages.define("#1","\specificlanguageparameter{#1}\s!default")}%
+ \ctxcommand{definelanguage("#1","\specificlanguageparameter{#1}\s!default")}%
\the\everysetuplanguage}
{\setvalue{\??languagelinked#1}{#2}%
- \ctxlua{languages.synonym("#1","#2")}%
+ \ctxcommand{setlanguagesynonym("#1","#2")}%
\lang_basics_install_indeed{#1}{#2}}}
\def\lang_basics_install_indeed#1#2%
@@ -215,7 +215,7 @@
\unexpanded\def\doifpatternselse#1%
{\begingroup % will change
- \language[#1]%
+ \lang_basics_set_current[#1]%
\ifnum\normallanguage>\zerocount
\endgroup\expandafter\firstoftwoarguments
\else
@@ -254,7 +254,7 @@
\lang_basics_synchronize}
\appendtoks
- \ctxlua{languages.setdirty("\currentsetuplanguage")}%
+ \ctxcommand{unloadlanguage("\currentsetuplanguage")}%
\to \everysetuplanguage
\setuplanguage
@@ -286,7 +286,8 @@
\c!rightspeech=\languageparameter\c!rightquotation,
\c!limittext=\unknown,
\c!date={\v!year,\ ,\v!month,\ ,\v!day},
- \c!text=Ag]
+ \c!text=Ag,
+ \s!font=] % \v!auto : experimental !
% to be tested:
%
@@ -361,13 +362,40 @@
)}\relax
\the\everylanguage\relax}
+\newcount\hyphenminoffset
+
+\unexpanded\def\lesshyphens
+ {\advance\hyphenminoffset\plusone
+ \lang_basics_synchronize_min_max}
+
+\unexpanded\def\morehyphens
+ {\ifcase\hyphenminoffset \else
+ \advance\hyphenminoffset\minusone
+ \fi
+ \lang_basics_synchronize_min_max}
+
+\unexpanded\def\nohyphens % % % % % not clever, we still hyphenate but supress application
+ {\ifx\dohyphens\relax
+ \unexpanded\edef\dohyphens
+ {\hyphenpenalty \the\hyphenpenalty
+ \exhyphenpenalty\the\exhyphenpenalty
+ \relax}%
+ \fi
+ \hyphenpenalty \plustenthousand
+ \exhyphenpenalty\plustenthousand}
+
+\let\dohyphens\relax
+
+\unexpanded\def\lang_basics_synchronize_min_max
+ {% these values are stored along with glyph nodes
+ \lefthyphenmin \numexpr0\languageparameter\s!lefthyphenmin +\hyphenminoffset\relax
+ \righthyphenmin\numexpr0\languageparameter\s!righthyphenmin+\hyphenminoffset\relax
+ % these values are stored with the language (global!)
+ \prehyphenchar \languageparameter\s!righthyphenchar\relax
+ \posthyphenchar\languageparameter\s!lefthyphenchar \relax}
+
\appendtoks
- % these values are stored along with glyph nodes
- \lefthyphenmin \numexpr0\languageparameter\s!lefthyphenmin +\hyphenminoffset\relax
- \righthyphenmin\numexpr0\languageparameter\s!righthyphenmin+\hyphenminoffset\relax
- % these values are stored with the language (global!)
- \prehyphenchar \languageparameter\s!righthyphenchar\relax
- \posthyphenchar\languageparameter\s!lefthyphenchar \relax
+ \lang_basics_synchronize_min_max
\to \everylanguage
% \appendtoks
@@ -394,25 +422,50 @@
% \dorecurse{100}{dit is toch wel een heel\normalhyphendiscretionary lang\normalhyphendiscretionary woord \recurselevel\ }
% \dorecurse{100}{dit is toch wel een heellangwoord \recurselevel\ }
+% new experimental feature
+
+\unexpanded\def\setuplanguages
+ {\setuplanguage[\s!default]}
+
+% \setuplanguages[\s!font=\v!auto]
+% \setuplanguage[\s!default][\s!font=\v!auto]
+% \setuplanguage[nl][\s!font=\v!auto]
+
+\ifdefined\feature \else \let\feature\gobbleoneargument \fi
+
+\appendtoks
+ \edef\p_language_font{\languageparameter\s!font}%
+ \ifx\p_language_font\v!auto
+ \feature\currentlanguage
+ \fi
+\to \everylanguage
+
% The following may be a solution for the fact that one cannot
% change catcodes of characters like : and ; inside an environment.
% we will also permit access by the other names
-\unexpanded\def\lang_basics_set_current[#1]%
- {\edef\askedlanguage{#1}%
- \ifx\askedlanguage\empty \else
+%D Fast switcher
+
+\def\lang_basics_switch_asked
+ {\ifx\askedlanguage\empty \else
\ifcsname\??languagelinked\askedlanguage\endcsname
\edef\askedlanguage{\csname\??languagelinked\askedlanguage\endcsname}%
\ifx\currentlanguage\askedlanguage \else
\setcurrentlanguage\currentmainlanguage\askedlanguage
\lang_basics_synchronize
\fi
- \else
- \showmessage\m!languages6{#1}%
\fi
\fi}
+\unexpanded\def\uselanguageparameter#1%
+ {\edef\askedlanguage{#1\c!language}%
+ \lang_basics_switch_asked}
+
+\unexpanded\def\lang_basics_set_current[#1]%
+ {\edef\askedlanguage{#1}%
+ \lang_basics_switch_asked}
+
\unexpanded\def\language
{\doifnextoptionalelse\lang_basics_set_current\normallanguage}
@@ -570,15 +623,15 @@
\let\stopexceptions\relax
\unexpanded\def\startexceptions
- {\dosingleempty\dostartexceptions}
+ {\dosingleempty\lang_basics_start_exceptions}
-\def\dostartexceptions[#1]#2\stopexceptions % multilingual or not?
+\def\lang_basics_start_exceptions[#1]#2\stopexceptions % multilingual or not?
{\begingroup
\edef\askedlanguage{\reallanguagetag{#1}}%
\ifx\askedlanguage\empty
\let\askedlanguage\currentlanguage
\fi
- \ctxlua{languages.exceptions("\askedlanguage",\!!bs#2\!!es)}%
+ \ctxcommand{setlanguageexceptions("\askedlanguage",\!!bs#2\!!es)}%
\endgroup}
%D For the moment here: