summaryrefslogtreecommitdiff
path: root/fonts/bbold/bbpunc.mf
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
committerNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
commite0c6872cf40896c7be36b11dcc744620f10adf1d (patch)
tree60335e10d2f4354b0674ec22d7b53f0f8abee672 /fonts/bbold/bbpunc.mf
Initial commit
Diffstat (limited to 'fonts/bbold/bbpunc.mf')
-rw-r--r--fonts/bbold/bbpunc.mf691
1 files changed, 691 insertions, 0 deletions
diff --git a/fonts/bbold/bbpunc.mf b/fonts/bbold/bbpunc.mf
new file mode 100644
index 0000000000..a539fe2f82
--- /dev/null
+++ b/fonts/bbold/bbpunc.mf
@@ -0,0 +1,691 @@
+% Blackboard bold punctuation, Alan Jeffrey, 13--18 Dec 1989.
+
+% -------------------------------------------------------------------
+
+bbcap
+ ("!")
+ (biggap#, tiny#, biggap#);
+
+ fatsymmetric;
+
+ "Exclamation mark `!'";
+
+ % The vertical.
+ draw
+ fatten
+ Top~Middle
+ -- (Bottom + space + fatness)~Middle;
+
+ % The dot.
+ draw
+ splodge
+ above Bottom~Middle
+
+endchar;
+
+% -------------------------------------------------------------------
+
+bbchar
+ ("#")
+ (medgap#, arithmetic#, medgap#)
+ (ATop#, gBottom#);
+
+ "The hash sign `#'";
+
+ % The top line.
+ draw
+ (Horizon + space)~Left
+ -- (Horizon + space)~Right;
+
+ % The bottom line.
+ draw
+ (Horizon - space)~Left
+ -- (Horizon - space)~Right;
+
+ % The right vertical.
+ draw
+ rightof Top~(Middle + space)
+ -- rightof Bottom~(Middle + space);
+
+ % The left vertical.
+ outline
+ fatten
+ rightof Top~(Middle - space)
+ -- rightof Bottom~(Middle - space)
+
+endchar;
+
+% -------------------------------------------------------------------
+
+bbchar
+ ("$")
+ (medgap#, smallcap#, medgap#)
+ (ATop# + jut#, aBottom# - jut#);
+
+ fatsymmetric;
+
+ "Dollar sign `$'";
+
+ % The path of the S.
+ draw
+ (Top - CCurl)~Right
+ .. ATop~Middle {left}
+ .. (ATop -+- BBar)~Left {down}
+ .. BBar~Middle {right}
+ .. (BBar -+- aBottom)~Right {down}
+ .. aBottom~Middle {left}
+ .. (Bottom + CCurl)~Left;
+
+ % The vertical.
+ outline
+ fatten
+ Bottom~Middle
+ -- Top~Middle
+
+endchar;
+
+% -------------------------------------------------------------------
+
+bbchar
+ ("%")
+ (medgap#, smallcap#, medgap#)
+ (bracketTop#, aBottom# + aTop# - bracketTop#);
+
+ fatsymmetric;
+
+ "Per cent sign `%'";
+
+ % The dot at top left.
+ draw
+ splodge
+ below rightof Top~Left;
+
+ % The dot at bottom right.
+ draw
+ splodge
+ above leftof Bottom~Right;
+
+ % The diagonal.
+ draw
+ fatten
+ rightof Bottom~Left
+ -- leftof Top~Right
+
+endchar;
+
+% -------------------------------------------------------------------
+
+bbchar
+ ("&")
+ (medgap#, arithmetic#, medgap#)
+ (ATop#, aBottom#);
+
+ "Ampersand `&'";
+
+ % z1 is the top point at which the curls cross. It is somewhere
+ % between the top point and the bottom point, and is at aTop.
+
+ z1 = whatever[leftof Top~Middle, Bottom~(Left -+- Middle)];
+ y1 = aTop;
+
+ % The curve.
+ var (path) ampersandpath;
+
+ ampersandpath
+ = (Bottom + cCurl)~Right
+ .. obelow Bottom~(Right - jut) {left}
+ ... z1
+ .. oabove leftof Top~Middle {right}
+ .. z1
+ .. aMiddle~Left {down}
+ .. obelow Bottom~(Left -+- Middle) {right}
+ .. aMiddle~(Right - space);
+
+ % The emphasis.
+ draw
+ fatcliptwice
+ (obelow rightof Bottom~Left -- rightof Top~Left)
+ (ampersandpath);
+
+ % The curve.
+ draw ampersandpath
+
+endchar;
+
+% -------------------------------------------------------------------
+
+bbchar
+ ("'")
+ (medgap#, tiny#, medgap#)
+ (bTop#, bTop# - tiny# - comma_depth#);
+
+ fatsymmetric;
+
+ "Apostrophe `''";
+
+ % The dot and tail.
+ draw
+ splodger below Top~Middle
+ .. Bottom~Left
+
+endchar;
+
+% -------------------------------------------------------------------
+
+bbchar
+ ("(")
+ (biggap#, tiny# + jut#, smallgap#)
+ (bracketTop#, bracketBottom#);
+
+ "Left bracket `('";
+
+ % The emphasis.
+ draw
+ fatcliptwice
+ (rightof Bottom~Left -- rightof Top~Left)
+ (Bottom~Right {left} .. Horizon~Left .. Top~Right {right});
+
+ % The curve.
+ draw
+ Bottom~Right {left}
+ .. Horizon~Left
+ .. Top~Right {right}
+
+endchar;
+
+% -------------------------------------------------------------------
+
+bbchar
+ (")")
+ (smallgap#, tiny# + jut#, biggap#)
+ (bracketTop#, bracketBottom#);
+
+ "Right bracket `)'";
+
+ % The emphasis.
+ draw
+ fatcliptwice
+ (leftof Bottom~Right -- leftof Top~Right)
+ (Bottom~Left {right} .. Horizon~Right .. Top~Left {left});
+
+ % The curve.
+ draw
+ Bottom~Left {right}
+ .. Horizon~Right
+ .. Top~Left {left}
+
+endchar;
+
+% -------------------------------------------------------------------
+
+bbchar
+ ("*")
+ (medgap#, (sqrt3)/2 * arithmetic#, medgap#)
+ (math_axis# + 1/2arithmetic#, math_axis# - 1/2arithmetic#)
+
+ fatsymmetric;
+
+ "Star `*'";
+
+ % The distance from the top of the character to the top of the diagonals.
+ var (numeric) adistance;
+ adistance = round ((Top - Horizon) / 2);
+
+ % The NW diagonal.
+ draw
+ (Bottom + adistance)~Right
+ -- (Top - adistance)~Left;
+
+ % The NE diagonal.
+ draw
+ (Bottom + adistance)~Left
+ -- (Top -adistance)~Right;
+
+ % The vertical, fattened.
+ outline
+ fatten
+ Bottom~Middle
+ -- Top~Middle
+
+endchar;
+
+% -------------------------------------------------------------------
+
+bbchar
+ ("+")
+ (medgap#, arithmetic#, medgap#)
+ (math_axis# + 1/2arithmetic#, math_axis# - 1/2arithmetic#)
+
+ "Plus sign `+'";
+
+ % The horizontal line.
+ draw
+ Horizon~Left
+ -- Horizon~Right;
+
+ % The vertical, fattened.
+ outline
+ fatten
+ Bottom~Middle
+ -- Top~Middle
+
+endchar;
+
+% -------------------------------------------------------------------
+
+bbchar
+ (",")
+ (medgap#, tiny#, medgap#)
+ (aBottom# + tiny#, aBottom# - comma_depth#);
+
+ fatsymmetric;
+
+ "Comma `,'";
+
+ % The dot and tail.
+ draw
+ splodger above aBottom~Middle
+ .. Bottom~Left
+
+endchar;
+
+% -------------------------------------------------------------------
+
+bbchar
+ ("-")
+ (smallgap#, smalllower#, medgap#)
+ (aTop#, aBottom#);
+
+ "Hyphen `-'";
+
+ % The line.
+ draw
+ Horizon~Left
+ -- Horizon~Right
+
+endchar;
+
+% -------------------------------------------------------------------
+
+bbchar
+ (".")
+ (medgap#, tiny#, medgap#)
+ (aBottom# + tiny#, aBottom#);
+
+ fatsymmetric;
+
+ "Full stop `.'";
+
+ % The dot.
+ draw
+ splodge
+ above Bottom~Middle
+
+endchar;
+
+% -------------------------------------------------------------------
+
+bbchar
+ ("/")
+ (smallgap#, smallcap#, smallgap#)
+ (bracketTop#, bracketBottom#);
+
+ "Virgule (slash) `/'";
+
+ % The line.
+ draw
+ fatten
+ rightof Bottom~Left
+ -- leftof Top~Right
+
+endchar;
+
+% -------------------------------------------------------------------
+
+bbchar
+ (":")
+ (medgap#, tiny#, medgap#)
+ (aTop#, aBottom#);
+
+ fatsymmetric;
+
+ "Colon `:'";
+
+ % The top dot.
+ draw
+ splodge
+ below Top~Middle;
+
+ % The bottom dot.
+ draw
+ splodge
+ above Bottom~Middle
+
+endchar;
+
+% -------------------------------------------------------------------
+
+bbchar
+ (";")
+ (medgap#, tiny#, medgap#)
+ (aTop#, aBottom# - comma_depth#);
+
+ fatsymmetric;
+
+ "Semicolon `;'";
+
+ % The upper dot.
+ draw
+ splodge
+ below Top~Middle;
+
+ % The lower dot and tail.
+ draw
+ splodger above aBottom~Middle
+ .. Bottom~Left
+
+endchar;
+
+% -------------------------------------------------------------------
+
+beginblacker 1.5;
+bbchar
+ ("<")
+ (biggap#, arithmetic#, biggap#)
+ (math_axis# + 1/2lessthan#, math_axis# - 1/2lessthan#);
+
+ "Less than sign `<'";
+
+ % The top diagonal.
+ draw
+ Top~Right
+ --- Horizon~Left;
+
+ % The bottom diagonal, fattened, and clipped by the top.
+ % We need to carry on the diagonal past where it started,
+ % so we extend it up to the top of the character.
+ draw
+ fatcliponce
+ (leftof Bottom~Right
+ --- rightof Horizon~Left
+ .. farrightof Top~(2Left - Right))
+ (Top~Right -- Horizon~Left)
+
+endchar;
+endblacker;
+
+% -------------------------------------------------------------------
+
+bbchar
+ ("=")
+ (medgap#, tiny#, medgap#)
+ (math_axis# + 1/2tiny#, math_axis# - 1/2tiny#);
+
+ fatsymmetric;
+
+ "Centred dot";
+
+ % The dot.
+ draw
+ splodge
+ above Bottom~Middle
+
+endchar;
+
+% -------------------------------------------------------------------
+
+beginblacker 1.5;
+
+bbchar
+ (">")
+ (biggap#, arithmetic#, biggap#)
+ (math_axis# + 1/2lessthan#, math_axis# - 1/2lessthan#);
+
+ "Greater than sign `>'";
+
+ % The top diagonal.
+ draw
+ Top~Left
+ --- Horizon~Right;
+
+ % The bottom diagonal, fattened, and clipped by the top.
+ % We need to carry on the diagonal past where it started,
+ % so we extend it up to the top of the character.
+ draw
+ fatcliponce
+ (rightof Bottom~Left
+ --- leftof Horizon~Right
+ .. farleftof Top~(2Right - Left))
+ (Top~Left -- Horizon~Right)
+
+endchar;
+endblacker;
+
+% -------------------------------------------------------------------
+
+bbcap
+ ("?")
+ (medgap#, smallcap#, medgap#);
+
+ fatsymmetric;
+
+ "Question mark `?'";
+
+ % The height of the bottom of the curl.
+ var (numeric) curlBottom;
+
+ curlBottom = Bottom + fatness + space;
+
+ % The curl.
+ var (path) questionpath;
+
+ questionpath
+ = (Top - CCurl)~Left
+ .. oabove Top~Middle {right}
+ .. (1/3[Top, curlBottom])~Right {down}
+ .. rightof (2/3[Top, curlBottom])~Middle {left}
+ .. leftof curlBottom~Middle {down};
+
+ draw questionpath;
+
+ % The emphasis, clipped with the bottom bit of the question path.
+ draw
+ fatcliponce
+ (curlBottom~Middle -- oabove Top~Middle)
+ (subpath (2, infinity) of questionpath);
+
+ % The dot.
+ draw
+ splodge
+ above Bottom~Middle
+
+endchar;
+
+% -------------------------------------------------------------------
+
+bbchar
+ ("@")
+ (medgap#, tiny# + 2fatness#, medgap#)
+ (ATop#, aBottom#);
+
+ "At sign `@'";
+
+ % The curl.
+ var (path) atpath;
+
+ atpath
+ = (Bottom + CCurl)~Right
+ .. obelow Bottom~Middle {left}
+ .. Horizon~Left {up}
+ .. oabove Top~Middle {right}
+ .. splodger leftof Horizon~Right;
+
+ % The emphasis.
+ draw
+ fatcliptwice
+ (obelow rightof Bottom~Left -- oabove rightof Top~Left)
+ (atpath);
+
+ % The curl.
+ draw atpath
+
+endchar;
+
+% -------------------------------------------------------------------
+
+bbchar
+ ("[")
+ (biggap#, tiny# + jut#, smallgap#)
+ (bracketTop#, bracketBottom#);
+
+ "Left square bracket `['";
+
+ % The vertical.
+ draw
+ fatten
+ rightof Bottom~Left
+ -- rightof Top~Left;
+
+ % The top line.
+ draw
+ Top~Left
+ -- Top~Right;
+
+ % The bottom line.
+ draw
+ Bottom~Left
+ -- Bottom~Right
+
+endchar;
+
+% -------------------------------------------------------------------
+
+bbchar
+ ("\")
+ (smallgap#, smallcap#, smallgap#)
+ (bracketTop#, bracketBottom#);
+
+ "Reverse slash `\'";
+
+ % The line.
+ draw
+ fatten
+ leftof Bottom~Right
+ -- rightof Top~Left
+
+endchar;
+
+% -------------------------------------------------------------------
+
+bbchar
+ ("]")
+ (smallgap#, tiny# + jut#, biggap#)
+ (bracketTop#, bracketBottom#);
+
+ "Right square bracket `]'";
+
+ % The vertical.
+ draw
+ fatten
+ leftof Bottom~Right
+ -- leftof Top~Right;
+
+ % The top line.
+ draw
+ Top~Left
+ -- Top~Right;
+
+ % The bottom line.
+ draw
+ Bottom~Left
+ -- Bottom~Right
+
+endchar;
+
+% -------------------------------------------------------------------
+
+beginblacker 1.25;
+bbchar
+ ("^")
+ (biggap#, tiny# + jut#, smallgap#)
+ (bracketTop#, bracketBottom#);
+
+ "Left angle bracket";
+
+ % The emphasis, clipped by the bracket.
+ draw
+ fatcliptwice
+ (rightof Bottom~Left -- rightof Top~Left)
+ (Bottom~Right -- Horizon~Left -- Top~Right);
+
+ % The bracket.
+ draw
+ Bottom~Right
+ -- Horizon~Left
+ -- Top~Right
+
+endchar;
+endblacker;
+
+% -------------------------------------------------------------------
+
+beginblacker 1.25;
+bbchar
+ ("_")
+ (smallgap#, tiny# + jut#, biggap#)
+ (bracketTop#, bracketBottom#);
+
+ "Right angle bracket";
+
+ % The emphasis, clipped by the bracket.
+ draw
+ fatcliptwice
+ (leftof Bottom~Right -- leftof Top~Right)
+ (Bottom~Left -- Horizon~Right -- Top~Left);
+
+ % The bracket.
+ draw
+ Bottom~Left
+ -- Horizon~Right
+ -- Top~Left
+
+endchar;
+endblacker;
+
+% -------------------------------------------------------------------
+
+bbchar
+ ("`")
+ (medgap#, tiny#, medgap#)
+ (bTop#, bTop# - tiny# - comma_depth#);
+
+ fatsymmetric;
+
+ "Reverse apostrophe ``'";
+
+ % The dot and tail.
+ draw
+ splodgel above Bottom~Middle
+ .. Top~Right
+
+endchar;
+
+% -------------------------------------------------------------------
+
+bbchar
+ ("|")
+ (biggap#, tiny#, biggap#)
+ (bracketTop#, bracketBottom#);
+
+ "Vertical bar `|'";
+
+ % The line.
+ draw
+ fatten
+ Bottom~Middle
+ -- Top~Middle
+
+endchar;
+
+% -------------------------------------------------------------------
+