summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2015-06-20 13:18:02 +0000
committerKarl Berry <karl@freefriends.org>2015-06-20 13:18:02 +0000
commit327fe7db70203b43deb33d496a9d2f6736032981 (patch)
tree2326ee7532b178a460575b8327326ed5747c226e
parent265eb77be2ea7991cb155d175740f1978b9aff45 (diff)
fge (21may15)
git-svn-id: svn://tug.org/texlive/trunk@37628 c570f23f-e606-0410-a88d-b1316a301751
-rw-r--r--Master/texmf-dist/doc/fonts/fge/README8
-rw-r--r--Master/texmf-dist/doc/fonts/fge/fge-doc.pdfbin143257 -> 136906 bytes
-rw-r--r--Master/texmf-dist/fonts/map/dvips/fge/fge.map1
-rw-r--r--Master/texmf-dist/fonts/source/public/fge/fgebase.mf59
-rw-r--r--Master/texmf-dist/fonts/source/public/fge/fgeit.mf169
-rw-r--r--Master/texmf-dist/fonts/source/public/fge/fgeit10.mf1
-rw-r--r--Master/texmf-dist/fonts/source/public/fge/fgerm.mf923
-rw-r--r--Master/texmf-dist/fonts/source/public/fge/fgerm10.mf1
-rw-r--r--Master/texmf-dist/fonts/tfm/public/fge/fgeit10.tfmbin536 -> 472 bytes
-rw-r--r--Master/texmf-dist/fonts/tfm/public/fge/fgerm10.tfmbin588 -> 532 bytes
-rw-r--r--Master/texmf-dist/fonts/type1/public/fge/fgeit10.pfbbin9518 -> 9760 bytes
-rw-r--r--Master/texmf-dist/fonts/type1/public/fge/fgerm10.pfbbin14816 -> 16524 bytes
-rw-r--r--Master/texmf-dist/source/fonts/fge/fge.dtx69
-rw-r--r--Master/texmf-dist/source/fonts/fge/fge.ins1
-rw-r--r--Master/texmf-dist/tex/latex/fge/Ufgeit.fd2
-rw-r--r--Master/texmf-dist/tex/latex/fge/Ufgerm.fd2
-rw-r--r--Master/texmf-dist/tex/latex/fge/fge.sty6
-rwxr-xr-xMaster/tlpkg/libexec/ctan2tds1
18 files changed, 666 insertions, 577 deletions
diff --git a/Master/texmf-dist/doc/fonts/fge/README b/Master/texmf-dist/doc/fonts/fge/README
index 1cf8daa8a6b..78890d5b61d 100644
--- a/Master/texmf-dist/doc/fonts/fge/README
+++ b/Master/texmf-dist/doc/fonts/fge/README
@@ -11,11 +11,11 @@ This package contains several characters derived largely from
the Computer Modern fonts, (c) D.E. Knuth. The spritus lenis
accent is a simplified version of that in the Ibycus font
(c) Pierre A. MacKay. The remainder of this work is Copyright
-(c) J.J. Green 2007, 2009, 2011 and subject to the LaTeX Project
-Public License.
+(c) J.J. Green 2007, 2015 and subject to the LaTeX Project Public
+License.
Further information on the font can be found at
- http://soliton.vm.bytemark.co.uk/pub/jjg/en/code/fge.html
+ http://soliton.vm.bytemark.co.uk/pub/jjg/en/code/fge/
-J.J. Green 2011
+J.J. Green 2015
diff --git a/Master/texmf-dist/doc/fonts/fge/fge-doc.pdf b/Master/texmf-dist/doc/fonts/fge/fge-doc.pdf
index 3f7ee7f6eeb..10a4423dcea 100644
--- a/Master/texmf-dist/doc/fonts/fge/fge-doc.pdf
+++ b/Master/texmf-dist/doc/fonts/fge/fge-doc.pdf
Binary files differ
diff --git a/Master/texmf-dist/fonts/map/dvips/fge/fge.map b/Master/texmf-dist/fonts/map/dvips/fge/fge.map
index 98ffed08998..b9d6f6b0eed 100644
--- a/Master/texmf-dist/fonts/map/dvips/fge/fge.map
+++ b/Master/texmf-dist/fonts/map/dvips/fge/fge.map
@@ -1,4 +1,3 @@
% ps font map for fge
-% $Id: fge.map,v 1.5 2009/05/06 12:17:29 jjg Exp $
fgerm10 fgerm10 <fgerm10.pfb
fgeit10 fgeit10 <fgeit10.pfb
diff --git a/Master/texmf-dist/fonts/source/public/fge/fgebase.mf b/Master/texmf-dist/fonts/source/public/fge/fgebase.mf
index 3b990c9ca67..05df8510900 100644
--- a/Master/texmf-dist/fonts/source/public/fge/fgebase.mf
+++ b/Master/texmf-dist/fonts/source/public/fge/fgebase.mf
@@ -1,84 +1,83 @@
% fgebase.mf : Supplemental defintions for fge
% J.J. Green 2005-2006
-% $Id: fgebase.mf,v 1.7 2007/01/24 00:03:04 jjg Exp $
fgebase := 1;
% vertical versions of knuth's bulb, not sure why need quite
% so many of these
-def vbulb(suffix $,$$,$$$) =
+def vbulb(suffix $, $$, $$$) =
z$$$r = z$$r;
- path_.l := z$l{0,y$$r-y$r}...{x$$r-x$r,0}z$$l;
- filldraw path_.l--z$$r{y$r-y$$r,0}...{0,x$r-x$$r}z$r--cycle; % link
- path_.r := z$$$l{x$r-x$$r,0}..z$$$r{x$$r-x$r,0}; % near-circle
- filldraw path_.r--z$$l{x$$r-x$r,0}..cycle; % bulb
+ path_.l := z$l{0, y$$r-y$r}...{x$$r-x$r, 0}z$$l;
+ filldraw path_.l--z$$r{y$r-y$$r, 0}...{0, x$r-x$$r}z$r--cycle; % link
+ path_.r := z$$$l{x$r-x$$r, 0}..z$$$r{x$$r-x$r, 0}; % near-circle
+ filldraw path_.r--z$$l{x$$r-x$r, 0}..cycle; % bulb
enddef;
-def dlbulb(suffix $,$$,$$$) =
+def dlbulb(suffix $, $$, $$$) =
z$$$r = z$$r;
- path_.l := z$l{0,y$$r-y$r}...{x$$r-x$r,0}z$$l;
- filldraw path_.l--z$$r{y$$r-y$r,0}...{0,x$$r-x$r}z$r--cycle; % link
- path_.r := z$$$l{x$$r-x$r,0}..z$$$r{x$r-x$$r,0}; % near-circle
- filldraw path_.r--z$$l{x$r-x$$r,0}..cycle; % bulb
+ path_.l := z$l{0, y$$r-y$r}...{x$$r-x$r, 0}z$$l;
+ filldraw path_.l--z$$r{y$$r-y$r, 0}...{0, x$$r-x$r}z$r--cycle; % link
+ path_.r := z$$$l{x$$r-x$r, 0}..z$$$r{x$r-x$$r, 0}; % near-circle
+ filldraw path_.r--z$$l{x$r-x$$r, 0}..cycle; % bulb
enddef;
-def drbulb(suffix $,$$,$$$) =
+def drbulb(suffix $, $$, $$$) =
z$$$r = z$$r;
- path_.l := z$l{0,y$$r-y$r}...{-x$r+x$$r,0}z$$l;
- filldraw path_.l--z$$r{y$r-y$$r,0}...{0,x$r-x$$r}z$r--cycle; % link
- path_.r := z$$$l{x$$r-x$r,0}..z$$$r{x$r-x$$r,0}; % near-circle
- filldraw path_.r--z$$l{x$r-x$$r,0}..cycle; % bulb
+ path_.l := z$l{0, y$$r-y$r}...{-x$r+x$$r, 0}z$$l;
+ filldraw path_.l--z$$r{y$r-y$$r, 0}...{0, x$r-x$$r}z$r--cycle; % link
+ path_.r := z$$$l{x$$r-x$r, 0}..z$$$r{x$r-x$$r, 0}; % near-circle
+ filldraw path_.r--z$$l{x$r-x$$r, 0}..cycle; % bulb
enddef;
% vertical arm
-vardef varm(suffix $,$$,@)(expr darkness,jut) = % arm from |z$| to |z$$|
+vardef varm(suffix $, $$, @)(expr darkness, jut) = % arm from |z$| to |z$$|
y@0=good.y(y$$r-jut);
x@0=x$r;
if serifs: x@1=x$l; z@1=z$$l+whatever*(z$$r-z@0);
- z@2=.5[z$l,z@1];
- path p_; p_= z$$l{z@1-z$$l}...darkness[z@1,.5[z@2,z$$l] ]...z@2
+ z@2=.5[z$l, z@1];
+ path p_; p_= z$$l{z@1-z$$l}...darkness[z@1, .5[z@2, z$$l] ]...z@2
---z$l--z$r--z@0--z$$r--cycle;
if (x$$>x$) <> (xpart precontrol 1 of p_ > xpart postcontrol 1 of p_):
- p_:=z$$l{z@1-z$$l}...darkness[z@1,.5[z@2,z$$l] ]
+ p_:=z$$l{z@1-z$$l}...darkness[z@1, .5[z@2, z$$l] ]
---z$l--z$r--z@0--z$$r--cycle;
fi
filldraw p_; % arm and beak
else:
filldraw z$l--z$r--z@0--z$$r--cycle;
fi % sans-serif arm
- penlabels(@0,@1,@2);
+ penlabels(@0, @1, @2);
enddef;
-% horizontal serifs for rotated characters: here interchange x & y,
+% horizontal serifs for rotated characters: here interchange x & y,
% so top is right, left is bot and so on
-vardef hserif(suffix $,$$,@) % serif at |z$| for stroke from |z$$|
- (expr darkness,jut) suffix modifier =
+vardef hserif(suffix $, $$, @) % serif at |z$| for stroke from |z$$|
+ (expr darkness, jut) suffix modifier =
pickup crisp.nib; numeric bracket_height; pair downward;
bracket_height=if dark.modifier: 1.5 fi\\ bracket;
if x$<x$$:
- x@2=min(x$+bracket_height,x$$);
+ x@2=min(x$+bracket_height, x$$);
rt x@1-slab = lft x@0+eps = tiny.lft x$;
downward = z$-z$$;
if x@1>x@2: x@2:=x@1; fi
else:
- x@2 = max(x$-bracket_height,x$$);
+ x@2 = max(x$-bracket_height, x$$);
lft x@1+slab = rt x@0-eps = tiny.rt x$;
downward = z$$-z$;
if x@1<x@2: x@2:=x@1; fi
fi
x@3 = x@2;
- z@3 = whatever[z$,z$$];
+ z@3 = whatever[z$, z$$];
if jut<0:
z@2-penoffset downward of currentpen =
z$r-penoffset downward of pen_[tiny.nib]+whatever*downward;
@@ -94,8 +93,8 @@ vardef hserif(suffix $,$$,@) % serif at |z$| for stroke from |z$$|
xpart corner=x@1;
corner = z@2+whatever*downward;
filldraw
- z@2{z$-z$$}...darkness[corner,0.5[z@1,z@2]]{z@1-z@2}
- ...{0,jut}z@1--z@0--(x@0,y$)--z@3--cycle; % the serif
- labels (@1,@2);
+ z@2{z$-z$$}...darkness[corner, 0.5[z@1, z@2]]{z@1-z@2}
+ ...{0, jut}z@1--z@0--(x@0, y$)--z@3--cycle; % the serif
+ labels (@1, @2);
enddef;
diff --git a/Master/texmf-dist/fonts/source/public/fge/fgeit.mf b/Master/texmf-dist/fonts/source/public/fge/fgeit.mf
index d06e2f83fcd..74620e52799 100644
--- a/Master/texmf-dist/fonts/source/public/fge/fgeit.mf
+++ b/Master/texmf-dist/fonts/source/public/fge/fgeit.mf
@@ -1,6 +1,5 @@
% fgeit.mf : fge italic characters
% J.J. Green 2006
-% $Id: fgeit.mf,v 1.15 2007/04/04 21:47:15 jjg Exp $
mode_setup;
font_setup;
@@ -15,15 +14,15 @@ slantfont slantfge;
% the left.
cmchar "inverted f with hook";
-beginchar("f",7.5u#,asc_height#,desc_depth#);
+beginchar("f", 7.5u#, asc_height#, desc_depth#);
italcorr h#*slant + 0.5stem# - 2.5u#;
- adjust_fit(serif_fit# + 2stem_shift#,serif_fit# - 2stem_shift#);
+ adjust_fit(serif_fit# + 2stem_shift#, serif_fit# - 2stem_shift#);
pickup tiny.nib;
% stem
- pos1(stem',0); pos2(stem',0);
+ pos1(stem', 0); pos2(stem', 0);
rt.x1r = hround(w/2 + 5u/4 + stem'/2);
x1 = x2;
@@ -34,8 +33,8 @@ beginchar("f",7.5u#,asc_height#,desc_depth#);
% bar
- pos3(bar,90);
- pos4(bar,90);
+ pos3(bar, 90);
+ pos4(bar, 90);
bot y3l = bot y4l = 0;
rt x4 = hround(w - 1/3u);
@@ -45,41 +44,41 @@ beginchar("f",7.5u#,asc_height#,desc_depth#);
% arc and bulb
- pos5(vair',-90);
- pos6(hair,-180);
- pos7(flare,-180);
+ pos5(vair', -90);
+ pos6(hair, -180);
+ pos7(flare, -180);
- x5 = 1/2[x2,x6r];
+ x5 = 1/2[x2, x6r];
bot y5r = -d-oo;
y6 = 1/2flair = -0.88d;
z6r = z7r;
rt x7l = floor 11/4u;
- (x,y5r) = whatever[z5l,z2l];
- x5r := max(x,1/2[x6r,x5]);
+ (x, y5r) = whatever[z5l, z2l];
+ x5r := max(x, 1/2[x6r, x5]);
filldraw stroke z2e{down}...z5e{left};
- bulb(5,6,7);
+ bulb(5, 6, 7);
% hook
- pos8(0.5[hair,curve],0);
+ pos8(0.5[hair, curve], 0);
rt x8r = lft x1l;
y8 = 0.5x_height;
- pos9(curve,90);
+ pos9(curve, 90);
top y9r = x_height + oo;
- x9 = 0.4[0,x8l];
+ x9 = 0.4[0, x8l];
- pos10(hair,180);
- pos11(hair,-90);
+ pos10(hair, 180);
+ pos11(hair, -90);
z9 - z10 = 2.0u*dir(45);
z8 - z11 = 2.0u*dir(55);
filldraw stroke z11e{right}...z8e{up}...{left}z9e...{down}z10e;
- penlabels(1,2,3,4,5,6,7,8,9,10,11);
+ penlabels(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11);
endchar;
@@ -91,9 +90,9 @@ endchar;
% needed for consistency with computer modern's d.
cmchar "inverted d with hook";
-beginchar("p",13u#,asc_height#,desc_depth#);
+beginchar("p", 13u#, asc_height#, desc_depth#);
italcorr 0.7x_height#*slant - u# + 0.5curve#;
- adjust_fit(0,0);
+ adjust_fit(0, 0);
numeric hook_jut;
hook_jut = w - 9u;
@@ -101,74 +100,74 @@ beginchar("p",13u#,asc_height#,desc_depth#);
pickup fine.nib;
x0 = hook_jut;
x2 - 0.5stem - hook_jut = hround(2.5u-.5stem);
- hook_in(0,1,2); % opening hook
+ hook_in(0, 1, 2); % opening hook
- pos4(hair,-180);
- pos5(vair,-90);
- pos6(curve,0);
- pos7(vair,90);
+ pos4(hair, -180);
+ pos5(vair, -90);
+ pos6(curve, 0);
+ pos7(vair, 90);
x4=x2;
rt x6r=hround(w-1.5u+.5curve);
- x5=x7=.5[x4,x6];
+ x5=x7=.5[x4, x6];
bot y5r=-oo;
top y7r=x_height+oo;
- y4=y6=.5[y5,y7];
+ y4=y6=.5[y5, y7];
- filldraw stroke super_arc.e(4,5) & pulled_arc.e(5,6)
- & pulled_arc.e(6,7) & super_arc.e(7,4); % bowl
+ filldraw stroke super_arc.e(4, 5) & pulled_arc.e(5, 6)
+ & pulled_arc.e(6, 7) & super_arc.e(7, 4); % bowl
pickup tiny.nib;
- pos2'(stem,0);
- pos3(stem,0);
+ pos2'(stem, 0);
+ pos3(stem, 0);
z2=z2';
x3=x2;
bot y3=-d;
filldraw stroke z2'e--z3e; % stem
- sloped_serif.r(3,2',a,1/3,jut,serif_drop); % serif
+ sloped_serif.r(3, 2', a, 1/3, jut, serif_drop); % serif
- math_fit(-min(2/3x_height#*slant-.5hair#-.5u#,
- 2u#-.5stem#-desc_depth#*slant),ic#);
+ math_fit(-min(2/3x_height#*slant-.5hair#-.5u#,
+ 2u#-.5stem#-desc_depth#*slant), ic#);
% bit ad-hoc this
- pos8(hair,0);
+ pos8(hair, 0);
z8r=z0l;
- pos9(curve,90);
- pos10(hair,180);
+ pos9(curve, 90);
+ pos10(hair, 180);
- x9 = 1/2[x8,x10];
- y9r = 1/2[x_height,h];
- y10r = 1/4[y9l,y8];
+ x9 = 1/2[x8, x10];
+ y9r = 1/2[x_height, h];
+ y10r = 1/4[y9l, y8];
x8l - lft x10r = hook_jut;
% filldraw stroke z8e{up}...{left}z9e...{down}z10e;
- filldraw stroke super_arc.e(8,9) & super_arc.e(9,10);
+ filldraw stroke super_arc.e(8, 9) & super_arc.e(9, 10);
- penlabels(0,1,2,3,4,5,6,7,8,9,10);
+ penlabels(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10);
endchar;
cmchar "Overturned lb ligature";
-beginchar(oct "021",12u#,x_height#,desc_depth#);
+beginchar(oct "021", 12u#, x_height#, desc_depth#);
italcorr 0.7x_height#*slant - 0.5u#;
- adjust_fit(0,0);
+ adjust_fit(0, 0);
pickup crisp.nib;
slope := 20;
obstem := stem/cosd(slope);
tsep := 3.75*stem;
- thair := 0.3[hair,obstem];
+ thair := 0.3[hair, obstem];
% 1-2-11-4-5-6 is the left trunk and flourish, 3 is a utility point
- pos1(stem,0);
- pos2(obstem,0);
- pos4(hair,180-slope);
- pos5(hair,-slope);
- pos11(thair,90);
+ pos1(stem, 0);
+ pos2(obstem, 0);
+ pos4(hair, 180-slope);
+ pos5(hair, -slope);
+ pos11(thair, 90);
%x1l = 0.5u;
x2 = x1;
@@ -177,32 +176,32 @@ beginchar(oct "021",12u#,x_height#,desc_depth#);
z2-z3 = whatever*dir(180-slope);
- z4 = 1.13[z3,z2];
- z5 = whatever[z3,z2];
+ z4 = 1.13[z3, z2];
+ z5 = whatever[z3, z2];
x5r = w-0.5u;
x4r = 0.5u;
% z11 lifts the left stroke
- z11 = 0.5[z2,z4] + whatever*dir(90);
+ z11 = 0.5[z2, z4] + whatever*dir(90);
top y11r = x_height + o;
% z6 might be better half-way between the trunks
- z6 = 0.89[z3,z2];
- pos6(hair,angle(z6-z1)+90);
+ z6 = 0.89[z3, z2];
+ pos6(hair, angle(z6-z1)+90);
filldraw stroke z1e--z2e{z2-z1}..z11e..{z1-z2}z4e..tension(1.0)..z5e{z2-z1}..z6e{z1-z6};
- penlabels(1,2,3,11,4,5,6);
+ penlabels(1, 2, 3, 11, 4, 5, 6);
% the right trunk with foot
- pos7(stem,0);
- pos8(hair,90);
- pos9(obstem,0);
- pos10(hair,180-slope);
+ pos7(stem, 0);
+ pos8(hair, 90);
+ pos9(obstem, 0);
+ pos10(hair, 180-slope);
x7-x1 = x9-x2 = tsep;
y7 = y1;
@@ -210,33 +209,33 @@ beginchar(oct "021",12u#,x_height#,desc_depth#);
% the vertical lift point
- x8 = 0.3[x9,x2];
+ x8 = 0.3[x9, x2];
top y8r = x_height + o;
- z10l = 0.8[z1r,z2r];
+ z10l = 0.8[z1r, z2r];
filldraw stroke z7e--z9e{z9-z7}...z8e{left}..tension(2.0)..{z7-z9}z10e;
- % serif(7,9,a,1/3,cap_jut);
- sloped_serif.r(7,9,a,1/3,jut,serif_drop); % serif
+ % serif(7, 9, a, 1/3, cap_jut);
+ sloped_serif.r(7, 9, a, 1/3, jut, serif_drop); % serif
- penlabels(7,8,9,10);
+ penlabels(7, 8, 9, 10);
endchar;
cmchar "inverted F";
-beginchar("F",11.5u#-width_adj#,x_height#,desc_depth#);
+beginchar("F", 11.5u#-width_adj#, x_height#, desc_depth#);
italcorr x_height#*slant-cap_jut#+0.5u#;
- adjust_fit(0,cap_serif_fit#);
+ adjust_fit(0, cap_serif_fit#);
h := vround(h-stem_corr);
pickup tiny.nib;
- pos1(cap_stem,0);
- pos2(cap_stem,0);
+ pos1(cap_stem, 0);
+ pos2(cap_stem, 0);
- rt x1r = rt x2r = hround w - max(2u,3u-0.5cap_stem);
+ rt x1r = rt x2r = hround w - max(2u, 3u-0.5cap_stem);
top y1 = x_height;
bot y2 = -desc_depth;
@@ -244,24 +243,24 @@ beginchar("F",11.5u#-width_adj#,x_height#,desc_depth#);
pickup crisp.nib;
- pos3(slab,-90);
- pos4(hair,180);
+ pos3(slab, -90);
+ pos4(hair, 180);
bot y3r = -desc_depth;
x3 = x1;
rt x4r = hround(0.75u);
y4 = good.y(y3r+beak)-eps;
- arm(3,4,e,beak_darkness,beak_jut); % upper arm and beak
+ arm(3, 4, e, beak_darkness, beak_jut); % upper arm and beak
- pos5(cap_bar,-90);
- pos6(hair,180);
+ pos5(cap_bar, -90);
+ pos6(hair, 180);
- top y5l = vround(.5[y2,y1]+.5cap_bar);
+ top y5l = vround(.5[y2, y1]+.5cap_bar);
x5 = x1;
- pos0(cap_bar,90);
+ pos0(cap_bar, 90);
- pos7(hair,180);
+ pos7(hair, 180);
z0 = z5;
x6 = x7;
y6-y5l = y0l-y7;
@@ -270,14 +269,14 @@ beginchar("F",11.5u#-width_adj#,x_height#,desc_depth#);
y6 = good.y(y5l+.6beak) + eps;
rt x9r = hround(w-.5u);
- arm(5,6,f,beak_darkness,0);
- arm(0,7,g,beak_darkness,0); % middle arm and serif
+ arm(5, 6, f, beak_darkness, 0);
+ arm(0, 7, g, beak_darkness, 0); % middle arm and serif
- nodish_serif(1,2,a,1/3,cap_jut,b,1/3,.5cap_jut); % upper serif
- dish_serif(2,1,c,1/3,cap_jut,d,1/3,1.25cap_jut); % lower serif
+ nodish_serif(1, 2, a, 1/3, cap_jut, b, 1/3, .5cap_jut); % upper serif
+ dish_serif(2, 1, c, 1/3, cap_jut, d, 1/3, 1.25cap_jut); % lower serif
- math_fit(0,ic#-2.5u#);
- penlabels(0,1,2,3,4,5,6,7);
+ math_fit(0, ic#-2.5u#);
+ penlabels(0, 1, 2, 3, 4, 5, 6, 7);
endchar;
diff --git a/Master/texmf-dist/fonts/source/public/fge/fgeit10.mf b/Master/texmf-dist/fonts/source/public/fge/fgeit10.mf
index 2f366ea0cdf..3c90db05262 100644
--- a/Master/texmf-dist/fonts/source/public/fge/fgeit10.mf
+++ b/Master/texmf-dist/fonts/source/public/fge/fgeit10.mf
@@ -1,7 +1,6 @@
% FGE italic 10 point
% this is derived from cmti10.mf by Knuth
% J.J.Green 2006
-% $Id: fgeit10.mf,v 1.2 2007/02/19 23:19:11 jjg Exp $
if unknown cmbase: input cmbase fi
if unknown fgebase: input fgebase fi
diff --git a/Master/texmf-dist/fonts/source/public/fge/fgerm.mf b/Master/texmf-dist/fonts/source/public/fge/fgerm.mf
index 303760c4152..8e121eee212 100644
--- a/Master/texmf-dist/fonts/source/public/fge/fgerm.mf
+++ b/Master/texmf-dist/fonts/source/public/fge/fgerm.mf
@@ -1,6 +1,5 @@
% fgerm.mf : fge roman charcters
% J.J. Green 2005-2006
-% $Id: fgerm.mf,v 1.26 2009/02/27 21:49:33 jjg Exp $
mode_setup;
font_setup;
@@ -11,12 +10,12 @@ proofing := 2;
% are not members of themselves.
cmchar "Overturned A";
-beginchar("A",13u#,x_height#,desc_depth#);
- adjust_fit(cap_serif_fit#,cap_serif_fit#);
+beginchar("A", 13u#, x_height#, desc_depth#);
+ adjust_fit(cap_serif_fit#, cap_serif_fit#);
- numeric left_stem,right_stem,outer_jut,alpha;
+ numeric left_stem, right_stem, outer_jut, alpha;
right_stem = cap_stem-stem_corr;
- left_stem = min(cap_hair,right_stem);
+ left_stem = min(cap_hair, right_stem);
outer_jut = 0.8cap_jut;
w-x1l = x4r = l+letter_fit+outer_jut+0.5u;
@@ -25,19 +24,19 @@ beginchar("A",13u#,x_height#,desc_depth#);
x3r = x2r+apex_corr;
y2 = y3 = -d-apex_o-apex_oo;
- alpha = diag_ratio(2,left_stem,y2-y1,x4r-x1l-apex_corr);
- penpos1(alpha*left_stem,180);
- penpos2(alpha*left_stem,180);
- penpos3(alpha*right_stem,180);
- penpos4(alpha*right_stem,180);
+ alpha = diag_ratio(2, left_stem, y2-y1, x4r-x1l-apex_corr);
+ penpos1(alpha*left_stem, 180);
+ penpos2(alpha*left_stem, 180);
+ penpos3(alpha*right_stem, 180);
+ penpos4(alpha*right_stem, 180);
- z0=whatever[z1r,z2r]=whatever[z3l,z4l];
+ z0=whatever[z1r, z2r]=whatever[z3l, z4l];
- fill z0--diag_end(0,4l,1,1,4r,3r)--diag_end(4r,3r,1,1,2l,1l)
- --diag_end(2l,1l,1,1,1r,0)--cycle;
+ fill z0--diag_end(0, 4l, 1, 1, 4r, 3r)--diag_end(4r, 3r, 1, 1, 2l, 1l)
+ --diag_end(2l, 1l, 1, 1, 1r, 0)--cycle;
- penpos5(whatever,angle(z2-z1)); z5=whatever[z1,z2];
- penpos6(whatever,angle(z3-z4)); z6=whatever[z3,z4];
+ penpos5(whatever, angle(z2-z1)); z5=whatever[z1, z2];
+ penpos6(whatever, angle(z3-z4)); z6=whatever[z3, z4];
y6 = y5;
y5 = 5/12(h-y0);
y5r-y5l = y6r-y6l = cap_band;
@@ -51,85 +50,85 @@ beginchar("A",13u#,x_height#,desc_depth#);
% since prime_points_inside() and dish_serif()
% have the left & right sides of the points hard-coded
- penpos11(alpha*left_stem,0);
- penpos12(alpha*left_stem,0);
+ penpos11(alpha*left_stem, 0);
+ penpos12(alpha*left_stem, 0);
z11 = z1;
z12 = z2;
- penpos13(alpha*right_stem,0);
- penpos14(alpha*right_stem,0);
+ penpos13(alpha*right_stem, 0);
+ penpos14(alpha*right_stem, 0);
z13 = z3;
z14 = z4;
pickup tiny.nib;
- prime_points_inside(11,12);
- prime_points_inside(14,13);
+ prime_points_inside(11, 12);
+ prime_points_inside(14, 13);
inner_jut = cap_jut;
- dish_serif(11',12,a,0.6,inner_jut,b,1/2,outer_jut)(dark);
- dish_serif(14',13,c,1/3,outer_jut,d,1/2,inner_jut);
+ dish_serif(11', 12, a, 0.6, inner_jut, b, 1/2, outer_jut)(dark);
+ dish_serif(14', 13, c, 1/3, outer_jut, d, 1/2, inner_jut);
- penlabels(0,1,2,3,4,5,6);
+ penlabels(0, 1, 2, 3, 4, 5, 6);
endchar;
% rotated eszett
-beginchar(oct"031",4.5u#+max(4.5u#,.5stem#+flare#+curve#),x_height#,desc_depth#);
- adjust_fit(0,serif_fit#);
+beginchar(oct "031", 4.5u#+max(4.5u#, .5stem#+flare#+curve#), x_height#, desc_depth#);
+ adjust_fit(0, serif_fit#);
pickup tiny.nib;
- pos1(stem',0);
- pos2(stem',0);
+ pos1(stem', 0);
+ pos2(stem', 0);
rt x1r = rt x2r = hround(w-2.5u+.5stem');
top y1 = h;
- y2 = y4 = 0.5[0,y3];
+ y2 = y4 = 0.5[0, y3];
- penpos3(vair-fine,270);
+ penpos3(vair-fine, 270);
fine.bot y3r = -d-oo;
filldraw stroke z1e--z2e; % stem
- numeric stem_edge,curve';
+ numeric stem_edge, curve';
stem_edge = lft x1l;
- curve' = hround .5[stem',curve];
+ curve' = hround .5[stem', curve];
pickup fine.nib;
- pos4(curve',180);
- pos5(vair,90);
- pos2'(stem',0);
+ pos4(curve', 180);
+ pos5(vair, 90);
+ pos2'(stem', 0);
z2' = z2;
- x3 = 0.5[x2,x4];
+ x3 = 0.5[x2, x4];
lft x4r = hround(u);
bot y5l = 0;
rt x5 = hround(stem_edge-u);
- filldraw stroke pulled_super_arc.e(2',3)(.5superpull)
- & pulled_super_arc.e(3,4)(.5superpull)
- & pulled_super_arc.e(4,5)(.5superpull); % upper bowl
+ filldraw stroke pulled_super_arc.e(2', 3)(.5superpull)
+ & pulled_super_arc.e(3, 4)(.5superpull)
+ & pulled_super_arc.e(4, 5)(.5superpull); % upper bowl
- pos5'(vair,270);
+ pos5'(vair, 270);
z5' = z5;
- pos6(curve',180);
- pos7(vair,90);
+ pos6(curve', 180);
+ pos7(vair, 90);
lft x6r = hround(0.5u)+3eps;
y6 = .6x_height;
top y7r = x_height+oo;
- pos8(hair,0);
+ pos8(hair, 0);
rt x8r = hround(stem_edge-.5u-1);
- x7 = 0.4[rt x8r,x6];
- filldraw stroke pulled_super_arc.e(5',6)(.5superpull)
- & pulled_super_arc.e(6,7)(.5superpull); % lower bowl
+ x7 = 0.4[rt x8r, x6];
+ filldraw stroke pulled_super_arc.e(5', 6)(.5superpull)
+ & pulled_super_arc.e(6, 7)(.5superpull); % lower bowl
- pos9(5/7[vair,flare],0);
+ pos9(5/7[vair, flare], 0);
y9-(x9-lft x9r) = vround 0.93x_height;
- bulb(7,8,9); % bulb
+ bulb(7, 8, 9); % bulb
- dish_serif(1,2,b,0,epsilon,c,1/3,jut); % serif
+ dish_serif(1, 2, b, 0, epsilon, c, 1/3, jut); % serif
- penlabels(0,1,2,3,4,5,6,7,8);
+ penlabels(0, 1, 2, 3, 4, 5, 6, 7, 8);
endchar;
@@ -142,29 +141,29 @@ endchar;
% and so cap_height/u = 11.6, fig_height/u = 12.3
cmchar "downward 2";
-beginchar("2",14u#,x_height#,0);
- adjust_fit(0,0);
+beginchar("2", 14u#, x_height#, 0);
+ adjust_fit(0, 0);
numeric arm_thickness, hair_vair;
- hair_vair = 0.25[vair,hair];
- arm_thickness = Vround(if hefty:slab+2stem_corr else:.4[stem,cap_stem] fi);
+ hair_vair = 0.25[vair, hair];
+ arm_thickness = Vround(if hefty:slab+2stem_corr else:.4[stem, cap_stem] fi);
pickup crisp.nib;
- pos7(arm_thickness,0);
- pos8(hair,90);
+ pos7(arm_thickness, 0);
+ pos8(hair, 90);
rt x7r = hround(w-0.9u);
bot y7 = 0;
top y8r = h+o/2;
x8 = good.x(x7l-beak/2) - eps;
- varm(7,8,a,0.3beak_darkness,beak_jut); % arm and beak
+ varm(7, 8, a, 0.3beak_darkness, beak_jut); % arm and beak
pickup fine.nib;
- pos2(slab,180);
- pos3(.4[curve,cap_curve],90);
+ pos2(slab, 180);
+ pos3(.4[curve, cap_curve], 90);
lft x2r = 0.9u;
y2 = h/2;
@@ -174,61 +173,61 @@ beginchar("2",14u#,x_height#,0);
numeric bulb_diam;
bulb_diam=hround(flare+2/3(cap_stem-stem));
- pos0(bulb_diam,-90);
- pos1(cap_hair,-90);
+ pos0(bulb_diam, -90);
+ pos1(cap_hair, -90);
bot y0r = -o/2;
x1 + 0.5 bulb_diam = 1/3(w-1.8u) + 0.9u;
- %(x2l,y) = whatever[z1l,z2r];
+ %(x2l, y) = whatever[z1l, z2r];
%y2l := y;
- dlbulb(2,1,0); % bulb and arc
+ dlbulb(2, 1, 0); % bulb and arc
- pos4(0.25[hair_vair,cap_stem],90);
- pos5(hair_vair,90);
- pos6(hair_vair,90);
+ pos4(0.25[hair_vair, cap_stem], 90);
+ pos5(hair_vair, 90);
+ pos6(hair_vair, 90);
x5 + arm_thickness = w - 0.9u;
- x4 = 0.3[x5,x3];
+ x4 = 0.3[x5, x3];
rt x6 = w - 0.9u - slab;
bot y6 = crisp.bot y7;
- z4l = whatever[z6l,(0.50w,y3l)];
- z5l = whatever[z6l,z4l];
+ z4l = whatever[z6l, (0.50w, y3l)];
+ z5l = whatever[z6l, z4l];
% erase excess at left
- erase fill z4l--z6l--bot z6l--(x4l,bot y6l)--cycle;
+ erase fill z4l--z6l--bot z6l--(x4l, bot y6l)--cycle;
% stroke
filldraw stroke z2e{up}..tension atleast .9 and atleast 1
..z3e{right}..{z5e-z4e}z4e--z5e--z6e;
- penlabels(0,1,2,3,4,5,6,7,8);
+ penlabels(0, 1, 2, 3, 4, 5, 6, 7, 8);
endchar;
cmchar "upward 2";
-beginchar("4",14u#,x_height#,0);
- adjust_fit(0,0);
+beginchar("4", 14u#, x_height#, 0);
+ adjust_fit(0, 0);
numeric arm_thickness, hair_vair;
- hair_vair = 0.25[vair,hair];
- arm_thickness = Vround(if hefty:slab+2stem_corr else:.4[stem,cap_stem] fi);
+ hair_vair = 0.25[vair, hair];
+ arm_thickness = Vround(if hefty:slab+2stem_corr else:.4[stem, cap_stem] fi);
pickup crisp.nib;
- pos7(arm_thickness,180);
- pos8(hair,-90);
+ pos7(arm_thickness, 180);
+ pos8(hair, -90);
lft x7r = hround(0.9u);
top y7 = h;
bot y8r = -o/2;
x8 = good.x(x7l+beak/2) + eps;
- varm(7,8,a,.3beak_darkness,-beak_jut); % arm and beak
+ varm(7, 8, a, .3beak_darkness, -beak_jut); % arm and beak
pickup fine.nib;
- pos2(slab,0);
- pos3(.4[curve,cap_curve],-90);
+ pos2(slab, 0);
+ pos3(.4[curve, cap_curve], -90);
rt x2r = w-0.9u;
y2 = h/2;
@@ -238,141 +237,141 @@ beginchar("4",14u#,x_height#,0);
numeric bulb_diam;
bulb_diam=hround(flare+2/3(cap_stem-stem));
- pos0(bulb_diam,90);
- pos1(cap_hair,90);
+ pos0(bulb_diam, 90);
+ pos1(cap_hair, 90);
top y0r = h+o/2;
x1 - 0.5 bulb_diam = 2/3(w-1.8u) + 0.9u;
- %(x2l,y) = whatever[z1l,z2r];
+ %(x2l, y) = whatever[z1l, z2r];
%y2l := y;
- dlbulb(2,1,0); % bulb and arc
+ dlbulb(2, 1, 0); % bulb and arc
- pos4(0.25[hair_vair,cap_stem],-90);
- pos5(hair_vair,-90);
- pos6(hair_vair,-90);
+ pos4(0.25[hair_vair, cap_stem], -90);
+ pos5(hair_vair, -90);
+ pos6(hair_vair, -90);
x5 = arm_thickness + 0.9u;
- x4 = 0.3[x5,x3];
+ x4 = 0.3[x5, x3];
lft x6 = 0.9u + slab;
top y6 = crisp.top y7;
- z4l = whatever[z6l,(0.50w,y3l)];
- z5l = whatever[z6l,z4l];
+ z4l = whatever[z6l, (0.50w, y3l)];
+ z5l = whatever[z6l, z4l];
- erase fill z4l--z6l--top z6l--(x4l,top y6l)--cycle;
+ erase fill z4l--z6l--top z6l--(x4l, top y6l)--cycle;
% stroke
filldraw stroke z2e{down}..tension atleast .9 and atleast 1
..z3e{left}..{z5e-z4e}z4e--z5e--z6e;
- penlabels(0,1,2,3,4,5,6,7,8);
+ penlabels(0, 1, 2, 3, 4, 5, 6, 7, 8);
endchar;
cmchar "downward 3";
-beginchar("3",14u#,x_height#,0);
- adjust_fit(0,0);
+beginchar("3", 14u#, x_height#, 0);
+ adjust_fit(0, 0);
- numeric top_thickness,mid_thickness,bot_thickness;
+ numeric top_thickness, mid_thickness, bot_thickness;
- top_thickness=max(fine.breadth,vround(slab-2vair_corr));
- mid_thickness=max(fine.breadth,vround 2/3vair);
- bot_thickness=max(fine.breadth,vround(slab-vair_corr));
+ top_thickness=max(fine.breadth, vround(slab-2vair_corr));
+ mid_thickness=max(fine.breadth, vround 2/3vair);
+ bot_thickness=max(fine.breadth, vround(slab-vair_corr));
pickup fine.nib;
- pos2(top_thickness,180);
+ pos2(top_thickness, 180);
lft x2r = 0.9u;
- pos3(max(fine.breadth,.6[curve,cap_curve]-stem_corr),90);
+ pos3(max(fine.breadth, .6[curve, cap_curve]-stem_corr), 90);
top y3r=hround(h-0.75u+o);
- pos4(vair,0);
- pos5(vair,0);
- pos6(mid_thickness,180);
- y2 = y6 = y8 = 0.5[0.75u,y7];
+ pos4(vair, 0);
+ pos5(vair, 0);
+ pos6(mid_thickness, 180);
+ y2 = y6 = y8 = 0.5[0.75u, y7];
- pos7(cap_curve,90);
+ pos7(cap_curve, 90);
top y7r = hround(h+o);
- bot y5 = min(vround 3u,bot y6)-eps;
+ bot y5 = min(vround 3u, bot y6)-eps;
- pos8(bot_thickness,0);
+ pos8(bot_thickness, 0);
rt x8r = w-0.9u;
- x3 = 0.55[lft x4l,rt x2l];
- x7 = 0.5[lft x6l,rt x8l];
+ x3 = 0.55[lft x4l, rt x2l];
+ x7 = 0.5[lft x6l, rt x8l];
lft x5l = hround(0.9u+.46(w-1.8u)-0.5vair);
x5r = x6l;
- y4 = 1/3[y5,y3l];
- z4 = z5 + whatever*(-0.1fig_height,15u);
+ y4 = 1/3[y5, y3l];
+ z4 = z5 + whatever*(-0.1fig_height, 15u);
- filldraw stroke pulled_super_arc.e(2,3)(.5superpull)
+ filldraw stroke pulled_super_arc.e(2, 3)(.5superpull)
& z3e{right}...z4e---z5e; % upper bowl
filldraw z5r--z6l--z6r--z5l---cycle; % middle tip
- filldraw stroke pulled_super_arc.e(6,7)(.5superpull)
- & pulled_super_arc.e(7,8)(.5superpull); % lower bowl
+ filldraw stroke pulled_super_arc.e(6, 7)(.5superpull)
+ & pulled_super_arc.e(7, 8)(.5superpull); % lower bowl
numeric bulb_diam[];
bulb_diam1 = flare + 0.5(cap_stem-stem);
bulb_diam2 = flare + cap_stem-stem;
- pos0(bulb_diam1,-90);
- pos1(hair,-90);
+ pos0(bulb_diam1, -90);
+ pos1(hair, -90);
lft y0r = hround 0.25u;
x0 = x3;
- dlbulb(2,1,0); % upper bulb
+ dlbulb(2, 1, 0); % upper bulb
- pos10(bulb_diam2,270);
- pos9(cap_hair,-90);
+ pos10(bulb_diam2, 270);
+ pos9(cap_hair, -90);
bot y10r = hround(-0.25u);
x10 = 0.9u + 0.7(w-1.8u) + 0.5bulb_diam2;
- drbulb(8,9,10); % lower bulb
+ drbulb(8, 9, 10); % lower bulb
- penlabels(0,1,2,3,4,5,6,7,8,9,10);
+ penlabels(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10);
endchar;
cmchar "upward B";
-beginchar("D",13u#,x_height#,0);
+beginchar("D", 13u#, x_height#, 0);
- numeric left_stem,right_curve,middle_weight;
+ numeric left_stem, right_curve, middle_weight;
left_stem = cap_stem - hround 2stem_corr;
middle_weight = 0.6vair + 0.5;
pickup tiny.nib;
- pos1(left_stem,-90);
- pos2(left_stem,-90);
+ pos1(left_stem, -90);
+ pos2(left_stem, -90);
bot y1r = bot y2r = 0;
lft x1 = u;
rt x2 = w-u;
filldraw stroke z1e--z2e; % stem
- penpos3(cap_band,180);
- penpos4(cap_band,180);
- penpos6(middle_weight,0);
- penpos7(middle_weight,0);
- penpos8(middle_weight,180);
- penpos9(middle_weight,180);
- penpos5(right_curve-stem_corr,90);
- penpos10(right_curve,90);
- penpos11(cap_band,0);
- penpos12(cap_band,0);
+ penpos3(cap_band, 180);
+ penpos4(cap_band, 180);
+ penpos6(middle_weight, 0);
+ penpos7(middle_weight, 0);
+ penpos8(middle_weight, 180);
+ penpos9(middle_weight, 180);
+ penpos5(right_curve-stem_corr, 90);
+ penpos10(right_curve, 90);
+ penpos11(cap_band, 0);
+ penpos12(cap_band, 0);
z3r = lft z1;
x4 = x3;
- x5 = 0.5[x4,x6];
+ x5 = 0.5[x4, x6];
x6 = x7;
x8l-x7l = vair;
z12r = rt z2;
x11 = x12;
- x10 = 0.5[x11,x9];
+ x10 = 0.5[x11, x9];
x8 = x9;
- 0.5[x7l,x8l] = u+0.48(w-2u);
+ 0.5[x7l, x8l] = u+0.48(w-2u);
y4 = y6;
y9 = y11 = y4+0.5u;
y7 = y8 = y1;
@@ -381,61 +380,61 @@ beginchar("D",13u#,x_height#,0);
y10r = vround(h+o);
right_curve = cap_curve-stem_corr;
- y4 = 0.45[y1,h+o];
+ y4 = 0.45[y1, h+o];
y6l := y6l-0.5u;
y11l := y11l-0.5u;
- fill stroke z3e..super_arc.e(4,5) & super_arc.e(5,6)..z7e; % upper lobe
- fill stroke z8e..super_arc.e(9,10) & super_arc.e(10,11)..z12e; % lower lobe
+ fill stroke z3e..super_arc.e(4, 5) & super_arc.e(5, 6)..z7e; % upper lobe
+ fill stroke z8e..super_arc.e(9, 10) & super_arc.e(10, 11)..z12e; % lower lobe
- hserif(1,2,a,1/3,-cap_jut);
- hserif(1,2,b,1/3,1/2cap_jut);
- hserif(2,1,c,1/3,-cap_jut);
- hserif(2,1,d,1/3,1/2cap_jut);
+ hserif(1, 2, a, 1/3, -cap_jut);
+ hserif(1, 2, b, 1/3, 1/2cap_jut);
+ hserif(2, 1, c, 1/3, -cap_jut);
+ hserif(2, 1, d, 1/3, 1/2cap_jut);
- math_fit(0,0.5ic#);
- penlabels(1,2,3,4,5,6,7,8,9,10,11,12);
+ math_fit(0, 0.5ic#);
+ penlabels(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12);
endchar;
cmchar "downward B";
-beginchar("B",13u#,x_height#,0);
+beginchar("B", 13u#, x_height#, 0);
- numeric left_stem,right_curve,middle_weight;
+ numeric left_stem, right_curve, middle_weight;
left_stem = cap_stem - hround 2stem_corr;
middle_weight = 0.6vair + 0.5;
pickup tiny.nib;
- pos1(left_stem,-90);
- pos2(left_stem,-90);
+ pos1(left_stem, -90);
+ pos2(left_stem, -90);
top y1l = top y2l = h;
rt x1 = w-u;
lft x2 = u;
filldraw stroke z1e--z2e; % stem
- penpos3(cap_band,0);
- penpos4(cap_band,0);
- penpos6(middle_weight,180);
- penpos7(middle_weight,180);
- penpos8(middle_weight,0);
- penpos9(middle_weight,0);
- penpos5(right_curve-stem_corr,-90);
- penpos10(right_curve,-90);
- penpos11(cap_band,180);
- penpos12(cap_band,180);
+ penpos3(cap_band, 0);
+ penpos4(cap_band, 0);
+ penpos6(middle_weight, 180);
+ penpos7(middle_weight, 180);
+ penpos8(middle_weight, 0);
+ penpos9(middle_weight, 0);
+ penpos5(right_curve-stem_corr, -90);
+ penpos10(right_curve, -90);
+ penpos11(cap_band, 180);
+ penpos12(cap_band, 180);
z3r = rt z1;
x4 = x3;
- x5 = 0.5[x4,x6];
+ x5 = 0.5[x4, x6];
x6 = x7;
x7l-x8l = vair;
z12r = lft z2;
x11 = x12;
- x10 = 0.5[x11,x9];
+ x10 = 0.5[x11, x9];
x8 = x9;
- 0.5[x7l,x8l] = u+0.52(w-2u);
+ 0.5[x7l, x8l] = u+0.52(w-2u);
y4 = y6;
y9 = y11 = y4-0.5u;
y7 = y8 = y1;
@@ -444,21 +443,21 @@ beginchar("B",13u#,x_height#,0);
y10r = vround(-o);
right_curve = cap_curve-stem_corr;
- y4 = 0.45[y1,-o];
+ y4 = 0.45[y1, -o];
y6l := y6l+0.5u;
y11l := y11l+0.5u;
- fill stroke z3e..super_arc.e(4,5) & super_arc.e(5,6)..z7e; % upper lobe
- fill stroke z8e..super_arc.e(9,10) & super_arc.e(10,11)..z12e; % lower lobe
+ fill stroke z3e..super_arc.e(4, 5) & super_arc.e(5, 6)..z7e; % upper lobe
+ fill stroke z8e..super_arc.e(9, 10) & super_arc.e(10, 11)..z12e; % lower lobe
- hserif(1,2,a,1/3,cap_jut);
- hserif(1,2,b,1/3,-1/2cap_jut);
- hserif(2,1,c,1/3,cap_jut);
- hserif(2,1,d,1/3,-1/2cap_jut);
+ hserif(1, 2, a, 1/3, cap_jut);
+ hserif(1, 2, b, 1/3, -1/2cap_jut);
+ hserif(2, 1, c, 1/3, cap_jut);
+ hserif(2, 1, d, 1/3, -1/2cap_jut);
- math_fit(0,0.5ic#);
- penlabels(1,2,3,4,5,6,7,8,9,10,11,12);
+ math_fit(0, 0.5ic#);
+ penlabels(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12);
endchar;
@@ -468,33 +467,33 @@ endchar;
% ascends half way between them
cmchar "upward C";
-beginchar("C",13u#,cap_height#,0);
- adjust_fit(0,0);
+beginchar("C", 13u#, cap_height#, 0);
+ adjust_fit(0, 0);
pickup fine.nib;
- pos1(cap_hair,90);
- pos2(cap_band,180);
- pos3(cap_curve,-90);
- pos4(cap_band,0);
- pos5(hair,90);
+ pos1(cap_hair, 90);
+ pos2(cap_band, 180);
+ pos3(cap_curve, -90);
+ pos4(cap_band, 0);
+ pos5(hair, 90);
- top y1r = top y5r = 0.5[x_height,h];
+ top y1r = top y5r = 0.5[x_height, h];
bot y3r = -o;
- y2 = y4 = 0.55[y3,y1];
+ y2 = y4 = 0.55[y3, y1];
lft x2r = u;
rt x4r = hround(w-u);
- x3 = 0.5[x2,x4];
+ x3 = 0.5[x2, x4];
rt x1 = u + 0.4(w-2u);
lft x5 = w - u - 0.95(x1-u);
- (x2l,y2l') = whatever[z2r,z1l]; y2l := min(y2l',y2l+.5u);
- (x4l,y4l') = whatever[z4r,z5l]; y4l := min(y4l',y4l+.5u);
- filldraw stroke z1e{10(x2-x1),y2-y1}
- ...pulled_arc.e(2,3) & pulled_arc.e(3,4)...{left}z5e; % arc
+ (x2l, y2l') = whatever[z2r, z1l]; y2l := min(y2l', y2l+.5u);
+ (x4l, y4l') = whatever[z4r, z5l]; y4l := min(y4l', y4l+.5u);
+ filldraw stroke z1e{10(x2-x1), y2-y1}
+ ...pulled_arc.e(2, 3) & pulled_arc.e(3, 4)...{left}z5e; % arc
- pos6(0.3[fine.breadth,cap_hair],90);
+ pos6(0.3[fine.breadth, cap_hair], 90);
y6r = y1r;
lft x6 = u;
y1r-y1'=2cap_curve-fine;
@@ -502,16 +501,16 @@ beginchar("C",13u#,cap_height#,0);
path upper_arc;
- upper_arc=z1{10(x2-x1),y2-y1}..z2{down};
+ upper_arc=z1{10(x2-x1), y2-y1}..z2{down};
numeric t;
t = xpart(upper_arc intersectiontimes (z6l--z1'));
- filldraw z1r--z6r--z6l--subpath(t,0) of upper_arc--cycle; % barb
+ filldraw z1r--z6r--z6l--subpath(t, 0) of upper_arc--cycle; % barb
- math_fit(-.3cap_height#*slant-.5u#,.5ic#);
- penlabels(1,1',2,3,4,5,6);
+ math_fit(-.3cap_height#*slant-.5u#, .5ic#);
+ penlabels(1, 1', 2, 3, 4, 5, 6);
endchar;
% fletched arrows, which are 4u longer than the cm
@@ -519,45 +518,45 @@ endchar;
% head on the upward arrow is slighty wider than the
% rightward
-numeric fwdt,fjut,fang;
+numeric fwdt, fjut, fang;
fwdt := 2/3 rule_thickness;
fjut := 1.3;
fang := 60;
-vardef fletch(suffix $,$$,@) =
- fletchLR($,$$,@,fang,90,fwdt,fjut);
- fletchLR($,$$,@',-fang,-90,fwdt,fjut);
+vardef fletch(suffix $, $$, @) =
+ fletchLR($, $$, @, fang, 90, fwdt, fjut);
+ fletchLR($, $$, @', -fang, -90, fwdt, fjut);
enddef;
-vardef fletchLR(suffix $,$$,@)(expr a,r,wdt,len) =
- numeric b,c;
+vardef fletchLR(suffix $, $$, @)(expr a, r, wdt, len) =
+ numeric b, c;
b := angle(z$$-z$);
z@1 = z$ + len * ((z$$-z$) rotated a);
z@2 = z@1 + whatever*((z$ - z@1) rotated r);
z@2 = z$$ + whatever*((z$$ - z$) rotated a);
z@3 = z@4 = z$;
c := angle(z@1-z@2);
- penpos@1(wdt,c);
- penpos@2(wdt,c+180);
- penpos@3(wdt,b-r);
- penpos@4(wdt,b+180);
+ penpos@1(wdt, c);
+ penpos@2(wdt, c+180);
+ penpos@3(wdt, b-r);
+ penpos@4(wdt, b+180);
penstroke z@4e--z@1e...z@2e{z$-z@1}...{z$-z$$}z@3e;
- penlabels(@1,@2,@3);
+ penlabels(@1, @2, @3);
enddef;
cmchar "Upward arrow with fletching";
-beginchar(oct "042",8u#,asc_height#+2u#,asc_depth#+2u#);
- adjust_fit(0,0);
+beginchar(oct "042", 8u#, asc_height#+2u#, asc_depth#+2u#);
+ adjust_fit(0, 0);
pickup crisp.nib;
- pos1(rule_thickness,0);
- pos2(rule_thickness,0);
- pos3(rule_thickness,90);
- pos4(rule_thickness,90);
+ pos1(rule_thickness, 0);
+ pos2(rule_thickness, 0);
+ pos3(rule_thickness, 90);
+ pos4(rule_thickness, 90);
- numeric headh,headw;
+ numeric headh, headw;
headw := (w-u)/2+eps;
headh := 0.36*w/(9u)*asc_height+eps;
@@ -569,12 +568,12 @@ beginchar(oct "042",8u#,asc_height#+2u#,asc_depth#+2u#);
x0-x3 = x4-x0 = headw;
y3 = y4 = y0 - headh;
- pos5(rule_thickness,angle(z4-z0));
+ pos5(rule_thickness, angle(z4-z0));
z5l=z0;
- pos6(rule_thickness,angle(z3-z0));
+ pos6(rule_thickness, angle(z3-z0));
z6l=z0;
- z9 = 0.2[0.5[z3,z4],z0];
+ z9 = 0.2[0.5[z3, z4], z0];
numeric rake;
@@ -585,13 +584,13 @@ beginchar(oct "042",8u#,asc_height#+2u#,asc_depth#+2u#);
numeric t; path p;
p=z4l{z9-z4}..z6r;
- t=xpart(p intersectiontimes((x2r,-d)--(x2r,h))); y2=ypart point t of p;
+ t=xpart(p intersectiontimes((x2r, -d)--(x2r, h))); y2=ypart point t of p;
- filldraw z0..{z4-z9}z4r--subpath (0,t) of\\(z4l{z9-z4}..z6r)
- ---z1r---z1l---subpath (t,0) of\\(z3l{z9-z3}..z5r)
+ filldraw z0..{z4-z9}z4r--subpath (0, t) of\\(z4l{z9-z4}..z6r)
+ ---z1r---z1l---subpath (t, 0) of\\(z3l{z9-z3}..z5r)
--z3r{z9-z3}..z0 & cycle; % arrowhead and stem
- penlabels(0,2,3,4,5,6,9);
+ penlabels(0, 2, 3, 4, 5, 6, 9);
% fletching
@@ -599,30 +598,30 @@ beginchar(oct "042",8u#,asc_height#+2u#,asc_depth#+2u#);
y11-y10 = y12-y11 = y13-y12 = 3/5rake; % fletch separation
y11 = y1;
- fletch(11,10,a);
- fletch(12,11,b);
- fletch(13,12,c);
+ fletch(11, 10, a);
+ fletch(12, 11, b);
+ fletch(13, 12, c);
- labels(10,11,12,13);
+ labels(10, 11, 12, 13);
endchar;
cmchar "Rightward arrow with fletching";
-compute_spread(0.45x_height#,0.55x_height#);
-beginchar(oct "041",22u#,v_center(spread#+rule_thickness#));
- adjust_fit(0,0);
+compute_spread(0.45x_height#, 0.55x_height#);
+beginchar(oct "041", 22u#, v_center(spread#+rule_thickness#));
+ adjust_fit(0, 0);
pickup crisp.nib;
- pos1(rule_thickness,90);
- pos2(rule_thickness,90);
- pos3(rule_thickness,0);
- pos4(rule_thickness,0);
+ pos1(rule_thickness, 90);
+ pos2(rule_thickness, 90);
+ pos3(rule_thickness, 0);
+ pos4(rule_thickness, 0);
y0 = y1 = y2 = math_axis;
rt x0 = hround(w-u);
- numeric headw,headh;
+ numeric headw, headh;
headw = 0.26 asc_height+eps;
headh = 4u + eps;
@@ -630,12 +629,12 @@ beginchar(oct "041",22u#,v_center(spread#+rule_thickness#));
y3-y0 = y0-y4 = headw;
x3 = x4 = x0 - headh;
- pos5(rule_thickness,angle(z4-z0));
- pos6(rule_thickness,angle(z3-z0));
+ pos5(rule_thickness, angle(z4-z0));
+ pos6(rule_thickness, angle(z3-z0));
z5l = z0;
z6l = z0;
- z9 = 0.2[0.5[z3,z4],z0];
+ z9 = 0.2[0.5[z3, z4], z0];
numeric rake;
@@ -645,13 +644,13 @@ beginchar(oct "041",22u#,v_center(spread#+rule_thickness#));
numeric t; path p; p=z4l{z9-z4}..z6r;
- t=xpart(p intersectiontimes((0,y2l)--(w,y2l))); x2=xpart point t of p;
+ t=xpart(p intersectiontimes((0, y2l)--(w, y2l))); x2=xpart point t of p;
- filldraw z0..{z4-z9}z4r--subpath (0,t) of\\(z4l{z9-z4}..z6r)
- ---z1l---z1r---subpath (t,0) of\\(z3l{z9-z3}..z5r)
+ filldraw z0..{z4-z9}z4r--subpath (0, t) of\\(z4l{z9-z4}..z6r)
+ ---z1l---z1r---subpath (t, 0) of\\(z3l{z9-z3}..z5r)
--z3r{z9-z3}..z0 & cycle; % arrowhead and stem
- penlabels(0,1,2,3,4,5,6,9);
+ penlabels(0, 1, 2, 3, 4, 5, 6, 9);
% fletching
@@ -660,11 +659,11 @@ beginchar(oct "041",22u#,v_center(spread#+rule_thickness#));
x11-x10 = x12-x11 = x13-x12 = 3/5rake;
x11 = hround x1;
- fletch(11,10,a);
- fletch(12,11,b);
- fletch(13,12,c);
+ fletch(11, 10, a);
+ fletch(12, 11, b);
+ fletch(13, 12, c);
- labels(10,11,12,13);
+ labels(10, 11, 12, 13);
endchar;
@@ -672,17 +671,17 @@ endchar;
% romand.mf, with the strikeout added at the end
cmchar "Reverse struckout 0";
-beginchar("0",9u#,fig_height#,0);
- adjust_fit(0,0);
+beginchar("0", 9u#, fig_height#, 0);
+ adjust_fit(0, 0);
- penpos1(vair,90);
- penpos3(vair,-90);
- penpos2(curve,180);
- penpos4(curve,0);
+ penpos1(vair, 90);
+ penpos3(vair, -90);
+ penpos2(curve, 180);
+ penpos4(curve, 0);
interim superness := sqrt(more_super*hein_super);
- x2r = hround max(.7u,1.45u-.5curve);
+ x2r = hround max(.7u, 1.45u-.5curve);
x4r = w-x2r;
x1 = x3 = 0.5w;
y1r = h+o;
@@ -690,12 +689,12 @@ beginchar("0",9u#,fig_height#,0);
y2=y4 = 0.5h-vair_corr;
y2l := y4l := 0.52h;
- penstroke pulled_arc.e(1,2)
- & pulled_arc.e(2,3)
- & pulled_arc.e(3,4)
- & pulled_arc.e(4,1) & cycle; % bowl
+ penstroke pulled_arc.e(1, 2)
+ & pulled_arc.e(2, 3)
+ & pulled_arc.e(3, 4)
+ & pulled_arc.e(4, 1) & cycle; % bowl
- penlabels(1,2,3,4);
+ penlabels(1, 2, 3, 4);
% the strikeout
@@ -707,20 +706,20 @@ beginchar("0",9u#,fig_height#,0);
x6 = x2r;
draw z5--z6;
- labels(5,6);
+ labels(5, 6);
endchar;
cmchar "Reverse struckout 1";
-beginchar("1",9u#,fig_height#,0);
- adjust_fit(0,0);
+beginchar("1", 9u#, fig_height#, 0);
+ adjust_fit(0, 0);
numeric light_stem;
- light_stem=hround .4[stem',cap_stem'];
+ light_stem=hround .4[stem', cap_stem'];
pickup tiny.nib;
- pos1(light_stem,0);
- pos2(light_stem,0);
+ pos1(light_stem, 0);
+ pos2(light_stem, 0);
lft x1l=lft x2l=hround(.5(w+.5u)-.5cap_stem');
top y1=h+o;
@@ -730,26 +729,26 @@ beginchar("1",9u#,fig_height#,0);
if not serifs: save slab; slab=bar; fi
- dish_serif(2,1,a,1/3,min(2.25u,lft x2l-1.5u),
- b,1/3,min(2.25u,w-1.25u-rt x2r)); % serif
+ dish_serif(2, 1, a, 1/3, min(2.25u, lft x2l-1.5u),
+ b, 1/3, min(2.25u, w-1.25u-rt x2r)); % serif
pickup crisp.nib;
- pos3(slab,-90);
- pos4(bar,-90);
+ pos3(slab, -90);
+ pos4(bar, -90);
top y3l=h+o;
top y4l=if monospace: .8 else: .9 fi\\ h+o;
- lft x4=max(1.25u,tiny.lft x1l-2.35u);
- tiny.rt x1r=lft x3+.25[tiny,hair];
+ lft x4=max(1.25u, tiny.lft x1l-2.35u);
+ tiny.rt x1r=lft x3+.25[tiny, hair];
- erase fill z3l{x4l-x3l,3(y4l-y3l)}...z4l{left}
- --(x4l,h+o+1)--(x3l,h+o+1)--cycle; % erase excess at top
+ erase fill z3l{x4l-x3l, 3(y4l-y3l)}...z4l{left}
+ --(x4l, h+o+1)--(x3l, h+o+1)--cycle; % erase excess at top
- filldraw stroke z3e{x4e-x3e,3(y4e-y3e)}..z4e{left}; % point
+ filldraw stroke z3e{x4e-x3e, 3(y4e-y3e)}..z4e{left}; % point
- penlabels(1,2,3,4);
+ penlabels(1, 2, 3, 4);
% the strikeout -- possible raise z6 a little
@@ -761,7 +760,7 @@ beginchar("1",9u#,fig_height#,0);
draw z5--z6;
- labels(5,6);
+ labels(5, 6);
endchar;
@@ -777,48 +776,96 @@ endchar;
% Pierre A. MacKay, from work by Silvio Levy's realization of a
% classic Didot cut of Greek type from around 1800.
-def smooth(suffix $,@)(expr dot_size,depth,shear) =
+def smooth(suffix $, @)(expr dot_size, depth, shear) =
pickup fine.nib;
- pos$(dot_size,90);
- pos@1(vair,90);
- pos@2(vair,0);
- pos@3(vair,-90);
+ pos$(dot_size, 90);
+ pos@1(vair, 90);
+ pos@2(vair, 0);
+ pos@3(vair, -90);
z@1r = z$r;
y@1l := y$;
- rt x@2r = hround(x$+0.5depth+0.5shear);
- x@3-0.5vair = hround(x$-0.5dot_size+shear);
- y@2 = .5[y@1,y@3];
- bot y@3r = vround(top y@1r-depth);
+ rt x@2r = hround(x$ + 0.5 depth + 0.5 shear);
+ x@3 - 0.5 vair = hround(x$ - 0.5 dot_size + shear);
+ y@2 = 0.5[y@1, y@3];
+ bot y@3r = vround(top y@1r - depth);
- path pp; pp = (z@2{down}...z@3);
+ path pp;
+ pp = (z@2{down}...z@3);
% position a vertical path through the right side of the bulb
- x@1' = x@1+.05dot_size;
+ x@1' = x@1 + 0.5 dot_size;
% At the intersection of that path with SL's tail, get the direction
- pair d@@; d@@=( direction
- (xpart( (z@2{down}...z@3) intersectiontimes ((x@1',0){up}--(x@1',y@1))))
- of (z@2{down}...z@3));
+ pair d@@;
+ d@@ = (direction (xpart(
+ (z@2{down}...z@3)
+ intersectiontimes
+ ((x@1', 0){up}--(x@1', y@1))))
+ of (z@2{down}...z@3));
% Tilt a pen at a right angle to that direction
- pos@3'(vair,angle(d@@)+90);
+ pos@3'(vair, angle(d@@) + 90);
% Place it at the intersection. This will be the new end of the tail.
z@3' = directionpoint d@@ of(z@2{down}...z@3);
y_ := ypart((z@1{right}...z@2{down}...z@3)
- intersectiontimes (z$l{right}..{left}z$r)); if y_<0: y_:=1; fi
- filldraw z$r{left}..subpath (0,y_) of (z$l{right}..{left}z$r)--cycle; % dot
+ intersectiontimes (z$l{right}..{left}z$r));
+ if y_ < 0:
+ y_ := 1;
+ fi
+ filldraw z$r{left}..subpath (0, y_) of (z$l{right}..{left}z$r)--cycle; % dot
filldraw stroke z@1e{right}...z@2e{down}...{d@@}z@3'e;
- penlabels(@1,@2,@3);
+ penlabels(@1, @2, @3);
+enddef;
+
+def rough(suffix $, @)(expr dot_size, depth, shear) =
+ pickup fine.nib;
+
+ pos$(dot_size, 90);
+ pos@1(vair, 90);
+ pos@2(vair, 180);
+ pos@3(vair, -90);
+
+ z@1r = z$r;
+ y@1l := y$;
+ lft x@2r = hround(x$ - 0.5 depth + 0.5 shear);
+ x@3 + 0.5 vair = x$ + 0.5 dot_size + shear;
+ y@2 = 0.5 [y@1, y@3];
+ bot y@3r = vround(top y@1r - depth);
+
+ % position a vertical path through the left side of the bulb
+ x@1' = x@1 - 0.5 dot_size;
+
+ % At the intersection of that path with SL's tail, get the direction
+ pair d@@;
+ d@@ = ( direction (xpart( (z@2{down}...z@3)
+ intersectiontimes
+ ((x@1', 0){up}--(x@1', y@1))))
+ of (z@2{down}...z@3));
+
+ % Tilt a pen at a right angle to that direction
+ pos@3'(vair, angle(d@@) - 90);
+
+ % Place it at the intersection. This will be the new end of the tail.
+ z@3' = directionpoint d@@ of(z@2{down}...z@3);
+ y_ := ypart((z@1{left}...z@2{down}...z@3)
+ intersectiontimes (z$l{left}..{right}z$r));
+ if y_ < 0:
+ y_ := 1;
+ fi
+ filldraw z$r{right}..subpath (0,y_) of (z$l{left}..{right}z$r)--cycle; % dot
+ filldraw stroke z@1e{left}...z@2e{down}...{d@@}z@3'e;
+
+ penlabels(@1, @2, @3);
enddef;
cmchar "Spiritus Lenis accent (tailed)";
-beginchar(oct "025",9u#,min(asc_height#-x_height#,x_height#),0);
+beginchar(oct "025", 9u#, min(asc_height#-x_height#, x_height#), 0);
- adjust_fit(0,0);
+ adjust_fit(0, 0);
numeric dot_diam#;
dot_diam# = 3/4dot_size#;
@@ -827,36 +874,74 @@ beginchar(oct "025",9u#,min(asc_height#-x_height#,x_height#),0);
x1 = 0.5w - o;
y1 = h;
- smooth(1,a,dot_size,3/4h,0);
+ smooth(1, a, dot_size, 3/4h, 0);
endchar;
-% this is my effort -- closer to the form used by Pohl,
+% this is my effort -- closer to the form used by Pohl,
% a blunted crecent.
cmchar "Spiritus Lenis accent (crescent)";
-beginchar(oct "026",9u#,min(asc_height#-x_height#,x_height#),0);
+beginchar(oct "026", 9u#, min(asc_height#-x_height#, x_height#), 0);
numeric rake;
rake = 10;
- penpos1(hair,270+rake);
- penpos2(0.3[hair,stem],180);
- penpos3(hair,90-rake);
+ penpos1(hair, 270+rake);
+ penpos2(0.3[hair, stem], 180);
+ penpos3(hair, 90-rake);
x1 = x3 = 0.5w - o;
y1 = h;
- y3l = max(h/3,o+hair);
+ y3l = max(h/3, o+hair);
y2+y2 = y1+y3;
x2 - x1 = 0.65*(y1-y3);
penstroke z1e{dir(rake)}..z2e..{dir(180-rake)}z3e;
- penlabels(1,2,3);
+ penlabels(1, 2, 3);
endchar;
+cmchar "Spiritus Asper accent (tailed)";
+beginchar(oct "023", 9u#, min(asc_height#-x_height#, x_height#), 0);
+
+ adjust_fit(0, 0);
+
+ numeric dot_diam#;
+ dot_diam# = 3/4dot_size#;
+ define_whole_blacker_pixels(dot_diam);
+
+ x1 = 0.5w - o;
+ y1 = h;
+
+ rough(1, a, dot_size, 3/4h, 0);
+
+endchar;
+
+cmchar "Spiritus Asper accent (crescent)";
+beginchar(oct "024", 9u#, min(asc_height#-x_height#, x_height#), 0);
+
+ numeric rake;
+
+ rake = 10;
+
+ penpos1(hair, 90-rake);
+ penpos2(0.3[hair, stem], 180);
+ penpos3(hair, 270+rake);
+
+ x1 = x3 = 0.5w - o;
+ y1 = h;
+ y3r = max(h/3, o+hair);
+ y2+y2 = y1+y3;
+ x1 - x2 = 0.65*(y1-y3);
+
+ penstroke z1e{dir(180-rake)}..z2e..{dir(rake)}z3e;
+
+ penlabels(1, 2, 3);
+
+endchar;
% This is the archaic long s with mid bar, used by
% Frege as the successor functon. The upright stroke
@@ -864,38 +949,38 @@ endchar;
% along the math-axis rather than the x-height.
cmchar "Long s with midline bar";
-beginchar("s",5.5u#,asc_height#,0);
- adjust_fit(0,0);
+beginchar("s", 5.5u#, asc_height#, 0);
+ adjust_fit(0, 0);
pickup tiny.nib;
- pos1(stem',0);
+ pos1(stem', 0);
lft x1l = hround(2.5u-0.5stem');
pickup fine.nib;
numeric bulb_diam;
- bulb_diam = hround 0.8[stem,flare];
- pos2(bulb_diam,0);
- y2 + 0.5bulb_diam = 0.9[x_height,h+oo];
+ bulb_diam = hround 0.8[stem, flare];
+ pos2(bulb_diam, 0);
+ y2 + 0.5bulb_diam = 0.9[x_height, h+oo];
lft x2l = hround(w-0.75u+0.5);
- f_stroke(1,2,a,b,c,jut,1.25jut);
+ f_stroke(1, 2, a, b, c, jut, 1.25jut);
pickup crisp.nib;
- pos3(bar,90);
- pos4(bar,90);
+ pos3(bar, 90);
+ pos4(bar, 90);
y3 = y4 = math_axis;
lft x3 = hround(0.5u - 1);
rt x4 = hround(w - 1/3u);
filldraw stroke z3e--z4e;
- penlabels(1,2,3,4);
+ penlabels(1, 2, 3, 4);
endchar;
cmchar "Roman U with flourish";
-beginchar("U",15u#,cap_height#,desc_depth#);
- adjust_fit(cap_serif_fit#,cap_serif_fit#);
+beginchar("U", 15u#, cap_height#, desc_depth#);
+ adjust_fit(cap_serif_fit#, cap_serif_fit#);
numeric colsep;
@@ -907,11 +992,11 @@ beginchar("U",15u#,cap_height#,desc_depth#);
% 4-1-2-3-5 is the main part of the U
- pos1(cap_stem,180);
- pos2(0.25[cap_hair,cap_stem],270);
- pos3(cap_hair,0);
- pos4(cap_stem,180);
- pos5(cap_hair,0);
+ pos1(cap_stem, 180);
+ pos2(0.25[cap_hair, cap_stem], 270);
+ pos3(cap_hair, 0);
+ pos4(cap_stem, 180);
+ pos5(cap_hair, 0);
x1r = w-x3r;
x3l - x1l = colsep;
@@ -927,8 +1012,8 @@ beginchar("U",15u#,cap_height#,desc_depth#);
% note that the top of the bulb is aligned with the
% height, not h+o -- that is on purpose
- pos6(cap_hair,270);
- pos7(cap_stem,90);
+ pos6(cap_hair, 270);
+ pos7(cap_stem, 90);
y4l = 0.72h;
y5l = 0.82h;
@@ -937,17 +1022,17 @@ beginchar("U",15u#,cap_height#,desc_depth#);
y6l = h;
filldraw stroke z4e..z1e{down}..z2e{right}..z3e{up}..z5e;
- vbulb(5,6,7);
+ vbulb(5, 6, 7);
% 9-10-11-12 is the flourish
- pos9(cap_hair,270);
+ pos9(cap_hair, 270);
bot y9r = bot y10r = 0;
x9l = w-x10r = 0.5u;
- pos11(cap_hair,50);
- pos12(0.25[cap_hair,cap_stem],270);
+ pos11(cap_hair, 50);
+ pos12(0.25[cap_hair, cap_stem], 270);
x11l = x12 = x4 - 0.9colsep;
y11 = y4;
@@ -956,7 +1041,7 @@ beginchar("U",15u#,cap_height#,desc_depth#);
z11l-z10l = whatever*(z11r-z10r);
z9l-z10l = whatever*(z9r-z10r);
- z10 = 0.5[z10l,z10r];
+ z10 = 0.5[z10l, z10r];
% the curved stroke from the left arm of the U
@@ -967,7 +1052,7 @@ beginchar("U",15u#,cap_height#,desc_depth#);
filldraw stroke z9e--z10e;
filldraw stroke z10e--z11e;
- penlabels(1,2,3,4,5,6,7,9,10,11,12);
+ penlabels(1, 2, 3, 4, 5, 6, 7, 9, 10, 11, 12);
endchar;
@@ -977,70 +1062,70 @@ endchar;
% not sure I'm entirely happy with the spur
cmchar "Overturned c with spur";
-beginchar("c",8u#,asc_height#,0);
- adjust_fit(0,0);
+beginchar("c", 8u#, asc_height#, 0);
+ adjust_fit(0, 0);
pickup fine.nib;
- pos2(vair',270);
- pos4(vair',90);
+ pos2(vair', 270);
+ pos4(vair', 90);
x2 = x4 = 0.5(w-u);
bot y2r = -oo;
top y4r = vround(x_height + 1.5oo);
- pos3(curve,0);
+ pos3(curve, 0);
- rt x3r = w - hround max(0.6u,1.35u - 0.5curve);
+ rt x3r = w - hround max(0.6u, 1.35u - 0.5curve);
y3 = 0.5x_height;
- pos1(hair,180);
- pos0(flare,180);
+ pos1(hair, 180);
+ pos0(flare, 180);
y1 = x_height -
- min(bar_height + 0.5flare + 2vair' + 2,
- 0.9[bar_height,x_height] - 0.5flare);
+ min(bar_height + 0.5flare + 2vair' + 2,
+ 0.9[bar_height, x_height] - 0.5flare);
lft x1r = 0.7u;
- bulb(2,1,0);
+ bulb(2, 1, 0);
- pos5(hair,180);
+ pos5(hair, 180);
lft x5r = 0.5u;
- y5 = x_height - max(good.y(0.5bar_height-0.9),x_height-y4l-vair');
- (x,y4l) = whatever[z4r,z5l];
- x4l := min(x,x4l+.5u);
+ y5 = x_height - max(good.y(0.5bar_height-0.9), x_height-y4l-vair');
+ (x, y4l) = whatever[z4r, z5l];
+ x4l := min(x, x4l+.5u);
- filldraw stroke pulled_super_arc.e(2,3)(0.7superpull)
- & pulled_super_arc.e(3,4)(0.5superpull)
- ..tension .9 and 1..{x5-x4,5(y5-y4)}z5e;
+ filldraw stroke pulled_super_arc.e(2, 3)(0.7superpull)
+ & pulled_super_arc.e(3, 4)(0.5superpull)
+ ..tension .9 and 1..{x5-x4, 5(y5-y4)}z5e;
path pth;
- numeric tp,theta;
+ numeric tp, theta;
theta = 25;
- pos6(stem,theta-90);
- pos7(hair,90+theta);
+ pos6(stem, theta-90);
+ pos7(hair, 90+theta);
top y6l = asc_height;
- pth = z4{left}..tension .9 and 1..{x5-x4,5(y5-y4)}z5;
+ pth = z4{left}..tension .9 and 1..{x5-x4, 5(y5-y4)}z5;
z7 = directionpoint dir(180+theta) of pth;
x6 = x7;
filldraw stroke z7e{dir(theta)}..{dir(180+theta)}z6e;
- penlabels(0,1,2,3,4,5,6,7);
+ penlabels(0, 1, 2, 3, 4, 5, 6, 7);
endchar;
cmchar "Overturned e with spur";
-beginchar("e",7.25u#+max(0.75u#,0.5curve#),asc_height#,0);
- adjust_fit(0,0);
+beginchar("e", 7.25u#+max(0.75u#, 0.5curve#), asc_height#, 0);
+ adjust_fit(0, 0);
- numeric left_curve,right_curve,rbar_height;
+ numeric left_curve, right_curve, rbar_height;
rbar_height = x_height - bar_height;
@@ -1051,70 +1136,70 @@ beginchar("e",7.25u#+max(0.75u#,0.5curve#),asc_height#,0);
pickup tiny.nib;
- pos1(left_curve,180);
- pos2(vair,270);
- pos3(right_curve,0);
+ pos1(left_curve, 180);
+ pos2(vair, 270);
+ pos3(right_curve, 0);
y1 = good.y rbar_height;
bot y2r = -oo;
y0l = top y1;
- lft x1r = hround max(0.5u,1.25u-0.5left_curve);
- rt x3r = hround min(w-0.5u,w-u+0.5right_curve);
+ lft x1r = hround max(0.5u, 1.25u-0.5left_curve);
+ rt x3r = hround min(w-0.5u, w-u+0.5right_curve);
x2 = 0.5w-0.25u;
{{
interim superness := more_super;
- filldraw stroke super_arc.e(1,2);
+ filldraw stroke super_arc.e(1, 2);
}};
- y3 = 0.5 [y2,y4];
+ y3 = 0.5 [y2, y4];
top y4r = x_height + vround 1.5oo;
x4 = x2 + 0.25u;
- pos4(vair',90);
- pos5(hair,180);
+ pos4(vair', 90);
+ pos5(hair, 180);
- y5 = min(good.y(0.5[rbar_height,x_height]+0.9),y4l-vair);
+ y5 = min(good.y(0.5[rbar_height, x_height]+0.9), y4l-vair);
x5r = x1r;
- (x,y4l) = whathever[z4r,z5];
- x4l := min(x,x4l+0.5u);
+ (x, y4l) = whathever[z4r, z5];
+ x4l := min(x, x4l+0.5u);
- filldraw stroke pulled_arc.e(2,3) & pulled_arc.e(3,4)
- ... {x5-x4,5(y5-y4)}z5e;
+ filldraw stroke pulled_arc.e(2, 3) & pulled_arc.e(3, 4)
+ ... {x5-x4, 5(y5-y4)}z5e;
path testpath;
- testpath = super_arc.r(2,3) & super_arc.r(3,4);
+ testpath = super_arc.r(2, 3) & super_arc.r(3, 4);
- y1'r = y0r = y0l - 0.6[thin_join,vair];
+ y1'r = y0r = y0l - 0.6[thin_join, vair];
y1'l = y0l;
x1'l = x1'r = x1;
- forsuffixes $ = l,r:
- x0$ = xpart(((w,y0$)--(x1,y0$)) intersectionpoint testpath);
+ forsuffixes $ = l, r:
+ x0$ = xpart(((w, y0$)--(x1, y0$)) intersectionpoint testpath);
endfor;
fill stroke z0e--z1'e;
path pth;
- numeric tp,theta;
+ numeric tp, theta;
theta = 25;
- pos6(stem,theta-90);
- pos7(hair,90+theta);
+ pos6(stem, theta-90);
+ pos7(hair, 90+theta);
top y6l = asc_height;
- pth = super_arc.r(3,4) ... {x5-x4,5(y5-y4)}z5;
+ pth = super_arc.r(3, 4) ... {x5-x4, 5(y5-y4)}z5;
z7 = directionpoint dir(180+theta) of pth;
x6 = x7;
filldraw stroke z7e{dir(theta)}..{dir(180+theta)}z6e;
- penlabels(0,1,2,3,4,5,6,7);
+ penlabels(0, 1, 2, 3, 4, 5, 6, 7);
endchar;
@@ -1125,13 +1210,13 @@ endchar;
% of delimiters.
cmchar "Reverse solidus";
-beginchar(oct "113",9u#,cap_height#,0);
- adjust_fit(0,0);
+beginchar(oct "113", 9u#, cap_height#, 0);
+ adjust_fit(0, 0);
pickup fine.nib;
- pos1(cap_stem,0);
- pos2(cap_stem,0);
+ pos1(cap_stem, 0);
+ pos2(cap_stem, 0);
lft x1l = u;
rt x2r = w - u;
@@ -1140,19 +1225,19 @@ beginchar(oct "113",9u#,cap_height#,0);
filldraw stroke z1e--z2e;
- penlabels(1,2);
+ penlabels(1, 2);
endchar;
% the left-angle, a funny looking thing, made from a single
-% stroke of an eliptic pen. The upstroke is bowed inward,
+% stroke of an eliptic pen. The upstroke is bowed inward,
% barely perceptibly
cmchar "Left-angle";
-beginchar(oct "150",11u#,cap_height#,0);
- adjust_fit(0,0);
+beginchar(oct "150", 11u#, cap_height#, 0);
+ adjust_fit(0, 0);
- numeric theta,bow,elbow;
+ numeric theta, bow, elbow;
elbow := x_height + 0.5*(cap_height-x_height);
@@ -1167,15 +1252,15 @@ beginchar(oct "150",11u#,cap_height#,0);
pickup pencircle xscaled cap_hair yscaled cap_stem rotated theta;
draw z1{dir(theta+90-bow)}...{dir(theta+90+bow)}z2--z3;
- penlabels(1,2,3);
+ penlabels(1, 2, 3);
endchar;
cmchar "Variant Infinity";
-beginchar("infty",18u#,x_height#,0);
- adjust_fit(0,0);
+beginchar("infty", 18u#, x_height#, 0);
+ adjust_fit(0, 0);
- numeric theta,psi;
+ numeric theta, psi;
theta = 70;
psi = 40;
@@ -1193,24 +1278,24 @@ beginchar("infty",18u#,x_height#,0);
draw z1{dir(-theta)}...z2...{dir(theta)}z3;
draw z4{dir(-theta)}...z5...{dir(theta)}z6;
- penlabels(1,2,3,4,5,6);
+ penlabels(1, 2, 3, 4, 5, 6);
% this is the overbar
pickup fine.nib;
- pos7(hair,90+psi);
- pos8(2penrad,90);
- pos9(hair,90-psi);
+ pos7(hair, 90+psi);
+ pos8(2penrad, 90);
+ pos9(hair, 90-psi);
- x7 = w - x9 = 0.32[x1,x2];
+ x7 = w - x9 = 0.32[x1, x2];
y7 = y9 = 11/16x_height;
2x8 = x7 + x9;
top y8r = o + h;
filldraw stroke z7e{dir psi}...z8e...{dir -psi}z9e;
- penlabels(7,8,9);
+ penlabels(7, 8, 9);
endchar;
@@ -1222,10 +1307,10 @@ endchar;
% in the style file (rather than \mathbin), but add a liile
% extra spacing around them with cupcap_fit
-def cupcap_fit = adjust_fit(24/36pt#,24/36pt#) enddef;
+def cupcap_fit = adjust_fit(24/36pt#, 24/36pt#) enddef;
cmchar "upwards opened bracket";
-beginchar(oct "114",14u#,x_height#,0);
+beginchar(oct "114", 14u#, x_height#, 0);
cupcap_fit;
pickup rule.nib;
@@ -1241,12 +1326,12 @@ beginchar(oct "114",14u#,x_height#,0);
draw z3--z1--z2--z4;
- labels(1,2,3);
+ labels(1, 2, 3);
endchar;
cmchar "Small bar acute";
-beginchar(oct "115",10u#,x_height#,0);
+beginchar(oct "115", 10u#, x_height#, 0);
cupcap_fit;
pickup rule.nib;
@@ -1257,28 +1342,28 @@ beginchar(oct "115",10u#,x_height#,0);
draw z1--z2;
- labels(1,2);
+ labels(1, 2);
pickup crisp.nib;
x4 + 0.5stem = hround(2/3w);
- x5 = 2/3[x4,w-x4];
+ x5 = 2/3[x4, w-x4];
y4 + 0.5stem = x_height + oo;
y5 = 1/2x_height;
numeric theta;
theta = angle(z5-z4) + 90;
- pos4(stem,theta);
- pos5(hair,theta);
+ pos4(stem, theta);
+ pos5(hair, theta);
filldraw circ_stroke z4e--z5e;
- penlabels(4,5);
+ penlabels(4, 5);
endchar;
cmchar "Small cup";
-beginchar(oct "116",10u#,x_height#,0);
+beginchar(oct "116", 10u#, x_height#, 0);
cupcap_fit;
pickup rule.nib;
@@ -1291,12 +1376,12 @@ beginchar(oct "116",10u#,x_height#,0);
draw z1..z3..z2;
- labels(1,2,3);
+ labels(1, 2, 3);
endchar;
cmchar "Small bar over cap";
-beginchar(oct "117",10u#,x_height#,0);
+beginchar(oct "117", 10u#, x_height#, 0);
cupcap_fit;
pickup rule.nib;
@@ -1309,7 +1394,7 @@ beginchar(oct "117",10u#,x_height#,0);
draw z1..z3..z2;
- labels(1,2,3);
+ labels(1, 2, 3);
x4 = x1;
x5 = x2;
@@ -1318,12 +1403,12 @@ beginchar(oct "117",10u#,x_height#,0);
draw z4--z5;
- labels(4,5);
+ labels(4, 5);
endchar;
cmchar "Small cup over bar";
-beginchar(oct "120",10u#,x_height#,0);
+beginchar(oct "120", 10u#, x_height#, 0);
cupcap_fit;
pickup rule.nib;
@@ -1336,7 +1421,7 @@ beginchar(oct "120",10u#,x_height#,0);
draw z1..z3..z2;
- labels(1,2,3);
+ labels(1, 2, 3);
x4 = x1;
x5 = x2;
@@ -1345,12 +1430,12 @@ beginchar(oct "120",10u#,x_height#,0);
draw z4--z5;
- labels(4,5);
+ labels(4, 5);
endchar;
cmchar "Small cap over bar";
-beginchar(oct "121",10u#,x_height#,0);
+beginchar(oct "121", 10u#, x_height#, 0);
cupcap_fit;
pickup rule.nib;
@@ -1363,7 +1448,7 @@ beginchar(oct "121",10u#,x_height#,0);
draw z1..z3..z2;
- labels(1,2,3);
+ labels(1, 2, 3);
x4 = x1;
x5 = x2;
@@ -1372,12 +1457,12 @@ beginchar(oct "121",10u#,x_height#,0);
draw z4--z5;
- labels(4,5);
+ labels(4, 5);
endchar;
cmchar "Small cup with acute";
-beginchar(oct "122",10u#,x_height#,0);
+beginchar(oct "122", 10u#, x_height#, 0);
cupcap_fit;
pickup rule.nib;
@@ -1390,28 +1475,28 @@ beginchar(oct "122",10u#,x_height#,0);
draw z1..z3..z2;
- labels(1,2,3);
+ labels(1, 2, 3);
pickup crisp.nib;
x4 + 0.5stem = hround(2/3w);
- x5 = 2/3[x4,w-x4];
+ x5 = 2/3[x4, w-x4];
y4 + 0.5stem = x_height + oo;
y5 = 1/2x_height;
numeric theta;
theta = angle(z5-z4) + 90;
- pos4(stem,theta);
- pos5(hair,theta);
+ pos4(stem, theta);
+ pos5(hair, theta);
filldraw circ_stroke z4e--z5e;
- penlabels(4,5);
+ penlabels(4, 5);
endchar;
cmchar "Small raised cap";
-beginchar(oct "123",10u#,x_height#,0);
+beginchar(oct "123", 10u#, x_height#, 0);
cupcap_fit;
pickup rule.nib;
@@ -1424,8 +1509,8 @@ beginchar(oct "123",10u#,x_height#,0);
draw z1..z3..z2;
- labels(1,2,3);
+ labels(1, 2, 3);
endchar;
-end \ No newline at end of file
+end
diff --git a/Master/texmf-dist/fonts/source/public/fge/fgerm10.mf b/Master/texmf-dist/fonts/source/public/fge/fgerm10.mf
index df7a2b99892..a54ffd7ac6b 100644
--- a/Master/texmf-dist/fonts/source/public/fge/fgerm10.mf
+++ b/Master/texmf-dist/fonts/source/public/fge/fgerm10.mf
@@ -1,7 +1,6 @@
% FGE Roman 10 point
% this is derived from cmr10.mf by Knuth
% J.J.Green 2006
-% $Id: fgerm10.mf,v 1.2 2006/11/21 20:56:17 jjg Exp $
if unknown cmbase: input cmbase fi
if unknown fgebase: input fgebase fi
diff --git a/Master/texmf-dist/fonts/tfm/public/fge/fgeit10.tfm b/Master/texmf-dist/fonts/tfm/public/fge/fgeit10.tfm
index 165aac7f2b9..fc566b4e0ed 100644
--- a/Master/texmf-dist/fonts/tfm/public/fge/fgeit10.tfm
+++ b/Master/texmf-dist/fonts/tfm/public/fge/fgeit10.tfm
Binary files differ
diff --git a/Master/texmf-dist/fonts/tfm/public/fge/fgerm10.tfm b/Master/texmf-dist/fonts/tfm/public/fge/fgerm10.tfm
index 2a24bfb8344..759dd344f49 100644
--- a/Master/texmf-dist/fonts/tfm/public/fge/fgerm10.tfm
+++ b/Master/texmf-dist/fonts/tfm/public/fge/fgerm10.tfm
Binary files differ
diff --git a/Master/texmf-dist/fonts/type1/public/fge/fgeit10.pfb b/Master/texmf-dist/fonts/type1/public/fge/fgeit10.pfb
index 054b6d5a9f7..d1848717f56 100644
--- a/Master/texmf-dist/fonts/type1/public/fge/fgeit10.pfb
+++ b/Master/texmf-dist/fonts/type1/public/fge/fgeit10.pfb
Binary files differ
diff --git a/Master/texmf-dist/fonts/type1/public/fge/fgerm10.pfb b/Master/texmf-dist/fonts/type1/public/fge/fgerm10.pfb
index 47d8704a70d..3522feab542 100644
--- a/Master/texmf-dist/fonts/type1/public/fge/fgerm10.pfb
+++ b/Master/texmf-dist/fonts/type1/public/fge/fgerm10.pfb
Binary files differ
diff --git a/Master/texmf-dist/source/fonts/fge/fge.dtx b/Master/texmf-dist/source/fonts/fge/fge.dtx
index ea77074f326..941b3cae233 100644
--- a/Master/texmf-dist/source/fonts/fge/fge.dtx
+++ b/Master/texmf-dist/source/fonts/fge/fge.dtx
@@ -1,7 +1,6 @@
% \iffalse meta-comment
%
% Copyright 2006, 2007, 2009, 2011 J.J. Green
-% $Id: fge.dtx,v 1.55 2011/11/17 22:40:35 jjg Exp $
%
% Changes:
%
@@ -30,7 +29,7 @@
%<package>\ProvidesPackage{fge}
%<fdrm>\ProvidesFile{fgerm.fd}%
%<fdit>\ProvidesFile{fgeit.fd}%
-%<-driver> [2011/11/17 1.24
+%<-driver> [2015/05/19 1.25
%<package> fge symbol support package]
%<fdrm> fge roman symbol font definitions]
%<fdit> fge italic symbol font definitions]
@@ -42,6 +41,9 @@
\usepackage{fge}
\providecommand\dst{\expandafter{\normalfont\scshape docstrip}}
\renewcommand{\quad}{{\hskip1em plus 2em}}
+% a slighly wider quote environment
+\newenvironment{bquote}{\list{}{%
+ \leftmargin=0.1in\rightmargin=0.1in}\item[]}{\endlist}
\begin{document}
\DocInput{fge.dtx}
\end{document}
@@ -72,17 +74,16 @@
%
% \begin{multicols}{2}
%
-% \subsubsection*{Spiritus lenis}
-% The spiritus lenis accent is available as
-% \begin{quote}
-% |\spirituslenis{\alpha}|
-% \end{quote}
-% giving $\spirituslenis{\alpha}$, $\spirituslenis{\beta}$,
-% $\spirituslenis{\gamma}$, $\spirituslenis{\delta}$,
-% $\spirituslenis{\varepsilon}$,\ldots
+% \subsubsection*{Spiritus lenis and asper}
+% \begin{bquote}
+% \begin{tabular}{lc}
+% |\spirituslenis{\alpha}| & $\spirituslenis{\alpha}$ \\
+% |\spiritusasper{\alpha}| & $\spiritusasper{\alpha}$
+% \end{tabular}
+% \end{bquote}
%
% \subsubsection*{Lazy capitals and numerals}
-% \begin{quote}
+% \begin{bquote}
% \begin{tabular}{lc}
% |\fgerighttwo| & $\fgerighttwo$ \\
% |\fgerightB| & $\fgerightB$ \\
@@ -91,45 +92,45 @@
% |\fgeleftB| & $\fgeleftB$ \\
% |\fgeleftC| & $\fgeleftC$
% \end{tabular}
-% \end{quote}
+% \end{bquote}
%
% \subsubsection*{Overturned romans}
-% \begin{quote}
+% \begin{bquote}
% \begin{tabular}{lc}
% |\fgec| & $\fgec$ \\
% |\fgee| & $\fgee$ \\
% |\fgeeszett| & $\fgeeszett$ \\
% |\fgeA| & $\fgeA$
% \end{tabular}
-% \end{quote}
+% \end{bquote}
%
% \subsubsection*{Overturned italics}
-% \begin{quote}
+% \begin{bquote}
% \begin{tabular}{lc}
% |\fged| & $\fged$ \\
% |\fgef| & $\fgef$ \\
% |\fgeF| & $\fgeF$ \\
% \end{tabular}
-% \end{quote}
+% \end{bquote}
%
% \subsubsection*{Struckout numerals}
-% \begin{quote}
+% \begin{bquote}
% \begin{tabular}{lc}
% |\fgestruckzero| & $\fgestruckzero$ \\
% |\fgestruckone| & $\fgestruckone$
% \end{tabular}
-% \end{quote}
+% \end{bquote}
%
% \subsubsection*{Fletched arrows}
-% \begin{quote}
+% \begin{bquote}
% \begin{tabular}{lc}
% |\fgerightarrow| & $\fgerightarrow$ \\
% |\fgeuparrow| & $\fgeuparrow$
% \end{tabular}
-% \end{quote}
+% \end{bquote}
%
% \subsubsection*{Cups, caps and bars}
-% \begin{quote}
+% \begin{bquote}
% \begin{tabular}{lc}
% |\fgeupbracket| & $\fgeupbracket$ \\
% |\fgecap| & $\fgecap$ \\
@@ -140,10 +141,10 @@
% |\fgecupacute| & $\fgecupacute$ \\
% |\fgebaracute| & $\fgebaracute$
% \end{tabular}
-% \end{quote}
+% \end{bquote}
%
% \subsubsection*{Erratics}
-% \begin{quote}
+% \begin{bquote}
% \begin{tabular}{lc}
% |\fgemark| & $\fgemark$ \\
% |\fgelb| & $\fgelb$ \\
@@ -152,7 +153,7 @@
% |\fges| & $\fges$ \\
% |\fgebackslash| & $\fgebackslash$
% \end{tabular}
-% \end{quote}
+% \end{bquote}
%
% \end{multicols}
%
@@ -234,18 +235,20 @@
\newcommand{\fgeoverU}{\fgelb}
\newcommand{\fgeU}{\fgemark}
% \end{macrocode}
-% The spiritus lenis accent. Here we don't use \texttt{DeclareMathAccent}
-% but instead \TeX\ primatives; the former is for ordinary symbols
-% which are press-ganged into being accents, the latter is for glyphs
-% designed as accents. The tricky part is selecting the \textt{fge} font
-% by coercing its symbol-code into an appropriate hex-string, we copy
-% the code in the AMS fonts package.
+% The spiritus lenis and asper accents. Here we don't use
+% \texttt{DeclareMathAccent} but instead \TeX\ primatives; the former
+% is for ordinary symbols which are press-ganged into being accents,
+% the latter is for glyphs designed as accents. The tricky part is
+% selecting the \textt{fge} font by coercing its symbol-code into an
+% appropriate hex-string, we copy the code in the AMS fonts package.
% \begin{macrocode}
\def\spirituslenisA{\mathaccent"0\hexnumber@\symfgerm 15}
\def\spirituslenisB{\mathaccent"0\hexnumber@\symfgerm 16}
+\def\spiritusasperA{\mathaccent"0\hexnumber@\symfgerm 13}
+\def\spiritusasperB{\mathaccent"0\hexnumber@\symfgerm 14}
% \end{macrocode}
-% There are two versions of the spiritus lenis, variant A
-% from the Ibycus font for classical Greek by
+% There are two versions of the spiritus lenis and asper, variant
+% A from the Ibycus font for classical Greek by
% Pierre A. MacKay, from work by Silvio Levy's realization of a
% classic Didot cut of Greek type from around 1800.
% Variant B is my own, an approximation of the more crescent-like
@@ -255,8 +258,10 @@
% \begin{macrocode}
\ifcrescent
\def\spirituslenis{\spirituslenisB}
+ \def\spiritusasper{\spiritusasperB}
\else
\def\spirituslenis{\spirituslenisA}
+ \def\spiritusasper{\spiritusasperA}
\fi
% \end{macrocode}
% The character sizing
diff --git a/Master/texmf-dist/source/fonts/fge/fge.ins b/Master/texmf-dist/source/fonts/fge/fge.ins
index d957c0a678b..c6716cd74ff 100644
--- a/Master/texmf-dist/source/fonts/fge/fge.ins
+++ b/Master/texmf-dist/source/fonts/fge/fge.ins
@@ -2,7 +2,6 @@
% fge.ins
% docstrip wrapper for fge
% J.J. Green 2005
-% $Id: fge.ins,v 1.4 2007/01/02 23:27:38 jjg Exp $
\def\batchfile{fge.ins}
\input docstrip.tex
\preamble
diff --git a/Master/texmf-dist/tex/latex/fge/Ufgeit.fd b/Master/texmf-dist/tex/latex/fge/Ufgeit.fd
index 46942180099..5c86b4a312c 100644
--- a/Master/texmf-dist/tex/latex/fge/Ufgeit.fd
+++ b/Master/texmf-dist/tex/latex/fge/Ufgeit.fd
@@ -22,7 +22,7 @@
%% Grave accent \` Left brace \{ Vertical bar \|
%% Right brace \} Tilde \~}
\ProvidesFile{fgeit.fd}%
- [2011/11/17 1.24
+ [2015/05/19 1.25
fge italic symbol font definitions]
\DeclareFontFamily{U}{fgeit}{}
\DeclareFontShape{U}{fgeit}{m}{n}{%
diff --git a/Master/texmf-dist/tex/latex/fge/Ufgerm.fd b/Master/texmf-dist/tex/latex/fge/Ufgerm.fd
index ff3f5961fec..aac40b5c512 100644
--- a/Master/texmf-dist/tex/latex/fge/Ufgerm.fd
+++ b/Master/texmf-dist/tex/latex/fge/Ufgerm.fd
@@ -22,7 +22,7 @@
%% Grave accent \` Left brace \{ Vertical bar \|
%% Right brace \} Tilde \~}
\ProvidesFile{fgerm.fd}%
- [2011/11/17 1.24
+ [2015/05/19 1.25
fge roman symbol font definitions]
\DeclareFontFamily{U}{fgerm}{}
\DeclareFontShape{U}{fgerm}{m}{n}{%
diff --git a/Master/texmf-dist/tex/latex/fge/fge.sty b/Master/texmf-dist/tex/latex/fge/fge.sty
index e863fb74288..f41f497de43 100644
--- a/Master/texmf-dist/tex/latex/fge/fge.sty
+++ b/Master/texmf-dist/tex/latex/fge/fge.sty
@@ -23,7 +23,7 @@
%% Right brace \} Tilde \~}
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{fge}
- [2011/11/17 1.24
+ [2015/05/19 1.25
fge symbol support package]
\newif\ifcrescent
\crescentfalse
@@ -69,10 +69,14 @@
\newcommand{\fgeU}{\fgemark}
\def\spirituslenisA{\mathaccent"0\hexnumber@\symfgerm 15}
\def\spirituslenisB{\mathaccent"0\hexnumber@\symfgerm 16}
+\def\spiritusasperA{\mathaccent"0\hexnumber@\symfgerm 13}
+\def\spiritusasperB{\mathaccent"0\hexnumber@\symfgerm 14}
\ifcrescent
\def\spirituslenis{\spirituslenisB}
+ \def\spiritusasper{\spiritusasperB}
\else
\def\spirituslenis{\spirituslenisA}
+ \def\spiritusasper{\spiritusasperA}
\fi
\DeclareMathSizes{10}{10}{7}{5}
\endinput
diff --git a/Master/tlpkg/libexec/ctan2tds b/Master/tlpkg/libexec/ctan2tds
index 4adbc986af1..7d86b438ff2 100755
--- a/Master/tlpkg/libexec/ctan2tds
+++ b/Master/tlpkg/libexec/ctan2tds
@@ -2262,6 +2262,7 @@ my $core_latex = "$Master/texmf-dist/tex/latex";
'ctable' => 'latex', # requires interaction
'curve2e' => 'tex',
'dateiliste' => 'latex', # requires interaction
+# 'dccpaper' => 'pdflatex',
'denisbdoc', => 'tex',
'dotseqn' => 'latex', # requires interaction
'delimtxt' => 'latex -translate-file=empty.tcx', # no 8-bit