% dxaccent.mf
%
% (c) Copyright 1995, 1996 J"org Knappen
% (c) Copyright 1990, 1992 Norbert Schwarz
%
% This file is part of dcfonts version 1.3
%
% Please read the files 00readme.txt, 00inst.txt, 00error.txt, and
% copyrite.txt for further information
%
% You find some documentation in dcdoc.tex (needs LaTeX2e)
%
% Content:
%
% Accents (for lowercase letters)
%
version_check(0,9);  % |version_check| was introduced in dc1.3

dcchar"Grave accent";
beginchar_twice(oct"0",9u#,x_height#,0); % |put_gravis| changes the height
adjust_fit(0,0);
put_gravis;
repeat_once;
endchar;

dcchar"Acute accent"; % using acute from plfonts
beginchar_twice(oct"1",9u#,x_height#,0); % |put_accent| changes the height
italcorr h#*slant-if serifs: 1.5 fi u#;
adjust_fit(0,0);
put_accent;
repeat_once;
endchar;

dcchar"Circumflex (hat) accent";
beginchar(oct"002",9u#,x_height#+acc_height#,0);
lowercase_hat(.5w,0,1,2,3,4,5);
penlabels(0,1,2,3,4); endchar;

dcchar"Tilde (squiggle) accent";
beginchar(oct"003",9u#,x_height#+acc_height#,0);
italcorr h#*slant-u#;
adjust_fit(0,0);
lowercase_tilde(0,0 if variant_g: -1/6acc_height fi,1,2,3,4,5);
penlabels(1,2,3,4,5); endchar;

dcchar"Umlaut (double dot) accent";
beginchar(oct"004",9u#,lc_trema_height#,0);
%udot_diam=max(tiny.breadth,hround(max(dot_size,cap_curve)-2stem_corr));
italcorr h#*slant+.5udot_diam#-2.25u#;
adjust_fit(0,0);
lowercase_umlaut(0,0,1,2,3,4);penlabels(1,2,3,4); endchar;

dcchar"Double acute accent (Long Hungarian umlaut accent)";
beginchar_twice(oct"005",9u#,x_height#+acc_height#,0); 
italcorr h#*slant-u#;
adjust_fit(0,0);
if monospace: hpos_corr=-2u; put_accent; hpos_corr=2u; put_accent;
else: hpos_corr=-1.5u; put_accent; hpos_corr=1.5u; put_accent; fi
repeat_once;
endchar;

dcchar"Scandinavian circle accent";
beginchar(oct"006",13u#+4/3acc_height#*slant,x_height#+acc_height#,0);
adjust_fit(cap_serif_fit#,cap_serif_fit#);
lowercase_circle(.5w,vround(1/3[x_height,h]+apex_o),1,2,3,4);
penlabels(1,2,3,4); endchar;

dcchar"Hachek (check) accent";
beginchar(oct"007",9u#,x_height#+acc_height#,0);
lc_hachek_accent(.5w);
endchar;

dcchar"Breve accent";
beginchar(oct"10",9u#,x_height#+acc_height#,0);
italcorr h#*slant+.5vair#-1.5u#;
adjust_fit(0,0);
lowercase_breve(.5w,0,1,2,3);
penlabels(1,2,3); endchar;

dcchar"Macron (bar) accent";
beginchar(oct"011",9u#,lc_trema_height#,0);
italcorr h#*slant-.75u#;
adjust_fit(0,0);
numeric macron_breadth; macron_breadth:=Vround .2[vair,stem];
pickup if serifs: crisp.nib else: fine.nib fi;
pos1(macron_breadth,90); pos2(macron_breadth,90);
top y1r=top y2r=h+o; lft x1=w-rt x2=hround 1.25u;
filldraw stroke z1e--z2e;  % bar
penlabels(1,2); endchar;

dcchar"Dot accent";
beginchar_twice(oct"012",5u#,x_height#+acc_height#,0); 
italcorr h#*slant+.5idot_diam#-2u#;
adjust_fit(0,0);
put_dot(tiny,max(dot_size#,cap_curve#));
repeat_once;
penlabels(1,2); endchar;

dcchar"Cedilla accent";
beginchar(oct"013",8u#,0,.875desc_depth#);
adjust_fit(0,0);
lowercase_cedilla(.5w,0,1,2,3,4,5);
penlabels(1,2,3,4,5); endchar;

dcchar"Ogonek";
beginchar(oct"014",5u#,0,desc_depth#);
italcorr 0;
adjust_fit(0,0);
ogon_one   := 1;
ogon_two   := 2;
ogon_three := 3;
if serifs:
 x[ogon_one]r=0.7w;
 %+outer_jut;
else:
 x[ogon_one]r=0.6w;
fi
 pickup crisp.nib;
 pos[ogon_one](
    if 0.9vair>currentbreadth: 0.9vair else: currentbreadth+eps fi,-60);
 pos[ogon_two](stem,0);
 pos[ogon_three](vair,145);
 x[ogon_two]=x[ogon_one]-2.5u if monospace: /expansion_factor fi ;
 x[ogon_three]=x[ogon_one]+0.5u if monospace: /expansion_factor fi;
 bot y[ogon_one]r = 0;
 bot y[ogon_three]=0.5(-d-o);  %0.4
 bot y[ogon_two]=0.5(-d-o);
 filldraw stroke z[ogon_one]e{dir 225}...
   z[ogon_two]e{dir -110}...{dir 60}z[ogon_three]e;  % hook
penlabels(1,2,3); endchar;

endinput;
