diff options
author | Norbert Preining <norbert@preining.info> | 2019-09-02 13:46:59 +0900 |
---|---|---|
committer | Norbert Preining <norbert@preining.info> | 2019-09-02 13:46:59 +0900 |
commit | e0c6872cf40896c7be36b11dcc744620f10adf1d (patch) | |
tree | 60335e10d2f4354b0674ec22d7b53f0f8abee672 /language/telugu/telchars1.mf |
Initial commit
Diffstat (limited to 'language/telugu/telchars1.mf')
-rw-r--r-- | language/telugu/telchars1.mf | 1061 |
1 files changed, 1061 insertions, 0 deletions
diff --git a/language/telugu/telchars1.mf b/language/telugu/telchars1.mf new file mode 100644 index 0000000000..b811a07551 --- /dev/null +++ b/language/telugu/telchars1.mf @@ -0,0 +1,1061 @@ +% 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 code to generate vowels, vowel modifiers, +% consonant bases, consonant conjuncts and accents + +stest(va); telchar "vowel a"; +begintchar(v_a_code,v_a_width#,x_height#,0,0,0,0); +v_a_form; +sketch z10..z11..z1..z3..z4..z5..z6..z7--z8; +endtchar; etest; + +stest(vaa); telchar "vowel aa"; +begintchar(v_aa_code,v_a_width#,x_height#,0,0,0,0); +v_a_form; +sketch z10..z11..z1..z3..z4..z2 &z2{(0,1)}..{up}z12..z6..z5..{left}z7--z8; +endtchar; etest; + +stest(ve); telchar "vowel e"; +begintchar(v_e_code,v_e_width#,x_height#,des_depth#,0,0,0); +v_e_form; +d:=abs(bot y10); +endtchar; etest; + +stest(vee); telchar "vowel ee"; +begintchar(v_ee_code,cb_ra_width#+4u#,asc_height#,0,0,0,0); +cb_ra_form; +z10=top z1; +vm_a_form(1); +currentpicture := currentpicture shifted (u,0); +z6 = (0,1/2x_height); +barandhook_form(6,w,8); +endtchar; etest; + +stest(vu); telchar "vowel u"; +begintchar(v_u_code,v_u_width#,asc_height#,0,0,0,0); +v_u_form; +barandhook_form(7,v_u_width,1); z20=0.5[z8,z9]; +vwedge(20); +h:=top y20a; +endtchar; etest; + +stest(vuu); telchar "vowel uu"; +begintchar(v_uu_code,v_u_width#+2.5u#,asc_height#,0,0,0,0); +v_u_form; +barandhook_form(7,w-x7,8); vwedge(8); vwedge(9); +h:=top y8a; +endtchar; etest; + +stest(vro); telchar "vowel ro"; +begintchar(v_ro_code,cb_ba_width#+2vm_u_width#,x_height#,0,0,0,0); +cb_ba_form; +vm_u_form(8); +vm_u_form(8b); +w:=rt x8b.b; +endtchar; etest; + +stest(vroo); telchar "vowel roo"; +begintchar(v_roo_code,cb_ba_width#+2vm_u_width#+vmwidth#,x_height#,0,0,0,0); +cb_ba_form; +vm_u_form(8); +z10=z8b; +vm_u_form(10); +z11=z10d; +barandhook_forma(11,vmwidth,5); +w:=rt x11b; +endtchar; etest; + +stest(vlo); telchar "vowel lo"; +begintchar(v_lo_code,v_lo_width#,x_height#,0,0,0,0); +v_lo_form; +endtchar; etest; + +stest(vloo); telchar "vowel loo"; +begintchar(v_loo_code,v_lo_width#+vmwidth#,x_height#,0,0,0,0); +v_lo_form; +barandhook_forma(9,vmwidth,5); +w:=rt x9b; +endtchar; etest; + +stest(vea); telchar "vowel ea"; +begintchar(v_ea_code,v_ea_width#,x_height#,0,0,0,0); +v_ea_form; +endtchar; etest; + +stest(veae); telchar "vowel eae"; +begintchar(v_eae_code,v_ea_width#,asc_height1#,0,0,0,0); +v_ea_form; +lft z10 = (0,5/6x_height); +z11 = (1/2v_ea_width,asc_height1); +sketch z10{up}..{right}z11; +h:=top y11; +endtchar; etest; + +stest(vi); telchar "vowel i"; +begintchar(v_i_code,v_i_width#,x_height#,0,0,0,0); +lit_cir_form; +bot z2=(x1+2u,0); rt z3=(v_i_width,1/2x_height); +top z4=(x2,x_height); z5=(x1,x_height-y1); top z6=(1/2x1,x_height); +lft z7=(0,y5); + sketch rt z1..z2..z3..z4..z5; + sketch z5..z6..z7; +endtchar; etest; + +stest(vao); telchar "vowel ao"; +begintchar(v_ao_code,cb_ja_width#,x_height#,0,0,0,0); +cb_ja_form; +endtchar; etest; + + +stest(vaoo); telchar "vowel aoo"; +begintchar(v_aoo_code,cb_ja_width#,x_height#,0,0,0,0); +cb_ja_form; +vm_hook_form(2,2); +endtchar; etest; + + +stest(vau); telchar "vowel au"; +begintchar(v_au_code,5/4cb_ja_width#,asc_height#,0,0,0,0); +cb_ja_form; +z12=top z2; +vm_au_form(12,w); +h:=top y12c; w:=rt x1000b; +endtchar; etest; + +%--------------------end of vowels------------------- +stest(vma); telchar "vowel modifier of a"; +begintchar(vm_a_code,vm_a_width#,asc_height#,0,0,0,0); +top z1=(2/5vm_a_width,x_height); vm_a_form(1); +pivot_message(x1); +endtchar; etest; + +stest(vmaa); telchar "vowel modifier of aa"; +begintchar(vm_aa_code,11u#,asc_height#,0,0,0,0); +top z1 = (0,x_height); +barandhook_form(1,w,5); +pivot_message((w/3)); +h:=top y1; +endtchar; etest; + +stest(vmaaa); telchar "vowel modifier of aa"; +% used for kha,nga,ja,nya etc. +begintchar(vm_aaa_code,8.3u#,asc_height#,0,0,0,0); +top z1 = (0,x_height); +barandhook_form(1,w,5); +pivot_message((1.6u),rt x1); +h:=top y1; +endtchar; etest; + +stest(vme); telchar "vowel modifier of e"; +begintchar(vm_e_code,vm_e_width#,asc_height#,0,0,0,0); +vm_e_form; +pivot_message(x2); +h:=top y7; +endtchar; etest; + +stest(vmee); telchar "vowel modifier of ee"; +begintchar(vm_ee_code,vm_e_width#,asc_height#,0,0,0,0); +vm_e_form; +vm_hook_form(7,3); +pivot_message(x2); +endtchar; etest; + +stest(vmeea); telchar "vowel modifier of ee"; +% Used with kha,cha,ccha,ja,ta,na,ba,bha,ma,la,lla,va etc. +begintchar(vm_eea_code,vm_e_width#,asc_height#,0,0,0,0); +% w and h are revised +top z1=(0,vm_e_height1); +vm_hook_form(1,3); w:=rt x1c; +pivot_message(x1); +endtchar; etest; + +stest(vmeeb); telchar "vowel modifier of ee"; +% Used with ra,ga and da(and its variations) +begintchar(vm_eeb_code,vm_e_width#,asc_height#,0,0,0,0); +% w and h are revised +top z1=(0,vm_e_height3); +vm_hook_form(1,3); w:=rt x1c; +pivot_message(x1); +endtchar; etest; + +stest(vmu); telchar "vowel modifier of u"; +begintchar(vm_u_code,vm_u_width#,x_height#,0,0,0,0); +rt z1 = (0,w_height); +vm_u_form(1); +w:=rt x1b; +pivot_message(x1d); +endtchar; etest; + +stest(vmuu); telchar "vowel modifier of uu"; +begintchar(vm_uu_code,vm_u_width#+vmwidth#-2.5u#,x_height#,0,0,0,0); +rt z1 = (0,w_height); +vm_u_form(1); +barandhook_forma(1d,vmwidth,5); +w:=rt x1d.b; +endtchar; etest; + +stest(vmro); telchar "vowel modifier of ro"; +begintchar(vm_ro_code,vm_ro_width#,x_height#,des_depth#,0,ul#,0); +vm_ro_form; +endtchar; etest; + +stest(vmroo); telchar "vowel modifier of roo"; +begintchar(vm_roo_code,vm_ro_width#+vmwidth#,x_height#,des_depth#,0,ul#,0); +vm_ro_form; +barandhook_forma(7,vmwidth,5); +w:=rt x7b; +endtchar; etest; + +stest(vmlo); telchar "vowel modifier of lo"; +begintchar(vm_lo_code,v_lo_width#,x_height#,0,0,0,0); +%w,h and d are revised later +v_lo_form; +cc_clear;cc_transform(v_lo_p);cc_whd(0,0); +pivot_message((x3*cc_scale)); +endtchar; etest; + +stest(vmloo); telchar "vowel modifier of loo"; +begintchar(vm_loo_code,v_lo_width#+vmwidth#,x_height#,0,0,0,0); +%w,h and d are revised later +v_lo_form; +barandhook_forma(9,vmwidth,5); +w:=rt x9b; +cc_clear;cc_transform(v_lo_p);cc_transform(barandhook_p);cc_whd(0,0); +pivot_message((x3*cc_scale)); +endtchar; etest; + +stest(vmea); telchar "vowel modifier of ea"; +begintchar(vm_ea_code,vmwidth#,asc_height#,0,0,0,0); +top z1 = (4/7w,x_height); +vm_ea_form(1,w); +pivot_message(x1a); +h:=top y1c; +endtchar; etest; + +stest(vmeae); telchar "vowel modifier of eae"; +begintchar(vm_eae_code,vmwidth#,asc_height#,0,0,0,0); +top z1 = (4/7w,x_height); +vm_ea_form(1,w); +z2 = z1b; +vm_hook_form(2,3); +pivot_message(x1a); +w:=rt x2c; +endtchar; etest; + +stest(vmib); telchar "vowel modifier of i(bottom)"; +%top of vm_i is same as vm_ea +begintchar(vm_i2_code,vmwidth#,0,des_depth#,0,0,0); +top z1=(0,0); +barandhook_form(1,w,5); erase sketch barandhook_p; +transform t; +t:= identity rotated 180 shifted (vmwidth,-(bot_accent+(top y1a - bot y1c))); +sketch barandhook_p transformed t; +pivot_message((w/2)); +d:=abs(ypart (top z1 transformed t)); +endtchar; etest; + +stest(vmao); telchar "vowel modifier of ao"; +begintchar(vm_ao_code,vm_ao_width#,asc_height#,0,0,0,0); +vm_ao_form(1,0);sketch vm_ao_pa; +sketch subpath(0,5) of vm_ao_pb; +pivot_message(x1a); +endtchar; etest; + +stest(vmaoo); telchar "vowel modifier of aoo"; +begintchar(vm_aoo_code,vm_aoo_width#,asc_height#,0,0,0,0); +vm_ao_form(1,0);sketch vm_ao_pa; % place the hook +sketch vm_ao_pb; +pivot_message(x1a); +w:=rt x1l; h:=top y1j; +endtchar; etest; + +stest(vmaooa); telchar "vowel modifier of aoo(alternate)"; +% This is basically a hook to be attached on top of ao modifier +begintchar(vm_aoo_code_a,0#,asc_height#,0,0,0,0); +vm_ao_form(1,0); % place the hook +sketch vm_ao_pb; erase sketch subpath (0,5) of vm_ao_pb; +numeric left_shift;left_shift:=x1i; +currentpicture := currentpicture shifted (-left_shift,0); +h:=top y1j;w:=(rt x1l)-left_shift; +pivot_message(x1i-left_shift); +endtchar; etest; + +stest(vmau); telchar "vowel modifier of au"; +begintchar(vm_au_code,vmwidth#+4u#,asc_height#,0,0,0,0); +z1 = (0,x_height); +vm_au_form(1,w); +pivot_message(x1,na); +w:=rt x1000b; h:=top y1c; +endtchar; etest; + + +stest(vmp); telchar "absence of vowel modifier(pollu)"; +begintchar(vm_p_code,cb_vg_width#,asc_height#,0,0,0,0); +top z1=(1/3w,x_height); top z2 = (1/5w,x_height); +z3=(x2,(x_height+asc_height)/2); z4=(w/2,y3); +top z5=(x2,h); top rt z6=(w,h); +sketch z1--z2{left}..{right}z3--z4; +sketch z3{left}..{right}z5--z6; +pivot_message(x1); +endtchar; etest; +%------------End of Vowel Modifiers------------------- + +stest(cbka); telchar "base of consonant ka"; +begintchar(cb_ka_code,cb_ka_width#,x_height#,0,0,0,0); +cb_ka_form; +sketch cb_ka_p; +pivot_message(x2,x2); +endtchar; etest; + +stest(cbkha); telchar "base of consonant kha"; +begintchar(cb_kha_code,cb_kha_width#,x_height#,wedge_depth#,0,0,0); +cb_kha_form; +pivot_message(x11,x5); +endtchar; etest; + +stest(cbga); telchar "base of consonant ga"; +begintchar(cb_ga_code,cb_ga_width#,x_height#,0,0,0,0); +cb_ga_form; +pivot_message(x3,x3); +endtchar; etest; + +stest(cbgha); telchar "base of consonant gha"; +begintchar(cb_gha_code,cb_va_width#+vm_u_width#,x_height#,wedge_depth#,0,0,0); +cb_va_form; +sketch subpath(0,3.4) of cb_va_p; +top z10=1/2[rt z1,z1]; +wedge(10); +vm_u_form(3); +w:=rt x3b; +pivot_message(x1,x1,x3d); +endtchar; etest; + +stest(cbnga); telchar "base of consonant nga"; +begintchar(cb_nga_code,cb_ja_width#,x_height#,0,0,0,0); +cb_ja_form; +half_plus_form(3); +pivot_message(x3c,x7); +endtchar; etest; + +stest(cbcha); telchar "base of consonant cha"; +begintchar(cb_cha_code,cb_cha_width#,x_height#,0,0,0,0); +cb_cha_form; +pivot_message(x8,x5); +endtchar; etest; + +stest(cbccha); telchar "base of consonant ccha"; +begintchar(cb_ccha_code,cb_cha_width#,x_height#,wedge_depth#,0,0,0); +cb_cha_form; +z10 = 1/2[rt z5,z5]; +wedge(10); +pivot_message(x8,x5); +endtchar; etest; + +stest(cbja); telchar "base of consonant ja"; +begintchar(cb_ja_code,cb_ja_width#,x_height#,0,0,0,0); +cb_ja_form; +sketch cb_ja_pb; +pivot_message(x3z,x7); +endtchar; etest; + +stest(cbjha); telchar "base of consonant jha"; +begintchar(cb_jha_code,cb_ra_width#+2vm_u_width#,x_height#,wedge_depth#,0,0,0); +cb_ra_form; +% The next statement will identify the point on ra_form +% where the bowl will be attached. +z5 = (cb_ra_p) intersectionpoint ((x1,w_height)--(x1+w,w_height)); +vm_u_form(5); +z6 = z5b; +wedge(6); +z7 = z6; +vm_u_form(7); +w:=rt x7b; +pivot_message(x1,x5,lft x7d); +endtchar; etest; + +stest(cbnya); telchar "base of consonant nya"; +begintchar(cb_nya_code,v_e_width#+half_plus_width#,x_height#,0,0,0,0); +v_e_form; +z14= v_e_p intersectionpoint ((x4,j_height)--(w,j_height)); +z15=z14; +half_plus_form(15); +pivot_message(x15c,x7); +w:=rt x15b;d:=abs(bot y10); +endtchar; etest; + +stest(cbtta); telchar "base of consonant tta"; +begintchar(cb_tta_code,cb_tta_width#,x_height#,0,0,0,0); +cb_tta_form; +vwedge(18); +sketch cb_tta_p; +pivot_message(x7,x4,x19); +h:=top y18a; +endtchar; etest; + +stest(cbttha); telchar "base of consonant ttha"; +begintchar(cb_ttha_code,cb_ra_width#,x_height#,0,0,0,0); +cb_ra_form; +z10 = (x1,1/2x_height); +fill_dot(10); +pivot_message(x1,x1); +endtchar; etest; + +stest(cbdda); telchar "base of consonant dda"; +begintchar(cb_dda_code,v_u_width#,x_height#,0,0,0,0); +v_u_form; +pivot_message((x8+x9)/2,x5); +endtchar; etest; + +stest(cbddha); telchar "base of consonant ddha"; +begintchar(cb_ddha_code,v_u_width#,x_height#,wedge_depth#,0,0,0); +v_u_form; +z12=3/4[rt z5,z5]; +wedge(12); +pivot_message((x8+x9)/2,x5); +endtchar; etest; + +stest(cbnna); telchar "base of consonant nna"; +begintchar(cb_nna_code,cb_nna_width#,x_height#,0,0,0,0); +cb_nna_form; +pivot_message(x7,x6); +endtchar; etest; + +stest(cbta); telchar "base of consonant ta"; +begintchar(cb_ta_code,cb_ta_width#,x_height#,0,0,0,0); +cb_ta_form; + sketch cb_ta_p; +pivot_message(x10,x5); +endtchar; etest; + +stest(cbtha); telchar "base of consonant tha"; +begintchar(cb_tha_code,cb_da_width#,x_height#,wedge_depth#,0,0,0); +cb_da_form; +wedge(4); +z10 = (x1,2/3x_height-uh); +fill_dot(10); +pivot_message(x1,x4); +endtchar; etest; + +stest(cbda); telchar "base of consonant da"; +begintchar(cb_da_code,cb_da_width#,x_height#,0,0,0,0); +cb_da_form; +pivot_message(x1,x4); +endtchar; etest; + +stest(cbdha); telchar "base of consonant dha"; +begintchar(cb_dha_code,cb_da_width#,x_height#,wedge_depth#,0,0,0); +cb_da_form; +wedge(4); +pivot_message(x1,x4); +endtchar; etest; + +stest(cbna);telchar "base of consonant na"; +begintchar(cb_na_code,cb_na_width#,x_height#,0,0,0,0); +cb_na_form; +sketch cb_na_p; +pivot_message(x6,x6); +endtchar; etest; + +stest(cbpa); telchar "base of consonant pa"; +begintchar(cb_pa_code,cb_va_width#,x_height#,0,0,0,0); +cb_va_form; +sketch subpath(0,3.4) of cb_va_p; +pivot_message(x1,x1); +endtchar; etest; + +stest(cbpha); telchar "base of consonant pha"; +begintchar(cb_pha_code,cb_va_width#,x_height#,wedge_depth#,0,0,0); +cb_va_form; +sketch subpath(0,3.4) of cb_va_p; +top z10 = 1/2[rt z1,z1]; +wedge(10); +pivot_message(x1,x1); +endtchar; etest; + +stest(cbba); telchar "base of consonant ba"; +begintchar(cb_ba_code,cb_ba_width#,x_height#,0,0,0,0); +cb_ba_form; +pivot_message(x9,x6); +endtchar; etest; + +stest(cbbha); telchar "base of consonant bha"; +begintchar(cb_bha_code,cb_ba_width#,x_height#,wedge_depth#,0,0,0); +cb_ba_form; +wedge(6); +pivot_message(x9,x6); +endtchar; etest; + +stest(cbma); telchar "base of consonant ma"; +begintchar(cb_ma_code,cb_va_width#+vm_u_width#,x_height#,0,0,0,0); +cb_va_form; +sketch cb_va_p; +vm_u_form(3); +w:=rt x3b; +pivot_message(x5,x1,x3d); +endtchar; etest; + +stest(cbya); telchar "base of consonant ya"; +begintchar(cb_ya_code,cb_ya_width#+vm_u_width#,x_height#,0,0,0,0); +cb_ya_form; + sketch z1..z2..z3..z4..cycle; + sketch z3{down}..{right}z5..z6..z7..z8; +vm_u_form(6); +w:=rt x6b; +pivot_message(x8,x3,x6d); +endtchar; etest; + +stest(cbra); telchar "base of consonant ra"; +begintchar(cb_ra_code,cb_ra_width#,x_height#,0,0,0,0); +cb_ra_form; +pivot_message(x1,x3); +endtchar; etest; + +stest(cbrra); telchar "base of consonant rra"; +begintchar(cb_rra_code,cb_tta_width#,x_height#,0,0,0,0); +cb_rra_form; +pivot_message(x7,x4,x19); +endtchar; etest; + +stest(cbla); telchar "base of consonant la"; +begintchar(cb_la_code,cb_la_width#,x_height#,0,0,0,0); +cb_la_form; + sketch cb_la_p; +pivot_message(x5,x3,x8); +endtchar; etest; + +stest(cblla); telchar "base of consonant lla"; +begintchar(cb_lla_code,cb_lla_width#,x_height#,0,0,0,0); + cb_lla_form; +pivot_message(x10,x1); +endtchar; etest; + +stest(cbva); telchar "base of consonant va"; +begintchar(cb_va_code,cb_va_width#,x_height#,0,0,0,0); +cb_va_form; +sketch cb_va_p; +pivot_message(x5,x1); +endtchar; etest; + +stest(cbca); telchar "base of consonant ca"; +begintchar(cb_ca_code,cb_ca_width#,x_height#,0,0,0,0); + cb_ca_form; +pivot_message(x6,x3,x10); +endtchar; etest; + +stest(cbsha); telchar "base of consonant sha"; +begintchar(cb_sha_code,cb_sha_width#,x_height#,wedge_depth#,0,0,0); +cb_va_form; +sketch subpath(0,3.4) of cb_va_p; +bot rt z25 = (cb_sha_width,-d); +sketch bot z3{down}..{right}z25; +pivot_message(x1,x1); +endtchar; etest; + +stest(cbsa); telchar "base of consonant sa"; +begintchar(cb_sa_code,cb_na_width#,x_height#,0,0,0,0); +cb_na_form; +sketch subpath (0,4.7) of cb_na_p; +pivot_message(x3,x6); +endtchar; etest; + +stest(cbha); telchar "base of consonant ha"; +begintchar(cb_ha_code,cb_va_width#+vmwidth#,x_height#,0,0,0,0); +cb_va_form; +z10 = point 3.6 of cb_va_p; +top z11 = (x10,x_height); +sketch subpath(0,3) of cb_va_p..z11; +barandhook_forma(11,vmwidth,5); +pivot_message(x5,x2,x11a); +w:=rt x11b; +endtchar; etest; + +stest(cbksha); telchar "base of consonant ksha"; +begintchar(cb_ksha_code,cb_ka_width#,x_height#,cb_ksha_depth#,0,0,0); +cb_ksha_form; +sketch cb_ka_p; +pivot_message(x2,x6); +endtchar; etest; + +stest(cbdt); telchar "dantyam accent(sits at top)"; +begintchar(cb_dt_code,vmwidth#,0,0,0,0,0); +% h is set later +top z1=(0,top_accent); +barandhook_form(1,w,5);erase sketch barandhook_p; +transform t; +t:=identity reflectedabout (top z1, top z1 + (w,0)); +sketch barandhook_p transformed t; +h:=ypart((bot z1c) transformed t); +pivot_message((w/2)); +endtchar; etest; + +stest(cbnp); telchar "consonant nakaarapollu(np)"; +begintchar(cb_np_code,cb_np_width#,x_height#,0,0,0,ur#); +bot z1 = (1/2w,0); +bot z2 = (1/5w,0); +z3 = (x2,1/3x_height); +z4 = (x1,y3); +z5 = (x3,2/3x_height); +z6 = (x1,y5); +top z7 = (x2,x_height); +top rt z8 = (w,x_height); +sketch z1--z2{left}..{right}z3--z4; +sketch z3{left}..{right}z5--z6; +sketch z5{left}..{right}z7--z8; +endtchar; etest; + +stest(cbvg); telchar "consonant valapalagilaka(vg)"; +begintchar(cb_vg_code,cb_vg_width#,x_height#,0,0,0,ur#); +bot z1 = (1/2w,0); +bot z2 = (1/5w,0); +z3 = (x2,1/3x_height); +z4 = (x1,y3); +top z5 = (x2,2/3x_height); +top rt z6 = (w,2/3x_height); +sketch z1--z2{left}..{right}z3--z4; +sketch z3{left}..{right}z5--z6; +h:=top y5; +endtchar; etest; + +stest(cbbb); telchar "consonant blackbox(bb)"; +%This is not really a letter in Telugu. However this character +% is useful for demonstrating vowel modifiers, cons. conjuncts, accents etc. +begintchar(cb_bb_code,0.2em_width#,0.8x_height#,0.25x_height#,0,0,0); +fill (0,-d)--(w,-d)--(w,h)--(0,h)--cycle; +pivot_message((w/2),(w/2)); +endtchar; etest; + +stest(cbbo); telchar "consonant outlinebox(bo)"; +%This is not really a letter in Telugu. However this character +% is useful for demonstrating vowel modifiers, cons. conjuncts, accents etc. +begintchar(cb_bo_code,0.2em_width#,x_height#,0,0,0,0); +bot lft z1=(0,-d);bot rt z2=(w,-d);top rt z3=(w,h); top lft z4=(0,h); +z1a=(0,y1);z2a=(w,y2);z3a=(w,y3);z4a=(0,y4); +sketch z1--z4; sketch z2--z3; sketch z1a--z2a; sketch z4a--z3a; +cutoff(z1a,180);cutoff(z2a,0);cutoff(z3a,0);cutoff(z4a,180); +pivot_message((w/2),(w/2)); +endtchar; etest; + +stest(cbbe); telchar "consonant emptybox(be)"; +%This is not really a letter in Telugu. However this character +% is useful for demonstrating vowel modifiers, cons. conjuncts, accents etc. +begintchar(cb_be_code,0.2em_width#,x_height#,0,0,0,0); +pivot_message((w/2),(w/2)); +endtchar; etest; +%----------------End of Consonants(Base)---------- + +stest(ccka); telchar "consonant conjunct of ka"; +begintchar(cc_ka_code,6u#,x_height#,des_depth#,0,ul#,0); +top lft z1 = (0,h); +z2 = (w/4,(-d+h)/2); +lft z3 = (0,-1/3d); +bot z4 = (1/3w,-d); +z5 = (w/2,0); +rt z6 = (w,0); +sketch z1..z2..z3..z4{right}..{up}z5--z6; +endtchar; etest; + +stest(cckha); telchar "consonant conjunct of kha"; +begintchar(cc_kha_code,cb_kha_width#,x_height#,0,0,0,0); +cb_kha_form; +cc_clear; cc_transform(cb_kha_p); +cc_transform(wedge_p);cc_whd(0,1); +pivot_message(x5*cc_scale); +endtchar; etest; + +stest(ccga); telchar "consonant conjunct of ga"; +begintchar(cc_ga_code,cb_ga_width#,x_height#,0,0,0,0); +cb_ga_form; +cc_clear; cc_transform(cb_ga_p);cc_whd(0,0); +pivot_message(x3*cc_scale); +endtchar; etest; + +stest(ccgha); telchar "consonant conjunct of gha"; +begintchar(cc_gha_code,cb_va_width#+vm_u_width#,x_height#,0,0,0,0); +cb_va_form; +sketch subpath(0,3.4) of cb_va_p; +top z10=1/2[rt z1,z1]; +wedge(10); +vm_u_form(3); +cc_clear; cc_transform(subpath(0,3.4) of cb_va_p); +cc_transform(lit_cir_p); +cc_transform(wedge_p);cc_transform(vm_u_p);cc_whd(0,1); +pivot_message(x1*cc_scale); +endtchar; etest; + +stest(ccnga); telchar "consonant conjunct of nga"; +begintchar(cc_nga_code,cb_ja_width#,x_height#,0,0,0,0); +cb_ja_form; +half_plus_form(3); +cc_clear; cc_transform(cb_ja_pa); +cc_transform(half_plus_pa); +cc_transform(half_plus_pb);cc_whd(0,0); +pivot_message(x7*cc_scale); +endtchar; etest; + +stest(cccha); telchar "consonant conjunct of cha"; +begintchar(cc_cha_code,cb_cha_width#,x_height#,0,0,ul#,0); +cb_cha_form; +cc_clear; cc_transform(((subpath (0,6) of cb_cha_p) .. z97)); +cc_whd(1,0); +endtchar; etest; + +stest(ccccha); telchar "consonant conjunct of ccha"; +begintchar(cc_ccha_code,cb_cha_width#,x_height#,0,0,ul#,0); +cb_cha_form; +z10 = 1/2[rt z5,z5]; +wedge(10); +cc_clear; cc_transform(((subpath (0,6) of cb_cha_p) .. z97)); +cc_transform(wedge_p);cc_whd(1,1); +endtchar; etest; + +stest(ccja); telchar "consonant conjunct of ja"; +begintchar(cc_ja_code,cb_ja_width#,x_height#,0,0,0,0); +cb_ja_form; +cc_clear; cc_transform(cb_ja_pa); +cc_transform(cb_ja_pb); cc_whd(0,0); +pivot_message(x7*cc_scale); +endtchar; etest; + +stest(ccjha); telchar "consonant conjunct of jha"; +begintchar(cc_jha_code,cb_ra_width#+2vm_u_width#,x_height#,0,0,0,0); +cb_ra_form; +% The next statement will identify the point on ra_form +% where the bowl will be attached. +z5=z4; +vm_u_form(5); +path p; p:=vm_u_p; +z6 = z5b; +wedge(6); +z7 = z6; +vm_u_form(7); +w:=rt x7b; +cc_clear; cc_transform(cb_ra_p); +cc_transform(p); cc_transform(vm_u_p); +cc_transform(wedge_p);cc_whd(0,1); +penlabels(5,6); +pivot_message(x5*cc_scale); +endtchar; etest; + +stest(ccnya); telchar "consonant conjunct of nya"; +begintchar(cc_nya_code,v_e_width#+half_plus_width#,x_height#,0,0,0,0); +v_e_form; +z14= v_e_p intersectionpoint ((x4,j_height)--(w,j_height)); +z15=rt z14; +half_plus_form(15); +w:=rt x15b;d:=abs(bot y10); +cc_clear; cc_transform(v_e_p); +cc_transform(half_plus_pa); +cc_transform(half_plus_pb);cc_whd(0,0); +d:=d+(abs(bot y10) - pen_width/2)*cc_scale + pen_width/2+bot_spill; +pivot_message(x7*cc_scale); +endtchar; etest; + +stest(cctta); telchar "consonant conjunct of tta"; +begintchar(cc_tta_code,cb_tta_width#,top_height#,0,0,0,0); +cb_tta_form; +vwedge(18); +cc_clear; cc_transform(cb_tta_p); cc_whd(0,0); +pivot_message(x4*cc_scale); +endtchar; etest; + +stest(ccttha); telchar "consonant conjunct of ttha"; +begintchar(cc_ttha_code,cb_ra_width#,x_height#,0,0,0,0); +cb_ra_form; +z10 = (x1,1/2x_height); +fill_dot(10); +cc_clear; cc_transform(cb_ra_p); +cc_f_transform(fill_dot_p);cc_whd(0,0); +pivot_message(x1*cc_scale); +endtchar; etest; + +stest(ccdda); telchar "consonant conjunct of dda"; +begintchar(cc_dda_code,v_u_width#,top_height#,0,0,0,0); +v_u_form; +cc_clear; cc_transform(v_u_p); cc_whd(0,0); +pivot_message(x5*cc_scale); +endtchar; etest; + +stest(ccddha); telchar "consonant conjunct of ddha"; +begintchar(cc_ddha_code,v_u_width#,x_height#,0,0,0,0); +v_u_form; +z12=3/4[rt z5,z5]; +wedge(12); +cc_clear; cc_transform(v_u_p); +cc_transform(wedge_p);cc_whd(0,1); +pivot_message(x5*cc_scale); +endtchar; etest; + +stest(ccnna); telchar "consonant conjunct of nna"; +begintchar(cc_nna_code,cb_nna_width#,x_height#,0,0,0,0); +cb_nna_form; +cc_clear; cc_transform(cb_nna_p);cc_whd(0,0); +pivot_message(x6*cc_scale); +endtchar; etest; + +stest(ccta); telchar "consonant conjunct of ta"; +begintchar(cc_ta_code,vmwidth#,0,0,0,0,0); +% d is set later +top z1=(0,0); barandhook_form(1,w,5); erase sketch barandhook_p; +sketch barandhook_p reflectedabout ( top z1, top z1+(w,0)) + shifted (0, (-bot_accent+ (bot y1c))); +d:=bot_accent- (bot y1c); +pivot_message((w/2)); +endtchar; etest; + +stest(cctha); telchar "consonant conjunct of tha"; +begintchar(cc_tha_code,cb_da_width#,x_height#,0,0,0,0); +cb_da_form; +wedge(4); +z10 = (x1,2/3x_height-uh); +fill_dot(10); +cc_clear; cc_transform(cb_da_p); +cc_transform(wedge_p); cc_f_transform(fill_dot_p); +cc_whd(0,1); +pivot_message(x4*cc_scale); +endtchar; etest; + +stest(ccda); telchar "consonant conjunct of da"; +begintchar(cc_da_code,cb_da_width#,x_height#,0,0,0,0); +cb_da_form; +cc_clear; cc_transform(cb_da_p); +cc_whd(0,0); +pivot_message(x4*cc_scale); +endtchar; etest; + +stest(ccdha); telchar "consonant conjunct of dha"; +begintchar(cc_dha_code,cb_da_width#,x_height#,0,0,0,0); +cb_da_form; +wedge(4); +cc_clear; cc_transform(cb_da_p); +cc_transform(wedge_p); +cc_whd(0,1); +pivot_message(x4*cc_scale); +endtchar; etest; + +stest(ccna); telchar "consonant conjunct of na"; +begintchar(cc_na_code,7u#,x_height#,des_depth#,0,ul#,0); +top lft z1 = (0,h); +z2 = (1/2w,(h-d)/2); +bot z3 = (1/4w,-d); +lft z4 = (0,-d+1/2sc_height); +z5 = (x3,y3+sc_height); +bot z6 = (3/4w,-d); +rt z7 = (w,y4); +sketch z1..z2..z3..z4..z5..z6..z7; +endtchar; etest; + +stest(ccpa); telchar "consonant conjunct of pa"; +begintchar(cc_pa_code,cb_va_width#,top_height#,0,0,ul#,0); +cb_va_form; +sketch subpath(0,3.4) of cb_va_p; +cc_clear; cc_transform(((subpath(0,2) of cb_va_p)..z97)); +cc_transform(lit_cir_p); +cc_whd(1,0); +endtchar; etest; + +stest(ccpha); telchar "consonant conjunct of pha"; +begintchar(cc_pha_code,cb_va_width#,x_height#,0,0,ul#,0); +cb_va_form; +sketch subpath(0,3.4) of cb_va_p; +top z10 = 1/2[rt z1,z1]; +wedge(10); +cc_clear; cc_transform(((subpath(0,2) of cb_va_p)..z97)); +cc_transform(lit_cir_p);cc_transform(wedge_p); cc_whd(1,1); +endtchar; etest; + +stest(ccba); telchar "consonant conjunct of ba"; +begintchar(cc_ba_code,cb_ba_width#,top_height#,0,0,ul#,0); +cb_ba_form; +cc_clear; cc_transform(((subpath(0,7) of cb_ba_p)..z97)); +cc_whd(1,0); +endtchar; etest; + +stest(ccbha); telchar "consonant conjunct of bha"; +begintchar(cc_bha_code,cb_ba_width#,x_height#,0,0,ul#,0); +cb_ba_form; +wedge(6); +cc_clear; cc_transform(((subpath(0,7) of cb_ba_p)..z97)); +cc_transform(wedge_p); cc_whd(1,1); +endtchar; etest; + +stest(ccma); telchar "consonant conjunct of ma"; +begintchar(cc_ma_code,6u#,x_height#,des_depth#,0,ul#,0); +rt z1=(w,-d+uh);bot z2=(w/2,-d); +lft z3=(0,-d/3); z4=(2/3w,x_height/5); +rt z5=(w,0); z6=(x4,-5/10d); +z7=(w/2,y5); z8=(2/3w,x_height/2); +top lft z9=(0,h); +sketch z1..z2..z3..z4..z5..z6..z7..z8..z9; +endtchar; etest; + +stest(ccya); telchar "consonant conjunct of ya"; +begintchar(cc_ya_code,6u#,x_height#,des_depth#,0,ul#,0); +lft z1 = (0,-1/3d); z2 = (w/4,0); z3 = (1/4w,-1/2d); +bot z4 = (1/3w,-d); z5 = (2/3w,0); z6 = (1/3w,j_height); +top z7 = (2/3w,h); rt z8=(w,y6); +sketch z1..z2..z3..z4..z5..z6..z7..z8; +endtchar; etest; + +stest(ccra); telchar "consonant conjunct of ra"; +begintchar(cc_ra_code,7u#,0,3.5uh#,0,0,0); +top lft z1=(0,-bot_accent); bot z2=(w/2,-d); top rt z3=(w,-bot_accent); +sketch z1..z2..z3; +pivot_message(x2); +endtchar; etest; + +stest(ccrra); telchar "consonant conjunct of rra"; +begintchar(cc_rra_code,cb_tta_width#,x_height#,0,0,0,0); +cb_rra_form; +cc_clear; cc_transform(cb_rra_p); cc_whd(0,0); +pivot_message(x4*cc_scale); +endtchar; etest; + +stest(ccla); telchar "consonant conjunct of la"; +begintchar(cc_la_code,7u#,0,4.5uh#,0,0,0); +path s,t; +bot z1=(w/4,-d); lft z2 =(0,-1/2d); top z3=(x1,-bot_accent); +top z4=(w/2,y2); +s= z1..z2..z3..z4; +t=s reflectedabout ((w/2,h),(w/2,-d)); +sketch s;sketch t; +pivot_message(x4); +endtchar; etest; + +stest(cclla); telchar "consonant conjunct of lla"; +begintchar(cc_lla_code,cb_lla_width#,asc_height#,0,0,ul#,0); + cb_lla_form; +cc_clear; cc_transform(((subpath (0,6) of cb_lla_pa)..z97)); +cc_transform(cb_lla_pb); cc_whd(1,0); +endtchar; etest; + +stest(ccva); telchar "consonant conjunct of va"; +begintchar(cc_va_code,6u#,x_height#,des_depth#,0,ul#,0); +lit_cir_form; erase sketch lit_cir_p; +transform t; +t= identity shifted (0,-d); +sketch lit_cir_p transformed t; +z10=z1 transformed t; +z2 = (0,y1); bot z3 = (2/3w,-d); rt z4 = (w,-1/2d); +z5 = (1/3w,w_height); top z6 = (2/3w,h); rt z7 = (w,j_height); +sketch z10..z3..z4..z5..z6..z7; +endtchar; etest; + +stest(ccca); telchar "consonant conjunct of ca"; +begintchar(cc_ca_code,cb_ca_width#,asc_height#,0,0,ul#,0); + cb_ca_form; +cc_clear; cc_transform(((subpath (0,6) of cb_ca_p){up}..z97)); cc_whd(1,0); +endtchar; etest; + +stest(ccsha); telchar "consonant conjunct of sha"; +begintchar(cc_sha_code,cb_sha_width#,x_height#,0,0,0,0); +cb_va_form; +sketch subpath(0,3.4) of cb_va_p; +bot rt z10 = (cb_sha_width,0); +sketch z3..z10; +cc_clear; cc_transform(subpath(0,3.4) of cb_va_p); +cc_transform(lit_cir_p); +cc_transform((z3..z10)); cc_whd(0,0); +pivot_message(x2*cc_scale); +endtchar; etest; + +stest(ccsa); telchar "consonant conjunct of sa"; +begintchar(cc_sa_code,cb_na_width#,x_height#,0,0,ul#,0); +cb_na_form; +sketch subpath (0,4.7) of cb_na_p; +cc_clear; cc_transform(((subpath (0,4) of cb_na_p)..z97)); cc_whd(1,0); +endtchar; etest; + +stest(ccha); telchar "consonant conjunct of ha"; +begintchar(cc_ha_code,cb_va_width#+vmwidth#-3.5u#,x_height#,0,0,0,0); +cb_va_form; +z10 = point 3.6 of cb_va_p; +top z11 = (x10,x_height); +sketch subpath(0,3) of cb_va_p..z11; +barandhook_forma(11,vmwidth,5); +cc_clear; cc_transform((subpath(0,3) of cb_va_p..z11)); +cc_transform(lit_cir_p); +cc_transform(barandhook_p); cc_whd(0,0); +pivot_message(x2*cc_scale); +endtchar; etest; + +% ---------- start of ubayaksharas ----------- + +stest(uas); telchar "accent ardhasunna"; +begintchar(u_ardhasunna_code,x_height#/2,x_height#,0,0,0,ur#); +top rt z2=(w,h); bot rt z1=(w,0); lft z3=(0,h/2); +sketch z1..z3..z2; +endtchar; etest; + +stest(us); telchar "accent sunna"; +begintchar(u_sunna_code,x_height#,x_height#,0,0,0,ur#); +top z2=(w/2,h); bot z1=(x2,0); +sketch z1..z2..cycle; +endtchar; etest; + +stest(uvi); telchar "accent visarga"; +begintchar(u_visarga_code,2/5x_height#,x_height#,0,0,0,ur#); +top z2 = (w/2,h); bot z1 =(x2,3h/5); +path puvi; +puvi= z1..z2..cycle; +sketch puvi; sketch puvi shifted (0,-2h/3); +endtchar; etest; + +stest(uav); telchar "accent ardhavisarga"; +begintchar(u_ardhavisarga_code,2/5x_height#,x_height#,0,0,0,ur#); +path puav; +top z2 = (w/2,h); bot z1 =(x2,3h/5); +puav = subpath (0.25,1.75) of (z1..z2..cycle); +sketch puav;sketch puav shifted (0,-2h/3); +endtchar; etest; + +stest(ua); telchar "accent avagraha"; +begintchar(u_avagraha_code,tfig_width#,x_height#,0,0,0,ur#); +top lft z1=(0,h); lft z2=(0,h/4); z3=(w/2,(y1+y2)/2); +bot lft z4=(0,0); bot rt z5=(w,0); +sketch flex (z1,z3,z2,z4)& z4--z5; +endtchar; etest; + +% ----------- end of ubhayaksharas ---------- + +% bars used for transliteration of vedic hymns + +stest(buone); telchar "b udatta(one bar)"; +begintchar(b_udatta1_code,u#,top_accent#+3uh#,0,0,0,0); +bot z1=(w/2,top_accent); top z2=(x1,h); +sketch z1--z2; +pivot_message((w/2)); +endtchar; etest; + +stest(butwo); telchar "b udatta (two bars)"; +begintchar(b_udatta2_code,3.5u#,top_accent#+3uh#,0,0,0,0); +bot z1=(w/4,top_accent); top z2=(x1,h); +bot z3=(w/4+w/2,top_accent); z4=z2+(w/2,0); +sketch z1--z2; sketch z3-- z4; +pivot_message((w/2)); +endtchar; etest; + +stest(ba); telchar "b anudatta"; +begintchar(b_anudatta_code,4u#,0,0,0,0,0); +% d is set later +top lft z1=(0,-bot_accent);top rt z2=(w,-bot_accent); +sketch z1--z2; +d:=- (bot y1); +pivot_message((w/2)); +endtchar; etest; + |