diff options
Diffstat (limited to 'Master/texmf-dist/fonts/source/public/ams/bsymbols.mf')
-rw-r--r-- | Master/texmf-dist/fonts/source/public/ams/bsymbols.mf | 1645 |
1 files changed, 0 insertions, 1645 deletions
diff --git a/Master/texmf-dist/fonts/source/public/ams/bsymbols.mf b/Master/texmf-dist/fonts/source/public/ams/bsymbols.mf deleted file mode 100644 index e1ae4391b00..00000000000 --- a/Master/texmf-dist/fonts/source/public/ams/bsymbols.mf +++ /dev/null @@ -1,1645 +0,0 @@ -%% @metafontfile{ -%% filename="bsymbols.mf", -%% version="2.2", -%% date="04-JAN-1995", -%% filetype="Metafont: driver", -%% copyright="Copyright (C) American Mathematical Society, -%% all rights reserved. Copying of this file is -%% authorized only if either: -%% (1) you make absolutely no changes to your copy -%% including name; OR -%% (2) if you do make changes, you first rename it to some -%% other name.", -%% author="American Mathematical Society", -%% address="American Mathematical Society, -%% Technical Support, Electronic Products and Services, -%% P. O. Box 6248, -%% Providence, RI 02940, -%% USA", -%% telephone="401-455-4080 or (in the USA) 800-321-4AMS", -%% email="Internet: Tech-Support@Math.AMS.org", -%% codetable="ISO/ASCII", -%% checksum = "24957 1645 5619 66280" -%% keywords="amsfonts, tex, metafont , AMSSymbols ", -%% abstract="This is the driver file for use with -%% MSBM, the second extra symbol font in AMSFonts 2.2." -%% docstring = "The checksum field above contains a CRC-16 -%% checksum as the first value, followed by the -%% equivalent of the standard UNIX wc (word -%% count) utility output of lines, words, and -%% characters. This is produced by Robert -%% Solovay's checksum utility.", -%% } -% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% This file defines the symbols of AMS special MSB font. - -def char_negate(suffix c,t,b) = %c is center point; t is top point; b is bottom -pickup rule.nib; -w-x.t=x.b; y.t-y.c=y.c-y.b; draw z.t--z.b; -penlabels(t,c,b); enddef; -def char_center(suffix c) = % find center of type character -x.c=w/2; y.c=.5[-d,h]; enddef; - -cmchar "Less than or not (double) equals sign"; -compute_spread(.45x_height#,.55x_height#); -spread#':=spread#; spread':=spread; -compute_spread(5/4x_height#,3/2x_height#); -beginchar(oct"000",14u#,v_center(2spread#'+spread#+2rule_thickness#)); -italcorr h#*slant-u#; adjust_fit(0,0); pickup rule.nib; -lft x2=hround 1.5u-eps; x1=x3=w-x2; y1-y3=spread; -y2=.5[y1,y3]; top y1=h; -x2=x9=x7; x1=x8=x6; y7=y6; y8=y9; -y7-y9=spread'; top y3-bot y6=spread'; -draw z1--z2--z3; % diagonals -draw z6--z7; draw z8--z9; % equal sign -z.c=.5[z7,z8]; x.t=x.c; y.t=2/3[y6,y3]; -char_negate(c,t,b); -penlabels(1,2,3,6,7,8,9); endchar; - -cmchar "Greater than or not (double) equals sign"; -compute_spread(.45x_height#,.55x_height#); -spread#':=spread#; spread':=spread; -compute_spread(5/4x_height#,3/2x_height#); -beginchar(oct"001",14u#,v_center(2spread#'+spread#+2rule_thickness#)); -italcorr h#*slant-u#; adjust_fit(0,0); pickup rule.nib; -rt x2=hround(w-1.5u)+eps; x1=x3=w-x2; y1-y3=spread; -x2=x7=x9; x1=x6=x8; y6=y7; y8=y9; -y2=.5[y1,y3]; top y3-bot y6=spread'; top y1=h; -y7-y9=spread'; -draw z1--z2--z3; % diagonals -draw z6--z7; draw z8--z9; -z.c=.5[z7,z8]; x.t=x.c; y.t=2/3[y6,y3]; -char_negate(c,t,b); -penlabels(1,2,3,6,7,8,9); endchar; - -cmchar "Not less than or equal to sign"; -compute_spread(.45x_height#,.55x_height#); -spread#':=spread#; spread':=spread; % the spread of `$=$' -compute_spread(5/4x_height#,3/2x_height#); -beginchar(oct"002",14u#,v_center(spread#'+spread#+rule_thickness#+6u#)); -italcorr h#*slant-u#; -adjust_fit(0,0); pickup rule.nib; -lft x2=hround 1.5u-eps; x1=x3=w-x2; -y1-y3=spread; y2=.5[y1,y3]; top y1=h-3u; -draw z1--z2--z3; % diagonals -x8=x1; x9=x2; y8=y9; y3-y9=spread'; draw z8--z9; % bar -char_center(100); x101=w-3u; y101=y1+3u; -char_negate(100,101,102); -labels(1,2,3,8,9,99,100); endchar; - -cmchar "Not greater than or equal to sign"; -compute_spread(.45x_height#,.55x_height#); -spread#':=spread#; spread':=spread; % the spread of `$=$' -compute_spread(5/4x_height#,3/2x_height#); -beginchar(oct"003",14u#,v_center(spread#'+spread#+rule_thickness#+6u#)); -italcorr h#*slant-u#; -adjust_fit(0,0); pickup rule.nib; -lft x1=hround 1.5u-eps; x2=w-x1; x3=x1; -y1-y3=spread; y2=.5[y1,y3]; top y1=h-3u; -draw z1--z2--z3; % diagonals -x8=x1; x9=x2; y8=y9; y3-y9=spread'; draw z8--z9; % bar -char_center(100); x101=w-3u; y101=y1+3u; -char_negate(100,101,102); -labels(1,2,3,8,9,99,100); endchar; - -cmchar "Not less than sign"; -compute_spread(5/4x_height#,3/2x_height#); -beginchar(oct"004",14u#,v_center(spread#+rule_thickness#+6u#)); -italcorr h#*slant-u#; -adjust_fit(0,0); pickup rule.nib; -lft x2=hround 1.5u-eps; x1=x3=w-x2; -y1-y3=spread; y2=.5[y1,y3]=math_axis; -draw z1--z2--z3; % diagonals -char_center(100); x101=w-3u; y101=y1+3u; -char_negate(100,101,102); -labels(1,2,3); endchar; - -cmchar "Not greater than sign"; -compute_spread(5/4x_height#,3/2x_height#); -beginchar(oct"005",14u#,v_center(spread#+rule_thickness#+6u#)); -italcorr math_axis#*slant-u#; -adjust_fit(0,0); pickup rule.nib; -rt x2=hround(w-1.5u)+eps; x1=x3=w-x2; -y1-y3=spread; y2=.5[y1,y3]=math_axis; -draw z1--z2--z3; % diagonals -char_center(100); x101=w-3u; y101=y1+3u; -char_negate(100,101,102); -labels(1,2,3,99,100); endchar; - -cmchar "Not precedes sign"; -compute_spread(5/4x_height#,3/2x_height#); -beginchar(oct"006",14u#,v_center(spread#+rule_thickness#+6u#)); -adjust_fit(0,0); pickup rule.nib; autorounded; -lft x2=hround 1.5u-epsilon; x1=x3=w-x2; -y1-y3=spread; y2=.5[y1,y3]; top y1=h-3u; -draw z1{-u,-spread}...{left}z2; % upper diagonal -draw z3{-u,spread}...{left}z2; % lower diagonal -char_center(100); x101=w-3u; y101=y1+3u; -char_negate(100,101,102); -labels(1,2,3,99,100); endchar; - -cmchar "Not follows sign"; -compute_spread(5/4x_height#,3/2x_height#); -beginchar(oct"007",14u#,v_center(spread#+rule_thickness#+6u#)); -adjust_fit(0,0); pickup rule.nib; autorounded; -lft x1=hround 1.5u-epsilon; x2=w-x1; x3=x1; -y1-y3=spread; y2=.5[y1,y3]; top y1=h-3u; -draw z1{u,-spread}...{right}z2; % upper diagonal -draw z3{u,spread}...{right}z2; % lower diagonal -char_center(100); x101=w-3u; y101=y1+3u; -char_negate(100,101,102); -labels(1,2,3,99,100); endchar; - -cmchar "Less than or slanted not (double) equals sign"; -compute_spread(.45x_height#,.55x_height#); -spread#':=spread#; spread':=spread; -compute_spread(5/4x_height#,3/2x_height#); -beginchar(oct"010",14u#,v_center(2spread#'+spread#+2rule_thickness#)); -italcorr h#*slant-u#; adjust_fit(0,0); pickup rule.nib; -lft x2=hround 1.5u-eps; x1=x3=w-x2; y1-y3=spread; -y2=.5[y1,y3]; top y1=h; -x2=x9=x7; x1=x8=x6; y7=y6; y8=y9; -y7-y9=spread'; top y3-bot y6=spread'; -draw z1--z2--z3; % diagonals -draw z6--z7; draw z8--z9; % equal sign -z.c=.5[z7,z8]; x.t=2/3[x.c, x3]; y.t=2/3[y6,y3]; -char_negate(c,t,b); -penlabels(1,2,3,6,7,8,9); endchar; - -cmchar "Greater than or slanted not (double) equals sign"; -compute_spread(.45x_height#,.55x_height#); -spread#':=spread#; spread':=spread; -compute_spread(5/4x_height#,3/2x_height#); -beginchar(oct"011",14u#,v_center(2spread#'+spread#+2rule_thickness#)); -italcorr h#*slant-u#; adjust_fit(0,0); pickup rule.nib; -rt x2=hround(w-1.5u)+eps; x1=x3=w-x2; y1-y3=spread; -x2=x7=x9; x1=x6=x8; y6=y7; y8=y9; -y2=.5[y1,y3]; top y3-bot y6=spread'; top y1=h; -y7-y9=spread'; -draw z1--z2--z3; % diagonals -draw z6--z7; draw z8--z9; -z.c=.5[z7,z8]; x.t=2/3[x.c, w-x3]; y.t=2/3[y6,y3]; -char_negate(c,t,b); -penlabels(1,2,3,6,7,8,9); endchar; - -cmchar "Not less than or (slanted) equal sign"; -compute_spread(.45x_height#,.55x_height#); -spread#':=spread#; spread':=spread; -compute_spread(5/4x_height#,3/2x_height#); -beginchar(oct"012",14u#,v_center(spread#'+spread#+rule_thickness#+6u#)); -italcorr h#*slant-u#; adjust_fit(0,0); pickup rule.nib; -lft x2=hround 1.5u-eps; x1=x3=w-x2; y1-y3=spread; -y2=.5[y1,y3]; y3-y8=y2-y9=spread'; top y1=h-3u; -x2=x9; x1=x8; -draw z1--z2--z3; % diagonals -draw z8--z9; % equal sign -char_center(c); x.t=w-3u; y.t=y1+3u; -char_negate(c,t,b); -penlabels(1,2,3,8,9); endchar; - -cmchar "Not greater than or (slanted) equal sign"; -compute_spread(.45x_height#,.55x_height#); -spread#':=spread#; spread':=spread; -compute_spread(5/4x_height#,3/2x_height#); -beginchar(oct"13",14u#,v_center(spread#'+spread#+rule_thickness#+6u#)); -italcorr h#*slant-u#; adjust_fit(0,0); pickup rule.nib; -rt x2=hround(w-1.5u)+eps; x1=x3=w-x2; y1-y3=spread; -x2=x9; x1=x8; -y2=.5[y1,y3]; y3-y8=y2-y9=spread'; top y1=h-3u; -draw z1--z2--z3; % diagonals -draw z8--z9; -char_center(c); x.t=w-3u; y.t=y1+3u; -char_negate(c,t,b); -penlabels(1,2,3,8,9); endchar; - -cmchar "Less than or not equal to sign"; -compute_spread(.45x_height#,.55x_height#); -spread#':=spread#; spread':=spread; % the spread of `$=$' -compute_spread(5/4x_height#,3/2x_height#); -beginchar(oct"014",14u#,v_center(spread#'+spread#+rule_thickness#)); -italcorr h#*slant-u#; adjust_fit(0,0); pickup rule.nib; lft -x2=hround 1.5u-eps; x1=x3=w-x2; y1-y3=spread; y2=.5[y1,y3]; -top y1=h; draw z1--z2--z3; % diagonals -x8=x1; x9=x2; y8=y9; -y3-y9=spread'; draw z8--z9; % bar -x100=w/2; y100=y8; % center point -y101=.5[y8,y3]; x101-x100=y101-y100; -char_negate(100,101,102); -labels(1,2,3,8,9); endchar; - -cmchar "Greater than or not equal to sign"; -compute_spread(.45x_height#,.55x_height#); -spread#':=spread#; spread':=spread; % the spread of `$=$' -compute_spread(5/4x_height#,3/2x_height#); -beginchar(oct"015",14u#,v_center(spread#'+spread#+rule_thickness#)); -italcorr h#*slant-u#; adjust_fit(0,0); pickup rule.nib; lft -x1=hround 1.5u-eps; x2=w-x1; x3=x1; y1-y3=spread; -y2=.5[y1,y3]; top y1=h; draw z1--z2--z3; % diagonals -x8=x1; -x9=x2; y8=y9; y3-y9=spread'; draw z8--z9; % bar -x100=w/2; y100=y8; % center point -y101=.5[y8,y3]; x101-x100=y101-y100; -char_negate(100,101,102); -labels(1,2,3,8,9); endchar; - -cmchar "Not precedes or equals sign"; -compute_spread(.45x_height#,.55x_height#); -spread#':=spread#; spread':=spread; % the spread of `$=$' -compute_spread(5/4x_height#,3/2x_height#); -beginchar(oct"016",14u#,v_center(spread#'+spread#+rule_thickness#+6u#)); -adjust_fit(0,0); pickup rule.nib; autorounded; lft x2=hround -1.5u-eps; x1=x3=w-x2; y1-y3=spread; y2=.5[y1,y3]; top y1=h-3u; -draw z1{-u,-spread}...{left}z2; % upper diagonal -draw z3{-u,spread}...{left}z2; % lower diagonal -x8=x1; x9=x2; -y8=y9; y3-y9=spread'; draw z8--z9; % bar -char_center(100); x101=w-3u; y101=y1+3u; -char_negate(100,101,102); -labels(1,2,3,8,9,99,100); endchar; - -cmchar "Not follows or equals sign"; -compute_spread(.45x_height#,.55x_height#); -spread#':=spread#; spread':=spread; % the spread of `$=$' -compute_spread(5/4x_height#,3/2x_height#); -beginchar(oct"017",14u#,v_center(spread#'+spread#+rule_thickness#+6u#)); -adjust_fit(0,0); pickup rule.nib; autorounded; lft x1=hround -1.5u-eps; x2=w-x1; x3=x1; y1-y3=spread; y2=.5[y1,y3]; top -y1=h-3u; draw z1{u,-spread}...{right}z2; % upper diagonal -draw z3{u,spread}...{right}z2; % lower diagonal -x8=x1; x9=x2; -y8=y9; y3-y9=spread'; draw z8--z9; % bar -char_center(100); x101=w-3u; y101=y1+3u; -char_negate(100,101,102); -labels(1,2,3,8,9,99,100); endchar; - -cmchar "Precedes or not approximately equals sign"; -compute_spread(.45x_height#,.55x_height#); -spread#':=spread#; spread':=spread; -compute_spread(.54x_height#,.55x_height#); -spread#'':=spread#; spread'':=spread; -compute_spread(5/4 x_height#,3/2 x_height#); -beginchar(oct"020",14u#,v_center(spread#'+spread#+spread#'')); -adjust_fit(0,0); pickup rule.nib; autorounded; -lft x2=hround 1.5u-eps; x1=x3=w-x2; -y1-y3=spread; y2=.5[y1,y3]; top y1=h; -draw z1{-u,-spread}...{left}z2; %upper `diagonal' -draw z3{-u,spread}...{left}z2; % lower diagonal -pickup pencircle xscaled .7rule_thickness yscaled -1.4rule_thickness; -if vair#>.8curve#: pickup rule.nib; autorounded; fi -lft x11=hround u; x12=4u; x13=w-x12; x14=w-x11; -bot y11=bot y13; top y12=top y14; -top y12-bot y11=spread''; - y3-y14=spread'; -draw z11{up}...z12{right}..{right}z13...{up}z14; -x.c=w/2; y.c=.5[y12,y13]; x.t=3/8[x.c,x14]; y.t=2/3[y12,y3]; -char_negate(c,t,b); -penlabels(1,2,3,11,12,13,14); endchar; - -cmchar "Follows or not equals sign"; -compute_spread(.45x_height#,.55x_height#); -spread#':=spread#; spread':=spread; % spread of similarity sign -compute_spread(.54 x_height#,.66 x_height#); -spread#'':=spread#; spread'':=spread; % spread between symbols -compute_spread(5/4 x_height#,3/2 x_height#); % spread of follows sign -beginchar(oct"021",14u#,v_center(spread#'+spread#+spread#'')); -adjust_fit(0,0); pickup rule.nib; autorounded; -lft x1=hround 1.5u-eps; x1=x3; x2=w-x1; -y1-y3=spread; y2=.5[y1,y3]; top y1=h; -draw z1{u,-spread}...{right}z2; %upper `diagonal' -draw z3{u,spread}...{right}z2; % lower diagonal -pickup pencircle xscaled .7rule_thickness yscaled -1.4rule_thickness; -if vair#>.8curve#: pickup rule.nib; autorounded; fi -lft x11=hround u; x12=4u; x13=w-x12; x14=w-x11; -bot y11=bot y13; top y12=top y14; -top y12-bot y11=spread''; -y3-y14=spread'; -draw z11{up}...z12{right}..{right}z13...{up}z14; -x.c=w/2; y.c=.5[y12,y13]; x.t=3/8[x.c,x14]; y.t=2/3[y12,y3]; -char_negate(c,t,b); -penlabels(1,2,3,11,12,13,14); endchar; - - - -cmchar "Less than or not similar to sign"; -compute_spread(.45x_height#,.55x_height#); -spread#':=spread#; spread':=spread; -compute_spread(.54x_height#,.55x_height#); -spread#'':=spread#; spread'':=spread; -compute_spread(5/4 x_height#,3/2 x_height#); -beginchar(oct"022",14u#,v_center(spread#'+spread#+spread#'')); -adjust_fit(0,0); pickup rule.nib; autorounded; -lft x2=hround 1.5u-eps; x1=x3=w-x2; -y1-y3=spread; y2=.5[y1,y3]; top y1=h; -draw z1--z2--z3; -pickup pencircle xscaled .7rule_thickness yscaled -1.4rule_thickness; -if vair#>.8curve#: pickup rule.nib; autorounded; fi -lft x11=hround u; x12=4u; x13=w-x12; x14=w-x11; -bot y11=bot y13; top y12=top y14; -top y12-bot y11=spread''; - y3-y14=spread'; -draw z11{up}...z12{right}..{right}z13...{up}z14; -x.c=w/2; y.c=.5[y12,y13]; x.t=3/8[x.c,x14]; y.t=2/3[y12,y3]; -char_negate(c,t,b); -penlabels(1,2,3,4,11,12,13,14); endchar; - - - -cmchar "Greater than or not similar to sign"; -compute_spread(.45x_height#,.55x_height#); -spread#':=spread#; spread':=spread; -compute_spread(.54x_height#,.66x_height#); -spread#'':=spread#; spread'':=spread; -compute_spread(5/4 x_height#,3/2 x_height#); -beginchar(oct"023",14u#,v_center(spread#'+spread#+spread#'')); -adjust_fit(0,0); pickup rule.nib; autorounded; -lft x1=hround 1.5u-eps; x1=x3; x2=w-x1; -y1-y3=spread; y2=.5[y1,y3]; top y1=h; -draw z1--z2--z3; -pickup pencircle xscaled .7rule_thickness yscaled -1.4rule_thickness; -if vair#>.8curve#: pickup rule.nib; autorounded; fi -lft x11=hround u; x12=4u; x13=w-x12; x14=w-x11; -bot y11=bot y13; top y12=top y14; -top y12-bot y11=spread''; - y3-y14=spread'; -draw z11{up}...z12{right}..{right}z13...{up}z14; -z.c=.5[z12,z13]; x.t=3/8[x.c,x14]; y.t=2/3[y12,y3]; -char_negate(c,t,b); -penlabels(1,2,3,4,11,12,13,14); endchar; - - -cmchar "Negated less than or (double) equals sign"; -compute_spread(.45x_height#,.55x_height#); -spread#':=spread#; spread':=spread; -compute_spread(5/4x_height#,3/2x_height#); -beginchar(oct"024",14u#,v_center(2spread#'+spread#+2rule_thickness#+6u#)); -italcorr h#*slant-u#; adjust_fit(0,0); pickup rule.nib; -lft x2=hround 1.5u-eps; x1=x3=w-x2; y1-y3=spread; -y2=.5[y1,y3]; top y1=h-3u; -x2=x9=x7; x1=x8=x6; y7=y6; y8=y9; -y7-y9=spread'; top y3-bot y6=spread'; -draw z1--z2--z3; % diagonals -draw z6--z7; draw z8--z9; % equal sign -char_center(c); x.t=w-3u; y.t=y1+3u; -char_negate(c,t,b); -penlabels(1,2,3,6,7,8,9); endchar; - -cmchar "Negated greater than or (double) equals sign"; -compute_spread(.45x_height#,.55x_height#); -spread#':=spread#; spread':=spread; -compute_spread(5/4x_height#,3/2x_height#); -beginchar(oct"025",14u#,v_center(2spread#'+spread#+2rule_thickness#+6u#)); -italcorr h#*slant-u#; adjust_fit(0,0); pickup rule.nib; -rt x2=hround(w-1.5u)+eps; x1=x3=w-x2; y1-y3=spread; -x2=x7=x9; x1=x6=x8; y6=y7; y8=y9; -y2=.5[y1,y3]; top y3-bot y6=spread'; top y1=h-3u; -y7-y9=spread'; -draw z1--z2--z3; % diagonals -draw z6--z7; draw z8--z9; -char_center(c); x.t=w-3u; y.t=y1+3u; -char_negate(c,t,b); -penlabels(1,2,3,6,7,8,9); endchar; - -cmchar "Precedes or slanted not (double) equals sign"; -compute_spread(.45x_height#,.55x_height#); -spread#':=spread#; spread':=spread; -compute_spread(5/4x_height#,3/2x_height#); -beginchar(oct"026",14u#,v_center(2spread#'+spread#+2rule_thickness#)); -italcorr h#*slant-u#; adjust_fit(0,0); pickup rule.nib; -lft x2=hround 1.5u-eps; x1=x3=w-x2; y1-y3=spread; -y2=.5[y1,y3]; top y1=h; -x2=x9=x7; x1=x8=x6; y7=y6; y8=y9; -y7-y9=spread'; top y3-bot y6=spread'; -draw z1{-u,-spread}..{left}z2; % diagonals -draw z3{-u, spread}..{left}z2; -draw z6--z7; draw z8--z9; % equal sign -z.c=.5[z7,z8]; x.t=2/3[x.c, x3]; y.t=2/3[y6,y3]; -char_negate(c,t,b); -penlabels(1,2,3,6,7,8,9); endchar; - -cmchar "Follows or slanted not (double) equals sign"; -compute_spread(.45x_height#,.55x_height#); -spread#':=spread#; spread':=spread; -compute_spread(5/4x_height#,3/2x_height#); -beginchar(oct"027",14u#,v_center(2spread#'+spread#+2rule_thickness#)); -italcorr h#*slant-u#; adjust_fit(0,0); pickup rule.nib; -rt x2=hround(w-1.5u)+eps; x1=x3=w-x2; y1-y3=spread; -x2=x7=x9; x1=x6=x8; y6=y7; y8=y9; -y2=.5[y1,y3]; top y3-bot y6=spread'; top y1=h; -y7-y9=spread'; -draw z1{u,-spread}..{right}z2; % diagonals -draw z3{u,spread}..{right}z2; -draw z6--z7; draw z8--z9; -z.c=.5[z7,z8]; x.t=2/3[x.c, w-x3]; y.t=2/3[y6,y3]; -char_negate(c,t,b); -penlabels(1,2,3,6,7,8,9); endchar; - -cmchar "Precedes with not approximate equality sign"; -compute_spread(.45x_height#,.55x_height#); -spread#':=spread#; spread':=spread; % the spread of `$=$' -compute_spread(.54 x_height#,.66 x_height#); -spread#'':=spread#; spread'':=spread; % the spread of `$=$' -compute_spread(1.111 x_height#,1.333 x_height#); -beginchar(oct"030",14u#,v_center(2spread#''+spread#+2rule_thickness#)); -adjust_fit(0,0); -% now for precedes sign, using z9 (top), z10 (vertex), & z11 (bot) -pickup rule.nib; -lft x10= hround 1.5u-eps; x9=x11=w-x10; -y9-y11=spread; y10=.5[y9,y11]; top y9=h; -draw z9{-u,-spread}...{left}z10; -draw z11{-u,spread}...{left}z10; -pickup pencircle xscaled .7rule_thickness yscaled 1.4rule_thickness; -if vair#>.8curve#: pickup rule.nib; autorounded; fi % monoline -lft x1=hround u; x2=4u; x3=w-x2; x4=w-x1; -top y3=top y1=bot y11-spread''; top y2=top y4=bot y1+spread'; -z1-z5=z2-z6=z3-z7=z4-z8=(0,spread''); -draw z1{up}...z2{right}..{right}z3...{up}z4; % upper stroke -draw z5{up}...z6{right}..{right}z7...{up}z8; % lower stroke -z.c=.5[z2,z7]; x.t=3/8[x.c,x4]; y.t=1/3[y2,y11]; -char_negate(c,t,b); -labels(1,2,3,4,5,6,7,8,9,10,11); endchar; - - -cmchar "Follows with not approximate equality sign"; -compute_spread(.45x_height#,.55x_height#); -spread#':=spread#; spread':=spread; % the spread of `$=$' -compute_spread(.54 x_height#,.66 x_height#); -spread#'':=spread#; spread'':=spread; % the spread of `$=$' -compute_spread(1.111 x_height#,1.333 x_height#); -beginchar(oct"031",14u#,v_center(2spread#''+spread#+2rule_thickness#)); -adjust_fit(0,0); -% now for follow sign, using z9 (top), z10 (vertex), & z11 (bot) -pickup rule.nib; -lft x9 = hround 1.5u-eps; x10=w-x9; x11=x9; -y9-y11=spread; y10=.5[y9,y11]; top y9=h; -draw z9{u,-spread}...{right}z10; -draw z11{u,spread}...{right}z10; -pickup pencircle xscaled .7rule_thickness yscaled 1.4rule_thickness; -if vair#>.8curve#: pickup rule.nib; autorounded; fi % monoline -lft x1=hround u; x2=4u; x3=w-x2; x4=w-x1; -top y3=top y1=bot y11-spread''; top y2=top y4=bot y1+spread'; -z1-z5=z2-z6=z3-z7=z4-z8=(0,spread''); -draw z1{up}...z2{right}..{right}z3...{up}z4; % upper stroke -draw z5{up}...z6{right}..{right}z7...{up}z8; % lower stroke -z.c=.5[z2,z7]; x.t=3/8[x.c,x4]; y.t=1/3[y2,y11]; -char_negate(c,t,b); -labels(1,2,3,4,5,6,7,8,9,10,11); endchar; - - -cmchar "Less than or not approximately equal to sign"; -compute_spread(.45x_height#,.55x_height#); -spread#':=spread#; spread':=spread; -compute_spread(.54 x_height#,.66 x_height#); -spread#'':=spread#; spread'':=spread; % the spread of `$=$' -compute_spread(1.111 x_height#,1.333 x_height#); -beginchar(oct"032",14u#,v_center(2spread#''+spread#+2rule_thickness#)); -adjust_fit(0,0); pickup rule.nib; autorounded; -lft x2=hround 1.5u-eps; x1=x3=w-x2; -y1-y3=spread; y2=.5[y1,y3]; top y1=h; -draw z1--z2--z3; -pickup pencircle xscaled .7rule_thickness yscaled -1.4rule_thickness; -if vair#>.8curve#: pickup rule.nib; autorounded; fi -lft x11=hround u; x12=4u; x13=w-x12; x14=w-x11; -top y13=top y11=bot y3-spread''; top y12=top y14=bot y11+spread'; -path p; p=z11{up}...z12{right}..{right}z13...{up}z14; -draw p; draw p shifted (0,-spread''); -x.c=w/2; y.c=.5[y12, y13-spread'']; x.t=3/8[x.c,x14]; y.t=2/3[y12,y3]; -char_negate(c,t,b); -penlabels(1,2,3,4,11,12,13,14); endchar; - -cmchar "Greater than or not approximately equal to sign"; -compute_spread(.45x_height#,.55x_height#); -spread#':=spread#; spread':=spread; -compute_spread(.54 x_height#,.66 x_height#); -spread#'':=spread#; spread'':=spread; % the spread of `$=$' -compute_spread(1.111 x_height#,1.333 x_height#); -beginchar(oct"033",14u#,v_center(2spread#''+spread#+2rule_thickness#)); -adjust_fit(0,0); pickup rule.nib; autorounded; -lft x1=hround 1.5u-eps; x1=x3; x2=w-x1; -y1-y3=spread; y2=.5[y1,y3]; top y1=h; -draw z1--z2--z3; -pickup pencircle xscaled .7rule_thickness yscaled -1.4rule_thickness; -if vair#>.8curve#: pickup rule.nib; autorounded; fi -lft x11=hround u; x12=4u; x13=w-x12; x14=w-x11; -bot y11=bot y13; top y12=top y14; -top y12-bot y11=spread'; -bot y3- spread''=top y11; -path p; p=z11{up}...z12{right}..{right}z13...{up}z14; -draw p; draw p shifted (0,-spread''); -x.c=w/2; y.c=.5[y12,y13-spread'']; x.t=3/8[x.c,x14]; y.t=2/3[y12,y3]; -char_negate(c,t,b); -penlabels(1,2,3,4,11,12,13,14); endchar; - -cmchar "Thick not similar to sign"; -compute_spread(.45x_height#,.55x_height#); -beginchar(oct"034",14u#,v_center(spread#+rule_thickness#)); -adjust_fit(0,0); pickup pencircle xscaled .8rule_thickness -yscaled 1.87rule_thickness; if vair#>.8curve#: pickup -rule.nib; autorounded; fi % monoline -lft x1=hround u; x2=4u; x3=w-x2; x4=w-x1; -bot y1=bot y3=-d; top y2=top y4=h; -draw z1{up}...z2{right}..{right}z3...{up}z4; % stroke -char_center(100); x101=w-4u; y101=y1+5u; -char_negate(100,101,102); -labels(1,2,3,4,99,100); endchar; - - -cmchar "Not approximately equal to sign"; -compute_spread(.45x_height#,.55x_height#); -beginchar(oct"035",14u#,v_center(3spread#+2rule_thickness#+8u#)); -adjust_fit(0,0); -pickup pencircle xscaled .7rule_thickness yscaled -1.4rule_thickness; -if vair#>.8curve#: pickup rule.nib; autorounded; fi % -lft x1=hround u; x2=4u; x3=w-x2; x4=w-x1; -y1=y3; top y2=top y4=h-4u; top y2-bot y1=spread; -draw z1{up}...z2{right}..{right}z3...{up}z4; % stroke -pickup rule.nib; -lft x5=lft x7=hround u-eps; x6=x8=w-x5; -y5=y6=y1-spread; y7=y8=y5-spread; -draw z5--z6; draw z7--z8; % double equal sign -char_center(100); x101=w-3u; y101=y1+4u; -char_negate(100,101,102); -labels(1,2,3,4,5,6,7,8,99,100); endchar; - -cmchar "45 degree angle line"; -beginchar(oct"036",16u#,asc_height#,asc_depth#); -adjust_fit(0,0); pickup rule.nib; -bot y1 =-d-eps; .5[y1,y2]=math_axis; -lft x1 = 0+eps =x0; % rt x2=; -z0-z1=(z2-z1) rotated 45; -draw z1--z2; -labels(0,1,2); endchar; - -cmchar "135 degree angle line"; -beginchar(oct"037",16u#,body_height#,asc_depth#); -adjust_fit(0,0); pickup rule.nib; -bot y1 =-d-eps; .5[y1,y2]=math_axis; -lft x2 = 0+eps= x0; % rt x2=; -z0-z2=(z1-z2) rotated -45; -draw z1--z2; -labels(0,1,2); endchar; - -cmchar "Negated subset or equal to sign"; -compute_spread(.45x_height#,.55x_height#); -spread#':=spread#; spread':=spread; % the spread of `$=$' -compute_spread(5/4x_height#,3/2x_height#); -beginchar(oct"040",14u#,v_center(spread#'+spread#+rule_thickness#)); -adjust_fit(0,0); pickup rule.nib; autorounded; -lft x2=hround 1.5u-eps; x1=x3=w-x2; -y1-y3=spread; y2=.5[y1,y3]; top y1=h; -x4=x5=.5w; y4=y1; y5=y3; -draw z1---z4...z2{down}...z5---z3; % arc and bars -x8=x1; lft x9=x2; y8=y9; y3-y9=spread'; draw z8--z9; % lower bar -x100=w/2; y100=.5[y3,y8]; x101=x3-2u; y101=y3+2u; -char_negate(100,101,102); -labels(1,2,3,4,5,8,9); endchar; - -cmchar "Negated superset or equal to sign"; -compute_spread(.45x_height#,.55x_height#); -spread#':=spread#; spread':=spread; % the spread of `$=$' -compute_spread(5/4x_height#,3/2x_height#); -beginchar(oct"041",14u#,v_center(spread#'+spread#+rule_thickness#)); -adjust_fit(0,0); pickup rule.nib; autorounded; -lft x1=hround 1.5u-eps; x2=w-x1; x3=x1; -y1-y3=spread; y2=.5[y1,y3]; top y1=h; -x4=x5=.5w; y4=y1; y5=y3; -draw z1---z4...z2{down}...z5---z3; % arc and bars -x8=x1; rt x9=x2; y8=y9; y3-y9=spread'; draw z8--z9; % lower bar -x100=x3+2.5u; y100=.5[y8,y3]; x101=x100+2.5u; y101=y3+2u; -y101-y100=y100-y102; x101-x100=x100-x102; draw z101--z102; -labels(1,2,3,4,5,8,9); endchar; - -cmchar "Negated subset or (double) equal to sign"; -compute_spread(.45x_height#,.55x_height#); -spread#':=spread#; spread':=spread; % the spread of `$=$' -compute_spread(5/4x_height#,3/2x_height#); -beginchar(oct"042",14u#,v_center(2spread#'+spread#+2rule_thickness#)); -adjust_fit(0,0); pickup rule.nib; autorounded; lft x2=hround -1.5u-eps; x1=x3=w-x2; y1-y3=spread; y2=.5[y1,y3]; top y1=h; -x4=x5=.5w; y4=y1; y5=y3; draw z1---z4...z2{down}...z5---z3; -% arc and bars -x8=x1; x9=x2; -y8=y9; y3-y9=spread'; draw z8--z9; % lower bar -x9'=x9; x8'=x8; y9'=y8'; y9-y9'=spread'; draw z8'--z9'; -char_center(c); x.t=w-2.5u; y.t=h+u; char_negate(c,t,b); -penlabels(1,2,3,4,5,8,9,8',9'); endchar; - -cmchar "Negated superset or (double) equal to sign"; -compute_spread(.45x_height#,.55x_height#); -spread#':=spread#; spread':=spread; % the spread of `$=$' -compute_spread(5/4x_height#,3/2x_height#); -beginchar(oct"043",14u#,v_center(2spread#'+spread#+2rule_thickness#)); -adjust_fit(0,0); pickup rule.nib; autorounded; lft x1=hround -1.5u-eps; x2=w-x1; x3=x1; y1-y3=spread; y2=.5[y1,y3]; top -y1=h; x4=x5=.5w; y4=y1; y5=y3; draw -z1---z4...z2{down}...z5---z3; % arc and bars -x8=x1; -x9=x2; -y8=y9; y3-y9=spread'; draw z8--z9; % lower bar -x9'=x9; x8'=x8; y9'=y8'; y9-y9'=spread'; draw z8'--z9'; -char_center(c); x.t=w-2.5u; y.t=h+u; char_negate(c,t,b); -labels(1,2,3,4,5,8,9); endchar; - -cmchar "Subset or not (double) equal to sign"; -compute_spread(.45x_height#,.55x_height#); -spread#':=spread#; spread':=spread; % the spread of `$=$' -compute_spread(5/4x_height#,3/2x_height#); -beginchar(oct"044",14u#,v_center(2.33spread#'+spread#+2rule_thickness#)); -adjust_fit(0,0); pickup rule.nib; autorounded; lft x2=hround -1.5u-eps; x1=x3=w-x2; y1-y3=spread; y2=.5[y1,y3]; top y1=h; -x4=x5=.5w; y4=y1; y5=y3; draw z1---z4...z2{down}...z5---z3; -% arc and bars -x8=x1; x9=x2; -y8=y9; y3-y9=1.33spread'; draw z8--z9; % lower bar -x9'=x9; x8'=x8; y9'=y8'; y9-y9'=spread'; draw z8'--z9'; -x.c=w/2; y.c=.5[y9,y9']; x.t=1/2[x.c,w]; y.t=.5[y8,y3]; -char_negate(c,t,b); -penlabels(1,2,3,4,5,8,9,8',9'); endchar; - -cmchar "Superset or not (double) equal to sign"; -compute_spread(.45x_height#,.55x_height#); -spread#':=spread#; spread':=spread; % the spread of `$=$' -compute_spread(5/4x_height#,3/2x_height#); -beginchar(oct"045",14u#,v_center(2.33spread#'+spread#+2rule_thickness#)); -adjust_fit(0,0); pickup rule.nib; autorounded; lft x1=hround -1.5u-eps; x2=w-x1; x3=x1; y1-y3=spread; y2=.5[y1,y3]; top -y1=h; x4=x5=.5w; y4=y1; y5=y3; draw -z1---z4...z2{down}...z5---z3; % arc and bars -x8=x1; -x9=x2; -y8=y9; y3-y9=1.33spread'; draw z8--z9; % lower bar -x9'=x9; x8'=x8; y9'=y8'; y9-y9'=spread'; draw z8'--z9'; -x.c=w/2; y.c=.5[y9,y9']; x.t=1/2[x.c,w]; y.t=.5[y8,y3]; -char_negate(c,t,b); -labels(1,2,3,4,5,8,9); endchar; - -cmchar "Another not subset or (double) equal to sign"; -compute_spread(.45x_height#,.55x_height#); -spread#':=spread#; spread':=spread; % the spread of `$=$' -compute_spread(5/4x_height#,3/2x_height#); -beginchar(oct"046",14u#,v_center(2spread#'+spread#+2rule_thickness#)); -adjust_fit(0,0); pickup rule.nib; autorounded; lft x2=hround -1.5u-eps; x1=x3=w-x2; y1-y3=spread; y2=.5[y1,y3]; top y1=h; -x4=x5=.5w; y4=y1; y5=y3; draw z1---z4...z2{down}...z5---z3; -% arc and bars -x8=x1; x9=x2; -y8=y9; y3-y9=spread'; draw z8--z9; % lower bar -x9'=x9; x8'=x8; y9'=y8'; y9-y9'=spread'; draw z8'--z9'; -x.t=w-2.5u; y.t=y3+2u; x.b=.5[x2,x5]; y.b=y9'-2u; z.c=.5[z.b,z.t]; -draw z.b--z.t; labels(c,b,t); -penlabels(1,2,3,4,5,8,9,8',9'); endchar; - -cmchar "Another superset or (double) equal to sign"; -compute_spread(.45x_height#,.55x_height#); -spread#':=spread#; spread':=spread; % the spread of `$=$' -compute_spread(5/4x_height#,3/2x_height#); -beginchar(oct"047",14u#,v_center(2spread#'+spread#+2rule_thickness#)); -adjust_fit(0,0); pickup rule.nib; autorounded; lft x1=hround -1.5u-eps; x2=w-x1; x3=x1; y1-y3=spread; y2=.5[y1,y3]; top -y1=h; x4=x5=.5w; y4=y1; y5=y3; draw -z1---z4...z2{down}...z5---z3; % arc and bars -x8=x1; -x9=x2; -y8=y9; y3-y9=spread'; draw z8--z9; % lower bar -x9'=x9; x8'=x8; y9'=y8'; y9-y9'=spread'; draw z8'--z9'; -x.t=x5; y.t=y3+2u; x.b=2.5u; y.b=y9'-2u; z.c=.5[z.b,z.t]; -draw z.b--z.t; labels(c,b,t); -labels(1,2,3,4,5,8,9); endchar; - -cmchar "Subset or not equal to sign"; -compute_spread(.45x_height#,.55x_height#); -spread#':=spread#; spread':=spread; % the spread of `$=$' -compute_spread(5/4x_height#,3/2x_height#); -beginchar(oct"050",14u#,v_center(spread#'+spread#+rule_thickness#)); -adjust_fit(0,0); pickup rule.nib; autorounded; -lft x2=hround 1.5u-eps; x1=x3=w-x2; -y1-y3=spread; y2=.5[y1,y3]; top y1=h; -x4=x5=.5w; y4=y1; y5=y3; -draw z1---z4...z2{down}...z5---z3; % arc and bars -x8=x1; lft x9=x2; y8=y9; y3-y9=spread'; draw z8--z9; % lower bar -z100=.5[z8,z9]; y101=.5[y8,y3];x101-x100=y101-y100; -char_negate(100,101,102); -labels(1,2,3,4,5,8,9); endchar; - -cmchar "Superset or not equal to sign"; -compute_spread(.45x_height#,.55x_height#); -spread#':=spread#; spread':=spread; % the spread of `$=$' -compute_spread(5/4x_height#,3/2x_height#); -beginchar(oct"051",14u#,v_center(spread#'+spread#+rule_thickness#)); -adjust_fit(0,0); pickup rule.nib; autorounded; -lft x1=hround 1.5u-eps; x2=w-x1; x3=x1; -y1-y3=spread; y2=.5[y1,y3]; top y1=h; -x4=x5=.5w; y4=y1; y5=y3; -draw z1---z4...z2{down}...z5---z3; % arc and bars -x8=x1; rt x9=x2; y8=y9; y3-y9=spread'; draw z8--z9; % lower bar -z100=.5[z8,z9]; y101=.5[y8,y3];x101-x100=y101-y100; -char_negate(100,101,102); -labels(1,2,3,4,5,8,9); endchar; - -cmchar "Not subset or equal to sign"; -compute_spread(.45x_height#,.55x_height#); -spread#':=spread#; spread':=spread; % the spread of `$=$' -compute_spread(5/4x_height#,3/2x_height#); -beginchar(oct"052",14u#,v_center(spread#'+spread#+rule_thickness#+6u#)); -adjust_fit(0,0); pickup rule.nib; autorounded; -lft x2=hround 1.5u-eps; x1=x3=w-x2; -y1-y3=spread; y2=.5[y1,y3]; top y1=h-3u; -x4=x5=.5w; y4=y1; y5=y3; -draw z1---z4...z2{down}...z5---z3; % arc and bars -x8=x1; lft x9=x2; y8=y9; y3-y9=spread'; draw z8--z9; % lower bar -char_center(100); y101=y1+3u; x101=w-3u; -char_negate(100,101,102); -labels(1,2,3,4,5,8,9); endchar; - -cmchar "Not superset or equal to sign"; -compute_spread(.45x_height#,.55x_height#); -spread#':=spread#; spread':=spread; % the spread of `$=$' -compute_spread(5/4x_height#,3/2x_height#); -beginchar(oct"053",14u#,v_center(spread#'+spread#+rule_thickness#+6u#)); -adjust_fit(0,0); pickup rule.nib; autorounded; -lft x1=hround 1.5u-eps; x2=w-x1; x3=x1; -y1-y3=spread; y2=.5[y1,y3]; top y1=h-3u; -x4=x5=.5w; y4=y1; y5=y3; -draw z1---z4...z2{down}...z5---z3; % arc and bars -x8=x1; rt x9=x2; y8=y9; y3-y9=spread'; draw z8--z9; % lower bar -char_center(100); y101=y1+3u; x101=w-3u; -char_negate(100,101,102); -labels(1,2,3,4,5,8,9); endchar; - -cmchar "Negated double vertical line (norm or cardinality)"; -beginchar(oct"054",9u#,body_height#,paren_depth#); -adjust_fit(0,0); pickup rule.nib; -x1=x2; top y1=h; .5[y1,y2]=math_axis; -x3=x4=w-x1; y3=y1; y4=y2; -compute_spread(.45x_height#,.55x_height#); x3-x1=spread; -draw z1--z2; draw z3--z4; % stems -char_center(c); x.t=w; y.t=2/3h; -char_negate(c,t,b); -labels(1,2,3,4); endchar; - -cmchar "Negated vertical line"; -beginchar(oct"055",5u#,body_height#,paren_depth#); -italcorr body_height#*slant+.5rule_thickness#-2u#; -adjust_fit(0,0); pickup rule.nib; -x1=x2=good.x .5w; top y1=h+eps; bot y2=-d-eps; -draw z1--z2; % stem -x.t=w; x.b=w-x.t; y.t=2/3h; y.b=1/3h; -draw z.b--z.t; -labels(1,2,b,t); endchar; - -cmchar "Negated cute vertical bar"; -beginchar(oct"056",4u#,6u#+math_axis#,6u#-math_axis#); -italcorr math_axis#*slant - .5u#; -adjust_fit(0,0); pickup rule.nib; -x1=x2=hround(w/2); top y1=x_height; bot y2=-o; -draw z1--z2; -char_center(c); x.t=w; y.t=5/8h; -char_negate(c,t,b); -labels(1,2); endchar; - -cmchar "Negated pair of cute vertical bars"; -beginchar(oct"057",7u#,6u#+math_axis#,6u#-math_axis#); -italcorr math_axis#*slant - .5u#; -adjust_fit(0,0); pickup rule.nib; -lft x1=u; x2=x1; top y1=x_height; bot y2=-o; -x3=w-x1; x4=x3; y3=y1; y4=y2; -draw z1--z2; draw z3--z4; -char_center(c); x.t=w; y.t=5/8h; -char_negate(c,t,b); -labels(1,2,3,4); endchar; - -cmchar "Negated left turnstile"; -beginchar(oct"060",11u#,asc_height#,0); -adjust_fit(0,0); pickup rule.nib; -.5[y1,y2]=y3=y4; x1=x2=x3; -lft x3=hround u; x4=w-x3; top y1=h; bot y2=0; -draw z1--z2; % stem -draw z3--z4; % bar -top rt z.t=(w-u,h); bot lft z.b=(-u,0); draw z.t--z.b; -labels(1,2,3,4,b,t); endchar; - -cmchar "Negated forces symbol"; -beginchar(oct"061",13u#,asc_height#,0); -adjust_fit(0,0); pickup rule.nib; -top y1=h; bot y2=0; y3=y4=good.y .5h; y5=y1; y6=y2; -lft x5=hround u; x4=w-x5; -compute_spread(.45x_height#,.55x_height#); -x1=x5+spread; x1=x2=x3; x6=x5; -draw z6--z5; draw z2--z1; draw z3--z4; -top rt z.t=(w-u,h); bot lft z.b=(-u,0); draw z.t--z.b; -penlabels(1,2,3,4,5,6,b,t); endchar; - -cmchar "Negated satisfies symbol"; -beginchar(oct"062",11u#,asc_height#,0); -adjust_fit(0,0); pickup rule.nib; -compute_spread(.45x_height#,.55x_height#); -top y1=h; bot y2=0; y0=good.y .5[y1,y2]; -y3=vround y0+.5spread; -y5=vround y0- .5spread; y4=y3; y6=y5; -lft x1=hround u; x4=w-x1; -x1=x2=x3=x5; x4=x6; x0=x1; -draw z1--z2; % vertical line -draw z3--z4; % draw top horizontal piece -draw z5--z6; % draw bottom horizontal piece -top rt z.t=(w-u,h); bot lft z.b=(-u,0); draw z.t--z.b; -penlabels(0,1,2,3,4,5,6,b,t); endchar; - -cmchar "Negated forces symbol with extra bar"; -beginchar(oct"063",13u#,asc_height#,0); -adjust_fit(0,0); pickup rule.nib; -top y1=h; bot y2=0; y3=y4=good.y .5h; y5=y1; y6=y2; -lft x5=hround u; x4=w-x5; -compute_spread(.45x_height#,.55x_height#); -x1=x5+spread; x1=x2=x3; x6=x5; -x3'=x3; x4'=x4; y3:=y3+.5spread; y4:=y3; -y3'=y4'=y3-spread; -draw z6--z5; draw z2--z1; draw z3--z4; -draw z3'--z4'; % extra bar -top rt z.t=(w-u,h); bot lft z.b=(-u,0); draw z.t--z.b; -penlabels(1,2,3,4,5,6,b,t); endchar; - - -cmchar "Negated rightward isosceles triangle with lower bar"; -compute_spread(.45x_height#,.55x_height#); -spread#':=spread#; spread':=spread; % the spread of `$=$' -compute_spread(5/4x_height#,3/2x_height#); -beginchar(oct"064",14u#,v_center(spread#'+spread#+rule_thickness#+6u#)); -adjust_fit(0,0); pickup rule.nib; lft x2=hround(1.5u); -x3=x2; x1=hround(w-x2); -top y2=h-3u; y2-y3=spread; y1=.5[y2,y3]; -x4=x2; x5=x1; y3-y4=spread'; y5=y4; -draw z1--z2--z3--cycle; draw z4--z5; -char_center(c); x.t=1/2[x.c,w]; y.t=y2+3u; -char_negate(c,t,b); -penlabels(1,2,3,4,5); endchar; - -cmchar "Negated leftward isosceles triangle with lower bar"; -compute_spread(.45x_height#,.55x_height#); -spread#':=spread#; spread':=spread; % the spread of `$=$' -compute_spread(5/4x_height#,3/2x_height#); -beginchar(oct"065",14u#,v_center(spread#'+spread#+rule_thickness#+6u#)); -adjust_fit(0,0); pickup rule.nib; rt x2=hround(w-1.5u-eps); -x3=x2; x1=hround(w-x2); -top y2=h-3u; y2-y3=spread; y1=.5[y2,y3]; -x4=x2; x5=x1; y3-y4=spread'; y5=y4; -draw z1--z2--z3--cycle; draw z4--z5; -char_center(c); x.t=1/2[x.c,w]; y.t=y2+3u; -char_negate(c,t,b); -penlabels(1,2,3,4,5); endchar; - -cmchar "Negated leftward pointing isosceles triangle"; -compute_spread(.45x_height#,.55x_height#); -spread#':=spread#; spread':=spread; % the spread of `$=$' -compute_spread(5/4x_height#,3/2x_height#); -beginchar(oct"066",14u#,v_center(spread#+rule_thickness#+6u#)); -adjust_fit(0,0); pickup rule.nib; rt x2=hround(w-1.5u-eps); -x3=x2; x1=hround(w-x2); -top y2=h-3u; y2-y3=spread; y1=.5[y2,y3]; -draw z1--z2--z3--cycle; -char_center(c); x.t=1/2[x.c,w]; y.t=y2+3u; -char_negate(c,t,b); -penlabels(1,2,3); endchar; - -cmchar "Negated rightward pointing isosceles triangle"; -compute_spread(.45x_height#,.55x_height#); -spread#':=spread#; spread':=spread; % the spread of `$=$' -compute_spread(5/4x_height#,3/2x_height#); -beginchar(oct"067",14u#,v_center(spread#+rule_thickness#+6u#)); -adjust_fit(0,0); pickup rule.nib; lft x2=hround(1.5u); -x3=x2; x1=hround(w-x2); -top y2=h-3u; y2-y3=spread; y1=.5[y2,y3]; -draw z1--z2--z3--cycle; -char_center(c); x.t=1/2[x.c,w]; y.t=y2+3u; -char_negate(c,t,b); -penlabels(1,2,3); endchar; - -cmchar "Negated leftward arrow"; -compute_spread(.45x_height#,.55x_height#); -beginchar(oct"070",18u#,v_center(spread#+rule_thickness#)); -adjust_fit(0,0); pickup crisp.nib; -pos1(rule_thickness,90); pos2(rule_thickness,90); pos3(bar,0); pos4(bar,0); -y0=y1=y2=math_axis; x1+.5rule_thickness=hround(w-u); lft x0=hround u; -y3-y0=y0-y4=.24asc_height+eps; x3=x4=x0+3u+eps; -pos5(bar,angle(z4-z0)); z5l=z0; pos6(bar,angle(z3-z0)); z6l=z0; -z9=.381966[.5[z3,z4],z0]; -numeric t; path p; p=z4r{z9-z4}..z6r; -t=xpart(p intersectiontimes((0,y2l)--(w,y2l))); x2=xpart point t of p; -filldraw z0..{z4-z9}z4l--subpath (0,t) of\\(z4r{z9-z4}..z6r) - --z2l---z1l..z1r---z2r--subpath (t,0) of\\(z3r{z9-z3}..z5r) - --z3l{z9-z3}..z0 & cycle; % arrowhead and stem -char_center(100); top y101=top y3; x101=x100+2u; -char_negate(100,101,102); -penlabels(0,1,2,3,4,5,6,9); endchar; - -cmchar "Negated rightward arrow"; -compute_spread(.45x_height#,.55x_height#); -beginchar(oct"071",18u#,v_center(spread#+rule_thickness#)); -adjust_fit(0,0); pickup crisp.nib; -pos1(rule_thickness,90); pos2(rule_thickness,90); pos3(bar,0); pos4(bar,0); -y0=y1=y2=math_axis; x1-.5rule_thickness=hround u; rt x0=hround(w-u); -y3-y0=y0-y4=.24asc_height+eps; x3=x4=x0-3u-eps; -pos5(bar,angle(z4-z0)); z5l=z0; pos6(bar,angle(z3-z0)); z6l=z0; -z9=.381966[.5[z3,z4],z0]; -numeric t; path p; p=z4l{z9-z4}..z6r; -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) - --z2l---z1l..z1r---z2r--subpath (t,0) of\\(z3l{z9-z3}..z5r) - --z3r{z9-z3}..z0 & cycle; % arrowhead and stem -char_center(100); top y101=top y3; x101=x100+2u; -char_negate(100,101,102); -penlabels(0,1,2,3,4,5,6,9); endchar; - -cmchar "Negated left-and-right arrow"; -compute_spread(.45x_height#,.55x_height#); -beginchar(oct"075",18u#, - v_center(if monospace:.6asc_height#+fi spread#+rule_thickness#)); -adjust_fit(0,0); pickup crisp.nib; -pos1(rule_thickness,90); pos2(rule_thickness,90); pos3(bar,0); pos4(bar,0); -y0=y1=y2=math_axis if monospace:+vround.3asc_height fi; lft x0=hround u; -if monospace: x1+.5rule_thickness=hround(w-u) else: x1=.5w fi; -y3-y0=y0-y4=.24asc_height+eps; x3=x4=x0+3u+eps; -pos5(bar,angle(z4-z0)); z5l=z0; pos6(bar,angle(z3-z0)); z6l=z0; -z9=.381966[.5[z3,z4],z0]; -numeric t; path p; p=z4r{z9-z4}..z6r; -t=xpart(p intersectiontimes((0,y2l)--(w,y2l))); x2=xpart point t of p; -filldraw z0..{z4-z9}z4l--subpath (0,t) of\\(z4r{z9-z4}..z6r) - --z2l---z1l..z1r---z2r--subpath (t,0) of\\(z3r{z9-z3}..z5r) - --z3l{z9-z3}..z0 & cycle; % left arrowhead and stem -pos11(rule_thickness,90); pos12(rule_thickness,90); pos13(bar,0); pos14(bar,0); -y10=y11=y12=math_axis if monospace:-vround.3asc_height fi; -rt x10=hround(w-u); -if monospace: x11-.5rule_thickness=hround u else: x11=.5w fi; -y13-y10=y10-y14=.24asc_height+eps; x13=x14=x10-3u-eps; -pos15(bar,angle(z14-z10)); z15l=z10; pos16(bar,angle(z13-z10)); z16l=z10; -z19=.381966[.5[z13,z14],z10]; -numeric t; path p; p=z14l{z19-z14}..z16r; -t=xpart(p intersectiontimes((0,y12l)--(w,y12l))); x12=xpart point t of p; -filldraw z10..{z14-z19}z14r--subpath (0,t) of\\(z14l{z19-z14}..z16r) - --z12l---z11l..z11r---z12r--subpath (t,0) of\\(z13l{z19-z13}..z15r) - --z13r{z19-z13}..z10 & cycle; % right arrowhead and stem -char_center(100); top y101=top y3; x101=x100+2u; -char_negate(100,101,102); -penlabels(0,1,2,3,4,5,6,9,10,11,12,13,14,15,16,19); endchar; - -cmchar "Negated double leftward arrow"; -compute_spread(.45x_height#,.55x_height#); -beginchar(oct"072",18u#,v_center(spread#+rule_thickness#)); -adjust_fit(0,0); pickup rule.nib; -lft x7=hround u-eps; x8=x7; x1=x2=w-x7; -y1=y7; y2=y8; y1-y2=spread; .5[y1,y2]=math_axis; -draw z1--z7; draw z2--z8; % bars -pickup crisp.nib; lft x0=hround u-eps; y0=good.y math_axis; -pos3(rule_thickness,0); pos4(rule_thickness,0); -y3-y1=y2-y4=.24asc_height+eps; x3=x4=x0+6u+eps; -pos5(rule_thickness,angle(z4-z0)); z5l=z0; -pos6(rule_thickness,angle(z3-z0)); z6l=z0; -z9=.381966[.5[z3,z4],z0]; -erase filldraw z0..{z3-z9}z3--(0,y3) - --(0,y4)--z4{z9-z4}..z0 & cycle; % erase excess -numeric t; path p; p=z4r{z9-z4}..z6r; -t=xpart(p intersectiontimes((0,y0)--(w,y0))); -filldraw z0..{z4-z9}z4l--subpath (0,t) of\\(z4r{z9-z4}..z6r) - --subpath (t,0) of\\(z3r{z9-z3}..z5r)--z3l{z9-z3}..z0 & cycle; % arrowhead -pickup rule.nib; x100=.5[x9,x1]; y100=y9; x101=x100+2u; top y101=top y3; -y101-y100=y100-y102; x101-x100=x100-x102; draw z101--z102; -penlabels(0,1,2,3,4,5,6,7,8,9); endchar; - -cmchar "Negated double rightward arrow"; -compute_spread(.45x_height#,.55x_height#); -beginchar(oct"073",18u#,v_center(spread#+rule_thickness#)); -adjust_fit(0,0); pickup rule.nib; -lft x1=hround u-eps; x2=x1; x7=x8=w-x1; -y1=y7; y2=y8; y1-y2=spread; .5[y1,y2]=math_axis; -draw z1--z7; draw z2--z8; % bars -pickup crisp.nib; rt x0=hround(w-u)+eps; y0=good.y math_axis; -pos3(rule_thickness,0); pos4(rule_thickness,0); -y3-y1=y2-y4=.24asc_height+eps; x3=x4=x0-6u-eps; -pos5(rule_thickness,angle(z4-z0)); z5l=z0; -pos6(rule_thickness,angle(z3-z0)); z6l=z0; -z9=.381966[.5[z3,z4],z0]; -erase filldraw z0..{z3-z9}z3--(w,y3) - --(w,y4)--z4{z9-z4}..z0 & cycle; % erase excess -numeric t; path p; p=z4l{z9-z4}..z6r; -t=xpart(p intersectiontimes((0,y0)--(w,y0))); -filldraw z0..{z4-z9}z4r--subpath (0,t) of\\(z4l{z9-z4}..z6r) - --subpath (t,0) of\\(z3l{z9-z3}..z5r)--z3r{z9-z3}..z0 & cycle; % arrowhead -pickup rule.nib; x100=.5[x9,x1]; y100=y9; x101=x100+2u; top y101=top y3; -y101-y100=y100-y102; x101-x100=x100-x102; draw z101--z102; -penlabels(0,1,2,3,4,5,6,7,8,9); endchar; - -cmchar "Negated double left-and-right arrow"; -compute_spread(.45x_height#,.55x_height#); -beginchar(oct"074",18u#,v_center(spread#+rule_thickness#)); -adjust_fit(if monospace: -u#,-u# else: 0,0 fi); pickup rule.nib; -lft x7=hround u-eps; x8=x7; x1=x2=w-x7; -y1=y7; y2=y8; y1-y2=spread; .5[y1,y2]=math_axis; -draw z1--z7; draw z2--z8; % bars -pickup crisp.nib; lft x0=hround u-o; y0=good.y math_axis; -pos3(rule_thickness,0); pos4(rule_thickness,0); -y3-y1=y2-y4=.24asc_height+eps; x3=x4=x0+5u+eps; -pos5(rule_thickness,angle(z4-z0)); z5l=z0; -pos6(rule_thickness,angle(z3-z0)); z6l=z0; -z9=.381966[.5[z3,z4],z0]; -erase filldraw z0..{z3-z9}z3--(0,y3) - --(0,y4)--z4{z9-z4}..z0 & cycle; % erase excess at left -numeric t; path p; p=z4r{z9-z4}..z6r; -t=xpart(p intersectiontimes((0,y0)--(w,y0))); -filldraw z0..{z4-z9}z4l--subpath (0,t) of\\(z4r{z9-z4}..z6r) - --subpath (t,0) of\\(z3r{z9-z3}..z5r) - --z3l{z9-z3}..z0 & cycle; % left arrowhead -rt x10=hround(w-u)+o; y10=good.y math_axis; -pos13(rule_thickness,0); pos14(rule_thickness,0); -y13=y3; y14=y4; x13=x14=x10-5u-eps; -pos15(rule_thickness,angle(z14-z10)); z15l=z10; -pos16(rule_thickness,angle(z13-z10)); z16l=z10; -z19=.381966[.5[z13,z14],z10]; -erase filldraw z10..{z13-z19}z13--(w,y13) - --(w,y14)--z14{z19-z14}..z10 & cycle; % erase excess at right -numeric t; path p; p=z14l{z19-z14}..z16r; -t=xpart(p intersectiontimes((0,y10)--(w,y10))); -filldraw z10..{z14-z19}z14r--subpath (0,t) of\\(z14l{z19-z14}..z16r) - --subpath (t,0) of\\(z13l{z19-z13}..z15r) - --z13r{z19-z13}..z10 & cycle; % right arrowhead -char_center(100); top y101=top y13; x101=x100+1.5u; char_negate(100,101,102); -penlabels(0,1,2,3,4,5,6,7,8,9,10,13,14,15,16,19); endchar; - -cmchar "Times-division symbol"; -beginarithchar(oct"076"); -pickup rule.nib; -x11=good.x(1/sqrt2)[.5w,rt u]; y11=good.y(1/sqrt2)[math_axis,bot h]; -x12=x13=w-x11; x14=x11; .5[y11,y12]=.5[y13,y14]=math_axis; y12=y14; -draw z11--z12; draw z13--z14; % diagonals -x3-.5dot_size=hround(.5w-.5dot_size); %center_on(x3); -y3+.5dot_size=vround(math_axis+math_spread[.5x_height,.6x_height]+.5dot_size); -lft x1=hround u-eps; x2=w-x1; y1=y2=math_axis; -draw z1--z2; % bar -pos3(dot_size,0); pos4(dot_size,90); z3=z4; -pos5(dot_size,0); pos6(dot_size,90); z5=z6; x5=x3; .5[y3,y5]=math_axis; -dot(3,4); dot(5,6); % dots -penlabels(1,2,3,4,5,6,11,12,13,14); endchar; - -cmchar "Null set symbol"; -beginarithchar(oct"077"); -pickup rule.nib; -z0=(w/2,h/2); % center of circle -rt x1-lft x0=hround(h/2 + o); y1=y0; -numeric theta; theta=45; -for i=2 upto 8: z[i]-z0=(z1-z0) rotated ((i-1)*theta); endfor -draw z8...z1 for i=2 upto 8: ...z[i] endfor; -lft x9=u; x10=w-x9; bot y9=bot y7; top y10=top y3; draw z9--z10; -labels(range 0 thru 10); endchar; - -cmchar "Negated existential quantifier"; -beginchar(oct"100",10u#,asc_height#,0); -italcorr asc_height#*slant; -adjust_fit(0,0); pickup rule.nib; -lft x1=hround u-eps; x2=x3=x5=w-x1; x4=x6-.25u=x1; -top y1=h; bot y4=0; y2=y1; y5=y6=.5[y1,y3]; y3=y4; -draw z1--z2--z3--z4; % upper bar, stem, lower bar -draw z5--z6; % middle bar -char_center(100); x101=w-3u; y101=y1+3u; -char_negate(100,101,102); -labels(1,2,3,4,5,6); endchar; - -charlist oct"133": oct"134"; -charlist oct"135": oct"136"; - -cmchar"Wider than widest circumflex (hat) accent"; -beginchar(oct"133",34u#,1.1body_height#,0); -adjust_fit(0,0); -pickup crisp.nib; -pos2(.7[vair,curve],90); top y2r=h+o; x2=.5w; -x1=w-x3=good.x-eps; y1=y3=.45[x_height,y2]; -pos1(1.2hair,angle(z2-z1)+90); pos3(1.2hair,angle(z3-z2)+90); -filldraw stroke z1e--z2e--z3e; -penlabels(1,2,3); -%big_hat; -endchar; - -cmchar"Very Widest circumflex (hat) accent"; -beginchar(oct"134",42u#,1.1body_height#,0); -adjust_fit(0,0); -pickup crisp.nib; -pos2(.7[vair,curve],90); top y2r=h+o; x2=.5w; -x1=w-x3=good.x-eps; y1=y3=.45[x_height,y2]; -pos1(1.2hair,angle(z2-z1)+90); pos3(1.2hair,angle(z3-z2)+90); -filldraw stroke z1e--z2e--z3e; -penlabels(1,2,3); -%big_hat; -endchar; - -cmchar"Even wider tilde (squiggle) accent"; -beginchar(oct"135",34u#,1.1body_height#,0); -%big_tilde; -adjust_fit(0,0); pickup crisp.nib; -numeric theta; theta=angle(1/6(w-vair),1/4(h-x_height)); -numeric mid_width; mid_width=.4[vair,stem]; -pos1(1.5vair,theta+80); pos2(2vair,theta+80); -pos3(2vair,theta+80); pos4(1.5vair,theta+80); -z2-z1=z4-z3 = (mid_width-crisp)*dir theta; -lft x1r=w-rt x4l=0; top y4r=h; -bot y1l=vround(bot y1l+min(.6[x_height,h],y3l-.25vair)-top y1r); -pair delta; ypart delta=3(y3l-y1l); delta=whatever*dir theta; -filldraw z1l..controls(z1l+delta)and(z3l-delta)..z3l..z4l ---z4r..controls(z4r-delta)and(z2r+delta)..z2r..z1r--cycle; -penlabels(1,2,3,4); -endchar; - -cmchar"Very widest tilde (squiggle) accent"; -beginchar(oct"136",42u#,1.2body_height#,0); -%big_tilde; -adjust_fit(0,0); pickup crisp.nib; -numeric theta; theta=angle(1/6(w-vair),1/4(h-x_height)); -numeric mid_width; mid_width=.4[vair,stem]; -pos1(1.5vair,theta+80); pos2(2vair,theta+80); -pos3(2vair,theta+80); pos4(1.5vair,theta+80); -z2-z1=z4-z3 = (mid_width-crisp)*dir theta; -lft x1r=w-rt x4l=0; top y4r=h; -bot y1l=vround(bot y1l+min(.6[x_height,h],y3l-.25vair)-top y1r); -pair delta; ypart delta=3(y3l-y1l); delta=whatever*dir theta; -filldraw z1l..controls(z1l+delta)and(z3l-delta)..z3l..z4l ---z4r..controls(z4r-delta)and(z2r+delta)..z2r..z1r--cycle; -penlabels(1,2,3,4); -endchar; - -cmchar "Reversed turned F"; -beginchar(oct"140",10u#,asc_height#,0); -italcorr asc_height#*slant; -adjust_fit(0,0); pickup rule.nib; -lft x4=hround u-eps; x2=x3=x5=w-x4; x6=x4+.27w; -top y2=h; bot y4=0; y5=y6=.5[y2,y3]; y3=y4; -draw z2--z3--z4; % upper bar, stem, lower bar -draw z5--z6; % middle bar -labels(2,3,4,5,6); endchar; - -cmchar "The Reversed inverted letter G"; -beginchar(oct"141",12u#,cap_height#,0); - italcorr cap_height#*slant-.5u#; adjust_fit(0,0); - pickup rule.nib; - rt x1=hround(w-1.35u); x2=x4=.5w+u; - lft x3=hround max(u,2u-.5cap_curve); rt x5=hround(w-1.2u); - top y1=vround .93h+o; top y2=h+o; y3=.5h; - bot y4=-o; bot y5=vround .07h-o; - draw z1...{left}z2...{down}z3{down}...{right}z4...{up}z5; - z7=z5; x0=x7; top y0=1+vround .35[bar_height,x_height]; - draw z0--z7; % stem - z0=z9; y8=y9; lft x8=hround x4; - draw z8--z9; % bar - math_fit(-.3cap_height#*slant-.5u#,.5ic#); -picture rvchar; - rvchar=currentpicture reflectedabout((.5w,0),(.5w,h)); -currentpicture:= rvchar; -penlabels(0,1,1',2,3,4,5,6,7,8,9); endchar; - -cmchar "Upsidedown, uppercase Greek Omega"; -beginchar(oct"146",13u#,cap_height#,0); -italcorr .75cap_height#*slant-.5u#; -adjust_fit(0,0); -pickup tiny.nib; pos1(vair,90); pos2(cap_curve,180); -pos3(vair,180); pos4(cap_curve,0); pos5(vair,0); -x1=.5w; top y1r=h+o; lft x2r=hround u; y2=y4=2/3h; x4=w-x2; -rt x3l=hround(1/3(w+.5u)+.5hair); bot y3=bot y5=0; x5=w-x3; -filldraw stroke z3e{up}...{up}z2e - & pulled_super_arc.e(2,1)(.5superpull) - & pulled_super_arc.e(1,4)(.5superpull) - & z4e{down}...{down}z5e; % bowl -numeric arm_thickness; path p; p=z3{up}...{up}z2; -arm_thickness=Vround(if hefty:slab+2stem_corr else:.75[slab,cap_vstem] fi); -pickup crisp.nib; pos6(arm_thickness,-90); pos7(fudged.hair,-180); -bot y6r=0; x6=x3; lft x7r=hround .8u; y7=good.y(y6l+.5beak)+eps; -(x,y)=p intersectionpoint((0,y6l)--(w,y6l)); x6l:=x; -arm(6,7,a,.5beak_darkness,-1.2beak_jut); % left arm and beak -pos8(arm_thickness,-90); pos9(fudged.hair,0); -y8=y6; y9=y7; x8+x6=x9+x7=w; x8l:=w-x6l; -arm(8,9,b,.5beak_darkness,1.2beak_jut); % right arm and beak -%math_fit(0,.5ic#); -picture v; v:=currentpicture; -numeric t; t=h-d; -v:=v reflectedabout((0,0),(w,0)); -currentpicture:=v shifted(0,aspect_ratio*cap_height); -penlabels(1,2,3,4,5,6,7,8,9); endchar; - -cmchar "The letter Edh (Old English rune, like thorn)"; -% adapted from cm partial differential sign, vol E, p 233. -beginchar(oct"147",10u#,asc_height#,0); -italcorr .7asc_height#*slant+.5curve#-1.5u#; -adjust_fit(0,0); -numeric top_thickness,bot_thickness,side_thickness,pull; -top_thickness=max(fine.breadth,vround(slab-2vair_corr)); -bot_thickness=max(fine.breadth,vround(slab-vair_corr)); -side_thickness=max(fine.breadth,hround 1/3[curve,cap_curve]); -pull=min(.25,1.5superpull); -pickup fine.nib; pos2(top_thickness,90); -pos3(side_thickness,0); pos4(bot_thickness,-90); -pos5(side_thickness,-180); pos6(vair,-270); -lft x5r=w-rt x3r=hround max(.75u,1.5u-.5side_thickness); -x4=x6+.1u=x2+u=.5w; -top y2r=h+o; y3=.5[y2,y4]; bot y4r=-o; -y5=.5[y4,y6]; top y6=vround 5/8h+o; -path p; p=pulled_super_arc.l(3,4)(pull); -numeric t; t=xpart(p intersectiontimes((x3r,y5)--(x4,y5))); -pos7(thin_join,0); z7l=point t of p; -(x,y6r)=whatever[z7l,z6l]; x6r:=max(x,.5[x5r,x6]); -x2:=x5; x2l:=x2r:=x2; -filldraw stroke pulled_super_arc.e(2,3)(pull) - & {{interim superness:=more_super; pulled_super_arc.e(3,4)(pull)}} - & {{less_tense; pulled_super_arc.e(4,5)(pull) & pulled_super_arc.e(5,6)(pull)}} - & z6e{right}...{direction t of p}z7e; % arc and bowl -%pos1(hair,180); pos0(flare,180); % commenting out the arc and bulb -%lft x0r=min(lft x2-eps,hround 1.2u); -%y0=vround min(.85h-.5flare,.8h+.5flare)+o; -%{{less_tense; bulb(2,1,0)}}; % arc and bulb -%math_fit(-.3x_height#*slant+.5curve#-u#,ic#-u#); -pickup pencircle xscaled 1.4rule_thickness yscaled .5rule_thickness; -x10=x11=x5; x12=x13=w-x10; y10=y13; -y10-y11=y12-y13=cap_stem; .5[y11,y10]=.5[y6,y2]; -draw z10--z11--z12--z13; % cross piece -penlabels(2,3,4,5,6,7,10,11,12,,13); endchar; - -cmchar "Equal or similar symbol"; -compute_spread(.45x_height#,.55x_height#); -beginchar(oct"150",14u#,v_center(2spread#+rule_thickness#)); -adjust_fit(0,0); -pickup pencircle xscaled .7rule_thickness yscaled 1.4rule_thickness; -if vair#>.8curve#: pickup rule.nib; autorounded; fi % monoline -lft x1=hround u; x2=4u; x3=w-x2; x4=w-x1; -bot y1=bot y3=-d; top y2=top y4=y1+spread; -draw z1{up}...z2{right}..{right}z3...{up}z4; % stroke -pickup rule.nib; -lft x5=hround u-eps; x6=w-x5; top y5=top y6=h; -draw z5--z6; -labels(1,2,3,4,5,6); endchar; - - -%% parameters for Hebrew letters Beth, Gimel, Dalet -numeric theta; theta=45; -cmchar "Hebrew letter Beth"; -beginchar(oct"151", 12u#, asc_height#, 0); -%currenttransform:=identity rotated -45 shifted (.75h, 0); -adjust_fit(0,0); -pickup rule.nib; -top y0=1.1h; lft x0=u; -pos1(cap_curve,90); x1=2.5u; y1r=h; -pos2(cap_curve,90); x2=w-x1; y2r=y1r; -rt x3=w-u; y2l-y3=y0-y1r; -x4=x3; -% now for the base. -pos12(cap_curve/cosd theta, theta); pos11(cap_curve/cosd theta, theta); -y11r=y12r=y4; y11l=0; -x12=u; x11=w-x12; -filldraw z0{down}..tension.8..z1l{right}..{right}z2l..{down}z3& -z3{up}..tension.8..z2r{left}..{left}z1r..z0..cycle; % top -pickup rule.nib; draw z3..z4; % down stroke at right of letter -filldraw stroke z11e{left}..{left}z12e; -penlabels(0,1,2,3,4,11,12); -endchar; - -cmchar "Hebrew letter Gimel"; -beginchar(oct"152", 8u#, asc_height#, 0); -%currenttransform:=identity rotated -45 shifted (.75h, 0); -adjust_fit(0,0); -pickup rule.nib; -top y0=1.1h; lft x0=u; -pos1(cap_curve,90); x1=2.5u; y1r=h; -pos2(cap_curve,90); x2=w-x1+.5u; y2r=y1r; -filldraw z0{down}..tension.8..z1l{right}..{right}z2l..tension.8..{left}z2r - ..{left}z1r..z0..cycle; % top slab -z3=z2l;x4=x3+.2stem; y4=-o; x5=x4+.3stem; y5=y3c; -x3a=x3b=x3c=x3; y3a=.8h; y3b=.5h; y3c=cap_curve; -y5:=.5y5; % reset y5 -path p, q; p=(z3---z3c..z4); q=(z4{1,1}..z5..{-.005,1}z3); % vertical -filldraw p&q&cycle; -% now for the base. -pos12(cap_curve/cosd theta, theta); pos11(cap_curve/cosd theta, theta); -pos13(cap_curve/cosd theta, theta); y13=y12; x13=w; - % z13 is a dummy point for getting intersection -y11r=y12r; y11l=0; -x12=u; -z10=p intersectionpoint (z12r--z13r); z11r=z10; -filldraw stroke z11e{left}..{left}z12e; -penlabels(0,1,2,3,3c,4,5,11,12); -endchar; - -cmchar "Hebrew letter Daleth"; -beginchar(oct"153", 12u#, asc_height#, 0); -%currenttransform:=identity rotated -45 shifted (.75h, 0); -adjust_fit(0,0); -pickup rule.nib; -top y0=1.1h; lft x0=u; -pos1(cap_curve,90); x1=2.5u; y1r=h; -pos2(cap_curve,90); x2=w-x1+.5u; y2r=y1r; -filldraw z0{down}..tension.8..z1l{right}..{right}z2l..tension.8..{left}z2r - ..{left}z1r..z0..cycle; % top slab -z3=z2l;x4=x3+.2stem; y4=-o; x5=x4+.3stem; y5=y3c; -x3a=x3b=x3c=x3; y3a=.8h; y3b=.5h; y3c=cap_curve; -y5:=.5y5; % reset y5 -path p, q; p=(z3---z3c..z4); q=(z4{1,1}..z5..{-.005,1}z3); % vertical -filldraw p&q&cycle; -penlabels(0,1,2,3,3c,4,5); -endchar; - -cmchar "Dotted less than sign"; -compute_spread(5/4x_height#,3/2x_height#); -beginchar(oct"154",14u#,v_center(spread#+rule_thickness#)); -italcorr h#*slant-u#; -adjust_fit(0,0); pickup rule.nib; -lft x2=hround 1.5u-eps; x1=x3=w-x2; -y1-y3=spread; y2=.5[y1,y3]=math_axis; -draw z1--z2--z3; % diagonals -y4=y2; x4=.75[x2, x1]; z5=z4; -pos4(dot_size,0); pos5(dot_size,90); dot(4,5); -labels(1,2,3,4,5); endchar; - -cmchar "Dotted greater than sign"; -compute_spread(5/4x_height#,3/2x_height#); -beginchar(oct"155",14u#,v_center(spread#+rule_thickness#)); -italcorr math_axis#*slant-u#; -adjust_fit(0,0); pickup rule.nib; -rt x2=hround(w-1.5u)+eps; x1=x3=w-x2; -y1-y3=spread; y2=.5[y1,y3]=math_axis; -draw z1--z2--z3; % diagonals -y4=y2; x4=.75[x2, x1]; z5=z4; -pos4(dot_size,0); pos5(dot_size,90); dot(4,5); -labels(1,2,3,4,5); endchar; - -cmchar "Times operator with left vertical"; -beginarithchar(oct"156"); pickup rule.nib; -x1=good.x(1/sqrt2)[.5w,rt u]; y1=good.y(1/sqrt2)[math_axis,bot h]; -x2=x3=w-x1; x4=x1; .5[y1,y2]=.5[y3,y4]=math_axis; y2=y4; -draw z1--z2; draw z3--z4; % diagonals -draw z1--z4; -labels(1,2,3,4); endchar; - -cmchar "Times operator with right vertical"; -beginarithchar(oct"157"); pickup rule.nib; -x1=good.x(1/sqrt2)[.5w,rt u]; y1=good.y(1/sqrt2)[math_axis,bot h]; -x2=x3=w-x1; x4=x1; .5[y1,y2]=.5[y3,y4]=math_axis; y2=y4; -draw z1--z2; draw z3--z4; % diagonals -draw z2--z3; -labels(1,2,3,4); endchar; - -cmchar "Cute vertical bar"; -beginchar(oct"160",4u#,6u#+math_axis#,6u#-math_axis#); -italcorr math_axis#*slant - .5u#; -adjust_fit(0,0); pickup rule.nib; -x1=x2=hround(w/2); top y1=x_height; bot y2=-o; -draw z1--z2; -labels(1,2); endchar; - -cmchar "Two cute vertical bars"; -beginchar(oct"161",7u#,6u#+math_axis#,6u#-math_axis#); -italcorr math_axis#*slant - .5u#; -adjust_fit(0,0); pickup rule.nib; -lft x1=u; x2=x1; top y1=x_height; bot y2=-o; -x3=w-x1; x4=x3; y3=y1; y4=y2; -draw z1--z2; draw z3--z4; -labels(1,2,3,4); endchar; - -cmchar "Integer division (reverse quotient) symbol"; -beginarithchar(oct"162"); pickup rule.nib; -x1=2u; top y1=x_height;% -x2=x3=w-x1; x4=x1; bot y2=-o; -draw z1--z2; % diagonal -labels(1,2,3,4); endchar; - - -cmchar "Thick similarity sign";% taken from symbol.mf -compute_spread(.45x_height#,.55x_height#); -beginchar(oct"163",14u#,v_center(spread#+rule_thickness#)); -adjust_fit(0,0); -pickup pencircle xscaled .8rule_thickness yscaled 1.87rule_thickness; -if vair#>.8curve#: pickup rule.nib; autorounded; fi % monoline -lft x1=hround u; x2=4u; x3=w-x2; x4=w-x1; -bot y1=bot y3=-d; top y2=top y4=h; -draw z1{up}...z2{right}..{right}z3...{up}z4; % stroke -labels(1,2,3,4); endchar; - - -cmchar "Approximate equality sign"; % taken fron symbol.mf -compute_spread(.45x_height#,.55x_height#); -spread#':=spread#; spread':=spread; % the spread of `$=$' -compute_spread(.54x_height#,.66x_height#); -beginchar(oct"164",14u#,v_center(spread#'+spread#+rule_thickness#)); -adjust_fit(0,0); -pickup pencircle xscaled .8rule_thickness yscaled 1.87rule_thickness; -if vair#>.8curve#: pickup rule.nib; autorounded; fi % monoline -lft x1=hround u; x2=4u; x3=w-x2; x4=w-x1; -y1=y3; top y2=top y4=h; top y2-bot y1=spread'; -draw z1{up}...z2{right}..{right}z3...{up}z4; % upper stroke -z1-z5=z2-z6=z3-z7=z4-z8=(0,spread); -draw z5{up}...z6{right}..{right}z7...{up}z8; % lower stroke -labels(1,2,3,4,5,6,7,8); endchar; - -cmchar "Approximate equality plus lower bar sign"; -compute_spread(.45x_height#,.55x_height#); -spread#':=spread#; spread':=spread; % the spread of `$=$' -compute_spread(.54x_height#,.66x_height#); -beginchar(oct"165",14u#,v_center(2spread#'+spread#+rule_thickness#)); -adjust_fit(0,0); -pickup pencircle xscaled .7rule_thickness yscaled 1.4rule_thickness; -if vair#>.8curve#: pickup rule.nib; autorounded; fi % monoline -lft x1=hround u; x2=4u; x3=w-x2; x4=w-x1; -y1=y3; top y2=top y4=h; top y2-bot y1=spread'; -draw z1{up}...z2{right}..{right}z3...{up}z4; % upper stroke -z1-z5=z2-z6=z3-z7=z4-z8=(0,spread); -draw z5{up}...z6{right}..{right}z7...{up}z8; % lower stroke -y9=y10; x9=x1; x10=x8; y5-y9=spread'; -pickup rule.nib; draw z9--z10; -labels(1,2,3,4,5,6,7,8,9,10); endchar; - - -cmchar "Follows with approximate equality sign"; -compute_spread(.45x_height#,.55x_height#); -spread#':=spread#; spread':=spread; % the spread of `$=$' -compute_spread(.54 x_height#,.66 x_height#); -spread#'':=spread#; spread'':=spread; % the spread of `$=$' -compute_spread(1.111 x_height#,1.333 x_height#); -beginchar(oct"166",14u#,v_center(2spread#''+spread#+2rule_thickness#)); -adjust_fit(0,0); -% now for follow sign, using z9 (top), z10 (vertex), & z11 (bot) -pickup rule.nib; -lft x9 = hround 1.5u-eps; x10=w-x9; x11=x9; -y9-y11=spread; top y9=h; y10=.5[y11, y9]; -draw z9{u,-spread}...{right}z10; -draw z11{u,spread}...{right}z10; -pickup pencircle xscaled .7rule_thickness yscaled 1.4rule_thickness; -if vair#>.8curve#: pickup rule.nib; autorounded; fi % monoline -lft x1=hround u; x2=4u; x3=w-x2; x4=w-x1; -top y1=top y3=bot y11-spread''; top y2=top y4=bot y1+spread'; -z1-z5=z2-z6=z3-z7=z4-z8=(0,spread''); -draw z1{up}...z2{right}..{right}z3...{up}z4; % upper stroke -draw z5{up}...z6{right}..{right}z7...{up}z8; % lower stroke -labels(1,2,3,4,5,6,7,8,9,10,11); endchar; - -cmchar "Precedes with approximate equality sign"; -compute_spread(.45x_height#,.55x_height#); -spread#':=spread#; spread':=spread; % the spread of `$=$' -compute_spread(.54x_height#,.66x_height#); -spread#'':=spread#; spread'':=spread; % the spread of `$=$' -compute_spread(1.111 x_height#,1.333 x_height#); -beginchar(oct"167",14u#,v_center(spread#+2spread#''+2rule_thickness#)); -adjust_fit(0,0); -% now for precedes sign, using z9 (top), z10 (vertex), & z11 (bot) -pickup rule.nib; -x9=x11=w-x10; lft x10=hround 1.5u-eps; -y9-y11=spread; top y9=h; y10=.5[y11, y9]; -draw z9{-u,-spread}...{left}z10; -draw z11{-u,spread}...{left}z10; -pickup pencircle xscaled .7rule_thickness yscaled 1.4rule_thickness; -if vair#>.8curve#: pickup rule.nib; autorounded; fi % monoline -lft x1=hround u; x2=4u; x3=w-x2; x4=w-x1; -top y3=top y1=bot y11-spread''; top y2=top y4=bot y1+spread'; -z1-z5=z2-z6=z3-z7=z4-z8=(0,spread''); -draw z1{up}...z2{right}..{right}z3...{up}z4; % upper stroke -draw z5{up}...z6{right}..{right}z7...{up}z8; % lower stroke -labels(1,2,3,4,5,6,7,8,9,10,11); endchar; - -cmchar "Arch with left downward arrowhead"; -beginchar(oct"170",18u#,x_height#,0); -adjust_fit(0,0); pickup crisp.nib; -pos1(rule_thickness,0); pos2(rule_thickness,0); -pos3(bar,90); pos4(bar,90); -lft x1l=hround(.5w-.5rule_thickness); y1+.5rule_thickness=h; -x0=x1=x2; bot y0=-d; x0-x3=x4-x0=3u+eps; -y3=y4=y0+.24asc_height+eps; -pos5(bar,angle(z4-z0)); z5l=z0; -pos6(bar,angle(z3-z0)); z6l=z0; -z9=.381966[.5[z3,z4],z0]; -numeric t; path p; p=z4r{z9-z4}..z6r; -t=xpart(p intersectiontimes((x2r,-d)--(x2r,h))); y2=ypart point t of p; -for i=0 upto 6: x[i]:=x[i]-5.5u; x[i]l:=x[i]l-5.5u; x[i]r:=x[i]r-5.5u; endfor -x9:=x9-5.5u; -filldraw z0..{z4-z9}z4l--subpath (0,t) of\\(z4r{z9-z4}..z6r) - --z2r---z2l--subpath (t,0) of\\(z3r{z9-z3}..z5r) - --z3l{z9-z3}..z0 & cycle; % arrowhead -% arch represented by z2, z11 (top) z12 -rt x12=w-1u; bot y12=y0; top y11=h+o; x11=.5[x2, x12]; -pickup rule.nib; draw z2{up}...{right}z11...{down}z12; -penlabels(0,1,2,3,4,5,6,9,11,12); endchar; - -cmchar "Arch with right downward arrowhead"; -beginchar(oct"171",18u#,x_height#,0); -adjust_fit(0,0); pickup crisp.nib; -pos1(rule_thickness,0); pos2(rule_thickness,0); -pos3(bar,90); pos4(bar,90); -lft x1l=hround(.5w-.5rule_thickness); y1+.5rule_thickness=h; -x0=x1=x2; bot y0=-d; x0-x3=x4-x0=3u+eps; -y3=y4=y0+.24asc_height+eps; -pos5(bar,angle(z4-z0)); z5l=z0; -pos6(bar,angle(z3-z0)); z6l=z0; -z9=.381966[.5[z3,z4],z0]; -numeric t; path p; p=z4r{z9-z4}..z6r; -t=xpart(p intersectiontimes((x2r,-d)--(x2r,h))); y2=ypart point t of p; -for i=0 upto 6: x[i]:=x[i]+5.5u; x[i]l:=x[i]l+5.5u; x[i]r:=x[i]r+5.5u; endfor -x9:=x9+5.5u; -filldraw z0..{z4-z9}z4l--subpath (0,t) of\\(z4r{z9-z4}..z6r) - --z2r---z2l--subpath (t,0) of\\(z3r{z9-z3}..z5r) - --z3l{z9-z3}..z0 & cycle; % arrowhead -% arch represented by z2, z11 (top) z12 (right) -lft x12=u; bot y12=y0; top y11=h+o; x11=.5[x2, x12]; -pickup rule.nib; draw z2{up}...{left}z11...{down}z12; -penlabels(0,1,2,3,4,5,6,9,11,12); endchar; - -cmchar "Stylized F"; -beginarithchar(oct"172"); -pickup pencircle xscaled 2.5rule_thickness yscaled .5rule_thickness; -bot y1=-d; top y2=top y3=h+o; y4=y5=.5[y1, y2]; lft x1=u; x3=w-x1; -numeric t; t=4; % t=slope of thck stem -y2-y1=t*(x2-x1); -z4=whatever[z1, z2]; x5-x4=.6(x3-x2); -draw z1--z2--z3; draw z4--z5; -penlabels(1,2,3,4,5); endchar; - -transform tt; tt:=currenttransform; -currenttransform:=tt slanted 1/4; -cmchar "Lowercase variation of Greek kappa"; -% will use same dimensions as standard Greek lowercase kappa -% see vol E, p 155. -beginchar(oct"173", 12u#, x_height#, 0); -italcorr 1/3x_height#*slant+.5hair#+.5u#; -adjust_fit(0,0); pickup rule.nib; -pos1(stem,0); pos2(stem,0);x1l=hround(2u-.5stem); x2r=w-x1l; -top y2+.3stem=h+oo; bot y1-.3stem=-oo; -filldraw z1l---z2l...z2r---z1r...cycle; -pickup crisp.nib; -pos3(hair,180); x3=lft x1l; y3=3/4h; pos4(stem,90); -top y4r+.15stem=h+oo; x4-x3=.05[x1,x2]; -pos4'(hair,0); y4'=y3; x4'=1/4[x1,x2]; -pos5(hair,90); z5=z1; -filldraw super_arc.r(3,4)&super_arc.r(4,4')...{z1-z2}z5&z5{z2-z1} -...super_arc.l(4',4)&super_arc.l(4,3)---cycle; % left arm -pos8(hair,-90); pos6(hair,0); -z8=z2; pos7(stem, -90); bot y7r-.15stem=-oo; x6-x7=x4-x3; -x6=w-x3; -pos7'(hair,180); y7'=y6; x7'=w-x4'; -y6=h-y3; -filldraw super_arc.r(6,7)&super_arc.r(7,7')...{z2-z1}z8&z8{z1-z2} -...super_arc.l(7',7)&super_arc.l(7,6)---cycle; % right arm -%filldraw z8{z1-z2}..z7l...{up}z6r---z6l{-u,-2u}...z7r..{z2-z1}z8---cycle; %right arm -penlabels(range 1 thru 8,4'); endchar; - -cmchar "H-bar symbol, slanted bar"; -beginchar(oct"175",9u#,asc_height#,0); -italcorr 1/3x_height#*slant+.5hair#+.5u#; -adjust_fit(0,0); pickup tiny.nib; -pos1(stem,0); pos2(stem,0); x1=x2; -lft x1l=hround(1.5u-.5stem); top y1=h; y2-.5stem=-oo; -filldraw circ_stroke z2e--z1e; % left stem -sloped_serif.l(1,2,a,1/3,jut,serif_drop); % serif -pickup fine.nib; x4+.5stem=hround(w-2.5u+.5stem); -x5=x4-.25u; ital_arch(2,3,4); % arch -x7=w; hook_out(5,6,7)(skewed); % closing hook -filldraw stroke z4e{down}..{-u,-x_height}z5e; % right stem -pickup light_rule.nib; -x8=x.a2; y8=.7h; x9=x4l; y9=7/8h; -draw z8--z9; -math_fit(0,ic#); penlabels(1,2,3,4,5,6,7,8,9); endchar; - -cmchar "H-bar symbol, vertical bar"; -beginchar(oct"176",9u#,asc_height#,0); -italcorr 1/3x_height#*slant+.5hair#+.5u#; -adjust_fit(0,0); pickup tiny.nib; -pos1(stem,0); pos2(stem,0); x1=x2; -lft x1l=hround(1.5u-.5stem); top y1=h; y2-.5stem=-oo; -filldraw circ_stroke z2e--z1e; % left stem -sloped_serif.l(1,2,a,1/3,jut,serif_drop); % serif -pickup fine.nib; x4+.5stem=hround(w-2.5u+.5stem); -x5=x4-.25u; ital_arch(2,3,4); % arch -x7=w; hook_out(5,6,7)(skewed); % closing hook -filldraw stroke z4e{down}..{-u,-x_height}z5e; % right stem -pickup light_rule.nib; -x8=x.a2; y8=y9=.81h; rt x9=x4l; draw z8--z9; -math_fit(0,ic#); penlabels(1,2,3,4,5,6,7,8,9); endchar; - -cmchar "Reversed, reflected, lowercase Greek epsilon"; -beginchar(oct"177",8u#,x_height#,0); -italcorr x_height#*slant+.5hair#-2u#; -adjust_fit(0,0); pickup fine.nib; -pos0(bar,90); pos1(bar,90); pos2(curve,180); -pos3(vair,270); pos4(hair,300); pos6(bar,90); pos7(bar,90); -x1=.5w+.5u; x0=x1+u; lft x2r=hround(1.5u-.5curve); x3=.5[x0,x1]; -x4r=good.x(w-u); x5=w+.5u; x6=x0; z7=z2l; -top y0r=top y1r=h; y2=y5=y6=bar_height; bot y3r=-oo; -path p; p=z3r{right}...{up}z5; -numeric t; t=ypart(((x4r,y3r)--(x4r,y5))intersectiontimes p); -y4r=ypart point t of p; -filldraw circ_stroke z0e..pulled_arc.e(1,2) & pulled_arc.e(2,3) - ...z4e{direction t of p}; % arc -filldraw circ_stroke z6e--z7e; % bar -math_fit(-.3x_height#*slant+.5curve#-u#,ic#); -picture v; -v:=currentpicture; -v:=v reflectedabout((0,h*aspect_ratio/2),(w,h*aspect_ratio/2)); -v:=v reflectedabout((w/2,-d),(w/2,h)); -currentpicture:=v shifted (2u,0); -penlabels(0,1,2,3,4,5,6,7); endchar; - -currenttransform:=tt; %restore currenttrnasform - |