#!/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]=MecabNatto(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=MecabNatto(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

