HOMEこのサイトについて新着情報作成編入稿編整理編ソフト関連リンク


文字データがおかしい時のQ&A

Q8-2 丸数字と思われる箇所に曜日が入っているようだが、なぜ?

A8-2 機種依存文字が原因。大量置換ツールで置換するのが手っ取り早い

 下の図のように、いわゆる「NEC外字」を採用している機種やフォントで入力された丸数字は、いわゆる「通産省外字」を採用している機種やフォントだと括弧付き曜日として表示されます。逆に「通産省外字」で入力された丸数字は、「NEC外字」では半角の記号となります。

丸数字の文字化け

 「通産省外字」を使用している機種・フォントであれば区点コード13区の文字を09区の文字に置換、同様に「NEC外字」を使用しているなら09区の文字を13区の文字に置換する必要があります。大量置換ツールで上記などよくあるケースの検索・置換テーブルを作るのが手っ取り早いと思います。

 なおMacでは、PSフォントに「NEC外字」が、TrueTypeフォントに「通産省外字」が使用されていますから、設問のケースの場合はTrueTypeフォントが選択されていると思われます。PSフォントに変更すれば正しく丸数字が表示され、かつプリントされます。
 アップル標準日本語文字セットは「通産省外字」を採用しているため、Mac用機種依存文字変換ツールを使うとTrueTypeフォント用に変換されて、かえって間違うことがありますから注意してください。
 また、ATMフォントがインストールされてない環境またはフォントでは、実際には半角記号である09区がOSAKAに代用されて丸数字が表示されることがありますから、これまた要注意です。
(参考→Q1-21「『機種依存文字』って何?

大量の検索・置換に役立つ次のようなソフトやスクリプトがあります。

 ※これらは「役立つソフト」のページでも紹介しています。

(記/小国文男、情報/Ogo、野本夏俊)

▲TOP <<BACK


Q8-3 全体的に正常のようだが、文章的におかしい文字が含まれている。文字化けか?

A8-3 堯、槇、遙、瑤、凜、熙の6文字をチェックしてみる

 記号類などの機種依存文字に問題がなくても、文脈上で変な文字が含まれることがあります。注意すべきは外字です。これらは記号類などに文字化けすることが多いので比較的見つけやすいのですが、やっかいなのは別の文字に化ける場合です。特に、次の6文字は外字の文字化けとして表示される可能性をもっています。

 堯 槇 遙 瑤 凜 熙

 これらは文字コード表の区点コード84区に置かれているものですが、1983年および90年にJIS規格で移動または追加された文字です。とりわけワープロ専用機で、メーカーや機種によってはこの84区を外字エリアとして使用しているものがあります。この場合、たとえば区点8401に登録した外字を使用すれば、DOS変換を経たテキストファイルでは「堯」と表示されることになります。

 文章の脈絡なくこの6文字があれば、単なる誤植ではなく文字化けの可能性があると考え、チェックするとよいでしょう。

(記/小国文男)

▲TOP <<BACK


Q8-4 行頭スペースは活かす? 削除する?

A8-4 組み方との関係でケースバイケース

 行頭スペースを活かすかどうかは、文字組みの方針によって違ってくると思います。
 いずれにしても、持ち込まれたテキストファイルの行頭には、全角スペースに見えても半角2個であったり、OSによっては制御コード(特にLF)が含まれることがありますから、よく整理することが必要です。
 一般に、ベタ組みをする場合は、行頭スペースを削除してレイアウトソフトの「第1行インデント」を使用すると、上記による行頭トラブルが起こりません。
 詰め組みをする場合は、「第1行インデント」の数値を正確に出すことが難しく、スペースを使用する方が簡単でしょう。この場合は、行頭スペースを全角スペースに統一しておくことが大切です。

 行頭スペースを整理するTipsは次の通りで。すべて一括置換でOKです。

  1. 改行コードに続くスペースを検索する方法
     検索:改行コード+全角スペース、または半角スペース2個
     置換:改行コードのみ(スペース削除)、または全角スペース

  2. 正規表現を利用する方法
     検索:^+スペース、または半角スペース2個(^は行頭を表します)
     置換:なし(削除)、または全角スペース
    (※注/正規表現の記述方法は、ソフトによって若干の違いがあります)

  3. 制御コードを利用する方法
     改行コード変換に対応しないタイプのエディタなどでは、画面に制御コードを表示した上で、それを含めて検索対象にすれば行頭だけが対象になります。たとえばMac用テキストエディタYooEditでは、DOSの改行コード(CR+LF)のうちのLFが、「∧J」のように表示されます。そこで、次のような方法もあります。
     検索:行頭制御コード(∧J)+全角スペース、または半角スペース2個
     置換:なし(削除)、または全角スペース
正規表現が利用できるエディタ  ※これらは「役立つソフト」のページでも紹介しています。
(記/小国文男、情報/難波義昭&Ogo)

▲TOP <<BACK


Q8-5 テキスト中の数字、半角と全角を一括して置き換える方法は?

A8-5 大量置換ツールを使えば簡単

 数字の全角(2バイト)→半角(1バイト)、半角→全角の置き換えは、検索・置換をひとつひとつやっていては手間がかかります。エディタによっては全角英数を半角にまとめて置換するなどの機能をもっているものもありますし、12個以上の検索・置換が同時に可能な大量置換ツールを使用すれば簡単です。
 大量置換ツールで、次のような全角→半角(または半角→全角)の検索・置換セットを作って登録しておけばよいでしょう。コンマやピリオドも忘れずに。
全角→半角 0→0 1→1 2→2……9→9 ,→, .→.
半角→全角 0→0 1→1 2→2……9→9 ,→, .→.
次のような大量置換ツールがあります。
 →Q8-2参照

 ※これらは「役立つソフト」のページでも紹介しています。

(記/小国文男)

▲TOP <<BACK


Q8-6 テキスト中の数字、一括して漢数字に置き換える方法は?

A8-6 単純な置き換えは簡単。単位語を含む漢数字変換スクリプトもある

 算用数字を漢数字に置き換える場合、それが十、百、千、万などの単位語を使わない場合ならさほど問題はありません。数字をそれぞれ一、二……などに置換すればよいわけで、これは大量置換ツール(→Q8-2参照)を使えば簡単にできます。
 問題は十、百、千、万などの単位語を使用する場合です。これは検索・置換ではできません。このケースに対応しているスクリプトに「スージーさん」があります。3桁ごとにカンマで区切られた1バイトの算用数字を、単位語を含む漢数字に置き換えられます。

 ※「役立つソフト」のページでも紹介しています。

(記/小国文男、情報/野本夏俊)

▲TOP <<BACK


Q8-8 音引きが ハイフンで代用されていた。効果的に置換する方法は?

A8-8 かなに続くハイフンを音引きに置換する

 音引き(ー)がハイフン(−)で代用されているテキストを整理するには、次のようなTipsがあります。
 音引きは、そのほとんどがカタカナで使用されます。意図的に平がなで使用されることもありますが、いずれにせよかなで使用される場合に限られます。したがって、かなの後に続くハイフンを音引きに置換すればよいことになります。
 ただし「ア−1」など、かなに続くハイフンでも音引きにしてはいけないものがありますから注意が必要です。

 検索置換には、大量置換ツールか正規表現を利用するのが便利です。

  1. 大量置換ツールの場合は、「あ−→あー」「い−→いー」……と、すべてのかなについて検索・置換セットを作ります。

  2. 正規表現を使用した検索・置換の場合は、
     検索:{[ぁ-ヶ]}{−} (かなに続くハイフンを検索)
     置換:\1ー (1番目の対象文字はそのままで2番目を音引きに)
     とすればよいと思います。(※注/正規表現の記述方法は、ソフトによって若干の違いがあります)
 テキストに「ア−1」などの例が含まれなければ上記の通りでOKですし、含まれる場合はそれらを別の記号などに置き換えてから上記を実行するようにします。
 なお、意図的に音引きを連続させたり(つまり連続ハイフン)、半角ハイフン(-)が使用されることもあります。テキストに合わせて検索対象を工夫するとよいでしょう。

音引きとハイフンを整理する次のようなスクリプトがあります。

大量の検索・置換に役立つ次のようなソフトやスクリプトがあります。
 →Q8-2参照

正規表現が利用できる次のようなエディタがあります。
 →Q8-4参照

 ※これらは「役立つソフト」のページでも紹介しています。

(記/小国文男、情報/難波義昭&平田昇治&Ogo)

▲TOP <<BACK


Q8-9 ハイフンが音引きで代用されていた。効果的に置換する方法は?

A8-9 正規表現検索・置換と逐次検索・置換を併用する

 Q8-8とは逆の場合です。縦書きハイフンを音引きで代用する例がよくありますが、もちろん横組みでもあります。置換すべきは、半角ハイフン(-)または全角ハイフン(−)、あるいはハイフンではなく「――」とさまざまです。置換文字はケースに応じて対応するとして、ここでは全角ハイフン(−)に置換するTipsを紹介します。

 正規表現に対応した検索・置換を利用するのが最も効果的でしょう。まず、かな以外の文字の後にくる音引きはハイフンの間違いとして一括置換します。残るかなの後ろの音引きは、ハイフンの置き換えの場合と正しい音引きとに区別してセットを作るのが難しいので、逐次検索して目で確認しながら置換します。

 正規表現の検索・置換セット
検索:{[^ぁ-ヶ]}{ー} (^は否定を表す。かな以外の文字に続く音引きを検索)
置換:\1− (1番目の対象文字はそのままで2番目をハイフンに)
ただしこれでは、「音引きとは(ー)です」という場合も−に置換されますので注意してください。(※注/正規表現の記述方法は、ソフトによって若干の違いがあります)
 なお、このケースを連続置換ツールで行うのはかなり手間です。正規表現が使えない場合は、ハイフンを対象にした逐次検索・置換で対応する方がよいでしょう。

正規表現が利用できる次のようなエディタがあります。
 →Q8-4参照

 ※これらは「役立つソフト」のページでも紹介しています。

(記/小国文男、情報/Ogo)

▲TOP <<BACK


[BACK]

監 修

データ入稿「困ったちゃん」プロジェクト(C)1998