README for Japanese
===================

This document shows some supplements for Japanese in Japanese.
この文書では日本語で御利用の方のための補足事項が記述されています。

1. 概要

Lynx Version 2.8.3 (と恐らくそれ以降の Lynx) では、2.8.2 以前の
ものと日本語の文字コードの扱いが異なっています。この文書では 
Lynx を日本語環境で利用される場合の固有の設定を簡単に説明します。

特に ASSUME_CHARSET の扱いが変更された関係上、以前と同じ設定で利用
していると従来文字化けしていなかった文章が文字化けしてしまう可能性が
ありますので御注意ください。この点に関しては、この文書の
「4. lynx.cfg の設定」の章を御参照ください。


2. 日本語の文書の新しい処理方法

(1) 日本語で記述された HTML 文書の文字コード (Character-Set) が、
    META 要素、もしくは HTTP の応答で指定されていた場合、文書が
    その文字コードで記述されていると仮定して処理します。

(2) (1) 以外の場合で、ASSUME_CHARSET が shift_jis もしくは euc_jp に
    設定されていた場合、文書がその文字コードで記述されていると仮定して
    処理します。

(3) (1) および (2) 以外の場合、複数の文字コードを用いてひとつの文書が
    書かれていないと仮定して処理します。


3. インストール

インストール時における日本語固有の設定には以下のものがあります。
必要に応じて設定を変更してインストールしてください。

configure オプション
  ・enable-cjk
        千秋氏による主に日本語の処理にかかわる拡張を有効にするための
        オプションです。これらの拡張は今後標準で組み込まれるか、他の
        オプションにより有効にする方針のため、このオプションは将来
        廃止されると思われます。

マクロ
  ・USE_TH_JP_AUTO_DETECT
        前章 (3) の処理を有効にします。
        このマクロは userdefs.h において標準で定義されています。

  ・CONV_JISX0201KANA_JISX0208KANA
        いわゆる半角カナを全角に変換して表示します。
        このマクロは userdefs.h において標準で定義されています。

  ・KANJI_CODE_OVERRIDE
        文書の文字コードをユーザが指定できるようにする処理を有効に
        します。この指定は、META 要素、HTTP の応答、ASSUME_CHARSET 
        で指定された文字コードよりも優先されます。主に文書が間違った
        文字コードを指定していた場合に有効です。文字コードは ^L により
        切り替えることができます。ただし、多くのケースでは不要です。
        このマクロは標準で定義 *されません*。

  ・SH_EX
        千秋氏による一般的な拡張を有効にするためのマクロです。
        このマクロを設定すると、上記 KANJI_CODE_OVERRIDE を有効に
        した場合の文字コードが画面上部に常に表示されるようになります。
        このマクロは標準で定義 *されません*。


4. lynx.cfg の設定

********************   重 要   ********************
lynx.cfg では ASSUME_CHARSET、ASSUME_LOCAL_CHARSET、
ASSUME_UNREC_CHARSET を設定しないでください。
********************   重 要   ********************

Lynx Version 2.8.3 以降では、日本語で記述された HTML 文書の文字コード
が明示的に指定されていない場合で、ASSUME_CHARSET が shift_jis もしくは 
euc_jp に設定されていた場合、文書がその文字コードで記述されていると
仮定して処理するようになりました。

ただし、ASSUME_CHARSET を指定しなくても日本語の文字コードは自動的に
判別され、多くのケースでは適切に処理されます。むしろ、ASSUME_CHARSET 
を shift_jis や euc_jp に指定していると、それぞれ EUC、SJIS で書かれた
文書が文字化けすることがあります。

従って、lynx.cfg 内に、

-------------------- ここから --------------------
ASSUME_CHARSET:euc-jp
-------------------- ここまで --------------------

のように記述されていると文字化けの原因になりますので、特に理由がない
限り、以下のようにコメントアウトするなどして ASSUME_CHARSET が設定
されないようにしてください (ASSUME_LOCAL_CHARSET、ASSUME_UNREC_CHARSET 
についても同様)。

-------------------- ここから --------------------
#ASSUME_CHARSET:euc-jp
-------------------- ここまで --------------------

必要であれば ASSUME_CHARSET はオプションメニュー、もしくは
コマンドラインオプションから変更して下さい。

補足:
ASSUME_LOCAL_CHARSET は Lynx Version 2.8.3 では参照していないかも
しれませんが、将来参照するようになるかもしれませんので、やはり設定
しない方がいいと思います。


5. 日本語が文字化けしたら

すべての日本語で書かれた文書が文字化けするなら、オプションメニューで
「Display Character Set」を「Japanese (EUC-JP)」、もしくは 
「Japanese (Shift_JIS)」に変更して、変更を保存してください。
もしくは lynx.cfg 内で CHARACTER_SET を euc-jp もしくは shift_jis に
設定してください。

一部の日本語で書かれた文書が文字化けするなら、前章「4. lynx.cfg の設定」
を参照し、ASSUME_CHARSET を設定しないようにするか、もしくはオプション
メニューで「assumed document character set」の部分を参照し、shift_jis 
や euc-jp になっていないか確認し、もしなっていたら iso-8859-1 等に変更
して、Lynx が日本語の文字コードを自動判別するようにしてください。

それでも文字化けする場合は、
  ・META 要素、もしくは HTTP の応答で指定されてる文字コードとは異なる
    文字コードで文書が記述されている
もしくは
  ・ひとつの文書中に複数の文字コードで書かれた文字が含まれている
と思われます。前者の場合は文書の管理者に改善を依頼するか、
KANJI_CODE_OVERRIDE を定義してコンパイルした Lynx をお使いください。
後者の場合は残念ですがあきらめてください。
----
2000/3/28 Takeshi Hataguchi <patakuti@t3.rim.or.jp>
