No.224 | 投稿日時: | 2004/11/18(木) 19:08 <親記事> |
投稿者: | set |
こんばんわ、初めて書込みをさせて頂きます。
文字コードと文字の対応について疑問があり、今日一日検索サイトを巡っていたのですが、うまくヒットしませんでした。もしよろしかったら、アドバイスなど頂けないでしょうか。
調べたいのは、UNIX(AIX)上で実際の文字コードと文字の対応はどこで行なわれているのか? になります。
例えばシフトJISのFA58(IBM拡張文字)が(株)(実際には一文字の方です)になると思いますが、OS(アプリケーションになるのでしょうか)がFA58が(株)だと判定する時、どういった方法で判定しているのでしょうか。
viなどで開いた時にうまく表示されるのは、どこで文字コード→文字の対応が行なわれているのかと思いまして・・・。
変換テーブルみたいなファイルがあって、それを元に行っているのかと思い、「文字コード」「変換テーブル」「マッピング」「対応表」等で検索をしているのですが、中々うまくいきません。
また外字登録をする際に、どこかに情報を書き込むと思われるので、「外字」「登録」などでも見てみたのですが、芳しくありませんでした。
コードセットが云々という記述もあり、現在この辺りを調べているのですが、もしもっとよい調べ方等がありましたら、ぜひアドバイスを頂けたらうれしいです。
宜しくお願い致します。
No.225 | 投稿日時: | 2004/11/19(金) 00:46 <↑親記事:No.224> |
投稿者: | 森山 将之 |
> 文字コードと文字の対応について疑問があり、今日一日検索サイトを巡っていたのですが、うまくヒットしませんでした。もしよろしかったら、アドバイスなど頂けないでしょうか。
単純化して話をしますが、ソフトウェアでは、文字コードはあくまでも、数値として扱っているに過ぎずません。
人間の目に見えるようにするには、図形として画面に表示させなければなりませんが、その図形データは、フォントファイルに格納されていますから、文字コードと文字の対応は、フォントファイルが持っていると考えることも出来るでしょう。
フォントの図形データが異なれば、同じ文字コードであっても、別の文字が表示される事になります。
No.226 | 投稿日時: | 2004/11/19(金) 14:39 <↑親記事:No.225> |
投稿者: | set |
森山様
お返事が遅くなりまして申し訳ありません。
お答え有難うございます。とても勉強になります。確かに言われてみればそうですね。
そうすると、例えば下記のようになるのでしょうか。
・SJISでIBM拡張文字である"(株)"という文字は、OSではFA58という文字コードを持っている。
・OSの言語設定をSJISではなくEUCなどに変えたら、変更後のFA58に紐付く文字が表示される。
・外字を登録したい場合は、フォントファイルにユーザー定義文字コードに該当する文字をセットで登録する(実際にできるかは不明ですが、概念的に)。
上記のアドバイスで、下記のようなディレクトリとファイルを見つけたのですが(他にも色々ありました)、これらのファイルが文字コードと文字の対応情報を保持しているという認識で間違っていないでしょうか(S.outとかSとかファイル名の命名規則がよく分からないのですが)?
[user1]/usr/lib/font> ls -ltr
合計 56
drwxr-xr-x 2 bin bin 512 Feb 18 2004 devibm5585H-T
drwxr-xr-x 2 bin bin 512 Feb 18 2004 devibm5584
drwxr-xr-x 2 bin bin 512 Feb 18 2004 devibm5587G
drwxr-xr-x 2 bin bin 512 Feb 18 2004 devibm3816
drwxr-xr-x 2 bin bin 512 Feb 18 2004 devibm3812
drwxr-xr-x 2 bin bin 512 Feb 18 2004 devhplj
drwxr-xr-x 6 bin bin 512 Feb 18 2004 devcanonls
[user1]/usr/lib/font>
[user1]/usr/lib/font/devcanonls> ls -ltr
合計 32
drwxr-xr-x 2 bin bin 512 Feb 18 2004 IBM-932
drwxr-xr-x 2 bin bin 512 Feb 18 2004 IBM-850
drwxr-xr-x 2 bin bin 512 Feb 18 2004 ISO8859-1
drwxr-xr-x 2 bin bin 512 Feb 18 2004 IBM-eucJP
[user1]/usr/lib/font/devcanonls>
[user1]/usr/lib/font/devcanonls/IBM-932> ls -ltr
合計 184
-rw-r--r-- 4 bin bin 5040 Feb 18 2004 S.out
-rw-r--r-- 3 bin bin 3001 Feb 18 2004 S
-rw-r--r-- 2 bin bin 732 Feb 18 2004 I.out
-rw-r--r-- 2 bin bin 2283 Feb 18 2004 GI
-rw-r--r-- 2 bin bin 732 Feb 18 2004 GD.out
-rw-r--r-- 2 bin bin 2281 Feb 18 2004 GD
-rw-r--r-- 2 bin bin 2281 Feb 18 2004 GB
-rw-r--r-- 1 bin bin 11839 Feb 18 2004 DESC.out
-rw-r--r-- 1 bin bin 1586 Feb 18 2004 DESC
-rw-r--r-- 2 bin bin 732 Feb 18 2004 BI.out
-rw-r--r-- 2 bin bin 2276 Feb 18 2004 BI
-rw-r--r-- 2 bin bin 729 Feb 18 2004 B.out
-rw-r--r-- 2 bin bin 732 Feb 18 2004 R.out
-rw-r--r-- 2 bin bin 2273 Feb 18 2004 R
-rw-r--r-- 2 bin bin 2272 Feb 18 2004 I
-rw-r--r-- 2 bin bin 732 Feb 18 2004 GI.out
-rw-r--r-- 2 bin bin 732 Feb 18 2004 GB.out
-rw-r--r-- 2 bin bin 732 Feb 18 2004 G.out
-rw-r--r-- 2 bin bin 2279 Feb 18 2004 G
-rw-r--r-- 2 bin bin 2274 Feb 18 2004 B
[user1]/usr/lib/font/devcanonls/IBM-932>
ただファイルサイズや中身をみた感じでは、やけにサイズが小さいのですが、本当にこのファイルなのか・・・中身の見方もよく分かってはいないのですが・・。
あっ、.outは同名ファイルのコンパイル後と思ったのですが、そういうわけでもなのかもしれませんね。
.outをみると、そうサイズが小さいわけでもないので、全ての文字が入っていそうな気もします。
質問とは別になるのですが、.outに文字コードと文字の対応情報があるのであれば、自分で手軽に登録・変更などを行うのは難しそうですね。
【中身の一例(.outじゃない方です)】
name BI
spacewidth 25
charset
\| 17 0 0001/6 em
\^ 8 0 000 1/12 em
\& 0 0 000 zero-width
! 81 2 041
・
・
・
もし差し支えなければ、上記で間違った部分がありましたらご指摘頂けると、とてもうれしいです。
本当に有難うございました。
No.227 | 投稿日時: | 2004/11/19(金) 14:49 <↑親記事:No.226> |
投稿者: | set |
あ、あれ、下記のはcanonlsコマンドで使用するプリンタ用のフォントなのかも・・・。
/usr/lib/font/devcanonls
もう少し見てみないといけませんね。
No.228 | 投稿日時: | 2004/11/20(土) 19:10 <↑親記事:No.226> |
投稿者: | 森山 将之 |
何がやりたてく、どういった事を知りたいのか不明なので、前に書いたことくらいしかアドバイスできません。
外字が使えるかどうかとか、外字の登録方法は、使用しているシステムに依存しますので、しかるべきところに尋ねるべきかと思います。
AIX が外字をサポートしていて、それを使うのであれば、AIX の開発元 (IBMかな) に聞くべき事でしょう。
ひとつ気をつけなければならない事は、あくまでも AIX マシンに接続されているディスプレイで表示を行なっている場合の話で、もしも、異なる端末で文字表示を行なっているのなら、その端末での外字表示がどのうようになっているのかを調べる必要がありますのでご注意ください。
No.224 | 投稿日時: | 2004/11/18(木) 19:08 <親記事> |
投稿者: | set |
こんばんわ、初めて書込みをさせて頂きます。
文字コードと文字の対応について疑問があり、今日一日検索サイトを巡っていたのですが、うまくヒットしませんでした。もしよろしかったら、アドバイスなど頂けないでしょうか。
調べたいのは、UNIX(AIX)上で実際の文字コードと文字の対応はどこで行なわれているのか? になります。
例えばシフトJISのFA58(IBM拡張文字)が(株)(実際には一文字の方です)になると思いますが、OS(アプリケーションになるのでしょうか)がFA58が(株)だと判定する時、どういった方法で判定しているのでしょうか。
viなどで開いた時にうまく表示されるのは、どこで文字コード→文字の対応が行なわれているのかと思いまして・・・。
変換テーブルみたいなファイルがあって、それを元に行っているのかと思い、「文字コード」「変換テーブル」「マッピング」「対応表」等で検索をしているのですが、中々うまくいきません。
また外字登録をする際に、どこかに情報を書き込むと思われるので、「外字」「登録」などでも見てみたのですが、芳しくありませんでした。
コードセットが云々という記述もあり、現在この辺りを調べているのですが、もしもっとよい調べ方等がありましたら、ぜひアドバイスを頂けたらうれしいです。
宜しくお願い致します。
No.225 | 投稿日時: | 2004/11/19(金) 00:46 <↑親記事:No.224> |
投稿者: | 森山 将之 |
> 文字コードと文字の対応について疑問があり、今日一日検索サイトを巡っていたのですが、うまくヒットしませんでした。もしよろしかったら、アドバイスなど頂けないでしょうか。
単純化して話をしますが、ソフトウェアでは、文字コードはあくまでも、数値として扱っているに過ぎずません。
人間の目に見えるようにするには、図形として画面に表示させなければなりませんが、その図形データは、フォントファイルに格納されていますから、文字コードと文字の対応は、フォントファイルが持っていると考えることも出来るでしょう。
フォントの図形データが異なれば、同じ文字コードであっても、別の文字が表示される事になります。
No.226 | 投稿日時: | 2004/11/19(金) 14:39 <↑親記事:No.225> |
投稿者: | set |
森山様
お返事が遅くなりまして申し訳ありません。
お答え有難うございます。とても勉強になります。確かに言われてみればそうですね。
そうすると、例えば下記のようになるのでしょうか。
・SJISでIBM拡張文字である"(株)"という文字は、OSではFA58という文字コードを持っている。
・OSの言語設定をSJISではなくEUCなどに変えたら、変更後のFA58に紐付く文字が表示される。
・外字を登録したい場合は、フォントファイルにユーザー定義文字コードに該当する文字をセットで登録する(実際にできるかは不明ですが、概念的に)。
上記のアドバイスで、下記のようなディレクトリとファイルを見つけたのですが(他にも色々ありました)、これらのファイルが文字コードと文字の対応情報を保持しているという認識で間違っていないでしょうか(S.outとかSとかファイル名の命名規則がよく分からないのですが)?
[user1]/usr/lib/font> ls -ltr
合計 56
drwxr-xr-x 2 bin bin 512 Feb 18 2004 devibm5585H-T
drwxr-xr-x 2 bin bin 512 Feb 18 2004 devibm5584
drwxr-xr-x 2 bin bin 512 Feb 18 2004 devibm5587G
drwxr-xr-x 2 bin bin 512 Feb 18 2004 devibm3816
drwxr-xr-x 2 bin bin 512 Feb 18 2004 devibm3812
drwxr-xr-x 2 bin bin 512 Feb 18 2004 devhplj
drwxr-xr-x 6 bin bin 512 Feb 18 2004 devcanonls
[user1]/usr/lib/font>
[user1]/usr/lib/font/devcanonls> ls -ltr
合計 32
drwxr-xr-x 2 bin bin 512 Feb 18 2004 IBM-932
drwxr-xr-x 2 bin bin 512 Feb 18 2004 IBM-850
drwxr-xr-x 2 bin bin 512 Feb 18 2004 ISO8859-1
drwxr-xr-x 2 bin bin 512 Feb 18 2004 IBM-eucJP
[user1]/usr/lib/font/devcanonls>
[user1]/usr/lib/font/devcanonls/IBM-932> ls -ltr
合計 184
-rw-r--r-- 4 bin bin 5040 Feb 18 2004 S.out
-rw-r--r-- 3 bin bin 3001 Feb 18 2004 S
-rw-r--r-- 2 bin bin 732 Feb 18 2004 I.out
-rw-r--r-- 2 bin bin 2283 Feb 18 2004 GI
-rw-r--r-- 2 bin bin 732 Feb 18 2004 GD.out
-rw-r--r-- 2 bin bin 2281 Feb 18 2004 GD
-rw-r--r-- 2 bin bin 2281 Feb 18 2004 GB
-rw-r--r-- 1 bin bin 11839 Feb 18 2004 DESC.out
-rw-r--r-- 1 bin bin 1586 Feb 18 2004 DESC
-rw-r--r-- 2 bin bin 732 Feb 18 2004 BI.out
-rw-r--r-- 2 bin bin 2276 Feb 18 2004 BI
-rw-r--r-- 2 bin bin 729 Feb 18 2004 B.out
-rw-r--r-- 2 bin bin 732 Feb 18 2004 R.out
-rw-r--r-- 2 bin bin 2273 Feb 18 2004 R
-rw-r--r-- 2 bin bin 2272 Feb 18 2004 I
-rw-r--r-- 2 bin bin 732 Feb 18 2004 GI.out
-rw-r--r-- 2 bin bin 732 Feb 18 2004 GB.out
-rw-r--r-- 2 bin bin 732 Feb 18 2004 G.out
-rw-r--r-- 2 bin bin 2279 Feb 18 2004 G
-rw-r--r-- 2 bin bin 2274 Feb 18 2004 B
[user1]/usr/lib/font/devcanonls/IBM-932>
ただファイルサイズや中身をみた感じでは、やけにサイズが小さいのですが、本当にこのファイルなのか・・・中身の見方もよく分かってはいないのですが・・。
あっ、.outは同名ファイルのコンパイル後と思ったのですが、そういうわけでもなのかもしれませんね。
.outをみると、そうサイズが小さいわけでもないので、全ての文字が入っていそうな気もします。
質問とは別になるのですが、.outに文字コードと文字の対応情報があるのであれば、自分で手軽に登録・変更などを行うのは難しそうですね。
【中身の一例(.outじゃない方です)】
name BI
spacewidth 25
charset
\| 17 0 0001/6 em
\^ 8 0 000 1/12 em
\& 0 0 000 zero-width
! 81 2 041
・
・
・
もし差し支えなければ、上記で間違った部分がありましたらご指摘頂けると、とてもうれしいです。
本当に有難うございました。
No.227 | 投稿日時: | 2004/11/19(金) 14:49 <↑親記事:No.226> |
投稿者: | set |
あ、あれ、下記のはcanonlsコマンドで使用するプリンタ用のフォントなのかも・・・。
/usr/lib/font/devcanonls
もう少し見てみないといけませんね。
No.228 | 投稿日時: | 2004/11/20(土) 19:10 <↑親記事:No.226> |
投稿者: | 森山 将之 |
何がやりたてく、どういった事を知りたいのか不明なので、前に書いたことくらいしかアドバイスできません。
外字が使えるかどうかとか、外字の登録方法は、使用しているシステムに依存しますので、しかるべきところに尋ねるべきかと思います。
AIX が外字をサポートしていて、それを使うのであれば、AIX の開発元 (IBMかな) に聞くべき事でしょう。
ひとつ気をつけなければならない事は、あくまでも AIX マシンに接続されているディスプレイで表示を行なっている場合の話で、もしも、異なる端末で文字表示を行なっているのなら、その端末での外字表示がどのうようになっているのかを調べる必要がありますのでご注意ください。