diff --git a/__pycache__/TCC.cpython-38.pyc b/__pycache__/TCC.cpython-38.pyc new file mode 100644 index 0000000..d59802a Binary files /dev/null and b/__pycache__/TCC.cpython-38.pyc differ diff --git a/__pycache__/convert.cpython-38.pyc b/__pycache__/convert.cpython-38.pyc new file mode 100644 index 0000000..52f18f4 Binary files /dev/null and b/__pycache__/convert.cpython-38.pyc differ diff --git a/__pycache__/process.cpython-38.pyc b/__pycache__/process.cpython-38.pyc new file mode 100644 index 0000000..f744e1c Binary files /dev/null and b/__pycache__/process.cpython-38.pyc differ diff --git a/__pycache__/processASCII.cpython-38.pyc b/__pycache__/processASCII.cpython-38.pyc new file mode 100644 index 0000000..d8ff923 Binary files /dev/null and b/__pycache__/processASCII.cpython-38.pyc differ diff --git a/__pycache__/stackClass.cpython-38.pyc b/__pycache__/stackClass.cpython-38.pyc new file mode 100644 index 0000000..793460f Binary files /dev/null and b/__pycache__/stackClass.cpython-38.pyc differ diff --git a/__pycache__/word_tokenizer.cpython-38.pyc b/__pycache__/word_tokenizer.cpython-38.pyc new file mode 100644 index 0000000..bce9174 Binary files /dev/null and b/__pycache__/word_tokenizer.cpython-38.pyc differ diff --git a/app.py b/app.py new file mode 100644 index 0000000..fff2bd4 --- /dev/null +++ b/app.py @@ -0,0 +1,38 @@ +import os +from convert import compile_T2B +import sys + +opts = [opt for opt in sys.argv[1:] if opt.startswith("-")] +args = sys.argv[1:] + +twopayang=0 +result = '' + +def to_raw(string): + return string.replace("\\","\\\\") + +# transform pattern +# 0 is t2s (text to spelling word) +# 1 is t2bc (text to braille comp code) +type_translate = 0 +if "-m" in opts : + idx = args.index("-m") + type_translate = int(args[idx+1]) + +if "-p" in opts : + idx_path = args.index("-p") + path_name = to_raw(str(args[idx_path+1])) + files = open(path_name, 'r' ,encoding="utf8") + for i in files : + result+= compile_T2B(i, type_translate) + '\n' + print(result) + +if "-t" in opts : + idx_text = args.index("-t") + data = str(args[idx_text+1]) + result = compile_T2B(data, type_translate) + print(result) + # file = open(a) + + + diff --git a/convert.py b/convert.py new file mode 100644 index 0000000..dfe87a0 --- /dev/null +++ b/convert.py @@ -0,0 +1,59 @@ +from processASCII import T2CB,_number +from process import T2SB +from word_tokenizer import word_sylleble + +# fs 0 ==> T2SB #default +# fs 1 ==> T2CB +def compile_T2B(text, fs=0) : + quote=1 + number='' + if text[-1] == '\n' : + text = text[:-1] + + # Tokenize word + text =word_sylleble(text)[0] + + result = '' + + for index in range(len(text)): + j=text[index] + if j=='#' : + break + + if j == '"' : + if quote==0 : + quote=1 + else : + quote=0 + + if j in _number: + number+=j + continue + else : + stateNumber=0 + + if j in ['.',',','-','/'] : + if index-1 >= 0 and text[index-1] in _number: + number+=j + continue + + if number!='' : + if fs : + result += T2CB(number,len(text),quote) + else : + result += T2SB(number,len(text),quote) + number='' + if fs : + result += T2CB(j, len(text),quote) + else : + result += T2SB(j, len(text),quote) + + + if number!='' : + if fs : + result += T2CB(number,len(text),quote) + else : + result += T2SB(number,len(text),quote) + number='' + + return result \ No newline at end of file diff --git a/encode/__pycache__/braille2ASCII.cpython-38.pyc b/encode/__pycache__/braille2ASCII.cpython-38.pyc new file mode 100644 index 0000000..47aae2e Binary files /dev/null and b/encode/__pycache__/braille2ASCII.cpython-38.pyc differ diff --git a/encode/__pycache__/convertChr.cpython-38.pyc b/encode/__pycache__/convertChr.cpython-38.pyc new file mode 100644 index 0000000..bfea601 Binary files /dev/null and b/encode/__pycache__/convertChr.cpython-38.pyc differ diff --git a/encode/braille2ASCII.py b/encode/braille2ASCII.py new file mode 100644 index 0000000..7034550 --- /dev/null +++ b/encode/braille2ASCII.py @@ -0,0 +1,234 @@ +def B2ASCII(ch) : + ############พญัชนะ########################## + if ch=='ก' : + return "g" + if ch=='ข' : + return "k" + if ch=='ฃ' : + return "0k" + if ch=='ค' : + return "u" + if ch=='ฆ' : + return ",u" + if ch=='ฅ' : + return "-u" + if ch=='ง' : + return "}" #same ] + if ch=='จ' : + return "j" + if ch=='ฉ' : + return "/" + if ch=='ช' : + return "+" + if ch=='ฌ' : + return ",+" + if ch=='ซ' : + return "!" + if ch=='ด' : + return "d" + if ch=='ฎ' : + return ",d" + if ch=='ต' : + return "|" + if ch=='ฏ' : + return ",\\" + if ch=='ถ' : + return "t" + if ch=='ฐ' : + return ",t" + if ch=='ท' : + return ")" + if ch=='ฑ' : + return ",)" + if ch=='ฒ' : + return "-)" + if ch=='ธ' : + return "0)" + if ch=='น' : + return "n" + if ch=='ณ' : + return ",n" + if ch=='บ' : + return "v" + if ch=='ป' : + return "&" + if ch=='ผ' : + return "p" + if ch=='ฝ' : + return "x" + if ch=='พ' : + return "?" + if ch=='ภ' : + return ",?" + if ch=='ฟ' : + return "$" + if ch=='ม' : + return "m" + if ch=='ย' : + return "y" + if ch=='ญ' : + return ",y" + if ch=='ร' : + return "r" + if ch=='ล' : + return "l" + if ch=='ฬ' : + return ",l" + if ch=='ว' : + return "w" + if ch=='ส' : + return "s" + if ch=='ศ' : + return ",s" + if ch=='ษ' : + return "-s" + if ch=='ห' : + return "h" + if ch=='อ' : + return "o" + if ch=='ฮ' : + return "=" + + + #########################สระ############################################## + if ch=='ะ' : + return "a" + if ch=='า' : + return "*" + if ch=='ิ' : + return "b" + if ch=='ี' : + return "2" + if ch=='ึ' : + return "{" #same [ + if ch=='ื' : + return "5" + if ch=='ุ' : + return "c" + if ch=='ู' : + return "3" + if ch=='เ' : + return "f" + if ch=='แ' : + return "<" + if ch=='โ' : + return "i" + if ch=='ำ' : + return "z" + if ch=='ไ' : + return ":" + if ch=='ใ' : + return ":1" + if ch=='ฤ' : + return "r1" + if ch=='ๅ' : + return "*" + if ch=='ฦ' : + return "l1" + ###สระประสม + if ch=='!1' : #เอะ + return "fa" + if ch=='!2' : #แอะ + return "" + if ch=='์' : + return "0" + if ch=='ๆ' : + return "1" + if ch=='็' : + return "'" + + #number -------------------------------------------------- + #standard braile thai ถ้า เลขไทย จะขึ้นต้นด้วย จุด 6 แล้วตามด้วย จุด 3456 + if ch == '๐' or ch== '0' : + return "j" + if ch == '๑' or ch== '1' : + return "a" + if ch == '๒' or ch== '2' : + return "b" + if ch == '๓' or ch== '3' : + return "c" + if ch == '๔' or ch== '4' : + return "d" + if ch == '๕' or ch== '5' : + return "e" + if ch == '๖' or ch== '6' : + return "f" + if ch == '๗' or ch== '7' : + return "g" + if ch == '๘' or ch== '8' : + return "h" + if ch == '๙' or ch== '9' : + return "i" + + + if ch=='.' : + return "4" + if ch=='..' : + return "_4" + if ch==',' : + return "1" + if ch==',,' : + return "_4" + if ch==' ' : + return " " + if ch=='?' : + return "_8" + if ch=='!' : + return "_6" + if ch=='ฯ' : + return ";2" + if ch=='-' : + return "-" + if ch=='=' : + return "33" + if ch=='+' : + return "346" + if ch==';' : + return "_2" + if ch==':' : + return "3" + if ch=='/' : + return "_/" + + if ch=='(' or ch ==')' : + return "7" + if ch=='"1' : + return "8" + if ch=='"2' : + return "0" + + \ No newline at end of file diff --git a/encode/convertChr.py b/encode/convertChr.py new file mode 100644 index 0000000..6848e82 --- /dev/null +++ b/encode/convertChr.py @@ -0,0 +1,236 @@ + +def charToBraile(ch) : + + ############พญัชนะ########################## + if ch=='ก' : + return "1245" + if ch=='ข' : + return "13" + if ch=='ฃ' : + return "356|13" + if ch=='ค' : + return "136" + if ch=='ฆ' : + return "6|136" + if ch=='ฅ' : + return "36|136" + if ch=='ง' : + return "12456" + if ch=='จ' : + return "245" + if ch=='ฉ' : + return "34" + if ch=='ช' : + return "346" + if ch=='ฌ' : + return "6|346" + if ch=='ซ' : + return "2346" + if ch=='ด' : + return "145" + if ch=='ฎ' : + return "6|145" + if ch=='ต' : + return "1256" + if ch=='ฏ' : + return "6|1256" + if ch=='ถ' : + return "2345" + if ch=='ฐ' : + return "6|2345" + if ch=='ท' : + return "23456" + if ch=='ฑ' : + return "6|23456" + if ch=='ฒ' : + return "36|23456" + if ch=='ธ' : + return "356|23456" + if ch=='น' : + return "1345" + if ch=='ณ' : + return "6|1345" + if ch=='บ' : + return "1236" + if ch=='ป' : + return "12346" + if ch=='ผ' : + return "1234" + if ch=='ฝ' : + return "1346" + if ch=='พ' : + return "1456" + if ch=='ภ' : + return "6|1456" + if ch=='ฟ' : + return "1246" + if ch=='ม' : + return "134" + if ch=='ย' : + return "13456" + if ch=='ญ' : + return "6|13456" + if ch=='ร' : + return "1235" + if ch=='ล' : + return "123" + if ch=='ฬ' : + return "6|123" + if ch=='ว' : + return "2456" + if ch=='ส' : + return "234" + if ch=='ศ' : + return "6|234" + if ch=='ษ' : + return "36|234" + if ch=='ห' : + return "125" + if ch=='อ' : + return "135" + if ch=='ฮ' : + return "123456" + + + #########################สระ############################################## + if ch=='ะ' : + return "1" + if ch=='า' : + return "16" + if ch=='ิ' : + return "12" + if ch=='ี' : + return "23" + if ch=='ึ' : + return "246" + if ch=='ื' : + return "26" + if ch=='ุ' : + return "14" + if ch=='ู' : + return "25" + if ch=='เ' : + return "124" + if ch=='แ' : + return "126" + if ch=='โ' : + return "24" + if ch=='ำ' : + return "1356" + if ch=='ไ' : + return "156" + if ch=='ใ' : + return "156|2" + if ch=='ฤ' : + return "1235|2" + if ch=='ๅ' : + return "16" + if ch=='ฦ' : + return "123|2" + ###สระประสม + if ch=='!1' : #เอะ + return "124|1" + if ch=='!2' : #แอะ + return "126|1" + if ch=='!3' : #โอะ + return "24|1" + if ch=='!4' : #เอาะ + return "135|1" + if ch=='!5' : #เออะ + return "146|1" + if ch=='!6' : #เออ + return "146" + if ch=='!7' : #เอียะ + return "12356|1" + if ch=='!8' : #เอีย + return "12356" + if ch=='!9' : #เอือะ + return "12345|1" + if ch=='!10' : #เอือ + return "12345" + if ch=='!11' : #อัวะ + return "15|1" + if ch=='!12' : #อัว + return "15" + if ch=='!13' : #เอา + return "235" + + ### top word ################################## + if ch=='่' : + return "35" + if ch=='้' : + return "256" + if ch=='๊' : + return "2356" + if ch=='๋' : + return "236" + if ch=='ั' : + return "345" + if ch=='์' : + return "356" + if ch=='ๆ' : + return "2" + if ch=='็' : + return "3" + + #number -------------------------------------------------- + #standard braile thai ถ้า เลขไทย จะขึ้นต้นด้วย จุด 6 แล้วตามด้วย จุด 3456 + if ch == '๐' or ch== '0' : + return "245" + if ch == '๑' or ch== '1' : + return "1" + if ch == '๒' or ch== '2' : + return "12" + if ch == '๓' or ch== '3' : + return "14" + if ch == '๔' or ch== '4' : + return "145" + if ch == '๕' or ch== '5' : + return "15" + if ch == '๖' or ch== '6' : + return "124" + if ch == '๗' or ch== '7' : + return "1245" + if ch == '๘' or ch== '8' : + return "125" + if ch == '๙' or ch== '9' : + return "24" + + + if ch=='.' : + return "256" + if ch=='..' : + return "456|256" + if ch==',' : + return "3" + if ch==',,' : + return "456|2" + if ch==' ' : + return " " + if ch=='?' : + return "456|236" + if ch=='!' : + return "456|235" + if ch=='ฯ' : + return "56|23" + if ch=='-' : + return "36" + if ch=='=' : + return "56|2356" + if ch=='+' : + return "346" + if ch==';' : + return "456|23" + if ch==':' : + return "456|25" + if ch=='/' : + return "456|34" + + if ch=='(' or ch ==')' : + return "2356" + if ch=='"1' : + return "236" + if ch=='"2' : + return "356" + + \ No newline at end of file diff --git a/encode/pattern.txt b/encode/pattern.txt new file mode 100644 index 0000000..8dcfe34 --- /dev/null +++ b/encode/pattern.txt @@ -0,0 +1,3 @@ +1 . . 4 +2 . . 5 +3 . . 6 diff --git a/evaluate.py b/evaluate.py new file mode 100644 index 0000000..c3ff1db --- /dev/null +++ b/evaluate.py @@ -0,0 +1,71 @@ +import os +from convert import compile_T2B +# stackClass + +T=0 +F=0 +allscore=0 +countTestcase=0 + +# list_task = os.listdir(os.getcwd()+r'/testcase') +list_task = os.listdir(os.getcwd()+r'/testcaseTBT') + +def evaluate(task) : + global allscore ,countTestcase,T,F + + # cwd =os.path.join(os.getcwd()+r'/testcase',task) + cwd =os.path.join(os.getcwd()+r'/testcaseTBT',task) + + f = open(cwd,"r",encoding="utf8") + + #แยกบรรทัด -1 ตัด enter + data= [] + for i in f : + data.append(i[:-1]) + + #จำนวน testcase + alldata = len(data)/2 + countTestcase+=alldata + + #display score + score = 0 + grader = '' + + + quote=1 + number='' + for i in range(0,len(data),2) : + + result = compile_T2B(data[i], 1) + # print(data[i] +"฿"+result+'฿'+result) + if(i+1}su0 +เกอเธ่ +g%f0)9 +เกอวีน่า +g%w2n9* +เกอิชา +fgob+* +แกระ +grvkw(w +ขะเย้อแขย่ง +kay%4d/w(n +เฉนียน +/n(n +เฉลา +/l6 +เฉลิม +/l%m +เฉลียบ +/l(v +เฉวียง +/w(} +เฉวียงบ่า +/w(}v9* +เฉวียน +/w(n +เฉอะ +/%a +แฉละ +/ls!%ir +ซีเรียล +!2r(l +เซราะ +!roa +เซอ +!% +เซอรเรย์ +!%rfry0 +เดือก +dqg +ไดเรกเทอรี +:dfrg)%r2 +ตองเปรียง +|o}&r(} +ตะเหลาะเปาะ +|ahloa&oa +ตัวเก็ง +|efg'} +ตัวเงิน +|e}%n +ตัวเงินตัวทอง +|e}%n|e)o} +ตัวเชิด +|e+%d +ตัวเชื่อม +|e+q9m +ตัวเต็ง +|ef|'} +ตัวเป็นเกลียว +|ef&'ngl(w +ตัวเปล่า +|e&l69 +ตัวเมีย +|em( +ตัวเมือง +|emq} +ตัวเร่ง +|efr9} +ตัวเรือน +|erqn +ตัวเลข +|eflk +ตัวเลือก +|elqg +ตัวเอก +|efog +ตัวเอง +|efo} +ตีนเหยียด +|2nhy(d +เต็มเหยียด +f|'mhy(d +เตรีย +|r( +เตรียด +|r(d +เตรียบ +|r(v +เตละ +f|la +เตี๊ยม +|(7m +เตี๋ยม +|(8m +แตระ +|r8} +แต๊ะเอีย +||w0 +แน่ะ +ns!(9m +โปแตสเซียม +i&<|s!(m +ผย่ำเผยอ +pyz9py% +ผัวเมีย +pem( +เผชิญ +p+%,y +เผชิญโชค +p+%,yi+u +เผชิญภัย +p+%,y,?>y +เผชิญหน้า +p+%,yhn4* +เผดิม +pd%m +เผดียง +pd(} +เผนิก +pn%g +เผยอ +py% +เผยอตัว +py%|e +เผยิบ +py%v +เผยิบผยาบ +py%vpy*v +เผลียง +pl(} +เผอิญ +po%,y +เผอิล +po%l +โผละ +plia +พลูโตเนียม +?l3i|n(m +พอมเพอิส +?omf?obs +พารามีเซียม +?*r*m2!(m +เพนียด +?n(d +เพลาะแพละ +?loa}mlq} +มโหระทึก +mihra){g +มะเหมื่อย +mahmq9y +มัวเมา +mem6 +ม่าเหมี่ยว +m9*hm(9w +มิลเลนเนียม +mblflnn(m +มีเกอลง +m2g%l} +มีเหย้ามีเรือน +m2hy64m2rqn +มูเซอ +m3!% +เมลือง +mlq} +เมลื่อย +mlq9y +เมลื้อย +mlq4y +เมลื่อยมล้า +mlq9yml4* +แมกนิเซียม +n2 +เยอร์มาเนียม +y%r0m*n(m +ระเหระหน +rafhrahn +รีเสริช +r2sr%+ +รูบิดเดียม +r3vbdd(m +เรเดียล +frd(l +เรสเตอรองต์ +frs|%ro}|0 +เรียลไทม์ +r(l:)m0 diff --git a/testcaseTBT/7.txt b/testcaseTBT/7.txt new file mode 100644 index 0000000..b7334ac --- /dev/null +++ b/testcaseTBT/7.txt @@ -0,0 +1,76 @@ +เรียลเอสเตท +r(lfosf|) +ลีเบรอวิล +l2vr%wbl +ลูทิเชียม +l3)b+(m +วาเนเดียม +w*fnd(m +วาสเซอรี +w*s!%r2 +วิ่งเหยาะ +wb9}hyoa +วิเมลือง +wbmlq} +สงบเสงี่ยม +s}vs}(9m +สเตเดียม +sf|d(m +สเตอรอยด์ +s|%royd0 +สไตเนียม +s:|n(m +สรรเสริญ +srrfsrb,y +สังปะติเหงะ +s>}&a|bh}fa +สัพเพเหระ +s>?f?fhra +เสงี่ยม +s}(9m +เสบียง +sv(} +เสบียงกรัง +sv(}gr>} +เสริฟ +sr%$ +เสรีชน +fsr2+n +เสรีธรรม +fsr20)rrm +เสรีนิยม +fsr2nbym +เสรีภาพ +fsr2,?*? +เสรีภาพทางวิชาการ +fsr2,?*?)*}wb+*g*r +เสลา +sl6 +เสลี่ยง +sl(9} +เสลือกสลน +slqgsln +เสวียน +sw(n +แสยะ +syghy6 +หยำแหยะ +hyzhyd +หัวเข่า +hek69 +หัวเงื่อน +he}q9n +หัวเด็ดตีนขาด +hefd'd|2nk*d +หัวเดียวกระเทียมลีบ +hed(wgra)(ml2v +หัวเทียน +he)(n diff --git a/testcaseTBT/8.txt b/testcaseTBT/8.txt new file mode 100644 index 0000000..caf3b1b --- /dev/null +++ b/testcaseTBT/8.txt @@ -0,0 +1,76 @@ +หัวเบี้ย +hev(4 +หัวเม็ด +hefm'd +หัวเมือง +hemq} +หัวเราะ +heroa +หัวเราะเยาะ +heroayoa +หัวเรี่ยวหัวแรง +her(9when +เหยียดหยาม +hy(dhy*m +เหยียบ +hy(v +เหยียบจมูก +hy(vjm3g +เหยียบย่าง +hy(vy9*} +เหยียบย่ำ +hy(vyz9 +เหยี่ยว +hy(9w +เหยี่ยวข่าว +hy(9wk9*w +เหยื่อ +hyq9 +เหยือก +hyqg +เหรอ +hr% diff --git a/testcaseTBT/9.txt b/testcaseTBT/9.txt new file mode 100644 index 0000000..0813cf4 --- /dev/null +++ b/testcaseTBT/9.txt @@ -0,0 +1,82 @@ +เหรา +hr6 +เหลาะเปาะ +hloa&oa +เหลียก +hl(g +เหลียน +hl(n +เหว่า +hw69 +เหวียก +hw(g +เหอเป่ย์ +h%f&9y0 +เหอเฟย์ +h%f$y0 +เหอหนาน +h%hn*n +เหอะ +h%a +แหนะ +hngolq9 +อ่อยเหยื่อ +o9oyhyq9 +อัศเจรีย์ +o>,sfjr2y0 +อาเหลื่อ +o*hlq9 +อิเควทอเรียลกินี +obfuw)or(lgbn2 +อิตเทรีย +ob|)r( +อิมพีเรียล +obm?2r(l +อิสเตรีย +obs|r( +อีเก้อีกัง +o2fg4o2g>} +อีเหยี่ยว +o2hy(9w +อีเหละเขละขละ +o2hlfaklfakla +เอ็ทเทอเทอร์ก +fo'))%)%r0g +เอริเทรีย +forb)r( +เอเรียล +for(l +เออแน่ะ +o%n