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
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
|
% This file is part of the KannadaTeX Software Package.
%Copyright (c) 1991 G.S. Jagadeesh & Venkatesh. Gopinath.
%
%Author: Modified from TeluguTex by, GS. Jagadeesh & Venkatesh Gopinath.
%The KannadaTeX 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 KannadaTeX Software Package
%General Public License for full details.
%
%Everyone is granted permission to copy, modify and redistribute
%the KannadaTeX Software Package, but only under the conditions described in the
%KannadaTeX Software Package General Public License. A copy of this license is
%supposed to have been given to you along with KannadaTeX 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 kannada. Many of the parameters are used in several places.
% Before changing anything here you should be very clear about
% the possible impact.
%
%
input kanbase % read basefile
font_identifier :="KANNADA";
% 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
%font_quad em_width#;
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
kfig_width#:=7.5u#; % width of kannada digits
kfig_height#:=x_height#; % height of kannada 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
j_height#:=.6x_height#; % height of bowls in ja,ta etc
c_height#:=1/3x_height#; % height of circle in ma, pa 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.65; % 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#:=10u#; % width of vowel u (like dda no hat
v_uu_width#:=13u#; % 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 pa without
v_i_width#:=7u#; % width of vowel i
v_ro_width#:=4.5u#; % width of vowel ro
vm_ah_width# :=4u#;
vm_ah_height# :=3u#;
vm_a_width#:=2u#; % width of vowel modifier a
vm_aa_width#:=6u#; % width of vowel modifier aa
vm_e_width#:=4u#; % width of vowel modifier e
vm_ee_width#:=4u#; % width of vowel modifier e
vm_e_height1#:=asc_height2#; % height of vowelmodifier e (used
vm_ea_width# := 2u#;
vm_ea1_width# := 8u#;
vm_ea_height# := 2u#;
vm_e_height2#:=5/6x_height#; % vowel mod. e for ra,ga.da sits
vm_e_heightx#:=(1/2ascheight+xheight)*v#; % between vm_e_height2 and 3
% with certain consonants kha,cha,
% ccha,ja,ta,na,ba,bha,ma,la,va etc)
vm_u_width#:=4.5u#; % width of ubowl (attached to letter
vm_uu_width#:=8u#; % width of uubowl (attchd to lett).
vm_ro_width#:=6u#; % width of vowel modifier ro
vm_y_width#:=6u#; % width of vowel modifier ro
vm_bar_width#:=4u#; % 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
vm_au_width#:=8u#; % width of vowel modifier ao
vm_e_width1#:=3u#; % width of vowel modifier e
vm_e_heightj#:=2.25u#; % height of vowel modifier e
%vm_e_width#:=3u#; % width of vowel modifier ao
%vm_e_height#:=2u#; % width of vowel modifier ao
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_tta_width#:=7.5u#; % width of tta
cb_nna_width#:=9u#; % width of nna
cb_ta_width#:=7u#; % width of ta
cb_da_width#:=9.0u#; % width of da
cb_ha_width#:=9.0u#; % width of da
cb_na_width#:=7u#; % 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_rra_width#:=9u#; % width of rra
cb_la_width#:=9u#; % width of la
cb_lla_width#:=6u#; % width of lla
cb_pa_width#:=7.5u#; % width of pa
cb_ca_width#:=5.5u#; % width of ca
cb_sha_width#:=cb_pa_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_pa_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 Kannada 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 kannada; % switch to driver files
% Font Dimensions
font_slant slant;
font_x_height x_height#;
font_normal_space 6u#;
font_normal_stretch 3u#;
font_normal_shrink 2u#;
font_quad em_width#;
font_extra_space 2u#;
%ligature and kern information
%ligtable "'": "'" =: p_cquotes_code; % close quotes
%ligtable "`": "`" =: p_oquotes_code; % open quotes
%ligtable "-": "-" =: p_lhyphen_code; % en dash
%ligtable p_lhyphen_code: "-" =: p_vlhyphen_code; % em dash
%if not testing: expandafter stop fi;
|