2012年1月8日日曜日

文字化けを防ぐために特許実務者が最低限知っておくべきこと

Microsoft WindowsとMicrosoft Word(以下、WindowsとWordと略記)は、グローバルなビジネスを支援するために多言語対応が進んでおり、世界中の極めて多数の文字を表示することができる。今では、特別な設定をしなくても中国の漢字、ハングル、アラビア文字などを表示することができる。
 
しかし、日本特許庁(JPO)のコンピューターシステムはWindowsやWordを使用しておらず、日本語文化圏において使用される主要な文字のみを表示できるように作られている。同様に、米国特許庁(USPTO)と欧州特許庁(EPO)はそれぞれ、英語文化圏とヨーロッパ言語文化圏において使用される主要な文字のみを表示できるシステムを使用している。

従って、Windows上のWordで表示できる文字のごく一部しかJPO、USPTO、またはEPOのシステムでは使用できず、それ以外の文字を使用した場合にはエラーまたは文字化けが発生する。

また、誰かにファイルを送る際に、自分が相対的に新しいバージョンのWindowsやWordを使用している場合には、自分のパソコンで正しく表示された文字が、相手のパソコン上でも正しく表示され、正しく印刷されるとは限らない。

特に厄介なのが、人間の見た目には同じ文字がコンピューターでは全く別の文字として処理されているということである。例えば、アルファベットの「A」、ギリシャ文字のアルファ「Α」、キリル文字の「А」、全角アルファベットの「」は、人間にとってはどれも同じだが、コンピューターにとっては全く異なる文字である。同様に、マイクロの「µ」、ギリシャ文字のミュー「μ」、シンボルフォントのエム「」も全て異なる文字である。

USPTOとEPOでは、全角アルファベットの「」やシンボルフォントのエム「」を使用することはできないし、JPOではマイクロの「µ」やシンボルフォントのエム「」を使用することはできない。なお、海外では日本ほどテキストデータによる電子出願が浸透しておらず、米国や欧州の代理人は、印刷物またはそれをスキャンしたPDFを提出しているようである。しかし、外国代理人のパソコンやプリンターで文字化けする可能性もあるので、一般的でない文字は使用しない方が無難である。

どの文字が使用できて、どの文字が使用できないかを理解するためには、「文字コード体系」、「文字コード」、「フォント」、および「字形」について理解する必要があるが、専門的な話になるのでここでは取り扱わない。

覚えておくべきことは、各国特許庁のコンピューターシステムには、それぞれ使用できる文字と使用できない文字があり、ワープロの画面上で見分けることは非常に困難ということである。特に、長い文章中の使用できない文字をチェックするためには、何らかのプログラムを利用する必要がある。

一つの解決策として、Wordマクロの使用方法を解説する。Wordマクロとは、ユーザーがWordをカスタマイズするための一種のプログラムである。すべてのWordマクロは、「Sub」で始まり「End Sub」で終わる。特許庁規定外の文字を赤で表示するWordマクロとCenturyフォントで表示できない文字を赤で表示するWordマクロを以下で解説する。JPOに提出する書類を前者でチェックし、外国代理人に送る書類を後者でチェックするとよい。

まず、マクロをWordに設定する方法を説明する。Wordを起動させた状態でキーボードの「Alt」を押しながら「F11」を押すと、下図のような画面が立ち上がる。
 

左上の「プロジェクト」と書かれたウィンドウの「Normal」の部分を右クリックし、「挿入」メニューの「標準モジュール」を選択する。

下図のような空白のウィンドウが立ち上がる。
ここに下記の2つのマクロ全体をコピー&ペーストする。 



Sub 特許庁規定外の文字を赤で表示()
'
' JPOunacceptedCharacter Macro
'
'
    Selection.Find.ClearFormatting
    With Selection.Find
        .Text = "[!
 ^13\!-~-龠ぁ-んァ-ヶ0-9Α-Ωα-ωА-Яа-яЁё─-╂╋A-Za-z、。,.・:;?!゛゜´`¨^ ̄_ヽヾゝゞ〃仝々〆〇ー―‐/◆□■△▲▽▼※〒→←↑↓〓∈∋⊆⊇⊂⊃\~∥|…‥‘’" & ChrW(8220) & ChrW(8221) & _
            "
()〔〕[]{}〈〉《》「」『』【】+-±×∪∩∧∨¬⇒⇔∀∃∠⊥⌒∂÷=≠<>≦≧∞∴♂♀°′″℃¥$¢£%#&*@§☆★○●◎◇∇≡≒≪≫√∽∝∵∫∬ʼn♯♭♪†‡¶]"
        .Replacement.Text = ""
        .Forward = True
        .Wrap = wdFindContinue
        .Format = False
        .MatchCase = False
        .MatchWholeWord = False
        .MatchByte = False
        .MatchAllWordForms = False
        .MatchSoundsLike = False
        .MatchFuzzy = False
        .MatchWildcards = True
    End With
    Do While Selection.Find.Execute
    Selection.Range.HighlightColorIndex = wdRed
    Loop
End Sub

Sub Century
で表示できない文字を赤で表示()
'
' SelectedUTF8Character2 Macro
'
'
    Selection.Find.ClearFormatting
    With Selection.Find
        .Text = "[!
 ^13\!-~ " & ChrW(161) & "-" & ChrW(383) & ChrW(402) & ChrW( _
            506) & "-" & ChrW(511) & ChrW(710) & ChrW(711) & ChrW(713) & ChrW( _
            728) & "-" & ChrW(733) & ChrW(894) & ChrW(900) & "-" & ChrW(974) & _
            "Ё-яё-" & ChrW(1119) & ChrW(1168) & ChrW(1169) & ChrW(7808) & "-" & _
            ChrW(7813) & ChrW(7922) & ChrW(7923) & ChrW(8211) & "-―" & ChrW(8215 _
            ) & "-" & ChrW(8222) & "
-" & ChrW(8226) & "…‰′″" & ChrW(8249) & _
            ChrW(8250) & ChrW(8252) & ChrW(8254) & ChrW(8260) & ChrW(8319) & _
            ChrW(8355) & ChrW(8356) & ChrW(8359) & ChrW(8364) & ChrW(8453) & _
            ChrW(8467) & "№" & ChrW(8482) & ChrW(8486) & ChrW(8494) & ChrW(8539) _
             & "-" & ChrW(8542) & "
-" & ChrW(8597) & ChrW(8616) & "" & ChrW( _
            8710) & ChrW(8719) & "
" & ChrW(8722) & ChrW(8725) & ChrW(8729) & _
            "
√∞∟∩∫" & ChrW(8776) & "≠≡" & ChrW(8804) & ChrW(8805) & ChrW(8962) & _
             ChrW(8976) & ChrW(8992) & ChrW(8993) & "
─│┌┐└┘├┤┬┴┼" & ChrW(9552) & _
             "-" & ChrW(9580) & ChrW(9600) & ChrW(9604) & ChrW(9608) & ChrW(9612 _
            ) & ChrW(9616) & "-" & ChrW(9619) & "
■□" & ChrW(9642) & ChrW(9642) & _
             "-" & ChrW(9644) & "
" & ChrW(9658) & "" & ChrW(9668) & ChrW(9674) _
             & "
○●" & ChrW(9688) & ChrW(9689) & ChrW(9702) & ChrW(9786) & "-" & _
            ChrW(9788) & "
♀♂" & ChrW(9824) & ChrW(9827) & ChrW(9829) & ChrW(9830 _
            ) & "
" & ChrW(9835) & ChrW(64257) & ChrW(64258) & "]"
        .Replacement.Text = ""
        .Forward = True
        .Wrap = wdFindContinue
        .Format = False
        .MatchCase = False
        .MatchWholeWord = False
        .MatchByte = False
        .MatchAllWordForms = False
        .MatchSoundsLike = False
        .MatchFuzzy = False
        .MatchWildcards = True
    End With
    Do While Selection.Find.Execute
    Selection.Range.HighlightColorIndex = wdRed
    Loop
End Sub


下図のようになるはずである。


下図のように、プルダウンメニューに2つのマクロのタイトルが表示される。既に自動で保存されているので、この画面はもう閉じて構わない。

では、今設定したマクロを実際に使ってみよう。

 

Word2003の場合

1.[ツール] メニューの [マクロ] をポイントし、[マクロ] をクリックする。
2.[マクロ名] ボックスで、実行するマクロの名前をクリックする。

試しに「特許庁規定外の文字を赤で表示」を選んでみよう。
3.[実行] をクリックする。 

 

Word2007またはWord2010の場合

まず、[開発]タブがない場合には表示させる必要がある。
Microsoft Word 2010で [開発] タブを表示するには
1. Wordを起動する。
2.[ファイル] タブをクリックする。
3.[オプション] をクリックする。
4.カテゴリ ペインで [Ribbon のユーザー設定] をクリックする。
5.メイン タブの一覧で、[開発] を選択する。
6.[OK] をクリックして、[オプション] ダイアログ ボックスを閉じる。
Word 2007で [開発] タブを表示するには
1. Wordを起動する。
2.[Microsoft Office] ボタンをクリックする。
3.[Word のオプション]をクリックする。
4.カテゴリ ペインで [基本設定] をクリックする。
5.[[開発] タブをリボンに表示する] を選択する。
6.[OK] をクリックして、[オプション] ダイアログ ボックスを閉じる。

7.[開発]タブが表示されたら、[マクロ]ボタンをクリックする。
8.[マクロ名] ボックスで、実行するマクロの名前をクリックする。

試しに「特許庁規定外の文字を赤で表示」を選んでみよう。

9.[実行] をクリックする。

下図のように、幾つかの文字が赤のマーカーで表示される。これらは特許庁で使用できない文字である。


赤く表示された文字を修正する。一度赤く表示された箇所は、文字を入れ替えても赤い色が消えないが、これはWordのマーカー機能の特性であり、文字の種類とは関係がない。全ての文字の修正が終わったら、すべてを選択し、マーカーの色を消す。

実は、これらのマクロは完璧なものではなく、「特許庁規定外の文字を赤で表示するWordマクロ」は「特許庁で使用できない漢字」をチェックすることはできない。その理由を理解するためには、文字コード体系についての理解が必要になるので、ここでは説明しない。また、Centuryフォントで表示できない文字であっても使用できる文字は沢山あるし、Centuryフォントで表示できれば外国代理人に送ったときに絶対問題が起きないというわけでもない。

それでも、完璧でないことを理解した上でこれらを利用すれば、非常に便利な道具となるであろう。

以上