% % Voynich Currier 16 pt (voycur16.mf) % % A simple METAFONT font for displaying the characters of the Voynich % manuscript according to the Currier transcription scheme, for use % with the TeX typesetting system. % % Displayable characters are A-Z, 0-9 as well as '.' (separator) % and '*' (unreadable characters). Only upper case characters are % provided. % % Developed by Bruce Grant (bgrant@umcc.ais.org) Jan., 1996 % and placed in the public domain. % mode_setup; %%%%%%%%%%%%%%%%%%%%%%%%%%NOTE%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % For other font sizes, modify file name and change the following line nominal_height#:=16pt#; % nominal font size % % % xpt#:=nominal_height#/16; % "logical pt" stroke_slant#:=1xpt#; % slant for short vertical strokes stk_space#:=2xpt#; % spacing of consecutive strokes x_unit#:=4xpt#; % vertical unit = 1/3 of max height % font ascends 3 units and descends % one unit o_space#:=1.25xpt#; % space on each side of char pen_width#:=.9xpt#; define_pixels(stroke_slant,stk_space,x_unit,o_space,pen_width); % % Macro to draw a short vertical stroke % def draw_stroke(suffix $)(expr x_orig) = x$a=x_orig; y$a=x_unit; x$b=x_orig+stroke_slant; y$b=0; draw z$a--z$b; enddef; % % Macro to draw the hook used in Voynich character "D" % def draw_voynich_d(suffix $)(expr x_orig) = x$a=x_orig; y$a=x_unit; x$b=x_orig+stroke_slant; y$b=0; x$c=x_orig+stroke_slant+.75x_unit; y$c=1.5x_unit; x$d=x_orig+stroke_slant+.375x_unit; y$d=2x_unit; x$e=x_orig+stroke_slant+.125x_unit; y$e=1.75x_unit; draw z$a--z$b..z$c..z$d..z$e; enddef; % % Macro to draw the hook used in Voynich character "R" % def draw_voynich_r(suffix $)(expr x_orig) = x$a=x_orig; y$a=x_unit; x$b=x_orig+stroke_slant; y$b=0; x$c=x_orig+.25x_unit; y$c=1.8x_unit; x$d=x_orig+.5x_unit; y$d=2x_unit; x$e=x_orig+.75x_unit; y$e=1.75x_unit; z$f=.25[z$a,z$b]; draw z$a--z$f--z$b; draw z$c..z$d..z$e..z$f; enddef; % % Macro to draw the loop used in Voynich character "J" % def draw_voynich_j(suffix $)(expr x_orig) = x$a=x_orig; y$a=x_unit; x$b=x_orig+stroke_slant; y$b=0; x$c=x_orig+1.25x_unit; y$c=1.75x_unit; x$d=x_orig+1.0x_unit; y$d=2x_unit; x$e=x_orig+0.75x_unit; y$e=.75x_unit; x$f=x_orig+0.225x_unit; y$f=-0.75x_unit; draw z$b--z$a{right}..z$c..z$d..z$e..z$f; enddef; % % Macro to draw the loop used in Voynich character "E" % def draw_voynich_e(suffix $)(expr x_orig) = x$a=x_orig; y$a=-x_unit; x$b=x_orig+.5x_unit; y$b=0; x$c=x_orig+x_unit; y$c=x_unit; x$d=x_orig; y$d=x_unit; x$e=x_orig+.625x_unit; y$e=-.25x_unit; draw z$a--z$b--z$c--z$d--z$b--z$e; enddef; % % Macro to draw the loop used in Voynich character "S" % def draw_voynich_s(suffix $)(expr x_orig, x_len) = x$a=x_orig+.5x_unit; y$a=0; x$b=x_orig; y$b=.5x_unit; x$c=x_orig+.5x_unit; y$c=x_unit; x$d=x_orig+.5x_unit+x_len; y$d=x_unit; x$e=x_orig+x_len; y$e=.5x_unit; x$f=x_orig+.5x_unit+x_len; y$f=0; draw z$a..z$b..z$c--z$d{left}..z$e..z$f; enddef; % % Macro to draw the Voynich character "P" % def draw_voynich_p(suffix $)(expr x_orig) = x$a=x_orig+.625x_unit; y$a=0; x$b=x_orig+.625x_unit; y$b=2x_unit; x$c=x_orig+.3125x_unit; y$c=3x_unit; x$d=x_orig; y$d=2.5x_unit; x$e=x_orig+1.375x_unit; y$e=2x_unit; x$f=x_orig+2x_unit; y$f=2.5x_unit; x$g=x_orig+1.6875x_unit; y$g=3x_unit; x$h=x_orig+1.375x_unit; y$h=0; draw z$a--z$b{up}..z$c..z$d..{right}z$b--z$e{right}..z$f..z$g..{down}z$e--z$h; enddef; % % Macro to draw the Voynich character "F" % def draw_voynich_f(suffix $)(expr x_orig) = x$a=x_orig; y$a=0; x$b=x_orig; y$b=2.25x_unit; x$c=x_orig; y$c=3x_unit; x$d=x_orig+.75x_unit; y$d=2x_unit; x$e=x_orig+1.5x_unit; y$e=2.5x_unit; x$f=x_orig+1.125x_unit; y$f=3x_unit; x$g=x_orig+.75x_unit;y$g=0; draw z$a--z$b--z$c; draw z$b..{right}z$d..z$e..z$f..{down}z$d--z$g; enddef; % % Macro to draw the Voynich character "V" % def draw_voynich_v(suffix $)(expr x_orig) = x$a=x_orig+.625x_unit; y$a=0; x$b=x_orig+.625x_unit; y$b=2x_unit; x$c=x_orig+.3125x_unit; y$c=3x_unit; x$d=x_orig; y$d=2.5x_unit; x$e=x_orig+1.375x_unit; y$e=2x_unit; x$f=x_orig+2x_unit; y$f=2.5x_unit; x$g=x_orig+1.6875x_unit; y$g=3x_unit; x$h=x_orig+.625x_unit; y$h=1.5x_unit; x$i=x_orig+.125x_unit; y$i=1.5x_unit; draw z$a--z$b{up}..z$c..z$d..{right}z$b--z$e{right}..z$f..z$g..{down}z$e..{left}z$h--z$i; enddef; % % Macro to draw the Voynich character "B" % def draw_voynich_b(suffix $)(expr x_orig) = x$a=x_orig+.5x_unit; y$a=0; x$b=x_orig+.5x_unit; y$b=2.25x_unit; x$c=x_orig+.5x_unit; y$c=3x_unit; x$d=x_orig+1.25x_unit; y$d=2x_unit; x$e=x_orig+2x_unit; y$e=2.5x_unit; x$f=x_orig+1.625x_unit; y$f=3x_unit; x$g=x_orig+1.25x_unit;y$g=1.5x_unit; x$h=x_orig;y$h=1.5x_unit; draw z$a--z$b--z$c; draw z$b..{right}z$d..z$e..z$f..{down}z$d{down}..{left}z$g--z$h; enddef; % % Character definitions: D, N, M, 3 % beginchar("D",2o_space#+stroke_slant#+.75x_unit#,3x_unit#,0); "The Voynich letter D"; pickup pencircle scaled pen_width; draw_voynich_d(1,o_space); endchar; beginchar("M",2o_space#+stroke_slant#+stk_space#+.75x_unit#,3x_unit#,0); "The Voynich letter M"; pickup pencircle scaled pen_width; draw_stroke(1,o_space); draw_voynich_d(2,o_space+stk_space); endchar; beginchar("N",2o_space#+stroke_slant#+2stk_space#+.75x_unit#,3x_unit#,0); "The Voynich letter N"; pickup pencircle scaled pen_width; draw_stroke(1,o_space); draw_stroke(2,o_space+stk_space); draw_voynich_d(3,o_space+2stk_space); endchar; beginchar("3",2o_space#+stroke_slant#+3stk_space#+.75x_unit#,3x_unit#,0); "The Voynich letter 3"; pickup pencircle scaled pen_width; draw_stroke(1,o_space); draw_stroke(2,o_space+stk_space); draw_stroke(3,o_space+2stk_space); draw_voynich_d(4,o_space+3stk_space); endchar; % % Character definitions: R, T, U, 0 % beginchar("R",2o_space#+.75x_unit#,3x_unit#,0); "The Voynich letter R"; pickup pencircle scaled pen_width; draw_voynich_r(1,o_space); endchar; beginchar("T",2o_space#+.75x_unit#+stk_space#,3x_unit#,0); "The Voynich letter T"; pickup pencircle scaled pen_width; draw_stroke(1,o_space); draw_voynich_r(2,o_space+stk_space); endchar; beginchar("U",2o_space#+.75x_unit#+2stk_space#,3x_unit#,0); "The Voynich letter U"; pickup pencircle scaled pen_width; draw_stroke(1,o_space); draw_stroke(2,o_space+stk_space); draw_voynich_r(3,o_space+2stk_space); endchar; beginchar("0",2o_space#+.75x_unit#+3stk_space#,3x_unit#,0); "The Voynich letter 0"; pickup pencircle scaled pen_width; draw_stroke(1,o_space); draw_stroke(2,o_space+stk_space); draw_stroke(3,o_space+2stk_space); draw_voynich_r(4,o_space+3stk_space); endchar; % % Character definitions: J, K, L, 5 % beginchar("J",2o_space#+1.25x_unit#,3x_unit#,.75x_unit#); "The Voynich letter J"; pickup pencircle scaled pen_width; draw_voynich_j(1,o_space); endchar; beginchar("K",2o_space#+1.25x_unit#+stk_space#,3x_unit#,.75x_unit#); "The Voynich letter K"; pickup pencircle scaled pen_width; draw_stroke(1,o_space); draw_voynich_j(2,o_space+stk_space); endchar; beginchar("L",2o_space#+1.25x_unit#+2stk_space#,3x_unit#,.75x_unit#); "The Voynich letter L"; pickup pencircle scaled pen_width; draw_stroke(1,o_space); draw_stroke(2,o_space+stk_space); draw_voynich_j(3,o_space+2stk_space); endchar; beginchar("5",2o_space#+1.25x_unit#+3stk_space#,3x_unit#,.75x_unit#); "The Voynich letter 5"; pickup pencircle scaled pen_width; draw_stroke(1,o_space); draw_stroke(2,o_space+stk_space); draw_stroke(3,o_space+2stk_space); draw_voynich_j(4,o_space+3stk_space); endchar; % % Character definitions: E, G, H, 1 % beginchar("E",2o_space#+x_unit#,x_unit#,x_unit#); "The Voynich letter E"; pickup pencircle scaled pen_width; draw_voynich_e(1,o_space); endchar; beginchar("G",2o_space#+x_unit#+stk_space#+.75x_unit#,x_unit#,x_unit#); "The Voynich letter G"; pickup pencircle scaled pen_width; draw_stroke(1,o_space); draw_voynich_e(2,o_space+stk_space); endchar; beginchar("H",2o_space#+x_unit#+2stk_space#+.75x_unit#,x_unit#,x_unit#); "The Voynich letter H"; pickup pencircle scaled pen_width; draw_stroke(1,o_space); draw_stroke(2,o_space+stk_space); draw_voynich_e(3,o_space+2stk_space); endchar; beginchar("1",2o_space#+x_unit#+3stk_space#+.75x_unit#,x_unit#,x_unit#); "The Voynich letter 1"; pickup pencircle scaled pen_width; draw_stroke(1,o_space); draw_stroke(2,o_space+stk_space); draw_stroke(3,o_space+2stk_space); draw_voynich_e(4,o_space+3stk_space); endchar; % % Characters P and Q % beginchar("P",2o_space#+2.0x_unit#,3x_unit#,0); "The Voynich letter P"; pickup pencircle scaled pen_width; draw_voynich_p(1,o_space); endchar; beginchar("Q",2o_space#+3.25x_unit#,3x_unit#,0); "The Voynich letter Q"; pickup pencircle scaled pen_width; draw_voynich_p(1,o_space+.625x_unit); draw_voynich_s(2,o_space,2.75x_unit) endchar; % % Characters F and X % beginchar("F",2o_space#+1.5x_unit#,3x_unit#,0); "The Voynich letter F"; pickup pencircle scaled pen_width; draw_voynich_f(1,o_space); endchar; beginchar("X",2o_space#+3.25x_unit#,3x_unit#,0); "The Voynich letter X"; pickup pencircle scaled pen_width; draw_voynich_f(1,o_space+1.25x_unit); draw_voynich_s(2,o_space,2.75x_unit) endchar; % % Characters V and Y % beginchar("V",2o_space#+2.0x_unit#,3x_unit#,0); "The Voynich letter V"; pickup pencircle scaled pen_width; draw_voynich_v(1,o_space); endchar; beginchar("Y",2o_space#+2.625x_unit#,3x_unit#,0); "The Voynich letter Y"; pickup pencircle scaled pen_width; draw_voynich_v(1,o_space+.625x_unit); draw_voynich_s(2,o_space,2x_unit) endchar; % % Characters B and W % beginchar("B",2o_space#+2x_unit#,3x_unit#,0); "The Voynich letter B"; pickup pencircle scaled pen_width; draw_voynich_b(1,o_space); endchar; beginchar("W",2o_space#+2.75x_unit#,3x_unit#,0); "The Voynich letter W"; pickup pencircle scaled pen_width; draw_voynich_b(1,o_space+.75x_unit); draw_voynich_s(2,o_space,2x_unit) endchar; % % Character C % beginchar("C",2o_space#+.5x_unit#,x_unit#,0); "The Voynich character C"; pickup pencircle scaled pen_width; x1a=o_space+.5x_unit; y1a=0; x1b=o_space; y1b=.5x_unit; x1c=o_space+.5x_unit; y1c=x_unit; draw z1a..z1b..z1c; endchar; % % Character S % beginchar("S",2o_space#+2x_unit#,x_unit#,0); "The Voynich character S"; pickup pencircle scaled pen_width; draw_voynich_s(1,o_space,1.5x_unit); endchar; % % Character Z % beginchar("Z",2o_space#+2x_unit#,2x_unit#,0); "The Voynich character Z"; pickup pencircle scaled pen_width; x1a=o_space+x_unit; y1a=1.75x_unit; x1b=o_space+1.375x_unit; y1b=2x_unit; x1c=o_space+1.75x_unit; y1c=1.75x_unit; x1d=o_space+.8x_unit; y1d=x_unit; draw_voynich_s(2,o_space,1.5x_unit); draw z1a..z1b..z1c--z1d; endchar; % % Character O % beginchar("O",2o_space#+x_unit#,x_unit#,0); "The Voynich character O"; pickup pencircle scaled pen_width; x1a=o_space+.5x_unit; y1a=0; x1b=o_space; y1b=.5x_unit; x1c=o_space+.5x_unit; y1c=x_unit; x1d=o_space+x_unit; y1d=.5x_unit; draw z1a..z1b..z1c..z1d..cycle; endchar; % % Character I % beginchar("I",2o_space#+.25x_unit#,x_unit#,0); "The Voynich letter I"; pickup pencircle scaled pen_width; x1a=o_space; y1a=x_unit; x1b=o_space; y1b=.25x_unit; x1c=o_space+.25x_unit; y1c=0; draw z1a--z1b{down}..z1c; endchar; % % Character A % beginchar("A",2o_space#+1.25x_unit#,x_unit#,0); "The Voynich letter A"; pickup pencircle scaled pen_width; x1a=o_space+1x_unit; y1a=.5x_unit; x1b=o_space+.5x_unit; y1b=0; x1c=o_space; y1c=.5x_unit; x1d=o_space+.5x_unit; y1d=x_unit; x1e=o_space+1.125x_unit; y1e=0; draw z1a..z1b..z1c..z1d..z1a..{down}z1e; endchar; % % Character 2 % beginchar("2",2o_space#+x_unit#,2x_unit#,0); "The Voynich letter 2"; pickup pencircle scaled pen_width; x1a=o_space+.5x_unit; y1a=0; x1b=o_space; y1b=.5x_unit; x1c=o_space+.5x_unit; y1c=x_unit; x1d=o_space+x_unit; y1d=1.5x_unit; x1e=o_space+.5x_unit; y1e=2x_unit; x1f=o_space+.25x_unit; y1f=1.8x_unit; draw z1a..z1b..{right}z1c{right}..z1d..z1e..z1f; endchar; % % % Character 4 % beginchar("4",2o_space#+1.5x_unit#,x_unit#,0); "The Voynich character 4"; pickup pencircle scaled pen_width; x1a=o_space+1.5x_unit; y1a=0; x1b=o_space; y1b=0; x1c=o_space+x_unit; y1c=x_unit; x1d=o_space+x_unit; y1d=-x_unit; draw z1a--z1b--z1c--z1d; endchar; % % Character 6 % beginchar("6",2o_space#+1.5x_unit#,2x_unit#,0); "The Voynich letter 6"; pickup pencircle scaled pen_width; x1a=o_space+.5x_unit; y1a=0; x1b=o_space; y1b=.5x_unit; x1c=o_space+.5x_unit; y1c = x_unit; x1d=o_space+1.5x_unit; y1d=1.75x_unit; x1e=o_space+1.25x_unit; y1e=2x_unit; x1f=o_space+x_unit; y1f=.5x_unit; x1g=o_space+0.5x_unit; y1g=-0.75x_unit; draw z1a..z1b..z1c{right}..z1d..z1e..{down}z1f..z1g; endchar; % % Character 7 % beginchar("7",2o_space#+1.25x_unit#,2x_unit#,0); "The Voynich letter 7"; pickup pencircle scaled pen_width; x1a=o_space+.25x_unit; y1a=0; x1b=o_space; y1b=.25x_unit; x1c=o_space; y1c=x_unit; x1d=o_space+1.25x_unit; y1d=1.75x_unit; x1e=o_space+1.0x_unit; y1e=2x_unit; x1f=o_space+0.75x_unit; y1f=.75x_unit; x1g=o_space+0.225x_unit; y1g=-0.75x_unit; draw z1a--z1b{up}--z1c{right}..z1d..z1e..z1f..z1g; endchar; % % Character 8 % beginchar("8",2o_space#+1.75x_unit#,2x_unit#,0); "The Voynich character 8"; pickup pencircle scaled pen_width; x1a=o_space+.375x_unit; y1a=0; x1b=o_space; y1b=.5x_unit; x1c=o_space+.875x_unit; y1c=x_unit; x1d=o_space+1.75x_unit; y1d=1.5x_unit; x1e=o_space+1.375x_unit; y1e=2x_unit; x1f=o_space+.75x_unit; y1f=1.5x_unit; x1g=o_space+x_unit; y1g=.5x_unit; draw z1a..z1b..z1c..z1d..z1e..z1f..z1c..z1g..cycle; endchar; % % Character 9 % beginchar("9",2o_space#+.875x_unit#,x_unit#,x_unit#); "The Voynich letter 9"; pickup pencircle scaled pen_width; x1a=o_space+.6875x_unit; y1a=.0625x_unit; x1b=o_space+.375x_unit; y1b=0; x1c=o_space; y1c=.5x_unit; x1d=o_space+.5625x_unit; y1d=x_unit; x1e=o_space+.8125x_unit; y1e=.75x_unit; x1f=o_space; y1f=-x_unit; draw z1a..z1b..z1c..z1d..z1e..z1a..z1f; endchar; % % Character * % beginchar("*",2o_space#+x_unit#,2.5x_unit#,0); "The Voynich letter *"; pickup pencircle scaled pen_width; x1a=o_space; y1a=0; x1b=o_space; y1b=2.5x_unit; x1c=o_space+x_unit; y1c=2.5x_unit; x1d=o_space+x_unit; y1d=0; draw z1a--z1b--z1c--z1d--cycle; endchar; % % Character . % beginchar(".",2o_space#+2pen_width#+x_unit#,x_unit#,0); "The Voynich letter ."; pickup pencircle scaled 2pen_width; x1a=o_space+.5x_unit+pen_width; y1a=0; draw z1a; endchar; % % Kerning information to make words with tall characters look better % ligtable "P": "F": "V": "B": "C" kern -.625x_unit#, "S" kern -.625x_unit#, "Z" kern -.625x_unit#, "O" kern -.625x_unit#, "I" kern -.625x_unit#, "A" kern -.625x_unit#, "8" kern -.625x_unit#, "9" kern -.625x_unit#; ligtable "C": "S": "O": "I": "9": "P" kern -.625x_unit#, "V" kern -.125x_unit#, "B" kern -.125x_unit#; ligtable "8": "9" kern -1.5o_space#, "O" kern -1.5o_space#, "C" kern -1.5o_space#, "S" kern -1.5o_space#, "Z" kern -1.5o_space#, "A" kern -1.5o_space#, "I" kern -1.5o_space#; ligtable "4": "P" kern -.625x_unit#, "V" kern -.125x_unit#, "B" kern -.125x_unit#, "O" kern -o_space#; ligtable "A": "P" kern -.625x_unit#, "V" kern -.125x_unit#, "B" kern -.125x_unit#, "D" kern -o_space#, "M" kern -o_space#, "N" kern -o_space#, "3" kern -o_space#, "R" kern -o_space#, "T" kern -o_space#, "U" kern -o_space#, "0" kern -o_space#, "J" kern -o_space#, "K" kern -o_space#, "L" kern -o_space#, "5" kern -o_space#, "E" kern -o_space#, "G" kern -o_space#, "H" kern -o_space#, "1" kern -o_space#; end.