summaryrefslogtreecommitdiff
path: root/Build/source/texk/web2c/alephdir/omfont.ch
diff options
context:
space:
mode:
Diffstat (limited to 'Build/source/texk/web2c/alephdir/omfont.ch')
-rw-r--r--Build/source/texk/web2c/alephdir/omfont.ch10
1 files changed, 7 insertions, 3 deletions
diff --git a/Build/source/texk/web2c/alephdir/omfont.ch b/Build/source/texk/web2c/alephdir/omfont.ch
index a176f346ccd..eb718688508 100644
--- a/Build/source/texk/web2c/alephdir/omfont.ch
+++ b/Build/source/texk/web2c/alephdir/omfont.ch
@@ -716,6 +716,7 @@ fget; read_sixteen(nk);
fget; read_sixteen(ne);
fget; read_sixteen(np);
if lf<>6+lh+(ec-bc+1)+nw+nh+nd+ni+nl+nk+ne+np then abort;
+if (nw=0)or(nh=0)or(nd=0)or(ni=0) then abort;
end
@y
nco:=0; ncw:=0; npc:=0;
@@ -1863,9 +1864,11 @@ if not new_right_ghost then
@z
%---------------------------------------
@x [46] m.1035 l.20122 - Omega
- begin if character(tail)=qi(hyphen_char[main_f]) then if link(cur_q)>null then
+ begin if link(cur_q)>null then
+ if character(tail)=qi(hyphen_char[main_f]) then ins_disc:=true;
@y
- begin if character(tail)=qi(hyphen_char(main_f)) then if link(cur_q)>null then
+ begin if link(cur_q)>null then
+ if character(tail)=qi(hyphen_char(main_f)) then ins_disc:=true;
@z
%---------------------------------------
@x [46] m.1036 l.20135 - Omega
@@ -1879,7 +1882,7 @@ main_i:=char_info(main_f)(cur_l);
if not char_exists(main_i) then
begin char_warning(main_f,cur_chr); free_avail(lig_stack); goto big_switch;
end;
-tail_append(lig_stack) {|main_loop_lookahead| is next}
+link(tail):=lig_stack; tail:=lig_stack {|main_loop_lookahead| is next}
@y
if lig_stack=null then goto reswitch;
cur_q:=tail; cur_l:=character(lig_stack);
@@ -1916,6 +1919,7 @@ if cur_cmd=no_boundary then bchar:=non_char;
@x [46] m.1039 l.20193 - Omega
@<If there's a ligature/kern command...@>=
if char_tag(main_i)<>lig_tag then goto main_loop_wrapup;
+if cur_r=non_char then goto main_loop_wrapup;
main_k:=lig_kern_start(main_f)(main_i); main_j:=font_info[main_k].qqqq;
if skip_byte(main_j)<=stop_flag then goto main_lig_loop+2;
main_k:=lig_kern_restart(main_f)(main_j);