◤概要

EPS形式の画像と
W3C(World Wide Web Consortium)に
よって標準化された
SVG(Scalable
Vector Graphics)形式の画像とを表示・プリント・コピーするアプリケーションです。
wwwブラウザのプラグインではありません。
画像の中の左上の回転移動を与えるデバイスの
画像(SVGを表示できるブラウザ上でクリックして
下さい)もSVGファイルからの画像です。
事務帳票のファイル形式としてSVGをお考えの方も多いようです。
サンプルを掲載しました。
SVGのレンダリングにはWebKitを利用しています。
◤プログラムの仕様
- macOS 12.4~
- 日本語,Englishの2か国語対応。
- Xcode 14で開発したObjective-Cのプログラムです。
◤Webサイト
- SVG(Scalable Vector
Graphics)1.0
- SVG(Scalable Vector
Graphics)1.1
- SVG(Scalable Vector
Graphics)1.2
- Mac OS X 10.5システムでSVGに関するUTIが定義されていることを発見しました。[pub.svg-image][public.image]["svg ","svgz", .svg, .svgz, image/svg+xml][Scalable Vector graphics]です。
◤機能
- EPS及びSVG形式の画像ファイルビューアー。Adobe Illustrator AI形式の一部も開けます。
- サイズが大きいEPS,SVG画像から画質を劣化させることなくその一部分のコピー・プリントが可能になります。
- 「プリント」「コピー」時の処理速度は遅いですが,用途によっては大変便利になります。
- ツールバーにある「プリント」「コピー」「書き出し」が,一部分のコピー・プリント・書き出しをします。
- クリッピング領域が設定されていないときは,スクロールビューが表示している範囲内のみをプリント・コピー・書き出しします。
- メインメニューの「プリント」「コピー」「書き出し」コマンドの場合は,SVG画像の全体領域からのプリント・コピー・書き出しになります。
- SVG形式をペーストできるアプリケーションは現在のところ皆無ですので,EPSとPDF形式のデータもペーストボードに転送します。
- フィルターサービス機能を利用するアプリケーションを使用して,SVGファイルのファイルアイコンをドラッグしたり,ファイルを開けばSVG画像をEPSまたはPDF画像として表示することができるのはMac OS X 10.4.xまでです。
- フィルターサービス機能を利用するアプリケーションとしてはEasyDrawなどがあります。
◤バージョン履歴
- 12.4: インストールされていないプリンタ機種でページ設定がされていたとき、ページ設定をするとクラッシュするバグを修正した。
- 11.0: macOS(Monterey)に対応。SVGの描画エンジンをWebViewからWKWebViewへ変更した。細部の改良。
- 10.15.1: macOS 11.0(Big Sur)に対応。細部の改良。
- 10.15: macOS 11.0(Big Sur)に対応。バグフィックス。
- 10.13.1: ページ設定オプションの改良。
- 10.13: ダークモードに対応しました。
- 10.12: Touch Barに対応しました。
- 10.11: El Capitanに対応しました。
- 10.10: Yosemiteに対応しました。
- 10.8.1: Mavericksに対応しました。
- 10.6.6: パフォーマンスと安定性の向上。
- 10.6.5: SVGZに対応した。SVGZへ書き出すには、セーブパネルでファイル名の拡張子をsvgzとします。
- 10.6.4: 拡大・縮小機能を追加しました。
- 10.6.3: SVGのプレビュー画像にWebKitを利用するようにしました。
- 10.6.2: WebKitを利用するために、ソースを全面的に書き換えました。
- 10.6: Snow Leopardに対応した。
- 2.2: LLVM GCC 4.2を使ってコンパイルした。Quick Look プラグインの改良をした。
- 2.1: AI形式の一部にも対応した。Quick Look プラグインの公開をした。
- 2.0: SVGにおいて、OS10.5の仕様変更に対応した。
- 1.9: 細部の改良をした。
- 1.8: ツールバーメニューを使用した。
- 1.7.4: svg廻りの細部を修正した。
- 1.7.1: バグフィックス。
- 1.7: svgのcolor-profileに対応した。
- 1.6: svgのデフォルト・カラースペースをW3Cの仕様どおりのsRGBにした。
- 1.5: svgの";"が入った文字列を正しく表示できないバグを修正した。
- 1.4: svg廻りの細部を修正した
- 1.3: svgのフォント指定の互換性を向上した。
- 1.2: svgの2次曲線・楕円を正しい曲線に修正した。
- 1.1: svgzファイルに対応した。SVG廻りのバグ修正をした。
- 1.0: SVG廻りのソースコードを全面的に改訂しました。NSXMLNodeを利用し再帰的に処理しています。これでNSScannerの悪夢から解放されました。
- 0.6: SVG廻りの修正をした。
- 0.5: png,jpgへの書き出しを追加しSVG廻りの修正をした。
- 0.4: SVGの仕様の解釈間違いを修正した。SVGの<text>廻りをNSAttributedStringの仕様変更に併せて大幅に変更した。
- 0.3: SVGの仕様の解釈間違いを修正した。
- 0.2: バグフィックス。
- 0.1: 名称をScrollSVGからScrollEPSへ変更した。EPSに対応した。ウインドウを一つ追加してプレビュー画
像などを見れるようにした。
- 1.9.5: OS10.3の仕様変更に対応した。10.3以前の仕様には不対応とした。
- 1.9.4: 1922個以上の<text>エレメントがあると,crushする現象を回避した。crushの原因は
NSMutableDictionaryクラスのバグと思われる。<text>エレメント処理の大幅な改善をした。EPS形式への書き出しを
サポートした。
- 1.9.3: transform="scale(1.0,-1.0)"のとき,textを倒立させるようにした。style=
"kerning:<float>"をサポートした。<svg x="<float>"
y="<float">が指定されたとき,無視するように変更した。
◤使用上の注意
- サポートしていないタグやスクリプトを含むSVGファイルを読ませるとクラッシュすることがあります。
- プレビュー付きのEPSファイルへ書き出すと,TIFF形式のプレビュー画像データがファイルの先頭に付加されますが,Microsoft
Wordが読み込めるプレビュー用のTIFF形式のデータと互換性がありません。文字化けならぬ画像化けをするときがあります。
- EPS互換の古いAI形式と「PDF互換ファイル」が作成されたAIならば大概、開けます。開けない物を「開く」とクラッシュしたり、何も見えない画像になります。
◤自作ライブラリの紹介
- ASWebView, ASPageLayoutAccessory を使用しています。
- その他にも自作ライブラリがいくつかあります。
◤ダウンロード
- macOS 12.4以降用実行ファイル
- zip形式でアーカイブと圧縮をしています。
- .app形式の実行ファイル(実際にはフォルダになっています)ができます。
- /usr/lib/libz.dylibと/usr/lib/libcrypto.dylibとが必要になりますが、Mac OS X には標準装備のはずです。
- アーキテクチュアはApple Silicon, Intelです。
- Xcode 14用ソースファイル
ご意見・感想はsato-akira@hi-ho.ne.jpへお願いします。お待ちしております。