diff options
author | Hans Hagen <pragma@wxs.nl> | 2006-04-23 23:55:00 +0200 |
---|---|---|
committer | Hans Hagen <pragma@wxs.nl> | 2006-04-23 23:55:00 +0200 |
commit | e0ee7b45d9ca5201a01036ad44ee3c262da938ab (patch) | |
tree | e64dff28aa1c05fde6dea3e66aa9ee271c63e0c3 /metapost | |
parent | 344364dee440fb66701665e8389445755c7d00f2 (diff) | |
download | context-e0ee7b45d9ca5201a01036ad44ee3c262da938ab.tar.gz |
stable 2006.04.23 23:55
Diffstat (limited to 'metapost')
-rw-r--r-- | metapost/context/base/mp-core.mp | 27 |
1 files changed, 17 insertions, 10 deletions
diff --git a/metapost/context/base/mp-core.mp b/metapost/context/base/mp-core.mp index 7845649fc..6c3ed0523 100644 --- a/metapost/context/base/mp-core.mp +++ b/metapost/context/base/mp-core.mp @@ -350,13 +350,14 @@ enddef ; numeric nofmultipars ; nofmultipars := 0 ; -boolean obey_multi_par_hang ; obey_multi_par_hang := true ; -boolean obey_multi_par_more ; obey_multi_par_more := true ; -boolean snap_multi_par_tops ; snap_multi_par_tops := true ; -boolean local_multi_par_area ; local_multi_par_area := false ; -boolean ignore_multi_par_page ; ignore_multi_par_page := false ; - -boolean one_piece_multi_par ; one_piece_multi_par := false ; +boolean obey_multi_par_hang ; obey_multi_par_hang := true ; +boolean obey_multi_par_more ; obey_multi_par_more := true ; +boolean snap_multi_par_tops ; snap_multi_par_tops := true ; +boolean local_multi_par_area ; local_multi_par_area := false ; +boolean ignore_multi_par_page ; ignore_multi_par_page := false ; +boolean force_multi_par_chain ; force_multi_par_chain := true ; +boolean one_piece_multi_par ; one_piece_multi_par := false ; +boolean check_multi_par_chain ; check_multi_par_chain := true ; % extra page check def simplify_multi_pars = % boundingbox ipv shape als optie for i := 1 upto nofmultipars : @@ -753,7 +754,6 @@ fi ; if (nxy[fpos]=RealPageNumber) and (InsideTextArea(i,par_start_pos)) : - % first one in chain ii := i ; @@ -940,11 +940,16 @@ snapped_multi_pos(ulxy[tpos]) -- % second loop +if force_multi_par_chain or (ii > 1) : + for i=ii+1 upto nn-1 : % rest of chain / todo : hang -%if (nxy[fpos]<=RealPageNumber) and (nxy[tpos]>=RealPageNumber) : +% we need to test, else we get a <lineheight bottom one +% triggering a whole text frame; weird + +if (not check_multi_par_chain) or ((nxy[fpos]<RealPageNumber) and (nxy[tpos]>RealPageNumber)) : multipar := set_multipar(i) ; @@ -961,10 +966,12 @@ snapped_multi_pos(ulxy[tpos]) -- save_multipar(i,2,multipar) ; -%fi ; +fi ; endfor ; +fi ; + % end of normal/fallback fi ; |