2015年6月14日

EMFに振り回されている.基本的に破線が消えるのはPDFium由来のようで,fx_win32_gdipext.cppの886行目から897行目にある分岐にひっかかっているようだ.ただ,ここをコメントアウトしたら,消えはしないもののなんだかずれてしまい,結局よくわからない.この分岐の理由もわからないので,ここはそのままに.しかも破線のみの問題でもない気がするしなぁ.この辺はもっと追ってみないとわからない.いずれにせよ,座標が大きすぎることが原因で,基本的にはpdfiumdrawの内部の論理座標とデバイス座標の変換の部分由来.変換値を小さくすれば改善されるケースがある.

太さが変わってしまう方は同じくfx_win32_gdipext.cppの730行目の分岐.

もう一つ,こんなソースで作ったファイル.

%#!pdflatex
\documentclass{article}
\mag=10000
\usepackage{tikz}
\pagestyle{empty}
\begin{document}
\begin{tikzpicture}\draw(0,0)--(1,0);\end{tikzpicture}
\begin{tikzpicture}[dashed]\draw(1,0)--(2,0);\end{tikzpicture}
\end{document}

実線は比較のため.pdfiumdrawに書けたら破線の形状がPDFで観ているものと違う.もはや論理座標とデバイス座標の比率関係ない.pdfiumdraw --jpg --use-gdiすると内部ではPDFiumがビットマップへのデバイスコンテキストに書き込んでくれるんだけど,これだと形状が変わらないので,「Metafileへの書き込みのみ」で現れるようだ.うーん.

EMF Explorerとかいうのがあったので,生成されたものの中身をみてみるか.

0 件のコメント:

コメントを投稿

コメントの追加にはサードパーティーCookieの許可が必要です