[metapost] Problem with generating EPS from MetaFont source
Michael Ummels
michael.ummels at rwth-aachen.de
Mon Nov 29 17:02:06 CET 2010
Hi guys,
I am trying to use MetaPost to generate EPS files for each character in a
MetaFont as described in Appendix B of the MetaPost manual. However, some
strokes do not come out correctly or are missing at all in the resulting EPS
files. I would be glad if somebody could tell me what is going wrong.
To replicate my results, run "mpost '&mfplain \mode:=localfont; mag=100.375;
input test'" on the file test.mf, which is given below. In the resulting EPS
files test.2 and test.3, strokes are missing/incorrect, whereas test.0 and
test.1 are fine.
Interestingly, the problem does not occur when using pencircle instead of
pensquare.
Any ideas?
Michael
And here is the contents of test.mf:
font_size := 10pt#;
mode_setup;
u# := 0.6pt#;
side_bearing# := u#;
equal_spread# := 1.93pt#;
line_thickness# := 0.65pt#;
rule_thickness# := 0.58pt#;
arrow_diag_len# := 9u#;
arrow_spread# := 1.6equal_spread#;
define_pixels(u);
define_whole_pixels(equal_spread, arrow_horiz_len, arrow_vert_len,
arrow_diag_len, arrow_spread, line_thickness, rule_thickness, side_bearing);
current_char := -1;
for alpha = 45, 135, 225, 315:
current_char := current_char + 1;
beginchar(current_char, arrow_diag_len# + 2side_bearing#, arrow_diag_len#,
0);
pair centre, head, foot;
centre := (w/2, (h-d)/2);
head := centre + (arrow_diag_len - line_thickness)/2 * dir alpha;
foot := centre - (arrow_diag_len - line_thickness)/2 * dir alpha;
pickup pensquare scaled line_thickness rotated alpha;
draw foot -- head;
draw (foot - arrow_spread * dir (alpha + 90)) --
(foot + arrow_spread * dir (alpha + 90));
endchar;
endfor;
bye;
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://tug.org/pipermail/metapost/attachments/20101129/5effeee5/attachment.html>
More information about the metapost
mailing list