○#計算(#代入(&STR,[かな]),#代入(&STR,#S(#S(#S(#S(#S(#S(#S(#S(#S(#S(#S(#S(#S(#S(#S(#S(#S(#S(#S(#S(#S(#S(#S(#S(#かな(#全角(&STR)),”ぎゃ”,”GYA”),”ぎゅ”,”GYU”),”ぎょ”,”GYO”),”じゃ”,”JA”),”じゅ”,”JU”),”じょ”,”JO”),”びゃ”,”BYA”),”びゅ”,”BYU”),”びょ”,”BYO”),”ぴゃ”,”PYA”),”ぴゅ”,”PYU”),”ぴょ”,”PYO”),”りゃ”,”RYA”),”りゅ”,”RYU”),”りょ”,”RYO”),”しゃ”,”SHA”),”しゅ”,”SHU”),”しょ”,”SHO”),”ちゃ”,”CHA”),”ちゅ”,”CHU”),”ちょ”,”CHO”),”にゃ”,”NYA”),”にゅ”,”NYU”),”にょ”,”NYO”)),#代入(&STR,#S(#S.........(以下省略)と言う今村式かな→ヘボン式ローマ字置換式を自分なりに解読に努めてみました。先頭から順に計算して、最後の式で求められた値を返します。すべて同じデータ型である必要はありません。○全体の構造としては、#計算(#代入(),#代入(),#代入(),#代入(),#代入(),#代入(),.........)となっており、#代入が全部で13個ありますが、順次#代入の計算がなされ、最後の#代入の結果を表示するのかなと言う感じです。自信はありませんが(^^;)。○#代入(&STR,[かな])ですが、&STRは、桐を起動すると同時に宣言され、桐を終了すると同時に削除される組み込み変数で、とりあえず文字列を格納したいとき自由に使えるものであり、#代入によって、&STRに[かな]のデータが格納されます。○#S(#かな(#全角(&STR)),”ぎゃ”,”GYA”)ですが、#Sは、#文字置換の英語表示であり、この場合、#かな(#全角(&STR))の中の”ぎゃ”を”GYA”と置換します。○#S(#S(#かな(#全角(&STR)),”ぎゃ”,”GYA”),”ぎゅ”,”GYU”)ですが、#S(#かな(#全角(&STR)),”ぎゃ”,”GYA”)は、#かな(#全角(&STR))の中に、”ぎゃ”がない場合は、#かな(#全角(&STR))がそのまま残りますので、この中に”ぎゅ”があれば”GYU”に置換します。○同様にして#S(#S(#S(#かな(#全角(&STR)),”ぎゃ”,”GYA”),”ぎゅ”,”GYU”),”ぎょ”,”GYO”)は、#かな(#全角(&STR))の中に、”ぎゃ”も”ぎゅ”も無ければ#かな(#全角(&STR))がそのまま残りますので”ぎょ”があれば”GYO”に置換し、以降同様にして、”にょ”を”NYO”と置換し、以降#代入によって同様にして”みゃ”から”ぼ”、”ぱ”から”-”、”あ”から”と”と置換していきます。○#代入(&STR,#COND(#文字位置(&STR,”っ”)>0,#COND(#SSTR(&STR,#文字位置(&STR,”っ”)+1,1)=”C”,#S(&STR,”っ”,”T”),1,#S(&STR,”っ”,#SSTR(&STR,#文字位置(&STR,”っ”)+1,1))),1,&STR))が難しそうですが、#CONDは#条件選択、#SSTRは#部分列であり、&STRに”っ”が含まれており、”っ”の一つ後の文字が”C”の場合は、”っ”を”T”に、その他の場合は”っ”の一つ後の文字に置換し、&STRに”っ”が含まれて居ない場合はそのままにすると言う命令のようであり、その後の#代入は、昨日紹介した日本旅行のヘボン式ローマ字一覧表での以下の処理をしているようです。2000年4月1日より旅券面氏名の表記について、現行の『ヘボン式表記』に加えOHによる記載も認められるようになりました。申請者が氏名表記について「O」と「OH」を選択することができます。までお問合せください。KOHNO※同一家族で「原則」と「改定後の表記」を使い分けると、別家族と思われる可能性があるので家族の中ではどちらかに統一されることをお勧めいたします。