diff options
Diffstat (limited to 'Master/texmf-dist/tex/context/base/mkiv/grph-inc.mkiv')
-rw-r--r-- | Master/texmf-dist/tex/context/base/mkiv/grph-inc.mkiv | 109 |
1 files changed, 66 insertions, 43 deletions
diff --git a/Master/texmf-dist/tex/context/base/mkiv/grph-inc.mkiv b/Master/texmf-dist/tex/context/base/mkiv/grph-inc.mkiv index 20e7c11a61b..578bad1d067 100644 --- a/Master/texmf-dist/tex/context/base/mkiv/grph-inc.mkiv +++ b/Master/texmf-dist/tex/context/base/mkiv/grph-inc.mkiv @@ -20,11 +20,10 @@ \writestatus{loading}{ConTeXt Graphic Macros / Figure Inclusion} -\ifcase\contextlmtxmode - \registerctxluafile{grph-inc}{} -\else - \registerctxluafile{grph-img}{} - \registerctxluafile{grph-inc}{} +\registerctxluafile{grph-img}{} +\registerctxluafile{grph-inc}{} + +\ifcase\contextlmtxmode \else \registerctxluafile{grph-bmp}{} \registerctxluafile{grph-chk}{} \fi @@ -116,6 +115,7 @@ \c!userpassword =, \c!ownerpassword =, \c!compact =, + \c!cmyk =, ] %D Defining figures. @@ -197,19 +197,39 @@ % label file settings % label file parent +% \def\grph_include_use[#1][#2][#3][#4]% +% {\doifelsenothing{#1} +% {\doifsomething{#2} +% {\doifelseassignment{#3} +% {\grph_include_use_indeed{#2}{#2}{#3}{#4}} +% {\grph_include_use_indeed{#2}{#2}\empty{#4}}}} +% {\doifelsenothing{#2} +% {\doifelseassignment{#3} +% {\grph_include_use_indeed{#1}{#1}\empty{#3}} +% {\grph_include_use_indeed{#1}{#1}{#3}{#4}}} +% {\doifelseassignment{#3} +% {\grph_include_use_indeed{#1}{#2}\empty{#3}} +% {\grph_include_use_indeed{#1}{#2}{#3}{#4}}}}} + \def\grph_include_use[#1][#2][#3][#4]% {\doifelsenothing{#1} {\doifsomething{#2} - {\doifelseassignment{#3} - {\grph_include_use_indeed{#2}{#2}{#3}{#4}} - {\grph_include_use_indeed{#2}{#2}\empty{#4}}}} + {\ifcondition\validassignment{#3}% + \grph_include_use_indeed{#2}{#2}{#3}{#4}% + \else + \grph_include_use_indeed{#2}{#2}\empty{#4}% + \fi}}% {\doifelsenothing{#2} - {\doifelseassignment{#3} - {\grph_include_use_indeed{#1}{#1}\empty{#3}} - {\grph_include_use_indeed{#1}{#1}{#3}{#4}}} - {\doifelseassignment{#3} - {\grph_include_use_indeed{#1}{#2}\empty{#3}} - {\grph_include_use_indeed{#1}{#2}{#3}{#4}}}}} + {\ifcondition\validassignment{#3}% + \grph_include_use_indeed{#1}{#1}\empty{#3}% + \else + \grph_include_use_indeed{#1}{#1}{#3}{#4}% + \fi} + {\ifcondition\validassignment{#3}% + \grph_include_use_indeed{#1}{#2}\empty{#3} + \else + \grph_include_use_indeed{#1}{#2}{#3}{#4}% + \fi}}} \def\grph_include_use_indeed#1#2#3#4% {\dodoglobal\setvalue{\??externalfigureinstance#1}{\grph_include_setup{#2}{#3}{#4}}% @@ -221,8 +241,9 @@ {\dotripleempty\grph_include_figure} \def\grph_include_figure[#1][#2][#3]% - {\docheckassignment{#2}% - \ifassignment +% {\docheckassignment{#2}% +% \ifassignment + {\ifcondition\validassignment{#2}% \grph_include_place[#1][][#2]% \else \grph_include_place[#1][#2][#3]% @@ -301,8 +322,9 @@ % \edef\p_grph_include_label{#1}% \let\p_grph_include_name\p_grph_include_label - \docheckassignment{#2}% - \ifassignment + % \docheckassignment{#2}% + % \ifassignment + \ifcondition\validassignment{#2}% % [label] [settings] \let\p_grph_include_parent\p_grph_include_label \grph_include_place_inherit @@ -346,6 +368,7 @@ conversion {\externalfigureparameter\c!conversion}% resolution {\externalfigureparameter\c!resolution}% color {\externalfigureparameter\c!color}% unprocessed raw key + cmyk {\externalfigureparameter\c!cmyk}% kind of special arguments {\externalfigureparameter\c!arguments}% used for converters repeat {\externalfigureparameter\c!repeat}% transform {\externalfigureparameter\c!transform}% @@ -353,10 +376,10 @@ userpassword {\externalfigureparameter\c!userpassword}% ownerpassword{\externalfigureparameter\c!ownerpassword}% \ifx\p_width\empty \else - width \dimexpr\p_width\relax + width \dimexpr\p_width\relax \fi \ifx\p_height\empty \else - height \dimexpr\p_height\relax + height \dimexpr\p_height\relax \fi }%\relax \clf_figure_identify @@ -485,29 +508,6 @@ \c!height =\externalfigureparameter\c!height, \c!lines =\externalfigureparameter\c!lines] -% % this will become: -% -% \unexpanded\def\doscalefigure % used at lua end -% {\global\setbox\foundexternalfigure\vbox\bgroup -% \bgroup -% \let\currentscale\currentexternalfigure -% \let\scaleparameter\externalfigureparameter -% \dowithnextboxcs\grph_scale_finish\hbox{\dowithfigure{\box\foundexternalfigure}}% -% \egroup} -% -% % or even better: -% -% \def\grph_scale_inherited#1% -% {\bgroup -% \expandafter\let\expandafter\currentscale \csname current#1\endcsname -% \expandafter\let\expandafter\scaleparameter\csname #1parameter\endcsname -% \dowithnextboxcs\grph_scale_finish\hbox} -% -% \unexpanded\def\doscalefigure % used at lua end -% {\global\setbox\foundexternalfigure\vbox\bgroup -% \grph_scale_inherited{externalfigure}{\dowithfigure{\box\foundexternalfigure}}% -% \egroup} - %D You can register additional suffixes with the following command: %D %D \starttyping @@ -904,6 +904,25 @@ \unexpanded\def\overlayfigure#1% {\externalfigure[#1][\c!width=\d_overlay_width,\c!height=\d_overlay_height]} +% Experimental (will become cleaner): + +\ifcase\contextlmtxmode \else + + \unexpanded\def\includesvgfile {\dontleavehmode\begingroup\dodoubleempty\grph_include_svg_file} + \unexpanded\def\includesvgbuffer{\dontleavehmode\begingroup\dodoubleempty\grph_include_svg_buffer} + + \def\grph_include_svg_file[#1][#2]% + {\getdummyparameters[\c!offset=\zeropoint,#2]% + \clf_includesvgfile{#1}\dimexpr\dummyparameter\c!offset\relax + \endgroup} + + \def\grph_include_svg_buffer[#1][#2]% + {\getdummyparameters[\c!offset=\zeropoint,#2]% + \clf_includesvgbuffer{#1}\dimexpr\dummyparameter\c!offset\relax + \endgroup} + +\fi + % Bonus: \useexternalfigure @@ -961,6 +980,10 @@ \unexpanded\def\inlinefigure[#1]{\dontleavehmode\sbox{\externalfigure[#1][\v!inline]}} +%D Needs to be done global: + +\definelayer[epdfcontent] + \protect \endinput %D Moved here because this already old code is nowhere documents (so I need to check |