#!/usr/bin/env ruby # -*- coding: utf-8 -*- Encoding.default_internal = "UTF-8" Encoding.default_external = "UTF-8" require 'cgi' require './kana_Braille.rb' require './wakachi.rb' require './unicode_Braille.rb' require './fcmake.rb' #require './mkstl.rb' cgi = CGI.new(:tag_maker =>"html5", :accept_charset => "UTF-8") p_size=cgi["paper"] f_type=cgi["f"] tenji1= cgi["F_name"] #名前入力 l_type=cgi["l"] tenji2= cgi["L_name"] #名字入力 c_type=cgi["c"] tenji3= cgi["call"]#電話番号 a_type=cgi["a"] tenji4= cgi["add"] side_D=cgi["Dh_value"].to_f side_C=cgi["Cv_value"].to_f vert_D=cgi["Dv_value"].to_f vert_C=cgi["Ch_value"].to_f ph=cgi["Ph_value"].to_f bh=cgi["Bh_value"].to_f # p_size="55 91" # f_type="N" # tenji1 = 'AB佐藤B' # l_type="N" # tenji2 = '今' # c_type="M" # tenji3 = '123' # a_type="M" # tenji4= '123' # side_D=2.13 # side_C=5.85 # vert_D=2.37 # vert_C=13.91 # ph=1.5 # bh=1.5 #デバック用 calc=Calc_size(p_size,side_C,vert_C) #板のサイズと点字を入れる幅を決める f="dakuon.csv" f2="youon.csv" f3="al_num.csv" braille = "kiyone.csv" ch = tenji(braille) f_ary = [f, f2, f3] j_ary = Array.new for file in f_ary j_ary[f_ary.rindex(file)] = seiku(file) end types = [f_type,l_type,c_type,a_type] jisho= j_ary[0] jisho2=j_ary[1] jisho3=j_ary[2] # 二重大文字符への対応はまだ seion=jisho.keys[0..52] #片仮名 #seion2=jisho.keys[74..121] #平仮名 eisu=jisho3.keys[4..75] #アルファベットと数字 oomoji=jisho3.keys[4..29] #アルファベット大文字 komoji=jisho3.keys[30..54] #小文字 suji=jisho3.keys[55..75] #数字 tunagu=jisho3.keys[76..79] #数符、継符、万、億 f_ten=String.new l_ten=String.new suten=String.new nadd=String.new ten=[f_ten,l_ten,suten,nadd] tenjis=[tenji1,tenji2,tenji3,tenji4] aaa=0 while aaa<types.length if types[aaa]=="N" || types[aaa]=="E" ten[aaa]=mena(ten[aaa],tenjis[aaa],jisho2,jisho,seion,eisu,jisho3,oomoji,komoji) elsif types[aaa]=="C" ten[aaa]=sutem(tenjis[aaa],ten[aaa],jisho3.keys[76]) if aaa==3 ten[aaa]+=" yen" else ten[aaa]+=" エン" end else types[aaa]=="M" #l_ten=mena(l_ten,tenji2,jisho2,jisho,seion,eisu,jisho3,oomoji,komoji) ten[aaa]=sutem(tenjis[aaa],ten[aaa],jisho3.keys[76]) end aaa+=1 end #nadd=sutem(tenji4,nadd,jisho3.keys[76]) #tenei=eika(en,tenei) #tenei=eika(tenji1,tenei) ary1=ten[0].split("") ary2=ten[1].split("") ary3=ten[2].split("") ary4=ten[3].split("") t_ften=String.new t_lten=String.new t_suten=String.new t_nadd=String.new t_ften= tenjika(t_ften,ary1,ch) t_lten= tenjika(t_lten,ary2,ch) t_suten= tenjika(t_suten,ary3,ch) t_nadd= tenjika(t_nadd,ary4,ch) mj=ten[0].length rm=ten[1].length sj=ten[2].length sa=ten[3].length tmj=ten[0].length trm=ten[1].length tsj=ten[2].length tsa=ten[3].length a=[tmj,trm,tsj,tsa] a=a.sort.reverse #########fcmacro作成開始############## ita=String.new ita=make_ita(ita,bh,calc[0],calc[1]) first=String.new last=String.new num=String.new num2=String.new saigo=String.new ten_count=0 iti_count=0 x_line=calc[1]-(calc[1]-vert_C/2) x_line=x_line.to_f y_fline=calc[0]-vert_D*1.5 #和名の列のy軸 y_fline=y_fline.to_f cv_size=side_C-side_D first=make_entyu(ten[0],ch,first,x_line,y_fline,ten_count,iti_count,side_D,cv_size,vert_D) ten_count=first[1] iti_count=first[2] y_sline=y_fline-vert_C #p vert_c #y_sline=33.09 #ローマ字の列のy軸 y_sline=y_sline.to_f last=make_entyu(ten[1],ch,last,x_line,y_sline,ten_count,iti_count,side_D,cv_size,vert_D) ten_count=last[1] iti_count=last[2] y_tline=y_sline-vert_C #y_tline=19.18 #電話番号の列のy軸 y_tline=y_tline.to_f num=make_entyu(ten[2],ch,num,x_line,y_tline,ten_count,iti_count,side_D,cv_size,vert_D) ten_count=num[1] iti_count=num[2] y_nline=y_tline-vert_C y_nline=y_nline.to_f num2=make_entyu(ten[3],ch,num2,x_line,y_nline,ten_count,iti_count,side_D,cv_size,vert_D) saigo=end_meisi(saigo,ph) make_fcmacro2(ita,first[0],last[0],num[0],num2[0],saigo) #make_fcmacro(ita,first[0],last[0],num[0],saigo) #make_py(ita,first[0],last[0],num[0],saigo) ########fcmacro作成終了 print("Content-type: text/html; charset=UTF-8\n\n") print("<html>\n") print("<head>\n") print("<title>点字にする</title>\n") print("<link rel=\"stylesheet\" type=\"text/css\" href=\"tenji.css\" media=\"screen\">\n") print("</head>\n") print("<body>\n") print("<form method=\"POST\" action=\"./tenji.html\">") if calc[2]<tmj || calc[2]<trm || calc[2]<tsj print("<p>すみません。#{calc[2]}文字以上は対応できません。<\p>\n") print("<button type=\"submit\">点字作成ページに戻る</button>\n") print("</form>") print("</body>\n") print("</html>\n") elsif f_ten.include?("ヨメナイ")== true #print("<p>すみません。表示できません。<\p>\n") print("<p>辞書に含まれていない文字があるため表示できませんでした。<\p>") print("<button type=\"submit\">点字作成ページに戻る</button>\n") print("<a href=\"./make_newdic.html\">辞書に単語を追加</a>") print("</form>") print("</body>\n") print("</html>\n") elsif side_C<=side_D || vert_C<=vert_D print("<p>点字の行間または文字間が不適切なため表示できませんでした。<\p>") print("<button type=\"submit\">点字作成ページに戻る</button>\n") print("<a href=\"./make_newdic.html\">辞書に単語を追加</a>") print("</form>") print("</body>\n") print("</html>\n") else #print("<p>#{calc[0]}mm*#{calc[1]}mm 1行:#{calc[2]}characters #{calc[3]}列</p>\n") # print("<p>#{c_type}</p>\n") print("<div id='left'><table>\n") print("<caption>墨字での表記</caption>") print("<tr>\n") sss=0 for moji1 in ary1 #print("<td>a</td>") if sss==0 print("<td class=a1 id=iro1>#{moji1}</td>") sss+=1 else print("<td class=a2 id=iro1>#{moji1}</td>") end end while mj<a[0] print("<td class=a2 id=iro1> </td>") mj+=1 end print("</tr>\n") print("<tr>\n") for moji2 in ary2 #print("<td>a</td>") if sss==1 print("<td class=a1 id=iro2>#{moji2}</td>") sss+=1 else print("<td class=a2 id=iro2>#{moji2}</td>") end end while rm<a[0] print("<td class=a2 id=iro2> </td>") rm+=1 end print("</tr>\n") print("<tr>\n") for moji3 in ary3 #print("<td>a</td>") if sss==2 print("<td class=a1>#{moji3}</td>") sss+=1 else print("<td class=a2>#{moji3}</td>") end end while sj<a[0] print("<td class=a2> </td>") sj+=1 end print("</tr>\n") print("<tr>\n") for moji4 in ary4 #print("<td>a</td>") if sss==2 print("<td class=a1>#{moji4}</td>") sss+=1 else print("<td class=a2>#{moji4}</td>") end end while sa<a[0] print("<td class=a2> </td>") sa+=1 end print("</tr>\n") print("</table></div>\n") #print("<br>") print("<div id='right'><table>\n") print("<caption>墨点字での表記</caption>") print("<tr>\n") for tenmo1 in t_ften.split(";") #print("<td>a</td>") if sss==3 print("<td class=a1>#{tenmo1};</td>") sss+=1 else print("<td class=a2>#{tenmo1};</td>") end end while tmj<a[0] print("<td class=a2> </td>") tmj+=1 end print("</tr>\n") print("<tr>\n") for tenmo2 in t_lten.split(";") #print("<td>a</td>") if sss==4 print("<td class=a1>#{tenmo2};</td>") sss+=1 else print("<td class=a2>#{tenmo2};</td>") end end while trm<a[0] print("<td class=a2> </td>") trm+=1 end print("</tr>\n") print("<tr>\n") for tenmo3 in t_suten.split(";") #print("<td>a</td>") if sss==5 print("<td class=a1>#{tenmo3};</td>") sss+=1 else print("<td class=a2>#{tenmo3};</td>") end end while tsj<a[0] print("<td class=a2> </td>") tsj+=1 end print("</tr>\n") print("<tr>\n") for tenmo4 in t_nadd.split(";") #print("<td>a</td>") if sss==5 print("<td class=a1>#{tenmo4};</td>") sss+=1 else print("<td class=a2>#{tenmo4};</td>") end end while tsa<a[0] print("<td class=a2> </td>") tsa+=1 end print("</tr>\n") print("</table></div>\n") print("<p><a href=\"./watasu.fcmacro\">点字データのダウンロードはこちらから</a></p>\n") print("<a href=\"./make_newdic.html\"><button type=\"button\">名前の読み方があっていない場合は辞書に追加しましょう</button></a>\n") print("</form>") print("</body>\n") print("</html>\n") end