[Therion] Some metapost symbols defined so they cannot be scaled
rsev at protonmail.com
rsev at protonmail.com
Tue Jun 29 10:39:42 CEST 2021
Humm, my bad.
I'm in a caving exporation trip right now. If nobody manages to fix it before I get home I will take a look.
Sorry for the trouble.
Rodrigo Severo
‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐
Em domingo, 27 de junho de 2021 às 7:53 PM, Bruce Mutton <bruce at tomo.co.nz> escreveu:
> I’ve just noticed that some metapost symbols are coded so that they ignore scaling options xs, s, l, xl.
>
> For example point dig is positioned but not rotated or scaled.
>
> def p_dig_UIS (expr pos,r,s,al) =
>
> U:=(.4u, .5u);
>
> T:=identity aligned al shifted pos;
>
> thfill ((-.075u,-.5u){down} .. {up}(0.075u, -.5u) -- (0.075u, .15u) -- (0.3u, 0.15u) -- (0.3u, 0.5u) --
>
> (-.3u, .5u) -- (-.3u, .15u) -- (-.075u, .15u) -- cycle) rotated 45;
>
> enddef;
>
> Point camp is similar.
>
> I can understand why it is not ideal to allow these to be rotated, and usually they should be inserted unscaled. However it is possible to have big, small, major, minor camps and digs that one might want to symbolise with size.
>
> In my actual use case I have a plan and elevation at differing layout scales exported to the same pdf. I want these symbols to output the same (unscaled) size and for some reason the size differs by the ratio of the layout scales (I had thought that layout scales were meant to ensure text and symbol size were constant irrespective of layout scale, but the text and symbol sizes in fact differ unless I compensate by symbol scaling).
>
> I cannot help thinking I am making some illogical brain-fade error in thinking.
>
> A similar symbol, danger, is coded to enable scaling. It works, in that I can make them bigger or smaller with for example -scale l, so the solution appears obvious.
>
> picture SBE_danger_raw;
>
> SBE_danger_raw := image(
>
> fill (331,489)..controls (330,489) and (328,489)..(326,488)
>
> --(291,422)..controls (291,422) and (291,421)..(291,421)
>
> ..controls (291,417) and (294,414)..(297,413)
>
> --(365,413)..controls (369,414) and (371,417)..(371,421)
>
> ..controls (371,422) and (371,422)..(371,423)
>
> --(336,488)..controls (335,489) and (333,489)..(331,489)
>
> ..controls (331,489) and (331,489)..(331,489)
>
> --cycle withcolor red;
>
> fill (336,427)..controls (336,430) and (334,432)..(331,432)
>
> ..controls (328,432) and (326,430)..(326,427)
>
> ..controls (326,424) and (328,422)..(331,422)
>
> ..controls (334,422) and (336,424)..(336,427)
>
> --cycle withcolor white;
>
> fill (335,464)..controls (336,466) and (332,466)..(331,466)
>
> ..controls (330,466) and (327,466)..(327,464)
>
> --(330,436)..controls (330,435) and (330,435)..(331,435)
>
> ..controls (332,435) and (332,435)..(332,436)
>
> --cycle withcolor white;
>
> currentpicture := currentpicture shifted (-(llcorner currentpicture)-(urcorner currentpicture - llcorner currentpicture)/2) scaled (u / max((xpart urcorner currentpicture) - (xpart llcorner currentpicture), (ypart urcorner currentpicture) - (ypart llcorner currentpicture)));
>
> );
>
> def p_danger_SBE(expr pos, theta, sc, al) =
>
> T := identity rotated theta aligned al scaled sc shifted pos;
>
> thdraw SBE_danger_raw;
>
> enddef;
>
> What do people think of changing the point symbol metapost definitions so that they can all be scaled?
>
> Bruce
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.speleo.sk/pipermail/therion/attachments/20210629/8f74bb35/attachment.htm>
More information about the Therion
mailing list