From edf4b4adefff41b42b69d7606186463076ff022e Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Sat, 2 May 2015 21:43:44 +0000 Subject: esrelation (2may15) git-svn-id: svn://tug.org/texlive/trunk@37154 c570f23f-e606-0410-a88d-b1316a301751 --- .../fonts/source/public/esrelation/esrelation.mf | 439 +++++++++++++++++++++ .../fonts/source/public/esrelation/esrelation10.mf | 124 ++++++ 2 files changed, 563 insertions(+) create mode 100644 Master/texmf-dist/fonts/source/public/esrelation/esrelation.mf create mode 100644 Master/texmf-dist/fonts/source/public/esrelation/esrelation10.mf (limited to 'Master/texmf-dist/fonts/source/public') diff --git a/Master/texmf-dist/fonts/source/public/esrelation/esrelation.mf b/Master/texmf-dist/fonts/source/public/esrelation/esrelation.mf new file mode 100644 index 00000000000..dce9d587716 --- /dev/null +++ b/Master/texmf-dist/fonts/source/public/esrelation/esrelation.mf @@ -0,0 +1,439 @@ +%% +%% This is file `esrelation.mf', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% esrelation.dtx (with options: `mf') +%% +%% Copyright (C) 2015 +%% by Byron Cook, Tauba Auerbach, and David Reinfurt +%% + +%% mf setup + +font_coding_scheme:="TeX math symbols"; +mode_setup; font_setup; + +autorounding:=0; +font_slant slant; font_x_height x_height#; +font_quad 18u# if not monospace:+4letter_fit# fi; +slant:=mono_charic#:=0; % the remaining characters will not be slanted +currenttransform:=identity yscaled aspect_ratio scaled granularity; + +%% identify symbols + +%% brackets + +bracket_project_right=oct"025"; +bracket_project_left=oct"024"; +bracket_lifting=oct"026"; + +%% symbols + +restrict_wand=oct"027"; +restrict_barb=oct"030"; +restrict_mallet=oct"021"; +restrict_wand_up=oct"050"; +restrict_barb_up=oct"051"; +restrict_mallet_up=oct"052"; + +%% arrows + +r_arrow22=oct"021"; + +arrow_project_right=oct"022"; +arrow_project_left=oct"023"; + +%% bars + +barshort=oct"040"; +barlong=oct"043"; +verticalbarlongleft=oct"044"; +verticalbarlongright=oct"046"; +verticalbarshort=oct"045"; + +%% declare extensible + +extensible oct"025": oct"025",0,0,oct"044"; +extensible oct"024": oct"024",0,0,oct"044"; + +%% define pixels + +define_pixels(em, cap, sb, penscaler); % Convert to device-specific units. +define_corrected_pixels(o); % Same, but add a device-specific fudge factor. + +%% relation utility dims + +%% u = (w-(2*sb))/8; % utility measurement +uu = (h-(2*sb))/8; % utility measurement (using h, not w) +super = 3.9; % offset utility for curve roundness [2.8] + +%% Arrow project Right + +iff known arrow_project_right: cmchar "arrow_project_right"; +compute_spread(.45x_height#,.55x_height#); +beginchar(arrow_project_right,10u#,cap#, 1pt#); + + adjust_fit(0,0); + pickup pencircle scaled (penscaler); % small, circular tip + + %% Points + + z1 = (-5u, math_axis); + z2 = (10u, y1); + z3 = (x2-5u, y2+5u); + + %% Draw + + draw z1 -- z2 -- z3; % right arrow + penlabels(1,2,3,4,5,6); + +endchar; + +%% Arrow project Left + +iff known arrow_project_left: cmchar "arrow_project_left"; +compute_spread(.45x_height#,.55x_height#); +beginchar(arrow_project_left,10u#,cap#, 1pt#); + + adjust_fit(0,0); + pickup pencircle scaled (penscaler); % small, circular tip + + %% Points + + z1 = (15u, math_axis); + z2 = (0, y1); + z3 = (x2+5u, y2+5u); + + %% Draw + + draw z1 -- z2 -- z3; % right arrow + penlabels(1,2,3,4,5,6); + +endchar; + +%% Bracket project Right + +iff known bracket_project_right: cmchar "bracket_project_right"; +compute_spread(.45x_height#,.55x_height#); +beginchar(bracket_project_right,5u#,cap#, 1pt#); + + adjust_fit(0,0); + pickup pencircle scaled (penscaler); % small, circular tip + + %% Points + + z1 = (0, -3*desc_depth); + z2 = (x1, math_axis-4u); + z3 = (x1+5u/super, y4-5u/super); + z4 = (x1+4u, math_axis); + z5 = (15u, y4); + + %% Draw + + draw z1 -- z2 .. z3 .. z4 -- z5; % right bracket + penlabels(1,2,3,4,5,6); + +endchar; + +%% Bracket project Left + +iff known bracket_project_left: cmchar "bracket_project_left"; +compute_spread(.45x_height#,.55x_height#); +beginchar(bracket_project_left,5u#,cap#, 1pt#); + + adjust_fit(0,0); + pickup pencircle scaled (penscaler); % small, circular tip + + %% Points + + z1 = (w, -3*desc_depth); + z2 = (x1, math_axis-4u); + z3 = (x1-5u/super, y4-5u/super); + z4 = (x1-4u, math_axis); + z5 = (-10u, y4); + + %% Draw + + draw z1 -- z2 .. z3 .. z4 -- z5; % right bracket + penlabels(1,2,3,4,5,6); + +endchar; + +%% Bracket Lifting + +iff known bracket_lifting: cmchar "bracket_lifting"; +compute_spread(.45x_height#,.55x_height#); +beginchar(bracket_lifting,5u#,cap#, 1pt#); + + adjust_fit(0,0); + pickup pencircle scaled (penscaler); % small, circular tip + + %% Points + + z1 = (0, h+10u); + z2 = (x1, math_axis+4u); + z3 = (x1+5u/super, y4+5u/super); + z4 = (4u, math_axis); + z5 = (w+10u, y4); + + %% Draw + + draw z1 -- z2 .. z3 .. z4 -- z5; % bracket + penlabels(1,2,3,4,5,6); + +endchar; + + +iff known barshort: cmchar "barshort"; +compute_spread(.45x_height#,.55x_height#); +beginchar(barshort,3u#,v_center(spread#+rule_thickness#)); + +adjust_fit(0,0); +pickup pencircle scaled (penscaler); % small, circular tip +x1=eps; +x2=w-eps+1u; +y1=y2=math_axis; +draw z1--z2; +penlabels(1,2); + +endchar; + +%% Bar Long + +iff known barlong: cmchar "barlong"; +compute_spread(.45x_height#,.55x_height#); +beginchar(barlong,6u#,v_center(spread#+rule_thickness#)); + +adjust_fit(0,0); +pickup pencircle scaled (penscaler); % small, circular tip +x1=eps; +x2=w-eps+1u; +y1=y2=math_axis; +draw z1--z2; +penlabels(1,2); + +endchar; + +%% Vertical Bar Long Left + +iff known verticalbarlongleft: cmchar "verticalbarlongleft"; +compute_spread(.45x_height#,.55x_height#); +beginchar(verticalbarlongleft,5u#,v_center(spread#+rule_thickness#)); + +adjust_fit(0,0); +pickup pencircle scaled (penscaler); % small, circular tip +x1=x2=0; +y1=asc_height-5u; +y2=0; +draw z1--z2; +penlabels(1,2); + +endchar; + +%% Vertical Bar Long Right + +iff known verticalbarlongright: cmchar "verticalbarlongright"; +compute_spread(.45x_height#,.55x_height#); +beginchar(verticalbarlongright,5u#,v_center(spread#+rule_thickness#)); + +adjust_fit(0,0); +pickup pencircle scaled (penscaler); % small, circular tip +x1=x2=w; +y1=asc_height-5u; +y2=0; +draw z1--z2; +penlabels(1,2); + +endchar; + +%% Vertical Bar Short + +iff known verticalbarshort: cmchar "verticalbarshort"; +compute_spread(.45x_height#,.55x_height#); +beginchar(verticalbarshort,5u#,v_center(spread#+rule_thickness#)); + +adjust_fit(0,0); +pickup pencircle scaled (penscaler); % small, circular tip +x1=x2=0; +y1=1u; +y2=0; +draw z1--z2; +penlabels(1,2); + +endchar; + +%% restrict Wand + +iff known restrict_wand: cmchar "restrict_wand"; +compute_spread(.45x_height#,.55x_height#); +beginchar(restrict_wand,5u#,v_center(spread#+rule_thickness#)); + + pickup pencircle scaled (penscaler); + + %% Points + + z1 = (3u, asc_height); % bar + z2 = (x1, -2*u); + + z3 = (x1-2*u, 0); % asterisk + z4 = (x1+2*u, y3); + z5 = (x1-1.4*u, y3+1.4*u); + z6 = (x1+1.4*u, y3-1.4*u); + z7 = (x6, y5); + z8 = (x5, y6); + + %% Draw + + draw z1 -- z2; % | + draw z3 -- z4; % * + draw z5 -- z6; + draw z7 -- z8; + +penlabels(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15); + +endchar; + +%% restrict Wand Up + +iff known restrict_wand_up: cmchar "restrict_wand_up"; +compute_spread(.45x_height#,.55x_height#); +beginchar(restrict_wand_up,5u#,v_center(spread#+rule_thickness#)); + + pickup pencircle scaled (penscaler); + + %% Points + + z1 = (3u, -2u); % bar + z2 = (x1, asc_height); + + z3 = (x1-2*u, y2-2u); % asterisk + z4 = (x1+2*u, y3); + z5 = (x1-1.4*u, y3+1.4*u); + z6 = (x1+1.4*u, y3-1.4*u); + z7 = (x6, y5); + z8 = (x5, y6); + + %% Draw + + draw z1 -- z2; % | + draw z3 -- z4; % * + draw z5 -- z6; + draw z7 -- z8; + +penlabels(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15); + +endchar; + +%% restrict Barb + +iff known restrict_barb: cmchar "restrict_barb"; +compute_spread(.45x_height#,.55x_height#); +beginchar(restrict_barb,5u#,v_center(spread#+rule_thickness#)); + + pickup pencircle scaled (penscaler); % Use a pen with a small, circular tip. + + %% Points + + z1 = (3u, asc_height); % bar + z2 = (x1, -2*u); + + z3 = (x1-2*u, 0); % diamond + z4 = (x1+2*u, y3); + z5 = (x1, 2*u); + + %% Draw + + draw z1 -- z2; % | + draw z3 -- z4 -- z5; % _\ + draw z2 -- z3; % \ + + penlabels(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15); + +endchar; + +%% restrict Barb Up + +iff known restrict_barb_up: cmchar "restrict_barb_up"; +compute_spread(.45x_height#,.55x_height#); +beginchar(restrict_barb_up,5u#,v_center(spread#+rule_thickness#)); + + pickup pencircle scaled (penscaler); % Use a pen with a small, circular tip. + + %% Points + + z1 = (3u, -2u); % bar + z2 = (x1, asc_height); + + z3 = (x1-2*u, y2-2u); % diamond + z4 = (x1+2*u, y3); + z5 = (x1, y3-2u); + + %% Draw + + draw z1 -- z2; % | + draw z3 -- z4 -- z5; % _\ + draw z2 -- z3; % \ + + penlabels(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15); + +endchar; + +%% restrict Mallet + +iff known restrict_mallet: cmchar "restrict_mallet"; +compute_spread(.45x_height#,.55x_height#); +beginchar(restrict_mallet,5u#,v_center(spread#+rule_thickness#)); + + pickup pencircle scaled (penscaler); % Use a pen with a small, circular tip. + + %% Points + + z1 = (3u, asc_height); % bar + z2 = (x1, -2*u); + + z3 = (x1-(4/3)*u, (-2/3)*u); % diamond + z4 = (x1+(4/3)*u, y3); + z5 = (x1, (2/3)*u); + + %% Draw + + draw z1 -- z2; % | + draw z3 .. z5 .. z4 .. z2 .. z3; % o + + penlabels(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15); + +endchar; + +%% restrict Mallet up + +iff known restrict_mallet_up: cmchar "restrict_mallet_up"; +compute_spread(.45x_height#,.55x_height#); +beginchar(restrict_mallet_up,5u#,v_center(spread#+rule_thickness#)); + + pickup pencircle scaled (penscaler); % Use a pen with a small, circular tip. + + %% Points + + z1 = (3u, -2u); % bar + z2 = (x1, asc_height); + + z3 = (x1-(4/3)*u, y2-4/3u); % diamond + z4 = (x1+(4/3)*u, y3); + z5 = (x1, y3-4/3u); + + %% Draw + + draw z1 -- z2; % | + draw z3 .. z5 .. z4 .. z2 .. z3; % o + + penlabels(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15); + +endchar; + +bye. + +\endinput +%% +%% End of file `esrelation.mf'. diff --git a/Master/texmf-dist/fonts/source/public/esrelation/esrelation10.mf b/Master/texmf-dist/fonts/source/public/esrelation/esrelation10.mf new file mode 100644 index 00000000000..cdc4036fa2d --- /dev/null +++ b/Master/texmf-dist/fonts/source/public/esrelation/esrelation10.mf @@ -0,0 +1,124 @@ +%% +%% This is file `esrelation10.mf', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% esrelation.dtx (with options: `mf10') +%% +%% Copyright (C) 2015 +%% by Byron Cook, Tauba Auerbach, and David Reinfurt +%% +if unknown cmbase: input cmbase fi + +font_identifier:="VECT"; +font_size 10pt#; + +%% relation specific measures + +em# := 10pt#; % ``M'' width +cap# := 7pt#; % cap height +sb# := 1/4pt#; % sidebearing +o# := 1/16pt#; % amt curves overshoot borders +penscaler# := 0.3pt#; % pen stroke scaler ** fix ** + +%% relation non-sharped values * fix * + +%% u = (w-(2*sb))/8; % utility measurement +%% super = 3.9; % offset utility for curve roundness [2.8] + +%% cm values from esvect + +u#:=20/36pt#; % unit width +width_adj#:=0pt#; % width adjustment for certain characters +serif_fit#:=0pt#; % extra sidebar near lowercase serifs +cap_serif_fit#:=5/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#:=155/36pt#; % height of lowercase without ascenders +math_axis#:=90/36pt#; % axis of symmetry for math symbols +bar_height#:=87/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#:=8/36pt#; % diameter of serif corners +tiny#:=8/36pt#; % diameter of rounded corners +fine#:=7/36pt#; % diameter of sharply rounded corners +thin_join#:=7/36pt#; % width of extrafine details +hair#:=9/36pt#; % lowercase hairline breadth +stem#:=24/36pt#; % lowercase stem breadth +curve#:=29/36pt#; % lowercase curve breadth +ess#:=27/36pt#; % breadth in middle of lowercase s +flare#:=32/36pt#; % diameter of bulbs or breadth of terminals +dot_size#:=38/36pt#; % diameter of dots +cap_hair#:=11/36pt#; % uppercase hairline breadth +cap_stem#:=30/36pt#; % uppercase stem breadth +cap_curve#:=35/36pt#; % uppercase curve breadth +cap_ess#:=33/36pt#; % breadth in middle of uppercase s +rule_thickness#:=.4pt#; % thickness of lines in math symbols + +dish#:=1/36pt#; % amount erased at top or bottom of serifs +bracket#:=20/36pt#; % vertical distance from serif base to tangent +jut#:=30/36pt#; % protrusion of lowercase serifs +cap_jut#:=37/36pt#; % protrusion of uppercase serifs +beak_jut#:=10/36pt#; % horizontal protrusion of beak serifs +beak#:=70/36pt#; % vertical protrusion of beak serifs +vair#:=8/36pt#; % vertical diameter of hairlines +notch_cut#:=10pt#; % maximum breadth above or below notches +bar#:=11/36pt#; % lowercase bar thickness +slab#:=11/36pt#; % serif and arm thickness +cap_bar#:=11/36pt#; % uppercase bar thickness +cap_band#:=11/36pt#; % uppercase thickness above/below lobes +cap_notch_cut#:=10pt#; % max breadth above/below uppercase notches +serif_drop#:=4/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#:=8/36pt#; % amount of overshoot for curves +apex_o#:=8/36pt#; % amount of overshoot for diagonal junctions + +slant:=.25; % tilt ratio $(\Delta x/\Delta y)$ +fudge:=1; % factor applied to weights of heavy characters +math_spread:=0; % extra openness of math symbols +superness:=1/sqrt2; % parameter for superellipses +superpull:=1/6; % extra openness inside bowls +beak_darkness:=11/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:=true; % should an italic-style g be used? +low_asterisk:=false; % should the asterisk be centered at the axis? +math_fitting:=true; % should math-mode spacing be used? + +subs:=7/10; % subscripts to 10pt will normally be in 7pt type +rth#:=.4pt#; % assume that rules will come from cmex10 +fontdimen 8: % parameters $\sigma_8$ through $\sigma_{22}$ will now be listed + math_axis#+3.51rth#+54/36pt#+subs*desc_depth#, % num1 + math_axis#+1.51rth#+30/36pt#, % num2 + math_axis#+1.51rth#+48/36pt#, % num3 + -(math_axis#-3.51rth#-subs*fig_height#-124/36pt#), % denom1 + -(math_axis#-1.51rth#-subs*fig_height#-30/36pt#), % denom2 + 8.99pt#-subs*asc_height#, % sup1 + 8.49pt#-subs*asc_height#, % sup2 + 104/36pt#, % sup3 + 54/36pt#, % sub1 + -(8.49pt#-2subs*asc_height#-3.1rth#), % sub2 + subs*asc_height#-36/36pt#, % sup\_drop + 18/36pt#, % sub\_drop + 23.9pt#, % delim1 + 10.1pt#, % delim2 + math_axis#; % axis\_height + +generate esrelation % switch to the driver file + +\endinput +%% +%% End of file `esrelation10.mf'. -- cgit v1.2.3