ja_JP.UTF-8
■ このスレッドは過去ログ倉庫に格納されています
1login:Penguin
04/02/19 17:09ID:EuXdEmYH Linux で ja_JP.UTF-8 ロケールで暮らす方法についてのスレです。
04/03/30 10:23ID:2+ZkdaEN
文字幅って半角何文字分かということ?
亜がAの2文字分っていう前提からしてフォント依存なのに、
なるべくポータブルの意味がわからん。
「これこれのフォントを使っている」という前提がどこかに必要。
亜がAの2文字分っていう前提からしてフォント依存なのに、
なるべくポータブルの意味がわからん。
「これこれのフォントを使っている」という前提がどこかに必要。
04/03/30 10:44ID:D5b8R0dA
>>82
ここよりpfaeditとかいじってるやつがいるところで聞いた方がいいんじゃないかな?
ここよりpfaeditとかいじってるやつがいるところで聞いた方がいいんじゃないかな?
04/03/30 11:27ID:+N0HhOX2
>>83
フォントのメトリックを含めて取得したいという意味では?
フォントのメトリックを含めて取得したいという意味では?
04/03/30 11:30ID:ApCTMVrY
>>23 を読むと rxvt でなんとかしたい模様。
8766=82
04/03/30 11:43ID:c1zMVIom >>83
> 文字幅って半角何文字分かということ?
うぃ。
> 亜がAの2文字分っていう前提からしてフォント依存なのに、
あー、とりあえずターミナルエミュレータとゆーか固定ピッチフォントのみの
世界限定の話です。目的はcocotで変換不能文字を適切なカラム数でスキップす
ることなんで……。(とは言え、ここでがんばったとしてもEast Asian Width
でambiguousになる文字についてはどーにもこーにもcocotのよーなレイヤでは
整合性なんか取りよーがなさそげなので、これはこれで鬱)
>>84
フォントエディタですか。うーん、ちょっと関心のある部分が違うよーな。気
にしているのはUnicode文字列をターミナルエミュレータ上でどうハンドリン
グするかなので。
> 文字幅って半角何文字分かということ?
うぃ。
> 亜がAの2文字分っていう前提からしてフォント依存なのに、
あー、とりあえずターミナルエミュレータとゆーか固定ピッチフォントのみの
世界限定の話です。目的はcocotで変換不能文字を適切なカラム数でスキップす
ることなんで……。(とは言え、ここでがんばったとしてもEast Asian Width
でambiguousになる文字についてはどーにもこーにもcocotのよーなレイヤでは
整合性なんか取りよーがなさそげなので、これはこれで鬱)
>>84
フォントエディタですか。うーん、ちょっと関心のある部分が違うよーな。気
にしているのはUnicode文字列をターミナルエミュレータ上でどうハンドリン
グするかなので。
8866
04/03/30 12:09ID:c1zMVIom ぐぐるとemacs-w3m MLのアーカイブとかひっかかるんだけど、先人が(ン年前
に)はまった泥沼に足突っ込んでるオカ〜ン。最新の情報はどっかにまとまっ
てないもんか……。
# 調査すべきもの: 最近のxterm、luit、mlterm、w3m(0.5にはlibwcが入って
# るみたいなので、w3m-m17n相当?)、emacs、他に何かあるかなぁ。
に)はまった泥沼に足突っ込んでるオカ〜ン。最新の情報はどっかにまとまっ
てないもんか……。
# 調査すべきもの: 最近のxterm、luit、mlterm、w3m(0.5にはlibwcが入って
# るみたいなので、w3m-m17n相当?)、emacs、他に何かあるかなぁ。
04/03/30 18:12ID:8/uyDw3m
wcwidth, wcswidth じゃダメかね
04/03/30 19:34ID:6qOQKc6W
フォントの幅ならX{mb,wc}TextEscapement。
04/03/30 21:19ID:cj3Zi+AV
9266
04/03/31 02:45ID:f7K9ZfXB04/03/31 09:49ID:6/tPX99p
> tcsh スレ
ってどこ? tcshで検索しても出てこない
> 2 バイトまでの utf-8
それってCJKはぜんぜん対応してないってことじゃん…
ってどこ? tcshで検索しても出てこない
> 2 バイトまでの utf-8
それってCJKはぜんぜん対応してないってことじゃん…
9466
04/03/31 10:53ID:f7K9ZfXB テストコードを書こうとして調べていたのですが……。
ttp://www.okisoft.co.jp/esc/cygwin-5.html#5.3
だめぢゃん_| ̄|○
# wide character系の関数はことごとく期待できないとゆーことで
# ファイナルアンサー?(;_;)>cygwin
ttp://www.okisoft.co.jp/esc/cygwin-5.html#5.3
だめぢゃん_| ̄|○
# wide character系の関数はことごとく期待できないとゆーことで
# ファイナルアンサー?(;_;)>cygwin
95login:Penguin
04/03/31 12:55ID:aNoBOFKp >>93 すまん。tcsh-ml の間違いだった。
04/03/31 15:40ID:BTqfWFS5
04/03/31 16:49ID:aNoBOFKp
>>96 tcsh の話と cygwin の話はぜんぜん関係ないぞ
9866=92=94
04/03/31 17:10ID:f7K9ZfXB >>89
しつこくて済みませんが、cygwin1.dllのソース見てみました。
int
_DEFUN (wcwidth, (wc),
_CONST wchar_t wc)
{
if (iswprint (wc))
return 1;
if (iswcntrl (wc) || wc == L'\0')
return 0;
return -1;
}
はっはっはっはっ……。
しつこくて済みませんが、cygwin1.dllのソース見てみました。
int
_DEFUN (wcwidth, (wc),
_CONST wchar_t wc)
{
if (iswprint (wc))
return 1;
if (iswcntrl (wc) || wc == L'\0')
return 0;
return -1;
}
はっはっはっはっ……。
04/03/31 17:58ID:o1W2fgfD
>>98
IBMのICUでできそうな。おおげさかね?
こんなかんじ。
#include <icu/uchar.h>
UEastAsianWidth ea = (UEastAsianWidth)u_getIntPropertyValue(c, UCHAR_EAST_ASIAN_WIDTH);
厳密には幅そのものじゃないけど。まぁ使えそう。
IBMのICUでできそうな。おおげさかね?
こんなかんじ。
#include <icu/uchar.h>
UEastAsianWidth ea = (UEastAsianWidth)u_getIntPropertyValue(c, UCHAR_EAST_ASIAN_WIDTH);
厳密には幅そのものじゃないけど。まぁ使えそう。
10066
04/03/31 19:03ID:f7K9ZfXB >>99
情報感謝。ICUは盲点ですた。でも残念ながらCJK「以外」の文字(列)に関する
文字幅も欲しいんです……。ICUのドキュメントを眺めてみたところでは、そー
ゆーのを直接取得する手段はなさそうな感じ。死ぬほどプロパティが付随して
るので、必要なものを組み合わせてごりごり処理すれば何とかなるかもしれま
せんが、さすがにンな気力は……。
# このあたりの情報がろくに引っ掛かってこないのは、
# 英米(Latin1が使えたらえーやん)
# <欧州(Latin*が使えたらえーやん)
# <日中韓(CJKが使えたらえーやん)
# 状態になってるから?
産総研のm17n-libも調べてみたけど、やっぱりそのあたりをハンドリングする
手段はないよーな。
テキスト系アプリケーション(特に端末制御するもの)って、アプリと端末エミュ
レータの認識が一致していないと正しく動かないはずなのに、Emacsもw3mも
xtermもmltermもみーんな独自の世界でやってるよーに見えるなぁ……。
# ただ単にcocotにちょっとしたパッチを当てよー、と思っただけなのに何で
# こんなにハマるんだか(´_`;
情報感謝。ICUは盲点ですた。でも残念ながらCJK「以外」の文字(列)に関する
文字幅も欲しいんです……。ICUのドキュメントを眺めてみたところでは、そー
ゆーのを直接取得する手段はなさそうな感じ。死ぬほどプロパティが付随して
るので、必要なものを組み合わせてごりごり処理すれば何とかなるかもしれま
せんが、さすがにンな気力は……。
# このあたりの情報がろくに引っ掛かってこないのは、
# 英米(Latin1が使えたらえーやん)
# <欧州(Latin*が使えたらえーやん)
# <日中韓(CJKが使えたらえーやん)
# 状態になってるから?
産総研のm17n-libも調べてみたけど、やっぱりそのあたりをハンドリングする
手段はないよーな。
テキスト系アプリケーション(特に端末制御するもの)って、アプリと端末エミュ
レータの認識が一致していないと正しく動かないはずなのに、Emacsもw3mも
xtermもmltermもみーんな独自の世界でやってるよーに見えるなぁ……。
# ただ単にcocotにちょっとしたパッチを当てよー、と思っただけなのに何で
# こんなにハマるんだか(´_`;
04/03/31 19:40ID:o1W2fgfD
East Asian Widthプロパティって、Not East Asianなら半角幅やん。
結局CJK以外でも文字幅は判る(Ambiguous以外)。
ttp://www.unicode.org/reports/tr11/
それとも漏れ何か勘違いしてる?>識者
結局CJK以外でも文字幅は判る(Ambiguous以外)。
ttp://www.unicode.org/reports/tr11/
それとも漏れ何か勘違いしてる?>識者
04/03/31 21:35ID:ZB8ltdIE
うむ、等幅フォントというくらいだから本来はすべて同じ幅のはずなのだ。
CJKのほうがある意味特殊。
CJKのほうがある意味特殊。
10366
04/03/31 22:00ID:f7K9ZfXB >>101
一概には言えない。おいらが気付いている範囲では、
ttp://www.unicode.org/versions/Unicode4.0.0/ch05.pdf
5.6 Normalization
5.8 Newline Guidelines
5.10 Language Information in Plain Text
あたりが頭痛の種かと。
# MacOSXで濁点・半濁点が正規化されてるのは割と有名な話。5.8や5.10は、
# どーせンなもん使ってるシステムなんてあらへんやろ、と割り切れそーだけ
# ど、5.6だけはなぁ……。
他にも、Bidi(Bidirectional Algorithm)ってターミナルエミュレータではどー
扱うことになってんの、とか、他にも気付いてない謎仕様があるんだろーなぁ、
とか……。
一概には言えない。おいらが気付いている範囲では、
ttp://www.unicode.org/versions/Unicode4.0.0/ch05.pdf
5.6 Normalization
5.8 Newline Guidelines
5.10 Language Information in Plain Text
あたりが頭痛の種かと。
# MacOSXで濁点・半濁点が正規化されてるのは割と有名な話。5.8や5.10は、
# どーせンなもん使ってるシステムなんてあらへんやろ、と割り切れそーだけ
# ど、5.6だけはなぁ……。
他にも、Bidi(Bidirectional Algorithm)ってターミナルエミュレータではどー
扱うことになってんの、とか、他にも気付いてない謎仕様があるんだろーなぁ、
とか……。
04/04/01 06:08ID:4WIXUreh
Bidiはmltermをデファクトスタンダードとして広めてしまえ。
他に対応している端末エミュレータなんて無いだろ?
他に対応している端末エミュレータなんて無いだろ?
04/04/02 13:55ID:Q4WUuZrw
04/04/03 02:15ID:8rtp/FCG
ja_JPなのになんでBidiが関係あるの?
04/04/03 22:05ID:m8RgfiGD
04/04/05 08:38ID:Yy2AZo4/
04/04/05 15:42ID:fVLXvA3l
つーか
繁体字中国語では「毛澤東」
簡体字中国語では「毛?x6CFD;?x4E1C;」だから
Unicodeでもgrep '毛沢東'に意味がないのは明白なんだが。
誰が広めた都市伝説なんだろうか。
繁体字中国語では「毛澤東」
簡体字中国語では「毛?x6CFD;?x4E1C;」だから
Unicodeでもgrep '毛沢東'に意味がないのは明白なんだが。
誰が広めた都市伝説なんだろうか。
04/04/05 15:43ID:fVLXvA3l
う、UNIX板は文字参照が使えないのか
04/04/05 16:57ID:rNILKf1h
そこで Han unification ですよw
04/04/05 17:32ID:fVLXvA3l
だから毛沢東は統合されてへんねん
つーか>>106からどんどん話がそれていくんだが
つーか>>106からどんどん話がそれていくんだが
113login:Penguin
04/04/06 17:43ID:zyebb/QV04/04/08 05:26ID:q3IUWRt2
東大のコンピュータシステムのMacOS Xではja_JP.utf-8 になりました.
現在TAのチームがひたすらラッパやパッチを作っているようです.
そのうち各ソフトウェアの本家に還元されるかもしれません.
現在TAのチームがひたすらラッパやパッチを作っているようです.
そのうち各ソフトウェアの本家に還元されるかもしれません.
04/04/08 07:32ID:XquLn+B2
Mac OS X ということは NFD ですか
04/04/09 07:36ID:7V6eqqUK
ワイド版ncursesを使ったり、libtextwrapを使ったり、fribidiを使ったり
ということでしょうか
ということでしょうか
04/04/11 14:48ID:9+C9vXmC
ja_JP.UTF-8 環境で、bash で PS1=長い日本語プロンプト
なんてことをすると、行の折り返し位置の計算が間違ってる
みたいですね。バイト数とカラム数を同一視してるみたい。
なんてことをすると、行の折り返し位置の計算が間違ってる
みたいですね。バイト数とカラム数を同一視してるみたい。
04/04/11 21:25ID:gbdBsXOA
Apacheつかって表示するファイル一覧もなー(サイズの位置とかがずれる)
04/04/12 17:27ID:bOAxqETY
04/04/19 16:27ID:wtI4wXfK
>>114TAじゃないよん。ちなみに学部生ばっかりなので期待しない方がいいかもしれない。
04/04/21 10:49ID:87XNAVif
screen も utf-8 対応してる。
eucjp やその他の euc、sjis、big5、iso8859-x 等々にも対応している。
実際の表示端末に使う encoding と各スクリーンに使う encoding を
それぞれ独立して設定できるので cocot や luit、ttyconv と同様のことができる。
例えば、utf-8 対応の xterm 配下でスクリーン 1 を eucjp、スクリーン 2 を sjis、
スクリーン 3 を utf-8 で動かすといったことが可能。
実行中、他に影響を与えることなく変更することも可能。
eucjp やその他の euc、sjis、big5、iso8859-x 等々にも対応している。
実際の表示端末に使う encoding と各スクリーンに使う encoding を
それぞれ独立して設定できるので cocot や luit、ttyconv と同様のことができる。
例えば、utf-8 対応の xterm 配下でスクリーン 1 を eucjp、スクリーン 2 を sjis、
スクリーン 3 を utf-8 で動かすといったことが可能。
実行中、他に影響を与えることなく変更することも可能。
122login:Penguin
04/06/05 14:46ID:FZ7KtiyQ で、最近はまともに生活できるようになってるんですか。
04/06/06 00:26ID:InK4icog
EUCからUTF-8にすると遅くなったりしないの?
少なくとも2バイトから3バイトになった分のメモリは使ってるんでしょ。
これは微々たる物だと思うけど、webでは流行らないんじゃないかな。
たとえば掲示板系の大手サイトがsjisからUTF-8に移行したりすると
転送量増えそうだし(でも、圧縮とかすれば問題ないのかな
画像一枚の方が負荷的には大きいけど、文字だけでも結構あると思うよ。
少なくとも2バイトから3バイトになった分のメモリは使ってるんでしょ。
これは微々たる物だと思うけど、webでは流行らないんじゃないかな。
たとえば掲示板系の大手サイトがsjisからUTF-8に移行したりすると
転送量増えそうだし(でも、圧縮とかすれば問題ないのかな
画像一枚の方が負荷的には大きいけど、文字だけでも結構あると思うよ。
04/06/06 02:54ID:O+pxj2S+
最近はライブラリとかツールキットで内部はUCS4とかUTF8とかが
あるから、そういう場合は逆に変換の手間がなくなるかと。
Webページについては、掲示板のたぐいはたしかにメリットがないかも。
翻訳とか、複数言語を同時に表示する必要があるところでは
使われるだろうな。
あるから、そういう場合は逆に変換の手間がなくなるかと。
Webページについては、掲示板のたぐいはたしかにメリットがないかも。
翻訳とか、複数言語を同時に表示する必要があるところでは
使われるだろうな。
04/06/06 03:35ID:KxbaNUGk
>翻訳とか、複数言語を同時に表示する必要があるところでは
おお、まさにうちだ。
とある洋ゲーの英文テキストを多人数でよってたかって翻訳するwikiみたいなCGIなんだが
原文にウムラウトやアクサンの入った固有名詞が頻出してるので
DBの内部コードから表示系まで全部 UTF-8 で作った。
おお、まさにうちだ。
とある洋ゲーの英文テキストを多人数でよってたかって翻訳するwikiみたいなCGIなんだが
原文にウムラウトやアクサンの入った固有名詞が頻出してるので
DBの内部コードから表示系まで全部 UTF-8 で作った。
04/06/06 08:19ID:S/boGRmd
いわゆる先進国の言語だけ扱うんだったら、それはそれは
便利なコードだからね。
便利なコードだからね。
127login:Penguin
04/06/06 11:20ID:deT4Xqu2 >>122
UTF-8はEUC-JP, ISO2022-JP, WindowsSJIS(Windows-31J)のすべての
特殊文字を含んでるので、どの環境でもすべての文字が正しく読めるメリット
はあると思いますよ。さらに付け加えると、WindowsSJISは本来のShisftJIS
の仕様にはない文字があるし、それから「〜」がShiftJISの仕様書と異なる
コードになってます。この辺の問題はUnicodeとかUTF-8にする事でだいたい
解決できます。
UTF-8はEUC-JP, ISO2022-JP, WindowsSJIS(Windows-31J)のすべての
特殊文字を含んでるので、どの環境でもすべての文字が正しく読めるメリット
はあると思いますよ。さらに付け加えると、WindowsSJISは本来のShisftJIS
の仕様にはない文字があるし、それから「〜」がShiftJISの仕様書と異なる
コードになってます。この辺の問題はUnicodeとかUTF-8にする事でだいたい
解決できます。
04/06/06 13:24ID:EGqCVEuE
メールもUTF-8で出していいですか?
04/06/06 13:31ID:u+wbsnxA
>>128
受ける側が読めるなら。
受ける側が読めるなら。
130login:Penguin
04/06/06 13:58ID:F4MfuIYb >>129 つまり携帯以外ですか?
04/06/06 15:05ID:Gm0vxGXW
メールのために UTF-7 があるが、まず使われないだろうな…
04/06/06 16:45ID:8Zpd8Gr7
お前ら勘違いしてませんか?
ここは ja_JP.UTF-8 のスレであって,Unicode のスレではない.
ここは ja_JP.UTF-8 のスレであって,Unicode のスレではない.
04/06/13 23:45ID:hijPyot4
Unicodeのスレはどこにありますか?
なかったとして何板に立てるのが適切ですか?
なかったとして何板に立てるのが適切ですか?
04/06/14 00:47ID:2RL5Y4Ie
135login:Penguin
04/06/14 13:11ID:Kpo/7hO+ xmmsでwinampとtagを共有するには使えない
04/06/15 00:19ID:1nIdf8BO
>>134
EUC撲滅のスレッドに見えますが…
スレ違いという理由で誘導されてるのに話題が出ているというだけの理由で
スレ違いのスレッドに案内されても困ります。
それともうにこーだーはすべからくEUCの撲滅を望まなければなりませんか
EUC撲滅のスレッドに見えますが…
スレ違いという理由で誘導されてるのに話題が出ているというだけの理由で
スレ違いのスレッドに案内されても困ります。
それともうにこーだーはすべからくEUCの撲滅を望まなければなりませんか
04/06/15 07:49ID:+9gsKEDe
138login:Penguin
04/06/17 10:41ID:TUtqbBWf xpdf って、UTF-8 に対応してますか?日本語表示できる PDF ファイルと、できない PDF ファイルがあって、どうやら、MS Office で作成した PDF ファイルがダメっぽいので、UTF-8 のせいかな、なんて思ってます。
04/06/17 14:51ID:Wuxldr94
04/06/19 01:35ID:hBPlVOmh
だからここは文字コードスレじゃないと主張してるんだろ。
それとも>>134以外に文字コードスレがあるの?
それとも>>134以外に文字コードスレがあるの?
141へりくつ星人
04/06/27 16:21ID:o/ZzpKCM 1を見れば分かるように、ここはロケールのスレで
あって、文字コードのスレではありません。「たまたま」
utfの話題が多いだけなのです。
あって、文字コードのスレではありません。「たまたま」
utfの話題が多いだけなのです。
142login:Penguin
04/06/28 00:15ID:Tve7N2OE 最近はみんな満足してるのかな?
俺は tcsh に utf-8 パッチをあてたものを使ってるんだが、
ロシア語とか■とか、そういう端末上での文字幅があいまいな文字が
のきなみ半角扱いになってしまって、
ずれるんだよな。
emacs + mule-ucs でも同様なのでずれるんだよな。
どうしたもんかしら(´・ω・`)
俺は tcsh に utf-8 パッチをあてたものを使ってるんだが、
ロシア語とか■とか、そういう端末上での文字幅があいまいな文字が
のきなみ半角扱いになってしまって、
ずれるんだよな。
emacs + mule-ucs でも同様なのでずれるんだよな。
どうしたもんかしら(´・ω・`)
04/06/28 06:24ID:fWk93VUD
>>123
UNICODEの文字セットを日本語2バイトで扱う符号UTFCP2がある:
ttp://www.nowsmartsoft.or.tv/nws/Japanese/chara_code_compare.htm
特徴は2バイトのコードポイント数が非常に大きいこと、状態非依存であること、
正確にテキストを逆戻り可能なこと。
UNICODEの文字セットを日本語2バイトで扱う符号UTFCP2がある:
ttp://www.nowsmartsoft.or.tv/nws/Japanese/chara_code_compare.htm
特徴は2バイトのコードポイント数が非常に大きいこと、状態非依存であること、
正確にテキストを逆戻り可能なこと。
04/06/28 06:37ID:LgxqrPnR
LightCone乙
04/07/28 04:36ID:lpc0mwrw
test
04/08/10 16:05ID:jpxCYepz
てst
04/08/24 23:47ID:+PM77uqo
04/08/25 00:16ID:SpZWXCwV
何を今更
04/11/06 05:16:52ID:zrKtV3hP
04/11/08 10:07:11ID:lMXPbsp8
何を今更
151login:Penguin
04/12/04 21:05:30ID:6+KTXyp/ >>142
ずれないようにするにはターミナルエミュレータ(xtemとか)とエディタ (emacs
とか)の両方で全角半角判定が共通である必要がある。で、上の方で
1. 判定には何を使うべきか? wcwidth()/wcswidth()? その他?
2. 判定結果はどうあるべきか
... という話があったわけだが、結論は (ry
せめて 1. がこの世のすべての CUI なプログラムで統一されればずれなくなるん
だけどねー。
最近自分もこの問題に巻き込まれてしまった... orz
ずれないようにするにはターミナルエミュレータ(xtemとか)とエディタ (emacs
とか)の両方で全角半角判定が共通である必要がある。で、上の方で
1. 判定には何を使うべきか? wcwidth()/wcswidth()? その他?
2. 判定結果はどうあるべきか
... という話があったわけだが、結論は (ry
せめて 1. がこの世のすべての CUI なプログラムで統一されればずれなくなるん
だけどねー。
最近自分もこの問題に巻き込まれてしまった... orz
04/12/04 21:24:29ID:Ac1hFSyz
>>151
最近は端末エミュレータに ck を使っているのですが、
ck (や xterm) は半角/全角があいまいな文字を
半角で表示するか全角で表示するか選択可能なので、
すこしマシになりました。
最近は端末エミュレータに ck を使っているのですが、
ck (や xterm) は半角/全角があいまいな文字を
半角で表示するか全角で表示するか選択可能なので、
すこしマシになりました。
04/12/04 21:25:47ID:5ZS2CgHD
04/12/04 21:33:56ID:ziFkWoAh
サロゲートペア考えたやつは死刑
155login:Penguin
04/12/04 21:39:06ID:uTy9W2B7 >>154 うむ。あんな変なことするくらいなら、
素直に UCS4 で良かったのにな。
素直に UCS4 で良かったのにな。
156中の人
04/12/04 22:01:59ID:b+GZcVVR だって16bitで十分だと思ったんだもん…
157login:Penguin
04/12/04 22:16:44ID:6+KTXyp/ >>152
へーそうなんですか。曖昧な文字をすべて全角か半角か一方にすればとりあえず
困らないって感じですか?
実装をチェックしてみねば... どのみち、既存の wcswidth() を使ったら OK、という
ような単純なものではなさそうで。
全角半角問題に関しては、逆に CUI 系のプログラムから全角/半角という概念を
捨てきれればいいのかも。常に1文字1カラムで、ターミナルとかで既存の
挙動をしてほしかったらフォントのメトリックで対処すればいいとか。
(可変幅のカラムといいますか... アルファベットが等幅&日本語の文字幅がアル
ファベットの2倍にデザインされたフォントを使う)
って、これって問題をフォントのデザインに押し付けただけ?
あーでも、文字の表示を簡単に揃えたいときには結局固定幅のカラムじゃないと困る
ような気もしてきました。たとえば ls コマンドの表示ルーチンでフォントの
メトリックを計算させる必要があるとしたら (w
やっぱ Unicode がイカン、ということで。
へーそうなんですか。曖昧な文字をすべて全角か半角か一方にすればとりあえず
困らないって感じですか?
実装をチェックしてみねば... どのみち、既存の wcswidth() を使ったら OK、という
ような単純なものではなさそうで。
全角半角問題に関しては、逆に CUI 系のプログラムから全角/半角という概念を
捨てきれればいいのかも。常に1文字1カラムで、ターミナルとかで既存の
挙動をしてほしかったらフォントのメトリックで対処すればいいとか。
(可変幅のカラムといいますか... アルファベットが等幅&日本語の文字幅がアル
ファベットの2倍にデザインされたフォントを使う)
って、これって問題をフォントのデザインに押し付けただけ?
あーでも、文字の表示を簡単に揃えたいときには結局固定幅のカラムじゃないと困る
ような気もしてきました。たとえば ls コマンドの表示ルーチンでフォントの
メトリックを計算させる必要があるとしたら (w
やっぱ Unicode がイカン、ということで。
04/12/04 22:34:42ID:b+GZcVVR
>>157
> あーでも、文字の表示を簡単に揃えたいときには結局固定幅のカラムじゃないと困る
> ような気もしてきました。たとえば ls コマンドの表示ルーチンでフォントの
> メトリックを計算させる必要があるとしたら (w
mozillaのxmltermどうよ?
> あーでも、文字の表示を簡単に揃えたいときには結局固定幅のカラムじゃないと困る
> ような気もしてきました。たとえば ls コマンドの表示ルーチンでフォントの
> メトリックを計算させる必要があるとしたら (w
mozillaのxmltermどうよ?
04/12/04 22:40:54ID:6+KTXyp/
>>153
確かに。
で、とりあえず話を全角半角問題(?)に絞ると
wcwidth() が
1. 既存のエンコーディングを使うロケール (e.g ja_JP.eucJP)のときは、それらしく動く
(EUC-JP で2バイトな文字は全角、それ以外は半角 <- って、これも問題があるような)
2. Unicode を使うロケール( e.g. ja_JP.UTF-8) のときは
とりあえず EUC-JP -> UTF-8 にマッピングがある文字は 1. と同じ挙動。
ないものは、その他のロケールを探して(e.g. zh_CN.eucCN)、1. と同じような
判定ができればそれを採用。(できない場合は...)
みたいな挙動をしてくれたら、皆でそれを使えばいいような気がするんですが。。。
Ambiguous 云々というのは Unicode をベースに考えるからで、では既存のエンコーディング
をベースに考えると、こういうことになるのではないかと思いますが。。。
どのみち旧来の全角半角というのがあまり明快な考え方ではないので、決め方自体はすっきりしませんが、上のようにすれば、文字幅は地域コードのみに依存してエンコーディングに
は依存しないかなと。
確かに。
で、とりあえず話を全角半角問題(?)に絞ると
wcwidth() が
1. 既存のエンコーディングを使うロケール (e.g ja_JP.eucJP)のときは、それらしく動く
(EUC-JP で2バイトな文字は全角、それ以外は半角 <- って、これも問題があるような)
2. Unicode を使うロケール( e.g. ja_JP.UTF-8) のときは
とりあえず EUC-JP -> UTF-8 にマッピングがある文字は 1. と同じ挙動。
ないものは、その他のロケールを探して(e.g. zh_CN.eucCN)、1. と同じような
判定ができればそれを採用。(できない場合は...)
みたいな挙動をしてくれたら、皆でそれを使えばいいような気がするんですが。。。
Ambiguous 云々というのは Unicode をベースに考えるからで、では既存のエンコーディング
をベースに考えると、こういうことになるのではないかと思いますが。。。
どのみち旧来の全角半角というのがあまり明快な考え方ではないので、決め方自体はすっきりしませんが、上のようにすれば、文字幅は地域コードのみに依存してエンコーディングに
は依存しないかなと。
04/12/04 22:47:51ID:RHj7f47U
EUC-JPの半角カナは2バイトだよ・・・??
04/12/04 22:48:37ID:6+KTXyp/
>>158
>mozillaのxmltermどうよ?
う、使ったことないけど、もしかして表示の整列とかを賢くやってくれちゃうのかな?
いろいろ疑問がわくけど (ry とりあえず後で使ってみます。
眠くなったきたので休憩...
>mozillaのxmltermどうよ?
う、使ったことないけど、もしかして表示の整列とかを賢くやってくれちゃうのかな?
いろいろ疑問がわくけど (ry とりあえず後で使ってみます。
眠くなったきたので休憩...
04/12/04 22:54:15ID:5ZS2CgHD
04/12/04 22:57:36ID:b+GZcVVR
164login:Penguin
04/12/05 07:11:53ID:3PBNWURc Unicode 絡みの話題と言えば、最近 Mac OS X のバージョンが変わると特定の文字のコードが変わるとか言う話があったね。
http://slashdot.jp/article.pl?sid=04/11/30/1014219&topic=11&mode=nested
まぁドラフト段階の字形-コードの対応表を使っちゃった Apple が悪いんだけどさ。
ところで、「字形-コードの対応表」って専門用語ではなんて言うの?
http://slashdot.jp/article.pl?sid=04/11/30/1014219&topic=11&mode=nested
まぁドラフト段階の字形-コードの対応表を使っちゃった Apple が悪いんだけどさ。
ところで、「字形-コードの対応表」って専門用語ではなんて言うの?
04/12/05 11:35:33ID:U+jxCrh2
Coded Character Set
04/12/05 12:27:30ID:3PBNWURc
>>165 符号化文字集合…か。
04/12/05 22:36:47ID:U+jxCrh2
>Coded Character Set(CCS)
説明不足だった。これは文字毎に一意の番号を振ってある文字集合。
JIS X 0208とか、UCS-2とかがそれ。
CCSをどういうバイト列で表すかがCharacter Encoding Scheme(CES)。
EUC-JPとかUTF-8とかがそれ。
ただ、字形じゃなくて文字概念に番号がついてるから、どっちも
厳密には>>164の言ってるものじゃないのかも。
AdobeのCIDは字形に番号が振ってあるな。
説明不足だった。これは文字毎に一意の番号を振ってある文字集合。
JIS X 0208とか、UCS-2とかがそれ。
CCSをどういうバイト列で表すかがCharacter Encoding Scheme(CES)。
EUC-JPとかUTF-8とかがそれ。
ただ、字形じゃなくて文字概念に番号がついてるから、どっちも
厳密には>>164の言ってるものじゃないのかも。
AdobeのCIDは字形に番号が振ってあるな。
04/12/15 17:38:23ID:CmtNvJ+T
xmlterm、まだ使ってないけどスクリーンショットでそのコンセプトはわかった
気がする。ターミナルを一種のブラウザと考えるとああなるのかな。
今までのターミナルはプレーンテキスト専用のブラウザとも言える訳だ。
こうなったら、ウェブブラウザもファイルブラウザもターミナルも
全部統合した UI を目指す事にします。ってどこかで見た気が...
気がする。ターミナルを一種のブラウザと考えるとああなるのかな。
今までのターミナルはプレーンテキスト専用のブラウザとも言える訳だ。
こうなったら、ウェブブラウザもファイルブラウザもターミナルも
全部統合した UI を目指す事にします。ってどこかで見た気が...
04/12/15 20:35:16ID:AiVgzkM7
餅は餅屋ということわざを教えてあげたい
04/12/15 23:06:31ID:pwu6u1JE
和菓子屋の餅も旨いよ。
04/12/15 23:18:48ID:v6Owr1lz
佐藤の切り餅って超まずいね。というか餅じゃない。
あんな餅を餅だと思って食べている人がいるかと思うと
かわいそうだ。
あんな餅を餅だと思って食べている人がいるかと思うと
かわいそうだ。
04/12/29 01:17:45ID:3YiZNVoJ
173login:Penguin
05/01/18 15:41:07ID:Wb3X1dyN05/02/26 04:56:11ID:OxqQlLig
Mac OS X,で使われているUTF-8 with NFDを扱おうとおもって、
http://www.opensource.apple.com/darwinsource/10.3.8/
からAppleハック済みのlibiconvをx86のlinuxでコンパイルしてみました。
configureもmakeも問題なくできるのだけれども、iconv -f UTF-8-MAC -t UTF-8 等としてもどうもうまく動かないんです。
(Mac OS Xでコンパイルすると問題なく動きます。)
どうもエンディアンの問題臭いのですが、自力では解決できず...
netatalkのUTF-8 with NFDの実装が一番上手な気がするのですが、そこからもってくるのは難しいので困っています。
どなたかNFDからComposed Formに変換する方法をご存知の方はいらっしゃいますか?
http://www.opensource.apple.com/darwinsource/10.3.8/
からAppleハック済みのlibiconvをx86のlinuxでコンパイルしてみました。
configureもmakeも問題なくできるのだけれども、iconv -f UTF-8-MAC -t UTF-8 等としてもどうもうまく動かないんです。
(Mac OS Xでコンパイルすると問題なく動きます。)
どうもエンディアンの問題臭いのですが、自力では解決できず...
netatalkのUTF-8 with NFDの実装が一番上手な気がするのですが、そこからもってくるのは難しいので困っています。
どなたかNFDからComposed Formに変換する方法をご存知の方はいらっしゃいますか?
05/03/07 02:10:29ID:233WSAJL
なんで UTF-8 の変換にエンディアンが関係するんdayo!
って一瞬思ったけど、iconv の内部的には一旦 UTF-16 とかにしてるのかな?
Apple のハックのせいなんなら普通の libiconv と比較してみたらいいんじゃねーの?
それか普通の libiconv にその UTF-8-MAC を追加する方向で修正してみるとか
...ってのができないわけね。
Mac OS X が使えるなら Mac OS X 上で変換してから他のプラットフォームに持って
いくんじゃ駄目なのか?
って一瞬思ったけど、iconv の内部的には一旦 UTF-16 とかにしてるのかな?
Apple のハックのせいなんなら普通の libiconv と比較してみたらいいんじゃねーの?
それか普通の libiconv にその UTF-8-MAC を追加する方向で修正してみるとか
...ってのができないわけね。
Mac OS X が使えるなら Mac OS X 上で変換してから他のプラットフォームに持って
いくんじゃ駄目なのか?
05/03/07 12:53:14ID:v/gznSFy
05/03/08 12:02:39ID:FpUM9LjU
ja_JP.UTF-8 ロケールでeuc-jpのnfs鯖をマウントするときみんなどうやってるの?
(sambaや、webdav使えばできるんだけどネ、nfsでの解決策を教えてね)
(sambaや、webdav使えばできるんだけどネ、nfsでの解決策を教えてね)
178175
05/03/08 12:30:30ID:p+KoiNpg 問題が本当にエンディアンのせいなら、utf8mac_mbtowc() が呼んでいる
utf8_decodestr() の引数に UTF_REVERSE_ENDIAN をセットしてみたらいいかも。
ハードコーディングになっちゃうけど。
それで駄目だったら >>176 の回答待ちか。
utf8_decodestr() の引数に UTF_REVERSE_ENDIAN をセットしてみたらいいかも。
ハードコーディングになっちゃうけど。
それで駄目だったら >>176 の回答待ちか。
179174
05/03/10 00:01:21ID:AGM4jA9o >>176
http://www.opensource.apple.com/darwinsource/tarballs/other/libiconv-9.tar.gz
をダウンロードして、
./configure --enable-static=yes --enable-shared=no --disable-nls --prefix=/opt/mac
としてconfigureしてmakeして、スタティックリンクしたバイナリを作って実験してみました。
ls | iconv -f UTF-8-MAC -t UTF-8
で、NKDな文字がちゃんと出てくるか調べてみたのですが、めちゃくちゃな文字化けしか起こりませんでした…
>>178
UTF_REVERSE_ENDIANをセットしてみてもしなくてもですが、めちゃくちゃに文字が化けてしまいました。
一つ怪しいかなと思うのが、
utf8mac.h: In function `utf8mac_mbtowc':
utf8mac.h:1566: warning: passing arg 6 of `utf8_decodestr' makes integer from pointer without a cast
なんてwarningがでるんですが、もしかしてこれのせいでPowerPCでしか動かないコードになっていることなんです。
でもCが全くわからないので意味はわからないのですが…
http://www.opensource.apple.com/darwinsource/tarballs/other/libiconv-9.tar.gz
をダウンロードして、
./configure --enable-static=yes --enable-shared=no --disable-nls --prefix=/opt/mac
としてconfigureしてmakeして、スタティックリンクしたバイナリを作って実験してみました。
ls | iconv -f UTF-8-MAC -t UTF-8
で、NKDな文字がちゃんと出てくるか調べてみたのですが、めちゃくちゃな文字化けしか起こりませんでした…
>>178
UTF_REVERSE_ENDIANをセットしてみてもしなくてもですが、めちゃくちゃに文字が化けてしまいました。
一つ怪しいかなと思うのが、
utf8mac.h: In function `utf8mac_mbtowc':
utf8mac.h:1566: warning: passing arg 6 of `utf8_decodestr' makes integer from pointer without a cast
なんてwarningがでるんですが、もしかしてこれのせいでPowerPCでしか動かないコードになっていることなんです。
でもCが全くわからないので意味はわからないのですが…
2005/06/06(月) 13:22:58ID:1kxaCCcu
>>179
気になったので試してみたけど、
http://www.opensource.apple.com/darwinsource/tarballs/other/libiconv-10.tar.gz
や
http://www.opensource.apple.com/darwinsource/tarballs/other/libiconv-13.tar.gz
なら
-#include <libkern/OSByteOrder.h>
+//#include <libkern/OSByteOrder.h>
+#include <byteswap.h>
+#define OSSwapInt16(x) bswap_16(x)
+#define __LITTLE_ENDIAN__
という変更でいけるみたい。
気になったので試してみたけど、
http://www.opensource.apple.com/darwinsource/tarballs/other/libiconv-10.tar.gz
や
http://www.opensource.apple.com/darwinsource/tarballs/other/libiconv-13.tar.gz
なら
-#include <libkern/OSByteOrder.h>
+//#include <libkern/OSByteOrder.h>
+#include <byteswap.h>
+#define OSSwapInt16(x) bswap_16(x)
+#define __LITTLE_ENDIAN__
という変更でいけるみたい。
181naruse
2005/07/07(木) 20:26:04ID:Ajp7X6MQ nkfの最新のCVS版で、
nkf -w --utf8mac-input hoge.txt
などとすればUTF-8-MACをUTF-8に変換できる・・・はずです。
うまくいかない場合は教えてください。
nkf -w --utf8mac-input hoge.txt
などとすればUTF-8-MACをUTF-8に変換できる・・・はずです。
うまくいかない場合は教えてください。
182login:Penguin
2005/07/13(水) 03:15:25ID:GiU0rXXK■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【サッカー】日本が4発大勝のチュニジア戦 日テレ中継33・2%、瞬間最高は37・0%★3 [ゴアマガラ★]
- 「〇国」と590万回も叩かれた岩屋毅議員が激白、ネットのデマに歪められる民主主義の危機に「保守政治家」が取るべき道 [少考さん★]
- 【MLB】大谷翔平に「なぜ第二子早すぎ批判」 根拠はWHOの出産間隔に関する勧告 [ネギうどん★]
- 【MLB】大谷翔平に「なぜ第二子早すぎ批判」 根拠はWHOの出産間隔に関する勧告 ★2 [ネギうどん★]
- 【中傷動画】首相、秘書の陳述書提出意向 衆院予算委で業務に支障訴え [蚤の市★]
- 米国は「スタバ離れ」が深刻なのに、なぜ日本では好調? ドトールやコメダにはない強さとは [煮卵★]
- 【地上波/DAZNほか】 FIFAワールドカップ2026 総合スレ★142【メキシコ/カナダ/アメリカ】
- とらせん 月曜日
- 【地上波/DAZNほか】 FIFAワールドカップ2026 総合スレ★144【メキシコ/カナダ/アメリカ】
- ハム専 気合い入れなくて良いよ、もう
- わしせん3
- 〓たかせん〓 快勝
- 【高市悲報】貧乏自衛官、職場の金を盗んで懲戒免職される。他人の店なら停職処分なのに😅 [616817505]
- 議員って嘘つきばっかで良心の呵責に苛まれたりしないのか [943688309]
- この世は真に実在する世界なのか?それとも仮想世界なのか?
- 高市総理「えー、中傷動画疑惑への対応で残念ながら首相としての業務時間が確保できなくなってます」 [256556981]
- ドラゴンボールZ危険なふたり‼👊😅👊😎👊はねむれない
- 【高市悲報】トランプ、今度はイギリスに喧嘩売る「北海油田寄越せ!」 [616817505]