「 inkscape 」一覧

inkscapeの半透明オブジェクト問題の検証

inkscapeで作られたデータは、SVG形式のままでは問題が発生する率が非常に高いため、基本的にPDF経由でIllustratorに読み込みます。この際に、半透明化の機能を使ったオブジェクトが消えてしまう場合があります。

まずはこの問題に対する有志による検証です。他にも発生しやすい問題がまとめられているので、inkscapeで折り図を描く(かつ投稿などをする)のであれば必読です。

https://sites.google.com/site/origamidiagramsstudygroup/guideline/inkscape

inkscapeでは、オブジェクトを半透明にする方法として、RGBA(赤緑青+透明度)のAの値を変更する方法と、不透明度の項目の値を変更する方法があります。このうち、不透明度を使った半透明オブジェクトがPDF読み込みの際に非表示の状態になってしまいます。ちなみにRGBAの方法であれば問題がなさそうですので、もし必要であればこちらを使うべきでしょう。

読み込んだデータを詳しく見てみると、不透明度を使ったオブジェクトは、色のついたオブジェクトに半透明のマスクをかけたような状態になっているようです。このマスク処理が読み込みの際に正確に反映されず、非表示もしくは完全に透明なマスクとして処理されているというのが原因だと考えられます。対してRGBAの方法を使ったデータの場合、オブジェクト自体に半透明の設定がされている状態になります。データの構造がシンプルな分、問題も発生しにくいのでしょう。

RGBA(アルファチャンネル)を使った半透明データをAIで読み込んだ場合の不透明度の状況。

ちなみに、強引な対処方法としては、正確に読み込めないオブジェクトを含むPDFを一旦別のアプリケーション(MacOS標準のプレビュー等)で開き保存し直すと、PDF自体が別エンジンで書き直されるのか読み込み可能な状態になります。ただしデータの構造等はひどい状態になり編集等に大きな支障が出る、また他の問題が発生している可能性もあるので、あくまで最後の手段とすべきでしょう。

そしてここからが新情報。今回の検証のため最新バージョンのinkscape(MacOS版1.2.1)で確認してみたところ、書き出したPDFが不透明度・RGBA共に半透明を維持した状態で読み込めることが分かりました。

PDFの情報を見比べてみると、書き出しに使われているcairoライブラリのバージョンが上がっていました。また、読み込んだデータを見てみると、オブジェクト+半透明マスクという構造自体は変わらないものの、この二つを含むグループに対して不透明度の設定がされていました。恐らく書き出されたPDFデータの構造などが改善されて、読み込みの精度が上がっているようです。

最新版inkscapeで書き出した不透明度を使ったデータをAIで読み込んだ場合。クリッピングで階層が増えていて、グループに対して透明度の設定がされている。

ということで雑にまとめると、

  • inkscapeのバージョンによって発生する問題は変わる。基本的に改善されているのでなるべく最新版を使うとよい。
  • 改善はされたものの、グループ状態の変化等で半透明化が解除されてしまう可能性もあるので、引き続きRGBA側の機能を使う方を奨励。

となります。

最後になりますが大前提として。異なるソフトウェア間でのデータの完全な再現は非常に難しく、発生した問題を発見し一つずつ検証・解決する必要があります。たとえ同じソフトウェアでも、バージョンやWin-Mac間の差でレイアウト等が再現されない場合もあります。精度の高いデータの変換・読み込みには、データを用意する側とそれを読み込む側の、双方の理解と準備・対策が必要になるのです。


折り図tips:前面・背面にペースト

折り図を描く時の、紙や折り筋の重なりの調整方法には、「前面/背面にペースト」を使うと便利です。

選択されたオブジェクトのすぐ上、もしくは下にペーストする機能です。用紙面のすぐ上に折り筋を追加したい場合や、中割り折り等の場合に特定の隙間にオブジェクトを追加したい場合に使えます。それ以外にも修正や重なりの調整など、さまざまな場面で活用できる機能です。使おう。

重なりの順番を一つずつ入れ替えてもいいのですが、図が複雑になると非常に手間がかかります。また、グループ内への追加の場合には、更に手間がかかる場合もあります。状況に応じて使い分けるとよいでしょう。

FreeHandでは編集メニューのスペシャル項目(特殊なコピペ機能)内にあります。ショートカットを割り当てておくと使いやすいでしょう。私の場合はcmd+sft+Fとcmd+sft+Bを設定しています。(画像は割り当て済み)。

 

AIは編集メニューに項目があります。ショートカットはcmd+Fとcmd+Bです。

Inkscapeには、もしかして機能自体無いかも。ほとんど使っていないので詳しくは分からないけれど、使えないと大変そう。需要の高そうな機能なので、アドオンとかあるのかな?


ドローソフトのグループ階層について

折り図tips:作業中のグループ化 https://www.folders.jp/uc/2018/431/で少し触れたグループ化階層の上限の件、せっかくなので確認してみた。

まずはIllustrator CS5、29回目でエラーメッセージが表示された。ということで、28回。

なお、どうもエラーメッセージを見る限り、回数だけでの制限ではないらしい。グループに長い名前をつけたりすると、条件が変わるのかもしれません(未検証)。

FreeHand MXは20回。さすがに古いソフトという事もありAIより少ない。

inkscapeは、もしかしたら制限が無いかもしれない。とりあえず50回までは確認した。svgファイルの<g>タグの階層が酷い事になるけれど、プログラム上での扱いは問題ないのかもしれません。

ちなみに私はこれまで折り図を描いていて、グループの階層の限界で困った事ありません。図ごとにグループ階層を増やすとかしない限り、現実的にはほぼ問題にはならないように思います。