summaryrefslogtreecommitdiff
path: root/language/turkish/mf/aynhmz.mf
blob: efbf569bd736c59f214ca4436ab548329ae58284 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
% Ayn and Hamza (smooth and rough breathing) for Computer Modern 
% These letters were originally coded by P. A. MacKay in December, 1986,

% Ayn and Hamza are based on the comma supplied in {\tt cmbase.mf}, 
% but the jut is increased, the tail is tucked in more tightly, and the
% bulb is uppermost in both cases. Ayn is NOT the mirror image of Hamza in
% slanted or italic fonts, thanks to a little magic with |currenttransform|.

% Character codes \0043 and \0100 are generated.

% if |izafet_dot| is known, character \0175 (dot at |bar_height|) is generated
if unknown accsub: input accsub fi % needed for |izafet_dot|

newinternal pslant,nslant; pslant:=slant; nslant:=-slant;

cmchar "Rough breathing or `Ayn";
beginchar(oct"043",5u#,min(asc_height#,10/7x_height#),0); % height of i-dot
italcorr asc_height#*slant+.5dot_size#-2u#;
adjust_fit(0,0);
currenttransform:=identity slanted nslant
 yscaled aspect_ratio scaled granularity; % build italic with reverse slant
x1-.325dot_size=hround(.5w-.325dot_size); y1+.325dot_size=h; % smaller bulb
if monospace: comma(1,a,.65dot_size,.35u,vround .85comma_depth);  % large comma
else: comma(1,a,.65dot_size,1.6u,.85comma_depth); fi  % comma; increased jut
currentpicture:=currentpicture reflectedabout ((.5[l,r],h),(.5[l,r],0));
currenttransform:=identity slanted pslant
 yscaled aspect_ratio scaled granularity; % restore normal font slant
penlabels(1); endchar;

cmchar "Smooth breathing or Hamza";
beginchar(oct"100",5u#,min(asc_height#,10/7x_height#),0); % height of i-dot
italcorr asc_height#*slant+.5dot_size#-2u#;
adjust_fit(0,0);
x1-.325dot_size=hround(.5w-.325dot_size); y1+.325dot_size=h; % smaller bulb
if monospace: comma(1,a,.65dot_size,.35u,vround .85comma_depth);  % large comma
else: comma(1,a,.65dot_size,1.6u,.85comma_depth); fi  % comma; increased jut
penlabels(1); endchar;

iff known izafet_dot: cmchar "Period raised to bar height";
dot_sharp_values;
beginchar(izafet_dot,4.5u#,x_height#,0);
adjust_fit(0,0); pickup fine.nib;
define_whole_blacker_pixels(dot_diam);
pos1(dot_diam,0); pos2(dot_diam,90);
lft x1l=hround(.5w-.5dot_diam); 
y1+.5dot_diam=vround(bar_height+.5dot_diam);
z1=z2; dot(1,2); penlabels(1,2); endchar;