cxux 表現から字上符表現へ

作成日 : 2005-08-20
最終更新日 :

エスペラントの文字とcxux 表現

エスペラントはアルファベット26文字のうち22文字を使う。 残りの4文字(q, w, x, y)は原則として使わず、 字上符という記号をつける。一つは^、もう一つはvである。 ^はc, g, h, j, s に、v は u に付く。

しかし、字上符をつけた活字を表示するのは大変だ。 そこでタイプライターやコンピュータでは、便宜的に字上符をxで表現してきた。

最近、コンピュータ上で字上符付きのフォントが表示できるようになった。 そこで、今まで cx や ux という表現をしてきたページを、 インターネット上で字上符表示できるようにする。 以下、それを実現するスクリプトである。。


ARGF.each {|line|
	line.gsub!(/Cx/, 'Ĉ')
	line.gsub!(/cx/, 'ĉ')
	line.gsub!(/Gx/, 'Ĝ')
	line.gsub!(/gx/, 'ĝ')
	line.gsub!(/Hx/, 'Ĥ')
	line.gsub!(/hx/, 'ĥ')
	line.gsub!(/Jx/, 'Ĵ')
	line.gsub!(/jx/, 'ĵ')
	line.gsub!(/Sx/, 'Ŝ')
	line.gsub!(/sx/, 'ŝ')
	line.gsub!(/Ux/, 'Ŭ')
	line.gsub!(/ux/, 'ŭ')
	print line
}

実行結果は次のとおり。実行後は、ブラウザによる表示結果である。

実行前

Cx cx Gx gx Hx hx Jx jx Sx sx Ux ux

実行後

Ĉ ĉ Ĝ ĝ Ĥ ĥ Ĵ ĵ Ŝ ŝ Ŭ ŭ

cxux 以外の表現

c^u~表現

インターネットではこの表現が多い。u だけは字上符が v なので、~ を使っている。 このときは、^ はエスケープするのがよい。正規表現で ^ が使われるからだ。

c^u^表現

u も 他の文字と同じく ^ を使う場合がある。

Unicode による表現

gsub(/([CcGgHhJjSsUu]\^)/, 'C^'=>"\u0108", 'c^'=>"\u0109", 'G^'=>"\u011c", 'g^'=>"\u011d", 'H^'=>"\u0124", 'h^'=>"\u0125", 'J^'=>"\u0134", 'j^'=>"\u0135", 'S^'=>"\u015c", 's^'=>"\u015d", 'U^'=>"\u016c", 'u^'=>"\u016d")

を使えばよい。

まりんきょ学問所Ruby の浮き輪 > cxux 表現から字上符表現へ


MARUYAMA Satosi