>>73
コードはユニコード
それをどうエンコーディングするかでUTF8やUTF16やUTF32などがある
ネットの標準がUTF8に統一されてなって
ファイルシステムでもUTF8に統一されつつあり
プログラム内部でもほとんどの用途はそのまま透過的にUTF8が有利に
固定長で扱うUTF32はムダすぎで
可変長のUTF8は後ろからでも切れ目を間違えことなく
表示幅問題はUTF8/UTF32関係なく発生するため
探検
文字コード総合スレ part15
2024/11/15(金) 23:15:52.91ID:5CeogfbD
2024/11/17(日) 17:51:56.38ID:4RtrNUdf
2024/11/17(日) 18:35:05.90ID:hkK5KPG+
95デフォルトの名無しさん
2024/11/18(月) 23:18:52.19ID:cZsx9Sbk UTF-8は世界の誰もが好むわけではない。
どの民族もUTF-8の良いところと悪いところで悩んでいる
どの民族もUTF-8の良いところと悪いところで悩んでいる
96デフォルトの名無しさん
2024/11/18(月) 23:20:18.92ID:cZsx9Sbk >>94
勘違いしているけど、それらの製品でも区別して使う分けている。
勘違いしているけど、それらの製品でも区別して使う分けている。
2024/11/20(水) 15:38:36.45ID:84IcR/Q0
>>94
Linux (ext4) は、ファイルシステムとしてはエンコーディングは規定されてないのでは?
ディストロやユーザーがUTF-8を使ったりするのは自由だが
よってAndroidも同様
なんだAppleだけじゃんw
Linux (ext4) は、ファイルシステムとしてはエンコーディングは規定されてないのでは?
ディストロやユーザーがUTF-8を使ったりするのは自由だが
よってAndroidも同様
なんだAppleだけじゃんw
2024/11/20(水) 16:37:13.78ID:APWVo8Zw
>>97
そんなこと言いだしたら APFS も NTFS も単にバイト列を記録してるのに過ぎない。
それをOSやライブラリとしてどう解釈するかがファイルシステムの文字列。
だから linux kernel でなくて linux distro の問題。
(もっとも最近の Linux kernel はデフォルトで UTF-8 を指定するABIとかあって文字コードの変換したりするけど。別問題)
そんなこと言いだしたら APFS も NTFS も単にバイト列を記録してるのに過ぎない。
それをOSやライブラリとしてどう解釈するかがファイルシステムの文字列。
だから linux kernel でなくて linux distro の問題。
(もっとも最近の Linux kernel はデフォルトで UTF-8 を指定するABIとかあって文字コードの変換したりするけど。別問題)
99デフォルトの名無しさん
2024/11/21(木) 12:47:55.86ID:SUxxkxcm UTF-8も完璧じゃないからな
100デフォルトの名無しさん
2024/11/21(木) 14:20:22.35ID:GU8mH0bt >>99
キミの言う「完璧」とは一体...
キミの言う「完璧」とは一体...
101デフォルトの名無しさん
2024/11/21(木) 15:46:00.53ID:/Qk0W5ej102デフォルトの名無しさん
2024/12/01(日) 10:32:32.38ID:RvSn0UL0 UTF8を推しているのは形を変えたASCII信者の老害。
103デフォルトの名無しさん
2024/12/01(日) 11:15:01.77ID:iESkoZBr 刷新できていない古いシステムを除くと
文字コードはユニコードになったね
エンコーディングはネット上がUTF8なので
それをそのまま扱うのが一般的となったね
文字コードはユニコードになったね
エンコーディングはネット上がUTF8なので
それをそのまま扱うのが一般的となったね
104デフォルトの名無しさん
2024/12/01(日) 12:39:57.84ID:8fzBRjbp UTF-8 より完璧な文字コードって何だい?
ASCII と SJIS と UTF-8 はいいねしたい
ASCII と SJIS と UTF-8 はいいねしたい
105デフォルトの名無しさん
2024/12/01(日) 20:40:24.45ID:NnL6xx/e なんか色々ごっちゃだな
106デフォルトの名無しさん
2024/12/02(月) 03:35:11.02ID:okRPdXGy 元のユニコードがクソだからなあ
結局どうにもならなくなって異体字セレクタとか出てくるし
結局どうにもならなくなって異体字セレクタとか出てくるし
107デフォルトの名無しさん
2024/12/02(月) 13:49:05.08ID:Zd1R379W ishの出力ってSJISが標準?
utf-8板のish欲しいと思ったけど
-Dutf8付けてコンパイルしても結局SJIS出力だった
utf-8板のish欲しいと思ったけど
-Dutf8付けてコンパイルしても結局SJIS出力だった
108デフォルトの名無しさん
2024/12/02(月) 14:10:00.90ID:n2j6TE+S バイトデータで出力してるだけでエンコーディング関係ないような
UTF-8対応してもバイト単位でみたら7ビットしか情報持てないから損
効率気にしないならコード変換したらいい
半角カナが3バイトになるけどエラー訂正なんかは使える
UTF-8対応してもバイト単位でみたら7ビットしか情報持てないから損
効率気にしないならコード変換したらいい
半角カナが3バイトになるけどエラー訂正なんかは使える
109デフォルトの名無しさん
2024/12/03(火) 12:52:43.59ID:DZc+/1dr たまたまSJISでデコードしたら人間に読める(かもしれない)ってだけで
只のバイナリデータだよね
只のバイナリデータだよね
110デフォルトの名無しさん
2024/12/04(水) 23:36:37.56ID:9B20CEFA SJISとして不正なバイト列は含まれないはず
111デフォルトの名無しさん
2024/12/05(木) 16:18:11.64ID:riH9D2sC ファイル名がユニコードだと、
例えば2つのファイル名が同一かどうかの判定は、2つのユニコード列が同一かどうかの
判定をしなくてはならない。この場合の同一とはなんだろう。めんどくさい
例えば2つのファイル名が同一かどうかの判定は、2つのユニコード列が同一かどうかの
判定をしなくてはならない。この場合の同一とはなんだろう。めんどくさい
112デフォルトの名無しさん
2024/12/05(木) 16:59:22.16ID:jrS77sb5 >>111
「ユニコード列」みたいな曖昧な用語で考えると曖昧な結果にしかならなんわな
「ユニコード列」みたいな曖昧な用語で考えると曖昧な結果にしかならなんわな
113デフォルトの名無しさん
2024/12/05(木) 17:16:36.01ID:jrS77sb5 「ファイル名」という用語に限ってもOSごとに異なる意味をもち、「バイト列/コードポイント表現」(Linux/Windows)と「 unicode 正規化表現」(MacOS)のどっちのやり方もあるし unicode の正規化には複数の種類がある
114デフォルトの名無しさん
2024/12/05(木) 19:21:14.57ID:f+d6ZP2R115デフォルトの名無しさん
2024/12/05(木) 19:22:28.03ID:f+d6ZP2R >>113
Macのせいで記号や改行コードの解釈がめちゃくちゃになった。
Macのせいで記号や改行コードの解釈がめちゃくちゃになった。
116デフォルトの名無しさん
2024/12/05(木) 22:25:20.82ID:Kc+yIq6Q117デフォルトの名無しさん
2024/12/05(木) 23:11:23.50ID:+y5lu+gF 見苦しいぞ
118デフォルトの名無しさん
2024/12/06(金) 10:53:27.12ID:zw4qy2EX ハンカクカタカナ.txtと
ハンカクカタカナ.txtは
区別されると困るか区別して欲しいかは個人の好みだな
ハンカクカタカナ.txtは
区別されると困るか区別して欲しいかは個人の好みだな
119デフォルトの名無しさん
2024/12/06(金) 11:15:10.72ID:kzR0LSsc >>111,118
主観と好みの問題だから、現状がそれを孕んでいるかどうか心配ならNKFCで突合チェックしたら良いだけかな
主観と好みの問題だから、現状がそれを孕んでいるかどうか心配ならNKFCで突合チェックしたら良いだけかな
120デフォルトの名無しさん
2024/12/06(金) 13:01:51.55ID:tlsLperd >>118
自分はまったく別物だろうという考えだが、逆にそれを同じと思う人がいるというのに驚きだ
自分はまったく別物だろうという考えだが、逆にそれを同じと思う人がいるというのに驚きだ
121デフォルトの名無しさん
2024/12/06(金) 14:57:12.37ID:PqgirqmV MacOS/iOS だと OS 的にファイル名はNFD強制なのでその2つ区別できないのが普通だな
Macユーザーは「半角カナはファイル名には使えない」という言い方してることが多いけど
Macユーザーは「半角カナはファイル名には使えない」という言い方してることが多いけど
122デフォルトの名無しさん
2024/12/06(金) 15:08:33.92ID:teqNcVuG Windowsは大文字小文字の区別を付けないのがデフォルトなんだけど、
WSL内からアクセスする兼ね合いで区別設定できる(fsutil)
>>121
Macにも同様の理由でNFD強制解除の設定があるのでは?
WSL内からアクセスする兼ね合いで区別設定できる(fsutil)
>>121
Macにも同様の理由でNFD強制解除の設定があるのでは?
123デフォルトの名無しさん
2024/12/06(金) 17:09:11.54ID:PqgirqmV >>122
強制解除とかはなかったと思うが古い HFS+ と違って新しい APFS では論理的には書き込み可能なはず
一方でライブラリで、ファイルオープンする時にファイル名が強制的にNFD変換されるので通常のプログラムでは全部NFDになるのは避けられない
強制解除とかはなかったと思うが古い HFS+ と違って新しい APFS では論理的には書き込み可能なはず
一方でライブラリで、ファイルオープンする時にファイル名が強制的にNFD変換されるので通常のプログラムでは全部NFDになるのは避けられない
124デフォルトの名無しさん
2024/12/06(金) 20:10:41.64ID:77CvoLMD Macが一番遅れているのは意外だな
> Mac で NAS (SMB) のファイルが見えない問題を Unicode 正規化方式を変えて解決
> Unicode 正規化方式として NFD を採用しているのは Mac なのに,SMB (NAS) を介してみると当の Mac だけがそういったファイルを認識できない(ことがある)というのはなんとも皮肉な結果ですね...。
> Mac で NAS (SMB) のファイルが見えない問題を Unicode 正規化方式を変えて解決
> Unicode 正規化方式として NFD を採用しているのは Mac なのに,SMB (NAS) を介してみると当の Mac だけがそういったファイルを認識できない(ことがある)というのはなんとも皮肉な結果ですね...。
125デフォルトの名無しさん
2024/12/06(金) 21:07:04.96ID:PqgirqmV >>124
Mac はローカルファイルは NFD (っぽい独自仕様)で正規化されてる前提で、リモートのSMBの先は NFC (っぽい独自仕様)で正規化されている前提で動作するという謎仕様なので
Lunux は基本的に正規化されずに全部別の文字扱いで unicode の全文字が使える
Windows も基本的には正規化を前提にしていないが独自仕様の使えない文字がある
Mac はローカルファイルは NFD (っぽい独自仕様)で正規化されてる前提で、リモートのSMBの先は NFC (っぽい独自仕様)で正規化されている前提で動作するという謎仕様なので
Lunux は基本的に正規化されずに全部別の文字扱いで unicode の全文字が使える
Windows も基本的には正規化を前提にしていないが独自仕様の使えない文字がある
126デフォルトの名無しさん
2024/12/06(金) 21:22:50.16ID:XSDLieo6 わかりやすいようにたとえで説明するとさ、
オマエんちに人を招待したら、土足のまま上がってきた
オマエはイラっとするんじゃね? はいオマエ遅れてる〜
オマエんちに人を招待したら、土足のまま上がってきた
オマエはイラっとするんじゃね? はいオマエ遅れてる〜
127デフォルトの名無しさん
2024/12/06(金) 21:35:56.15ID:PqgirqmV 服装カジュアルな場所でも常にスーツ着てきてスーツ着てないやつは家族だろうと友人だろうと全員無視するのが Mac 仕草
その上、自宅用と訪問用に別の種類のスーツを使い分けてて同じ種類のスーツ着てないと相手してくれない
その上、自宅用と訪問用に別の種類のスーツを使い分けてて同じ種類のスーツ着てないと相手してくれない
128デフォルトの名無しさん
2024/12/07(土) 10:53:50.76ID:+zec5U9G UnicodeはUnicodeで様々な言語の様々な表現ができるようにするなかで一意性についても
用途や目的によって方法は異なるとしているわけで、そもそもファイルをファイル名で特定するという
昔ながらのやり方との齟齬が出てきているのかもね。
使うなら使うでファイルシステムに用いる正規化ルールなどを定めなければならないんだろう。
用途や目的によって方法は異なるとしているわけで、そもそもファイルをファイル名で特定するという
昔ながらのやり方との齟齬が出てきているのかもね。
使うなら使うでファイルシステムに用いる正規化ルールなどを定めなければならないんだろう。
129デフォルトの名無しさん
2024/12/07(土) 11:21:31.79ID:RCmjilK5 同一性やコロケーション問題として
path-win-ntfs、path-linux-ext4のようにunicodeでpath-localeを定めてicu実装されたら良いのにと思った事はあったけど、
それで他の方法が駆逐されるわけじゃなく新たなバリエーションを増やすだけだから、今は余計な事するなと思うよ
path-win-ntfs、path-linux-ext4のようにunicodeでpath-localeを定めてicu実装されたら良いのにと思った事はあったけど、
それで他の方法が駆逐されるわけじゃなく新たなバリエーションを増やすだけだから、今は余計な事するなと思うよ
130デフォルトの名無しさん
2024/12/07(土) 11:21:45.13ID:prVW7qhX131デフォルトの名無しさん
2024/12/07(土) 11:44:07.08ID:3wlpERVS FSとしてならそれでいい
OSをどの層までとするかでも変わってくるけど
マウント時に変換かけてOS間の相互運用気にしてほしい
ネットワーク透過考えるとパスはURIで扱いたいしね
OSをどの層までとするかでも変わってくるけど
マウント時に変換かけてOS間の相互運用気にしてほしい
ネットワーク透過考えるとパスはURIで扱いたいしね
132デフォルトの名無しさん
2024/12/07(土) 13:08:36.00ID:prVW7qhX >>131
基本的にはアプリ側のライブラリ層でやるべきこと
OS標準ライブラリかユーザ追加ライブラリかはOSの思想によるし Linux とかだとOS標準ライブラリという考え方は縁遠いけど
マウントの時にファイルシステムで文字コード変換するのも否定しないけど、あくまで代替手段なので、固定ではなくオプションや設定で利用者で任意に変更できるべきもの
基本的にはアプリ側のライブラリ層でやるべきこと
OS標準ライブラリかユーザ追加ライブラリかはOSの思想によるし Linux とかだとOS標準ライブラリという考え方は縁遠いけど
マウントの時にファイルシステムで文字コード変換するのも否定しないけど、あくまで代替手段なので、固定ではなくオプションや設定で利用者で任意に変更できるべきもの
133デフォルトの名無しさん
2024/12/07(土) 14:01:25.11ID:8ekNK8XT >他の方法が駆逐されるわけじゃなく新たなバリエーションを増やすだけ
ほんそれ
ほんそれ
134デフォルトの名無しさん
2024/12/07(土) 14:17:40.72ID:Zwl6oBBL まずはMacを駆逐しよう
135デフォルトの名無しさん
2024/12/07(土) 16:00:13.39ID:2Ddhf3xH Mac で日本語を駆逐でいいんじゃね?
136デフォルトの名無しさん
2024/12/07(土) 21:42:37.76ID:1sWZyE4C ファイル名にはASCIIにある文字しか使わないようにすれば解決
137デフォルトの名無しさん
2024/12/07(土) 21:44:45.68ID:prVW7qhX >>136
ASCII のバックスラッシュが円記号になってしまう OS がるらしい
ASCII のバックスラッシュが円記号になってしまう OS がるらしい
138デフォルトの名無しさん
2024/12/08(日) 03:07:43.02ID:h9KuPnHR >>136
じゃあまずはASCII以外でここに書き込むのやめろよ
じゃあまずはASCII以外でここに書き込むのやめろよ
139デフォルトの名無しさん
2024/12/08(日) 04:05:29.89ID:Xxla/ZnP >>138
ここにファイル名を書いてる人あまりいないと思うんだけど?
ここにファイル名を書いてる人あまりいないと思うんだけど?
140デフォルトの名無しさん
2024/12/09(月) 11:25:01.55ID:uh4vUAM3 波ダッシュ(〜)と全角チルダ(〜)は違う文字
141デフォルトの名無しさん
2024/12/09(月) 12:17:56.89ID:Ne3E3UJU JISで全角チルダ定義したのがアレだよな
全角しか表示できない場面のためだろうけど
全角しか表示できない場面のためだろうけど
142デフォルトの名無しさん
2024/12/09(月) 14:00:31.58ID:4HU/GnaT >>141
JIS は全角と半角とか定義してない(定期
JIS は全角と半角とか定義してない(定期
143デフォルトの名無しさん
2024/12/09(月) 14:37:46.18ID:+G8yezOA144デフォルトの名無しさん
2024/12/09(月) 15:02:44.75ID:4HU/GnaT145デフォルトの名無しさん
2024/12/09(月) 17:46:32.24ID:bX1qj24S この板には表層的にMSを持ち出すだけで思考停止する若干一名がいるね
146デフォルトの名無しさん
2024/12/09(月) 18:34:12.95ID:4HU/GnaT >>145
シフトJISの「波ダーシ」を unicode の「全角チルダ」にマッピングする CP932 を規定したのはマイクロソフト
マイクロソフト以外の Linux とか MacOS とかその他の各社OSではそうなっていない
マイクロソフトが何でこんなマッピングにしたのかは専門家でも分かんない謎
unicode がまだドラフトの時代にあわてて作業したのでミスっただけの可能性も指摘されてるが、一度決めたものは互換性のために変えられないのだろう点は理解できる
シフトJISの「波ダーシ」を unicode の「全角チルダ」にマッピングする CP932 を規定したのはマイクロソフト
マイクロソフト以外の Linux とか MacOS とかその他の各社OSではそうなっていない
マイクロソフトが何でこんなマッピングにしたのかは専門家でも分かんない謎
unicode がまだドラフトの時代にあわてて作業したのでミスっただけの可能性も指摘されてるが、一度決めたものは互換性のために変えられないのだろう点は理解できる
147デフォルトの名無しさん
2024/12/09(月) 23:51:59.27ID:TvtcjS7H マイクロソフト憎しにも程がある
デマだめ絶対
デマだめ絶対
148デフォルトの名無しさん
2024/12/13(金) 01:50:01.54ID:XDI5kMlm マイクロソフトの場合親の敵の可能性があるから俺は許すね
気の済むまでじゃんじゃんやっといてくれ
気の済むまでじゃんじゃんやっといてくれ
149デフォルトの名無しさん
2024/12/13(金) 02:14:20.18ID:OiDxg/7M unicode 規格が最初に作られた時サイトに参考情報として JIS と unicode のマッピング表が置いてあった
Linux も Mac も商用Unixもこの表に従ってJISの波ダーシを unicode の wave dash にマッピングした。さらに JISの規格書にもこのマッピングで記載された
ただ Microsoft 1社だけは JIS の波ダーシを unicode の fullwidth tilde にマッピングした
こんなんマイクロソフトの中の人以外に理由が分かるわけねーだろ
Linux も Mac も商用Unixもこの表に従ってJISの波ダーシを unicode の wave dash にマッピングした。さらに JISの規格書にもこのマッピングで記載された
ただ Microsoft 1社だけは JIS の波ダーシを unicode の fullwidth tilde にマッピングした
こんなんマイクロソフトの中の人以外に理由が分かるわけねーだろ
150デフォルトの名無しさん
2024/12/13(金) 11:09:50.07ID:ncXjn+FF 初期のUnicode仕様書の文字の形がおかしかったのがそもそもの原因なんだけどね
いまの仕様書では、〜(U+301C、波ダッシュ)は、~(U+FF5E、全角チルダ)と同じ字形だけど、
古いものは、上下反転した存在しない文字の形だったので、どちらに合わせるかを決める時点で、
MSは形の相似した全角チルダのU+FF5Eを、その他は仕様どおりの波ダッシュのU+301Cを割り当てた
更にMacは仕様書を無視して字形を変更し、現在の仕様書と同じようにU+301Cに本来の波ダッシュの形を割り当てた
ただ、上下反転した字形は、縦書きの際の全角チルダ(左右の順)文字を横書きにしたために紛れ込んだとも言われているので、
仕様書制定の段階で縦書きのある日本語を理解した人が加わっていなかったのだろうな
まぁ、仕様書の字形がおかしかったことがそもそもの原因ではあるけれど、
これの対応を話し合いをすることなく各社で独自に行なってしまったというのが一番大きいな
結局、日本語が軽んじられていたんだろうけど、なんとも間抜けな話
いまの仕様書では、〜(U+301C、波ダッシュ)は、~(U+FF5E、全角チルダ)と同じ字形だけど、
古いものは、上下反転した存在しない文字の形だったので、どちらに合わせるかを決める時点で、
MSは形の相似した全角チルダのU+FF5Eを、その他は仕様どおりの波ダッシュのU+301Cを割り当てた
更にMacは仕様書を無視して字形を変更し、現在の仕様書と同じようにU+301Cに本来の波ダッシュの形を割り当てた
ただ、上下反転した字形は、縦書きの際の全角チルダ(左右の順)文字を横書きにしたために紛れ込んだとも言われているので、
仕様書制定の段階で縦書きのある日本語を理解した人が加わっていなかったのだろうな
まぁ、仕様書の字形がおかしかったことがそもそもの原因ではあるけれど、
これの対応を話し合いをすることなく各社で独自に行なってしまったというのが一番大きいな
結局、日本語が軽んじられていたんだろうけど、なんとも間抜けな話
151デフォルトの名無しさん
2024/12/13(金) 11:39:54.50ID:OiDxg/7M >>150
仕様書も文字の形がおかしかったはネットの素人が勝手に推測した迷信、文字形は規定していない
文字コード的にはフォントで変わる文字の形は意味がない
unicode の wave dash は JIS 第一水準の波ダージなどに対応する文字として準備された
unicode の互換領域の fullwidth tilde は EUC-JP とかで使用されいたJIS補助漢字のチルダをマッピングするために準備された
EUC-JP では ASCII の1バイト文字のチルダと補助漢字の2倍と文字のチルダに両方が使われていたので互換領域が必要だった
仕様書も文字の形がおかしかったはネットの素人が勝手に推測した迷信、文字形は規定していない
文字コード的にはフォントで変わる文字の形は意味がない
unicode の wave dash は JIS 第一水準の波ダージなどに対応する文字として準備された
unicode の互換領域の fullwidth tilde は EUC-JP とかで使用されいたJIS補助漢字のチルダをマッピングするために準備された
EUC-JP では ASCII の1バイト文字のチルダと補助漢字の2倍と文字のチルダに両方が使われていたので互換領域が必要だった
152デフォルトの名無しさん
2025/01/11(土) 13:26:51.55ID:ftPdDy1W なんか文字コード絡みでWindowsに特大級のセキュリティホールが見つかったぽい
https://blog.orange.tw/posts/2025-01-worstfit-unveiling-hidden-transformers-in-windows-ansi/
https://blog.orange.tw/posts/2025-01-worstfit-unveiling-hidden-transformers-in-windows-ansi/
153デフォルトの名無しさん
2025/01/11(土) 13:36:00.86ID:ftPdDy1W CP65001で緩和可能ってことであってるよね?
超ヤバげなんでageるよ
超ヤバげなんでageるよ
154デフォルトの名無しさん
2025/01/11(土) 13:52:24.87ID:wkEhpAnW155デフォルトの名無しさん
2025/01/11(土) 15:04:27.58ID:mk8LdH4O やべーやつだこれ
終わったな...
終わったな...
156デフォルトの名無しさん
2025/01/11(土) 15:07:44.39ID:MN266Dik とうとう Windows の Best-Fit-Conversion が槍玉にあげられたか
これって多数の個別アプリの問題に矮小化されてきたけどどう考えてもOSの設計ミスにしかみえない
これって多数の個別アプリの問題に矮小化されてきたけどどう考えてもOSの設計ミスにしかみえない
157デフォルトの名無しさん
2025/01/11(土) 16:08:55.10ID:IZON3iKr 件のBestFit機能のせいで、
windowsバッチでフルパスが半角スペースなし全角スペースありだと、
どのようにクォーティングをしようともまともに動かなくなったわけか
windowsバッチでフルパスが半角スペースなし全角スペースありだと、
どのようにクォーティングをしようともまともに動かなくなったわけか
158デフォルトの名無しさん
2025/01/11(土) 16:17:43.05ID:PjVvqmiz システム設定でUTF8にするとメモ帳でSJISテキストファイルが文字化けする訳だけど
この特需で伸ばす代替エディタは何か?
この特需で伸ばす代替エディタは何か?
159デフォルトの名無しさん
2025/01/11(土) 16:20:20.66ID:PjVvqmiz 場合によっては情シスがSJISテキストファイルリストアップツールを用意する事になりそう
160デフォルトの名無しさん
2025/01/11(土) 16:29:41.49ID:IZON3iKr UTF-8に設定すると、JaneStyleは今度こそ本当に使えなくなるんだよな
161デフォルトの名無しさん
2025/01/11(土) 16:37:08.97ID:8GlegYBS ファイル名に禁則文字を増やしても避けられないのだろうか?
162デフォルトの名無しさん
2025/01/11(土) 16:50:18.36ID:SJ4Pziuh これを機に932以外では文字化けするレガシーアプリは駆逐されれば良い
163デフォルトの名無しさん
2025/01/11(土) 17:11:19.10ID:MN266Dik >>161
ファイル名の禁則レベルでは無理
Unicode の一部の文字がバックスラッシュとか空白とかクォートとかの区切り文字や特殊処理する文字に化けるので、これを利用して入力を誤魔化せるという技
どう化けるかはコードページ次第
全部のアプリがユニコード対応になるか Windows が BestFit やめない限りは多くのアプリで同様の問題が量産される(オープンソース系のアプリはこれはOSの仕様のせいでアプリのバグじゃないので直すつもりはないとか言ってる)
UTF-8だとBestFit使われないので Windows 12 とかで SJIS とか Win-1521 とか捨ててデフォルトが UTF-8 になれば解決するけど
ファイル名の禁則レベルでは無理
Unicode の一部の文字がバックスラッシュとか空白とかクォートとかの区切り文字や特殊処理する文字に化けるので、これを利用して入力を誤魔化せるという技
どう化けるかはコードページ次第
全部のアプリがユニコード対応になるか Windows が BestFit やめない限りは多くのアプリで同様の問題が量産される(オープンソース系のアプリはこれはOSの仕様のせいでアプリのバグじゃないので直すつもりはないとか言ってる)
UTF-8だとBestFit使われないので Windows 12 とかで SJIS とか Win-1521 とか捨ててデフォルトが UTF-8 になれば解決するけど
164デフォルトの名無しさん
2025/01/11(土) 17:17:54.37ID:IZON3iKr システムをUTF-8に設定した上で、
CP932なアプリについて、個別のマニフェストの"activeCodePage"を"CP932"することで使えるようにならないんだろうか?
CP932なアプリについて、個別のマニフェストの"activeCodePage"を"CP932"することで使えるようにならないんだろうか?
165デフォルトの名無しさん
2025/01/11(土) 17:23:40.51ID:MN266Dik >>164
今のところできないし、できたとしてもその cp932 に設定したプログラムで BestFit による抜け穴が使われるリスクがある
今のところできないし、できたとしてもその cp932 に設定したプログラムで BestFit による抜け穴が使われるリスクがある
166デフォルトの名無しさん
2025/01/11(土) 17:41:24.43ID:8GlegYBS ファイル名に英数字以外禁止したら何とかなりそうな気はした
167デフォルトの名無しさん
2025/01/11(土) 17:49:38.65ID:MN266Dik168デフォルトの名無しさん
2025/01/11(土) 22:53:43.82ID:ftPdDy1W Windows全然詳しくないんだけど、Windows APIのANSI APIとUnicode APIとの違いって
標準Cライブラリの文字出力で言えばprintfとwprintfとの違いってことだよね?
世の中のOSSのほとんどはwprintf等のワイド文字関数なんて使っていないんだから
OSSをWindowsで動かした場合ほぼ全部WorstFitの影響を受けることになるはず
今後基本的にワイド文字関数で書くべきってなると、Hello Worldは
#include <stdio.h>
#include <locale.h>
#include <wchar.h>
int main(int argc, char **argv)
{
setlocale(LC_ALL, "");
wprintf(L"こんにちは世界\n");
}
こうすべきってこと?
標準Cライブラリの文字出力で言えばprintfとwprintfとの違いってことだよね?
世の中のOSSのほとんどはwprintf等のワイド文字関数なんて使っていないんだから
OSSをWindowsで動かした場合ほぼ全部WorstFitの影響を受けることになるはず
今後基本的にワイド文字関数で書くべきってなると、Hello Worldは
#include <stdio.h>
#include <locale.h>
#include <wchar.h>
int main(int argc, char **argv)
{
setlocale(LC_ALL, "");
wprintf(L"こんにちは世界\n");
}
こうすべきってこと?
169デフォルトの名無しさん
2025/01/11(土) 23:28:05.92ID:ftPdDy1W あ、
int main(int argc, char **argv)
エントリーポイントの時点で引数がワイド文字じゃないから脆弱性の影響を受ける可能性があるのか
wmainがあるのはそういう理由なのね
int main(int argc, char **argv)
エントリーポイントの時点で引数がワイド文字じゃないから脆弱性の影響を受ける可能性があるのか
wmainがあるのはそういう理由なのね
170デフォルトの名無しさん
2025/01/12(日) 08:20:59.76ID:xo4UH4ro MS的には「いまだにワイド文字列使ってないアプリが悪い」なんだよな
171デフォルトの名無しさん
2025/01/12(日) 11:43:06.44ID:2Lg/ICMd >>170
最近は ANSI は UTF-8 に固定しろとか言い出してる
最近は ANSI は UTF-8 に固定しろとか言い出してる
172デフォルトの名無しさん
2025/01/12(日) 12:45:56.54ID:/g6mpPgl173デフォルトの名無しさん
2025/01/13(月) 13:47:41.46ID:g4/CTboD UTF-8に一本化されるなら嬉しいな
174デフォルトの名無しさん
2025/01/13(月) 21:19:29.06ID:5zeCvv1K Windows アプリで UTF-8 コード ページを使用する
https://learn.microsoft.com/ja-jp/windows/apps/design/globalizing/use-utf8-code-page
https://learn.microsoft.com/ja-jp/windows/apps/design/globalizing/use-utf8-code-page
175デフォルトの名無しさん
2025/01/13(月) 23:50:34.22ID:ux79df1f 初めから文字列はUTF-8と言語仕様&標準ライブラリで決めてあるRustが楽でいいね
もちろん必要ならUTF-8以外も読み書き可
もちろん必要ならUTF-8以外も読み書き可
176デフォルトの名無しさん
2025/01/17(金) 17:07:09.01ID:GO6/DX25 pythonも楽ちんちん
177デフォルトの名無しさん
2025/01/18(土) 03:52:04.02ID:CaguG0TX RustがWindowsでファイル名を扱う時のWTF-8、あれ脆弱性の元な気がするんだよな…
WTF-8状態でサロゲートペアの前後を結合してしまうとUTF-8のとはまた別の冗長表現が導入されてしまう
WTF-8状態でサロゲートペアの前後を結合してしまうとUTF-8のとはまた別の冗長表現が導入されてしまう
178デフォルトの名無しさん
2025/01/18(土) 09:40:44.96ID:ryxfYm1H179デフォルトの名無しさん
2025/01/18(土) 10:15:43.69ID:CaguG0TX >>178
UTF-8では違反なサロゲートの片方だけを許すのがWTF-8なので
正常なサロゲートペアをUTF-8に変換したときの4〜6バイト表現に対して
WTF-8ではペアの片割れを別々に変換して結合した3バイトのサロゲート片☓2な別表現が存在できてしまうでしょ
これらはUTF-16に戻したら同じ文字列になってしまうので
WTF-8で比較等の処理をしてUTF-16に戻すと脆弱性になっちゃう
UTF-8では違反なサロゲートの片方だけを許すのがWTF-8なので
正常なサロゲートペアをUTF-8に変換したときの4〜6バイト表現に対して
WTF-8ではペアの片割れを別々に変換して結合した3バイトのサロゲート片☓2な別表現が存在できてしまうでしょ
これらはUTF-16に戻したら同じ文字列になってしまうので
WTF-8で比較等の処理をしてUTF-16に戻すと脆弱性になっちゃう
180デフォルトの名無しさん
2025/01/18(土) 10:40:31.12ID:ryxfYm1H >>179
色々間違えてる
UTF-8では片側だろうと両方だろうとサロゲート領域のコードは許されてない。あったらUTF-8じゃない
サロゲート導入前の古いUTF-8規格を参照してるアホがいるだけ
UTF-8は最大長で1文字4バイト、それ以上長いのは今のUTF-8では許されない
ましてWTF-8とか名前変えてもユニコード規格の対象外、UTF-8ではない
色々間違えてる
UTF-8では片側だろうと両方だろうとサロゲート領域のコードは許されてない。あったらUTF-8じゃない
サロゲート導入前の古いUTF-8規格を参照してるアホがいるだけ
UTF-8は最大長で1文字4バイト、それ以上長いのは今のUTF-8では許されない
ましてWTF-8とか名前変えてもユニコード規格の対象外、UTF-8ではない
181デフォルトの名無しさん
2025/01/18(土) 10:44:27.05ID:CaguG0TX >>180
最初っからWTF-8って言ってるじゃん
最初っからWTF-8って言ってるじゃん
182デフォルトの名無しさん
2025/01/18(土) 10:49:44.07ID:CaguG0TX Windowsのファイルシステムでは文字コードとしては不正なバイト列がファイル名として存在できる
それを8バイト文字列で無理やり扱うためRustではWTF-8という本来エラーになる表現も許容した規格違反UTF-8を使っている
OK?
それを8バイト文字列で無理やり扱うためRustではWTF-8という本来エラーになる表現も許容した規格違反UTF-8を使っている
OK?
183デフォルトの名無しさん
2025/01/18(土) 11:09:46.05ID:ryxfYm1H だから WTF-8 は UTF-8 とは違う
別物なんだから混同しなければ脆弱性にはならない
別物なんだから混同しなければ脆弱性にはならない
184デフォルトの名無しさん
2025/01/18(土) 11:15:32.70ID:CaguG0TX Rustではファイル名をWTF-8で扱うけどWTF-8で文字列処理すると危なくね?ってそれだけの話だよ
UTF-8の話と混同して絡んできたのはあんたじゃね
UTF-8の話と混同して絡んできたのはあんたじゃね
185デフォルトの名無しさん
2025/01/18(土) 11:27:52.60ID:7Jaib8zo m1Hは馬鹿ちんちん
186デフォルトの名無しさん
2025/01/18(土) 11:33:32.09ID:ryxfYm1H WTF-8 の文字列を UTF-8 の比較関数とかで処理しようとしてもうまくいかない → 当たり前
これは脆弱性ではないし、冗長性も関係ない
ここまでは理解できてるんだよな?
WTF-8 が別規格なんだからそれ専用の処理コードが必要ってだけだろ
UTF-8ではないので混同するなって話
これは脆弱性ではないし、冗長性も関係ない
ここまでは理解できてるんだよな?
WTF-8 が別規格なんだからそれ専用の処理コードが必要ってだけだろ
UTF-8ではないので混同するなって話
187デフォルトの名無しさん
2025/01/18(土) 11:36:02.21ID:CaguG0TX もう自分が何書いてるかもわかってなさそう
もう一度読んで?
もう一度読んで?
188デフォルトの名無しさん
2025/01/18(土) 11:44:30.94ID:rGNNXTeE 横通ります
Rustではディレクトリを開いてスキャンしたら各ファイル名はWTF-8とやらのスライスなのか?
Rustではディレクトリを開いてスキャンしたら各ファイル名はWTF-8とやらのスライスなのか?
189デフォルトの名無しさん
2025/01/18(土) 11:46:24.96ID:rGNNXTeE それとLinuxのファイルシステム自体もUTF-8文字コードを外れてもOKだから、Windowsに限った話ではないかと
LTF-8もあるのか?
LTF-8もあるのか?
190デフォルトの名無しさん
2025/01/18(土) 12:03:49.92ID:CaguG0TX >>188-189
型としてはOsStringとしてラップされてて、中身を取り出したらWindowsではWTF-8
不正な文字コードが入りうるのはどのOSでも同じだけどバイト列そのままな他OSと異なりWindowsだとUTF-16との変換も挟まって危なそうだなあって
(ちなmacOSやあとBSDのzfsなんかだと不正な文字コードは最初から入らないらしい?)
型としてはOsStringとしてラップされてて、中身を取り出したらWindowsではWTF-8
不正な文字コードが入りうるのはどのOSでも同じだけどバイト列そのままな他OSと異なりWindowsだとUTF-16との変換も挟まって危なそうだなあって
(ちなmacOSやあとBSDのzfsなんかだと不正な文字コードは最初から入らないらしい?)
191188-189
2025/01/18(土) 12:30:08.19ID:ZXpOcGU5 >>190
なるほどね納得
不正な文字コードに遭遇したら処理を進めないで即座にエラーにするが良さそう
問題は処理系がちゃんと不正な文字コードを感知するかどうかだけど、
WindowsでA系APIを使っていれば(RawワイドストリングのUTF-16解釈が試みられて)
不正なパラメータエラーとかで(ディレクトリスキャン時などの)早期に発見できそうな気がする
なるほどね納得
不正な文字コードに遭遇したら処理を進めないで即座にエラーにするが良さそう
問題は処理系がちゃんと不正な文字コードを感知するかどうかだけど、
WindowsでA系APIを使っていれば(RawワイドストリングのUTF-16解釈が試みられて)
不正なパラメータエラーとかで(ディレクトリスキャン時などの)早期に発見できそうな気がする
192デフォルトの名無しさん
2025/01/18(土) 12:32:48.77ID:ryxfYm1H なんだろうな?
UTF-8: 片サロゲートも両サロゲートも不可
WTF-8: 片サロゲートのみ可、両サロゲートは不可
CESU-8: サロゲート展開必須
という区別がちゃんとついてるんだろうかという疑問、これら混ぜれば冗長だが…
単独で冗長と言われても具体性がない
UTF-8: 片サロゲートも両サロゲートも不可
WTF-8: 片サロゲートのみ可、両サロゲートは不可
CESU-8: サロゲート展開必須
という区別がちゃんとついてるんだろうかという疑問、これら混ぜれば冗長だが…
単独で冗長と言われても具体性がない
193デフォルトの名無しさん
2025/01/20(月) 21:45:49.79ID:fFffNKjx 勘違いしてる人がいるため正しい情報
まずRustの文字列つまりstr型とString型はvalidなUTF-8のみであることが必ず保証されている
そこには当然サロゲートもなければinvalidなUTF-8もないため問題は一切起きない
そこにWTF-8など他のものが混ざることも絶対にない
つまりどんな文字列操作をしても冗長表現のない
validなUTF-8となる安全が保証されている
つづく
まずRustの文字列つまりstr型とString型はvalidなUTF-8のみであることが必ず保証されている
そこには当然サロゲートもなければinvalidなUTF-8もないため問題は一切起きない
そこにWTF-8など他のものが混ざることも絶対にない
つまりどんな文字列操作をしても冗長表現のない
validなUTF-8となる安全が保証されている
つづく
194デフォルトの名無しさん
2025/01/20(月) 21:46:25.68ID:fFffNKjx 次に言語とは関係ない話
validなUTF-16は必ずサロゲートがペアとして対応するが
それに対してWindowsのUTF-16パス名などあちこちの環境でinvalidなUTF-16が使われている
つまり単なる16bitコード列として任意のものが通るinvalidなUTF-16を名付けてWTF-16と呼ぶ
UTFを擬してWTFはWobbly Transformation Formatの略である
集合としてはinvalidなものを含む分だけ大きくてWTF-16⊃UTF-16となる
つづく
validなUTF-16は必ずサロゲートがペアとして対応するが
それに対してWindowsのUTF-16パス名などあちこちの環境でinvalidなUTF-16が使われている
つまり単なる16bitコード列として任意のものが通るinvalidなUTF-16を名付けてWTF-16と呼ぶ
UTFを擬してWTFはWobbly Transformation Formatの略である
集合としてはinvalidなものを含む分だけ大きくてWTF-16⊃UTF-16となる
つづく
195デフォルトの名無しさん
2025/01/20(月) 21:47:00.81ID:fFffNKjx UTF-16⇔UTF-8は常に可逆に変換できる
前述のWTF-16に対しても同様に可逆となるものとしてWTF-8が考えられる
つまりWTF-16⇔WTF-8は常に可逆に変換できる
前述のWTF-16⊃UTF-16と同様に
WTF-8⊃UTF-8となる
このWTF-8はあくまでもWTF-16との可逆を保証するための内部表現であり外で使われることはない
つづく
前述のWTF-16に対しても同様に可逆となるものとしてWTF-8が考えられる
つまりWTF-16⇔WTF-8は常に可逆に変換できる
前述のWTF-16⊃UTF-16と同様に
WTF-8⊃UTF-8となる
このWTF-8はあくまでもWTF-16との可逆を保証するための内部表現であり外で使われることはない
つづく
196デフォルトの名無しさん
2025/01/20(月) 21:48:06.23ID:fFffNKjx このWTF-8には以下の利点がある
・WTF-16(=任意の16bit列)と可逆に1対1に変換できる
・元のWTF-16がUTF-16のみの場合は対応するWTF-8はUTF-8のみとなる
・特に元がアスキー文字のみならば対応するWTF-8は7bitアスキー文字となる
集合関係はWTF-8⊃UTF-8⊃7bitアスキー文字となる
つまり内部表現として非常に使い勝手が良いものとなっている
つづく
・WTF-16(=任意の16bit列)と可逆に1対1に変換できる
・元のWTF-16がUTF-16のみの場合は対応するWTF-8はUTF-8のみとなる
・特に元がアスキー文字のみならば対応するWTF-8は7bitアスキー文字となる
集合関係はWTF-8⊃UTF-8⊃7bitアスキー文字となる
つまり内部表現として非常に使い勝手が良いものとなっている
つづく
197デフォルトの名無しさん
2025/01/20(月) 21:49:23.00ID:fFffNKjx そしてようやく再びRustの話
Rustでは言語の外の世界とをつなぐFFI (Foreign Function Initerface)の一つとして
OS環境依存の文字列型としてOsString型とOsStr型がある
これはvalidなUTF-8文字列型であるString型とstr型にそれぞれ対応する
集合的にはOsString⊃StringとOsStr⊃strとなりinvalidなUTF-8を含む分だけ大きな集合を表す
Windows環境ではこの内部表現として前述のWTF-8が使われている
つづく
Rustでは言語の外の世界とをつなぐFFI (Foreign Function Initerface)の一つとして
OS環境依存の文字列型としてOsString型とOsStr型がある
これはvalidなUTF-8文字列型であるString型とstr型にそれぞれ対応する
集合的にはOsString⊃StringとOsStr⊃strとなりinvalidなUTF-8を含む分だけ大きな集合を表す
Windows環境ではこの内部表現として前述のWTF-8が使われている
つづく
198デフォルトの名無しさん
2025/01/20(月) 21:50:56.30ID:fFffNKjx199デフォルトの名無しさん
2025/01/20(月) 22:03:03.35ID:SJIxPBxD Rustスレから出てこないで欲しいなあ
200デフォルトの名無しさん
2025/01/20(月) 22:15:46.02ID:fw0guZsp >>198
普通に結合で新しくOsStringを作ってる例がありますやん
ttps://doc.rust-lang.org/std/ffi/struct.OsString.html#capacity-of-osstring
普通に結合で新しくOsStringを作ってる例がありますやん
ttps://doc.rust-lang.org/std/ffi/struct.OsString.html#capacity-of-osstring
201デフォルトの名無しさん
2025/01/20(月) 22:20:59.93ID:SnLzVhb4 utf8とutf8を結合しても必ずutf8となるように
wtf8とwtf8を結合しても必ずwtf8だね
何を問題視しているのかな
wtf8とwtf8を結合しても必ずwtf8だね
何を問題視しているのかな
202デフォルトの名無しさん
2025/01/20(月) 22:26:06.74ID:fw0guZsp 何度も書いてるじゃないですか
サロゲートの片方だけなWTF-8同士を結合するとサロゲートペアが揃ってしまって本来あるべき形の別表現となるでしょ
その状態で比較等をすると狂いが生じる話
サロゲートの片方だけなWTF-8同士を結合するとサロゲートペアが揃ってしまって本来あるべき形の別表現となるでしょ
その状態で比較等をすると狂いが生じる話
203デフォルトの名無しさん
2025/01/20(月) 22:44:54.83ID:SnLzVhb4204デフォルトの名無しさん
2025/01/20(月) 22:51:08.98ID:uZ5HVjRv WTF-8 どうしを結合するときは終端処理をしてサロゲートの変換をしないといけない
UTF-8 のように単純に結合することできない
両サロゲートが含まれてるものはWTF-8ではない
UTF-8 のように単純に結合することできない
両サロゲートが含まれてるものはWTF-8ではない
205デフォルトの名無しさん
2025/01/20(月) 23:00:53.63ID:fw0guZsp206デフォルトの名無しさん
2025/01/20(月) 23:18:31.29ID:uZ5HVjRv >>205
片サロゲートはユニコード的には文字コードではないので片サロゲートの結合をどう処理するかは実装依存
捨てる、未定義文字に置き変える、文字だったことにしてUTF-8変換する、なんかのセパレータを挟むとかできるかもしれない
でも一般的と思われるのは結合処理自体をエラーで失敗させる
WTF-8 にも UTF-8 にも冗長性はない、WTF-8 を UTF-8 と同じように使ってはいけないだけ、両者は別物
片サロゲートはユニコード的には文字コードではないので片サロゲートの結合をどう処理するかは実装依存
捨てる、未定義文字に置き変える、文字だったことにしてUTF-8変換する、なんかのセパレータを挟むとかできるかもしれない
でも一般的と思われるのは結合処理自体をエラーで失敗させる
WTF-8 にも UTF-8 にも冗長性はない、WTF-8 を UTF-8 と同じように使ってはいけないだけ、両者は別物
207デフォルトの名無しさん
2025/01/20(月) 23:19:38.23ID:fFffNKjx >>204
そこで問題は生じない
WTF-8の2つの文字(列)の結合は
個別にWTF-16へ変換してからWTF-16として結合してそれをWTF-8へ変換したもの
と同等になるように処理が定義されている
つまり結合後も必ずWTF-8とWTF-16は1対1に対応する
WTF-8の2つの文字(列)をAとBとし結合を+で表すと
A + B ≡ to-WTF-8(to-WTF-16(A) + to-WTF-16(B))
が常に成り立ち1対1に可逆が保証される
別の冗長表現は生じない
そこで問題は生じない
WTF-8の2つの文字(列)の結合は
個別にWTF-16へ変換してからWTF-16として結合してそれをWTF-8へ変換したもの
と同等になるように処理が定義されている
つまり結合後も必ずWTF-8とWTF-16は1対1に対応する
WTF-8の2つの文字(列)をAとBとし結合を+で表すと
A + B ≡ to-WTF-8(to-WTF-16(A) + to-WTF-16(B))
が常に成り立ち1対1に可逆が保証される
別の冗長表現は生じない
208デフォルトの名無しさん
2025/01/20(月) 23:26:06.35ID:uZ5HVjRv >>206
一応補足しておくと、エラーなどの処理するのは結合時点でなくて、それを何か使おうとしたり、他の文字コードに変換しようとした時点とすることもできる
Invalid な WTF-8 のチェックをどの時点でするかだけの問題
一応補足しておくと、エラーなどの処理するのは結合時点でなくて、それを何か使おうとしたり、他の文字コードに変換しようとした時点とすることもできる
Invalid な WTF-8 のチェックをどの時点でするかだけの問題
209デフォルトの名無しさん
2025/01/20(月) 23:27:17.08ID:fw0guZsp210デフォルトの名無しさん
2025/01/20(月) 23:35:21.19ID:fw0guZsp211デフォルトの名無しさん
2025/01/20(月) 23:45:27.35ID:fFffNKjx >>209
それは任意の16bit列に対応するWTF-8を作れるようになっているのでその場合も対応できて大丈夫
use std::os::windows::ffi::OsStringExt
OsString::from_wide(wide: &[u16])
つまりWTF-16⇔WTF-8は必ず1対1に対応するため別の冗長表現は生じず問題は起こらない
それは任意の16bit列に対応するWTF-8を作れるようになっているのでその場合も対応できて大丈夫
use std::os::windows::ffi::OsStringExt
OsString::from_wide(wide: &[u16])
つまりWTF-16⇔WTF-8は必ず1対1に対応するため別の冗長表現は生じず問題は起こらない
212デフォルトの名無しさん
2025/01/20(月) 23:52:28.98ID:fFffNKjx つまり話をまとめると
WTF-8の新規生成はUTF-8もしくはWTF-16(=任意の16bit列)からのみ生成できるため常にWTF-16と1対1に対応する
WTF-8の結合は個別にWTF-16にしてから結合してWTF-8に戻した処理と同等と定義されているため常にWTF-16と1対1に対応する
したがって問題が発生する箇所はない
WTF-8の新規生成はUTF-8もしくはWTF-16(=任意の16bit列)からのみ生成できるため常にWTF-16と1対1に対応する
WTF-8の結合は個別にWTF-16にしてから結合してWTF-8に戻した処理と同等と定義されているため常にWTF-16と1対1に対応する
したがって問題が発生する箇所はない
213デフォルトの名無しさん
2025/01/21(火) 00:05:41.71ID:HFAykEjr >>212
異論というわけじゃないが、そもそもWTF-16どうしをそのまま結合して良いかというと必ずしもそうではない
WTF-16をそのまま結合して許される条件下まらWTF-8の結合を終端でサロゲートが並んだらUTF-8変換するというのは間違ってないけど
まあどっちにしろ正しく処理すれば冗長性はない
異論というわけじゃないが、そもそもWTF-16どうしをそのまま結合して良いかというと必ずしもそうではない
WTF-16をそのまま結合して許される条件下まらWTF-8の結合を終端でサロゲートが並んだらUTF-8変換するというのは間違ってないけど
まあどっちにしろ正しく処理すれば冗長性はない
214デフォルトの名無しさん
2025/01/21(火) 00:39:07.85ID:HFAykEjr ファイル名に文字ではないゴミが含まれている → 実際に含まれているだから仕方ないOSの問題
ゴミとゴミをくっつけると文字になる → OSの問題でも文字コードの問題でもない、許すかどうかはアプリの問題
ゴミとゴミをくっつけると文字になる → OSの問題でも文字コードの問題でもない、許すかどうかはアプリの問題
215デフォルトの名無しさん
2025/01/21(火) 00:52:01.60ID:HFAykEjr ゴミの結合をして文字になることを許すと冗長性とは別のセキュリティホールになることがある
文字のフィルターとかで文字列Aにも文字列Bにも含まれてないことを確認した文字が A+B に含まれるかもしれない
これは最近に始まったことではなくて SJIS
とか EUC-JP とかでもあった問題で、セキュリティ要件ではゴミの単純な結合は許さないのがベスト・プラクティス
文字のフィルターとかで文字列Aにも文字列Bにも含まれてないことを確認した文字が A+B に含まれるかもしれない
これは最近に始まったことではなくて SJIS
とか EUC-JP とかでもあった問題で、セキュリティ要件ではゴミの単純な結合は許さないのがベスト・プラクティス
216デフォルトの名無しさん
2025/01/21(火) 01:27:51.08ID:cx2WozxM いずれにせよRustの文字列処理には何ら問題なくて
WTF-8の処理にも何ら問題ないことがわかったのだから
最初の書き込みのこの人が間違っていたな
>>177
>>RustがWindowsでファイル名を扱う時のWTF-8、あれ脆弱性の元な気がするんだよな…
WTF-8で脆弱性が引き起こされないことも今回はっきりした
あとはもし何かあるとすればWindows側の問題のみ
WTF-8の処理にも何ら問題ないことがわかったのだから
最初の書き込みのこの人が間違っていたな
>>177
>>RustがWindowsでファイル名を扱う時のWTF-8、あれ脆弱性の元な気がするんだよな…
WTF-8で脆弱性が引き起こされないことも今回はっきりした
あとはもし何かあるとすればWindows側の問題のみ
217デフォルトの名無しさん
2025/01/21(火) 06:06:40.49ID:/BTcOxxh218デフォルトの名無しさん
2025/01/21(火) 07:33:55.78ID:CGf2GAkC219デフォルトの名無しさん
2025/01/21(火) 07:42:06.00ID:4+X4XnDl まあ抽象的なコードポイントの話じゃなくて、エンコーディングの話、例えば
> WTF-16(=任意の16bit列)
と言ってるから
> WTF-8⊃UTF-8となる
も8bit列を意図してるのなら、成り立たないな。
WTF-8に関しては、WTF-8(=任意の16bit列)ではなくて、
絵文字などをUTF-8エンコードした8bit列は、WTF-8では不正な8bit列となる。
> WTF-16(=任意の16bit列)
と言ってるから
> WTF-8⊃UTF-8となる
も8bit列を意図してるのなら、成り立たないな。
WTF-8に関しては、WTF-8(=任意の16bit列)ではなくて、
絵文字などをUTF-8エンコードした8bit列は、WTF-8では不正な8bit列となる。
220デフォルトの名無しさん
2025/01/21(火) 07:43:40.53ID:4+X4XnDl 訂正
WTF-8に関しては、WTF-8(=任意の8bit列)ではなくて、
WTF-8に関しては、WTF-8(=任意の8bit列)ではなくて、
221デフォルトの名無しさん
2025/01/21(火) 08:02:21.62ID:CGf2GAkC >>219
>>絵文字などをUTF-8エンコードした8bit列は、WTF-8では不正な8bit列となる。
それは君が勘違いしてるよ
UTF-8エンコードした8bit列は必ず有効なWTF-8になるが正しい
反論があるならUTF-8がWTF-8とならない場合のプログラム例を出そう
>>絵文字などをUTF-8エンコードした8bit列は、WTF-8では不正な8bit列となる。
それは君が勘違いしてるよ
UTF-8エンコードした8bit列は必ず有効なWTF-8になるが正しい
反論があるならUTF-8がWTF-8とならない場合のプログラム例を出そう
222デフォルトの名無しさん
2025/01/21(火) 08:06:50.62ID:6E3WwSvm >>221
それを含めた時が冗長性誕生の瞬間である
それを含めた時が冗長性誕生の瞬間である
223デフォルトの名無しさん
2025/01/21(火) 08:11:27.09ID:CGf2GAkC224デフォルトの名無しさん
2025/01/21(火) 08:59:02.25ID:HFAykEjr WTF-8 は定義からして冗長性はない、プログラム以前の問題
WTF-8 は UTF-8 に加えて片サロゲートをUTF-8変換したものが含まれているだけ
サロゲート前半とサロゲート後半の連続も許されてない
それが混じったらWTF-8じゃない
WTF-8∋UTF-8 → ✕
WTF-8⊃UTF-8 → ○
任意の16bit列 = WTF-16 → ○ (未定義文字などを許す前提)
任意の8bit列 = WTF-8 → ✕
WTF-16 と WTF-8 は冗長性なく1対1対応 → ○
基本が分かってないやつがいるので議論が噛み合ってないだけのようだ
WTF-8 は UTF-8 に加えて片サロゲートをUTF-8変換したものが含まれているだけ
サロゲート前半とサロゲート後半の連続も許されてない
それが混じったらWTF-8じゃない
WTF-8∋UTF-8 → ✕
WTF-8⊃UTF-8 → ○
任意の16bit列 = WTF-16 → ○ (未定義文字などを許す前提)
任意の8bit列 = WTF-8 → ✕
WTF-16 と WTF-8 は冗長性なく1対1対応 → ○
基本が分かってないやつがいるので議論が噛み合ってないだけのようだ
225デフォルトの名無しさん
2025/01/21(火) 09:11:27.73ID:nn8C9EMv226デフォルトの名無しさん
2025/01/21(火) 09:23:46.18ID:snb5MXpj WTF-8に冗長表現は起きず脆弱性はないね
冗長が起きると書き込んでる人は、理解できずに間違った思い込みをしているのか、悔しくてデマを繰り返してるのか、わからんけどさ
冗長表現を生成する具体例を一つ示せば済むのに、ここまで来ても一つも示せていない
冗長が起きると書き込んでる人は、理解できずに間違った思い込みをしているのか、悔しくてデマを繰り返してるのか、わからんけどさ
冗長表現を生成する具体例を一つ示せば済むのに、ここまで来ても一つも示せていない
227デフォルトの名無しさん
2025/01/21(火) 10:25:40.02ID:uiolM7XA 帰れ
228デフォルトの名無しさん
2025/01/21(火) 11:37:21.93ID:q2HQSFd2 >>215の言うAにもBにも含まれない「文字」がA+Bに含まれるかもしれない問題、
処理の正しさの観点では(脆弱性の話は置いておいて)
NFC/NFDやIVS/IVD/ZWJ絡みで(well formed UTF-8同士の範囲でも)発生する気がするけど
実際にA+Bを作ってからチェックするのが鉄則なのか?
「文字」じゃなくて「文字列」ならA+Bを作るのが普通と思う
(それと正規表現なら部分マッチが出来たりする)
処理の正しさの観点では(脆弱性の話は置いておいて)
NFC/NFDやIVS/IVD/ZWJ絡みで(well formed UTF-8同士の範囲でも)発生する気がするけど
実際にA+Bを作ってからチェックするのが鉄則なのか?
「文字」じゃなくて「文字列」ならA+Bを作るのが普通と思う
(それと正規表現なら部分マッチが出来たりする)
229デフォルトの名無しさん
2025/01/21(火) 12:16:20.66ID:HFAykEjr230デフォルトの名無しさん
2025/01/21(火) 12:47:14.29ID:mXSJj++Z そんなの要件定義考慮漏れで溢れかえってる
何かあったら現状を仕様にする
何かあったら現状を仕様にする
231デフォルトの名無しさん
2025/01/21(火) 16:35:46.77ID:3Vt9EG/U ライブラリ側に問題がないとはいえ過信はよろしくない
OsStringでは機能が足りず中身を取り出しての直接処理はよくやられてるし
余計な変換をかましてるせいで考慮することが増えてしまってる一方でアプリ側にはWindowsの特殊事情なんて考慮してないコードも山ほどあろう
OsStringでは機能が足りず中身を取り出しての直接処理はよくやられてるし
余計な変換をかましてるせいで考慮することが増えてしまってる一方でアプリ側にはWindowsの特殊事情なんて考慮してないコードも山ほどあろう
232デフォルトの名無しさん
2025/01/21(火) 17:20:43.69ID:HFAykEjr >>231
だから最初から WTF-8 は UTF-8 とは別物
混同したら問題、混同しなければ問題はない
UTF-8 ではサロゲート断片は許されない
WTF-8 ではサロゲートの片側だけ許されるがそのせいで追加の処理が必要
冗長性うんぬんを言い出すのはこの違いが分かってないやつという話題だろ
だから最初から WTF-8 は UTF-8 とは別物
混同したら問題、混同しなければ問題はない
UTF-8 ではサロゲート断片は許されない
WTF-8 ではサロゲートの片側だけ許されるがそのせいで追加の処理が必要
冗長性うんぬんを言い出すのはこの違いが分かってないやつという話題だろ
233デフォルトの名無しさん
2025/01/21(火) 17:51:44.82ID:ARY2cBPO Windowsも対応しているRipGrepの場合、OsStringのまま処理してるけど
ユーザーアプリレベルでWTF-8は必要なのか?
(すぐにpub fn into_string(self) -> Result<String, OsString>してる気がする)
ユーザーアプリレベルでWTF-8は必要なのか?
(すぐにpub fn into_string(self) -> Result<String, OsString>してる気がする)
234デフォルトの名無しさん
2025/01/21(火) 20:27:12.14ID:81VrkBbA 10年以上経ってv0.1.0な時点でネタライブラリでは
235デフォルトの名無しさん
2025/01/21(火) 20:36:26.03ID:vcWEfek9 >>233
OsStringとWTF-8は別物だと理解できてる?
OsStringは元が正規ユニコードならUTF-8となり、異なるならUTF-8を含む拡大集合になる、という抽象的な型
たまたまWindows環境の時は内部がWTF-8になるかもしれないがそんなことを意識せずに使えるところがカギ
自分の管轄範囲を処理する多くのアプリでは元がユニコードでなければエラーとして無視できる
そのためto_string()で文字列すなわちUTF-8へ変換するがそこで実際に変換する必要がなく変換コストはゼロとなる点が実際の目的
このような特性を備えつつUTF-8にできない場合も元の情報を保つ抽象的な型がOsString
そしてWindowsの場合はその内部実装をWTF-8にすると上述の特性群を満たせるというだけの話
OsStringとWTF-8は別物だと理解できてる?
OsStringは元が正規ユニコードならUTF-8となり、異なるならUTF-8を含む拡大集合になる、という抽象的な型
たまたまWindows環境の時は内部がWTF-8になるかもしれないがそんなことを意識せずに使えるところがカギ
自分の管轄範囲を処理する多くのアプリでは元がユニコードでなければエラーとして無視できる
そのためto_string()で文字列すなわちUTF-8へ変換するがそこで実際に変換する必要がなく変換コストはゼロとなる点が実際の目的
このような特性を備えつつUTF-8にできない場合も元の情報を保つ抽象的な型がOsString
そしてWindowsの場合はその内部実装をWTF-8にすると上述の特性群を満たせるというだけの話
236デフォルトの名無しさん
2025/01/21(火) 22:03:34.94ID:HFAykEjr Rust の OsString という基準だと Linux とかだと任意のバイト列なんでそっちがもともとの形だな
たまたま Windows 版で効率考えて WTF-8 変換したものを使ってるだけ
たまたま Windows 版で効率考えて WTF-8 変換したものを使ってるだけ
237デフォルトの名無しさん
2025/01/21(火) 22:39:07.66ID:p3RcK7RU rgは凄く効率を重視してるけどOsStringで扱うしかなくてロスが発生してる
(各ファイルを開くのにWTF-16名に戻す処理が必要)
(各ファイルを開くのにWTF-16名に戻す処理が必要)
238デフォルトの名無しさん
2025/01/22(水) 23:14:48.82ID:qi7PZ6q/ OsStringは異なる環境で統一的に容易にStringと相互変換して扱えるための標準ライブラリ機能
些細なロスすら深刻な影響が出る用途がもし存在するのならば
特定環境に特化した専用のライブラリを用意すればよいだけ
必要な条件を満たすライブラリが既に存在しているかどうかは各自の用途で調べて
些細なロスすら深刻な影響が出る用途がもし存在するのならば
特定環境に特化した専用のライブラリを用意すればよいだけ
必要な条件を満たすライブラリが既に存在しているかどうかは各自の用途で調べて
239デフォルトの名無しさん
2025/01/24(金) 18:16:24.35ID:3xtC4p+Z240デフォルトの名無しさん
2025/01/24(金) 21:50:18.47ID:VaG4uwwC >>239
WTF-8自体を自在に改変するインターフェイスが全くないため、WTF-8独自の問題は発生しない。
WTF-8はWTF-16と1対1に可逆なので、WTF-16で起こる問題は当然WTF-8でも起きる。
WTF-16とはWindows OSが許容している拡張UTF-16、すなわち本来のUTF-16とは異なる16bit列も許す。
したがって、WTF-8を用いて起こる問題は、Windows OSが許容してる範囲内の問題のみであり、新たな問題を持ち込むことはない。
WTF-8自体を自在に改変するインターフェイスが全くないため、WTF-8独自の問題は発生しない。
WTF-8はWTF-16と1対1に可逆なので、WTF-16で起こる問題は当然WTF-8でも起きる。
WTF-16とはWindows OSが許容している拡張UTF-16、すなわち本来のUTF-16とは異なる16bit列も許す。
したがって、WTF-8を用いて起こる問題は、Windows OSが許容してる範囲内の問題のみであり、新たな問題を持ち込むことはない。
241デフォルトの名無しさん
2025/01/25(土) 06:47:37.99ID:IEhZAzOs >>240
なんでもOSのせいにするのは良くないぞ
Windows は片サロゲートどうしを連結することを前提にしてはいない
あくまでも連結してるのはアプリの問題
WTF-8 の連結もアプリの問題OSとは独立
なんでもOSのせいにするのは良くないぞ
Windows は片サロゲートどうしを連結することを前提にしてはいない
あくまでも連結してるのはアプリの問題
WTF-8 の連結もアプリの問題OSとは独立
242デフォルトの名無しさん
2025/01/25(土) 07:40:49.86ID:oQSzfWfA >>241
もちろんその通りで
当たり前の三つの同値
WTF-8で起こりうること = WTF-16で起こりうること = Windowsで起こりうること
これだけの話だな
それを理解できずにWTF-8で新たな問題が生じると勘違いしているバカがWTF-8を批判していた
もちろんその通りで
当たり前の三つの同値
WTF-8で起こりうること = WTF-16で起こりうること = Windowsで起こりうること
これだけの話だな
それを理解できずにWTF-8で新たな問題が生じると勘違いしているバカがWTF-8を批判していた
243デフォルトの名無しさん
2025/01/25(土) 08:02:54.69ID:IEhZAzOs244デフォルトの名無しさん
2025/01/25(土) 08:11:11.01ID:oQSzfWfA245デフォルトの名無しさん
2025/01/25(土) 11:54:33.53ID:IEhZAzOs246デフォルトの名無しさん
2025/01/25(土) 12:08:02.89ID:oQSzfWfA >>245
それも正しい
WindowsもLinuxも正しいユニコード以外を許容している
だからUTF-16やUTF-8を前提としてはいけない
そのためWTF-16やWTF-8あるいは何らか他の枠組みの導入でようやく対応できる
その時に当たり前の三つの同値
WTF-8で起こりうること = WTF-16で起こりうること = Windowsで起こりうること
この事実を理解できるかどうか
これを理解できずにWTF-8で新たな問題が生じると勘違いしているバカがWTF-8を批判していた
それも正しい
WindowsもLinuxも正しいユニコード以外を許容している
だからUTF-16やUTF-8を前提としてはいけない
そのためWTF-16やWTF-8あるいは何らか他の枠組みの導入でようやく対応できる
その時に当たり前の三つの同値
WTF-8で起こりうること = WTF-16で起こりうること = Windowsで起こりうること
この事実を理解できるかどうか
これを理解できずにWTF-8で新たな問題が生じると勘違いしているバカがWTF-8を批判していた
247デフォルトの名無しさん
2025/01/25(土) 12:36:14.63ID:IEhZAzOs248デフォルトの名無しさん
2025/01/25(土) 13:00:31.67ID:oQSzfWfA >>247
どのOSも正しいユニコード以外を許容している
したがってUTF-8/16以外も扱えなければならない
そして非UTF-8/16があった時にそれを認識して区別して扱えなければならない
その区別ができないと既存のUTF-8/16部分にもうっかり混入させて汚染を広げてしまう
この重要性が理解できるかね?
RustではUTF-8とWTF-8(など非ユニコード)は明確に別の型となっているため安全性が保証される
両者を扱えつつ型システムにより必ず区別できる
どのOSも正しいユニコード以外を許容している
したがってUTF-8/16以外も扱えなければならない
そして非UTF-8/16があった時にそれを認識して区別して扱えなければならない
その区別ができないと既存のUTF-8/16部分にもうっかり混入させて汚染を広げてしまう
この重要性が理解できるかね?
RustではUTF-8とWTF-8(など非ユニコード)は明確に別の型となっているため安全性が保証される
両者を扱えつつ型システムにより必ず区別できる
249デフォルトの名無しさん
2025/01/25(土) 13:07:40.11ID:IEhZAzOs250デフォルトの名無しさん
2025/01/25(土) 13:31:18.17ID:oQSzfWfA >>249
どちらのOSも自由を許容している
そのため非ユニコードが混入しうる
OSは歯止めにならない
だからRustのように型で明確に区別できる言語を用いてアプリを作ればよい
非ユニコードが他へ波及することを防ぎつつ安全に扱うことができる
どちらのOSも自由を許容している
そのため非ユニコードが混入しうる
OSは歯止めにならない
だからRustのように型で明確に区別できる言語を用いてアプリを作ればよい
非ユニコードが他へ波及することを防ぎつつ安全に扱うことができる
251デフォルトの名無しさん
2025/01/25(土) 14:44:40.60ID:6/VZHgMn from_encoded_bytes_uncheckedにoverlong UTF-8をブチ込んでinto_stringしたらOk返ってきちゃった
StringまたはWTF-16から変換されること以外は無い前提でチェックは最低限にされてるみたい
unsafe contractを破った俺が悪いのはそうなんだが、これを「WTF-8文字列コンテナ型」だと思ってたらまあまあ死にそう
バイト列からの変換にcheckedな版が無いのも、一応エンコーディング未規定なんだから好き勝手なバイト列から作るもんじゃねーよバーカってことだな
同じことをLinuxでもやったらこっちはinto_stringの時点でErrが返ってくる
OsStringの内部のバッファの不変条件としても違いがあって、Windows以外では任意のバイト列でいいけど、Windowsでは常にWTF-8でなくてはならないようだ
WTF-8それ自体が脆弱性の根源になることはなくても、こうしたややこしさが誤った使い方、ひいては脆弱性を生むことはあるかもしれないとは思った
StringまたはWTF-16から変換されること以外は無い前提でチェックは最低限にされてるみたい
unsafe contractを破った俺が悪いのはそうなんだが、これを「WTF-8文字列コンテナ型」だと思ってたらまあまあ死にそう
バイト列からの変換にcheckedな版が無いのも、一応エンコーディング未規定なんだから好き勝手なバイト列から作るもんじゃねーよバーカってことだな
同じことをLinuxでもやったらこっちはinto_stringの時点でErrが返ってくる
OsStringの内部のバッファの不変条件としても違いがあって、Windows以外では任意のバイト列でいいけど、Windowsでは常にWTF-8でなくてはならないようだ
WTF-8それ自体が脆弱性の根源になることはなくても、こうしたややこしさが誤った使い方、ひいては脆弱性を生むことはあるかもしれないとは思った
252デフォルトの名無しさん
2025/01/25(土) 15:20:14.12ID:0Kd0a2wN >>251
そのunsafe fn from_encoded_bytes_unchecked(byres: Vec<u8>)は安全性の対象外と明示されているね
unsafeとはC言語と同じようにプログラマーの責任で安全性を保証しなければならない
それを理解しない者や扱う技術を持たない者がunsafeを使ってはいけない
それ以前にRustは今回の件も自動的に安全性が保証されるコードを(unsafeを使わずに)書くことができる
そのunsafe fn from_encoded_bytes_unchecked(byres: Vec<u8>)は安全性の対象外と明示されているね
unsafeとはC言語と同じようにプログラマーの責任で安全性を保証しなければならない
それを理解しない者や扱う技術を持たない者がunsafeを使ってはいけない
それ以前にRustは今回の件も自動的に安全性が保証されるコードを(unsafeを使わずに)書くことができる
253デフォルトの名無しさん
2025/01/25(土) 15:40:07.61ID:6/VZHgMn254デフォルトの名無しさん
2025/01/25(土) 15:45:28.44ID:6/VZHgMn というかもうWTF-8の話じゃなくてRustの話になりつつあるしこの辺で終わっとこうぜ
続きがやりたければRust本スレで
続きがやりたければRust本スレで
255デフォルトの名無しさん
2025/01/25(土) 21:10:55.94ID:yCgioYGI Rustスレから出てこないで欲しい
256デフォルトの名無しさん
2025/01/25(土) 22:20:25.13ID:LC7IJQQw 構うから居座り続けるんだよ
学習しろ
学習しろ
257デフォルトの名無しさん
2025/01/26(日) 10:07:42.23ID:QXh9thRU Macの濁点半濁点問題ってUTF-8の正規化とやらの範疇に入るのかな
文字構成の解釈の仕方の問題だから正規化を実装する人の思想に強く依存してしまうと思うけど
文字構成の解釈の仕方の問題だから正規化を実装する人の思想に強く依存してしまうと思うけど
258デフォルトの名無しさん
2025/01/26(日) 10:56:58.06ID:14aIx6OH 日本人からすると濁点半濁点の違うMacうぜーとなるけど
欧州でもdiacriticsがあるから同じくMacうぜーだろうな
欧州でもdiacriticsがあるから同じくMacうぜーだろうな
259デフォルトの名無しさん
2025/01/26(日) 11:31:33.02ID:orn1Lem+ >>257
このスレにいるなら文字コードとエンコーディングの区別を理解しよう
UTF-8はエンコーディング方法なので
そこでの正規化は冗長表現の排除やサロゲートペアの排除を指す
一方濁点半濁点の話は文字コードであるUnicodeの正規化の話であってUTF-8は一切関係がない
このスレにいるなら文字コードとエンコーディングの区別を理解しよう
UTF-8はエンコーディング方法なので
そこでの正規化は冗長表現の排除やサロゲートペアの排除を指す
一方濁点半濁点の話は文字コードであるUnicodeの正規化の話であってUTF-8は一切関係がない
260デフォルトの名無しさん
2025/01/26(日) 11:52:28.72ID:OHuPDl3g >>257
Unicode の正規化は規格で決まっている
基本的に実装者の自由にやってはいけない
・複数の正規化が規定されてるのでそのうちの1つに過ぎない
・MacOSの正規化は一部規格から外れてる
という問題はある
Unicode の正規化は規格で決まっている
基本的に実装者の自由にやってはいけない
・複数の正規化が規定されてるのでそのうちの1つに過ぎない
・MacOSの正規化は一部規格から外れてる
という問題はある
261デフォルトの名無しさん
2025/01/26(日) 12:03:07.52ID:Lrs5O7+s Macの濁点半濁点問題はEBCDICのカナ(半角カタカナ)をきれいに表示する努力をした結果なのだろうか?
262デフォルトの名無しさん
2025/01/27(月) 11:38:12.00ID:ss2Vvpwv ファイル名は正規化するべきなのかするべきでないのか、という問題があり
Macは正規化する派
正規化するとした場合、どういう正規化がいいか、それが次の問題
Macは正規化する派
正規化するとした場合、どういう正規化がいいか、それが次の問題
263デフォルトの名無しさん
2025/01/27(月) 18:51:09.07ID:5zVfH4ct 日本語のフォントを外国人が作っているせいで日本語の記号の見た目がおかしくなった
264デフォルトの名無しさん
2025/01/27(月) 18:52:15.56ID:5zVfH4ct >>262
Macのアップル社もGoogle社も改行コードに対しては意地悪すぎだろ
Macのアップル社もGoogle社も改行コードに対しては意地悪すぎだろ
265デフォルトの名無しさん
2025/01/27(月) 22:05:41.27ID:1OoDt+VN Apple の改行コードはCRだったものがMac OS X でLFになったのを意地悪と言っているのだろうか?
266デフォルトの名無しさん
2025/01/27(月) 23:31:59.65ID:5zVfH4ct267デフォルトの名無しさん
2025/01/28(火) 10:08:29.84ID:dqvH8r5C268デフォルトの名無しさん
2025/01/28(火) 11:39:24.54ID:JQ2UpNE9269デフォルトの名無しさん
2025/01/30(木) 07:10:47.96ID:gms+ATb5 ワシの霊感では、
CR LF → LF 変換 は無理
CR LF → CR 変換 も無理
その逆、は可能、スナワチ
LF → CR LF 変換等は、可能
なんでかって❓ 霊感的には、
それが可能と仮定すれば、そのような問題は解決済
しかし未だに未解決の模様なので、
では、霊感的にではなく、数学的にはどうなのか
吟味しようかな。てか不可能が証明されても
その証明は、闇に葬る必要があるよな
by 💃🥳🤔
とにかく、アプリの改行バグなくせぇーー
by 👤🤡
CR LF → LF 変換 は無理
CR LF → CR 変換 も無理
その逆、は可能、スナワチ
LF → CR LF 変換等は、可能
なんでかって❓ 霊感的には、
それが可能と仮定すれば、そのような問題は解決済
しかし未だに未解決の模様なので、
では、霊感的にではなく、数学的にはどうなのか
吟味しようかな。てか不可能が証明されても
その証明は、闇に葬る必要があるよな
by 💃🥳🤔
とにかく、アプリの改行バグなくせぇーー
by 👤🤡
270デフォルトの名無しさん
2025/01/30(木) 10:13:34.95ID:lxoi8Hgj RFCもいまどき入力は寛容にとは書いてないんだっけか
271デフォルトの名無しさん
2025/01/30(木) 23:31:56.82ID:xDtExgvT 改行の話をするならこのTRには目を通しているよね?
https://www.unicode.org/reports/tr14/tr14-32.html#BreakingRules
https://www.unicode.org/reports/tr14/tr14-32.html#BreakingRules
272デフォルトの名無しさん
2025/01/31(金) 19:55:09.44ID:0CYGlf8F CRの直後にLFが現れたなら、改行2つではないとわかる。
それなのに改行2つと解釈するのは悪意でしかないり
それなのに改行2つと解釈するのは悪意でしかないり
273デフォルトの名無しさん
2025/01/31(金) 20:06:45.58ID:RSTFpkS7 CR や LF より前に CRLF を処理しないのは悪意でしか無いな
274デフォルトの名無しさん
2025/01/31(金) 20:07:21.09ID:B141IEhK275デフォルトの名無しさん
2025/01/31(金) 20:25:32.29ID:uF0JLDg9 >>274
みんながみんな勝手に modified NFD とか作り始めたら互換性とか規格とか何の意味もなくなる
勝手なオレオレ基準は非難されるべき
単に古い規格準拠というだけなら許されるが Apple のはそうじゃない
みんながみんな勝手に modified NFD とか作り始めたら互換性とか規格とか何の意味もなくなる
勝手なオレオレ基準は非難されるべき
単に古い規格準拠というだけなら許されるが Apple のはそうじゃない
276デフォルトの名無しさん
2025/01/31(金) 20:45:51.19ID:B141IEhK そもそも正規化自体は都合に合わせて勝手にやるもんだぜ?
Windowsの.で終わるファイル名を拡張子なしと同一視するのも正規化だし
掲示板への書き込みで行頭のスペースが消えるのも正規化だ
Unicodeで定義されたやつだけが正規化ではないというのは大前提として
字形を変えない範囲で厄介な合成分解で別ファイル扱いになるのを避けたい
というのは他の文字コードからUnicodeへの過渡期では当然の要求だろう
他のOSとのやりとりでトラブルが起きるようになったのはもっと考えるべきだったとは思うが
Windowsの.で終わるファイル名を拡張子なしと同一視するのも正規化だし
掲示板への書き込みで行頭のスペースが消えるのも正規化だ
Unicodeで定義されたやつだけが正規化ではないというのは大前提として
字形を変えない範囲で厄介な合成分解で別ファイル扱いになるのを避けたい
というのは他の文字コードからUnicodeへの過渡期では当然の要求だろう
他のOSとのやりとりでトラブルが起きるようになったのはもっと考えるべきだったとは思うが
277デフォルトの名無しさん
2025/01/31(金) 20:53:12.36ID:uF0JLDg9 >>276
それは違う
Apple はユニコード・コンソーシアムの設立からのメンバー
技術的に規格に問題があるののならそれを変えればいい、それをやらなければいけない立場
中核メンバーが自分たちが作った規格を勝手に無視してたら、規格の意味なんてない
この件はどう言い訳しても Apple はクソという結論にしかならない
それは違う
Apple はユニコード・コンソーシアムの設立からのメンバー
技術的に規格に問題があるののならそれを変えればいい、それをやらなければいけない立場
中核メンバーが自分たちが作った規格を勝手に無視してたら、規格の意味なんてない
この件はどう言い訳しても Apple はクソという結論にしかならない
278デフォルトの名無しさん
2025/01/31(金) 20:55:58.32ID:B141IEhK >>277
Appleは提案したが通らなかったってどっかで見たぞ
Appleは提案したが通らなかったってどっかで見たぞ
279デフォルトの名無しさん
2025/01/31(金) 20:57:03.60ID:h9+hJoTP 技術的に無理な仕様作ったん?
280デフォルトの名無しさん
2025/01/31(金) 21:06:00.74ID:uF0JLDg9281デフォルトの名無しさん
2025/01/31(金) 21:19:51.37ID:1pwkweKb 規格があるのにそれを使わない分野なんて沢山ありそうだが
実際のところ金を出せて声がでかければ規格なんていくらでも通せるんだから
実際のところ金を出せて声がでかければ規格なんていくらでも通せるんだから
282デフォルトの名無しさん
2025/01/31(金) 21:24:04.22ID:B141IEhK >>280
俺が見た記事は残ってないだろうけど検索したら出てきたunicode.org内の議事録はたぶんこれ
ttps://www.unicode.org/review/resolved-pri.html#pri7
俺が見た記事は残ってないだろうけど検索したら出てきたunicode.org内の議事録はたぶんこれ
ttps://www.unicode.org/review/resolved-pri.html#pri7
283デフォルトの名無しさん
2025/01/31(金) 21:26:16.69ID:gGXkx70A >>281
ヒデェ
ヒデェ
284デフォルトの名無しさん
2025/01/31(金) 22:22:23.03ID:mygoMuj6 >>282
www
一部除外したら一貫性が無くなって正規化が 正規化じゃなくなるから勝手な除外は駄目って明確に指摘されてるな
なんで実装したんだろう? いやVFとか使いたくなかったんだろうけど、
どうしてもやりたければ任意の除外ではなく VF のみ除外みたいなので再提案すべきだったのでは
www
一部除外したら一貫性が無くなって正規化が 正規化じゃなくなるから勝手な除外は駄目って明確に指摘されてるな
なんで実装したんだろう? いやVFとか使いたくなかったんだろうけど、
どうしてもやりたければ任意の除外ではなく VF のみ除外みたいなので再提案すべきだったのでは
285デフォルトの名無しさん
2025/02/16(日) 22:21:14.00ID:y/0wzlVz https://gigazine.net/news/20250214-unicode-hidden-message/
Unicodeでは一見すると普通の文字の中に「秘密のメッセージ」を埋め込むことが可能だという指摘
Unicodeでは一見すると普通の文字の中に「秘密のメッセージ」を埋め込むことが可能だという指摘
286デフォルトの名無しさん
2025/02/16(日) 23:51:54.49ID:hLnUvUfF287デフォルトの名無しさん
2025/02/17(月) 16:59:47.72ID:GjzIkJ/e Unicodeはそのうちオーディオブック用やa11yで読み上げ音声用のVSが定義されそう
288デフォルトの名無しさん
2025/02/17(月) 17:34:45.48ID:9sDD+e7d 漢字みたいな複数の読み方があるのは難しいだろうね
289デフォルトの名無しさん
2025/02/17(月) 18:36:11.68ID:tdbxV0fJ MSOfiiceでIME入力がphoneticsとして保存されてて読み仮名表示出来るのは、他に広まっても良いのにな
290デフォルトの名無しさん
2025/02/18(火) 12:25:03.72ID:HbHlBTpR >>286
なるほどね
fn byte_to_variation_selector(byte: u8) -> char {
if byte < 16 {
char::from_u32(0xFE00 + byte as u32).unwrap()
} else {
char::from_u32(0xE0110 + (byte - 16) as u32).unwrap()
}
}
なるほどね
fn byte_to_variation_selector(byte: u8) -> char {
if byte < 16 {
char::from_u32(0xFE00 + byte as u32).unwrap()
} else {
char::from_u32(0xE0110 + (byte - 16) as u32).unwrap()
}
}
291デフォルトの名無しさん
2025/02/28(金) 17:04:23.70ID:kF3VgEHE fn byte_to_variation_selector(byte: u8) -> Option<char> {
if byte < 16 {
char::from_u32(0xFE00 + byte as u32)
} else {
char::from_u32(0xE0110 + (byte - 16) as u32)
}
}
if byte < 16 {
char::from_u32(0xFE00 + byte as u32)
} else {
char::from_u32(0xE0110 + (byte - 16) as u32)
}
}
292デフォルトの名無しさん
2025/04/03(木) 21:05:53.03ID:tEk54HNS 「Windows11でファイル名に絵文字が使えることを知って、1つ賢くなった」便利と思われる機能が追加→情シスがバールを担いで暴れ出す案件
https://posfie.com/@blackstaragent/p/kpHrLMR
今まで使えなかったんだっけ?と思って最後まで見たら
ちゃんと前から使えてたって突っ込まれてたわ
https://posfie.com/@blackstaragent/p/kpHrLMR
今まで使えなかったんだっけ?と思って最後まで見たら
ちゃんと前から使えてたって突っ込まれてたわ
293デフォルトの名無しさん
2025/04/06(日) 16:37:54.44ID:+flcOJuk 普通に文を書く時でも()?!などの記号をASCII文字にするか全角文字にするか
濁点と半濁点を結合済み文字にするか別の文字にするかで迷ってしまう
濁点と半濁点を結合済み文字にするか別の文字にするかで迷ってしまう
294デフォルトの名無しさん
2025/04/07(月) 21:43:17.60ID:1UVr/FZP 濁点と半濁点が別の文字だと認識しているのはおかしい
295デフォルトの名無しさん
2025/04/08(火) 17:04:31.43ID:UfxEZoR8 まし"て"
296デフォルトの名無しさん
2025/04/09(水) 01:54:47.78ID:t8BwIxsD Windowsのエクスプローラーで見るとキャラクタセットによっては濁点が別の文字だとわからないことがある
297デフォルトの名無しさん
2025/04/11(金) 20:08:58.20ID:i2PY9ZNn 朝鮮系の奴隷労働者が造ったと思われるサイトは
濁点が抜けてる気持ち悪いところがいくつかある
濁点が抜けてる気持ち悪いところがいくつかある
298デフォルトの名無しさん
2025/04/12(土) 06:35:11.93ID:IMDrBc8a299デフォルトの名無しさん
2025/05/02(金) 09:50:51.92ID:k5bGwZZ0 不可視化トラップで教育素材造るのはいいね
https://www.youtube.com/watch?v=cXTBwD798Lk
https://www.youtube.com/watch?v=cXTBwD798Lk
300デフォルトの名無しさん
2025/05/02(金) 18:10:04.97ID:9xoZUliT ユニコード悪用ヤバいな
>>298
>公式アプリと同じ開発者に見える名前で偽アプリが提供されました。
>この詐欺師は、印刷に現れないスペース文字を開発者名に混ぜ込むことでバリデーションのすり抜けに成功しました。
>このハックによって100万人以上が騙されました。
>>298
>公式アプリと同じ開発者に見える名前で偽アプリが提供されました。
>この詐欺師は、印刷に現れないスペース文字を開発者名に混ぜ込むことでバリデーションのすり抜けに成功しました。
>このハックによって100万人以上が騙されました。
301デフォルトの名無しさん
2025/05/02(金) 20:30:48.79ID:rPO248eK >印刷に現れないスペース文字
誤訳だな
AIあほすぎ
誤訳だな
AIあほすぎ
302デフォルトの名無しさん
2025/05/07(水) 21:40:30.18ID:9JkcRkxN https://github.com/microsoft/cascadia-code/releases/tag/cascadia-next
Joyo, JIS1, JIS2って何だよ
日本人向けのフォントなら日本人に分かるような書き方してくれ
Joyo, JIS1, JIS2って何だよ
日本人向けのフォントなら日本人に分かるような書き方してくれ
303デフォルトの名無しさん
2025/05/08(木) 02:26:11.93ID:US+UAC1U304デフォルトの名無しさん
2025/05/08(木) 03:01:55.71ID:US+UAC1U ちなみにライブラリで必ずやることに変えれば
規格準拠にしやすいと思う
フル準拠にするとカーネルに入れるにはテーブルが大きすぎる
けどじゃあPython処理系はどうするんだ
osモジュールに担当させるのか
osモジュールみたいな機構がない言語処理系ではどうするんだ
とか色々大変
規格準拠にしやすいと思う
フル準拠にするとカーネルに入れるにはテーブルが大きすぎる
けどじゃあPython処理系はどうするんだ
osモジュールに担当させるのか
osモジュールみたいな機構がない言語処理系ではどうするんだ
とか色々大変
305デフォルトの名無しさん
2025/05/08(木) 03:15:04.31ID:US+UAC1U 要するにパス名正規化は無意味で無駄
306デフォルトの名無しさん
2025/05/08(木) 12:28:18.82ID:of3Q4Bd7 ちっぱいでもいいじゃん
307デフォルトの名無しさん
2025/05/08(木) 16:10:03.97ID:n8dUtc6U308デフォルトの名無しさん
2025/05/08(木) 23:33:49.27ID:pZAMgdYa 規格には則ってる
複数あって非互換なのが問題
複数あって非互換なのが問題
309デフォルトの名無しさん
2025/05/08(木) 23:40:58.88ID:n8dUtc6U310デフォルトの名無しさん
2025/05/08(木) 23:51:00.29ID:US+UAC1U せめてNFCにしてればな
殆どの文書はNFCで構成されるんだから
それでもUnicodeは規格がバージョンごとに違うからなあ
正規化が無駄な努力
殆どの文書はNFCで構成されるんだから
それでもUnicodeは規格がバージョンごとに違うからなあ
正規化が無駄な努力
311デフォルトの名無しさん
2025/05/09(金) 02:29:43.44ID:3ts3cFTs >>303
ファイルコピーとかするときは毎回、正規化の変換が発生する感じ?
(不明な正規化)->(特定の正規化) ってのは問題ないんだっけ?
一方でファイルビューア(Finder)とか上の方はどのFS上にいるとか意識
したくないだろうからなあ。そこでも正規化の変換が起こるのかな?
ファイルコピーとかするときは毎回、正規化の変換が発生する感じ?
(不明な正規化)->(特定の正規化) ってのは問題ないんだっけ?
一方でファイルビューア(Finder)とか上の方はどのFS上にいるとか意識
したくないだろうからなあ。そこでも正規化の変換が起こるのかな?
312デフォルトの名無しさん
2025/05/09(金) 11:12:25.67ID:oh4Slinf ファイルビューア
↓正規化
ファイルヒ゛ューア
こんなのやだな
↓正規化
ファイルヒ゛ューア
こんなのやだな
313デフォルトの名無しさん
2025/05/09(金) 12:07:16.82ID:OoJ+JMZS EBCDICカナ文字の話みたい。
ごめんなさい、ごめんなさい、ごめんなさい。
ごめんなさい、ごめんなさい、ごめんなさい。
314デフォルトの名無しさん
2025/05/09(金) 15:56:58.76ID:yePfNbNe >>311
最近macOSは余り触ってないが昔は
(様々な理由により以下の状況が起きて)
ファイルビューア
ファイルヒ゛ューア
の両方がディレクトリにある場合に、Finder.appでは
ファイルビューア
ファイルビューア
と表示され後者しかアクセス出来なかった
Cocoaが正規化してユーザやカーネルに渡すから
最近macOSは余り触ってないが昔は
(様々な理由により以下の状況が起きて)
ファイルビューア
ファイルヒ゛ューア
の両方がディレクトリにある場合に、Finder.appでは
ファイルビューア
ファイルビューア
と表示され後者しかアクセス出来なかった
Cocoaが正規化してユーザやカーネルに渡すから
315デフォルトの名無しさん
2025/05/13(火) 18:18:02.49ID:El9a77up 字にはヒラギノール
316デフォルトの名無しさん
2025/07/20(日) 21:42:09.27ID:v9zpB8iu Microsoft Print to PDFで出力したファイルからテキストをコピペしたら文字化けしてた…→実はPDFの仕様に潜む本質的な欠陥が原因なのでは?
https://togetter.com/li/2577928
https://togetter.com/li/2577928
317デフォルトの名無しさん
2025/07/20(日) 22:29:37.55ID:0FYiUEbf >>316
文字コードの問題ではなく単なるバグ
より正確にいうと大昔からある PDF のフォントの使い方の問題
PDF はウェブと違って文字コードをデフォルトでは埋め込んでなくてフォント内の番号で直接埋め込んでる
フィント番号と文字コードが1対1でマップしている保証はないのに、コピペの時はフォントに埋め込みの変換表で番号から文字コード生成する仕組になってる
複数の文字コードに同じフォントを割り当てているフォントを使うとこの問題が起きる
文字コードの問題ではなく単なるバグ
より正確にいうと大昔からある PDF のフォントの使い方の問題
PDF はウェブと違って文字コードをデフォルトでは埋め込んでなくてフォント内の番号で直接埋め込んでる
フィント番号と文字コードが1対1でマップしている保証はないのに、コピペの時はフォントに埋め込みの変換表で番号から文字コード生成する仕組になってる
複数の文字コードに同じフォントを割り当てているフォントを使うとこの問題が起きる
318デフォルトの名無しさん
2025/07/22(火) 01:09:42.93ID:g3Tn7WHZ >>316 みたいな奴が参政党に投票する
319デフォルトの名無しさん
2025/07/22(火) 12:00:50.20ID:Yl+nv6VH アドビはタイプセッター屋じゃけぇ、フォントファーストじゃけぇ
320デフォルトの名無しさん
2025/07/22(火) 12:55:59.74ID:nZDCfJLI321デフォルトの名無しさん
2025/07/22(火) 13:37:16.00ID:bKhKMrtD322デフォルトの名無しさん
2025/07/22(火) 15:01:08.85ID:yoaKkUTS >>321
大きくはなるが、1%も変わらんだろ、その文書で使った物だけそうすればいいのだし
> unicode普及以前の技術なのを思い出せ
unicode以外では特に問題なかったのなら、unicode側の問題であり、
unicodeをPDF化するときには数パーセント大きくなる、で済んだ話だろ
お前がPDF嫌いなのは分かるが、技術的には、unicodeで仕様を拡大したのにPDF出力ソフトが対応出来てないだけだろ
大きくはなるが、1%も変わらんだろ、その文書で使った物だけそうすればいいのだし
> unicode普及以前の技術なのを思い出せ
unicode以外では特に問題なかったのなら、unicode側の問題であり、
unicodeをPDF化するときには数パーセント大きくなる、で済んだ話だろ
お前がPDF嫌いなのは分かるが、技術的には、unicodeで仕様を拡大したのにPDF出力ソフトが対応出来てないだけだろ
323デフォルトの名無しさん
2025/07/22(火) 19:20:34.51ID:bKhKMrtD >>322
違うんだ。unicode その他の対応の拡張で PDF の仕様自体は更新されてるんだ
でもその機能にちゃんと対応している pdf 作成ツールや pdf viewer が少ないだけなんだ
本家の Adobe で作成して Adobe で読めば問題なかったりするんだよ
違うんだ。unicode その他の対応の拡張で PDF の仕様自体は更新されてるんだ
でもその機能にちゃんと対応している pdf 作成ツールや pdf viewer が少ないだけなんだ
本家の Adobe で作成して Adobe で読めば問題なかったりするんだよ
324デフォルトの名無しさん
2025/07/22(火) 22:22:27.85ID:yoaKkUTS >>323
となるとPDF側はすべき事はやってて、unicodeと糞ソフトの問題だな
とはいえ今更本家からの統制は無理だし、
この問題を認識した上で各自が対応するしかなさそうだな
(そういえば最近無駄にコピペさせないPDFが増えた気がするが、実は糞ソフト側のパッチ対応であったか)
となるとPDF側はすべき事はやってて、unicodeと糞ソフトの問題だな
とはいえ今更本家からの統制は無理だし、
この問題を認識した上で各自が対応するしかなさそうだな
(そういえば最近無駄にコピペさせないPDFが増えた気がするが、実は糞ソフト側のパッチ対応であったか)
325デフォルトの名無しさん
2025/07/24(木) 18:46:53.48ID:bvlLnJ99 >>316
PDFの仕様が自由すぎるからだぞ?
PDFの仕様が自由すぎるからだぞ?
326デフォルトの名無しさん
2025/07/24(木) 19:36:31.51ID:Gx5EDFfz adobeはPDF2.0に対応したのか、やる気もないのか、とふと思った
327デフォルトの名無しさん
2025/07/24(木) 21:57:49.45ID:PCIysLOC328デフォルトの名無しさん
2025/07/25(金) 01:59:47.04ID:UKTPcfYB PDFはPostScriptがベースなんだけど、これは元々プリンタ出力のために設計されたもの
後は紙に印刷するだけって状態のデータだから文字コードなんて概念はない
PostScriptの仕様をPDFに流用する時、検索ができないのは不便だからってんで
グリフ番号→文字コードのマッピング表をPDFファイルに埋め込める仕組みを作った
アプリがこの表を適宜生成しないと文字化けが発生する
後は紙に印刷するだけって状態のデータだから文字コードなんて概念はない
PostScriptの仕様をPDFに流用する時、検索ができないのは不便だからってんで
グリフ番号→文字コードのマッピング表をPDFファイルに埋め込める仕組みを作った
アプリがこの表を適宜生成しないと文字化けが発生する
329デフォルトの名無しさん
2025/07/25(金) 07:07:21.05ID:yWMF+wv2 >>328
それで、unicode以外ではグリフと文字コードが1:1だから問題にならなかったのなら、
アプリ製作者がunicodeについて無知なのが原因だろう
ただ、unicodeも無駄に冗長すぎるようにも見える
K(0x212a:Kelvin sign)とか、K(0x4b:大文字K)が今までの全ての文書で使われてるのに今更どうしろと?
今後「KをKに修正しろ」と誤字を指摘するKelvin警察が生まれるとウザい
そして割と問題なのが、検索で引っかからなくなる事
検索時には区別しないのなら、最初から今まで通り同じフォントでよくね?だし
unicodeが何を目指してどういう着地点を想定してるのかさっぱり分からん
それで、unicode以外ではグリフと文字コードが1:1だから問題にならなかったのなら、
アプリ製作者がunicodeについて無知なのが原因だろう
ただ、unicodeも無駄に冗長すぎるようにも見える
K(0x212a:Kelvin sign)とか、K(0x4b:大文字K)が今までの全ての文書で使われてるのに今更どうしろと?
今後「KをKに修正しろ」と誤字を指摘するKelvin警察が生まれるとウザい
そして割と問題なのが、検索で引っかからなくなる事
検索時には区別しないのなら、最初から今まで通り同じフォントでよくね?だし
unicodeが何を目指してどういう着地点を想定してるのかさっぱり分からん
330デフォルトの名無しさん
2025/07/25(金) 09:21:41.11ID:5+UAzUxo331デフォルトの名無しさん
2025/07/25(金) 11:08:12.46ID:yWMF+wv2 >>330
つまり、あらゆる文字コードの上位セットにしてしまえば、文字コードを統一出来るとの考えか
しかしこれだとあらゆる方言を内包する事になるので、おかしくなりかけてるのが今か
どこかの自治体が「斉」の文字を外字で19種登録してたら、これもいつか実装されるというわけか
(と思ったらもうあった、0x9f4a〜8文字のようだ)
仕様を適宜整理出来ず、ムダ仕様が膨らみ、メンテ不能になるのは、あるあるだけど、
unicodeもこの軌道に乗ってるな
(もしかして欧米連中はこの辺の仕様の整理が上手くて、下手糞なCJKを混入したからおかしくなってるだけか?)
つまり、あらゆる文字コードの上位セットにしてしまえば、文字コードを統一出来るとの考えか
しかしこれだとあらゆる方言を内包する事になるので、おかしくなりかけてるのが今か
どこかの自治体が「斉」の文字を外字で19種登録してたら、これもいつか実装されるというわけか
(と思ったらもうあった、0x9f4a〜8文字のようだ)
仕様を適宜整理出来ず、ムダ仕様が膨らみ、メンテ不能になるのは、あるあるだけど、
unicodeもこの軌道に乗ってるな
(もしかして欧米連中はこの辺の仕様の整理が上手くて、下手糞なCJKを混入したからおかしくなってるだけか?)
332デフォルトの名無しさん
2025/07/25(金) 14:05:16.33ID:TViBdD0W >>331
戸籍/汎用電子情報交換環境/文字情報基盤の「斎」の変種のことなら unicode には IVD として全部登録されてる
戸籍/汎用電子情報交換環境/文字情報基盤の「斎」の変種のことなら unicode には IVD として全部登録されてる
333デフォルトの名無しさん
2025/07/25(金) 18:28:38.05ID:yWMF+wv2 >>332
正式名称は知らんが、俺が言ってるのはそれだな
ググったら総務省が音頭取ってやってるのか?色々出てきたが、
少なくとも規格化してから登録してるようだから、最低限の重複チェック等はあるはずで、まあ何とかなるのかな?
にしても検索どうするんだこれ?だし、
最近の絵文字の氾濫も、当初の想定からかなり逸脱してるのではないかと思うが
正式名称は知らんが、俺が言ってるのはそれだな
ググったら総務省が音頭取ってやってるのか?色々出てきたが、
少なくとも規格化してから登録してるようだから、最低限の重複チェック等はあるはずで、まあ何とかなるのかな?
にしても検索どうするんだこれ?だし、
最近の絵文字の氾濫も、当初の想定からかなり逸脱してるのではないかと思うが
334デフォルトの名無しさん
2025/07/25(金) 19:02:45.52ID:yWMF+wv2 と思ったが、IVSは直後に枝番付加する方式か
まあ、比較的マシ、というか、真面目にやるならこれしかない程度には洗練されてる
ちなみにこれ、実際のグリフを算出するにはどうするのだ?
異体字が全部Exxxなようで、辞書引きするしかなく、それがIVDなのか?
というか各者の説明読む限り、845B+E0100指定すれば勝手にそれが出てくる的な書き方で、
もしかして「斉」のようにunicode側に独立したコードを割り当てておらず、
必ず元字+枝番のセットで使うのが仕様か?(この方がいいが)
まあ、比較的マシ、というか、真面目にやるならこれしかない程度には洗練されてる
ちなみにこれ、実際のグリフを算出するにはどうするのだ?
異体字が全部Exxxなようで、辞書引きするしかなく、それがIVDなのか?
というか各者の説明読む限り、845B+E0100指定すれば勝手にそれが出てくる的な書き方で、
もしかして「斉」のようにunicode側に独立したコードを割り当てておらず、
必ず元字+枝番のセットで使うのが仕様か?(この方がいいが)
335デフォルトの名無しさん
2025/07/25(金) 19:10:28.15ID:5+UAzUxo >>334
IVD は重複登録が許されてる。ソースが異なれば完全に同じ字形でも異なる IVS が与えられる(こともある)
IVD は重複登録が許されてる。ソースが異なれば完全に同じ字形でも異なる IVS が与えられる(こともある)
336デフォルトの名無しさん
2025/07/26(土) 08:13:11.69ID:PF0bui/v >>335
うむ、意図が分からん
「斉」は独立コ
ードも与え、IVDにも登録、
「葛」は独立コー
ドなし、IVDには登録、のようだから、仕様作ったやつが馬鹿だな
実装には結局両対応が必要となり、発注価格には1000万程度の上乗せが各社で必要となる
無能が仕様を作るとこういった糞仕様による目に見えづらい税金が発生するから、
仕様は最初にガッツリ決めようぜというのが欧米流だが、相変わらず日本はこの辺糞だな
(大方やってるうちに足りなくなって途中で方針変更だろうが、これをやられると悲惨なことになる)
> ソースが異なれば完全に同じ字形でも異なる IVS が与えられる(こともある)
検索でヒットする必要がなく、たまたま同じフォントで見た目が同じなだけだから、
プログラム側には全く問題ないだろうさ
ただ、入力側が正しく入力できるかは大問題だろうけどさ
単一の文字コー
ドを目指すかぎり、字体のみならず、コードの割り当て方の方言も内包することになるわけだな
unicodeのバージョン管理って、完全上位互換?それとも後方互換切り捨て?
(例:16準拠の場合、15を完全に満たすのか、そうでないのか)
C#のように上手く古い仕様を廃止していかないと、確実にどこかで破綻する気はする(か、そもそも実装してもらえないか)
うむ、意図が分からん
「斉」は独立コ
ードも与え、IVDにも登録、
「葛」は独立コー
ドなし、IVDには登録、のようだから、仕様作ったやつが馬鹿だな
実装には結局両対応が必要となり、発注価格には1000万程度の上乗せが各社で必要となる
無能が仕様を作るとこういった糞仕様による目に見えづらい税金が発生するから、
仕様は最初にガッツリ決めようぜというのが欧米流だが、相変わらず日本はこの辺糞だな
(大方やってるうちに足りなくなって途中で方針変更だろうが、これをやられると悲惨なことになる)
> ソースが異なれば完全に同じ字形でも異なる IVS が与えられる(こともある)
検索でヒットする必要がなく、たまたま同じフォントで見た目が同じなだけだから、
プログラム側には全く問題ないだろうさ
ただ、入力側が正しく入力できるかは大問題だろうけどさ
単一の文字コー
ドを目指すかぎり、字体のみならず、コードの割り当て方の方言も内包することになるわけだな
unicodeのバージョン管理って、完全上位互換?それとも後方互換切り捨て?
(例:16準拠の場合、15を完全に満たすのか、そうでないのか)
C#のように上手く古い仕様を廃止していかないと、確実にどこかで破綻する気はする(か、そもそも実装してもらえないか)
337デフォルトの名無しさん
2025/07/26(土) 12:33:33.50ID:JK5RKkw3 >>336
最近の仕様だけ見たら混乱するよな
− もともとは同じ文字の別字形については昔の資産(unicode が作られるより前の20世紀の文字コード)にある文字だけ独立したコードポイントが割り当てられる方針だった
− その後の他の字形も使いたい、実際に使ってる現場があるという要望に答えるために IVS が整備された
− でもある文字と別の文字の字形が同じかどうかをフォント抜きで確実に判別する手段がないので字体表をそのまま IVD として登録していく方針にした
− 中国政府が「 IVD とか知るか、独立したコードポイント割り当ててくれないんなら、自分たちで勝手に割り当ててオレオレ unicode の利用を中国国内では強制することにするがよろしいか?」 と言い出した
− unicode 側が折れて漢字に関しては中国が要望してきた分に関してはIVDじゃなくて今後も全部に独立コードポイントが割り当てられることになった
− 甲骨文字は漢字じゃないので独立コードポイントよこせって中国が言ってきたので漢字とは別に割り当てる予定
最近の仕様だけ見たら混乱するよな
− もともとは同じ文字の別字形については昔の資産(unicode が作られるより前の20世紀の文字コード)にある文字だけ独立したコードポイントが割り当てられる方針だった
− その後の他の字形も使いたい、実際に使ってる現場があるという要望に答えるために IVS が整備された
− でもある文字と別の文字の字形が同じかどうかをフォント抜きで確実に判別する手段がないので字体表をそのまま IVD として登録していく方針にした
− 中国政府が「 IVD とか知るか、独立したコードポイント割り当ててくれないんなら、自分たちで勝手に割り当ててオレオレ unicode の利用を中国国内では強制することにするがよろしいか?」 と言い出した
− unicode 側が折れて漢字に関しては中国が要望してきた分に関してはIVDじゃなくて今後も全部に独立コードポイントが割り当てられることになった
− 甲骨文字は漢字じゃないので独立コードポイントよこせって中国が言ってきたので漢字とは別に割り当てる予定
338デフォルトの名無しさん
2025/07/26(土) 13:22:34.55ID:IhScHI/D >>337
日本側の状況はさもありなん
全自治体の異体字をカバーする為にはIVS/IVDしかないので、最初からここを目指せればベストだったが
中国側の言い分は正直分からん、というか連中は日本政府以上に馬鹿だな
検索考えたらIVS/IVD方式の方が独立コード方式より断然いいのに
とはいえ状況知らんが、簡体/繁体もある意味異体字だから、最早どうしようもないのかもしれんが
> オレオレ unicode の利用を中国国内では強制することにする
それは中国規格なので勝手にしろでいいと思うが
> unicode 側が折れて
となるのは、unicode陣営は統一コードの夢を見続けている、ということか
なら、日本政府が、どうにもならないからやっぱ止めて新規格作ります、とか言いだしたら、(見る限りこの必要はないと思うが)
非関税障壁ガーで、足抜けは許さないコードヤクザになるわけだな
まあ、検索考えたら独立コードになってるのも全部IVS/IVD方式に寄せた方がいい
現実的には入力後に独立コード→IVS/IVDに変換してDB登録すれば実害はあまりない
可能であればさっさと独立コードになってる物を仕様から落とすべきだが、これは難しいのだろうね
日本側の状況はさもありなん
全自治体の異体字をカバーする為にはIVS/IVDしかないので、最初からここを目指せればベストだったが
中国側の言い分は正直分からん、というか連中は日本政府以上に馬鹿だな
検索考えたらIVS/IVD方式の方が独立コード方式より断然いいのに
とはいえ状況知らんが、簡体/繁体もある意味異体字だから、最早どうしようもないのかもしれんが
> オレオレ unicode の利用を中国国内では強制することにする
それは中国規格なので勝手にしろでいいと思うが
> unicode 側が折れて
となるのは、unicode陣営は統一コードの夢を見続けている、ということか
なら、日本政府が、どうにもならないからやっぱ止めて新規格作ります、とか言いだしたら、(見る限りこの必要はないと思うが)
非関税障壁ガーで、足抜けは許さないコードヤクザになるわけだな
まあ、検索考えたら独立コードになってるのも全部IVS/IVD方式に寄せた方がいい
現実的には入力後に独立コード→IVS/IVDに変換してDB登録すれば実害はあまりない
可能であればさっさと独立コードになってる物を仕様から落とすべきだが、これは難しいのだろうね
339デフォルトの名無しさん
2025/07/27(日) 09:27:25.30ID:y0cxqRG2340デフォルトの名無しさん
2025/07/27(日) 09:52:00.68ID:s52NuiMb >>339
酷くはない
その当時はそれでも素晴らしかったから普及した
そして実際、unicode以前は完全に機能していたわけだし
どちらかというとunicodeが既存技術に対してかなり異端で、
当然アプリは別対応が求められるが、それが適切に為されていない場合、誤動作してるだけ
Adobe謹製環境では動作してるのなら、Adobe側がこれ以上できることはない
酷くはない
その当時はそれでも素晴らしかったから普及した
そして実際、unicode以前は完全に機能していたわけだし
どちらかというとunicodeが既存技術に対してかなり異端で、
当然アプリは別対応が求められるが、それが適切に為されていない場合、誤動作してるだけ
Adobe謹製環境では動作してるのなら、Adobe側がこれ以上できることはない
341デフォルトの名無しさん
2025/07/27(日) 10:08:59.26ID:4jy4lfp7342デフォルトの名無しさん
2025/07/27(日) 10:52:09.39ID:s52NuiMb >>341
ソース違いで自体が同じ例か?
カと力は、何か変だと気づく程度には字形も微妙に違い、怪しい中華の説明書で間違って使われる程度だろ
問題になるのは全角チルダと波ダッシュとか、あと伸ばし棒も何種類かあって、
これらは日本人でも割とデタラメに使っているので、検索に引っかからなくなって困る
だから、unicodeのCJK統合漢字=見た目が同じなら同じ文字、は、
検索の結果がユーザーにも予期出来る、という意味では正しい思想で、
逆に、同じ字体にも違うコードを割り付け、『ユーザーが正しくそれらを使い分けられない場合』、どうにもならなくなる
この辺の思想が、unicodeは徹底出来ていない
ソース違いで自体が同じ例か?
カと力は、何か変だと気づく程度には字形も微妙に違い、怪しい中華の説明書で間違って使われる程度だろ
問題になるのは全角チルダと波ダッシュとか、あと伸ばし棒も何種類かあって、
これらは日本人でも割とデタラメに使っているので、検索に引っかからなくなって困る
だから、unicodeのCJK統合漢字=見た目が同じなら同じ文字、は、
検索の結果がユーザーにも予期出来る、という意味では正しい思想で、
逆に、同じ字体にも違うコードを割り付け、『ユーザーが正しくそれらを使い分けられない場合』、どうにもならなくなる
この辺の思想が、unicodeは徹底出来ていない
343デフォルトの名無しさん
2025/07/27(日) 15:00:47.82ID:xJMx5cyL344デフォルトの名無しさん
2025/07/27(日) 15:43:44.47ID:s52NuiMb >>343
PostScript以前はプリンタによって出力結果が異なっていた為、
ファイルを渡しても印刷結果が異なる事が普通だった
(だから厳密にやるには紙でやりとりするしかなかった)
これに対し、PostScriptだとどのプリンタでも見た目の出力結果が同じ為、
あっという間にデファクトスタンダードをとった
PostScriptはベジエなフォントをプリンタでラスタライズする
だからフォントを埋め込めば、同じ見た目の出力になる
以前のプリンタは、プリンタ内蔵のビットマップフォントを印刷してたか、
PCから送られてくるラスタデータを印刷してたかなので、環境によって印刷結果が異なっていた
(なおその後PostScriptが若干落ち目なのは、特許料金が高いのと、
プリンタ上で処理する仕組み上、プリンタ側にそこそこのCPUが必要となり、プリンタ代が高くなるから)
PDFはPostScriptをバイナリ化したものなので、基本思想はPostScriptから引き継いでいる
当時は(今もだが)WordもExcelも有料であり、その他のソフトも、全員が確実に持っている物はなかった
AdobeはPDFの生成は有料だが、開くだけなら無料(AcrobatReaderは無料)という方針で、
あらゆる人に対して確実に読める環境を提示した為、PDFもあっという間に普及した
MSがWord/Excelのリーダーを無料で提供したのはその後
俺が知ってる概略はこんな所だ
PostScriptも、PDFも、当時としては素晴らしかったし、完全に機能してたよ
(今でも十分素晴らしいとも思うが)
ぼくはおまえよりしってるんだ!!!とか要らんから、最初から知ってる事書けばいいと思うけどね
はいどうぞ
PostScript以前はプリンタによって出力結果が異なっていた為、
ファイルを渡しても印刷結果が異なる事が普通だった
(だから厳密にやるには紙でやりとりするしかなかった)
これに対し、PostScriptだとどのプリンタでも見た目の出力結果が同じ為、
あっという間にデファクトスタンダードをとった
PostScriptはベジエなフォントをプリンタでラスタライズする
だからフォントを埋め込めば、同じ見た目の出力になる
以前のプリンタは、プリンタ内蔵のビットマップフォントを印刷してたか、
PCから送られてくるラスタデータを印刷してたかなので、環境によって印刷結果が異なっていた
(なおその後PostScriptが若干落ち目なのは、特許料金が高いのと、
プリンタ上で処理する仕組み上、プリンタ側にそこそこのCPUが必要となり、プリンタ代が高くなるから)
PDFはPostScriptをバイナリ化したものなので、基本思想はPostScriptから引き継いでいる
当時は(今もだが)WordもExcelも有料であり、その他のソフトも、全員が確実に持っている物はなかった
AdobeはPDFの生成は有料だが、開くだけなら無料(AcrobatReaderは無料)という方針で、
あらゆる人に対して確実に読める環境を提示した為、PDFもあっという間に普及した
MSがWord/Excelのリーダーを無料で提供したのはその後
俺が知ってる概略はこんな所だ
PostScriptも、PDFも、当時としては素晴らしかったし、完全に機能してたよ
(今でも十分素晴らしいとも思うが)
ぼくはおまえよりしってるんだ!!!とか要らんから、最初から知ってる事書けばいいと思うけどね
はいどうぞ
345デフォルトの名無しさん
2025/07/27(日) 16:00:29.88ID:IiX+k+fy >PDFはPostScriptをバイナリ化したもの
doubt
doubt
346デフォルトの名無しさん
2025/07/27(日) 16:39:24.93ID:gwhcenFf PSはプログラム言語でPDFは描画データ
門外漢のオレの理解はここまで
門外漢のオレの理解はここまで
347デフォルトの名無しさん
2025/07/27(日) 16:40:00.92ID:s52NuiMb >>345
ああ確かに、asciiと言った方が近いようだな
ただそんな関係ない所ではなく、本筋の、
> PostScriptと当時のフォントの詳細
に(自称)詳しい人から見て
> 酷い
と考える根拠を述べよ、だな
俺は、PostScriptもPDFも素晴らしかったから普及した、だから全く酷くない、と考える根拠を344で述べた
実際これで現在も機能してるんだから、文字コードの概念はPostScriptとPDFには不要だったという証明になってるし
unicodeが色々おかしくしただけだよ
ああ確かに、asciiと言った方が近いようだな
ただそんな関係ない所ではなく、本筋の、
> PostScriptと当時のフォントの詳細
に(自称)詳しい人から見て
> 酷い
と考える根拠を述べよ、だな
俺は、PostScriptもPDFも素晴らしかったから普及した、だから全く酷くない、と考える根拠を344で述べた
実際これで現在も機能してるんだから、文字コードの概念はPostScriptとPDFには不要だったという証明になってるし
unicodeが色々おかしくしただけだよ
348デフォルトの名無しさん
2025/07/28(月) 09:30:10.58ID:BMbzFeOA https://www.adobe.com/jp/creativecloud/file-types/image/vector/ps-file.html
PostScriptとPDFの違いは何ですか?
PDFは、PSファイルの後継形式で、webと印刷の両方で最も広くサポートされているもののひとつです。ただし、PDFは表示形式であり、簡単には編集できませんが、PostScriptはプリンター制御言語であり、そのコード内でデザイン要件を伝達する機能があるため、印刷の可能性が広がります。
PostScriptとPDFの違いは何ですか?
PDFは、PSファイルの後継形式で、webと印刷の両方で最も広くサポートされているもののひとつです。ただし、PDFは表示形式であり、簡単には編集できませんが、PostScriptはプリンター制御言語であり、そのコード内でデザイン要件を伝達する機能があるため、印刷の可能性が広がります。
349デフォルトの名無しさん
2025/07/28(月) 11:28:12.87ID:2xoiUnVU postscript は紙に印刷する専用なので検索とかコピー・ペーストとかは不要だが
PDF はディスプレイ表示を前提でそれらの機能がある。初期の PDF の仕様決める時に検索やコピペの国際化についての考慮が足りてなかった
unicode が存在しなくても国際化が必要になったら同じ問題が起きて、PDF仕様の拡張が必要になってた
問題は単にPDFの仕様が膨らみ過ぎて全部実装するのが困難になってて、サブセットでしか実装していない不十分なアプリが氾濫し過ぎてるってだけ
直接的には文字コードの問題ではない
PDF はディスプレイ表示を前提でそれらの機能がある。初期の PDF の仕様決める時に検索やコピペの国際化についての考慮が足りてなかった
unicode が存在しなくても国際化が必要になったら同じ問題が起きて、PDF仕様の拡張が必要になってた
問題は単にPDFの仕様が膨らみ過ぎて全部実装するのが困難になってて、サブセットでしか実装していない不十分なアプリが氾濫し過ぎてるってだけ
直接的には文字コードの問題ではない
350デフォルトの名無しさん
2025/07/28(月) 13:24:28.88ID:f/ONtylv ワニ□クリップも同じか
351デフォルトの名無しさん
2025/07/29(火) 12:35:56.91ID:kq5k6q77 ちゃんと知らん奴に限って総括するような話をしたがるが、悲しいかな理解が
浅いので全然正しく総括できてないあるある
これは例の何ちゃら効果の一種かもしれんね
浅いので全然正しく総括できてないあるある
これは例の何ちゃら効果の一種かもしれんね
352デフォルトの名無しさん
2025/07/29(火) 13:59:09.33ID:3y9fqZXC 詳しく知らないと総括しかできない
353デフォルトの名無しさん
2025/07/29(火) 14:07:42.49ID:OFHwVEwi WebでもHTMLのimgで例えばブランドロゴを画像表示したときに
alt属性がなければテキストとして得られないがalt属性があればテキストとしても得られる
そういう対応をきちんとするか否かでテキスト文字としてもコピペできるかどうか道が分かれる
alt属性がなければテキストとして得られないがalt属性があればテキストとしても得られる
そういう対応をきちんとするか否かでテキスト文字としてもコピペできるかどうか道が分かれる
354デフォルトの名無しさん
2025/07/29(火) 14:44:03.99ID:GBwxra7f355デフォルトの名無しさん
2025/07/29(火) 19:25:27.31ID:8QmNUBAP HTMLは画像表示できずにテキスト表示のみの環境でも読めるように
そして目の不自由な人たちもテキストの音声読み上げで読めるように
HTMLコンテンツを作る側もブラウザ側両方が対応してきた
いわゆるアクセスビリティ対応が必須で常識
PDFはその常識を欠いた者が対応を欠いたソフトを用いるとテキスト読み出し出来なくなる
そして目の不自由な人たちもテキストの音声読み上げで読めるように
HTMLコンテンツを作る側もブラウザ側両方が対応してきた
いわゆるアクセスビリティ対応が必須で常識
PDFはその常識を欠いた者が対応を欠いたソフトを用いるとテキスト読み出し出来なくなる
356デフォルトの名無しさん
2025/07/29(火) 22:35:36.96ID:pHNfVPjg altなんて実際のところ機能してないだろ
隠しメッセージに使うとかおもちゃになってる
隠しメッセージに使うとかおもちゃになってる
357デフォルトの名無しさん
2025/07/31(木) 07:07:13.35ID:1FIA24UI >>343
結局、何も言えないのか?
だからゆとりZは死ねなんだな
俺は5chにいるゆとりZは全員殺処分が妥当だと考えてる
理由は長いが以下に書き散らしたので興味あれば読んでみてくれ
https://mevius.5ch.net/test/read.cgi/tech/1739527246/529-
お前らはお互いに足を引っ張り合ってるので成長出来てない
今回も、無駄に喧嘩を売ってきて、正面から受けてもだんまりとか、
だから議論もろくに出来ず、幼稚なままだ
そもそも俺はPostScriptやフォントの事に一言も触れてないのに、どうして
> PostScriptと当時のフォントの詳細をほとんど知らないだろ?
> だから妄想で適当なことを書く、酷いのはお前だ
になったのかさっぱり分からない
ゆとりZは妄想で適当なことを書く、酷い連中だから
存在するだけで邪魔だし、議論も紛糾するだけなので、殺処分が妥当
お前も死ね
ってこのぐらい書けばわかるんかな
結局、何も言えないのか?
だからゆとりZは死ねなんだな
俺は5chにいるゆとりZは全員殺処分が妥当だと考えてる
理由は長いが以下に書き散らしたので興味あれば読んでみてくれ
https://mevius.5ch.net/test/read.cgi/tech/1739527246/529-
お前らはお互いに足を引っ張り合ってるので成長出来てない
今回も、無駄に喧嘩を売ってきて、正面から受けてもだんまりとか、
だから議論もろくに出来ず、幼稚なままだ
そもそも俺はPostScriptやフォントの事に一言も触れてないのに、どうして
> PostScriptと当時のフォントの詳細をほとんど知らないだろ?
> だから妄想で適当なことを書く、酷いのはお前だ
になったのかさっぱり分からない
ゆとりZは妄想で適当なことを書く、酷い連中だから
存在するだけで邪魔だし、議論も紛糾するだけなので、殺処分が妥当
お前も死ね
ってこのぐらい書けばわかるんかな
358デフォルトの名無しさん
2025/07/31(木) 07:09:00.90ID:1FIA24UI >>349
> 問題は単にPDFの仕様が膨らみ過ぎて全部実装するのが困難になってて、サブセットでしか実装していない不十分なアプリが氾濫し過ぎてるってだけ
> 直接的には文字コードの問題ではない
その通りだが、お前も感づいているとおり、間接的にはunicodeの問題だ
実際、フォントと文字コードが1:1対応してたSJIS等だと問題にならなかったのも事実だろ
つまりunicodeが
> 異端 (>>340:俺)
で、
> 確実にどこかで破綻する気はする(か、そもそも実装してもらえないか) (>>336:俺)
に現時点でなってるのも事実ではないか
PDFに関してはパチもん使わずAdobe純正品使え、だろうが、
unicodeも十分複雑すぎる仕様だから、同様の状況(=フル実装されてないのが氾濫)になってる気はするが
(だから足抜けは許さねえ!!!なコードヤクザになるのも納得)
そもそもサロゲートペアも初段階で必須だと判断出来たはず
(だからutf-16はナンセンスだとも)
> https://skawa68.com/2024/07/31/post-81230/
大漢和辞典で5万+、康熙字典で4.7万だから、ギリ行けると判断したのかもしれんが、
常識的には、いや無理でしょ、余裕無さすぎ、だし
(よく知らんがハングルも1.2万程あるようだし、参考: https://tagengo-gakushuu.study-tips.info/app/web-form/korean/unicode_all_with_ancient_hangul/doc/all_hangul_chars_unicode.pdf)
あとふと思ったが、IVS/IVD方式はもしかしてutf-32でも8バイトか?
なら中国が独立コードに拘る理由もありえる、というか、
これだと事実上utf-32も捨てる事になる
まあほぼutf-8なので今更どうでもいいのも事実だが
> 問題は単にPDFの仕様が膨らみ過ぎて全部実装するのが困難になってて、サブセットでしか実装していない不十分なアプリが氾濫し過ぎてるってだけ
> 直接的には文字コードの問題ではない
その通りだが、お前も感づいているとおり、間接的にはunicodeの問題だ
実際、フォントと文字コードが1:1対応してたSJIS等だと問題にならなかったのも事実だろ
つまりunicodeが
> 異端 (>>340:俺)
で、
> 確実にどこかで破綻する気はする(か、そもそも実装してもらえないか) (>>336:俺)
に現時点でなってるのも事実ではないか
PDFに関してはパチもん使わずAdobe純正品使え、だろうが、
unicodeも十分複雑すぎる仕様だから、同様の状況(=フル実装されてないのが氾濫)になってる気はするが
(だから足抜けは許さねえ!!!なコードヤクザになるのも納得)
そもそもサロゲートペアも初段階で必須だと判断出来たはず
(だからutf-16はナンセンスだとも)
> https://skawa68.com/2024/07/31/post-81230/
大漢和辞典で5万+、康熙字典で4.7万だから、ギリ行けると判断したのかもしれんが、
常識的には、いや無理でしょ、余裕無さすぎ、だし
(よく知らんがハングルも1.2万程あるようだし、参考: https://tagengo-gakushuu.study-tips.info/app/web-form/korean/unicode_all_with_ancient_hangul/doc/all_hangul_chars_unicode.pdf)
あとふと思ったが、IVS/IVD方式はもしかしてutf-32でも8バイトか?
なら中国が独立コードに拘る理由もありえる、というか、
これだと事実上utf-32も捨てる事になる
まあほぼutf-8なので今更どうでもいいのも事実だが
359デフォルトの名無しさん
2025/07/31(木) 07:55:06.21ID:1FIA24UI 思うにunicodeは、文字化けのない世界を提示したのは素晴らしいにしても、
一つでやろうとするが故、仕様が包括的になるのは避けられず、破綻に向かっている気はする
全ての言語を話せる人が居ない以上、
IVS/IVDなんて欧米連中からすれば意味不明で、逆に欧米側の仕様は俺らには意味不明になる
だから実装側は誰も仕様の妥当性を判断出来ず、ただひたすらに仕様に従うしかない
これ自体は自治体向けや会計ソフト等、一般プログラマの領域外の分野では普通の事で、
だから橋渡しとして両方が分かる人を入れ、仕様でガチガチに固定するわけだが、
実際破綻しまくっているのも、元々無理があるからだ
つまり、例のブランコ、
「顧客が本当に必要だったもの」を解決出来る人が、本質的に存在しない
(会計等の分野なら、会計知ってる奴にプログラミングを教える、等の解があるが、
全ての言語を話せる人が存在しない以上、unicodeにはこの解が存在しない)
まあIT版バベルの塔であり、どこまで行けるかという話だが
実際、自分には関係ない機能なんて、実装するモチベわかないものだし
(大体において実際困ってるから動くのがほぼ全員で、困ってなければ誰も動かない
この意味では、unicodeがフル実装される未来なんて多分存在しない)
一つでやろうとするが故、仕様が包括的になるのは避けられず、破綻に向かっている気はする
全ての言語を話せる人が居ない以上、
IVS/IVDなんて欧米連中からすれば意味不明で、逆に欧米側の仕様は俺らには意味不明になる
だから実装側は誰も仕様の妥当性を判断出来ず、ただひたすらに仕様に従うしかない
これ自体は自治体向けや会計ソフト等、一般プログラマの領域外の分野では普通の事で、
だから橋渡しとして両方が分かる人を入れ、仕様でガチガチに固定するわけだが、
実際破綻しまくっているのも、元々無理があるからだ
つまり、例のブランコ、
「顧客が本当に必要だったもの」を解決出来る人が、本質的に存在しない
(会計等の分野なら、会計知ってる奴にプログラミングを教える、等の解があるが、
全ての言語を話せる人が存在しない以上、unicodeにはこの解が存在しない)
まあIT版バベルの塔であり、どこまで行けるかという話だが
実際、自分には関係ない機能なんて、実装するモチベわかないものだし
(大体において実際困ってるから動くのがほぼ全員で、困ってなければ誰も動かない
この意味では、unicodeがフル実装される未来なんて多分存在しない)
360デフォルトの名無しさん
2025/07/31(木) 10:38:37.81ID:Ztum1zAi >>359
気付いてないようだが unicode 以前の SJIS とかの時代から PDF では使うフォントによっては同じ問題が起きてた
変なフォント使うやつ少ないし、同じ国の中の文字の揺れなので気づくやつが少なかったのが、国際化の影響で別の国の文字だの部首素片だのに変換されて目立つようになっただけ
PDF は文字コード表にない文字(フォント)まで扱えることを知ってればコピペ等で化ける(別の字への置き換え)は当然の仕様と知れる
気付いてないようだが unicode 以前の SJIS とかの時代から PDF では使うフォントによっては同じ問題が起きてた
変なフォント使うやつ少ないし、同じ国の中の文字の揺れなので気づくやつが少なかったのが、国際化の影響で別の国の文字だの部首素片だのに変換されて目立つようになっただけ
PDF は文字コード表にない文字(フォント)まで扱えることを知ってればコピペ等で化ける(別の字への置き換え)は当然の仕様と知れる
361デフォルトの名無しさん
2025/07/31(木) 12:22:57.59ID:1FIA24UI >>360
Windowsの標準のフォントしか使ってないので、遭遇した事もないし、聞いた事もないが
(ただ、当時はそうなっても「文字化け」としてスルーされてたとも思うが
unicodeしか使った事無いゆとり以降は、文字化け=バグ、とか言い出すから別の問題はあるにしても、
文字化けについて厳しくなってるから話題として出てきてるだけかもしれん)
しかし結局、文字コード->グリフで多対一写像があり、戻す時にどちらに戻すべきか分からなくなるのが問題なら、
(SJISな当時に)多対一写像がありまくるのはただの糞フォントだとも思うが
平仮名/片仮名は漢字の簡易形であり、当然似たような字形はあるので、
ほぼ全部のフォントでそれらを何となく区別出来るように大きさを変えてあるのが常だし
で、unicodeは多対一写像が仕様だから、
1:1写像な以前の世界向けに作られた物が当然誤動作してるだけだろ
(さっさと対応しろよ、なのは勿論だが)
して、「酷い」と考える奴は結局、後知恵でもいいからどうすべきだったと考えるのだ?
文字コードを埋め込む方式は、見た目同じだが検索に引っかからない、いわゆる正規化の問題が発生してしまう
同じグリフ->同じ文字コードなら、この問題は存在しない
だから「検索」と「コピペ」のどちら向けの仕様にするか、であり、PDFが
> 検索ができないのは不便だからってんで (>>328)
なら、そりゃ検索向けの仕様にするよ
(現在のPDFが検索時に正規化して対応してるとしても、
同じグリフに複数の文字コードを与えている糞フォントな場合、
画面なぞって検索したときに、見た目同じなのに引っかからないケースが発生する
同じグリフなら同じコードだ!の旧方式なら、これはない)
Windowsの標準のフォントしか使ってないので、遭遇した事もないし、聞いた事もないが
(ただ、当時はそうなっても「文字化け」としてスルーされてたとも思うが
unicodeしか使った事無いゆとり以降は、文字化け=バグ、とか言い出すから別の問題はあるにしても、
文字化けについて厳しくなってるから話題として出てきてるだけかもしれん)
しかし結局、文字コード->グリフで多対一写像があり、戻す時にどちらに戻すべきか分からなくなるのが問題なら、
(SJISな当時に)多対一写像がありまくるのはただの糞フォントだとも思うが
平仮名/片仮名は漢字の簡易形であり、当然似たような字形はあるので、
ほぼ全部のフォントでそれらを何となく区別出来るように大きさを変えてあるのが常だし
で、unicodeは多対一写像が仕様だから、
1:1写像な以前の世界向けに作られた物が当然誤動作してるだけだろ
(さっさと対応しろよ、なのは勿論だが)
して、「酷い」と考える奴は結局、後知恵でもいいからどうすべきだったと考えるのだ?
文字コードを埋め込む方式は、見た目同じだが検索に引っかからない、いわゆる正規化の問題が発生してしまう
同じグリフ->同じ文字コードなら、この問題は存在しない
だから「検索」と「コピペ」のどちら向けの仕様にするか、であり、PDFが
> 検索ができないのは不便だからってんで (>>328)
なら、そりゃ検索向けの仕様にするよ
(現在のPDFが検索時に正規化して対応してるとしても、
同じグリフに複数の文字コードを与えている糞フォントな場合、
画面なぞって検索したときに、見た目同じなのに引っかからないケースが発生する
同じグリフなら同じコードだ!の旧方式なら、これはない)
362デフォルトの名無しさん
2025/07/31(木) 12:57:26.17ID:lEUWnalG 長文は読み手の負担になるし
希薄化して本当に書きたいことも伝わらなくなるよ
希薄化して本当に書きたいことも伝わらなくなるよ
363デフォルトの名無しさん
2025/07/31(木) 13:09:41.59ID:Ztum1zAi364デフォルトの名無しさん
2025/07/31(木) 14:31:26.32ID:hwCClOrU ∃〆レば良いんょ
365デフォルトの名無しさん
2025/07/31(木) 14:51:39.49ID:1FIA24UI >>363
それはSJISの範囲を超えているから当然誤動作する
(俺は知らんがwiki等読む限り)仕様としてはエスケープシーケンスで各国語を切り替えられたらしいが、
そんな事が必要な奴は90年代でも既にunicodeを使ってたので、
SJISに貼り付けて誤動作ガーとか言ってるお前が狂ってる
資本主義=商用ベースでやる以上、訳の分からないマイナーな使い方は無視されて当然
(良い悪いではなく、そうなる構造)
それはSJISの範囲を超えているから当然誤動作する
(俺は知らんがwiki等読む限り)仕様としてはエスケープシーケンスで各国語を切り替えられたらしいが、
そんな事が必要な奴は90年代でも既にunicodeを使ってたので、
SJISに貼り付けて誤動作ガーとか言ってるお前が狂ってる
資本主義=商用ベースでやる以上、訳の分からないマイナーな使い方は無視されて当然
(良い悪いではなく、そうなる構造)
366デフォルトの名無しさん
2025/07/31(木) 15:58:32.58ID:Ztum1zAi >>365
基本的な部分が分かってないな
・全ての文字(フォント)が SJIS と1対1でマップされている保証はない
というのが
・全ての文字(フォント)が Unicode と1対1でマップされている保証はない
というのに変わっただけで unicode など文字コードの問題だと思ってるのがお前の勘違い、文字コードで解決する問題ではない
基本的な部分が分かってないな
・全ての文字(フォント)が SJIS と1対1でマップされている保証はない
というのが
・全ての文字(フォント)が Unicode と1対1でマップされている保証はない
というのに変わっただけで unicode など文字コードの問題だと思ってるのがお前の勘違い、文字コードで解決する問題ではない
367デフォルトの名無しさん
2025/07/31(木) 17:19:12.01ID:T4u83bYv 対象文書に閉じた形式(情報量が削減されたグリフオリエンテッドな形式)で表現されている以上、どうしようもない
368デフォルトの名無しさん
2025/07/31(木) 22:07:10.30ID:1FIA24UI >>366
> ・全ての文字(フォント)が SJIS と1対1でマップされている保証はない
それはそうだが、実際はされてるから問題にならなかったんだろ
SJISで正規化問題なんて聞いた事無いし
unicodeでは色々な所で多対一がモロ仕様だから顕在化しただけ
とはいえこれ以上は平行線だろうし終わりでいい
合意とる必要もないし
俺は、
・見た目全く同じなのに検索に引っかからない事があるunicode仕様
・コピペ時に見た目は全く同じな別のコードに変わる事があるPDF仕様
なら、PDFには後者の方が断然いいと考える
PDFに対して検索はよくやるが、コピペはあまりしないし
(ただ、ファイル容量なんてどうでもいい昨今なら、両方入れとけだろうし、
それが316リンク先内の/ActualTextだろうから、
俺らがやるべきは、「/ActualTextを出力しないPDF作成アプリはゴミ」と吹聴する事だろうよ)
> ・全ての文字(フォント)が SJIS と1対1でマップされている保証はない
それはそうだが、実際はされてるから問題にならなかったんだろ
SJISで正規化問題なんて聞いた事無いし
unicodeでは色々な所で多対一がモロ仕様だから顕在化しただけ
とはいえこれ以上は平行線だろうし終わりでいい
合意とる必要もないし
俺は、
・見た目全く同じなのに検索に引っかからない事があるunicode仕様
・コピペ時に見た目は全く同じな別のコードに変わる事があるPDF仕様
なら、PDFには後者の方が断然いいと考える
PDFに対して検索はよくやるが、コピペはあまりしないし
(ただ、ファイル容量なんてどうでもいい昨今なら、両方入れとけだろうし、
それが316リンク先内の/ActualTextだろうから、
俺らがやるべきは、「/ActualTextを出力しないPDF作成アプリはゴミ」と吹聴する事だろうよ)
369デフォルトの名無しさん
2025/07/31(木) 22:46:51.26ID:Ztum1zAi >>368
昔から発生してた、特に字体の多いプロフォント使った印刷用のPDFとか外国語関係とかだと当たり前に起きてた、お前の経験が浅いだけ
単にSJISとかしょっちゅう文字化けするんで、文字化けしても特段話題にならなかっただけ、検索とかコピペ失敗しても単に機種依存文字wって言ってすましてた
unicode が普及したことで環境依存って思わなくなったのと外国の文字が含まれてるフォントを常用するようになって話題になった
昔から発生してた、特に字体の多いプロフォント使った印刷用のPDFとか外国語関係とかだと当たり前に起きてた、お前の経験が浅いだけ
単にSJISとかしょっちゅう文字化けするんで、文字化けしても特段話題にならなかっただけ、検索とかコピペ失敗しても単に機種依存文字wって言ってすましてた
unicode が普及したことで環境依存って思わなくなったのと外国の文字が含まれてるフォントを常用するようになって話題になった
370デフォルトの名無しさん
2025/07/31(木) 22:58:34.81ID:1FIA24UI371デフォルトの名無しさん
2025/07/31(木) 23:10:14.79ID:1FIA24UI >>369
もしかして検索はPDFではなくSJISにかかってた?
だとしたら、俺はSJISで「見た目同じだが引っかからない」検索失敗は、一度も経験した事がない
経験不足なのか、SJISにはなくunicodeで発生した問題なのかについては、俺は後者だと考えてる
もしかして検索はPDFではなくSJISにかかってた?
だとしたら、俺はSJISで「見た目同じだが引っかからない」検索失敗は、一度も経験した事がない
経験不足なのか、SJISにはなくunicodeで発生した問題なのかについては、俺は後者だと考えてる
372デフォルトの名無しさん
2025/08/01(金) 01:22:53.13ID:S37h8L9Z アホ過ぎる「検索失敗しないのがPDFの仕様だ」とか小学生レベル
失敗するのは人間。
見えてる文字で検索したつもりでも内部的には別の文字になってるので検索に引掛からなかったり、その逆で見た目が全然違う文字が検索でひっかかたりする。原因はコピペの失敗と同じ 。
失敗するのは人間。
見えてる文字で検索したつもりでも内部的には別の文字になってるので検索に引掛からなかったり、その逆で見た目が全然違う文字が検索でひっかかたりする。原因はコピペの失敗と同じ 。
373デフォルトの名無しさん
2025/08/01(金) 07:02:06.81ID:7kydH/9J374デフォルトの名無しさん
2025/08/01(金) 07:18:07.89ID:ckQfX7Hr だれかTeXで例えて
375デフォルトの名無しさん
2025/08/01(金) 08:03:21.63ID:S37h8L9Z >>373
SJIS の話してんのに unicode 関係ないだろ
お前は PDF のこと全く分かっってないだろ
PDF はお前が思ってるほど単純なしくみじゃないぞ
CMap って聞いたことあるか? そのあたりから内部構造勉強してみ
/ActualText どころか ToUnicode CMap すらない PDF だって普通にあるんだよ(unicode 以前のフォントが unicode 対応してる訳ないだろ
PDFの内部の文字の記録は unicode ではなくてグリフID というフォント内の格納番号なんだよ、一部の日中韓フォント使った場合は CID というまた別のコードで記載されてることもある
SJIS の話してんのに unicode 関係ないだろ
お前は PDF のこと全く分かっってないだろ
PDF はお前が思ってるほど単純なしくみじゃないぞ
CMap って聞いたことあるか? そのあたりから内部構造勉強してみ
/ActualText どころか ToUnicode CMap すらない PDF だって普通にあるんだよ(unicode 以前のフォントが unicode 対応してる訳ないだろ
PDFの内部の文字の記録は unicode ではなくてグリフID というフォント内の格納番号なんだよ、一部の日中韓フォント使った場合は CID というまた別のコードで記載されてることもある
376デフォルトの名無しさん
2025/08/01(金) 08:41:40.71ID:wR/jTASQ >>375
その辺は316のリンク先読んだ程度しか知らないが、
それでも普通にプログラミング経験があれば理解出来る物なんだよ
グリフID->文字コードの変換表は、普通に実装すれば「その文書で最初にそのグリフを使った文字コード」が格納される
だから、「違う文字コードだが同じグリフ」が無い場合、この程度の仕様/実装でも検索もコピペも問題ない
実際、SJISでWindowsデフォのフォントを使ってる限り、問題なかった
ところがunicodeでは、「違う文字コードだが同じグリフ」が普通にあるので、
コピペでは「同じグリフの違う文字コード」に変更(縮退)されてしまう事が多発する
なお、PDF内では「同じグリフは同じ文字コード」に縮退されているので、検索では100%ヒットする
というか、ループしてるしこの辺でいいか?
ここでは知識(知れば済む事)を与える事は出来ても、
理解(考えて納得する事)を与える事は出来ない
いろんな言い方をする事は出来るけども、既にそうしてきてるし、
これで理解出来ないのはお前の知能の問題で、ここで一朝一夕に修正するのは無理だ
お前は知識=頭がいいと考える文系馬鹿に近い存在のようだが、それは間違いだ
知識はちゃんと理解してナンボであってね
プログラミングが多少でも出来る奴なら、上記の俺の説明で、ああ、はいはい程度には理解出来ると思うし
その辺は316のリンク先読んだ程度しか知らないが、
それでも普通にプログラミング経験があれば理解出来る物なんだよ
グリフID->文字コードの変換表は、普通に実装すれば「その文書で最初にそのグリフを使った文字コード」が格納される
だから、「違う文字コードだが同じグリフ」が無い場合、この程度の仕様/実装でも検索もコピペも問題ない
実際、SJISでWindowsデフォのフォントを使ってる限り、問題なかった
ところがunicodeでは、「違う文字コードだが同じグリフ」が普通にあるので、
コピペでは「同じグリフの違う文字コード」に変更(縮退)されてしまう事が多発する
なお、PDF内では「同じグリフは同じ文字コード」に縮退されているので、検索では100%ヒットする
というか、ループしてるしこの辺でいいか?
ここでは知識(知れば済む事)を与える事は出来ても、
理解(考えて納得する事)を与える事は出来ない
いろんな言い方をする事は出来るけども、既にそうしてきてるし、
これで理解出来ないのはお前の知能の問題で、ここで一朝一夕に修正するのは無理だ
お前は知識=頭がいいと考える文系馬鹿に近い存在のようだが、それは間違いだ
知識はちゃんと理解してナンボであってね
プログラミングが多少でも出来る奴なら、上記の俺の説明で、ああ、はいはい程度には理解出来ると思うし
377デフォルトの名無しさん
2025/08/01(金) 09:32:26.46ID:S37h8L9Z お前は一回 PDF 検索を実装してみろ、失敗しない検索が実装できるか分かるぞ
検索文字列がフォント名とグリフIDのセットで降ってくるとでも思ってるのか?
検索文字列がフォント名とグリフIDのセットで降ってくるとでも思ってるのか?
378デフォルトの名無しさん
2025/08/01(金) 22:01:15.19ID:wR/jTASQ >>377
> 検索文字列がフォント名とグリフIDのセットで降ってくるとでも思ってるのか?
お前のプログラミング能力はゼロで、文字列検索では具体的に何をしてるのか全く知らない事は分かった
ただこれはプログラマには常識過ぎるので、316のリンク先やこのスレ内でも、誰もわざわざ言及していない
だからお前は付いてこれないままだ
だが、それ以前に、お前は文字列とは何なのかも知らなそうだが
そもそも>>317もまるで理解できてないだろ
理解したければ、プログラミングのイロハから勉強するんだね
多分お前はPDFのヘビーユーザー、おそらくはイラレ使い、てなところか
お前が文字コードの問題まで理解できることは、短期的にはない。ベースの知識が足り無すぎる
そもそも何故お前がこの板にいるのかがかなり謎だが
PDFに不満があるのなら、「出力はAdobe純正ソフトで、マッピング情報等は全部含めて、ファイルは大きくなってもいいから」と依頼すれば、
お前の不満に対しての最適解にはなってるだろうさ
> 検索文字列がフォント名とグリフIDのセットで降ってくるとでも思ってるのか?
お前のプログラミング能力はゼロで、文字列検索では具体的に何をしてるのか全く知らない事は分かった
ただこれはプログラマには常識過ぎるので、316のリンク先やこのスレ内でも、誰もわざわざ言及していない
だからお前は付いてこれないままだ
だが、それ以前に、お前は文字列とは何なのかも知らなそうだが
そもそも>>317もまるで理解できてないだろ
理解したければ、プログラミングのイロハから勉強するんだね
多分お前はPDFのヘビーユーザー、おそらくはイラレ使い、てなところか
お前が文字コードの問題まで理解できることは、短期的にはない。ベースの知識が足り無すぎる
そもそも何故お前がこの板にいるのかがかなり謎だが
PDFに不満があるのなら、「出力はAdobe純正ソフトで、マッピング情報等は全部含めて、ファイルは大きくなってもいいから」と依頼すれば、
お前の不満に対しての最適解にはなってるだろうさ
379デフォルトの名無しさん
2025/08/01(金) 23:52:35.21ID:S37h8L9Z >>378
俺は実際にPDFの検索組んだことあるんだが、お前のその妄想はどっから来たのか知りたい
俺は実際にPDFの検索組んだことあるんだが、お前のその妄想はどっから来たのか知りたい
380デフォルトの名無しさん
2025/08/02(土) 07:47:18.20ID:xIFE1Go+ >>379
文盲か?最初の行にわざわざモロクソ書いただろ
> 検索文字列がフォント名とグリフIDのセットで降ってくるとでも思ってるのか? (>>377)
ここからだよ
普通はたった2行のレスをわざわざ引用するのは冗長すぎるので文句言われるが、
それでもお前にはどちらの行か分かるようにしたほうが良さそうなので敢えて引用した
5chのコミュ障共はこの辺の配慮なんて汲めないから、
ひたすら「俺にとっては冗長だ」という基準で長い長い言うわけだが、
それでも馬鹿なお前に合わせて書いてるんだから、ちゃんと読め
というか、逆に言うと、そんな事を言うお前は、
> 検索文字列がフォント名とグリフIDのセットで降ってくる
場合に、検索出来るようになると思ってるわけだろ
そりゃお前の組んだプログラムなんて動作しないさ
初心者あるあるだが、
・間違った問題を、間違った方法で解決しようとして、余計におかしくなる
ケースに該当する
ただ正直、このレベルから相手にする気にはならんし、勝手によろしくやってくれだが
文盲か?最初の行にわざわざモロクソ書いただろ
> 検索文字列がフォント名とグリフIDのセットで降ってくるとでも思ってるのか? (>>377)
ここからだよ
普通はたった2行のレスをわざわざ引用するのは冗長すぎるので文句言われるが、
それでもお前にはどちらの行か分かるようにしたほうが良さそうなので敢えて引用した
5chのコミュ障共はこの辺の配慮なんて汲めないから、
ひたすら「俺にとっては冗長だ」という基準で長い長い言うわけだが、
それでも馬鹿なお前に合わせて書いてるんだから、ちゃんと読め
というか、逆に言うと、そんな事を言うお前は、
> 検索文字列がフォント名とグリフIDのセットで降ってくる
場合に、検索出来るようになると思ってるわけだろ
そりゃお前の組んだプログラムなんて動作しないさ
初心者あるあるだが、
・間違った問題を、間違った方法で解決しようとして、余計におかしくなる
ケースに該当する
ただ正直、このレベルから相手にする気にはならんし、勝手によろしくやってくれだが
381デフォルトの名無しさん
2025/08/02(土) 07:48:17.42ID:xIFE1Go+ 結局の所、>>317はよく書けていて、その通りだが、別の言い方をすると、
PDFの仕様は各文字が別々の字形(=複数の文字コードが同じグリフを使うことがない)
の時に機能するように出来ていた
SJIS時代はだいたいこれが成立してたので、目立った問題はなかった
unicodeだとまるで動かなくなったので、新仕様を整備したが、対応してないPDFアプリは誤動作しまくり
で、これが上位の状況説明で、下位の詳細理由説明が317になってる
上位の説明はお前のような文系馬鹿でも分かるはずだが、下位の説明では、
・元々どのように動作していて、←これ(前提部分)が省略されてる
・〇〇すべき所
・△△になってるから、上手く動かない
の、後半部分しか通常は与えられない。全員が知ってる前提部分なんて無駄でしかないから
だから、前提部分の知識が全く無いお前には理解できない。これがお前が317以降空回りしてる理由
趣旨は異なるけど、例のバッテリー女も、同様の前提条件
・車のエンジンをかける際にバッテリーが必要なこと(=セルモーターを回してエンジンをかけること)
を知らないからそうなるのであって、バッテリー女がクソ女なのは事実としても、
「バッテリーが上がってるとエンジンもかからないんだ。バッテリーなら15分ほどで修理できるから、試してみてくんない?」
と一言言えば回避できるんだが、これをやりたいか、ここまでやる必要があると考えるかは、人それぞれだね
ただ、会話する気があるのなら、相手が馬鹿と分かったのなら、馬鹿にも通じるように言うべきではある
そして俺は一応それをやってるつもりなのだから、ちゃんと読んでくれ
PDFの仕様は各文字が別々の字形(=複数の文字コードが同じグリフを使うことがない)
の時に機能するように出来ていた
SJIS時代はだいたいこれが成立してたので、目立った問題はなかった
unicodeだとまるで動かなくなったので、新仕様を整備したが、対応してないPDFアプリは誤動作しまくり
で、これが上位の状況説明で、下位の詳細理由説明が317になってる
上位の説明はお前のような文系馬鹿でも分かるはずだが、下位の説明では、
・元々どのように動作していて、←これ(前提部分)が省略されてる
・〇〇すべき所
・△△になってるから、上手く動かない
の、後半部分しか通常は与えられない。全員が知ってる前提部分なんて無駄でしかないから
だから、前提部分の知識が全く無いお前には理解できない。これがお前が317以降空回りしてる理由
趣旨は異なるけど、例のバッテリー女も、同様の前提条件
・車のエンジンをかける際にバッテリーが必要なこと(=セルモーターを回してエンジンをかけること)
を知らないからそうなるのであって、バッテリー女がクソ女なのは事実としても、
「バッテリーが上がってるとエンジンもかからないんだ。バッテリーなら15分ほどで修理できるから、試してみてくんない?」
と一言言えば回避できるんだが、これをやりたいか、ここまでやる必要があると考えるかは、人それぞれだね
ただ、会話する気があるのなら、相手が馬鹿と分かったのなら、馬鹿にも通じるように言うべきではある
そして俺は一応それをやってるつもりなのだから、ちゃんと読んでくれ
382デフォルトの名無しさん
2025/08/02(土) 08:50:01.67ID:jagzAmj3 糞長文書いてる暇があったらプログラム書けよ
そうすればすぐに unicode 関係ない
絶対に失敗しない検索も作れないってわかるぞ
そもそも暗号化されてもいないのに一切検索できないPDFをはくツールすらあるぞ
そうすればすぐに unicode 関係ない
絶対に失敗しない検索も作れないってわかるぞ
そもそも暗号化されてもいないのに一切検索できないPDFをはくツールすらあるぞ
383デフォルトの名無しさん
2025/08/02(土) 09:03:03.63ID:tv/q+z7t384デフォルトの名無しさん
2025/08/02(土) 10:53:41.96ID:jagzAmj3 日本語フォントとかだとグリフID の順がSJISやUnicodeと全く一致してないということを知らずに吹いてるんだろうな(SJIS時代は並び順が一致してたとでも妄想してるのかな?
検索文字列がSJISとかUnicodeで与えられた時にそれをどうやってグリフIDとマッチングされるか具体的な方法も知らないんだろうな
グリフIDと文字コードの対応がPDFに内蔵されてない場合に検索どうするか検討もつかないんだろうな
中には文字をグリフIDですらなくてアウトラインの図形データとして格納してるPDFだってあるということも知らないんだろうな
検索文字列がSJISとかUnicodeで与えられた時にそれをどうやってグリフIDとマッチングされるか具体的な方法も知らないんだろうな
グリフIDと文字コードの対応がPDFに内蔵されてない場合に検索どうするか検討もつかないんだろうな
中には文字をグリフIDですらなくてアウトラインの図形データとして格納してるPDFだってあるということも知らないんだろうな
385デフォルトの名無しさん
2025/08/02(土) 11:23:02.89ID:xIFE1Go+ >>384
> 順が
なるほどやはりお前は分かってない
> 検索文字列がSJISとかUnicodeで与えられた時
実はこれには問題がある。だから注つけるかとも考えたが、
> 画面なぞって (>>361)
と既に言及してるし、どのみちunicodeだと手打ちでは無理で、画面なぞるしかない(後述)ので、まあいいかで省略した
賢いお前らなら当然気づくから、いちいち無駄ツッコミはないはずだし
> グリフIDと文字コードの対応がPDFに内蔵されてない場合
それは初(ry
> 中には文字を
それも初(ry
本質的には、unicodeの問題がPDFに輸出されてしまってるんだよ
仮にPDFがhtmlのようにunicode文字コードで構成されてても、正規化の問題は発生するし、
316の例みたいに同じグリフを複数のコードが使用してる場合、「手打ちでの」検索はヒットしないことがあり得る
PDFの仕様だと、「画面なぞれば」100%ヒットするだけまだましで、unicodeはこれすら保証できない
> 順が
なるほどやはりお前は分かってない
> 検索文字列がSJISとかUnicodeで与えられた時
実はこれには問題がある。だから注つけるかとも考えたが、
> 画面なぞって (>>361)
と既に言及してるし、どのみちunicodeだと手打ちでは無理で、画面なぞるしかない(後述)ので、まあいいかで省略した
賢いお前らなら当然気づくから、いちいち無駄ツッコミはないはずだし
> グリフIDと文字コードの対応がPDFに内蔵されてない場合
それは初(ry
> 中には文字を
それも初(ry
本質的には、unicodeの問題がPDFに輸出されてしまってるんだよ
仮にPDFがhtmlのようにunicode文字コードで構成されてても、正規化の問題は発生するし、
316の例みたいに同じグリフを複数のコードが使用してる場合、「手打ちでの」検索はヒットしないことがあり得る
PDFの仕様だと、「画面なぞれば」100%ヒットするだけまだましで、unicodeはこれすら保証できない
386デフォルトの名無しさん
2025/08/02(土) 11:47:17.46ID:jagzAmj3 >>385
結局何も分かってなかったのね?
既存のPDFビュワーの画面をなぞるのはコピペの機能だぞ
一旦グリフIDから文字コードに変換される、そして検索窓等に文字コードとして入力される、コピペが化けるのと同じ問題が起きる
それともお前がSJIS時代にグリフIDのままで検索できるビュワー書いたのか? 本当に過去に存在してたのなら見せてくれ、ごめんなさいして今から書いても良いぞ
作るのなら
フォントごとにグリフIDが異なるんだが、まずは複数のフォントが使われてる時にあるフォントの「あ」の文字を選択したときに、別のフォントの「あ」の文字のグリフIDにどうやったら変換できるか考えてみろ
コードポイントによってはグリフがなくて表示されないやつすらある(単純な例ならスペースとか改行、もっと複雑なのが一杯ある)、
合字とかで複数の文字からなる文字列に1つだけのグリフIDが割り当てられていることもある(レパートリはフォントごとに違う)、
そういう時はどうする考えてみろ、PDFについて無知過ぎ
結局何も分かってなかったのね?
既存のPDFビュワーの画面をなぞるのはコピペの機能だぞ
一旦グリフIDから文字コードに変換される、そして検索窓等に文字コードとして入力される、コピペが化けるのと同じ問題が起きる
それともお前がSJIS時代にグリフIDのままで検索できるビュワー書いたのか? 本当に過去に存在してたのなら見せてくれ、ごめんなさいして今から書いても良いぞ
作るのなら
フォントごとにグリフIDが異なるんだが、まずは複数のフォントが使われてる時にあるフォントの「あ」の文字を選択したときに、別のフォントの「あ」の文字のグリフIDにどうやったら変換できるか考えてみろ
コードポイントによってはグリフがなくて表示されないやつすらある(単純な例ならスペースとか改行、もっと複雑なのが一杯ある)、
合字とかで複数の文字からなる文字列に1つだけのグリフIDが割り当てられていることもある(レパートリはフォントごとに違う)、
そういう時はどうする考えてみろ、PDFについて無知過ぎ
387デフォルトの名無しさん
2025/08/02(土) 12:26:25.37ID:xIFE1Go+ >>386
相変わらず分かってねえな
> コピペが化けるのと同じ問題が起きる
だからいいんだぞ
両方ともPDF内から生成された物だからこそ、確実に一致する
> PDFについて無知過ぎ
PDF博士なお前はマウントポイントなこの点にこだわるようだが、
既に言った通り、本質的にはPDFではなくunicodeの問題だ
実際、unicodeなhtmlでも「見た目同じだけど検索に引っかからない」ケースが普通にあるだろ
コピペに関しては、文字コードを保存してないのが問題で、既に仕様は追加済み、さっさと対応しろだが、
検索に関しては、元々unicodeは検索がまともに出来ない仕様で、それがPDFにも輸出されただけ
例えば、316で3つの「長」が同じグリフIDに紐づけされるのは、
当然その文書のそのフォントでは3つの「長」が同じグリフを使うからであり、見た目が同じだから
同じ文書をhtmlで表示させたら、当然画面上の見た目は同じ「長」になるが、
文字コードが3つのどれかは見た目では分からない
だから「手打ちで」「長」と打ち込んでも、当たらない時がある
これ、PDF全く関係ないだろ
相変わらず分かってねえな
> コピペが化けるのと同じ問題が起きる
だからいいんだぞ
両方ともPDF内から生成された物だからこそ、確実に一致する
> PDFについて無知過ぎ
PDF博士なお前はマウントポイントなこの点にこだわるようだが、
既に言った通り、本質的にはPDFではなくunicodeの問題だ
実際、unicodeなhtmlでも「見た目同じだけど検索に引っかからない」ケースが普通にあるだろ
コピペに関しては、文字コードを保存してないのが問題で、既に仕様は追加済み、さっさと対応しろだが、
検索に関しては、元々unicodeは検索がまともに出来ない仕様で、それがPDFにも輸出されただけ
例えば、316で3つの「長」が同じグリフIDに紐づけされるのは、
当然その文書のそのフォントでは3つの「長」が同じグリフを使うからであり、見た目が同じだから
同じ文書をhtmlで表示させたら、当然画面上の見た目は同じ「長」になるが、
文字コードが3つのどれかは見た目では分からない
だから「手打ちで」「長」と打ち込んでも、当たらない時がある
これ、PDF全く関係ないだろ
388デフォルトの名無しさん
2025/08/02(土) 15:48:00.24ID:MvhBDlJ2 馬鹿はコード書けって言われると発狂するから分かりやすいね
389デフォルトの名無しさん
2025/08/02(土) 18:36:31.34ID:jagzAmj3 きっとここがプログラム技術板だってことにすら気付いていないんだろうな
プログラム書けば良いのに
プログラム書けば良いのに
390デフォルトの名無しさん
2025/08/02(土) 19:21:29.66ID:dbEqXJf9 ID:xIFE1Go+がニワカ知識だったでOK?
391デフォルトの名無しさん
2025/08/04(月) 06:18:28.11ID:QkMIbgCE さてと
PDFの中を覗いてみたけど、/ActualTextという要素がある(場合がある)のね
Acrobatなどは検索やコピペのときにこれを参照するのかな?
PDFの中を覗いてみたけど、/ActualTextという要素がある(場合がある)のね
Acrobatなどは検索やコピペのときにこれを参照するのかな?
392デフォルトの名無しさん
2025/08/04(月) 06:44:34.21ID:wGHus/El 画像に/actualtextや/altが付いているのでたしかめて見ては?
{}内のテキストが入っている
Actual Text
{T}
his is an example of actual text.
Alt Text
{Je t'aime (French for "I love you")}
This image has alt text: Je t'aime (French for "I love you")
https://taggedpdf.com/wp-content/uploads/2015/12/Actual-Alt-Expansion-Text.pdf
{}内のテキストが入っている
Actual Text
{T}
his is an example of actual text.
Alt Text
{Je t'aime (French for "I love you")}
This image has alt text: Je t'aime (French for "I love you")
https://taggedpdf.com/wp-content/uploads/2015/12/Actual-Alt-Expansion-Text.pdf
393デフォルトの名無しさん
2025/08/04(月) 07:42:52.49ID:B+SwrOCa Actual Text や Alt Text もそうなんだけど最近の PDF には大きな枠組みで「タグ付き PDF」という機能があって文章の構造化ができる
要はHTMLの段落タグや見出しタグと同じやつで読む順番やその文章内での意味付けや読み方や代替の指定が可能、補足を入れる Expansion Text みたいなのも
これによって改行を超えた検索とかリフローっぽいこととか、画像化された文字のテキスト化の指定とかとか色々HTMLっぽく使える
(文字コードとは独立した問題)
要はHTMLの段落タグや見出しタグと同じやつで読む順番やその文章内での意味付けや読み方や代替の指定が可能、補足を入れる Expansion Text みたいなのも
これによって改行を超えた検索とかリフローっぽいこととか、画像化された文字のテキスト化の指定とかとか色々HTMLっぽく使える
(文字コードとは独立した問題)
394デフォルトの名無しさん
2025/08/04(月) 10:06:23.30ID:QkMIbgCE395デフォルトの名無しさん
2025/08/04(月) 12:31:11.59ID:Dprx6XuC 一部訂正
× コピペに関しては、文字コードを保存してないのが問題で、(>>387)
○ unicodeのコピペに関しては、糞フォントと文字コードを保存してない組み合わせの時の問題で、
PDFの昔の仕様でも、文字コード->グリフが1:1の場合にはコピペ/検索共に全く問題なく機能する
316で「なんか低い…」になるのは、それらの文字コードには別のグリフが与えられているからであり、
PDF閲覧者の環境でその文書のPDFを作成した場合、(3つとも別のグリフなら)全く問題ないPDFが作成される
だから発生条件として、
・糞フォントで、違う文字コードで同じグリフを使いまくり
が必要であり、これを誘発しているのはunicodeの仕様
だからPDFがボロいと言うより、
unicodeが本質的にボロくて、以前の1:1な世界と親和性が皆無な事が問題なのだと思うよ
(なお316の件は、コードに戻す際、その文書で一度も使ってもない「長」に決め打ちで変換されていると思われ、
PDF出力アプリがポンコツなのもほぼ間違いない
376の通り、「その文書で最初にそのグリフを使った文字コード」を格納する実装なら、
単国籍な文書《≒大半のケース》で顕在化するのは防げる)
結論としては、やっぱunicode糞じゃね?と思うが
以前の文字コード:このコードはこう表示される程度の知識で全く問題ない
unicode:正しい作法(正規化等)を知らないと色々誤動作する
× コピペに関しては、文字コードを保存してないのが問題で、(>>387)
○ unicodeのコピペに関しては、糞フォントと文字コードを保存してない組み合わせの時の問題で、
PDFの昔の仕様でも、文字コード->グリフが1:1の場合にはコピペ/検索共に全く問題なく機能する
316で「なんか低い…」になるのは、それらの文字コードには別のグリフが与えられているからであり、
PDF閲覧者の環境でその文書のPDFを作成した場合、(3つとも別のグリフなら)全く問題ないPDFが作成される
だから発生条件として、
・糞フォントで、違う文字コードで同じグリフを使いまくり
が必要であり、これを誘発しているのはunicodeの仕様
だからPDFがボロいと言うより、
unicodeが本質的にボロくて、以前の1:1な世界と親和性が皆無な事が問題なのだと思うよ
(なお316の件は、コードに戻す際、その文書で一度も使ってもない「長」に決め打ちで変換されていると思われ、
PDF出力アプリがポンコツなのもほぼ間違いない
376の通り、「その文書で最初にそのグリフを使った文字コード」を格納する実装なら、
単国籍な文書《≒大半のケース》で顕在化するのは防げる)
結論としては、やっぱunicode糞じゃね?と思うが
以前の文字コード:このコードはこう表示される程度の知識で全く問題ない
unicode:正しい作法(正規化等)を知らないと色々誤動作する
396デフォルトの名無しさん
2025/08/04(月) 12:54:11.55ID:B+SwrOCa >>395
お前、まだあきらめて無かったのか
昔から1対1なんてことはないよ
グリフIDはフォントごとに異なる、1つのPDFで複数のフォントを使ったら異なるグリフIDになる、逆に同じグリフIDでも異なる文字を表現している
何度も言われただろ、理解できない部分を読み飛ばしてるのか?
お前、まだあきらめて無かったのか
昔から1対1なんてことはないよ
グリフIDはフォントごとに異なる、1つのPDFで複数のフォントを使ったら異なるグリフIDになる、逆に同じグリフIDでも異なる文字を表現している
何度も言われただろ、理解できない部分を読み飛ばしてるのか?
397デフォルトの名無しさん
2025/08/04(月) 13:40:26.46ID:Dprx6XuC >>396
いや、やはりお前は理解出来てない
もういいけど
(お前が理解出来ない事は理解しているし、お前の頭の悪さについては諦めている)
> グリフIDはフォントごとに異なる、1つのPDFで複数のフォントを使ったら異なるグリフIDになる
ここまでは全く問題ないが、
> 逆に同じグリフIDでも異なる文字を表現している
これが問題
「単射」と言った方が正しかったが、
俺は使ってきてなかったのと、後で使ってた「1:1」表現に揃えたのが不適切だったようだ
ただ、事実は変わらない
当たり前だがゴシックの「あ」と明朝の「あ」は別グリフIDになるが、
この場合にも検索/コピペは昔のPDFの仕様で全く問題なく動作する
まあunicodeは色々糞だというのが俺の見解
387の表現だとPDFに主たる問題があるとも読めるので訂正した
(unicode以前は問題なく機能していたので)
いや、やはりお前は理解出来てない
もういいけど
(お前が理解出来ない事は理解しているし、お前の頭の悪さについては諦めている)
> グリフIDはフォントごとに異なる、1つのPDFで複数のフォントを使ったら異なるグリフIDになる
ここまでは全く問題ないが、
> 逆に同じグリフIDでも異なる文字を表現している
これが問題
「単射」と言った方が正しかったが、
俺は使ってきてなかったのと、後で使ってた「1:1」表現に揃えたのが不適切だったようだ
ただ、事実は変わらない
当たり前だがゴシックの「あ」と明朝の「あ」は別グリフIDになるが、
この場合にも検索/コピペは昔のPDFの仕様で全く問題なく動作する
まあunicodeは色々糞だというのが俺の見解
387の表現だとPDFに主たる問題があるとも読めるので訂正した
(unicode以前は問題なく機能していたので)
398デフォルトの名無しさん
2025/08/04(月) 14:31:23.34ID:B+SwrOCa >>397
明朝体の「あ」のグリフIDが 325 でゴシック体の「ほ」のグリフIDが同じ 325 ということだってあり得るんだよ
明朝体の「あ」とゴシック体の「あ」は検索したいけど、ゴシック体の「ほ」は検索にひっかかると困る。常識だろ
明朝体の「あ」のグリフIDが 325 でゴシック体の「ほ」のグリフIDが同じ 325 ということだってあり得るんだよ
明朝体の「あ」とゴシック体の「あ」は検索したいけど、ゴシック体の「ほ」は検索にひっかかると困る。常識だろ
399デフォルトの名無しさん
2025/08/04(月) 14:37:31.31ID:D3iy7z0J >>395
>・糞フォントで、違う文字コードで同じグリフを使いまくり
自分の妄想をベースにAdobeに因縁を付けるのか
最近こういう人が増えている感じで怖い
>以前の文字コード:このコードはこう表示される程度の知識で全く問題ない
ある
前提の認識が間違っているのでそれをベースにした話も間違い
ただの間違いの積み重ね
>・糞フォントで、違う文字コードで同じグリフを使いまくり
自分の妄想をベースにAdobeに因縁を付けるのか
最近こういう人が増えている感じで怖い
>以前の文字コード:このコードはこう表示される程度の知識で全く問題ない
ある
前提の認識が間違っているのでそれをベースにした話も間違い
ただの間違いの積み重ね
400デフォルトの名無しさん
2025/08/04(月) 15:13:22.04ID:Dprx6XuC401デフォルトの名無しさん
2025/08/04(月) 15:21:55.26ID:SX/R7tYr >>392-394
Adobe Acrobatで検索もコピペも出来ない/ActualTextの例
Adobe Acrobatで検索もコピペも出来ない/ActualTextの例
402デフォルトの名無しさん
2025/08/04(月) 17:34:36.02ID:B+SwrOCa >>400
だから 317が1対1じゃないって言ってるだろ
フォントと文字コードが1対1じゃないのは Unicode どころかPDFよりもっと前の PostScript のフォントで使われ始めた技術
それが現在までそのまま引き継がれてる
Unicode で始まった話ではない
だから 317が1対1じゃないって言ってるだろ
フォントと文字コードが1対1じゃないのは Unicode どころかPDFよりもっと前の PostScript のフォントで使われ始めた技術
それが現在までそのまま引き継がれてる
Unicode で始まった話ではない
403デフォルトの名無しさん
2025/08/04(月) 21:50:35.58ID:Dprx6XuC >>402
そういう話じゃねえ
てかお前も本気で文盲だな
317: 1:1でなら動くシステムに多:1をブッ込んでるから動かない
やぞ
ただここまで言っても通じないのだから、本件に対し、お前の知能/知識がまるで足りてないんだよ
普通レベルのプログラマなら317で、ああ、そういう事か、で終わるし
その後、これをどう評価するか(=PDFが糞か、unicodeが糞か)で揉めるならまだしも、
お前は何故そういう動作になるのか未だに理解出来てない
そんなお前が書いたプログラムなんて、何であれ、動くはずもなし
しかしマジで無限ループ状態だから、もう止めようぜ
今のお前が理解するのは無理だよ
そういう話じゃねえ
てかお前も本気で文盲だな
317: 1:1でなら動くシステムに多:1をブッ込んでるから動かない
やぞ
ただここまで言っても通じないのだから、本件に対し、お前の知能/知識がまるで足りてないんだよ
普通レベルのプログラマなら317で、ああ、そういう事か、で終わるし
その後、これをどう評価するか(=PDFが糞か、unicodeが糞か)で揉めるならまだしも、
お前は何故そういう動作になるのか未だに理解出来てない
そんなお前が書いたプログラムなんて、何であれ、動くはずもなし
しかしマジで無限ループ状態だから、もう止めようぜ
今のお前が理解するのは無理だよ
404デフォルトの名無しさん
2025/08/04(月) 22:38:19.37ID:B+SwrOCa >>403
文盲って言われても 317 は俺が言ってる通りの意味で、お前の解釈が間違ってるんだが?
文盲って言われても 317 は俺が言ってる通りの意味で、お前の解釈が間違ってるんだが?
405デフォルトの名無しさん
2025/08/04(月) 23:12:47.28ID:n6MSUZI0 で、いつ検索プログラム書いてくれるの?
406デフォルトの名無しさん
2025/08/05(火) 17:39:03.31ID:vuU/s1Wj407デフォルトの名無しさん
2025/08/05(火) 17:45:25.95ID:ucdc3IWT408デフォルトの名無しさん
2025/08/05(火) 18:40:04.52ID:vuU/s1Wj409デフォルトの名無しさん
2025/08/05(火) 18:52:04.83ID:vuU/s1Wj ところで、この手のPDFって/Encodingが/Identity-Hじゃないですか
もしかして/UniJIS-UTF16-Hとかなら元のコードが反映されるんじゃね? と思って
試してみたが... 駄目ですなーなるほどー
中間コンパイル的な感じでグリフの世界に行っちゃってる感じ?
もしかして/UniJIS-UTF16-Hとかなら元のコードが反映されるんじゃね? と思って
試してみたが... 駄目ですなーなるほどー
中間コンパイル的な感じでグリフの世界に行っちゃってる感じ?
410デフォルトの名無しさん
2025/08/05(火) 19:10:13.54ID:tWkqXVBi >>408
Thisで検索もコピペも機能してない
Thisで検索もコピペも機能してない
411デフォルトの名無しさん
2025/08/07(木) 22:53:42.70ID:lZ/0qeLw というわけで、今のところActualTextが唯一の方法なのかな
本来は構造化とかタグ付け目的なのかもしれんけど、それでグリフとコードポイントの
対応もローカルにカスタマイズできるというか
本来は構造化とかタグ付け目的なのかもしれんけど、それでグリフとコードポイントの
対応もローカルにカスタマイズできるというか
412デフォルトの名無しさん
2025/08/07(木) 23:01:01.28ID:lZ/0qeLw 現状、それを生成できるPDFライブラリとそれを検索できるPDFビューアが限られるけど
ま、コピペするならPDFで出力する前の元の文書からどうぞ、って感じかね
そもそも元の文書の持つ論理構造はPDFにした時点で文書のレンダリング表現(って
言うのかな)に変換されるわけで、何かしら情報が変化しても不思議ではない、
というのが個人的感想ですが
もちろんこうしてアドビさんは頑張っている一方、それを理解していない人々も多々...
ま、コピペするならPDFで出力する前の元の文書からどうぞ、って感じかね
そもそも元の文書の持つ論理構造はPDFにした時点で文書のレンダリング表現(って
言うのかな)に変換されるわけで、何かしら情報が変化しても不思議ではない、
というのが個人的感想ですが
もちろんこうしてアドビさんは頑張っている一方、それを理解していない人々も多々...
413デフォルトの名無しさん
2025/08/07(木) 23:05:14.12ID:lZ/0qeLw そういえば、ネット上で色んなPDFが検索できるけど、中にはActualTextを使わずに
複数コードポイントが混在できているのもあった
それはフォントを切り替えることでグリフが重複していないのだった
PDFの生成主がそれを意図的にやったのかは不明だが
複数コードポイントが混在できているのもあった
それはフォントを切り替えることでグリフが重複していないのだった
PDFの生成主がそれを意図的にやったのかは不明だが
414デフォルトの名無しさん
2025/08/17(日) 14:45:32.19ID:2MRCWKC9 康煕部首の「長」と普通の「長」がコピペで混在できる(こともある)PDFを
作ってみましたが、いかがでしょう
https://drive.google.com/file/d/1sqQ6lqQhvfC_zTkL3B4fQ_GV4_376O10/
とりあえずGoogle Driveが立ち上げるPDFビューアではうまくいかない模様w
作ってみましたが、いかがでしょう
https://drive.google.com/file/d/1sqQ6lqQhvfC_zTkL3B4fQ_GV4_376O10/
とりあえずGoogle Driveが立ち上げるPDFビューアではうまくいかない模様w
415デフォルトの名無しさん
2025/08/18(月) 08:42:57.19ID:uGdRPz4N ActualTextだとPDF内で該当文字が出てくるたび必要なので煩雑ではあるね
416デフォルトの名無しさん
2025/08/18(月) 09:08:02.65ID:uGdRPz4N この手のPDFでは、フォントは部分埋め込みなのでCMapも対応する部分だけで
よく、すると一般的な文書の文字範囲では1対1対応にできる(場合が多い)のに
MSの場合はそれでもバグっている、わけね
埋め込みフォントを作る時点ではもうグリフしか見てないということか
よく、すると一般的な文書の文字範囲では1対1対応にできる(場合が多い)のに
MSの場合はそれでもバグっている、わけね
埋め込みフォントを作る時点ではもうグリフしか見てないということか
417デフォルトの名無しさん
2025/08/19(火) 15:11:53.55ID:u9mpg9OM Windowsのフォントをちょっと調べてみたら、MS明朝とか、「長」のグリフが重複していない
それでPDFを生成してみると... やはりコピペで文字化けしない
と言うわけでWindowsユーザーの皆さん、これからはMSのフォントだけを使う、
と言うのはどうだろうか。游明朝とかのことは忘れて
WindowsのPDF生成ドライバーもそれを望んでいるのかもしれない
それでPDFを生成してみると... やはりコピペで文字化けしない
と言うわけでWindowsユーザーの皆さん、これからはMSのフォントだけを使う、
と言うのはどうだろうか。游明朝とかのことは忘れて
WindowsのPDF生成ドライバーもそれを望んでいるのかもしれない
418デフォルトの名無しさん
2025/08/19(火) 16:58:13.69ID:fPjlHGI2 別にMSじゃなくても伝統的な日本語(JIS系や adobe-japan系)の文字しか入ってないフォントで重複してることなんてめったにないよ
複数の国の文字(中国漢字など)や異なる用途の文字(部首素片など)を同じフォントに収録してる場合にグリフ重複させる場合が多い
最近 google の Noto フォントみたいな多言語対応フォントを使い始めるやつが増えて問題を「再発見」してるだけ
そのせいで unicode のせいだとか言い出すアホが湧いてたわけだが(当然だがフォントには unicode に関係なく任意の文字とマップが登録できる)
複数の国の文字(中国漢字など)や異なる用途の文字(部首素片など)を同じフォントに収録してる場合にグリフ重複させる場合が多い
最近 google の Noto フォントみたいな多言語対応フォントを使い始めるやつが増えて問題を「再発見」してるだけ
そのせいで unicode のせいだとか言い出すアホが湧いてたわけだが(当然だがフォントには unicode に関係なく任意の文字とマップが登録できる)
419デフォルトの名無しさん
2025/08/19(火) 23:57:36.77ID:RalGdNCX もちろんその通り
unicodeのせいだと主張してる人は根本的にわかっていない
unicodeのせいだと主張してる人は根本的にわかっていない
420デフォルトの名無しさん
2025/08/20(水) 00:55:18.59ID:hGmntMeI >>418みたいのって、どこかに書いてあるのでしょうか
それとも純粋に個人的な発想でしょうか
それとも純粋に個人的な発想でしょうか
421デフォルトの名無しさん
2025/08/20(水) 01:07:20.10ID:gymbsza2 >>420
opentype とか truetype とかもっと古い type1 とかフォントの規格と歴史を勉強しろ
opentype とか truetype とかもっと古い type1 とかフォントの規格と歴史を勉強しろ
422デフォルトの名無しさん
2025/08/20(水) 13:03:56.81ID:NLPMnvCO423デフォルトの名無しさん
2025/08/20(水) 14:23:04.97ID:bjR6GZEK >>418
お前が相変わらずアホなだけ
実際、SJIS時代に多言語対応フォントなんて誰も使ってなかったろ
お前は仕様的に出来る/出来ない事と、実際にみんながどう運用してるかの区別が付いてない
仕様が完全でなくても、通常の運用では十分カバー出来てた事を、
無駄に意識高いお前のような馬鹿が「仕様ガー悪いノデー僕は悪くアリマセンー」なノリで不用意に
そこらの意識低いド平民にも問題を強制的に「再発見」させたのはunicodeだろ
しかもunicodeでもグリフを重複させていなければ回避出来た話
(そもそも部首素片と一般の字のグリフが同じなのはただの手抜きな気がするのだが、
一般的に同じグリフにするのが正しいのだろうか?)
その他も含めて見る限り、unicodeは無駄に意識高い馬鹿が作った仕様で、実際の運用には向いてない感じだけど
MSはこの辺昔から泥臭くて、仕様の綺麗さより実際の使い勝手を重視するので、フォントもそうなってるだけ
(まあPDFのコピペ文字化けについては、
お前的にはunicodeではなくフォント『だけの』問題だ、としたいのだろうが、
unicodeがその他諸々糞で、この問題でも誘発源になってるのは事実だろ)
そしてふと考えてみるに、unicodeの利点って、
・文字化けしない
だけで、これ以外は全て以前のSJISの方が良い気がしてきた
勿論これだけで十分な利点だし、SJIS以前の仕様はCPUが非力な時代の産物だから運用向きなのも事実だが
お前が相変わらずアホなだけ
実際、SJIS時代に多言語対応フォントなんて誰も使ってなかったろ
お前は仕様的に出来る/出来ない事と、実際にみんながどう運用してるかの区別が付いてない
仕様が完全でなくても、通常の運用では十分カバー出来てた事を、
無駄に意識高いお前のような馬鹿が「仕様ガー悪いノデー僕は悪くアリマセンー」なノリで不用意に
そこらの意識低いド平民にも問題を強制的に「再発見」させたのはunicodeだろ
しかもunicodeでもグリフを重複させていなければ回避出来た話
(そもそも部首素片と一般の字のグリフが同じなのはただの手抜きな気がするのだが、
一般的に同じグリフにするのが正しいのだろうか?)
その他も含めて見る限り、unicodeは無駄に意識高い馬鹿が作った仕様で、実際の運用には向いてない感じだけど
MSはこの辺昔から泥臭くて、仕様の綺麗さより実際の使い勝手を重視するので、フォントもそうなってるだけ
(まあPDFのコピペ文字化けについては、
お前的にはunicodeではなくフォント『だけの』問題だ、としたいのだろうが、
unicodeがその他諸々糞で、この問題でも誘発源になってるのは事実だろ)
そしてふと考えてみるに、unicodeの利点って、
・文字化けしない
だけで、これ以外は全て以前のSJISの方が良い気がしてきた
勿論これだけで十分な利点だし、SJIS以前の仕様はCPUが非力な時代の産物だから運用向きなのも事実だが
424デフォルトの名無しさん
2025/08/20(水) 15:48:16.32ID:EXUVzrtL 絶対負けを認めないマン
425デフォルトの名無しさん
2025/08/20(水) 16:40:06.57ID:bjR6GZEK 勝った負けたではなく、俺の認識はこう、ということ
お前がそう思わないのはお前の自由
(というか、何でも勝った負けたになるのは議論出来ない馬鹿の特徴
そもそも「議論」に勝った負けたはない
勝った負けたがあるのは「討論」=決を採る段階で、5chで(というよりネットで)決採る意味はないから、
そもそもネットでのほぼ全部の議論に勝った負けたはない
その辺ひろゆきも大幅に勘違いしてるし、信奉者も同程度
つかね、論破に拘ってる=論破して喜べる=普段なかなか論破出来てない=馬鹿
ということなので、自分で自己紹介しなくても、とは思うのだが)
PDFの仕様が完璧でなかったにせよ、
SJIS時代にMS明朝等使ってた人=一般の人ほぼ全員は遭遇しなかった問題だろ
・MSが上手く回避策を実行してくれてた事を感謝するタイプか、(正確にはMSがではなく、普通に作ったら回避出来るとも思うが)
・俺が何をやるにしても自由だからとにかく仕様が悪いと言い張るタイプかの違いだよ
俺は前者、unicode連中やお前らは後者、ということ
ただ実際、unicodeはもう一度綺麗に作り直さないと駄目な程度に酷い仕様になってきてるよ
しかしこれはunicodeの唯一の利点=文字化けしないを消す事になるから、死んでもやらないのだろうけど
となると、どこまで行けるか?というチキンレースにはなってるよ
お前がそう思わないのはお前の自由
(というか、何でも勝った負けたになるのは議論出来ない馬鹿の特徴
そもそも「議論」に勝った負けたはない
勝った負けたがあるのは「討論」=決を採る段階で、5chで(というよりネットで)決採る意味はないから、
そもそもネットでのほぼ全部の議論に勝った負けたはない
その辺ひろゆきも大幅に勘違いしてるし、信奉者も同程度
つかね、論破に拘ってる=論破して喜べる=普段なかなか論破出来てない=馬鹿
ということなので、自分で自己紹介しなくても、とは思うのだが)
PDFの仕様が完璧でなかったにせよ、
SJIS時代にMS明朝等使ってた人=一般の人ほぼ全員は遭遇しなかった問題だろ
・MSが上手く回避策を実行してくれてた事を感謝するタイプか、(正確にはMSがではなく、普通に作ったら回避出来るとも思うが)
・俺が何をやるにしても自由だからとにかく仕様が悪いと言い張るタイプかの違いだよ
俺は前者、unicode連中やお前らは後者、ということ
ただ実際、unicodeはもう一度綺麗に作り直さないと駄目な程度に酷い仕様になってきてるよ
しかしこれはunicodeの唯一の利点=文字化けしないを消す事になるから、死んでもやらないのだろうけど
となると、どこまで行けるか?というチキンレースにはなってるよ
426デフォルトの名無しさん
2025/08/20(水) 16:44:32.21ID:rn5+zHEj さんざんマウント取る言い方してきて、勝った負けたの勝負じゃないだとw
クソダサ
クソダサ
427デフォルトの名無しさん
2025/08/20(水) 17:25:07.68ID:6T31eh60 >>423
SJISなんてものを褒め称えるとはマイクロソフト信者かね
昔からメールなどネット上ではいわゆるJISコード(ISO-2022-JP)が使われてきてこちらが国際的にも通用する主流でUNIXなどではEUC-JPが標準
もちろん今では国際的にUNICODEで統一され符号化はネット上もファイル保存もUTF8だがマイクロソフトさんは
SJISなんてものを褒め称えるとはマイクロソフト信者かね
昔からメールなどネット上ではいわゆるJISコード(ISO-2022-JP)が使われてきてこちらが国際的にも通用する主流でUNIXなどではEUC-JPが標準
もちろん今では国際的にUNICODEで統一され符号化はネット上もファイル保存もUTF8だがマイクロソフトさんは
428デフォルトの名無しさん
2025/08/20(水) 18:20:43.93ID:gymbsza2 unicode 出る前からフォントは複数の文字コード対応マップで多言語化されれたことを知らないんだろうな
429デフォルトの名無しさん
2025/08/20(水) 19:22:16.58ID:6T31eh60 SJISが世界の全てだった人なんだろうね
430デフォルトの名無しさん
2025/08/20(水) 21:05:49.55ID:Qtedysji >>427
JISがメールで使われてたのは7bit透過だからだぞ
SJIS信者だと思うのは自由だが、PDFのコピペに関しては、今風に言うと現場猫だよ
PDF仕様猫:グリフが重複して使われるフォントなんて普通ないからヨシッ
PDF出力アプリ猫:同上、ヨシッ
google猫:PDF出力アプリが対応してればグリフが重複してもヨシッ
unicode猫:同じ字(でもないが)に複数の文字コードを割り当てても、アプリかフォントが対応してればヨシッ
MS:普通、部首素片と通常文字は別グリフだろ、これで何も問題なくなるし
フォントがどうであれ、アプリ側で対応出来るのは事実なので、アプリが一番悪い
次に悪いのはフォントで、手抜きでなければ部首素片と通常文字は別グリフになるように思う
ただしそもそものunicodeの思想が間違ってて、そもそも統合漢字としてるCJKの通常文字、
日本人と台湾人と中国人の美的感覚は異なるだろうから、同一グリフで何とかなると考えてる所に無理がある
ただ、欧米も同様にアルファベットの美的感覚が微妙には異なるはずなので、連中が問題ないからCJKも問題ないと思ったのかな、とは思う
(ここらへんは文化の結合度によるが、欧米ほど人が交流してれば美的感覚もそれなりに共有されてるのかもしれん)
というか、具体的に言うと「骨」(0x9aa8)や「曜」(0x66dc)、これらは美的感覚ではなくモロに別形だが
CJK統合漢字という根本的なとこから間違ってるよねと
というかこれらが別コードとして登録されなかった理由は何なんだ?今更異体字ダーとかやってるのに
JISがメールで使われてたのは7bit透過だからだぞ
SJIS信者だと思うのは自由だが、PDFのコピペに関しては、今風に言うと現場猫だよ
PDF仕様猫:グリフが重複して使われるフォントなんて普通ないからヨシッ
PDF出力アプリ猫:同上、ヨシッ
google猫:PDF出力アプリが対応してればグリフが重複してもヨシッ
unicode猫:同じ字(でもないが)に複数の文字コードを割り当てても、アプリかフォントが対応してればヨシッ
MS:普通、部首素片と通常文字は別グリフだろ、これで何も問題なくなるし
フォントがどうであれ、アプリ側で対応出来るのは事実なので、アプリが一番悪い
次に悪いのはフォントで、手抜きでなければ部首素片と通常文字は別グリフになるように思う
ただしそもそものunicodeの思想が間違ってて、そもそも統合漢字としてるCJKの通常文字、
日本人と台湾人と中国人の美的感覚は異なるだろうから、同一グリフで何とかなると考えてる所に無理がある
ただ、欧米も同様にアルファベットの美的感覚が微妙には異なるはずなので、連中が問題ないからCJKも問題ないと思ったのかな、とは思う
(ここらへんは文化の結合度によるが、欧米ほど人が交流してれば美的感覚もそれなりに共有されてるのかもしれん)
というか、具体的に言うと「骨」(0x9aa8)や「曜」(0x66dc)、これらは美的感覚ではなくモロに別形だが
CJK統合漢字という根本的なとこから間違ってるよねと
というかこれらが別コードとして登録されなかった理由は何なんだ?今更異体字ダーとかやってるのに
431デフォルトの名無しさん
2025/08/20(水) 21:08:26.58ID:Qtedysji ん?2行連続空行は削除されるようになったのか?
まあちと読みにくくなってるが、よろしく
まあちと読みにくくなってるが、よろしく
432デフォルトの名無しさん
2025/08/21(木) 02:20:32.36ID:X0ZtFPzr 一つ一つの技術を正しく理解していないから、文字通り「個人の感想ですよね」という
まあ5ちゃんだし、酒飲み話みたいのもアリだとは思うけど
正しい知識が元になっていればそれは役に立つ話にもなる
一方読む方は間違いを間違いと見抜く力が.... って決してひろゆき信者ではないw
まあ5ちゃんだし、酒飲み話みたいのもアリだとは思うけど
正しい知識が元になっていればそれは役に立つ話にもなる
一方読む方は間違いを間違いと見抜く力が.... って決してひろゆき信者ではないw
433デフォルトの名無しさん
2025/08/21(木) 02:56:06.57ID:D3EzSAOJ 私も世界にSJISさえアレば良かった人間です(過去形)。欲しい文字は外字にドット打ってました。
ROMに第2水準程度しか乗っていない8ビットや16ビット世代のマシンでUTF8を構築するのって、現実的に可能なのかしら。
興味本位の疑問だけど。
ROMに第2水準程度しか乗っていない8ビットや16ビット世代のマシンでUTF8を構築するのって、現実的に可能なのかしら。
興味本位の疑問だけど。
434デフォルトの名無しさん
2025/08/21(木) 04:47:17.94ID:HC849JP7 交換用符号としての扱いは楽だけど
ROMのコードがJISだから変換マップをオンメモリにするのは厳しそう
索引付きでないと性能でないと思うから
これもROMで持てるならあり
もちろん幅や方向、合字なんかは扱えない
ROMのコードがJISだから変換マップをオンメモリにするのは厳しそう
索引付きでないと性能でないと思うから
これもROMで持てるならあり
もちろん幅や方向、合字なんかは扱えない
435デフォルトの名無しさん
2025/08/21(木) 05:18:08.01ID:mNeC3fTJ >>433
そこはSJISとUTF8といった符号化方式の比較でなくてJIS漢字コードとユニコードの比較で十分
漢字ROMのデータ収録順序はJIS漢字コードの機械的変換できる範囲内だろうから
ユニコードからJIS漢字コードへのマッピング
そこはSJISとUTF8といった符号化方式の比較でなくてJIS漢字コードとユニコードの比較で十分
漢字ROMのデータ収録順序はJIS漢字コードの機械的変換できる範囲内だろうから
ユニコードからJIS漢字コードへのマッピング
436デフォルトの名無しさん
2025/08/21(木) 05:33:29.34ID:lFCpHxq7 いわゆる半角カタカナ等(JIS X 0201)と全角漢字等(JIS X 0208)のほとんどは規則的変換できるようにユニコード内に収容されている
例外は一部の記号や文字のみ
したがって漢字ROM読み出しもほとんどは規則的変換できて例外のみ対応で実用的かな
例外は一部の記号や文字のみ
したがって漢字ROM読み出しもほとんどは規則的変換できて例外のみ対応で実用的かな
437デフォルトの名無しさん
2025/08/21(木) 06:14:19.45ID:BA9KDvPD 漢字は厳しいだろ
偶然だが半角の途中まではEF BDを前置するとUTF8
A1 。 EF BD A1
AF ッ EF BD AF
B0 ー EF BD B0
B1 ア EF BD B1
B2 イ EF BD B2
B3 ウ EF BD B3
B4 エ EF BD B4
B5 オ EF BD B5
BF ソ EF BD BF
偶然だが半角の途中まではEF BDを前置するとUTF8
A1 。 EF BD A1
AF ッ EF BD AF
B0 ー EF BD B0
B1 ア EF BD B1
B2 イ EF BD B2
B3 ウ EF BD B3
B4 エ EF BD B4
B5 オ EF BD B5
BF ソ EF BD BF
438デフォルトの名無しさん
2025/08/21(木) 08:42:01.26ID:YIWSP+jR >>436
JIS/SJIS/EUC: https://manuals.ricoh.com/mfp/p_manual/MPC6004JPN/ja/intro/int/r_cjr041.htm
unicode: https://www.asahi-net.or.jp/~ax2s-kmtn/ref/unicode/cjku_klist.html
さすがゆとりZ、無敵すぎ
JIS/SJIS/EUC: https://manuals.ricoh.com/mfp/p_manual/MPC6004JPN/ja/intro/int/r_cjr041.htm
unicode: https://www.asahi-net.or.jp/~ax2s-kmtn/ref/unicode/cjku_klist.html
さすがゆとりZ、無敵すぎ
439デフォルトの名無しさん
2025/08/21(木) 09:07:08.19ID:4FAr+8B9 >>436
昔のAIにSJISをunicodeに変換するコード書かせたら何故かテーブルもってなくて機械的にシフトと論理演算で変換できますってコード出されたって話を思い出した
お前、そのAIだったりしないか?
昔のAIにSJISをunicodeに変換するコード書かせたら何故かテーブルもってなくて機械的にシフトと論理演算で変換できますってコード出されたって話を思い出した
お前、そのAIだったりしないか?
440デフォルトの名無しさん
2025/08/21(木) 16:15:00.95ID:jm5fSTrV >>438
>JIS/SJIS/EUC: https://manuals.ricoh.com/mfp/p_manual/MPC6004JPN/ja/intro/int/r_cjr041.htm
区点コードで文字入力とはシブい。しかし字形が2004じゃないのは果たして
マニュアルだけの話でプリントで使うフォントとかは別なのかな。にしても
>JIS/SJIS/EUC: https://manuals.ricoh.com/mfp/p_manual/MPC6004JPN/ja/intro/int/r_cjr041.htm
区点コードで文字入力とはシブい。しかし字形が2004じゃないのは果たして
マニュアルだけの話でプリントで使うフォントとかは別なのかな。にしても
441デフォルトの名無しさん
2025/08/21(木) 21:08:42.64ID:YIWSP+jR >>440
何が言いたいのか分からんが、こちらの意図を明確にしておくと、
ただ単に「JIS 漢字表」でググって並び順が見やすいのを選んだだけ
コードなら以下が見やすいかと
http://www.infonet.co.jp/ueyama/ip/binary/x0208txt.html
JIS等は漢字もあいうえお順(ricohのサイトはまんまアイウエオで見やすい)
てかunicodeって何順?
何が言いたいのか分からんが、こちらの意図を明確にしておくと、
ただ単に「JIS 漢字表」でググって並び順が見やすいのを選んだだけ
コードなら以下が見やすいかと
http://www.infonet.co.jp/ueyama/ip/binary/x0208txt.html
JIS等は漢字もあいうえお順(ricohのサイトはまんまアイウエオで見やすい)
てかunicodeって何順?
442デフォルトの名無しさん
2025/08/22(金) 21:59:54.85ID:SVHvHw/K https://www.asahi-net.or.jp/~ax2s-kmtn/ref/unicode/cjku_radical.html
>UnicodeのCJK統合漢字は、概ね部首順(部首内は画数順)に並んでいます
>UnicodeのCJK統合漢字は、概ね部首順(部首内は画数順)に並んでいます
443デフォルトの名無しさん
2025/08/23(土) 02:24:50.51ID:/wnxORck しかしこれらの部首って、例のUnicodeの漢字部首のコードポイントに頼らなくても
出せるのね。元々各国の文字コードに部首のコードがあってそれがUnicodeに
引き継がれているようで
JISでも第二水準にちょいちょい部首が入っている。冫(にすい)とか
だがしかし「さんずい」や「しんにょう」などは第二水準にはない
これって何故でしたっけ。まさか さんずい=水に「包摂」とか? ???
出せるのね。元々各国の文字コードに部首のコードがあってそれがUnicodeに
引き継がれているようで
JISでも第二水準にちょいちょい部首が入っている。冫(にすい)とか
だがしかし「さんずい」や「しんにょう」などは第二水準にはない
これって何故でしたっけ。まさか さんずい=水に「包摂」とか? ???
444デフォルトの名無しさん
2025/08/23(土) 06:47:36.46ID:0WleoknD >>443
氵も 辶 もJISにあるだろ (JIIS補助漢字または第4水準だが、包摂ではない)
もちろん Unicode も部首素片以外に漢字側にも登録がある
冫だけ第2水準なのは教科書とかで使用例があったから(うろ覚え)
氵も 辶 もJISにあるだろ (JIIS補助漢字または第4水準だが、包摂ではない)
もちろん Unicode も部首素片以外に漢字側にも登録がある
冫だけ第2水準なのは教科書とかで使用例があったから(うろ覚え)
445デフォルトの名無しさん
2025/08/23(土) 07:30:15.06ID:0WleoknD 大元の理由が知りたいというい意味ならこの辺は漢字の歴史に由来していて
「冫」は甲骨の時代から独立した漢字で「氷」は字源的には「冫+水」の「冰」の略字
「氵」は「水」が部首になった時の省略形で昔の漢字では2つは全く同じ字形
unicode でも「冫」は漢字としてのみ登録されていて、部首素片(CJK Radical)には無かったはず
「冫」は甲骨の時代から独立した漢字で「氷」は字源的には「冫+水」の「冰」の略字
「氵」は「水」が部首になった時の省略形で昔の漢字では2つは全く同じ字形
unicode でも「冫」は漢字としてのみ登録されていて、部首素片(CJK Radical)には無かったはず
446デフォルトの名無しさん
2025/08/23(土) 08:40:59.48ID:baE/iOEd447デフォルトの名無しさん
2025/08/23(土) 08:52:37.93ID:wdSAuDDp448デフォルトの名無しさん
2025/08/23(土) 08:56:22.55ID:yzoynflT 失礼、投稿が失敗したと思いダブリました(&少し書き直した)
449デフォルトの名無しさん
2025/08/23(土) 09:10:23.66ID:0dLwdQt1 >>446
> CJK部首の「長」は縦の棒が上から下まで繋がっている(画数が-1)とかいう話
ならばgoogle猫が手抜きで糞フォントを作ったのがPDFコピペ文字化けの元凶だな
日本人の美的感覚では、(この辺は習字を見れば分かりやすい)
「長」の縦棒は、上よりも下のほうが少し左側(下のほうが広く見える)が美しいとされるので、
真面目にフォントを作れば同じグリフになることはない
> CJK部首の「長」は縦の棒が上から下まで繋がっている(画数が-1)とかいう話
ならばgoogle猫が手抜きで糞フォントを作ったのがPDFコピペ文字化けの元凶だな
日本人の美的感覚では、(この辺は習字を見れば分かりやすい)
「長」の縦棒は、上よりも下のほうが少し左側(下のほうが広く見える)が美しいとされるので、
真面目にフォントを作れば同じグリフになることはない
450デフォルトの名無しさん
2025/08/23(土) 12:38:53.36ID:0WleoknD >>447
そういう意味なら「康熙部首」はもともと部品じゃなくて普通に使われる漢字なのでJIS的には漢字として登録されるのは問題ない
(康煕部首を漢字以外に登録しているunicode が変というかローマ数字の ⅰ がアルファベットの i と別にあるみたいな変さ)
「氵」とかは伝統的な漢字じゃないので(辞典類の索引くらいしか)単独の用例が存在していなかったのが理由じゃないかな
国語の教科書とかでも康煕準拠で「冫の部」とういう表記は使われるけど「氵の部」という部首は存在してなくて「水の部」と書かれてる
第3、第4水準の包摂基準は原則として第1、第2の基準を援用してるので第2水準で包摂されていたら第4水準に追加できないので、逆説的に第4水準に追加されたことは包摂されていなかった解釈になる(補助漢字はかなりあやしい
そういう意味なら「康熙部首」はもともと部品じゃなくて普通に使われる漢字なのでJIS的には漢字として登録されるのは問題ない
(康煕部首を漢字以外に登録しているunicode が変というかローマ数字の ⅰ がアルファベットの i と別にあるみたいな変さ)
「氵」とかは伝統的な漢字じゃないので(辞典類の索引くらいしか)単独の用例が存在していなかったのが理由じゃないかな
国語の教科書とかでも康煕準拠で「冫の部」とういう表記は使われるけど「氵の部」という部首は存在してなくて「水の部」と書かれてる
第3、第4水準の包摂基準は原則として第1、第2の基準を援用してるので第2水準で包摂されていたら第4水準に追加できないので、逆説的に第4水準に追加されたことは包摂されていなかった解釈になる(補助漢字はかなりあやしい
451デフォルトの名無しさん
2025/08/23(土) 12:45:02.17ID:0WleoknD452デフォルトの名無しさん
2025/08/23(土) 14:58:11.95ID:/wnxORck あ、すみません
> CJK部首の「長」は縦の棒が上から下まで繋がっている(画数が-1)とかいう話
ちょっとこの部分はガセかもしないので皆さん一旦忘れてもらえますか?
「長」が康熙部首とCJK部首(補助)に登場するのは事実ですが
> CJK部首の「長」は縦の棒が上から下まで繋がっている(画数が-1)とかいう話
ちょっとこの部分はガセかもしないので皆さん一旦忘れてもらえますか?
「長」が康熙部首とCJK部首(補助)に登場するのは事実ですが
453デフォルトの名無しさん
2025/08/23(土) 15:25:52.11ID:0WleoknD >>452
unicode には4つの「長」の部首素片が登録されてるメインに1つ、補助に3つ
多分メインのやつが字形を無視した意味上の部首素片で、補助のやつが unicode の包摂基準に従って分離された字形
unicode には4つの「長」の部首素片が登録されてるメインに1つ、補助に3つ
多分メインのやつが字形を無視した意味上の部首素片で、補助のやつが unicode の包摂基準に従って分離された字形
454デフォルトの名無しさん
2025/08/23(土) 15:38:45.17ID:/wnxORck455デフォルトの名無しさん
2025/08/23(土) 15:54:04.18ID:/wnxORck456デフォルトの名無しさん
2025/08/25(月) 08:21:51.64ID:y+b0tsbW 今回の話はほぼ部首由来だけど、そうでないのも少しありそう
U+6AF8(櫸)は「ケヤキ」らしいがこれ以外にU+237F1(𣟱)という字もあり、
この両者に同じグリフを使う場合がある
ちなみに例の坂道グループのはU+6B05(欅)、つくりの下側が「手」
ここらへんの文字がちゃんと扱えるのかのテストでもある
U+6AF8(櫸)は「ケヤキ」らしいがこれ以外にU+237F1(𣟱)という字もあり、
この両者に同じグリフを使う場合がある
ちなみに例の坂道グループのはU+6B05(欅)、つくりの下側が「手」
ここらへんの文字がちゃんと扱えるのかのテストでもある
457デフォルトの名無しさん
2025/08/25(月) 08:51:42.49ID:y+b0tsbW ちなみに台湾の日本アイドルファン系のサイトには、U+6AF8を使っている
サイトが散見される.。まあ無理もないことではある
しかしそれだと日本の情報を十分に集められなかったのではなかろうか
まさかそれを嫌って櫻坂に改名したとしたら、なかなかの文字コード通か?
しかし今度は中国本土の人がU+6A31(樱)を使ってしまう可能性もある
サイトが散見される.。まあ無理もないことではある
しかしそれだと日本の情報を十分に集められなかったのではなかろうか
まさかそれを嫌って櫻坂に改名したとしたら、なかなかの文字コード通か?
しかし今度は中国本土の人がU+6A31(樱)を使ってしまう可能性もある
458デフォルトの名無しさん
2025/08/25(月) 08:56:46.72ID:4e0IOAiN そもそも unicode の統合基準がグダグダなので unicode では同じ字形の文字が複数あるのが当然になってる(IVS/IVDも入れると同じ字形の漢字が3つも4つもあったり
あと1つのフォントには最大で65536グリフしか登録できないので多くの文字を登録したい場合やフォントサイズを圧縮したい場合は同じ字形は一つのグリフで表すというのも普通のテクニックになってる
あと1つのフォントには最大で65536グリフしか登録できないので多くの文字を登録したい場合やフォントサイズを圧縮したい場合は同じ字形は一つのグリフで表すというのも普通のテクニックになってる
459デフォルトの名無しさん
2025/08/25(月) 15:28:01.56ID:WuqY0NEW460デフォルトの名無しさん
2025/08/25(月) 18:00:18.28ID:4e0IOAiN >>459
U+6B05 は旁の下部が手なのでおいておいて
もともとU+6AF8 は横棒二本と横棒三本が統合(unify)されてる(日本語フォントだと三本、中国語フォントだと二本で表示されるのが一般的、
二本と三本を指定したい時は IVS をつけるのがルール、具体的には U+E0100 をつければ日本で一般的な adobe-japan の横棒三本の字体を明示的に示せる
IVS なんか知るか独立のコードポイントよこせという大陸様のゴリ押しで、横棒三本が別に U+237F1 に登録された
このせいで日本語フォントで表示すると両方が横棒三本の同じ字形という状態になってる(中国語フォントなら二本と三本で別の字形になる
U+6B05 は旁の下部が手なのでおいておいて
もともとU+6AF8 は横棒二本と横棒三本が統合(unify)されてる(日本語フォントだと三本、中国語フォントだと二本で表示されるのが一般的、
二本と三本を指定したい時は IVS をつけるのがルール、具体的には U+E0100 をつければ日本で一般的な adobe-japan の横棒三本の字体を明示的に示せる
IVS なんか知るか独立のコードポイントよこせという大陸様のゴリ押しで、横棒三本が別に U+237F1 に登録された
このせいで日本語フォントで表示すると両方が横棒三本の同じ字形という状態になってる(中国語フォントなら二本と三本で別の字形になる
461デフォルトの名無しさん
2025/08/26(火) 15:23:22.74ID:yhOjjAzx462デフォルトの名無しさん
2025/08/26(火) 17:54:44.18ID:Bsu3S+Ad463デフォルトの名無しさん
2025/09/10(水) 21:44:22.92ID:UOM2W4Ny Unicode 17.0 Release Announcement
https://blog.unicode.org/2025/09/unicode-170-release-announcement.html
「Unicode 17.0」がリリース 〜8つの新しい絵文字、日中韓(CJK)文字の拡充も継続
サウジアラビア通貨「リヤル」の記号も
https://forest.watch.impress.co.jp/docs/news/2046141.html
https://blog.unicode.org/2025/09/unicode-170-release-announcement.html
「Unicode 17.0」がリリース 〜8つの新しい絵文字、日中韓(CJK)文字の拡充も継続
サウジアラビア通貨「リヤル」の記号も
https://forest.watch.impress.co.jp/docs/news/2046141.html
464デフォルトの名無しさん
2025/09/10(水) 22:23:52.97ID:I5buXTbc465デフォルトの名無しさん
2025/09/10(水) 23:25:55.02ID:qn6dqRwx466デフォルトの名無しさん
2025/09/11(木) 14:48:21.23ID:/BCensIn >>464
合成でバニーガールとバニーボーイを使い分けられてジェンダーフリー、
ってそこまでしてw
絆創膏のデフォルトの色をどうするか、みたいな話もあったり
めんどくさい世の中だ
そういえばインド人から送られてきたthumbs-upの絵文字は茶色かった
合成でバニーガールとバニーボーイを使い分けられてジェンダーフリー、
ってそこまでしてw
絆創膏のデフォルトの色をどうするか、みたいな話もあったり
めんどくさい世の中だ
そういえばインド人から送られてきたthumbs-upの絵文字は茶色かった
467デフォルトの名無しさん
2025/09/11(木) 15:09:06.69ID:UUDIZIcP468デフォルトの名無しさん
2025/09/15(月) 20:12:18.82ID:oqgL1+ac >>464
しかしリアルな中国の辞書でも10万字を超えるのはないはずだけど
10万字突破ってどういう文字集合になってるんすかねえ
あと文字情報と汎用電子が追加したIVDはこの場合カウントされるのかな?
しかしリアルな中国の辞書でも10万字を超えるのはないはずだけど
10万字突破ってどういう文字集合になってるんすかねえ
あと文字情報と汎用電子が追加したIVDはこの場合カウントされるのかな?
469デフォルトの名無しさん
2025/09/16(火) 03:15:46.45ID:HhaKFttb470デフォルトの名無しさん
2025/09/17(水) 13:27:21.24ID:JKPLurCd >>469
なるほど。しかしそのうちどれだけにUnicodeのコードポイントがあるのか
興味深いですね
ちなみにこの場合の「海」は中心が点々で表示されるべきなんだろうけど
異体字セレクタにある点々の海を使うのは正解じゃないんでしたっけ
なるほど。しかしそのうちどれだけにUnicodeのコードポイントがあるのか
興味深いですね
ちなみにこの場合の「海」は中心が点々で表示されるべきなんだろうけど
異体字セレクタにある点々の海を使うのは正解じゃないんでしたっけ
471デフォルトの名無しさん
2025/11/07(金) 08:24:41.35ID:Su4lsdFM macOS 26 Tahoeアップグレード後に、正規化形式(NFD/NFC)の不具合により日本語環境でNASに接続されたTime Machineバックアップが行えない問題はmacOS 26.1でも修正されていないので注意を。
https://applech2.com/archives/20251106-time-machine-bug-still-unresolved-on-macos-26-1-tahoe.html
Synologyサポートチームによる調査の結果、この問題はTime MachineバックアップをNASストレージ上に作成すると、日本語環境ではデフォルトで「Hogeのバックアップ」という名前がUnicde NFC形式で自動的に付けられ保存されるものの、macOS 26.0 Tahoeではボリューム名をNFD形式で探すようになっていることが原因だとして、
SynologyはAppleがこの問題を修正するまでの一時的な対応策として、バックアップ先のフォルダ名およびボリューム名をアルファベットのみで構成するという対処法を公開していましたが、Appleが2025年11月03日にリリースした「macOS 26.1 Tahoe」でもこの問題は修正されていませんでした。
https://applech2.com/archives/20251106-time-machine-bug-still-unresolved-on-macos-26-1-tahoe.html
Synologyサポートチームによる調査の結果、この問題はTime MachineバックアップをNASストレージ上に作成すると、日本語環境ではデフォルトで「Hogeのバックアップ」という名前がUnicde NFC形式で自動的に付けられ保存されるものの、macOS 26.0 Tahoeではボリューム名をNFD形式で探すようになっていることが原因だとして、
SynologyはAppleがこの問題を修正するまでの一時的な対応策として、バックアップ先のフォルダ名およびボリューム名をアルファベットのみで構成するという対処法を公開していましたが、Appleが2025年11月03日にリリースした「macOS 26.1 Tahoe」でもこの問題は修正されていませんでした。
472デフォルトの名無しさん
2025/11/10(月) 05:32:30.23ID:CxzRdolU >>471
macOSの正規化の問題はもはや定期
macOSの正規化の問題はもはや定期
レスを投稿する
