% Xucuri Punctuation `xucp.mf' % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Designed by Johannes Heinecke % % % % This software is under the LaTeX Project Public License % % Please send any improvements, corrections, suggestions, enhancements etc % % to the Author! % % % % Version 0.1 as of 30th March 1997 % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % def xuc_comma (suffix $) = pickup xuc_pcomma; rt z$a = (pdot, y$); z$b = (0, y$-.6mxlow); draw z$a{down}..{dir -135}z$b; labels($a, $b); enddef; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%% Character Definitions: %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% xucchar "+"; beginchar("+", mxzw#+mxone#, mxone#, 0); if known cmbase: adjust_fit(0,0); fi pickup xuc_dash; lft z1 = (0, .5mxone); z2 = (x1+mxone, y1); draw z1--z2; z3 = (.5[x1, x2], 0); z4 = (x3, mxone); draw z3--z4; penlabels(range 1 thru 4); endchar; %% = %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% xucchar "Equals sign ="; beginchar("=", mxzw#+1.5mxone#, mxlittle#, 0); pickup xuc_dash; lft z1 = (0, 1.5mxthird); z2 = (x1+1.5mxone, y1); z3 = (x1, 2.5mxthird); z4 = (x2, y3); draw z1--z2; draw z3--z4; penlabels(range 1 thru 4); endchar; %% / %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% xucchar "Slash /"; beginchar("/", mxzw#+1.5mxone#, mxlittle#, 0); pickup xuc_dash; z1 = (0,0); z2 = (1.5mxone, mxheight); draw z1--z2; penlabels(1,2); endchar; %% \ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% xucchar "Backslash \ "; beginchar("\", mxzw#+1.5mxone#, mxlittle#, 0); pickup xuc_dash; z1 = (0,mxheight); z2 = (1.5mxone, 0); draw z1--z2; penlabels(1,2); endchar; %% - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% xucchar "-"; beginchar("-", mxzw#+mxone#, mxlittle#, 0); pickup xuc_dash; lft z1 = (0, mxmiddle); z2 = (x1+mxone, y1); draw z1--z2; penlabels(range 1 thru 2); endchar; %% -- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% xucchar "-- (123)"; beginchar(123, mxzw#+1.5mxone#, mxlittle#, 0); pickup xuc_dash; lft z1 = (0, mxmiddle); z2 = (x1+1.5mxone, y1); draw z1--z2; penlabels(range 1 thru 2); endchar; %% --- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% xucchar "--- (124)"; beginchar(124, mxzw#+2mxone#, mxlittle#, 0); pickup xuc_dash; lft z1 = (0, mxmiddle); z2 = (x1+2mxone, y1); draw z1--z2; penlabels(range 1 thru 2); endchar; %% . %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% xucchar "Period ."; beginchar(".", mxzw#+mxhalf#, mxlittle#, 0); pickup xuc_dot; bot lft z1 = (0, 0); drawdot z1; penlabels(1); endchar; %% : %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% xucchar "Colon :"; beginchar(":", mxzw#+mxhalf#, mxlittle#, 0); pickup xuc_dot; lft z1 = (0, mxthird); lft z2 = (0, 2.5mxthird); drawdot z1; drawdot z2; penlabels(range 1 thru 2); endchar; %% ; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% xucchar "Semicolon ;"; beginchar(";", mxzw#+pdot#, mxlittle#, .6mxlow#); pickup xuc_dot; bot lft z1 = (0, 0); z4 = (x1, y1+.5mxlittle); drawdot z1; drawdot z4; xuc_comma(1); penlabels(range 1 thru 4); endchar; %% , %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% xucchar "Comma ,"; beginchar(",", mxzw#+pdot#, mxlittle#, .6mxlow#); pickup xuc_dot; bot lft z1 = (0, 0); drawdot z1; xuc_comma(1); penlabels(range 1 thru 3); endchar; %% ' %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% xucchar "Apostroph '"; beginchar("'", mxzw#+pdot#, mxheight#, 0#); pickup xuc_dot; lft z1 = (0, mxheight); drawdot z1; xuc_comma(1); penlabels(range 1 thru 3); endchar; %% ? %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% xucchar "Question mark ?"; beginchar("?", mxzw#+mxone#, mxheight#, 0); pickup xuc_dot; bot z1 = (mxhalf, 0); drawdot z1; pickup xuc_punctpen; z2 = (0, mxheight-.5mxtop); z3 = (x1, mxheight); z4 = (mxone, y2); z5 = (x1, mxmiddle); z6 = (x5, 1.2mxthird); draw z2{up}..{right}z3..{down}z4..{down}z5--z6; penlabels(1,2,3,4,5); endchar; %% ! %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% xucchar "Exclamation mark !"; beginchar("!", mxzw#+.5mxhalf#, mxheight#, 0); pickup xuc_dot; bot lft z1 = (0, 0); drawdot z1; z2 = (x1, mxheight-.5pdot); penpos2(pdot, 0); drawdot z2; z3 = (x1, mxmiddle); penpos3(.18mxu, 0); penstroke z2e..z3e; penlabels(1,2,3); endchar; %% ( %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% xucchar "Left parenthesis ("; beginchar("(", mxzw#+mxhalf#, 1.1mxheight#, .1mxheight#); z1 = (.5pdot+mxhalf, 1.1mxheight); penpos1(.18mxu, 0); z3 = (x1, -.1mxheight); penpos3(.18mxu, 0); z2 = (.5pdot, .5[y1, y3]); penpos2(pdot, 0); penstroke z1e..z2e..z3e; penlabels(range 1 thru 4); endchar; %% ) %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% xucchar "Right parenthesis )"; beginchar(")", mxzw#+mxhalf#, 1.1mxheight#, .1mxheight#); z1 = (0, 1.1mxheight); penpos1(.18mxu, 0); z3 = (x1, -.1mxheight); penpos3(.18mxu, 0); z2 = (mxhalf, .5[y1, y3]); penpos2(pdot, 0); penstroke z1e..z2e..z3e; penlabels(range 1 thru 4); endchar; %% [ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% xucchar "Left bracket ["; beginchar("[", mxzw#+mxhalf#, 1.1mxheight#, .1mxheight#); pickup xuc_square; z1 = (mxhalf, -.1mxheight); z2 = (0, y1); z3 = (0, 1.1mxheight); z4 = (x1, y3); draw z1--z2--z3--z4; penlabels(range 1 thru 4); endchar; %% ] %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% xucchar "Right bracket ]"; beginchar("]", mxzw#+mxhalf#, 1.1mxheight#, .1mxheight#); pickup xuc_square; z1 = (0, -.1mxheight); z2 = (mxhalf, y1); z3 = (x2, 1.1mxheight); z4 = (0, y3); draw z1--z2--z3--z4; penlabels(range 1 thru 4); endchar; %endinput;