diff options
Diffstat (limited to 'metapost')
-rw-r--r-- | metapost/context/base/mp-core.mp | 32 |
1 files changed, 25 insertions, 7 deletions
diff --git a/metapost/context/base/mp-core.mp b/metapost/context/base/mp-core.mp index eb038163e..7845649fc 100644 --- a/metapost/context/base/mp-core.mp +++ b/metapost/context/base/mp-core.mp @@ -720,14 +720,24 @@ fi ; % fallback - multipar := - - llxy[fpos] -- - lrxy[tpos] -- + % multipar := + % llxy[fpos] -- + % lrxy[tpos] -- + % urxy[tpos] -- + % ulxy[fpos] -- cycle ; + % + % save_multipar (1,1,multipar) ; + + % we need to take the boundingbox because there can be + % more lines and we want a proper rectange + + multipar := + ulxy[fpos] -- urxy[tpos] -- - ulxy[fpos] -- cycle ; + lrxy[fpos] -- + llxy[tpos] -- cycle ; - save_multipar (1,1,multipar) ; + save_multipar (1,1,boundingbox(multipar)) ; else : @@ -963,6 +973,14 @@ fi ; endgroup ; fi ; + % potential safeguard: + + % for i=1 upto nofmultipars : + % if length p <= 4 : + % multipars[i] := boundingbox(multipars[i]) ; + % fi ; + % end ; + % quick hack for gb: one_piece_multi_par := (nofmultipars=1) and (pn=tn) ; @@ -1349,4 +1367,4 @@ def ProcessSyncTask(expr p, c) = fill p withcolor c ; enddef ; -endinput ;
\ No newline at end of file +endinput ; |