声母 标准-坎兰 mb-b [?]-c:[?]国际音标(?应少底下一个点) nd-d f-f ng-g h-h j-j g-k l-l m-m n-n b-p {布依qy}-q {布依ny}-r s,sh-s d-t v-w {英语v}-v {布依w}-w c-x y-y r-z {汉z,zh}-ts {汉c,ch}-tsh (标准文中其它复辅音声母中的最后一个若是y,v,则改为坎兰中i,u紧接在倒数第二个辅音后) 韵母 (下面这些坎兰韵母其实前面都得加c) 标准-坎兰 a-a,ae-a ai-ai,aei-ay au-aw,aeu-au ang-agn,aeng-ang ap/ab-ap,aep/aeb-ab at/ad-at,aet/aed-ad ak/ag-ak,aek/aeg-ag am-arm,aem-am an-arn,aen-an w-er,{汉e}-e wi-ey,{汉ei}-ei wu-eu,{汉ou}-ew wng-eng,{汉eng}-egn wp/wb-eb,()-ep wt/wd-ed,()-et wk/wg-eg,()-ek wm-erm,()-em wn-ern,()-en e-ee/ae eu-eo/ao eng-eeng/aeng ep/eb-eeb,aep et/ed-eed,aet ek/eg-eeg,aek em-eem,aem en-een,aen o-o,oe-or oi-oy,oei-oi ou-ou,oeu-ow ong-ong,oeng-ogn op/ob-ob,oep/oeb-op ot/od-od,oet/oed-ot ok/og-og,oek/oeg-ok om-om,oem-orm on-on,oen-orn i-i,{汉si}-ih iu-iw,iu ing-ing ip/ib-ip it/id-it ik/ig-ik im-im in-in u-u ung-ung up/ub-ub ut/ud-ud uk/ug-ug um-um un-un wa-ea aw-aer wa后面还有韵尾的,按e+”a韵母”处理 声调: 调符标在音节第一元音上 调号 调值 调符 J 33 - 24 / X 31 ∨ Z 11 ‥ Q 35 ∧ H 53 \ 建议第4调符省略 sangj-sāgn sang-ságn sangx-sǎgn sangz-sägn/sagn sangq-sâgn sangh-sàgn byangj-pīagn byang-píagn byangx-pǐagn byangz-pïagn/piagn byangq-pîagn byangh-pìagn
链接(布依论坛,需登录)※直接打开文件可输入坎兰拉丁大小写带帽元音字母 如果下载到本地,运行时需要允许阻止的内容… 如果直接在线打开,即可使用。 修改版本功能相对强大,但代码没有优化。 在线编辑框还没有做出来。 不要在文本框内按[Esc]键,会清空所有输入。还没设置该键为无效。 krm2ipa.htm 代码如下: <!-- GNU通用公共许可证(GPL) 这是一个自由软件,任何人或机构都可以在遵守GPL守则下使用该软件。 原 作 者 :Robale (http://hi.baidu.com/robale) 版 本 :v4.0 推出日期 :2009-9-26 修改日期 :2009-10-03 致谢徐清白(http://py2ipa.sourceforge.net/py2ipa.htm) --> <html> <head> <title>坎兰字转写</title> <meta http-equiv="content-type" content="text/html; charset=utf-8"/> <SCRIPT language="javascript"> function py2ipa(s){ seq=s.split("\n"); var toneNumLetter=new Array( 'a1','a2','a3','a4','a5','a6', 'o1','o2','o3','o4','o5','o6', 'e1','e2','e3','e4','e5','e6', 'i1','i2','i3','i4','i5','i6', 'u1','u2','u3','u4','u5','u6', 'A1','A2','A3','A4','A5','A6', 'O1','O2','O3','O4','O5','O6', 'E1','E2','E3','E4','E5','E6', 'I1','I2','I3','I4','I5','I6', 'U1','U2','U3','U4','U5','U6' ); var toneMarkLetter=new Array( 'ā','á','ǎ','ä','â','à', 'ō','ó','ǒ','ö','ô','ò', 'ē','é','ě','ë','ê','è', 'ī','í','ǐ','ï','î','ì', 'ū','ú','ǔ','ü','û','ù', 'Ā','Á','Ă','Ä','Â','À', 'Ō','Ó','Ŏ','Ö','Ô','Ò', 'Ē','É','Ĕ','Ë','Ê','È', 'Ī','Í','Ĭ','Ï','Î','Ì', 'Ū','Ú','Ŭ','Ü','Û','Ù' ); var letters=new Array('a','e','i','o','u','A','E','I','O','U'); //因难于定位第一元音,正则时不再匹配声母,而从元音开始匹配。 for(i in seq)if(seq.charAt(0)!='#')seq=seq.replace(/[aeiouAEIOU]{1,4} (b|p|d|t|g|k|m|n|gn|ng|r|rm|rn|y|w|h|B|P|D|T|G|K|M|N|GN|NG|R|RM|RN|Y|W|H){0,1}[1-6]/g,function (py){ //寻找要标调的元音字母,并标调...[bcdfghjklmnpqrstvwxyz]*[aeiou]{1,3} var tone=py.slice(-1); py=py.slice(0,-1); for(i in letters)if(py.indexOf(letters)==0){mark=letters;break;}//寻找第一元音 for(i in toneNumLetter)if(toneNumLetter==mark+tone){return py.replace (mark,toneMarkLetter);} return py+tone; }); return seq.join('\n'); } function refresh_output(){ document.getElementById("out").value=py2ipa(document.getElementById("seq").value); } /*//尚未实现光标定位,且输入框变动会导致结果框只得到输入框的转换结果,故不允许直接编辑 function out_output(){ document.getElementById("out").value=py2ipa(document.getElementById("out").value); } */ function CopyAll(T){//复制结果框内全部内容 T.focus(); //使文本框得到焦点 T.select(); //把文本框中的内容全选 if (document.all){ therange=T.createTextRange(); therange.execCommand("Copy"); //复制 } }
<!-- function resizeEditor(change) {//改变输入框高度 var newheight = parseInt(document.getElementById('seq').style.height, 10) + change; if(newheight >= 100) { document.getElementById('seq').style.height = newheight + 'px'; } } //--> </SCRIPT> <style type="text/css"> textarea{ font-size: 15px; font-weight:normal; color: #000000; background-color: #E4F4FD; font-family ucida Sans Unicode,Arial,华文彩云;> } </style> </head> <body onLoad="convert.seq.focus()"><!--表单名.对象名.焦点()使在刷新时仍可获得焦点--> <form id="convert" name="convert" method="POST" target="in" onFocus="seq.focus"> <p>请输入字母+数字(1-6): <input type="button" id="test" onclick="seq.value='不知从谁起,众人成烦悲就需要然后也爱自 个说“哈素”。\r\n Mi4 zee6 au1 fang3la4 tau1,jogn5wern4 pan4 rab5 beng2 xi4 cau2 day3 qia6 ya4 gai6 kar3 nau4 “har2su2”.\r\n建议省略第4调符:\r\n Mi zee6 au1 fang3la tau1,jogn5wern pan rab5 beng2 xi cau2 day3 qia6 ya gai6 kar3 nau “har2su2”.';refresh_output();" value="示例" /> <INPUT TYPE="BUTTON" VALUE="复制转换结果" onclick="CopyAll(out)" /> <input type="button" value="框高+" onclick="resizeEditor(100)" /> <input type="button" value="框高-" onclick="resizeEditor(-100)" /> <input type="button" value="清空" onclick="seq.innerText='';out.innerText='';"/> <br> <center> <textarea id="seq" name="seq" style="width:98%;height:120px;" onKeyup="refresh_output()" onFocus="seq.focus"></textarea><br> <textarea id="out" name="out" style="width:98%;height:430px;" onFocus="seq.focus" readonly="readonly"></textarea><br> </center> </form> </body> </html>
[此贴子已经被作者于2009-10-3 19:49:37编辑过] |