<!-- $XConsortium: ch06.sgm /main/10 1996/09/08 19:46:58 rws $ -->
<!-- (c) Copyright 1995 Digital Equipment Corporation. -->
<!-- (c) Copyright 1995 Hewlett-Packard Company. -->
<!-- (c) Copyright 1995 International Business Machines Corp. -->
<!-- (c) Copyright 1995 Sun Microsystems, Inc. -->
<!-- (c) Copyright 1995 Novell, Inc. -->
<!-- (c) Copyright 1995 FUJITSU LIMITED. -->
<!-- (c) Copyright 1995 Hitachi. -->

<chapter id="RDMAP.recin.div.1">
<title id="RDMAP.recin.mkr.1">推奨する統合方法</title>
<para><indexterm><primary>推奨する統合方法 &lt;$startrange></primary></indexterm>
<indexterm><primary>統合のレベル</primary><secondary>推奨する &lt;$startrange></secondary>
</indexterm>
<indexterm><primary>統合</primary><secondary>推奨する &lt;$startrange></secondary></indexterm>
共通デスクトップ環境には、コンポーネントおよびガイドラインがあり、これに従う
と、デスクトップ上でのアプリケーションと他のアプリケーションとの統合がうまく
いきます。この章では、アプリケーションとデスクトップとの一貫性のレベルを高める
ために使用することを推奨するコンポーネントとガイドラインの概要を説明します。
</para>
<informaltable id="RDMAP.recin.itbl.1" frame="All">
<tgroup cols="1">
<colspec colname="1" colwidth="4.0 in">
<tbody>
<row rowsep="1">
<entry><para><!--Original XRef content: 'Help System46'--><xref role="JumpText"
linkend="RDMAP.recin.mkr.2"></para></entry></row>
<row rowsep="1">
<entry><para><!--Original XRef content: 'ToolTalk Messaging Service47'--><xref
role="JumpText" linkend="RDMAP.recin.mkr.3"></para></entry></row>
<row rowsep="1">
<entry><para><!--Original XRef content: 'Session Manager50'--><xref role="JumpText"
linkend="RDMAP.recin.mkr.9"></para></entry></row>
<row rowsep="1">
<entry><para><!--Original XRef content: 'Drag and Drop52'--><xref role="JumpText"
linkend="RDMAP.recin.mkr.10"></para></entry></row>
<row rowsep="1">
<entry><para><!--Original XRef content: 'Internationalization54'--><xref role="JumpText"
linkend="RDMAP.recin.mkr.11"></para></entry></row>
<row rowsep="1">
<entry><para><!--Original XRef content: 'Standard Font Names55'--><xref role="JumpText"
linkend="RDMAP.recin.mkr.12"></para></entry></row>
<row rowsep="1">
<entry><para><!--Original XRef content: 'Displaying Error Messages from Your
Application57'--><xref role="JumpText" linkend="RDMAP.recin.mkr.13"></para></entry>
</row>
<row rowsep="1">
<entry><para><!--Original XRef content: 'PrintingXX'--><xref role="JumpText" 
linkend="RDMAP.recin.div.32b">
</para></entry>
</row>
<row rowsep="1">
<entry><para><!--Original XRef content: 'User Customization Issues59'--><xref
role="JumpText" linkend="RDMAP.recin.mkr.14"></para></entry></row></tbody>
</tgroup></informaltable>
<note>
<para>コンポーネントの統合とこの節で説明するガイドラインの他に、
<!--Original XRef content: 'Chapter&numsp;5, &xd2;Basic Application Integration'--><xref
role="ChapNumAndTitle" linkend="RDMAP.BIntg.mkr.1">で概説する基本的な統合方法
も参照してください。</para>
</note>
<para>推奨する統合方法の詳細については、<emphasis>プログラマーズ・ガイド
</emphasis>を参照してください。</para>
<sect1 id="RDMAP.recin.div.2">
<title id="RDMAP.recin.mkr.2">ヘルプ・システム</title>
<para>共通デスクトップ環境のヘルプ・システムは、アプリケーション・ソフトウェア
のオンライン・ヘルプを開発および表示するための完全なシステムです。これにより、
設計者は豊富なグラフィックとテキスト・フォーマット、ハイパーリンクを備えた
オンライン・ヘルプを書くことができ、アプリケーションからヘルプ・システムへ
アクセスできます。ヘルプ・システムは、ヘルプ機能をアプリケーションへ統合する
ためのプログラマのツールキットを提供します。</para>
<para>オンライン・ヘルプの作成とアプリケーションへの統合は、共同作業で行われ
ます。ユーザのヘルプ要求にアプリケーションがどのように応答するかは、開発者が
設計し実装します。設計者は、実際に表示されるヘルプ情報を構成し作成します。</para>
<para>ヘルプ・システムには、次のものが含まれます。</para>
<sect2 id="RDMAP.recin.div.3">
<title>設計者用<indexterm><primary>ヘルプ・システム</primary>
<secondary>設計者用</secondary></indexterm></title>
<itemizedlist remap="Bullet1"><listitem><para>共通デスクトップ環境のヘルプタグ・
マークアップ言語-
オンライン・ヘルプの構成と内容をマークするためのテキスト・ファイルに使用する
<symbol role="Variable">タグ</symbol>・セット
<indexterm><primary>ヘルプタグ</primary></indexterm>
<indexterm><primary>ヘルプ・システム</primary><secondary>ヘルプタグ</secondary>
</indexterm></para>
</listitem><listitem><para>共通デスクトップ環境のヘルプタグ・ソフトウェア-
ヘルプタグ・ファイルを実行時のヘルプ・ファイルに変換するためのソフトウェア・
ツール・セット</para>
</listitem><listitem><para>共通デスクトップ環境のヘルプビュー・アプリケーション-
オンライン・ヘルプを表示するためのビューア・プログラム</para>
</listitem></itemizedlist>
<para>設計者はヘルプ・タグ・セットを使用し、Structured Graphic Markup Language
(SGML)タグ規約に従って、ヘルプ・トピックを作成します。SGMLマークアップは、一次
データ・フォーマットです。コンパイルされた実行時の分散フォーマットは、SGMLに
準拠します。<indexterm>
<primary>Standard Generalized Markup Language (SGML)</primary></indexterm><indexterm>
<primary>ヘルプ・システム</primary><secondary>SGML</secondary></indexterm></para>
<para>ヘルプ・システムは、UNIXマニュアル・ページ、テキスト・ファイル、テキスト
文字列などのSGMLでないフォーマットもサポートします。
<indexterm><primary>UNIX</primary></indexterm>
<indexterm><primary>ヘルプ・システム</primary>
<secondary>UNIXマニュアル・ページ</secondary></indexterm></para>
<sect3 id="RDMAP.recin.div.4">
<title>プログラマ用<indexterm><primary>ヘルプ・システム</primary>
<secondary>プログラマ用</secondary></indexterm></title>
<itemizedlist remap="Bullet1"><listitem><para><command>DtHelp</command>
プログラミング・ライブラリ-
ヘルプ・ウィンドウを作成してアプリケーションと統合するためのアプリケーション・
プログラム・インタフェース(API)</para>
</listitem><listitem><para><command>DtHelp</command>
<indexterm><primary>ウィジェット</primary><secondary>ヘルプ・システム</secondary>
</indexterm>ウィジェット-ヘルプ・ダイアログ・ボックスと簡易ヘルプ・ダイアログ・
ボックス（いずれもヘルプ・ライブラリの一部）を作成するための
<command>DtHelpDialog</command>および<command>DtHelpQuickDialog</command>
ウィジェット。</para>
</listitem></itemizedlist>
</sect3>
</sect2>
<sect2 id="RDMAP.recin.div.5">
<title><indexterm><primary>ヘルプ・システム</primary>
<secondary>ライブラリおよびヘッダ・ファイル</secondary></indexterm>
ライブラリおよびヘッダ・ファイル</title>
<para>ヘルプ・ライブラリ<command>libDtHelp</command>は、Motifに基づくヘルプ・
ダイアログの作成と管理をサポートします。<command>libDtHelp</command>ヘッダ・
ファイルは次のとおりです。</para>
<itemizedlist remap="Bullet1"><listitem><para><filename>Dt/Help.h</filename></para>
</listitem><listitem><para><filename>Dt/HelpDialog.h</filename></para>
</listitem><listitem><para><filename>Dt/HelpQuickD.h</filename></para>
</listitem></itemizedlist>
</sect2>
<sect2 id="RDMAP.recin.div.6">
<title>デモ・プログラム<indexterm><primary>ヘルプ・システム</primary>
<secondary>デモ・プログラム</secondary></indexterm>
<indexterm><primary>デモ・プログラム</primary></indexterm></title>
<para><filename>/usr/dt/examples/dthelp</filename>にヘルプ・システム・デモが
あります。デモの詳細については、 <command>README</command>ファイルを参照して
ください。</para>
<sect3 id="RDMAP.recin.div.7">
<title>関連マニュアル</title>
<para>ヘルプ・システムの詳細については、関連するマニュアル・ページと
<emphasis>ヘルプ・システム 設計者およびプログラマのためのガイド</emphasis>を
参照してください。</para>
</sect3>
</sect2>
</sect1>
<sect1 id="RDMAP.recin.div.8">
<title id="RDMAP.recin.mkr.3">ToolTalkメッセージ・サービス</title>
<para>共通デスクトップ環境は、
<emphasis><indexterm><primary>メッセージ・セット</primary></indexterm><indexterm>
<primary>ToolTalkメッセージ・サービス</primary>
<secondary>メッセージ・セット</secondary>
</indexterm>メッセージ・セット</emphasis>と呼ばれる２つの標準ToolTalkプロトコル
を定義します。 メッセージ・セットは、送信側プロセスと処理側プロセスとで交換でき
るメッセージの集まりです。これらのメッセージは、関連する要求および通知を記述
するものごとにグループ化されています。送信者および受信者は、同じプロセスにあって
も異なるホストにあってもかまいません。メッセージ・セットには、ローレベルの詳細
に気をとられることなくプロトコルのセマンティクスだけに集中できるようにする関連
ユーディリティ機能があります。機能の中には、簡単にデフォルト動作に従えるように
するものもあります。</para>
<para><emphasis>デスクトップ・メッセージ・セット</emphasis>には、次の３つの領域
があります。
<indexterm><primary>デスクトップ・メッセージ・セット</primary></indexterm>
<indexterm><primary>ToolTalkメッセージ・サービス</primary>
<secondary>デスクトップ・メッセージ・セット</secondary></indexterm></para>
<itemizedlist remap="Bullet1"><listitem><para>ウィンドウ動作</para>
</listitem><listitem><para>ファイル・アクセスおよびファイルの短期ライフサイクル
制御</para>
</listitem><listitem><para>アプリケーション拡張言語</para>
</listitem></itemizedlist>
<para>ウィンドウ動作の詳細については、
<!--Original XRef content: '&xd2;Handle Desktop'--><xref role="SectionTitle"
linkend="RDMAP.recin.mkr.4">および<!--Original XRef content: '&xd2;Send
Desktop'--><xref role="SectionTitle" linkend="RDMAP.recin.mkr.5">の項を参照
してください。ファイル・アクセスおよびファイルの短期ライフサイクル制御の詳細に
ついては、<!--Original XRef content: '&xd2;Desktop File'-->
<xref role="SectionTitle" linkend="RDMAP.recin.mkr.8">の項を参照してください。
<filename>Do_Command</filename>要求の実装は、アプリケーションの拡張言語に固有
のもので、ToolTalkメッセージ・サービスではサポートしません。</para>
<para><emphasis><indexterm><primary>メディア・メッセージ・セット</primary>
</indexterm>
<indexterm><primary>ToolTalkメッセージ・サービス</primary>
<secondary>メディア・メッセージ・セット</secondary></indexterm>
メディア・メッセージ・セット</emphasis>により、アプリケーションが、任意のメディア
のコンテナまたは、そのようなコンテナから起動できるメディア・プレイヤおよび
エディタとなることができます。メディア・メッセージ・セットによって、コンテナ・
アプリケーションは、該当するメディアの型のフォーマットを知らなくても任意の
メディアのドキュメントを作成、表示、編集、印刷できます。ToolTalkメッセージ・
サービスは、コンテナの要求を、指定されたメディアの型とオペレーション用のツール
（ユーザが選択した）へ渡します。すでに実行中のツールのインスタンスがその要求を
処理するのに最適であれば、そのインスタンスが要求されます。
<!--Original XRef content: '&xd2;Send Media'--><xref role="SectionTitle" linkend="RDMAP.recin.mkr.7">
および<!--Original XRef content: '&xd2;Handle Media&xd3; on page&numsp;49'--><xref
role="SecTitleAndPageNum" linkend="RDMAP.recin.mkr.6">を参照してください。</para>
<para>ToolTalkメッセージ・サービスは、次のようなメッセージ・セットをサポート
します。</para>
<itemizedlist remap="Bullet1"><listitem><para id="RDMAP.recin.mkr.4">デスク
トップの処理</para>
<para>デスクトップ要求の処理は、メッセージング統合の中で最も基本的なものです。
ToolTalkメッセージを送信するアプリケーションは、<filename>tt_message_send()
</filename>または、<filename>DtActionInvoke()</filename>のいずれを呼び出す場合
も、デスクトップ要求を処理します。これによって、アプリケーションの現在の
ディレクトリ、アイコンの状態、<filename>$DISPLAY</filename>などを、他の
アプリケーションが設定または照会できます。詳細については、
<filename>ttdt_open()</filename>、<filename>ttdt_session_join()</filename>、
<filename>ttdt_session_quit()</filename>、<filename>ttdt_close()</filename>
のマニュアル・ページを参照してください。</para>
</listitem><listitem><para id="RDMAP.recin.mkr.5">デスクトップの送信</para>
<para>アプリケーションを<command>ttsession</command>で起動し、ToolTalk要求を
処理するようにすると、このアプリケーションは要求送信者ではなく
<command>ttsession</command>の子になります。アプリケーションは通常、送信者と
同じXの表示セッションで起動されますが、同じX11画面、または同じ現在のディレクトリ
・コンテキストにある必要はありません。アプリケーションがサーバ・プロセスとして
実装された場合、すでに特定の画面または特定のディレクトリ・コンテキストに表示され
ています。</para>
<para>デスクトップ要求を使用すると、アプリケーションの処理は、デスクトップ以外
でコマンド行の起動で継承される送信者の属性から継承できます。 このようにデスク
トップ・メッセージ・セットを使用し、ハンドラのロケール、現在の作業ディレクトリ、
<filename>$DISPLAY</filename>をリセットしてください。これにより、入念にコード化
された受信アプリケーションが、送信者として同じX11画面に表示されます。要求ハンドラ
は、要求送信者の現在のディレクトリとウィンドウのジオメトリを見つけることもでき
ます。ウィンドウのジオメトリを知っていると、要求ハンドラのウィンドウが要求送信
者のウィンドウをできる限り隠さないようにすることができます。詳細については、
<filename>ttdt_sender_imprint_on()</filename>のマニュアル・ページを参照して
ください。</para>
</listitem><listitem><para id="RDMAP.recin.mkr.6">メディアの処理</para>
<para>ToolTalkメッセージ・サービスは、エディタが処理するメディア型に対する標準
メディア要求を、処理しやすくします。詳細については、
<filename>ttmedia_ptype_declare()</filename>、
<filename>ttdt_message_accept()</filename>、
<filename>ttmedia_load_reply()</filename>、<filename>ttmedia_Deposit()</filename>
のマニュアル・ページを参照してください。</para>
</listitem><listitem><para id="RDMAP.recin.mkr.7">メディアの送信</para>
<para>ToolTalkメッセージ・サービスは、コンテナのメディア要求送信と、ハンドラが
返す一連のドキュメントの改訂の管理を容易にします。コンテナがメディア・ハンドラ
で実行中のToolTalkダイアログを処理していない場合は、ToolTalk APIを直接使用する
のではなく、アクションAPIを使用してください。相当するアクション（[開く]と[印刷]）
は、ToolTalkおよびToolTalk以外が検知するメディア・ハンドラと同等のハンドラを
サポートする上位の概念を示します。詳細については、
<filename>ttmedia_load()</filename>および<filename>ttdt_subcontract_manage()
</filename>のマニュアル・ページを参照してください。ほとんどの場合、コンテナ・
アプリケーションは<filename>ttmedia_load()</filename>ではなく
<filename>DtActionInvoke()</filename>を使用して、オブジェクトのオペレーションを
実行するので注意してください。アクションによってToolTalkアプリケーションを起動
する方法の詳細については、<emphasis>ToolTalkメッセージの概要</emphasis>を参照し
てください。</para>
</listitem><listitem><para id="RDMAP.recin.mkr.8">デスクトップ・ファイル</para>
<para>ToolTalkメッセージ・サービスは、ファイルに関するデスクトップのメッセージの
送受信を容易にします。これらのメッセージにより、アプリケーションがファイルへの
アクセスを調整できるようになります。詳細については、
<filename>ttdt_file_join()</filename>、<filename>ttdt_file_quit()</filename>、
<filename>ttdt_file_event()</filename>、<filename>ttdt_Get_Modified()</filename>、
<filename>ttdt_Save()</filename>、<filename>ttdt_Revert()</filename>の
マニュアル・ページを参照してください。</para>
</listitem></itemizedlist>
<para>ToolTalkメッセージ・サービスをすでに使用しているアプリケーションの例は、
共通デスクトップ環境のアイコン・エディタ、メール・プログラム、テキスト・エディタ、
カレンダなどです。共通デスクトップ環境の他の部分では、メッセージを送信する
アクションを定義することにより、ToolTalkメッセージ・サービスを間接的に使用
しています。</para>
<sect2 id="RDMAP.recin.div.9">
<title>ライブラリおよびヘッダ・ファイル
<indexterm><primary>ToolTalkメッセージ・サービス</primary>
<secondary>ライブラリおよびヘッダ・ファイル</secondary></indexterm></title>
<para>ToolTalkメッセージ・ライブラリは、<command>libtt</command>と呼ばれます。
<command>libtt</command>ヘッダ・ファイルは次のとおりです。</para>
<itemizedlist remap="Bullet1"><listitem><para><filename>Tt/tt_c.h</filename></para>
</listitem><listitem><para><filename>Tt/tttk.h</filename></para>
</listitem></itemizedlist>
</sect2>
<sect2 id="RDMAP.recin.div.10">
<title>デモ・プログラム<indexterm><primary>ToolTalkメッセージ・サービス</primary>
<secondary>デモ・プログラム</secondary></indexterm>
<indexterm><primary>デモ・プログラム</primary></indexterm></title>
<para>ToolTalkメッセージ・サービスのデモは、
<filename>/usr/dt/examples/tt</filename>にあります。デモの詳細については、
<command>README</command>ファイルを参照してください。</para>
<sect3 id="RDMAP.recin.div.11">
<title>関連マニュアル</title>
<para>ToolTalkメッセージ・サービスの詳細については、関連するマニュアル・ページ
と<emphasis>ToolTalkメッセージの概要</emphasis>を参照してください。</para>
</sect3>
</sect2>
</sect1>
<sect1 id="RDMAP.recin.div.12">
<title id="RDMAP.recin.mkr.9">セッション・マネージャ</title>
<para>セッション・マネージャは、ICCCM 1.1 
<filename><indexterm><primary>WM_COMMAND</primary></indexterm>
<indexterm><primary>セッション・マネージャ</primary>
<secondary>WM_COMMAND</secondary></indexterm>WM_COMMAND</filename>および
<filename><indexterm><primary>WM_SAVE_YOURSELF</primary></indexterm>
<indexterm><primary>セッション・マネージャ</primary>
<secondary>WM_SAVE_YOURSELF</secondary></indexterm>WM_SAVE_YOURSELF</filename>
<indexterm><primary>プロトコル</primary><secondary>WM_COMMAND</secondary>
</indexterm><indexterm><primary>プロトコル</primary>
<secondary>WM_SAVE_YOURSELF</secondary></indexterm>プロトコルをサポートし、
次のことを許可します。</para>
<itemizedlist remap="Bullet1"><listitem><para>アプリケーションがログアウト時の
状態情報を保存する</para>
</listitem><listitem><para>セッション・マネージャがログイン時にアプリケーション
を再起動する</para>
</listitem></itemizedlist>
<para>セッション・マネージャはAPIも提供し、アプリケーションがログアウト時および
ログイン時の状態を保存および格納するのを補助します。</para>
<para>ログイン時にアプリケーションを再起動させるのは、セッション・マネージャの
役割です。これを行うには、再起動に必要なコマンドおよびコマンド行オプションを
アプリケーションが、セッション・マネージャに通知しなければなりません。Xlibの
<filename>XSetCommand()</filename>を使用して、アプリケーションのトップ・レベル・
ウィンドウに<filename>WM_COMMAND</filename>属性を設定してください。</para>
<para>セッション・マネージャがログアウト時などにセッションを保存する際に、
アプリケーションは、似たような状態での復元のために一部の情報を保存する必要が
あります。セッション・マネージャは、セッションが保存されていることを
アプリケーションに任意に通知することができます。このような通知が必要であること
を、アプリケーションはセッション・マネージャに知らせなければなりません。
<filename>WM_SAVE_YOURSELF</filename>プロトコルをトップレベル・ウィンドウの
<filename>WM_PROTOCOLS</filename>属性に登録し、通知を処理するコールバック・
プロシージャを設定することで実現します。これには
<filename><indexterm><primary>XmAddWMProtocols()</primary>
</indexterm><indexterm><primary>セッション・マネージャ</primary>
<secondary>XmAddWMProtocols()</secondary></indexterm>XmAddWMProtocols()</filename>
および<filename><indexterm>
<primary>XmAddWMProtocolsCallback()</primary></indexterm><indexterm>
<primary>セッション・マネージャ</primary>
<secondary>XmAddWMProtocolsCallback()</secondary>
</indexterm>XmAddWMProtocolsCallback()</filename>関数を使用します。
<filename>WM_SAVE_YOURSELF</filename>コールバックの処理中にどのような形であれ、
アプリケーションとユーザは、対話すべきではありません。（たとえば、[別名保存]
ダイアログ・ボックスは、表示するべきではありません。）このコールバックは、
<filename>WM_COMMAND</filename>属性をトップレベル・ウィンドウに設定して、
セッション・マネージャに状態の保存が終了していることを通知しなければなりません。
</para>
<para>アプリケーションが状態情報を保存できるようにするには、<filename><indexterm>
<primary>DtSessionSavePath()</primary></indexterm>
<indexterm><primary>セッション・マネージャ</primary>
<secondary>DtSessionSavePath()</secondary></indexterm>
DtSessionSavePath()</filename>関数を使用して、情報を保存するファイルの絶対パス
名を獲得してください。セッションの復元時は、<filename><indexterm>
<primary>DtSessionRestorePath()</primary></indexterm>
<indexterm><primary>セッション・マネージャ</primary>
<secondary>DtSessionRestorePath()</secondary></indexterm>
DtSessionRestorePath()</filename>関数を使用して、アプリケーションが状態を復元
するのに使用する状態ファイルの絶対パス名を獲得してください。</para>
<para>共通デスクトップ環境の<indexterm><primary>ワークスペース・
マネージャ</primary></indexterm>ワークスペース・マネージャは、アプリケーション
のメイン・トップレベル・ウィンドウ（<filename>WM_COMMAND</filename>を含む）
属性を正しいワークスペース、ジオメトリ、アイコン状態に復元します。
アプリケーションに複数のトップレベル・ウィンドウがある場合、他の上位ウィンドウ
の状態の復元は、アプリケーションが担当します。その他の情報については、
<!--Original XRef content: '&xd2;Workspace Manager&xd3; on page&numsp;70'-->
<xref role="SecTitleAndPageNum" linkend="RDMAP.optin.mkr.5">を参照してください。
</para>
<sect2 id="RDMAP.recin.div.13">
<title>ライブラリおよびヘッダ・ファイル
<indexterm><primary>セッション・マネージャ</primary>
<secondary>ライブラリおよびヘッダ・ファイル</secondary></indexterm></title>
<para>デスクトップ・ライブラリ<command>libDtSvc</command>は、セッション管理用も
含めて多数のデスクトップAPIへアクセスできるようにします。
<filename>Dt/Dt.h</filename>および<filename>Dt/Session.h</filename>ヘッダ・
ファイルを取り込んで、セッション・マネージャAPIにアクセスしてください。</para>
<note>
<para>アプリケーションが任意のセッション・マネージャAPIを使用している場合、まず
<filename><indexterm><primary>DtInitialize()</primary></indexterm>
DtInitialize()</filename>または
<filename><indexterm><primary>DtAppInitialize()</primary></indexterm>
DtAppInitialize()</filename>を呼び出して<command>libDtSvc</command> ライブラリを
初期化しなければなりません。詳細については、<filename>DtInitialize</filename>(3)
または<filename>DtAppInitialize</filename>(3)のマニュアル・ページを参照してくだ
さい。</para>
</note>
</sect2>
<sect2 id="RDMAP.recin.div.14">
<title>デモ・プログラム<indexterm><primary>セッション・マネージャ</primary>
<secondary>デモ・プログラム</secondary></indexterm>
<indexterm><primary>デモ・プログラム</primary></indexterm></title>
<para>セッション・マネージャのデモは、
<filename>/usr/dt/examples/dtsession</filename>にあります。詳細については、
<command>README</command>ファイルを参照してください。</para>
<sect3 id="RDMAP.recin.div.15">
<title>関連マニュアル</title>
<para>セッション・マネージャの詳細については、関連するマニュアル・ページと
<emphasis>プログラマーズ・ガイド</emphasis>を参照してください。</para>
</sect3>
</sect2>
</sect1>
<sect1 id="RDMAP.recin.div.16">
<title id="RDMAP.recin.mkr.10">ドラッグ＆ドロップ</title>
<para>共通デスクトップ環境は、Motif2.1ドラッグ＆ドロップAPIの一番上の階層上に
ドラッグ＆ドロップAPIを提供し、デスクトップにおいて便利で一貫した相互運用可能
なドラッグ＆ドロップAPIをサポートします。共通デスクトップ環境ドラッグ＆ドロップ
APIにより、開発者はドラッグ＆ドロップを容易に実現できます。ドラッグ＆ドロップが
あれば、ユーザはディスプレイ上でグラブしたり、ドラッグしたり、他のオブジェクトに
ドロップしてオブジェクトの場所の変更やデータ転送を行い、直接画面上でオブジェクト
を処理できます。</para>
<para>Motif 2.1ドラッグ＆ドロップはローレベルの機能を提供しています。共通デスク
トップ環境ドラッグ＆ドロップはこれらの機能のポリシーを取り込んでいます。
<indexterm><primary>ドラッグ＆ドロップ</primary>
<secondary>Motif 2.1 ドラッグ＆ドロップ</secondary></indexterm></para>
<para>共通デスクトップ環境ドラッグ＆ドロップは、Motifドラッグ＆ドロップへの
インタフェースを単純化するAPIとプロトコルから成り立っています。そして、
バッファ転送プロトコルやドラッグ・カーソル形状などのポリシーを実現します。共通
デスクトップ環境ドラッグ＆ドロップAPIを組み込みポリシーと共に使用して、一貫した
相互運用性を保証してください。共通デスクトップ環境ドラッグ＆ドロップ・ポリシー
は、テキスト転送およびファイル名転送用のMotif2.1ドラッグ＆ドロップ・プロトコル
と互換性があります。</para>
<para>共通デスクトップ環境ドラッグ＆ドロップは、データ転送にX選択機能を使用して
います。適切なターゲットはすでに存在し、Xコンソーシアムに登録されています。２つ
のデスクトップ・アプリケーションは、テキスト、ファイル名、データ転送のプロトコル
によってデータを転送します。</para>
<para>既存のドラッグ＆ドロップのためのMotif 2.1 APIは柔軟性があり、したがって熟練
していない開発者には使用するのが幾分難しいところがあります。共通デスクトップ環境
ドラッグ＆ドロップAPIは、APIを単純で簡単に使用できるよういくつかの便利な機能を
提供しています。</para>
<itemizedlist remap="Bullet1"><listitem><para>ドラッグ・アイコンの構成と形状を
管理します。</para>
<para>共通デスクトップ環境のドラッグ＆ドロップには、Motif 2.1のドラッグ・アイコン
を作成するデフォルトのソース、状態、操作アイコンのグラフィックがあります。</para>
</listitem><listitem><para>バッファ転送プロトコルを定義します。</para>
<para>Motif 2.1ドラッグ＆ドロップは、ファイル名とテキスト文字列だけのプロトコル
を定義します。</para>
</listitem><listitem><para>ドロップによるアニメーションを可能にします。</para>
<para>ドロップを完了したときに呼び出される、アニメーション手続きをドロップ領域
が定義できます。</para>
</listitem><listitem><para><command>TEXT</command>および
<filename>FILE_NAME</filename>転送のターゲットを列挙します。</para>
</listitem><listitem><para>重複して登録できます。</para>
<para>テキストのドロップを受け入れる機能を残しておきながら、テキスト・ウィジェット
をテキスト以外のデータ用にドロップ領域として登録することもできます。</para>
</listitem><listitem><para>優先順位の付いたドロップ・フォーマットを提供します。
</para>
<para>ドロップ領域でプロトコルを順に、優先順位が付けられます。</para>
</listitem></itemizedlist>
<sect2 id="RDMAP.recin.div.17">
<title>ライブラリおよびヘッダ・ファイル
<indexterm><primary>ドラッグ＆ドロップ</primary>
<secondary>ライブラリおよびヘッダ・ファイル</secondary></indexterm></title>
<para>デスクトップ・サービス・ライブラリ<command>libDtSvc</command>は、ドラッグ
＆ドロップも含めたあらゆるデスクトップAPIへのアクセスを提供します。ドラッグ＆
ドロップAPIにアクセスするには、<filename>Dt/Dt.h</filename>および
<filename>Dt/Dnd.h</filename>ヘッダ・ファイルを取り込んでください。</para>
<note>
<para>アプリケーションが任意のドラッグ＆ドロップAPIを使用している場合、まず
<filename><indexterm><primary>DtInitialize()</primary></indexterm>
DtInitialize()</filename>または
<filename><indexterm><primary>DtAppInitialize()</primary></indexterm>
DtAppInitialize()</filename>を呼び出して<command>libDtSvc</command>ライブラリを
初期化してください。詳細については、<filename>DtInitialize</filename>(3)または、
<filename>DtAppInitialize</filename>(3)のマニュアル・ページを参照してください。
</para>
</note>
</sect2>
<sect2 id="RDMAP.recin.div.18">
<title>デモ・プログラム<indexterm><primary>ドラッグ＆ドロップ</primary>
<secondary>デモ・プログラム</secondary></indexterm></title>
<para>ドラッグ＆ドロップのデモは、<filename>/usr/dt/examples/dtdnd</filename>
にあります。詳細については、<command>README</command>ファイルを参照してください。
</para>
<sect3 id="RDMAP.recin.div.19">
<title>関連マニュアル</title>
<para>共通デスクトップ環境ドラッグ＆ドロップの詳細については、関連するマニュアル
ページと<emphasis>プログラマーズ・ガイド</emphasis>を参照してください。</para>
</sect3>
</sect2>
</sect1>
<sect1 id="RDMAP.recin.div.20">
<title id="RDMAP.recin.mkr.11">国際化</title>
<para>共通デスクトップ環境は、シングルバイトおよびマルチバイトのロケールをサポート
するよう国際化しています。開発者は、あらゆる共通デスクトップ環境プラット
フォームで実行するため簡単ローカライズできる国際化アプリケーションを作成
することができます。
<indexterm><primary>ガイドライン</primary><secondary>国際化 &lt;$startrange></secondary>
</indexterm>
<indexterm><primary>シングルバイト・ロケール</primary></indexterm>
<indexterm><primary>ロケール</primary>
<secondary>シングルバイト・ロケール</secondary></indexterm>
<indexterm><primary>国際化</primary>
<secondary>シングルバイト・ロケール</secondary></indexterm>
<indexterm><primary>マルチバイト・ロケール</primary></indexterm>
<indexterm><primary>ロケール</primary><secondary>マルチバイト</secondary>
</indexterm>
<indexterm><primary>国際化</primary>
<secondary>マルチバイト・ロケール</secondary></indexterm></para>
<para>共通デスクトップ環境アプリケーション（ソースおよびバイナリの両方）は、
いろいろな言語および地域にローカライズでき、複数のべンダおよびハードウェア・
プラットフォームで使用できます。
<indexterm><primary>ロケール</primary>
<secondary>ローカライズできるアプリケーション</secondary></indexterm>
<indexterm><primary>国際化</primary>
<secondary>ロケール</secondary></indexterm></para>
<itemizedlist remap="Bullet1"><listitem><para>ラテン・アメリカ</para>
</listitem><listitem><para>西ヨーロッパ</para>
</listitem><listitem><para>日本</para>
</listitem><listitem><para>韓国</para>
</listitem><listitem><para>中国（繁体字と簡体字）</para>
</listitem></itemizedlist>
<para>共通デスクトップ環境は、以下の規格のもと国際化機能を利用します。
<indexterm><primary>規格</primary><secondary>国際化</secondary></indexterm>
<indexterm><primary>国際化</primary><secondary>規格</secondary></indexterm>
</para>
<itemizedlist remap="Bullet1"><listitem><para>IEEE 1003.2-1992 ( <indexterm>
<primary>POSIX</primary></indexterm>POSIX.2 Annex B)</para>
</listitem><listitem><para>X Window System, Version 11 Release 6.2 (ロケール
および国際化テキスト機能）<indexterm><primary>X11R6.2</primary>
</indexterm></para>
</listitem><listitem><para>Motif 2.1 （Motifクライアントの国際化および
ローカライズ）<indexterm><primary>Motif 2.1</primary></indexterm></para>
</listitem></itemizedlist>
<para>アプリケーションを国際化させる場合、マルチバイト文字の入出力をサポート
していることを確認してください。CDEでは縦書きをサポートしています。また、
メッセージ・カタログを使用していて、コードを完全にローカライズできることも確認
してください。</para>
<sect2 id="RDMAP.recin.div.21">
<title>デモ・プログラム<indexterm><primary>国際化</primary>
<secondary>デモ・プログラム</secondary></indexterm>
<indexterm><primary>デモ・プログラム</primary></indexterm></title>
<para><filename>/usr/dt/examples/template</filename>にある描画プログラムのデモ
は、国際化されています。詳細については、<command>README</command>ファイルを
参照してください。</para>
<sect3 id="RDMAP.recin.div.22">
<title>関連マニュアル</title>
<para>共通デスクトップ環境国際化の詳細については、開発環境コンポーネントの
マニュアル・ページと<emphasis>国際化対応　プログラマーズ・ガイド</emphasis>
を参照してください。<indexterm><primary>ガイドライン</primary>
<secondary>国際化 &lt;$endrange></secondary></indexterm></para>
</sect3>
</sect2>
</sect1>
<sect1 id="RDMAP.recin.div.23">
<title id="RDMAP.recin.mkr.12">標準フォント名</title>
<para>共通デスクトップ環境で定義された標準フォント名は、すべての共通デスクトップ
環境準拠システムで使用できることが保証されています。これらは実際のフォントを
示すものではありません。各システムのベンダが、最適に使用できるフォントに
マップするための別名です。アプリケーションでこのフォント名のみを使用していれば、
あらゆる共通デスクトップ環境準拠システムで、最も近いフォントを使用できます。
これには、最も一般的な分野である型の設計および形式で使用できるXウィンドウ・
システムのフォント名を含みます。
<indexterm><primary>フォント</primary>
<secondary>標準フォント名</secondary></indexterm>
<indexterm><primary>ガイドライン</primary>
<secondary>使用するフォント &lt;$startrange></secondary></indexterm>
</para>
<para>標準フォント名は、異なる共通デスクトップ環境プラットフォームでは、通常
Xのフォント別名機能によって別のフォントにマップされます。これによって、異なる
プラットフォーム上のさまざまなフォントから選択をしなければならないという問題から
解放されます。また、特定のベンダの共通デスクトップ環境の実装で、デフォルトの
フォント・セットを使用できるようになります。</para>
<para>共通デスクトップ環境は２種類の標準フォントを定義します。アプリケーション・
フォントとインタフェース・フォントです。アプリケーション・フォントを
アプリケーションからの出力に使用してください。Motifウィジェットおよびデスクトップ
では、インタフェース・フォントを使用します。このデフォルト・フォントは、
<symbol role="Variable">変更しないでください</symbol>。
<indexterm><primary>インタフェース・フォント</primary></indexterm>
<indexterm><primary>フォント</primary><secondary>インタフェース</secondary>
</indexterm></para>
<sect2 id="RDMAP.recin.div.24">
<title>アプリケーション・フォント
<indexterm><primary>アプリケーション・フォント &lt;$startrange>
</primary></indexterm>
<indexterm><primary>フォント</primary><secondary>アプリケーション &lt;
$startrange></secondary></indexterm></title>
<para>少なくとも６種類のサイズが、すべての共通デスクトップ環境プラットフォーム
で使用できます。各フォントは、標準フォント名８、１０、１２、１４、１６、１８、
２４に関連しています。共通デスクトップ環境用XLFDフォントの記述は、次のようになり
ます。</para>
<programlisting><filename>-dt-application-*</filename></programlisting>
<para>上記のようなパターンを使用すれば有効です。</para>
<para>テキストの表示に使用されるフォントのデザインのバリエーションで最も一般的
なものは、serifとsans serif、およびプロポーショナルと固定幅文字の選択です。これ
ら２つのデザインのバリエーションを組み合わせると、次の４つのデザインになります。
</para>
<itemizedlist remap="Bullet1"><listitem><para>serifでプロポーショナル</para>
</listitem><listitem><para>sans serifでプロポーショナル</para>
</listitem><listitem><para>serifで固定幅</para>
</listitem><listitem><para>sans serifで固定幅</para>
</listitem></itemizedlist>
<para>上記４つのデザインの一般例は、次のとおりです（順序は上記のとおりです）。
</para>
<itemizedlist remap="Bullet1"><listitem><para>Times Roman（タイムズ・ローマン）
</para>
</listitem><listitem><para>Helvetica（ヘルべチカ）</para>
</listitem><listitem><para>Courier（クーリエ）</para>
</listitem><listitem><para>Lucida Typewriter（ルシダ・タイプライタ）</para>
</listitem></itemizedlist>
<para>これらのデザインには、（太さと傾斜の組み合わせによる）次のような４つの
スタイルがあります。</para>
<itemizedlist remap="Bullet1"><listitem><para>Plain（プレーン）</para>
</listitem><listitem><para>Bold（ボールド）</para>
</listitem><listitem><para>Italic（イタリック）</para>
</listitem><listitem><para>Bold-italic（ボールド・イタリック）</para>
</listitem></itemizedlist>
<para>上記の４つのデザインにはそれぞれ４つのスタイルがあるので、合計１６種類
のフォントが生成されます。この１６種類のフォントは、一般のデスクトップ・
コンピューティングで最も一般的に使用されるものです。たとえば、Times Roman
（タイムズ・ローマン）、Helvetica（へルべチカ）、Courier（クーリエ）には、４つ
のスタイルがありますが、シンボル・フォントと共に、
<emphasis>Adobe&reg; 13</emphasis>つまりすべてのPostScriptプリンタに組み込まれ
るフォントの最小セットを構成します。</para>
<para>アプリケーションは、正式なフォント・ファミリまたはフォント名を必要としま
せんが、たとえば固定幅フォント、sans serifフォント、serifフォントなどの使用は
必要です。特定の共通デスクトップ環境プラットフォームに存在する正式フォント名
を知る必要はありません。共通デスクトップ環境標準フォントは、ベンダのプラット
フォームで最適な特定のデザインの選択をデフォルトにしています。</para>
<para>アプリケーションの
<indexterm><primary>XLFDフォント名</primary></indexterm>
<indexterm><primary>フォント</primary><secondary>XLFD</secondary></indexterm>
<indexterm><primary>標準フォント名</primary><secondary>XLFDフォント名</secondary>
</indexterm>
<filename><indexterm><primary>app-defaults file</primary></indexterm>
<indexterm><primary>標準フォント名</primary>
<secondary>app-defaults file</secondary></indexterm>app-defaults</filename>
ファイルでは、アプリケーションが必要とするフォント・リソース値として、標準
フォント名に対してXLFDフォント名を指定してください。このフォント名を使用しない
場合は、各共通デスクトップ環境プラットフォーム上の各アプリケーションに対して、
別の<computeroutput>app-defaults</computeroutput>ファイルを提供する必要があり
ます<literal><indexterm><primary>アプリケーション・フォント &lt;$endrange></primary>
</indexterm>
<indexterm><primary>フォント</primary><secondary>アプリケーション &lt;
$endrange></secondary>
</indexterm></literal>。
</para>
</sect2>
<sect2 id="RDMAP.recin.div.25">
<title>インタフェース・フォント
<indexterm><primary>インタフェース・フォント</primary></indexterm>
<indexterm><primary>フォント</primary><secondary>インタフェース</secondary>
</indexterm><indexterm><primary>標準フォント名</primary>
<secondary>インタフェース・フォント</secondary></indexterm></title>
<para>インタフェース・フォントは、特定のプラットフォームで、デスクトップの外観
を定義するのに最適化されたフォントの小さなセットです。これらのフォントは、
ウィンドウ・タイトル、ボタン、メニュー、テキスト・フィールドなどに表示されてい
る様に、少量の情報を明確にすばやく伝達します。</para>
<para>デスクトップおよびMotifツールキット・ウィジェットは、インタフェース・
フォントを使用します。アプリケーション・ウィンドウ内で、これらのフォントを直接
使用しないでください。</para>
<para>標準インタフェース・フォント名は、標準アプリケーション・フォント名とは
異なります。標準インタフェース・フォント名は、アプリケーション・フォント名の
ように異なる共通デスクトップ環境プラットフォーム上では、別のフォントにマップ
されます。インタフェース・フォント名には、次の３つのスタイルがあります。</para>
<itemizedlist remap="Bullet1"><listitem><para><emphasis>System</emphasis>:
読み専用テキスト（メニュー、ボタン、ラベルなど、限られた量のテキストに使用）
</para>
</listitem><listitem><para><emphasis>User</emphasis>:
エンド・ユーザが入力したテキスト、または<command>XmText</command>型および
<command>DtTerm</command>型ウィジェットから構築されるオブジェクトに示される
テキスト</para>
</listitem><listitem><para><emphasis>User bold</emphasis>:
ユーザ・フォントと同じで、ボールド</para>
</listitem></itemizedlist>
<para>上記のスタイルのサイズには、７種類のサイズがあります。
<indexterm><primary>スタイル・マネージャ</primary></indexterm>
<indexterm><primary>フォント</primary><secondary>インタフェース</secondary>
<tertiary>スタイル・マネージャ</tertiary></indexterm>
スタイル・マネージャを使用して、ユーザはデスクトップで使用するインタフェース・
フォントのサイズを選択することができます。</para>
</sect2>
<sect2 id="RDMAP.recin.div.26">
<title>デモ・プログラム<indexterm><primary>標準フォント名</primary>
<secondary>デモ・プログラム</secondary></indexterm></title>
<para><filename>/usr/dt/examples/template</filename>にある描画プログラムのデモ
は、独自のインタフェース・フォントを指定しません。共通デスクトップ環境Motif
インタフェース・フォントの表示例を示します。ただし、このデモでは、アプリケーション
・フォントを利用していません。</para>
<sect3 id="RDMAP.recin.div.27">
<title>関連マニュアル</title>
<para>標準フォントの詳細については、関連するマニュアル・ページ、特に
<filename>DtStdAppFontNames(5)</filename>および
<filename>DtStdInterfaceFontNames(5)</filename>のXLFDフォント名のリストに
関する記述と、<emphasis>プログラマーズ・ガイド</emphasis>を参照してください。
<indexterm><primary>XLFDフォント名</primary></indexterm>
<indexterm><primary>フォント</primary><secondary>XLFD</secondary></indexterm>
<indexterm><primary>フォント</primary><secondary>標準フォント名</secondary>
</indexterm><indexterm><primary>ガイドライン</primary>
<secondary>使用するフォント &lt;$endrange></secondary></indexterm>
</para>
</sect3>
</sect2>
</sect1>
<sect1 id="RDMAP.recin.div.28">
<title id="rdmap.recin.mkr.13">アプリケーションのエラー・メッセージの表示
<indexterm><primary>エラー・メッセージ</primary><secondary>表示</secondary>
</indexterm>
<indexterm><primary>ガイドライン</primary>
<secondary>エラー・メッセージの表示 &lt;$startrange></secondary></indexterm>
</title>
<para>共通デスクトップ環境のアプリケーションは、共通モデルに従ってエラー・
メッセージと警告を表示します。アプリケーションを実行しているユーザは、
メッセージはメッセージ・フッタ、エラー・ダイアログ・ボックス、警告ダイアログ・
ボックスのいずれかに表示され、詳細な記述は、適切にオンライン・ヘルプに示される
と思っています。</para>
<para>この節では、アプリケーションのエラー・メッセージ表示規則を概説します。
メッセージ・テキストの処理方法ですので、エラー表示のガイドラインには正確に従って
ください。たとえば、フロントパネルからアプリケーションを起動すると、ユーザは標準
エラーまたは、標準出力に送信されるメッセージを見ることができません。共通デスク
トップ環境では、そのようなメッセージは、多くのユーザが定期的に調べないような
ログ・ファイル(<filename>$HOME/.dt/*log</filename>)に出力されます。</para>
<sect2 id="RDMAP.recin.div.29">
<title>エラー・メッセージの表示方法
<indexterm><primary>エラー・メッセージ</primary><secondary>表示方法</secondary>
</indexterm></title>
<para>ユーザに警告、メッセージ、エラー状態を通知する場所を決定するときは、
次の規則に従ってください。</para>
<itemizedlist remap="Bullet1"><listitem><para><emphasis>情報を示すメッセージの
場合は</emphasis>、アプリケーションのメッセージ・フッタにテキストを表示する
(<emphasis>例:</emphasis> 「<command>MyDoc</command>ファイルをコピーしました。
」)</para>
</listitem><listitem><para><emphasis>エラーまたは、重大な警告についての
メッセージの場合は</emphasis>（ユーザにとって重要な操作が失敗した場合のトラブル
など）、エラー・ダイアログ・ボックスまたは、警告ダイアログ・ボックスに表示する。
</para>
</listitem></itemizedlist>
</sect2>
<sect2 id="RDMAP.recin.div.30">
<title>エラー・ダイアログに表示する情報
<indexterm><primary>エラー・メッセージ</primary>
<secondary>エラー・ダイアログ・ボックスに表示する情報</secondary>
</indexterm></title>
<para>エラー・ダイアログまたは、警告ダイアログは、ユーザに次のような情報を示す
必要があります。</para>
<itemizedlist remap="Bullet1"><listitem><para>何が起こったか（ユーザの見地
から）</para>
</listitem><listitem><para>なぜ起こったかをわかりやすく</para>
</listitem><listitem><para>問題の解決方法</para>
</listitem></itemizedlist>
</sect2>
<sect2 id="RDMAP.recin.div.31">
<title>メッセージ・ダイアログをオンライン・ヘルプへリンクする方法
<indexterm><primary>エラー・メッセージ</primary>
<secondary>メッセージ・ダイアログをオンライン・ヘルプへリンクする方法</secondary>
</indexterm></title>
<para>追加のバックグラウンド情報が必要な場合、またはエラーを完全に説明するのに
４、５行以上のダイアログが必要な場合は、ユーザを適切なオンライン・ヘルプの
セクションに導くボタンを追加してください。</para>
<sect3 id="RDMAP.recin.div.32">
<title>関連マニュアル</title>
<para>アプリケーションにおけるエラー・メッセージの表示、およびメッセージ・
ダイアログのオンライン・ヘルプへのリンクの詳細については、
<emphasis>プログラマーズ・ガイド</emphasis>を参照してください。
<indexterm><primary>エラー・メッセージ</primary><secondary>表示</secondary>
</indexterm>
<indexterm><primary>ガイドライン</primary>
<secondary>エラー・メッセージの表示 &lt;$endrange></secondary></indexterm>
</para>
</sect3>
</sect2>
<sect2 id="RDMAP.recin.div.32a">
<title>メッセージ・ログ採取の使用方法</title>
<indexterm><primary>エラー・メッセージ</primary><secondary>ログ</secondary>
</indexterm>
<para>メッセージ・ログ採取・サービスは、CDEアプリケーションのログをとります。この
サービスによりユーザおよびシステム管理者は、問題の診断に使用するメッセージの
位置を知ることができます。</para>
<para>メッセージ・ログ採取サービスは、情報、標準エラー出力、デバッグ、警告、
エラーの５種類のメッセージ型をサポートします。メッセージのログをとるだけでなく、
APIは代替メッセージ・ログ採取ハンドラおよびメッセージ・ログ・ファイルを開く機能を
サポートします。</para>
</sect2>
</sect1>
<sect1 id="RDMAP.recin.div.32b">
<title>印刷</title>
<indexterm><primary>印刷</primary></indexterm>
<para>CDE印刷機能は、主にXプリントを行うアプリケーションに使用されるものですが、
任意のCDEアプリケーションでも充分に使用できるよう汎用化されています。アプリケー
ションのユーザは、通常ダイアログのセットを使用してファイルを印刷します。この
ダイアログのセットは、ユーザが（たとえば）アプリケーションのプルダウン・メニュー
から、ファイルの印刷を選択した時に起動します。</para>
<para>アプリケーション開発者は、印刷をサポートする次の２つの機能を使用すること
ができます。
</para>
<itemizedlist>
<listitem>
<para>DtPrint簡易関数：これらの関数は、印刷オプションの設定のユーザ・ダイアログ
を提供します。この機能は、印刷の接続を行い維持し、印刷の設定データを保持します。 
</para>
</listitem>
<listitem>
<para>印刷ダイアログ・マネージャ：この処理は、Xプリント・サーバおよびXプリント・
アプリケーションとは異なり、プリンタおよびスプーラ固有のセットアップ・ダイアログ
を提供します。</para>
</listitem>
</itemizedlist>
</sect1>
<sect1 id="RDMAP.recin.div.33">
<title id="RDMAP.recin.mkr.14">ユーザ・カスタマイズの問題
<indexterm><primary>ユーザ・カスタマイズの問題</primary></indexterm>
<indexterm><primary>カスタマイズ</primary><secondary>ユーザの問題 &lt;
$startrange></secondary></indexterm></title>
<para>この節では、アプリケーションのユーザ・インタフェースを設計するときのガイド
ラインを示します。</para>
<sect2 id="RDMAP.recin.div.34">
<title>使用する色の数
<indexterm><primary>ユーザ・カスタマイズの問題</primary>
<secondary>使用する色の数</secondary></indexterm>
<indexterm><primary>使用する色の数とユーザのカスタマイズ</primary></indexterm>
<indexterm><primary>ガイドライン</primary>
<secondary>使用する色の数</secondary></indexterm></title>
<para>アプリケーションのユーザ・インタフェースを設計するときは、共通デスクトップ
環境がMotifおよびデスクトップ・ウィジェットに提供するデフォルトのカラー・
スキーマを無効にするようなカラーを設定しないでください。アプリケーション定義の
カラーについては、次のカラーを使用して、他のデスクトップ・アプリケーションとの
共用を促進してください。</para>
<itemizedlist remap="Bullet1"><listitem><para>黒</para>
</listitem><listitem><para>白</para>
</listitem><listitem><para>赤</para>
</listitem><listitem><para>緑</para>
</listitem><listitem><para>青</para>
</listitem><listitem><para>黄</para>
</listitem><listitem><para>シアン</para>
</listitem><listitem><para>マゼンタ</para>
</listitem><listitem><para>グレー（濃淡は、#de、#bd、#ab、#94、#73、#63、
#42、#21の８段階）</para>
</listitem></itemizedlist>
<para>普通はカラーを指定する必要がなく、デスクトップのスタイル・マネージャで
エンド・ユーザが選択したカラーを使用します。</para>
</sect2>
<sect2 id="RDMAP.recin.div.35">
<title>使用するフォント
<indexterm><primary>ユーザ・カスタマイズの問題</primary>
<secondary>使用するフォント</secondary></indexterm>
<indexterm><primary>フォント</primary>
<secondary>ユーザ・カスタマイズの問題</secondary></indexterm>
<indexterm><primary>ガイドライン</primary><secondary>使用するフォント</secondary>
</indexterm></title>
<para>Motifウィジェットでは、共通デスクトップ環境が提供するフォントを使用し、
アプリケーションのウィンドウが他のデスクトップ・クライアントのウィンドウと同じ
になるように、またユーザがスタイル・マネージャを使用してこれらのフォントのサイズ
を変更できるようにしてください。提供されたフォントを、Motif 
<computeroutput>fontList</computeroutput>リソース仕様を変更して無効にし、ユーザ
がアプリケーションでフォントをカスタマイズできるようにさせたければ、その機能を
追加しなければなりません。</para>
<para>共通デスクトップ環境標準アプリケーション・フォント名にあるフォントを使用
して、（Motifがウィジェット用に使用しているものとは別の）アプリケーションで使用
する<computeroutput><indexterm><primary>app-defaults file</primary></indexterm>
app-defaults</computeroutput>ファイルのリソースを指定してください。そうすれば、
アプリケーションがすべての共通デスクトップ環境プラットフォームで適切なフォント
を見つけ、プラットフォーム上への移植性が高まります。詳細については、
<!--Original XRef content: '&xd2;Standard Font Names&xd3; on page&numsp;55'-->
<xref role="SecTitleAndPageNum" linkend="RDMAP.recin.mkr.12">を参照してくださ
い。</para>
<note>
<para><indexterm><primary>スタイル・マネージャ</primary></indexterm>
スタイル・マネージャは、Motifバージョン2.1以降を使用して書かれたアプリケーション
のフォントしか管理しません。Motif 1.1（以前）のアプリケーションにはフォントは
<symbol role="Variable">正しく提供されません</symbol>。これらのアプリケーション
には、 <filename>app-defaults</filename>ファイルで独自のフォントを指定してくだ
さい。</para>
</note>
</sect2>
<sect2 id="RDMAP.recin.div.36">
<title>障害者への対応
<indexterm><primary>ユーザ・カスタマイズの問題</primary>
<secondary>障害者への対応 &lt;$startrange></secondary></indexterm>
<indexterm><primary>ガイドライン</primary>
<secondary>障害者への対応 &lt;$startrange></secondary></indexterm>
</title>
<para>この節では、ソフトウェア・アプリケーションを障害者が使用できるようにするた
めのガイドラインを示します。</para>
<sect3 id="RDMAP.recin.div.37">
<title>身体的な障害への対応
<indexterm><primary>障害者への対応</primary>
<secondary>身体的な障害</secondary></indexterm>
<indexterm><primary>身体的な障害とユーザのカスタマイズ</primary></indexterm>
<indexterm><primary>障害とユーザのカスタマイズ</primary>
<secondary>身体的</secondary></indexterm></title>
<para>通常はメニューやドラッグ＆ドロップなどで操作するアプリケーションの全機能
を、キーボードで操作できるようにし、身体的に障害のある人々が容易にアプリケーション
を使用できるようにしてください。</para>
</sect3>
<sect3 id="RDMAP.recin.div.38">
<title>視覚障害への対応
<indexterm><primary>障害者への対応</primary>
<secondary>視覚障害</secondary></indexterm>
<indexterm><primary>視覚障害とユーザのカスタマイズ</primary></indexterm>
<indexterm><primary>障害とユーザのカスタマイズ</primary>
<secondary>視覚</secondary></indexterm></title>
<para>視覚障害を持つ人にとってアプリケーションをより使い易いものにするために、
次のガイドラインに従ってください。</para>
<itemizedlist remap="Bullet1"><listitem><para>アプリケーションのカラーをハード
コードにしないでください。</para>
</listitem><listitem><para>線、ボーダ、シャドウの厚みなど、グラフィック属性を
ハードコードにしないでください。これらの属性は、フォント・サイズによって大きさ
を調整します。</para>
</listitem><listitem><para>フォント・サイズおよびスタイルをハードコードにしない
でください。</para>
</listitem><listitem><para>すべてのウィジェットに記述名を付けて下さい。特に、
パレット項目やアイコンなど画面のラベルに表示されないウィジェットについては、
<emphasis>アプリケーション・コード</emphasis>で記述名をいれてください。そう
すれば、画面読み込みソフトウェアが、記述情報を目の不自由なユーザにも提供できま
す。</para>
</listitem></itemizedlist>
</sect3>
<sect3 id="RDMAP.recin.div.39">
<title>聴覚障害への対応
<indexterm><primary>障害者への対応</primary>
<secondary>聴覚障害</secondary></indexterm>
<indexterm><primary>聴覚障害とユーザのカスタマイズ</primary></indexterm>
<indexterm><primary>障害とユーザのカスタマイズ</primary>
<secondary>聴覚</secondary></indexterm></title>
<para>聴覚障害を持つ人にとってアプリケーションをより使い易いものにするために、
次のガイドラインに従ってください。</para>
<itemizedlist remap="Bullet1"><listitem><para>すべてのエンド・ユーザが、音による
通知を聞けるものと想定しないでください。</para>
</listitem><listitem><para>適宜、エンド・ユーザが情報を得る方法を、耳による合図
と目による合図と選択できるようにしてください。</para>
</listitem><listitem><para>情報の取得方法を、聴覚によるものだけに依存しないで
ください。</para>
</listitem><listitem><para>聴覚による情報取得を行う場合の周波数とボリュームを、
エンド・ユーザが調整できるようにしてください。</para>
</listitem></itemizedlist>
</sect3>
<sect3 id="RDMAP.recin.div.40">
<title>言語、知覚、その他の障害への対応
<indexterm><primary>障害者への対応</primary>
<secondary>言語、知覚、その他の障害</secondary></indexterm>
<indexterm><primary>言語障害とユーザのカスタマイズ</primary></indexterm>
<indexterm><primary>障害とユーザのカスタマイズ</primary>
<secondary>言語、知覚、その他</secondary></indexterm></title>
<para>視覚、聴覚、身体的な障害に関するガイドラインは、言語、知覚、その他に障害の
あるエンド・ユーザにとって役立つものです。可能な限り、ティアオフ・メニューや
ユーザ構成のメニュー機能など、重要なアプリケーションの機能を取り込んでください。
<indexterm><primary>ユーザ・カスタマイズの問題</primary>
<secondary>障害者への対応 &lt;$endrange></secondary></indexterm>
<indexterm><primary>ガイドライン</primary>
<secondary>障害者への対応 &lt;$endrange></secondary></indexterm>
</para>
</sect3>
</sect2>
<sect2 id="RDMAP.recin.div.41">
<title>マウスのダブルクリックの間隔
<indexterm><primary>マウスのダブルクリックの間隔</primary></indexterm>
<indexterm><primary>ガイドライン</primary>
<secondary>マウスのダブルクリックの間隔</secondary></indexterm>
<indexterm><primary>ユーザのカスタマイズ問題</primary>
<secondary>マウスのダブルクリックの問題</secondary></indexterm></title>
<para>エンド・ユーザにとってのアプリケーション間の一貫性を保つために、
アプリケーション、または<filename>
<indexterm><primary>app-defaultsファイル</primary></indexterm>
app-defaults</filename>ファイルにダブルクリックの間隔をハードコードにしないで
ください。そうすれば、ユーザが
<indexterm><primary>スタイル・マネージャ</primary></indexterm>
スタイル・マネージャでダブルクリック時間を変更すると、アプリケーションは、他の
デスクトップ・アプリケーションと同様にその変更に従います。</para>
</sect2>
<sect2 id="RDMAP.recin.div.42">
<title>デモ・プログラム
<indexterm><primary>ユーザ・カスタマイズの問題</primary>
<secondary>デモ・プログラム</secondary></indexterm></title>
<para><filename>/usr/dt/examples/template</filename>にある描画プログラムのデモ
は、共通デスクトップ環境のデフォルトのカラーとフォントを使用します。このため、
ユーザはスタイル・マネージャを使用し、このプログラムのカラーとフォントを
カスタマイズできます。詳細については、<command>README</command>ファイルを参照
してください。</para>
<sect3 id="RDMAP.recin.div.43">
<title>関連マニュアル</title>
<para>ユーザ・カスタマイズの問題の詳細については、
<emphasis>CDE/Motif スタイルガイドおよび認証チェックリスト</emphasis>を参照して
ください。
<indexterm><primary>カスタマイズ</primary>
<secondary>ユーザの問題 &lt;$endrange></secondary></indexterm>
<indexterm><primary>推奨する統合方法 &lt;$endrange></primary>
</indexterm>
<indexterm><primary>統合のレベル</primary><secondary>推奨する &lt;
$endrange></secondary></indexterm>
<indexterm><primary>統合</primary><secondary>推奨する &lt;$endrange>
</secondary></indexterm></para>
</sect3>
</sect2>
</sect1>
</chapter>
<!--fickle 1.14 mif-to-docbook 1.7 01/02/96 04:30:53-->
<?Pub *0000053768>
