文字コード総合スレ part15 (470レス)
1-

383: 08/02(土)09:03 ID:tv/q+z7t(1) AAS
>>382
それも初心者あるあるだな
賢いお前にはこれで十分通じるはず(キリッ
384
(1): 08/02(土)10:53 ID:jagzAmj3(2/4) AAS
日本語フォントとかだとグリフID の順がSJISやUnicodeと全く一致してないということを知らずに吹いてるんだろうな(SJIS時代は並び順が一致してたとでも妄想してるのかな?

検索文字列がSJISとかUnicodeで与えられた時にそれをどうやってグリフIDとマッチングされるか具体的な方法も知らないんだろうな

グリフIDと文字コードの対応がPDFに内蔵されてない場合に検索どうするか検討もつかないんだろうな

中には文字をグリフIDですらなくてアウトラインの図形データとして格納してるPDFだってあるということも知らないんだろうな
385
(1): 08/02(土)11:23 ID:xIFE1Go+(3/4) AAS
>>384
> 順が
なるほどやはりお前は分かってない

> 検索文字列がSJISとかUnicodeで与えられた時
実はこれには問題がある。だから注つけるかとも考えたが、
> 画面なぞって (>>361)
と既に言及してるし、どのみちunicodeだと手打ちでは無理で、画面なぞるしかない(後述)ので、まあいいかで省略した
賢いお前らなら当然気づくから、いちいち無駄ツッコミはないはずだし

> グリフIDと文字コードの対応がPDFに内蔵されてない場合
それは初(ry

> 中には文字を
それも初(ry

本質的には、unicodeの問題がPDFに輸出されてしまってるんだよ
仮にPDFがhtmlのようにunicode文字コードで構成されてても、正規化の問題は発生するし、
316の例みたいに同じグリフを複数のコードが使用してる場合、「手打ちでの」検索はヒットしないことがあり得る
PDFの仕様だと、「画面なぞれば」100%ヒットするだけまだましで、unicodeはこれすら保証できない
386
(1): 08/02(土)11:47 ID:jagzAmj3(3/4) AAS
>>385
結局何も分かってなかったのね?

既存のPDFビュワーの画面をなぞるのはコピペの機能だぞ
一旦グリフIDから文字コードに変換される、そして検索窓等に文字コードとして入力される、コピペが化けるのと同じ問題が起きる

それともお前がSJIS時代にグリフIDのままで検索できるビュワー書いたのか? 本当に過去に存在してたのなら見せてくれ、ごめんなさいして今から書いても良いぞ

作るのなら
フォントごとにグリフIDが異なるんだが、まずは複数のフォントが使われてる時にあるフォントの「あ」の文字を選択したときに、別のフォントの「あ」の文字のグリフIDにどうやったら変換できるか考えてみろ
コードポイントによってはグリフがなくて表示されないやつすらある(単純な例ならスペースとか改行、もっと複雑なのが一杯ある)、
合字とかで複数の文字からなる文字列に1つだけのグリフIDが割り当てられていることもある(レパートリはフォントごとに違う)、
そういう時はどうする考えてみろ、PDFについて無知過ぎ
387
(1): 08/02(土)12:26 ID:xIFE1Go+(4/4) AAS
>>386
相変わらず分かってねえな

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

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

例えば、316で3つの「長」が同じグリフIDに紐づけされるのは、
当然その文書のそのフォントでは3つの「長」が同じグリフを使うからであり、見た目が同じだから
同じ文書をhtmlで表示させたら、当然画面上の見た目は同じ「長」になるが、
文字コードが3つのどれかは見た目では分からない
だから「手打ちで」「長」と打ち込んでも、当たらない時がある
これ、PDF全く関係ないだろ
388: 08/02(土)15:48 ID:MvhBDlJ2(1) AAS
馬鹿はコード書けって言われると発狂するから分かりやすいね
389: 08/02(土)18:36 ID:jagzAmj3(4/4) AAS
きっとここがプログラム技術板だってことにすら気付いていないんだろうな
プログラム書けば良いのに
390: 08/02(土)19:21 ID:dbEqXJf9(1) AAS
ID:xIFE1Go+がニワカ知識だったでOK?
391: 08/04(月)06:18 ID:QkMIbgCE(1/2) AAS
さてと

PDFの中を覗いてみたけど、/ActualTextという要素がある(場合がある)のね
Acrobatなどは検索やコピペのときにこれを参照するのかな?
392
(2): 08/04(月)06:44 ID:wGHus/El(1) AAS
画像に/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")

外部リンク[pdf]:taggedpdf.com
393
(2): 08/04(月)07:42 ID:B+SwrOCa(1/5) AAS
Actual Text や Alt Text もそうなんだけど最近の PDF には大きな枠組みで「タグ付き PDF」という機能があって文章の構造化ができる

要はHTMLの段落タグや見出しタグと同じやつで読む順番やその文章内での意味付けや読み方や代替の指定が可能、補足を入れる Expansion Text みたいなのも

これによって改行を超えた検索とかリフローっぽいこととか、画像化された文字のテキスト化の指定とかとか色々HTMLっぽく使える

(文字コードとは独立した問題)
394
(1): 08/04(月)10:06 ID:QkMIbgCE(2/2) AAS
>>392
なるほどー。ただこれはどちらかというと /Span の使い方のデモ(濫用)って感じも
しかしこれでAcrobatのことが少しわかった感も、どうもです

>>393
> ... 文章の構造化ができる
>(文字コードとは独立した問題)
異なるコードポイントの文字を構造化することもできますね
395
(2): 08/04(月)12:31 ID:Dprx6XuC(1/4) AAS
一部訂正
× コピペに関しては、文字コードを保存してないのが問題で、(>>387)
○ unicodeのコピペに関しては、糞フォントと文字コードを保存してない組み合わせの時の問題で、

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

だから発生条件として、

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

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

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

以前の文字コード:このコードはこう表示される程度の知識で全く問題ない
unicode:正しい作法(正規化等)を知らないと色々誤動作する
396
(1): 08/04(月)12:54 ID:B+SwrOCa(2/5) AAS
>>395
お前、まだあきらめて無かったのか
昔から1対1なんてことはないよ
グリフIDはフォントごとに異なる、1つのPDFで複数のフォントを使ったら異なるグリフIDになる、逆に同じグリフIDでも異なる文字を表現している
何度も言われただろ、理解できない部分を読み飛ばしてるのか?
397
(1): 08/04(月)13:40 ID:Dprx6XuC(2/4) AAS
>>396
いや、やはりお前は理解出来てない
もういいけど
(お前が理解出来ない事は理解しているし、お前の頭の悪さについては諦めている)

> グリフIDはフォントごとに異なる、1つのPDFで複数のフォントを使ったら異なるグリフIDになる
ここまでは全く問題ないが、
> 逆に同じグリフIDでも異なる文字を表現している
これが問題

「単射」と言った方が正しかったが、
俺は使ってきてなかったのと、後で使ってた「1:1」表現に揃えたのが不適切だったようだ
ただ、事実は変わらない
当たり前だがゴシックの「あ」と明朝の「あ」は別グリフIDになるが、
この場合にも検索/コピペは昔のPDFの仕様で全く問題なく動作する

まあunicodeは色々糞だというのが俺の見解
387の表現だとPDFに主たる問題があるとも読めるので訂正した
(unicode以前は問題なく機能していたので)
398
(1): 08/04(月)14:31 ID:B+SwrOCa(3/5) AAS
>>397
明朝体の「あ」のグリフIDが 325 でゴシック体の「ほ」のグリフIDが同じ 325 ということだってあり得るんだよ
明朝体の「あ」とゴシック体の「あ」は検索したいけど、ゴシック体の「ほ」は検索にひっかかると困る。常識だろ
399
(1): 08/04(月)14:37 ID:D3iy7z0J(1) AAS
>>395
>・糞フォントで、違う文字コードで同じグリフを使いまくり
自分の妄想をベースにAdobeに因縁を付けるのか
最近こういう人が増えている感じで怖い

>以前の文字コード:このコードはこう表示される程度の知識で全く問題ない
ある

前提の認識が間違っているのでそれをベースにした話も間違い
ただの間違いの積み重ね
400
(1): 08/04(月)15:13 ID:Dprx6XuC(3/4) AAS
>>398
それは初(ry

あとちなみに、「1:1」の表現は317から使われてるだろ
お前以外の誰も「1:1」表現を気にしてないのは、お前だけが特殊(=非プログラマ)だから
まあ方言っちゃ方言だが、この場合の意味は可逆/非可逆であって、写像形式自体を示しているわけではない

>>399
> 自分の妄想をベースにAdobeに因縁を付けるのか
俺はAdobeは順当で、unicodeがウンコだとずっと言ってる
とはいえ文盲と5chで話をするのは無理なのでもういいが
401
(1): 08/04(月)15:21 ID:SX/R7tYr(1) AAS
>>392-394
Adobe Acrobatで検索もコピペも出来ない/ActualTextの例
402
(1): 08/04(月)17:34 ID:B+SwrOCa(4/5) AAS
>>400
だから 317が1対1じゃないって言ってるだろ
フォントと文字コードが1対1じゃないのは Unicode どころかPDFよりもっと前の PostScript のフォントで使われ始めた技術
それが現在までそのまま引き継がれてる
Unicode で始まった話ではない
403
(1): 08/04(月)21:50 ID:Dprx6XuC(4/4) AAS
>>402
そういう話じゃねえ
てかお前も本気で文盲だな

317: 1:1でなら動くシステムに多:1をブッ込んでるから動かない

やぞ
ただここまで言っても通じないのだから、本件に対し、お前の知能/知識がまるで足りてないんだよ
普通レベルのプログラマなら317で、ああ、そういう事か、で終わるし
その後、これをどう評価するか(=PDFが糞か、unicodeが糞か)で揉めるならまだしも、
お前は何故そういう動作になるのか未だに理解出来てない
そんなお前が書いたプログラムなんて、何であれ、動くはずもなし

しかしマジで無限ループ状態だから、もう止めようぜ
今のお前が理解するのは無理だよ
404: 08/04(月)22:38 ID:B+SwrOCa(5/5) AAS
>>403
文盲って言われても 317 は俺が言ってる通りの意味で、お前の解釈が間違ってるんだが?
405: 08/04(月)23:12 ID:n6MSUZI0(1) AAS
で、いつ検索プログラム書いてくれるの?
406
(1): 08/05(火)17:39 ID:vuU/s1Wj(1/3) AAS
>>401
え? 例えば箇条書きの部分 (Tom Dick Harry)の先頭は
● (<-文字化けするかな? U+25CF)で検索もコピペもできますが?
PDFの中を見てみました?
407
(1): 08/05(火)17:45 ID:ucdc3IWT(1) AAS
>>406
全部でいくつあるか数えたか?
その他の/ActualText箇所が対応してない
408
(1): 08/05(火)18:40 ID:vuU/s1Wj(2/3) AAS
>>407
"T"の所? アクセシビリティをオンにしたらそこを"T"と読むので
これで機能している
多分/Spanとの組み合わせにする必要があるんじゃ?
409: 08/05(火)18:52 ID:vuU/s1Wj(3/3) AAS
ところで、この手のPDFって/Encodingが/Identity-Hじゃないですか
もしかして/UniJIS-UTF16-Hとかなら元のコードが反映されるんじゃね? と思って
試してみたが... 駄目ですなーなるほどー
中間コンパイル的な感じでグリフの世界に行っちゃってる感じ?
410: 08/05(火)19:10 ID:tWkqXVBi(1) AAS
>>408
Thisで検索もコピペも機能してない
411: 08/07(木)22:53 ID:lZ/0qeLw(1/3) AAS
というわけで、今のところActualTextが唯一の方法なのかな
本来は構造化とかタグ付け目的なのかもしれんけど、それでグリフとコードポイントの
対応もローカルにカスタマイズできるというか
412: 08/07(木)23:01 ID:lZ/0qeLw(2/3) AAS
現状、それを生成できるPDFライブラリとそれを検索できるPDFビューアが限られるけど

ま、コピペするならPDFで出力する前の元の文書からどうぞ、って感じかね
そもそも元の文書の持つ論理構造はPDFにした時点で文書のレンダリング表現(って
言うのかな)に変換されるわけで、何かしら情報が変化しても不思議ではない、
というのが個人的感想ですが
もちろんこうしてアドビさんは頑張っている一方、それを理解していない人々も多々...
1-
あと 58 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ

ぬこの手 ぬこTOP 0.011s