summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/l3kernel/l3pdfmode.def
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex/latex/l3kernel/l3pdfmode.def')
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/l3pdfmode.def690
1 files changed, 0 insertions, 690 deletions
diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3pdfmode.def b/Master/texmf-dist/tex/latex/l3kernel/l3pdfmode.def
deleted file mode 100644
index 3afb54a6b05..00000000000
--- a/Master/texmf-dist/tex/latex/l3kernel/l3pdfmode.def
+++ /dev/null
@@ -1,690 +0,0 @@
-%%
-%% This is file `l3pdfmode.def',
-%% generated with the docstrip utility.
-%%
-%% The original source files were:
-%%
-%% l3drivers.dtx (with options: `package,pdfmode')
-%% l3drivers-basics.dtx (with options: `package,pdfmode')
-%% l3drivers-color.dtx (with options: `package,pdfmode')
-%% l3drivers-box.dtx (with options: `package,pdfmode')
-%% l3drivers-draw.dtx (with options: `package,pdfmode')
-%% l3drivers-graphics.dtx (with options: `package,pdfmode')
-%% l3drivers-pdf.dtx (with options: `package,pdfmode')
-%%
-%% Copyright (C) 1990-2019 The LaTeX3 Project
-%%
-%% It may be distributed and/or modified under the conditions of
-%% the LaTeX Project Public License (LPPL), either version 1.3c of
-%% this license or (at your option) any later version. The latest
-%% version of this license is in the file:
-%%
-%% https://www.latex-project.org/lppl.txt
-%%
-%% This file is part of the "l3kernel bundle" (The Work in LPPL)
-%% and all files in that bundle must be distributed together.
-%%
-%% File: l3drivers.dtx
-%% File: l3drivers-basics.dtx
-\ProvidesExplFile
- {l3pdfmode.def}{2019-04-06}{}
- {L3 Experimental driver: PDF mode}
-\cs_new_eq:NN \__driver_literal:e \tex_special:D
-\cs_new_protected:Npn \__driver_literal:n #1
- { \__driver_literal:e { \exp_not:n {#1} } }
-\cs_generate_variant:Nn \__driver_literal:n { x }
-\box_new:N \l__driver_internal_box
-\cs_new_protected:Npx \__driver_literal_pdf:n #1
- {
- \cs_if_exist:NTF \tex_pdfextension:D
- { \tex_pdfextension:D literal }
- { \tex_pdfliteral:D }
- { \exp_not:N \exp_not:n {#1} }
- }
-\cs_generate_variant:Nn \__driver_literal_pdf:n { x }
-\cs_new_protected:Npx \__driver_scope_begin:
- {
- \cs_if_exist:NTF \tex_pdfextension:D
- { \tex_pdfextension:D save \scan_stop: }
- { \tex_pdfsave:D }
- }
-\cs_new_protected:Npx \__driver_scope_end:
- {
- \cs_if_exist:NTF \tex_pdfextension:D
- { \tex_pdfextension:D restore \scan_stop: }
- { \tex_pdfrestore:D }
- }
-\cs_new_protected:Npx \__driver_matrix:n #1
- {
- \cs_if_exist:NTF \tex_pdfextension:D
- { \tex_pdfextension:D setmatrix }
- { \tex_pdfsetmatrix:D }
- { \exp_not:N \exp_not:n {#1} }
- }
-\cs_generate_variant:Nn \__driver_matrix:n { x }
-%% File: l3drivers-color.dtx
-\cs_new_protected:Npn \driver_color_pickup:N #1 { }
-\AtBeginDocument
- {
- \@ifpackageloaded { color }
- {
- \cs_set_protected:Npn \driver_color_pickup:N #1
- {
- \exp_last_unbraced:Nx \__driver_color_pickup:w
- { \current@color } ~ 0 ~ 0 ~ 0 \q_stop #1
- }
- \cs_new_protected:Npn \__driver_color_pickup:w
- #1 ~ #2 ~ #3 ~ #4 ~ #5 ~ #6 \q_stop #7
- {
- \str_if_eq:nnTF {#2} { g }
- { \tl_set:Nn #7 { gray ~ #1 } }
- {
- \str_if_eq:nnTF {#4} { rg }
- { \tl_set:Nn #7 { rgb ~ #1 ~ #2 ~ #3 } }
- {
- \str_if_eq:nnTF {#5} { k }
- { \tl_set:Nn #7 { cmyk ~ #1 ~ #2 ~ #3 ~ #4 } }
- {
- \str_if_eq:nnTF {#2} { cs }
- {
- \tl_set:Nx #7 { spot ~ \use_none:n #1 ~ #5 }
- }
- {
- \tl_set:Nn #7 { gray ~ 0 }
- }
- }
- }
- }
- }
- }
- { }
- }
-\int_new:N \l__driver_color_stack_int
-\cs_new_protected:Npn \driver_color_cmyk:nnnn #1#2#3#4
- {
- \use:x
- {
- \__driver_color_cmyk:nnnn
- { \fp_eval:n {#1} }
- { \fp_eval:n {#2} }
- { \fp_eval:n {#3} }
- { \fp_eval:n {#4} }
- }
- }
-\cs_new_protected:Npn \__driver_color_cmyk:nnnn #1#2#3#4
- {
- \__driver_color_select:n
- { #1 ~ #2 ~ #3 ~ #4 ~ k ~ #1 ~ #2 ~ #3 ~ #4 ~ K }
- }
-\cs_new_protected:Npn \driver_color_gray:n #1
- { \exp_args:Nx \__driver_color_gray:n { \fp_eval:n {#1} } }
-\cs_new_protected:Npn \__driver_color_gray:n #1
- { \__driver_color_select:n { #1 ~ g ~ #1 ~ G } }
-\cs_new_protected:Npn \driver_color_rgb:nnn #1#2#3
- {
- \use:x
- {
- \__driver_color_rgb:nnn
- { \fp_eval:n {#1} }
- { \fp_eval:n {#2} }
- { \fp_eval:n {#3} }
- }
- }
-\cs_new_protected:Npn \__driver_color_rgb:nnn #1#2#3
- { \__driver_color_select:n { #1 ~ #2 ~ #3 ~ rg ~ #1 ~ #2 ~ #3 ~ RG } }
-\cs_new_protected:Npn \driver_color_spot:nn #1#2
- { \__driver_color_select:n { /#1 ~ cs ~ /#1 ~ CS ~ #2 ~ sc ~ #2 ~ SC } }
-\cs_new_protected:Npx \__driver_color_select:n #1
- {
- \cs_if_exist:NTF \tex_pdfextension:D
- { \tex_pdfextension:D colorstack }
- { \tex_pdfcolorstack:D }
- \exp_not:N \l__driver_color_stack_int push {#1}
- \group_insert_after:N \exp_not:N \__driver_color_reset:
- }
-\cs_generate_variant:Nn \__driver_color_select:n { x }
-\cs_new_protected:Npx \__driver_color_reset:
- {
- \cs_if_exist:NTF \tex_pdfextension:D
- { \tex_pdfextension:D colorstack }
- { \tex_pdfcolorstack:D }
- \exp_not:N \l__driver_color_stack_int pop \scan_stop:
- }
-%% File: l3drivers-box.dtx
-\cs_new_protected:Npn \driver_box_use_clip:N #1
- {
- \__driver_scope_begin:
- \__driver_literal_pdf:x
- {
- 0~
- \dim_to_decimal_in_bp:n { -\box_dp:N #1 } ~
- \dim_to_decimal_in_bp:n { \box_wd:N #1 } ~
- \dim_to_decimal_in_bp:n { \box_ht:N #1 + \box_dp:N #1 } ~
- re~W~n
- }
- \hbox_overlap_right:n { \box_use:N #1 }
- \__driver_scope_end:
- \skip_horizontal:n { \box_wd:N #1 }
- }
-\cs_new_protected:Npn \driver_box_use_rotate:Nn #1#2
- { \exp_args:NNf \__driver_box_use_rotate:Nn #1 { \fp_eval:n {#2} } }
-\cs_new_protected:Npn \__driver_box_use_rotate:Nn #1#2
- {
- \__driver_scope_begin:
- \box_set_wd:Nn #1 { 0pt }
- \fp_set:Nn \l__driver_cos_fp { round ( cosd ( #2 ) , 5 ) }
- \fp_compare:nNnT \l__driver_cos_fp = \c_zero_fp
- { \fp_zero:N \l__driver_cos_fp }
- \fp_set:Nn \l__driver_sin_fp { round ( sind ( #2 ) , 5 ) }
- \__driver_matrix:x
- {
- \fp_use:N \l__driver_cos_fp \c_space_tl
- \fp_compare:nNnTF \l__driver_sin_fp = \c_zero_fp
- { 0~0 }
- {
- \fp_use:N \l__driver_sin_fp
- \c_space_tl
- \fp_eval:n { -\l__driver_sin_fp }
- }
- \c_space_tl
- \fp_use:N \l__driver_cos_fp
- }
- \box_use:N #1
- \__driver_scope_end:
- }
-\fp_new:N \l__driver_cos_fp
-\fp_new:N \l__driver_sin_fp
-\cs_new_protected:Npn \driver_box_use_scale:Nnn #1#2#3
- {
- \__driver_scope_begin:
- \__driver_matrix:x
- {
- \fp_eval:n { round ( #2 , 5 ) } ~
- 0~0~
- \fp_eval:n { round ( #3 , 5 ) }
- }
- \hbox_overlap_right:n { \box_use:N #1 }
- \__driver_scope_end:
- }
-%% File: l3drivers-draw.dtx
-\cs_new_eq:NN \__driver_draw_literal:n \__driver_literal_pdf:n
-\cs_generate_variant:Nn \__driver_draw_literal:n { x }
-\cs_new_protected:Npn \driver_draw_begin:
- { \driver_draw_scope_begin: }
-\cs_new_protected:Npn \driver_draw_end:
- { \driver_draw_scope_end: }
-\cs_new_eq:NN \driver_draw_scope_begin: \__driver_scope_begin:
-\cs_new_eq:NN \driver_draw_scope_end: \__driver_scope_end:
-\cs_new_protected:Npn \driver_draw_moveto:nn #1#2
- {
- \__driver_draw_literal:x
- { \dim_to_decimal_in_bp:n {#1} ~ \dim_to_decimal_in_bp:n {#2} ~ m }
- }
-\cs_new_protected:Npn \driver_draw_lineto:nn #1#2
- {
- \__driver_draw_literal:x
- { \dim_to_decimal_in_bp:n {#1} ~ \dim_to_decimal_in_bp:n {#2} ~ l }
- }
-\cs_new_protected:Npn \driver_draw_curveto:nnnnnn #1#2#3#4#5#6
- {
- \__driver_draw_literal:x
- {
- \dim_to_decimal_in_bp:n {#1} ~ \dim_to_decimal_in_bp:n {#2} ~
- \dim_to_decimal_in_bp:n {#3} ~ \dim_to_decimal_in_bp:n {#4} ~
- \dim_to_decimal_in_bp:n {#5} ~ \dim_to_decimal_in_bp:n {#6} ~
- c
- }
- }
-\cs_new_protected:Npn \driver_draw_rectangle:nnnn #1#2#3#4
- {
- \__driver_draw_literal:x
- {
- \dim_to_decimal_in_bp:n {#1} ~ \dim_to_decimal_in_bp:n {#2} ~
- \dim_to_decimal_in_bp:n {#3} ~ \dim_to_decimal_in_bp:n {#4} ~
- re
- }
- }
-\cs_new_protected:Npn \driver_draw_evenodd_rule:
- { \bool_gset_true:N \g__driver_draw_eor_bool }
-\cs_new_protected:Npn \driver_draw_nonzero_rule:
- { \bool_gset_false:N \g__driver_draw_eor_bool }
-\bool_new:N \g__driver_draw_eor_bool
-\cs_new_protected:Npn \driver_draw_closepath:
- { \__driver_draw_literal:n { h } }
-\cs_new_protected:Npn \driver_draw_stroke:
- { \__driver_draw_literal:n { S } }
-\cs_new_protected:Npn \driver_draw_closestroke:
- { \__driver_draw_literal:n { s } }
-\cs_new_protected:Npn \driver_draw_fill:
- {
- \__driver_draw_literal:x
- { f \bool_if:NT \g__driver_draw_eor_bool * }
- }
-\cs_new_protected:Npn \driver_draw_fillstroke:
- {
- \__driver_draw_literal:x
- { B \bool_if:NT \g__driver_draw_eor_bool * }
- }
-\cs_new_protected:Npn \driver_draw_clip:
- {
- \__driver_draw_literal:x
- { W \bool_if:NT \g__driver_draw_eor_bool * }
- }
-\cs_new_protected:Npn \driver_draw_discardpath:
- { \__driver_draw_literal:n { n } }
-\cs_new_protected:Npn \driver_draw_dash_pattern:nn #1#2
- {
- \__driver_draw_literal:x
- {
- [
- \exp_args:Nf \use:n
- { \clist_map_function:nN {#1} \__driver_draw_dash:n }
- ] ~
- \dim_to_decimal_in_bp:n {#2} ~ d
- }
- }
-\cs_new:Npn \__driver_draw_dash:n #1
- { ~ \dim_to_decimal_in_bp:n {#1} }
-\cs_new_protected:Npn \driver_draw_linewidth:n #1
- {
- \__driver_draw_literal:x
- { \dim_to_decimal_in_bp:n {#1} ~ w }
- }
-\cs_new_protected:Npn \driver_draw_miterlimit:n #1
- { \__driver_draw_literal:x { \fp_eval:n {#1} ~ M } }
-\cs_new_protected:Npn \driver_draw_cap_butt:
- { \__driver_draw_literal:n { 0 ~ J } }
-\cs_new_protected:Npn \driver_draw_cap_round:
- { \__driver_draw_literal:n { 1 ~ J } }
-\cs_new_protected:Npn \driver_draw_cap_rectangle:
- { \__driver_draw_literal:n { 2 ~ J } }
-\cs_new_protected:Npn \driver_draw_join_miter:
- { \__driver_draw_literal:n { 0 ~ j } }
-\cs_new_protected:Npn \driver_draw_join_round:
- { \__driver_draw_literal:n { 1 ~ j } }
-\cs_new_protected:Npn \driver_draw_join_bevel:
- { \__driver_draw_literal:n { 2 ~ j } }
-\cs_new_protected:Npn \driver_draw_color_fill_cmyk:nnnn #1#2#3#4
- {
- \__driver_color_fill_select:x
- {
- \fp_eval:n {#1} ~ \fp_eval:n {#2} ~
- \fp_eval:n {#3} ~ \fp_eval:n {#4} ~
- k
- }
- }
-\cs_new_protected:Npn \driver_draw_color_stroke_cmyk:nnnn #1#2#3#4
- {
- \__driver_color_select:x
- {
- \fp_eval:n {#1} ~ \fp_eval:n {#2} ~
- \fp_eval:n {#3} ~ \fp_eval:n {#4} ~
- k
- }
- }
-\cs_new_protected:Npn \driver_draw_color_fill_gray:n #1
- { \__driver_color_fill_select:x { \fp_eval:n {#1} ~ g } }
-\cs_new_protected:Npn \driver_draw_color_stroke_gray:n #1
- { \__driver_color_select:x { \fp_eval:n {#1} ~ G } }
-\cs_new_protected:Npn \driver_draw_color_fill_rgb:nnn #1#2#3
- {
- \__driver_color_fill_select:x
- { \fp_eval:n {#1} ~ \fp_eval:n {#2} ~ \fp_eval:n {#3} ~ rg }
- }
-\cs_new_protected:Npn \driver_draw_color_stroke_rgb:nnn #1#2#3
- {
- \__driver_color_select:x
- { \fp_eval:n {#1} ~ \fp_eval:n {#2} ~ \fp_eval:n {#3} ~ RG }
- }
-\cs_new_eq:NN \__driver_color_fill_select:n \__driver_color_select:n
-\cs_generate_variant:Nn \__driver_color_fill_select:n { x }
-\cs_new_protected:Npn \driver_draw_cm:nnnn #1#2#3#4
- {
- \__driver_matrix:x
- {
- \fp_eval:n {#1} ~ \fp_eval:n {#2} ~
- \fp_eval:n {#3} ~ \fp_eval:n {#4}
- }
- }
-\cs_new_protected:Npn \driver_draw_box_use:Nnnnn #1#2#3#4#5
- {
- \__driver_scope_begin:
- \driver_draw_cm:nnnn {#2} {#3} {#4} {#5}
- \hbox_overlap_right:n { \box_use:N #1 }
- \__driver_scope_end:
- }
-%% File: l3drivers-graphics.dtx
-\tl_new:N \l__driver_graphics_attr_tl
-\cs_new_protected:Npn \driver_graphics_getbb_jpg:n #1
- {
- \int_zero:N \l_graphics_page_int
- \tl_clear:N \l_graphics_pagebox_tl
- \tl_set:Nx \l__driver_graphics_attr_tl
- {
- \tl_if_empty:NF \l_graphics_decodearray_tl
- { :D \l_graphics_decodearray_tl }
- \bool_if:NT \l_graphics_interpolate_bool
- { :I }
- }
- \tl_clear:N \l__driver_graphics_attr_tl
- \__driver_graphics_getbb_auxi:n {#1}
- }
-\cs_new_eq:NN \driver_graphics_getbb_png:n \driver_graphics_getbb_jpg:n
-\cs_new_protected:Npn \driver_graphics_getbb_pdf:n #1
- {
- \tl_clear:N \l_graphics_decodearray_tl
- \bool_set_false:N \l_graphics_interpolate_bool
- \tl_set:Nx \l__driver_graphics_attr_tl
- {
- : \l_graphics_pagebox_tl
- \int_compare:nNnT \l_graphics_page_int > 1
- { :P \int_use:N \l_graphics_page_int }
- }
- \__driver_graphics_getbb_auxi:n {#1}
- }
-\cs_new_protected:Npn \__driver_graphics_getbb_auxi:n #1
- {
- \graphics_bb_restore:xF { #1 \l__driver_graphics_attr_tl }
- { \__driver_graphics_getbb_auxii:n {#1} }
- }
-\cs_new_protected:Npn \__driver_graphics_getbb_auxii:n #1
- {
- \tex_immediate:D \tex_pdfximage:D
- \bool_lazy_or:nnT
- { \l_graphics_interpolate_bool }
- { ! \tl_if_empty_p:N \l_graphics_decodearray_tl }
- {
- attr ~
- {
- \tl_if_empty:NF \l_graphics_decodearray_tl
- { /Decode~[ \l_graphics_decodearray_tl ] }
- \bool_if:NT \l_graphics_interpolate_bool
- { /Interpolate~true }
- }
- }
- \int_compare:nNnT \l_graphics_page_int > 0
- { page ~ \int_use:N \l_graphics_page_int }
- \tl_if_empty:NF \l_graphics_pagebox_tl
- { \l_graphics_pagebox_tl }
- {#1}
- \hbox_set:Nn \l__driver_internal_box
- { \tex_pdfrefximage:D \tex_pdflastximage:D }
- \dim_set:Nn \l_graphics_urx_dim { \box_wd:N \l__driver_internal_box }
- \dim_set:Nn \l_graphics_ury_dim { \box_ht:N \l__driver_internal_box }
- \int_const:cn { c__driver_graphics_ #1 \l__driver_graphics_attr_tl _int }
- { \tex_the:D \tex_pdflastximage:D }
- \graphics_bb_save:x { #1 \l__driver_graphics_attr_tl }
- }
-\cs_new_protected:Npn \driver_graphics_include_jpg:n #1
- {
- \tex_pdfrefximage:D
- \int_use:c { c__driver_graphics_ #1 \l__driver_graphics_attr_tl _int }
- }
-\cs_new_eq:NN \driver_graphics_include_pdf:n \driver_graphics_include_jpg:n
-\cs_new_eq:NN \driver_graphics_include_png:n \driver_graphics_include_jpg:n
-\sys_if_shell:T
- {
- \str_new:N \l__driver_dir_str
- \str_new:N \l__driver_name_str
- \str_new:N \l__driver_ext_str
- \cs_new_protected:Npn \driver_graphics_getbb_eps:n #1
- {
- \file_parse_full_name:nNNN {#1}
- \l__driver_dir_str
- \l__driver_name_str
- \l__driver_ext_str
- \exp_args:Nx \__driver_graphics_getbb_eps:nn
- {
- \l__driver_name_str - \str_tail:N \l__driver_ext_str
- -converted-to.pdf
- }
- {#1}
- }
- \cs_new_protected:Npn \__driver_graphics_getbb_eps:nn #1#2
- {
- \file_compare_timestamp:nNnT {#2} > {#1}
- {
- \sys_shell_now:n
- { repstopdf ~ #2 ~ #1 }
- }
- \tl_set:Nn \l_graphics_name_tl {#1}
- \driver_graphics_getbb_pdf:n {#1}
- }
- \cs_new_protected:Npn \driver_graphics_include_eps:n #1
- {
- \file_parse_full_name:nNNN {#1}
- \l__driver_dir_str \l__driver_name_str \l__driver_ext_str
- \exp_args:Nx \driver_graphics_include_pdf:n
- {
- \l__driver_name_str - \str_tail:N \l__driver_ext_str
- -converted-to.pdf
- }
- }
- }
-%% File: l3drivers-pdf.dtx
-\cs_new_protected:Npx \driver_pdf_annotation:nnnn #1#2#3#4
- {
- \cs_if_exist:NTF \tex_pdfextension:D
- { \tex_pdfextension:D annot ~ }
- { \tex_pdfannot:D }
- width ~ \exp_not:N \dim_eval:n {#1} ~
- height ~ \exp_not:N \dim_eval:n {#2} ~
- depth ~ \exp_not:N \dim_eval:n {#3} ~
- {#4}
- }
-\cs_new:Npx \driver_pdf_annotation_last:
- {
- \exp_not:N \tex_the:D
- \cs_if_exist:NTF \tex_pdffeedback:D
- { \exp_not:N \tex_pdffeedback:D annot ~ }
- { \exp_not:N \tex_pdflastannot:D }
- 0 ~ R
- }
-\cs_new_protected:Npn \driver_pdf_link_begin_goto:nnw #1#2
- { \__driver_pdf_link_begin:nnnw {#1} { goto~name } {#2} }
-\cs_new_protected:Npn \driver_pdf_link_begin_user:nnw #1#2
- { \__driver_pdf_link_begin:nnnw {#1} { user } {#2} }
-\cs_new_protected:Npx \__driver_pdf_link_begin:nnnw #1#2#3
- {
- \cs_if_exist:NTF \tex_pdfextension:D
- { \tex_pdfextension:D startlink ~ }
- { \tex_pdfstartlink:D }
- attr {#1}
- #2 {#3}
- }
-\cs_new_protected:Npx \driver_pdf_link_end:
- {
- \cs_if_exist:NTF \tex_pdfextension:D
- { \tex_pdfextension:D endlink \scan_stop: }
- { \tex_pdfendlink:D }
- }
-\cs_new:Npx \driver_pdf_link_last:
- {
- \exp_not:N \tex_the:D
- \cs_if_exist:NTF \tex_pdffeedback:D
- { \exp_not:N \tex_pdffeedback:D lastlink \scan_stop: }
- { \exp_not:N \tex_pdflastlink:D }
- ~ 0 ~ R
- }
-\cs_new_protected:Npx \driver_pdf_link_margin:n #1
- {
- \cs_if_exist:NTF \tex_pdfvariable:D
- { \exp_not:N \tex_pdfvariable:D linkmargin }
- { \exp_not:N \tex_pdflinkmargin:D }
- \exp_not:N \dim_eval:n {#1} \scan_stop:
- }
-\cs_new_protected:Npx \driver_pdf_destination:nn #1#2
- {
- \cs_if_exist:NTF \tex_pdfextension:D
- { \exp_not:N \tex_pdfextension:D dest ~ }
- { \exp_not:N \tex_pdfdest:D }
- name {#1}
- \exp_not:N \str_case:nnF {#2}
- {
- { xyz } { xyz }
- { fit } { fit }
- { fitb } { fitb }
- { fitbh } { fitbh }
- { fitbv } { fitbv }
- { fith } { fith }
- { fitv } { fitv }
- }
- { xyz ~ zoom \exp_not:N \fp_eval:n { #2 * 10 } }
- \scan_stop:
- }
-\cs_new_protected:Npx \driver_pdf_destination_rectangle:nn #1#2
- {
- \group_begin:
- \hbox_set:Nn \l__driver_internal_box {#2}
- \cs_if_exist:NTF \tex_pdfextension:D
- { \exp_not:N \tex_pdfextension:D dest ~ }
- { \exp_not:N \tex_pdfdest:D }
- name {#1}
- fitr ~
- width \exp_not:N \box_wd:N \l__driver_internal_box
- height \exp_not:N \box_ht:N \l__driver_internal_box
- depth \exp_not:N \box_dp:N \l__driver_internal_box
- \box_use:N \l__driver_internal_box
- \group_end:
- }
-\cs_new_protected:Npx \driver_pdf_catalog_gput:nn #1#2
- {
- \cs_if_exist:NTF \tex_pdfextension:D
- { \tex_pdfextension:D catalog }
- { \tex_pdfcatalog:D }
- { / #1 ~ #2 }
- }
-\cs_new_protected:Npx \driver_pdf_info_gput:nn #1#2
- {
- \cs_if_exist:NTF \tex_pdfextension:D
- { \tex_pdfextension:D info }
- { \tex_pdfinfo:D }
- { / #1 ~ #2 }
- }
-\prop_new:N \g__driver_pdf_object_prop
-\group_begin:
- \cs_set_protected:Npn \__driver_tmp:w #1#2
- {
- \cs_new_protected:Npx \driver_pdf_object_new:nn ##1##2
- {
- #1 reserveobjnum ~
- \int_const:cn
- { c__driver_pdf_object_ \exp_not:N \tl_to_str:n {##1} _int }
- {#2}
- \prop_gput:Nnn \exp_not:N \g__driver_pdf_object_prop {##1} {##2}
- }
- }
- \cs_if_exist:NTF \tex_pdfextension:D
- {
- \__driver_tmp:w
- { \tex_pdfextension:D obj ~ }
- { \exp_not:N \tex_pdffeedback:D lastobj }
- }
- { \__driver_tmp:w { \tex_pdfobj:D } { \tex_pdflastobj:D } }
-\group_end:
-\cs_new:Npn \driver_pdf_object_ref:n #1
- { \int_use:c { c__driver_pdf_object_ \tl_to_str:n {#1} _int } ~ 0 ~ R }
-\group_begin:
- \cs_set_protected:Npn \__driver_tmp:w #1
- {
- \cs_new_protected:Npn \driver_pdf_object_write:nn ##1##2
- {
- \tex_immediate:D #1 useobjnum ~
- \int_use:c
- { c__driver_pdf_object_ \tl_to_str:n {##1} _int }
- \str_case_e:nn
- { \prop_item:Nn \g__driver_pdf_object_prop {##1} }
- {
- { array } { { [ ~ \exp_not:n {##2} ~ ] } }
- { dict } { { << ~ \exp_not:n {##2} ~ >> } }
- { fstream }
- {
- stream ~ attr ~ { \__driver_exp_not_i:nn ##2 } ~
- file ~ { \__driver_exp_not_ii:nn ##2 }
- }
- { stream }
- {
- stream ~ attr ~ { \__driver_exp_not_i:nn ##2 } ~
- { \__driver_exp_not_ii:nn ##2 }
- }
- }
- }
- }
- \cs_if_exist:NTF \tex_pdfextension:D
- { \__driver_tmp:w { \tex_pdfextension:D obj ~ } }
- { \__driver_tmp:w { \tex_pdfobj:D } }
-\group_end:
-\cs_new:Npn \__driver_exp_not_i:nn #1#2 { \exp_not:n {#1} }
-\cs_new:Npn \__driver_exp_not_ii:nn #1#2 { \exp_not:n {#2} }
-\cs_new_protected:Npx \driver_pdf_compresslevel:n #1
- {
- \exp_not:N \tex_global:D
- \cs_if_exist:NTF \tex_pdfcompresslevel:D
- { \tex_pdfcompresslevel:D }
- { \tex_pdfvariable:D compresslevel }
- \exp_not:N \int_value:w \exp_not:N \int_eval:n {#1} \scan_stop:
- }
-\cs_new_protected:Npn \driver_pdf_compress_objects:n #1
- {
- \str_if_eq:nnTF {#1} { true }
- { \__driver_pdf_objcompresslevel:n { 2 } }
- { \__driver_pdf_objcompresslevel:n { 0 } }
- }
-\cs_new_protected:Npx \__driver_pdf_objcompresslevel:n #1
- {
- \exp_not:N \tex_global:D
- \cs_if_exist:NTF \tex_pdfobjcompresslevel:D
- { \tex_pdfobjcompresslevel:D }
- { \tex_pdfvariable:D objcompresslevel }
- #1 \scan_stop:
- }
-\cs_new_protected:Npx \driver_pdf_version_major_gset:n #1
- {
- \cs_if_exist:NTF \tex_pdfvariable:D
- {
- \int_compare:nNnT \tex_luatexversion:D > { 106 }
- {
- \exp_not:N \tex_global:D \tex_pdfvariable:D majorversion
- \exp_not:N \int_eval:n {#1} \scan_stop:
- }
- }
- {
- \cs_if_exist:NT \tex_pdfmajorversion:D
- {
- \exp_not:N \tex_global:D \tex_pdfmajorversion:D
- \exp_not:N \int_eval:n {#1} \scan_stop:
- }
- }
- }
-\cs_new_protected:Npx \driver_pdf_version_minor_gset:n #1
- {
- \exp_not:N \tex_global:D
- \cs_if_exist:NTF \tex_pdfminorversion:D
- { \exp_not:N \tex_pdfminorversion:D }
- { \tex_pdfvariable:D minorversion }
- \exp_not:N \int_eval:n {#1} \scan_stop:
- }
-\cs_new:Npx \driver_pdf_version_major:
- {
- \cs_if_exist:NTF \tex_pdfvariable:D
- {
- \int_compare:nNnTF \tex_luatexversion:D > { 106 }
- { \exp_not:N \tex_the:D \tex_pdfvariable:D majorversion }
- { 1 }
- }
- {
- \cs_if_exist:NTF \tex_pdfmajorversion:D
- { \exp_not:N \tex_the:D \tex_pdfmajorversion:D }
- { 1 }
- }
- }
-\cs_new:Npx \driver_pdf_version_minor:
- {
- \exp_not:N \tex_the:D
- \cs_if_exist:NTF \tex_pdfminorversion:D
- { \exp_not:N \tex_pdfminorversion:D }
- { \tex_pdfvariable:D minorversion }
- }
-%%
-%%
-%% End of file `l3pdfmode.def'.