*** SH1sinha.fd.orig	Sat Jul 16 14:47:44 1994
--- SH1sinha.fd	Tue Apr  9 14:34:20 1996
***************
*** 2,7 ****
--- 2,12 ----
  %This file contains the font definitions for the sinha family in the
  %SH1 encoding. It is used by the LaTeX New Font Selection Scheme.
  
+ %
+ % Modified by Vasantha Saparamadu <vsaparam@ocs.mq.edu.au>
+ % 08 January 1996
+ %
+ 
  \DeclareFontFamily{SH1}{sinha}{}
  
  \DeclareFontShape{SH1}{sinha}{m}{n}{
***************
*** 8,14 ****
        <5><6><7>sinha8%
        <8> <9> gen * sinha
        <10><10.95>sinha10%
!       <12><14.4><17.28><20.74><24.88>sinha12%
  }{}
  \DeclareFontShape{SH1}{sinha}{m}{sc}{
     <-> ssub * sinha/m/n
--- 13,19 ----
        <5><6><7>sinha8%
        <8> <9> gen * sinha
        <10><10.95>sinha10%
!       <12><14.4><17.28><20.74><24.88->sinha12%
  }{}
  \DeclareFontShape{SH1}{sinha}{m}{sc}{
     <-> ssub * sinha/m/n
***************
*** 26,47 ****
     <-> ssub * sinha/m/n
  }{}
  \DeclareFontShape{SH1}{sinha}{bx}{n}{
!    <-> ssub * sinha/m/n
  }{}
  \DeclareFontShape{SH1}{sinha}{bx}{sc}{
!    <-> ssub * sinha/m/n
  }{}
  \DeclareFontShape{SH1}{sinha}{bx}{it}{
!    <-> ssub * sinha/m/n
  }{}
  \DeclareFontShape{SH1}{sinha}{bx}{itsc}{
!    <-> ssub * sinha/m/n
  }{}
  \DeclareFontShape{SH1}{sinha}{bx}{sl}{
!    <-> ssub * sinha/m/n
  }{}
  \DeclareFontShape{SH1}{sinha}{bx}{slsc}{
!    <-> ssub * sinha/m/n
  }{}
  
  \endinput
--- 31,55 ----
     <-> ssub * sinha/m/n
  }{}
  \DeclareFontShape{SH1}{sinha}{bx}{n}{
!       <5><6><7>sinbxa8%
!       <8> <9> gen * sinbxa
!       <10><10.95>sinbxa10%
!       <12><14.4><17.28><20.74><24.88->sinbxa12%
  }{}
  \DeclareFontShape{SH1}{sinha}{bx}{sc}{
!    <-> ssub * sinha/bx/n
  }{}
  \DeclareFontShape{SH1}{sinha}{bx}{it}{
!    <-> ssub * sinha/bx/n
  }{}
  \DeclareFontShape{SH1}{sinha}{bx}{itsc}{
!    <-> ssub * sinha/bx/n
  }{}
  \DeclareFontShape{SH1}{sinha}{bx}{sl}{
!    <-> ssub * sinha/bx/n
  }{}
  \DeclareFontShape{SH1}{sinha}{bx}{slsc}{
!    <-> ssub * sinha/bx/n
  }{}
  
  \endinput
*** SH1sinhb.fd.orig	Sat Jul 16 14:48:00 1994
--- SH1sinhb.fd	Tue Apr  9 14:34:25 1996
***************
*** 2,7 ****
--- 2,12 ----
  %This file contains the font definitions for the sinhb family in the
  %SH1 encoding. It is used by the LaTeX New Font Selection Scheme.
  
+ %
+ % Modified by Vasantha Saparamadu <vsaparam@ocs.mq.edu.au>
+ % 08 January 1996
+ %
+ 
  \DeclareFontFamily{SH1}{sinhb}{}
  
  \DeclareFontShape{SH1}{sinhb}{m}{n}{
***************
*** 8,14 ****
        <5><6><7>sinhb8%
        <8> <9> gen * sinhb
        <10><10.95>sinhb10%
!       <12><14.4><17.28><20.74><24.88>sinhb12%
  }{}
  \DeclareFontShape{SH1}{sinhb}{m}{sc}{
     <-> ssub * sinhb/m/n
--- 13,19 ----
        <5><6><7>sinhb8%
        <8> <9> gen * sinhb
        <10><10.95>sinhb10%
!       <12><14.4><17.28><20.74><24.88->sinhb12%
  }{}
  \DeclareFontShape{SH1}{sinhb}{m}{sc}{
     <-> ssub * sinhb/m/n
***************
*** 26,47 ****
     <-> ssub * sinhb/m/n
  }{}
  \DeclareFontShape{SH1}{sinhb}{bx}{n}{
!    <-> ssub * sinhb/m/n
  }{}
  \DeclareFontShape{SH1}{sinhb}{bx}{sc}{
!    <-> ssub * sinhb/m/n
  }{}
  \DeclareFontShape{SH1}{sinhb}{bx}{it}{
!    <-> ssub * sinhb/m/n
  }{}
  \DeclareFontShape{SH1}{sinhb}{bx}{itsc}{
!    <-> ssub * sinhb/m/n
  }{}
  \DeclareFontShape{SH1}{sinhb}{bx}{sl}{
!    <-> ssub * sinhb/m/n
  }{}
  \DeclareFontShape{SH1}{sinhb}{bx}{slsc}{
!    <-> ssub * sinhb/m/n
  }{}
  
  \endinput
--- 31,55 ----
     <-> ssub * sinhb/m/n
  }{}
  \DeclareFontShape{SH1}{sinhb}{bx}{n}{
!       <5><6><7>sinbxb8%
!       <8> <9> gen * sinbxb
!       <10><10.95>sinbxb10%
!       <12><14.4><17.28><20.74><24.88->sinbxb12%
  }{}
  \DeclareFontShape{SH1}{sinhb}{bx}{sc}{
!    <-> ssub * sinhb/bx/n
  }{}
  \DeclareFontShape{SH1}{sinhb}{bx}{it}{
!    <-> ssub * sinhb/bx/n
  }{}
  \DeclareFontShape{SH1}{sinhb}{bx}{itsc}{
!    <-> ssub * sinhb/bx/n
  }{}
  \DeclareFontShape{SH1}{sinhb}{bx}{sl}{
!    <-> ssub * sinhb/bx/n
  }{}
  \DeclareFontShape{SH1}{sinhb}{bx}{slsc}{
!    <-> ssub * sinhb/bx/n
  }{}
  
  \endinput
*** SH1sinhc.fd.orig	Sat Jul 16 14:47:58 1994
--- SH1sinhc.fd	Tue Apr  9 14:34:30 1996
***************
*** 2,7 ****
--- 2,12 ----
  %This file contains the font definitions for the sinhc family in the
  %SH1 encoding. It is used by the LaTeX New Font Selection Scheme.
  
+ %
+ % Modified by Vasantha Saparamadu <vsaparam@ocs.mq.edu.au>
+ % 08 January 1996
+ %
+ 
  \DeclareFontFamily{SH1}{sinhc}{}
  
  \DeclareFontShape{SH1}{sinhc}{m}{n}{
***************
*** 11,17 ****
        <5><6><7>sinhc8%
        <8> <9> gen * sinhc
        <10><10.95>sinhc10%
!       <12><14.4><17.28><20.74><24.88>sinhc12%
  }{}
  \DeclareFontShape{SH1}{sinhc}{m}{it}{
     <-> ssub * sinhc/m/n
--- 16,22 ----
        <5><6><7>sinhc8%
        <8> <9> gen * sinhc
        <10><10.95>sinhc10%
!       <12><14.4><17.28><20.74><24.88->sinhc12%
  }{}
  \DeclareFontShape{SH1}{sinhc}{m}{it}{
     <-> ssub * sinhc/m/n
***************
*** 26,47 ****
     <-> ssub * sinhc/m/n
  }{}
  \DeclareFontShape{SH1}{sinhc}{bx}{n}{
!    <-> ssub * sinhc/m/n
  }{}
  \DeclareFontShape{SH1}{sinhc}{bx}{sc}{
!    <-> ssub * sinhc/m/n
  }{}
  \DeclareFontShape{SH1}{sinhc}{bx}{it}{
!    <-> ssub * sinhc/m/n
  }{}
  \DeclareFontShape{SH1}{sinhc}{bx}{itsc}{
!    <-> ssub * sinhc/m/n
  }{}
  \DeclareFontShape{SH1}{sinhc}{bx}{sl}{
!    <-> ssub * sinhc/m/n
  }{}
  \DeclareFontShape{SH1}{sinhc}{bx}{slsc}{
!    <-> ssub * sinhc/m/n
  }{}
  
  \endinput
--- 31,55 ----
     <-> ssub * sinhc/m/n
  }{}
  \DeclareFontShape{SH1}{sinhc}{bx}{n}{
!    <->sinbxc10
  }{}
  \DeclareFontShape{SH1}{sinhc}{bx}{sc}{
!       <5><6><7>sinbxc8%
!       <8> <9> gen * sinbxc
!       <10><10.95>sinbxc10%
!       <12><14.4><17.28><20.74><24.88->sinbxc12%
  }{}
  \DeclareFontShape{SH1}{sinhc}{bx}{it}{
!    <-> ssub * sinhc/bx/n
  }{}
  \DeclareFontShape{SH1}{sinhc}{bx}{itsc}{
!    <-> ssub * sinhc/bx/n
  }{}
  \DeclareFontShape{SH1}{sinhc}{bx}{sl}{
!    <-> ssub * sinhc/bx/n
  }{}
  \DeclareFontShape{SH1}{sinhc}{bx}{slsc}{
!    <-> ssub * sinhc/bx/n
  }{}
  
  \endinput
*** indica.lex.orig	Fri Jul  8 09:25:28 1994
--- indica.lex	Tue Apr  9 14:34:39 1996
***************
*** 1,3 ****
--- 1,9 ----
+ 
+ /*
+  * Modified by Vasantha Saparamadu <vsaparam@ocs.mq.edu.au>
+  * 08 January 1996
+  */
+ 
  %{
  #define BOOLEAN char
  #define UNSIGNED_BYTE unsigned char
***************
*** 95,100 ****
--- 101,107 ----
  #define CON_KS 92
  #define CON_LLL 93
  #define CANDRABINDU 94
+ #define BANDI 95
  
  #define HINDI 1
  #define SANSKRIT 2
***************
*** 150,158 ****
  
  SHVOWEL		("\x01\x09"[\x04-\x17])
  SHCONSONANT	("\x01\x09"[\x1E-\x41\x52\x56-\x5B])
! SHLIGATURE	("\x01\x09\x25\x01\x09\x27"|"\x01\x09\x1E\x01\x09\x3D"|"\x01\x09\x1E\x01\x09\x3F"|"\x01\x09\x31\x01\x09\x30"|"\x01\x09\x31\x01\x09\x2E"|"\x01\x09\x31\x01\x09\x2F"|"\x01\x09\x2D\x01\x09\x2E"|"\x01\x09\x2F\x01\x09\x3D")
  SHRA		("\x01\x09\x39")
  SHYA		("\x01\x09\x38")
  
  %%
  
--- 157,166 ----
  
  SHVOWEL		("\x01\x09"[\x04-\x17])
  SHCONSONANT	("\x01\x09"[\x1E-\x41\x52\x56-\x5B])
! SHLIGATURE	("\x01\x09\x5F\x01\x09\x25\x01\x09\x27"|"\x01\x09\x5F\x01\x09\x1E\x01\x09\x3D"|"\x01\x09\x5F\x01\x09\x1E\x01\x09\x3F"|"\x01\x09\x5F\x01\x09\x31\x01\x09\x30"|"\x01\x09\x5F\x01\x09\x31\x01\x09\x2E"|"\x01\x09\x5F\x01\x09\x31\x01\x09\x2F"|"\x01\x09\x5F\x01\x09\x2D\x01\x09\x2E"|"\x01\x09\x5F\x01\x09\x2F\x01\x09\x3D")
  SHRA		("\x01\x09\x39")
  SHYA		("\x01\x09\x38")
+ SHBANDI		("\x01\x09\x5F")
  
  %%
  
***************
*** 253,281 ****
  ([ \n])|("\\"[A-Za-z]+)		{ if (already_read == FALSE)  { yyless(0); release_buffer(); already_read = TRUE; }
  									else { ECHO; already_read = FALSE; }}
  
! <SEVENBIT>("."m)|M			{ put_indic(ANUSVARA); }
  
! <SEVENBIT>("."h)|H			{ put_indic(VISARGA); }
  									
  <SEVENBIT>a					{ put_indic(VOW_A); }
  
! <SEVENBIT>aa|A				{ put_indic(VOW_AA); }
  
! <SEVENBIT>\"a|"."A			{ put_indic(VOW_AAA); }
  
! <SEVENBIT>\"aa|\"A|"."AA		{ put_indic(VOW_AAAA); }
  
  <SEVENBIT>i					{ put_indic(VOW_I); }
  
! <SEVENBIT>ii|I				{ put_indic(VOW_II); }
  
  <SEVENBIT>u					{ put_indic(VOW_U); }
  
! <SEVENBIT>uu|U				{ put_indic(VOW_UU); }
  
! <SEVENBIT>"."r				{ put_indic(VOW_R); }
  
! <SEVENBIT>"."R				{ put_indic(VOW_RR); }
  
  <SEVENBIT>"."l				{ put_indic(VOW_L); }
  
--- 261,289 ----
  ([ \n])|("\\"[A-Za-z]+)		{ if (already_read == FALSE)  { yyless(0); release_buffer(); already_read = TRUE; }
  									else { ECHO; already_read = FALSE; }}
  
! <SEVENBIT>NG			{ put_indic(ANUSVARA); }
  
! <SEVENBIT>H			{ put_indic(VISARGA); }
  									
  <SEVENBIT>a					{ put_indic(VOW_A); }
  
! <SEVENBIT>a~				{ put_indic(VOW_AA); }
  
! <SEVENBIT>a"^"			{ put_indic(VOW_AAA); }
  
! <SEVENBIT>a"^"~		{ put_indic(VOW_AAAA); }
  
  <SEVENBIT>i					{ put_indic(VOW_I); }
  
! <SEVENBIT>i~				{ put_indic(VOW_II); }
  
  <SEVENBIT>u					{ put_indic(VOW_U); }
  
! <SEVENBIT>u~				{ put_indic(VOW_UU); }
  
! <SEVENBIT>RU				{ put_indic(VOW_R); }
  
! <SEVENBIT>RU~				{ put_indic(VOW_RR); }
  
  <SEVENBIT>"."l				{ put_indic(VOW_L); }
  
***************
*** 283,351 ****
  
  <SEVENBIT>\"e				{ put_indic(CANDRA_E); }
  
! <SEVENBIT>"^e"				{ put_indic(VOW_E); }
  
! <SEVENBIT>e					{ put_indic(VOW_EE); }
  
! <SEVENBIT>ai|E				{ put_indic(VOW_AI); }
  
  <SEVENBIT>\"o				{ put_indic(CANDRA_O); }
  
! <SEVENBIT>"^o"				{ put_indic(VOW_O); }
  
! <SEVENBIT>o					{ put_indic(VOW_OO); }
  
! <SEVENBIT>au|O				{ put_indic(VOW_AU); }
  
  <SEVENBIT>k					{ put_indic(CON_K); }
  
! <SEVENBIT>kh|K				{ put_indic(CON_KH); }
  
  <SEVENBIT>g					{ put_indic(CON_G); }
  
! <SEVENBIT>gh|G				{ put_indic(CON_GH); }
  
! <SEVENBIT>\"n				{ put_indic(CON_NG); }
  
! <SEVENBIT>c					{ put_indic(CON_C); }
  
! <SEVENBIT>ch|C				{ put_indic(CON_CH); }
  
  <SEVENBIT>j					{ put_indic(CON_J); }
  
! <SEVENBIT>jh|J				{ put_indic(CON_JH); }
  
! <SEVENBIT>~n				{ put_indic(CON_NY); }
  
! <SEVENBIT>"."t				{ put_indic(CON_TT); }
  
! <SEVENBIT>"."th|"."T		{ put_indic(CON_TTH); }
  
! <SEVENBIT>"."d				{ put_indic(CON_DD); }
  
! <SEVENBIT>"."dh|"."D		{ put_indic(CON_DDH); }
  
! <SEVENBIT>"."n				{ put_indic(CON_NN); }
  
! <SEVENBIT>t					{ put_indic(CON_T); }
  
! <SEVENBIT>th|T				{ put_indic(CON_TH); }
  
! <SEVENBIT>d					{ put_indic(CON_D); }
  
! <SEVENBIT>dh|D				{ put_indic(CON_DH); }
  
  <SEVENBIT>n					{ put_indic(CON_N); }
  
- <SEVENBIT>\"n				{ put_indic(CON_NNN); }
- 
  <SEVENBIT>p					{ put_indic(CON_P); }
  
! <SEVENBIT>ph|P				{ put_indic(CON_PH); }
  
  <SEVENBIT>b					{ put_indic(CON_B); }
  
! <SEVENBIT>bh|B				{ put_indic(CON_BH); }
  
  <SEVENBIT>m					{ put_indic(CON_M); }
  
--- 291,357 ----
  
  <SEVENBIT>\"e				{ put_indic(CANDRA_E); }
  
! <SEVENBIT>e				{ put_indic(VOW_E); }
  
! <SEVENBIT>e~					{ put_indic(VOW_EE); }
  
! <SEVENBIT>ai				{ put_indic(VOW_AI); }
  
  <SEVENBIT>\"o				{ put_indic(CANDRA_O); }
  
! <SEVENBIT>o				{ put_indic(VOW_O); }
  
! <SEVENBIT>o~					{ put_indic(VOW_OO); }
  
! <SEVENBIT>au				{ put_indic(VOW_AU); }
  
  <SEVENBIT>k					{ put_indic(CON_K); }
  
! <SEVENBIT>K				{ put_indic(CON_KH); }
  
  <SEVENBIT>g					{ put_indic(CON_G); }
  
! <SEVENBIT>G				{ put_indic(CON_GH); }
  
! <SEVENBIT>\"NG			{ put_indic(CON_NG); put_indic(VOW_A); }
  
! <SEVENBIT>ch					{ put_indic(CON_C); }
  
! <SEVENBIT>CH				{ put_indic(CON_CH); }
  
  <SEVENBIT>j					{ put_indic(CON_J); }
  
! <SEVENBIT>J				{ put_indic(CON_JH); }
  
! <SEVENBIT>kn				{ put_indic(CON_NY); }
  
! <SEVENBIT>t				{ put_indic(CON_TT); }
  
! <SEVENBIT>T		{ put_indic(CON_TTH); }
  
! <SEVENBIT>d				{ put_indic(CON_DD); }
  
! <SEVENBIT>D		{ put_indic(CON_DDH); }
  
! <SEVENBIT>N				{ put_indic(CON_NN); }
  
! <SEVENBIT>th					{ put_indic(CON_T); }
  
! <SEVENBIT>TH				{ put_indic(CON_TH); }
  
! <SEVENBIT>dh					{ put_indic(CON_D); }
  
! <SEVENBIT>DH				{ put_indic(CON_DH); }
  
  <SEVENBIT>n					{ put_indic(CON_N); }
  
  <SEVENBIT>p					{ put_indic(CON_P); }
  
! <SEVENBIT>P				{ put_indic(CON_PH); }
  
  <SEVENBIT>b					{ put_indic(CON_B); }
  
! <SEVENBIT>B				{ put_indic(CON_BH); }
  
  <SEVENBIT>m					{ put_indic(CON_M); }
  
***************
*** 353,360 ****
  
  <SEVENBIT>r					{ put_indic(CON_R); }
  
- <SEVENBIT>\"r				{ put_indic(CON_RR); }
- 
  <SEVENBIT>l					{ put_indic(CON_L); }
  
  <SEVENBIT>L					{ put_indic(CON_LL); }
--- 359,364 ----
***************
*** 361,371 ****
  
  <SEVENBIT>\"l				{ put_indic(CON_LLL); }
  
! <SEVENBIT>v					{ put_indic(CON_V); }
  
! <SEVENBIT>\"s				{ put_indic(CON_SH); }
  
! <SEVENBIT>"."s				{ put_indic(CON_SS); }
  
  <SEVENBIT>s					{ put_indic(CON_S); }
  
--- 365,375 ----
  
  <SEVENBIT>\"l				{ put_indic(CON_LLL); }
  
! <SEVENBIT>v|w					{ put_indic(CON_V); }
  
! <SEVENBIT>sh				{ put_indic(CON_SH); }
  
! <SEVENBIT>SH				{ put_indic(CON_SS); }
  
  <SEVENBIT>s					{ put_indic(CON_S); }
  
***************
*** 395,414 ****
  
  <SEVENBIT>"||"				{ put_indic(VBARVBAR); }
  
! <SEVENBIT>Ng				{ put_indic(CON_NAS_G); }
  
  <SEVENBIT>Nc				{ put_indic(CON_NAS_C); }
  
! <SEVENBIT>N"."d				{ put_indic(CON_NAS_DD); }
  
! <SEVENBIT>Nd				{ put_indic(CON_NAS_D); }
  
! <SEVENBIT>Nb				{ put_indic(CON_NAS_B); }
  
  <SEVENBIT>Nj				{ put_indic(CON_NAS_J); }
  
  <SEVENBIT>x					{ put_indic(CON_KS); }
  
  <SEVENBIT>.					{ put_other(yytext[0]); }
  
  <LATEX>"\\d{m}"|"\\d{M}"	{ put_indic(ANUSVARA); }
--- 399,431 ----
  
  <SEVENBIT>"||"				{ put_indic(VBARVBAR); }
  
! <SEVENBIT>ng				{ put_indic(CON_NAS_G); }
  
  <SEVENBIT>Nc				{ put_indic(CON_NAS_C); }
  
! <SEVENBIT>nd				{ put_indic(CON_NAS_DD); }
  
! <SEVENBIT>ndh				{ put_indic(CON_NAS_D); }
  
! <SEVENBIT>mb				{ put_indic(CON_NAS_B); }
  
  <SEVENBIT>Nj				{ put_indic(CON_NAS_J); }
  
+ <SEVENBIT>gn				{ put_indic(BANDI);
+ 					  put_indic(CON_J);
+ 					  put_indic(CON_NY); }
+ 
+ <SEVENBIT>\"n_dh			{ put_indic(BANDI);
+ 					  put_indic(CON_N);
+ 					  put_indic(CON_D); }
+ 
+ 
  <SEVENBIT>x					{ put_indic(CON_KS); }
  
+ <SEVENBIT>_					{ put_other('{'); put_other('}'); }
+ 
+ <SEVENBIT>\"					{ put_indic(BANDI); }
+ 
  <SEVENBIT>.					{ put_other(yytext[0]); }
  
  <LATEX>"\\d{m}"|"\\d{M}"	{ put_indic(ANUSVARA); }
***************
*** 589,609 ****
  
  "\x01\x09\x03"						{ sh_cons_vow(VISARGA,0,0); }
  
! {SHLIGATURE}(({SHRA}{SHYA})|({SHYA}{SHRA})){SHVOWEL}			{ sh_lig_vow(yytext[2],yytext[5],CON_R+CON_Y,yytext[14]); }
  
! {SHLIGATURE}(({SHRA}{SHYA})|({SHYA}{SHRA}))			{ sh_lig_vow(yytext[2],yytext[5],CON_R+CON_Y,0); }
  
! {SHLIGATURE}{SHRA}{SHVOWEL}			{ sh_lig_vow(yytext[2],yytext[5],CON_R,yytext[11]); }
  
! {SHLIGATURE}{SHRA}					{ sh_lig_vow(yytext[2],yytext[5],CON_R,0); }
  
! {SHLIGATURE}{SHYA}{SHVOWEL}			{ sh_lig_vow(yytext[2],yytext[5],CON_Y,yytext[11]); }
  
! {SHLIGATURE}{SHYA}					{ sh_lig_vow(yytext[2],yytext[5],CON_Y,0); }
  
! {SHLIGATURE}{SHVOWEL}				{ sh_lig_vow(yytext[2],yytext[5],0,yytext[8]); }
  
! {SHLIGATURE}						{ sh_lig_vow(yytext[2],yytext[5],0,0); }
  
  {SHCONSONANT}(({SHRA}{SHYA})|({SHYA}{SHRA})){SHVOWEL}		{ sh_cons_vow(yytext[2],CON_R+CON_Y,yytext[11]); }
  
--- 606,626 ----
  
  "\x01\x09\x03"						{ sh_cons_vow(VISARGA,0,0); }
  
! {SHLIGATURE}(({SHRA}{SHYA})|({SHYA}{SHRA})){SHVOWEL}			{ sh_lig_vow(yytext[5],yytext[8],CON_R+CON_Y,yytext[17]); }
  
! {SHLIGATURE}(({SHRA}{SHYA})|({SHYA}{SHRA}))			{ sh_lig_vow(yytext[5],yytext[8],CON_R+CON_Y,0); }
  
! {SHLIGATURE}{SHRA}{SHVOWEL}			{ sh_lig_vow(yytext[5],yytext[8],CON_R,yytext[14]); }
  
! {SHLIGATURE}{SHRA}					{ sh_lig_vow(yytext[5],yytext[8],CON_R,0); }
  
! {SHLIGATURE}{SHYA}{SHVOWEL}			{ sh_lig_vow(yytext[5],yytext[8],CON_Y,yytext[14]); }
  
! {SHLIGATURE}{SHYA}					{ sh_lig_vow(yytext[5],yytext[8],CON_Y,0); }
  
! {SHLIGATURE}{SHVOWEL}				{ sh_lig_vow(yytext[5],yytext[8],0,yytext[11]); }
  
! {SHLIGATURE}						{ sh_lig_vow(yytext[5],yytext[8],0,0); }
  
  {SHCONSONANT}(({SHRA}{SHYA})|({SHYA}{SHRA})){SHVOWEL}		{ sh_cons_vow(yytext[2],CON_R+CON_Y,yytext[11]); }
  
***************
*** 617,625 ****
  
  {SHCONSONANT}{SHYA}					{ sh_cons_vow(yytext[2],CON_Y,0); }
  
! {SHRA}{SHLIGATURE}"\x01\x09\x04"	{ sh_ra_lig_a(yytext[5],yytext[8]); }
  
! {SHRA}{SHCONSONANT}"\x01\x09\x04"	{ sh_ra_cons_a(yytext[5]); }
  
  {SHCONSONANT}{SHVOWEL}				{ sh_cons_vow(yytext[2], 0,yytext[5]); }
  
--- 634,642 ----
  
  {SHCONSONANT}{SHYA}					{ sh_cons_vow(yytext[2],CON_Y,0); }
  
! {SHBANDI}{SHRA}{SHLIGATURE}"\x01\x09\x04"	{ sh_ra_lig_a(yytext[11],yytext[14]); }
  
! {SHBANDI}{SHRA}{SHCONSONANT}"\x01\x09\x04"	{ sh_ra_cons_a(yytext[8]); }
  
  {SHCONSONANT}{SHVOWEL}				{ sh_cons_vow(yytext[2], 0,yytext[5]); }
  
***************
*** 627,633 ****
  
  {SHVOWEL}							{ sh_cons_vow(0, 0,yytext[2]); }
  
! "\x01\x09".							{ fprintf(stderr,"Unrecognized Sinhalese character 0x%d",yytext[2]); }
  
  %%
  
--- 644,650 ----
  
  {SHVOWEL}							{ sh_cons_vow(0, 0,yytext[2]); }
  
! "\x01\x09".							{ fprintf(stderr,"Unrecognized Sinhalese character 0x%x\n",yytext[2]); }
  
  %%
  
***************
*** 832,838 ****
  			case CON_CH: 	sh_place_normal_vowel("\\char125",extension,vow); break;
  			case CON_J: 	sh_place_normal_vowel("\\char133",extension,vow); break;
  			case CON_JH: 	sh_place_normal_vowel("\\char141",extension,vow); break;
! 			case CON_NY: 	sh_place_da_like_vowel("\\char139",extension,vow); break;
  			case CON_TT: 	sh_place_normal_vowel("\\char149",extension,vow); break;
  			case CON_TTH: 	sh_place_normal_vowel("\\char157",extension,vow); break;
  			case CON_DD: 	sh_place_normal_vowel("\\char165",extension,vow); break;
--- 849,855 ----
  			case CON_CH: 	sh_place_normal_vowel("\\char125",extension,vow); break;
  			case CON_J: 	sh_place_normal_vowel("\\char133",extension,vow); break;
  			case CON_JH: 	sh_place_normal_vowel("\\char141",extension,vow); break;
! 			case CON_NY: 	sh_place_normal_vowel("\\char139",extension,vow); break;
  			case CON_TT: 	sh_place_normal_vowel("\\char149",extension,vow); break;
  			case CON_TTH: 	sh_place_normal_vowel("\\char157",extension,vow); break;
  			case CON_DD: 	sh_place_normal_vowel("\\char165",extension,vow); break;
***************
*** 840,846 ****
  			case CON_NN: 	sh_place_normal_vowel("\\char181",extension,vow); break;
  			case CON_T: 	sh_place_normal_vowel("\\char189",extension,vow); break;
  			case CON_TH: 	sh_place_normal_vowel("\\char197",extension,vow); break;
! 			case CON_D: 	sh_place_da_like_vowel("\\char163",extension,vow); break;
  			case CON_DH: 	sh_place_normal_vowel("\\char205",extension,vow); break;
  			case CON_N: 	sh_place_normal_vowel("\\char213",extension,vow); break;
  			case CON_NNN: 	break;
--- 857,863 ----
  			case CON_NN: 	sh_place_normal_vowel("\\char181",extension,vow); break;
  			case CON_T: 	sh_place_normal_vowel("\\char189",extension,vow); break;
  			case CON_TH: 	sh_place_normal_vowel("\\char197",extension,vow); break;
! 			case CON_D: 	sh_place_normal_vowel("\\char163",extension,vow); break;
  			case CON_DH: 	sh_place_normal_vowel("\\char205",extension,vow); break;
  			case CON_N: 	sh_place_normal_vowel("\\char213",extension,vow); break;
  			case CON_NNN: 	break;
***************
*** 863,869 ****
  			case CON_NAS_G: 	sh_place_normal_vowel("\\char93",extension,vow); break;
  			case CON_NAS_C: 	sh_place_normal_vowel("\\char101",extension,vow); break;
  			case CON_NAS_DD: 	sh_place_normal_vowel("\\char109",extension,vow); break;
! 			case CON_NAS_D: 	sh_place_da_like_vowel("\\char187",extension,vow); break;
  			case CON_NAS_B: 	sh_place_normal_vowel("\\char117",extension,vow); break;
  			case CON_NAS_J: 	sh_place_normal_vowel("\\char125",extension,vow); break;
  			case CON_KS: 		break;
--- 880,886 ----
  			case CON_NAS_G: 	sh_place_normal_vowel("\\char93",extension,vow); break;
  			case CON_NAS_C: 	sh_place_normal_vowel("\\char101",extension,vow); break;
  			case CON_NAS_DD: 	sh_place_normal_vowel("\\char109",extension,vow); break;
! 			case CON_NAS_D: 	sh_place_normal_vowel("\\char187",extension,vow); break;
  			case CON_NAS_B: 	sh_place_normal_vowel("\\char117",extension,vow); break;
  			case CON_NAS_J: 	sh_place_normal_vowel("\\char125",extension,vow); break;
  			case CON_KS: 		break;
***************
*** 893,902 ****
  		case CON_N: switch(conb) {
  			case CON_DH: sh_place_normal_vowel("\\char69",extension,vow); break;
  			case CON_TH: sh_place_normal_vowel("\\char77",extension,vow); break;
! 			case CON_D: sh_place_da_like_vowel("\\char91",extension,vow); break;
  			default: break; } break;
  		case CON_J: switch(conb) {
! 			case CON_NY: sh_place_da_like_vowel("\\char27",extension,vow); break;
  			default: break; } break;
  		case CON_T: switch(conb) {
  			case CON_TH: sh_place_normal_vowel("\\char109",extension,vow); break;
--- 910,919 ----
  		case CON_N: switch(conb) {
  			case CON_DH: sh_place_normal_vowel("\\char69",extension,vow); break;
  			case CON_TH: sh_place_normal_vowel("\\char77",extension,vow); break;
! 			case CON_D: sh_place_normal_vowel("\\char91",extension,vow); break;
  			default: break; } break;
  		case CON_J: switch(conb) {
! 			case CON_NY: sh_place_normal_vowel("\\char27",extension,vow); break;
  			default: break; } break;
  		case CON_T: switch(conb) {
  			case CON_TH: sh_place_normal_vowel("\\char109",extension,vow); break;
***************
*** 1030,1033 ****
--- 1047,1056 ----
  {
  	initialize_hash_table(); buffer[0] = 0x00;
  	yylex();
+ 	return 0;
+ }
+ 
+ yywrap()
+ {
+ 	return 1;
  }
*** sinhala.mf.orig	Sat Jul 16 14:44:38 1994
--- sinhala.mf	Tue Apr  9 14:34:46 1996
***************
*** 26,32 ****
--- 26,37 ----
  %        England.
  %        Contact person: Dominik Wujastyk <D.Wujastyk@ucl.ac.uk>
  
+ %
+ % Modified by Vasantha Saparamadu <vsaparam@ocs.mq.edu.au>
+ % 08 January 1996
+ %
  
+ 
  input sinhamac.mf;
  
  input sinhcomm.mf;
***************
*** 983,989 ****
        with_hbar:=false; 
   			     right_bulb:=false;
              tta_letter:=true;
!                generic_letter; big_arc(80);
              tta_letter:=false;
           right_bulb:=false;
        with_hbar:=false;
--- 988,994 ----
        with_hbar:=false; 
   			     right_bulb:=false;
              tta_letter:=true;
!                generic_letter; big_arc_virama(80);
              tta_letter:=false;
           right_bulb:=false;
        with_hbar:=false;
*** sinhalb.mf.orig	Sat Jul 16 14:44:34 1994
--- sinhalb.mf	Tue Apr  9 14:34:50 1996
***************
*** 26,32 ****
--- 26,37 ----
  %        England.
  %        Contact person: Dominik Wujastyk <D.Wujastyk@ucl.ac.uk>
  
+ %
+ % Modified by Vasantha Saparamadu <vsaparam@ocs.mq.edu.au>
+ % 08 January 1996
+ %
  
+ 
  input sinhamac.mf;
  
  input sinhcomm.mf;
***************
*** 844,854 ****
--- 849,861 ----
  adjust_fit(usual_left#,usual_right#); h:=12.3FY;
  fuji:=true; 
     handle:=false; 
+       with_hbar:=true;
        covered_labrador_ear:=true; 
   			     right_bulb:=false;
              generic_letter; big_arc(80);
           right_bulb:=false;
        covered_labrador_ear:=false;
+       with_hbar:=false;
     handle:=false;
  fuji:=false;   
  endchar;
***************
*** 857,862 ****
--- 864,870 ----
  adjust_fit(usual_left#,usual_right#); h:=12.3FY;
  fuji:=true; 
     handle:=false; 
+       with_hbar:=true;
        covered_labrador_ear:=true; 
   			     right_bulb:=false;
              with_i := true;
***************
*** 864,869 ****
--- 872,878 ----
              with_i := false;
           right_bulb:=false;
        covered_labrador_ear:=false;
+       with_hbar:=false;
     handle:=false;
  fuji:=false;   
  endchar;
***************
*** 872,877 ****
--- 881,887 ----
  adjust_fit(usual_left#,usual_right#); h:=12.3FY;
  fuji:=true; 
     handle:=false; 
+       with_hbar:=true;
        covered_labrador_ear:=true; 
   			     right_bulb:=false;
              with_ii := true;
***************
*** 879,884 ****
--- 889,895 ----
              with_ii := false;
           right_bulb:=false;
        covered_labrador_ear:=false;
+       with_hbar:=false;
     handle:=false;
  fuji:=false;   
  endchar;
***************
*** 887,892 ****
--- 898,904 ----
  adjust_fit(usual_left#,usual_right#); h:=12.3FY;
  fuji:=true; 
     handle:=false; 
+       with_hbar:=true;
        covered_labrador_ear:=true; 
   			     right_bulb:=false;
              with_u := true;
***************
*** 894,899 ****
--- 906,912 ----
              with_u := false;
           right_bulb:=false;
        covered_labrador_ear:=false;
+       with_hbar:=false;
     handle:=false;
  fuji:=false;   
  endchar;
***************
*** 902,907 ****
--- 915,921 ----
  adjust_fit(usual_left#,usual_right#); h:=12.3FY;
  fuji:=true; 
     handle:=false; 
+       with_hbar:=true;
        covered_labrador_ear:=true; 
   			     right_bulb:=false;
              with_uu := true;
***************
*** 909,914 ****
--- 923,929 ----
              with_uu := false;
           right_bulb:=false;
        covered_labrador_ear:=false;
+       with_hbar:=false;
     handle:=false;
  fuji:=false;   
  endchar;
***************
*** 917,927 ****
--- 932,944 ----
  adjust_fit(usual_left#,usual_right#); h:=12.3FY;
  fuji:=true; 
     handle:=false; 
+       with_hbar:=true;
        covered_labrador_ear:=true; 
   			     right_bulb:=false;
              generic_letter; big_arc_virama(80);
           right_bulb:=false;
        covered_labrador_ear:=false;
+       with_hbar:=false;
     handle:=false;
  fuji:=false;   
  endchar;
***************
*** 930,935 ****
--- 947,953 ----
  adjust_fit(usual_left#,usual_right#); h:=12.3FY;
  fuji:=true; 
     handle:=false; 
+       with_hbar:=true;
        covered_labrador_ear:=true; 
   			     right_bulb:=false;
              prec_by_r:=true;
***************
*** 937,942 ****
--- 955,961 ----
              prec_by_r:=false;
           right_bulb:=false;
        covered_labrador_ear:=false;
+       with_hbar:=false;
     handle:=false;
  fuji:=false;   
  endchar;
