Adobe Readerで透明度がサブピクセルレンダリングを無効にする理由


9

他の人が最近追いついてきたにもかかわらず、私は通常、他のすべてのPDFビューアよりもAdobe Reader(まだLinuxではv9)を好みます。このレンダリング品質の大部分は、Adobeのサブピクセルレンダリングの実装であるCoolTypeによるものです。残念ながら、ページに透明な要素が含まれるとすぐに、Adobe Readerは一貫して(ページごとに)サブピクセルレンダリングをオフに切り替えます。例:

青色の形状は不透明で、テキストはサブピクセルを使用してレンダリングされます。

不透明な

青い図形は50%透明で、テキストは標準のアンチエイリアスでレンダリングされます。

トランスペアレント

2番目のケースで透明度を指定することを除いて、2つの対応するpdfファイルは(pdflatexでTikZ / PGFを使用して)まったく同じ方法で生成されています。私はこれらのPDFを自分で作成しましたが、まったく異なるソースからのPDFでも同じ効果を頻繁に観察しました。奇妙なことに、Foxit ReaderとOkularは、同じ2つのPDFをまったく同じ方法でレンダリングします(もちろん、透明部分自体は除きます)。

私の質問:誰かがこれがなぜ起こるか、そしてそれを回避できるかどうか/どのように回避できるか知っていますか?


これはアドビのバグである可能性があり、フォーラムでよりよく発生します。Infinalityを使用して、Linux(どのバージョンですか?)でフォント表示を改善してみてください。archlinux Font Configuration-Infinalityも参照してください。
harrymc 2013

@harrymcこれがAdobe Readerフォントのレンダリングに影響するのではないかと思いますが、それ以外の点では興味深いヒントです。たぶんOkularはこの方法で良くなります。ありがとう!
A. Donda

@slhck、私はこれに賞金をかけたと思いましたか?どういうわけかこれを引き継いだのですか、それとも混乱していますか?とにかくありがとうございました!
A. Donda

回答:


1

サブピクセルレンダリングは、ピクセルの個々の色を使用して行われます。画面上のすべてのピクセルは、赤、緑、青の色のさらに小さなピクセルで構成されています。

幅10.3ピクセルのオブジェクトをレンダリングする場合は、11番目のピクセルの赤色のみを使用します。次に、画面は31個のサブピクセル、つまり10個のフルピクセルと3分の1ピクセルから光を放射します。

この効果を自分でシミュレーションしようとすると、幅が10の白いピクセルを描画し、右側の黒い背景に赤いピクセルを描画するだけで、効果を自分で確認できます。

問題は、単純にそのようにすると、右端が赤になることに気付くということです。アドビは、おそらく10番目のピクセルの赤と緑の値を増幅することによって、その効果をキャンセルするために高度なアルゴリズムを使用する必要があります。

すでにかなり進んだアルゴリズムに透明度を追加することは、おそらくまだ解決されていないため、サブピクセルレンダリングを無効にするだけです。

私はこの素朴な方法で自分でサブピクセルレンダリングを実装しようとしましたが、「色の付いた側面」が自分自身に影響するのを見たので、これが事実であると私は信じています。


はい、色付きのエッジ効果は確かにあります。上の拡大スクリーンショットでも確認できますが、どうすれば回避できるかはわかりません。サブピクセルレンダリングは、ピクセル全体が既に小さい場合にのみ意味があると思います。多分あなたは正しい、それはあまりにも複雑すぎる。
A.ドンダ2014年

複雑すぎると思います。そうでなければ、テクノロジーはそのようなクールな名前にふさわしくありません:)
frodeborli '09年

注:サブピクセルの順序は必ずしもRGBであるとは限りません。OPが提供するスクリーンショットを見ると、BGRで並べられているように見えます。左端のサブピクセルは赤で、右端のサブピクセルは青です。
JohanBoulé17年

0

これはアドビのバグである可能性があり、フォーラムでよりよく発生します。

Linuxでのフォント表示を改善するには、Infinalityを使用してみてください。

Infinalityは、Linuxの改善されたフォントレンダリングを提供し、ユーザーが好みに合わせて設定を調整できるように簡単にカスタマイズできるようにするFreetypeパッチのセットです。これを使用すると、フォントスタイルを簡単に設定してOSX、OSX2、Windows 98、Windows XPまたはWindows 7をエミュレートしたり、「Linux」または「Infinality」(デフォルト)スタイルを使用したりできます。

見る :

Infinalityを
使用したLinuxでのフォントレンダリングの向上archlinux Font Configuration-Infinality


ヒントに感謝します。Adobeフォーラムに行って質問します。しかし、これが答えになるとは思いません。
A. Donda

問題ない。これを削除しますか?
harrymc 2013

いいえ、なぜ賛成しないのかを説明したかっただけです。
A.

残念ながら、これはあなたが得る唯一の答えのようです。
harrymc 2013
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.