C++相談室 part158

■ このスレッドは過去ログ倉庫に格納されています
2021/11/15(月) 18:49:18.44ID:I69rZ/Of
前スレ
C++相談室 part157
https://mevius.5ch.net/test/read.cgi/tech/1628474251/
2デフォルトの名無しさん
垢版 |
2021/11/15(月) 19:34:54.43ID:Vm/7t1d8
前スレが在るのに後ろスレが無い。
2021/11/15(月) 19:54:16.81ID:ebGnmMes
江添のハブ
https://github.com/EzoeRyou
2021/11/15(月) 22:07:48.56ID:Rt8JG1Np
Windows10でrecursive_directory_iterator使うと全角ファイル名が化けまくるんだけど
これwstringバージョンないよね
使い物にならないってこと?
2021/11/15(月) 22:13:18.15ID:a976/UsH
>>4
Windows でファイルシステムを操作するなら、もう utf16/W 系を陽に使うしかないのでは
https://mevius.5ch.net/test/read.cgi/tech/1434079972/53
6デフォルトの名無しさん
垢版 |
2021/11/15(月) 23:03:16.81ID:Vm/7t1d8
江添さんもRustに行ってしまわれたか。
2021/11/15(月) 23:22:01.05ID:7YmnbmLD
なんにも確認してないがrecursive_directory_iteratorはpath扱うだけのはずで
wstring云々いいだすのがもう怪しい
2021/11/15(月) 23:27:59.81ID:Rt8JG1Np
だからそう言ってるんだけど
2021/11/15(月) 23:35:44.25ID:ebGnmMes
アメ公は多言語のことはあまり考えてないからな
2021/11/16(火) 10:04:00.19ID:5D9mKY7b
wstringなら解決すると思ってる時点で頭可笑しい
2021/11/16(火) 10:09:17.13ID:1zCm/6d5
全世界の文字集めたらWORDじゃ足りないことくらいアメ公でなければすぐわかりそうだが
2021/11/16(火) 11:21:28.45ID:ZG22qfv2
>>11
でも、ハングル文字は、28文字しかないのに 5000ポイントも使っていたり、
元々文字じゃなかった絵文字を勝手に文字の様に扱ったりして行って
肥大化しただけで、世界の文字自体はそんなに多くない。
ユニコードの文字の扱い方に問題が有るんだと思う。
2021/11/16(火) 11:32:32.20ID:ZG22qfv2
>>12
ハングルは、子音、母音、パッチムは、それぞれ20〜30程度しかないが、
それを組み合わせて1文字に組み立てられているらしくて、組み合わせ爆発で、
1万1000文字を越える。
全ての組み合わせが使われているわけではない。
また、実際に使用される文字は2500文字ほどらしい。
表意文字である漢字は、どうしようもないが、単なる表音文字に過ぎない
ハングルに、Unicodeは、1万1000ポイント以上を割り当ててしまってる。

しかし、漢字も滅多に使わない文字を含めても1万5000文字くらいで、
アラビア文字も28文字くらいしかないそうだから、世界で使われている
本当の文字は、恐らく、4万文字もあれば足りるはず。

ユニコードが16BITで表しきれない以上に厄介なのは、UTF8で表現した時に、
50文字しかないひらがなまで 3バイトになっていること。
カタカナまであわせても100程度しかないのに。
さすがに、アメリカ人の傲慢さを感じざるを得ない。

こんな文字コードを一生使い続けると考えるとうんざりするので、
多分、これが終わりではないだろう。
むしろ、これで終わりにしてはならない。
2021/11/16(火) 11:40:54.61ID:ZG22qfv2
[追加]
ユニコードの文字数が多い点に関して:
・16BITで表現できない文字の大部分は絵文字。
・数学記号などは数学を扱う時に必須なのに、重要な数学記号が沢山不足している。
 つまり、非常に使用頻度が高い記号が含まれてない。
・逆にどうでもいいような変な遊びの記号などが大量に入っている。
 別にそれはグラフィックで書けばいいのに。

数学記号などは文書の中でも使えるし、学問的にも昔から良く使われているのに
なぜかユニコードには含まれてないものが沢山ある。
それに、呼び方や起源は同じでても、数学的には異なる意味を持つコードが1つに
割り当てられていたり、πが四角く表示されて、数学では絶対に使わないグリフ
になってしまっていたりする。
基礎的な数学まで知らないばかが考えたとしか思えないし、それが
何十年間も改善されてない。
ユニコードは欠陥コード。
2021/11/16(火) 11:45:03.78ID:ZG22qfv2
>>14
円周率の意味での「パイ」(PI)は、数学では必ず小文字で、かつ、丸みを帯びた
おなじみの記号を使い、決して、門構えのようなπは使わないし、
数学の本では見た事が無い。しかし、ユニコードではそれが標準になっており、
誰が使うのという感じがする。

もう一つは、φの記号。物理学で、磁束を表すのは、くるっと回るφ。
数学の空集合のファイは、ドーナツに棒を貫通させたようなグリフ。
しかし、ユニコードでは両者の区別が訳が分からないことになっていて、
困る。

あとは、⇔の記号が、横方向はあるが、縦方向が無いらしいこと。
これは最悪。
2021/11/16(火) 12:42:55.75ID:c8tWUMdh
空集合記号とギリシャ文字のファイを混同してるような無知に文句つけられてUnicodeも大変だな
17デフォルトの名無しさん
垢版 |
2021/11/16(火) 13:52:17.07ID:5D9mKY7b
TeX
2021/11/16(火) 14:00:17.37ID:5D9mKY7b
ΦφФфΦɸØø∅⌀

Φ
Φ
Φ

φ
φ
φ

ϕ
ϕ
2021/11/16(火) 14:03:02.78ID:5D9mKY7b
http://unicode.org/reports/tr25/
2021/11/16(火) 15:34:16.32ID:aaOD7qrs
そもそもが世界中の言語の発展は場当たり的な習慣の積み重ねを何千・何万年と続けてきてグダグダなんだから
それをどうがんばって整理しようとしたところでグダグダなんだわ。
元からグダグダだったのが Unicode のグダグダさとしても表れてきただけ。
言語ごと作り直しでもしない限り綺麗な符号体系にならないんで、
グダグダさと折り合いをつけてつきあっていくしかしょうがない。
2021/11/16(火) 15:36:04.02ID:Z1xN+BQU
>>16
Unicodeではちゃんと区別されて無いだろ。
2021/11/16(火) 15:36:33.85ID:Z1xN+BQU
>>20
いや、Unicodeに問題がある。
2021/11/16(火) 15:37:58.58ID:Z1xN+BQU
>>18
数学の空集合の記号とは違ってる。
どうせ、パイ(π)は四角い変なグリフで、数学では絶対使えない。
24デフォルトの名無しさん
垢版 |
2021/11/16(火) 15:54:46.23ID:5D9mKY7b
http://unicode.org/reports/tr25/
ここの
empty set でもだめ?
2021/11/16(火) 15:56:48.89ID:c8tWUMdh
>>21
Greek PhiはU+03A6(大文字)・U+03C6(小文字)・U+03D5(数学用シンボル)
Empty setはU+2205
全く別のコードポイントが割り当てられてるし、>>19の資料でも全く別の文字として議論されてるけど
何を見て何がどう区別されてないと思った?
2021/11/16(火) 17:48:24.19ID:/uf4lfZV
unicodeで一番困るのがソート
単純にコードの大小でソートするとおかしな事になるからな
2021/11/16(火) 18:13:59.22ID:G/HDu5Xp
>>25
調べてみたが、そもそもグリフが安定していないから数学では使えない。
数学ではグリフによって意味を分けているから。
2021/11/16(火) 18:21:08.03ID:G/HDu5Xp
そもそも、数学では縦棒が斜めになっているか、縦になっているかでもニュアンス
が違うことがある。
特に空集合の場合、斜めになっていないと、普通の数学的な感覚には
合わない。完全に垂直だと駄目だ。
それに、イタリック体と普通のプレインな書体も、明確に区別できるようになって
ないと、プログラムの本でも使えない。
たとえば、BNFなんかでもそう。
遊びでグリフを変えてもらっては使い物にならない。
後は、カンマの横幅を勝手に狭くするのはプログラマー泣かせ。
カンマは飾りじゃなくて、あるのと無いのとでは大違いだし、
ピリオドと完全に区別できなくてはならないのに、狭すぎて連続した
場合に、フォントが小さい時、非常に判別しにくいことがある。
フォントを作る人は大学以降の数学や物理学に詳しい人に絶対に
聞いて欲しい。
2021/11/16(火) 18:25:30.84ID:G/HDu5Xp
Appleのスティーブジョブスのせいで、プロポーショナルフォントが多くなり。
それをIDEなんかでも使う馬鹿(=MSのプログラマ)がいて、もうアホかと。
空白は有るのかないのか分からないし、からの「〜」が、上の方にある
チルド~に見えたり、カンマは狭すぎていくつあるのか数えられない、
円周率のπは、数学では決して使うことのない門構えのようなグリフだし。
遊びで変えるな。
芸術ではないんだ、厳密に区別しないといけないんだ、プログラムも
数学も。
2021/11/16(火) 18:25:45.65ID:Gx8hwJEY
それはUnicodeじゃなくてフォントの問題なのでは
2021/11/16(火) 18:42:34.64ID:c8tWUMdh
コードポイントとグリフとフォントの区別すらついてない無知蒙昧丸出しで
よくもまあそんな意味のない長文を恥ずかしげもなくグダグダ書き散らかせるもんだ
その度胸だけは褒めたるから、Unicodeに物申す前に基礎から勉強しろよ
2021/11/16(火) 18:46:42.11ID:G/HDu5Xp
>>31
分かってないのはお前だろ。
2021/11/16(火) 18:46:42.11ID:G/HDu5Xp
>>31
分かってないのはお前だろ。
2021/11/16(火) 19:02:52.69ID:nSspXH9s
>芸術ではないんだ、厳密に区別しないといけないんだ、プログラムも
>数学も。
フォントとグリフと書体をこちゃ混ぜにしてる人間がこれ書いてんのギャグだなw
2021/11/16(火) 19:08:30.21ID:/J0mEe48
3回もNGさせんなゴミ
36デフォルトの名無しさん
垢版 |
2021/11/16(火) 19:44:20.16ID:LLUTRYIZ
ユニコードを内包する世界最大の文字集合がGB18030。
2021/11/16(火) 23:08:02.71ID:FCoZ1v9f
漏れが書いたように思われそうだがちげう
記念パピコ
2021/11/17(水) 07:02:28.15ID:eMBlRA7Q
自意識過剰
2021/11/17(水) 09:42:16.28ID:PyX7rfdm
>>36
ハングルを3000文字くらいと、コンポジションに落とし込めなかったのは人類史における、、、まーいーや終わったことだ。
まぁMacでファイル名読むと「パ」が「ハ」と「゜」に割れてマジビビったけどな。
2021/11/17(水) 11:02:21.42ID:wlAtkNPK
https://0g0.org/category/13000-1342F/1/
ቻンቻンがቺቻቺቻ
2021/11/17(水) 15:31:08.88ID:R6z6I769
>>27
Unicode は言語情報を保持しない。
いわゆる中華フォント問題が起こるのはテキストだけからは日本語フォントを適用すべきなのか
中国語フォント (あるいは他の言語) を適用すべきなのかわからないからで、
そのあたりはアプリケーションレイヤで解決する想定になっている。

文字の形が重要なアプリケーションでそれができてないなら単にアプリケーションがカスってだけ。

ギリシャ文字のパイと数学記号のパイも個別に符号を割り当てるべきではないが、
Unicode は既存の文字コードを統合することという要件が現実問題として有るために
既存の文字コードで区別している例があると区別せざるを得ない。

文字コードとしての理想の姿と、
まずは皆が Unicode という規格に載ってこないと理想もクソもねぇという板挟みがある。
2021/11/17(水) 19:44:58.31ID:cvtz8o7Y
答えは相手が握ってるので俺がただしいなどありえない
2021/11/17(水) 19:45:13.10ID:cvtz8o7Y
まちがえた
2021/11/17(水) 22:47:12.58ID:+aW7NpDL
Unicodeとか文字とグリフの区別がぐちゃぐちゃになりつつあるとい
う印象、ど
うしてこうなった?!
2021/11/18(木) 00:03:15.71ID:Sx+E3gZ7
>>41
いや、円周率を、パイという記号で表すのは中学生でも知っている訳で、
あのおなじみの形状が安定して表示できない段階で文字コードとして終わってる。
文字数の制約があるならまだしも、誰も使わないような漢字や、その場しのぎの
ふざけた記号が大量に含まれているのに、円周率という誰でも知っていて
記号が絶対にあの記号で無ければ伝わらないものに対して、ちゃんとした
記号が安定したコードポイントにはどこにも割り当てられてないのは
大問題。
中国語の文字と日本語の文字の違いよりも影響はずっと大きい。
2021/11/18(木) 00:17:21.61ID:ypdX2Kse
いいかげんにしろよ
・見た目を決めるのはフォントの仕事であってUnicodeのコードポイント割り当てに文句付けるのはお門違い
・そもそも数学記号用のコードポイントはギリシャ文字とは別にちゃんと割り当てられてる(Mathematical Alphanumeric Symbols)
・ここはC++スレだスレ違い消えろお前の巣はこれだ→https://mevius.5ch.net/test/read.cgi/tech/1593777227/
2021/11/18(木) 01:08:04.34ID:Sx+E3gZ7
>>46
実際にはちゃんと割り当てられてない。
しかも、フォントの仕事である、と切り分けるのも問題。
というのは、現実に、円周率としては決して使っては成らない
おかしなフォントがパイの自に割り当てられていて、それを回避する方法が
ない。なので、まともなパイのフォントを自作するか、画像ファイルを
用意して画像を挿入するしか方法が無い。
2021/11/18(木) 01:21:19.65ID:ku1GvVZm
>>47
他の文字コードならそれが回避できるとでもいうんけ?
あほか。
49デフォルトの名無しさん
垢版 |
2021/11/18(木) 01:36:35.92ID:Sx+E3gZ7
>>48
まず、円周率の記号は、ギリシャ文字のパイならなんでもいいというわけではないこと
を文字コードやフォントを作ってる人が理解することから始めなければならない。
また、数学で同値記号で使う矢印は矢印だったら何でも良いという訳ではなく、
左右と上下の区別と、二重線か一重線かという好みの問題も含めて、
固定的なフォントでなくてはならない。二重線の場合、中は白抜きでなくては
ならないので、決して塗りつぶすべきではない。

そういうことを理解してない人が文字コードやフォントを作る資格はないのに、
アメリカ人はそれをやってしまってる。アメリカ人は何もかもおかしい。
クラフトマンシップが無い。
2021/11/18(木) 01:40:47.32ID:MiW85JEr
>>49
アメリカ人が悪いわけではない、数学者を文字コード制定に加えなかった馬鹿どもがアメリカ人の中にもいる、というだけ、それがどのような属性の人間か容易に推測できるだろう?
というか、TeX をそのまま持ってこればいいだけの話なのにそれすらわからないのは、どういったわけなんだ?
2021/11/18(木) 01:42:39.93ID:ku1GvVZm
>>49
知らんがな。
それはアプリケーションで解決しろと言ってる。
2021/11/18(木) 01:47:08.17ID:Sx+E3gZ7
>>50
あなたは、物を知らない。
TeXも実はあまり綺麗ではないし、日本で標準に使われていた数学記号を表示しにくい。
最初、同値記号が長すぎたり、左右方向しかないことにまず、つまずき易い。
回避作が全く無いわけではないが。
近似的に等しいの記号も、日本で馴染みのある上下に点々を打つものは表示しにくい
とかもあるし。
円周率のパイと空集合はさすがに表示できるが。
2021/11/18(木) 01:48:39.42ID:Sx+E3gZ7
日本人が作っていたソフトには、良いソフトが多かった。
アメリカ人がそれを潰した。
というか、日本人が日本製のソフトを買わない。
例え良いソフトがあっても。
わけが分からん。
2021/11/18(木) 02:04:24.47ID:MiW85JEr
>>52
≒ \risingdotseq \fallingdotseq
⇔ \Leftrightarrow
上下方向同値は、なければないでなんとかなるのでは?
2021/11/18(木) 02:12:19.27ID:G3Aynww3
数学数学うるさいくせにいつまでも用語使いがいい加減なままなのはどういうわけだ
そろそろ文字・記号・文字コード・コードポイント・グリフ・フォント・書体の定義くらい理解して使い分けろよ
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。