第11章 データー変換

目次

11.1. テキストデーター変換ツール
11.1.1. テキストファイルを iconv を使って変換
11.1.2. ファイルが UTF-8 であると iconv を使い確認
11.1.3. iconv を使ってファイル名変換
11.1.4. 行末変換
11.1.5. タブ変換
11.1.6. 自動変換付きエディター
11.1.7. プレーンテキスト抽出
11.1.8. プレーンテキストデーターをハイライトとフォーマット
11.2. XML データー
11.2.1. XML に関する基本ヒント
11.2.2. XML 処理
11.2.3. XML データー抽出
11.2.4. XML データーの静的解析
11.3. タイプセッティング
11.3.1. roff タイプセッティング
11.3.2. TeX/LaTeX
11.3.3. マニュアルページを綺麗に印刷
11.3.4. マニュアルページの作成
11.4. 印刷可能データー
11.4.1. Ghostscript
11.4.2. 2つの PS や PDF ファイルをマージ
11.4.3. 印刷可能データーユーティリティー
11.4.4. CUPS を使って印刷
11.5. メールデーター変換
11.5.1. メールデーターの基本
11.6. 画像データーツール
11.6.1. 画像データーツール (メタパッケージ)
11.6.2. 画像データーツール (GUI)
11.6.3. 画像データーツール (CLI)
11.7. その他のデーター変換

Debian システム上のデーターフォーマット変換のツールとティップを記します。

標準に準拠したツールは非常に良い状態ですが、プロプライエタリデーターフォーマットのサポートは限定的です。

テキストデーター変換のための以下のパッケージが著者の目に止まりました。


[ヒント] ヒント

iconv(1) はlibc6 パッケージの一部として提供されていて、文字の符号化方式変換のために実質的に全てのUnix的システムで常に利用可能です。

以下のようにするとテキストファイルを iconv(1) を使って変換できます。

$ iconv -f encoding1 -t encoding2 input.txt >output.txt

符号化方式 (エンコーディング) 値をマッチングする際には、大文字小文字の区別は無く、"-" や "_" を無視します。"iconv -l" コマンドにより、サポートされている符号化方法が確認できます。

表11.2 符号化方式値とその使い方リスト

符号化方式値 使い方
ASCII 情報交換用米国標準コード (ASCII); アクセント文字無しの7ビットコード
UTF-8 全現代的 OS のための現行多言語標準
ISO-8859-1 西欧州言語用の旧標準、ASCII + アクセント文字
ISO-8859-2 東欧州言語用の旧標準、ASCII + アクセント文字
ISO-8859-15 西欧州言語用の旧標準、ユーロ文字付き ISO-8859-1
CP850 コードページ 850、西欧州言語用グラフィック文字付き Microsoft DOS 文字、ISO-8859-1 の変種
CP932 コードページ 932、日本語用 Microsoft Windows スタイル Shift-JIS の変種
CP936 コードページ 936、簡体中国語用 Microsoft Windows スタイル GB2312GBKGB18030 の変種
CP949 コードページ 949、韓国語用 Microsoft Windows スタイル EUC-KR か統一ハングルコードの変種
CP950 コードページ 950、繁体中国語用 Microsoft Windows スタイル Big5 の変種
CP1251 コードページ 1251、キリル文字用 Microsoft Windows スタイル符号化方式
CP1252 コードページ 1252、西欧州言語用 Microsoft Windows スタイル ISO-8859-15 の変種
KOI8-R キリル文字用の旧ロシアの UNIX 標準
ISO-2022-JP 7ビットコードのみを用いる日本語 email の標準符号化方式
eucJP Shift-JIS とはまったく違う、旧日本の UNIX 標準8ビットコード
Shift-JIS 日本語のための JIS X 0208 Appendix 1 標準 (CP932 を参照下さい)

[注記] 注記

一部の符号化方式 (エンコーディング) はデーター変換のみサポートされており、ロケール値としては使われません (「ロケール」を参照下さい)。

ASCIIISO-8859 文字セットのような1バイトに収まる文字セットに付いては、文字の符号化方式 (エンコーディング) とは文字セットとほとんど同じ事を意味します。

日本語のための JIS X 0213 や実質的に全ての言語のためのユニコード文字セット (UCS, Unicode, ISO-10646-1) のような多くの文字を含む文字セットの場合には、バイトデーター列に落とし込む多くの符号化手法があります。

これらに関しては、文字セットと文字符号化方式の間にはっきりとした区別があります。

コードページは、一部のベンダー固有のコードページで文字符号化テーブルと同義語として使用されています。

[注記] 注記

ほとんどの符号化システムが7ビット文字に関して ASCII と同じコードを共有している事を承知下さい。もちろん例外はありますが。もし古い日本語の C プログラムや URL のデーターをカジュアルにシフト JIS と呼ばれている符号化フォーマットから UTF-8 フォーマットに変換する際には、期待される結果を得るために "shift-JIS" ではなく "CP932" を使います: 0x5C → "\" と 0x7E → "~"。こうしないと、これらが間違った文字に変換されます。

[ヒント] ヒント

recode(1) は、十分使えますし、iconv(1) と fromdos(1) と todos(1) と frommac(1) と tomac(1) を組み合わせ以上の機能を提供します。詳しくは "info recode" を参照下さい。

次に、単一ディレクトリー中の旧 OS 下で作成されたファイル名から現代的な UTF-8 のファイル名に符号化方式を変換するスクリプト例を示します。

#!/bin/sh
ENCDN=iso-8859-1
for x in *;
 do
 mv "$x" "$(echo "$x" | iconv -f $ENCDN -t utf-8)"
done

"$ENCDN" 変数値には、旧OS下で用いられたファイル名に用いられた元となる表11.2「符号化方式値とその使い方リスト」中にあるエンコーディングを指定します。

もっと複雑な場合にはそのようなファイル名を含有するファイルシステム (ディスクドライブ上のパーティション等) を mount(8) オプションに適正な符号化方式 (エンコーディング) (「ファイル名の符号化方式」を参照下さい) を指定してマウントし、その全内容を他の UTF-8 でマウントされたファイルシステムに "cp -a" コマンドを使ってコピーします。

vim プログラムなどのインテリジェントな現代的なエディターは大変良く出来ていていかなる符号化方式やいかなるファイルフォーマットでも機能します。これらのエディターを UTF-8 ロケール下で UTF-8 を扱えるコンソール中で使用することで最良の互換性が得られます。

latin1 (iso-8859-1) 符号化方式で保存された古い西欧州の Unix テキストファイル "u-file.txt" は、単純に vim を使って以下のようにして編集出来ます。

$ vim u-file.txt

vim 中の符号化方式自動判定機構が、最初は UTF-8 符号化方式を仮定し、それが上手く行かなかった際に latin1 を仮定するから可能です。

latin2 (iso-8859-2) 符号化方式で保存された古いポーランドの Unix テキストファイル "pu-file.txt" は、vim を使って以下のようにして編集出来ます。

$ vim '+e ++enc=latin2 pu-file.txt'

eucJP 符号化方式で保存された古い日本の Unix テキストファイル "ju-file.txt" は、vim を使って以下のようにして編集出来ます。

$ vim '+e ++enc=eucJP ju-file.txt'

shift-JIS 符号化方式 (より正確には: CP932) で保存された古い日本の MS-Windows テキストファイル "jw-file.txt" は、vim を使って以下のようにして編集出来ます。

$ vim '+e ++enc=CP932 ++ff=dos jw-file.txt'

"++enc" や "++ff" オプションを使ってファイルが開かれた時は、Vim コマンドライン中の ":w" がオリジナルのファイルフォーマットでオリジナルのファイルを上書きします。例えば ":w ++enc=utf8 new.txt" 等と Vim コマンドライン中で保存フォーマットや保存ファイル名を指定することも出来ます。

vim オンラインヘルプ中の mbyte.txt "multi-byte text support" と、"++enc" に使われるロケール値に関する表11.2「符号化方式値とその使い方リスト」を参照下さい。

emacs ファミリーのプログラムもまた同様の機能の実行ができます。

以下はウェッブページを読みテキストファイルに落とします。ウェッブから設定を取ってくる時や grep(1) 等の基本的な Unix テキストツールをウェッブページに適用するときに非常に有用です。

$ w3m -dump https://www.remote-site.com/help-info.html >textfile

同様に、次を用いることで他のフォーマットからプレーンテキストデーターを抽出出来ます。


以下のようにしてプレーンテキストデーターをハイライトとフォーマット出来ます。

表11.6 プレーンテキストデーターをハイライトするツールのリスト

パッケージ ポプコン サイズ キーワード 説明
vim-runtime V:18, I:395 36525 ハイライト ":source $VIMRUNTIME/syntax/html.vim" を使ってソースコードを HTML に変換するための Vim MACRO
cxref V:0, I:0 1190 c→html C プログラムから latex か HTML への変換ソフト (C 言語)
src2tex V:0, I:0 622 ハイライト 多くのソースコードの TeX への変換ソフト (C 言語)
source-highlight V:0, I:5 2114 ハイライト 多くのソースコードを HTML と XHTML と LaTeX と Texinfo と ANSI カラーエスケープシーケンスと DocBook にハイライト付きで変換 (C++)
highlight V:0, I:5 1371 ハイライト 多くのソースコードを HTML と XHTML と LaTeX と Tex と AXSL-FO にハイライト付きで変換 (C++)
grc V:0, I:5 208 text→color 汎用着色化ソフト (Python)
pandoc V:9, I:45 194495 text→any 汎用マークアップコンバーター (Haskel)
python3-docutils V:14, I:51 1804 text→any ReStructured テキスト文書の XML へのフォーマット化ソフト (Python)
markdown V:0, I:9 58 text→html Markdown テキスト文書の (X)HTML へのフォーマット化ソフト (Perl)
asciidoctor V:0, I:7 98 text→any AsciiDoc テキスト文書の XML/HTML へのフォーマット化ソフト (Ruby)
python3-sphinx V:6, I:24 2756 text→any ReStructured テキストを使う文書出版システム (Python)
hugo V:0, I:5 78678 text→html Markdown テキストを使うサイト出版システム (Go)

Extensible Markup Language (XML) は構造化情報を含む文書のためのマークアップ言語です。

XML.COM にある入門情報を参照下さい。

XML テキストはちょっと HTML のようにも見えます。これを使うと一つの文書から複数のフォーマットのアウトプット管理できるようになります。簡単な XML システムの一つはここで使っている docbook-xsl パッケージです。

各 XML ファイルは以下のような標準的な XML 宣言でスタートします。

<?xml version="1.0" encoding="UTF-8"?>

XML 要素の基本的シンタックスは以下のようにマークアップされます。

<name attribute="value">content</name>

空の XML 要素は以下の短縮形を使ってマークアップされます。

<name attribute="value" />

上記例中の "attribute="value"" はオプションです。

XML 中のコメントセクションは以下のようにマークアップされます。

<!-- comment -->

マークアップを追加する以外に、XML は以下の文字に関して事前定義されたエンティティを使い内容を少し改変する必要があります。


[注意] 注意

"<" と "&" はアトリビュートやエレメントには使えません。

[注記] 注記

例えば "&some-tag;" 等の SGML スタイルのユーザー定義エンティティが使われた場合、他の定義は無効で最初の定義が有効です。エンティティ定義は "<!ENTITY some-tag "entity value">" と表現されます。

[注記] 注記

XML のマークアップがタグ名の何らかの組み合わせで (あるデーターを内容としてであれアトリビュート値としてであれ) 整合性を持ってされている限り、他の XML の変換は拡張可能スタイルシート言語変換 (XSLT) を使うととっても簡単な作業です。

拡張可能スタイルシート言語 (XSL) のような XML ファイルを処理に利用可能なツールは沢山あります。

基本的に、良くできた XML ファイルを一度作ると、いかなるフォーマットへも拡張可能なスタイルシート言語変換 (XSLT) を使って変換できます。

フォーマットオブジェクト用拡張可能スタイルシート言語 (XSL-FO) がフォーマットのための答えとなるはずです。fop パッケージは Java プログラム言語 に依存するため Debian の main アーカイブでは新規です。このため、 LaTeX コードが XML から XSLT を使って通常作成され、DVI や PostScript や PDF 等のプリンタブルなファイルが LaTeX システムを使って作成されます。


XML は標準一般化マークアップ言語 (SGML) のサブセットなので、ドキュメントスタイル構文規程言語 (DSSSL) 等の SGML 用として利用可能な広範なツールで処理できます。


[ヒント] ヒント

GNOMEyelpDocBook XML ファイルを X 上に体裁良く表示するので時々便利です。

Unix のtroff プログラムは最初 AT&T で開発されました。それはマンページを作成するのに通常使われます。

Donald Knuth 氏によって作成された TeX は非常に強力な組版ツールでデファクト標準です。最初 Leslie Lamport 氏によって書かれた LaTeX は TeX の力への高レベルアクセスを可能にします。


伝統的には、roff が主な Unix テキスト処理システムです。roff(7) と groff(7) と groff(1) と grotty(1) と troff(1) と groff_mdoc(7) と groff_man(7) と groff_ms(7) と groff_me(7) と groff_mm(7) と "info groff" を参照下さい。

groff パッケージをインストールすると "/usr/share/doc/groff/" 中に "-me"マクロに関する良い入門書や参考書が読めます。

[ヒント] ヒント

"groff -Tascii -me -" はANSI エスケープコードを含むプレーンテキストを生成します。もしマンページのような多くの "^H" や "_" を含む出力が欲しい場合には、この代わりに "GROFF_NO_SGR=1 groff -Tascii -me -" を使います。

[ヒント] ヒント

groff が生成した "^H" や "_" をテキストから削除するには、それを "col -b -x" でフィルターします。

TeX Live ソフトウェアーディストリビューションは完全な TeX システムを提供します。texlive メタパッケージは、ほとんどの一般的タスクに十分な TeX Live パッケージのまともな選択を提供します。

TeXLaTeX に関する多くの参考書が利用可能です。

  • The teTeX HOWTO: The Linux-teTeX Local Guide

  • tex(1)

  • latex(1)

  • texdoc(1)

  • texdoctk(1)

  • "The TeXbook"、Donald E. Knuth 著 (Addison-Wesley)

  • "LaTeX - A Document Preparation System"、Leslie Lamport 著 (Addison-Wesley)

  • "The LaTeX Companion"、Goossens と Mittelbach と Samarin 著 (Addison-Wesley)

これはもっとも強力な組版環境です。多くの SGML 処理ソフトはこれをバックエンドのテキスト処理ソフトとしています。多くの人が EmacsVim をソースのエディターとして使う一方、lyx パッケージが提供する Lyxtexmacs パッケージが提供する GNU TeXmacs は洒落た LaTeXWYSIWYG 編集環境を提供します。

多くのオンラインリソースが利用可能です。

文書が大きくなると、TeX はエラーを発生する事があります。この問題の解決には (正しくは "/etc/texmf/texmf.d/95NonPath" を編集し update-texmf(8) を実行することで) "/etc/texmf/texmf.cnf" 中のプールの数を増やし修正しなければいけません。

[注記] 注記

"The TeXbook" の TeX ソースは www.ctan.org tex-archive site for texbook.tex にあります。このファイルには必要なマクロのほとんど全てが含まれます。この文書は7から10行をコメントして "\input manmac \proofmodefalse" を追加すると tex(1) で処理できると聞いた事があります。オンラインバージョンを使うのではなくこの本 (さらに Donald E. Knuth 氏による全ての本) を購入される事を強く勧めます。しかし、そのソースは TeX の入力の非常に良い例です!

Debian システム上では印刷可能なデーターは PostScript フォーマットで表現されます。共通 Unix 印刷システム (CUPS) は非 PostScript プリンタ用のラスタ化のバックエンドプログラムとして Ghostscript を使用します。

最近のDebian システム上では印刷可能なデータは PDF フォーマットででも表現されます。

EvinceOkular (「GUI アプリケーション」参照)のような GUI ビューワーツールや; Chromium のような現代的なブラウザーを使うと、PDF ファイルの内容表示をしたりその入力欄を埋めたりできます。

LibreOfficeScribusInkscape (「画像データーツール」参照)のようなグラフィックツールを使うと、PDF ファイルの内容を編集できます。

[ヒント] ヒント

PDF ファイルは、GIMP を用いると、解像度 300 dpi 以上を使い PNG フォーマットに変換し読み込めます。これを、LibreOffice のバックグラウンド画像に用いれば最小限の努力で望ましい変更済み印刷が作れます。

2つの PostScript (PS)Portable Document Format (PDF) ファイルは Ghostscript のgs(1) をつかってマージできます。

$ gs -q -dNOPAUSE -dBATCH -sDEVICE=pswrite -sOutputFile=bla.ps -f foo1.ps foo2.ps
$ gs -q -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sOutputFile=bla.pdf -f foo1.pdf foo2.pdf
[注記] 注記

PDF は、クロスプラットフォームの印刷可能フォーマットとして広範に使われていて、本質的にいくつかの追加機能と拡張がされている、圧縮 PS フォーマットです。

[ヒント] ヒント

コマンドラインの場合、psutils パッケージ中の psmerge(1) 等のコマンドは PostScript 文書を操作するのに便利です。pdftk パッケージの pdftk(1) も PDF 文書を操作するのに便利です。

印刷可能なデーターに用いる以下のパッケージが著者の目に止まりました。

表11.15 プリントできるデーターのユーティリティーのリスト

パッケージ ポプコン サイズ キーワード 説明
poppler-utils V:152, I:471 728 pdf→ps,text,… PDF ユーティリティー: pdftops, pdfinfo, pdfimages, pdftotext, pdffonts
psutils V:4, I:67 219 ps→ps PostScript 文書変換ツール
poster V:0, I:3 57 ps→ps PostScript ページから大きなポスターを作る
enscript V:1, I:14 2130 text→ps, html, rtf ASCII テキストから PostScript か HTML か RTF か Pretty-Print への変換
a2ps V:0, I:10 3979 text→ps 全てを PostScript に変換するソフトと綺麗印刷ソフト
pdftk I:37 28 pdf→pdf PDF 文書変換ツール: pdftk
html2ps V:0, I:2 261 html→ps HTML から PostScript への変換ソフト
gnuhtml2latex V:0, I:0 27 html→latex html から latex への変換ソフト
latex2rtf V:0, I:4 495 latex→rtf LaTeX から MS Word で読める RTF へと文書変換
ps2eps V:2, I:42 95 ps→eps PostScript から EPS (カプセル化済み PostScript) への変換ソフト
e2ps V:0, I:0 109 text→ps 日本語符号化サポート付きの Text から PostScript への変換ソフト
impose+ V:0, I:0 118 ps→ps PostScript ユーティリティー
trueprint V:0, I:0 149 text→ps 多くのソースコード (C, C++, Java, Pascal, Perl, Pike, Sh, Verilog) の PostScript への綺麗印刷 (C 言語)
pdf2svg V:0, I:3 32 pdf→svg PDF からスケール可のベクトルグラフィクス (SVG) フォーマットへの変換ソフト
pdftoipe V:0, I:0 65 pdf→ipe PDF から IPE の XML フォーマットへの変換ソフト

Common Unix Printing System (CUPS) が提供する、lp(1) と lpr(1) コマンドの両方が印刷可能なデーターの印刷をカスタム化するオプションを提供します。

以下のコマンドの内のひとつを使い一つのファイルに対し3部の印刷をページ順に揃えてできます。

$ lp -n 3 -o Collate=True filename
$ lpr -#3 -o Collate=True filename

さらに、コマンドライン印刷とオプションに書かれているように "-o number-up=2" や "-o page-set=even", "-o page-set=odd" や "-o scaling=200" や "-o natural-scaling=200" 等の印刷オプションを使ってカスタム化できます。

テキストデーター変換のための以下のパッケージが著者の目に止まりました。


[ヒント] ヒント

インターネットメッセージアクセスプロトコル バージョン4 (IMAP4) サーバーは、プロプライエタリメールシステムのクライアントソフトが IMAP4 サーバーも使えるように設定できる場合、プロプライエタリメールシステムからメールを取り出すのに利用できるかもしれません。

メイル (SMTP) データーは7ビットデーター列に限定されるべきです。だからバイナリーデーターや8ビットテキストデーターはMultipurpose Internet Mail Extensions (MIME) を用いたり文字セット (表11.2「符号化方式値とその使い方リスト」を参照下さい) を選択して7ビットのフォーマットに エンコードされます。

標準のメールストレージフォーマットは RFC2822 (RFC822 の更新版) により定義される mbox フォーマットです。mbox(5) (mutt パッケージが提供) を参照下さい。

欧州言語の場合、ほとんど8ビット文字が無いので ISO-8859-1 文字セットとともに "Content-Transfer-Encoding: quoted-printable" がメールに通常使われます。欧州のテキストが UTF-8 符号化された場合、ほとんどが7ビット文字なので "Content-Transfer-Encoding: quoted-printable" が大体使われます。

日本語には、テキストを7ビットにしておくために伝統的に "Content-Type: text/plain; charset=ISO-2022-JP" がメールに通常使われます。しかし、古い Microsoft システムは適正な宣言無しに Shift-JIS でメールデーターを送るかもしれません。日本語のテキストが UTF-8 で符号化される場合、多くの8ビットデーターを含むので Base64 が大体使われます。他のアジアの言語でも状況は同様です。

[注記] 注記

もし IMAP4 サーバーと話せる非 Debian クライアントからあなたの非 Unix メールデーターがアクセス出きるなら、あなた自身の IMAP4 サーバーを実行することでメールデーターを引き出せるかもしれません。

[注記] 注記

もし他のメールストレージフォーマットを使っている場合、mbox フォーマットに移動するのが良い第一歩です。mutt(1) のような汎用クライアントプログラムはこれに非常に便利です。

メールボックスの内容は procmail(1) と formail(1) を使って各メッセージに分割できます。

各メールメッセージは mpack パッケージにある munpack(1) (または他の専用ツール) を使って開梱して MIME 符号化された内容を取り出せます。

gimp(1) のような GUI プログラムは非常に強力ですが、imagemagick(1) 等のコマンドラインツールはスクリプトでイメージ操作を自動化するのに非常に便利です。

デジタルカメラのファイルフォーマットのデファクト標準は、追加のメタデーター付きの JPEG 画像ファイルフォーマットである交換可能な画像ファイルフォーマット (EXIF) です。EXIF は日付や時間やカメラ設定等の情報を保持できます。

Lempel-Ziv-Welch (LZW) ロス無しデーター圧縮特許の期限は切れました。LZW データー圧縮を使う画像交換フォーマット (GIF) ユーティリティーは Debian システム上で自由に利用可能となりました。

[ヒント] ヒント

リムーバブル記録メディア付きのどのデジタルカメラやスキャナーも、カメラファイルシステム用デザインルール に準拠し FAT ファイルシステムを使っているので USB ストレージ読取り機を経由すれば Linux で必ず機能します。「リムーバブルストレージデバイス」を参照下さい。

以下の GUI の画像データー変換、編集、整理用パッケージが著者の目に止まりました。

表11.18 画像データーツール (GUI) のリスト

パッケージ ポプコン サイズ キーワード 説明
gimp V:50, I:252 19304 画像 (bitmap) GNU イメージ操作プログラム
xsane V:12, I:144 2339 画像 (bitmap) GTK に基づく SANE (Scanner Access Now Easy) 用の X11 フロントエンド
scribus V:1, I:16 31345 ps/pdf/SVG/… Scribus DTP エディター
libreoffice-draw V:72, I:430 10312 画像 (vector) LibreOffice office スイート - ドロー
inkscape V:15, I:112 99800 画像 (vector) SVG (スケーラブルベクトルグラフィクス) エディター
dia V:2, I:22 3741 画像 (vector) ダイアグラムエディター (Gtk)
xfig V:0, I:11 7849 画像 (vector) X11 下でインテラクティブ生成するソフト
gocr V:0, I:7 540 画像→テキスト フリー OCR ソフト
eog V:64, I:277 7770 画像(Exif) 画像ビューアープログラム Eye of GNOME
gthumb V:3, I:16 5032 画像(Exif) 画像ビューアー兼ブラウザー (GNOME)
geeqie V:4, I:15 2522 画像(Exif) GTK を用いた画像ビューアー
shotwell V:17, I:255 6263 画像(Exif) デジタル写真オーガナイザー (GNOME)
gwenview V:33, I:106 11755 画像(Exif) 画像ビューア (KDE)
kamera I:105 998 画像(Exif) KDE アプリケーション用デジタルカメラサポート
digikam V:1, I:9 293 画像(Exif) デジタル写真管理アプリケーション
darktable V:4, I:13 30554 画像(Exif) 写真家のための仮想ライトボックスと暗室
hugin V:0, I:8 5208 画像(Exif) パノラマ写真合成機
librecad V:1, I:15 8963 DXF, ... 2D CAD データーエディター
freecad I:18 36 DXF, ... 3D CAD データーエディター
blender V:3, I:28 84492 blend, TIFF, VRML, … アニメーション等用の 3D コンテントエディター
mm3d V:0, I:0 3881 ms3d, obj, dxf, … OpenGL 準拠の 3D モデルエディター
fontforge V:0, I:6 3993 ttf, ps, … PS と TrueType と OpenType のフォント用フォントエディター
xgridfit V:0, I:0 806 ttf TrueType フォントをグリッドフィッティングとヒンティング用のプログラム

以下の CLI の画像データー変換、編集、整理用パッケージが著者の目に止まりました。

表11.19 画像データーツールのリスト (CLI)

パッケージ ポプコン サイズ キーワード 説明
imagemagick I:317 74 画像 (bitmap) 画像操作プログラム
graphicsmagick V:1, I:11 5565 画像 (bitmap) 画像操作プログラム (imagemagick のフォーク)
netpbm V:28, I:326 8526 画像 (bitmap) 画像変換ツール
libheif-examples V:0, I:2 191 heif→jpeg(bitmap) High Efficiency Image File Format (HEIF) を JPEG や PNG や Y4M フォーマットに heif-convert(1) コマンドで変換
icoutils V:7, I:50 221 png↔ico(bitmap) MS Windows のアイコンやカーソールと PNG フォーマット間の変換 (favicon.ico)
pstoedit V:2, I:52 1011 ps/pdf→画像(vector) PostScript と PDF ファイルから編集可能なベクトルグラフィクスへの変換ソフト (SVG)
libwmf-bin V:7, I:119 151 Windows/画像(vector) Windows メタファイル (ベクトル画像データー) 変換ツール
fig2sxd V:0, I:0 151 fig→sxd(vector) XFig ファイルを OpenOffice.org Draw フォーマットに変換
unpaper V:2, I:17 412 画像→画像 OCR 用のスキャンしたページの後処理ツール
tesseract-ocr V:7, I:33 2228 画像→テキスト HP の商用 OCR エンジンの基づくフリーの OCR ソフトウェアー
tesseract-ocr-eng V:7, I:34 4032 画像→テキスト OCR エンジンデーター: tesseract-ocr の英文用言語ファイル
ocrad V:0, I:3 587 画像→テキスト フリー OCR ソフト
exif V:2, I:42 339 画像(Exif) JPEG ファイル中の EXIF 情報を表示するコマンドラインユーティリティー
exiv2 V:2, I:27 275 画像(Exif) EXIF/IPTC メタデーター操作ツール
exiftran V:1, I:14 69 画像(Exif) デジタルカメラの jpeg 画像を変換
exiftags V:0, I:3 292 画像(Exif) デジタルカメラの JPEG ファイルから Exif タグを読むユーティリティー
exifprobe V:0, I:3 499 画像(Exif) デジタル写真からメタデーターを読み出す
dcraw V:1, I:12 583 画像(Raw)→ppm 生のデジタルカメラ画像のデコード
findimagedupes V:0, I:1 77 画像→fingerprint 視覚的な類似画像と重複画像の検出
ale V:0, I:0 839 画像→画像 忠実度を上げたりモザイクを作成するための画像のマージ
imageindex V:0, I:1 145 画像(Exif)→html イメージから静的な HTML ギャラリーを生成
outguess V:0, I:1 230 jpeg,png 普遍的 Steganographic ツール
jpegoptim V:0, I:7 59 jpeg JPEG ファイルの最適化
optipng V:3, I:43 213 png PNG ファイルのロスレス最適化
pngquant V:0, I:9 61 png PNG ファイルのロッシー最適化

多くのデーター変換プログラムがあります。aptitude(8) で"~Guse::converting" という正規表現 (「aptitude を使った探索方法」を参照下さい) を使い以下のプログラムが私の目に止まりました。


RPM フォーマットからのデーター抽出もまた以下のようにするとできます。

$ rpm2cpio file.src.rpm | cpio --extract