summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/fonts/source
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2008-03-03 01:10:05 +0000
committerKarl Berry <karl@freefriends.org>2008-03-03 01:10:05 +0000
commit26b5af90d7132dc6c5d514d589adfca8502d62c0 (patch)
tree30f6a91e6073e1a5a13f549176ea1196d1c80417 /Master/texmf-dist/fonts/source
parent9c9e2c9000f62d089e798708bc0db6346bbe39ad (diff)
feyn font 0.3.1
git-svn-id: svn://tug.org/texlive/trunk@6809 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/fonts/source')
-rw-r--r--Master/texmf-dist/fonts/source/public/feyn/feyn.mf654
-rw-r--r--Master/texmf-dist/fonts/source/public/feyn/feyn10.mf37
-rw-r--r--Master/texmf-dist/fonts/source/public/feyn/feyn11.mf37
-rw-r--r--Master/texmf-dist/fonts/source/public/feyn/feyn12.mf37
-rw-r--r--Master/texmf-dist/fonts/source/public/feyn/feynmac.mf218
-rw-r--r--Master/texmf-dist/fonts/source/public/feyn/feyntext10.mf37
-rw-r--r--Master/texmf-dist/fonts/source/public/feyn/feyntext11.mf37
-rw-r--r--Master/texmf-dist/fonts/source/public/feyn/feyntext12.mf37
8 files changed, 591 insertions, 503 deletions
diff --git a/Master/texmf-dist/fonts/source/public/feyn/feyn.mf b/Master/texmf-dist/fonts/source/public/feyn/feyn.mf
index fe748a05fb7..01477d5d467 100644
--- a/Master/texmf-dist/fonts/source/public/feyn/feyn.mf
+++ b/Master/texmf-dist/fonts/source/public/feyn/feyn.mf
@@ -1,17 +1,22 @@
-% This is the metafont for the feynfont font.
+% This is the metafont for the feynfont font, release 0.3.1, 2008 February 29
+%
+% Copyright 1991, 1994, 2001, 2002, 2005, 2008, Norman Gray.
+% See the file LICENCE for licence details.
+%
+%
%
% When I look at the property list of the generated TFM (using
% tftopl) it starts with `(FAMILY CMR)': but this isn't in the cmr
% family. I can't find anything in cmbase.mf which would cause
% this. Perhaps I need to read the Metafont Book more closely.
%
-% $Id: feyn.mf,v 1.6 2002/04/18 22:32:10 norman Exp $
+% $Id: feyn.mf,v 1.17 2008/02/29 21:26:27 norman Exp $
mode_setup; font_setup;
% a# is the position of the characters above the baseline.
-a# := math_axis#; % math_axis is defined by cmr
+a# := on_math_axis * math_axis#; % math_axis is defined by cmr
% Feyn macros
input feynmac;
@@ -36,153 +41,406 @@ phangle := 75;
% character generated by the errorchar macro, which is 0pt wide, and
% 1module# high. This character doesn't generate any real error,
% but the glyph will be manifestly peculiar on paper.
+%
+% Add code to extra_beginchar so that we keep a record of all the
+% characters that we generate, so that we can generate an errochar
+% character for each of the codepoints that we've skipped. `charcode'
+% is defined in the expansion of beginchar()
+
+numeric donechar[];
+string donecharerror;
+donecharerror := "Duplicate character";
+extra_beginchar := extra_beginchar & "if known donechar[charcode]: errmessage donecharerror; fi donechar[charcode] := 1;";
+
+path charpath;
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% Digits 0x30--0x39. Obtain these from the cmr source file: romand.mf.
+input romand;
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% Fermions
+
+def path_fermion (expr scale_sharp, ang) =
+ begingroup
+ save scale;
+ scale := hround(scale_sharp*hppp);
+ if ang > 0: % slopes upward
+ (0,a) .. (scale*(cosd ang), scale*(abs sind ang)+a)
+ else :
+ (0,scale*(abs sind ang)+a) .. (scale*(cosd ang), a)
+ fi
+ endgroup
+enddef;
+
+threechars ("f", "fermion",
+ path_fermion(2module#, 0), 0.5, 2module#, 0, 0,
+ (0,0.1module), "top");
+
+beginchar ("k", module#, 0, 0);
+ "short fermion";
+ pen;
+ draw path_fermion(module#, 0);
+endchar;
-gfermion (0, -45);
-gfermion (1, 45);
-gfermion (2, 90);
-beginchar (3, 0, module#, 0); errorchar (h); endchar;
+% The following characters are in boxes the same vertical size as the black
+% bit of the character, but they project out of the top by an amount equal to
+% the height of the math axis, and are that same height clear of the bottom
+% of the box.
+%
+%%%% -90 <= ang <= +90, or all hell will break loose
-gboson (4, -45, 1, 0);
-gboson (5, 45, 1, 0);
-gboson (6, 90, 1, 0);
-gboson (7, 90, 0.85, 0);
-gboson (8, 90, 1.7, 1);
+threechars ("e", "upward fermion",
+ path_fermion(2module#, 45), 0.5,
+ 2module#*(cosd 45), 2module#*(abs sind 45), 0,
+ 0, "ulft");
-for c=hex"09" upto hex"0F":
- beginchar (c, 0, module#, 0); errorchar (h); endchar;
-endfor
+threechars ("d", "downward fermion",
+ path_fermion(2module#, -45), 0.5,
+ 2module#*(cosd -45), 2module#*(abs sind -45), 0,
+ 0, "urt");
-gghost (hex"10", -45);
-gghost (hex"11", 45);
+threechars ("b", "vertically upward fermion",
+ path_fermion(2module#, 90), 0.5,
+ 2module#*(cosd 90), 2module#*(abs sind 90), 0,
+ 0, "urt");
-for c=hex"12" upto hex"1F":
- beginchar (c, 0, module#, 0); errorchar (h); endchar;
-endfor
+charpath := path_fermion(2module#, 0);
+beginchar("m", 2module#, 0, 0); "massive fermion";
+ pen;
+ draw charpath shifted (0,linewidth);
+ draw charpath shifted (0,-linewidth);
+ annotate_at(point 0.5 of charpath shifted (0,linewidth), "top");
+endchar;
-gbhalfloop (hex"20", 1.3, 9, 0); % small loop
-gbhalfloop (hex"21", 3, 13, 0); % large loop
-
-beginchar (hex"22", 0, module#, 0); errorchar (h); endchar;
-beginchar (hex"23", 0, module#, 0); errorchar (h); endchar;
-beginchar (hex"24", 0, module#, 0); errorchar (h); endchar;
-beginchar (hex"25", 0, module#, 0); errorchar (h); endchar;
-beginchar (hex"26", 0, module#, 0); errorchar (h); endchar;
-beginchar (hex"27", 0, module#, 0); errorchar (h); endchar;
-
-garrow (hex"28", 0, 0);
-garrow (hex"29", 45, 0);
-garrow (hex"2A", 90, 0);
-garrow (hex"2B", 135, 0);
-garrow (hex"2C", 180, 0);
-garrow (hex"2D", 225, 0);
-garrow (hex"2E", 270, 0);
-garrow (hex"2F", 315, 0);
-
-% Digits 0x30--0x39 go here. Obtain these from the cmr source file: romand.mf.
-input romand;
+beginchar("M", 2module#, 0, 0); "r-arrowed massive fermion";
+ pen;
+ draw charpath shifted (0,linewidth);
+ draw charpath shifted (0,-linewidth);
+ drawarrow (bigarrow, point 0.5 of charpath, 0);
+ annotate_at(point 0.5 of charpath shifted (0,linewidth), "top");
+endchar;
-for c=hex"3A" upto hex"5F":
- beginchar (c, 0, module#, 0); errorchar (h); endchar;
-endfor
+beginchar(byte"m"-hex"60", 2module#, 0, 0); "l-arrowed massive fermion";
+ pen;
+ draw charpath shifted (0,linewidth);
+ draw charpath shifted (0,-linewidth);
+ drawarrow (bigarrow, point 0.5 of charpath, 180);
+ annotate_at(point 0.5 of charpath shifted (0,linewidth), "top");
+endchar;
-beginchar (hex"60", 2module#, 0, 0); "spacer";
+charpath := path_fermion(module#, 0);
+beginchar(hex"0B", module#, 0, 0); "short massive fermion";
+ pen;
+ draw charpath shifted (0,linewidth);
+ draw charpath shifted (0,-linewidth);
+ %drawarrow (littlearrow, point 0.5 of charpath, 0);
+ annotate_at(point 0.5 of charpath shifted (0,linewidth), "top");
endchar;
-garrow ("a", 0, 1); "arrow";
+begingroup
+ clearxy;
+ save width;
+ width# := 4module#;
+ define_pixels(width);
+ x2-x0 = 2(x1-x0) = width;
+ x1 = 0;
+ y0 = y2 = 0;
+ y1 = 1.6module;
+ %charpath := z0{dir 60} .. {dir -60}z2;
+ charpath := z0 .. z1 .. z2;
+
+ threechars("l", "fermion loop",
+ charpath shifted (0,a), 1,
+ 0, module#+a#, 0,
+ 0, "top");
+ threechars("n", "fermion loop, inverted",
+ charpath yscaled -1 shifted (0,a), 1,
+ 0, module#+a#, 0,
+ 0, "bot");
+ threechars("o", "fermion loop, small",
+ charpath scaled 0.66667 shifted (0,0.66667a), 1,
+ 0, module#+a#, 0,
+ 0, "top");
+ threechars("w", "fermion loop, small, inverted",
+ charpath xscaled 0.66667 yscaled -0.66667 shifted(0,0.66667a), 1,
+ 0, module#+a#, 0,
+ 0, "bot");
+endgroup;
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% Gauge bosons
+%
-beginchar ("b", module#, 0, 0); "short spacer";
- % A previous version of this font had this curious construction, without
- % explanation. I don't know why it was thought necessary. It seems
- % to result in a hairline being put in this character. Remove it
- % for the moment.
- %pickup pencircle scaled 0pt;
- %draw (0,0) .. (w,0);
+def path_boson (expr scale_sharp, ang, taper) =
+ begingroup
+ save scale;
+ clearxy;
+ scale := hround(scale_sharp*hppp);
+ x1 = 0; x5 = scale*(cosd ang);
+ if ang > 0 : % slopes upward
+ y1 = a;
+ y5 = scale*(abs sind ang) + a;
+ else :
+ y1 = scale*(abs sind ang) + a;
+ y5 = a;
+ fi
+ z2-z1 = z3-z2 = z4-z3 = z5-z4;
+ def ::(expr b) = {dir (ang+b)} looselink {dir (ang-b)} enddef;
+
+ z1 ::(phangle) z2 ::(-phangle) z3 ::(phangle) z4
+ if taper <> 0 :
+ {dir (ang-phangle)} .. tension 1 and 0.8 .. {dir (ang+phangle/2)}
+ else :
+ ::(-phangle)
+ fi
+ z5
+ endgroup
+enddef;
+
+threechars ("g", "gluon",
+ path_boson(2module#, 0, 0), 2,
+ 2module#, 0, 0,
+ (0, 0.2module), "top");
+threechars ("u", "upward gluon",
+ path_boson(2module#, 45, 0), 2,
+ 2module#*(cosd 45), 2module#*(abs sind 45), 0,
+ 0, "ulft");
+threechars ("v", "downward gluon",
+ path_boson(2module#, -45, 0), 2,
+ 2module#*(cosd -45), 2module#*(abs sind -45), 0,
+ 0, "urt");
+threechars (oct"175",
+ "vertical gluon",
+ path_boson(2module#, 90, 1), 2,
+ 0, 2module#, 0,
+ 0, "urt");
+
+
+% plus or minus phangle, depending on whether n is odd or even
+def pm_angle(expr n) =
+ if odd n: -1 else: 1 fi*phangle
+enddef;
+
+% a gluon quarter loop:
+% wid: radius of loop in modules
+% nopts: number of points
+% inv: if 1, the loop goes from the axis to the top;
+% if 0, from the top down to the axis
+% negang: if 1, negate the photon angle (so it wiggles oppositely);
+% if 0, don't
+% taper: if 1, the line tapers as it approaches the axis
+def path_quadloop (expr wid, nopts, inv, negang, taper) =
+ begingroup
+ save halfwidth, myangle;
+ clearxy;
+ halfwidth# := wid*module#;
+ define_pixels(halfwidth);
+ myangle = if negang <> 0: -phangle else: phangle fi;
+ z0 = (halfwidth, 0);
+ for x = 1 upto nopts:
+ z[x] = z0 rotated (x*90/nopts);
+ endfor
+ if inv = 0:
+ def ::(expr p,ang) = p{p rotated(-90-ang)} looselink enddef;
+ for x=nopts downto 2:
+ ::(z[x], pm_angle(x+negang))
+ endfor
+ if taper <> 0:
+ z[1]{z[1] rotated(-90+myangle)} .. tension 1 and 0.8 .. {dir -(90+myangle/2)}
+ else:
+ ::(z[1], pm_angle(1+negang))
+ fi
+ z0
+ else:
+ def ::(expr p,ang) = looselink {p rotated (90+ang)}p enddef;
+ if taper <> 0:
+ z0 {dir (90+myangle/2)} .. tension 0.8 and 1 .. z[1]{z[1] rotated(90-myangle)}
+ else:
+ z0{dir (90+myangle)}
+ ::(z[1], pm_angle(1+negang))
+ fi
+ for x=1 upto nopts:
+ ::(z[x], pm_angle(x+negang))
+ endfor
+ fi
+ endgroup
+enddef;
+
+
+threechars ("q", "gluon, quadrant 1",
+ path_quadloop(2, 6, 1, 0, 1) xscaled -1 shifted (0,a), 4,
+ 0, 2module#+a#, 0,
+ 0, "ulft");
+threechars ("r", "gluon, quadrant 2",
+ path_quadloop(2, 6, 0, 0, 1) shifted (0,a), 3,
+ 0, 2module#+a#, 0,
+ 0, "urt");
+threechars ("s", "gluon, quadrant 3",
+ path_quadloop(2, 6, 0, 1, 1) yscaled -1 shifted (0,a), 3,
+ 0, a#, a#-2module#,
+ 0, "lrt");
+threechars ("t", "gluon, quadrant 4",
+ path_quadloop(2, 6, 1, 1, 1) scaled -1 shifted (0,a), 4,
+ 0, a#, a#-2module#,
+ 0, "llft");
+% The two loops following have the annotation off-centre, to keep
+% it clear of the wiggles. Would it look better being "top" and "bot"
+% again, but with a non-zero offset in the second-last argument?
+threechars ("y", "gluon half loop",
+ ((path_quadloop(2, 6, 1, 0, 0) xscaled -1)
+ .. path_quadloop(2, 6, 0, 0, 0)) shifted (0,a), 7,
+ 0, 2module#+a#, 0,
+ 0, "urt");
+threechars ("z", "gluon half loop, inverted",
+ ((path_quadloop(2, 6, 1, 1, 0) scaled -1)
+ .. (path_quadloop(2, 6, 0, 1, 0) yscaled -1)) shifted (0,a), 7,
+ 0, a#, a#-2module#,
+ 0, "llft");
+
+% Small and large boson half loops are at positions which are not characters.
+% That's OK -- they can still be accessed by ligatures.
+% 7b='{', 7c='|'
+threechars (hex"7B", "large gluon half loop",
+ ((path_quadloop(2.66667, 8, 1, 0, 0) xscaled -1)
+ .. path_quadloop(2.66667, 8, 0, 0, 0)) shifted (0,a), 9,
+ 0, 2.66667module#+a#, 0,
+ 0, "urt");
+threechars (hex"7C", "small gluon half loop",
+ ((path_quadloop(1.3333, 4, 1, 0, 0) xscaled -1)
+ .. path_quadloop(1.3333, 4, 0, 0, 0)) shifted (0,a), 6,
+ 0, 1.3333module#+a#, 0,
+ 0, "llft");
+
+
+
+def draw_ghost(expr a, b, apos) =
+ begingroup
+ clearxy;
+ %z1 = (0,a); z10 = (2module,a);
+ z1 = a; z10 = b;
+ z4-z3 = 2(z2-z1);
+ z4-z3 = z6-z5 = z8-z7;
+ z2-z1 = z3-z2 = z5-z4 = z7-z6 = z9-z8 = z10-z9;
+ pen;
+ draw z1..z2; draw z3..z4; draw z5..z6; draw z7..z8; draw z9..z10;
+ annotate_at(0.5[z5,z6], apos);
+ endgroup
+enddef;
+
+beginchar ("h", 2module#, 0, 0); "ghost";
+ pen;
+ draw_ghost((0,a), (w,a), "top");
endchar;
-
-beginchar ("c", 2blobr#, blobr# + a#, blobr#); "complete vertex";
+beginchar (byte "h"-hex"20", 2module#, 0, 0); "r-arrowed ghost";
pen;
- draw (0,a) .. (w,a) .. cycle;
+ draw_ghost((0,a), (w,a), "top");
+ drawarrow (littlearrow, .5[(0,a), (w,a)], 0);
endchar;
-
-beginchar ("d", module#/2, 0, 0); "weeny fermion";
+beginchar (byte "h"-hex"60", 2module#, 0, 0); "l-arrowed ghost";
pen;
- draw (0,a)..(w,a);
+ draw_ghost((0,a), (w,a), "top");
+ drawarrow (littlearrow, .5[(0,a), (w,a)], 180);
endchar;
-
-beginchar ("e", module#, 0, 0); "short fermion";
+beginchar ("i", 2module#*(cosd 45), 2module#*(sind 45), 0); "upward ghost";
pen;
- draw (0,a)..(w,a);
+ draw_ghost((0,a), (w,h+a), "ulft");
endchar;
-
-beginchar ("f", 2module#, 0, 0); "fermion";
+beginchar (byte"i"-hex"20", 2module#*(cosd 45), 2module#*(sind 45), 0);
+ "r-arrowed upward ghost";
pen;
- draw (0,a)..(w,a);
+ draw_ghost((0,a), (w,h+a), "ulft");
+ drawarrow (littlearrow, .5[(0,a), (w,h+a)], 45);
endchar;
-
-beginchar ("g", 2module#, 0, 0);
- pen; "gauge boson";
- def ::(expr b) = {dir b} looselink {dir -b} enddef;
- z1 = (0,a); z5 = (w,a);
- z2-z1 = z3-z2 = z4-z3 = z5-z4;
- draw z1 ::(phangle) z2 ::(-phangle) z3 ::(phangle) z4 ::(-phangle) z5;
+beginchar (byte"i"-hex"60", 2module#*(cosd 45), 2module#*(sind 45), 0);
+ "l-arrowed upward ghost";
+ pen;
+ draw_ghost((0,a), (w,h+a), "ulft");
+ drawarrow (littlearrow, .5[(0,a), (w,h+a)], 45+180);
endchar;
-
-beginchar ("h", 2module#, 0, 0); "ghost";
+beginchar ("j", 2module#*(cosd 45), 2module#*(sind 45), 0);
+ "downward ghost";
pen;
- z1 = (0,a); z10 = (w,a);
- z4-z3 = 2(z2-z1);
- z4-z3 = z6-z5 = z8-z7;
- z2-z1 = z3-z2 = z5-z4 = z7-z6 = z9-z8 = z10-z9;
- draw z1..z2; draw z3..z4; draw z5..z6; draw z7..z8; draw z9..z10;
+ draw_ghost((0,h+a), (w,a), "urt");
+endchar;
+beginchar (byte"j"-hex"20", 2module#*(cosd 45), 2module#*(sind 45), 0);
+ "r-arrowed downward ghost";
+ pen;
+ draw_ghost((0,h+a), (w,a), "urt");
+ drawarrow (littlearrow, .5[(0,a), (w,h+a)], -45);
+endchar;
+beginchar (byte"j"-hex"60", 2module#*(cosd 45), 2module#*(sind 45), 0);
+ "l-arrowed downward ghost";
+ pen;
+ draw_ghost((0,h+a), (w,a), "urt");
+ drawarrow (littlearrow, .5[(0,a), (w,h+a)], -45+180);
endchar;
-beginchar ("i", module#, 0, 0); "short ghost";
+beginchar ("K", module#, 0, 0); "short ghost";
pen;
z1 = (0,a); z6 = (w,a);
z4-z3 = 2(z2-z1);
z2-z1 = z3-z2 = 1/2(z4-z3) = z5-z4 = z6-z5;
draw z1..z2; draw z3..z4; draw z5..z6;
+ annotate_at(0.5[z3,z4], "top")
endchar;
-beginchar ("j", 0, module#, 0); errorchar (h); endchar;
-beginchar ("k", module#/2, 0, 0); "weeny massive fermion";
- pen;
- y1 - a = y2 - a = a - y3 = a - y4 = module#/3.5;
- x1 = x3 = 0;
- x2 = x4 = w;
- draw z1--z2;
- draw z3--z4;
+beginchar (hex"60", 2module#, 0, 0);
+ "spacer";
endchar;
-beginchar ("l", module#, 0, 0); "short massive fermion";
- pen;
- y1 - a = y2 - a = a - y3 = a - y4 = module#/3.5;
- x1 = x3 = 0;
- x2 = x4 = w;
- draw z1--z2;
- draw z3--z4;
+beginchar (hex"40", module#, 0, 0);
+ "short spacer";
endchar;
-beginchar ("m", 2module#, 0, 0); "massive fermion";
+beginchar ("c", 2blobr#, blobr# + a#, blobr#); "complete vertex";
pen;
- y1 - a = y2 - a = a - y3 = a - y4 = module#/3.5;
- x1 = x3 = 0;
- x2 = x4 = w;
- draw z1--z2;
- draw z3--z4;
+ draw (0,a) .. (w,a) .. cycle;
+ annotate_at((w/2,w/2+a), "top");
endchar;
-beginchar ("n", 4module#, 2module#-a#, 2module#-a#);
- pen; "fermion loop";
- z0 = (0,a); z1 = (w,a);
- draw z0{dir phangle} ..tension 1.15.. {dir -phangle}z1;
- draw z0{dir -phangle} ..tension 1.15.. {dir phangle}z1;
-endchar;
+%beginchar ("d", module#/2, 0, 0); "weeny fermion";
+% pen;
+% draw (0,a)..(w,a);
+%endchar;
+%
+%beginchar ("k", module#/2, 0, 0); "weeny massive fermion";
+% pen;
+% y1 - a = y2 - a = a - y3 = a - y4 = module#/3.5;
+% x1 = x3 = 0;
+% x2 = x4 = w;
+% draw z1--z2;
+% draw z3--z4;
+%endchar;
+%
+%beginchar ("l", module#, 0, 0); "short massive fermion";
+% pen;
+% y1 - a = y2 - a = a - y3 = a - y4 = module#/3.5;
+% x1 = x3 = 0;
+% x2 = x4 = w;
+% draw z1--z2;
+% draw z3--z4;
+%endchar;
+
+%beginchar ("n", 4module#, 2module#-a#, 2module#-a#);
+% pen; "fermion loop";
+% z0 = (0,a); z1 = (w,a);
+% draw z0{dir phangle} ..tension 1.15.. {dir -phangle}z1;
+% draw z0{dir -phangle} ..tension 1.15.. {dir phangle}z1;
+%endchar;
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% Other symbols
-gbhalfloop ("o", 2, 11, 0); % gauge boson half loop";
+garrow("a", 0, 1);
beginchar ("p", 2blobr#, blobr# + a#, blobr# - a#);
pen; "proper vertex";
@@ -209,18 +467,16 @@ beginchar ("p", 2blobr#, blobr# + a#, blobr# - a#);
addto currentpicture also p2;
currentpicture := currentpicture shifted (blobr,a);
labels (range 1 thru 12);
+ annotate_at((blobr,blobr+a), "top");
endchar;
-beginchar ("q", 0, module#, 0); errorchar(h); endchar;
-beginchar ("r", 0, module#, 0); errorchar(h); endchar;
-beginchar ("s", 0, module#, 0); errorchar(h); endchar;
-beginchar ("t", 0, module#, 0); errorchar(h); endchar;
-beginchar ("u", 0, module#, 0); errorchar(h); endchar;
-beginchar ("v", 0, module#, 0); errorchar(h); endchar;
-
-gbhalfloop ("w", 2, 11, 1); % "gauge boson (half) loop, inverted";
+beginchar ("P", 2blobr#, blobr#+a#, blobr#-a#); % see complete vertex "c"
+ pen; "proper vertex 2";
+ fill (0,a) .. (w,a) .. cycle;% withcolor black;
+ annotate_at((w/2,w/2+a), "top");
+endchar;
-beginchar ("x", 0, blobr#/sqrt 2 + a# , blobr#/sqrt2 - a#); "counterterm";
+beginchar ("x", 0, a#, -a#); "counterterm";
pen;
-x1 = -x2 = x3 = x4;
y1 = -y2 = y3 = -y4;
@@ -228,15 +484,9 @@ beginchar ("x", 0, blobr#/sqrt 2 + a# , blobr#/sqrt2 - a#); "counterterm";
draw z1 .. z4;
draw z2 .. z3;
currentpicture := currentpicture shifted (0,a);
+ annotate_at(0.5[z1,z3] shifted (0,a), "top");
endchar;
-beginchar ("y", 0, module#, 0); errorchar(h); endchar;
-beginchar ("z", 0, module#, 0); errorchar(h); endchar;
-beginchar (hex"7b", 0, module#, 0); errorchar(h); endchar;
-beginchar (hex"7c", 0, module#, 0); errorchar(h); endchar;
-beginchar (hex"7d", 0, module#, 0); errorchar(h); endchar;
-beginchar (hex"7e", 0, module#, 0); errorchar(h); endchar;
-
beginchar (hex"7F", module#, a#, 0); "space block";
pen;
draw origin--(w,h);
@@ -245,30 +495,136 @@ beginchar (hex"7F", module#, a#, 0); "space block";
endchar;
+% Now generate an errorchar() in each of the code positions we've skipped
+for n = 0 upto hex"7F":
+ if not known(donechar[n]):
+ beginchar (n, 0, module#, 0); errorchar(h); endchar;
+ fi
+endfor
+
+
% Construct the ligature tables.
-ligtable "f" : % fermion
- "s" =: hex"65", % short
- "u" =: hex"01", % up
- "d" =: hex"00", % down
- "v" =: hex"02", % vertical
- "l" =: hex"6e", % loop
- "0" =: hex"60"; % spacer
-ligtable hex"65" : % short fermion
- "0" =: hex"62"; % short spacer
-ligtable "m" :
- "s" =: hex"6c"; % short massive
-ligtable "g" : % gauge boson
- "l" =: hex"6F", % loop
- "u" =: hex"05", % up
- "d" =: hex"04", % down
- "v" =: hex"06"; % vertical
-ligtable hex"06" : % vertical boson
- "s" =: hex"07", % short
- "b" =: hex"08"; % big
-ligtable hex"6F" : % gauge boson loop
- "u" =: hex"77"; % lower loop
-ligtable "h" : % ghost
- "s" =: "i", % short
- "u" =: hex"11", % up
- "d" =: hex"10"; % down
+ligtable "f" : % fermion
+"A" =: "F", % right-arrowed
+"V" =: hex"06", % left-arrowed
+"u" =: "e", % upward
+"d" =: "d", % downward
+"v" =: "b", % vertical
+"s" =: "k", % short
+"l" =: "l", % loop
+"0" =: hex"60"; % spacer
+
+ligtable "e" : % downward fermion, fd
+"A" =: "E", % arrowed
+"V" =: hex"05";
+
+ligtable "d" : % upward fermion, fu
+"A" =: "D",
+"V" =: hex"04";
+
+ligtable "b" : % vertical fermion, fv
+"A" =: "B",
+"V" =: hex"02";
+
+ligtable "k" : % short fermion
+"0" =: hex"40"; % short spacer
+
+ligtable "l" : % fermion loop
+"u" =: "n", % upside down
+"S" =: "o", % small
+"A" =: "L",
+"V" =: hex"0C";
+
+ligtable "g" : % gluon
+"A" =: "G",
+"V" =: hex"07",
+"u" =: "u",
+"d" =: "v",
+"v" =: oct"175",
+"l" =: "y", % gluon half-loop
+"1" =: "q", % gluon quarter-loop, 1st quadrant (upper-left)
+"2" =: "r", % 2nd
+"3" =: "s", % 3rd
+"4" =: "t"; % 4th
+
+ligtable "m" : % massive fermion
+"A" =: "M",
+"V" =: hex"0D",
+"s" =: hex"0B";
+
+ligtable "n" : % inverted fermion
+"A" =: "N",
+"V" =: hex"0E";
+
+ligtable "o" : % fermion loop small
+"u" =: "w", % upside down
+"A" =: "O",
+"V" =: hex"0F";
+
+ligtable "q" : % gluon, 1st quadrant
+"A" =: "Q",
+"V" =: hex"11";
+
+ligtable "r" : % gluon, 2nd quadrant
+"A" =: "R",
+"V" =: hex"12";
+
+ligtable "s" : % gluon, 3rd quadrant
+"A" =: "S",
+"V" =: hex"13";
+
+ligtable "t" : % gluon, 4th quadrant
+"A" =: "T",
+"V" =: hex"14";
+
+ligtable "u" : % upward gluon
+"A" =: "U",
+"V" =: hex"15";
+
+ligtable "v" : % downward gluon
+"A" =: "V",
+"V" =: hex"16";
+
+ligtable "w" : % fermion loop, small, upside-down
+"A" =: "W",
+"V" =: oct"027";
+
+ligtable oct"175" : % vertical gluon
+"A" =: oct"135",
+"V" =: oct"035";
+
+ligtable "y" : % gluon half-loop
+"A" =: "Y",
+"V" =: hex"19",
+"B" =: hex"7B", % large
+"S" =: hex"7C", % small
+"u" =: "z"; % ...upside down
+
+ligtable hex"7B" : % large gluon half loop
+"A" =: hex"5B",
+"V" =: hex"1B";
+
+ligtable hex"7C" : % small gluon half loop
+"A" =: hex"5C",
+"V" =: hex"1C";
+
+ligtable "z" : % upside-down gluon loop
+"A" =: "Z",
+"V" =: hex"1A";
+
+ligtable "h" : % ghost
+"A" =: "H",
+"V" =: hex"08",
+"u" =: "i", % upward
+"d" =: "j", % downward
+"s" =: "K"; % short
+
+ligtable "i" : % upward ghost
+"A" =: "I",
+"V" =: hex"09";
+
+ligtable "j" : % downward ghost
+"A" =: "J",
+"V" =: hex"0A";
+
diff --git a/Master/texmf-dist/fonts/source/public/feyn/feyn10.mf b/Master/texmf-dist/fonts/source/public/feyn/feyn10.mf
deleted file mode 100644
index 6c6e926d19b..00000000000
--- a/Master/texmf-dist/fonts/source/public/feyn/feyn10.mf
+++ /dev/null
@@ -1,37 +0,0 @@
-% Feynman diagram font, 10pt display size.
-%
-% Copyright 1991, 1994, 2001, Norman Gray <norman@astro.gla.ac.uk>
-% $Id: feyn10.mf,v 1.6 2001/08/20 21:40:31 norman Exp $
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%
-% First the base size
-
-module# := 10pt#;
-
-% phfudge is ... what?!
-phfudge# := 0pt#; % must be, for \Diagram macro
-
-linewidth# := 0.75pt#; % pen width
-thinlinewidth# := 0.5pt#; % thin pen
-bigarrow# := 6pt#; % size of arrows
-littlearrow# := 4pt#;
-blobr# := 6.5pt#; % radius of blobs and crosses
-
-% We want the roman digits from the corresponding cmr font, and that's
-% all. Therefore, we don't want to obey the `generate' command in
-% cmr??.mf. To do this, we read in cmbase, and then set generate to
-% gobble its argument.
-def gobble primary g=enddef; % gobbles its argument
-input cmbase; % Read it explicitly, rather than
- % implicitly within cmr10
-let generate=gobble;
-input cmr10; % ...but miss out the `generate roman'
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%
-% To business....
-
-input feyn;
-
-end
diff --git a/Master/texmf-dist/fonts/source/public/feyn/feyn11.mf b/Master/texmf-dist/fonts/source/public/feyn/feyn11.mf
deleted file mode 100644
index 0b49e8988d1..00000000000
--- a/Master/texmf-dist/fonts/source/public/feyn/feyn11.mf
+++ /dev/null
@@ -1,37 +0,0 @@
-% Feynman diagram font, 11pt display size.
-%
-% Copyright 1991, 1994, 2001, Norman Gray <norman@astro.gla.ac.uk>
-% $Id: feyn11.mf,v 1.3 2001/08/20 21:40:31 norman Exp $
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%
-% First the base size
-
-module# := 11pt#;
-
-% phfudge is ... what?!
-phfudge# := 0pt#; % must be, for \Diagram macro
-
-linewidth# := 0.85pt#; % pen width
-thinlinewidth# := 0.55pt#; % thin pen
-bigarrow# := 6.5pt#; % size of arrows
-littlearrow# := 4.5pt#;
-blobr# := 6.5pt#; % radius of blobs and crosses
-
-% We want the roman digits from the corresponding cmr font, and that's
-% all. Therefore, we don't want to obey the `generate' command in
-% cmr??.mf. To do this, we read in cmbase, and then set generate to
-% gobble its argument.
-def gobble primary g=enddef; % gobbles its argument
-input cmbase; % Read it explicitly, rather than
- % implicitly within cmr10
-let generate=gobble;
-input cmr11; % ...but miss out the `generate roman'
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%
-% To business....
-
-input feyn;
-
-end
diff --git a/Master/texmf-dist/fonts/source/public/feyn/feyn12.mf b/Master/texmf-dist/fonts/source/public/feyn/feyn12.mf
deleted file mode 100644
index 38854808ba6..00000000000
--- a/Master/texmf-dist/fonts/source/public/feyn/feyn12.mf
+++ /dev/null
@@ -1,37 +0,0 @@
-% Feynman diagram font, 12pt display size.
-%
-% Copyright 1991, 1994, 2001, Norman Gray <norman@astro.gla.ac.uk>
-% $Id: feyn12.mf,v 1.4 2001/08/20 21:40:32 norman Exp $
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%
-% First the base size
-
-module# := 12pt#;
-
-% phfudge is ... what?!
-phfudge# := 0pt#; % must be, for \Diagram macro
-
-linewidth# := 0.9pt#; % pen width
-thinlinewidth# := 0.6pt#; % thin pen
-bigarrow# := 7pt#; % size of arrows
-littlearrow# := 5pt#;
-blobr# := 7.5pt#; % radius of blobs and crosses
-
-% We want the roman digits from the corresponding cmr font, and that's
-% all. Therefore, we don't want to obey the `generate' command in
-% cmr??.mf. To do this, we read in cmbase, and then set generate to
-% gobble its argument.
-def gobble primary g=enddef; % gobbles its argument
-input cmbase; % Read it explicitly, rather than
- % implicitly within cmr10
-let generate=gobble;
-input cmr12; % ...but miss out the `generate roman'
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%
-% To business....
-
-input feyn;
-
-end
diff --git a/Master/texmf-dist/fonts/source/public/feyn/feynmac.mf b/Master/texmf-dist/fonts/source/public/feyn/feynmac.mf
index 568720d99be..e6df38b25d5 100644
--- a/Master/texmf-dist/fonts/source/public/feyn/feynmac.mf
+++ b/Master/texmf-dist/fonts/source/public/feyn/feynmac.mf
@@ -1,156 +1,108 @@
-% The following macros produce general gauge boson half-loops, and fermions
-% bosons and ghosts at arbitrary angles.
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
-% They are:
-% def gbhalfloop (expr charno, wid, nopts, inv) =
-% charno character number
-% wid character width in double modules
-% (= length of fermion)
-% nopts number of intermediate points in the loop
-% inv if <> 0, invert the loop
-%
-% def gfermion (expr code, ang) =
-% def gboson (expr code, ang, stretch, taper) =
-% def gghost (expr code, ang) =
-% code character position
-% ang angle anticlockwise from x-axis
-% -90 <= ang <= +90, or all hell will break loose
-% stretch Produces a character which is of length
-% (2module*stretch). We need this so that we can
-% construct a vertical propagator which will
-% mesh smoothly with a photon half-loop.
-% taper When a vertical photon has to join a loop which
-% is raised at its central point, it has to taper
-% to squeeze into the gap.
+% Macros to support feyn.mf
+% Release 0.3.1, 2008 February 29
def looselink = ..tension 0.75.. enddef;
def pen = pickup diagram_pen enddef;
-
numeric nn;
def dirlooselink(expr point,rtn) =
looselink{(-point) rotated (90-rtn)}point enddef;
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
-def gbhalfloop (expr charno, wid, nopts, inv) =
- % charno character number
- % wid character width in double modules (= length of fermion)
- % nopts number of intermediate points in the loop
- % inv if <> 0, invert the loop
- halfwidth# := wid*module# ;
- define_pixels (halfwidth);
- if odd (nopts): nn := nopts
- else: nn := nopts+1
- fi; % nn is odd
- if inv <> 0: % invert it
- beginchar (charno, 0, a#, halfwidth# + phfudge# - a#);
- else:
- beginchar (charno, 0, halfwidth# + phfudge# + a#, 0);
- fi
- pen; "gauge boson (half) loop";
- z1 = (-halfwidth,0);
- z[nn+1] = (halfwidth, 0);
- for x = 2 upto nn:
- z[x] = z1 rotated (- (x-1) * 180 / nn);
- endfor
- draw z1{dir (180-phangle)}
- for x = 2 step 2 until nn:
- dirlooselink(z[x], phangle) dirlooselink(z[x+1], -phangle)
- endfor
- looselink {dir (180+phangle)}z[nn+1];
- if inv <> 0:
- currentpicture := currentpicture reflectedabout ((0,0),(1,0)); fi
- currentpicture := currentpicture shifted (0,a); % shift up to axis
-% labels (range 1 thru nn+1);
+% Draw three related characters, one plain, one with an right-pointing
+% arrow, and one with a left-pointing one, at basechar, basechar-0x20 and
+% basechar-0x60.
+def threechars(expr basechar, name, cp, apoint, wsharp, hsharp, dsharp,
+ anudge, apos) =
+ % basechar : the charcode of the character in the lowercase range
+ % name : the name of the character
+ % cp : the path to be drawn
+ % apoint : the point along the path where arrow and annotation are to go
+ % wsharp, hsharp, dsharp : the sharped dimensions of the character
+ % anudge : if a pair, the offset from (point apoint of cp) where
+ % the annotation is to go (usually numeric 0, indicating
+ % no offset)
+ % apos : one of the apos arguments to annotate_at
+ beginchar (basechar, wsharp, hsharp, dsharp);
+ name;
+ pen;
+ draw cp;
+ annotate_at(point apoint of cp if (pair anudge): shifted anudge fi,
+ apos);
+ endchar;
+ beginchar (byte basechar-hex"20", wsharp, hsharp, dsharp);
+ "r-arrowed " & name;
+ pen;
+ draw cp;
+ drawarrow (littlearrow,
+ point apoint of cp,
+ angle(direction apoint of cp));
+ annotate_at(point apoint of cp if (pair anudge): shifted anudge fi,
+ apos);
+ endchar;
+ beginchar (byte basechar-hex"60", wsharp, hsharp, dsharp);
+ "l-arrowed " & name;
+ pen;
+ draw cp;
+ drawarrow (littlearrow,
+ point apoint of cp,
+ angle(direction apoint of cp) + 180);
+ annotate_at(point apoint of cp if (pair anudge): shifted anudge fi,
+ apos);
endchar;
enddef;
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%
-% The following characters are in boxes the same vertical size as the black
-% bit of the character, but they project out of the top by an amount equal to
-% the height of the math axis, and are that same height clear of the bottom
-% of the box.
-%
-%%%% -90 <= ang <= +90, or all hell will break loose
-
-
-def gfermion (expr code, ang) =
- beginchar (code, 2module#*(cosd ang), 2module#*(abs sind ang), 0);
- pen;
- if ang > 0 : % slopes upward
- draw (0,a) .. (w,h+a);
- else :
- draw (0,h+a) .. (w,a);
- fi
- endchar;
+% Writes on the log file a string consisting of
+% annotate charcode xofs yofs apos
+% where charcode is the current character code, and xofs and yofs are the
+% positions of the given point, relative to the reference point, in units
+% of the font module. The string apos is one of top, bot, urt, ulft, lrt,
+% llft, to indicate where the annotation is to sit, relative to the
+% indicated position.
+%
+% Must be called within beginchar()...endchar;
+def annotate_at (expr p, apos) =
+ message "annotate " & decimal charcode & " " &
+ decimal (xpart p/module) & " " & decimal (ypart p/module) & " "
+ & apos & " ";
enddef;
-def gboson (expr code, ang, stretch, taper) =
- beginchar (code,
- 2module#*(cosd ang)*stretch, 2module#*(abs sind ang)*stretch, 0);
- pen;
- if ang > 0 : % slopes upward
- z1 = (0,a); z5 = (w,h+a);
- else :
- z1 = (0,h+a); z5 = (w,a);
- fi
- z2-z1 = z3-z2 = z4-z3 = z5-z4;
- def ::(expr b) = {dir (ang+b)} looselink {dir (ang-b)} enddef;
- draw z1 ::(phangle) z2 ::(-phangle) z3 ::(phangle) z4
- if taper <> 0 : {dir (ang-phangle)} .. tension 1 and 0.8 ..
- {dir (ang+phangle/2)}
- else : ::(-phangle)
- fi
- z5;
- endchar;
-enddef;
+% Draw an arrow.
+def drawarrow (expr size, pos, ang) =
+ % size : the scale of the arrow
+ % pos : the position of the arrow, relative to the reference point
+ % ang : the direction in which the arrow points
+ begingroup
+ pair t[];
+ y0 = y1 = y4 = 0;
+ x1 = -4x4 = -2x2 = size;
+
+ x2 = x3 = x0;
+ y2 - y0 = y0 - y3 = size/2;
-def gghost (expr code, ang) =
- beginchar (code, 2module#*(cosd ang), 2module#*(abs sind ang), 0);
- pen;
- if ang > 0 : % slopes upward
- z1 = (0,a); z10 = (w,h+a);
- else :
- z1 = (0,h+a); z10 = (w,a);
- fi
- z4-z3 = 2(z2-z1);
- z4-z3 = z6-z5 = z8-z7;
- z2-z1 = z3-z2 = z5-z4 = z7-z6 = z9-z8 = z10-z9;
- draw z1..z2; draw z3..z4; draw z5..z6; draw z7..z8; draw z9..z10;
- endchar;
+ forsuffixes s = 1,2,3,4 :
+ t[s] := z[s] rotated ang shifted pos;
+ endfor;
+ fill t4--t2--t1--t3--cycle;
+
+ endgroup
enddef;
def garrow (expr code, ang, onaxis) =
-% If onaxis is 1, the arrow will be on the math axis, if 0, it'll be at the
-% origin, and slightly smaller.
-% We need the latter behaviour because \arrow places the arrow in a
-% particular spot in the diagram.
-
numeric localarrowsize;
-
- if onaxis = 1 :
- localarrowsize := bigarrow;
- else :
+% if onaxis = 1 :
+% localarrowsize := bigarrow;
+% else :
localarrowsize := littlearrow;
- fi
+% fi
- beginchar (code, 0, 0, 0); "garrow";
- pair t[];
- z1 = (localarrowsize, onaxis*a);
- z4 = (-localarrowsize/4,onaxis*a);
- z0 = (-localarrowsize/2,onaxis*a);
- z2 = z0 + (0,localarrowsize/2);
- z3 = z0 - (0,localarrowsize/2);
-
- forsuffixes s = 1,2,3,4 :
- t[s] = z[s] rotated ang;
- endfor
-
- fill t4--t2--t1--t3--cycle;
+ beginchar (code, 0, 0, 0); "garrow";
+ drawarrow (localarrowsize, (0, onaxis*a), ang);
endchar;
enddef;
@@ -181,8 +133,10 @@ def errorchar (expr ht) =
if y[i] <= y[ilowest]: ilowest := i; fi
endfor
draw z[ilowest]{dir (ilowest*360/npetals)}..origin;
- %draw z[npetals-2]{dir ((npetals-2)*360/npetals)}..origin;
- draw origin{dir 0}..(rad,rad);
- draw (rad,rad){dir 180}..origin;
+ pair leafend;
+ xpart(leafend) = 2rad; % want something like currentpicture.rt;
+ ypart(leafend) = 2y[ilowest]/3;
+ draw origin{dir 60} .. leafend;
+ draw leafend .. {dir 180}origin;
endgroup
enddef;
diff --git a/Master/texmf-dist/fonts/source/public/feyn/feyntext10.mf b/Master/texmf-dist/fonts/source/public/feyn/feyntext10.mf
deleted file mode 100644
index 06760cd0a45..00000000000
--- a/Master/texmf-dist/fonts/source/public/feyn/feyntext10.mf
+++ /dev/null
@@ -1,37 +0,0 @@
-% Feynman diagram font, 10pt text size.
-%
-% Copyright 1991, 1994, 2001, Norman Gray <norman@astro.gla.ac.uk>
-% $Id: feyntext10.mf,v 1.2 2001/08/20 21:40:32 norman Exp $
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%
-% First the base size
-
-module# := 5pt#;
-
-% phfudge is ... what?!
-phfudge# := 0pt#; % must be, for \Diagram macro
-
-linewidth# := 0.5pt#; % pen width
-thinlinewidth# := 0.4pt#; % thin pen
-bigarrow# := 4pt#; % size of arrows
-littlearrow# := 3pt#;
-blobr# := 3.5pt#; % radius of blobs and crosses
-
-% We want the roman digits from the corresponding cmr font, and that's
-% all. Therefore, we don't want to obey the `generate' command in
-% cmr??.mf. To do this, we read in cmbase, and then set generate to
-% gobble its argument.
-def gobble primary g=enddef; % gobbles its argument
-input cmbase; % Read it explicitly, rather than
- % implicitly within cmr10
-let generate=gobble;
-input cmr10; % ...but miss out the `generate roman'
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%
-% To business....
-
-input feyn;
-
-end
diff --git a/Master/texmf-dist/fonts/source/public/feyn/feyntext11.mf b/Master/texmf-dist/fonts/source/public/feyn/feyntext11.mf
deleted file mode 100644
index 89666d6168e..00000000000
--- a/Master/texmf-dist/fonts/source/public/feyn/feyntext11.mf
+++ /dev/null
@@ -1,37 +0,0 @@
-% Feynman diagram font, 11pt text size.
-%
-% Copyright 1991, 1994, 2001, Norman Gray <norman@astro.gla.ac.uk>
-% $Id: feyntext11.mf,v 1.2 2001/08/20 21:40:33 norman Exp $
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%
-% First the base size
-
-module# := 5.5pt#;
-
-% phfudge is ... what?!
-phfudge# := 0pt#; % must be, for \Diagram macro
-
-linewidth# := 0.5pt#; % pen width
-thinlinewidth# := 0.4pt#; % thin pen
-bigarrow# := 4.5pt#; % size of arrows
-littlearrow# := 3.5pt#;
-blobr# := 3.5pt#; % radius of blobs and crosses
-
-% We want the roman digits from the corresponding cmr font, and that's
-% all. Therefore, we don't want to obey the `generate' command in
-% cmr??.mf. To do this, we read in cmbase, and then set generate to
-% gobble its argument.
-def gobble primary g=enddef; % gobbles its argument
-input cmbase; % Read it explicitly, rather than
- % implicitly within cmr10
-let generate=gobble;
-input cmr11; % ...but miss out the `generate roman'
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%
-% To business....
-
-input feyn;
-
-end
diff --git a/Master/texmf-dist/fonts/source/public/feyn/feyntext12.mf b/Master/texmf-dist/fonts/source/public/feyn/feyntext12.mf
deleted file mode 100644
index 8df3015ec26..00000000000
--- a/Master/texmf-dist/fonts/source/public/feyn/feyntext12.mf
+++ /dev/null
@@ -1,37 +0,0 @@
-% Feynman diagram font, 12pt text size.
-%
-% Copyright 1991, 1994, 2001, Norman Gray <norman@astro.gla.ac.uk>
-% $Id: feyntext12.mf,v 1.3 2002/04/18 22:33:10 norman Exp $
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%
-% First the base size
-
-module# := 6pt#;
-
-% phfudge is ... what?!
-phfudge# := 0pt#; % must be, for \Diagram macro
-
-linewidth# := 0.55pt#; % pen width
-thinlinewidth# := 0.45pt#; % thin pen
-bigarrow# := 5pt#; % size of arrows
-littlearrow# := 4pt#;
-blobr# := 4pt#; % radius of blobs and crosses
-
-% We want the roman digits from the corresponding cmr font, and that's
-% all. Therefore, we don't want to obey the `generate' command in
-% cmr??.mf. To do this, we read in cmbase, and then set generate to
-% gobble its argument.
-def gobble primary g=enddef; % gobbles its argument
-input cmbase; % Read it explicitly, rather than
- % implicitly within cmr10
-let generate=gobble;
-input cmr12; % ...but miss out the `generate roman'
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%
-% To business....
-
-input feyn;
-
-end