技術メモ/
InkscapeでPDFを開こうとするとクラッシュするとき
InkscapeでPDFファイルを開こうとするとクラッシュログを吐いてInkscapeが落ちてしまいました(Inkscape 1.4.2, macOS (Apple Silicon))。
以下はスタックトレースの一部。
0# Inkscape::Application::crash_handler(int) in /Applications/Inkscape.app/Contents/Resources/lib/inkscape/libinkscape_base.1.4.2.0.dylib
1# _sigtramp in /usr/lib/system/libsystem_platform.dylib
2# _getFontsRecursive(std::__1::shared_ptr<PDFDoc>, Dict*, std::__1::shared_ptr<std::__1::map<std::__1::shared_ptr<GfxFont>, FontData, std::__1::less<std::__1::shared_ptr<GfxFont>>, std::__1::allocator<std::__1::pair<std::__1::shared_ptr<GfxFont> const, FontData>>>> const&, std::__1::set<int, std::__1::less<int>, std::__1::allocator<int>>&, int) in /Applications/Inkscape.app/Contents/Resources/lib/inkscape/libinkscape_base.1.4.2.0.dylib
フォント情報の解析部分 (_getFontsRecursive) で落ちているらしいのですが、PDFを再作成してもらうことはできないので、いろいろ試した結果、Ghostscriptでフォント情報を除去することで、Inkscapeで開くことができるようになったのでやり方を残しておきます。
Ghostscriptのインストール
brew install ghostscript
Ghostscriptでフォントをラスタライズ
gs -o rasterized.pdf -sDEVICE=pdfwrite \
-dCompatibilityLevel=1.4 \
-dPDFSETTINGS=/prepress \
-dNOPLATFONTS \
-dNoOutputFonts \
-dColorConversionStrategy=/sRGB -dProcessColorModel=/DeviceRGB \
input.pdf
これで開けるようになりました。フォントはラスタライズされてしまうので、テキストの編集などはできないので注意してください。
最終更新: