From be31a3bcf74e6d21aa329076b6b6993eb3c2061d Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Fri, 26 Feb 2021 23:56:54 +0000 Subject: knuth runtime file updates from the 2021 tuneup git-svn-id: svn://tug.org/texlive/trunk@57963 c570f23f-e606-0410-a88d-b1316a301751 --- .../fonts/source/public/concrete/ccn10.mf | 75 ++++++++++++++++++++++ .../fonts/source/public/knuth-lib/grayf.mf | 2 +- .../fonts/source/public/knuth-lib/slant.mf | 4 +- .../fonts/source/public/knuth-local/domino.mf | 40 +++++++----- 4 files changed, 102 insertions(+), 19 deletions(-) create mode 100644 Master/texmf-dist/fonts/source/public/concrete/ccn10.mf (limited to 'Master/texmf-dist/fonts/source/public') diff --git a/Master/texmf-dist/fonts/source/public/concrete/ccn10.mf b/Master/texmf-dist/fonts/source/public/concrete/ccn10.mf new file mode 100644 index 00000000000..4dc258d14cc --- /dev/null +++ b/Master/texmf-dist/fonts/source/public/concrete/ccn10.mf @@ -0,0 +1,75 @@ +% Concrete Roman Narrow 10 point +if unknown cmbase: input cmbase fi + +font_identifier:="CCR"; font_size 10pt#; + +u#:=17/36pt#; % unit width +width_adj#:=0pt#; % width adjustment for certain characters +serif_fit#:=1/36pt#; % extra sidebar near lowercase serifs +cap_serif_fit#:=3/36pt#; % extra sidebar near uppercase serifs +letter_fit#:=0pt#; % extra space added to all sidebars + +body_height#:=270/36pt#; % height of tallest characters +asc_height#:=250/36pt#; % height of lowercase ascenders +cap_height#:=246/36pt#; % height of caps +fig_height#:=232/36pt#; % height of numerals +x_height#:=165/36pt#; % height of lowercase without ascenders +math_axis#:=90/36pt#; % axis of symmetry for math symbols +bar_height#:=92/36pt#; % height of crossbar in lowercase e +comma_depth#:=70/36pt#; % depth of comma below baseline +desc_depth#:=70/36pt#; % depth of lowercase descenders + +crisp#:=0pt#; % diameter of serif corners +tiny#:=11/36pt#; % diameter of rounded corners +fine#:=6/36pt#; % diameter of sharply rounded corners +thin_join#:=17/36pt#; % width of extrafine details +hair#:=21/36pt#; % lowercase hairline breadth +stem#:=25/36pt#; % lowercase stem breadth +curve#:=27/36pt#; % lowercase curve breadth +ess#:=25/36pt#; % breadth in middle of lowercase s +flare#:=29/36pt#; % diameter of bulbs or breadth of terminals +dot_size#:=38/36pt#; % diameter of dots +cap_hair#:=21/36pt#; % uppercase hairline breadth +cap_stem#:=27/36pt#; % uppercase stem breadth +cap_curve#:=28/36pt#; % uppercase curve breadth +cap_ess#:=27/36pt#; % breadth in middle of uppercase s +rule_thickness#:=.4pt#; % thickness of lines in math symbols + +dish#:=0/36pt#; % amount erased at top or bottom of serifs +bracket#:=5/36pt#; % vertical distance from serif base to tangent +jut#:=30/36pt#; % protrusion of lowercase serifs +cap_jut#:=32/36pt#; % protrusion of uppercase serifs +beak_jut#:=10/36pt#; % horizontal protrusion of beak serifs +beak#:=70/36pt#; % vertical protrusion of beak serifs +vair#:=21/36pt#; % vertical diameter of hairlines +notch_cut#:=30/36pt#; % maximum breadth above or below notches +bar#:=21/36pt#; % lowercase bar thickness +slab#:=21/36pt#; % serif and arm thickness +cap_bar#:=21/36pt#; % uppercase bar thickness +cap_band#:=21/36pt#; % uppercase thickness above/below lobes +cap_notch_cut#:=1pt#; % max breadth above/below uppercase notches +serif_drop#:=5/36pt#; % vertical drop of sloped serifs +stem_corr#:=1/36pt#; % for small refinements of stem breadth +vair_corr#:=1/36pt#; % for small refinements of hairline height +apex_corr#:=0pt#; % extra width at diagonal junctions + +o#:=4/36pt#; % amount of overshoot for curves +apex_o#:=3/36pt#; % amount of overshoot for diagonal junctions + +slant:=0; % tilt ratio $(\Delta x/\Delta y)$ +fudge:=.95; % factor applied to weights of heavy characters +math_spread:=0; % extra openness of math symbols +superness:=8/11; % parameter for superellipses +superpull:=1/15; % extra openness inside bowls +beak_darkness:=4/30; % fraction of triangle inside beak serifs +ligs:=2; % level of ligatures to be included + +square_dots:=false; % should dots be square? +hefty:=false; % should we try hard not to be overweight? +serifs:=true; % should serifs and bulbs be attached? +monospace:=false; % should all characters have the same width? +variant_g:=false; % should an italic-style g be used? +low_asterisk:=false; % should the asterisk be centered at the axis? +math_fitting:=false; % should math-mode spacing be used? + +generate roman % switch to the driver file diff --git a/Master/texmf-dist/fonts/source/public/knuth-lib/grayf.mf b/Master/texmf-dist/fonts/source/public/knuth-lib/grayf.mf index 1a34e18fd1b..7765ebd8120 100644 --- a/Master/texmf-dist/fonts/source/public/knuth-lib/grayf.mf +++ b/Master/texmf-dist/fonts/source/public/knuth-lib/grayf.mf @@ -10,7 +10,7 @@ forsuffixes m = mag,rep: mg := mag; mag := 1; mode_setup; if mg>1: hppp := hppp*mg; vppp := vppp*mg; extra_endchar:= - "if charcode>0:currentpicture:=currentpicture scaled mg;fi" + "if charcode>0:currentpicture:=currentpicture scaled mg;fi;" & extra_endchar; fi; if picture pix_picture: rep := 1; diff --git a/Master/texmf-dist/fonts/source/public/knuth-lib/slant.mf b/Master/texmf-dist/fonts/source/public/knuth-lib/slant.mf index 3763222bce2..b851c3e1d89 100644 --- a/Master/texmf-dist/fonts/source/public/knuth-lib/slant.mf +++ b/Master/texmf-dist/fonts/source/public/knuth-lib/slant.mf @@ -19,8 +19,8 @@ pickup pencircle scaled r; ruler := savepen; for k=1 upto n: beginchar(k,k*u#*s,n*u#,0); pickup ruler; draw origin--(k*u*s,k*u); - unfill (lft-1,bot -1)--(rt 1,bot -1) - --(rt 1,0)--(lft-1,0)--cycle; + unfill (lft -1,bot -1)--(rt 1,bot -1) + --(rt 1,0)--(lft -1,0)--cycle; unfill ((lft -1,0)--(rt 1,0) --(rt 1,top 1)--(lft -1,top 1)--cycle) shifted (k*u*s,k*u); endchar; endfor diff --git a/Master/texmf-dist/fonts/source/public/knuth-local/domino.mf b/Master/texmf-dist/fonts/source/public/knuth-local/domino.mf index 6bd9da121be..578110eb32d 100644 --- a/Master/texmf-dist/fonts/source/public/knuth-local/domino.mf +++ b/Master/texmf-dist/fonts/source/public/knuth-local/domino.mf @@ -14,41 +14,49 @@ % instead of 16,32,48. But the present scheme seems mathematically better. mode_setup; p#:=in#/300; -d#:=64p#; +%d#:=64p#; +d#:=63p#; % changed September 2016 (makes the font slightly smaller) define_pixels(p); font_identifier:="DOMINO"; font_coding_scheme:="dominoes"; font_size:=10pt#; +font_quad:=d#; +font_normal_space:=d#; -pickup pencircle scaled p; tiny_pen=savepen; +pickup pencircle scaled .5p; tiny_pen=savepen; pickup pencircle scaled 13p; huge_pen=savepen; % I first tried 15p, and it looked OK, but the Taiwan set has smaller dots -pickup pencircle scaled 3p; bound_pen=savepen; def begindomchar(expr code)= beginchar(code,d#,d#,0); pickup tiny_pen; - for x=0 step 2p until 60p: - drawdot (x+.5p,1.5p); drawdot (x+1.5p,.5p); - drawdot (.5p,x+3.5p); drawdot (1.5p,x+2.5p); - drawdot (w-1.5p,x+1.5p); drawdot (w-.5p,x+.5p); - drawdot (x+2.5p,h-.5p); drawdot (x+3.5p,h-1.5p); +% for x=0 step 2p until 60p: +% drawdot (x+.5p,1.5p); drawdot (x+1.5p,.5p); +% drawdot (.5p,x+3.5p); drawdot (1.5p,x+2.5p); +% drawdot (w-1.5p,x+1.5p); drawdot (w-.5p,x+.5p); +% drawdot (x+2.5p,h-.5p); drawdot (x+3.5p,h-1.5p); +% September 2016: that approach gave bad effect at join between domino halves + for x=0 step 3p until 57p: + drawdot (x+1.5p,1.5p); + drawdot (w-1.5p,x+1.5p); + drawdot (w-1.5p-x,h-1.5p); + drawdot (1.5p,h-1.5p-x); endfor % fill (2p,2p)--(w-2p,2p)--(w-2p,h-2p)--(2p,h-2p)--cycle; fill (3p,3p)--(w-3p,3p)--(w-3p,h-3p)--(3p,h-3p)--cycle; pickup huge_pen; enddef; -def dota = erase drawdot(16p,48p) enddef; -def dotb = erase drawdot(32p,48p) enddef; -def dotc = erase drawdot(48p,48p) enddef; -def dotd = erase drawdot(16p,32p) enddef; -def dote = erase drawdot(32p,32p) enddef; -def dotf = erase drawdot(48p,32p) enddef; +def dota = erase drawdot(16p,47p) enddef; +def dotb = erase drawdot(31.5p,47p) enddef; +def dotc = erase drawdot(47p,47p) enddef; +def dotd = erase drawdot(16p,31.5p) enddef; +def dote = erase drawdot(31.5p,31.5p) enddef; +def dotf = erase drawdot(47p,31.5p) enddef; def dotg = erase drawdot(16p,16p) enddef; -def doth = erase drawdot(32p,16p) enddef; -def doti = erase drawdot(48p,16p) enddef; +def doth = erase drawdot(31.5p,16p) enddef; +def doti = erase drawdot(47p,16p) enddef; def v(expr code)=128+ASCII code enddef; % change character code for vertical format -- cgit v1.2.3