目次
Debian システム上のデーターフォーマット変換のツールとティップを記します。
標準に準拠したツールは非常に良い状態ですが、プロプライエタリデーターフォーマットのサポートは限定的です。
テキストデーター変換のための次のパッケージが著者の目に止まりました。
表11.1 テキストデーター変換ツールのリスト
パッケージ | ポプコン | サイズ | キーワード | 説明 |
---|---|---|---|---|
libc6
|
V:916, I:998 | 10164 | 文字セット | iconv(1) によるロケール間のテキスト符号化方式変換ソフト (基本的) |
recode
|
V:7, I:54 | 780 | 文字セット + 行末文字 | ロケール間のテキスト符号化方式変換ソフト (機能豊富、より多いエリアスと機能) |
konwert
|
V:2, I:63 | 192 | 文字セット | ロケール間のテキスト符号化方式変換ソフト (高級機能) |
nkf
|
V:1, I:15 | 205 | 文字セット | 日本語のための文字セット翻訳ソフト |
tcs
|
V:0, I:0 | 544 | 文字セット | 文字セット翻訳ソフト |
unaccent
|
V:0, I:0 | 76 | 文字セット | アクセント付き文字をアクセントの無しの等価文字に置換 |
tofrodos
|
V:5, I:51 | 35 | 行末文字 | DOS と Unix 間のテキストフォーマット変換ソフト: fromdos(1) と todos(1) |
macutils
|
V:0, I:3 | 320 | 行末文字 | 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
" 変数値は、表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) もまた役に立ちます。
![]() |
注記 |
---|---|
|
![]() |
注記 |
---|---|
ほとんどのエディター (例えば |
![]() |
ヒント |
---|---|
MSDOS と Unix スタイルが混在する行末スタイルを MSDOS
スタイルに統一するには、todos(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 http://www.remote-site.com/help-info.html >textfile
同様に、次を用いることで他のフォーマットからプレーンテキストデーターを抽出出来ます。
表11.5 プレーンテキストデーター抽出ツールのリスト
パッケージ | ポプコン | サイズ | キーワード | 機能 |
---|---|---|---|---|
w3m
|
V:256, I:882 | 2076 | html→text |
"w3m -dump " コマンドを使う HTML からテキストへの変換ソフト
|
html2text
|
V:94, I:253 | 264 | html→text | 先進的 HTML からテキストへの変換ソフト (ISO 8859-1) |
lynx
|
I:142 | 245 | html→text |
"lynx -dump " コマンドを使う HTML からテキストへの変換ソフト
|
elinks
|
V:18, I:40 | 1604 | html→text |
"elinks -dump " コマンドを使う HTML からテキストへの変換ソフト
|
links
|
V:25, I:61 | 1319 | html→text |
"links -dump " コマンドを使う HTML からテキストへの変換ソフト
|
links2
|
V:4, I:23 | 3246 | html→text |
"links2 -dump " コマンドを使う HTML からテキストへの変換ソフト
|
antiword
|
V:7, I:15 | 560 | MSWord→text,ps | MSWord ファイルをプレーンテキストか ps に変換 |
catdoc
|
V:9, I:16 | 2445 | MSWord→text,TeX | MSWord ファイルをプレーンテキストか TeX に変換 |
pstotext
|
V:8, I:11 | 123 | ps/pdf→text | PostScript と PDF ファイルからテキストを抽出 |
unhtml
|
V:0, I:1 | 66 | html→text | HTML ファイルからマークアップタグを削除 |
odt2txt
|
V:4, I:8 | 73 | odt→text | OpenDocument テキストからテキストへの変換ソフト |
次のようにしてプレーンテキストデーターをハイライトとフォーマット出来ます。
表11.6 プレーンテキストデーターをハイライトするツールのリスト
パッケージ | ポプコン | サイズ | キーワード | 説明 |
---|---|---|---|---|
vim-runtime
|
V:26, I:420 | 25177 | ハイライト |
":source $VIMRUNTIME/syntax/html.vim " を使ってソースコードを HTML
に変換するための Vim MACRO
|
cxref
|
V:0, I:1 | 1116 | c→html | C プログラムから latex か HTML への変換ソフト (C 言語) |
src2tex
|
V:0, I:1 | 1968 | ハイライト | 多くのソースコードの TeX への変換ソフト (C 言語) |
source-highlight
|
V:1, I:10 | 1973 | ハイライト | 多くのソースコードを HTML と XHTML と LaTeX と Texinfo と ANSI カラーエスケープシーケンスと DocBook にハイライト付きで変換 (C++) |
highlight
|
V:2, I:18 | 793 | ハイライト | 多くのソースコードを HTML と XHTML と LaTeX と Tex と AXSL-FO にハイライト付きで変換 (C++) |
grc
|
V:0, I:1 | 53 | text→color | 汎用着色化ソフト (Python) |
txt2html
|
V:0, I:5 | 296 | text→html | テキストから HTML への変換ソフト (Perl) |
markdown
|
V:0, I:5 | 96 | text→html | markdown テキスト文書の (X)HTML へのフォーマット化ソフト (Perl) |
asciidoc
|
V:1, I:13 | 3165 | text→any | AsciiDoc テキスト文書の XML/HTML へのフォーマット化ソフト (Python) |
pandoc
|
V:1, I:9 | 26109 | text→any | 汎用マークアップコンバーター (Haskel) |
python-docutils
|
V:2, I:46 | 1765 | text→any | ReStructured テキスト文書の XML へのフォーマット化ソフト (Python) |
txt2tags
|
V:0, I:2 | 1152 | text→any | テキストから HTML と SGML と LaTeX と man page と MoinMoin と Magic Point と PageMaker への文書変換 (Python) |
udo
|
V:0, I:0 | 556 | text→any | 汎用文書 - テキスト処理ユーティリティー (C 言語) |
stx2any
|
V:0, I:0 | 484 | text→any | 構造化プレーンテキストからたのフォーマットへの文書変換ソフト (m4) |
rest2web
|
V:0, I:0 | 576 | text→html | ReStructured Text から html への文書変換ソフト (Python) |
aft
|
V:0, I:0 | 259 | text→any | "自由フォーム" 文書準備システム (Perl) |
yodl
|
V:0, I:0 | 427 | text→any | プリ文書言語とその処理用のツール (C 言語) |
sdf
|
V:0, I:0 | 1414 | text→any | 単純文書処理ソフト (Perl) |
sisu
|
V:0, I:0 | 7269 | text→any | 文書の構造化と出版と探索の枠組み (Ruby) |
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
パッケージは Debian の
main
アーカイブでは新規です。このため、 LaTeX コードが XML から XSLT
を使って通常作成され、DVI や PostScript や PDF 等のプリンタブルなファイルが LaTeX システムを使って作成されます。
表11.8 XML ツールのリスト
パッケージ | ポプコン | サイズ | キーワード | 説明 |
---|---|---|---|---|
docbook-xml
|
I:554 | 2145 | xml | DocBook 用 XML ドキュメントタイプ定義 (DTD) |
xsltproc
|
V:19, I:232 | 133 | xslt | XSLT コマンドラインプロセスソフト (XML→ XML, HTML, plain text, 他) |
docbook-xsl
|
I:204 | 14454 | xml/xslt | DocBook XML を XSLT を使って各種アウトプットへ処理する XSL スタイルシート |
xmlto
|
V:2, I:23 | 134 | xml/xslt | XSLT を用いて XML から全てへの変換ソフト |
dbtoepub
|
V:0, I:1 | 71 | xml/xslt | DocBook XML から .epub へのコンバーター |
dblatex
|
V:1, I:19 | 6604 | xml/xslt | XSLT を使って Docbook ファイルを DVI, PostScript, PDF 文書へ変換 |
fop
|
V:4, I:52 | 47 | xml/xsl-fo | Docbook XML ファイルを PDF に変換 |
XML は標準一般化マークアップ言語 (SGML) のサブセットなので、ドキュメントスタイル構文規程言語 (DSSSL) 等の SGML 用として利用可能な広範なツールで処理できます。
表11.9 DSSLツールのリスト
パッケージ | ポプコン | サイズ | キーワード | 説明 |
---|---|---|---|---|
openjade
|
V:1, I:20 | 1059 | dsssl | ISO/IEC 10179: 1996 標準 DSSSL プロセッサ (最新版) |
openjade1.3
|
V:0, I:0 | 2198 | dsssl | ISO/IEC 10179: 1996 標準 DSSSL プロセッサ (1.3.x版 ) |
jade
|
V:2, I:20 | 866 | dsssl | James Clark の標準 DSSSL プロセッサ (1.2.x版 ) |
docbook-dsssl
|
V:3, I:32 | 2578 | xml/dsssl | DocBook XML を各種出力フォーマットに DSSSL を使って処理するための DSSSL スタイルシート |
docbook-utils
|
V:1, I:16 | 220 | xml/dsssl |
docbook2* コマンドで DSSSL を使って DocBook ファイルを他のフォーマットに (HTML,
RTF, PS, man, PDF) 変換するなどのユーティリティー
|
sgml2x
|
V:0, I:0 | 137 | SGML/dsssl | DSSSL スタイルシートを使う SGML や XML からの変換ソフト |
他のフォーマットから以下を使うと HTML とか XML のデーターを抽出出来ます。
表11.10 テキストデーター変換ツールのリスト
パッケージ | ポプコン | サイズ | キーワード | 説明 |
---|---|---|---|---|
wv
|
V:9, I:16 | 351 | MSWord→any | Microsoft Word から HTML や LaTeX 等への文書変換ソフト |
texi2html
|
V:1, I:18 | 1808 | texi→html | Texinfo から HTML への変換ソフト |
man2html
|
V:0, I:5 | 180 | manpage→html | manpage から HTML への変換ソフト (CGI サポート) |
tex4ht
|
V:2, I:28 | 515 | tex↔html | (La)TeX と HTML 間の変換ソフト |
xlhtml
|
V:4, I:7 | 184 | MSExcel→html | MSExcel .xls から HTML への変換ソフト |
ppthtml
|
V:4, I:7 | 120 | MSPowerPoint→html | MSPowerPoint から HTML への変換ソフト |
unrtf
|
V:3, I:6 | 163 | rtf→html | RTF から HTML 等への文書変換ソフト |
info2www
|
V:4, I:7 | 156 | info→html | GNU info から HTML への変換ソフト (CGI サポート) |
ooo2dbk
|
V:0, I:0 | 941 | sxw→xml | OpenOffice.org SXW 文書から DocBook XML への変換ソフト |
wp2x
|
V:0, I:0 | 156 | WordPerfect→any | WordPerfect 5.0 と 5.1 ファイルから TeX と LaTeX と troff と GML と HTML への変換ソフト |
doclifter
|
V:0, I:0 | 457 | troff→xml | troff から DocBook XML への変換ソフト |
非 XML の HTML ファイルの場合は、これらを整合性ある XML である XHTML に変換できます。XHTML は XML ツールで処理できます。
表11.11 XML整形印刷ツールのリスト
パッケージ | ポプコン | サイズ | キーワード | 説明 |
---|---|---|---|---|
libxml2-utils
|
V:27, I:393 | 147 | xml↔html↔xhtml | xmllint(1) (シンタクスチェック、リフォーマット、整形、他) を含むコマンドライン XML ツール |
tidy
|
V:3, I:29 | 82 | xml↔html↔xhtml | HTML シンタックスチェックソフトとリフォーッマトソフト |
一度適正な 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 に関する多くの参考書が利用可能です。
tex(1)
latex(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
処理ソフトはこれをバックエンドのテキスト処理ソフトとしています。多くの人が 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 ソースは http://tug.ctan.org/tex-archive/systems/knuth/dist/tex/texbook.tex にあり利用可能です。 |
このファイルには必要なマクロのほとんど全てが含まれます。この文書は7から10行をコメントして "\input manmac
\proofmodefalse
" を追加すると
tex(1)
で処理できると聞いた事があります。オンラインバージョンを使うのではなくこの本 (さらに Donald E. Knuth 氏による全ての本)
を購入される事を強く勧めます。しかし、ソースは TeX の入力の非常に良い例です!
次のコマンドでマンページを PostScript で上手く印刷できます。
$ man -Tps some_manpage | lpr
$ man -Tps some_manpage | mpage -2 | lpr
二番目の例は一枚のシートに2ページ印刷します。
Debian システム上では印刷可能なデーターは PostScript フォーマットで表現されます。共通 Unix 印刷システム (CUPS) は非 PostScript プリンタ用のラスタ化のバックエンドプログラムとして Ghostscript を使用します。
印刷データー処理の核心はラスタ画像を生成する Ghostscript という PostScript (PS) インタープリタです。
最新の Artifex からのアップストリーム版 Ghostscript は統合リリースである 8.60 リリースにて AFPL から GPL にライセンス変更され最新の ESP バージョンによる CUPS 関連等の変更をマージしました。
表11.14 Ghostscript PostScript インタープリタのリスト
パッケージ | ポプコン | サイズ | 説明 |
---|---|---|---|
ghostscript
|
V:213, I:694 | 201 | GPL 版 Ghostscript PostScript/PDF インタープリタ |
ghostscript-x
|
V:50, I:101 | 195 | GPL 版 Ghostscript PostScript/PDF インタープリタ - X ディスプレーサポート |
libpoppler19
|
I:474 | 2480 | xpdf PDF ビューワー準拠 PDF レンダリングライブラリー |
libpoppler-glib8
|
V:188, I:437 | 293 | PDF レンダリングライブラリー (GLib 準拠共有ライブラリー) |
poppler-data
|
V:108, I:528 | 11849 | 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:71, I:549 | 437 | pdf→ps,text,… |
PDF ユーティリティー: pdftops , pdfinfo ,
pdfimages , pdftotext ,
pdffonts
|
psutils
|
V:32, I:454 | 201 | ps→ps | PostScript 文書変換ツール |
poster
|
V:1, I:19 | 80 | ps→ps | PostScript ページから大きなポスターを作る |
enscript
|
V:5, I:52 | 2147 | text→ps, html, rtf | ASCII テキストから PostScript か HTML か RTF か Pretty-Print への変換 |
a2ps
|
V:11, I:91 | 4292 | text→ps | 全てを PostScript に変換するソフトと綺麗印刷ソフト |
pdftk
|
V:10, I:55 | 3157 | pdf→pdf |
PDF 文書変換ツール: pdftk
|
mpage
|
V:0, I:10 | 224 | text,ps→ps | シートに複数ページを印刷 |
html2ps
|
V:1, I:12 | 320 | html→ps | HTML から PostScript への変換ソフト |
pdfjam
|
I:8 | 92 | pdf→pdf |
PDF 文書変換ツール: pdf90 , pdfjoin ,
pdfnup
|
gnuhtml2latex
|
V:0, I:4 | 53 | html→latex | html から latex への変換ソフト |
latex2rtf
|
V:0, I:10 | 440 | latex→rtf | LaTeX から MS Word で読める RTF へと文書変換 |
ps2eps
|
V:10, I:123 | 136 | ps→eps | PostScript から EPS (カプセル化済み PostScript) への変換ソフト |
e2ps
|
V:0, I:0 | 188 | text→ps | 日本語符号化サポート付きの Text から PostScript への変換ソフト |
impose+
|
V:0, I:1 | 180 | ps→ps | PostScript ユーティリティー |
trueprint
|
V:0, I:0 | 188 | text→ps | 多くのソースコード (C, C++, Java, Pascal, Perl, Pike, Sh, Verilog) の PostScript への綺麗印刷 (C 言語) |
pdf2svg
|
V:0, I:5 | 50 | ps→svg | PDF からスケール可のベクトルグラフィクス (SVG) フォーマットへの変換ソフト |
pdftoipe
|
V:0, I:1 | 83 | ps→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:13, I:158 | 1436 | メール | shar(1) と unshar(1) と uuencode(1) と uudecode(1) |
mpack
|
V:4, I:63 | 116 | MIME | MIME メッセージの符号化と逆符号化のソフト: mpack(1) と munpack(1) |
tnef
|
V:8, I:14 | 132 | ms-tnef | Microsoft のみのフォーマットの "application/ms-tnef" タイプの MIME アタッチメントを開梱 |
uudeview
|
V:1, I:8 | 120 | メール | 次のフォーマットのエンコーダーとデコーダー: uuencode, xxencode, BASE64, quoted printable, BinHex |
readpst
|
I:1 | 21 | PST | Microsoft のOutlook PST ファイルから mbox フォーマットへ変換 |
![]() |
ヒント |
---|---|
インターネットメッセージアクセスプロトコル バージョン4 (IMAP4) サーバー (「POP3/IMAP4 サーバー」参照下さい) は、プロプライエタリメールシステムのクライアントソフトが IMAP4 サーバーも使えるように設定できる場合、プロプライエタリメールシステムからメールを取り出すのに利用できるかもしれません。 |
メイル (SMTP) データーは7ビットに限定されるべきです。だからバイナリーデーターや8ビットテキストデーターは7ビットのフォーマットに Multipurpose Internet Mail Extensions (MIME) と選択された文字セット (「符号化方式の基本」参照下さい) を使ってエンコードされます。
標準のメールストレージフォーマットは 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 サーバー (「POP3/IMAP4 サーバー」参照下さい) と話せる非 Debian クライアントからあなたの非 Unix メールデーターがアクセス出きるなら、あなた自身の IMAP4 サーバーを実行することでメールデーターを引き出せるかもしれません。 |
![]() |
注記 |
---|---|
もし他のメールストレージフォーマットを使っている場合、mbox フォーマットに移動するのが良い第一歩です。mutt(1) のような汎用クライアントプログラムはこれに非常に便利です。 |
メールボックスの内容は procmail(1) と formail(1) を使って各メッセージに分割できます。
各メールメッセージは mpack
パッケージにある
munpack(1)
(または他の専用ツール) を使って開梱して MIME 符号化された内容を取り出せます。
印刷可能なデーターに用いる次のパッケージが著者の目に止まりました。
表11.17 画像データーツールのリスト
パッケージ | ポプコン | サイズ | キーワード | 説明 |
---|---|---|---|---|
gimp
|
V:119, I:526 | 15404 | 画像 (bitmap) | GNU イメージ操作プログラム |
imagemagick
|
V:226, I:575 | 382 | 画像 (bitmap) | 画像操作プログラム |
graphicsmagick
|
V:7, I:16 | 4604 | 画像 (bitmap) |
画像操作プログラム (imagemagick のフォーク)
|
xsane
|
V:31, I:230 | 763 | 画像 (bitmap) | GTK+ に基づく SANE (Scanner Access Now Easy) 用の X11 フロントエンド |
netpbm
|
V:41, I:573 | 3464 | 画像 (bitmap) | 画像変換ツール |
icoutils
|
V:7, I:40 | 222 | png↔ico(bitmap) | MS Windows のアイコンやカーソールと PNG フォーマット間の変換 (favicon.ico) |
scribus
|
V:19, I:33 | 56876 | ps/pdf/SVG/… | Scribus DTP エディター |
libreoffice-draw
|
V:287, I:409 | 9962 | 画像 (vector) | LibreOffice office スイート - ドロー |
inkscape
|
V:156, I:418 | 79285 | 画像 (vector) | SVG (スケーラブルベクトルグラフィクス) エディター |
dia-gnome
|
V:11, I:19 | 617 | 画像 (vector) | ダイアグラムエディター (GNOME) |
dia
|
V:27, I:48 | 613 | 画像 (vector) | ダイアグラムエディター (Gtk) |
xfig
|
V:16, I:29 | 1594 | 画像 (vector) | X11 下でインテラクティブ生成するソフト |
pstoedit
|
V:24, I:428 | 688 | ps/pdf→画像(vector) | PostScript と PDF ファイルから編集可能なベクトルグラフィクスへの変換ソフト (SVG) |
libwmf-bin
|
V:23, I:409 | 91 | Windows/画像(vector) | Windows メタファイル (ベクトル画像データー) 変換ツール |
fig2sxd
|
V:0, I:1 | 200 | fig→sxd(vector) | XFig ファイルを OpenOffice.org Draw フォーマットに変換 |
unpaper
|
V:2, I:15 | 671 | 画像→画像 | OCR 用のスキャンしたページの後処理ツール |
tesseract-ocr
|
V:4, I:27 | 354 | 画像→テキスト | HP の商用 OCR エンジンの基づくフリーの OCR ソフトウエアー |
tesseract-ocr-eng
|
I:28 | 58870 | 画像→テキスト | OCR エンジンデーター: tesseract-ocr の英文用言語ファイル |
gocr
|
V:3, I:33 | 473 | 画像→テキスト | フリー OCR ソフト |
ocrad
|
V:1, I:12 | 265 | 画像→テキスト | フリー OCR ソフト |
eog
|
V:138, I:417 | 9453 | 画像(Exif) | 画像ビューアープログラム Eye of GNOME |
gthumb
|
V:26, I:50 | 3797 | 画像(Exif) | 画像ビューアー兼ブラウザー (GNOME) |
geeqie
|
V:20, I:33 | 1520 | 画像(Exif) | GTK+ を用いた画像ビューアー |
shotwell
|
V:42, I:350 | 5660 | 画像(Exif) | デジタル写真オーガナイザー (GNOME) |
f-spot
|
V:1, I:7 | 9088 | 画像(Exif) | 個人写真管理アプリケーション (GNOME) |
gtkam
|
V:1, I:12 | 1255 | 画像(Exif) | デジタルカメラからメディアを回収するアプリケーション (GTK+) |
gphoto2
|
V:1, I:20 | 1036 | 画像(Exif) | gphoto2 デジタルカメラコマンドライン版クライアント |
gwenview
|
V:36, I:92 | 3788 | 画像(Exif) | 画像ビューア (KDE) |
kamera
|
V:5, I:90 | 238 | 画像(Exif) | KDE アプリケーション用デジタルカメラサポート |
digikam
|
V:9, I:26 | 8570 | 画像(Exif) | デジタル写真管理アプリケーション |
exiv2
|
V:14, I:228 | 226 | 画像(Exif) | EXIF/IPTC メタデーター操作ツール |
exiftran
|
V:3, I:33 | 91 | 画像(Exif) | デジタルカメラの jpeg 画像を変換 |
jhead
|
V:3, I:23 | 125 | 画像(Exif) | Exif に準拠の JPEG (デジタルカメラ写真) ファイルの非画像部を操作 |
exif
|
V:1, I:13 | 370 | 画像(Exif) | JPEG ファイル中の EXIF 情報を表示するコマンドラインユーティリティー |
exiftags
|
V:0, I:4 | 198 | 画像(Exif) | デジタルカメラの JPEG ファイルから Exif タグを読むユーティリティー |
exifprobe
|
V:0, I:3 | 484 | 画像(Exif) | デジタル写真からメタデーターを読み出す |
dcraw
|
V:5, I:34 | 311 | 画像(Raw)→ppm | 生のデジタルカメラ画像のデコード |
findimagedupes
|
V:0, I:2 | 123 | 画像→fingerprint | 視覚的な類似画像と重複画像の検出 |
ale
|
V:0, I:0 | 757 | 画像→画像 | 忠実度を上げたりモザイクを作成するための画像のマージ |
imageindex
|
V:0, I:0 | 171 | 画像(Exif)→html | イメージから静的な HTML ギャラリーを生成 |
bins
|
V:0, I:0 | 1173 | 画像(Exif)→html | XML と EXIF タグを使って静的 HTML 写真アルバムを作成 |
outguess
|
V:0, I:0 | 252 | jpeg,png | 普遍的 Steganographic ツール |
librecad
|
V:11, I:17 | 4143 | DXF | CAD データーエディター (KDE) |
blender
|
V:5, I:34 | 59753 | blend, TIFF, VRML, … | アニメーション等用の 3D コンテントエディター |
mm3d
|
V:0, I:1 | 5171 | ms3d, obj, dxf, … | OpenGL 準拠の 3D モデルエディター |
open-font-design-toolkit
|
I:0 | 27 | ttf, ps, … | オープンフォントデザイン用のメタパッケージ |
fontforge
|
V:1, I:11 | 2500 | ttf, ps, … | PS と TrueType と OpenType のフォント用フォントエディター |
xgridfit
|
V:0, I:0 | 1060 | ttf | TrueType フォントをグリッドフィッティングとヒンティング用のプログラム |
![]() |
ヒント |
---|---|
aptitude(8)
の正規表現 " |
gimp(1) のような GUI プログラムは非常に強力ですが、imagemagick(1) 等のコマンドラインツールはスクリプトでイメージ操作を自動化するのに非常に便利です。
デジタルカメラのファイルフォーマットのデファクト標準は、追加のメタデーター付きの JPEG 画像ファイルフォーマットである交換可能な画像ファイルフォーマット (EXIF) です。EXIF は日付や時間やカメラ設定等の情報を保持できます。
Lempel-Ziv-Welch (LZW) ロス無しデーター圧縮特許の期限は切れました。LZW データー圧縮を使う画像交換フォーマット (GIF) ユーティリティーは Debian システム上で自由に利用可能となりました。
![]() |
ヒント |
---|---|
リムーバブル記録メディア付きのどのデジタルカメラやスキャナーも、カメラファイルシステム用デザインルール に準拠し FAT ファイルシステムを使っているので USB ストレージ読取り機を経由すれば Linux で必ず機能します。「リムーバブルストレージデバイス」参照下さい。 |
多くのデーター変換プログラムがあります。aptitude(8)
で"~Guse::converting
" という正規表現 (「aptitude を使った探索方法」参照下さい)
を使い次のプログラムが私の目に止まりました。
RPM フォーマットからのデーター抽出もまた次のようにするとできます。
$ rpm2cpio file.src.rpm | cpio --extract