キーボードから入力できる文字以外にも、スクリーン上に表示できる文字は沢山 あります。あなたがどんなフォントを使っているのかを確認するためのスクリプトを 作ってみましたので、使ってみて下さい。このような文字を使うために必要な 主なコマンドは"echo -e"です。"-e"スイッチにより、echo はバックスラッシュで エスケープされた文字を解釈するようになります。8進数200-400で表示されるのは、 標準の Linux フォントと VGA フォントでは非常に異なっています。これらの エスケープシーケンスがあなたの端末でおかしな結果を表示するかもしれません ので、注意して下さい。そうなることを防ぐようにはしてありません。Bashprompt でよく用いられている(Word Perfect でなじみになった)罫線や四角の文字は、 8進数260から337にあります。
#!/bin/bash # Script: escgen function usage { echo -e "\033[1;34mescgen\033[0m <lower_octal_value> [<higher_octal_value>]" echo " 8進数エスケープシーケンスジェネレーター:下限の値から上限の値までの" echo " すべての8進数エスケープシーケンスを表示します。もし、2番目の上限の" echo " 値が与えられなければ、8個の文字が表示されます。" echo " 1998 - Giles Orr, no warranty." exit 1 } if [ "$#" -eq "0" ] then echo -e "\033[1;31mPlease supply one or two values.\033[0m" usage fi let lower_val=${1} if [ "$#" -eq "1" ] then # もし上限値が与えられない場合は、8個にする。 upper_val=$(echo -e "obase=8 \n ibase=8 \n $lower_val+10 \n quit" | bc) else let upper_val=${2} fi if [ "$#" -gt "2" ] then echo -e "\033[1;31mPlease supply two values.\033[0m" echo usage fi if [ "${lower_val}" -gt "${upper_val}" ] then echo -e "\033[1;31m${lower_val} is larger than ${upper_val}." echo usage fi if [ "${upper_val}" -gt "777" ] then echo -e "\033[1;31mValues cannot exceed 777.\033[0m" echo usage fi let i=$lower_val let line_count=1 let limit=$upper_val while [ "$i" -lt "$limit" ] do octal_escape="\\$i" echo -en "$i:'$octal_escape' " if [ "$line_count" -gt "7" ] then echo # Put a hard return in. let line_count=0 fi let i=$(echo -e "obase=8 \n ibase=8 \n $i+1 \n quit" | bc) let line_count=$line_count+1 done echo
xfd を使って X フォントに含まれるすべての文字を表示することも できます。 コマンドは、"xfd -fn <fontname>"です。ある文字の上でクリックすると、 その8進法での値を含め、その文字に関する様々な情報が得られます。上のスクリプト は、コンソール上で現在のフォント名が分からない時に役に立つでしょう。