Initial import of the CDE 2.1.30 sources from the Open Group.
This commit is contained in:
20
cde/doc/ja_JP.dt-eucJP/guides/i18nGuide/BEntity.sgm
Normal file
20
cde/doc/ja_JP.dt-eucJP/guides/i18nGuide/BEntity.sgm
Normal file
@@ -0,0 +1,20 @@
|
||||
<!ENTITY IPG.intro.fig.1 SYSTEM "./i18nGuide/graphics/inint1.cgm" NDATA CGM-BINARY>
|
||||
|
||||
<!ENTITY IPG.intro.fig.2 SYSTEM "./i18nGuide/graphics/inint2.cgm" NDATA CGM-BINARY>
|
||||
|
||||
<!ENTITY IPG.intro.fig.3 SYSTEM "./i18nGuide/graphics/inint3.tif" NDATA TIFF>
|
||||
|
||||
<!ENTITY IPG.intro.fig.4 SYSTEM "./i18nGuide/graphics/inint4.tif" NDATA TIFF>
|
||||
|
||||
<!ENTITY IPG.intro.fig.5 SYSTEM "./i18nGuide/graphics/inint5.tif" NDATA TIFF>
|
||||
|
||||
<!ENTITY IPG.intro.fig.6 SYSTEM "./i18nGuide/graphics/inint6.tif" NDATA TIFF>
|
||||
|
||||
<!ENTITY IPG.distr.fig.1 SYSTEM "./i18nGuide/graphics/ind1.cgm" NDATA CGM-BINARY>
|
||||
|
||||
<!ENTITY IPG.motif.fig.3 SYSTEM "./i18nGuide/graphics/inmot3.tif" NDATA TIFF>
|
||||
|
||||
<!ENTITY IPG.motif.fig.4 SYSTEM "./i18nGuide/graphics/inmot4.tif" NDATA TIFF>
|
||||
|
||||
|
||||
|
||||
3
cde/doc/ja_JP.dt-eucJP/guides/i18nGuide/Title.tmpl
Normal file
3
cde/doc/ja_JP.dt-eucJP/guides/i18nGuide/Title.tmpl
Normal file
@@ -0,0 +1,3 @@
|
||||
/* $XConsortium: Title.tmpl /main/2 1996/06/19 16:03:55 drk $ */
|
||||
/* TOC title, only what's between quotes should be modified. */
|
||||
title = "共通デスクトップ環境 国際化対応プログラマーズ・ガイド"
|
||||
54
cde/doc/ja_JP.dt-eucJP/guides/i18nGuide/adbook.sgm
Normal file
54
cde/doc/ja_JP.dt-eucJP/guides/i18nGuide/adbook.sgm
Normal file
@@ -0,0 +1,54 @@
|
||||
<!-- $XConsortium: adbook.sgm /main/2 1996/12/17 05:43:05 cde-hit $ -->
|
||||
<!DOCTYPE DocBook PUBLIC "-//HaL and O'Reilly//DTD DocBook V2.2.1//EN"[
|
||||
|
||||
|
||||
<!ENTITY IPG.intro.fig.1 SYSTEM "./graphics/inint1.cgm" NDATA CGM-BINARY>
|
||||
|
||||
<!ENTITY IPG.intro.fig.2 SYSTEM "./graphics/inint2.cgm" NDATA CGM-BINARY>
|
||||
|
||||
<!ENTITY IPG.intro.fig.3 SYSTEM "./graphics/inint3.tif" NDATA TIFF>
|
||||
|
||||
<!ENTITY IPG.intro.fig.4 SYSTEM "./graphics/inint4.tif" NDATA TIFF>
|
||||
|
||||
<!ENTITY IPG.intro.fig.5 SYSTEM "./graphics/inint5.tif" NDATA TIFF>
|
||||
|
||||
<!ENTITY IPG.intro.fig.6 SYSTEM "./graphics/inint6.tif" NDATA TIFF>
|
||||
|
||||
<!ENTITY IPG.distr.fig.1 SYSTEM "./graphics/ind1.cgm" NDATA CGM-BINARY>
|
||||
|
||||
<!ENTITY IPG.motif.fig.3 SYSTEM "./graphics/inmot3.tif" NDATA TIFF>
|
||||
|
||||
<!ENTITY IPG.motif.fig.4 SYSTEM "./graphics/inmot4.tif" NDATA TIFF>
|
||||
|
||||
|
||||
<!ENTITY MotifProgGd "<Emphasis>Motif プログラマーズ・ガイド</Emphasis>">
|
||||
|
||||
<!ENTITY Pref SYSTEM "./preface.sgm">
|
||||
<!ENTITY intro SYSTEM "./ch01.sgm">
|
||||
<!ENTITY deskt SYSTEM "./ch02.sgm">
|
||||
<!ENTITY distr SYSTEM "./ch03.sgm">
|
||||
<!ENTITY motif SYSTEM "./ch04.sgm">
|
||||
<!ENTITY msgs SYSTEM "./appa.sgm">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
]>
|
||||
|
||||
<!-- ____________________________________________________________________________ -->
|
||||
|
||||
<DocBook>
|
||||
<Book>
|
||||
|
||||
<Title>共通デスクトップ環境 国際化対応プログラマーズ・ガイド</Title>
|
||||
|
||||
&Pref;
|
||||
&intro;
|
||||
&deskt;
|
||||
&distr;
|
||||
&motif;
|
||||
&msgs;
|
||||
|
||||
</Book>
|
||||
</DocBook>
|
||||
322
cde/doc/ja_JP.dt-eucJP/guides/i18nGuide/appa.sgm
Normal file
322
cde/doc/ja_JP.dt-eucJP/guides/i18nGuide/appa.sgm
Normal file
@@ -0,0 +1,322 @@
|
||||
<!-- $XConsortium: appa.sgm /main/8 1996/08/25 15:11:35 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. -->
|
||||
|
||||
<appendix id="IPG.msgs.div.1">
|
||||
<title id="IPG.msgs.mkr.1">メッセージ・ガイドライン</title>
|
||||
<para>この付録の情報を参照して、簡単に国際化できるメッセージを作成してください。</para>
|
||||
<informaltable id="IPG.msgs.itbl.1" frame="All">
|
||||
<tgroup cols="1">
|
||||
<colspec colname="1" colwidth="4.0 in">
|
||||
<tbody>
|
||||
<row rowsep="1">
|
||||
<entry><para><!--Original XRef content: 'Refer to the information in this
|
||||
appendix to write messages that are easily internationlized.127'--><xref
|
||||
role="JumpText" linkend="IPG.msgs.mkr.2"></para></entry></row>
|
||||
<row rowsep="1">
|
||||
<entry><para><!--Original XRef content: 'Cause and Recovery Information128'--><xref
|
||||
role="JumpText" linkend="IPG.msgs.mkr.3"></para></entry></row>
|
||||
<row rowsep="1">
|
||||
<entry><para><!--Original XRef content: 'Comment Lines for Translators128'--><xref
|
||||
role="JumpText" linkend="IPG.msgs.mkr.4"></para></entry></row>
|
||||
<row rowsep="1">
|
||||
<entry><para><!--Original XRef content: 'Writing Style129'--><xref role="JumpText"
|
||||
linkend="IPG.msgs.mkr.5"></para></entry></row>
|
||||
<row rowsep="1">
|
||||
<entry><para><!--Original XRef content: 'Usage Statements131'--><xref role="JumpText"
|
||||
linkend="IPG.msgs.mkr.6"></para></entry></row>
|
||||
<row rowsep="1">
|
||||
<entry><para><!--Original XRef content: 'Regular Expression Standard Messages134'--><xref
|
||||
role="JumpText" linkend="IPG.msgs.mkr.7"></para></entry></row>
|
||||
<row rowsep="1">
|
||||
<entry><para><!--Original XRef content: 'Sample Messages135'--><xref role="JumpText"
|
||||
linkend="IPG.msgs.mkr.8"></para></entry></row></tbody></tgroup>
|
||||
</informaltable>
|
||||
<para id="IPG.msgs.mkr.2"></para>
|
||||
<sect1 id="IPG.msgs.div.2">
|
||||
<title>ファイル命名<indexterm><primary>ファイル、命名規約</primary></indexterm> 規約</title>
|
||||
<para>この節では、ユーザ・メッセージのファイルに名前を付ける際の規約<indexterm><primary>メッセージ</primary><secondary>メッセージのファイル命名規約</secondary></indexterm> について説明します。通常、メッセージ・ソース・ファイルには接尾辞<computeroutput>.msg</computeroutput>が付き、生成されるメッセージ・カタログには接尾辞<computeroutput>.cat</computeroutput>が付きます。その他にもメッセージ関連のファイルが存在する場合があります。ファイルがこれらの接尾辞をもつためには、次の条件を満たしている必要があります。</para>
|
||||
<itemizedlist remap="Bullet1"><listitem><para>X/Open準拠である。</para>
|
||||
</listitem><listitem><para><computeroutput>gencat</computeroutput>コマンドを使用して<computeroutput>*.cat</computeroutput>ファイルになる。</para>
|
||||
</listitem></itemizedlist>
|
||||
</sect1>
|
||||
<sect1 id="IPG.msgs.div.3">
|
||||
<title id="IPG.msgs.mkr.3">原因と回復<indexterm><primary>メッセージ</primary><secondary>メッセージにおける原因と回復情報</secondary></indexterm> 情報</title>
|
||||
<para>何が起こったのか、また、その状況を修復するために何ができるかを、可能な限りユーザに正確に説明します。</para>
|
||||
<para><command>Bad arg</command>というメッセージはあまり役に立ちませんが、次のメッセージなら、コマンドを機能させるためには何をすればよいかを正確にユーザに伝えることができます。</para>
|
||||
<programlisting>Do not specify more than 2 files on the command line</programlisting>
|
||||
<para>同様に、<command>Line too long</command>というメッセージはユーザに回復情報を伝えていませんが、次のメッセージなら、もっと明確な回復情報をユーザに提供することができます。</para>
|
||||
<programlisting>Line cannot exceed 20 characters</programlisting>
|
||||
<para>提供されているエラー・メッセージにもっと詳しい回復情報が必要な場合は、オンライン情報やヘルプの適切な場所に追加してください。</para>
|
||||
<para>元のメッセージと書き直したメッセージの例については、<!--Original XRef content: '&xd2;Sample Messages&xd3; on page 135'--><xref
|
||||
role="SecTitleAndPageNum" linkend="IPG.msgs.mkr.8">を参照してください。</para>
|
||||
</sect1>
|
||||
<sect1 id="IPG.msgs.div.4">
|
||||
<title id="IPG.msgs.mkr.4">翻訳者のためのコメント行</title>
|
||||
<para>メッセージ<indexterm><primary>メッセージ</primary><secondary>メッセージにおける翻訳者のためのコメント行</secondary></indexterm> ソース・ファイルには、翻訳の過程で翻訳者に役立つコメントをいれておきます。これらのコメントは生成されるメッセージ・カタログの一部分ではありません。コメントはC言語でのプログラムのドキュメント化の助けとなるコメントに似ています。ドル記号のあとに空白がひとつ続くと、翻訳ツールと<computeroutput>gencat</computeroutput>により、コメントとして解釈されます。次にメッセージ・ソース・ファイルのコメント行の例を示します。</para>
|
||||
<programlisting>$ This is a comment</programlisting>
|
||||
<para>コメント行を使用して、翻訳者や作成者に<emphasis>%s</emphasis>、<emphasis>%c</emphasis>、<emphasis>%d</emphasis>などの変数が何を表すかを伝えます。たとえば、その変数が、ユーザ、ファイル、ディレクトリ、フラグなどを参照するかどうかを注意書きします。</para>
|
||||
<para>コメント行はメッセージ・カタログの最後ではなく、コメントが参照するメッセージのすぐ下に置いてください。セット全体に関する包括的なコメントは、ソース・ファイル内の$set指示子のすぐ下に置きます。</para>
|
||||
<para>メッセージ・カタログ内の使用しなくなったメッセージはコメント行に指定してください。</para>
|
||||
</sect1>
|
||||
<sect1 id="IPG.msgs.div.5">
|
||||
<title>プログラミング書式<indexterm><primary>メッセージ</primary><secondary>メッセージのプログラミング書式</secondary></indexterm></title>
|
||||
<para>メッセージのプログラミング書式については、次のリストを参照してください。</para>
|
||||
<itemizedlist remap="Bullet1"><listitem><para>メッセージを文節単位で構成しないでください。適切な時に完全なメッセージが出されるように、プログラム内でフラグその他の手段を使用して情報を渡してください。 </para>
|
||||
</listitem><listitem><para>既存のメッセージの<emphasis>%s</emphasis>文字列の変数として、ハードコードされた英語のテキストを使用しないでください。これはメッセージの構文でもあり翻訳できません。</para>
|
||||
</listitem><listitem><para>文の最初の語は大文字にして、文や句の最後にはピリオドを使用してください。</para>
|
||||
</listitem><listitem><para>メッセージの最後の行を\n(バックスラッシュと小文字のn。改行を表わします)で終わらせてください。これは、メッセージが1行の場合にもあてはまります。</para>
|
||||
</listitem><listitem><para>メッセージの2行目以降の行は<computeroutput>\t</computeroutput>(バックスラッシュと小文字のt。タブを表わします)で始めてください。</para>
|
||||
</listitem><listitem><para>その他の行はすべて<computeroutput>\n\</computeroutput>(バックスラッシュ、小文字のn、バックスラッシュ。改行を表わします)で終わらせてください。</para>
|
||||
</listitem><listitem><para>何らかの理由でメッセージが改行で終わらない場合は、作成者にコメントでその旨を知らせておきます。</para>
|
||||
</listitem><listitem><para>各メッセージの前に、そのメッセージを呼び出したコマンド名とコロンを付けます。エラー・メッセージの場合はコマンド名の前にコンポーネント番号を付けます。コマンド名がメッセージ内にある場合は、次の例のように表示されます。</para>
|
||||
<programlisting>>OPIE “foo: Opening the file.”
|
||||
</programlisting>
|
||||
</listitem></itemizedlist>
|
||||
</sect1>
|
||||
<sect1 id="IPG.msgs.div.6">
|
||||
<title id="IPG.msgs.mkr.5">記述スタイル</title>
|
||||
<para>次の記述スタイルについてのガイドラインには、用語、句読法、叙法、態、時制、大文字使用、その他の語法に関する項目が含まれています。<indexterm><primary>メッセージ</primary><secondary>メッセージの記述スタイル</secondary></indexterm></para>
|
||||
<itemizedlist remap="Bullet1"><listitem><para>文形式を使用します。1行1文のメッセージが望ましいです。</para>
|
||||
</listitem><listitem><para>あいまいさをなくす必要がある場合は、冠詞(<emphasis>a</emphasis>、<emphasis>an</emphasis>、<emphasis>the</emphasis>)を付けます。</para>
|
||||
</listitem><listitem><para>文の最初の文字は大文字にし、文の最後にはピリオドを使用します。</para>
|
||||
</listitem><listitem><para>現在形を使用します。メッセージに未来形を使用しないでください。たとえば、次のような文を使用し、</para>
|
||||
<para remap="CodeIndent1"><computeroutput>The foo command displays a calendar.</computeroutput></para>
|
||||
<para>次のような文は使用しないでください。</para>
|
||||
<para remap="CodeIndent1"><computeroutput>The foo command will display a calendar.</computeroutput></para>
|
||||
</listitem><listitem><para>メッセージに一人称(<emphasis>I</emphasis>または<emphasis>we</emphasis>)を使用しないでください。</para>
|
||||
</listitem><listitem><para>二人称の使用を避けてください。</para>
|
||||
<para>ヘルプおよび対話型テキスト以外では、<emphasis>you</emphasis>という語は使用しないでください。</para>
|
||||
</listitem><listitem><para>能動態を使用します。次の例の1行目は元のメッセージ、2行目はより望ましい表現です。</para>
|
||||
<para remap="CodeIndent1"><computeroutput>MYNUM “Month and year must
|
||||
be entered as numbers.”MYNUM “foo: 7777-222 Enter month and year
|
||||
as numbers.\n”</computeroutput></para>
|
||||
<para>7777-222はメッセージIDです。</para>
|
||||
</listitem><listitem><para>命令法(コマンド句)と能動態の動詞を使用します。たとえば、<emphasis>specify</emphasis>、<emphasis>use</emphasis>、<emphasis>check</emphasis>、<emphasis>choose</emphasis>、<emphasis>wait</emphasis>
|
||||
などです。</para>
|
||||
</listitem><listitem><para>メッセージは肯定的な表現にします。次の例の1行目は元のメッセージ、2行目はより望ましい表現です。</para>
|
||||
<para remap="CodeIndent1"><computeroutput>BADL “Don't use the f option
|
||||
more than once.”BADL “foo: 7777-009 Use the -f flag only once.\n”</computeroutput></para>
|
||||
</listitem><listitem><para>名詞を動詞として使用しないでください。辞書に示されている文法の範疇内で語を使用します。ある語が辞書に名詞としてしか示されていない場合に、それを動詞として使用しないでください。たとえば、<emphasis>solution</emphasis> a problem(または、<emphasis>architect</emphasis> a system)のようには使用しないでください。
|
||||
</para>
|
||||
</listitem><listitem><para>接頭辞や接尾辞を使用しないでください。翻訳者が、<emphasis>re-</emphasis>、<emphasis>un-</emphasis>、<emphasis>in-</emphasis>、<emphasis>non-</emphasis>で始まる語を理解できない可能性があり、接頭辞や接尾辞を使用しているメッセージは翻訳されると意図した意味をもたなくなるかもしれません。しかし、接頭辞が一般的に使用されている語の一部分に完全になっている場合は例外です。<emphasis>previous</emphasis>や<emphasis>premature</emphasis>は使用できます。 <emphasis>nonexistent,</emphasis>は使用できません。</para>
|
||||
</listitem><listitem><para>複数形は使用しないでください。<emphasis>error(s)</emphasis>のように括弧を使って単数形と複数形を示す表現はしないでください。これは翻訳することができません。単数形と複数形を示す必要がある場合は、<emphasis>error or errors</emphasis>と記述してください。単数形か複数形かどちらが要求されてるのかによって2つの異なったメッセージが出されるようにコードを作成するのがよりよい方法です。</para>
|
||||
</listitem><listitem><para>短縮形を使用しないでください。何かシステムにできないことを示すには、<emphasis>cannot</emphasis>という語を使用してください。 </para>
|
||||
</listitem><listitem><para>引用符を使用しないでください。単一引用符も二重引用符も同様です。たとえば、<emphasis>%s</emphasis>、<emphasis>%c</emphasis>、<emphasis>%d</emphasis>などの変数や、コマンドに引用符を使用しないでください。ユーザが引用符を文字通りに入力するものと受け取る可能性があります。</para>
|
||||
</listitem><listitem><para>行の終わりで語をハイフンで結ばないでください。</para>
|
||||
</listitem><listitem><para>標準的な強調表示の方法を使用しないでください。また、その他の強調表示の方法の代わりに単語の先頭あるいはすべての文字を大文字にしたりしないでください。</para>
|
||||
</listitem><listitem><para><emphasis>and/or</emphasis>を使用しないでください。この構文は他言語では存在しません。通常、必ずしも両方を必要とはしない場合は、<emphasis>or</emphasis>を使用するのが適当です。</para>
|
||||
</listitem><listitem><para>24時間制を使用してください。<emphasis>a.m.</emphasis>や<emphasis>p.m.</emphasis>を使って時間を指定しないでください。たとえば、<emphasis>1:00 p.m.</emphasis>は<emphasis>13:00</emphasis>と記述します。</para>
|
||||
</listitem><listitem><para>頭文字による略記は避けてください。頭文字による略記は、略記の方が略さずに書いたものよりよく知られている場合のみ使用してください。略記を複数形にする場合は、小文字の<symbol role="Variable">s</symbol>をアポストロフィなしで付けます。使用する前にそれが商標でないことを確認してください。</para>
|
||||
</listitem><listitem><para>一般向けではない用語は避けてください。たとえば、<emphasis>abort</emphasis>、<emphasis>argument</emphasis>、<emphasis>execute</emphasis>などです。プロジェクト用語集を参照してください。</para>
|
||||
</listitem><listitem><para>意味のある用語を維持してください。メッセージが意味をなし、翻訳可能であるようにする一方、元のメッセージ・テキストをできる限り保ってください。</para>
|
||||
</listitem></itemizedlist>
|
||||
</sect1>
|
||||
<sect1 id="IPG.msgs.div.7">
|
||||
<title id="IPG.msgs.mkr.6">使用方法の説明文</title>
|
||||
<para><indexterm><primary>メッセージ</primary><secondary>メッセージにおける使用方法の説明文</secondary></indexterm> 使用方法の説明文は、コマンド行に有効でないフラグが少なくともひとつ含まれている場合に、コマンドによって生成されます。フラグに関連付けられたデータがない場合や正しくない場合には、使用方法の説明文は使用してはなりません。そのような場合には、その問題に固有のエラー・メッセージが使用されます。</para>
|
||||
<itemizedlist remap="Bullet1"><listitem><para>使用方法の説明文にはコマンド・シンタクスを示します。たとえば、<computeroutput>del</computeroutput>コマンドの使用方法の説明文は次のようなものです。</para>
|
||||
<para remap="CodeIndent1"><computeroutput>Usage: del {File ...|-}</computeroutput></para>
|
||||
</listitem><listitem><para>コマンドの目的を定義する節は削除してください。</para>
|
||||
</listitem><listitem><para>使用方法の説明文で使用する場合のみ、<emphasis>File、Directory、String、Number</emphasis>などの語(パラメータ)の最初の文字を大文字にします。</para>
|
||||
</listitem><listitem><para>コマンド行でパラメータを省略形にしないでください。経験のあるユーザにとっては<emphasis>Num</emphasis>が<emphasis>Number</emphasis>を意味することは明らかですが、正しく翻訳されるように省略せずに記述してください。</para>
|
||||
</listitem><listitem><para><indexterm><primary>使用方法の説明文、区切り文字</primary></indexterm> 使用方法の説明文では、区切り文字は次のものだけを使用してください。</para>
|
||||
<informaltable>
|
||||
<tgroup cols="2" colsep="0" rowsep="0">
|
||||
<colspec align="left" colwidth="100*">
|
||||
<colspec align="left" colwidth="356*">
|
||||
<thead>
|
||||
<row><entry><para>区切り文字</para></entry>
|
||||
<entry><para>説明</para></entry>
|
||||
</row></thead>
|
||||
<tbody>
|
||||
<row>
|
||||
<entry><para>[]</para></entry>
|
||||
<entry><para>パラメータはオプションです。</para></entry></row>
|
||||
<row>
|
||||
<entry><para>{ }</para></entry>
|
||||
<entry><para>パラメータの選択肢が複数ありますが、そのうちのひとつが必要です。(下記のテキストを参照)</para></entry></row>
|
||||
<row>
|
||||
<entry><para>|</para></entry>
|
||||
<entry><para>パラメータをひとつだけ選択してください。[a|b]は、<emphasis>a</emphasis>か<emphasis>b</emphasis>のどちらかを選択するか、<emphasis>a</emphasis>も<emphasis>b</emphasis>もどちらも選択しなくてよいことを意味します。{a|b}は、<emphasis>a</emphasis>または<emphasis>b</emphasis>のどちらかを選択しなければならないことを意味します。</para></entry></row>
|
||||
<row>
|
||||
<entry><para>..</para></entry>
|
||||
<entry><para>コマンド行でパラメータを繰り返すことができます。(この記号の前に空白がひとつ入ることに注意)</para></entry></row>
|
||||
<row>
|
||||
<entry><para>-</para></entry>
|
||||
<entry><para>標準入力</para></entry></row></tbody></tgroup></informaltable>
|
||||
</listitem><listitem><para>使用方法の説明文のパラメータは角括弧や中括弧を必要としません。もし必要で、それしか選択肢がない場合は、次のようになります。</para>
|
||||
<para remap="CodeIndent1"><computeroutput>banner String</computeroutput></para>
|
||||
</listitem><listitem><para>使用方法の説明文では、コマンド行内で分けなければならないフラグの間に空白を入れます。たとえば次のようにします。</para>
|
||||
<para remap="CodeIndent1"><computeroutput>unget [-n] [-rSID] [-s] {File|-}</computeroutput></para>
|
||||
</listitem><listitem><para>区切りの空白なしで複数のフラグを一緒に使用できる場合は、コマンド行内で空白でフラグを分けないでください。次に例を示します。</para>
|
||||
<para remap="CodeIndent1"><computeroutput>wc [-cwl] {File ...|-}</computeroutput></para>
|
||||
</listitem><listitem><para>コマンド行でのフラグの順序に特に意味がない場合は、フラグをアルファベット順に並べます。大文字と小文字が混在する場合は、小文字を先に置きます。</para>
|
||||
<para remap="CodeIndent1"><computeroutput>get -aAijlmM</computeroutput></para>
|
||||
</listitem><listitem><para>使用方法の説明文には長くて次行にわたっているものがあります。使用方法の説明文の行をどこで終了させるかはよく考えて決定してください。次の例は、<computeroutput>get</computeroutput>コマンドについての古い型の使用方法の説明文です。</para>
|
||||
<para remap="CodeIndent1"><computeroutput>Usage: get [-e|-k] [-cCutoff] [-iList]
|
||||
[-rSID] [-wString] [xList] [-b] [-gmnpst] [-l[p]] File ... Retrieves a specified
|
||||
version of a Source Code Control System (SCCS) file.</computeroutput></para>
|
||||
</listitem></itemizedlist>
|
||||
</sect1>
|
||||
<sect1 id="IPG.msgs.div.8">
|
||||
<title>標準メッセージ</title>
|
||||
<para><indexterm><primary>メッセージ</primary><secondary>メッセージの句読法と表現ガイドライン</secondary></indexterm> POSIX.2ドキュメントに定義されている標準エラーをもつコマンドがあります。あてはまる場合は、POSIX.2に設定されているガイドラインに従ってください。</para>
|
||||
<itemizedlist remap="Bullet1"><listitem><para>ユーザにキーボード上のキーを選択させるために、<computeroutput>Press the ------ key</computeroutput>と告げます。それが特殊キーの場合も同様です(<computeroutput>Press Ctrl-D</computeroutput>など)。</para>
|
||||
</listitem><listitem><para>システムに負荷がかかりすぎる場合を除いて、ユーザに<computeroutput>Try again</computeroutput> <computeroutput>later</computeroutput>と告げる必要はありません。それは、メッセージから明らかであるべきです。</para>
|
||||
</listitem><listitem><para>メッセージ・テキストを記述する場合、コマンド行のテキストを表わすには<emphasis>parameter</emphasis>(パラメータ)という語を使用し、数字データを表わすには<emphasis>value</emphasis>(値)という語を使用します。</para>
|
||||
</listitem><listitem><para> <emphasis>command option</emphasis>(コマンド・オプション)という語ではなく<emphasis>flag</emphasis>(フラグ)という語を使用します。</para>
|
||||
</listitem><listitem><para>カンマを使用して値を1000分の1単位で区切らないでください。</para>
|
||||
</listitem><listitem><para>1,000ではなく、1000とします。</para>
|
||||
</listitem><listitem><para>メッセージをアスタリスクで強調する場合、メッセージの最初に2つのアスタリスクを、メッセージの最後に2つのアスタリスクを使用してください。</para>
|
||||
<para remap="CodeIndent1"><computeroutput>** Total **</computeroutput></para>
|
||||
</listitem><listitem><para><emphasis>log in</emphasis>(ログインする)と<emphasis>log off</emphasis>(ログオフする)は動詞として使用してください。</para>
|
||||
<para remap="CodeIndent1"><computeroutput>Log in to the system; enter the
|
||||
data; then log off.</computeroutput></para>
|
||||
</listitem><listitem><para><emphasis>user name</emphasis>(ユーザ名)、<emphasis>group name</emphasis>(グループ名)、<emphasis>login</emphasis>(ログイン)は名詞として使用してください。</para>
|
||||
<para remap="CodeIndent1"><computeroutput>The user name is sam. The group
|
||||
name is staff. The login directory is /u/sam.</computeroutput></para>
|
||||
</listitem><listitem><para>ユーザ番号とグループ番号は、ユーザ名とグループに関連付けられた番号を参照します。</para>
|
||||
</listitem><listitem><para> <emphasis>superuser</emphasis>(スーパーユーザ)という用語を使用しないでください。
|
||||
<emphasis>root user</emphasis>(root ユーザ)がすべての特権を持っているとは限りません。</para>
|
||||
</listitem><listitem><para>パラメータをもつコマンドを示すには<emphasis>command string</emphasis>(コマンド文字列)という語を使用してください。</para>
|
||||
</listitem><listitem><para>多くの同じメッセージが頻繁に出てきます。<indexterm><primary>メッセージ</primary><secondary>メッセージのオプション</secondary></indexterm> 表A-1に、古いメッセージに代わる新しい標準メッセージをリストします。</para>
|
||||
</listitem></itemizedlist>
|
||||
<table id="IPG.msgs.tbl.1" frame="Topbot">
|
||||
<title>新しい標準メッセージ</title>
|
||||
<tgroup cols="2" colsep="0" rowsep="0">
|
||||
<colspec colwidth="3.85in">
|
||||
<colspec colwidth="2.52in">
|
||||
<thead>
|
||||
<row><entry align="left" valign="bottom"><para><literal>使用すべき標準メッセージ</literal></para></entry><entry align="left" valign="bottom"><para><literal>使用すべきでないメッセージ</literal></para></entry></row></thead>
|
||||
<tbody>
|
||||
<row>
|
||||
<entry align="left" valign="top"><para><computeroutput>Cannot find or open
|
||||
the file</computeroutput>.</para></entry>
|
||||
<entry align="left" valign="top"><para><computeroutput>Can't open filename</computeroutput>.</para></entry></row>
|
||||
<row>
|
||||
<entry align="left" valign="top"><para><computeroutput>Cannot find or access
|
||||
the file</computeroutput>.</para></entry>
|
||||
<entry align="left" valign="top"><para>Can't access</para></entry></row>
|
||||
<row>
|
||||
<entry align="left" valign="top"><para><computeroutput>The syntax of a parameter
|
||||
is not valid</computeroutput>.</para></entry>
|
||||
<entry align="left" valign="top"><para>syntax error</para></entry></row></tbody>
|
||||
</tgroup></table>
|
||||
</sect1>
|
||||
<sect1 id="IPG.msgs.div.9">
|
||||
<title id="IPG.msgs.mkr.7">正規表現の標準メッセージ</title>
|
||||
<para>表A-2に、正規表現の標準エラー・メッセージを、各正規表現のエラーに関連付けられたメッセージ番号と共にリストします。</para>
|
||||
<table id="IPG.msgs.tbl.2" frame="Topbot">
|
||||
<title>正規表現の標準メッセージ</title>
|
||||
<tgroup cols="3">
|
||||
<colspec colname="1" colwidth="0.7338 in">
|
||||
<colspec colname="2" colwidth="2.36492 in">
|
||||
<colspec colname="3" colwidth="1.89039 in">
|
||||
<tbody>
|
||||
<row>
|
||||
<entry><para><literal>番号</literal></para></entry>
|
||||
<entry><para><literal>使用すべき標準メッセージ</literal></para></entry>
|
||||
<entry><para><literal>使用すべきでないメッセージ</literal></para></entry></row>
|
||||
<row>
|
||||
<entry><para>11</para></entry>
|
||||
<entry><para>Specify a range end point that is less than 256.</para></entry>
|
||||
<entry><para>Range end point too large.</para></entry></row>
|
||||
<row>
|
||||
<entry><para>16</para></entry>
|
||||
<entry><para>The character or characters between \{ and \} must be numeric.
|
||||
</para></entry>
|
||||
<entry><para>Bad number.</para></entry></row>
|
||||
<row>
|
||||
<entry><para>25</para></entry>
|
||||
<entry><para> <computeroutput>Specify a \digit between 1 and 9 that is not
|
||||
greater than the number of subpatterns.</computeroutput></para></entry>
|
||||
<entry><para><computeroutput>\digit out of range</computeroutput>.</para></entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry><para>36</para></entry>
|
||||
<entry><para>A delimiter is not correct or is missing.</para></entry>
|
||||
<entry><para>Illegal or missing delimiter.</para></entry></row>
|
||||
<row>
|
||||
<entry><para>41</para></entry>
|
||||
<entry><para><computeroutput>There is no remembered search string</computeroutput>.
|
||||
</para></entry>
|
||||
<entry><para>No remembered search string.</para></entry></row>
|
||||
<row>
|
||||
<entry><para>42</para></entry>
|
||||
<entry><para>There is a missing \( or \).</para></entry>
|
||||
<entry><para>\(\) imbalance.</para></entry></row>
|
||||
<row>
|
||||
<entry><para>43</para></entry>
|
||||
<entry><para>Do not use \( more than 9 times.</para></entry>
|
||||
<entry><para><computeroutput>Too many \(</computeroutput>.</para></entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry><para>44</para></entry>
|
||||
<entry><para>Do not specify more than 2 numbers between \{ and \}.</para></entry>
|
||||
<entry><para>More than two numbers given in \{ and \}.</para></entry></row>
|
||||
<row>
|
||||
<entry><para>45</para></entry>
|
||||
<entry><para>An opening \{ must have a closing \}.</para></entry>
|
||||
<entry><para>} expected after \.</para></entry></row>
|
||||
<row>
|
||||
<entry><para>46</para></entry>
|
||||
<entry><para>The first number cannot exceed the second number between \{
|
||||
and \}.</para></entry>
|
||||
<entry><para>First number exceeds second in \{ and \}.</para></entry></row>
|
||||
<row>
|
||||
<entry><para>48</para></entry>
|
||||
<entry><para>Specify a valid end point to the range.</para></entry>
|
||||
<entry><para>Invalid end point in range expression.</para></entry></row>
|
||||
<row>
|
||||
<entry><para>49</para></entry>
|
||||
<entry><para>For each [ there must be a ].</para></entry>
|
||||
<entry><para><computeroutput>[ ] imbalance</computeroutput>.</para></entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry><para>50</para></entry>
|
||||
<entry><para>The regular expression is too large for internal memory storage.
|
||||
Simplify the regular expression.</para></entry>
|
||||
<entry><para><computeroutput>Regular expression overflow</computeroutput>.
|
||||
</para></entry></row></tbody></tgroup></table>
|
||||
</sect1>
|
||||
<sect1 id="IPG.msgs.div.10">
|
||||
<title id="IPG.msgs.mkr.8">Sample Messages</title>
|
||||
<para>以下に、元のメッセージと書き直したメッセージの例<indexterm><primary>メッセージ</primary><secondary>メッセージの例</secondary></indexterm> を示します。元のメッセージそれぞれの下に書き直したメッセージがあります。</para>
|
||||
<programlisting>AFLGKEYLTRS “Too Many -a Keyletters (Ad9)”
|
||||
|
||||
AFLGKEYLTRS “foo: 7777-007 Use the -a flag less than 11 times.\n”
|
||||
FLGTWICE “Flag %c Twice (Ad4)”
|
||||
|
||||
FLGTWICE “foo: 7777-004 Use the %c header flag once.\n”
|
||||
ESTAT “can't access %s.\n”
|
||||
|
||||
ESTAT “foo: 7777-031 Cannot find or access %s.\n”
|
||||
EMODE “foo: invalid mode\n”
|
||||
|
||||
EMODE “foo: 7777-033 A mode flag or value is not correct.\n”
|
||||
DNORG “-d has no argument (ad1)”
|
||||
|
||||
DNORG “foo: 7777-001 Specify a parameter after the -d flag.\n”
|
||||
FLOORRNG “floor out of range (ad23)”
|
||||
|
||||
FLOORRNG “foo: 7777-021 Specify a floor value greater than 0\n\
|
||||
|
||||
\tand less than 10000.\n“
|
||||
AFLGARG “bad -a argument (ad8)”
|
||||
|
||||
AFLGARG “foo: 7777-006 Specify a user name, group name, or\n\
|
||||
|
||||
\tgroup number after the -a flag.\n“
|
||||
BADLISTFMT “bad list format (ad27)”
|
||||
|
||||
BADLISTFMT “foo: 7777-025 Use numeric version and release\
|
||||
\tnumbers.\n”</programlisting>
|
||||
</sect1>
|
||||
</appendix>
|
||||
<!--fickle 1.14 mif-to-docbook 1.7 01/02/96 04:19:51-->
|
||||
61
cde/doc/ja_JP.dt-eucJP/guides/i18nGuide/book.sgm
Normal file
61
cde/doc/ja_JP.dt-eucJP/guides/i18nGuide/book.sgm
Normal file
@@ -0,0 +1,61 @@
|
||||
<!-- $XConsortium: book.sgm /main/2 1996/12/17 05:43:19 cde-hit $ -->
|
||||
<!DOCTYPE Book PUBLIC "-//HaL and O'Reilly//DTD DocBook//EN" [
|
||||
|
||||
|
||||
<!ENTITY % ISOpublishing PUBLIC "ISO 8879-1986//ENTITIES Publishing//EN">
|
||||
%ISOpublishing;
|
||||
|
||||
<!ENTITY % ISOnumeric PUBLIC "ISO 8879-1986//ENTITIES Numeric and Special Graphic//EN">
|
||||
%ISOnumeric;
|
||||
|
||||
<!ENTITY % ISOdiacritical PUBLIC "ISO 8879-1986//ENTITIES Diacritical Marks//EN">
|
||||
%ISOdiacritical;
|
||||
|
||||
<!ENTITY % ISOgeneraltech PUBLIC "ISO 8879-1986//ENTITIES General Technical//EN">
|
||||
%ISOgeneraltech;
|
||||
|
||||
<!ENTITY % ISOalatin1 PUBLIC "ISO 8879-1986//ENTITIES Added Latin 1//EN">
|
||||
%ISOalatin1;
|
||||
|
||||
<!ENTITY % ISOalatin2 PUBLIC "ISO 8879-1986//ENTITIES Added Latin 2//EN">
|
||||
%ISOalatin2;
|
||||
|
||||
<!ENTITY % ISOgreek PUBLIC "ISO 8879-1986//ENTITIES Greek Symbols//EN">
|
||||
%ISOgreek;
|
||||
|
||||
<!ENTITY % ISOboxandline PUBLIC "ISO 8879-1986//ENTITIES Box and Line Drawing//EN">
|
||||
%ISOboxandline;
|
||||
|
||||
|
||||
<!ENTITY % BEntities SYSTEM "./i18nGuide/BEntity.sgm">
|
||||
%BEntities;
|
||||
|
||||
<!ENTITY MotifProgGd "<Emphasis>Motif プログラマーズ・ガイド</Emphasis>">
|
||||
|
||||
<!ENTITY Pref SYSTEM "./i18nGuide/preface.sgm">
|
||||
<!ENTITY intro SYSTEM "./i18nGuide/ch01.sgm">
|
||||
<!ENTITY deskt SYSTEM "./i18nGuide/ch02.sgm">
|
||||
<!ENTITY distr SYSTEM "./i18nGuide/ch03.sgm">
|
||||
<!ENTITY motif SYSTEM "./i18nGuide/ch04.sgm">
|
||||
<!ENTITY msgs SYSTEM "./i18nGuide/appa.sgm">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
]>
|
||||
|
||||
<!-- ____________________________________________________________________________ -->
|
||||
|
||||
<Book>
|
||||
|
||||
<Title>共通デスクトップ環境 国際化対応プログラマーズ・ガイド</Title>
|
||||
|
||||
&Pref;
|
||||
&intro;
|
||||
&deskt;
|
||||
&distr;
|
||||
&motif;
|
||||
&msgs;
|
||||
|
||||
</Book>
|
||||
BIN
cde/doc/ja_JP.dt-eucJP/guides/i18nGuide/cdr/ind1.cdr
Normal file
BIN
cde/doc/ja_JP.dt-eucJP/guides/i18nGuide/cdr/ind1.cdr
Normal file
Binary file not shown.
BIN
cde/doc/ja_JP.dt-eucJP/guides/i18nGuide/cdr/inint1.cdr
Normal file
BIN
cde/doc/ja_JP.dt-eucJP/guides/i18nGuide/cdr/inint1.cdr
Normal file
Binary file not shown.
BIN
cde/doc/ja_JP.dt-eucJP/guides/i18nGuide/cdr/inint2.cdr
Normal file
BIN
cde/doc/ja_JP.dt-eucJP/guides/i18nGuide/cdr/inint2.cdr
Normal file
Binary file not shown.
346
cde/doc/ja_JP.dt-eucJP/guides/i18nGuide/ch01.sgm
Normal file
346
cde/doc/ja_JP.dt-eucJP/guides/i18nGuide/ch01.sgm
Normal file
@@ -0,0 +1,346 @@
|
||||
<!-- $XConsortium: ch01.sgm /main/9 1996/08/31 15:13:18 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="IPG.intro.div.1">
|
||||
<title id="IPG.intro.mkr.1">国際化入門</title>
|
||||
<para>国際化<indexterm><primary>国際化</primary><secondary>国際化の定義</secondary></indexterm> とは、世界中のユーザを対象としたコンピュータ・システムとアプリケーションを設計することです。ユーザはそれぞれ異なった言語を使用しており、自分が操作するシステムの機能やユーザ・インタフェースについて異なった要求をもっていることでしょう。その違いにもかかわらず、世界中のどこでもハードウェアを問わずに実行できるアプリケーションが実装されることが望まれています。
|
||||
このような<indexterm><primary>アプリケーション要求</primary></indexterm> アプリケーションは、国境を超えて<emphasis>相互運用</emphasis>することができ、多数のベンダから出荷されているさまざまなハードウェア構成の上で実行することができ、さらに、ローカルなユーザの必要を満たすようローカライズすることができなければなりません。このオープンな分散コンピューティング環境が、<indexterm><primary>共通デスクトップ環境</primary><secondary>共通デスクトップ環境の詳細</secondary></indexterm> 共通でオープンなソフトウェア環境を推進する根拠となっています。この仕様の中で明確にしている国際化のための技術は、グローバルな市場に上記のような利便性をもたらすのです。</para>
|
||||
<sect1 id="IPG.intro.div.2">
|
||||
<title id="IPG.intro.mkr.2">国際化の概要</title>
|
||||
<para>さまざまな国の言語をサポートするために、ひとつの共通オープン・システム内に複数の環境が存在することがあります。このそれぞれの国の<indexterm><primary>ロケール</primary><secondary>ロケールの定義</secondary></indexterm> 環境は、<emphasis>ロケール</emphasis>とよばれ、言語、その文字とフォント、データの入力と書式に使用される慣習を考慮します。共通デスクトップ環境は完全に国際化に対応しているので、どのようなアプリケーションでもシステムにインストールされているロケールを使用して実行することができます。</para>
|
||||
<para>ロケールは、ユーザの地理的地域の言語と文化的規約に従って、実行時のプログラムの動作を確定します。システム全体を通して、<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><listitem><para>クライアント間テキスト通信のエンコードとデコード</para>
|
||||
</listitem><listitem><para>ビットマップ/アイコン・ファイル</para>
|
||||
</listitem><listitem><para>アクションとファイル・タイプ</para>
|
||||
</listitem><listitem><para>ユーザ・インタフェース定義(UID)ファイル</para>
|
||||
</listitem></itemizedlist>
|
||||
<para>国際化対応アプリケーションは、ユーザのロケールや、そのロケールを表す必要のある文字や、ユーザが対話操作しようとする(日付や通貨のような)書式に依存するコードを一切含みません。デスクトップは、アプリケーションから言語や文化に依存する情報を切り離し、それをアプリケーションの外に保存することによってこれを達成しています。</para>
|
||||
<para>図 1-1は、国際化を簡単にするためにアプリケーションの外におくべき種類の情報を示しています。</para>
|
||||
<figure>
|
||||
<title id="IPG.intro.mkr.3">アプリケーションの外におくべき情報</title>
|
||||
<graphic id="IPG.intro.grph.1" entityref="IPG.intro.fig.1"></graphic>
|
||||
</figure>
|
||||
<para>言語や文化に依存する情報をアプリケーションのソース・コードから切り離しておきます。そうすることによって、異なった国の市場に出すためにアプリケーションを書き直したり、再コンパイルしたりする必要がなくなり、外においた情報をローカルの言語や文化に適応するようローカライズするだけでよくなります。</para>
|
||||
<para>国際化対応アプリケーションもまた、異なった母国語、ローカルな慣習、文字列のエンコードの要求に適合させることができます。操作を特定の母国語、ローカルな慣習、文字列のエンコードに適合させる処理は<indexterm><primary>ローカリゼーション</primary><secondary>ローカリゼーションの定義</secondary></indexterm> <emphasis>ローカリゼーション</emphasis>と呼ばれます。<indexterm><primary>国際化</primary><secondary>国際化の目的</secondary> 国際化の目的は、プログラムのソースを修正したり再コンパイルしたりすることなく、ローカリゼーションができるようにすることです。</para>
|
||||
<para>国際化の概要については、<emphasis>X/Open CAE Specification System Interface Definition</emphasis>, Issue 4, X/Open Company Ltd., 1992, ISBN: 1- 872630-46-4 を参照してください。</para>
|
||||
<sect2 id="IPG.intro.div.3">
|
||||
<title>国際化の現状</title>
|
||||
<para>独自の機能から、X/Openが発表する新しい標準機能セットまで、多くの種類の国際化が業界から提供されてきました。また、そのレベルも、単純なASCIIサポート、ラテン/ヨーロッパの言語のサポート、アジアの言語のマルチバイト・サポート、アラビア語/ヘブライ語の双方向サポートなどさまざまでした。</para>
|
||||
<para>X/Openの仕様で定義されているインタフェース<indexterm><primary>国際化</primary><secondary>国際化でサポートされているインタフェース</secondary></indexterm> では、次のような広範囲の言語と地域<indexterm><primary>言語</primary></indexterm> をサポートすることができます。</para>
|
||||
<informaltable>
|
||||
<tgroup cols="2" colsep="0" rowsep="0">
|
||||
<?PubTbl tgroup dispwid="4.29in">
|
||||
<colspec align="left" colwidth="123*">
|
||||
<colspec align="left" colwidth="285*">
|
||||
<thead>
|
||||
<row><entry align="left" valign="bottom"><para><literal>スクリプト</literal></para></entry>
|
||||
<entry align="left" valign="top">詳細</entry></row></thead>
|
||||
<tbody>
|
||||
<row>
|
||||
<entry align="left" valign="top"><para>ラテン語</para></entry>
|
||||
<entry align="left" valign="top"><para>アメリカ、東/西ヨーロッパ</para></entry></row>
|
||||
<row>
|
||||
<entry align="left" valign="top"><para>ギリシャ語</para></entry>
|
||||
<entry align="left" valign="top"><para>ギリシャ</para></entry></row>
|
||||
<row>
|
||||
<entry align="left" valign="top"><para>トルコ語</para></entry>
|
||||
<entry align="left" valign="top"><para>トルコ</para></entry></row>
|
||||
<row>
|
||||
<entry align="left" valign="top"><para>東アジア</para></entry>
|
||||
<entry align="left" valign="top"><para>日本語、韓国語、中国語</para></entry></row>
|
||||
<row>
|
||||
<entry align="left" valign="top"><para>インド語派</para></entry>
|
||||
<entry align="left" valign="top"><para>タイ語</para></entry></row>
|
||||
<row>
|
||||
<entry align="left" valign="top"><para>双方向</para></entry>
|
||||
<entry align="left" valign="top"><para>アラビア語とヘブライ語</para></entry></row>
|
||||
</tbody></tgroup></informaltable>
|
||||
<para>さらに、<indexterm><primary>共通デスクトップ環境</primary><secondary>共通デスクトップ環境の目的</secondary></indexterm> 共通デスクトップ環境の目的は、これらの技術のローカリゼーション(メッセージやマニュアルの翻訳、その他ローカルな必要性への適応)が一貫性のある方法で行なわれ、その結果として、世界中のサポートされているユーザが、どこにいても、ベンダが異なっても、同じ<emphasis>共通のローカライズされた環境</emphasis>を得ることができるようにすることです。<indexterm><primary>ローカリゼーション</primary><secondary>ローカリゼーションの結果</secondary></indexterm> エンド・ユーザと管理者には、一貫性のあるローカリゼーション機能によって、グローバルなソフトウェアをサポートする完成したアプリケーション環境が提供されます。</para>
|
||||
</sect2>
|
||||
<sect2 id="IPG.intro.div.4">
|
||||
<title id="IPG.intro.mkr.4">国際化規格</title>
|
||||
<para><indexterm><primary>規格</primary></indexterm> 多くの企業によって、追加要求や言語、特に東アジアのものが盛り込まれ、国際化対応アプリケーション・プログラム・インタフェースの機能が規格化されてきました。この作業は主として、Portable Operating System Interface for Computer Environments(POSIX)と<indexterm><primary>X/Open仕様</primary></indexterm> X/Open仕様に集約されてきました。最初のX/Open仕様は<emphasis>X/Open Portability Guide</emphasis>(XPG2)の第2版で発表され、Hewlett-PackardがリリースしたNative Language Support製品に基づいていました。最近発表されたX/Open国際化規格は、XPG4として参照されます。</para>
|
||||
<para>デスクトップ内の各レイヤが、国際化に対応するために定義された適切な<indexterm><primary>規格</primary></indexterm> 標準インタフェースのセットを使用して、一貫性のあるローカライズされたインタフェースを確実にエンド・ユーザに提供することは重要なことです。ロケール、および、共通でオープンなロケール依存の機能セットの定義は、次の<indexterm><primary>国際化</primary><secondary>国際化の仕様</secondary></indexterm> 仕様に基づいています。</para>
|
||||
<itemizedlist remap="Bullet1"><listitem><para><emphasis>X Window System, The
|
||||
Complete Reference to Xlib, Xprotocol, ICCCM, XLFD - X Version, Release 5</emphasis>, Digital Press, 1992, ISBN 1-55558-088-2.</para>
|
||||
</listitem><listitem><para><emphasis>ANSI/IEEE Standard Portable Operating
|
||||
System Interface for Computer Environments</emphasis>, IEEE.</para>
|
||||
</listitem><listitem><para><emphasis>OSF</emphasis>™ <emphasis>Motif
|
||||
1.2 Programmer' Reference, Revision 1.2</emphasis>, Open Software Foundation,
|
||||
Prentice Hall, 1992, ISBN 0-13-643115-1.</para>
|
||||
</listitem><listitem><para><emphasis>X/Open CAE Specification Commands and
|
||||
Utilities</emphasis>, Issue 4, X/Open Company Ltd., 1992, ISBN 1-872630-48-0.
|
||||
</para>
|
||||
</listitem></itemizedlist>
|
||||
<para><indexterm><primary>標準インタフェースを使用する利便性</primary></indexterm> この環境において、ソフトウェア開発者は、可搬的で、(ベンダが異なっていても)分散システム間で相互運用でき、デスクトップの標準ロケールがサポートしている国籍の異なるユーザのさまざまな言語や文化的要求に応えることができる<emphasis>世界共通のアプリケーション</emphasis>を開発することができます。</para>
|
||||
</sect2>
|
||||
<sect2 id="IPG.intro.div.5">
|
||||
<title>共通国際化システム</title>
|
||||
<para>><!--Original XRef content: 'Figure 1‐2 on page 6'--><xref
|
||||
role="CodeOrFigOrTabAndPNum" linkend="IPG.intro.mkr.5">は、<indexterm><primary>国際化</primary><secondary>国際化の共通システム</secondary></indexterm> 国際化が、特定の単一ホスト・システム内で広がる様子を示しています。この目的は、アプリケーション(<emphasis>クライアント</emphasis>)が、下層のシステムがサポートしているロケールのセットに対応するよう構築されて、世界中に出荷されることです。標準インタフェースを使用することで、グローバルな市場に出しやすくなり、アプリケーション開発者が行なう必要があるローカリゼーション作業の量を最小限にすることができます。</para>
|
||||
<figure>
|
||||
<title id="IPG.intro.mkr.5">共通国際化システム</title>
|
||||
<graphic id="IPG.intro.grph.2" entityref="IPG.intro.fig.2"></graphic>
|
||||
</figure>
|
||||
</sect2>
|
||||
</sect1>
|
||||
<sect1 id="IPG.intro.div.6">
|
||||
<title id="IPG.intro.mkr.6">ロケール<indexterm><primary>共通デスクトップ環境</primary><secondary>共通デスクトップ環境の各国語サポート</secondary><tertiary>共通デスクトップ環境の各国語サポートのロケール使用</tertiary></indexterm><indexterm><primary>共通デスクトップ環境</primary><secondary>共通デスクトップ環境の各国語サポート</secondary><tertiary>共通デスクトップ環境の各国語サポートのsetlocale関数</tertiary></indexterm><indexterm><primary>setlocale関数</primary><secondary>setlocale関数の国際化対応</secondary></indexterm></title>
|
||||
<para>大部分の単一ディスプレイ・クライアントは、環境変数、通常は<computeroutput>$LANG</computeroutput>、または、<computeroutput>xnlLanguage</computeroutput>リソースの設定によって実行時に決定される単一のロケールで動作します。<filename>LC_ALL</filename>、<computeroutput>LC_CTYPE</computeroutput>、<computeroutput>LANG</computeroutput>などのロケール環境変数を使用して環境を制御することができます。</para>
|
||||
<para>ロケールの<computeroutput>LC_CTYPE</computeroutput>カテゴリは、環境によって使用され、実行時に使用されるロケール固有の機能を識別します。ツールキットが読み込むフォントと入力メソッドは、<computeroutput>LC_CTYPE</computeroutput>カテゴリによって決定されます。</para>
|
||||
<para>国際化対応のプログラムは<computeroutput>XtSetLanguageProc()</computeroutput>関数(デフォルトで<computeroutput>setlocale()</computeroutput>を呼び出す)を呼び出してユーザが希望するロケールを設定するものとされています。ロケールを設定するために<computeroutput>setlocale()</computeroutput>関数を呼び出すライブラリがないので、アプリケーションは、特定ロケールまたは実行時に読み込まれる値で<computeroutput>XtSetLanguageProc()</computeroutput>を呼び出す必要があります。アプリケーションが国際化対応であるのに<computeroutput>XtSetLanguageProc()</computeroutput>を使用しない場合は、次の優先順位をつけたソースのうちのひとつからロケール名を取得し、それを<computeroutput>setlocale()</computeroutput>関数に渡してください。</para>
|
||||
<itemizedlist remap="Bullet1"><listitem><para>コマンド行オプション</para>
|
||||
</listitem><listitem><para>リソース</para>
|
||||
</listitem><listitem><para>空の文字列(“ ”)</para>
|
||||
</listitem></itemizedlist>
|
||||
<para>空の文字列の場合は、<computeroutput>setlocale()</computeroutput>関数は、環境変数<filename>$LC_*</filename>と<computeroutput>$LANG</computeroutput>を使用してロケール設定を決定します。特に、setlocale(<computeroutput>LC_ALL</computeroutput>, “ ”)では、表1-1に示すロケール・カテゴリの順に、ロケールが確認され環境変数から取得されます。</para>
|
||||
<table id="IPG.intro.tbl.1" frame="Topbot">
|
||||
<title>ロケール・カテゴリ</title>
|
||||
<tgroup cols="4" colsep="0" rowsep="0">
|
||||
<colspec colwidth="1.68in">
|
||||
<colspec colwidth="1.20in">
|
||||
<colspec colwidth="1.46in">
|
||||
<colspec colwidth="1.55in">
|
||||
<thead>
|
||||
<row><entry align="left" valign="bottom"><para><literal>カテゴリ</literal></para></entry>
|
||||
<entry align="left" valign="bottom"><para><literal>第1環境変数</literal></para></entry>
|
||||
<entry align="left" valign="bottom"><para><literal>第2環境変数</literal></para></entry>
|
||||
<entry align="left" valign="bottom"><para><literal>第3環境変数</literal></para></entry>
|
||||
</row></thead>
|
||||
<tbody>
|
||||
<row>
|
||||
<entry align="left" valign="top"><para>LC_CTYPE:</para></entry>
|
||||
<entry align="left" valign="top"><para>LC_ALL</para></entry>
|
||||
<entry align="left" valign="top"><para>LC_TYPE</para></entry>
|
||||
<entry align="left" valign="top"><para>LANG</para></entry></row>
|
||||
<row>
|
||||
<entry align="left" valign="top"><para>LC_COLLATE:</para></entry>
|
||||
<entry align="left" valign="top"><para>LC_ALL</para></entry>
|
||||
<entry align="left" valign="top"><para>LC_COLLATE</para></entry>
|
||||
<entry align="left" valign="top"><para>LANG</para></entry></row>
|
||||
<row>
|
||||
<entry align="left" valign="top"><para>LC_TIME:</para></entry>
|
||||
<entry align="left" valign="top"><para>LC_ALL</para></entry>
|
||||
<entry align="left" valign="top"><para>LC_TIME</para></entry>
|
||||
<entry align="left" valign="top"><para>LANG</para></entry></row>
|
||||
<row>
|
||||
<entry align="left" valign="top"><para>LC_NUMERIC:</para></entry>
|
||||
<entry align="left" valign="top"><para>LC_ALL</para></entry>
|
||||
<entry align="left" valign="top"><para>LC_NUMERIC</para></entry>
|
||||
<entry align="left" valign="top"><para>LANG</para></entry></row>
|
||||
<row>
|
||||
<entry align="left" valign="top"><para>LC_MONETARY:</para></entry>
|
||||
<entry align="left" valign="top"><para>LC_ALL</para></entry>
|
||||
<entry align="left" valign="top"><para>LC_MONETARY</para></entry>
|
||||
<entry align="left" valign="top"><para>LANG</para></entry></row>
|
||||
<row>
|
||||
<entry align="left" valign="top"><para>LC_MESSAGES:</para></entry>
|
||||
<entry align="left" valign="top"><para>LC_ALL</para></entry>
|
||||
<entry align="left" valign="top"><para>LC_MESSAGES</para></entry>
|
||||
<entry align="left" valign="top"><para>LANG</para></entry></row></tbody></tgroup>
|
||||
</table>
|
||||
<para>ツールキットはすでに標準のコマンド行オプション(<command>-lang</command>)とリソース(<systemitem>xnlLanguage</systemitem>)を定義しています。また、リソースの値はサーバ<filename>RESOURCE_MANAGER</filename>で設定することもできますが、その場合はサーバに接続しているすべてのクライアントに影響する可能性があります。</para>
|
||||
</sect1>
|
||||
<sect1 id="IPG.intro.div.7">
|
||||
<title id="IPG.intro.mkr.7">フォント、フォントセット、レンダー・テーブル<indexterm><primary>各国語サポート</primary><secondary>各国語サポートの取決め</secondary><tertiary>各国語サポートの取決めにおけるフォント</tertiary></indexterm><indexterm><primary>各国語サポート</primary><secondary>各国語サポートの取決め</secondary><tertiary>各国語サポートの取決めにおけるフォント・セット</tertiary></indexterm><indexterm><primary>各国語サポート</primary><secondary>各国語サポートのフォント・セット</secondary></indexterm><indexterm><primary>各国語サポート</primary><secondary>各国語サポートのフォント</secondary></indexterm><indexterm><primary>各国語サポート</primary><secondary>各国語サポートの取決め</secondary><tertiary>各国語サポートの取決めにおけるレンダー・テーブル</tertiary></indexterm><indexterm><primary>各国語サポート</primary><secondary>各国語サポートのレンダー・テーブル</secondary></indexterm></title>
|
||||
<para>Xクライアントはすべて、フォントを使用してテキストを描画します。テキスト描画に使用される基本的なオブジェクトは<command>XFontStruct</command>で、これは描画するイメージを含むフォントを識別します。</para>
|
||||
<para>デスクトップはXlibによって定義される<computeroutput>XFontStruct</computeroutput>データ構造体によってすでにフォントをサポートしていますが、フォント内の文字のエンコードは国際化対応アプリケーションに認識される必要があります。この情報を伝達するため、プログラムは、サーバのすべてのフォントはX Logical Font Description(XLFD)名によって識別されるものとみなします。XLFD名によって、ユーザは基本属性とcharset(フォント・グリフのエンコード)の両方を記述することができます。<symbol role="Variable">charset</symbol>という用語がフォント内のグリフのエンコードを示すのに使用されるのに対し、<emphasis>コード・セット</emphasis>という用語は、ロケール内の文字のエンコードを意味します。指定されたフォントのcharsetは、XLFD名のCharSetRegistryフィールドとCharSetEncodingフィールドで決定されます。テキストと記号はフォント内のコードによって定義された通りに描画されます。</para>
|
||||
<para><emphasis>フォント・セット</emphasis>(たとえば、Xlibによって定義されるデータ構造体<computeroutput>XFontSet</computeroutput>)は、ひとつ以上のフォントの集合で、指定されたロケール用に定義されたすべての文字の描画を可能にします。ロケールによってはコード・セットでエンコードされた文字の値がグリフ・インデックスと一致しないものもありますが、国際化対応アプリケーションは、このような場合もエンコードされたテキストを描画できなければなりません。さらに、ロケールのコード・セットとは異なるエンコードをもつフォントをひとつ以上使用しているロケールでのすべての文字を描画するために、複数のフォントが必要となる場合もあります。コード・セットもcharsetもロケールごとに異なるので、フォント・セットという概念を<computeroutput>XFontSet</computeroutput>として取り入れています。</para>
|
||||
<para>フォントがXLFD名によって識別されるのに対し、フォント・セットはXLFD名のリストによって識別されます。リストはひとつ以上のXLFD名から構成されますが、基本属性だけが意味をもちます。必要なフォントのエンコードはロケールから決定されます。XLFDベース名リストで指定されるcharsetは無視されるので、ユーザが考慮する必要があるのはポイント・サイズ、スタイル、ウェイトなどの基本属性の指定のみです。フォント・セットは<emphasis>ロケール依存</emphasis>で、ロケールのコード・セットでエンコードされているテキストを描画するのに使用されます。国際化対応アプリケーションはテキスト・データを描画するのにフォント構造体ではなくフォント・セットを使用すべきです。</para>
|
||||
<para>レンダー・テーブルは、テキストがどのように描画されるかを指定するレンディションの集合です。レンダー・テーブルについては、この節でまとめています。</para>
|
||||
<sect2 id="IPG.intro.div.8">
|
||||
<title>Font Specification</title>
|
||||
<para> <emphasis>フォント指定</emphasis>は、X Logical Font Description (XLFD)名、もしくは、XLFD名の別名のいずれかです。たとえば、14ポイント・フォントの有効なフォント指定は次のようなものです。</para>
|
||||
<programlisting>-dt-application-medium-r-normal-serif-*-*-*-*-p-*-iso8859-1
|
||||
</programlisting>
|
||||
<para>OR</para>
|
||||
<programlisting>-*-r-*-14-*iso8859-1</programlisting>
|
||||
</sect2>
|
||||
<sect2 id="IPG.intro.div.9">
|
||||
<title>フォント・セット指定<indexterm><primary>フォント・セット</primary><secondary>フォント・セットの国際化</secondary></indexterm></title>
|
||||
<para><emphasis>フォント・セット指定</emphasis>は、名前(XLFD名またはその別名)のリストで、<emphasis>ベース名リスト</emphasis>と呼ばれることもあります。名前はすべてコンマで区切られ、コンマの前後の空白部分は無視されます。パターン・マッチング(ワイルドカード)文字を使って、XLFD名を短縮して指定することができます。</para>
|
||||
<para>フォント・セット指定は、実行中のロケールによって決定されます。たとえば、ja_JP日本語ロケールは、日本語の文字すべてを表示するのに必要な3つのフォント(キャラクタ・セット)を定義します。次の例では、必要なゴシック・フォントのセットが識別されます。</para>
|
||||
<itemizedlist remap="Bullet1"><listitem><para>完全なXFLD名リストの例:</para>
|
||||
<programlisting>-dt-mincho-medium-r-normal--14-*-*-m-*-jisx0201.1976-0,-dt-mincho-medium-r-normal--28-*-*-*-m-*-jisx0208.1983-0:</programlisting>
|
||||
</listitem><listitem><para>単一XLFDパターン名の例:</para>
|
||||
<programlisting>-dt-*-medium-*-24-*-m-*:</programlisting>
|
||||
</listitem></itemizedlist>
|
||||
<para>上記の2つの例は、ベース名リストに一致するフォントが存在する限り、日本語ロケールで使用することができます。</para>
|
||||
</sect2>
|
||||
<sect2 id="IPG.intro.div.10">
|
||||
<title id="IPG.intro.mkr.8">ベース・フォント名リストの指定<indexterm><primary>フォント・セット</primary><secondary>フォント・セットのベース名リストの指定</secondary></indexterm><indexterm><primary>各国語サポート</primary><secondary>各国語サポートにおける指定</secondary><tertiary>各国語サポートにおけるベース名リストの指定</tertiary></indexterm><indexterm><primary>国際化</primary><secondary>国際化におけるベース名リストの指定</secondary></indexterm></title>
|
||||
<para><emphasis>ベース・フォント名リスト</emphasis>は、ロケールが定義するフォント・セットに関連するベース・フォント名のリストです。ベース・フォント名は、それぞれコンマで区切られてリストを構成しており、可搬的なキャラクタ・セットからの文字と仮定されます。そうでない場合は、結果は不確定となります。区切りコンマのすぐ前後の空白部分は無視されます。<indexterm><primary>ベース・フォント名リスト</primary></indexterm><indexterm><primary>ベース・フォント名リスト</primary></indexterm></para>
|
||||
<para>XLFDフォント名を使用することによって、国際的アプリケーションは、単一のロケールに依存しないベース・フォント名からさまざまなロケールに必要なフォントを取得することができます。単一のベース・フォント名は、該当するロケールが必要とするさまざまなcharsetでメンバがエンコードされたフォントのファミリを指定します。<indexterm><primary>X Logical Font Description (XLFD)</primary><secondary>XLFDの国際的ロケール用のフォント名</secondary></indexterm></para>
|
||||
<para>XLFDベース・フォント名は、ロケールに必要なフォントのcharsetを明示的に指定することができます。このため、ユーザはロケールに必要なcharsetで使用するフォントを厳密に指定することができ、フォントの選択を完全に制御することができます。</para>
|
||||
<para>ベース・フォント名がXLFD名でない場合は、フォントのフォント属性からXLFD名を取得しようと試みられます。</para>
|
||||
<para>次のアルゴリズムは、フォント・セットでテキストを表示すのに用いるフォントを選択するために使用されます。<indexterm><primary>フォント選択アルゴリズム、フォント・セットでテキストを表示</primary></indexterm><indexterm><primary>ベース・フォント名リスト</primary></indexterm></para>
|
||||
<para>ロケールで必要な各charsetごとに、サーバに存在するフォントのセットを指定する次の場合のうちの最初にあてはまるものを求めて、ベース・フォント名リストが検索されます。</para>
|
||||
<itemizedlist remap="Bullet1"><listitem><para>必要なcharset、または、必要なcharsetのスーパーセットをCharSetRegistryフィールドとCharSetEncodingに指定する最初のXLFD準拠ベース・フォント名。</para>
|
||||
</listitem><listitem><para>必要なcharsetをサポートするよう再マップすることができるひとつ以上のcharsetを指定する、ひとつ以上のXLFD準拠ベース・フォント名から成る最初のセット。Xlibを実装していると、必要なcharsetからひとつ以上のその他のcharsetへのさまざまなマッピングを認識して、これらのcharsetのフォントを使用することができます。たとえば、ASCIIのチルドとバックスラッシュは、JIS Romanではオーバーバーと円記号に置換えられます。XlibはJIS Romanフォントが取得できない場合、ISO8859-1フォントを読み込んでこのキャラクタ・セットをサポートすることができます。</para>
|
||||
</listitem><listitem><para>必要なcharset(XLFDフォント名のCharSetRegistryフィールドとCharSetEncodingフィールドに置き換わる)と結合された最初のXLFD準拠フォント名、または、XLFDフォント名を取得できる最初のXLFDでないフォント名。最初の手続きで、インプリメンテーションは、必要なcharsetのスーパーセットであるcharsetを使用することができます。</para>
|
||||
</listitem><listitem><para>ロケールに依存した方法で、charsetを連想させるテキストをサポートするひとつ以上のフォントにマップすることができる最初のフォント名。</para>
|
||||
</listitem></itemizedlist>
|
||||
<para>たとえば、ロケールには次のcharsetが必要であると仮定します。 </para>
|
||||
<itemizedlist remap="Bullet1"><listitem><para>ISO8859-1</para>
|
||||
</listitem><listitem><para>JISX0208.1983</para>
|
||||
</listitem><listitem><para>JISX0201.1976</para>
|
||||
</listitem><listitem><para>GB2312-1980.0</para>
|
||||
</listitem></itemizedlist>
|
||||
<para>次の例のように、charsetを明示的に指定するベース・フォント名リストを提供し、特定のフォントが存在している場合は確実にそれを使用するようにすることができます。</para>
|
||||
<programlisting>“-dt-mincho-Medium-R-Normal-*-*-*-*-*-M-*-JISX0208.1983-0,\
|
||||
-dt-mincho-Medium-R-Normal-*-*-*-*-*-M- \
|
||||
*-JISX0201.jisx0201\.1976-1,\
|
||||
-dt-song-Medium-R-Normal-*-*-*-*-*-M-*-GB2312-1980.0,\
|
||||
-*-default-Bold-R-Normal-*-*-*-*-M-*-ISO8859-1“</programlisting>
|
||||
<para>次の例のようにcharsetを省略したベース・フォント名リストを提供すると、必要な各コード・セット用のフォントを選択できます。</para>
|
||||
<programlisting>“-dt-Fixed-Medium-R-Normal-*-*-*-*-*-M-*,\
|
||||
-dt-Fixed-Medium-R-Normal-*-*-*-*-*-M-*,\
|
||||
-dt-Fixed-Medium-R-Normal-*-*-*-*-*-M-*,\
|
||||
-*-Courier-Bold-R-Normal-*-*-*-*-M-*”</programlisting>
|
||||
<para>代わりの方法として、次の例のように、単一ベース・フォント名を提供すると、ある最小限のXLFD属性要求を満たす使用可能なすべてのフォントから選択することができます。</para>
|
||||
<programlisting>“-*-*-*-R-Normal--*-*-*-*-*-M-*”</programlisting>
|
||||
</sect2>
|
||||
<sect2 id="IPG.intro.div.12">
|
||||
<title>レンダー・テーブル<indexterm><primary>レンダー・テーブル</primary><secondary>レンダー・テーブルの国際化</secondary></indexterm></title>
|
||||
<para><emphasis>レンダー・テーブル</emphasis>は<emphasis>レンディション</emphasis><indexterm><primary>レンディション</primary></indexterm> と呼ばれるひとつ以上のエントリから構成されています。各レンディションは、コンパウンド・ストリングを描画する際に使用される名前でタグを付けられています。国際化対応アプリケーションでは、レンディションとレンダー・テーブルはリソース・ファイルで指定し、さまざまなロケールの異なった必要性からアプリケーション・バイナリを独立させておくべきです。レンディションとレンダー・テーブルについて詳しくは、<citetitle>Motfプログラマーズ・ガイド</citetitle>を参照してください。</para>
|
||||
</sect2>
|
||||
</sect1>
|
||||
<sect1 id="IPG.intro.div.13">
|
||||
<title id="IPG.intro.mkr.9">テキスト描画</title>
|
||||
<para>デスクトップは、シンプル・テキスト、コンパウンド・ストリング、いくつかのウィジェットなど、ローカライズされたテキストを描画するためのさまざまな関数を提供します。これらの中には、XlibやMotifライブラリの関数も含まれています。</para>
|
||||
</sect1>
|
||||
<sect1 id="IPG.intro.div.14">
|
||||
<title id="IPG.intro.mkr.10">入力メソッド<indexterm><primary>各国語サポート</primary><secondary>各国語サポートにおける入力の実行</secondary></indexterm><indexterm><primary>各国語サポート</primary><secondary>各国語サポートにおける入力メソッドの使用</secondary></indexterm><indexterm><primary>共通デスクトップ環境</primary><secondary>共通デスクトップ環境の各国語サポート</secondary><tertiary>共通デスクトップ環境の各国語サポートの入力領域</tertiary></indexterm><indexterm><primary>各国語サポート</primary><secondary>各国語サポートの入力領域</secondary></indexterm><indexterm><primary>共通デスクトップ環境</primary><secondary>共通デスクトップ環境の入力領域</secondary><tertiary>共通デスクトップ環境の入力領域の詳細</tertiary></indexterm></title>
|
||||
<para>共通デスクトップ環境は、Motif Toolkitを使用している国際化対応アプリケーションに対してローカライズされた入力を実行する機能を提供します。特に、<computeroutput>XmText[Field]</computeroutput>ウィジェットは、各ロケールが提供する入力メソッドとインタフェースをとることができるようになります。さらに、<computeroutput>dtterm</computeroutput>クライアントが、入力メソッドを使用することが可能になります。入力メソッドについて詳しくは<citetitle>Motifプログラマーズ・ガイド</citetitle>を参照してください。</para>
|
||||
<para>デフォルトでは、Motif ツールキットを使用するそれぞれの国際化対応クライアントは、ユーザが指定するロケールに関連付けられた入力メソッドを使用します。<systemitem class="Resource">XmNinputMethod</systemitem>リソースをロケール・モディファイアの入力メソッド部として提供し、ユーザが代替の入力メソッドを指定できるようにします。</para>
|
||||
<para>入力メソッドのユーザ・インタフェースは、いくつかの要素から構成されています。これらの領域の必要性は使用されている入力メソッドに依存しており、通常は、複雑な入力処理とダイアログを要求する入力メソッドによって必要とされます。これらの領域については、図 1-3を参照してください。</para>
|
||||
<figure>
|
||||
<title id="IPG.intro.mkr.11">VendorShellウィジェットと補助の例(日本語)</title>
|
||||
<graphic id="IPG.intro.grph.3" entityref="IPG.intro.fig.3"></graphic>
|
||||
</figure>
|
||||
<para><classname>VendorShell</classname>は、<systemitem class="Resource">XmNinputPolicy</systemitem>リソース<indexterm><primary>VendorShell</primary><secondary>VendorShellの入力ポリシー</secondary></indexterm> を含んでいます。これは、その子ウィジェットが入力コンテキストを共用するか否かを指定します。たとえば、ルート・ウィンドウ入力メソッド・スタイルを使用している場合、入力コンテキストはいくつかのウィジェットで共用され、off-the-spot入力メソッド・スタイルである間は、入力コンテキストはひとつ以上のウィジェットの間で共用されるはずです。しかし、over-the-spot入力メソッド・スタイルでは、入力コンテキストはほば確実に単一のウィジェットに属します。<systemitem class="Resource">XmNinputPolicy</systemitem>がとりうる値は、 各ウィジェットに新しい入力コンテキストを提供する<systemitem class="Constant">XmPER_WIDGET</systemitem>と、共通のシェルの子ウィジェットに単一の入力コンテキストを共用させる<systemitem class="Constant">XmPER_SHELL</systemitem>です。</para>
|
||||
<sect2 id="IPG.intro.div.15">
|
||||
<title id="IPG.intro.mkr.12">前編集領域<indexterm><primary>共通デスクトップ環境</primary><secondary>共通デスクトップ環境の入力領域</secondary><tertiary>共通デスクトップ環境の入力領域の前編集領域</tertiary></indexterm><indexterm><primary>前編集領域</primary><secondary>前編集領域の詳細</secondary></indexterm><indexterm><primary>VendorShellウィジェット・クラス</primary><secondary>VendorShellウィジェット・クラスの前編集領域</secondary></indexterm><indexterm><primary>前編集領域</primary><secondary>前編集領域のVendorShellウィジェット・クラス</secondary></indexterm></title>
|
||||
<para>前編集領域は、前編集中の文字列を表示するのに使用されます。入力メソッドは前編集モードとして、OffTheSpot、OnTheSpot(デフォルト)、OverTheSpot、Root、Noneをサポートしています。</para>
|
||||
<note>
|
||||
<para>確定済みの文字列を<emphasis>再変換することはできません。</emphasis>文字列は前編集領域からユーザが文字を入力している位置に移動します。 <indexterm><primary>日本語入力メソッド</primary><secondary>日本語入力メソッドの前編集、再変換文字列</secondary></indexterm></para>
|
||||
</note>
|
||||
<sect3 id="IPG.intro.div.16">
|
||||
<title>OffTheSpot<indexterm><primary>前編集領域</primary><secondary>Off<</secondary></indexterm>
|
||||
<indexterm><primary>#1e>The<</primary></indexterm>
|
||||
<indexterm><primary>#1e>Spotモード</primary></indexterm>
|
||||
<indexterm><primary>Off<</primary></indexterm>
|
||||
<indexterm><primary>#1e>The<</primary></indexterm>
|
||||
<indexterm><primary>#1e>Spotモード、前編集領域</primary></indexterm>
|
||||
<indexterm><primary>前編集のモード</primary><secondary>前編集のモードのOffTheSpot</secondary></indexterm></title>
|
||||
<para>入力メソッドを使用してOffTheSpotモードで前編集する場合は、前編集の位置は通常、<!--Original XRef content:'Figure 1‐4'--><xref role="CodeOrFigureOrTable" linkend="IPG.intro.mkr.13">に示されるように、アプリケーション・ウィンドウ内、ステータス領域の右側にあります。日本語入力メソッドを例として示します。</para>
|
||||
<figure>
|
||||
<title id="IPG.intro.mkr.13">VendorShellウィジェットでのOffTheSpot前編集の例(日本語)</title>
|
||||
<graphic id="IPG.intro.grph.4" entityref="IPG.intro.fig.4"></graphic>
|
||||
</figure>
|
||||
<para>入力メソッドを使用して前編集している場合、前編集中の文字列は使用している入力メソッドに依存する形式で強調表示されます。</para>
|
||||
<para>OffTheSpotモードを使用するためには、<computeroutput>VendorShell</computeroutput>ウィジェットの<systemitem>XmNpreeditType</systemitem>リソースを、<computeroutput>XtSetValues()</computeroutput>関数、もしくは、リソース・ファイルのいずれかで設定してください。<systemitem>XmNpreeditType</systemitem>リソースは、<computeroutput>TopLevelShell</computeroutput>、<computeroutput>ApplicationShell</computeroutput>、または、<computeroutput>DialogShell</computeroutput>ウィジェットのリソースとして設定することもできます。この3つのウィジェットはすべて、<computeroutput>VendorShell</computeroutput>ウィジェット・クラスのサブクラスです。</para>
|
||||
</sect3>
|
||||
<sect3 id="IPG.intro.div.17">
|
||||
<title>OverTheSpot<indexterm><primary>前編集領域</primary><secondary>前編集領域のOverTheSpotモード</secondary></indexterm><indexterm><primary>前編集領域</primary><secondary>前編集領域のデフォルト・モード</secondary></indexterm><indexterm><primary>OverTheSpotモード、前編集領域</primary></indexterm><indexterm><primary>前編集のモード</primary><secondary>前編集のモードのOverTheSpot</secondary></indexterm></title>
|
||||
<para>OverTheSpotモードでは、前編集領域の位置はユーザが文字を入力しようとしている位置(たとえば、現在フォーカスがある<computeroutput>Text</computeroutput>ウィジェットの挿入カーソルの位置)に設定されます。前編集領域の文字はカーソルのある位置にオーバーレイ・ウィンドウとして表示され、使用している入力メソッドに依存した形式で強調表示されます。</para>
|
||||
<para>OverTheSpotモードでは、ひとつの前編集領域が複数行から構成されることがあります。前編集領域は常にメイン・ウィンドウ領域内にあり、どの方向にもはみだすことはできません。 </para>
|
||||
<para>前編集中の文字列は<computeroutput>Text</computeroutput>ウィジェットのテキストの一部分であるかのように表示されますが、前編集が終了するまではクライアントに渡されて下層の編集画面に表示されることはありません。<!--Original XRef content: 'Figure 1‐5 on page 17'--><xref role="CodeOrFigOrTabAndPNum" linkend="IPG.intro.mkr.14">の図を参照してください。</para>
|
||||
<para>OverTheSpotモードを明示的に使用するためには、 <computeroutput>VendorShell</computeroutput>の<systemitem>XmNpreeditType</systemitem>リソースを<computeroutput>XtSetValues()</computeroutput>関数、もしくは、リソースファイルのいずれかで設定してください。<systemitem>XmNpreeditType</systemitem> リソースは、<computeroutput>TopLevelShell</computeroutput>、 <computeroutput>ApplicationShell</computeroutput>、または、 <computeroutput>DialogShell</computeroutput>ウィジェットのリソースとして設定することができます。この3つのウィジェットは <computeroutput>VendorShell</computeroutput>ウィジェット・クラスのサブクラスです。</para>
|
||||
<figure>
|
||||
<title id="IPG.intro.mkr.14">VendorShellウィジェットでのOverTheSpot前編集の例(日本語)</title>
|
||||
<graphic id="IPG.intro.grph.5" entityref="IPG.intro.fig.5"></graphic>
|
||||
</figure>
|
||||
</sect3>
|
||||
<sect3 id="IPG.intro.div.17a">
|
||||
<title>OnTheSpot(デフォルト)</title>
|
||||
<indexterm><primary>前編集領域</primary><secondary>前編集領域のOnTheSpot</secondary></indexterm>
|
||||
<indexterm><primary>OnTheSpotモード、前編集領域 </primary></indexterm>
|
||||
<indexterm><primary>前編集のモード</primary><secondary>前編集のモードのOnTheSpot</secondary></indexterm>
|
||||
<para> OnTheSpotモードでは、前編集文字列はテキスト・ウィジェット・ウィンドウに表示されます。前編集文字列はテキスト・ウィジェット値の一部分とみなされ、その完全性はテキスト・ウィジェットのVerifyコールバック(Verifyコールバックは<systemitem class="resource">verifyPreedit</systemitem>リソースによって制御され、デフォルトは<literal>False</literal>です。)によって保証されます。テキスト・ウィジェットのVerifyコールバックが前編集バッファから何も受け入れない時、前編集文字列は確定されます。(前編集文字列を確定させるユーザ・アクションについては、<citetitle>Motifプログラマーズ・ガイド</citetitle>を参照してください。)</para>
|
||||
<para>入力メソッドを使用して前編集を行っている場合、前編集中の文字列は使用中の入力メソッドに依存する方法で強調表示されます。 </para>
|
||||
<para> OnTheSpotモードを使用するためには、 <computeroutput>VendorShell</computeroutput>ウィジェットの<systemitem>XmNpreeditType</systemitem>リソースを、<computeroutput>XtSetValues()</computeroutput>関数、もしくは、リソース・ファイルで設定してください。<systemitem>XmNpreeditType</systemitem>リソースを <computeroutput>TopLevelShell</computeroutput>、 <computeroutput>ApplicationShell</computeroutput>、または、 <computeroutput>DialogShell</computeroutput>ウィジェットのリソースとして設定することもできます。この3つのウィジェットはすべて<computeroutput>VendorShell</computeroutput>ウィジェット・クラスのサブクラスです。</para>
|
||||
</sect3>
|
||||
<sect3 id="IPG.intro.div.18">
|
||||
<title>Root<indexterm><primary>前編集領域</primary><secondary>前編集領域のRootモード</secondary></indexterm>
|
||||
<indexterm><primary>Rootモード、前編集領域</primary>
|
||||
</indexterm><indexterm><primary>前編集のモード</primary><secondary>前編集のモードのRoot</secondary></indexterm></title>
|
||||
<para>Rootモードでは、前編集領域とステータス領域はクライアントのウィンドウとは別になっています。Rootモードの動作はOffTheSpotと類似しています。<!--Original XRef content: 'Figure 1‐6'--><xref role="CodeOrFigureOrTable" linkend="IPG.intro.mkr.15">の図を参照してください。</para>
|
||||
<figure>
|
||||
<title id="IPG.intro.mkr.15">VendorShellウィジェットでのRoot前編集の例(日本語)</title>
|
||||
<graphic id="IPG.intro.grph.6" entityref="IPG.intro.fig.6"></graphic>
|
||||
</figure>
|
||||
</sect3>
|
||||
</sect2>
|
||||
<sect2 id="IPG.intro.div.19">
|
||||
<title id="IPG.intro.mkr.16">ステータス領域<indexterm><primary>共通デスクトップ環境</primary><secondary>共通デスクトップ環境の入力領域</secondary><tertiary>共通デスクトップ環境の入力領域のステータス領域</tertiary></indexterm>
|
||||
<indexterm><primary>ステータス領域</primary></indexterm><indexterm><primary>VendorShellウィジェット・クラス</primary><secondary>VendorShellウィジェット・クラスのステータス領域</secondary></indexterm></title>
|
||||
<para>ステータス領域は、ユーザに入力メソッドの入力状態やキーボードの状態を知らせます。OverTheSpotスタイルおよびOffTheSpotスタイルでは、ステータス領域はVendorShellウィンドウの左下端に位置しています。</para>
|
||||
<itemizedlist remap="Bullet1"><listitem><para>Rootスタイルでは、ステータス領域はクライアント・ウィンドウの外に位置しています。</para>
|
||||
</listitem><listitem><para>前編集スタイルがOffTheSpotモードの場合は、前編集領域はステータス領域の右側に表示されます。</para>
|
||||
</listitem></itemizedlist>
|
||||
<para><computeroutput>VendorShell</computeroutput>ウィジェットはジオメトリ管理を提供しており、ステータス領域をVendorShellウィンドウの下隅に再配置することができます。</para>
|
||||
</sect2>
|
||||
<sect2 id="IPG.intro.div.20">
|
||||
<title id="IPG.intro.mkr.17">補助領域<indexterm><primary>共通デスクトップ環境</primary><secondary>共通デスクトップ環境の入力領域</secondary><tertiary>共通デスクトップ環境の入力領域の補助領域</tertiary></indexterm><indexterm><primary>補助領域</primary></indexterm><indexterm><primary>VendorShellウィジェット・クラス</primary><secondary> VendorShellウィジェット・クラスの補助領域</secondary></indexterm></title>
|
||||
<para>補助領域はユーザが前編集を行う場合に役立ちます。補助領域は特定の入力メソッドに依存して作成されます。<!--Original XRef content: 'Figure 1‐3 on page 14'--><xref role="CodeOrFigOrTabAndPNum" linkend="IPG.intro.mkr.11">の日本語入力メソッドは次の型の補助領域を作成します。<indexterm><primary>補助領域</primary></indexterm><indexterm><primary>日本語入力メソッド</primary><secondary>日本語入力メソッドの補助領域</secondary></indexterm></para>
|
||||
<itemizedlist remap="Bullet1"><listitem><para>全候補</para>
|
||||
</listitem><listitem><para>JISコード</para>
|
||||
</listitem><listitem><para>変換方法の切り替え</para>
|
||||
<itemizedlist remap="Bullet2"><listitem><para>先読み連文節</para>
|
||||
</listitem><listitem><para>一括連文節</para>
|
||||
</listitem><listitem><para>単文節</para>
|
||||
</listitem><listitem><para>複合語</para>
|
||||
</listitem></itemizedlist>
|
||||
</listitem></itemizedlist>
|
||||
</sect2>
|
||||
<sect2 id="IPG.intro.div.22">
|
||||
<title id="IPG.intro.mkr.19">フォーカス領域<indexterm><primary>共通デスクトップ環境</primary><secondary>共通デスクトップ環境の入力領域</secondary><tertiary>共通デスクトップ環境の入力領域のフォーカス領域</tertiary></indexterm><indexterm><primary>フォーカス領域</primary></indexterm><indexterm><primary>VendorShellウィジェット・クラス</primary><secondary> VendorShellウィジェット・クラスのフォーカス領域</secondary></indexterm><indexterm><primary>フォーカス管理</primary><secondary>フォーカス管理のフォーカス領域</secondary></indexterm>
|
||||
<indexterm><primary>フォーカス領域</primary></indexterm></title>
|
||||
<para>フォーカス領域は、現在フォーカスがある<computeroutput>VendorShell</computeroutput>ウィジェット・サブツリーの下にある子孫ウィジェットのいずれかひとつです。既存のウィジェットを使用しているならば、Motifアプリケーション・プログラマはフォーカス領域を気にする必要はありません。重要なのは、一度にひとつのウィジェットだけしか入力メソッドを処理することができないということです。入力メソッドの処理は、現在フォーカスがあるウィンドウ(ウィジェット)に移動します。</para>
|
||||
</sect2>
|
||||
<sect2 id="IPG.intro.div.22a">
|
||||
<title>Layout Direction</title>
|
||||
<indexterm><primary>配置方向</primary></indexterm>
|
||||
<para>配置方向は、ウィジェットの子、ウィジェット・コンポーネント、テキスト(<classname>VendorShell</classname>リソース、<systemitem class="resource">XmNlayoutDirection</systemitem>によって制御される)などのビジュアル要素を表示するために使用する方向を示します。一般的にこの方向は、人々が特定の言語を読み書きする時に使用する方向と一致します。英語、フランス語、ドイツ語、スウェーデン語などの言語は左から右に読み書きされます。したがって、ユーザがこれらの言語で作業し、コンピュータのキーボードから文字を入力する場合、入力文字は先に入力した文字の右側に表示されます。このユーザは、別のビジュアル要素も左から右へ配置されることを期待するでしょう。たとえば、メニュー・バーにおいて、プルダウン・メニュー・ボタンは左から右へ配置されるので、シンプルなメニュー・バーは、「ファイル」プルダウン・メニュー・ボタンをメニュー・バーの左上端に配置し、「ヘルプ」プルダウン・メニュー・ボタンを右上端に配置します。</para>
|
||||
<para>アラビア語やヘブライ語などの言語は、右から左へ読み書きされます。これらの言語のテキストを画面上に正確に表示するためには、ユーザが入力する連続する各々の文字は先に入力した文字の左に表示されなければなりません。ビジュアル要素の配置に関して上記の例を用いると、ユーザはメニュー・バーがメニュー・プルダウン・ボタンを右から左へ配置することを期待します。その結果は通常、「ファイル」メニュー・プルダウン・ボタンを右上端に、「ヘルプ」メニュー・プルダウン・ボタンを左上端に配置することになります。配置方向について詳しくは、<citetitle>Motifプログラマーズ・ガイド</citetitle>を参照してください。</para>
|
||||
</sect2>
|
||||
<sect2 id="IPG.intro.div.22b">
|
||||
<title>縦書き</title>
|
||||
<indexterm><primary>縦書き</primary></indexterm>
|
||||
<para>いくつかのアジアの言語では、テキストは縦方向に描画されます。<classname>VendorShell</classname>リソース<systemitem class="resource">XmNlayoutDirection</systemitem>が <systemitem class="constant">XmTOP_TO_BOTTOM</systemitem>に設定されている場合に、縦書き機能が可能となります。この機能は、テキストを縦方向に描画することにくわえて、テキスト・ウィジェットをユーザに合った方法に適合させます。たとえば、ワード・ラップが「する」になっている場合、テキストはあるカラムの下から次のカラムの上へ折返します。縦書きについて詳しくは、<citetitle>Motifプログラマーズ・ガイド</citetitle>を参照してください。</para>
|
||||
</sect2>
|
||||
</sect1>
|
||||
<sect1 id="IPG.intro.div.23">
|
||||
<title id="IPG.intro.mkr.20">クライアント間通信規約(ICCC)<indexterm><primary>各国語サポート</primary><secondary>各国語サポートの国際化ICCC</secondary></indexterm></title>
|
||||
<para>クライアント間通信規約(ICCC)は、クライアント間でテキストを渡すのに使用される仕組みを定義しています。システムは複数のコード・セットをサポートできるため、異なったコード・セットを使用している2つのアプリケーションが互いに通信を行うことが可能です。ICCCは2つのクライアント間でデータを渡す方法について、これらのクライアントがどのように同意するかを定義しています。2つのクライアントがもつキャラクタ・セットに互換性がない場合(たとえば、ラテン1と日本語(JIS)のように)、文字が転送される時にデータの一部が失われる可能性があります。<indexterm><primary>libXmライブラリ</primary></indexterm><computeroutput><indexterm><primary>dttermコマンド</primary><secondary>dttermコマンドのICCC</secondary></indexterm></computeroutput></para>
|
||||
<para>しかし、2つのクライアントが、異なったコード・セットをもっていても、それが互換性のあるキャラクタ・セットである場合は、ICCCはこの2つのクライアント間でデータを失うことなく情報を渡すことを可能とします。2つのクライアントのコード・セットが一致しない場合は、<computeroutput>COMPOUND_TEXT</computeroutput>アトムを使用して、コンパウンド・テキストのエンコードが使用されます。通信中のデータが可搬的な文字(7ビット、ASCIIなど)やISO8859-1コード・セットしか含んでいない場合は、そのデータは<computeroutput>XA_STRING</computeroutput>アトムによって、変換されずにそのまま通信されます。</para>
|
||||
<para>タイトル名とアイコン名は、可搬的でない文字が使用されている場合は、<computeroutput>COMPOUND_TEXT</computeroutput>アトムを使用してウィンドウ・マネージャに通信される必要があります。そうでない場合は、<computeroutput>XA_STRING</computeroutput>アトムを使用することができます。</para>
|
||||
<para>たとえばMotifは、テキストのデータを転送するのに、次のMotifのアトムを使用します。</para>
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
<para><literal>_MOTIF_COMPOUND_STRING</literal>は、データを <Symbol>XmString</Symbol>形式で転送します。
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para><literal>_MOTIF_RENDER_TABLE</literal>レンダー・テーブルの値を<Symbol>STRING</Symbol>型として転送します。</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
<para>詳しくは、<citetitle>Motifウィジェット・ライターズ・ガイド</citetitle>を参照してください。</para>
|
||||
<para>その他のエンコードは、ウィンドウ・マネージャのロケールに変換する程度に制限されています。ウィンドウ・マネージャは単一ロケールで実行され、実行中のロケールのコード・セットに変換できるタイトル名とアイコン名しかサポートしません。<indexterm><primary>各国語サポート</primary><secondary>各国語サポートのウィンドウ・マネージャ</secondary><tertiary>各国語サポートのウィンドウ・マネージャにおけるタイトル名の通信</tertiary></indexterm><indexterm><primary>各国語サポート</primary><secondary>各国語サポートのウィンドウ・マネージャ</secondary><tertiary>各国語サポートのウィンドウ・マネージャにおけるアイコン名の通信</tertiary></indexterm><indexterm><primary>ウィンドウ・マネージャ</primary><secondary>ウィンドウ・マネージャにおけるタイトル名とアイコン名の通信</secondary></indexterm></para>
|
||||
<para>Motifライブラリとすべてのデスクトップ・クライアントはこの規約に従わなければなりません。</para>
|
||||
</sect1>
|
||||
</chapter>
|
||||
<!--fickle 1.14 mif-to-docbook 1.7 01/02/96 04:19:51-->
|
||||
|
||||
1080
cde/doc/ja_JP.dt-eucJP/guides/i18nGuide/ch02.sgm
Normal file
1080
cde/doc/ja_JP.dt-eucJP/guides/i18nGuide/ch02.sgm
Normal file
File diff suppressed because it is too large
Load Diff
647
cde/doc/ja_JP.dt-eucJP/guides/i18nGuide/ch03.sgm
Normal file
647
cde/doc/ja_JP.dt-eucJP/guides/i18nGuide/ch03.sgm
Normal file
@@ -0,0 +1,647 @@
|
||||
<!-- $XConsortium: ch03.sgm /main/8 1996/08/31 15:13:39 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="IPG.distr.div.1">
|
||||
<title id="IPG.distr.mkr.1"><indexterm><primary>分散国際化についてのガイドライン</primary></indexterm>国際化と分散ネットワーク</title>
|
||||
<para>この章では、国際化と分散ネットワークに関連する作業について説明します。</para>
|
||||
<para id="IPG.distr.mkr.2"></para>
|
||||
<sect1 id="IPG.distr.div.2">
|
||||
<title id="IPG.distr.mkr.3">変換の概念</title>
|
||||
<para>この節では、8ビットの<indexterm><primary>ネットワークにおける基本的な変換</primary></indexterm> ユーザ名および8ビット・データを、ftp、mail、デスクトップ・クライアントのクライアント間通信などの通信ユーティリティによって、ネットワーク上で<indexterm><primary>ネットワーク</primary></indexterm> 通信する方法について説明します。</para>
|
||||
<para>データを通信するに際して、まず3つの<indexterm><primary>ネットワーク</primary></indexterm> 考慮すべき点があります。<literal><indexterm><primary>インタフェース</primary><secondary>ネットワーク通信のインタフェース</secondary></indexterm></literal></para>
|
||||
<itemizedlist remap="Bullet1"><listitem><para>送信側のコード・セットと受信側のコード・セット</para>
|
||||
</listitem><listitem><para>通信プロトコルが8ビット・データを許可するか、それとも、7ビット・コード・データに限定されているか。(たとえば、日本のJUNETはJIS(日本工業規格)コードのデータを7ビット・プロトコルで通信します。)</para>
|
||||
</listitem><listitem><para>プロトコル規則ごとの使用可能な変換エンコードの型。実際に必要な変換は使用される特定のプロトコルに依存します。</para>
|
||||
</listitem></itemizedlist>
|
||||
<para>リモート<indexterm><primary>コード・セット</primary><secondary>ネットワーク・リモート・ホストのコードセット</secondary></indexterm> ホストがローカル・ホストと同じコード・セットを使用している場合は、次の事項が真となります。</para>
|
||||
<itemizedlist remap="Bullet1"><listitem><para>プロトコルが8ビット・データを許可する場合、変換は必要ありません。</para>
|
||||
</listitem><listitem><para>プロトコルが7ビット・データしか許可しない場合、8ビット・コード・ポイントを7ビットASCII値にマップする必要があります。これは、<command>iconv</command>フレームワークと次の7ビット・エンコード方法のうちのひとつを使用して達成することができます。</para>
|
||||
<itemizedlist remap="Bullet2"><listitem><para>8ビット・データを、POSIX.2仕様のuuencodeおよびuudecodeアルゴリズムに指定されている通りにマップする。</para>
|
||||
</listitem><listitem><para>任意で、8ビット・データがプロトコルに定義されている7ビット変換エンコードにマップされる。たとえば、Xlibの7ビットISO2022やMIME - 多目的メール(Multipurpose Internet Message Extensions)のbase64があります。</para>
|
||||
</listitem></itemizedlist>
|
||||
</listitem></itemizedlist>
|
||||
<para>リモート<indexterm><primary>コード・セット</primary><secondary>ネットワーク・ローカル・ホストのコード・セット</secondary></indexterm> ホストのコード・セットがローカル・ホストのコード・セットと異なる場合は、次の2つ事項が適用されます。必要な変換は使用される特定のプロトコルに依存します。</para>
|
||||
<itemizedlist remap="Bullet1"><listitem><para>プロトコルが8ビット・データを許可する場合、プロトコルは、どちら側が<command>iconv</command>変換を行なうかを指定し、回線上でのエンコードを指定する必要があります。プロトコルによっては、可能なすべてのコード・セットをエンコードし、文字レパートリーを識別することができる8ビット変換エンコードをおすすめします。</para>
|
||||
</listitem><listitem><para>プロトコルが7ビット・データしか許可しない場合、文字レパートリーを識別する7ビット変換エンコードが必要です。</para>
|
||||
</listitem></itemizedlist>
|
||||
<sect2 id="IPG.distr.div.3">
|
||||
<title>iconv<indexterm><primary>iconv</primary><secondary>iconvインタフェース</secondary></indexterm> インタフェース</title>
|
||||
<para>ネットワーク環境では、通信中のシステムのコード・セットと通信プロトコルによって、ユーザが指定したデータが意味のある方法でリモート・システムに送信されるように、データの変換方法が決定されます。ユーザのデータ(ユーザ名ではありません)を送信側のコード・セットから受信側のコード・セットに変換したり、プロトコルに準拠するよう8ビット・データを7ビット形式に変換したりする必要があります。これを達成するには一様なインタフェースが必要です。</para>
|
||||
<para>次の例は、<filename>iconv_open()</filename>、<filename>iconv()</filename> および<filename>iconv_close()</filename>の使い方を説明し、<command>iconv</command>インタフェースの使用方法を示しています。変換を行なうためには、<filename>iconv_open()</filename>の後に<filename>iconv()</filename>を続ける必要があります。
|
||||
<emphasis>7ビット変換</emphasis>および<emphasis>8ビット変換</emphasis>という用語はそれぞれ、7ビット・データの変換エンコードと8ビット・データの変換エンコードを指すために使用されます。</para>
|
||||
<sect3 id="IPG.distr.div.4">
|
||||
<title>送信側と受信側が同じコード・セットを使用している場合</title>
|
||||
<itemizedlist remap="Bullet1"><listitem><para>プロトコルが8ビット・データを許可している場合は、同じコード・セットが使用されているので8ビット・データを使用します。変換は必要ありません。</para>
|
||||
</listitem><listitem><para>プロトコルが7ビット・データしか許可しない場合は、<computeroutput>iconv</computeroutput>を使用します。</para>
|
||||
<itemizedlist remap="Bullet2"><listitem><para>送信側</para>
|
||||
<programlisting>cd = iconv_open(locale_codeset, uuencoded);</programlisting>
|
||||
</listitem><listitem><para>受信側</para>
|
||||
<programlisting>cd = iconv_open(“uucode”, locale_codeset);</programlisting>
|
||||
</listitem></itemizedlist>
|
||||
</listitem></itemizedlist>
|
||||
<sect4 id="ipg.distr.div.5">
|
||||
<title>送信側と受信側が異なるコード・セットを使用している場合</title>
|
||||
<itemizedlist remap="Bullet1"><listitem><para>プロトコルが8ビット・データを許可する場合</para>
|
||||
<itemizedlist remap="Bullet2"><listitem><para>送信側</para>
|
||||
<programlisting>cd = iconv_open(locale_codeset,<symbol role="Variable">8-bitinterchange</symbol>);</programlisting>
|
||||
</listitem><listitem><para>受信側</para>
|
||||
<programlisting>cd = iconv_open(<symbol role="Variable">8-bitinterchange</symbol>, locale_codeset);</programlisting>
|
||||
</listitem></itemizedlist>
|
||||
</listitem><listitem><para>プロトコルが7ビット・データしか許可しない場合は、次のようにします。</para>
|
||||
<itemizedlist remap="Bullet2"><listitem><para>送信側</para>
|
||||
<programlisting>cd = iconv_open(locale_codeset, <symbol role="Variable">7-bitinterchange</symbol>);</programlisting>
|
||||
</listitem><listitem><para>受信側</para>
|
||||
<programlisting>cd = iconv_open(<symbol role="Variable">7-bitinterchange</symbol>, locale_codeset);</programlisting>
|
||||
</listitem></itemizedlist>
|
||||
</listitem></itemizedlist>
|
||||
<para><computeroutput>locale_codeset</computeroutput>はアプリケーションがローカルに使用しているコード・セットを参照します。<computeroutput>nl_langinfo(CODESET)</computeroutput>関数を使用して現在のロケールに関連付けられたコード・セットを取得することができますが、変換名が <computeroutput>nl_langinfo(CODESET)</computeroutput>関数からの戻り値と一致するかどうかはインプリメンテーションに依存します。</para>
|
||||
<para>表3-1に、さまざまな条件で変換を実行するための<command>iconv</command>の使用方法を示します。プロトコルによっては他の変換が必要な場合もあります。</para>
|
||||
<para><emphasis>変換を実行するためのiconvの使用方法</emphasis></para>
|
||||
<informaltable id="ipg.distr.itbl.2">
|
||||
<tgroup cols="5" colsep="0" rowsep="1">
|
||||
<colspec colname="col1" colwidth="0.93in">
|
||||
<colspec colname="col2" colwidth="0.97in">
|
||||
<colspec colname="col3" colwidth="0.97in">
|
||||
<colspec colname="col4" colwidth="1.05in">
|
||||
<colspec colname="col5" colwidth="1.10in">
|
||||
<spanspec nameend="col3" namest="col2" spanname="2to3">
|
||||
<spanspec nameend="col5" namest="col4" spanname="4to5">
|
||||
<spanspec nameend="col5" namest="col1" spanname="1to5">
|
||||
<tbody>
|
||||
<row>
|
||||
<entry align="left" valign="top"></entry>
|
||||
<entry align="left" spanname="2to3" valign="top"><para><literal>同じコード・セットを使用するシステムとの通信(例: XYZ)</literal></para></entry>
|
||||
<entry align="left" spanname="4to5" valign="top"><para><literal>異なったコード・セットを使用するシステムとの通信、または、受信側のコード・セットが不明</literal></para></entry></row>
|
||||
<row>
|
||||
<entry align="left" valign="top"><para><literal>使用する変換</literal></para></entry>
|
||||
<entry align="left" valign="top"><para><literal>7ビット・プロトコル</literal></para></entry>
|
||||
<entry align="left" valign="top"><para><literal>8ビット・プロトコル</literal></para></entry>
|
||||
<entry align="left" valign="top"><para><literal>7ビット・プロトコル</literal></para></entry>
|
||||
<entry align="left" valign="top"><para><literal>8ビット・プロトコル</literal></para></entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry align="left" valign="top"><para>コード XYZ</para></entry>
|
||||
<entry align="left" valign="top"><para>無効</para></entry>
|
||||
<entry align="left" valign="top"><para>最適</para></entry>
|
||||
<entry align="left" valign="top"><para>無効</para></entry>
|
||||
<entry align="left" valign="top"><para>リモート・コード・セットが不明の場合は無効
|
||||
</para></entry></row>
|
||||
<row>
|
||||
<entry align="left" valign="top"><para>7ビット変換 ISO2022</para></entry>
|
||||
<entry align="left" valign="top"><para>OK</para></entry>
|
||||
<entry align="left" valign="top"><para>OK</para></entry>
|
||||
<entry align="left" valign="top"><para>最適</para></entry>
|
||||
<entry align="left" valign="top"><para>OK</para></entry></row>
|
||||
<row>
|
||||
<entry align="left" valign="top"><para>8ビット変換 ISO2022 ISO 10646
|
||||
</para></entry>
|
||||
<entry align="left" valign="top"><para>Invalid <superscript>1</superscript></para></entry>
|
||||
<entry align="left" valign="top"><para>OK</para></entry>
|
||||
<entry align="left" valign="top"><para>無効</para></entry>
|
||||
<entry align="left" valign="top"><para>最適</para></entry></row>
|
||||
<row>
|
||||
<entry align="left" valign="top"><para>7ビット タグなし 引用符付き 印刷可能なuucode</para></entry>
|
||||
<entry align="left" valign="top"><para>OK</para></entry>
|
||||
<entry align="left" valign="top"><para>OK</para></entry>
|
||||
<entry align="left" valign="top"><para>コード・セットの識別が必要
|
||||
</para></entry>
|
||||
<entry align="left" valign="top"><para>コード・セットの識別が必要
|
||||
</para></entry></row>
|
||||
<row rowsep="0">
|
||||
<entry align="left" valign="top"><para>8ビット タグなし base64</para></entry>
|
||||
<entry align="left" valign="top"><para>無効</para></entry>
|
||||
<entry align="left" valign="top"><para>OK</para></entry>
|
||||
<entry align="left" valign="top"><para>コード・セットの識別が必要
|
||||
</para></entry>
|
||||
<entry align="left" valign="top"><para>コード・セットの識別が必要
|
||||
</para></entry></row>
|
||||
<row>
|
||||
<entry align="left" spanname="1to5" valign="top"><para><footnoteref linkend="ipg.distr.fn.10"></footnoteref><footnote
|
||||
id="ipg.distr.fn.10"><para><superscript>1</superscript>無効とは、選択したコード・セットとプロトコルの型には変換エンコードは使用すべきではないという意味です。</para>
|
||||
</footnote></para></entry></row></tbody></tgroup></informaltable>
|
||||
</sect4>
|
||||
</sect3>
|
||||
</sect2>
|
||||
<sect2 id="IPG.distr.div.6">
|
||||
<title>状態をもつ変換と状態をもたない変換<indexterm><primary>コード・セット</primary><secondary>状態をもつエンコードのコード・セット</secondary></indexterm></title>
|
||||
<para>コード<indexterm><primary>コード・セット</primary><secondary>状態をもたないエンコードのコード・セット</secondary></indexterm> セットは、状態をもつエンコードと状態をもたないエンコードの2つのカテゴリに分類することができます。</para>
|
||||
<sect3 id="IPG.distr.div.7">
|
||||
<title><indexterm><primary>状態をもつエンコードと状態をもたないエンコードの変換</primary></indexterm> 状態をもつエンコードの変換</title>
|
||||
<para>状態をもつエンコードは、シフトイン/シフトアウトなどの制御コードのシーケンスを使用して特定のコード値に関連付けられたキャラクタ・セットを変換します。</para>
|
||||
<para>たとえば、コンパウンド・テキストでは、文字のデータ・ストリームで日本語の16ビット・データの開始を示すのに制御シーケンス「ESC$(B」を使用することができます。また、このダブルバイト文字データの終了と8ビットASCIIデータの開始を示すのに、「ESC(B」を使用することができます。この状態をもつエンコードでは、ビット値0x43はシフト状態が不明の場合は解釈できません。EBCDICアジア・コード・セットは、シフトイン/シフトアウト制御を、それぞれ、ダブルバイトとシングルバイトのエンコードの間を切り換えるのに使用します。</para>
|
||||
<para>別のコード・セットへの状態をもつエンコードの変換を実行するために記述されるコンバータは、特別な処理が必要なため少し複雑になる傾向があります。</para>
|
||||
</sect3>
|
||||
<sect3 id="IPG.distr.div.8">
|
||||
<title><indexterm><primary>変換</primary><secondary>状態をもたないエンコードの変換</secondary></indexterm> 状態をもたないエンコードの変換</title>
|
||||
<para>状態をもたないコード・セットは次の2つの型に分類することができます。</para>
|
||||
<itemizedlist remap="Bullet1"><listitem><para>シングルバイト・コード・セット(ISO8859ファミリ等)</para>
|
||||
</listitem><listitem><para>マルチバイト・コード・セット(日本語用PCコードやShft-JIS(SJIS)など)</para>
|
||||
</listitem></itemizedlist>
|
||||
<para><emphasis>マルチバイト・コード・セット</emphasis>という用語は、1文字をエンコードするのにひとつ以上のバイトを必要とするコード・セットを指すのにも使用されます。マルチバイト・コード・セットは状態をもたないとみなされます。</para>
|
||||
<note>
|
||||
<para>コード・セットが同じキャラクタ・セットを表す場合のみ、変換は意味をもちます。</para>
|
||||
</note>
|
||||
</sect3>
|
||||
</sect2>
|
||||
</sect1>
|
||||
<sect1 id="IPG.distr.div.9">
|
||||
<title id="IPG.distr.mkr.4">シンプル・テキストの基本的な変換</title>
|
||||
<para><indexterm><primary>変換</primary><secondary>状態をもつコード・セットの変換</secondary></indexterm><indexterm><primary>変換</primary><secondary>シンプル・テキストの変換</secondary></indexterm> プログラムがリモート・ホストにある別のプログラムにデータを通信する時には、元のマシンのコード・セットから受信側のコード・セットにデータを変換する必要性があります。
|
||||
たとえば、PCコードを使用しているPCシステムが、ISO/EUC(国際標準化機構/拡張UNIXコード)エンコードを使用しているワークステーションと通信する必要がある場合などです。また、プログラムがデータを取得したコード・セットとは別のコード・セットでそのデータを表示しなければならない場合も同様です。これらの変換をサポートするために、標準プログラム・インタフェースがXPG4 <filename>iconv()</filename>関数定義に基づいて提供されています。</para>
|
||||
<para>コード・セット変換を行なっているすべてのコンポーネントは、変換のインタフェースとして<command>iconv</command>を使用しなければなりません。システムは変換のデフォルト・セットをカスタマイズする機構だけでなく、広範囲の変換を提供することが期待されます。</para>
|
||||
<sect2 id="IPG.distr.div.10">
|
||||
<title>iconv変換関数<indexterm><primary>iconv</primary><secondary>iconvのテキスト変換関数</secondary></indexterm></title>
|
||||
<para>あるコード・セットから別のコード・セットへ変換するための<indexterm><primary>変換</primary><secondary>iconvのテキスト変換</secondary></indexterm> 共通の方法は、テーブルを使用する方法です。テーブルが大きすぎる場合は、アルゴリズムによる方法が望ましいでしょう。さまざまな要求を満たすため、XPG4にコード・セット変換のフレームワークが定義されています。このフレームワークでは、ひとつのコード・セットから別のコード・セットに変換するために、コンバータを開き、変換を実行し、コンバータを閉じます。<command>iconv</command>関数には、<filename>iconv_open()</filename>、<filename>iconv()</filename>、<filename>iconv_close()</filename>があります。</para>
|
||||
<para>コード・セット・コンバータは、<filename>iconv_open()</filename>、<filename>iconv()</filename>、<filename>iconv_close()</filename>の関数セットのフレームワークの下にあります。これらの関数によって、いくつかの型の異なったコンバータを提供し使用することができます。アプリケーションはこれらの関数を呼び出し、あるコード・セットの文字を別のコード・セットの文字に変換<indexterm><primary>シンプル・テキスト変換関数</primary></indexterm> します。<command>iconv</command>フレームワークにより、コンバータは一様の形式で提供されます。これらのコンバータのアクセスはX/Open XPG4下で標準化されています。</para>
|
||||
</sect2>
|
||||
<sect2 id="ipg.distr.div.11">
|
||||
<title>Xクライアント間(ICCCM)変換<indexterm><primary>Xクライアント間(ICCCM)変換関数</primary></indexterm> 関数</title>
|
||||
<para>Xlibは、<indexterm><primary>変換</primary><secondary>Xlibにおける変換</secondary></indexterm> 変換用に次の関数を提供します。</para>
|
||||
<informaltable>
|
||||
<tgroup cols="2" colsep="0" rowsep="0">
|
||||
<colspec align="left" colwidth="214*">
|
||||
<colspec align="left" colwidth="314*">
|
||||
<thead>
|
||||
<row><entry align="left" valign="bottom"><para>X ICCCMマルチバイト関数
|
||||
</para></entry><entry align="left" valign="bottom"><para>ICCCMワイド・キャラクタ関数</para></entry></row></thead>
|
||||
<tbody>
|
||||
<row>
|
||||
<entry align="left" valign="top"><para>XmbTextPropertyToTextList()</para></entry>
|
||||
<entry align="left" valign="top"><para>XwcTextPropertyToTextList()</para></entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry align="left" valign="top"><para>XmbTextListToTextProperty()</para></entry>
|
||||
<entry align="left" valign="top"><para>XwcTextListToTextProperty()</para></entry>
|
||||
</row></tbody></tgroup></informaltable>
|
||||
<note>
|
||||
<para><computeroutput>Motif</computeroutput>ライブラリは、<filename>XmCvtXmStringToCT()</filename>関数と<filename>XmCvtCtToXmString()</filename>関数を提供しますが、特定のXmStringタグではハードコードされた前提条件があるためおすすめできません。たとえば、タグが <computeroutput>bold</computeroutput>の場合、<filename>XmCvtXmStringToCT()</filename>はインプリメンテーションに依存します。さまざまなプラットフォームに渡って、この関数の動作を世界中すべての地域で保証することはできません。</para></note>
|
||||
</sect2>
|
||||
<sect2 id="IPG.distr.div.12">
|
||||
<title>ウィンドウ・タイトル</title>
|
||||
<para>タイトルを設定する<indexterm><primary>ウィンドウのタイトル</primary>
|
||||
</indexterm> 一般的な方法はリソースを使うことです。しかし、ウィンドウのタイトルを直接設定するアプリケーションの場合、ローカライズされたタイトルをウィンドウ・マネージャに送信しなければなりません。次のガイドラインの他に<command>XICCEncodingStyle</command>に定義された<command>XCompoundTextStyle</command>エンコードを使用してください。</para>
|
||||
<itemizedlist remap="Bullet1"><listitem><para>コンパウンド<indexterm><primary>ウィンドウ・タイトルのガイドライン</primary></indexterm> テキストは、 <computeroutput>XmbTextListToTextProperty()</computeroutput>、もしくは、<computeroutput>XwcTextListToTextProperty()</computeroutput>のいずれかにより作成することができます。</para>
|
||||
</listitem><listitem><para>ローカライズされたテキストは<computeroutput>WMShell</computeroutput>ウィジェットの<computeroutput>XmNtitle</computeroutput>リソース、および、<computeroutput>XmNtitleEncoding</computeroutput>リソースを使用して表示することができます。ローカライズされたアイコン名は<computeroutput>TopLevelShell</computeroutput>ウィジェットの <computeroutput>XmNiconName</computeroutput>リソース、および、
|
||||
<computeroutput>XmNiconNameEncoding</computeroutput>リソースを使用して表示することができます。</para>
|
||||
</listitem><listitem><para>ダイアログ・ボックスのローカライズされたタイトルは<computeroutput>XmBulletinBoard</computeroutput>ウィジェットの<computeroutput>XmNdialogTitle</computeroutput>リソースを使用して表示することができます。</para>
|
||||
</listitem><listitem><para>ウィンドウ・マネージャはローカライズされた文字列を表示するのに適切なフォント・リストをもっている必要があります。</para>
|
||||
</listitem></itemizedlist>
|
||||
<para>次にローカライズされたタイトルとアイコン名を表示する例<indexterm><primary>ローカライズされたタイトルとアイコン名の例</primary></indexterm> を示します。この例では、コンパウンド・テキストはコンパウンド・ストリングから作成されます。</para>
|
||||
<programlisting>include <nl_types.h>
|
||||
Widget toplevel;
|
||||
Arg al[10];
|
||||
int ac;
|
||||
XTextProperty title;
|
||||
char *localized_string;
|
||||
nl_catd fd;
|
||||
|
||||
XtSetLanguageProc( NULL, NULL, NULL );
|
||||
fd = catopen( “my_prog”, 0 );
|
||||
localized_string = catgets(fd, set_num, mes_num, “<symbol>defaulttitle</symbol>”);
|
||||
XmbTextListToTextProperty( XtDisplay(toplevel), &localized_string,
|
||||
1, XCompoundTextStyle, &title);
|
||||
ac = 0;
|
||||
XtSetArg(al[ac], XmNtitle, title.value); ac++;
|
||||
XtSetArg(al[ac], XmNtitleEncoding, title.encoding); ac++;
|
||||
XtSetValues(toplevel, al, ac);</programlisting>
|
||||
<para>ウィジェットではなく、ウィンドウを使用している場合は、 <computeroutput>XmbSetWMProperties()</computeroutput>関数が、ローカライズされた文字列を適切な<computeroutput>XICCEncodingStyle</computeroutput>に自動的に変換します。</para>
|
||||
</sect2>
|
||||
</sect1>
|
||||
<sect1 id="IPG.distr.div.13">
|
||||
<title id="IPG.distr.mkr.5">メールの基本的な変換</title>
|
||||
<para>一般的に、電子メール(email)のストラテジーは、メッセージを受信側のロケールの与えられた情報に最適化するものではなく、電子メールを正規のラベル付け形式にするものです。これは、電子メールの世界では、受信者が異なったロケールにいる<emphasis>可能性</emphasis>を常に仮定しなければならないことを意味しています。デスクトップの世界では、デフォルトの電子メール転送はSMTP(Simple Mail Transfer Protocol)です。SMPTは7ビット転送チャネルしかサポートしません。</para>
|
||||
<para>これをふまえた上で、デスクトップの電子メールのストラテジーには次のような点が挙げられます。</para>
|
||||
<itemizedlist remap="Bullet1"><listitem><para>送信側は、デフォルトでは(ユーザが別の手順を指示しなければ)、本文の部分を送信側の転送チャネルの<emphasis>標準</emphasis>形式に変換し、本文の部分に使用される文字エンコードでラベル付けします。 </para>
|
||||
</listitem><listitem><para>受信側は、本文の部分を見て文字エンコードをサポートできるかどうかを調べます。サポートできる場合は、本文をローカルのキャラクタ・セットに変換します。</para>
|
||||
</listitem></itemizedlist>
|
||||
<para>さらに、メッセージにMIME形式が使用されているため、8ビットから7ビットへの変換は組み込みのMIME転送エンコード(base64、または、引用符付き 印刷可能な形式)を使用して実行されます。RFC(Request for Comments)1521 MIME標準仕様を参照してください。</para>
|
||||
</sect1>
|
||||
<sect1 id="IPG.distr.div.14">
|
||||
<title id="IPG.distr.mkr.6">エンコードとコード・セット</title>
|
||||
<para>コード・セットを<indexterm><primary>エンコード</primary></indexterm> 理解するためには、まずキャラクタ・セットを理解することが必要です。<emphasis>キャラクタ・セット</emphasis>は、文字の表示に使用するエンコード値を考慮することなく、ひとつ以上の言語の特定の必要性に基づいてあらかじめ定義された文字の集合です。どのコード・セットを使用するかという選択は、ユーザのデータ処理要求条件に依存します。個々のキャラクタ・セットは異なったエンコード・スキーマを使用してエンコードされます。たとえば、ASCIIキャラクタ・セットは英語の文字のセットを定義します。JIS(日本工業規格)のキャラクタ・セットは日本語で使用される文字のセットを定義します。英語のキャラクタ・セットも日本語のキャラクタ・セットも、異なったコード・セットを使用してエンコードされます。</para>
|
||||
<para>ISO2022規格は、コード化されたキャラクタ・セットを、キャラクタ・セット、および、各文字とそのビット・パターンの1対1の関係を定義する正確な規則の集まりとして定義します。コード・セットはシステムが文字を識別するために使用するビット・パターンを定義します。</para>
|
||||
<para><indexterm><primary>コード・ページ</primary></indexterm> コード・ページはコード・セットに似ていますが、コード・ページ仕様は16列×16行のマトリックスに基づくという制限があります。各列と行の交わりがコード化された文字を定義します。</para>
|
||||
<sect2 id="IPG.distr.div.15">
|
||||
<title><indexterm><primary>コード・セット</primary><secondary>コード・セットのストラテジー</secondary></indexterm> コード・セットのストラテジー</title>
|
||||
<para>共通オープン・ソフトウェア環境のコード・セット・サポートは、ISO(国際標準化機構)と、ユーザのデータ処理の必要性を満たす業界標準のコード・セットを提供する業界標準コード・セットに基づいています。</para>
|
||||
<para>システムにおける各ロケールは、どのコード・セットを使用し、コード・セット内の文字がどのように処理されるかを定義します。システムに複数のロケールをインストールすることができるので、複数のコード・セットをシステム上の異なったユーザが使用することができます。異なったコード・セットを使用する複数のロケールでシステムが構成されることができる一方で、すべてのシステム・ユーティリティはシステムは単一コード・セットで動作していると仮定します。</para>
|
||||
<para>ほとんどのコマンドはロケールが使用している下層のコード・セットについては何も認識しません。コード・セットの情報はコード・セットに依存しないライブラリ・サブルーチン(国際化対応ライブラリ)によって隠されており、コード・セットに依存しないライブラリ・サブルーチンは、コード・セットに依存するサブルーチンに情報を渡します。</para>
|
||||
<para>多くのプログラムがASCIIに依存しているので、すべてのコード・セットは、7ビットASCIIコード・セットを適正なサブセットとして含んでいます。7ビットASCIIコード・セットはサポートされたすべてのコード・セットに共通しているため、その文字は<emphasis>可搬性のある</emphasis>キャラクタ・セットとして参照されることもあります。</para>
|
||||
<para>7ビットASCIIコード・セットはISO646定義に基づいており、制御文字、特殊文字、数字(0-9)、大文字と小文字の英語アルファベットを含んでいます。</para>
|
||||
</sect2>
|
||||
<sect2 id="IPG.distr.div.16">
|
||||
<title><indexterm><primary>コード・セット</primary><secondary>コード・セット構造</secondary></indexterm> コード・セット構造</title>
|
||||
<para>各コード・セットは次の2つの主な領域に分けられます。</para>
|
||||
<itemizedlist remap="Bullet1"><listitem><para>GL 0-7列
|
||||
</para>
|
||||
</listitem><listitem><para>GR 8-F列</para>
|
||||
</listitem></itemizedlist>
|
||||
<para>各コード・セットの最初の2列は、制御文字用にISO規格によって確保されています。C0とC1は、それぞれ、GLとGRの領域用の制御文字を表すのに使用されます。</para>
|
||||
<note>
|
||||
<para>PCコード・セットはC1制御領域を使用してグラフィック文字をエンコードします。</para>
|
||||
</note>
|
||||
<para>残りの6列はグラフィック文字をエンコードするのに使用されます。(<!--Original XRef content: 'Table 3‐2 on page 65'--><xref role="CodeOrFigOrTabAndPNum" linkend="IPG.distr.mkr.7">を参照してください。)
|
||||
グラフィック文字は印刷可能な文字とみなされ、制御文字はデバイスとアプリケーションによってある特定の機能を指すために使用されます。</para>
|
||||
<para><emphasis id="IPG.distr.mkr.7">コード・セットの概要</emphasis></para>
|
||||
<graphic id="IPG.distr.igrph.1" entityref="IPG.distr.fig.1"></graphic>
|
||||
<sect3 id="IPG.distr.div.17">
|
||||
<title>制御文字</title>
|
||||
<para>ISO<indexterm><primary>コード・セット</primary><secondary>コード・セットの制御文字</secondary></indexterm> 定義に基づいて、制御文字は、制御操作を開始、変更、停止します。制御文字はグラフィック文字ではありませんが、場合によってはグラフィック表現をもつことができます。ISO646-IRVキャラクタ・セットの制御文字はサポートされたコード・セットすべてに存在し、C0制御文字のエンコードされた値はコード・セットを通して一貫しています。</para>
|
||||
</sect3>
|
||||
<sect3 id="IPG.distr.div.18">
|
||||
<title>グラフィック文字</title>
|
||||
<para>各<indexterm><primary>コード・セット</primary><secondary>コード・セットのグラフィック文字</secondary></indexterm> コード・セットは、各文字が固有のコード化された値をもつように、ひとつ以上のキャラクタ・セットに分かれるとみなされます。 ISO規格はエンコード文字用に6列を確保し、グラフィック文字を制御文字でエンコードすることを許可しません。</para>
|
||||
</sect3>
|
||||
<sect3 id="IPG.distr.div.19">
|
||||
<title>シングルバイト・コード・セット</title>
|
||||
<para>1バイト中の8ビットをすべて使用するコード・セット<indexterm><primary>コード・セット</primary><secondary>シングルバイト・コード・セット</secondary></indexterm> は、ヨーロッパ、中東、その他のアルファベット言語をサポートすることができます。このようなコード・セットはシングルバイト・コード・セットと呼ばれます。これは、制御文字を含まず、エンコードを191文字までに制限します。</para>
|
||||
</sect3>
|
||||
<sect3 id="IPG.distr.div.20">
|
||||
<title>マルチバイト・コード・セット<indexterm><primary>コード・セット</primary><secondary>マルチバイト・コード・セット</secondary></indexterm></title>
|
||||
<para><emphasis>マルチバイト・コード・セット</emphasis>という用語は、特定の文字をエンコードするのに必要なバイト数にかかわりなく、可能なすべてのコード・セットを指します。オペレーティング・システムは1文字をエンコードするのに何ビットでもサポートすることができるため、マルチバイト・コード・セットは、8、16、32、もしくはそれ以上のビットでエンコードされた文字を含むことができます。シングルバイト・コード・セットもマルチバイト・コード・セットとみなされます。</para>
|
||||
</sect3>
|
||||
<sect3 id="IPG.distr.div.21">
|
||||
<title>EUC(拡張UNIXコード)<indexterm><primary>コード・セット</primary><secondary>EUC(拡張UNIXコード)コード・セット</secondary></indexterm> コード・セット</title>
|
||||
<para>EUCコード・セットは、一部のキャラクタ・セットの中では文字を識別するのに制御文字を使用します。エンコード規則は、ISO2022の7ビット・データおよび8ビット・データのエンコードに関する定義に基づいています。EUCコード・セットは一部のキャラクタ・セットを区切るのに制御文字を使用します。</para>
|
||||
<para>EUCという用語は、そのような一般的なエンコード規則を表します。EUCに基づいたコード・セットはEUCエンコード規則に準拠しますが、特定の場合に関連付けられた特定のキャラクタ・セットも識別します。たとえば、日本語用eucJPはEUCエンコード規則に従ったJIS文字のエンコードを指します。</para>
|
||||
<para>最初のセット(CS0)には常に、ISO646キャラクタ・セットが含まれます。その他のセットはすべて、最上位のビット(MSB)を1に設定しなければならず、文字をエンコードするのに何バイトでも使用することができます。さらに、1セット内のすべての文字は次の項目を満たしていなければなりません。</para>
|
||||
<itemizedlist remap="Bullet1"><listitem><para>すべての文字をエンコードするのに同じバイト数を使用する。</para>
|
||||
</listitem><listitem><para>列表示幅(固定幅の端末での列数)が同じである。</para>
|
||||
</listitem></itemizedlist>
|
||||
<para>3番目のセット(CS2)の各文字の前には、常に、制御文字SS2(シングルシフト2, 0x8e)が付きます。EUCに準拠するコード・セットは3番目のセットを識別する目的以外では制御文字SS2を使用しません。</para>
|
||||
<para>4番目のセット(CS3)の各文字の前には、常に、制御文字SS3(シングルシフト3, 0x8f)が付きます。EUCに準拠するコード・セットは4番目のセットを識別する目的以外では制御文字SS3を使用しません。</para>
|
||||
</sect3>
|
||||
</sect2>
|
||||
<sect2 id="IPG.distr.div.22">
|
||||
<title>ISO EUCコード・セット</title>
|
||||
<para>次の<indexterm><primary>コード・セット</primary><secondary>ISO EUCコード・セット</secondary></indexterm> コード・セット<indexterm><primary>ISO EUCコード・セット</primary></indexterm> はISO(国際標準化機構)により設定された定義に基づいています。</para>
|
||||
<itemizedlist remap="Bullet1"><listitem><para>ISO646-IRV</para>
|
||||
</listitem><listitem><para>ISO8859-1</para>
|
||||
</listitem><listitem><para>ISO8859-x</para>
|
||||
</listitem><listitem><para>eucJP</para>
|
||||
</listitem><listitem><para>eucTW</para>
|
||||
</listitem><listitem><para>eucKR</para>
|
||||
</listitem></itemizedlist>
|
||||
<sect3 id="IPG.distr.div.23">
|
||||
<title>ISO646-IRV</title>
|
||||
<para><indexterm><primary>ISO646-IRVコード・セット</primary></indexterm> ISO646-IRVコード・セット<indexterm><primary>コード・セット</primary><secondary>ISO646-IRVコード・セットの詳細</secondary></indexterm> は、7ビット・エンコードに基づく情報の処理に使用されるコード・セットを定義します。このコード・セットに関連付けられたキャラクタ・セットはASCII文字から得られます。</para>
|
||||
</sect3>
|
||||
<sect3 id="IPG.distr.div.24">
|
||||
<title>ISO8859-1</title>
|
||||
<para> <indexterm><primary>ISO8859-1コード・セット</primary></indexterm>ISO8859-1<indexterm>
|
||||
<primary>コード・セット</primary><secondary>ISO8859-1コード・セットの詳細 </secondary></indexterm> エンコードは、その他のISO、ANSI(米国規格協会)、ECMA(European Computer Manufacturer's Association)のコード拡張技術に基づいており、それらと互換性のあるシングルバイトのエンコードです。ISO8859エンコードは、各メンバが固有のキャラクタ・セットをもつコード・セットのファミリを定義します。7ビットASCIIコード・セットはISO8859ファミリの各コード・セットの適切なサブセットです。</para>
|
||||
<para>ISO8859-1コード・セットは、ISO Latin-1コード・セットと呼ばれ、次の2つのキャラクタ・セットから成ります。</para>
|
||||
<itemizedlist remap="Bullet1"><listitem><para>ISO646-IRV GL、7ビットASCIIキャラクタ・セット</para>
|
||||
</listitem><listitem><para>ISO8859-1 GR(ラテン)キャラクタセット</para>
|
||||
</listitem></itemizedlist>
|
||||
<para>これらの組合わされたキャラクタ・セットは、デンマーク語、オランダ語、英語、フィンランド語、フランス語、ドイツ語、アイスランド語、イタリア語、ノルウェー語、ポルトガル語、スペイン語、スウェーデン語などの西ヨーロッパの言語に必要な文字を含んでいます。</para>
|
||||
<para>ASCIIコード・セットが英語のアルファベットの順番を定義するのに対し、GR文字は特定のどの言語によっても順序付けられません。言語特定の順序はロケールによって定義されます。</para>
|
||||
</sect3>
|
||||
<sect3 id="IPG.distr.div.25">
|
||||
<title>その他のISO8859 <indexterm><primary>コード・セット</primary><secondary>その他のISO8859コード・セットのリスト</secondary></indexterm> コード・セット</title>
|
||||
<para>この節では、<indexterm><primary>その他の重要なISO8859コード・セット</primary></indexterm> その他の重要なISO8859コード・セットをリストします。各コード・セットは、ASCIIキャラクタ・セットとそのコード・セット固有の文字を含んでいます。</para>
|
||||
<sect4 id="IPG.distr.div.26">
|
||||
<title>ISO8859-2</title>
|
||||
<para>ラテン・アルファベット、No. 2、東ヨーロッパ</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>スロバキア語</para>
|
||||
</listitem><listitem><para>スロベニア語</para>
|
||||
</listitem></itemizedlist>
|
||||
</sect4>
|
||||
<sect4 id="IPG.distr.div.27">
|
||||
<title>ISO8859-5</title>
|
||||
<para>ラテン/キリル・アルファベット</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></itemizedlist>
|
||||
</sect4>
|
||||
<sect4 id="IPG.distr.div.28">
|
||||
<title>ISO8859-6</title>
|
||||
<para>ラテン/アラビア・アルファベット </para>
|
||||
<itemizedlist remap="Bullet1"><listitem><para>英語</para>
|
||||
</listitem><listitem><para>アラビア語</para>
|
||||
</listitem></itemizedlist>
|
||||
</sect4>
|
||||
<sect4 id="IPG.distr.div.29">
|
||||
<title>ISO8859-7</title>
|
||||
<para>ラテン/ギリシャ・アルファベット</para>
|
||||
<itemizedlist remap="Bullet1"><listitem><para>英語</para>
|
||||
</listitem><listitem><para>ギリシャ語</para>
|
||||
</listitem></itemizedlist>
|
||||
</sect4>
|
||||
<sect4 id="IPG.distr.div.30">
|
||||
<title>ISO8859-8</title>
|
||||
<para>ラテン/ヘブライ・アルファベット</para>
|
||||
<itemizedlist remap="Bullet1"><listitem><para>英語</para>
|
||||
</listitem><listitem><para>ヘブライ語</para>
|
||||
</listitem></itemizedlist>
|
||||
</sect4>
|
||||
<sect4 id="IPG.distr.div.31">
|
||||
<title>ISO8859-9</title>
|
||||
<para>ラテン/トルコ・アルファベット</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>ノルウェー語</para>
|
||||
</listitem><listitem><para>ポルトガル語</para>
|
||||
</listitem><listitem><para>スペイン語</para>
|
||||
</listitem><listitem><para>スウェーデン語</para>
|
||||
</listitem><listitem><para>トルコ語</para>
|
||||
</listitem></itemizedlist>
|
||||
</sect4>
|
||||
</sect3>
|
||||
<sect3 id="IPG.distr.div.32">
|
||||
<title>eucJP</title>
|
||||
<para id="IPG.distr.mkr.8"><indexterm><primary>eucJPコード・セット</primary>
|
||||
</indexterm> 日本語用EUC<indexterm><primary>コード・セット</primary><secondary>eucJPコード・セットの詳細</secondary></indexterm> は、シングルバイト文字とマルチバイト文字(2バイトと3バイト)から成ります。エンコードは ISO2022に準拠し、JISおよびEUCの定義に基づいています。 <!--Original XRef content: ''--><xref role="CodeOrFigureOrTable" linkend="IPG.distr.mkr.8">を参照してください。</para>
|
||||
<table id="IPG.distr.tbl.2" frame="Topbot">
|
||||
<title> eucJPのエンコード</title>
|
||||
<tgroup cols="4" colsep="0" rowsep="0">
|
||||
<colspec colwidth="1.01in">
|
||||
<colspec colwidth="1.19in">
|
||||
<colspec colwidth="1.50in">
|
||||
<colspec colwidth="1.59in">
|
||||
<tbody>
|
||||
<row>
|
||||
<entry align="left" valign="top"><para><Literal>CS</Literal></para></entry>
|
||||
<entry align="left" valign="top"><para><literal>Encoding</literal></para></entry>
|
||||
<entry align="left" valign="top"></entry>
|
||||
<entry align="left" valign="top"><para><literal>Character Set</literal></para></entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry align="left" valign="top"><para>cs0</para></entry>
|
||||
<entry align="left" valign="top"><para>0xxxxxxx</para></entry>
|
||||
<entry align="left" valign="top"></entry>
|
||||
<entry align="left" valign="top"><para>ASCII</para></entry></row>
|
||||
<row>
|
||||
<entry align="left" valign="top"><para>cs1</para></entry>
|
||||
<entry align="left" valign="top"><para>1xxxxxxx</para></entry>
|
||||
<entry align="left" valign="top"><para>1xxxxxxx</para></entry>
|
||||
<entry align="left" valign="top"><para>JIS X0208-1990</para></entry></row>
|
||||
<row>
|
||||
<entry align="left" valign="top"><para>cs2</para></entry>
|
||||
<entry align="left" valign="top"><para>0x8E</para></entry>
|
||||
<entry align="left" valign="top"><para>1xxxxxxx</para></entry>
|
||||
<entry align="left" valign="top"><para>JIS X0201-1976</para></entry></row>
|
||||
<row>
|
||||
<entry align="left" valign="top"><para>cs3</para></entry>
|
||||
<entry align="left" valign="top"><para>0x8F</para></entry>
|
||||
<entry align="left" valign="top"><para>1xxxxxxx 1xxxxxxx</para></entry>
|
||||
<entry align="left" valign="top"><para>JIS X0212-1990</para></entry></row>
|
||||
</tbody></tgroup></table>
|
||||
<sect4 id="IPG.distr.div.33">
|
||||
<title>JIS X0208-1990</title>
|
||||
<para>情報変換用の日本語グラフィック文字セットのコード(1990年度版)です。この中には、147個の特殊文字、10個の数字、83個のひらがな文字、86個のカタカナ文字、52個のラテン文字、48個のギリシャ文字、66個のキリル文字、32個の線描画要素、6355個の漢字が含まれます。</para>
|
||||
</sect4>
|
||||
<sect4 id="IPG.distr.div.34">
|
||||
<title><emphasis role="Lead-in">JIS X0201</emphasis></title>
|
||||
<para>63個のカタナカを含む情報変換用のコードです。</para>
|
||||
</sect4>
|
||||
<sect4 id="IPG.distr.div.35">
|
||||
<title><emphasis role="Lead-in">JIS X0212-1990</emphasis></title>
|
||||
<para>情報変換用の日本語グラフィック文字セットの補助コード(1990年度版)です。これには、追加の特殊文字が21個、追加のギリシャ文字が21個、追加のキリル文字が26個、追加のラテン文字が27個、発音区別符号のついたラテン文字が171個、追加の漢字が5801個含まれます。</para>
|
||||
</sect4>
|
||||
</sect3>
|
||||
<sect3 id="IPG.distr.div.36">
|
||||
<title>eucTW</title>
|
||||
<para id="IPG.distr.mkr.9">
|
||||
<indexterm><primary>eucTWコード・セット</primary></indexterm>繁体字用のEUC<indexterm><primary>コード・セット</primary><secondary>eucTWコード・セットの詳細</secondary></indexterm> は、シングルバイト文字とマルチバイト文字(2バイトと4バイト)を含む文字から構成されるエンコードです。EUCエンコードはISO2022に準拠し、中華民国とEUC定義によって定義される通り、CNS(Chinese National Standard)に基づいています。<!--Original XRef content: 'Table 3‐4'--><xref role="CodeOrFigureOrTable"
|
||||
linkend="IPG.distr.mkr.10">を参照してください。</para>
|
||||
<table id="IPG.distr.tbl.3" frame="Topbot">
|
||||
<title id="IPG.distr.mkr.10">eucTWのエンコード</title>
|
||||
<tgroup cols="5" colsep="0" rowsep="0">
|
||||
<colspec colwidth="0.51in">
|
||||
<colspec colwidth="1.05in">
|
||||
<colspec colwidth="0.91in">
|
||||
<colspec colwidth="1.04in">
|
||||
<colspec colwidth="2.31in">
|
||||
<tbody>
|
||||
<row>
|
||||
<entry align="left" valign="top"><para><Literal>CS</Literal></para></entry>
|
||||
<entry align="left" valign="top"><para><literal>エンコード</literal></para></entry>
|
||||
<entry align="left" valign="top"></entry>
|
||||
<entry align="left" valign="top"></entry>
|
||||
<entry align="left" valign="top"><para><literal>キャラクタ・セット</literal></para></entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry align="left" valign="top"><para>cs0</para></entry>
|
||||
<entry align="left" valign="top"><para>0xxxxxxx</para></entry>
|
||||
<entry align="left" valign="top"></entry>
|
||||
<entry align="left" valign="top"></entry>
|
||||
<entry align="left" valign="top"><para>ASCII</para></entry></row>
|
||||
<row>
|
||||
<entry align="left" valign="top"><para>cs1</para></entry>
|
||||
<entry align="left" valign="top"><para>1xxxxxxx</para></entry>
|
||||
<entry align="left" valign="top"><para>1xxxxxxx</para></entry>
|
||||
<entry align="left" valign="top"></entry>
|
||||
<entry align="left" valign="top"><para>CNS 11643.1992 - plane 1</para></entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry align="left" valign="top"><para>cs2</para></entry>
|
||||
<entry align="left" valign="top"><para>0x8EA2</para></entry>
|
||||
<entry align="left" valign="top"><para>1xxxxxxx</para></entry>
|
||||
<entry align="left" valign="top"><para>1xxxxxxx</para></entry>
|
||||
<entry align="left" valign="top"><para>CNS 11643.1992 - plane 2</para></entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry align="left" valign="top"><para>cs3</para></entry>
|
||||
<entry align="left" valign="top"><para>0x8EA3</para></entry>
|
||||
<entry align="left" valign="top"><para>1xxxxxxx</para></entry>
|
||||
<entry align="left" valign="top"><para>1xxxxxxx</para></entry>
|
||||
<entry align="left" valign="top"><para>CNS 11643.1992 - plane 3</para></entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry align="left" valign="top"></entry>
|
||||
<entry align="left" valign="top"><para>0x8EB0</para></entry>
|
||||
<entry align="left" valign="top"><para>1xxxxxxx</para></entry>
|
||||
<entry align="left" valign="top"><para>1xxxxxxx</para></entry>
|
||||
<entry align="left" valign="top"><para>CNS 11643.1992 - Plane 16</para></entry>
|
||||
</row></tbody></tgroup></table>
|
||||
<para>CNS 11643-1992は、中国標準変換コード(Chinese Standard Interchange Code)用に16面を定義しており、各面は8836文字(94x94)までサポートすることができます。現在は、1面から7面だけが文字を割り当てられています。<!--Original XRef content:
|
||||
'Table 3‐5'--><xref role="CodeOrFigureOrTable" linkend="IPG.distr.mkr.11"><indexterm><primary>CNS文字定義</primary></indexterm> は、CNS 11643-1992規格の16面を示しています。</para>
|
||||
<table id="IPG.distr.tbl.4" frame="Topbot">
|
||||
<title id="IPG.distr.mkr.11">CNS 11643-1992規格の16面</title>
|
||||
<tgroup cols="4" colsep="0" rowsep="0">
|
||||
<colspec colname="col1" colwidth="0.67in">
|
||||
<colspec colwidth="1.83in">
|
||||
<colspec colwidth="1.08in">
|
||||
<colspec colname="col4" colwidth="2.02in">
|
||||
<spanspec nameend="col4" namest="col1" spanname="1to4">
|
||||
<thead>
|
||||
<row><entry align="left" valign="bottom"><para><literal>面</literal></para></entry>
|
||||
<entry align="left" valign="bottom"><para><literal>定義</literal></para></entry>
|
||||
<entry align="left" valign="bottom"><para><literal>文字数</literal></para></entry>
|
||||
<entry align="left" valign="bottom"><para><literal>EUCエンコード</literal></para></entry>
|
||||
</row></thead>
|
||||
<tbody>
|
||||
<row>
|
||||
<entry align="left" valign="top"><para>1</para></entry>
|
||||
<entry align="left" valign="top"><para>最も多く使用される</para></entry>
|
||||
<entry align="left" valign="top"><para>6085</para></entry>
|
||||
<entry align="left" valign="top"><para>A1A1-FDCB</para></entry></row>
|
||||
<row>
|
||||
<entry align="left" valign="top"><para>2</para></entry>
|
||||
<entry align="left" valign="top"><para>2番目に多く使用される</para></entry>
|
||||
<entry align="left" valign="top"><para>7650</para></entry>
|
||||
<entry align="left" valign="top"><para>8EA2 A1A1 - 8EA2 F2C4</para></entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry align="left" valign="top"><para>3</para></entry>
|
||||
<entry align="left" valign="top"><para>Exec、Yuen EDP <superscript>1</superscript>
|
||||
センター</para></entry>
|
||||
<entry align="left" valign="top"><para>6148</para></entry>
|
||||
<entry align="left" valign="top"><para>8EA3 A1A1 - 8EA3 E2C6</para></entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry align="left" valign="top"><para>4</para></entry>
|
||||
<entry align="left" valign="top"><para>RIS<superscript>2</superscript>、ベンダー定義</para></entry>
|
||||
<entry align="left" valign="top"><para>7298</para></entry>
|
||||
<entry align="left" valign="top"><para>8EA4 A1A1 - 8EA4 EEDC</para></entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry align="left" valign="top"><para>5</para></entry>
|
||||
<entry align="left" valign="top"><para>MOEにより使用されることはめったにない<superscript>3</superscript></para></entry>
|
||||
<entry align="left" valign="top"><para>8603</para></entry>
|
||||
<entry align="left" valign="top"><para>8EA5 A1A1 - 8EA5 FCD1</para></entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry align="left" valign="top"><para>6</para></entry>
|
||||
<entry align="left" valign="top"><para>MOEによる変形キャラクタ・セット1</para></entry>
|
||||
<entry align="left" valign="top"><para>6388</para></entry>
|
||||
<entry align="left" valign="top"><para>8EA6 A1A1 - 8EA6 E4FA</para></entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry align="left" valign="top"><para>7</para></entry>
|
||||
<entry align="left" valign="top"><para>MOEによる変形キャラクタ・セット2</para></entry>
|
||||
<entry align="left" valign="top"><para>6539</para></entry>
|
||||
<entry align="left" valign="top"><para>8EA7 A1A1 - 8EA7 E6D5</para></entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry align="left" valign="top"><para>8</para></entry>
|
||||
<entry align="left" valign="top"><para>未定義</para></entry>
|
||||
<entry align="left" valign="top"><para>0</para></entry>
|
||||
<entry align="left" valign="top"><para>8EA8 A1A1 - 8EA8 FEFE</para></entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry align="left" valign="top"><para>9</para></entry>
|
||||
<entry align="left" valign="top"><para>未定義</para></entry>
|
||||
<entry align="left" valign="top"><para>0</para></entry>
|
||||
<entry align="left" valign="top"><para>8EA9 A1A1 - 8EA9 FEFE</para></entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry align="left" valign="top"><para>10</para></entry>
|
||||
<entry align="left" valign="top"><para>未定義</para></entry>
|
||||
<entry align="left" valign="top"><para>0</para></entry>
|
||||
<entry align="left" valign="top"><para>8EAA A1A1 - 8EAA FEFE</para></entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry align="left" valign="top"><para>11</para></entry>
|
||||
<entry align="left" valign="top"><para>未定義</para></entry>
|
||||
<entry align="left" valign="top"><para>0</para></entry>
|
||||
<entry align="left" valign="top"><para>8EAB A1A1 - 8EAB FEFE</para></entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry align="left" valign="top"><para>12</para></entry>
|
||||
<entry align="left" valign="top"><para>ユーザ定義文字(UDC)</para></entry>
|
||||
<entry align="left" valign="top"><para>0</para></entry>
|
||||
<entry align="left" valign="top"><para>8EAC A1A1 - 8EAC FEFE</para></entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry align="left" valign="top"><para>13</para></entry>
|
||||
<entry align="left" valign="top"><para>UDC</para></entry>
|
||||
<entry align="left" valign="top"><para>0</para></entry>
|
||||
<entry align="left" valign="top"><para>8EAD A1A1 - 9EAD FEFE</para></entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry align="left" valign="top"><para>14</para></entry>
|
||||
<entry align="left" valign="top"><para>UDC</para></entry>
|
||||
<entry align="left" valign="top"><para>0</para></entry>
|
||||
<entry align="left" valign="top"><para>8EAE A1A1 - 8EAE FEFE</para></entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry align="left" valign="top"><para>15</para></entry>
|
||||
<entry align="left" valign="top"><para>UDC</para></entry>
|
||||
<entry align="left" valign="top"><para>0</para></entry>
|
||||
<entry align="left" valign="top"><para>8EAF A1A1 - 8EAF FEFE</para></entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry align="left" valign="top"><para>16</para></entry>
|
||||
<entry align="left" valign="top"><para>UDC</para></entry>
|
||||
<entry align="left" valign="top"><para>0</para></entry>
|
||||
<entry align="left" valign="top"><para>8EB0 A1A1 - 8EB0 FEFE</para></entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry align="left" spanname="1to4" valign="top"><para><superscript>1</superscript>
|
||||
EDP: 予算、会計、統計の中央理事会(Center of Directorate, General of Budget, Accounting, and Stistics)
|
||||
</para></entry></row>
|
||||
<row>
|
||||
<entry align="left" spanname="1to4" valign="top"><para><superscript>2</superscript>
|
||||
RIS: 居住地情報システム(Residence Information System)</para></entry></row>
|
||||
<row>
|
||||
<entry align="left" spanname="1to4" valign="top"><para><superscript>3</superscript>
|
||||
MOE: 文部省(Ministry of Education)
|
||||
</para></entry></row></tbody></tgroup></table>
|
||||
</sect3>
|
||||
<sect3 id="IPG.distr.div.37">
|
||||
<title>eucKR</title>
|
||||
<para>韓国語用EUC<indexterm><primary>コード・セット</primary><secondary>eucKRコード・セットの詳細</secondary></indexterm>は、<indexterm><primary>eucKRコード・セット</primary></indexterm> は、シングルバイト文字とマルチバイト文字から成るエンコードです(<!--Original XRef content: 'Table 3‐6'--><xref
|
||||
role="CodeOrFigureOrTable" linkend="IPG.distr.mkr.12">を参照)。エンコードはISO2022に準拠し、韓国語標準コード(Korean Standard Code)セットとEUC定義に基づきます。</para>
|
||||
<table id="IPG.distr.tbl.5" frame="Topbot">
|
||||
<title id="IPG.distr.mkr.12">eucKRのエンコード</title>
|
||||
<tgroup cols="4">
|
||||
<colspec colname="1" colwidth="1.24132 in">
|
||||
<colspec colname="2" colwidth="1.24132 in">
|
||||
<colspec colname="3" colwidth="1.24132 in">
|
||||
<colspec colname="4" colwidth="1.24132 in">
|
||||
<thead>
|
||||
<row><entry><para><Literal>CS</Literal></para></entry><entry><para><literal>エンコード</literal></para></entry><entry></entry><entry><para><literal>キャラクタ・セット</literal></para></entry></row></thead>
|
||||
<tbody>
|
||||
<row>
|
||||
<entry><para>cs0</para></entry>
|
||||
<entry><para>0xxxxxxx</para></entry>
|
||||
<entry></entry>
|
||||
<entry><para>ASCII</para></entry></row>
|
||||
<row>
|
||||
<entry><para>cs1</para></entry>
|
||||
<entry><para>1xxxxxxx</para></entry>
|
||||
<entry><para>1xxxxxxx</para></entry>
|
||||
<entry><para>KS C 5601-1992</para></entry></row>
|
||||
<row>
|
||||
<entry><para>cs2</para></entry>
|
||||
<entry></entry>
|
||||
<entry></entry>
|
||||
<entry><para>使用されていない</para></entry></row>
|
||||
<row>
|
||||
<entry><para>cs3</para></entry>
|
||||
<entry></entry>
|
||||
<entry></entry>
|
||||
<entry><para>使用されていない</para></entry></row></tbody></tgroup></table>
|
||||
<para>KSC 5601-1992(1992年度版 情報変換用韓国語キャラクタ・セットのコード)には、特殊文字が432個、アラビア数字およびローマ数字が30個、ハングル・アルファベット文字が94個、ローマ文字が52個、ギリシャ文字が48個、ラテン文字が27個、日本語の文字が169個、ロシア文字が66個、線描画要素が68個、あらかじめ作成されたハングル文字が2344個、ハンジャ文字が4888個含まれます。</para>
|
||||
<para>ハングル文字は韓国語の単語の音を表します。ひとつのハングル文字は、1個から3個のハングル基本音声記号から構成されます(最初の子音(もしあれば)、母音、最後の子音(もしあれば))。多くの韓国語の単語は、繁体字(韓国ではハンジャと呼ばれています)でも記述することができます。伝統的には、韓国語のテキストは一般的にハングルとハンジャの混合(名詞、動詞、修飾語句という主となる単語にはハンジャ、不変化詞と文法的語尾変化にはハングルを使用)で記述されていました。最近は、人名ではまだハンジャが使用されていることもありますが、ほとんどの韓国語のテキストはすべてハングルで記述されています。</para>
|
||||
</sect3>
|
||||
</sect2>
|
||||
</sect1>
|
||||
</chapter>
|
||||
<!--fickle 1.14 mif-to-docbook 1.7 01/02/96 04:19:51-->
|
||||
315
cde/doc/ja_JP.dt-eucJP/guides/i18nGuide/ch04.sgm
Normal file
315
cde/doc/ja_JP.dt-eucJP/guides/i18nGuide/ch04.sgm
Normal file
@@ -0,0 +1,315 @@
|
||||
<!-- $XConsortium: ch04.sgm /main/7 1996/08/25 15:12:00 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="IPG.motif.div.1">
|
||||
<title id="IPG.motif.mkr.1">Xt、Xlib、および、Motif依存性</title>
|
||||
<para> XtとXlib依存性については、<citetitle>XlibのC言語インタフェース</citetitle>の第13章を参照してください。</para>
|
||||
<para>この章では、Motifの国際化に関連する作業について説明します。</para>
|
||||
<sect1 id="IPG.motif.div.2">
|
||||
<title id="IPG.motif.mkr.2">ロケール管理<indexterm><primary>言語環境</primary><secondary>言語環境の詳細</secondary></indexterm><indexterm><primary>言語環境</primary></indexterm></title>
|
||||
<para><emphasis>言語環境</emphasis>という用語は、アプリケーションがユーザ固有のロケールで正しく実行されるために必要な、ローカライズされたデータのセットのことです。言語環境は、特定の言語に関連付けられた規則を提供します。また、言語環境は、ローカライズされた文字列やアプリケーションが使用するテキストなどの、外部に保存されているデータから構成されています。たとえば、アプリケーションが表示するメニュー項目を、アプリケーションがサポートする言語ごとの別々のファイルに保存する場合があります。このようなデータは、リソース・ファイル、ユーザ・インタフェース定義(UID)ファイル、もしくは、(XPG3準拠システム上の)メッセージ・カタログに保存することができます。</para>
|
||||
<para>ひとつのアプリケーションが動作するときに、単一の言語環境が確立されます。アプリケーションが実行される言語環境は、アプリケーション・ユーザが、環境変数(POSIXシステムの<systemitem>LANG</systemitem>または<systemitem>LC_*</systemitem>)、または、xnlLanguageリソースのいずれかによって設定します。アプリケーションは、ユーザの指定に基づいて言語環境を設定します。アプリケーションは、<computeroutput>XtSetLanguageProc()</computeroutput>関数によって確立される言語プロシージャの<computeroutput>setlocale()</computeroutput>関数を使用して、この設定を行なうこともできます。これにより、Xtは<computeroutput>XtResolvePathname()</computeroutput>関数を使用して、リソース、ビットマップ、ユーザ・インタフェース言語(UIL)ファイルをみつけ、ディスプレイごとの言語文字列をキャッシュすることができるようになります。</para>
|
||||
<para>言語プロシージャを提供するアプリケーションは、それ自身のプロシージャを提供することもできますし、Xt<indexterm><primary>言語プロシージャ</primary></indexterm> デフォルトのプロシージャを使用することもできます。いずれの場合も、アプリケーションは、ツールキットを初期化する前、かつ、リソース・データベースを(<computeroutput>XtAppInitialize()</computeroutput>関数を呼び出すなどして)読み込む前に、<computeroutput>XtSetLanguageProc()</computeroutput>関数を呼び出すことによって言語プロシージャを確立します。言語プロシージャがインストールされると、Xtは初期リソース・データベースの構築中にその言語プロシージャを呼び出します。.Xtは、言語プロシージャが返す値を、そのディスプレイごとの言語文字列として使用します。</para>
|
||||
<para>デフォルトの言語プロシージャは次のタスクを実行します。</para>
|
||||
<itemizedlist remap="Bullet1"><listitem><para>ロケールを設定します。ロケールの設定は次のように行います。</para>
|
||||
<programlisting>setlocale(LC_ALL, <symbol role="Variable">language</symbol>);</programlisting>
|
||||
<para>上記の<symbol role="Variable">language</symbol>は<systemitem>xnlLanguage</systemitem>リソースの値です。<systemitem>xnlLanguage</systemitem>リソースが設定されていない場合は、空の文字列(“”)となります。<systemitem>xnlLanguage</systemitem>リソースが設定されていない場合、ロケールは通常、環境変数(POSIXシステムの<systemitem>LANG</systemitem>)から取得されます。</para>
|
||||
</listitem><listitem><para><computeroutput>XSupportsLocale()</computeroutput>関数を呼び出し、設定されたロケールがサポートされているかどうかを確認します。サポートされていない場合は、警告メッセージがだされ、ロケールはCに設定されます。</para>
|
||||
</listitem><listitem><para><computeroutput>XSetLocaleModifiers()</computeroutput>関数を呼び出し、空の文字列を指定します。</para>
|
||||
</listitem><listitem><para>現在のロケールの値を返します。ANSI Cに基づくシステムでは、これは次の呼び出しの結果です。</para>
|
||||
<programlisting>setlocale(LC_ALL, NULL);</programlisting>
|
||||
</listitem></itemizedlist>
|
||||
<para>アプリケーションは、次ように<computeroutput>XtSetLanguageProc()</computeroutput>関数を呼び出すことによって、デフォルトの言語プロシージャを使用することができます。</para>
|
||||
<programlisting>XtSetLanguageProc(NULL, NULL, NULL);
|
||||
...
|
||||
toplevel = XtAppInitialize(...);</programlisting>
|
||||
<para>デフォルトでは、Xtは言語プロシージャをインストールしません。アプリケーションが<computeroutput>XtSetLanguageProc()</computeroutput>関数を呼び出さない場合、<systemitem>xnlLanguage</systemitem>リソースが設定されていれば、Xtはディスプレイごとの言語文字列としてその値を使用します。<systemitem>xnlLanguage</systemitem>リソースが設定されていなければ、Xtは<systemitem>LANG</systemitem>環境変数から言語文字列を取得します。<literal><indexterm><primary>XtSetLanguageProc</primary><secondary>XtSetLanguageProcのデフォルト言語</secondary></indexterm></literal></para>
|
||||
<note>
|
||||
<para>このプロセスから得られるディスプレイごとの言語文字列はインプリメンテーションに依存しており、いったん言語文字列が確立されるとXtは言語文字列を調べるための公の手段を提供しません。</para>
|
||||
</note>
|
||||
<para>アプリケーションは、それ自身の言語プロシージャを提供することによって、希望するプロシージャを使用して言語文字列を設定することができるようになります。</para>
|
||||
</sect1>
|
||||
<sect1 id="IPG.motif.div.3">
|
||||
<title id="IPG.motif.mkr.3">フォント管理</title>
|
||||
<para>デスクトップはレンダー・テーブルを使用してテキストを表示します。レンダー・テーブルはレンディションのタグを付けられた集合で、その各々はコンパウンド・ストリングの描画時に使用されるデータを指定します。レンディション、および、レンダー・テーブルについては、「Motif プログラマーズ・ガイド」を参照してください。</para>
|
||||
</sect1>
|
||||
<sect1 id="IPG.motif.div.11">
|
||||
<title id="IPG.motif.mkr.5">ローカライズされたテキストの描画<indexterm><primary>コンパウンド・ストリング</primary><secondary>国際テキストを表示するためのコンパウンド・ストリング</secondary></indexterm><indexterm><primary>コンパウンド・ストリング</primary><secondary>コンパウンド・ストリングの構造、レンダー・テーブルとの対話操作</secondary></indexterm></title>
|
||||
<para>コンパウンド・ストリング(<classname>XmString</classname>型)は、プログラムを変更することなく多くの異なったフォントで表示できるように、テキストをエンコードする手段です。レンディション・タグで識別さていれるレンディションが、フォント(および、色など、その他の属性)を指定し、それによってレンディション・タグ付きのコンパウンド・ストリングが描画されます。</para>
|
||||
<para>国際化にとって特に有用なのは、レンディションの集合であるレンダー・テーブルです。テーブルのレンディションの中に、<systemitem class="constant">_MOTIF_DEFAULT_LOCALE</systemitem>タグの付いたものがひとつあり、これが現在のロケール用に使用されるレンディションとなります。国際化対応のアプリケーションでは、レンダー・テーブルはリソース・ファイルで指定しなければなりません。</para>
|
||||
<para>前述は、ローカライズされたテキストの描画に関するいくつかの項目について、簡単に概観したものです。詳しくは、「Motif プログラマーズ・ガイド」を参照してください。</para>
|
||||
</sect1>
|
||||
<sect1 id="IPG.motif.div.18">
|
||||
<title id="IPG.motif.mkr.11">ローカライズされたテキストの入力<indexterm><primary>VendorShellウィジェット・クラス</primary><secondary>入力マネージャとしてのVendorShellウィジェット・クラス</secondary></indexterm><indexterm><primary>入力メソッド</primary><secondary>入力メソッドにおけるVendorShellウィジェット・クラス</secondary></indexterm><indexterm><primary>VendorShellウィジェット・クラス</primary><secondary>ジオメトリ管理におけるVendorShellウィジェット・クラス</secondary></indexterm></title>
|
||||
<para>システム環境では、<computeroutput>VendorShell</computeroutput>ウィジェット・クラスは、拡張されて入力メソッドへのインタフェースを提供します。VendorShellクラスは、そのジオメトリ管理では子ウィジェットをひとつしか制御しないのに対し、入力メソッドへのインタフェースではそこで必要なすべてのコンポーネントを管理できるように拡張されます。
|
||||
これらのコンポーネントには、ステータス領域、前編集領域、メイン・ウィンドウ領域<indexterm><primary>VendorShellウィジェット・クラス</primary><secondary>VendorShellウィジェット・クラスにおけるコンポーネント管理</secondary><tertiary> VendorShellウィジェット・クラスにおけるコンポーネント管理のステータス領域</tertiary></indexterm><indexterm><primary>VendorShellウィジェット・クラス</primary><secondary>VendorShellウィジェット・クラスにおけるコンポーネント管理</secondary><tertiary> VendorShellウィジェット・クラスにおけるコンポーネント管理の前編集領域</tertiary></indexterm><indexterm><primary>VendorShellウィジェット・クラス</primary><secondary>VendorShellウィジェット・クラスにおけるコンポーネント管理</secondary><tertiary> VendorShellウィジェット・クラスにおけるコンポーネント管理のメイン・ウィンドウ領域</tertiary></indexterm> があります。</para>
|
||||
<para>入力メソッドが、ステータス領域または前編集領域、もしくは、その両方を必要とする場合、<computeroutput>VendorShell</computeroutput>ウィジェットは自動的にステータス領域と前編集領域のインスタンスを生成し、そのジオメトリ・レイアウトを管理します。ステータス領域も前編集領域もすべて<computeroutput>VendorShell</computeroutput>ウィジェットにより内部的に管理され、クライアントからはアクセスすることができません。<computeroutput>VendorShell</computeroutput>ウィジェットの子としてインスタンスを生成されたウィジェットは、メイン・ウィンドウ領域と呼ばれます。<indexterm><primary>入力メソッド</primary><secondary>入力メソッドの必要条件</secondary></indexterm><indexterm><primary>国際的テキスト入力</primary><secondary>国際的テキスト入力の入力メソッド</secondary></indexterm>
|
||||
<indexterm><primary>入力メソッド</primary><secondary>入力メソッドの国際的テキスト入力</secondary></indexterm></para>
|
||||
<para><computeroutput>VendorShell</computeroutput>ウィジェットが使用する入力メソッドは、<systemitem>XmNinputMethod</systemitem>リソース(たとえば<computeroutput>@im=alt</computeroutput>)により決定されます。デフォルト値Nullは、VendorShellが生成されたときのロケールに関連付けられたデフォルトの入力メソッドを選択することを指示します。このようにユーザは、ロケールを設定すること、<systemitem>XmNinputMethod</systemitem>リソースを設定すること、もしくは、その両方を設定することにより、入力メソッドの選択に影響を与えることができます。
|
||||
ロケール名は、入力メソッド名を決定するために<systemitem>XmNinputMethod</systemitem>リソースと連結されます。ロケール名はこのリソースで指定してはなりません。<systemitem>XmNinputMethod</systemitem>リソースのモディファイア名は<computeroutput>@im=</computeroutput><symbol role="Variable">modifier</symbol>形式の中におかなければなりません。モディファイアはどの入力メソッドが選択されているかを修飾するのに使用される文字列です。<indexterm><primary>入力メソッド</primary><secondary>XmNinputMethodリソースの入力メソッドの決定</secondary></indexterm><indexterm><primary>XmNinputMethodリソースの入力メソッドの決定</primary></indexterm></para>
|
||||
<para><computeroutput>VendorShell</computeroutput>ウィジェットは入力メソッドを共用できる複数のウィジェットをサポートすることができます。しかし、いつでもキーボードのフォーカスをもつことができる(たとえば、キー・プレスのイベントを受信して、それを入力メソッドに送信する)ウィジェットはひとつだけです。複数のウィジェット(<computeroutput>Text</computeroutput>ウィジェットなど)をサポートするためには、ウィジェットは<computeroutput>VendorShell</computeroutput>ウィジェットの子孫である必要があります。</para>
|
||||
<note>
|
||||
<para><computeroutput>VendorShell</computeroutput>ウィジェット・クラスは<computeroutput>TransientShell</computeroutput>ウィジェット・クラス、および、<computeroutput>TopLevelShell</computeroutput>ウィジェット・クラスのスーパークラスです。このように、<computeroutput>TopLevelShell</computeroutput>、もしくは、<computeroutput>DialogShell</computeroutput>のインスタンスの生成は本質的に、<computeroutput>VendorShell</computeroutput>ウィジェット・クラスのインスタンスの生成です。</para>
|
||||
</note>
|
||||
<para><computeroutput>VendorShell</computeroutput>ウィジェットは、その子孫のひとつが<computeroutput>XmText[Field]</computeroutput>インスタンスである場合のみ入力マネージャとして動作します。<computeroutput>XmText[Field]</computeroutput>インスタンスが<computeroutput>VendorShell</computeroutput>ウィジェットの子孫として生成されるとすぐ、<computeroutput>VendorShell</computeroutput>は現在のロケールにより指示される特定の入力メソッドに必要な領域を生成します。<computeroutput>XmText[Field]</computeroutput>インスタンスがマップされずに単に生成された場合でも、VendorShellは前述のようなジオメトリ管理を行います。</para>
|
||||
<para><computeroutput>VendorShell</computeroutput>ウィジェットは次のことを行います。<indexterm><primary>国際的テキスト入力</primary><secondary>国際的テキスト入力のVendorShellウィジェット操作</secondary></indexterm></para>
|
||||
<itemizedlist remap="Bullet1"><listitem><para>システムにインストールされたロケールがサポートしているマルチバイト文字の入力と出力をアプリケーションが処理できるようにします。<indexterm><primary>VendorShellウィジェット操作</primary> <secondary>VendorShellウィジェット操作におけるマルチバイト文字I/Oの処理</secondary></indexterm></para>
|
||||
</listitem>
|
||||
<listitem><para>入力メソッドのインスタンスを<computeroutput>XmIm</computeroutput>参照関数で定義されている通りに管理します。</para>
|
||||
</listitem><listitem><para>OnTheSpot、OffTheSpot、OverTheSpot、Root、Noneのいずれかのモードで、前編集領域での前編集をサポートします。ローカライズされたテキストは、フォーカスを変更することによって、複数の<computeroutput>Text</computeroutput>子ウィジェット・ツリー内のどの<computeroutput>Text</computeroutput>子ウィジェットにも入力することができます。</para>
|
||||
</listitem><listitem><para>子孫ウィジェットのジオメトリ管理を提供します。</para>
|
||||
</listitem></itemizedlist>
|
||||
<note>
|
||||
<para>入力メソッド操作も、スタイル・マネージャのアプリケーションから呼び出されるダイアログ・ボックスによって、ユーザがカスタマイズする可能性があります。詳しくは、<emphasis>共通デスクトップ環境 ユーザーズ・ガイド</emphasis>を参照してください。</para>
|
||||
</note>
|
||||
<sect2 id="IPG.motif.div.19">
|
||||
<title>ジオメトリ管理<indexterm><primary>国際的テキスト入力</primary><secondary>国際的テキスト入力のジオメトリ管理</secondary></indexterm><indexterm><primary>ジオメトリ管理</primary><secondary>ジオメトリ管理の国際的テキスト入力</secondary></indexterm></title>
|
||||
<para><computeroutput>VendorShell</computeroutput>ウィジェットは、入力メソッドのユーザ・インタフェース・コンポーネントのジオメトリ管理とフォーカス管理を必要に応じて提供します。ロケールがそれを保証する場合(たとえば、ロケールが日本語のEUC(拡張UNIXコード)ロケールの場合)、<computeroutput>VendorShell</computeroutput>ウィジェットは、必要な前編集領域またはステータス領域、あるいは、その両方のジオメトリを自動的に割り当てて管理します。</para>
|
||||
<para>現在実行中の前編集によって、補助領域が必要となる場合があります。補助領域が必要な時は、<computeroutput>VendorShell</computeroutput>ウィジェットも補助領域のインスタンスを生成し管理します。通常、<computeroutput>VendorShell</computeroutput>ウィジェットの子は複数の<computeroutput>Text</computeroutput>ウィジェット、および、<computeroutput>TextField</computeroutput>ウィジェットを管理することができるコンテナ・ウィジェット(<computeroutput>XmBulletinBoard</computeroutput>ウィジェットや<computeroutput>XmRowColumn</computeroutput>ウィジェットのような)であり、ユーザがマルチバイト文字を入力することができます。このシナリオでは、すべての<computeroutput>Text</computeroutput>ウィジェットは同一の入力メソッドを共用します。</para>
|
||||
<note>
|
||||
<para><indexterm><primary>ジオメトリ管理</primary><secondary>ジオメトリ管理におけるXmBulletinBoardウィジェット</secondary></indexterm><indexterm><primary>ジオメトリ管理</primary><secondary>ジオメトリ管理におけるXmRowColumnウィジェット</secondary></indexterm><indexterm><primary>ジオメトリ管理</primary><secondary>ジオメトリ管理におけるTextウィジェット </secondary></indexterm><indexterm><primary>ジオメトリ管理</primary><secondary>ジオメトリ管理におけるTextFieldウィジェット</secondary></indexterm><indexterm><primary>国際的テキスト入力</primary><secondary>国際的テキスト入力のマルチバイト文字</secondary></indexterm><indexterm><primary>入力メソッド</primary><secondary>入力メソッドのTextウィジェット</secondary></indexterm><indexterm><primary>Textウィジェット、入力メソッド</primary></indexterm>ステータス領域、前編集領域、補助領域には、アプリケーション・プログラマはアクセスできません。
|
||||
たとえば、アプリケーション・プログラマがステータス領域のウィンドウIDにアクセスすることは想定されていません。これらのコンポーネントは、必要に応じて<computeroutput>VendorShell</computeroutput>ウィジェット・クラスが管理するので、ユーザはそのインスタンス化や管理について考える必要はありません。</para>
|
||||
</note>
|
||||
<para>アプリケーション・プログラマは<computeroutput>VendorShell</computeroutput>ウィジェット・クラスの<systemitem>XmNpreeditType</systemitem>リソースによって、入力メソッドのユーザ・インタフェースのコンポーネントの動作をいくらか制御できます。<indexterm><primary>ジオメトリ管理</primary><secondary>ジオメトリ管理におけるアプリケーション・プログラマ制御</secondary></indexterm>
|
||||
<indexterm><primary>アプリケーション・プログラマによる入力メソッドコンポーネントの制御</primary></indexterm> (<literal>OffTheSpot</literal>モード、<literal>OnTheSpot</literal>モード、<literal>OverTheSpot</literal>モードについてはこのマニュアルで説明しています。)</para>
|
||||
<para>ジオメトリ管理は、入力メソッドのユーザ・インタフェースのコンポーネントすべてに及びます。アプリケーション・プログラム・ウィンドウ(<computeroutput>TopLevelShell</computeroutput>ウィジェット)がサイズ変更されると、入力メソッドのユーザ・インタフェースのコンポーネントもそれに従ってサイズ変更され、その中の前編集された文字列は要求に応じて再配置されます。もちろん、これはシェル・ウィンドウのリサイズ・ポリシーが真であることを仮定しています。</para>
|
||||
<para><computeroutput>VendorShell</computeroutput>ウィジェットが生成されるとき、特定の入力メソッドが、ステータス領域または前編集領域、もしくは、その両方を必要とするならば、VendorShellのサイズにはこれらのコンポーネントが必要とする領域が考慮されます。前編集領域、および、ステータス領域が必要とする追加の領域は、<computeroutput>VendorShell</computeroutput>ウィジェット領域の一部分です。それらの領域も、サイズ変更が必要な場合は、<computeroutput>VendorShell</computeroutput>ウィジェットにより管理されます。 </para>
|
||||
<para>これらの領域(ステータス領域と前編集領域)の潜在的なインスタンス化があるので、現在使用中の入力メソッドに依存して、<computeroutput>VendorShell</computeroutput>ウィジェット領域のサイズが、その子のサイズに正確に適応するように伸縮する必要はありません。<computeroutput>VendorShell</computeroutput>ウィジェット領域のサイズは、その子のジオメトリ<emphasis>と</emphasis>これらの入力メソッドのユーザ・インタフェース領域のジオメトリの両方に適応するように伸縮します。
|
||||
<computeroutput>VendorShell</computeroutput>ウィジェットとその子ウィジェット(メイン・ウィンドウ領域)では、高さが異なるかもしれません(たとえば、20ピクセル)。幅のジオメトリは入力メソッドのユーザ・インタフェースのコンポーネントの影響を受けません。<indexterm><primary>VendorShellウィジェット・クラス</primary><secondary>VendorShellウィジェット・クラスのサイズ</secondary></indexterm><indexterm><primary>VendorShellウィジェット・クラス</primary><secondary> VendorShellウィジェット・クラスの子ウィジェットのサイズ</secondary></indexterm></para>
|
||||
<para>まとめとして、子に要求されたサイズは可能ならば受け付けられます。<computeroutput>VendorShell</computeroutput>の実際のサイズはその子よりも大きい可能性があります。</para>
|
||||
<para><computeroutput>VendorShell</computeroutput>ウィジェットとその子のジオメトリを指定する要求は、互いに矛盾しない限り、また、<computeroutput>VendorShell</computeroutput>ウィジェットのサイズ変更が可能な制約内である限り、受け付けられます。矛盾する場合は、子のウィジェット・ジオメトリ要求が優先します。たとえば、子ウィジェットのサイズが100x100と指定されている場合、VendorShellのサイズもまた、100x100と指定されます。子ウィジェットのサイズが100x100となるのに対して、VendorShellのサイズは結果的に100x120となります。子ウィジェットのサイズが指定されていない場合、VendorShellは自分のサイズ指定を受け取る必要があるならば子ウィジェットを縮小します。たとえば、VendorShellのサイズが100x100と指定されておりその子にはサイズが指定されていない場合は、子ウィジェットのサイズは100x80となります。<computeroutput>VendorShell</computeroutput>ウィジェットがサイズ変更不可能ならば、その子のジオメトリ要求が何であっても、<computeroutput>VendorShell</computeroutput>ウィジェットは自分のジオメトリ指定だけを受け取ります。</para>
|
||||
</sect2>
|
||||
<sect2 id="IPG.motif.div.20">
|
||||
<title>フォーカス管理<indexterm><primary>国際的テキスト入力</primary><secondary>フォーカス管理</secondary></indexterm><indexterm><primary>VendorShellウィジェット・クラス</primary><secondary> VendorShellウィジェット・クラスのフォーカス管理</secondary></indexterm><indexterm><primary>フォーカス管理</primary><secondary>フォーカス管理の国際的テキスト入力</secondary></indexterm></title>
|
||||
<para>多数の文字を使用する言語(日本語や中国語など)では、ユーザがその言語で対話的に文字を構成することができる入力メソッドが必要です。<indexterm><primary>入力メソッド</primary><secondary>入力メソッドのマルチバイト文字</secondary></indexterm> これらの言語では端末のキーボードに適正にマップできる数よりずっと多くの文字が存在するためです。</para>
|
||||
<para>そのような言語で文字を構成する対話的なプロセスは<emphasis>前編集</emphasis>と呼ばれます。前編集自体は入力メソッドにより処理されますが、前編集のユーザ・インタフェースはシステム環境によって決定されます。インタフェースは入力メソッドとシステム環境の間に存在する必要があります。これはシステム環境の<computeroutput>VendorShell</computeroutput>ウィジェットにより実行されます。<indexterm><primary>前編集</primary></indexterm><indexterm><primary>VendorShellウィジェット・クラス</primary><secondary>インタフェースとしてのVendorShellウィジェット・クラス</secondary></indexterm><indexterm><primary>インタフェース</primary><secondary>入力メソッドと共通デスクトップ環境間のインタフェース</secondary></indexterm><indexterm><primary>入力メソッド</primary><secondary>入力メソッドの共通デスクトップ環境インタフェース</secondary></indexterm><indexterm><primary>共通デスクトップ環境</primary><secondary>共通デスクトップ環境の入力メソッド・インタフェース</secondary></indexterm><indexterm><primary>前編集</primary></indexterm></para>
|
||||
<para><!--Original XRef content: 'Figure 4‐3'--><xref role="CodeOrFigureOrTable" linkend="IPG.motif.mkr.12">は、日本語の前編集の例を示しています。反転表示されている文字列は前編集中の文字列です。この文字列は、ウィンドウにフォーカスをもっていくことにより異なるウィンドウ間を移動させることができます。しかし、一度に行なえる前編集セッションはひとつだけです。</para>
|
||||
<figure>
|
||||
<title id="IPG.motif.mkr.12">日本語の前編集の例</title>
|
||||
<graphic id="IPG.motif.grph.3" entityref="IPG.motif.fig.3"></graphic>
|
||||
</figure>
|
||||
<para>フォーカス管理の例として、<computeroutput>TopLevelShell</computeroutput>ウィジェット(<computeroutput>VendorShell</computeroutput>ウィジェットのサブクラス)が、5個の<computeroutput>XmText</computeroutput>ウィジェットをもつ<computeroutput>XmBulletinBoard</computeroutput>ウィジェットの子(メイン・ウィンドウ領域)をもっているとします。そのロケールには前編集領域が必要で、OverTheSpotモードが指定されているとします。<computeroutput>VendorShell</computeroutput>ウィジェットは入力メソッドとしてインスタンスをひとつしか管理しないので、<computeroutput>TopLevelShell</computeroutput>ウィジェット内で一度にひとつの前編集領域しか実行できません。
|
||||
フォーカスがある<computeroutput>Text</computeroutput>ウィジェットから別の<computeroutput>Text</computeroutput>ウィジェットへ移動すると、作業中の現在の前編集領域も、現在フォーカスをもっている<computeroutput>Text</computeroutput>ウィジェットのトップに移動します。前の<computeroutput>Text</computeroutput>ウィジェットへのキー処理は一時的に中断されます。前編集完了時の文字列の送信など、それに続く入力メソッドのインタフェースは新しくフォーカスされた <computeroutput>Text</computeroutput>ウィジェットに対して行われます。<indexterm><primary>フォーカス管理</primary><secondary>フォーカス管理の詳細な例</secondary></indexterm></para>
|
||||
<para>前編集されている文字列は、たとえばマウスをクリックするなどしてフォーカスの位置に移動することができます。</para>
|
||||
<para>エンド・ユーザが前編集を終了して確定した文字列は、<emphasis>再変換できません。</emphasis>文字列はいったん構成されると、確定されます。前編集文字列を確定する操作については、「Motif プログラマーズ・ガイド」の第11章を参照してください。</para>
|
||||
</sect2>
|
||||
</sect1>
|
||||
<sect1 id="IPG.motif.div.21">
|
||||
<title id="IPG.motif.mkr.13">国際化対応ユーザ・インタフェース言語<indexterm><primary>各国語サポート</primary><secondary>各国語サポートにおけるユーザ・インタフェース言語(UIL)</secondary></indexterm><indexterm><primary>ユーザ・インタフェース言語(UIL)、UIL <$nopage>参照</primary></indexterm></title>
|
||||
<para>マルチバイト文字列を文字列リテラルとして解析する機能がユーザ・インタフェース言語(UIL)に追加されています。<indexterm><primary>国際的使用のためのプログラミング</primary><secondary>国際的使用のためのプログラミングのUIL</secondary><tertiary>国際的使用のためのプログラミングのUILにおけるマルチバイト文字の文字列の解析</tertiary></indexterm> UILファイルは、目的の言語の特性を使用してユーザ・インタフェース定義(UID)を記述することによって作成されます。</para>
|
||||
<sect2 id="IPG.motif.div.22">
|
||||
<title>国際化対応ユーザ・インタフェース言語のプログラミング<indexterm><primary>ロケール</primary><secondary>ロケールのUILコンパイラ</secondary></indexterm></title>
|
||||
<para>UILコンパイラは標準ではないcharsetをロケール・テキストとして解析します。それには、UILコンパイラがどんなロケール・テキストとも同じロケールで実行される必要があります。<indexterm><primary>国際的使用のためのプログラミング</primary><secondary>国際的使用のためのプログラミングのUIL</secondary><tertiary>国際的使用のためのプログラミングのUILにおける標準でないcharsetの解析</tertiary></indexterm><indexterm><primary>国際的使用のためのプログラミング</primary><secondary>国際的使用のためのプログラミングのUIL</secondary><tertiary>国際的使用のためのプログラミングのUILにおけるロケール・テキスト</tertiary></indexterm></para>
|
||||
<para>ウィジェットのロケール・テキストがフォント・セット(ひとつ以上のフォント)を必要とする場合、フォントはリソース・ファイル内にレンダー・テーブルとして指定されなければなりません。</para>
|
||||
<para>UILで特定の文字を使用するために、UILファイルが目的の言語の特性に従って記述され、UIDファイルにコンパイルされます。ローカライズされたテキストを含むUILファイルは、それが実行されるロケールでコンパイルされる必要があります。</para>
|
||||
<sect3 id="IPG.motif.div.23">
|
||||
<title>文字列リテラル<indexterm><primary>国際的使用のためのプログラミング</primary><secondary>国際的使用のためのプログラミングのUIL</secondary><tertiary>国際的使用のためのプログラミングにおけるUILの文字列リテラル</tertiary></indexterm><indexterm><primary>文字列リテラル</primary><secondary>文字列リテラルの国際的UILのためのプログラミング</secondary></indexterm></title>
|
||||
<para>次にリテラル文字列の例を示します。cur_charsetの値は常にdefault_charsetの値に設定されており、それによって文字列リテラルはロケール・テキストを含むことができます。</para>
|
||||
<para>ロケール・テキストをdefault_charsetの値で文字列リテラルに設定するためには、次のように入力します。</para>
|
||||
<programlisting>XmNlabelString = '<symbol>XXXXXX</symbol>';</programlisting>
|
||||
<para>または、</para>
|
||||
<programlisting>XmNlabelString = #default_charset“<symbol>XXXXXX</symbol>”;
|
||||
</programlisting>
|
||||
<para>ロケール・テキストのエンコードと一致する<systemitem>LANG</systemitem>環境変数でUILファイルをコンパイルしてください。そうでないと、文字列リテラルは正しくコンパイルされません。</para>
|
||||
</sect3>
|
||||
<sect3 id="IPG.motif.div.24">
|
||||
<title>フォント<indexterm><primary>フォント・セット</primary><secondary>フォント・セットにおける国際的UILのためのプログラミング</secondary></indexterm> セット<indexterm><primary>国際的使用のためのプログラミング</primary><secondary>国際的使用のためのプログラミングのUIL</secondary></indexterm><indexterm><primary>国際的UILのためのプログラミング</primary></indexterm><indexterm><primary>フォント・セット</primary><secondary>国際的UILのためのプログラミング</secondary></indexterm></title>
|
||||
<para>フォント・セットはUILソース・プログラミングによって設定することはできません。フォント・セットが必要な場合はいつでも、リソース・ファイルにレンダー・テーブル・リソースとして設定しなければなりません。詳しくは、「Motif プログラマーズ・ガイド」を参照してください。</para>
|
||||
</sect3>
|
||||
<sect3 id="IPG.motif.div.25">
|
||||
<title>フォント・リスト<indexterm><primary>UILにおけるフォント・リスト、リソースを指定</primary></indexterm></title>
|
||||
<para>フォント・セットと同様に、フォント・リストはリソース・ファイルにレンダー・テーブルとして指定されます。詳しくは、「Motif プログラマーズ・ガイド」を参照してください。</para>
|
||||
</sect3>
|
||||
<sect3 id="IPG.motif.div.25a">
|
||||
<title>レンダー・テーブル<indexterm><primary>UILにおけるレンダー・テーブル、リソースを指定</primary></indexterm></title>
|
||||
<para>レンダー・テーブルは、レンディション、タブ・リスト、タブ・ストップと同様に、オブジェクトの特殊クラスとして実装されています。詳しくは、「Motif プログラマーズ・ガイド」を参照してください。</para>
|
||||
</sect3>
|
||||
<sect3 id="IPG.motif.div.26">
|
||||
<title>リソース・ファイル<indexterm><primary>国際的使用のためのプログラミング</primary><secondary>国際的使用のためのプログラミングのUIL</secondary></indexterm><indexterm><primary>国際的UILのためのプログラミング</primary></indexterm><indexterm><primary>リソース・ファイル、作成</primary></indexterm><indexterm><primary>リソース・ファイル</primary><secondary>リソース・ファイルにおける国際的UILの作成</secondary></indexterm> の作成<indexterm><primary>リソース・ファイル</primary><secondary>リソース・ファイルの国際的UILのための作成</secondary></indexterm> </title>
|
||||
<para>必要ならば、次の例のように入力メソッド関連のリソースをリソース・ファイルに設定してください。</para>
|
||||
<programlisting>*preeditType: OverTheSpot, OnTheSpot, OffTheSpot, Root, or None
|
||||
</programlisting>
|
||||
</sect3>
|
||||
<sect3 id="IPG.motif.div.27">
|
||||
<title>環境<indexterm><primary>国際的使用のためのプログラミング</primary><secondary>国際的使用のためのプログラミングのUIL</secondary></indexterm><indexterm><primary>国際的UILのためのプログラミング</primary></indexterm><indexterm><primary>環境の設定</primary><secondary>国際的UILのための環境の設定</secondary></indexterm> の設定
|
||||
<indexterm><primary>環境の設定</primary><secondary>国際的UIL用の環境の設定</secondary></indexterm></title>
|
||||
<para>ロケールに依存するアプリケーションの場合は、UIDファイルを適切なディレクトリに設定してください。<systemitem>UIDPATH</systemitem>環境変数、または、<systemitem>XAPPLRESDIR</systemitem>環境変数を適切な値に設定してください。</para>
|
||||
<para>たとえば、英語環境(<systemitem>LANG</systemitem>環境変数が<computeroutput>en_US</computeroutput>)で<computeroutput>uil_sample</computeroutput>プログラムを実行するためには、<filename>$HOME/en_US</filename>ディレクトリにラテン文字で<filename>uil_sample.uid</filename>を設定するか、または、<filename>uil_sample.uid</filename>をあるディレクトリに設定して<systemitem>UIDPATH</systemitem>環境変数に<filename>uil_sample.uid</filename>ファイルの絶対パスを設定してください。</para>
|
||||
<para>日本語環境(<systemitem>LANG</systemitem>環境変数が<systemitem>ja_JP</systemitem>)で<computeroutput>uil_sample</computeroutput>プログラムを実行するためには、<filename>$HOME/ja_JP</filename>ディレクトリに日本語(マルチバイト)文字で<filename>uil_sample.uid</filename>ファイルを作成するか、または、<filename>uil_sample.uid</filename>を一意のディレクトリに置いて<systemitem>UIDPATH</systemitem>環境変数に<filename>uil_sample.uid</filename>ファイルの絶対パスを指定してください。次のリストに、使用できる変数を指定します。</para>
|
||||
<informaltable>
|
||||
<tgroup cols="2" colsep="0" rowsep="0">
|
||||
<colspec align="left" colwidth="100*">
|
||||
<colspec align="left" colwidth="356*">
|
||||
<tbody>
|
||||
<row>
|
||||
<entry><para><emphasis>%U</emphasis></para></entry>
|
||||
<entry><para>UIDファイル文字列を指定します。</para></entry></row>
|
||||
<row>
|
||||
<entry><para><emphasis>%N</emphasis></para></entry>
|
||||
<entry><para>アプリケーションのクラス名を指定します。</para></entry></row>
|
||||
<row>
|
||||
<entry><para><emphasis>%L</emphasis></para></entry>
|
||||
<entry><para><computeroutput>xnlLanguage</computeroutput>リソース、または、<filename>LC_CTYPE</filename>カテゴリの値を指定します。</para></entry></row>
|
||||
<row>
|
||||
<entry><para><emphasis>%l</emphasis></para></entry>
|
||||
<entry><para><computeroutput>xnlLanguage</computeroutput>リソース、または、<computeroutput>LC_CTYPE</computeroutput>カテゴリの言語コンポーネントを指定します。</para></entry></row></tbody></tgroup></informaltable>
|
||||
<para><systemitem>XAPPLRESDIR</systemitem>環境変数が設定されている場合、 <computeroutput>MrmOpenHierarchy()</computeroutput>関数は次の順番でUIDファイルを検索します。<indexterm><primary>環境の設定</primary><secondary>環境の設定におけるUIDファイルの検索</secondary></indexterm><indexterm><primary>UIDファイル検索</primary></indexterm><indexterm><primary>MrmOpenHierarchy関数、UIDファイルの検索</primary></indexterm><indexterm><primary>UIDファイルの検索</primary></indexterm></para>
|
||||
<orderedlist><listitem><para>UIDファイルのパス名</para>
|
||||
</listitem><listitem><para><computeroutput>$UIDPATH</computeroutput></para>
|
||||
</listitem><listitem><para>%U</para>
|
||||
</listitem><listitem><para><computeroutput>$XAPPLRESDIR/</computeroutput> <emphasis>%L</emphasis><computeroutput>/uid/</computeroutput><emphasis>%N</emphasis> <computeroutput>/</computeroutput><emphasis>%U</emphasis></para>
|
||||
</listitem><listitem><para><computeroutput>$XAPPLRESDIR/</computeroutput> <emphasis>%l</emphasis><computeroutput>/uid/</computeroutput><emphasis>%N</emphasis> <computeroutput>/</computeroutput><emphasis>%U</emphasis></para>
|
||||
</listitem><listitem><para><computeroutput>$XAPPLRESDIR/uid/</computeroutput> <emphasis>%N</emphasis><computeroutput>/</computeroutput><emphasis>%U</emphasis></para>
|
||||
</listitem><listitem><para><computeroutput>$XAPPLRESDIR/</computeroutput> <emphasis>%L</emphasis><computeroutput>/uid/</computeroutput><emphasis>%U</emphasis></para>
|
||||
</listitem><listitem><para><computeroutput>$XAPPLRESDIR/</computeroutput> <emphasis>%l</emphasis><computeroutput>/uid/</computeroutput><emphasis>%U</emphasis></para>
|
||||
</listitem><listitem><para><computeroutput>$XAPPLRESDIR/uid/</computeroutput> <emphasis>%U</emphasis></para>
|
||||
</listitem><listitem><para><computeroutput>$HOME/uid/</computeroutput> <emphasis>%U</emphasis></para>
|
||||
</listitem><listitem><para><computeroutput>$HOME/</computeroutput> <emphasis>%U</emphasis></para>
|
||||
</listitem><listitem><para><computeroutput>/usr/lib/X11/</computeroutput> <emphasis>%L</emphasis><computeroutput>/uid/</computeroutput><emphasis>%N</emphasis> <computeroutput>/</computeroutput><emphasis>%U</emphasis></para>
|
||||
</listitem><listitem><para><computeroutput>/usr/lib/X11/</computeroutput> <emphasis>%l</emphasis><computeroutput>/uid/</computeroutput><emphasis>%N</emphasis> <computeroutput>/</computeroutput><emphasis>%U</emphasis></para>
|
||||
</listitem><listitem><para><computeroutput>/usr/lib/X11/uid/</computeroutput> <emphasis>%N</emphasis><computeroutput>/</computeroutput><emphasis>%U</emphasis></para>
|
||||
</listitem><listitem><para><computeroutput>/usr/lib/X11/</computeroutput> <emphasis>%L</emphasis><computeroutput>/uid/</computeroutput><emphasis>%U</emphasis></para>
|
||||
</listitem><listitem><para><computeroutput>/usr/lib/X11/</computeroutput> <emphasis>%l</emphasis><computeroutput>/uid/</computeroutput><emphasis>%U</emphasis></para>
|
||||
</listitem><listitem><para><computeroutput>/usr/lib/X11/uid/</computeroutput> <emphasis>%U</emphasis></para>
|
||||
</listitem><listitem><para><computeroutput>/usr/include/X11/uid/</computeroutput> <emphasis>%U</emphasis></para>
|
||||
</listitem></orderedlist>
|
||||
<para><systemitem>XAPPLRESDIR</systemitem>環境変数が設定されていない場合は、<computeroutput>MrmOpenHierarchy()</computeroutput>関数は、<systemitem>XAPPLRESDIR</systemitem>環境変数のかわりに<computeroutput>$HOME</computeroutput>を使用します。</para>
|
||||
</sect3>
|
||||
</sect2>
|
||||
<sect2 id="IPG.motif.div.28">
|
||||
<title>UILのdefault_charsetキャラクタ・セット<indexterm><primary>ユーザ・インタフェース言語(UIL)、UIL <$nopage>参照</primary></indexterm><indexterm><primary>default_charset文字列リテラル</primary></indexterm><indexterm><primary>文字列リテラル</primary><secondary>文字列リテラルのUILにおけるdefault_charset</secondary></indexterm><indexterm><primary>default_charset文字列リテラル</primary></indexterm></title>
|
||||
<para>default_charset文字列リテラルを用いれば、どんな文字でも有効な文字列リテラルとして設定することができます。たとえば、<systemitem>LANG</systemitem>環境変数が<computeroutput>el_GR</computeroutput>である場合、default_charsetの文字列リテラルはどんなギリシャ文字でも含むことができます。<systemitem>LANG</systemitem>環境変数が<computeroutput>ja_JP</computeroutput>である場合、default_charset文字列リテラルは日本語EUCでエンコードされた日本語文字を含むことができます。</para>
|
||||
<para>キャラクタ・セットがひとつも文字列リテラルに設定されていない場合、文字列リテラルのキャラクタ・セットはcur_charsetとして設定されます。そして、システム環境においてはcur_charsetの値は常にdefault_charsetとして設定されます。</para>
|
||||
<sect3 id="IPG.motif.div.29">
|
||||
<title>例: uil_sample<indexterm><primary>UIL(ユーザ・インタフェース言語)</primary><secondary>日本語プログラムと英語プログラムの例</secondary></indexterm></title>
|
||||
<para><!--Original XRef content: 'Figure 4‐4'--><xref role="CodeOrFigureOrTable" linkend="IPG.motif.mkr.14">は、英語環境と日本語環境でのUILプログラム例です。</para>
|
||||
<figure>
|
||||
<title id="IPG.motif.mkr.14">英語環境と日本語環境でのUILプログラムの例</title>
|
||||
<graphic id="IPG.motif.grph.4" entityref="IPG.motif.fig.4"></graphic>
|
||||
</figure>
|
||||
<para>次のプログラム例では、<emphasis>LLL</emphasis>はロケール・テキストを指し、日本語、韓国語、中国語(繁体字)、ギリシャ語、フランス語、その他の言語が入ります。</para>
|
||||
<programlisting>uil_sample.uil
|
||||
!
|
||||
! sample uil file - uil_sample.uil
|
||||
!
|
||||
! C source file - uil_sample.c
|
||||
!
|
||||
! Resource file - uil-sample.resource
|
||||
!
|
||||
module Test
|
||||
version = 'v1.0'
|
||||
names = case_sensitive
|
||||
objects = {
|
||||
XmPushButton = gadget;
|
||||
}
|
||||
!************************************
|
||||
! declare callback procedure
|
||||
!************************************
|
||||
procedure
|
||||
exit_CB;
|
||||
!***************************************************************
|
||||
! declare BulletinBoard as parent of PushButton and Text
|
||||
!***************************************************************
|
||||
object
|
||||
bb: XmBulletinBoard {
|
||||
arguments{
|
||||
XmNwidth = 500;
|
||||
XmNheight = 200;
|
||||
};
|
||||
controls{
|
||||
XmPushButton pb1;
|
||||
XmText text1;
|
||||
};
|
||||
};
|
||||
!****************************
|
||||
! declare PushButton
|
||||
!****************************
|
||||
object
|
||||
pb1: XmPushButton {
|
||||
arguments{
|
||||
XmNlabelString = #Normal “<emphasis>LLL</emphasis>exit button <emphasis>LLL</emphasis>”;
|
||||
XmNx = 50;
|
||||
XmNy = 50;
|
||||
};
|
||||
callbacks{
|
||||
XmNactivateCallback = procedure exit_CB;
|
||||
};
|
||||
};
|
||||
!*********************
|
||||
! declare Text
|
||||
!*********************
|
||||
text1: XmText {
|
||||
arguments{
|
||||
XmNx = 50;
|
||||
XmNy = 150;
|
||||
};
|
||||
};
|
||||
end module;
|
||||
*
|
||||
* C source file - uil_sample.c
|
||||
*
|
||||
*/
|
||||
#include <Mrm/MrmAppl.h>
|
||||
#include <locale.h>
|
||||
void exit_CB();
|
||||
static MrmHierarchy hierarchy;
|
||||
static MrmType *class;
|
||||
|
||||
/******************************************/
|
||||
/* specify the UID hierarchy list */
|
||||
/*****************************************/
|
||||
static char *aray_file[]=
|
||||
{“uil_sample.uid”
|
||||
};
|
||||
static int num_file = (sizeof aray_file / sizeof
|
||||
aray_file[0]);
|
||||
/******************************************************/
|
||||
/* define the mapping between UIL procedure names */
|
||||
/* and their addresses */
|
||||
|
||||
/******************************************************/
|
||||
static MRMRegisterArg reglist[]={
|
||||
{“exit_CB”,(caddr_t) exit_CB}</programlisting>
|
||||
</sect3>
|
||||
</sect2>
|
||||
<sect2 id="IPG.motif.div.30">
|
||||
<title>UILのコンパウンド・ストリング<indexterm><primary>コンパウンド・ストリング</primary><secondary>UILのコンパウンド・ストリング</secondary></indexterm></title>
|
||||
<para>UILファイルに文字列を指定する仕組みは3つあります。</para>
|
||||
<itemizedlist remap="Bullet1"><listitem><para>ヌルで終了する文字列またはコンパウンド・ストリングとしてUIDファイルに保存される可能性のある、文字列リテラルとして指定する。</para>
|
||||
</listitem><listitem><para>コンパウンド・ストリングとして指定する。</para>
|
||||
</listitem><listitem><para>ワイド・キャラクタ文字列として指定する。</para>
|
||||
</listitem></itemizedlist>
|
||||
<para>文字列リテラルもコンパウンド・ストリングも両方とも、テキスト、キャラクタ・セット、描画方向から構成されます。方向が明示されていない文字列リテラルとコンパウンド・ストリングについては、UILはキャラクタ・セットから描画方向を推定します。UIL連結演算子(&)は、文字列リテラルとコンパウンド・ストリングの両方を連結します。</para>
|
||||
<para>UILは、文字列リテラルをUIDファイルにヌルで終了する文字列として保存しても、コンパウンド<indexterm><primary>文字列リテラル</primary><secondary>UILファイルの文字列リテラル</secondary></indexterm> ストリングとして保存しても、各文字列のキャラクタ・セットと描画方向に関する情報をそのテキストと共に保存します。一般的に次のような場合に、UILは文字列リテラルまたは文字列表現をコンパウンド・ストリングとしてUIDファイルに保存します。</para>
|
||||
<itemizedlist remap="Bullet1"><listitem><para>文字列表現が、異なるキャラクタ・セットまたは描画方向の2つ以上のリテラルから成る場合</para>
|
||||
</listitem><listitem><para>リテラルまたは文字列表現が、コンパウンド・ストリングのデータ型をもつ値(データ型がコンパウンド・ストリングであるリソースの値など)として使用されている場合、</para>
|
||||
</listitem></itemizedlist>
|
||||
<para>UILはキャラクタ・セットを指定する多くのキーワードを認識します。UILは認識するキャラクタ・セットそれぞれに、解析方向と、文字列が8ビットか16ビットかなどの解析<indexterm><primary>キャラクタ・セット・キーワード</primary></indexterm>
|
||||
<indexterm><primary>キャラクタ・セット、 UIL CHARACTER_SET関数で定義</primary></indexterm><indexterm><primary>文字列リテラル</primary><secondary>文字列リテラルのシンタクス</secondary></indexterm> 規則を関連付けます。UIL <command>CHARACTER_SET</command> 関数を使用してキャラクタ・セットを定義することも可能です。</para>
|
||||
<para>文字列リテラルのシンタクスは次のいずれかです。</para>
|
||||
<itemizedlist remap="Bullet1"><listitem><para>'[<symbol role="Variable">character_string</symbol>]'</para>
|
||||
</listitem><listitem><para>[#<symbol role="Variable">char_set</symbol>]</para>
|
||||
</listitem><listitem><para>“[<symbol role="Variable">character_string</symbol>]”</para>
|
||||
</listitem></itemizedlist>
|
||||
<para>各シンタクスについて、文字列のキャラクタ・セットは次のように決定されます。</para>
|
||||
<itemizedlist remap="Bullet1"><listitem><para>'<symbol>character_string</symbol>'として宣言された文字列の場合、UILコンパイル環境に<systemitem>LANG</systemitem>環境変数が設定されているならば、キャラクタ・セットは<systemitem>LANG</systemitem>環境変数のコード・セット・コンポーネントです。<systemitem>LANG</systemitem>環境変数が設定されていない、または、コード・セットがないならば、キャラクタ・セットは<computeroutput>XmFALLBACK_CHARSET</computeroutput>の値です。デフォルトでは<computeroutput>XmFALLBACK_CHARSET</computeroutput>の値はISO8859-1ですが、ベンダーによっては異なった値を供給している場合もあります。</para>
|
||||
</listitem><listitem><para> <literal>#</literal><symbol role="Variable">char_set</symbol> <literal>“</literal> <symbol role="Variable">string</symbol><literal>”</literal>として宣言された文字列の場合、キャラクタ・セットは、<symbol role="Variable">char_set</symbol>です。</para>
|
||||
</listitem><listitem><para> <literal>“</literal><symbol role="Variable">character</symbol><literal>_</literal> <symbol role="Variable">string</symbol><literal>”</literal>として宣言された文字列の場合、キャラクタ・セットはモジュールに<filename>CHARACTER_SET</filename>クローズがあるかどうか、および、UILコンパイラの<filename>use_setlocale_flag</filename>が設定されているかどうかに依存します。</para>
|
||||
<itemizedlist remap="Bullet2"><listitem><para>モジュールに<filename>CHARACTER_SET</filename>クローズがある場合、キャラクタ・セットはそのクローズで指定されているものになります。</para>
|
||||
</listitem><listitem><para>モジュールに<filename>CHARACTER_SET</filename>クローズはないが、<command>uil</command>コマンドが<computeroutput>-s</computeroutput>オプションで開始された場合、または、<filename>Uil()</filename>関数が<command>use_setlocale_flag set</command>で開始された場合は、UILは<filename>setlocale()</filename>関数を呼び出して現在のロケールの文字列を解析します。その結果の文字列のキャラクタ・セットは<computeroutput>XmFONTLIST_DEFAULT_TAG</computeroutput>です。</para>
|
||||
</listitem><listitem><para>モジュールに<filename>CHARACTER_SET</filename>クローズがなく<computeroutput>uil</computeroutput>コマンドが<computeroutput>-s</computeroutput>オプションなしで開始された場合、または、<filename>Uil()</filename>関数が<filename>use_setlocale_flag</filename>なしで開始された場合は、UILコンパイル環境に<systemitem>LANG</systemitem>環境変数が設定されていれば、キャラクタ・セットは<systemitem>LANG</systemitem>環境変数のコード・セット・コンポーネントです。<systemitem>LANG</systemitem>環境変数が設定されていない、または、コード・セットがないならば、キャラクタ・セットは<computeroutput>XmFALLBACK_CHARSET</computeroutput>の値になります。</para>
|
||||
</listitem></itemizedlist>
|
||||
</listitem></itemizedlist>
|
||||
<para>UILは常に<computeroutput>COMPOUND_STRING</computeroutput>関数を使用して指定された文字列をコンパウンド・ストリングとして保存します。この関数は、キャラクタ・セットの文字列表現とオプション指定、方向、文字列にセパレータを追加するか否か、を引き数としてとります。キャラクタ・セットや方向が指定されない場合は、前節で説明したように、UILは文字列表現からその値を取得します。</para>
|
||||
<note>
|
||||
<para>\(バックスラッシュ)で始まる定義済みの特定のエスケープ・シーケンスは、次の例外を除いて文字列リテラルで表示することができます。 – 単一引用符で囲まれた文字列は複数の行にわたることができます。各改行文字はバックスラッシュでエスケープされます。二重引用符で囲まれた文字列は複数の行にわたることはできません。 – エスケープ・シーケンスは、現在のロケールで解析された文字列(ローカライズされた文字列)の中で逐語的に処理されます。</para>
|
||||
</note>
|
||||
</sect2>
|
||||
</sect1>
|
||||
</chapter>
|
||||
BIN
cde/doc/ja_JP.dt-eucJP/guides/i18nGuide/graphics/ind1.cgm
Normal file
BIN
cde/doc/ja_JP.dt-eucJP/guides/i18nGuide/graphics/ind1.cgm
Normal file
Binary file not shown.
BIN
cde/doc/ja_JP.dt-eucJP/guides/i18nGuide/graphics/inint1.cgm
Normal file
BIN
cde/doc/ja_JP.dt-eucJP/guides/i18nGuide/graphics/inint1.cgm
Normal file
Binary file not shown.
BIN
cde/doc/ja_JP.dt-eucJP/guides/i18nGuide/graphics/inint2.cgm
Normal file
BIN
cde/doc/ja_JP.dt-eucJP/guides/i18nGuide/graphics/inint2.cgm
Normal file
Binary file not shown.
BIN
cde/doc/ja_JP.dt-eucJP/guides/i18nGuide/graphics/inint3.tif
Normal file
BIN
cde/doc/ja_JP.dt-eucJP/guides/i18nGuide/graphics/inint3.tif
Normal file
Binary file not shown.
BIN
cde/doc/ja_JP.dt-eucJP/guides/i18nGuide/graphics/inint4.tif
Normal file
BIN
cde/doc/ja_JP.dt-eucJP/guides/i18nGuide/graphics/inint4.tif
Normal file
Binary file not shown.
BIN
cde/doc/ja_JP.dt-eucJP/guides/i18nGuide/graphics/inint5.tif
Normal file
BIN
cde/doc/ja_JP.dt-eucJP/guides/i18nGuide/graphics/inint5.tif
Normal file
Binary file not shown.
BIN
cde/doc/ja_JP.dt-eucJP/guides/i18nGuide/graphics/inint6.tif
Normal file
BIN
cde/doc/ja_JP.dt-eucJP/guides/i18nGuide/graphics/inint6.tif
Normal file
Binary file not shown.
BIN
cde/doc/ja_JP.dt-eucJP/guides/i18nGuide/graphics/inmot3.tif
Normal file
BIN
cde/doc/ja_JP.dt-eucJP/guides/i18nGuide/graphics/inmot3.tif
Normal file
Binary file not shown.
BIN
cde/doc/ja_JP.dt-eucJP/guides/i18nGuide/graphics/inmot4.tif
Normal file
BIN
cde/doc/ja_JP.dt-eucJP/guides/i18nGuide/graphics/inmot4.tif
Normal file
Binary file not shown.
110
cde/doc/ja_JP.dt-eucJP/guides/i18nGuide/preface.sgm
Normal file
110
cde/doc/ja_JP.dt-eucJP/guides/i18nGuide/preface.sgm
Normal file
@@ -0,0 +1,110 @@
|
||||
<!-- $XConsortium: preface.sgm /main/10 1996/08/25 15:12:06 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. -->
|
||||
|
||||
<preface id="IPG.Pref.div.1">
|
||||
<title>はじめに</title>
|
||||
<para><emphasis>共通デスクトップ環境 国際化対応プログラマーズ・ガイド</emphasis>は、デスクトップを国際化に対応させ、アプリケーションが一貫性のあるユーザ・インタフェースでさまざまな言語と文化的規約をサポートできるようにするための情報を提供しています。</para>
|
||||
<para>特にこのガイドは、</para>
|
||||
<itemizedlist remap="Bullet1"><listitem><para>世界中に分散されるアプリケーションの作成方法について、開発者向けのガイドラインとヒントを提供しています。</para>
|
||||
</listitem><listitem><para>デスクトップ内の異なったレイヤに渡って、国際化トピックの全般的な概要を提供します。</para>
|
||||
</listitem><listitem><para>リファレンスやさらに詳しいドキュメントを示しています。標準的なドキュメントが参照されている場合もあります。</para>
|
||||
</listitem></itemizedlist>
|
||||
<para>このガイドの目的は、既存のリファレンスや概念的なドキュメントの複製をつくることではなく、国際化に特有なトピックに関するガイドラインと規約を提供することです。オープンなソフトウェア環境における特定の構成要素やレイヤではなく、国際化トピックに焦点を置いています。</para>
|
||||
<sect1 id="IPG.Pref.div.2">
|
||||
<title>対象読者</title>
|
||||
<para>このマニュアルは、アプリケーション・プログラマと開発者、および、その関連分野の人々を対象として、さまざまなレベルの情報を提供しています。</para>
|
||||
</sect1>
|
||||
<sect1 id="ipg.pref.div.3">
|
||||
<title>マニュアルの構成</title>
|
||||
<para>マニュアルの内容を説明します。</para>
|
||||
<para><emphasis role="Lead-in">第1章「国際化入門」</emphasis>は、ロケール、フォント、描画、入力、クライアント間通信、ユーザ・ビジュアル・テキストの抽出など、デスクトップ内の国際化とローカライズについての概要です。国際化規格の意義についての情報も提供しています。</para>
|
||||
<para><emphasis role="Lead-in">第2章「国際化と共通デスクトップ環境」</emphasis>は、ロケール管理、ローカライズされたリソース、フォント管理、ローカライズされたテキスト・タスク、ローカライズされたテキストに対応したクライアント間通信、国際化対応の関数など、開発者がアプリケーションを国際化対応にする場合に共通して考慮しなければならない一連のトピックを提供しています。</para>
|
||||
<para><emphasis role="Lead-in">第3章「国際化と分散ネットワーク」</emphasis>は、分散ネットワークでのエンコードされた文字の処理に関連するトピックについて論じています。クライアント間の相互運用に関する基本指針や例を示し、国際化に対応した分散環境へと開発者を導きます。</para>
|
||||
<para><emphasis role="Lead-in">第4章「Xt、Xlib、および、Motif依存」</emphasis>には、国際化対応アプリケーション、ロケール管理、ローカライズされたテキスト、国際的なユーザ・インタフェース言語(UIL)、ローカライズされたアプリケーションなどのトピックを提供しています。</para>
|
||||
<para><emphasis role="Lead-in">付録A「メッセージ・ガイドライン」</emphasis>は、メッセージ記述に関する一連のガイドラインです。</para>
|
||||
</sect1>
|
||||
<sect1 id="IPG.Pref.div.4">
|
||||
<title>関連出版物</title>
|
||||
<para>このマニュアルで提供されているトピックに関するさらに詳しい情報は、次の文献を参照してください。</para>
|
||||
<itemizedlist remap="Bullet1"><listitem><para>ISO C: ISO/IEC 9899:1990, <emphasis>Programming Languages --- C</emphasis> (technically identical to ANS X3.159-1989,
|
||||
Programming Language C).</para>
|
||||
</listitem><listitem><para>ISO/IEC 9945-1: 1990, (IEEE Standard 1003.1) <emphasis>Information Technology - Portable Operating System Interface (POSIX) - Part
|
||||
1: System Application Program Interface (API) [C Language</emphasis>].</para>
|
||||
</listitem><listitem><para>ISO/IEC DIS 9945-2: 1992, (IEEE Standard 1003.2-Draft) <emphasis>Information Technology - Portable Operating System Interface (POSIX) - Part
|
||||
2: Shell and Utilities</emphasis>.</para>
|
||||
</listitem><listitem><para>Motif: <emphasis>Motif Programmer's
|
||||
Reference</emphasis>, <emphasis>Revision 1.2</emphasis>, Open Software Foundation,
|
||||
Prentice Hall, 1992, ISBN: 0-13-643115-1.</para>
|
||||
</listitem><listitem><para>Scheifler, W. R., <emphasis>X Window System, The
|
||||
Complete Reference to Xlib, Xprotocol, ICCCM, XLFD</emphasis> - X Version
|
||||
11, Release 5, Digital Press, 1992, ISBN: 1-55558- 088-2.</para>
|
||||
</listitem><listitem><para>X/Open: <emphasis>X/Open CAE Specification System
|
||||
Interface Definition</emphasis>, Issue 4, X/Open Company Ltd., 1992, ISBN:
|
||||
1-872630-46-4.</para>
|
||||
</listitem><listitem><para>X/Open: <emphasis>X/Open CAE Specification Commands
|
||||
and Utilities</emphasis>, Issue 4, X/Open Company Ltd., 1992, ISBN: 1-872630-48-0.
|
||||
</para>
|
||||
</listitem><listitem><para>X/Open: <emphasis>X/Open CAE Specification System
|
||||
Interface and Headers</emphasis>, Issue 4, X/Open Company Ltd., 1992, ISBN:
|
||||
1-872630-47-2.</para>
|
||||
</listitem><listitem><para>X/Open: <emphasis>X/Open Internationalization Guide</emphasis>, X/Open Company Ltd., 1992, ISBN: 1-872630-20-0.</para>
|
||||
</listitem><listitem><para>ISO/IEC 10646-1:1993 (E): <emphasis>Information
|
||||
Technology - Universal Multi-Octet Coded Character Set (UCS). Part 1: Architecture
|
||||
and Basic Multilingual Plane</emphasis>.</para>
|
||||
</listitem></itemizedlist>
|
||||
</sect1>
|
||||
<sect1 id="IPG.Pref.div.5">
|
||||
<title> DocBook SGMLマークアップとは</title>
|
||||
<para>このマニュアルは、DocBook文書型定義(DTD)を使用するSGML(Standard Generalized Mark-up Language)で書かれています。次の表に、さまざまな意味要素に対応するDocBookマークアップを示します。</para>
|
||||
<table id="ipg.pref.tbl.1" frame="topbot">
|
||||
<title id="ipg.pref.mkr.1">DocBook SGMLマークアップ</title>
|
||||
<tgroup cols="3" colsep="0" rowsep="0">
|
||||
<colspec colname="1" colwidth="1.2 in">
|
||||
<colspec colname="2" colwidth="1.89 in">
|
||||
<colspec colname="3" colwidth="2.23 in">
|
||||
<thead>
|
||||
<row>
|
||||
<entry><para><literal>マークアップ表示</literal></para></entry>
|
||||
<entry><para><literal>意味要素</literal></para></entry>
|
||||
<entry><para><literal>例</literal></para></entry>
|
||||
</row>
|
||||
</thead>
|
||||
<tbody>
|
||||
<row>
|
||||
<entry><para><command>AaBbCc123</command></para></entry>
|
||||
<entry><para>コマンド名</para></entry>
|
||||
<entry><para> <command>ls</command>は、ファイルをリストする場合に使用します。</para></entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry><para><literal>AaBbCc123</literal></para></entry>
|
||||
<entry><para>コマンドのオプション</para></entry>
|
||||
<entry><para> <command>ls</command><literal>−a</literal>は、すべてのファイルをリストする場合に使用します。</para></entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry><para><symbol role="Variable">AaBbCc123</symbol></para></entry>
|
||||
<entry><para>コマンド行 (実際の名前や値と置換えます)</para></entry>
|
||||
<entry><para>ファイルを削除するには、<command>rm</command>
|
||||
<symbol role="Variable"> ファイル名</symbol>と入力します。</para></entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry><para><filename>AaBbCc123</filename></para></entry>
|
||||
<entry><para>ファイル名とディレクトリ名</para></entry>
|
||||
<entry><para>自分の<filename>.login</filename>ファイルを編集してください。</para></entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry><para><emphasis>AaBbCc123</emphasis></para></entry>
|
||||
<entry><para>書籍名、新しい単語や用語、強調語</para></entry>
|
||||
<entry><para> <emphasis>ユーザーズ・ガイド</emphasis>の第6章を参照してください。これは、<emphasis>class</emphasis>オプションと呼ばれています。これを実行するには、<emphasis>rootである必要があります。</emphasis></para></entry>
|
||||
</row>
|
||||
</tbody>
|
||||
</tgroup>
|
||||
</table>
|
||||
</sect1>
|
||||
</preface>
|
||||
<!--fickle 1.14 mif-to-docbook 1.7 01/02/96 04:19:51-->
|
||||
Reference in New Issue
Block a user