summaryrefslogtreecommitdiff
path: root/Build/source/texk/web2c/euptexdir/euptex.ch1
blob: 84f8be6cf28a5ef78e0eed76cda42c9a0e756def (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
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
@x [1.2]
@d banner==epTeX_banner
@d banner_k==epTeX_banner_k
@y
@d banner==eupTeX_banner
@d banner_k==eupTeX_banner_k
@z

@x
@d uptex_version_code=ptex_minor_version_code+1 {code for \.{\\uptexversion}}
@y
@d uptex_version_code=ptex_minor_version_code+2 {code for \.{\\uptexversion}}
@z

@x e-upTeX: \currentcjktoken
@d eTeX_dim=eTeX_int+10 {first of \eTeX\ codes for dimensions}
@y
@d eTeX_dim=eTeX_int+11 {first of \eTeX\ codes for dimensions}
@z

@x
  eptex_version_code: print_esc("epTeXversion");
@y
  eptex_version_code: print_esc("epTeXversion");
  uptex_version_code: print_esc("uptexversion");
@z

@x
if font_dir[font(tx)]<>dir_default then cur_val:=KANJI(info(link(tx)))
@y
if font_dir[font(tx)]<>dir_default then cur_val:=KANJI(info(link(tx))) mod max_cjk_val
@z

@x
  eptex_version_code: cur_val:=epTeX_version_number;
@y
  eptex_version_code: cur_val:=epTeX_version_number;
  uptex_version_code: cur_val:=upTeX_version;
@z

@x
@ @<Handle \.{\\readline} and |goto done|@>=
if j=1 then
  begin while loc<=limit do {current line not yet finished}
    begin cur_chr:=buffer[loc]; incr(loc);
    if multistrlen(ustringcast(buffer), limit+1, loc-1)=2 then
      begin cur_tok:=fromBUFF(ustringcast(buffer),  limit+1, loc-1); incr(loc);
      end
    else if cur_chr=" " then cur_tok:=space_token
    @+else cur_tok:=cur_chr+other_token;
@y
@ @<Handle \.{\\readline} and |goto done|@>=
if j=1 then
  begin while loc<=limit do {current line not yet finished}
    begin cur_chr:=fromBUFF(ustringcast(buffer), limit+1, loc);
    cur_tok:=kcat_code(kcatcodekey(cur_chr));
    if (multistrlen(ustringcast(buffer), limit+1,loc)>1)and
         check_kcat_code(cur_tok) then
      begin if (cur_tok=not_cjk) then cur_tok:=other_kchar;
	  cur_tok:=cur_chr+cur_tok*max_cjk_val;
	  loc:=loc+multistrlen(ustringcast(buffer), limit+1,loc);
      end
    else begin cur_chr:=buffer[loc]; incr(loc);
      if cur_chr=" " then cur_tok:=space_token
      else cur_tok:=cur_chr+other_token;
    end;
@z

@x e-pTeX: ifcsname l.28620
    begin buffer[m]:=Hi(info(p)); buffer2[m]:=1; incr(m); buffer2[m]:=1;
    end
  else buffer2[m]:=0;
  buffer[m]:=Lo(info(p)); incr(m); p:=link(p);
@y
    begin
    if BYTE1(toBUFF(info(p) mod max_cjk_val))<>0 then
      begin buffer[m]:=BYTE1(toBUFF(info(p) mod max_cjk_val)); buffer2[m]:=1; incr(m); end;
    if BYTE2(toBUFF(info(p) mod max_cjk_val))<>0 then
      begin buffer[m]:=BYTE2(toBUFF(info(p) mod max_cjk_val)); buffer2[m]:=1; incr(m); end;
    if BYTE3(toBUFF(info(p) mod max_cjk_val))<>0 then
      begin buffer[m]:=BYTE3(toBUFF(info(p) mod max_cjk_val)); buffer2[m]:=1; incr(m); end;
    buffer[m]:=BYTE4(toBUFF(info(p) mod max_cjk_val)); buffer2[m]:=1; incr(m);
    p:=link(p);
    end
  else
    begin buffer[m]:=info(p) mod max_char_val; buffer2[m]:=0; incr(m); p:=link(p);
    end;
@z

@x e-upTeX: fetch \(disable|enable|force)cjktoken status
@* \[54] System-dependent changes.
@y
@ The \.{\\currentcjktoken} command returns the current \upTeX's
status of \.{\\(disable|enable|force)cjktoken}.

@d current_cjk_token_code=eTeX_int+10 {code for \.{\\currentcjktoken}}

@<Generate all \eTeX...@>=
primitive("currentcjktoken",last_item,current_cjk_token_code);
@!@:current_cjk_token_}{\.{\\currentcjktoken} primitive@>

@ @<Cases of |last_item| for |print_cmd_chr|@>=
current_cjk_token_code: print_esc("currentcjktoken");

@ @<Cases for fetching an integer value@>=
current_cjk_token_code: cur_val:=enable_cjk_token;

@* \[54] System-dependent changes.
@z