文字コード総合スレ Part12
レス数が900を超えています。1000を超えると表示できなくなるよ。
絵文字ってここにどう書き込めばいいんです?
☸️
↓
☸
専ブラでは絵文字として読めるがWebブラウザー(Chrome/旧Edge/IE11@Win10)で見ても◆◆状態でうまく表示されない… >>842
全部あるぞ。お茶は「湯呑み」として。検索の仕方が足りない。 固定フォントのターミナルのような環境である文字のフォントの幅が全幅か半幅か判別する確実な方法ってありますか?
Unicode前提です
Unicode的にアジアンなんとかというドキュメントでそれに触れられているのを見つけましたが
結局のところ使用されているフォントで決まるような気がします
となるとCLIアプリが表示する前に判別する方法はないような
表示したあとならターミナルにカーソル位置問い合わせればわかりそうだと思いましたが >>844
うちのChromeはちゃんと出てる
ffでも問題なし >>847
前にpythonで書いたときは
unicodedata.east_asian_width()
使ったと思う
Win32APIだと表示前に文字列全体の描画幅を求める方法があったと思う >>847
・Unicodeでは文字幅は 0(結合文字)、1(いわゆる半角)、2(いわゆる全角)、1か2(曖昧幅) のいずれかに決まっている
・1か2になるのはαや☆などであり、東アジアの環境で2、それ以外で1
・wcwidthで調べるとその値を返すが、曖昧幅への対応がどうなっているかは分からない
・linuxのglibcは、データを自分で修正しない限り曖昧幅は1扱い(LANG=ja_JP.eucJPすれば2にはなる)
・CLIでのカーソル位置はカーネルのttyドライバが担当しており、そもそもフォン卜の情報を持っていない
・linuxカーネルでは全ての文字が(全角も)幅1扱い
・行編集もtty担当なので、catをそのまま実行して全角文字を入力後backspaceするとカーソルがずれる
・多くのシェルはwcwidthで入力/削除された文字やプロンプトに表示する文字の幅を調べ、必要に応じてカーソルを移動させる
・ターミナルはwcwidthまたは同等の独自関数(曖昧幅の設定ができることが多い)で文字幅を調べて、実際に表示させる
・等幅フォントでも曖昧幅の文字がどちらで実装されているかそれぞれ異なる上、ターミナルはフォントの文字幅情報を使わないことが多い(プロポーショナルでないことのみ確認)
・↑により、文字が重なったり変な隙間ができたりすることがある
・一部のターミナルはwcwidthの結果に従うように文字を潰したり引きのばしたりして表示する(minttyとか)
・アプリ(シェルとか)、ライブラリ(ncursesとか)、端末マルチプレクサ(tmuxとか)、端末エミュレータ、カーネル(tty)、フォント全てで想定する幅がそろっていないとうまく動かない
・日本語フォントの多くは曖昧幅2なので、linuxのCLIではαや☆がおかしくなることが多い(wcwidthが1を返すせい)
・Unicodeを作った西洋人は馬鹿だから、罫線素片の幅も曖昧で、ncursesがバグる
・絵文字は文字幅1だが、フォン卜の多くは2で実装されているのでおかしくなる >>853
あざす
やっぱり混沌としてるのですね
とりあえず一度ターミナルの中を追ってみようかな Unicodeの時代に今更だけど、
シフトJISの第2バイトがA0〜FFでなく
40〜FCにしたのは何でだろう JISの区点は1区あたり94点
0x40開始で0x7Fを避けて2区分取ると0xFCになる >>858
半角カナのせいで80〜FFでは足りないから シフトJISはもう少し工夫すれば
JISコードの変換式もより簡単にでき
2バイト目もASCII領域を使わずにダメ文字も発生せず
補助漢字も全て入れられた EUCだと半角カナも補助漢字もバイト数が増えるからな... >>863
あのスペースの狭さでは、それは無理だったのでは?
どうするのがよかったのですか?具体的にいってみてよ 非漢字_:[81-98] [80-9F]
第1水準:[80-9F] [A1-FE]
第2水準:[E0-FF] [A1-FE],[E0-EB] [80-9F]
補助漢字:[A0-DD] [A1-FE],[A4-C1] [80-9F]
補助漢字は半角カナと排他利用 >>868
それは結局半角カナを潰しただけのことでは? >>869
補助漢字6000字近くを使えるというメリットがあれば
半角カナをフェードアウトするには十分な機会になっただろう
補助漢字(JIS X 0212)が制定されたのは1990年だから
その翌年の1991年に発売されたMS-DOS 5.0あたりで
KANA ON/OFFコマンドを追加し、半角カナ/補助漢字の切り替えが出来れば
従来のテキストファイルの読み込みなども対応できる >>870
文字コードのマップ切り替えはコンテンツ側で指示するべきことであって、OS/アプリ側で切り替えて対応するとか、発想が変だとおもいますね いっその事1byte=32bitにすればサロゲートペアもBOMも要らなくなるし多バイト文字という概念もなくなる >>875
イングランドの旗はUnicodeで7コードポイント必要なので64bitでは無理
128bitで 👽 全宇宙の未知なる知的生命体の使用言語を網羅しなきゃならないのだから可変長は必須 >>876
え、じゃあイギリスの旗はさらにそれにスコットランド分とアイルランド分が追加されるの グーグルってしょっちゅう意味のわからんことするよな 実行ファイルがテキストとデータで構成されるように、絵文字表現もテキストとデータを組み合わせた文法が出てきそう。 顔文字より正規表現のためのメタ文字とかあったほうが良いのにね。
まあGoogleじゃ無理か。 そのメタ文字にマッチしたい正規表現を書く日が来るぞ 規格名:JIS X 0215
文字数:15000字超(非漢字:1700字超,漢字:13300字超)
区点域:0〜127区,0〜127点(最大16384字収納)
通 称:いちごJIS https://twitter.com/akinomyoga/status/1230127240806985728
修正の入った Cygwin 3.1.4 のリリースノートが来て、見てみたら @cjksingle という不穏な locale が発明されてる。
何かと思ったら「CJK文字も全て半角にすれば文字幅問題解決じゃん」という欧米人(東欧系?)の思いつきで、これは新しい悪夢なのでは…。mintty は仕事が早すぎ
https://gitlab.freedesktop.org/terminal-wg/specifications/issues/9#note_406682
因みにこの東欧人を追うともっと面白い(?)ものが。。漢字や絵文字が行末に収まらない時は左半分はその行に右半分は次の行に表示するのが合理的だと Windows Terminal に赴いて主張してる。
曰く、殆どの漢字は偏(へん)と旁(つくり)から成るので分断しても意味を失わないとか…
https://github.com/microsoft/terminal/issues/4345#issuecomment-578434025
https://twitter.com/5chan_nel (5ch newer account) 半角と全角の区別付かなくなると困るから元の半角文字はさらに半分で表示したらどうかな 外字というと丸囲みの数字が@〜S以外にもほしくて
21以降も外字で作ってしまっていた事務所を思い出す
何度かPCを入れ替えるうちに使わなくなり、忘れ去られ、
久々に古い文書を引っ張り出して来たら謎の文字化けで外字の存在が発覚
外字が何故かSから始まってたり途中に別の字が挟まってたりしてもはや解読作業 (0)とか黒丸の小文字英字とか白丸のンとか黒丸の仮名とかは
Unicodeですら未だに無いんだよな... わいせつだって文字情報じゃないか!
それともなにか君は辞書から陰茎とか陰核という単語を削除せよというのか! >>903
◎と字形が同じとかで一緒にされそう
あと将棋の駒(上下とか白黒)も欲しいとか言ってた人? >>902
50まで作るんだったら、99まで作れば良かったのに。
できれば、100まで欲しかった。 >>900
Unicodeがまさにそんな感じだよ
符号位置なんて空いてりゃなんでも詰め込んでくる アレはUNICODEが16ビットだったときの産物だからなー
囲み付き文字は合字でなんぼでも表示できるんじゃなかったのか?
黒字に白抜きはないか。 あれ、もうUnicode 13.0.0出たの?
改訂するのは確か毎年6月ねって決めたんじゃ……と思ったら去年から3月だった。 Win10は頻繁にバージョンアップしてるけど、
使ってるUnicodeは2015年に出た8.0のままなんだよな... そーそー
新しいフォント入れてもリンクが効かんという...
全部入りフォント作るにゃ16bitの壁 高松もキャンセルなのかな
それともISO/IECはまた別の判断か
https://www.iso.org/covid-19.html Unicode 14.0 Delayed for 6 Months
http://blog.unicode.org/2020/04/unicode-140-delayed-for-6-months.html
Due to COVID-19, the Unicode Consortium has decided to postpone the release of version 14.0 of the Unicode Standard by 6 months, from March to September of 2021.
This delay will also impact related specifications and data, such as new emoji characters.
This announcement does not affect the new emoji included in Unicode Standard version 13.0 announced on March 10, 2020. せっかくだから細菌とは別にウイルスの絵文字つくってくれ 外人が絵文字大好きなのは勝手だけど、既存コードの部分もちゃんとして欲しい なるほど、最近と細菌がかかってる、とこういうわけですな するってえと何かい?
最近と細菌がかかってるというわけかい? >>891
超遅レスだが、全角半角問題の亡霊が絵文字とかで再燃してる感じ?
そっか絵文字ってサロゲートの領域のやつ以外にVSを使ってるのもあるのか。面倒だな。
>>897
Unicodeには公式定義があるでしょ
話は違うが、外人は絵文字をEmotional Iconかなんかの略だと思ってる感があって
そこはどうなんだという。 レス数が900を超えています。1000を超えると表示できなくなるよ。