biboma»自己防衛

Registered 2022.01.10

目次

結論から言うと、最初にルールを決めましょう

このページでは電子納品における禁則文字(使用禁止文字)のチェック方法や対処方法などをズラーっと解説していますが、正直なところ面倒です。全部スキャンして画像にしてしまえ、と思うこともあります。

すでにこの件の現場を去りというか、分野の違う仕事をしているので、現状を知りません。

いまだにこの件でネット検索される方がいるのがわかっているので、以下に残しておきます。

ただ、どの程度まで対応するか、はじめに決めないと終わらない作業になります。

管理技術者の方、「私はよくわからない。要領(案)が絶対だから対処して」はパワハラになるからやめてください。

お役所の文書も禁則文字(使用禁止文字)を使いまくり

かつて建設コンサルで電子納品用のメディア作成についてマニュアルを作成し、社内講習を担当していました。

そのため、電子納品時期はいろんな部署から引っ張りだこ、というか自分たちでやってくれって感じでした。

農林水産省板のチェックソフトが公開される以前のとある業務にて、業務終了の1時間半前、「明日納品のもので、CALS用のデータでエラーがいっぱい出て部署全員で対応中なんだけど、分かる人の増員が欲しい」とか言われお手伝いすることになり、上司ともども手伝いに行きました。

作成するときからCALSを意識していないため、禁則文字は当たり前の報告書を目の当たりにし、日付も超えた午前3時頃には弊社作成分のファイルはすべて対処できたところで、ラスボス発見!

それが「お役所の文書」です。様式化されたものなのですが、これが禁則文字がないページがない!という代物。

ここで全員、開放感から絶望感へ変わり、午前5時まで作業を進め、ついに管理技術者から「やめよう」の言葉が出て作業終了。

以降、CALS講習はOJTに組み込まれ、毎年講習会を行うことになりました。

使用禁止文字・禁則文字チェックの方法

最も簡単で単純な方法は、「文字列検索と置換」です。これならどんなアプリでもできる操作です。

ただし、力業のため時間と労力がかかります。

その昔、電子納品作成支援アプリ「GeoXML」のフリー版というものがあり、MicrosoftのWord及びExcelで使える使用禁止文字チェックマクロが搭載されていました。しかし、現在は有償ソフトウェアのようです。

というか、GeoXMLもマクロで動くんだから、自力でマクロを組んでもよさそうですね。

フォント埋め込みのチェック方法

MicrosoftのWordとAdobeのAcrobatでは以下の操作で確認ができます。

MicrosoftのWord

Microsoft Wordでは、そのファイル中で使用している全ての書式を見ることができるので、それを利用します。

  1. Word2019ではホームリボン「スタイル」から「オプション」を選択してください。
  2. 表示されたスタイルウインドウオプション画面のうち、「使用中の書式」を選択します。

この操作を行なうと、使用中の文書内で定義している書式を一覧表示します。この一覧中に特殊フォントがある場合、その箇所を修正します。

しかし、数式エディタで作成した数式やオブジェクト内の文字は、「スタイルと書式」で検索できません。

AdobeのAcrobat

Acrobatでは、文書のプロパティから確認することができます。

  1. メニューバー「ファイル(F)>文書のプロパティ(D)>フォントタブ」を選択します。
  2. フォント名の横に「埋め込みサブセット」があると、そのフォントは埋め込まれていることになります。

埋め込まれたフォントは「PDFの最適化」で消すこともできますが、明朝体などの日本語フォントやsymbolなどの特殊フォントは削除できません。

その場合は、オリジナルファイルから処理を行なってください。

対処方法1.見た目を変更する

囲み英数字

Microsoft Word2019でごまかす方法です。

  1. 数字の1を半角数字で入力します。
  2. それを選択状態にし、ホームリボン「フォント>>囲い文字」を選択します。
  3. 「囲い文字」画面で詳細情報を選択したら「OK」をクリックして、文字の見た目を変更します。

最後に、行間や文字の位置などを編集すると行内に収まります。

見た目だけ変えているので、PDF文書の検索時は囲まれた文字を検索対象にします。例えば、「○」と「1」を組み合わせた場合、検索されるのは「1」だけです。

ローマ数字

ローマ数字は、アルファベットのI(アイ)、V(ブイ)、X(エックス)を組み合わせ、フォントの文字間隔を変更するとIIIIVIXと表示させることができます。

問題は読み上げ機能を使うと、IIIは「あいあいあい」と読み上げることでしょうか。また、PDF文書の検索時は、ローマ数字ではなくアルファベットで検索しないと引っかかりません。

単位記号

単位cmやm2は、c とm を組み合わせてcm、m と2 を組み合わせてm2(2 はフォントの文字飾り「上付き」)と表示させることができます。

これを応用すると大体の単位は表現できます。

また、m3/sのように分数式の場合は、数式エディタを使用するときれいに仕上がります。

PDF文書の検索時は、単位記号で検索しても引っかからないので、アルファベットや数字の組み合わせで検索してください。

省略文字/囲み文字/年号

(株)などは、そのまま「(」+「株」+「)」で書くしかありません。1文字で表示したい場合、文字間隔をつめてそれっぽく表示させると良いでしょう。

また、丸に囲まれた文字は囲み英数字と同様の手法で表現できます。

これも、PDF文書の検索時は、組み合わせた文字列で検索する必要があります。

数学記号

基本的にどうにもなりません。

「なぜならば」の場合「・.・」というように点で書いたあと、文字間隔をつめて表現する。「差分」の場合は「△」の文字を斜体にする。その程度しか思いつかないです。他はかなり難しいので画像に置き換えることが一番簡単でしょう。

よくやる対処方法

  1. Microsoft Excel2019のセルを正方形にして文字を打つ。
  2. そのセルを選択し、ホームリボン「クリップボード>図のコピー」を選択する。
  3. 「ビットマップ形式」」で出力する。
  4. Microsoft Wordに貼り付け、行内に配置する。
  5. 画像のトリミングとフォントの文字間隔や位置を設定する。

これでそれっぽく見えるようになります。

画像に置き換えると、PDF文書では文字列として扱いません。画像は画像です。PDF文書の文字列検索時は無視されます。

対処方法2.イメージデータに変更する

オブジェクト扱い

電子納品が始まった頃の要領(案)では、WordやExcelの場合「テキストボックス」などのオブジェクト内に使用禁止文字(禁則文字)を書く方法がありました。しかし、PDF化すると、オブジェクト内の文字を「文字」として認識できる為、使用禁止文字(禁則文字)チェックでエラーとなります。

画像に変換

  1. Microsoft Excel2019上の「画像にしたい範囲」を選択状態にします。
  2. ホームリボン「クリップボード」をクリックし、「図のコピー」を選択します。
  3. 図のコピーウインドウが表示されたら、「形式:ビットマップ」を選択します。
  4. 「OK」をクリックすると、ビットマップファイルがクリップボード上へ作成され、Word へ貼り付けることができるようになります。

この場合、「オブジェクト」から「ビットマップ画像」に変換されるため、禁止文字チェックの対象にはなりません。

画像である為、文字としては認識されないので文字列検索ができません。また、解像度の問題や読み上げの問題が発生します。

対処方法3.数式エディタの場合

数式エディタ内の「スタイル定義に表示されるフォント」の中に特定のフォントが存在する場合、フォントの埋め込みが発生します。symbolフォント等の特殊なフォントに問題があるので、フォントそのものを変更する方法が有効です。

  1. 数式エディタで書かれた数式上をダブルクリックし、「スタイル(S)>スタイルの定義(D)」を選択します。
  2. 表示されるウインドウ内のフォントから、Symbolフォントを別のフォントに変更します。

また、どうしても特殊なフォントを使用しなくてはならない場合、画像に置き換えることもできますが、画像なので文字列検索で検索できません。

  1. 数式上を右クリックし、「コピー」を選択します。
  2. 画像加工ソフト(ペイントなど)を起動し貼り付け、サイズの修正等をした後、画像ファイルとして保存します。
  3. Word上で作成した画像を呼び出します。

対処方法4.DocuWorksから変換する

FUJI XEROXのDocuWorksからPDFを作成すると、symbolフォントなどの特殊なフォントを含め、埋め込まれたフォントがなくなります。

symbol等の特殊フォントで表示されていたデータは文字列扱いにはならないので、PDF文書内の文字列検索で検索することはできなくなります。また、画像としても扱われないようです。

お判りいただけましたか、本当に面倒なのですよ!

このページのはじめのほうで「私はよくわからない。要領(案)が絶対だから対処して」をパワハラ呼ばわりした意味がお判りいただけましたか。

どうあがいても文字に関して完全対応させるなら「全部スキャンして画像化」なのですが、「PDF内の文字列検索ができなくなる」ことを考慮すると、1つ1つ手作業や確認作業が必要なのです。

人に指示を投げるのは構いませんが、現実を理解して許容範囲を設定すべきだと思います。

トップへ