summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/tagpdf/tagpdf-space-code.sty
blob: bbfee64e8a3dac39a6a1cd5b55a0d3be3dd24768 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
%%
%% This is file `tagpdf-space-code.sty',
%% generated with the docstrip utility.
%%
%% The original source files were:
%%
%% tagpdf-space.dtx  (with options: `space')
%% 
%% Copyright (C) 2019 Ulrike Fischer
%% 
%% 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 "tagpdf bundle" (The Work in LPPL)
%% and all files in that bundle must be distributed together.
%% 
%% File: tagpdf-space.dtx
\ProvidesExplPackage {tagpdf-space-code} {2021/02/23} {0.80}
 {part of tagpdf - code related to real space chars}

\sys_if_engine_pdftex:T
  {
    \pdfglyphtounicode{space}{0020}
    \keys_define:nn { __tag / setup }
      {
        interwordspace .choices:nn = { true, on }  { \pdfinterwordspaceon },
        interwordspace .choices:nn = { false, off }{ \pdfinterwordspaceon },
        show-spaces .bool_set:N = \l__tag_showspaces_bool
      }
  }

\sys_if_engine_luatex:T
  {
    \keys_define:nn { __tag / setup }
      {
        interwordspace .choices:nn =
                                 { true, on }
                                 { \directlua{ltx.__tag.func.markspaceon()} },
        interwordspace .choices:nn =
                                 { false, off }
                                 {\directlua{ltx.__tag.func.markspaceoff()} },
        show-spaces      .choice:,
        show-spaces  / true  .code:n =
                                 {\directlua{ltx.__tag.trace.showspaces=true}},
        show-spaces  / false .code:n =
                                 {\directlua{ltx.__tag.trace.showspaces=nil}},
        show-spaces .default:n = true
      }

    \cs_new_protected:Nn \__tag_fakespace:
      {
        \group_begin:
        \setattribute\g__tag_interwordspace_attr{1}
        \setattribute\g__tag_interwordfont_attr
          {
            \directlua{tex.print(\the\catcodetable@latex, font.current())}
          }
        \skip_horizontal:n{\c_zero_skip}
        \group_end:
      }
  }

\sys_if_engine_xetex:T
  {
    \keys_define:nn { __tag / setup }
      {
        interwordspace .choices:nn = { true, on }  { \msg_warning:nnn {tag}{sys-no-interwordspace}{xetex}  },
        interwordspace .choices:nn = { false, off }{ \msg_warning:nnn {tag}{sys-no-interwordspace}{xetex}  },
        show-spaces .bool_set:N = \l__tag_showspaces_bool
      }
  }

%% 
%%
%% End of file `tagpdf-space-code.sty'.