Webツールにさまざまな文章を入力するとき、まさか他人のPDF書類からコピペしている人はいないと思うが、最近、このコピペを検出するWebサービスが増えている。
PDF書類にもテキストデータが埋め込まれているが、質の悪い生成アプリでは、康熙部首という記号のコードを混在させてしまうことがある。これが検出されてしまうのだ。
「使用できない文字」のアラート。「大」ほか“普通の文字”も使えないの?
Webページにテキストを入力するとき、長めのものは直接入力せず、「メモ」アプリなどを使って文章を作っておき、校正も済ませてからコピー&ペーストするという方は多いはず。このとき、機種依存文字などを使わないようにしなければならない、というのは多くの方がご存じだと思う。
機種依存文字などを使ってしまうと、多くのWebページが「xxの文字は入力できません」という警告を出してくれる。
最近SNSで、この制限がきつすぎるWebページが話題となった。公的機関や就活、転職、職探しサイトなどに多いようだ。たとえば、某サイトの実例を見ていただきたい。機種依存文字などに警告が出されるのはわかる。しかし、このサイトでは「大、力、足、自、言、一、人」などのごくありふれた漢字に対しても警告が出るのだ。「どうやって入力しろと言うんだ!」と話題になっている。

このような目にあった人は、PDF書類からコピペしている可能性が高い。最近のPDF書類は優秀で、紙書類をスキャンした場合でもテキストを選択してコピーできることがある。しかし、PDFからのコピーは、先ほどの例のような問題を起こすことがあるのだ。
別々の文字コードで管理される「康熙部首」と「漢字」
いったい何が起きているのか。「康熙部首」という言葉を聞いたことがあるだろうか。漢字辞典を引くときは、漢字の部首(ヘンやカンムリ)を頼りに探していく。その漢字辞典で採用される部首は、中国の康熙字典に採用された214部首であることが多い。
先ほどの問題になった文字を思い出していただきたい。「大、力、足、自、言、一、人」は部首でもあるが、ひとつの独立した漢字でもある。この部首を表す部品は、一般的な漢字とは別の領域に割り当てられている。具体的にはコードで2F00から2FDFまでの領域に存在する。
ここで重要なのは、たとえば「大」という文字は「大きい」という意味の漢字だから、漢字文字の領域にも存在する。一方、部首でもあるから康熙部首の領域にも存在する。つまり、同じ形だがコードの異なる文字として2つ存在するわけだ。これが混乱を招いている。
なぜ、ユニコードはこんなトラブルが起こりそうな作りになっているのだろうか。それは康熙部首というのは漢字を分類するうえでのタグのようなものなので、漢字と同じく画数順にコードを連続させて管理する必要があるからだ。康熙部首はあくまで記号であり、漢字を探したいときは漢字の領域である4E00から9FFFまでを検索すればいい。PDF生成アプリ側が部首と漢字をしっかりと区別すれば、「同じ形の文字が2つある」という混乱は起きないはずだ。


PDFアプリによっては漢字を康熙部首として保存してしまう
ところが、この問題をきちんと処理しないPDF生成アプリが存在する。紙書類をスキャンしてPDF化する際、その文字が何であるかをOCRで読み取り、一文字一文字に文字コードが記録されていく。これにより、PDF書類でもテキストを選択してコピーができるようになる。
しかし、できの悪いPDF生成アプリを使うと、読み取った文字と似ている文字を単純に検索してしまう。文字コード順に検索すると、漢字(4E00から)よりも康熙部首(2F00から)のほうが先に存在するため、「大」という形の文字を漢字ではなく、康熙部首のほうのコードを保存してしまうのだ。
一方、最近のWebはセキュリティ対策のため、文字以外のものが入力されると警告して受け付けないようになっている。文字以外の、たとえばエスケープコードなどの入力を許してしまうと、そこからサーバコマンドなどを入力され、Webサーバがハッキングされる危険性があるからだ。
つまり、冒頭の「一般的な漢字の入力を受け付けてくれない」現象は、おそらくPDF書類をコピペして入力したことで、漢字ではない康熙部首が混入しているのではないかと思われる。
康熙部首を混在させないために。使うべきアプリは?
Macでは、Pagesなどの主要アプリからPDFへの書き出しができる。この機能を使う限り、このような康熙部首の混在は起こらない。Pagesからプリントを選んで「PDFとして保存」を選んだ場合も同様だ。
これらの処理は、すべてAppleが開発したQuartz描画エンジンが担っている。このQuartzは優秀で、PDFのコードに康熙部首を混入させてしまうようなことはない。また、QuartzはiOS、iPadOSにも搭載されているため、iPhoneの「メモ」アプリを使って紙書類をスキャンした場合も、正しいコードでテキストがコピーできる。また、Adobe系のツールもこのような問題に正しく対応できるのは当然のことだ。
問題はWindowsでPDF書類を作成した場合だ。たとえば印刷機能を使って「PDFを作成する」機能を使ったとき、「Microsoft Print to PDF」という標準プリンタドライバが使用されるが、康熙部首の問題を考慮していないため、コードの混在が起きてしまう。最新のWindows 11ではかなり改善されているものの、過去に作成したPDF書類ではこのような混在が起きている可能性がある。
またWindowsのWordでは、直接PDF書き出しができる機能がある。こちらも改善がかなり進んでいるので、Windowsユーザには利用をおすすめしたい。
将来的なAI活用に向けて。PDF書類の“作り方”には要注意
現在、企業では将来のAI導入に向けてさまざまな方法で社内書類の保存と蓄積を進めていることだろう。このような作業をするには、Macを使うか、Adobe系のツールを使うことが必須だ。
康熙部首が紛れ込んだPDF書類は、検索の精度が落ちる。「能力」という単語を検索しても、PDF書類上で「力」が康熙部首に置き換わっていると、当然検索には引っ掛からない。また、AIは学習するときに漢字の「能力」と康熙部首が混ざった「能力」は別の単語と認識するため、学習コストが高くなり、出力結果の精度も落ちることになる。
このように汚染されたPDFを蓄積していると、社内AIを構築するうえで大きな障害になりかねない。重箱の隅をつつくように見えて、意外に影響の大きい問題なのだ。
最近、Webページの入力ボックスで康熙部首をチェックする仕様になっているのは、ひょっとしたら入力内容をAIに解析させたいという狙いがあるのかもしれない。あるいは、単純に「PDFからコピペするようなズルはしないでね」ということかもしれない。
大学生のみなさんは、課題レポートをつくるときによく確認しておこう。ひょっとしたら、指導教官は康熙部首チェックにかけて、コピペしていないかどうかを調べているかもしれない。また、最近多いのが「**能力**を向上させるには」という「*」が混入したテキストだ。これはAIが出力したMarkdown方式(*は太字の指示)で、AIにやらせてコピペしたのが丸わかりになってしまう。ズルをするのにも、それなりの知恵が必要になるのだ。


おすすめの記事
著者プロフィール
牧野武文
フリーライター/ITジャーナリスト。ITビジネスやテクノロジーについて、消費者や生活者の視点からやさしく解説することに定評がある。IT関連書を中心に「玩具」「ゲーム」「文学」など、さまざまなジャンルの書籍を幅広く執筆。








