外字をコード変換したい

OrangeLab. 運営チーム
作成日時: - 更新日時:
Avatar

はじめに

こんにちは、メディアフォースの西です。

HULFTの大きな特徴の一つ「コード変換」機能。
HULFTのコード変換は、JIS 第一水準・第二水準・非漢字の範囲をサポートしています。それ以外の文字は外字として扱います。
「㈱」のような機種依存文字や、「髙」のような人名漢字については、外字テーブルという文字コードテーブルを作成することで、文字コードを変換することができます。

今回は、外字テーブルの登録方法をご紹介します。

外字変換の前提条件

「システム動作環境設定」の「外字テーブル使用」の設定値が「する」または「優先」になっている必要があります。


外字テーブル「する」の設定の処理順序

  1. HULFTの標準のコード変換を行う。
  2. 「1」で変換できなかった場合は、外字テーブルを使用してコード変換を行う。
  3. 「1」と「2」で変換できなかった場合は、[外字未登録時処理]の設定に基づいて処理される。

外字テーブル「優先」の設定の処理順序

  1. 外字テーブルを使用してコード変換を行う。
  2. 「1」で変換できなかった場合は、HULFTの標準のコード変換を行う。
  3. 「1」と「2」で変換できなかった場合は、[外字未登録時処理]の設定に基づいて処理される。

外字テーブルの登録方法

外字テーブルの登録方法は以下の2種類あります。
  • HULFT管理画面(外字テーブル登録画面)で登録する。
  • 外字テーブル展開コマンドを使用して登録する。
それでは、下記の場合を例として、登録方法をご説明します。
  • LinuxからWindowsへのファイル転送
  • UTF8からShift-JISへのコード変換
  • 外字(機種依存文字)の「㈱(0 x E388B1)」を「㈱(0 x 878A)」へ変換
  • コード変換は、集信側で行う

HULFT管理画面(外字テーブル登録画面)で登録する

それでは、外字テーブルを登録してみましょう。
  1. コード変換側(Windows側)のHULFT管理画面を起動します。
  2. ツール > 外字テーブル登録 で外字テーブル登録画面を開き、[変換パターン]-[UTF-8→SHIFT-JIS]を選択します。

  3. 入力側に「㈱(0 x E388B1)」、出力側に「㈱(0 x 878A)」を入力後、追加、保存ボタンの順に押下します。
    これで、外字テーブルを登録が完了しました。

  4. HULFTを再起動します。
    設定内容を有効にするには、HULFT管理画面を再起動します。
  5. 転送と結果の確認行います。
    転送をしてみましょう。正常に「㈱(0 x 878A)」に変換されていれば成功です。

外字テーブル展開コマンドを使用して登録する

外字テーブルを画面で登録することはできましたが、大量にある文字を登録するには画面では不向きです。
そのため、HULFTには文字コードをまとめて外字テーブルに登録するための外字テーブル展開コマンドを用意しています。

登録から転送までの手順は大きくわけて、下記の5つになります。
  1. 外字ファイルの作成
  2. 「外字テーブル展開コマンド」を使用して、展開ファイルの作成
  3. HULFTの再起動
  4. 外字テーブルの展開の確認
  5. 転送と結果の確認
それでは、UTF8からShift-JISへのコード変換を例としてご説明します。
  1. 外字ファイルの作成
    UTF-8からShift-JISへの外字ファイルを、下記表のファイル名に従って作成します。



    下記「外字ファイルの作成例(gt8tos.txt)」に従ってテキストエディタを使用して新規作成します。
    なお、作成した外字ファイルは「HULPATH\gtf」内に格納してください。

    外字ファイルの作成例(gt8tos.txt)
  2. 「外字テーブル展開コマンド」を使用して、展開ファイルの作成
    コマンドプロンプトを起動します。
    HULFTインストールフォルダの「bin」フォルダ内に移動し、以下のコマンドを実行します。

      utlgtfextdV -i 8s



    上記を実行することで、作成した外字ファイルがHULFTの外字ファイルの展開ファイルに反映されます。
  3. HULFTを再起動します
    外字テーブル展開コマンドの実行を適用するには、HULFTを再起動します。
  4. 外字テーブルの展開の確認
    HULFTインストールフォルダの「bin」フォルダ内に移動し、以下のコマンドを実行します。
    反映されていることが確認できます。

      utlgtfextdV -o 8s

  5. 転送と結果の確認
    転送をしてみましょう。正常に「㈱(0 x 878A)」に変換されていれば成功です。

便利な外字テンプレートファイルの提供

HULFTでは、よく使用される下記外字コードのテンプレートファイルを提供しています。
  • NEC特殊文字の外字テンプレート
  • JIS2004規格で追加された文字の外字テンプレート
外字テンプレートファイルは「HULPATH\gtf」内に格納されています。
上記テンプレートファイルを活用し、必要な部分を外字ファイルにコピーして使用してください。
その他の外字コードについては、外字ファイルを新規に作成する必要があります。

■NEC特殊文字の外字テンプレート



■JIS2004規格で追加された文字の外字テンプレート

新規に追加されたJIS第3水準および第4水準の文字のうち、Shift-JISまたはUTF-8で用意されている文字を、外字テンプレートファイルとして提供しています。



また、上記の外字変換用テンプレートは、機種によって提供されていない場合があります。

外字変換をするときのポイント

最後に、外字変換をするときのポイントをお伝えします。
  • 過去に外字テーブルを登録済の場合、過去に登録済の外字ファイルの内容を含めてから外字ファイルの編集と展開を行ってください。
    過去に登録済の外字ファイルの内容を含めずに外字ファイルの展開を行うと、過去に登録済の外字テーブルの内容は破棄されます。
  • 配信側と集信側の漢字コード種が同じ場合、外字テーブルを使用した変換はできません。
  • 同じ[漢字コード種]で配信先ごとに異なる外字変換を行うことはできません。
    外字テーブルは[漢字コード種]ごとに一つのみです。同じ[漢字コード種]で配信先ごとに異なる外字変換を行いたい場合は、配信管理情報の[コード変換]を「集信側」に設定して、集信側で、それぞれ外字テーブルを設定してください。
  • HULFTのコード変換は、下記のJIS規格における非漢字・第一水準・第二水準の範囲をサポートしています。

     -[システム動作環境設定]または[詳細ホスト情報]の[JIS 年度]を「 78JIS 」に設定した場合
    • JIS C 6226-1978
     -[システム動作環境設定]または[詳細ホスト情報]の[JIS 年度]を「 83JIS 」に設定した場合
    • JIS X 0208-1983(JIS C 6226-1983)
    • JIS X 0208-1990
    • JIS X 0208-1997
もし外字変換がうまくいかない場合は、上記を参考にして実施してみてください。
この記事は役に立ちましたか?
0人中0人がこの記事が役に立ったと言っています

コメント