diff --git a/support/documents/document/font.html b/support/documents/document/font.html index a44c3ef..21d577c 100644 --- a/support/documents/document/font.html +++ b/support/documents/document/font.html @@ -1,103 +1,103 @@
-「KDE の起動が遅い! アプリケーションの動作が重い!」
-よくこのような苦情が寄せられます。
KDE 莎桁鐚≪宴若激с潟篏鐚
+絲障
フォントの設定を適切に行わないと上記のような症状が発生します。
-ホームディレクトリに .qti18nrc というファイルを作って
-以下の内容を記述してみてください。
潟荐絎茵筝荐吟榊障
+若c .qti18nrc <ゃ篏c
+篁ヤ絎鴻荐菴違帥
cf. 莎桁絎
--ビットマップ(きれいですが、少し遅いです)
+鐚с絨с鐚
* -alias-fixed-*-*-*--*-*-*-*-c-*-jisx0201.1976-0, \ -alias-fixed-*-*-*--*-*-*-*-c-*-jisx0208.1983-0-TrueType(フリー版)
+TrueType鐚主鐚
fixed -alias-fixed-*-*-*--*-*-*-*-c-*-jisx0201.1976-0, \ -alias-fixed-*-*-*--*-*-*-*-c-*-jisx0208.1983-0 helvetica -alias-fixed-*-*-*--*-*-*-*-c-*-jisx0201.1976-0, \ -aliastt-gothic-*-*-*--*-*-*-*-c-*-jisx0208.1983-0 * -alias-fixed-*-*-*--*-*-*-*-c-*-jisx0201.1976-0, \ -aliastt-mincho-*-*-*--*-*-*-*-c-*-jisx0208.1983-0-TrueType(CR版)
+TrueType鐚CR鐚
fixed -alias-fixed-*-*-*--*-*-*-*-c-*-jisx0201.1976-0, \ -alias-fixed-*-*-*--*-*-*-*-c-*-jisx0208.1983-0 helvetica -dynalab-dfgothicp-*-*-*--*-*-*-*-c-*-jisx0201.1976-0, \ -dynalab-dfgothicp-*-*-*--*-*-*-*-c-*-jisx0208.1983-0 * -dynalab-dfminchop-*-*-*--*-*-*-*-c-*-jisx0201.1976-0, \ -dynalab-dfminchop-*-*-*--*-*-*-*-c-*-jisx0208.1983-0
調査中+
茯炊私賢-
調査中+
茯炊私賢
調査中+
茯炊私賢
-パッケージから以下をインストールしてください。 +宴若吾篁ヤゃ潟鴻若--
- お使いのグラフィックボードに対応した X-TT サーバ
+- 篏帥違c若絲上 X-TT 泣若
- ja-truetypefonts
+鐚障с若潟絨絖с茵腓冴絨羹違障鐚
-(あくまでフリーのフォントのため、小さい文字では表示が少々潰れます)fixed -misc-fixed-*-*-*--*-*-*-*-c-*-jisx0201.1976-0, \ -misc-fixed-*-*-*--*-*-*-*-c-*-jisx0208.1983-0 helvetica -misc-fixed-*-*-*--*-*-*-*-c-*-jisx0201.1976-0, \ -wadalab-gothic-*-*-*--*-*-*-*-c-*-jisx0208.1983-0 * -misc-fixed-*-*-*--*-*-*-*-c-*-jisx0201.1976-0, \ -watanabe-mincho-*-*-*--*-*-*-*-c-*-jisx0208.1983-0
(注) -日本語 KDE があらかじめ設定済みのディストリビューションは省略しています。
+鐚羈鐚 +ユ茯 KDE 荐絎羝帥c鴻ャ若激с潟ャ障
- +始めるにあたって1つのメニューを含むメニューバーだけから構成されるとても簡単なGUIを作ってみましょう。`Exit'コマンドだけをメニューに含みます。このむしろ謙虚なものから、私たちはアプリケーションをシンプルながら機能的なエディタに拡張していきたいと思います。これはチュートリアルにしては手ごわいものかも知れませんが、QtやKDEによって提供されているコンポーネントを再利用することを見ることで簡単に練習できます。私は最初にコードを見せてあとで詳しく追っていきます。全てのサンプルコードはKDEの開発者用ウェブサイトのhttp://developer.kde.org/examples.tar.gzから自由にダウンロードできます。 +絨 +KDEGUI篏√純GUI潟潟若潟肴Qt箴若若с膂≦с障筝綛吾紊ч<ゃ潟純若鴻潟若鐚箴KDE篏鐚荅括完鴻ャ<潟сGUI篏c腟水茯ャ若≪障с吾吾箴с隙茘域`違≪潟'URL泣若潟ゃ潟罘純膂≦KDE≪宴若激с潟篏c障吾C++堺潟潟ゃ馹ゃ茯障cGUI腟水茯障 +
紮c1ゃ<ャ若<ャ若若罕膂≦GUI篏c帥障`Exit'潟潟<ャ若帥障茗腱<≪宴若激с潟激潟罘順c帥≦宍障ャ若≪ャ障QtKDEc箴潟潟若潟荀х亜膩雁с障腱潟若荀ц潟颷純c障泣潟潟若KDE肴с泣ゃhttp://developer.kde.org/examples.tar.gz宴潟若с障
#ifndef EDIT_H #define EDIT_H #include <ktopwidget.h> class Edit : public KTopLevelWidget { Q_OBJECT public: Edit(); ~Edit(); public slots: void commandCallback(int id_); private: - // 子ウィジェット + // 絖c吾с KMenuBar *menu; }; #endif // EDIT_H |
#include <kapp.h> #include <kmenubar.h> #include "edit.h" const int ID_EXIT= 111; Edit::Edit() { QPopupMenu *file = new QPopupMenu; file->insertItem(klocale->translate("Exit"), ID_EXIT); menu = new KMenuBar( this ); CHECK_PTR( menu ); menu->insertItem( klocale->translate("File"), file ); menu->show(); setMenu(menu); - // 互いを接続します + // 篋・膓障 connect (file, SIGNAL (activated (int)), SLOT (commandCallback (int))); } Edit::~Edit() { } void Edit::commandCallback(int id_) { switch(id_) { case ID_EXIT: exit(0); break; } } #include "edit.moc" |
私たちは今、コンストラクタを最初に見ることによりEditクラスのインプリメントを学びます。コンストラクタはQPopupMenuオブジェクトを生成します、これはFileメニューです。私たちはinsertItem() -メソッドを使って`Exit'アイテムを追加します。最初のパラメターはメニューで表示される文字列で、2番目は整数のidです(あなたはクラスドキュメンテーションを見ることで、クラスの全てのメソッドを見つけることができます)。翻訳のためのアプレットの準備としてただの'Exit'文字列のラベルをセットする代わりにklocale->translate() -を呼びます。ユーザーが見るであろうどんな文字列もこうされるべきです。私たちは私たち独自のKLocaleオブジェクトを作る必要はありません、というのはKApplication(全てのKDEアプリケーションオブジェクトの基本クラス)が作ってくれるからです。私たちはkapp.hによって提供されるklocaleマクロを使ってKLocateオブジェクトにアクセスします。 -
次に私たちがやることは私たちのメニューを含むメニューバーを作ることです、私たちはKMenuBarウィジェットを使ってこれをやります。CHECK_PTRマクロ(ウィジェットがうまく作られたかを確かめる)はQtが供給するパラメターが0かどうかをチェックするマクロです(もしパラメターが0ならアプリケーションをエラーともに終了させます)。私たちは私たちがメニューエントリを作ったのとほぼ同じ方法で'File'アイテムを作ります(この一致は驚くに足りません、なぜならQPopupMenuとKMenuBarは同じ基本クラスQMenuDataを継承しているからです)。再び私たちはKLocaleを呼ぶ必要があります、というのは'File'という文字列はユーザーに見えるからです。私たちはshow() -メソッドを使ってメニューを表示し、KTLWにsetMenu()でメニューを管理することを知らせます。 -
私たちのアプレットが動くようにするための最後のステージは、メニューバーエントリをアプリケーションが終了するためのコードと接続することです、これはconnect() -呼び出しによって行なわれます。Qtアプリケーション(つまりKDEアプリケーション)はウィジェットを繋げるためにシグナルとスロットを使います。ウィジェット(もしくは他のあらゆるQObject)は状態が変わった時はいつでもシグナルを発行します。私たちのアプレットではQPopupMenuがユーザーがメニューアイテムを選択した時に発行する +
腱<篁潟潟鴻帥荀Edit鴻ゃ潟<潟絖潟障潟潟鴻帥QPopupMenu吾с障File<ャ若с腱<insertItem() +<純篏帥c`Exit'≪ゃ菴遵障<帥若<ャ若ц;腓冴絖с2贋違idс鐚鴻ャ<潟若激с潟荀с鴻<純荀ゃс障鐚膺肢┳≪羣'Exit'絖祉篁cklocale->translate() +若潟障若吟若荀с絖鴻с腱<腱∞KLocale吾с篏綽荀障KApplication鐚KDE≪宴若激с潟吾с堺刻篏cс腱<kapp.hc箴klocale篏帥cKLocate吾с≪祉鴻障 +
罨<腱<腱<<ャ若<ャ若若篏с腱<KMenuBarc吾с篏帥c障CHECK_PTR(c吾с障鋎腆冴)Qt箴腟<帥若0сс(<帥若0≪宴若激с潟若腟篋障)腱<腱<<ャ若潟篏c祉弱号'File'≪ゃ篏障(筝眼薊莇潟障QPopupMenuKMenuBar堺QMenuData膓帥с)括<KLocale若九荀障'File'絖若吟若荀с腱<show() +<純篏帥c<ャ若茵腓冴KTLWsetMenu()с<ャ若膊∞ャ障 +
腱<≪緇鴻若吾<ャ若若潟≪宴若激с潟腟篋潟若・膓сconnect()
+若喝冴c茵障Qt≪宴若激с(ゃ障KDE≪宴若激с)c吾с膵激違鴻篏帥障c吾с(篁QObject)倶紊cゃс激違肴障腱<≪сQPopupMenu若吟若<ャ若≪ゃ御肴
activated()
-シグナルを使用します。このシグナルはEdit クラスで宣言された
+激違篏睡障激違Edit 鴻уh
commandCallback()
-スロットに接続しなければなりません。 commandCallback() を見て分かるように、スロットは通常のメソッドと違いはそうありません。唯一の違いは宣言で、このメソッドはヘッダーファイルにあるスロットです。commandCallback()
-は渡されたパラメターが定数 ID_EXIT--私たちが'Exit'メニューアイテムを識別するのと同じ定数--だったらプログラムを終了します。シグナルとスロットはパラメターを持て、それらは他のメソッドのパラメターと同様に扱えます。Qtはシグナルのtype
-signatureがスロットのそれとマッチするか(そしてマッチしなければエラーを返します)をチェックします。さて、Editコンストラクタのconnect()
-メソッド呼び出しのところを見てみましょう。
+鴻・膓違障 commandCallback() 荀鴻絽吾<純障筝絎hс<純若<ゃ鴻сcommandCallback()
+羝<<帥若絎 ID_EXIT--腱<'Exit'<ャ若≪ゃ茘ャ絎--c違腟篋障激違鴻<帥若篁<純<帥若罕宴障Qt激違type
+signature鴻(違若菴障)с障Edit潟潟鴻帥connect()
+<純若喝冴荀帥障
connect (file, SIGNAL (activated (int)), SLOT (commandCallback (int))); |
最初のパラメターはシグナルを排除するオブジェクトで、私たちのケースでは -QPopupMenu file です。次のパラメターは接続されるべきシグナルです。あなたはシグナルの名前とそのパラメターの型をSIGNAL()マクロを使って特定しなくてはなりません(というのはパラメターはクラスヘッダーファイルかクラスドキュメントに現れるからです)。connect() -が取る最後のパラメターはSLOT() マクロを使って特定されるスロットで、前と同様そのパラメターも特定します。Qtは実行時に、もし接続が無効だと知らせます。QObjectはたくさんのオーバーロードバージョンのconnect() -メソッドを提供します、詳しくはQt クラスドキュメントを御覧下さい。ひとつのシグナルをひとつ以上のスロットに接続することや、ひとつ以上のシグナルをひとつのスロットに接続することは全く問題はありません。 -
この簡単なアプレットで注意しておかなければならない最後の特徴はクラスインプリメントの最後の方でインクルードしたedit.mocファイルです。`moc'ファイルはmocプリプロセッサーの出力で、QObjectを継承するどんなクラスにも適用されなければいけません。あなたは通常直接mocを呼び出すよりmakefile経由で呼び出すでしょう。そしてその出力はあなたのアプリケーションにコンパイル、リンクされることを確かめておいて下さい。これを確かめるもっとも簡単な方法は単純にmoc出力をここで使ったクラスインプリメントのアプローチのようにインクルードすることです。あなたがクラス宣言の部分を変更した時にmocが再実行されることを確かめておくことは重要です、というのはそうでないなら変なエラーが出てしまうからです。 -
あなたはこんな全く使えないアプレットを作るには多過ぎる作業だと考えたでしょう、しかし私たちは長い道のりを来ました。私たちはセッションマネージメント、メニュー作成、国際化、Qtの基礎シグナルとスロットを学びました。次のステージでは私たちのアプレットを実際に何かをさせるようにします! +
<帥若激違ゃ吾сс腱<宴若鴻с +QPopupMenu file с罨<<帥若・膓鴻激違с激違<帥若SIGNAL()篏帥c劫障鐚<帥若鴻若<ゃ鴻ャ<潟憗с鐚connect() +緇<帥若SLOT() 篏帥c劫鴻с罕<帥若劫障Qt絎茵・膓≦鴻ャ障QObject若若若若吾с潟connect() +<純箴障荅潟Qt 鴻ャ<潟緇∴Η筝蚊ゃ激違蚊や札筝鴻・膓蚊や札筝激違蚊ゃ鴻・膓馹障 +
膂≦≪ф絵違緇劫彰鴻ゃ潟<潟緇鴻сゃ潟若edit.moc<ゃс`moc'<ゃmoc祉泣若阪сQObject膓帥鴻違障絽悟贋・moc若喝冴makefile腟宴у若喝冴с阪≪宴若激с潟潟潟ゃ潟腆冴筝腆冴c膂≦号膣moc阪т戎c鴻ゃ潟<潟≪若ゃ潟若с劫h紊眼moc絎茵腆冴荀сс紊若冴障с +
鋎帥≪篏紊篏罐с腱<激ャ障腱<祉激с潟若吾<潟<ャ寂初Qt榊激違鴻絖潟障罨<鴻若吾с腱<≪絎篏障!
あなたはこのチュートリアルのソースファイルのexample2でこのバージョンの +罘純菴遵 +篁腱<榊ャcс<c蚊с腱c祉激с潟сc荅潟潟若菴純障腱<≪篏сс腴膩障 +
ャ若≪純若鴻<ゃexample2с若吾с潟 Edit -の完全なコードが見れます。 +絎潟若荀障
Qtはテキストを編集するウィジェット、QMultiLineEditを提供します。これは私たちのエディタアプレットの核をなします。私たちはEdit -クラス宣言の中にあるウィジェットのメンバ変数をこのように宣言します: +
Qt鴻膩c吾сQMultiLineEdit箴障腱<c帥≪吾障腱<Edit
+劫h筝c吾с<潟紊違絎h障:
QMultiLineEdit *view; |
view= new QMultiLineEdit(this, "Main View"); setView(view); |
私たちは既にどうやってメニューアイテムを追加するかを知っています、よってloadとsaveのために新しいものを追加するのは簡単です。そのコードは'Exit' -アイテムとほぼ同じです(今私たちには ID_SAVEのような定数が新しいコマンドのために必要なことに注意して下さい)。 +
腱<≪c<ャ若≪ゃ菴遵ャc障cloadsave違菴遵膂≦с潟若'Exit'
+≪ゃ祉弱с(篁腱< ID_SAVE絎違違潟潟綽荀羈筝)
file->insertItem(klocale->translate("Open..."), ID_OPEN ); file->insertItem(klocale->translate("Save"), ID_SAVE); file->insertItem(klocale->translate("Save As..."), ID_SAVEAS); |
今私たちはメニューアイテムを作成しました。残りの仕事はそれらが何かをするようにすることです。必要なコードは非常に直接的です。最初に`Open' -コマンドを見てみましょう。私たちがしなければならないことはommandCallback() -スロットのswitchのところに新しいcaseを作ることです。 +('...')х潟若羈筝≪ゃ御c若吟若眼宴羆ゃ≪違茵腓冴腓冴障ャ篏帥祉弱筝GUI号сg緇鴻с +
篁腱<<ャ若≪ゃ篏障罧篁篋篏с綽荀潟若絽吾贋・с`Open'
+潟潟荀帥障腱<違ommandCallback()
+鴻switch違case篏с
case ID_OPEN: name= QFileDialog::getOpenFileName(); if (!name.isEmpty()) { load(name); } break; |
loadメソッドは選択したファイルの中身を読み込むためにQFileクラスを使います。QFileクラスはQtによって提供され、プラットフォーム非依存のファイルアクセスの方法を提供します。ここでは一回にファイルの中身を1行読むことのできるQTestStreamと組み合わせて使われています。それぞれの行は読まれるたびにテキストウィジェットに付加します。現在のファイル名のトラック名を残しておくことは重要なので(それによって'Save'がインプリメントできる)、即席の +違潟若憘撮<ゃゃ≪違≪<ゃ緇QFileDialog鴻鴻帥c<純障若吟若`Cancel'帥潟若腥冴絖菴障c腱<鴻篏莎激障若吟若<ゃ御load<純若с<ゃ茯粋昭帥c帥c吾с羝<障 +
load<純御<ゃ筝荳茯粋昭QFile鴻篏帥障QFile鴻Qtc箴若箴絖<ゃ≪祉鴻号箴障с筝<ゃ筝荳1茵茯сQTestStream腟水篏帥障茵茯障潟鴻c吾с篁障憜<ゃ罧荀(c'Save'ゃ潟<潟с)喝賢
filename_
-変数をEditクラスに加えます。この値はloadメソッドによってセットされます。
+紊違Edit鴻障ゃload<純c祉障
void Edit::load(const char *filename) { QFile f( filename ); if ( !f.open( IO_ReadOnly ) ) return; view->setAutoUpdate( FALSE ); view->clear(); QTextStream t(&f); while ( !t.eof() ) { QString s = t.readLine(); view->append( s ); } f.close(); view->setAutoUpdate( TRUE ); view->repaint(); filename_= filename; } |
'Save As'コマンドはほとんど'Open'コマンドと同じです。私たちは getSaveFileName()を使います、これはgetOpenFileName()と違って選んだファイル名が存在するファイル名であることを要求しません。saveコマンドは簡単です。もし私たちがファイル名を知っているのなら文章を保存し、そうでないならsaveAs() -コマンドが呼び出します。 +羈鴻<純劫彰<ゃ若潟鴻筝setAutoUpdate()篏帥с<ゃ茯粋昭障障с鴻c吾с祉≦鴻号障違c吾с茵祉сc吾с倶荀сc<ゃ茯粋昭帥腟c<setAutoUpdate()若喝冴贋違鴻障腱<障罩c祉腆冴repaint() +若喝冴障 +
'Save As'潟潟祉'Open'潟潟с腱< getSaveFileName()篏帥障getOpenFileName()c吾<ゃ絖<ゃс荀羆障save潟潟膂≦с腱<<ゃャc腴篆絖сsaveAs()
+潟潟若喝冴障
case ID_SAVE: if (!filename_.isEmpty()) saveAs(filename_); else { name= QFileDialog::getSaveFileName(); if (!name.isEmpty()) saveAs(name); } break; case ID_SAVEAS: name= QFileDialog::getSaveFileName(); if (!name.isEmpty()) saveAs(name); break; |
void Edit::saveAs(const char *filename) { QFile f( filename ); if ( !f.open( IO_WriteOnly ) ) return; QTextStream t(&f); t << view->text(); f.close(); setHint(filename); filename_= filename; } |
case ID_ABOUT: QMessageBox::about(this, "About Edit", "This is a simple text editor example program."); break; |
最初に取り組むことはアプレットにステータスバーを追加することです。わたしたちはそれを現在開いているファイルの名前を表示させるのに使います。KDEはステータスバーウィジェットKStatusBarを提供し、KTLWはその管理ができるのでわたしたちがしなければならないことはそれほど残されていません。KStatusBarはメニューウィジェットととても似たAPIを持っているので何が行なわれているかあなたは分かるでしょう。ステータスバーを表示したあとKTLWにそれを管理させるために報告して下さい。私たちはID_HINTTEXT定数を使ってステータスバーに表示させる文字列を変えることができます。これは -setHint()スロットにインプリメントします。 +
腟≪鴻若帥鴻若菴遵с<憜<ゃ茵腓冴篏帥障KDE鴻若帥鴻若c吾сKStatusBar箴KTLW膊∞сс<違祉罧障KStatusBar<ャ若c吾с篌若APIcт茵с鴻若帥鴻若茵腓冴KTLW膊∞怨筝腱<ID_HINTTEXT絎違篏帥c鴻若帥鴻若茵腓冴絖紊с障
+setHint()鴻ゃ潟<潟障
void Edit::initStatusBar() { statusbar= new KStatusBar(this); statusbar->insertItem("Welcome to Edit", ID_HINTTEXT); statusbar->show(); setStatusBar(statusbar); } void Edit::setHint(const char *text) { statusbar->changeItem(text, ID_HINTTEXT); } |
私たちは例えば読み込みや保存のようにファイル名を変えるようなメソッドをユーザーが呼び出した時、ステータスバーに文字列をセットします。 -
今度はツールバーを追加します。これはちょっと複雑です、というのは私たちがボタンアイコンの割り当てやツールチップのセットをする必要があるからです。私たちはツールバーアイコンの読み込み(とキャッシング)を扱うためにKIconLoaderクラスを利用します。 -このクラスはKDE File System Standardによって指定されるディレクトリでアイコン(私たちはただ普通の、用途に合うアイコンを使います)を検索します。 -私たちはKApplicationによって作られるアイコンローダーにアクセスするためkapp.h -によって提供されるマクロを使います。 +
腱<箴域粋昭帥篆絖<ゃ紊<純若吟若若喝冴鴻若帥鴻若絖祉障 +
篁綺若若菴遵障<c茲с腱<帥潟≪ゃ潟潟蚊綵若祉綽荀с腱<若若≪ゃ潟潟茯粋昭(c激潟)宴KIconLoader鴻障
+鴻KDE File System Standardc絎cс≪ゃ潟(腱<≪ゃ潟潟篏帥障)罎膣≪障
+腱<KApplicationc篏≪ゃ潟潟若若≪祉鴻kapp.h
+c箴篏帥障
void Edit::initToolBar() { KIconLoader *loader = kapp->getIconLoader(); toolbar = new KToolBar(this); toolbar->insertButton(loader->loadIcon("filenew.xpm"), ID_NEW, TRUE, klocale->translate("Create a new file")); toolbar->insertButton(loader->loadIcon("fileopen.xpm"), ID_OPEN, FALSE, klocale->translate("Open a file")); toolbar->insertButton(loader->loadIcon("filefloppy.xpm"), ID_SAVE, FALSE, klocale->translate("Save the current file")); addToolBar(toolbar); toolbar->setBarPos(KToolBar::Top); toolbar->show(); connect(toolbar, SIGNAL(clicked(int)), SLOT(commandCallback(int))); } |
私たちはツールバー"clicked"シグナルをメニューで使ったのと同じスロットに接続します。これは全く安全です。というのはコマンドそれぞれに同じidナンバーを使っているので、わたしたちは多くのシグナルを欲しいだけスロットに自由に接続することができます。 -
ユーザーインターフェースのデザイン時にユーザーが働きようがない操作を呼び出すことを防止するのは一般的に良い練習です。私たちはこれをQtでアプリケーションの状態に依存して、ウィジェットを有効・無効にすることで行ないます。例えばもしあなたが文章を変更していないのに、元のファイルに保存することはナンセンスです(ただし違うファイルに保存することは有用です)。全てのQt,KDEのウィジェットはウィジェットを`grey -out'し無効にする setEnabled() メソッドを持っています。 -
KMenuBarとKToolbarは両方ともコマンドidによって特定されるエントリーの状態をセットするメソッドを提供することによってそれらのエントリーを有効・無効にするプロセスを簡単に作れます。わたしたちはこれら両方enableCommand()のインプリメントの中で呼び出します。 +若若≪ゃinsertButton()若喝冴篏障<純≪ゃ潟(KIconLoader篏帥c≪祉)潟潟id帥潟鴻c違若腴<帥若障腱<絽i18n泣若klocale->translate()с若障 +
腱<若"clicked"激違<ャ若т戎c鴻・膓障鎘с潟潟id潟若篏帥cс<紊激違罨蚊鴻宴・膓с障 +
若吟若ゃ潟帥若с若鴻吟ゃ恰若吟若篏若喝冴我≪筝膩雁с腱<Qtс≪宴若激с潟倶箴絖c吾с鴻紫≦鴻ц障箴違腴紊眼<ゃ篆絖潟祉潟鴻с(<ゃ篆絖с)Qt,KDEc吾сc吾с`grey +out'≦鴻 setEnabled() <純c障 +
KMenuBarKToolbar筝≧鴻潟潟idc劫潟若倶祉<純箴c潟若鴻紫≦鴻祉鴻膂≦篏障<筝≧enableCommand()ゃ潟<潟筝у若喝冴障
-void Edit::enableCommand(int id) //スロット +void Edit::enableCommand(int id) //鴻 { toolbar->setItemEnabled(id, true); menu->setItemEnabled(id, true); } - void Edit::disableCommand(int id) // スロット + void Edit::disableCommand(int id) // 鴻 { toolbar->setItemEnabled(id, false); menu->setItemEnabled(id, false); } |
void Edit::textChanged() { modified= true; enableCommand(ID_SAVE); enableCommand(ID_SAVEAS); } |
あなたがこのセクションのエディタに最後に加えることは、エディタに保存されていない変更がある時にユーザーが終了しようとした時に表示される確認ダイアログです。 +load,save<純障違違篆<潟潟鴻紫≦鴻紊眼違羈筝泣潟違с紊眼荀с障 +
祉激с潟c帥緇c帥篆絖紊眼若吟若腟篋茵腓冴腆肴ゃ≪違с
ダイアログはexit()メソッドを使ってインプリメントされます。このメソッドは単に変更を指すためにわたしたちが作ったフラグをテストし、警告ダイアログを表示するためにもうひとつのQMessageBoxスタティックメソッドを使います。 +
ゃ≪違exit()<純篏帥cゃ潟<潟障<純紊眼<篏c違鴻茘ゃ≪違茵腓冴蚊ゃQMessageBox鴻帥c<純篏帥障
int Edit::exit() { int die= 0; if (!modified) die= 1; else if (QMessageBox::warning(this, klocale->translate("Unsaved Changes"), "You have unsaved changes, you will loose " "them if you exit now.", "Exit", "Cancel", 0, 1, 1)) die= 0; else die= 1; return die; } |
Qt は ver.2 以降、内部コードが Unicode 化されています。
+Qt ver.2 篁ラ潟若 Unicode 障
-文字列は EUC のまま渡すと文字化けしてしまいます。
-そのため Unicode に変換してから渡す必要があります。
-内部処理の際にも Unicode であることを意識して行う必要があります。
絖 EUC 障丈検絖障障
+ Unicode 紊羝<綽荀障
+ Unicode с顑茵綽荀障
これらは他のライブラリではあまり見掛けない独特な手法です。
-そこで Unicode 関連の処理についてまとめてみました。
篁ゃс障荀鴻羈с
+ Unicode ∫cゃ障帥障
Unicode とは世界中の主要な文字を単一の文字テーブルに定義したものです。
-テーブルは 16bit で表され、理論上 65,536 文字を収録することができます。
Unicode 筝筝筝肢絖筝絖若絎臂с
+若 16bit ц;茫筝 65,536 絖蚊с障
16bit で表された Unicode 体系を UCS-2 といいます。
+16bit ц; Unicode 篏膤祉 UCS-2 障
-従来の char* 型文字列では UCS-2 を処理することができません。
-そのためマルチバイト処理により 8bit 化して
-char* 型文字列として扱えるようにした規格が UTF-8 です。
緇ャ char* 絖с UCS-2 с障
+ゃ 8bit
+char* 絖宴荀若 UTF-8 с
UCS-2 と UTF-8 との変換では情報の欠損がないため、
-表記内容を等価な物として扱うことができます。
-そのため char* 型で処理する必要がある場合には、
-一時的に UTF-8 に変換して処理後に UCS-2 に戻すという作業が必要になります。
UCS-2 UTF-8 紊с宴罨
+茵荐絎鴻膈箴<宴с障
+ char* у綽荀翫
+筝 UTF-8 紊緇 UCS-2 祉篏罐綽荀障
処理対象が UCS-2 または UTF-8 のみであれば
-特に難しいことを考えなくても取り扱うことができるのですが、
-現状では EUC など従来の文字コードがメインのためそうもいきません。
-これが Qt での文字コード処理を複雑にしている主な原因です。
絲乗院 UCS-2 障 UTF-8 帥с
+鴻c宴сс
+憟吟с EUC 緇ャ絖潟若<ゃ潟障
+ Qt с絖潟若茲筝祉с
QString str, str2; str.sprintf("%s", str2); ---> str.sprintf("%s", (const char *)str2.utf8());
(const char *) QString::fromLocal8Bit(str).utf8()
qstring.sprintf(unicodestr, args, ...); ---> qstring = QString::fromUtf8(QCString().sprintf(unicodestr.utf8(), args, ...));
kde.orgにあるチュートリアルの翻訳物です。 -
日本語訳
-
原作
-
本文に出てくるexampleのアーカイブ
+KDE-Tutorial "KDEGUI篏"
+
kde.orgャ若≪膺肢┳с +
ユ茯荐
+
篏
+
冴example≪若ゃ
diff --git a/support/documents/document/start_time.html b/support/documents/document/start_time.html index 8369957..21815ee 100644 --- a/support/documents/document/start_time.html +++ b/support/documents/document/start_time.html @@ -1,225 +1,225 @@
-KDE自体少し重いプログラムで日本語化KDEはさらに重くなりますが、しかし最近のマシンでは気になる
-
ことはないと思います。どうしても遅いと感じたら下のデータと比べてみて下さい。もし比べてみてかなり
-
遅い場合は遅くなっている原因があります。大体~/.qti18nrcが原因のことが多いので見直してみて下さい。
-
用語
-
キャッシュある/なし…一回立ちあげたプログラムはメモリにキャッシュが残っていることがあるので
-
次回立ち上げが高速になります。boot直後は当然キャッシュはありません。
+
+
+ユ茯KDE莎桁若
+
KDE篏絨違фユ茯KDE障菴激潟с羂
+
障筝若帥罸鴻帥筝罸鴻帥
+
翫c障紊т~/.qti18nrc紊ц眼帥筝
+
茯
+
c激ャ鐚筝腴<違<≪c激ャ罧c
+
罨≦腴>蕭障boot翫綵吟c激ャ障
--------------------------------------------------------------------------
-
[測定環境]
+
[羝絎医]
CPU: MMX/233, mem: 96MB
OS: VineLinux1.1CR, kernel: 2.0.36
X: XFree3.3.3.1(+X-TT)
-
font: ビットマップフォント
-
[結果]
-
1回目: 57秒 (boot 直後)
-
2回目: 36秒 (X 終了後、再度 startx)
-
[**追加報告**]
-
KDE 以前の問題ですが、ためしに、XF86Config の
-FontPath を最小限にし、
-
使わないフォント(ハングル等)をはずして、フォント数を半分程度にしてみました。
-
結果、以下のようになりました。
-
[計測結果]
-
・KDE
-
ビットマップ
-
boot 直後: 57秒
--> 50秒
-
X再起動: 36秒
--> 20秒
+
font: 潟
+
[腟]
+
1: 57腱 (boot 翫)
+
2: 36腱 (X 腟篋緇綺 startx)
+
[**菴遵怨**]
+
KDE 篁ュ馹сXF86Config
+FontPath 絨
+
篏帥潟(潟違膈)潟違腮綺帥障
+
腟篁ヤ障
+
[荐羝腟]
+
KDE
+
+
boot 翫鐚 57腱
+-> 50腱
+
X莎桁鐚 36腱
+-> 20腱
TrueType
-
boot 直後: 48秒
-
X 再起動: 18秒
-
・WindowMaker(参考)
-
boot 直後: 20秒
-
X 再起動: 11秒
-
ちなみに .qti18nrc は
+
boot 翫鐚 48腱
+
X 莎桁鐚 18腱
+
WindowMaker()
+
boot 翫鐚 20腱
+
X 莎桁鐚 11腱
+
<帥 .qti18nrc
* -alias-fixed-*-*-*--*-*-*-*-c-*-jisx0201.1976-0,
\
-alias-fixed-*-*-*--*-*-*-*-c-*-jisx0208.1983-0
-
XF86Config で5行コメントアウトしました。 +
XF86Config 5茵潟<潟≪障
FontPath "/usr/X11R6/lib/X11/fonts/japanese:unscaled"
FontPath "/usr/X11R6/lib/X11/fonts/TrueType"
FontPath "/usr/X11R6/lib/X11/fonts/misc:unscaled"
FontPath "/usr/X11R6/lib/X11/fonts/75dpi:unscaled"
FontPath "/usr/X11R6/lib/X11/fonts/100dpi:unscaled"
FontPath "/usr/X11R6/lib/X11/fonts/Type1"
# FontPath "/usr/X11R6/lib/X11/fonts/Speedo"
# FontPath "/usr/X11R6/lib/X11/fonts/japanese"
# FontPath "/usr/X11R6/lib/X11/fonts/misc"
# FontPath "/usr/X11R6/lib/X11/fonts/75dpi"
# FontPath "/usr/X11R6/lib/X11/fonts/100dpi"
--------------------------------------------------------------------------
-
[測定環境]
-
キャッシュにある状態ではかりました。
+
鐚紙謙絎医鐚
+
c激ャ倶с障
Vine-Linux 1.0(1 -2.0.36 + glibc-2.0.7 + XFree86-3.3.3.1)
-
Celeron(375MHz(本来は?)) + memory 128MB
-
で kinput2 + kfm + kvt を立ち上げます。
-
~/.cshrcでdateコマンドを実行してkvtに表示された時間と
-
~/.xinitrcの最初に表示させた時間との差をとりました。
+
Celeron(375MHz(ャ?)) + memory 128MB
+
kinput2 + kfm + kvt 腴>障
+
~/.cshrcdate潟潟絎茵kvt茵腓冴
+
~/.xinitrc茵腓冴綏障
1. TrueType fonts
"~/.qti18nrc"
Courier -aliastt-gothic-*-r-normal--0-0-0-0-c-0-jisx0208.1983-0,
-aliastt-mincho-*-r-normal--0-0-0-0-c-0-jisx0208.1983-0
Helvetica -aliastt-gothic-*-r-normal--0-0-0-0-c-0-jisx0208.1983-0,
-aliastt-mincho-*-r-normal--0-0-0-0-c-0-jisx0208.1983-0
*
-aliastt-gothic-*-r-normal--0-0-0-0-c-0-jisx0208.1983-0,
-aliastt-mincho-*-r-normal--0-0-0-0-c-0-jisx0208.1983-0
-
で16秒。 +
16腱
2. Bitmap fonts
Courier -alias-fixed-*-*-*--*-*-*-*-c-*-jisx0201.1976-0,
-alias-fixed-*-*-*--*-*-*-*-c-*-jisx0208.1983-0
Helvetica -alias-fixed-*-*-*--*-*-*-*-*-*-jisx0208.1983-*,
-alias-fixed-*-*-*--*-*-*-*-*-*-jisx0201.1976-*
* -alias-fixed-*-*-*--*-*-*-*-*-*-jisx0208.1983-*,
-alias-fixed-*-*-*--*-*-*-*-*-*-jisx0201.1976-*
-
で19から20秒 -
3. ~/.qti18nrcなし
-
で42から44秒
-
でした。
-
それぞれ2回づつ計測しています。
+
1920腱 +
3. ~/.qti18nrc
+
4244腱
+
с
+
2ャよ羝障
--------------------------------------------------------------------------
-
[測定環境]
+
鐚紙謙絎医鐚
Pentium2-333(417MHz)x2, Memory 128MB,
FreeBSD-3.2R, XFree3.3.3.1+X-TT
-
kpanel,kfm等を立ち上げた場合の時間です。
-
ビットマップ、キャッシュなし: 17秒
-
ビットマップ、キャッシュあり: 11秒
-
TrueType、 キャッシュなし: 16秒
-
TrueType、 キャッシュあり: 10秒
-
.qti18nrcなし、キャッシュなし: 30秒
-
.qti18nrcなし、キャッシュあり: 25秒
-
.qti18nrc は以下のとおりです。
+
kpanel,kfm膈腴>翫с
+
c激ャ: 17腱
+
c激ャ: 11腱
+
TrueTypec激ャ: 16腱
+
TrueTypec激ャ: 10腱
+
.qti18nrcc激ャ: 30腱
+
.qti18nrcc激ャ: 25腱
+
.qti18nrc 篁ヤс
-
・ビットマップ(FreeBSDにVineのAlias-Fixedを入れています) +
祉鐚FreeBSDVineAlias-Fixedャ障鐚
fixed -alias-fixed-*-*-*--14-*-*-*-c-*-jisx0201.1976-0,
-alias-fixed-*-*-*--14-*-*-*-c-*-jisx0208.1983-0
* -alias-fixed-*-*-*--*-*-*-*-c-*-jisx0201.1976-0,
-alias-fixed-*-*-*--*-*-*-*-c-*-jisx0208.1983-0
-
・TrueType +
TrueType
* -wadalab-gothic-*-*-*--*-*-*-*-c-*-jisx0208.1983-0
------------------------------------------------------------------------------
-
[測定環境]
+
鐚紙謙絎医鐚
Cyrix 6x86MX-PR233(200MHz), Memory 64MB
FreeBSD 3.2R, XFree3.3.3.1+X-TT
-
ビットマップ、キャッシュなし: 30秒
-
ビットマップ、キャッシュあり: 22秒
-
TrueType、 キャッシュなし: 30秒
-
TrueType、 キャッシュあり: 20秒
-
.qti18nrcなし、キャッシュなし: 62秒
-
.qti18nrcなし、キャッシュあり: 50秒
-
ビットマップとTrueTypeで時間がほとんど同じです。 -
CyrixのCPUは浮動小数演算が遅いかわりに整数演算が速く、
-
コンパイルや圧縮・解凍では有利だということが言われていましたが、
-
どうもその辺が関係している可能性があります。
-
(ビットマップの展開は整数で、TrueTypeは浮動小数?)
-
CyrixとMMXという違いはあるのですが大体同スペックですので、
-
ちょっとこれは遅すぎるという感じがします。
-
~/.qti18nrc はどの設定しておられるでしょうか?
-
ひょっとして以下のようにすると速くなるかもしれません。
+
c激ャ: 30腱
+
c激ャ: 22腱
+
TrueTypec激ャ: 30腱
+
TrueTypec激ャ: 20腱
+
.qti18nrcc激ャ: 62腱
+
.qti18nrcc激ャ: 50腱
+
TrueTypeф祉с +
CyrixCPU羌絨井膊贋井膊
+
潟潟ゃх軒肢Вс荐障
+
莨冴≫醇с障
+
鐚絮贋違сTrueType羌絨逸鐚
+
CyrixMMXс紊т鴻сс
+
<c障
+
~/.qti18nrc 荐絎с鐚
+
蚊c篁ヤ障
fixed -alias-fixed-*-*-*--14-*-*-*-c-*-jisx0201.1976-0,
-alias-fixed-*-*-*--14-*-*-*-c-*-jisx0208.1983-0
* -alias-fixed-*-*-*--*-*-*-*-c-*-jisx0201.1976-0,
-alias-fixed-*-*-*--*-*-*-*-c-*-jisx0208.1983-0
-
fixedは変な書き方をしていますが、
-
11ポイントで半角2文字が全角1文字と同じ幅になるようにしたためです。
-
(なぜか11ポイントが実際には14ポイントとして表示されるため)
+
fixed紊吾鴻障
+
11ゃ潟у茹2絖茹1絖綛с
+
鐚11ゃ潟絎14ゃ潟茵腓冴鐚
-------------------------------------------------------------------------
-
[測定環境]
+
鐚紙謙絎医鐚
Cyrix 6x86MX-PR233(200MHz), Memory 64MB
Vine Linux 1.1, XFree3.3.3.1+X-TT
-
ビットマップ、キャッシュなし: 38秒
-
ビットマップ、キャッシュあり: 20秒
-
TrueType、 キャッシュなし: 38秒
-
TrueType、 キャッシュあり: 20秒
-
.qti18nrcなし、キャッシュなし: 54秒
-
.qti18nrcなし、キャッシュあり: 35秒
-
ビットマップとTrueTypeで起動時間が同じでした。 +
c激ャ: 38腱
+
c激ャ: 20腱
+
TrueTypec激ャ: 38腱
+
TrueTypec激ャ: 20腱
+
.qti18nrcc激ャ: 54腱
+
.qti18nrcc激ャ: 35腱
+
TrueTypeц儀с
-------------------------------------------------------------------------
-
[測定環境]
+
鐚紙謙絎医鐚
PowerPC604e/200Mhz(PowerMac7600)
512k(2nd cache) , Memory 144MB
-
LinuxPPC 1999(RedHat6.0見当)
+
LinuxPPC 1999(RedHat6.0荀綵)
XFree86-3.3.3.1 + X-TT
kde*-1.1.1+i18n
-
startx(startkde)にかかった時間
-
キャッシュ無し : 34秒
-
キャッシュ有り : 21秒
+
startx(startkde)c
+
c激ョ< : 34腱
+
c激ユ : 21腱
----------------------------------------------------------------------------
-
[測定環境]
+
鐚紙謙絎医鐚
Celeron300A(on 450MHz)x2,memory 128MB
Debian GNU/Linux 2.1(Slink),Linux-2.2.12
XFree3.3.5+X-TT-1.2.1
-
KDE-1.1.2pre3+patchいろいろ
-
同時にkinput2,kterm x2も起動,その他のkde関連のプログラム(kfm等)は立ちあげず
-
フォントにはビットマップフォントを使用
-
で約15秒です。キャッシュにある状態では11秒ぐらいでした。
+
KDE-1.1.2pre3+patch
+
kinput2,kterm x2莎桁,篁kde∫c違(kfm膈)腴<
+
潟潟篏睡
+
膣15腱сc激ャ倶с11腱с
----------------------------------------------------------------------------
-
[測定環境]
+
鐚紙謙絎医鐚
P-MMX166, Memory: 128MB
VineLinux1.1CR,kernel 2.0.36
-
ログインしてkinput2 とkterm が立ち上がるまでの時間を計りました。 -
Boot直後は、 50秒。
-
一旦、ログアウトしてから再ログインしたら 32秒(以降、同じ)
-
試しに、メモリを64MBに落としてみましたが、同じ結果でした。 +
違ゃ潟kinput2 kterm 腴>障с荐障 +
Boot翫 50腱
+
筝違≪違ゃ潟 32腱鐚篁ラ鐚
+
荅<≪64MB純帥障腟с
~/.qti18nrc
fixed -misc-fixed-*-*-*--*-*-*-*-*-*-jisx0201.1976-0,
-misc-fixed-*-*-*--*-*-*-*-*-*-jisx0208.1983-0
* -alias-fixed-*-*-*--*-*-*-*-*-*-jisx0201.1976-0,
-alias-fixed-*-*-*--*-*-*-*-*-*-jisx0208.1983-0
KDEではメッセージ、ドキュメントとも翻訳はメッセージカタログ形式のファイルを使用します。 - 翻訳をやってみようという方は以下を参考にやってみて下さい。ドキュメント翻訳の詳しい仕組みについてはドキュメントの詳細の項で説明しています。一応本家KDE - projectの流儀に乗っ取っていますが一部日本語チームに特化した情報も入っています。
+KDEс<祉若吾ャ<潟膺肢┳<祉若吾帥医就綣<ゃ篏睡障 + 膺肢┳c帥鴻篁ヤc帥筝ャ<潟膺肢┳荅潟篁腟帥ゃャ<潟荅括完ц障筝綽絎KDE + project羌箙ec障筝ユ茯若劫宴ャc障
-既存の翻訳、一部翻訳されたファイル
- またはテンプレートファイルをダウンロードする
- ↓
- 翻訳状況を確認する
- ↓
-
- Kbabelを設定する (翻訳はKBabelというツールを使って行います。KBabelの設定はここ)
-
- ↓
- 対訳表とKDEの独自拡張を読む
- ↓
-
- 訳す
- ↓
- もう一度対訳表を読んで確認
- ↓
- 公表する(KDeveloper-MLか担当宛)
以前は翻訳状況をHTMLにして公開していたのですが手間がかかる、利用者が少ないという理由から +
篁ュ膺肢┳倶HTMLс絨宴
- 現在は更新していません。それではどうやって翻訳状況を確認するかと言うとこれには2つの方法があります。
(1)KBabelを使う
+ 憜贋違障сc膺肢┳倶腆肴荐2ゃ号障
(1)KBabel篏帥
- KBabelのカタログマネージャというツールを使います。これを利用するにはテンプレートと日本語翻訳ファイルを
- インストールし、KBabelの設定でこれらのディレクトリを指定する必要があります。
- (図)カタログマネージャ
(2)i18n.kde.orgの
+ ゃ潟鴻若KBabel荐絎сc絎綽荀障
+ ()帥違若吾
(2)i18n.kde.orgHighscore
- for jaを参照する。
- これは本家が提供しているTranslation Statisticsです。
+ for jaс
+ 絎吟箴Translation Statisticsс
更新中です。しばらくお待ち下さい。旧版はここ。
+ class="c4">絲乗┳茵 +KDEにはgettextにはないメッセージ翻訳の独自拡張があります。これらは間違えると深刻なので気を付けてください。 +
KDEgettext<祉若悟浸荐潟≦宍障羞怨祉ф篁
- msgidが_:や_n:で始まるのが特徴です。_:や_n:で始まる行は訳さないで下さい。
translation information
- これらは翻訳者情報です。アプリケーションのバージョン情報の「翻訳」のところに表示されます。
- 複数人いる場合はカンマで区切ります。
#: _translatorinfo.cpp:1
msgid ""
"_: NAME OF TRANSLATORS\n"
"Your names"
msgstr "Taiki Komoda"
#: _translatorinfo.cpp:3
msgid ""
"_: EMAIL OF TRANSLATORS\n"
"Your emails"
msgstr "kom@kde.gr.jp"
context information
- これは文脈情報です。短縮語とかで分かりづらい場合に翻訳者にこの語がどういう文脈で使われているかを
+ 宴с膰茯уャ翫膺肢┳茯т戎
- 示します。
#: kdecore/klocale.cpp:117
msgid ""
"_: June\n"
"Jun"
- msgstr "6月"
plural form
- これは複数形情報です。gettext-0.10. 36以降で導入されたものとは書式が若干違います。ただ日本語の場合はNo
- Pluralですので
- 単純に下のようになります。
#: kfile/kfiledialog.cpp:1220
kio/defaultprogress.cpp:140
#, c-format
msgid ""
"_n: %n directory\n"
"%n directories"
- msgstr "%n ディレクトリ"
ちなみにgettextは0.10.35を使用するのがいいらしいです。
+<帥gettext0.10.35篏睡с
-[参考]
- Plural=3の言語の場合は以下のようになります。
+
[]
+ Plural=3荐茯翫篁ヤ障
msgid ""
"_n: %n directory\n"
"%n directories"
msgstr ""
"%n Katalog\n"
"%n Kataloga\n"
"%n Katalogiv"
[注意]
- kdelibs.poに以下のような項目があります。
+
[羈]
+ kdelibs.po篁ヤ障
msgid ""
"_: Definition of PluralForm\n"
"Look at klocale.cpp for now"
これは訳すものではなく設定情報です。これに対するmsgstrは"NoPlural"にします。
- (kdelibs.poはできるだけ私がメインテナンスします)
荐潟с頥絎宴с絲障msgstr"NoPlural"障
+ 鐚kdelibs.poс腱<ゃ潟潟鴻障鐚
査読待ちファイル。いままで日本語化されていないファイルがここにあります。ご覧ください。
+ href="http://www.kde.gr.jp/~kom/translation">肢緇<<ゃ障障фユ茯<ゃ障荀с -過去の翻訳ファイルに関してはのここにあります。
+ -まずKBabelを設定してください。
+障KBabel荐絎
-KBabelで翻訳します。
+KBabelх浸荐潟障
-XML/POフォーマット
- KDEでは2.2からドキュメントのフォーマットをXMLに変更しました。これは世界的に標準になりつつあるXMLをドキュメントフォーマットの中核にしようとしたものです。
+
XML/PO若
+ KDEс2.2ャ<潟若XML紊眼障筝罔羣ゃゃXMLャ<潟若筝吾с
- ドキュメントの翻訳には一つ問題がありました。それはもしオリジナルの文書が更新された場合にそれに追随するのが難しいということです。ましてやSGMLやXMLのタグだらけの文書の中の更新された一部分を探し出すのはそれだけで一苦労で肝心の翻訳に労力が割けません。そこで考え出された方法がXMLから擬似的にPOファイル(メッセージカタログ)を作成し、それを既に熟成された感のあるメッセージカタログ翻訳ツールKBabelで翻訳しそれをまたXMLに変換するという方法です。こうすることで翻訳者はタグをほとんど意識することなく、更新された部分も一目瞭然(原文と翻訳が対応した形になっているため)に翻訳だけに集中して作業ができます。POファイルはCVSで自動的に生成され、PO->XMLの変換は各国語のコーディネータが行います。
+ ャ<潟膺肢┳筝ゅ馹障吾吾贋違翫菴初cс障SGMLXML帥違吾筝贋違筝「冴т眼ц綽膺肢┳翫蚊障ц冴号XML篌主PO<ゃ鐚<祉若吾帥逸篏≪<祉若吾帥亥浸荐潟若KBabelх浸荐潟障XML紊号сх浸荐活帥違祉顑贋違筝駈膺肢┳絲上綵≪c鐚膺肢┳筝篏罐с障PO<ゃCVSцPO->XML紊処潟若c若帥茵障
- このように翻訳者が行うKDEドキュメント翻訳のほぼ全ての作業はKBabelで行えます。つまりKBabelさえ使いこなせるようになれば翻訳に協力して頂くことができるということです。もちろんこの上位でどういうことが行われているかを理解していただくことはKDEのドキュメントシステムに対するより深い理解につながりますが、これは必ずしも必要ではありません。いずれにせよKBabelを使うことで効率的なKDEドキュメントの翻訳が行えるでしょう。
>
- ちなみに最初からKBabelで翻訳すればこんな苦労はしなくてすみます;)。
+ <帥KBabelх浸荐潟違眼帥障;)
- この方法はKDE2のドキュメントが存在し、かつほとんど情報が変わっていない場合に有効です。
- 以下の手順でXML/PO化します。ただほとんどの場合ものすごい労力を伴うことに注意してください。
- エンコーディングをUTF8に変更する。ほとんどの場合元ファイルはEUC-JP。
+ 号KDE2ャ<潟絖ゃ祉宴紊c翫鴻с
+ 篁ヤXML/PO障祉翫翫篌眼羈
+ 潟潟若c潟違UTF8紊眼祉翫<ゃEUC-JP
% iconv -f ujis -t utf8 index.docbook > index.xml
% mv index.xml index.docbook
- (注)XMLファイルの拡張子は.xmlではなく.docbookです。
- 一部の記号をXML対応にする(このコマンドは日本語を破壊するので使用しなくても手間は変わらないかもしれません;()
+ 鐚羈鐚XML<ゃ≦宍絖.xmlс.docbookс
+ 筝荐垩XML絲上鐚潟潟ユ茯翫т戎紊障;(鐚
% xmlizer index.docbook
- 日本語の場合一部の文字が破壊されるのでYudit(UNICODEエディタ)で直す;(。このエディタは壊れたシーケンスが入っていてもなんとか編集
+ ユ茯翫筝絖翫Yudit(UNICODEc)х眼;(c帥紕激若宴潟鴻ャc膩
- できます。
+ с障
% yudit index.docbook
- XML的に正しいかのチェック。正しくない場合はYuditで直す(結構エラーが出ます
- ;()。タグがXMLで定義されていないこともあります。
+ XML罩cс罩c翫Yuditх眼(腟罕若冴障
+ ;()帥違XMLу臂障
% checkXML index.docbook
- もしくは
+
% meinproc --check index.docbook
- これでエラーが出なくなったら
+ с若冴c
% meinproc index.docbook
- とするとindex.html以下様々なファイルが作成され、ヘルプの閲覧ができます。(適当なディレクトリで
- 読み込めばスタイルシートのファイルも読み込まれます。)
- この状態で閲覧可能なXMLファイルができました。次にメッセージファイルへの分割を行います。メッセージファイルへの分割はタグをいくつか直せば通ることがありますがたいていの場合パラグラフが足りなかったりタグが異なったりします。Kbabelでメッセージカタログ化されたものを確認すれば不整合が起こっているのが分かるでしょう。そのような場合にはタグを直し、パラグラフが足りないところには
- その場で訳すか原文をはさみます。
- % split2po 原文のXML 翻訳されたXML > app.po
+ index.html篁ヤ罕<ゃ篏画Ηс障鐚綵c
+ 茯粋昭違鴻帥ゃ激若<ゃ茯粋昭障障鐚
+ 倶ч画Η純XML<ゃс障罨<<祉若吾<ゃ吾蚊茵障<祉若吾<ゃ吾蚊帥違ゃ眼育障翫違莇潟c帥違違c障Kbabelс<祉若吾帥医腆肴遺翫莎激cс翫帥違眼違莇潟
+ 眼ц┳帥障
+ % split2po XML 膺肢┳XML > app.po
% kbabel app.po
- この作業でエラーが出なくなり、かつオフセットがなくなったらXMLに戻す際にエラーが起こらないか確認します。
- % po2xml 原文のXML 翻訳されたPOファイル > index.docbook
+ 篏罐с若冴ゃ祉cXML祉若莎激腆肴障
+ % po2xml XML 膺肢┳PO<ゃ> index.docbook
- エラーが出なくなったらようやくそのpo、xmlとも最新のフォーマットに追いつきました。お疲れ様でした。
+ 若冴cpoxml違若菴純ゃ障蚊罕с
- メッセージカタログ化した後は修正はメッセージカタログに対して行います。なぜならKbabelで翻訳する場合パラグラフ内のタグしか見えません。その他のタグは自動的に処理してくれるためここらへんで起こるエラーが防げます。
手順
既存の翻訳、一部翻訳されたファイルとテンプレートファイルをダウンロードする→
-翻訳状況を確認する→ Kbabelを設定する(gettextの知識がない場合は本家
-KDE 国際化ページの KDE 国際化 HOWTOを読む)→
-
対訳表とKDEの独自拡張を読む→
-訳す→ もう一度対訳表を読んで確認→公表する
-
現在KDE-2.2、及びCVS版用の翻訳を募集しています。新規翻訳、翻訳の修正などがありましたら担当までメールを下さい。
-
最後に行なわれた修正が最近の場合でも新しい翻訳が追加されている場合があるので、既存の翻訳も通読してみて下さい。
-
既存の翻訳、一部翻訳されたファイル
-またはテンプレートファイル
-をダウンロードして、その中のpoを翻訳します。
-
翻訳のファイルの標準のエンコーディングは UTF-8
-ですがUTF-8 編集の環境がない場合は日本語 EUC でも構いません。
-
使いなれるとエラーチェックしてくれたりするKBabelはかなり便利なので、できるだけKBabelを使って下さい。
+<祉若吾<ゃ膺肢┳
+<祉若吾<ゃ(腱po<ゃ)膺肢┳潟若若с膺肢┳c帥鴻篁ヤc帥筝
+
筝綽絎KDE project羌箙ec障筝ユ茯若劫宴ャc障
+
√膺肢┳筝膺肢┳<ゃ潟若<ゃ潟若
+膺肢┳倶腆肴 Kbabel荐絎(gettextヨ翫絎
+KDE 初若吾 KDE 初 HOWTO茯)
+
絲乗┳茵KDE≦宍茯
+荐潟 筝綺絲乗┳茵茯х∈茯茵
+
憜KDE-2.2CVS膺肢┳障域靻肢┳膺肢┳篆罩c障綵障с<若筝
+
緇茵篆罩c菴翫с違膺肢┳菴遵翫с√膺肢┳茯帥筝
+
√膺肢┳筝膺肢┳<ゃ
+障潟若<ゃ
+潟若筝po膺肢┳障
+
膺肢┳<ゃ罔羣潟潟若c潟違 UTF-8
+сUTF-8 膩医翫ユ茯 EUC с罕障
+
篏帥若сKBabel箴水ссKBabel篏帥c筝
(2)i18n.kde.orgのHighscore
-for jaを参照する。
-
これは本家が提供しているTranslation Statisticsです。ただし未着手のファイルは表示されていないので
-
注意してください。パッケージ全体の翻訳状況はStatus
-table of KDE Translations for the HEAD branchで参照できます。
+膺肢┳倶腆肴
+篁ュ膺肢┳倶HTMLс絨宴
+
憜贋違障сc膺肢┳倶腆肴荐2ゃ号障
+
(1)KBabel篏帥
+
KBabel帥違若吾c若篏帥障潟若ユ茯膺肢┳<ゃ
+
ゃ潟鴻若KBabel荐絎сc絎綽荀障
+
()帥違若吾
+
(2)i18n.kde.orgHighscore
+for jaс
+
絎吟箴Translation Statisticsс<ゃ茵腓冴
+
羈宴若後篏膺肢┳倶Status
+table of KDE Translations for the HEAD branchусс障
translation information
-
これらは翻訳者情報です。アプリケーションのバージョン情報の「翻訳」のところに表示されます。
-
複数人いる場合はカンマで区切ります。
+
膺肢┳宴с≪宴若激с潟若吾с恰宴膺肢┳茵腓冴障
+
茲遺査翫潟у阪障
#: _translatorinfo.cpp:1
msgid ""
"_: NAME OF TRANSLATORS\n"
"Your names"
msgstr "Taiki Komoda"
#: _translatorinfo.cpp:3
msgid ""
"_: EMAIL OF TRANSLATORS\n"
"Your emails"
msgstr "kom@kde.gr.jp"
context information
-
これは文脈情報です。短縮語とかで分かりづらい場合に翻訳者にこの語がどういう文脈で使われているかを
-
示します。
+
宴с膰茯уャ翫膺肢┳茯т戎
+
腓冴障
#: kdecore/klocale.cpp:117
msgid ""
"_: June\n"
"Jun"
-
msgstr "6月"
+
msgstr "6"
plural form
-
これは複数形情報です。gettext-0.10. 36以降で導入されたものとは書式が若干違います。ただ日本語の場合はNo
-Pluralですので
-
単純に下のようになります。
+
茲医就宴сgettext-0.10. 36篁ラуャ後ュ慌障ユ茯翫No
+Pluralс
+
膣筝障
#: kfile/kfiledialog.cpp:1220 kio/defaultprogress.cpp:140
#, c-format
msgid ""
"_n: %n directory\n"
"%n directories"
-
msgstr "%n ディレクトリ"
-
ちなみにgettextは0.10.35を使用するのがいいらしいです。 -
[参考]
-
Plural=3の言語の場合は以下のようになります。
+
msgstr "%n c"
+
<帥gettext0.10.35篏睡с +
[]
+
Plural=3荐茯翫篁ヤ障
msgid ""
"_n: %n directory\n"
"%n directories"
msgstr ""
"%n Katalog\n"
"%n Kataloga\n"
"%n Katalogiv"
-
[注意]
-
kdelibs.poに以下のような項目があります。
+
[羈]
+
kdelibs.po篁ヤ障
msgid ""
"_: Definition of PluralForm\n"
"Look at klocale.cpp for now"
-
これは訳すものではなく設定情報です。これに対するmsgstrは"NoPlural"にします。
-
(kdelibs.poはできるだけ私がメインテナンスします)
+
荐潟с頥絎宴с絲障msgstr"NoPlural"障
+
鐚kdelibs.poс腱<ゃ潟潟鴻障鐚
KDE-2.2用
-
KDE-2.2用メッセージファイルは現在JKUGでベータテストを行なっております。
-
インストールして不具合を見つけ出して下さい。未翻訳の部分の翻訳も受け付けております。
-
既存の翻訳、一部翻訳されたファイル
-
テンプレートファイル
-
KDE-2.0.1, KDE-2.1, KDE-2.1.1用
-
KDE-2.0.1, KDE-2.1, KDE-2.1.1では本家の配布に含まれます。
-
KDE-2.0用
-
kde-i18n-ja-日付.tar.bz2をダウンロードして下さい。
-
インストールは以下の通りです
-
$ tar xvIf kde-i18n-ja-日付.tar.bz2
+<ゃ臀
+篁ヤ<ゃゃ祉潟鴻GPL2с宴絽с障
+
絽膈х障
+綵障с<若筝
+
KDE-2.2
+
KDE-2.2<祉若吾<ゃ憜JKUGс若帥鴻茵c障
+
ゃ潟鴻若筝桁荀ゃ冴筝膺肢┳膺肢┳篁障
+
√膺肢┳筝膺肢┳<ゃ
+
潟若<ゃ
+
KDE-2.0.1, KDE-2.1, KDE-2.1.1
+
KDE-2.0.1, KDE-2.1, KDE-2.1.1с絎吟絽障障
+
KDE-2.0
+
kde-i18n-ja-ヤ.tar.bz2潟若筝
+
ゃ潟鴻若篁ヤс
+
$ tar xvIf kde-i18n-ja-ヤ.tar.bz2
$ cd kde-i18n-ja
$ ./configure --prefix=$KDEDIR
$ make
$ su
-
パスワード
+
鴻若
# make install
-
KDE-1.1.2 用アップデートパッケージ
-
KDE-1.1.2 には標準で日本語po,kdelnk日本語エントリーが含まれています。
-
KDE-1.1.2 の po ファイルのアップデートパッケージです。
-
解凍後make,make installでインストールされます。
-
(1)KDE-1.1.2用アップデートパッケージ(kde-1.1.2-ja.po_modified.tar.bz2)
-
KDE-1.1.1用
-
最新版では全アプリケーションの po が含まれます。
-
po と mo はどちらかがあれば十分です。両方は要りません。
-
(2)開発者用日本語KDE-1.1.1.poファイル(pofile-ja-1.0.0pre1.tar.bz2)
-
(3)ユーザー用日本語KDE-1.1.1.moファイル(locale-ja-1.0.0pre1.tar.bz2)
-
その他
-
(4)非標準アプリケーション用.poファイル
-
オフィシャルKDEパッケージに含まれないKDEアプリケーションのpoファイルです。
+
KDE-1.1.2 ≪若宴若
+
KDE-1.1.2 罔羣фユ茯po,kdelnkユ茯潟若障障
+
KDE-1.1.2 po <ゃ≪若宴若吾с
+
茹e緇make,make installсゃ潟鴻若障
+
(1)KDE-1.1.2≪若宴若(kde-1.1.2-ja.po_modified.tar.bz2)
+
KDE-1.1.1
+
亥с≪宴若激с潟 po 障障
+
po mo <医с筝≧鴻荀障
+
(2)肴ユ茯KDE-1.1.1.po<ゃ(pofile-ja-1.0.0pre1.tar.bz2)
+
(3)若吟主ユ茯KDE-1.1.1.mo<ゃ(locale-ja-1.0.0pre1.tar.bz2)
+
篁
+
(4)罔羣≪宴若激с括.po<ゃ
+
c激cKDE宴若吾障KDE≪宴若激с潟po<ゃс
ここではKBabelの最低限の設定と使用法について述べていきます。かなりビジュアルに書いたので読み込みに
-
時間がかかるかも知れませんが、分かりやすくなっているはずです。
+
сKBabel篏荐絎篏睡羈ゃ菴違鴻障吾ャ≪吾ц粋昭帥
+
ャ障cс
(画面1 設定の入力を求めるダイアログ)
+KBabel荐絎
+KBabel腴>薛鴻激ャ鴻若潟緇KBabel腴>障
+
腴>荐絎ュ羆ゃ≪違冴ャ障
+
(脂1 荐絎ュ羆ゃ≪)
-
「はい」を押すと次の画面になります。 -
(画面2 設定ダイアログ- 個人情報) +
若罨<脂≪障 +
(脂2 荐絎ゃ≪- 篋堺)
-
ここには自分の名前とメールアドレスを入力して下さい。そのほかの情報は上の画面を参考にして下さい。 -
個人情報の他の大きな設定項目としては「エディタ」、「検索」、「保存」、「カタログマネージャ」、「その他」があります。
-
そのうち「エディタ」に関しては好みで設定して下さい。「その他」はいじる必要が無いと思います。
-
次に「検索」の設定を行います。
-
(画面3 設定ダイアログ-検索) +
<若≪鴻ュ筝祉宴筝脂≪筝 +
篋堺宴篁紊с荐絎c帥罎膣≪篆絖帥違若吾c篁障
+
<c帥≪絅純帥ц┃絎筝篁綽荀<障
+
罨<罎膣≪荐絎茵障
+
(脂3 荐絎ゃ≪-罎膣)
-
検索は翻訳中にデータベース(3種類ありますがこれの設定は後で説明します)の中から検索してきて
-
画面右下部に表示してくれます。「自動的に検索を開始」をチェックすると次のメッセージに移動したときに
-
自動的に検索を開始して表示してくれます。ちなみに3種類というのは以下の通りです。
-
翻訳データベース:内蔵データベースシステムによってローカルにあるファイルからインデックスを作成します。
-
po補助:今までに翻訳されたものを合わせた日本語翻訳ファイルから検索します。
-
po要約:他の言語(ドイツ語とか)のファイルから該当語を探して来ます。普通必要無いでしょう^^;;;
-
相当遅いマシンならともかく(まあ486でKDE使っている人とかいないでしょう^^;)、普通のマシンなら
-
数分でインデックスを作成できるので翻訳データベースを使用するのがよいでしょう。
-
設定は辞書の設定のところで説明します。 -
次に「保存」の項目です。
-
(画面4 設定ダイアログ-保存)
+
罎膣≪膺肢┳筝若帥若(3腮蕁障荐絎緇ц障)筝罎膣≪
+
脂√劽茵腓冴障罎膣≪紮с罨<<祉若吾腱糸
+
罎膣≪紮茵腓冴障<帥3腮蕁篁ヤс
+
膺肢┳若帥若刻泣若帥若鴻激鴻c若<ゃゃ潟鴻篏障
+
po茖鐚篁障с膺肢┳ユ茯膺肢┳<ゃ罎膣≪障
+
po荀膣鐚篁荐茯(ゃ茯)<ゃ荅峨茯「ャ障綽荀<с^^;;;
+
後激潟(障486KDE篏帥c篋冴с^^;)激潟
+
医сゃ潟鴻篏сх浸荐潟若帥若鴻篏睡с
+
荐絎莨吾荐絎ц障 +
罨<篆絖с
+
(脂4 荐絎ゃ≪-篆絖)
-
ここで重要なのはエンコーディングです。これは必ずUTF8にして下さい。KDE2ではほとんどの文字を
-
内部でUTF8で扱っています。メッセージカタログもja.poは全てUTF8になっています。一般的なエディタでは
-
UTF8を扱えないのが多いですが、KBabelでメッセージカタログを扱う分にはほとんど意識しないで済むので
-
ここは必ずUTF8にして下さい。
-
最後にカタログマネージャの項目です。
-
(画面5 設定ダイアログ-カタログマネージャ)
+
ч荀潟潟若c潟違с綽UTF8筝KDE2с祉絖
+
UTF8ф宴c障<祉若吾帥違ja.poUTF8c障筝c帥с
+
UTF8宴紊сKBabelс<祉若吾帥違宴祉顑ф
+
綽UTF8筝
+
緇帥違若吾cс
+
(脂5 荐絎ゃ≪-帥違若吾)
-
まずテンプレートと日本語メッセージファイルをここからダウンロードします。
そして展開したディレ
-クトリをそれぞれ上に指定します。例えば/usr/local/extend/kde-i18nというディレクトリで
これらのファイルを展開した場合は上の画面の
-ようにします。
以上で本体の設定は終了です。なおこれらはメニューバーの「設定」→「KBabelの設定」から再設定できます。 +
障潟若ユ茯<祉若吾<ゃ潟若障
絮c
+筝絎障箴/usr/local/extend/kde-i18nc
<ゃ絮翫筝脂≪
+障
篁ヤф篏荐絎腟篋с<ャ若若荐絎KBabel荐絎荐絎с障
・翻訳データベースの設定
-
「辞書の設定」から「翻訳データベース」を選択すると設定ダイアログが現れます。
-
(画面6 翻訳データベース設定ダイアログ)
+莨吾荐絎
+莨吾荐絎<ャ若若荐絎莨吾荐絎ц障
+
紫浸荐潟若帥若鴻荐絎
+
莨吾荐絎膺肢┳若帥若鴻御荐絎ゃ≪違憗障
+
(脂6 膺肢┳若帥若壕┃絎ゃ≪)
-
グッドキーというのはどれだけクエリーに近いかということです。ここらへんはあまりいじる必要が無いでしょう。
-
データベースインデックスを作成するには上の画面で「ディレクトリ、サブディレクトリをスキャン」を選択して
-
日本語メッセージファイルを展開したできたディレクトリ(さっきの例なら/usr/local/extend/kde-i18n/ja/messages)
-
を指定するとインデックス作成が始まります。数分待ちましょう。
-
・po補助/要約の設定
-
「辞書の設定」から「po補助」または「po要約」を選択すると設定ダイアログが現れます。
-
(画面7 po補助設定ダイアログ)
+
違若若菴с吾障綽荀<с
+
若帥若鴻ゃ潟鴻篏筝脂≪сc泣c鴻c潟御
+
ユ茯<祉若吾<ゃ絮сc(c箴/usr/local/extend/kde-i18n/ja/messages)
+
絎ゃ潟剛紮障障医緇<障
+
po茖/荀膣荐絎
+
莨吾荐絎po茖障po荀膣御荐絎ゃ≪違憗障
+
(脂7 po茖荐絎ゃ≪)
-
ここからダウンロードしたファイルを解凍しそのファイルが置いてあるディレクトリを指定します。
-
変数が使用できますが普通に直接指定すると良いでしょう。
+
潟若<ゃ茹e<ゃ臀c絎障
+
紊違篏睡с障贋・絎с
左上が翻訳する文字列(Msgid)、左下が翻訳を入力するフィールド(Msgstr)、右上が翻訳情報、左下が翻訳結果です。
-
左下の部分に翻訳を入力していきます。文法が間違っていると赤く表示されます。
-
ショートカットキーがいくつか設定されていますが特に以下のショートカットはよく使います。
-
PageDown 次のメッセージ
-
PageUp 前のメッセージ
-
Ctrl+Alt+PageDown 次のFuzzyか未翻訳メッセージ
-
Ctrl+Space MsgidをMsgstrにコピー
-
Ctrl+Alt+Space 検索結果をMsgstrにコピー
-
以上です。KBabelを使ってKDEのメッセージ・ドキュメントをがんがん翻訳して下さい:-)。 +
綏筝膺肢┳絖(Msgid)綏筝膺肢┳ュc若(Msgstr)劽膺肢┳宴綏筝膺肢┳腟с
+
綏筝膺肢┳ュ障羈c莎ゃ頫腓冴障
+
激с若若ゃ荐絎障鴻篁ヤ激с若鋎帥障
+
PageDown 罨<<祉若
+
PageUp <祉若
+
Ctrl+Alt+PageDown 罨<Fuzzy膺肢┳<祉若
+
Ctrl+Space MsgidMsgstr潟
+
Ctrl+Alt+Space 罎膣∝Msgstr潟
+
篁ヤсKBabel篏帥cKDE<祉若吾祉ャ<潟膺肢┳筝:-)
不明な点はkom@kde.gr.jpまでメールを下さい。 -
筝鴻kom@kde.gr.jp障с<若筝 +
back to kde-jp +KDE初 - ユ茯膺肢┳倶 +...贋違2001/01/08 5:00 JST +
この下の表にKDE-2.0のメッセージファイル翻訳の進行状況が載っています。 -
・.poファイルを作ったぞ、もしくはこれは俺が訳すぞ、というのがある方はいう方はMailで送って下さい。
-
致命的なミスがない限りそのまま載せます。
-
・MLのほうに流れてきた情報も気付き次第載せます。
-
・意見、情報等はkom@kde.gr.jp まで
-
・poファイルというのはKDEにおいてはウィンドウのメニューのところを日本語化するファイルです。
-
msgfmt(gettext)というプログラムを使ってコンパイルして使います。メッセージカタログというのが正式名称です。
-
・本家KDE国際化プロジェクトには更新があり次第送っていきます。
-
この表の見方 ○:翻訳済み /△:翻訳中 /-:手つかず /na:not available +
筝茵KDE-2.0<祉若吾<ゃ膺肢┳画倶莠c障 +
.po<ゃ篏c篆冴荐潟鴻鴻Mailчc筝
+
翫順鴻障乗障
+
ML祉羌宴羂篁罨∞莠障
+
紙頳援kom@kde.gr.jp 障
+
po<ゃKDEc潟<ャ若ユ茯<ゃс
+
msgfmt(gettext)違篏帥c潟潟ゃ篏帥障<祉若吾帥違罩e腱違с
+
紙絎KDE初吾с贋違罨∞c障
+
茵荀鴻鐚膺肢┳羝 鐚鰹膺肢┳筝 鐚-鐚ゃ 鐚na鐚not available
パッケージ名 | +宴若後 | -.po(2.0用) | +.po(2.0) | -翻訳者(敬称略) | +膺肢┳(腱亥) |
kdelibs | ||||
---|---|---|---|---|
desktop | -○ 20010104 | +20010104 | -篠原 昇,Taiki Komoda | +膀,Taiki Komoda |
kdelibs | -○ 20010104 | +20010104 | -篠原 昇 | +膀 |
knotify | -○ 20010104 | +20010104 | -篠原 昇 | +膀 |
kdeadmin | ||||
---|---|---|---|---|
kcmlilo | -○ 20010104 | +20010104 | -篠原 昇 | +膀 |
kcron | -○ 20010104 | +20010104 | -篠原 昇 | +膀 |
kdat | -○ 20010104 | +20010104 | -篠原 昇 | +膀 |
kpackage | -○ 20010104 | +20010104 | -篠原 昇 | +膀 |
ksysctrl | -○ 20010104 | +20010104 | -篠原 昇 | +膀 |
ksysv | -○ 20010104 | +20010104 | -篠原 昇 | +膀 |
kuser | -○ 20010104 | +20010104 | -篠原 昇 | +膀 |
kwuftpd | -○ 20010104 | +20010104 | -篠原 昇 | +膀 |
secpolicy | -○ 20010104 | +20010104 | -篠原 昇 | +膀 |
kdebase | ||||
---|---|---|---|---|
appletproxy | -○ 20010104 | +20010104 | -篠原 昇 | +膀 |
childpanelextension | -○ 20010104 | +20010104 | -篠原 昇 | +膀 |
clockapplet | -○ 20010104 | +20010104 | -篠原 昇 | +膀 |
drkonqi | -○ 20010104 | +20010104 | -篠原 昇 | +膀 |
extensionproxy | -○ 20010104 | +20010104 | -篠原 昇 | +膀 |
filetypes | -○ 20010104 | +20010104 | -篠原 昇 | +膀 |
htmlsearch | -○ 20010104 | +20010104 | -篠原 昇 | +膀 |
kaccess | -○ 20010104 | +20010104 | -篠原 昇 | +膀 |
kappfinder | -○ 20010104 | +20010104 | -篠原 昇 | +膀 |
kcmaccess | -○ 20010104 | +20010104 | -篠原 昇 | +膀 |
kcmarts | -○ 20010104 | +20010104 | -篠原 昇 | +膀 |
kcmbackground | -○ 20010104 | +20010104 | -篠原 昇 | +膀 |
kcmbell | -○ 20010104 | +20010104 | -篠原 昇 | +膀 |
kcmcolors | -○ 20010104 | +20010104 | -篠原 昇 | +膀 |
kcmcrypto | -○ 20010104 | +20010104 | -篠原 昇 | +膀 |
kcmemail | -○ 20010104 | +20010104 | -篠原 昇 | +膀 |
kcmenergy | -○ 20010104 | +20010104 | -篠原 昇 | +膀 |
kcmfonts | -○ 20010104 | +20010104 | -篠原 昇 | +膀 |
kcmhtmlsearch | -○ 20010104 | +20010104 | -篠原 昇 | +膀 |
kcmicons | -○ 20010104 | +20010104 | -篠原 昇 | +膀 |
kcmiconthemes | -○ 20010104 | +20010104 | -篠原 昇 | +膀 |
kcminfo | -○ 20010104 | +20010104 | -篠原 昇 | +膀 |
kcminput | -○ 20010104 | +20010104 | -篠原 昇 | +膀 |
kcmkclock | -○ 20010104 | +20010104 | -篠原 昇 | +膀 |
kcmkdb | -○ 20010104 | +20010104 | -篠原 昇 | +膀 |
kcmkeys | -○ 20010104 | +20010104 | -篠原 昇 | +膀 |
kcmkicker | -○ 20010104 | +20010104 | -篠原 昇 | +膀 |
kcmkio | -○ 20010104 | +20010104 | -篠原 昇 | +膀 |
kcmkmix | -○ 20010104 | +20010104 | -篠原 昇 | +膀 |
kcmkonq | -○ 20010104 | +20010104 | -篠原 昇 | +膀 |
kcmkonqhtml | -○ 20010104 | +20010104 | -篠原 昇 | +膀 |
kcmkurifilt | -○ 20010104 | +20010104 | -篠原 昇 | +膀 |
kcmkwm | -○ 20010104 | +20010104 | -篠原 昇 | +膀 |
kcmlaptop | -○ 20010104 | +20010104 | -篠原 昇 | +膀 |
kcmlayout | -○ 20010104 | +20010104 | -篠原 昇 | +膀 |
kcmlilo | -○ 20010104 | +20010104 | -篠原 昇 | +膀 |
kcmlocale | -○ 20010104 | +20010104 | -篠原 昇 | +膀 |
kcmmidi | -○ 20010104 | +20010104 | -篠原 昇 | +膀 |
kcmnotify | -○ 20010104 | +20010104 | -篠原 昇 | +膀 |
kcmodbc | -○ 20010104 | +20010104 | -篠原 昇 | +膀 |
kcmsamba | -○ 20010104 | +20010104 | -篠原 昇 | +膀 |
kcmsample | -○ 20010104 | +20010104 | -篠原 昇 | +膀 |
kcmscreensaver | -○ 20010104 | +20010104 | -篠原 昇 | +膀 |
kcmsmserver | -○ 20010104 | +20010104 | -篠原 昇 | +膀 |
kcmstyle | -○ 20010104 | +20010104 | -篠原 昇 | +膀 |
kcmtaskbar | -○ 20010104 | +20010104 | -篠原 昇 | +膀 |
kcmthemes | -○ 20010104 | +20010104 | -篠原 昇 | +膀 |
kcmvirtualdesktops | -○ 20010104 | +20010104 | -篠原 昇 | +膀 |
kcontrol | -○ 20010104 | +20010104 | -篠原 昇 | +膀 |
kdcop | -○ 20010104 | +20010104 | -篠原 昇 | +膀 |
kdebugdialog | -○ 20010104 | +20010104 | -篠原 昇 | +膀 |
kdesktop | -○ 20010104 | +20010104 | -篠原 昇 | +膀 |
kdesu | -○ 20010104 | +20010104 | -篠原 昇 | +膀 |
kdesud | -○ 20010104 | +20010104 | -篠原 昇 | +膀 |
kdewizard | -○ 20010104 | +20010104 | -篠原 昇 | +膀 |
kdm | -○ 20010104 | +20010104 | -篠原 昇 | +膀 |
kdmconfig | -○ 20010104 | +20010104 | -篠原 昇 | +膀 |
kfindpart | -○ 20010104 | +20010104 | -篠原 昇 | +膀 |
kfmclient | -○ 20010104 | +20010104 | -篠原 昇 | +膀 |
kfmexec | -○ 20010104 | +20010104 | -篠原 昇 | +膀 |
khelpcenter | -○ 20010104 | +20010104 | -篠原 昇 | +膀 |
khotkeys | -○ 20010104 | +20010104 | -篠原 昇 | +膀 |
kicker | -○ 20010104 | +20010104 | -篠原 昇 | +膀 |
kio_help | -○ 20010104 | +20010104 | -篠原 昇 | +膀 |
kio_man | -○ 20010104 | +20010104 | -篠原 昇 | +膀 |
klegacyimport | -○ 20010104 | +20010104 | -篠原 昇 | +膀 |
klipper | -○ 20010104 | +20010104 | -篠原 昇 | +膀 |
klock | -○ 20010104 | +20010104 | -篠原 昇 | +膀 |
kmenuedit | -○ 20010104 | +20010104 | -篠原 昇 | +膀 |
kminipagerapplet | -○ 20010104 | +20010104 | -篠原 昇 | +膀 |
konqueror | -○ 20010104 | +20010104 | -篠原 昇 | +膀 |
konsole | -○ 20010104 | +20010104 | -篠原 昇 | +膀 |
kpager | -○ 20010104 | +20010104 | -篠原 昇 | +膀 |
krdb | -○ 20010104 | +20010104 | -篠原 昇 | +膀 |
krunapplet | -○ 20010104 | +20010104 | -篠原 昇 | +膀 |
ksmserver | -○ 20010104 | +20010104 | -篠原 昇 | +膀 |
ksplash | -○ 20010104 | +20010104 | -篠原 昇 | +膀 |
kstart | -○ 20010104 | +20010104 | -篠原 昇 | +膀 |
ksysguard | -○ 20010104 | +20010104 | -篠原 昇 | +膀 |
ktaskbarapplet | -○ 20010104 | +20010104 | -篠原 昇 | +膀 |
ktip | -○ 20010104 | +20010104 | -篠原 昇 | +膀 |
kwin | -○ 20010104 | +20010104 | -篠原 昇 | +膀 |
kwrite | -○ 20010104 | +20010104 | -篠原 昇 | +膀 |
kxkb | -○ 20010104 | +20010104 | -篠原 昇 | +膀 |
kxmlrpcd | -○ 20010104 | +20010104 | -篠原 昇 | +膀 |
kxsconfig | -○ 20010104 | +20010104 | -篠原 昇 | +膀 |
libkonq | -○ 20010104 | +20010104 | -篠原 昇 | +膀 |
libtaskbar | -○ 20010104 | +20010104 | -篠原 昇 | +膀 |
nsplugin | -○ 20010104 | +20010104 | -篠原 昇 | +膀 |
passwords | -○ 20010104 | +20010104 | -篠原 昇 | +膀 |
quicklauncher | -○ 20010104 | +20010104 | -篠原 昇 | +膀 |
kdegames | |||
---|---|---|---|
kabalone | -○ 20010107 | +20010107 | Taiki Komoda |
kasteroids | -○ 20010107 | +20010107 | Taiki Komoda |
katomic | -○ 20010107 | +20010107 | Taiki Komoda |
kblackbox | -○ 20010107 | +20010107 | Taiki Komoda |
kjezz | -○ 20010107 | +20010107 | Taiki Komoda |
kjumpingcube | -○ 20010107 | +20010107 | Taiki Komoda |
kmahjongg | -○ 20010107 | +20010107 | Taiki Komoda |
kmines | -○ 20010107 | +20010107 | Taiki Komoda |
konquest | -○ 20010107 | +20010107 | Taiki Komoda |
kpat | -○ 20010107 | +20010107 | Taiki Komoda |
kpoker | -○ 20010107 | +20010107 | Taiki Komoda |
kreversi | -○ 20010107 | +20010107 | Taiki Komoda |
ksame | -○ 20010107 | +20010107 | Taiki Komoda |
kshisen | -○ 20010107 | +20010107 | Taiki Komoda |
ksirtet | -○ 20010107 | +20010107 | Taiki Komoda |
ksmiletris | -○ 20010107 | +20010107 | Taiki Komoda |
ksnake | -○ 20010107 | +20010107 | Taiki Komoda |
ksokoban | -○ 20010107 | +20010107 | Taiki Komoda |
kspaceduel | -○ 20010107 | +20010107 | Taiki Komoda |
ktron | -○ 20010107 | +20010107 | Taiki Komoda |
ktuberling | -○ 20010107 | +20010107 | Taiki Komoda |
kwin4 | -○ 20010107 | +20010107 | Taiki Komoda |
lskat | -○ 20010107 | +20010107 | Taiki Komoda |
multiplayers | -○ 20010107 | +20010107 | Taiki Komoda |
kdegraphics | |||
---|---|---|---|
kdvi | -○ 19990601 | +19990601 | Taiki Komoda |
kfax | -○ 19990601 | +19990601 | Taiki Komoda |
kfract | -○ 19990601 | +19990601 | Taiki Komoda |
kghostview | -○ 20001018 | +20001018 | Taiki Komoda |
kpixmap2bitmap | - | - | |
ksnapshot | -○ 19990613 | +19990613 | Kimiyasu Tomiyama |
kview | -○ 20001018 | +20001018 | Taiki Komoda |
kviewshell | -○ 20001018 | +20001018 | Taiki Komoda |
pixie | -○ 20001029 | +20001029 | Taiki Komoda |
kdemultimedia | ||||
---|---|---|---|---|
aktion | -○ 20010104 | +20010104 | -篠原 昇 | +膀 |
artsbuilder | -○ 20010104 | +20010104 | -篠原 昇 | +膀 |
artscontrol | -○ 20010104 | +20010104 | -篠原 昇 | +膀 |
kaiman | -○ 20010104 | +20010104 | -篠原 昇 | +膀 |
kcmkmix | -○ 20010104 | +20010104 | -篠原 昇 | +膀 |
kmid | -○ 20010104 | +20010104 | -篠原 昇 | +膀 |
kmidi | -○ 20010104 | +20010104 | -篠原 昇 | +膀 |
kmix | -○ 20010104 | +20010104 | -篠原 昇 | +膀 |
kscd | -○ 20010104 | +20010104 | -篠原 昇 | +膀 |
kdenetwork | ||||
---|---|---|---|---|
kcmktalkd | -○ 20010104 | +20010104 | -篠原 昇 | +膀 |
keystone | -○ 20010104 | +20010104 | -篠原 昇 | +膀 |
kit | -○ 20010104 | +20010104 | -篠原 昇 | +膀 |
kmail | -○ 20010104 | +20010104 | -篠原 昇 | +膀 |
knode | -○ 20010104 | +20010104 | -篠原 昇 | +膀 |
korn | -○ 20010104 | +20010104 | -篠原 昇 | +膀 |
kppp | -○ 20010104 | +20010104 | -篠原 昇 | +膀 |
kppplogview | -○ 20010104 | +20010104 | -篠原 昇 | +膀 |
ksirc | -○ 20010104 | +20010104 | -篠原 昇 | +膀 |
ktalkd | -○ 20010104 | +20010104 | -篠原 昇 | +膀 |
kdepim | |||
---|---|---|---|
(abbrowser) | - | - | |
(empath) | - | - | |
korganizer | -○ 20000930 | +20000930 | Taiki Komoda |
(kpilot) | - | - | |
(twister) | - | - |
kdesdk | ||||
---|---|---|---|---|
kbabel | -○ 20000930 | +20000930 | Taiki Komoda | |
kbabeldict | - | - | ||
kdevelop | -○ 19991020 | +19991020 | Taiki Komoda | |
ktranslator | -○ 19991018 | +19991018 | -井村 竜一郎 | +篋 腴筝 |
kdetoys | |||
---|---|---|---|
amor | -○ 20010102 | +20010102 | Taiki Komoda |
kmoon | -○ 20010102 | +20010102 | Taiki Komoda |
kodo | -○ 20010102 | +20010102 | Taiki Komoda |
kscoreapplet | -○ 20010102 | +20010102 | Taiki Komoda |
kteatime | -○ 20010102 | +20010102 | Taiki Komoda |
ktux | -○ 20010102 | +20010102 | Taiki Komoda |
kworldwatch | -○ 20010102 | +20010102 | Taiki Komoda |
kdeutils | ||||
---|---|---|---|---|
ark | -○ 20010104 | +20010104 | -篠原 昇 | +膀 |
kab | -○ 20010104 | +20010104 | -篠原 昇 | +膀 |
karm | -○ 20010104 | +20010104 | -篠原 昇 | +膀 |
kcalc | -○ 20010104 | +20010104 | -篠原 昇 | +膀 |
kcharselect | -○ 20010104 | +20010104 | -篠原 昇 | +膀 |
kcmfontmanager | -○ 20010104 | +20010104 | -篠原 昇 | +膀 |
kcmlaptop | -○ 20010104 | +20010104 | -篠原 昇 | +膀 |
kdepasswd | -○ 20010104 | +20010104 | -篠原 昇 | +膀 |
kdessh | -○ 20010104 | +20010104 | -篠原 昇 | +膀 |
kdf | -○ 20010104 | +20010104 | -篠原 昇 | +膀 |
kedit | -○ 20010104 | +20010104 | -篠原 昇 | +膀 |
kfind | -○ 20010104 | +20010104 | -篠原 昇 | +膀 |
kfloppy | -○ 20010104 | +20010104 | -篠原 昇 | +膀 |
khexedit | -○ 20010104 | +20010104 | -篠原 昇 | +膀 |
kjots | -○ 20010104 | +20010104 | -篠原 昇 | +膀 |
klaptopdaemon | -○ 20010104 | +20010104 | -篠原 昇 | +膀 |
kljettool | -○ 20010104 | +20010104 | -篠原 昇 | +膀 |
klpq | -○ 20010104 | +20010104 | -篠原 昇 | +膀 |
knotes | -○ 20010104 | +20010104 | -篠原 昇 | +膀 |
kpm | -○ 20010104 | +20010104 | -篠原 昇 | +膀 |
ktimemon | -○ 20010104 | +20010104 | -篠原 昇 | +膀 |
koffice | ||||
---|---|---|---|---|
kchart | -○ 20000930 | +20000930 | Taiki Komoda | |
killustrator | -○ 19990608 | +19990608 | -堀江 信之 | +羆 篆> |
kimageshop | -○ 20000927 | +20000927 | Taiki Komoda | |
koffice | -○ 20001001 | +20001001 | Taiki Komoda | |
koshell | -○ 20000924 | +20000924 | Taiki Komoda | |
kpresenter | -○ 20000924 | +20000924 | Taiki Komoda | |
kspread | -○ 20001228 | +20001228 | Taiki Komoda | |
kspreadcalc_calc | -○ 20000930 | +20000930 | Taiki Komoda | |
kword | -○ 20000924 | +20000924 | Toshihiro Inoue |
others(for 2.0)、または標準パッケージに含まれていないもの | +others(for 2.0)障罔羣宴若吾障 | ||||
---|---|---|---|---|---|
caitoo | -○ 19991014 | +19991014 | -塙 雅典 | +紂 | |
gofai | - | - | |||
iconpackager | -○ 20000730 | +20000730 | Yohei Makaki | ||
karchie | -○ 19990613 | +19990613 | -井村 竜一郎 | +篋 腴筝 | |
kautorun | -△ 20000710 | +20000710 | Yohei Makaki | ||
kapm | -○ 19991104 | +19991104 | -塙 雅典 | +紂 | |
kbiff | -○ 19990613 | +19990613 | -井村 竜一郎 | +篋 腴筝 | |
kcdtools | -○ 19991014 | +19991014 | -塙 雅典 | +紂 | |
kclock | -○ 20000108 | +20000108 | -坂口聡 | +h | |
kcmail | -○ 20000124 | +20000124 | -坂口聡 | +h | |
kcmbind | - | - | |||
kcmdhcpd | -○ 20000117 | +20000117 | -坂口聡 | +h | |
kcmfontmanager | -○ 20000730 | +20000730 | Yohei Makaki | ||
kcmgofai | - | - | |||
kcmiwatcher | - | - | |||
kcmkisdn | - | - | |||
kcmprinter | - | - | |||
kcrontab | - | - | |||
kdbg | -○ 20000404 | +20000404 | -石田絵理 | +括亥亀 | |
kdepass | - | - | |||
kdiff | -○ 19990208 | +19990208 | -堀江 信之 | +羆 篆> | |
kexpress | - | - | |||
kfinger | -○ 19990613 | +19990613 | -井村 竜一郎 | +篋 腴筝 | |
kfortune | - | - | |||
kglchess | - | - | |||
kgoodstuff | -○ 19990208 | +19990208 | -堀江 信之 | +羆 篆> | |
kgrapher | - | - | |||
kiconedit | -○ 19990608 | +19990608 | -堀江 信之 | +羆 篆> | |
kirc | - | - | |||
kisdn | - | - | |||
kjoy | - | - | |||
kjukebox | -○ 20000518 | +20000518 | Yohei Makaki | ||
kless | - | - | |||
klilo | - | - | |||
klyx | - | - | |||
kmaster | - | - | |||
kmessage | - | - | |||
kmp3 | -○ 19991014 | +19991014 | Koji TORIYAMA | ||
kmpg | -○ 19990428 | +19990428 | Kimiyasu Tomiyama | ||
knetmon | - | - | |||
knotify | - | - | |||
knu | -○ 19990613 | +19990613 | -井村 竜一郎 | +篋 腴筝 | |
konv | - | - | |||
kpaint | -堀江 信之 | +羆 篆> | -堀江 信之 | +羆 篆> | |
kray | - | - | |||
krubik | - | - | |||
ksamba | -○ 20000117 | +20000117 | -坂口聡 | +h | |
ksciplot | - | - | |||
ktalk | - | - | |||
ktelnet | - | - | |||
kticker | -○ 19990428 | +19990428 | Kimiyasu Tomiyama | ||
kuickshow | - | - | |||
kvidtune | - | - | |||
kwebtree | - | - | |||
kwebwatch | -○ 19991014 | +19991014 | -塙 雅典 | +紂 | |
noatun | -△ 20000710 | +20000710 | Yohei Makaki | ||
webmaker | - | - |
訳者メールアドレス - .poファイルを参照して下さい +
荐活<若≪ - .po<ゃс筝 diff --git a/support/documents/printing/detail_lpr.html b/support/documents/printing/detail_lpr.html index c807d56..ce6b827 100644 --- a/support/documents/printing/detail_lpr.html +++ b/support/documents/printing/detail_lpr.html @@ -1,52 +1,52 @@
- 一般的な印刷の流れとしては上図のフローの通りです。
-
まず各アプリケーションはPostScriptという印刷ファイル形式で印刷を出力します。UNIXのほとんどのアプリケーションはPostScriptファイルで印刷を出力する機能を持っており、問題は多いとはいえUNIXではデファクトスタンダードと言って良いでしょう。
-
次にGhostScriptというプログラムにデータを渡しPostScriptをプリンターが印刷できる生データに変換します。GhostScriptの最新版はフリーライセンスではありません。GhostScriptの最新版より一つ古いバージョンはGPLで配布されています。通常のディストリビューションにはこのバージョンが入っています。その中でもCKJに対応したものやTrueTypeフォントを使用できるようにしたもの等さまざまなバージョンがありますが、ここではディストリビューションに付属のGhostScriptについてみていきます。またプリンターの中にはPostScriptファイルをそのまま印刷できるものもあります。これはPostScriptプリンターと呼ばれ、店頭で売っていることもあると思いますが、非常に高価なので通常の用途であえてこれを買う人はいないと思います。よって普通はGhostScriptを使用することになると思います。
-
さて、プリンターの生データに変換できたらスプーラと呼ばれるプログラムにそのデータを渡します。CUPS/LPRはスプールやジョブ管理をするプログラムでGhostScriptから送られてきた生データを一時的に保存しその後プリンターポートにデータを流します。CUPSはスプーラだけではなく高度なプリンタ管理もできます。LPRにはBSDのLPRや高機能なLPRngがあります。基本的な設定、使用法は両者とも同じです。
+
+
筝医激羌筝潟若с
+
障≪宴若激с潟PostScript医激<ゃ綵√у医激阪障UNIX祉≪宴若激с潟PostScript<ゃу医激阪罘純c馹紊UNIXс<鴻帥潟若荐cс
+
罨<GhostScript違若帥羝<PostScript潟帥若医激с若帥紊障GhostScript亥若ゃ祉潟鴻с障GhostScript亥筝ゅゃ若吾с潟GPLч絽障絽吾c鴻ャ若激с潟若吾с潟ャc障筝сCKJ絲上TrueType潟篏睡с膈障障若吾с潟障сc鴻ャ若激с潟篁絮GhostScriptゃ帥障障潟帥若筝PostScript<ゃ障上医激с障PostScript潟帥若若違綺у2c障絽吾蕭箴<ч絽吾с莢激篋冴障cGhostScript篏睡障
+
潟帥若若帥紊с鴻若若違違若帥羝<障CUPS/LPR鴻若吾с膊∞違GhostScript若帥筝篆絖緇潟帥若若若帥羌障CUPS鴻若с駜綺潟睡∞с障LPRBSDLPR蕭罘純LPRng障堺荐絎篏睡羈筝∴с
KDEではバージョン2.2から印刷機構の強化を掲げています。実際KDEアプリケーションからの印刷は
-Windowsに比べて遜色なく、それに加えPDF書き出しの機能など便利な機能も備えています。では
-Windowsに比べて劣っているところはあるか?というとやはり設定がカンタンにはいかないことが多いです。しかし
-KDEの設定ツールを使用すれば簡単にプリンタの設定を行うことが出来ます。このドキュメントでは
-KDEでのプリンタの設定の仕方、印刷方法について解説します。また最新の印刷システム、CUPSについての
-Tipsも掲載します。
+
KDEс若吾с2.2医傑罕綣桁イ障絎KDE≪宴若激с潟医激
+Windows罸鴻蚊PDF吾冴罘純箴水罘純障с
+Windows罸鴻cc?荐絎潟帥潟紊с
+KDE荐絎若篏睡亥亜潟帥荐絎茵堺ャ障ャ<潟с
+KDEс潟帥荐絎篁鴻医傑号ゃ茹h障障違医激激鴻CUPSゃ
+Tipsイ莠障
Windows2000/XPではネットワークを介した標準規格の印刷プロトコルであるIPP(Internet Printing Protocol)に対応しています。よってCUPSサーバをIPPサーバ、Windows2000/XPをIPPクライアントとして印刷をすることが可能です。ここではCUPSでrawプリンタを設定してある時にWindows2000/XPをIPPクライアントとして使用する時のWindows2000/XPの設定方法を説明します。 +
Windows2000/XPс若篁罔羣荀若医激潟сIPP(Internet Printing Protocol)絲上障cCUPS泣若IPP泣若Windows2000/XPIPPゃ≪潟医激純ссCUPSraw潟荐絎Windows2000/XPIPPゃ≪潟篏睡Windows2000/XP荐絎号茯障
-まずコントロールパネルで「プリンタ」を選択し「プリンタの追加」ボタンをダブルクリックします。するとプリンタの追加ウィザードが起動します。「次へ」をクリックします。
-
-次にネットワークかローカルかを聞かれるので「ネットワークプリンタ」を指定し、「次へ」をクリックします。
-
-「インターネットまたはイントラネット上のプリンタに接続します」にチェックし、CUPSサーバのIPPプリンタのアドレスを指定します。
-書式は「http://"CUPSサーバのアドレス":631/printers/"プリンタ名"」です。「次へ」をクリックします。
-
-ローカルにドライバをインストールします。自分のモデルを選択して下さい。一覧にない場合はドライバディスクを使用して下さい。(これはドライバ共有などのうまい方法があるかも知れません。)「OK」をクリックします。
-
-最後に「通常使うプリンタ」にするかどうかを選択します。「次へ」をクリックします。
+
障潟潟若с潟帥御潟帥菴遵帥潟障潟帥菴遵c吟若莎桁障罨<吾障
+
+罨<若若с若潟帥絎罨<吾障
+
+ゃ潟帥若障ゃ潟筝潟帥・膓障сCUPS泣若IPP潟帥≪鴻絎障
+後http://"CUPS泣若≪":631/printers/"潟水"с罨<吾障
+
+若ゃゃ潟鴻若障≪御筝筝荀с翫ゃc鴻篏睡筝鐚ゃ掩障号ャ障鐚OK障
+
+緇絽娯戎潟帥御障罨<吾障
-「完了」をクリックするとプリンタが追加されます。
-
+絎篋潟帥菴遵障
+
ここではDebianでlprから環境を乗り換える際の注意事項を列記します。多分Debianユーザ以外にも役に立つはずです。試行錯誤しながらやったのと、詳しく手順を記録しなかったので抜けているところもあるかもしれませんが、そこはDebianユーザ、がんばってください(笑)。BSD lprからの乗り換えを前提に書いていますが、まっさらの状態から構築する人にも役に立つはずです。
-
とりあえず必要なパッケージをapt-get install します。
+
сDebianlpr医箙羈鋋荐障紊Debian若銀札紊綵鴻腴ゃс荅茵茯ゃc荅潟荐蚊cф障Debian若吟違c鐚膃鐚BSD lpr箙吾障障c倶罕膀篋冴綵鴻腴ゃс
+
綽荀宴若吾apt-get install 障
# apt-get install cupsys
-
ライブラリとか依存しているものも一緒に入ります。dselectでやるとsuggestされるcupsys-bsdがbsd-lprやlprngとconflictするのでapt-get installがおすすめです。
-CUPSはプリンタ情報をPPD(Postscript Printer Description)で扱います。これがないと使用できるプリンタのモデルが激減します。別パッケージなのでインストールしましょう。
+
ゃ箴絖筝膩ャ障dselectсsuggestcupsys-bsdbsd-lprlprngconflictapt-get installс
+CUPS潟炊宴PPD(Postscript Printer Description)ф宴障篏睡с潟帥≪羶羝障ャ宴若吾сゃ潟鴻若障
# apt-get install cupsomatic-ppd
-
これもいろいろ依存しているので一緒に入れて下さい。ここからの進め方は2通りあります。
ここではダウンタイムを最小限にする手順で解説していきます。
-
CUPSのlpr互換環境を残す場合重要なことがあります。それは
с潟帥ゃ絨цВ茯障
+
CUPSlpr篋医罧翫荀障
ということです(注: 2つのシステムを混在させているからこうなるのであって、単独でインストールしたらCUPSのほうも/etc/printcapを参照するように設定されるものと思われます。ちなみに/etc/cups/cupsd.confにてどのprintcapを使用するかを変更できます)。さらに
-CUPSが提供するlpr互換機能は、CUPSのlprがBSDのlprとコマンドが互換になるだけで、設定ファイルまで互換ではないということです
-(実はこの後出てくるcupsys-bsdのインストールの際に何か聞かれて「parse」を選択したのですがCUPSに特に変化は起こりませんでした。不充分な情報ですみません)。
- このことからCUPSでBSD lprのプリンタ名と同じプリンタ名を持つプリンタをCUPS側で用意しておく必要があります。
-例えば/etc/printcapに「hp990c」というプリンタエントリがあった場合、設定で見たようにCUPSを設定します。
+
с(羈: 2ゃ激鴻羞桁сcсゃ潟鴻若CUPS祉/etc/printcapс荐絎障<帥/etc/cups/cupsd.confprintcap篏睡紊眼с障)
+CUPS箴lpr篋罘純CUPSlprBSDlpr潟潟篋с荐絎<ゃ障тсс
+鐚絎緇冴cupsys-bsdゃ潟鴻若篏parse御сCUPS鴻紊莎激障с筝宴с帥障鐚
+CUPSBSD lpr潟水潟水ゃ潟帥CUPS眼х鏆荀障
+箴/etc/printcaphp990c潟帥潟c翫荐絎цCUPS荐絎障
-エントリを作成したら(Rawプリンタ以外の場合は)テストページが印刷できるか確認してください。
-
つぎにいよいよlprをCUPSの互換コマンドで置換します。念のため/etc/printcapを/etc/printcap.bakにするなどバックアップをとっておいてください。
+潟篏鐚Raw潟推札紊翫鐚鴻若吾医激с腆肴
+
ゃlprCUPS篋潟潟х舟障綽泣/etc/printcap/etc/printcap.bak≪c
# apt-get install cupsys-client
# apt-get install cupsys-bsd
-
/etc/printcapをCUPSのものにします。
+
/etc/printcapCUPS障
# ln -s printcap.cups printcap
-これで移行は終了です。いままでのlprが使用できるかテストしてください。
設定ができたらあとはKDEのアプリケーションの印刷の際、印刷ダイアログで今回追加したプリンターを選択すれば印刷できます。ですがその前に一回テストを行います。
-
テストのやり方はまずKDEアプリケーションからPSファイルを出力します。KDE
-アプリケーションで印刷ボタンをクリックし、「名前」に「ファイルに出力 (PostScript)」を選択し「OK」をクリックします。
-
+
荐絎сKDE≪宴若激с潟医激医激ゃ≪違т菴遵潟帥若御医医激с障с筝鴻茵障
+
鴻鴻障KDE≪宴若激с潟PS<ゃ阪障KDE
+≪宴若激с潟у医激帥潟<ゃ阪 (PostScript)御OK障
+
-そのファイルをkghostviewで開いてみてください。
+<ゃkghostviewч帥
-このようにエラーが出ずに表示されればOKです。
-同様の方法でPDFファイルを出力することができます。また、PDFファイルはPSファイルと同様にkghostviewで閲覧することができます。
-実際の印刷の場合は下のようにプリンタ「hp990c」を選択し、「OK」をクリックします。
-
-
データ転送中の画面。
-
-これでプリンタから出力されます。快適過ぎて紙の無駄使いをしないようにしましょう;)。
+若冴茵腓冴OKс
+罕号PDF<ゃ阪с障障PDF<ゃPS<ゃ罕kghostviewч画Ηс障
+絎医激翫筝潟帥hp990c御OK障
+
+
若粋拶筝脂≪
+
+с潟帥阪障綽膣♂篏帥障;)
ここではリモートプリンタの使用について解説します。
- 単純にリモートプリンタといっても様々な形態、組み合わせがあります。ここでは私が設定したことのあるものについて説明します。もちろん「こんな事例もあるぞ」というのは大歓迎なので私宛てにメールをしてください:)。
ここは小さな事業所です。いままでSamba+lprでプリントサーバを立てていました。これをCUPSベースに完全に移行させることにしました。
移行の際に必要な要件は以下の通りです。
с≪若潟帥篏睡ゃ茹h障
+膣≪若潟帥c罕綵∽腟水障с腱荐絎ゃ茯障<篋箴紊ф菴х絎<若:)
絨篋罐с障障Samba+lprс潟泣若腴障CUPS若鴻絎腱肢障
腱肢綽荀荀篁吟篁ヤс
それでは一つづつ設定を見ていきましょう。それぞれリンクされたドキュメントを見ればできます。
-с筝ゃャよ┃絎荀障潟ャ<潟荀違с障
+これで移行は完了です。快適なCUPS生活が始まります:)。
+хЩ茵絎篋с綽CUPS羇祉紮障障:)
PS入力用の「hp990c」と、raw入力用(ローカルでドライバを持たせ、プリンタ言語に変換されたものを入力とする、Samba等で使用される)の「hp990raw」というプリンタをCUPS設定ツールを使用して追加してみましょう。
+PSュhp990crawュ(若сゃ潟粋茯紊ュSamba膈т戎)hp990raw潟帥CUPS荐絎若篏睡菴遵帥障
CUPSサーバへのプリンタの追加はKDEを使用した設定か、KDEがサーバにインストールされていない場合はCUPS設定ツールで行います。ここではCUPS設定ツールを用いたプリンタの追加の仕方を説明します。
-CUPS設定ツールはブラウザからアクセスします。CUPSツールを日本語表示させる方法について補足3を御覧ください。
+羈綽荀障
+
CUPS泣若吾潟帥菴遵KDE篏睡荐絎KDE泣若ゃ潟鴻若翫CUPS荐絎若ц障сCUPS荐絎若潟帥菴遵篁鴻茯障
+CUPS荐絎若吟≪祉鴻障CUPS若ユ茯茵腓冴号ゃ茖莇3緇∴Η
-ブラウザを起動し「http://localhost:631」のアドレスを入力します。すると画面のようになります。
-
-
-プリンタボタンをクリックすると画面のようになります。「プリンタの追加」をクリックします。
-
+潟帥帥潟脂≪障潟帥菴遵障
+
-ルート権限が必要なのでルートアカウント「root」とそのパスワードを入力します。
-
+若罔綽荀с若≪潟root鴻若ュ障
+
-ここからはプリンタの追加です。以下のように入力します。
-プリンタ名: これは重要です。「hp990c」を入力してください(lprを使用していたのならそれと同じ名前にする必要があります)
-設置場所: プリンタの使用される場所を記述します。必須ではありません。
-説明: プリンタの説明を記述します。必須ではありません。
+潟帥菴遵с篁ヤュ障
+潟水: 荀сhp990cュ(lpr篏睡綽荀障)
+荐臀贋: 潟帥篏睡贋荐菴違障綽с障
+茯: 潟帥茯荐菴違障綽с障
-
-デバイスはUSB1に繋がっているものとします。
+
+ゃ鴻USB1膵c障
-
-メーカーの選択: HPを選択します。
+
+<若若御: HP御障
-
-モデルの選択: 「HP DeskJet 990C, Foomatic + hpjis (en)」を選択します。
+
+≪御: HP DeskJet 990C, Foomatic + hpjis (en)御障
-
-これで完了です。
+
+у篋с
-
-プリンタボタンをクリックしプリンタのページに移動すると追加したプリンタが表示されます。テストプリントで設定が正しくできているか確認してください。
+
+潟帥帥潟潟帥若吾腱糸菴遵潟帥茵腓冴障鴻潟ц┃絎罩cс腆肴
-
+
上と同様ですが、モデルの指定のみが異なります。手順を追ってみましょう。 +
筝罕с≪絎帥違障菴純c帥障
-名前は「hp990raw」です。
-
-接続先を指定します。USBの#1です。
+hp990rawс
+
+・膓絎障USB#1с
-
-rawプリンタの場合は「Raw」を選択します。
+
+raw潟帥翫Raw御障
-
-rawプリンタの場合は「Raw Queue (en)」しかありません。これを選択します。
+
+raw潟帥翫Raw Queue (en)障御障
-
+
-
-プリンタのページに移動すると追加したプリンタが表示されます。rawプリンタはドライバを持っていないので、テストプリントはしないでください。
+
+潟帥若吾腱糸菴遵潟帥茵腓冴障raw潟帥ゃcс鴻潟с
-
+
-rawプリンタで動かすにはmimeの設定が必要です。CUPSの設定を参照してください。これの設定を行うとCUPSに対する設定は終了します。
+raw潟帥уmime荐絎綽荀сCUPS荐絎с荐絎茵CUPS絲障荐絎腟篋障
補足1 CUPS設定ツールはcupsd.confのaccess、adminの設定を変えることでリモートからブラウザを使用しての設定が可能です。しかしこの方法は認証がなく(設定可能?)、通信の暗号化がされていない(これも設定可能?)ので、ローカル以外ではお奨めできません。(設定ファイルを見る限りでは、なんかできそうな気もしますがまだ調べていません。) +
茖莇1 CUPS荐絎若cupsd.confaccessadmin荐絎紊с≪若吟篏睡荐絎純с号茯荐若(荐絎?)篆<垸(荐絎?)с若篁ュс絅с障(荐絎<ゃ荀сс羂障障茯帥鴻障)
-補足2 ローカルにあるCUPSサーバの詳細な設定(cupsd.confファイルで行うアクセスやセキュリティなどの設定)についてはcupsdconfというKDEのツールが使用できます。グラフィカルでかつ日本語化されているので、KDEがインストールされている場合はこれを使用するとよいでしょう。 +
茖莇2 若CUPS泣若荅括完荐絎(cupsd.conf<ゃц≪祉鴻祉ャc荐絎)ゃcupsdconfKDE若篏睡с障違cсゆユ茯сKDEゃ潟鴻若翫篏睡с -
補足3 ディストリビューションによってはCUPS設定ツールが日本語化されていません。これはもともとの配布に日本語化ファイルが含まれていないからです。TurboLinux8では日本語化されたリソースがインストールされます。作成者の許可を得て、この日本語リソースを配布許可を得ることができました。この場を借りてお礼申し上げます。
-日本語リソース
-日本語リソースのインストール方法
-CUPSのリソースは例えば/usr/share/cupsなどにインストールされます。このディレクトリには「doc(debianならdoc-root)」、「templates」というディレクトリがあります。ここでリソースを展開してください。
+
茖莇3 c鴻ャ若激с潟cCUPS荐絎若ユ茯障絽ユ茯<ゃ障сTurboLinux8сユ茯純若鴻ゃ潟鴻若障篏荐怨緇ユ茯純若鴻絽荐怨緇с障眼腓主潟筝障
+ユ茯純若
+ユ茯純若鴻ゃ潟鴻若号
+CUPS純若鴻箴/usr/share/cupsゃ潟鴻若障cdoc(debiandoc-root)templatesc障с純若鴻絮
# cd /usr/share/cups
# tar xjf cupsd-japanese-resources.tar.bz2
-するとdoc,templatesディレクトリ以下に「ja」というディレクトリができます。これでブラウザを再読み込みすれば日本語でCUPS設定ツールにアクセスできます。
+doc,templatesc篁ヤjacс障с吟茯粋昭帥井ユ茯CUPS荐絎若≪祉鴻с障
- ここではリモートCUPSサーバへの接続(IPPを利用してCUPSサーバと通信する場合)を解説します。サーバマシンにてKDE印刷マネージャ、またはCUPS設定ツールでプリンタを追加しておいてください。
-例として使用するリモートプリンタはPS入力を受け付ける「hp990c」とします(注1)。KDEでのプリンタの追加ですからKDEを使用した設定で見たものと手順はほとんど同じです(注2)。
+с≪若CUPS泣若吾・膓(IPPCUPS泣若篆<翫)茹h障泣若激潟KDE医激若吾c障CUPS荐絎若с潟帥菴遵
+箴篏睡≪若潟帥PSュ篁hp990c障(羈1)KDEс潟帥菴遵сKDE篏睡荐絎ц祉с(羈2)
-
(注1)KDEクライアントはプリンタ言語の出力をサーバに送るのではなく、PS出力をサーバのスケジューラに送ります(つまりサーバサイドでラスタ化します)。しかしローカルをRawにしておく必要はなく、ローカルもサーバと同じPS入力可能のプリンタ設定にしておいてください。
-
(注2)言いかえればCUPSシステムを使用するときのローカルプリンタの設定は、ローカルCUPSサーバへのプリンタ設定の追加、クライアントをlocalhost:631という(リモート)CUPSサーバに接続するための設定を行っていることになります。
+
(羈1)KDEゃ≪潟潟粋茯阪泣若сPS阪泣若鴻宴吾ャ若障(ゃ障泣若泣ゃс鴻水障)若Raw鏆荀若泣若PSュ純潟粋┃絎
+
(羈2)荐CUPS激鴻篏睡若潟帥荐絎若CUPS泣若吾潟粋┃絎菴遵ゃ≪潟localhost:631(≪若)CUPS泣若・膓荐絎茵c障
-
それでは一つ一つ手順を見ていきましょう。まず印刷マネージャから右クリックし「プリンタ/クラスの追加」を選択します。以下のダイアログが出てきます。
+
с筝やゆ荀障障医激若吾c劻潟/鴻菴遵御障篁ヤゃ≪違冴障
-「リモートCUPSサーバ」を選択します。
+≪若CUPS泣若御障
-ゲストアカウント以外でログインする場合は「ゲストアカウント」のチェックを外しログイン名とパスワードを入力します。
+蚊鴻≪潟篁ュс違ゃ潟翫蚊鴻≪潟с紊違ゃ喝鴻若ュ障
-リモートCUPSサーバのアドレスを入力します。ポートは通常「631」です。
+≪若CUPS泣若≪鴻ュ障若絽吾631с
-リモートCUPSサーバに追加されているプリンタがブラウズできます。画面は異なりますが「hp990c」を選択します。
+≪若CUPS泣若菴遵潟帥冴с障脂≪違障hp990c御障
-プリンタのメーカーとモデルを選択します。
+潟帥<若若≪御障
-ドライバを選択します。「推奨」となっているものを使用すると良いでしょう。
+ゃ御障ィ絅c篏睡с
-プリンタのテストになります。「テスト」ボタンをクリックするとテストプリントが印刷されます。
+潟帥鴻障鴻帥潟鴻潟医激障
-印刷の前後に挟まれる「バナー」を選択します。通常必要ありません。
+医激緇障若御障絽後荀障
-印刷容量の制限「クオータ」の設定です。サーバ側に容量がない場合や、クライアントから異常な量の印刷命令が来たときに拒否したい場合に設定してください。
+医桁拷狗若帥荐絎с泣若眼絎拷翫ゃ≪潟医幻医桁巡擦ャ翫荐絎
-拒否したいユーザを設定できます。
+若吟荐絎с障
-プリンタの名前はローカルでKDEから印刷するときに使用される名前です。混乱を避けるためサーバでのプリンタ名と同じ名前にしておくと良いでしょう。
+潟帥若KDE医激篏睡с羞隙恒帥泣若с潟水с
-設定の確認です。「完了」をクリックすると設定が完了し、「hp990c」リモートプリンタが使用できるようになります。
+荐絎腆肴с絎篋荐絎絎篋hp990c≪若潟帥篏睡с障
SambaでCUPSを使用するときいくつか設定しておく必要があります。以下に箇条書きでまとめておきます。
-
(なおここで述べた方法の他に、Windows2000/XPクライアントから直接IPPポートを使用して印刷するという方法があります。これはクライアント側で新しい設定が必要ですがSambaを経由しないためSambaで設定ミスをしても影響を受けなく便利です。新規にクライアントを追加する場合はIPPのほうがおすすめです。)
SambaCUPS篏睡ゃ荐絎鏆荀障篁ヤ膊≧吾с障障
+
(ц唇鴻号篁Windows2000/XPゃ≪潟贋・IPP若篏睡医激号障ゃ≪潟眼ф違荐絎綽荀сSamba腟宴Sambaц┃絎鴻綵演帥鋐水с域ゃ≪潟菴遵翫IPP祉с)
CUPSの設定ファイルのうち、以下のファイルの以下の行のコメント(#)を外します。これらの設定はSambaをRawプリントサーバとして使用しているときに必要です。
+CUPS荐絎<ゃ<篁ヤ<ゃ篁ヤ茵潟<潟(#)紊障荐絎SambaRaw潟泣若篏睡綽荀с
完了したらcupsを再起動してください。
+絎篋cups莎桁
- 一応smbdを再起動して、SWATでプリンタがマージされているか確認して下さい。
-ちなみにCUPS使用時にSambaでスプールディレクトリの印刷データファイルが消えないのはバグです。2.2.6では直っているそうです。
+
筝綽smbd莎桁SWATс潟帥若吾腆肴筝
+<帥CUPS篏睡Sambaс鴻若c医激若帥<ゃ羔с2.2.6с眼cс
印刷するには印刷のツールがインストールされている必要があります。確認してください。
+医激医激若ゃ潟鴻若綽荀障腆肴
それでは物理的なレイヤーからひとつづつ見ていきます。
+сゃゃ若蚊ゃャよ障
-ケーブルを繋げて電源を入れてください:)
+宴若膵紙ャ:)
-通常のディストリビューションでは既に設定されていることがほとんどです。
-/dev/lp0 (USBなら例えば /dev/usb/lp0)が存在するか確認して下さい。またlpモジュールかUSBのprinterモジュールが読み込まれているかを確認して下さい。
+
絽吾c鴻ャ若激с潟с≪荐絎祉с
+/dev/lp0 (USB箴 /dev/usb/lp0)絖腆肴筝障lp≪吾ャ若USBprinter≪吾ャ若茯粋昭障腆肴筝
# /sbin/lsmod
-
デバイスファイル/ドライバの設定についてはLinux Printing HOWTOを御覧ください。
コマンドラインでgs -vと入力するとバージョン情報が表示されます。ここで重要なのはKDEのアプリケーションから出力した日本語のPS,PDFファイルが正しく扱えることです。TurboやVineなら問題なくいけると思います。これのテストについては印刷前のプレテストのところで行います。
+潟潟ゃ潟gs -vュ若吾с恰宴茵腓冴障ч荀KDE≪宴若激с潟阪ユ茯PS,PDF<ゃ罩c宴сTurboVine馹障鴻ゃ医桁鴻ц障
- さてこれでKDEで設定する準備が整いました。これまでのステップはちゃんと設定してあるディストリビューションなら必要がないのでここからがKDEでの設定ということになります。
-
まず一つ印刷システム(ジョブ管理、スプーラ)として何を使用するかを決める必要があります。一般にCUPSかlpr(類似物を含む)が選択肢に上がると思います。これら2つの特徴としては
+
KDEц┃絎羣眼障障с鴻<荐絎c鴻ャ若激с潟綽荀сKDEс荐絎障
+
障筝ゅ医激激鴻鐚吾с膊∞鴻若鐚篏篏睡羆冴綽荀障筝CUPSlpr(蕁篌主)御≪筝障鐚ゃ劫彰
と言えるでしょう。指針としてはlprに慣れ親しんでいてそのまま使用したい場合はlpr、特にこだわりがない場合はCUPSを使用すると良いかもしれません。
+荐сlprc荀с障鞘戎翫lpr鴻翫CUPS篏睡障
-これからの説明では以下のシステムを想定します。
+茯с篁ヤ激鴻喝障
プリンターを設定するには印刷マネージャを立ち上げます。印刷マネージャはKメニューの「設定」→「システム」→「印刷マネージャ」から立ち上げます。またコントロールセンターの「周辺装置」→「プリンタ」でも同様の設定を行なえます。下図のような画面が立ち上がります。
-
-
ここで下のほうにある「現在の印刷システム」を「CUPS (Common UNIX Print System)」にします。
-
プリンタの追加は印刷マネージャの白いあたりのところを右クリックし「プリンタ/クラスの追加...」を選択すると下図のダイアログが現れます。
+
潟帥若荐絎医激若吾c腴>障医激若吾cK<ャ若荐絎激鴻医激若吾c腴>障障潟潟若祉潟帥若莨肴臀潟帥с罕荐絎茵障筝潟脂≪腴>障
+
+
т祉憜医激激鴻CUPS (Common UNIX Print System)障
+
潟帥菴遵医激若吾c純劻潟/鴻菴遵...御筝潟ゃ≪違憗障
-
-
「次」をクリックします。
+
+
罨<障
-
-
まずバックエンドを選択します。ここではローカルで使用するので「ローカルプリンター」にチェックを入れて「次」をクリックします。
+
+
障潟御障с若т戎с若潟帥若сャ罨<障
-
-
次にポートを選択します。パラレルポートの場合は「パラレル」になります。
-USBプリンターの場合は「USB」→「USB Printer #1」です。URIのところは「usb:/dev/usblp0」
-ですが、システムによっては「usb:/dev/usb/lp0」の場合もあります。上の「プリンタデバイス/ドライバ」を確認して下さい。「次」をクリックします。
+
+
罨<若御障若翫障
+USB潟帥若翫USBUSB Printer #1сURIusb:/dev/usblp0
+с激鴻cusb:/dev/usb/lp0翫障筝潟帥ゃ/ゃ腆肴筝罨<障
-
-
次にプリンタのメーカーとモデルを選択します。製造者が「HP」、モデルが「DeskJet 990C」です。「次」をクリックします。
+
+
罨<潟帥<若若≪御障茖初HP≪DeskJet 990Cс罨<障
-
-
ドライバを選択します。幸せなことにHPのプリンタの場合は利用できるドライバがたくさんあります。ここでは「推奨」となっているものをそのまま使用します。「次」をクリックします。
+
+
ゃ御障綛吾HP潟帥翫сゃ障сィ絅c障鞘戎障罨<障
-
-
次はテスト印刷になります。「テスト」をクリックするとテストができます。プリンター追加後でもテストはできるので希望に応じて行なって下さい。
+
+
罨<鴻医激障鴻鴻с障潟帥取申緇с鴻су綽茵c筝
-
-
バナーは印刷の前後に文字列やロゴを挿入するものです。通常は「バナーなし」で良いでしょう。「次」をクリックします。
+
+
若医激緇絖眼水ャс絽吾若цс罨<障
-
-
クオータとは大き過ぎるジョブを制限する機能のことです。通常必要ありません。「次」をクリックします。
+
+
若帥紊с吾с狗罘純с絽後荀障罨<障
-
-
印刷を禁止したいユーザなどを作成することができます。ひとりや家族で使用する環境の場合には必要ないでしょう。「次」をクリックします。
+
+
医激胼罩≪若吟篏с障蚊絎倶т戎医翫綽荀с罨<障
-
-
次に一般情報についての記述です。「名前」はそのままCUPSやlprで使用するプリンター名になるので短い名前が良いです。lprからCUPSに移行する場合はlprでのプリンタ名と同一にして下さい。
-「場所」はプリンターが使われる状況をコメントしておく部分で必須ではありません。「次」をクリックします。
+
+
罨<筝宴ゃ荐菴違с障CUPSlprт戎潟帥弱хсlprCUPS腱肢翫lprс潟水筝筝
+贋潟帥若篏帥倶潟<潟ус障罨<障
-
-
そして最後に設定の確認です。ここで「完了」をクリックすると設定が完了し、プリンターが追加されます。
-一般ユーザの場合はここでルートパスワードを求められます。
-
-
ユーザ名に「root」パスワードにルートパスワードを入力して下さい。
-これでプリンタ「hp990c」が追加されました。
+
+
緇荐絎腆肴сс絎篋荐絎絎篋潟帥若菴遵障
+筝若吟翫с若鴻若羆障
+
+
若九root鴻若若鴻若ュ筝
+с潟帥hp990c菴遵障
-
-
ちなみにこの設定はKDEの印刷システムに対してのGUI設定フロントエンドであって、KDE以外でも印刷することができます。例えばlprを使って
+
+
<帥荐絎KDE医激激鴻絲障GUI荐絎潟潟сcKDE篁ュс医激с障箴lpr篏帥c
% lpr -Php990c foo.ps
-
とすれば普通に印刷ができますし、既に設定がある場合に印刷マネージャで設定を変更するということもできます。
最後にフォント埋め込みの設定を行います。ヨーロッパ諸国言語と違い日本語の場合はデスクトップ環境としてフォントが統一されていない(フリーのフォントが少なく、ディストリビューション毎にまちまちのフォントをバンドルしているせいです)という欠点があります。また、ネットワークプリンタにデスクトップと同じフォントがインストールされていないこともあります。これらの問題はドキュメントにフォントを埋め込むことで解決します。欠点としてはデータ量が多くなるということがありますが、多くの問題を回避できるのでぜひとも設定しておいてください。 -
+緇潟莨若帥荐絎茵障若茫後処茯ユ茯翫鴻医潟腟延鐚若潟絨c鴻ャ若激с恰障<障<潟潟с鐚罨鴻障障若潟帥鴻潟ゃ潟鴻若障馹ャ<潟潟莨若цВ羆冴障罨鴻若翠紊障紊馹帥сс蚊荐絎 +
印刷マネージャを起動します。次に印刷マネージャの白いあたりのところを右クリックし -「マネージャの設定」を選択すると下図のダイアログが現れます。 +
医激若吾c莎桁障罨<医激若吾c純劻
+若吾c荐絎御筝潟ゃ≪違憗障
-
-
ここの「フォント」の「印刷時にPostScriptにフォントを埋め込む」にチェックを入れて「OK」をクリックします。
+
+
潟医傑PostScript潟莨若сャOK障
-
+
ここは必ずしも必要ではありませんがQtアプリケーションを使用するときに必要なので設定しておきましょう。 +
綽綽荀с障Qt≪宴若激с潟篏睡綽荀ц┃絎障
% qtconfig &
-
でqtconfigを起動します。そこの「Printer」→「Enable font embedding」をチェックし、メニューの「File」→「Save」を選択し、終了します。
+
qtconfig莎桁障PrinterEnable font embeddingс<ャ若FileSave御腟篋障
最近ではプリンターメーカーも高品質なLinux用のプリンタフィルタを無料で提供するサービスを行っています。ここでは(株)キャノン販売のCanon Bubble Jet Print Filter for Linuxを使用した設定を試してみます。プリンターにはCanon BJF870を使用しました。このようなフィルタには他にもエプソンコーワの「Photo Image Print System」と「GS Laser Printer Driver」があります。
-
残念ながらこれらのフィルターを使用するには設定の全てをGUIでできません。インストールとprintcapの設定は手動でやる必要があります。なおCanon Bubble Jet Print Filterのより詳しい設定の詳細はウェブにドキュメントがアーカイブでおいてありますのでそちらをご覧ください。
まずパッケージをインストールします。 +
菴с潟帥若<若若蕭莖Linux潟帥c帥≧ф箴泣若鴻茵c障с()c活鴬紕蚊Canon Bubble Jet Print Filter for Linux篏睡荐絎荅帥障潟帥若Canon BJF870篏睡障c帥篁純潟潟若Photo Image Print SystemGS Laser Printer Driver障
+
罧綽泣c帥若篏睡荐絎GUIсс障ゃ潟鴻若printcap荐絎с綽荀障Canon Bubble Jet Print Filter荅潟荐絎荅括完сャ<潟≪若ゃс障с<荀с
障宴若吾ゃ潟鴻若障
# rpm -ivh bjfiltercom-1.3-0.i386.rpm bjfilter870-1.3-0.i386.rpm
-
次に/etc/printcapに以下のエントリーを追加します。
+
罨</etc/printcap篁ヤ潟若菴遵障
-
bjf870raw:\
:lp=/dev/lp0:\
:sd=/var/spool/lpd/bjf870raw:\
:mx#0:\
:sh:\
:rw:\
:if=/usr/local/bin/bjf870raw:
bjf870ps:\
:lp=/dev/lp0:\
:sd=/var/spool/lpd/bjf870ps:\
:mx#0:\
:sh:\
:rw:\
:if=/usr/local/bin/bjf870ps:
次にスプールディレクトリを作成します。
+
罨<鴻若c篏障
# cd /var/spool/lpd
# mkdir bjf870ps
# mkdir bjf870raw
-
キャノンの印刷ダイアログを表示するためにxhostを設定します。
-
# xhost localhost (Xの起動ファイルに追加しておくと良いでしょう)
-
lpdを再起動します。
+
c潟医激ゃ≪違茵腓冴xhost荐絎障
+
# xhost localhost(X莎桁<ゃ菴遵с)
+
lpd莎桁障
# /etc/rc.d/init.d/lpd restart
-
これでシステム側の設定は終了です。この状態で
+
с激鴻眼荐絎腟篋с倶
% lpr -Pbjf870ps foo.ps
-
とするとPostScriptファイルが印刷できる状態になっています。bjf870psはPostScriptファイルをGhostScriptでビットマップに変換し、それをフィルタに通すスクリプトです。
KDEの印刷マネージャは/etc/printcapを自動的にパースしてくれるのでKDE側でプリンターの細かい設定をする必要はありません。ここまで設定できたらあとは印刷時のダイアログでbjf870psを選択すればめでたく印刷できます。印刷を実行するとフィルタ側のダイアログがでてきて細かいプリンターの設定ができます。プリンタの設定を行ったら「OK」を押して実際の印刷を開始してください。
+KDE医激若吾c/etc/printcap若鴻KDE眼с潟帥若膣違荐絎綽荀障障ц┃絎с医傑ゃ≪違bjf870ps御違с医激с障医激絎茵c水眼ゃ≪違с膣違潟帥若荐絎с障潟帥荐絎茵cOK若絎医激紮
-ここではリモートCUPSサーバへの接続(IPPを利用してCUPSサーバと通信する場合)を解説します。サーバマシンにてKDE印刷マネージャ、またはCUPS設定ツールでプリンタを追加しておいてください。
-この場合使用されるプリンタは前の例では「hp990c」になります(注)。KDEでのプリンタの追加ですからKDEを使用した設定で見たものと手順はほとんど同じです(注2)。
+с≪若CUPS泣若吾・膓(IPPCUPS泣若篆<翫)茹h障泣若激潟KDE医激若吾c障CUPS荐絎若с潟帥菴遵
+翫篏睡潟帥箴сhp990c障(羈)KDEс潟帥菴遵сKDE篏睡荐絎ц祉с(羈2)
-
(注)KDEクライアントはプリンタ言語の出力をサーバに送るのではなく、PS出力をサーバに送ります(つまりサーバサイドでラスタ化します)。
-
(注2)言いかえればCUPSシステムを使用するときのローカルプリンタの設定は、ローカルCUPSサーバへのプリンタ設定の追加、クライアントをlocalhost:631という(リモート)サーバに接続するための設定を行っていることになります)
+
(羈)KDEゃ≪潟潟粋茯阪泣若сPS阪泣若障(ゃ障泣若泣ゃс鴻水障)
+
(羈2)荐CUPS激鴻篏睡若潟帥荐絎若CUPS泣若吾潟粋┃絎菴遵ゃ≪潟localhost:631(≪若)泣若・膓荐絎茵c障)
-
それでは一つ一つ手順を見ていきましょう。まず印刷マネージャから右クリックし「プリンタ/クラスの追加」を選択します。
+
с筝やゆ荀障障医激若吾c劻潟/鴻菴遵御障
-「リモートCUPSサーバ」を選択します。
+≪若CUPS泣若御障
-プリンタのモデルを選択するところはKDEを使用した設定と同じです。
+潟帥≪御KDE篏睡荐絎с