トップページ > Windows > 2020年09月06日 > WxbWhHJD

書き込み順位&時間帯一覧

8 位/162 ID中時間01234567891011121314151617181920212223Total
書き込み数0000000000000500000000005



使用した名前一覧書き込んだスレッド一覧
名無し~3.EXE
【田】Windows10 Part180

書き込みレス一覧

【田】Windows10 Part180
934 :名無し~3.EXE[sage]:2020/09/06(日) 13:45:04.81 ID:WxbWhHJD
Unicodeに対応したフォントを作る人が文字幅を決める

「ああ、この文字は曖昧な幅か、なら全角幅にしよう」
と決める

しかしテキストエディタの開発者はそんな事知らない
「ああ、この文字は曖昧な幅か、なら半角幅にしよう」
というかもしれない

考えの浅いやつは使ってるフォントの幅を
調べればいいじゃないか!って思うかもしれない
確かにそのフォントを使ってる人はそれでうまくいくだろう

だがテキストエディタには使ってるフォントの情報がない
他の人は違うフォントでそのテキストファイルを開くかもしれない
そうすると文字がずれる

テキストエディタで等幅処理を正しく行うのは不可能なんだよ
だからWindowsだけで問題が起きるって言ってるやつは
Windowsでしかテキストエディタを使ってないのだろう

LinuxやmacOSでも同じ問題が起きることを知らない
そもそもテキストエディタを使うようなOSじゃない
【田】Windows10 Part180
935 :名無し~3.EXE[sage]:2020/09/06(日) 13:45:23.41 ID:WxbWhHJD
>>933
正しいことを言っている。反対意見があるならどうぞ
【田】Windows10 Part180
936 :名無し~3.EXE[sage]:2020/09/06(日) 13:50:19.49 ID:WxbWhHJD
この話は有名だからググればいくつもでるが素人にも分かりやすそうだったので

GoのTUIで表示が崩れる場合
https://noborus.github.io/blog/runewidth/

Ambiguous width(曖昧幅)
ターミナル上のアプリケーション(TUI)では、GUIと違って文字単位で描画されます。
そして1文字の幅は固定されていて、アルファベットは1文字分とすると日本語などは2文字分使用する、
いわゆる半角全角の世界です。 ただし、既にUnicode(UTF-8)が標準となっているので、
バイト数と文字幅は関係しないようになっています。

Unicodeでは幅が決まっている文字がほとんどですが、一部に「Ambiguous; 曖昧」とされている文字があります。

以前は英語圏のアプリケーションではASCIIの範囲内のみを使用していて「Ambiguous」な範囲の文字を使用するのは、
それ以外の地域の人だったため、全角幅で問題になることは無かったのですが、Unicodeの使用が拡大するにつれて
英語圏の方が作るアプリケーションでも「Ambiguous」な幅の文字が使用されることが増えてきました。

特にTUIアプリケーションでは、罫線「┌ ├ ─ ┘等」を使用して枠線を表現することがあります。
これが「Ambiguous」な幅として、英語圏では1文字幅で表示できる様になっているため、
2文字幅と解釈して表示しようとすると表示が崩れてしまいます。
【田】Windows10 Part180
937 :名無し~3.EXE[sage]:2020/09/06(日) 13:51:31.51 ID:WxbWhHJD
https://attonblog.blogspot.com/2014/03/unicode-east-asian-ambiguous.html

unicode の east asian ambiguous 文字
最近、 Agda を使ったりしているので agda-mode な emacs にちょっと手を出していたりします。

Agda は π やら ∀ やらの記号を容赦なく使うので、iTerm2 では agda-mode 時に emacs の表示がおかしくなることがありました。
iTerm2 の問題かと思って Terminal に戻ってきたは良いものの、今度は ∀ とかが一文字幅になってしまって表示がおかしい。

どうやら Unicode East Asian Ambiguous とやらが問題らしい。

調べてみると、∀ とかが全角なのは国によるっぽい。
特に日本は全角だけれど、アメリカだと半角らしい。
国によるので幅が曖昧な文字がUnicodeにあるとか。
それが Unicode East Asian Ambiguous みたい。
【田】Windows10 Part180
938 :名無し~3.EXE[sage]:2020/09/06(日) 13:53:25.70 ID:WxbWhHJD
フォントによって半角全角バラバラ

https://ja.osdn.net/projects/mix-mplus-ipa/forums/9259/34530/

Migu1Mで「?」「?」が半角になる (2013-09-25 19:26 by 匿名 #70296)返信
Migu1Mの「?(ダッシュ、ダーシ)」と「?(マイナス)」がMac OS X Lion/Mountain Linon上で半角表示になってしまいます。
OSX標準のFont book、テキストエディットや、MacVimでも半角になりました。

20150712版で、Migu 1M, Migu 2MのU+2014を全角幅に修正しました。
U+2014は欧文フォントならば半角幅なので、プログラミング向けフォントなら
半角幅でもよいと今は考えていますが、小説や文章に使うなら全角幅でよいと思います。


※このページは、『2ちゃんねる』の書き込みを基に自動生成したものです。オリジナルはリンク先の2ちゃんねるの書き込みです。
※このサイトでオリジナルの書き込みについては対応できません。
※何か問題のある場合はメールをしてください。対応します。