#!/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"] tenji1= cgi["Jname"] #名前入力 tenji2= cgi["Ename"] #名字入力 tenji3= cgi["Jen"]#値札 tenji4= cgi["Een"] 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" # tenji1 = 'りんご' # tenji2 = 'Apple' # tenji3 = '200 エン' # tenji4='200 外yen' # 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 jisho= j_ary[0] jisho2=j_ary[1] jisho3=j_ary[2] seion=jisho.keys[0..50] #片仮名 #seion2=jisho.keys[74..121] #平仮名 eisu=jisho3.keys[0..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 f_ten=mena(f_ten,tenji1,jisho2,jisho,seion,eisu,jisho3,oomoji,komoji) l_ten=mena(l_ten,tenji2,jisho2,jisho,seion,eisu,jisho3,oomoji,komoji) #tenei=eika(en,tenei) #tenei=eika(tenji1,tenei) suten=sutem(tenji3,suten,jisho3.keys[76]) nadd=sutem(tenji4,nadd,jisho3.keys[76]) ary1=f_ten.split("") ary2=l_ten.split("") ary3=suten.split("") ary4=nadd.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=f_ten.length rm=l_ten.length sj=suten.length sa=nadd.length tmj=f_ten.length trm=l_ten.length tsj=suten.length tsa=nadd.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*2 #和名の列のy軸 y_fline=y_fline.to_f cv_size=side_C-side_D first=make_entyu(f_ten,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(l_ten,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(suten,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(nadd,ch,num2,x_line,y_nline,ten_count,iti_count,side_D,cv_size,vert_D) saigo=end_meisi(saigo,ph) #make_fcmacro(ita,first[0],last[0],num[0],saigo) make_fcmacro2(ita,first[0],last[0],num[0],num2[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("<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>") sj+=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