diff options
author | Karl Berry <karl@freefriends.org> | 2016-04-22 22:14:39 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2016-04-22 22:14:39 +0000 |
commit | fc4466b32ed330a956ac603b00fd145524cff49a (patch) | |
tree | 2c50e2b8de13aa9233b2c76dffe201558f169e86 /Master/texmf-dist/tex/context/base/enco-ini.mkiv | |
parent | 50e2368597d5f6fe2057195d0ae6a9f2044923e4 (diff) |
context (22apr16)
git-svn-id: svn://tug.org/texlive/trunk@40691 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/context/base/enco-ini.mkiv')
-rw-r--r-- | Master/texmf-dist/tex/context/base/enco-ini.mkiv | 516 |
1 files changed, 0 insertions, 516 deletions
diff --git a/Master/texmf-dist/tex/context/base/enco-ini.mkiv b/Master/texmf-dist/tex/context/base/enco-ini.mkiv deleted file mode 100644 index ef0ebef4ebb..00000000000 --- a/Master/texmf-dist/tex/context/base/enco-ini.mkiv +++ /dev/null @@ -1,516 +0,0 @@ -%D \module -%D [ file=enco-ini, -%D version=2007.02.19, % 2000.12.27, % 1998.12.03, -%D title=\CONTEXT\ Encoding Macros, -%D subtitle=Initialization, -%D author=Hans Hagen, -%D date=\currentdate, -%D copyright={PRAGMA ADE \& \CONTEXT\ Development Team}] -%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 is stripped down version of th eoriginal enco-ini.tex -%D file. For more details you might want to study the \MKII\ file -%D but since \LUATEX\ is unicode inside we need less code. - -% When dealing with characters we have four cases to take into account -% when moving from mkii to mkiv: - -% 1. <byte 200> => ref to slot 200 in current font -% 2. \char 200 => ref to slot 200 in current font -% 3. <active 200> => can (e.g.) map to another slot in current font -% 4. \namedglyph => can map to some slot in some font - -% Using case 2 for special characters is doomed to fail because we are not going -% to intercept these on the fly as happens automatically with traditional font -% encoding handling. We could do that in a node pass but it's not worth the effort -% because we seldom use this case in a document source. - -% We can consider using utf as internal format for mkii. The main reason for not -% doing this before was that it was slow. On the other hand, it would make dealing -% with utility files easier. However, we've now kind of frozen mkii. - -\writestatus{loading}{ConTeXt Encoding Macros / Initialization} - -\unprotect - -%D Obsolete (but sometimes used in styles) - -\let\defaultencoding\s!default - -%D \macros -%D {defineaccent, definecharacter, definecommand} - -\installcorenamespace{accents} - -\unexpanded\def\defineaccent#1 #2 #3 % - {\enco_define_accent_command{#1}% - \enco_define_accent{#1}{#2}{#3}} - -\unexpanded\def\enco_define_accent_command#1% - {\setevalue{\string#1}{\noexpand\enco_handle_accent{\string#1}}} - -\unexpanded\def\enco_define_accent#1#2#3% no spaces, used low level - {\setvalue{\??accents\string#1\string#2\empty}{#3}} - -% the following dirty trick is needed to catch \asciimath{\^{1/5}log}: - -\def\enco_handle_accent#1#2% expandable because we want them in the tuc file - {\csname\??accents - \ifcsname\??accents\string#1#2\empty\endcsname - \string#1#2\empty - \else\ifcsname\??accents\string#1\string#2\empty\endcsname - \string#1\string#2\empty - \else - \endcsname#2\csname\??accents % very dirty trick: ignore accent but keep char - \fi\fi - \endcsname} - -\letvalue{\??accents}\empty - -\unexpanded\def\enco_define_command#1#2% - {\setuvalue{\string#1}{#2}} - -\let\dohandleaccent \enco_handle_accent % maybe useful -\let\dodefineaccent \enco_define_accent % used at the lua end -\let\dodefineaccentcommand\enco_define_accent_command % used at the lua end -\let\dodefinecommand \enco_define_command % used at the lua end - -\unexpanded\def\definecharacter#1 #2 % - {\doifelsenumber{\string#2} - {\setevalue{\string#1}{\utfchar{#2}}} % or {\expandafter\chardef\csname#1\endcsname#2\relax} - {\setuvalue{\string#1}{#2}}} - -\unexpanded\def\definecommand#1 #2 % - {\setuvalue{\string#1}{#2}} - -%D \macros -%D {everyuppercase, everylowercase, everysanitize} - -\newtoks \everyuppercase -\newtoks \everylowercase -\newtoks \everysanitize - -%D Accent handling (try to avoid this): - -% \buildtextaccent\greekdasia\greekalphamacron -% \buildtextaccent\textacute q - -\newbox\b_enco_accent - -\def\buildmathaccent#1% - {\mathaccent#1 } - -% \unexpanded\def\buildtextaccent#1#2% we could do all at the lua end -% {\begingroup % but that's no fun (yet) -% \setbox\b_enco_accent\hbox{#1}% -% \scratchcounter\cldcontext{nodes.firstcharinbox(\number\b_enco_accent)}\relax -% \ifcase\scratchcounter\else\accent\scratchcounter\fi -% \relax#2% -% \endgroup} - -\unexpanded\def\buildtextaccent#1#2% we could do all at the lua end - {\begingroup % but that's no fun (yet) - \setbox\b_enco_accent\hbox{#1}% - \clf_buildtextaccent\b_enco_accent#2% - \endgroup} - -\unexpanded\def\bottomaccent#1#2#3#4#5% down right slantcorrection accent char - {\dontleavehmode % why this align mess - \vtop - {\forgetall - \baselineskip\zeropoint - \lineskip#1% - \everycr\emptytoks - \tabskip\zeropoint - \lineskiplimit\zeropoint - \setbox0\hbox{#4}% - \halign - {##\crcr\hbox{#5}\crcr - \hidewidth - \hskip#2\wd0 - \hskip-#3\slantperpoint % in plain 1ex * dimenless value - \vbox to .2\exheight{\box0\vss}\hidewidth - \crcr}}} - -\unexpanded\def\buildtextmacron {\bottomaccent{.25ex}{0}{15}{\textmacron}} -\unexpanded\def\buildtextbottomdot {\bottomaccent{.25ex}{0}{5}{\textbottomdot}} -\unexpanded\def\buildtextcedilla {\bottomaccent{0ex}{0}{5}{\textcedilla}} -\unexpanded\def\buildtextogonek {\bottomaccent{-.1ex}{.5}{0}{\textogonek}} -\unexpanded\def\buildtextbottomcomma{\bottomaccent{.15ex}{0}{5}{\tx,}} - -\let\d\buildtextbottomdot - -\unexpanded\def\topaccent#1#2#3#4#5% down right slantcorrection accent char - {\dontleavehmode - \bgroup - \setbox0\hbox{#4}% - \setbox2\hbox{#5}% - \hbox to \wd2 \bgroup - \hss\copy2\hss - \hskip-\wd2 - \hss\hskip#2\wd0\hskip-#3\slantperpoint\raise#1\hbox{#4}\hss - \egroup - \egroup} - -\unexpanded\def\buildtextgrave - {\topaccent{0pt}{0}{15}{\textgrave}} % e.g. - -\unexpanded\def\definemathaccent#1 #2% - {\setvalue{#1}{\mathaccent#2 }} - -%D Math (will move): - -\definemathaccent acute \mathacute -\definemathaccent grave \mathgrave -\definemathaccent ddot \mathddot -\definemathaccent tilde \mathtilde -\definemathaccent bar \mathbar -\definemathaccent breve \mathbreve -\definemathaccent check \mathcheck -\definemathaccent hat \mathhat -\definemathaccent vec \mathvec -\definemathaccent dot \mathdot -% \definemathaccent widetilde \mathwidetilde -% \definemathaccent widehat \mathwidehat - -% from enco-com: - -\def\AA{Å} \def\aa{å} -\def\AE{Æ} \def\ae{æ} -\def\CC{Ç} \def\cc{ç} -\def \L{Ł} \def \l{ł} -\def \O{Ø} \def \o{ø} -\def\OE{Œ} \def\oe{œ} -\def\SZ{SS} \def\sz{ß} \def\SS{ß} -\def\IJ{IJ} \def\ij{ij} - -% from enco-def: - -\def\i{ı} -\def\j{ȷ} - -\def\S{§} \def\textS {§} % obsolete (surfaced in bibliographic files) -\def\P{¶} \def\textP {¶} % obsolete (surfaced in bibliographic files) - -\def\eszett {ß} \def\Eszett {SS} \def\Ssharp{SS} -\def\lslash {ł} \def\Lslash {Ł} -\def\dslash {đ} \def\Dslash {Đ} -\def\oslash {ø} \def\Oslash {Ø} -\def\dcroat {đ} \def\Dcroat {Đ} -\def\kcedilla{ķ} \def\Kcedilla{Ķ} -\def\lcedilla{ļ} \def\Lcedilla{Ļ} -\def\ncedilla{ņ} \def\Ncedilla{Ņ} -\def\rcedilla{ŗ} \def\Rcedilla{Ŗ} -\def\aumlaut {ä} \def\Aumlaut {Ä} -\def\eumlaut {ë} \def\Eumlaut {Ë} -\def\iumlaut {ï} \def\Iumlaut {Ï} -\def\oumlaut {ö} \def\Oumlaut {Ö} -\def\uumlaut {ü} \def\Uumlaut {Ü} - -% for old times sake (obsolete) - -\def\textflorin{ƒ} \def\florin {ƒ} -\def\pound {£} \def\sterling{£} -\def\promille {‰} \def\permille{‰} - -% tex specific - -\ifdefined\textpercent - \let\percent \textpercent - \let\procent \textpercent - \let\ampersand \textampersand - \let\dollar \textdollar - \let\hash \texthash -\else - \def\percent {\textpercent} - \def\procent {\textpercent} - \def\ampersand {\textampersand} - \def\dollar {\textdollar} - \def\hash {\texthash} -\fi - -% from enco-mis: - -\unexpanded\def\fakepercent - {\mathematics{\normalsuperscript{\scriptscriptstyle0}\kern-.25\emwidth/\kern-.2\emwidth\normalsubscript{\scriptscriptstyle0}}} - -\unexpanded\def\fakeperthousand - {\mathematics{\normalsuperscript{\scriptscriptstyle0}\kern-.25\emwidth/\kern-.2\emwidth\normalsubscript{\scriptscriptstyle00}}} - -\unexpanded\def\fakepermine - {\dontleavehmode - \bgroup - \setbox\scratchbox\hbox - {\mathematics{+}}% - \hbox to \wd\scratchbox - {\hss - \mathematics{\normalsuperscript{\scriptscriptstyle-}\kern-.4\emwidth/\kern-.3\emwidth\normalsubscript{\scriptscriptstyle-}}% - \hss}% - \egroup} - -\def\permine{\fakepermine} - -% some more - -\def\hyphen {\softhyphen} -\def\compoundwordmark {\hyphen} -\def\cwm {\hyphen} -\def\nonbreakinghyphen{\hyphen} -\def\breakinghyphen {\hyphen\prewordbreak} - -% quotes - -\def\lowerleftsingleninequote {\quotesinglebase} -\def\lowerleftdoubleninequote {\quotedblbase} -\def\lowerrightsingleninequote {\quotesinglebase} -\def\lowerrightdoubleninequote {\quotedblbase} - -\def\upperleftsingleninequote {\quoteright} -\def\upperleftdoubleninequote {\quotedblright} -\def\upperrightsingleninequote {\quoteright} -\def\upperrightdoubleninequote {\quotedblright} - -\def\upperleftsinglesixquote {\quoteleft} -\def\upperleftdoublesixquote {\quotedblleft} -\def\upperrightsinglesixquote {\quoteleft} -\def\upperrightdoublesixquote {\quotedblleft} - -\def\leftsubguillemot {\guilsingleleft} -\def\rightsubguillemot {\guilsingleright} - -% left-overs (some day in private unicode space, so that we can roundtrip) - -\unexpanded\def\textblacksquare {\dontleavehmode\hbox{\vrule\s!width.3\s!em\s!height.4\s!em\s!depth-.1\s!em}} -\unexpanded\def\schwa {\hbox{\rotate[\c!rotation=180,\c!location=\v!high]{\hbox{e}}}} -\unexpanded\def\schwagrave {\buildtextgrave\schwa} - -\chardef\textcontrolspace"2423 - -\installcorenamespace{controlspace} - -% \unexpanded\def\fallbackcontrolspace % beware: non-matching widths -% {\hbox to \interwordspace{\hss\getglyph{LMTypewriter-Regular}\textcontrolspace\hss}% - -\unexpanded\def\fallbackcontrolspace % beware, current font, we also need to honor color - {\hbox to \interwordspace \bgroup - \hss - \ifcsname\??controlspace\number\interwordspace\endcsname - \csname\??controlspace\number\interwordspace\endcsname - \else - \enco_fast_control_space_define % only regular - \fi - \textcontrolspace - \hss - \egroup} - -\unexpanded\def\enco_fast_control_space_define - {\scratchdimen\interwordspace - \definedfont[LMTypewriter-Regular at \the\dimexpr\currentfontbodyscale\dimexpr\fontbody]% see font-sym.mkiv - \expandafter\glet\csname\??controlspace\number\scratchdimen\endcsname\lastrawfontcall} - -\unexpanded\def\normalcontrolspace - {\iffontchar\font\textcontrolspace - \textcontrolspace - \else - \fallbackcontrolspace - \fi} - -\let\textvisiblespace\normalcontrolspace - -\unexpanded\def\optionalcontrolspace - {\iffontchar\font\textcontrolspace - \textcontrolspace - \else - \asciispacechar % used for export ! - \fi} - -% \unexpanded\def\fastcontrolspace % no glyph resolving after first (use grouped) -% {\enco_fast_control_space} -% -% \def\enco_fast_control_space -% {\iffontchar\font\textcontrolspace -% \enco_fast_control_space_nop -% \else -% \enco_fast_control_space_yes -% \fi -% \enco_fast_control_space} -% -% \newbox\b_enco_control_space -% -% \def\enco_fast_control_space_nop -% {\let\enco_fast_control_space\textcontrolspace} -% -% \def\enco_fast_control_space_yes -% {\setbox\b_enco_control_space\fallbackcontrolspace -% \let\enco_fast_control_space\flushcontrolspacebox} -% -% \def\flushcontrolspacebox -% {\copy\b_enco_control_space} - -% a few defaults (\<whatever>{}), we really need the verbose \empty as it will be -% stringified .. anyhow, we define this at the lua end now but keep it here as a -% reference -% -% \defineaccent ^ {\empty} {\textcircumflex} -% \defineaccent ` {\empty} {\textgrave} -% \defineaccent ~ {\empty} {\texttilde} -% \defineaccent " {\empty} {\textdiaeresis} -% \defineaccent ' {\empty} {\textacute} -% \defineaccent . {\empty} {\textdotaccent} -% \defineaccent = {\empty} {\textmacron} -% \defineaccent c {\empty} {\textcedilla} -% \defineaccent H {\empty} {\texthungarumlaut} -% \defineaccent k {\empty} {\textogonek} -% \defineaccent r {\empty} {\textring} -% \defineaccent u {\empty} {\textbreve} -% \defineaccent v {\empty} {\textcaron} - -\clf_defineaccents % one time - -%D A smaller and bolder variant, more like the math and monospaced ones. - -\unexpanded\def\fakeunderscore - {\relax\ifmmode - \vrule\s!depth .12\fontexheight\mathstylefont\normalmathstyle\s!width \fontinterwordspace\mathstylefont\normalmathstyle\s!height\zeropoint\relax - \else - \dontleavehmode\hbox{\vrule\s!depth .12\fontexheight\font\s!width \fontinterwordspace\font\s!height\zeropoint}% - \fi} - -\unexpanded\def\fakeunderscores{\let\_\fakeunderscore} -\unexpanded\def\textunderscores{\let\_\textunderscore} - -\textunderscores - -\ifdefined\mathunderscore \else \let\mathunderscore\fakeunderscore \fi -\ifdefined\textunderscore \else \let\textunderscore\fakeunderscore \fi - -\unexpanded\def\normalunderscore{\ifmmode\mathunderscore\else\textunderscore\fi} - -\let\_\normalunderscore - -%D To be sorted out: - -\unexpanded\def\textminus - {\char \iffontchar\font"2012 "2012 % figuredash - \else\iffontchar\font"2013 "2013 % endash - \else\iffontchar\font"2212 "2212 % math minus - "002D % hyphen - \fi\fi\fi} - -\unexpanded\def\textplus - {\char"002B } % plus - -%D Moved from core-mis: - -\unexpanded\def\celsius #1{#1\mathematics{^\circ}C} -\unexpanded\def\inch {\mathematics{\prime\prime}} % was: \hbox{\rm\char125\relax} -\unexpanded\def\fraction#1#2{\mathematics{#1\over#2}} - -% \def\periodswidth {.5em} -% \def\periodsdefault{3} % was 5, but now it's like \unknown -% -% \unexpanded\def\periods -% {\dosingleempty\enco_periods} -% -% \def\doperiods[#1]% todo: also n=,width= or maybe just #1,#2 -% {\dontleavehmode -% \begingroup -% \scratchdimen\periodswidth -% \hbox to \iffirstargument#1\else\periodsdefault\fi \scratchdimen -% {\leaders\hbox to \scratchdimen{\hss\periodsymbol\hss}\hss}% -% \endgroup} -% -% better for export: -% -% \unexpanded\def\enco_periods[#1]% todo: also n=,width= or maybe just #1,#2 -% {\dontleavehmode -% \hbox\bgroup -% \setbox\scratchbox\hbox to \periodswidth{\hss\periodsymbol\hss}% -% \dorecurse{\iffirstargument#1\else\periodsdefault\fi}{\copy\scratchbox}% -% \egroup} -% -% \unexpanded\def\unknown -% {\periods\relax} % relax prevents lookahead for [] -% -% per request: - -%D \startbuffer -%D \startlines -%D x\periods x -%D x\periods[10]x -%D x\periods[n=10,symbol={,}]x -%D x\periods[n=4,symbol={!!},width=1em]x -%D x\periods[n=4,symbol={!!},width=fit]x -%D x\periods[n=4,symbol={!!},width=fit,distance=1em]x -%D x\unknown x -%D \stoplines -%D \stopbuffer -%D -%D \typbuffer \getbuffer - -\def\periodswidth {.5\emwidth} % downward compatible -\def\periodsdefault{3} % downward compatible - -\installcorenamespace {periods} - -\installsetuponlycommandhandler \??periods {periods} - -\setupperiods - [\c!n=\periodsdefault, - \c!width=\periodswidth, % can also be \v!fit - \c!distance=.25\emwidth, - \c!symbol=.] - -\unexpanded\def\periods - {\dontleavehmode - \hbox\bgroup - \doifelsenextoptional\enco_periods_yes\enco_periods_nop} - -\unexpanded\def\enco_periods_yes[#1]% - {\doifelseassignment{#1} - {\setupcurrentperiods[#1]% - \scratchcounter\periodsparameter\c!n} - {\doifelsenothing{#1} - {\scratchcounter\periodsparameter\c!n}% - {\scratchcounter#1}}% - \enco_periods_finish} - -\unexpanded\def\enco_periods_nop - {\scratchcounter\periodsparameter\c!n - \enco_periods_finish} - -\unexpanded\def\enco_periods_finish - {\edef\p_width{\periodsparameter\c!width}% - \ifx\p_width\v!fit - \enco_periods_finish_fit - \else - \enco_periods_finish_width - \fi - \egroup} - -\unexpanded\def\enco_periods_finish_width - {\setbox\scratchbox\hbox to \p_width - {\hss\periodsparameter\c!symbol\hss}% - \dorecurse\scratchcounter{\copy\scratchbox}} - -\unexpanded\def\enco_periods_finish_fit - {\edef\p_symbol{\periodsparameter\c!symbol}% - \scratchdistance\periodsparameter\c!distance - \hskip\scratchdistance - \dorecurse\scratchcounter{\p_symbol\hskip\scratchdistance}} - -\unexpanded\def\unknown - {\dontleavehmode - \hbox\bgroup - \enco_periods_nop} - -%D Left-overs: - -\appendtoks - \let\buildtextaccent\secondoftwoarguments -\to \everysimplifycommands - -\protect \endinput |