🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: comp.text.tex
Article #1063

Re: An upside-down iota logic symbol

#1063
From: Bob Riemenschneider
Date: Sat, 08 Aug 1992 03:22
134 lines
7023 bytes
In article <CMM.0.90.2.713120075.dash@gyda.ifi.uio.no> Dag Asheim <dash> writes:

>   >I would like to use the 'definite description' operator of 
>   >Whitehead and Russell.  It is, effectively, an upside-down
>   >iota, just as the exists and forall operators are upside-
>   >down E and A.
>   > ...
>
>   my father needed it to his Ph.d. theses, so I lent him the
>   Metafont book, and after a while he came up with these: ...

I've been meaning to take a shot at this myself for awhile, and this
posting inspired me to do it.  While Mr. Asheim Sr.'s definitions have
some undeniable virtues (e.g., use of a round pen results in greater
consistency with the rest of the logic symbols), they also have some
problems (e.g., the slant looks too small to me).

Here's an alternative which is precisely the result of inverting the
standard iota in cmmi.  Enjoy!

                                                        -- rar

======================================8x--------------------------------------
%% Filename: iiota10.mf
%% Author: R. A. Riemenschneider (rar@csl.sri.com)
%% Version: 1.0b  (7 August 1992)

%% This is a METAFONT file that can be used to generate a font consisting
%%   solely of an inverted iota.
%% It was constructed by combining Knuth's cmmi10.mf with the relevant
%%   parts of mathit.mf and greekl.mf, then changing the definition of iota
%%   to include a rotation.  (I am a complete METAFONT novice, and have no idea
%%   whether this is the "right" way to do it or not, but it seems to work okay.)
%% "%%" means the comment is mine, "%" means it's Knuth's.
%% For other sizes, just replace the line cribbed from cmmi10.mf by the
%%   corresponding lines from the appropriate cmmi*.mf.  For bold,
%%   do the same using cmmib*.mf.


%% The following is from cmmi10.mf
if unknown cmbase: input cmbase fi

font_identifier:="IIOTA";  %% Was: "CMMI"
font_size 10pt#;

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?


%% The following is from mathit.mf
font_coding_scheme:="TeX math italic";
mode_setup; font_setup;


%% The following is from greekl.mf
cmchar "Lowercase Greek iota";
beginchar(oct"023",5u#,x_height#,0);
currenttransform:=currenttransform rotatedaround ((.5w, .5h), 180); %% Added for inversion
italcorr 1/3x_height#*slant+.5hair#+.5u#;
adjust_fit(if monospace: u#,u# else: 0,0 fi); pickup fine.nib;
pos1(stem,0); lft x1l=hround(1.5u-.5stem); y1+.5stem=h+oo;
x2=x1-.25u; x4=w; hook_out(2,3,4)(skewed);  % closing hook
filldraw circ_stroke z1e{down}...{-u,-x_height}z2e;  % stem
math_fit(0,ic#); penlabels(1,2,3,4); endchar;


%% The following is from mathit.mf
bye.
Technical Details
Message-ID: <RAR.92Aug7192235@birch.csl.sri.com>
Path: arc1-ca.pugleaf.net!sparky!uunet!cis.ohio-state.edu!magnus.acs.ohio-state.edu!usenet.ins.cwru.edu!agate!apple!csl!hercules!rar
References: <epm.711930380@shubshub> <CMM.0.90.2.713120075.dash@gyda.ifi.uio.no>

Show Full Headers
Complete Article Headers
Newsgroups: comp.text.tex
Path: arc1-ca.pugleaf.net!sparky!uunet!cis.ohio-state.edu!magnus.acs.ohio-state.edu!usenet.ins.cwru.edu!agate!apple!csl!hercules!rar
From: rar@csl.sri.com (Bob Riemenschneider)
Subject: Re: An upside-down iota logic symbol
In-Reply-To: Dag Asheim's message of Thu, 6 Aug 1992 16:54:35 GMT
Message-ID: <RAR.92Aug7192235@birch.csl.sri.com>
X-Disclaimer: The views expressed in this message are those of an
       individual at SRI International, and do not necessarily
       reflect those of the company.
Sender: news@csl.sri.com (NEWS Administrator)
Nntp-Posting-Host: birch.csl.sri.com
Organization: Computer Science Lab, SRI International, Menlo Park, CA.
References: <epm.711930380@shubshub> <CMM.0.90.2.713120075.dash@gyda.ifi.uio.no>
Date: Sat, 8 Aug 1992 03:22:35 GMT
Lines: 134