summaryrefslogtreecommitdiff
path: root/Build/source/texk/web2c/omegaware/ovf2ovp.ch
diff options
context:
space:
mode:
Diffstat (limited to 'Build/source/texk/web2c/omegaware/ovf2ovp.ch')
-rw-r--r--Build/source/texk/web2c/omegaware/ovf2ovp.ch62
1 files changed, 15 insertions, 47 deletions
diff --git a/Build/source/texk/web2c/omegaware/ovf2ovp.ch b/Build/source/texk/web2c/omegaware/ovf2ovp.ch
index 2e40680f093..ee8adc26d57 100644
--- a/Build/source/texk/web2c/omegaware/ovf2ovp.ch
+++ b/Build/source/texk/web2c/omegaware/ovf2ovp.ch
@@ -1,4 +1,4 @@
-%
+%
% This file is part of the Omega project, which
% is based in the web2c distribution of TeX.
%
@@ -354,8 +354,8 @@ f:=((tfm[k+1] mod 16)*intcast(@'400)+tfm[k+2])*@'400+tfm[k+3];
@p function f(@!h,@!x,@!y:index):index; forward;@t\2@>
{compute $f$ for arguments known to be in |hash[h]|}
@y
-@p
-ifdef('notdef')
+@p
+ifdef('notdef')
function lig_f(@!h,@!x,@!y:index):index; begin end;@t\2@>
{compute $f$ for arguments known to be in |hash[h]|}
endif('notdef')
@@ -382,32 +382,11 @@ lig_f:=lig_z[h];
@x [124] Some cc's can't handle 136 case labels.
o:=vf[vf_ptr]; incr(vf_ptr);
case o of
- @<Cases of \.{DVI} instructions that can appear in character packets@>@;
@y
o:=vf[vf_ptr]; incr(vf_ptr);
if (o<=set1+3)or((o>=put1)and(o<=put1+3)) then
-begin if o>=set1 then
- if o>=put1 then c:=get_bytes(o-put1+1,false)
- else c:=get_bytes(o-set1+1,false)
- else c:=o;
- if (c<0)or(c>65535) then
- bad_vf('Character ',c:1,' is out of range and will be ignored')
- else if f=font_ptr then
- bad_vf('Character ',c:1,' in undeclared font will be ignored')
-@.Character...will be ignored@>
- else begin vc[font_chars[f+1]-1]:=c; {store |c| in the ``hole'' we left}
- k:=font_chars[f];@+while vc[k]<>c do incr(k);
- if k=font_chars[f+1]-1 then
- bad_vf('Character ',c:1,' in font ',f:1,' will be ignored')
- else begin if o>=put1 then out('(PUSH)');
- left; out('SETCHAR'); out_char(c);
- if o>=put1 then out(')(POP');
- right;
- end;
- end;
- end
+ @<Special cases of \.{DVI} instructions to typeset characters@>@;
else case o of
- @<Cases of \.{DVI} instructions that can appear in character packets@>
@z
@x [125] `signed' is a reserved word in ANSI C.
@@ -423,34 +402,23 @@ begin if o>=set1 then
begin write_ln(stderr, 'Stack overflow!'); uexit(1);
@z
-@x [129] This code moved outside the case statement
+@x [129] This block of code moved outside the case statement.
@ Before we typeset a character we make sure that it exists.
@<Cases...@>=
sixty_four_cases(set_char_0),sixty_four_cases(set_char_0+64),
four_cases(set1),four_cases(put1):begin if o>=set1 then
- if o>=put1 then c:=get_bytes(o-put1+1,false)
- else c:=get_bytes(o-set1+1,false)
- else c:=o;
- if (c<0)or(c>65535) then
- bad_vf('Character ',c:1,' is out of range and will be ignored')
- else if f=font_ptr then
- bad_vf('Character ',c:1,' in undeclared font will be ignored')
-@.Character...will be ignored@>
- else begin vc[font_chars[f+1]-1]:=c; {store |c| in the ``hole'' we left}
- k:=font_chars[f];@+while vc[k]<>c do incr(k);
- if k=font_chars[f+1]-1 then
- bad_vf('Character ',c:1,' in font ',f:1,' will be ignored')
- else begin if o>=put1 then out('(PUSH)');
- left; out('SETCHAR'); out_char(c);
- if o>=put1 then out(')(POP');
- right;
- end;
- end;
- end;
@y
@ Before we typeset a character we make sure that it exists.
-(These cases moved outside the case statement, section 124.)
+
+@<Special cases...@>=
+begin if o>=set1 then
+@z
+
+@x [129] End of block of code moved outside the case statement.
+ end;
+@y
+ end
@z
@x [132] Eliminate the |final_end| and |exit| labels.
@@ -549,7 +517,7 @@ begin
{Now |optind| is the index of first non-option on the command line.
We must have one two three remaining arguments.}
- if (optind + 1 <> argc) and (optind + 2 <> argc)
+ if (optind + 1 <> argc) and (optind + 2 <> argc)
and (optind + 3 <> argc) then begin
write_ln (stderr, 'ovf2ovp: Need one to three file arguments.');
usage ('ovf2ovp');