読者です 読者をやめる 読者になる 読者になる

It's Not About the IP

- IP(Intellectual Property), Computer Technology, Ocean Life, Triathlon, and more

英数字を半角で書くか全角で書くか問題

ソフトウェアエンジニアの世界では英数字は半角で書くのが当たり前である一方、例えばインターネット上での記事の文章等には英数字を全角で書いているものが散見されます。前者にとって、後者は違和感がある以上に「バカに見える」ことがあり、しばしば話題にあがります。

英数字を半角で書くのが当たり前なソフトウェアエンジニアの世界と、全角で書くのが当たり前な法律の世界とをコウモリのように行き交いする特許の世界に身を置く者として、この問題について書いておくことにしました。

結論からいうと、文化の違いなんでどっちが正しいということはないという話です。

なぜソフトウェアエンジニアの世界では半角なのか

意味が同じなら容量が小さい方が正義だから

半角だと1バイト、全角だと2バイトなので、「1」と「1」とは表現したい意味が同じだとしても、データ容量が倍になります(文字コードにもよるけど)。ソフトウェアエンジニアは、容量や処理負荷をできるだけ下げるように訓練され日々工夫することが当たり前になっています。また、複雑なプログラミング中の冗長な処理や重複した処理を探し出し、少しでも簡略化することを日常的に考えている彼らにとって、明らかにリファクタリング可能な全角数字をそのままにしておくなんて、単なる誤りでしかないのです。彼らは、FizzBuzzをいかにエレガントに書けるか、複雑なプログラムを一行で表現するワンライナーなどに異常なほどの情熱を燃やし、そのことに美学を感じています。これは、ハードウェア性能が潤沢にある状態で2バイトが1バイトになることによって容量圧迫や処理遅延の改善に現実的に寄与するかとは必ずしも関係しません。実利を超えて、もはや習性として、容量が小さく、処理負荷が小さいことは彼らにとって正義なのです。

余談ですが、日本インターネットにおいて、かつては全角6バイトの「(笑)」として表現していたことを半角1バイトの「w」として表現するようになったのは、こういうエンジニア魂から生まれた文化だと思っています。

プログミングの世界で数字と数値は別の意味を持つから

数字としての1と数値としての1とは、プログラミングの世界では全く違う意味を持ちます。プログラミングの世界でのデータには型というのがあって、数字(文字)と数値は別物として扱われるため、別物として扱わないとエラーやバグを引き起こすことになります。例えば、プログラミング上での

251+38

という演算処理は、数字データとして扱うなら出力は「25138」という文字列になりますし、数値データとして扱うなら出力は「289」という数値になります。ちなみに、どっちかだけ数字、どっちかだけ数値とするとこの処理はエラーになります(言語にもよるけど)。

この扱いの違いは、しばしばバグとして現れます。

バグのないプログラムというのは存在しませんので、ソフトウェアエンジニアにとってバグの原因を追究するのは日常業務なわけですが、バグを追っていたら、その原因が数字と数値をごっちゃにしていることだった場合、プログラマーの初歩的なミスとして「あ~あ」みたいな感じになります。また、バグを追っていたら、明らかに文字である全角数字を(ときに直打ちで)数値として代入しようとしている箇所を発見して脱力した、という経験はソフトウェアエンジニアなら大体誰もが持っています。このような経験から、ソフトウェアエンジニアは全角数字を悪とみなしているのです。

プログラミングの世界で、わざわざ全角英数字を使わないといけないシチュエーションというのは、ほとんどないでしょう。このように、ソフトウェアエンジニアにとって全角英数字というのは普段扱わない特別な情報であり、これを扱うことに対して違和感があります。さらに、数値と数字をごっちゃに扱うこと、まして数値としての情報をわざわざ全角数字で表しているものを、「バカっぽい」と感じるのです。

では、なぜ法律の世界では全角なのか

もともとのタイプライターの名残り

いまでは弁護士や弁理士が文書をつくるときにパソコンでワープロソフト等を使って自分で打つのは当たり前ですが、一昔まえには、法律事務所や特許事務所にはタイピストという人が常駐していて、弁護士や弁理士手書きで書いた文を和文タイプライターで打って正式な法律文書をつくっていました。こういうタイプライターで打てる文字というのは、すべて全角だったのです。半角は存在しませんでした。だから、数字だろうが英字だろうが、全角で打たざるを得なかったのです。

その後、パソコンが普及し、全角と半角との双方を一文書の中で扱えるワープロが登場するわけですが、従来の法律文書というのは前述のようになんでもかんでも全角でした。

法律実務の世界というのは、基本的に前倣えの世界です。名文化された法律は絶対であり、判例は神様であり、偉い学者の学説は聖書です。いち法律実務家が、これらを無視して逸脱した理論を構築するのは、例え筋が通っていても、法律や神様や聖書による裏付けがなければ、少なくとも実務の世界では「根拠のない独自の理論だ」として一蹴されるのです。彼らにはこういう世界観があります。

このため、例え形式的なものであるにしても、従来の法律文書で全角で扱っていて何事もなかったことを、パソコンが普及したからといってわざわざ半角に変えるような特別なことをするのは、法律実務の世界では無駄な冒険なのです。

しかも、その後、インターネットが普及して例えば特許の世界でもオンライン特許出願ができるようになり、専用回線を通じてデジタル文書による特許出願書類の提出が認められるようになりましたが、この文書内に半角文字が入っているとエラーとして弾かれて提出できなかったようです。それでもどうしても数字や英字を半角文字として打ちたい場合には、半角文字の間を半角スペースで埋めて、例えば「patent」を「p a t e n t 」のように打てば通っていたようです。今考えるとすごいナンセンスですが、そういう制約に縛られた時代があったのです。

このような歴史から、法律の世界では、ソフトウェアエンジニアの世界とは逆に、文書中にわざわざ半角を打つメリットがなかったのです。

現在でも、新聞会社等がやっているインターネット上でのニュースサイトでの記事中でURLを示す英字が全角で書かれていて、アホじゃねーのと思うことがありますが、これは新聞社や出版社などでも、同じような理由から歴史的に文字を全角を扱っていた名残なのです。

このように日常業務的に全角英数字を打つ世界の人は、ふだんのブログ書くときなんかも自然と全角になるという話ですね。私のこのブログも、なんだかんだソフトウェアエンジニアから特許業界に転職した直後の2007年頃から書いていて、最初の方のエントリでは半角英数を使ってますが、特許の世界に入り浸るに連れてだんだん全角が増えてきます。

というわけで

それぞれに理由があって、これはもう別に、どっちが良いとか悪いとかいうわけじゃない、宗教論争というか自転車置場の議論の類ですね。

ただまあ、私見ですが、特許明細書で地の文の英数字を全角で書くのはもう慣れましたけど、先行文献としてURLを記載することがありますが、ここを全角で書くのはナンセンスで半角で書くべきだと私は思います。また、明細書中の英字略語には括弧書でフルに書くというのが慣例ですが、これも地の文ではまあ例えば「PC」と全角で書くとしても、括弧書の中は全角で「PC(personal computer)」とか書かずに半角で「PC(personal computer)」と書くのが自然だし読み易いし正確だと思いますけど、どうですかね。