文字コード総合スレ part15 (413レス)
前次1-
抽出解除 レス栞

36
(1): デフォルトの名無しさん [sage] 2024/09/08(日) 01:58:10.59 ID:ZMDGTsRQ(1) AAS
市販の日本語フォントはProフォントでも Adobe-Japan1-7 にある文字どまりで2万3千文字程度
Noto も国ごと文字種ごとにファイル分割されているのでフォント切り替えないと全ての文字は表示できない(あと新しく追加された文字はない
いろいろ都合があって一つのフォントファイルに入れるのは最大でも6万字程度に抑えられてるのが実情
109: デフォルトの名無しさん [sage] 2024/12/03(火) 12:52:43.59 ID:DZc+/1dr(1) AAS
たまたまSJISでデコードしたら人間に読める(かもしれない)ってだけで
只のバイナリデータだよね
361
(2): デフォルトの名無しさん [sage] 2025/07/31(木) 12:22:57.59 ID:1FIA24UI(4/8) AAS
>>360
360(1): デフォルトの名無しさん [sage] 2025/07/31(木) 10:38:37.81 ID:Ztum1zAi(1/4) AAS
>>359
気付いてないようだが unicode 以前の SJIS とかの時代から PDF では使うフォントによっては同じ問題が起きてた
変なフォント使うやつ少ないし、同じ国の中の文字の揺れなので気づくやつが少なかったのが、国際化の影響で別の国の文字だの部首素片だのに変換されて目立つようになっただけ
PDF は文字コード表にない文字(フォント)まで扱えることを知ってればコピペ等で化ける(別の字への置き換え)は当然の仕様と知れる
Windowsの標準のフォントしか使ってないので、遭遇した事もないし、聞いた事もないが
(ただ、当時はそうなっても「文字化け」としてスルーされてたとも思うが
unicodeしか使った事無いゆとり以降は、文字化け=バグ、とか言い出すから別の問題はあるにしても、
文字化けについて厳しくなってるから話題として出てきてるだけかもしれん)

しかし結局、文字コード->グリフで多対一写像があり、戻す時にどちらに戻すべきか分からなくなるのが問題なら、
(SJISな当時に)多対一写像がありまくるのはただの糞フォントだとも思うが
平仮名/片仮名は漢字の簡易形であり、当然似たような字形はあるので、
ほぼ全部のフォントでそれらを何となく区別出来るように大きさを変えてあるのが常だし

で、unicodeは多対一写像が仕様だから、
1:1写像な以前の世界向けに作られた物が当然誤動作してるだけだろ
(さっさと対応しろよ、なのは勿論だが)

して、「酷い」と考える奴は結局、後知恵でもいいからどうすべきだったと考えるのだ?
文字コードを埋め込む方式は、見た目同じだが検索に引っかからない、いわゆる正規化の問題が発生してしまう
同じグリフ->同じ文字コードなら、この問題は存在しない
だから「検索」と「コピペ」のどちら向けの仕様にするか、であり、PDFが
> 検索ができないのは不便だからってんで (>>328
328(3): デフォルトの名無しさん [sage] 2025/07/25(金) 01:59:47.04 ID:UKTPcfYB(1) AAS
PDFはPostScriptがベースなんだけど、これは元々プリンタ出力のために設計されたもの
後は紙に印刷するだけって状態のデータだから文字コードなんて概念はない

PostScriptの仕様をPDFに流用する時、検索ができないのは不便だからってんで
グリフ番号→文字コードのマッピング表をPDFファイルに埋め込める仕組みを作った
アプリがこの表を適宜生成しないと文字化けが発生する
)
なら、そりゃ検索向けの仕様にするよ
(現在のPDFが検索時に正規化して対応してるとしても、
同じグリフに複数の文字コードを与えている糞フォントな場合、
画面なぞって検索したときに、見た目同じなのに引っかからないケースが発生する
同じグリフなら同じコードだ!の旧方式なら、これはない)
363
(1): デフォルトの名無しさん [sage] 2025/07/31(木) 13:09:41.59 ID:Ztum1zAi(2/4) AAS
>>361
フォントが1種類しか使われてないと思い込んでるのがお前の妄想の原因なんだよ
アラビア語のフォントが一部に使われてるPDFをSJISのテキストにコピペしたらどうなるか想像つくだろ
395
(2): デフォルトの名無しさん [sage] 2025/08/04(月) 12:31:11.59 ID:Dprx6XuC(1/4) AAS
一部訂正
× コピペに関しては、文字コードを保存してないのが問題で、(>>387
387(1): デフォルトの名無しさん [sage] 2025/08/02(土) 12:26:25.37 ID:xIFE1Go+(4/4) AAS
>>386
相変わらず分かってねえな

> コピペが化けるのと同じ問題が起きる
だからいいんだぞ
両方ともPDF内から生成された物だからこそ、確実に一致する

> PDFについて無知過ぎ
PDF博士なお前はマウントポイントなこの点にこだわるようだが、
既に言った通り、本質的にはPDFではなくunicodeの問題だ
実際、unicodeなhtmlでも「見た目同じだけど検索に引っかからない」ケースが普通にあるだろ
コピペに関しては、文字コードを保存してないのが問題で、既に仕様は追加済み、さっさと対応しろだが、
検索に関しては、元々unicodeは検索がまともに出来ない仕様で、それがPDFにも輸出されただけ

例えば、316で3つの「長」が同じグリフIDに紐づけされるのは、
当然その文書のそのフォントでは3つの「長」が同じグリフを使うからであり、見た目が同じだから
同じ文書をhtmlで表示させたら、当然画面上の見た目は同じ「長」になるが、
文字コードが3つのどれかは見た目では分からない
だから「手打ちで」「長」と打ち込んでも、当たらない時がある
これ、PDF全く関係ないだろ
)
○ unicodeのコピペに関しては、糞フォントと文字コードを保存してない組み合わせの時の問題で、

PDFの昔の仕様でも、文字コード->グリフが1:1の場合にはコピペ/検索共に全く問題なく機能する
316で「なんか低い…」になるのは、それらの文字コードには別のグリフが与えられているからであり、
PDF閲覧者の環境でその文書のPDFを作成した場合、(3つとも別のグリフなら)全く問題ないPDFが作成される

だから発生条件として、

・糞フォントで、違う文字コードで同じグリフを使いまくり

が必要であり、これを誘発しているのはunicodeの仕様
だからPDFがボロいと言うより、
unicodeが本質的にボロくて、以前の1:1な世界と親和性が皆無な事が問題なのだと思うよ
(なお316の件は、コードに戻す際、その文書で一度も使ってもない「長」に決め打ちで変換されていると思われ、
PDF出力アプリがポンコツなのもほぼ間違いない
376の通り、「その文書で最初にそのグリフを使った文字コード」を格納する実装なら、
単国籍な文書《≒大半のケース》で顕在化するのは防げる)

結論としては、やっぱunicode糞じゃね?と思うが

以前の文字コード:このコードはこう表示される程度の知識で全く問題ない
unicode:正しい作法(正規化等)を知らないと色々誤動作する
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 1.145s*