目次
Debian システム上のデーターフォーマット変換のツールとティップを記します。
標準に準拠したツールは非常に良い状態ですが、プロプライエタリデーターフォーマットのサポートは限定的です。
テキストデーター変換のための以下のパッケージが著者の目に止まりました。
表11.1 テキストデーター変換ツールのリスト
| パッケージ | ポプコン | サイズ | キーワード | 説明 |
|---|---|---|---|---|
libc6
|
V:936, I:1000 | 5483 | 文字セット | iconv(1) によるロケール間のテキスト符号化方式変換ソフト (基本的) |
recode
|
V:2, I:12 | 528 | 文字セット + 行末文字 | ロケール間のテキスト符号化方式変換ソフト (機能豊富、より多いエイリアスと機能) |
konwert
|
V:2, I:42 | 137 | 文字セット | ロケール間のテキスト符号化方式変換ソフト (高級機能) |
nkf
|
V:0.4, I:8.6 | 360 | 文字セット | 日本語のための文字セット翻訳ソフト |
tcs
|
V:0.01, I:0.14 | 518 | 文字セット | 文字セット翻訳ソフト |
unaccent
|
V:0.03, I:0.27 | 35 | 文字セット | アクセント付き文字をアクセントの無しの等価文字に置換 |
tofrodos
|
V:1, I:12 | 50 | 行末文字 | DOS と Unix 間のテキストフォーマット変換ソフト: fromdos(1) と todos(1) |
macutils
|
V:0.04, I:0.39 | 319 | 行末文字 | Macintosh と Unix 間のテキストフォーマット変換ソフト: frommac(1) and tomac(1) |
|
ヒント |
|---|---|
|
iconv(1) は |
以下のようにするとテキストファイルを 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 スタイル GB2312 か GBK か GB18030 の変種 |
| 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 を参照下さい) |
|
注記 |
|---|---|
|
一部の符号化方式 (エンコーディング) はデーター変換のみサポートされており、ロケール値としては使われません (「ロケール」を参照下さい)。 |
ASCII や ISO-8859 文字セットのような1バイトに収まる文字セットに付いては、文字の符号化方式 (エンコーディング) とは文字セットとほとんど同じ事を意味します。
日本語のための JIS X 0213 や実質的に全ての言語のためのユニコード文字セット (UCS, Unicode, ISO-10646-1) のような多くの文字を含む文字セットの場合には、バイトデーター列に落とし込む多くの符号化手法があります。
日本語用には、EUC と ISO/IEC 2022 (別名 JIS X 0202)
ユニコード用には、UTF-8 と UTF-16/UCS-2 と UTF-32/UCS-4
これらに関しては、文字セットと文字符号化方式の間にはっきりとした区別があります。
コードページは、一部のベンダー固有のコードページで文字符号化テーブルと同義語として使用されています。
|
注記 |
|---|---|
|
ほとんどの符号化システムが7ビット文字に関して ASCII と同じコードを共有している事を承知下さい。もちろん例外はありますが。もし古い日本語の C
プログラムや URL のデーターをカジュアルにシフト JIS と呼ばれている符号化フォーマットから UTF-8
フォーマットに変換する際には、期待される結果を得るために " |
|
ヒント |
|---|---|
|
recode(1) は、十分使えますし、iconv(1) と
fromdos(1) と todos(1) と
frommac(1) と tomac(1)
を組み合わせ以上の機能を提供します。詳しくは " |
以下のようにするとテキストファイルが UTF-8 でエンコードされていると iconv(1) を使って確認できます。
$ iconv -f utf8 -t utf8 input.txt >/dev/null || echo "non-UTF-8 found"
|
ヒント |
|---|---|
|
最初の非 UTF-8 文字を見つけるには上記例中で " |
次に、単一ディレクトリー中の旧 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" コマンドを使ってコピーします。
テキストファイルのフォーマット、特に行末 (EOL) コード、はプラットフォーム依存です。
表11.3 異なるプラットフォーム上での行末スタイルのリスト
| プラットフォーム | 行末コード | コントロール | 10進数 | 16進数 |
|---|---|---|---|---|
| Debian (unix) | LF | ^J |
10 | 0A |
| MSDOS と Windows | CR-LF | ^M^J |
13 10 | 0D 0A |
| Apple の Macintosh | CR | ^M |
13 | 0D |
行末 (EOL) フォーマット変換プログラムに関して、fromdos(1) と todos(1) と frommac(1) と tomac(1) は非常に便利です。recode(1) もまた役に立ちます。
|
注記 |
|---|---|
|
|
|
注記 |
|---|---|
|
ほとんどのエディター (例えば |
タブコードを変換するための良く使われる専用プログラムがいくつかあります。
表11.4 bsdmainutils と coreutils
パッケージ中のタブ変換コマンドのリスト
| 機能 | bsdmainutils |
coreutils |
|---|---|---|
| タブからスペースに展開する | "col -x" |
expand |
| スペースからタブに逆展開する | "col -h" |
unexpand |
indent パッケージにある indent(1) コマンドは C
プログラム中のホワイトスペースを完全にリフォーマットします。
vim や emacs
等のエディタープログラムもまたタブ変換に使えます。例えば vim を使うと、":set
expandtab" として ":%retab"
するコマンドシーケンスでタブ変換が出来ます。これを元に戻すのは、":set noexpandtab" として
":%retab!" とするコマンドシーケンスです。
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.5 プレーンテキストデーター抽出ツールのリスト
| パッケージ | ポプコン | サイズ | キーワード | 機能 |
|---|---|---|---|---|
w3m
|
V:10, I:129 | 2853 | html→text |
"w3m -dump" コマンドを使う HTML からテキストへの変換ソフト |
html2text
|
V:3, I:66 | 298 | html→text |
高度な HTML からテキストへの変換ソフト (ISO 8859-1) |
lynx
|
V:29, I:455 | 2031 | html→text |
"lynx -dump" コマンドを使う HTML からテキストへの変換ソフト |
elinks
|
V:2, I:15 | 1791 | html→text |
"elinks -dump" コマンドを使う HTML からテキストへの変換ソフト |
links
|
V:2, I:20 | 2321 | html→text |
"links -dump" コマンドを使う HTML からテキストへの変換ソフト |
links2
|
V:0.8, I:9.4 | 5466 | html→text |
"links2 -dump" コマンドを使う HTML からテキストへの変換ソフト |
catdoc
|
V:16, I:170 | 682 | MSWord→text,TeX |
MSWord ファイルをプレーンテキストか TeX に変換 |
antiword
|
V:0.9, I:6.3 | 596 | MSWord→text,ps |
MSWord ファイルをプレーンテキストか ps に変換 |
unhtml
|
V:0.04, I:0.49 | 40 | html→text |
HTML ファイルからマークアップタグを削除 |
odt2txt
|
V:1, I:19 | 60 | odt→text |
OpenDocument テキストからテキストへの変換ソフト |
以下のようにしてプレーンテキストデーターをハイライトとフォーマット出来ます。
表11.6 プレーンテキストデーターをハイライトするツールのリスト
| パッケージ | ポプコン | サイズ | キーワード | 説明 |
|---|---|---|---|---|
vim-runtime
|
V:17, I:355 | 38849 | ハイライト | ":source $VIMRUNTIME/syntax/html.vim" を使ってソースコードを HTML
に変換するための Vim MACRO |
cxref
|
V:0.01, I:0.21 | 1191 | c→html |
C プログラムから latex か HTML への変換ソフト (C 言語) |
src2tex
|
V:0.02, I:0.16 | 1799 | ハイライト | 多くのソースコードの TeX への変換ソフト (C 言語) |
source-highlight
|
V:0.4, I:2.9 | 2131 | ハイライト | 多くのソースコードを HTML と XHTML と LaTeX と Texinfo と ANSI カラーエスケープシーケンスと DocBook にハイライト付きで変換 (C++) |
highlight
|
V:0.4, I:2.8 | 1412 | ハイライト | 多くのソースコードを HTML と XHTML と LaTeX と Tex と AXSL-FO にハイライト付きで変換 (C++) |
grc
|
V:0.9, I:5.7 | 208 | text→color |
汎用着色化ソフト (Python) |
pandoc
|
V:11, I:47 | 209559 | text→any |
汎用マークアップコンバーター (Haskel) |
python3-docutils
|
V:13, I:51 | 2013 | text→any |
ReStructured テキスト文書の XML へのフォーマット化ソフト (Python) |
markdown
|
V:0.4, I:5.7 | 56 | text→html |
Markdown テキスト文書の (X)HTML へのフォーマット化ソフト (Perl) |
asciidoctor
|
V:0.5, I:4.6 | 101 | text→any |
AsciiDoc テキスト文書の XML/HTML へのフォーマット化ソフト (Ruby) |
python3-sphinx
|
V:7, I:27 | 3234 | text→any |
ReStructured テキストを使う文書出版システム (Python) |
hugo
|
V:0.8, I:5.0 | 66708 | 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 は以下の文字に関して事前定義されたエンティティを使い内容を少し改変する必要があります。
表11.7 XML で事前定義されているエントリーのリスト
| 事前定義されたエンティティ | 変換先の文字 |
|---|---|
" |
" : 引用符 |
' |
' : アポストロフィ |
< |
< : 以下 |
> |
> : 以上 |
& |
& : アンパサンド |
|
注意 |
|---|---|
|
" |
|
注記 |
|---|---|
|
例えば " |
|
注記 |
|---|---|
|
XML のマークアップがタグ名の何らかの組み合わせで (あるデーターを内容としてであれアトリビュート値としてであれ) 整合性を持ってされている限り、他の XML の変換は拡張可能スタイルシート言語変換 (XSLT) を使うととっても簡単な作業です。 |
拡張可能スタイルシート言語 (XSL) のような XML ファイルを処理に利用可能なツールは沢山あります。
基本的に、良くできた XML ファイルを一度作ると、いかなるフォーマットへも拡張可能なスタイルシート言語変換 (XSLT) を使って変換できます。
フォーマットオブジェクト用拡張可能スタイルシート言語
(XSL-FO) がフォーマットのための答えとなるはずです。fop パッケージは Java プログラム言語 に依存するため Debian の
main アーカイブでは新規です。このため、 LaTeX コードが XML から XSLT
を使って通常作成され、DVI や PostScript や PDF 等のプリンタブルなファイルが LaTeX システムを使って作成されます。
表11.8 XML ツールのリスト
| パッケージ | ポプコン | サイズ | キーワード | 説明 |
|---|---|---|---|---|
docbook-xml
|
V:15, I:407 | 2126 | xml | DocBook 用 XML ドキュメントタイプ定義 (DTD) |
docbook-xsl
|
V:15, I:144 | 14823 | xml/xslt | DocBook XML を XSLT を使って各種アウトプットへ処理する XSL スタイルシート |
xsltproc
|
V:15, I:71 | 83 | xslt | XSLT コマンドラインプロセスソフト (XML→ XML, HTML, plain text, 他) |
xmlto
|
V:0.5, I:8.0 | 124 | xml/xslt | XSLT を用いて XML から全てへの変換ソフト |
fop
|
V:0.7, I:8.0 | 281 | xml/xsl-fo | Docbook XML ファイルを PDF に変換 |
dblatex
|
V:0.9, I:5.4 | 4635 | xml/xslt | XSLT を使って Docbook ファイルを DVI, PostScript, PDF 文書へ変換 |
dbtoepub
|
V:0.04, I:0.54 | 37 | xml/xslt | DocBook XML から .epub へのコンバーター |
XML は標準一般化マークアップ言語 (SGML) のサブセットなので、ドキュメントスタイル構文規程言語 (DSSSL) 等の SGML 用として利用可能な広範なツールで処理できます。
表11.9 DSSLツールのリスト
| パッケージ | ポプコン | サイズ | キーワード | 説明 |
|---|---|---|---|---|
openjade
|
V:1, I:21 | 1066 | dsssl |
ISO/IEC 10179: 1996 標準 DSSSL プロセッサ (最新版) |
docbook-dsssl
|
V:0.5, I:7.4 | 2594 | xml/dsssl |
DocBook XML を各種出力フォーマットに DSSSL を使って処理するための DSSSL スタイルシート |
docbook-utils
|
V:0.3, I:5.2 | 287 | xml/dsssl |
docbook2* コマンドで DSSSL を使って DocBook ファイルを他のフォーマットに (HTML,
RTF, PS, man, PDF) 変換するなどのユーティリティー |
他のフォーマットから以下を使うと HTML とか XML のデーターを抽出出来ます。
表11.10 テキストデーター変換ツールのリスト
| パッケージ | ポプコン | サイズ | キーワード | 説明 |
|---|---|---|---|---|
man2html
|
V:0.1, I:1.2 | 142 | manpage→html |
manpage から HTML への変換ソフト (CGI サポート) |
doclifter
|
V:0.00, I:0.05 | 487 | troff→xml |
troff から DocBook XML への変換ソフト |
texi2html
|
V:0.2, I:2.8 | 1847 | texi→html |
Texinfo から HTML への変換ソフト |
info2www
|
V:0.8, I:1.4 | 76 | info→html |
GNU info から HTML への変換ソフト (CGI サポート) |
wv
|
V:0.2, I:2.3 | 733 | MSWord→any |
Microsoft Word から HTML や LaTeX 等への文書変換ソフト |
unrtf
|
V:0.3, I:2.8 | 159 | rtf→html |
RTF から HTML 等への文書変換ソフト |
wp2x
|
V:0.00, I:0.08 | 200 | WordPerfect→any |
WordPerfect 5.0 と 5.1 ファイルから TeX と LaTeX と troff と GML と HTML への変換ソフト |
非 XML の HTML ファイルの場合は、これらを整合性ある XML である XHTML に変換できます。XHTML は XML ツールで処理できます。
XML ファイルのシンタックスやファイル中で見かける URL の適正性が確認されるかもしれません。
表11.11 XML整形印刷ツールのリスト
| パッケージ | ポプコン | サイズ | 機能 | 説明 |
|---|---|---|---|---|
libxml2-utils
|
V:60, I:207 | 213 | xml↔html↔xhtml |
xmllint(1) (シンタクスチェック、リフォーマット、静的解析、他) を含むコマンドライン XML ツール |
tidy
|
V:0.9, I:6.9 | 79 | xml↔html↔xhtml |
HTML シンタックスチェックソフトとリフォーマットソフト |
weblint-perl
|
V:0.05, I:0.90 | 32 | 静的解析(lint) | HTML 用のシンタックス最小限の文体チェックソフト |
linklint
|
V:0.04, I:0.44 | 343 | リンクチェック | 高速リンクチェックソフトとウェッブサイトメンテツール |
一度適正な XML が生成されれば、XSLT 技術を使ってマークアップコンテキスト等に基づいてデーターを抽出出来ます。
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"マクロに関する良い入門書や参考書が読めます。
|
ヒント |
|---|---|
|
" |
|
ヒント |
|---|---|
|
|
TeX Live ソフトウェアーディストリビューションは完全な TeX
システムを提供します。texlive メタパッケージは、ほとんどの一般的タスクに十分な TeX Live パッケージのまともな選択を提供します。
TeX と LaTeX に関する多くの参考書が利用可能です。
"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
処理ソフトはこれをバックエンドのテキスト処理ソフトとしています。多くの人が Emacs や
Vim をソースのエディターとして使う一方、lyx
パッケージが提供する Lyx と texmacs
パッケージが提供する GNU TeXmacs は洒落た LaTeX のWYSIWYG
編集環境を提供します。
多くのオンラインリソースが利用可能です。
TEX Live ガイド - TEX Live 2007
("/usr/share/doc/texlive-doc-base/english/texlive-en/live.html")
(texlive-doc-base パッケージ)
文書が大きくなると、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行をコメントして
" |
プレーンな troff フォーマットでマンページ (マニュアル ページ) を書く事は可能ですが、それを作成するヘルパーパッケージがあります。
表11.13 マンページ作成を補助するパッケージのリスト
| パッケージ | ポプコン | サイズ | キーワード | 説明 |
|---|---|---|---|---|
docbook-to-man
|
V:0.6, I:5.3 | 189 | SGML→manpage |
DocBook SGML から roff man マクロへの変換ソフト |
help2man
|
V:0.5, I:6.1 | 542 | text→manpage |
--help からの自動マンページ生成ソフト |
info2man
|
V:0.02, I:0.18 | 134 | info→manpage |
GNU info から POD かマンページへの変換ソフト |
txt2man
|
V:0.04, I:0.61 | 112 | text→manpage |
ベタの ASCII テキストからマンページ形式へ変換 |
Debian システム上では印刷可能なデーターは PostScript フォーマットで表現されます。共通 Unix 印刷システム (CUPS) は非 PostScript プリンタ用のラスタ化のバックエンドプログラムとして Ghostscript を使用します。
最近のDebian システム上では印刷可能なデータは PDF フォーマットででも表現されます。
Evince や Okular (「GUI アプリケーション」参照)のような GUI ビューワーツールや; Chromium のような現代的なブラウザーを使うと、PDF ファイルの内容表示をしたりその入力欄を埋めたりできます。
LibreOffice や Scribus や Inkscape (「画像データーツール」参照)のようなグラフィックツールを使うと、PDF ファイルの内容を編集できます。
|
ヒント |
|---|---|
|
PDF ファイルは、GIMP を用いると、解像度 300 dpi 以上を使い PNG フォーマットに変換し読み込めます。これを、LibreOffice のバックグラウンド画像に用いれば最小限の努力で望ましい変更済み印刷が作れます。 |
印刷データー処理の核心はラスタ画像を生成する Ghostscript という PostScript (PS) インタープリタです。
表11.14 Ghostscript PostScript インタープリタのリスト
| パッケージ | ポプコン | サイズ | 説明 |
|---|---|---|---|
ghostscript
|
V:165, I:559 | 177 | GPL 版 Ghostscript PostScript/PDF インタープリタ |
ghostscript-x
|
V:0, I:13 | 88 | GPL 版 Ghostscript PostScript/PDF インタープリタ - X ディスプレーサポート |
libpoppler162
|
V:14, I:22 | 5313 | xpdf PDF ビューワー派生PDF レンダリングライブラリー |
libpoppler-glib8t64
|
V:77, I:323 | 612 | PDF レンダリングライブラリー (GLib 準拠共有ライブラリー) |
poppler-data
|
V:161, I:582 | 13086 | PDF レンダリングライブラリー用 CMaps (CJK サポート: Adobe-*) |
|
ヒント |
|---|---|
|
" |
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
|
ヒント |
|---|---|
|
コマンドラインの場合、 |
印刷可能なデーターに用いる以下のパッケージが著者の目に止まりました。
表11.15 プリントできるデーターのユーティリティーのリスト
| パッケージ | ポプコン | サイズ | キーワード | 説明 |
|---|---|---|---|---|
poppler-utils
|
V:169, I:476 | 804 | pdf→ps,text,… |
PDF ユーティリティー: pdftops, pdfinfo,
pdfimages, pdftotext,
pdffonts |
psutils
|
V:4, I:48 | 34 | ps→ps |
PostScript 文書変換ツール |
poster
|
V:0.1, I:1.6 | 57 | ps→ps |
PostScript ページから大きなポスターを作る |
enscript
|
V:1, I:10 | 2138 | text→ps, html, rtf | ASCII テキストから PostScript か HTML か RTF か Pretty-Print への変換 |
a2ps
|
V:0.7, I:6.7 | 4109 | text→ps |
全てを PostScript に変換するソフトと綺麗印刷ソフト |
pdftk
|
V:1, I:20 | 28 | pdf→pdf |
PDF 文書変換ツール: pdftk |
html2ps
|
V:0.2, I:1.7 | 256 | html→ps |
HTML から PostScript への変換ソフト |
gnuhtml2latex
|
V:0.03, I:0.57 | 26 | html→latex |
html から latex への変換ソフト |
latex2rtf
|
V:0.1, I:1.9 | 495 | latex→rtf |
LaTeX から MS Word で読める RTF へと文書変換 |
ps2eps
|
V:2, I:31 | 95 | ps→eps |
PostScript から EPS (カプセル化済み PostScript) への変換ソフト |
e2ps
|
V:0.01, I:0.11 | 104 | text→ps |
日本語符号化サポート付きの Text から PostScript への変換ソフト |
impose+
|
V:0.1, I:1.6 | 118 | ps→ps |
PostScript ユーティリティー |
trueprint
|
V:0.00, I:0.07 | 148 | text→ps |
多くのソースコード (C, C++, Java, Pascal, Perl, Pike, Sh, Verilog) の PostScript への綺麗印刷 (C 言語) |
pdf2svg
|
V:0.2, I:2.9 | 33 | pdf→svg |
PDF からスケール可のベクトルグラフィクス (SVG) フォーマットへの変換ソフト |
pdftoipe
|
V:0.01, I:0.43 | 69 | 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" 等の印刷オプションを使ってカスタム化できます。
テキストデーター変換のための以下のパッケージが著者の目に止まりました。
表11.16 メールデーター変換を補助するパッケージのリスト
| パッケージ | ポプコン | サイズ | キーワード | 説明 |
|---|---|---|---|---|
sharutils
|
V:2, I:27 | 1436 | メール | shar(1) と unshar(1) と uuencode(1) と uudecode(1) |
mpack
|
V:0.7, I:7.4 | 109 | MIME |
MIME メッセージの符号化と逆符号化のソフト: mpack(1) と munpack(1) |
tnef
|
V:0.3, I:3.7 | 103 | ms-tnef |
Microsoft のみのフォーマットの "application/ms-tnef" タイプの MIME アタッチメントを開梱 |
uudeview
|
V:0.2, I:1.7 | 105 | mail |
以下のフォーマットのエンコーダーとデコーダー: uuencode, xxencode, BASE64, quoted printable, BinHex |
|
ヒント |
|---|---|
|
インターネットメッセージアクセスプロトコル バージョン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 で必ず機能します。「リムーバブルストレージデバイス」を参照下さい。 |
以下のメタパッケージは aptitude(8) を使って画像データーツールを探す良いスタート地点です。"Packages overview for Debian PhotoTools Maintainers" も別のスタート地点です。
表11.17 画像データーツールのリスト (メタパッケージ)
| パッケージ | ポプコン | サイズ | キーワード | 説明 |
|---|---|---|---|---|
education-graphics
|
I:0.34 | 26 | svg,jpeg,… |
画像や絵画芸術教育用のメタパッケージ |
open-font-design-toolkit
|
I:0.04 | 9 | ttf,ps,… |
オープンフォントデザイン用のメタパッケージ |
|
ヒント |
|---|---|
|
aptitude(8) の正規表現
" |
以下の GUI の画像データー変換、編集、整理用パッケージが著者の目に止まりました。
表11.18 画像データーツール (GUI) のリスト
| パッケージ | ポプコン | サイズ | キーワード | 説明 |
|---|---|---|---|---|
gimp
|
V:34, I:211 | 33315 | image(bitmap) |
GNU イメージ操作プログラム |
xsane
|
V:9, I:128 | 1512 | image(bitmap) |
GTK に基づく SANE (Scanner Access Now Easy) 用の X11 フロントエンド |
scribus
|
V:1, I:12 | 32942 | ps/pdf/SVG/… | Scribus DTP エディター |
libreoffice-draw
|
V:89, I:418 | 11418 | image(vector) |
LibreOffice office スイート - ドロー |
inkscape
|
V:12, I:76 | 113353 | image(vector) |
SVG (スケーラブルベクトルグラフィクス) エディター |
dia
|
V:1, I:16 | 3846 | image(vector) |
ダイアグラムエディター (Gtk) |
xfig
|
V:0.5, I:8.5 | 7951 | image(vector) |
X11 下でインテラクティブ生成するソフト |
gocr
|
V:0.5, I:3.6 | 549 | image→text |
フリー OCR ソフト |
eog
|
V:23, I:129 | 10535 | image(Exif) |
画像ビューアープログラム Eye of GNOME |
gthumb
|
V:3, I:11 | 5162 | image(Exif) |
画像ビューアー兼ブラウザー (GNOME) |
geeqie
|
V:3, I:11 | 3367 | image(Exif) |
GTK を用いた画像ビューアー |
shotwell
|
V:14, I:246 | 6334 | image(Exif) |
デジタル写真オーガナイザー (GNOME) |
gwenview
|
V:41, I:114 | 6057 | image(Exif) |
画像ビューア (KDE) |
kamera
|
I:114 | 992 | image(Exif) |
KDE アプリケーション用デジタルカメラサポート |
digikam
|
V:1.5, I:8.3 | 333 | image(Exif) |
デジタル写真管理アプリケーション |
darktable
|
V:4, I:11 | 36092 | image(Exif) |
写真家のための仮想ライトボックスと暗室 |
hugin
|
V:0.5, I:5.3 | 6524 | image(Exif) |
パノラマ写真合成機 |
librecad
|
V:1, I:13 | 9164 | DXF,… |
2D CAD データーエディター |
freecad
|
V:1, I:20 | 112 | DXF,… |
3D CAD データーエディター |
blender
|
V:2, I:20 | 171893 | blend,TIFF,VRML,… |
アニメーション等用の 3D コンテントエディター |
mm3d
|
V:0.02, I:0.22 | 4123 | ms3d,obj,dxf,… |
OpenGL 準拠の 3D モデルエディター |
fontforge
|
V:0.6, I:5.3 | 4736 | ttf,ps,… |
PS と TrueType と OpenType のフォント用フォントエディター |
xgridfit
|
V:0.02, I:0.08 | 878 | ttf |
TrueType フォントをグリッドフィッティングとヒンティング用のプログラム |
以下の CLI の画像データー変換、編集、整理用パッケージが著者の目に止まりました。
表11.19 画像データーツールのリスト (CLI)
| パッケージ | ポプコン | サイズ | キーワード | 説明 |
|---|---|---|---|---|
imagemagick
|
V:7, I:272 | 80 | image(bitmap) |
画像操作プログラム |
graphicsmagick
|
V:1.0, I:8.3 | 5945 | image(bitmap) |
画像操作プログラム (imagemagick のフォーク) |
netpbm
|
V:27, I:282 | 8435 | image(bitmap) |
画像変換ツール |
libheif-examples
|
V:0.3, I:3.6 | 528 | heif→jpeg(bitmap) |
High Efficiency Image File Format (HEIF) を JPEG や PNG や Y4M フォーマットに heif-convert(1) コマンドで変換 |
icoutils
|
V:3, I:33 | 221 | png↔ico(bitmap) |
MS Windows のアイコンやカーソールと PNG フォーマット間の変換 (favicon.ico) |
pstoedit
|
V:2, I:37 | 1075 | ps/pdf→image(vector) |
PostScript と PDF ファイルから編集可能なベクトルグラフィクスへの変換ソフト (SVG) |
libwmf-bin
|
V:5, I:80 | 149 | Windows/画像(vector) | Windows メタファイル (ベクトル画像データー) 変換ツール |
fig2sxd
|
V:0.01, I:0.16 | 158 | fig→sxd(vector) |
XFig ファイルを OpenOffice.org Draw フォーマットに変換 |
unpaper
|
V:2, I:16 | 417 | image→image |
OCR 用のスキャンしたページの後処理ツール |
tesseract-ocr
|
V:8, I:34 | 2209 | image→text |
HP の商用 OCR エンジンの基づくフリーの OCR ソフトウェアー |
tesseract-ocr-eng
|
V:9, I:35 | 4032 | image→text |
OCR エンジンデーター: tesseract-ocr の英文用言語ファイル |
ocrad
|
V:0.3, I:2.2 | 608 | image→text |
フリー OCR ソフト |
exif
|
V:3, I:49 | 335 | image(Exif) |
JPEG ファイル中の EXIF 情報を表示するコマンドラインユーティリティー |
exiv2
|
V:1, I:18 | 436 | image(Exif) |
EXIF/IPTC メタデーター操作ツール |
exiftran
|
V:1, I:11 | 81 | image(Exif) |
デジタルカメラの jpeg 画像を変換 |
exiftags
|
V:0.2, I:2.5 | 309 | image(Exif) |
デジタルカメラの JPEG ファイルから Exif タグを読むユーティリティー |
exifprobe
|
V:0.2, I:2.1 | 506 | image(Exif) |
デジタル写真からメタデーターを読み出す |
dcraw
|
V:0.7, I:7.2 | 428 | image(Raw)→ppm |
生のデジタルカメラ画像のデコード |
findimagedupes
|
V:0.11, I:0.96 | 76 | image→fingerprint |
視覚的な類似画像と重複画像の検出 |
ale
|
V:0.00, I:0.14 | 850 | image→image |
忠実度を上げたりモザイクを作成するための画像のマージ |
imageindex
|
V:0.1, I:1.1 | 143 | image(Exif)→html |
イメージから静的な HTML ギャラリーを生成 |
outguess
|
V:0.1, I:1.0 | 230 | jpeg,png | 普遍的 Steganographic ツール |
jpegoptim
|
V:0.6, I:5.8 | 59 | jpeg | JPEG ファイルの最適化 |
optipng
|
V:2, I:39 | 187 | png | PNG ファイルのロスレス最適化 |
pngquant
|
V:1, I:11 | 62 | png | PNG ファイルのロッシー最適化 |
多くのデーター変換プログラムがあります。aptitude(8)
で"~Guse::converting" という正規表現 (「aptitude を使った探索方法」を参照下さい)
を使い以下のプログラムが私の目に止まりました。
RPM フォーマットからのデーター抽出もまた以下のようにするとできます。
$ rpm2cpio file.src.rpm | cpio --extract