From 1f40290c5b70afeaae54606de6aea2018ffc8528 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Tue, 29 Sep 2009 13:33:01 +0000 Subject: restore real errata doc file, rm empty doc/source subdir git-svn-id: svn://tug.org/texlive/trunk@15553 c570f23f-e606-0410-a88d-b1316a301751 --- .../texmf-dist/doc/generic/knuth/errata/cm85.bug | 1906 ++++++++++++++++++++ 1 file changed, 1906 insertions(+) create mode 100644 Master/texmf-dist/doc/generic/knuth/errata/cm85.bug (limited to 'Master/texmf-dist/doc/generic/knuth/errata/cm85.bug') diff --git a/Master/texmf-dist/doc/generic/knuth/errata/cm85.bug b/Master/texmf-dist/doc/generic/knuth/errata/cm85.bug new file mode 100644 index 00000000000..d8cbea6442d --- /dev/null +++ b/Master/texmf-dist/doc/generic/knuth/errata/cm85.bug @@ -0,0 +1,1906 @@ +This file is a log of changes made to the "new generation" of Computer Modern +fonts, after the first output proofs were ready. I had a great deal of +advice from Neenie Billawala, Matthew Carter, and Richard Southall while +I was making these revisions. + +Entries are in chronological order; thus the most recent news appears +at the bottom of the file. + +------------------------------------------------------------------------------- + Changes based on the proofsheets of April 26, 1985 +ACCENT.MF: + lower the idots, umlauts, and tilde (MC) + Polish ell cross: longer stroke in bold +CMBASE.MF: +COMLIG.MF: + double quotes too close together in bold (MC) +CSCSPU.MF: + SS made from two S's +GREEKU.MF: + Gamma: .25u longer arm + Lambda: too narrow (MC,NB) + Xi: 1u wider; shorten middle serifs (MC) + top and bottom strokes to be arms (NB) + Psi: more super; thin the lower curve (MC) + add points 3' and 7' for crisp sans + Omega: redo the bottom, curl 0 becomes vertical (MC) + thin from hair to vair at points 3 and 5 +PUNCT.MF: + Monospace period, comma, colon, semicolon made heavier (MC) +ROMAN.MF: + ligs=2 gets ff, fi, etc.; ligs=1 gets only --, '', etc. + II kerning introduced + kern between a and ' in csc +ROMAND.MF: + 0: med_curve decreased to curve; y2l and y4l raised + 1: cap_bar changed to bar in the top stroke + sans-serif serifs also use bar as the slab height + 2: lighten cap_curve and cap_stem slightly (RS) + move point 3 down by .5vair (MC) + 4: thin the diagonal still more (NB) + bar line moves up one pixel when there's a serif below it + 6: move bulb to the right (MC) + make the lower left curve more_super (RS,NB) + 9: make the upper right curve more_super (RS,NB) +ROMANL.MF: + a: bulb positioned by its center rather than the left (MC) + c: right terminals moved closer to the edge (MC,NB) + more pull on the inside left (RS) + e: less left sidebar in monospace (MC) + bold versions to be wider (MC) + more pull on inside left (MC,RS) + g: lower edge of loop goes one pixel lower + varg: point 6 raised above baseline (MC) + y0 calculated so that it works when x7l=stem_edge + lower arc goes one pixel lower + i: monospace version gets more left sidebar (MC) + dot moves slightly right (NB) + stem'' increased to stem' (MC,RS,NB) + slab replaces tiny in correction for dot-too-close + j: diminish monospace sidebars (MC) + shift slightly to right (MC) + k: serif right_jut decreased .8 to .6 + bug fixed in alpha2 (had y1 not y11)(MC,RS,NB) + decreased diagonal weights + "if abs(angle(z3-z4)-45)<2:y4:=y3-(x3-x4);fi" rejected; moves y4 down too much + n: omit pull inside the arch (MC,RS) + introduce stem_shift, shifts this character and others slightly right (MC) + o: raise y2l and y4l (RS) + s: reduced sidebearing in sans (MC) + increased thickness at edges (.35 to .5) (RS) + changed to super_arc, and made it more_super (RS) + raised the top of upper barb to equal top of the character (RS) + removed typo (`tiny' for `fine') + reduced flare in upper terminal of sans, and rounded it properly + t: width to grow in bold case + height made independent of bar_height + slightly longer bar (MC) + v: decreased left stem (RS) + w: decreased stems (MC,RS) + monospace version drops middle from 2/3 to .6 and lengthens inner serifs + x: decreased left stem + y: decreased left stem + z: lighter diagonal, longer upper arm (MC,RS,NB) +ROMANP.MF: + $: tau eliminated +ROMANU.MF: + A: decrease right stem (MC) + make the bar thinner (MC,NB) + bar position based on y0 rather than bar_height + C: use cap_band instead of vair' at top and bottom (RS) + correct typo: x2l to be reset, not y2l + E: middle arm .35u longer, but beak reduced from .7 to .6 (MC) + F: top arm .25u longer; middle arm as E (MC) + G: same as C; also the bar is raised one pixel + J: slightly longer upper left serif + K: lower diagonal thinned and moved outward + M: monospace version raised still more in middle + N: diagonal thinned (MC,RS) + O: y2l and y4l raised + R: tail should move to the right (MC,RS,NB) + bold case gets wider (RS,NB) + S: changed as s (RS) + V: took stem_corr off the left stem (MC) + W: monospace version takes center down from 2/3 to .6, lengthens inner jut + X: took stem_corr off the left stem (MC) + Y: took stem_corr off the left stem (MC) + Z: diagonal made lighter in sans (MC) + upper arm made longer (MC,RS) +ROMLIG.MF: + equalize stem weights (RS,NB) +ROMSPL.MF: + ae, oe: incorporate changes of a and e and o + ss: more stem weight, less curve weight, less bulb (MC,NB) + dotless i,j: see i,j +ROMSPU.MF: + AE: middle arm changes as E (MC) + if hefty and monospace, avoid the serif on middle arm + bars not aligned if hefty + if monospace, middle stem moves to right + OE: middle arm changes as in AE (MC) + middle stem lightened +ROMSUB.MF: + blankspace: not so close to sides +SYM.MF: +CMR10.MF etc: + bar_height raised in the quote and bold fonts (MC,NB) + comma_depth in cmtt10 increased from 40 to 50 (MC) + cap_notch_cut decreased in cmsc10, cmsx10 + apex_o decreased in cmr10, cmb10, cmbx10, cmbx5, cmcsc10, cmtt10 + o decreased in cmb10 + cap_jut decreased from 39 to 34 in cmb10; cap_serif_fit increased 5 to 6 + cmbx5 gets smaller beak, fudge, cap_ess; more apex_corr +GENERAL: + "robustness" added when points like x8r of "a" are calculated + (this affects a,b,d,varg,j,p,q,t,u,dj,ae,6,9,f_stroke) + "robustness" also added to avoid curl at end of paths + (this affects c,e,s,C,G,S,1,5,ae,oe,breve,parens) + "term" subroutine adds robustness for sans-serif terminals + (this affects C,G,J,S,f_stroke,j,ss,ae,oe,2,3,5,6,9,$,&,?,@) + code revised to use "pos" instead of "penpos" when possible + Changes based on the proofsheets of May and June, 1985 +ROMAND.MF: + 1: use o instead of apex_o + 4: bar line height shouldn't depend on bar_height + 5: sans-serif lower terminal position raised; depends on upper left edge + bug in arm at top (0 for 90) made all hefty arms too small + 9: disappears at link +ROMANU.MF: + B: middle bar positioned by its middle, not its bottom (RS) + serifed lobes thickened slightly at bottom (RS) + C: lower terminal is tilted the other way + C,G: upper terminal in sans-serif is tilted slightly + upper barb is darkened + J: tilt the lower terminal + K: lighten the main diagonal (serif case) (RS) + lighten the upper diagonal (sans-serif case) (RS) + M: remove apex_corr (RS) + N: lighten the diagonal + P: too light below counter (RS) + Q: sharpen upper right corner of sans-serif tail (RS) + top of tail thickened and moved slightly left + S: less super at upper left and lower right (MC) + barb to go below baseline + barbs darkened + add weight at top, bottom in sans_serif version (RS) + tilt the lower terminal like the upper one + top weight needs to be maxed with fine.breadth + W: top middle stems allowed to overlap in serifed case + second inner serif made no longer than left outer serif (MC) + ceiling must become floor, to ensure that x5r>=x4r-mid_corr + Z: diagonal still too heavy, because previous change was ineffective + beaks made darker + better positioning of y2 and y3 when tiny is zero +CSCSPU.MF: + J,SS: changes from J and S +ROMANL.MF: + a: inappropriate uses of "fine" are removed + bh introduced to guard against "wild" bar heights + thin_join introduced at point 9 + robustness logic changed so that x8l-x8r<=u + c: too much weight constrast between strokes in sans_serif (RS) + top terminal lowered to match a + bottom terminal tilted the other way + d: fine.breadth should have been thin_join as in b, p, q + e: 1+xpart changed to xpart + bottom terminal tilted the other way + g: sans-serif ear to use z0l and z0r + h,m,n: left inner serifs stay at jut length + i,l: mod_width for better fit at lowres + j: reposition stem for better fit (use .5w+2.5u, not w-2.5u) + remove bug in "pos" change + k: upper diagonal serif lengthened from 1.2jut to 1.4jut (RS) + diagonals made still lighter + r: thin_join introduced + s: barb to go below baseline + barbs darkened + add weight at top, bottom in sans_serif version (RS) + tilt the lower terminal like the upper one (RS) + top weight needs to be maxed with fine.breadth + t: bar extended still more at right (RS) + v: decreased the width by .25width_adj# + w: overlap allowed as in W + second inner serif made no longer than left outer serif (MC) + ceiling must become floor, to ensure that x5r>=x4r-mid_corr + x: decreased the width by .5width_adj# (RS) + y: sans-serif tail curls up too far (RS) + z: beaks too light; decrease the diagonal to compensate (RS) + better positioning of y2 and y3 when tiny is zero +ROMSPL.MF: + dotless i and j: as i and j + ae and oe: bottom terminal tilted the other way + ae: corrected as a +ROMSPU.MF: + AE: x12 based on x1l rather than x1, works better in bold cases (RS) + OE: left curve not to be pulled +GREEKU.MF: + Phi and Psi: middle parts must keep away from the serifs +ROMANP.MF: + $: strengthened the terminals in sans-serif case, and tilted them + &: opened the eye by moving point 8 left .5u (RS) + ?: tilted the sans-serif terminal and moved it down a little more +PUNCT.MF: + %: move the diagonal a bit left at the top + ( and ): 3.5( changed to 3(. + [ and ]: round changed to ceiling and floor, avoids disappearing brackets + @: inner a placed by its edges instead of its stem centers (RS) +ITALL.MF: + f: lower bulb moved left; .5 changed to .6 between bulb and stem + k: bug in lower right stroke (missing e's) + l: bug in italic correction for math fitting (u not u#) + m: avoid hooks in monospace version + p: lengthed left serif at bottom from .5jut to .75jut + x: bulbs moved .25u further out; .5 used between bulb and stem + w: avoid hook in monospace version +ITALIG.MF: + all five: changed like f + fi: made 1u less wide + fl,ffl: made .5u less wide, bulb now touches the l stem + ffi: made .75u less wide +GREEKL.MF: + beta, gamma, zeta, xi, omega, varepsilon: +eps at the tight turns + gamma: final diagonal should be more slanted (MC) + zeta: as tall as xi, shallower diagonal slant (MC) + kappa: bug in lower right stroke (missing e's) + xi: raise the bottom diagonal and distort arc slightly (MC) + chi: introduce slight curve in main diagonal stroke + varphi: too wide at right half bowl (MC) +ITALMS.MF: + wp: bulb smaller, bottom a little more open +ITALD.MF: + 5: changed like 5 in ROMAND +OLDDIG.MF: + 2: top a bit narrower, bottom a bit wider (MC) + 5: changed like 5 in ROMAND +SYM.MF: + plus-minus: shift depends on u not asc_height +SYMBOL.MF: + minus-plus: shift depends on u not asc_height + up-and-down arrows (characters '154 and '155): taller and deeper + clubsuit: wider + spadesuit: y1+1 changed to y1+.75 (also in clubsuit) +ROMAN.MF: + eliminated kerning between L and O,C,G,Q,U (also in TEXTIT and CSC) +MATHEX.MF: + font_x_height needed to be set, for positioning of accents +CMB10.MF: + dishing is too much (on all bold fonts) +CMR5.MF: + letter_fit decreased 10 to 5 +CMBX5.MF: + fudge should be 1 (cap_stem 8=:7 in aps mode was too much) + decrease letter_fit drastically; this means f-ligatures must come back + lowercase parameters increased by 2/36 +CMBI10.MF: + lowercase serifs too short. (same change to all the italic fonts) +CMSX10.MF: + decrease `ess' (RS) +CMTC10.MF: + fudge is too much in lowercase +CMCC10.MF: + lowercase more extended + much less letterspace in caps + increase lower.cap_curve, decrease lower.o +CMSQI8.MF: + slope shouldn't be so much (RS) + increase `ess' (RS) + +GENERAL: + serif-abutment corrections changed to +1 instead of +2 + vround used for vertical rounding + +CMBASE.MF: + new way to set shrink_fit (0,1,2) for monotonicity with letter_fit + letter_fit not included in mono_charwd + fine must be positive (else we lose barbs) + thin_join must be positive (else h_stroke gives a bad pos) + Changes based on the `version 0' test fonts of July 12 +[not showing hundreds of changes to the `typography' of the programs] + +Driver files in general: +Frequency info (from MANUAL.TEX[tex,dek]) was used to order the ligtables +font_xheight changed to font_x_height (a change to PLAIN.MF) + +Program files in general: + use `hround' instead of `round' wherever granularity might be wanted + less_rounded was taken out; autorounded occasionally put in + arm($,$$,...), the value of y$$ was adjusted by eps (lower) or -eps (upper) + +Parameter files in general: + new 12pt and 17+pt fonts; more sans serif fonts + new comment at bottom of all parameter files: `switch to the driver file' + +ACCENT.MF: + ^: eps subtracted from y1 (helps avoid degenerate equations in ultralowres) + '`: eps added to y1 + +ROMAN.MF: + kern entry for gj had the wrong sign + kerns for v removed in sans serif + new kern for aj in serif case + new kern for ar in sans serif + +ROMAND.MF: + 3: pos3 needed to be maxed with fine.breadth + y1r,y9r needed to be adjusted by eps + 6,9: keep x1 on the correct side of x2 at lowlowres + (this change also affects OLDDIG, ITALD, and ITALMS partial sign) + +ROMANP.MF: + $: less_tense bulbs + +ROMSPL.MF: + ss: ensure x5 not > x4l at low resolutions + +ROMLIG.MF: + itc shouldn't include the slant... + +COMLIG.MF: + em dash should be one em wide (add letter_fit# to the adjustments) + +BIGOP.MF: + \displaystyle coproduct sign had 1.2bracket instead of 1.8bracket + charlist syntax changed from commas to colons + +BIGDEL.MF: + extensible double arrow: position wasn't computed as in top and bottom + charlist syntax changed from commas to colons + +BIGACC.MF: + charlist syntax changed from commas to colons + +ITALL.MF: + c: point 1 made definitely greater than point 2, for lowlowres + q: x4 increased by eps, for lowlowres path intersection + r: x4 based on w, not 5u + s: max(ess,fine.breadth) + add eps and 2eps for lowlowres case (cmmi6 at 100/in) + +ITALMS.MF: + wp: x6r must not be less than x1r at lowlowres + +TSETSL.MF: + gamma: last time's bugfix from GREEKL needs to be here too + +GREEKL.MF: + omega: add 2eps to x4-x6 + lambda: make sure that y3>y4 at lowlowres + zeta: make sure that x2>x0 at lowlowres + varsigma: make sure that x1>x2 at lowlowres + +CMFIB8.MF: + decreased serif_fit, cap_serif_fit; increased curve, cap_curve + +CMBASE.MF: + l,r made newinternals + serif darkness and skew switches now done with boolean variables + comma and ammoc: 2eps addedto/subtractedfrom position of x@2 + mod_width now called change_width + ess and cap_ess initialized to preserve ratios with stem and cap_stem + mode="string" had to be handled properly + ^ and ! changed to t_ and o_, as per new PLAIN conventions + make cmchar "outer" + t_ is now `relaxed' if it is useless + soft is now softjoin in PLAIN (we must set join_radius:=u) + eps is now in PLAIN + vair is vrounded but at least 1; also slab, etc. + cal nibs, yscaled by cap_hair not vair + autorounding and smoothing turned off + +ROMANL.MF: + a: `footed' version is .25u tighter at the right + b,d,varg,p,q: x4l position relative to .5(w-serif_fit) not 5u + e: testpath uses .r not .l (because of cmss10) + f: added 1 at right for monospace lowres versions + varg: robust sans-serif terminal at tail + m: missing `round' in r adjustment caused noninteger chardx + r: x4 based on w, not 5.25u + s: watch out that ess isn't so small that badpos error occurs (also ROMANU) + barbs made longer; based on middle stroke not just h + t: sans-serif terminal made more robust in extreme cases + w: in non-monospace hefty serif case, the middle point comes to .8h not h + y: robust sans-serif terminal at tail + +ROMANU.MF: + E: good.y used in y9 + +PUNCT.MF: + []: side_thickness needed to be maxed with crisp.breadth + +1 or -1 makes lowres versions more distinctive + #: tricky part lost at low resolution + +SYMBOL.MF: + angle brackets: +1 and -1 to make lowres versions more distinctive + aleph: eps added so that y5 will be well defined at lowlowres + +SYM.MF: + integral sign: bulbs need to be in right direction at lowlowres + +CALU.MF: + A: apex moved slightly down + D: less flat at top, slightly lower lobe + F: u less right sidebar + H: soft corner at upper left + I: middle stroke more like J, upper bar a little further right + K: introduce t_ in case of aspect_ratio + L: darker + M: lighter first diagonal; clean the joins + N: lighter diagonal; clean bottom right; .5u less right sidebar + O: shortened the inner stroke + P: stem comes lower + Q: tail not so long at left + R: not so flat at top; diagonal less tense; tail less high + T: narrower, also changed like I, .5u less right sidebar, + heavier, not so high at right + U: less extreme curve at lower left + V: cleaned up at bottom; lighter first diagonal; slightly wider + W: changed like V, but double + X: new design, less rigid + Y: new design based more on V than U + Z: tighter at right, heavier at top and bottom + +CMSS10.MF: + decreased notch_cut and bar_height + +%Note: The following can presumably be deleted; I removed it from CMBASE because +% I don't think it is used any more: +vardef parallel_pos(expr d,u,v,w) = % point at distance $d$ from $u$, + % on the line through $w$ that's parallel to |u..v| + pair p_; p_=w+whatever*(u-v)=u+whatever*(u-v) rotated 90; + numeric d_; d_=length(u-p_); % distance from $w$ to |u..v| + if d_>=d: p_ else: p_+(d+-+d_)*unitvector(v-u) fi enddef; + Changes subsequent to `Version 1' as released on October 7, 1985. + +1. thin_join should be subject to blacker: +@x in CMBASE.MF, the font_setup routine + define_whole_pixels(letter_fit,thin_join,fine,crisp,tiny); + define_whole_vertical_pixels(body_height,asc_height, + cap_height,fig_height,x_height,comma_depth,desc_depth,serif_drop); + define_whole_blacker_pixels(hair,stem,curve,flare, +@y + define_whole_pixels(letter_fit,fine,crisp,tiny); + define_whole_vertical_pixels(body_height,asc_height, + cap_height,fig_height,x_height,comma_depth,desc_depth,serif_drop); + define_whole_blacker_pixels(thin_join,hair,stem,curve,flare, +@z +@x + if thin_join=0: thin_join:=1; fi +@y +@z +[Note, December 11: My first correction also introduced the statement + if fine1): +vardef Vround primary y = y_:=vround y; + if y_75: + p.e:=z4e{right}..tension atleast.9 and 1..{dir 75}z5e; fi endfor + filldraw stroke pulled_super_arc.e(2,3)(.7superpull) + & pulled_super_arc.e(3,4)(.5superpull) & p.e; fi % arc and lower terminal +@z +@x in ROMSPL, page 5 +lft x8r=hround(stem_edge+.5u+1); x7=max(x8l+eps,.4[lft x8r,x6]); +@y +lft x8r=min(hround(stem_edge+.5u+1),lft x8r+x6r-2eps-x8l); +x7=max(x8l+eps,.4[lft x8r,x6]); +@z +@x in ROMAND and OLDDIG, "2" + lft x1r=hround .75u; bot y1l=vround .7h; y1r:=good.y y1r; x1l:=good.x x1l; +@y + lft x1r=hround .75u; bot y1l=vround .7h; y1r:=good.y y1r+eps; x1l:=good.x x1l; +@z +@x in SYMBOL, page 42 (Fraktur R) +z=(z20{up}...{right}z21)intersectionpoint(z22l--z22l+(h,0) rotated theta); +@y +path p; p=z20{up}...(z21--(w,y21)); +z=p intersectionpoint(z22l--z22l+(h,0) rotated theta); +@z + +23. Another consequence of change 2: +"vround" should be "Vround" in the BIGDEL programs for extensible arrows +(five times). +Also five times in the BIGOP programs for summation, product, coproduct. + +24. Cosmetic change to bring CMBASE in line with PLAIN. +@x in CMBASE.MF +def pickup secondary q = + if numeric q: currentpen:=pen_[q]; + pen_top:=pen_top_[q]; pen_bot:=pen_bot_[q]; + pen_lft:=pen_lft_[q]; pen_rt:=pen_rt_[q]; + currentpen_path:=pen_path_[q]; + if known breadth_[q]: currentbreadth:=breadth_[q]; fi + else: currentpen:=q yscaled aspect_ratio; + pen_top:=(ypart penoffset left of currentpen)_o_; + pen_bot:=(ypart penoffset right of currentpen)_o_; + pen_lft:=xpart penoffset down of currentpen; + pen_rt:=xpart penoffset up of currentpen; + path currentpen_path; + fi enddef; +@y +def numeric_pickup_ primary q = + currentpen:=pen_[q]; + pen_lft:=pen_lft_[q]; pen_rt:=pen_rt_[q]; + pen_top:=pen_top_[q]; pen_bot:=pen_bot_[q]; + currentpen_path:=pen_path_[q]; + if known breadth_[q]: currentbreadth:=breadth_[q]; fi enddef; +@z + +25. false italic correction in lambda of texset fonts (Feb 25, 1986) +@x in TEXSET +mode_setup; font_setup; +@y +mode_setup; font_setup; mono_charic#:=0; +@z +@x ibid +slant:=mono_charic#:=0; % the remaining characters will not be slanted +@y +slant:=0; % the remaining characters will not be slanted +@z +[now remove the occurrences of `charic:=0;' in TSETSL, as they are unnecessary] + +*** The above changes are incorporated into the published book, +*** Computer Modern Typefaces; this is "Version 2" (released March 5, 1986). + Changes subsequent to `Version 2' as published in C&T, Volume E: + +@x in GREEKU +numeric shaved_stem; shaved_stem=hround .9[vair,.85cap_stem]; +@y +numeric shaved_stem; shaved_stem=hround .9[vair,.85cap_stem]; +if shaved_stem1.2upper_side: upper_side:=lower_side; fi +@z +% Note: the SAME change should also be made in files ITALD and OLDDIG + +@x in ITALL [this fixes italic ell especially at low resolutions] +top y1=h; x1=x2; filldraw stroke z1e--z2e; % stem +@y +top y1=h; x1=x2; filldraw stroke z1e--z2'e; % stem +@z + +@x in SYM, the plus-or-minus character +x1=x2=.5w; lft x3=lft=x5=hround u-eps; x4=x6=w-x3; +@y +x1=x2=.5w; lft x3=lft x5=hround u-eps; x4=x6=w-x3; +@z actually the code worked but it was "infelicitous" + +@x in SYMBOL, the minus-or-plus character +x1=x2=.5w; lft x3=lft=x5=hround u-eps; x4=x6=w-x3; +@y +x1=x2=.5w; lft x3=lft x5=hround u-eps; x4=x6=w-x3; +@z actually the code worked but it was "infelicitous" + +@x in ROMANU, letter J [fixes a bug if dish=0 and crispy$) <> (ypart precontrol 1 of p_ > ypart postcontrol 1 of p_): + 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 +@z + +@x in CALU, I decided in July 2005 that I really wanted a less swashy F +top y1=top y6=h; z2=.5[z3,z1]+1.2bend; +bot y3=-o; y4=.1h; y5=y2; y7=.9h; +draw flex(z1,z2,z3) softjoin (z3...{x4-x3,5(y4-y3)}z4); % stem +draw z1-flourish_change{up}...(z1-(u,0))---z6...{down}z7; % upper bar +@y +top y1=top y6=h; z2=.5[z3,z1]+bend; +bot y3=-o; y4=.1h; y5=y2; y7=.9h; +draw flex(z1,z2,z3) softjoin (z3...{x4-x3,5(y4-y3)}z4); % stem +draw z1-flourish_change+(0,.15asc_height){up}...{right}(z1-(2u,0)) + ---z6...{down}z7; % upper bar +@z + +@x in SYMBOL, two points of Hardy's asymptotic equivalence sign were unlabeled +labels(1,2,3,4); endchar; +@y +labels(1,2,3,4,5,6); endchar; +@z + +@x in GREEKL, correct a tiny notch that can show up at hires (Charles Duan) +filldraw z1l--z2l--z--z1r--cycle; % stem +@y +filldraw z1l--z2l...(x3,y2l)...z--z1r--cycle; % stem +@z + +@x in GREEKL, make almost-invisible semantic corrections to beta +x0=x1=x9; lft x0l=hround(1.5u-.5hair); x2=x4=x6=x8=.5w-.25u; +@y +x0=x1=x9; lft x0r=hround(1.5u-.5hair); x2=x4=x6=x8=.5w-.25u; +@z +@x +y5=.5[y4,y6]; top y6r-bot y4r=vstem+eps; bot y8=-oo; y7=y9=.55[y6,y8]; +@y +y5=.5[y4,y6]; top y6r-bot y4r=vstem+eps; bot y8r=-oo; y7=y9=.55[y6,y8]; +@z +@x and also to delta +y5+.1x_height=y7=.5[y6,y8]; bot y6=-oo; +@y +y5+.1x_height=y7=.5[y6,y8]; bot y6r=-oo; +@z +@x and also to phi +top y1=x_height+oo; y2=y4=.5[y1,y3]; bot y3=-oo; +@y +top y1r=x_height+oo; y2=y4=.5[y1,y3]; bot y3r=-oo; +@z + +-----------Here I draw the line with respect to further changes + +(I sincerely believe there won't be any more!) + +I absolutely guarantee that the TFM files will never change again. +(Otherwise I would consider zeroing the depth of italic 7, +which I admit is strange... we can live with it.) -- cgit v1.2.3