summaryrefslogtreecommitdiff
path: root/language/telugu/telparam.mf
blob: 74cb3f0efe0254690adc6f293355812a3f266fe4 (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
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
% This file is part of the TeluguTeX Software Package.
%Copyright (c) 1991 Lakshmankumar Mukkavilli
%
%The TeluguTeX Software Package is distributed in the hope that
%it will be useful,but WITHOUT ANY WARRANTY.  No author or distributor
%accepts responsibility to anyone for the consequences of using it
%or for whether it serves any particular purpose or works at all,
%unless he says so in writing.  Refer to the TeluguTeX Software Package
%General Public License for full details.
%
%Everyone is granted permission to copy, modify and redistribute
%the TeluguTeX Software Package, but only under the conditions described in the
%TeluguTeX Software Package General Public License.   A copy of this license is
%supposed to have been given to you along with TeluguTeX Software Package so you
%can know your rights and responsibilities.  It should be in a
%file named CopyrightLong.  Among other things, the copyright notice
%and this notice must be preserved on all copies.  
%%%%%%%%
% This file contains various parameters used in making a font
%  for telugu. Many of the parameters are used in several places.
%  Before changing anything here you should be very clear about
%  the possible impact.
%
input telbase                             % read basefile

font_identifier :="TELUGU";

% parameters

u#:=designsize/18;                         % unit width
v#:=designsize;                            % total height
uh#:=v#/18;                                % unit height
top_shoulder:=2/36;                        % top shoulder proportion
bot_shoulder:=2/36;                        % bottom shoulder proportion
xheight:=15/36;                            % x height proportion
ascheight:=10/36;                          % ascender height proportion
desdepth:=7/36;                            % descender depth proportion
figheight:=6/36;                           % height of roman digits

em_width#:=18u#;                           % same as font_quad

asc_height#:=(ascheight+xheight)*v#;
des_depth#:=desdepth*v#;
x_height#:=xheight*v#;
bot_depth#:=(bot_shoulder+desdepth)*v#;
top_height#:=(top_shoulder+ascheight+xheight)*v#;
fig_height#:=(figheight+xheight)*v#;       % height of roman digits
tfig_width#:=7.5u#;                        % width of telugu digits
tfig_height#:=x_height#;                   % height of telugu digits

asc_height1#:=(1/3ascheight+xheight)*v#;
asc_height2#:=(2/3ascheight+xheight)*v#;

j_height#:=2/3x_height#;                  % height of bowls in ja,ta etc
c_height#:=1/3x_height#;                  % height of circle in ma, va etc
% c_height is used to draw small circles. If we use a wide pen then the circle
% may not be clearly visible. Hence the following statement.
if c_height# < (3.2*pen_width#):c_height#:=3.2pen_width#; fi;
w_height#:=1/3x_height#;                  % height of wedge in da,ta etc
ascunit#:=1/6(asc_height#-x_height#);     % a unit for acsender area
vmwidth#:=7u#;                            % width of vowel modifiers
top_accent#:=1.5uh#;                      % base for accents that appear at top
bot_accent#:=1.5uh#;                      % base for accents that appear below
cc_scale:=0.7;                            % scale factor for consonant conjuncts
ccwidth#:=vmwidth#;                       % width of co.conjuncts that appear on                                          %    the side
dot_radius#:=u#;                          % radius of dot
wedge_height#:=x_height#/4;               % height of wedge (in dha, uu etc)
wedge_depth#:=4/9des_depth#;              % depth of wedge(in dha,uu etc)
sc_height#:=1/6x_height#;                 % misc. usage

v_a_width#:=10u#;                         % width of vowel a
v_e_width#:=7.5u#;                        % width of vowel e
v_u_width#:=8u#;                          % width of vowel u (like dda no hat
v_lo_width#:=11u#;                        % width of vowel lo(inverted ja)
v_ea_width#:=6u#;                         % width of vowel ea(like va without 
v_i_width#:=7u#;                          % width of vowel i

vm_a_width#:=5u#;                         % width of vowel modifier a
vm_e_width#:=4u#;                         % width of vowel modifier e
vm_e_height1#:=asc_height2#;              % height of vowelmodifier e (used
                                          %  with certain consonants kha,cha,
                                          %  ccha,ja,ta,na,ba,bha,ma,la,va etc)
vm_e_height2#:=5/6x_height#;              % vowel mod. e for ra,ga.da sits
vm_e_height3#:=(1/2ascheight+xheight)*v#; %   between vm_e_height2 and 3
vm_u_width#:=5u#;                         % width of ubowl (attached to letter
vm_ro_width#:=6u#;                        % width of vowel modifier ro
vm_ao_width#:=8u#;                        % width of vowel modifier ao
vm_aoo_width#:=vm_ao_width#+1.5u#;            % width of vowel modifier aoo

cb_ka_width#:=6u#;                        % width of ka
cb_kha_width#:=7.5u#;                     % width of kha
cb_ga_width#:=6u#;                        % width of ga
cb_cha_width#:=9u#;                       % width of cha 
cb_ja_width#:=7.5u#;                      % width of ja
cb_tta_width#:=10.5u#;                     % width of tta
cb_nna_width#:=10u#;                      % width of nna
cb_ta_width#:=8u#;                        % width of ta
cb_da_width#:=9.0u#;                      % width of da
cb_na_width#:=7.5u#;                      % width of na
cb_ba_width#:=7.5u#;                      % width of ba
cb_ya_width#:=10u#;                       % width of ya (without bowl)
cb_ra_width#:=6u#;                        % width of ra 
cb_la_width#:=9u#;                        % width of la
cb_lla_width#:=6u#;                       % width of lla
cb_va_width#:=7.5u#;                      % width of va
cb_ca_width#:=5u#;                        % width of ca
cb_sha_width#:=cb_va_width#+1.5u#;        % width of sha
cb_ksha_width#:=cb_ka_width#;             % width of ksha
cb_ksha_depth#:=des_depth#;               % floor of ksha
cb_np_width#:=ccwidth#;                   % width of nakarapollu
cb_vg_width#:=ccwidth#;                   % width of valapalagilaka

cv_pu_width#:=cb_va_width#+2u#;           % width of u modifier for pa
cv_pu_depth#:=1.5uh#;                     % depth of u modifier for pa

p_comma_width#:=2dot_radius#+u#;          % width of comma
half_plus_width#:=cb_ja_width#/2;         % width of symbol like truncated +

% ul#, ur# indicate the amount of white space that is added 
% to a symbol. Following are the criteria used to add space
% consonant base, vowels   - none    
% punctuation,digits - on right
% consonant conjuncts that appear below,vowel modifiers that appear
%       above/below    - none
% accents that appear below/above  - none
% consonant conjuncts that appear on the side  - on left
% vowel modifiers for u, uu  - none
% vowel modifiers for ro, roo - on left
% While composing Telugu text using TeX, space is added after a syllable
% by the macros that build a syllable.
ul#:=2u#;                                 % white space (on left)
ur#:=2u#;                                 % white space (on right)


generate telugu;                          % switch to driver files