‘未分類’ カテゴリーのアーカイブ

日本語表現(組版)での文字の問題について簡単なまとめ

2020/08/24

 文字の規格に関して改訂の議論が始まっているので、現在技術的な問題を残していそうな文字のリストを出して欲しいというボールを投げられましたので簡単にまとめてみました。なおどのレベルにどういう形で投げるべき問題なのかはこちらでは細かな分類はしていません。ざっくりとしたリストとして見ていただければと思います。

「全角ダーシ」の問題

 主にDTPデータからの電子化での問題です。私の把握している限りで、DTP等のデータで「ダーシ」として使われている文字は以下のものがあります。

 U+2014(EM DASH)
 U+2015(HORIZONTAL BAR)
 U+FE31(PRESENTATION FORM FOR VERTICAL EM DASH)
 U+2500(罫線素片)

 このうち、U+2014は、フォントによって縦書きで中央に来ないケースが多くあるため、DTPではこれを嫌ってU+2015を使用しているケースが多く見られるようです。
 U+FE31は中央に来るようですが、電子化に際して書き出すと自動で横棒にならず、縦棒のまま残ってしまうため別の文字に置換する必要があります。

さまざまな文字が「ダーシ」として使われている


さまざまな文字が「ダーシ」として使われている

 また、ダーシは1文字幅で使うだけではなく、2文字幅の「二倍ダーシ」として使用するケースが多く見られます。二倍ダーシとして連続入力した場合、U+2014/U+2015ともに文字間に隙間ができるデザインのフォントが多く、これを避けるために本来はダーシとして使うべきでないU+2500の罫線素片を使っているケースがあるようです。これは実質的に現状フォントの指定ができない電子書籍では通常の対応となっているのではないかと思います。
 DTPではU+2015を使い、縦200%の変倍をかけているケースが多く見られるようですが、これは電子化のためにそのままテキスト化すれば変倍の情報が飛んで1倍ダーシになります。このため置換処理が必要となります。さらにU+2015はJIS X 0213外の文字であり、厳密にJIS X 0213内での電子化対応を求める場合※1には何らかの文字に置換しなければならないという問題もあります。

(参考:https://www.youtube.com/watch?v=p9YUx_AeypA

波ダッシュと全角チルダの問題

 Webを含めさまざまな場面で起きている問題です。過去のさまざまな経緯により以下の文字が混用されています。
 U+301C(WAVE DASH)
 U+FF5E(FULLWIDTH TILDE)

 現在多くの商用フォントではグリフで見分けがつきません。このためDTP的には問題は顕在化していませんが、U+FF5EはJIS X 0213外の文字のため、電子化では置換処理が必要になることがあります。なおこれ以外の文字混用問題も別項目で取り上げていますが、このケースはUnicodeの規格のミスなども絡んでいてだいぶ根が深いので単独で挙げておきます。参考リンク先の記述がかなり詳細ですので、この問題の概要はそちらをご覧ください。

波ダッシュと全角チルダはグリフでは見分けがつかない

波ダッシュと全角チルダはグリフでは見分けがつかない

(参考:https://qiita.com/kasei-san/items/3ce2249f0a1c1af1cbd2

和文引用符の問題

 DTPデータからの電子化での問題です。U+201C/U+201Dのダブルクォートは、InDesignの機能によってダブルミニュート※2として表示させることができます。ただし、バックグラウンドで持っている文字情報はU+201C/U+201Dのままなので、電子化に際してテキスト化するとグリフが変わってしまいます。このため置換処理が必要となります。U+301D/U+301Fのダブルミニュートをそのまま使えばこの問題はクリアできますが、これはInDesignの禁則文字に入っていない文字のため、InDesignで禁則文字のカスタマイズが必要となります。

InDesingからテキスト化するとグリフが変わってしまう

InDesingからテキスト化するとグリフが変わってしまう

(参考:https://www.youtube.com/watch?v=p9YUx_AeypA

和文中の欧文引用符の問題

 DTPデータからの電子化での問題です。和文組版では通常、和文中の欧文であっても引用符にU+0022を使わず、U+201C/U+201Dをダブルクォートとして使うケースが多く見られます。同様に、アポストロフィとしてU+2019を使い、U+0027を使わないことも慣例となっているようです。
 これはU+0022/U+0027の字形が「間抜け引用符」などと呼ばれてデザイン的に嫌われたために起きたものですが、U+201C/U+201D/U+2019はUnicode上では全角幅/半角幅で異なるコードポイントを与えられてはいないため、テキストとして書き出した際に不自然なアキが引用符の前後に入るケースがあります。このため、電子化に際してはU+0022/U+0027に適宜置換して対応したりします。これはまた、Kindleが縦組み時にU+201C/U+201Dを強制的にU+301D/U+301Fのグリフで表示してしまうことへの対応策でもあります※3

Kindleでは縦組みでのダブルクォートはダブルミニュートとして表示される

Kindleでは縦組みでのダブルクォートはダブルミニュートとして表示される

グリフで見分けが付かないが使うべきでない文字の混用問題

 Webを含めさまざまな場面で起きている問題です。よく見られるのが「康熙部首」としてUnicodeに収録されている文字(U+2F00〜U+2FD5)を、通常の漢字と混用しているケースや、キリル文字の「А」「В」「С」「Е」「О」「Р」などを通常のアルファベットの文字と混用しているケースです。また、漢字の「二」とカタカナの「ニ」の混用も時々見られます。
 これらはおそらくOCRの誤認識などが混入の原因と思われますが、グリフを目視で見分けて修正することが極めて困難であるため、何らかの機械的な処理で混用を防ぐことが期待されます。康熙部首などは特殊なケース以外では使用されない文字であるため、機械的な1対1の置換でかなりの場合カバーできるかと思います。

康熙部首と通常の文字は見分けがつかない

康熙部首と通常の文字は見分けがつかない

絵文字の異体字表示文字の混入問題

 現在、Web等で絵文字が日常的に使われるようになってきており、それに伴って絵文字の異体字表示文字がDTPの元データや電子書籍のテキストに混入し、意図しない表示結果を引き起こすケースがあるようです。符号位置としてはU+FE00〜U+FE0Fがそれに当たります。

時計数字や丸数字などかつての機種依存文字対応の残滓

 現在、時計数字や丸数字などはその多くがUnicodeに独自のコードポイントが与えられており、テキストとして扱えるようになっていますが、かつて機種依存文字として扱われた経緯があるため、現在でも例えば時計数字の「Ⅳ」をアルファベットの組み合わせの「IV」で入力する等の対応をしているケースがあります。少なくともDTPデータや電子書籍では、アクセシビリティへの正しい対応のために本来のUnicodeの文字を使うべきと思います※4。また、丸数字の外字での対応等も極力控えた方がよいと考えています。

その他問題がありそうな文字

 一部の文字が電子化の際に縦組みで左右中央に来ないため、別の文字に置換したり、場合によっては外字化しているケースがあるようです。確認できている文字は以下の通りです。こういったものはフォントのグリフに依存するため、まだ同種のものがあるかもしれません。
 「•」(U+2022/BULLET)
 「…」(U+2026/三点リーダー)

 以上になります。当然他にも問題のある文字はあるかもしれません。今なら規格側での修正の可能性もあるようですので、どんどん意見を上げましょう。

※1 電書協ガイドでは現在、使用する文字の範囲をJIS X 0213の範囲内とすることを規定している。一部のリーディングシステムが厳密にJIS X 0213内のグリフしか持たないフォントを表示フォントとして採用しているため。

※2 「ノノカギ」「チョンチョン」などと呼ばれることもある約物。

※3 Kindleのみの将来解決されうる問題であるとして許容する解釈もある。

※4 例えば音声読み上げ時に「フォー」ではなく「アイブイ」と読み上げられてしまうため、アクセシビリティ的には問題。

(2020.8.24)

 コメントでご指摘いただいた点に関して修正しました。

(2020.8.25)

電子を含む出版物制作の流れをあらためて考えてみる

2020/02/21

 テキスト系出版物制作の流れを電子を含めてあらためて最適化できないかと考えています。

現状の電子書籍データ制作の流れ 出版社から発売される電子書籍はこれまでほぼ印刷用DTPデータから作られてきました。書籍の制作は実際に本の形に組んでみて、各段階で出力したものに赤字が入り、再校、三校とブラッシュアップされていって最終的に完成に至る、という形で行われるため、完成した状態の最終テキストはDTPデータの中にしか残っていないのが普通です。このため、電子化に際してもDTPデータから注意深くテキストを抜き出す必要がありました。

 ただし、DTPデータを完成させる過程では、(例えば強制改行のような)特殊文字が挿入されたりもしますし、また、組版結果としての見た目は同じでも、オペレーターによって作り方が全然違ったりもします。例えばリストの項目部分だけが別テキストボックスになっているといったようなあまり感心できない作られ方がされているケースも多々あります。このため、電子化に際して自動化による効率化が(InDesign側の作り方に大幅な制限をかけない限り)相当に難しく、結局は個々の本ごとに作業者が判断して多くを手作業によって電子化するというフローにならざるを得ないのが現状です。

いわゆる「ワンソースマルチユース」 それならば最初にXMLを作ってしまい、そこから各型式に変換して作るのが効率が良い、といういわゆる「ワンソースマルチユース」の考え方もかなり前からありますが、ごく一部を除いて商業出版では普及していないかと思います。1冊ごとに例外処理が発生することが多い出版物制作では結局手作業の方が効率が良かった、スキルを持った作業者の確保が難しかった、成果物を目に見える形にしないと完成度を高めづらい、そもそも求めるレイアウトが固定版面を前提に高度に作り込むものなので構造化が困難、など、それぞれの出版社、制作/印刷会社の事情によって原因はさまざまでしょうから簡単にくくることはできませんが、実際一般に定着していないのは確かです。

 そういった機械処理を前提とした最適化がされていないままDTPデータから電子版を作ろうとすれば、正直相当大きな手作業の負荷が制作現場にかかるのですが、そういう手間のかかる状況であるにもかかわらず、電子版は紙の本のせいぜい1〜2割の売り上げしか上げられないというのが現状であるため、「電子版は利益にならないから出さない」という判断をしているケースは現状でもかなり多くあるのではないかと思います(最終決定権は著者でしょうが)。おそらく新刊の電子化率が上がっていかない要因のひとつでしょう。

 また、電子化するとしても、特に最近はサイマル配信(紙の本とのほぼ同時発売)が求められるため、制作側としてコストや納期の面で苦しさを感じる局面が増えてきました。500ページを超えるような難しめの内容の本を「必ず一週間程度で」電子化する、というのは、実のところかなり大きな負担です。構造化されていない全テキストの構造化および注などのリンク設定、さらには底本と引き合わせての確認作業が入るので当然でしょう。最近よくネットなどで言われている「電子版の発売が紙よりもかなり遅れる」原因はここにもありそうです。これは正直今はまだしも、将来にわたって電子書籍制作の業界が長く持続的に成長していける構造ではないでしょう。

 これまでDTPデータから電子版を制作してきたこと、これはまあ仕方がなかったと思います。なにしろ過去に作られた大量のデータがあり、それを電子化することがミッションとされた経緯があるからです。ただ、もし今後も電子書籍と紙の本を同時発売してゆくのならば、おそらくそこは改良の余地があります。そこで、新たな流れをあらためて考えてみました。

最上流としてWebを想定する

 最上流にはWebを想定します。これは最近だいぶ出版関係でもWeb運営を事業として安定的に存続している会社が増えてきたことや、noteのようなプロを含む人気の書き手が集まる投稿サービスの定着「小説家になろう」のようなエンタメ系テキスト投稿サイトの伸張などを念頭に置いたものです。雑誌がどんどん売れなくなっている局面が続いていますので、事前告知のツールとしてのWebは今後ますます重要度を高めてきています。そういう意味でもう最上流にはWebでの告知を考えるのが正しいかなと思っています。いわば雑誌での連載の代わりです。

 ただし、本の種類によっては最初にWebに出すことを想定できないことも当然ありますので、ここはいわば「オプション」です。Webで出すことを想定しない場合はこの後からやればよいです。

Webページのデータを元に「先に」EPUBをつくる

Web から EPUB をつくる さて、このWebページのデータを元に「先に」EPUBを作ります。もちろんソースをコピーして手作業で書き換えもできるわけですが、可能ならある程度自動化したいところです。WebはHTMLやXHTMLの構造化文書なので、ネットからデータを抽出(スクレイピング)してそこから同じ構造化文書であるEPUBへの変換するのはそれなりに効率化できるはずです。特定のCMSで生成された記事だけを対象とする、などターゲットを絞れるならば、半自動変換まで可能でしょう。現状EPUBでは実質一般のWebよりも使えるCSSが制限されているというような事情はあるため、完全自動変換はかなり難しそうですが。

 気軽に変換ができれば出版企画の検討にも使えると思います。「本として出すか出さないかを検討するためにとりあえず電子書籍の形にしてみる」というイメージです。

EPUBの内容をブラッシュアップして完成させる

EPUB をブラッシュアップして完成形にする で、一旦形を作ったあと、書籍化に際しての用語統一や約物類などの統一、必要ならコラム類や図表、注の追加など書籍として販売するための追加編集作業を行います。

 ここで問題となるのがEPUBへ修正指示を入れる方法で、EPUBを気軽にプリントする方法がなかったことが長年EPUB制作上の課題ではあったのですが、VivliostyleでEPUBを気軽にPDF化できるようになりましたのでそこはもうクリアです(参考)。

 Webを起点としない場合は、テキスト等を元としてEPUBを作ることになりますが、その場合でも作業としては少なくともInDesignを元にするよりは楽なはずです。組版調整のために入れられた電子版では不要な要素を目視確認して取り除く、というような作業はいりませんので。

 ただし、ここには一点できれば解決したい技術的な課題があります。それは、現状、電書協ガイド準拠などの商用EPUBの再編集、特に画像や新規挿入やテキストの新規ファイル追加を行う際に気軽に利用できるツールがなく、手動でOPFファイルを編集する必要があることです(manifest追記などを行わないとエラーになる)。その状態だと修正作業を行える人間が限られるため、気軽に再編集ができるツールはあるとよいなと思います。

EPUBからDTP組版用の構造化テキストを変換出力する

完成した EPUB を元に DTP データを作る さて、EPUBデータが完成したらそのテキストを元にDTPデータを作成するわけですが、正直この部分での「完全自動組版」などは想定していません。もちろんフローの最適化、効率化は必要ですが、一般的に商業出版のレベルで求められる成果物はテキストから自動変換で作れるようなものではないと思っています。
 従って、ここでは「EPUBから綺麗な形でInDesin等に流し込める構造化テキストを変換出力する」ことを考えます。ルビと見出しぐらいまでを移行できればよい、後は従来のDTP制作と同じ流れに持って行く、という感じです。

 この目的のためにはAdobe InCopyの保存形式である「ICML」型式が使えそうかなと思っています(ある程度はテスト済みです)。InCopyはInDesignと組み合わせてレイアウトデザインワークとテキスト修正を同時に別の人間がやるために作られたアプリですが、そのための保存形式である「ICML」型式は内部的にXMLなのでEPUB内のXHTMLからの変換が正規表現の力業に頼らずにできます
 制作イメージとしてはあらかじめInDesignのドキュメント内に流し込むためのボックスを作っておき、そこに変換済みのICMLファイルを配置する感じになり、InDesignタグテキストと変わりません。配置直後はInDesign側に編集権限がないため、「埋め込み」の操作をする必要があるのですが、まあそれだけです。

 これだとDTP制作に際して大してメリットがないかのように見えるかもしれませんが、「既に電子版で完成まで行っている」というあたりがポイントになります。つまり、テキストがほぼ完成原稿であり、再校時以降でテキストレベルでの大きな修正が入らないことになります。現状DTP制作では「そうなっていない」ケースが多々あるため、これは実はずいぶん大きな話です。言い換えれば、「テキスト原稿のブラッシュアップのためにEPUBを使う」という話でもあります。

どういうメリットがあるか

 このフローに切り替えた場合、各セクションにどういうメリットがあるかをあらためて挙げてみます。

 まず、出版社にとってですが、

  1. 最上流にウェブを置くことで従来の雑誌連載の代わりとして事前告知の効果を期待できる(必ずしも自社で全てやる必要はない)
  2. EPUBから変換生成されたPDFに赤字を入れて返送という形になるため、従来の本の制作フローの延長として対応できる(その後のDTPでの流れも従来と同じ)
  3. 制作の流れの中でリフロー型EPUBができるため、DTPデータから改めて短期間でEPUBを作成する必要がなく、出版全体のスケジュールに無理がない(確実にサイマル配信ができる)
  4. リフロー電子版を紙版と同じように作り込む感覚に引っ張られずに済む(本来それは求められていないはず)

 というあたりが思いつきます。特に、従来の本の制作フローから大きく変える必要がないあたりはポイントになりそうです。

 電子版の制作会社にとっては、

  1. ウェブからEPUBへの変換なら構造化文書同士のコンバートになるため、かなりの部分を自動化で対応でき、手作業の手間を減らせる
  2. 電子版を紙版と同じように作り込むという本来技術的に無理のある作業からの解放
  3. DTPデータが完成してからごく短時間で電子化、というスケジュールがマストではなくなる

 というあたりがメリットになりそうです。

 DTP制作会社/印刷会社にとっては

  1. 「大幅な赤字の入らないほぼ完成した原稿」からDTPデータ作成作業を始められる
  2. ルビや見出しのレベルまでは無理なくEPUBから持って行ける(それ以上の対応はEPUB側の最適化が必要)
  3. DTPが制作フローの末端になるため、データの再利用を考えずに作り込むことができる

 というあたりでしょうか。

どういう課題がありそうか

 一方で、実際にやるにあたっての課題も結構ありそうです。

 まず、既に挙げましたが、EPUBの修正作業は現状技術的な敷居が高いため、広くやるためには何らかのツールの開発はいるでしょう。とは言えWYSIWYGで修正できるようにするなどという話でもなければそこまでの手間ではなさそうかなと思います。
 また、出版社側を含めて全体の流れの理解はやはり必要と思います。電子版でテキストを完成状態に持って行くという流れが理解されておらず、DTPの段階で大幅な修正が入った場合、手間が大きく増えてフローが破綻しますので。
 さらに、ここには図表制作の話は入っていません。電子版でも図表は当然必要になるので、事前に図表制作は進めておく必要があるでしょう。DTPデータでは使える色の制限も当然出てくるため、電子版とDTP用で色を変える対応も必要になってくるかもしれません。

 以上になります。あくまで大雑把な流れの提案なので、個々のケースではまた違った話は出てくるかとは思います。

(2020.2.25)

指定したURL内&特定タグ範囲の画像をダウンロードしたい

2020/01/23

 ここ数年、Web発の出版物が日本でも目立って増えてきました。昨年のJEPA電子出版アワードの大賞をピースオブケイクのnoteが取ったことに象徴されるように、日本でもようやくWebがかつて雑誌の担っていた「告知」の役割を果たし始めているということだと思います。コミックに関してはもうずいぶん長くそれが続いているのですが、それ以外のジャンルにもどんどん波及し始めたというのがここ数年の新しい動きです。
 さて、そうなってくると、技術サイドとしてもWebサイトからデータを取得し、電子書籍データや最終的には紙の出版物を作るためのルートを整備しなければ、という気分になってきます。ということでここ最近はWebスクレイピングの技術を学び始めているのですが、試行錯誤してどうにか指定したURL内&特定タグ範囲の画像をまとめてダウンロードできるようになったのでメモ代わりに置いておきます。なお、「特定タグ範囲」が今回キモです。サイドバーとかに大量に並ぶアイコン類の画像はあっても困るので。ブログ等で各エントリー部分の画像だけを抽出したいわけです。

ターミナルで

の順で指定すれば画像を一括でダウンロードします。

 最初にHTMLパーサーモジュールでパースし、その後XMLパーサーモジュールで再度パースしています。いきなりXMLパーサーモジュールにHTMLを食わせたらエラーで動かなかったためです。Validでない構文の読み込みには(オプションあるとは言え)弱いということなのでしょう。まあ仕方ない。なお今回初めて使ったモジュール、HTML::Selector::XPathがスゴい便利です。CSSの指定構文で書けばXPathに内部変換してくれるとか素晴らしい。
 今回は抽出テストにこのブログ(システムはWordPress)の過去エントリを使ったので措定範囲が「.post」ですが、ここは抜き出し対象のサイトごとに書き換えが必要になる感じです。変数化して引数で指定できるようにしても良かったけどどういう絞り込み条件があるかわからんのでとりあえずはコレで。
 さて次は本文テキストだぜ・・・。

(2020.1.24)

プロフィール
Jun Tajima

こちらにて、電子書籍&Web制作を担当しています。
このブログは、EPUB3をはじめとした電子書籍制作担当オペレータからの、「電子書籍の制作時にたとえばこんな問題が出てきていますよ」的な「現地レポート」です。少しでも早い段階で快適な電子書籍閲覧・制作環境が整うことを願って、現場からの声を発信していこうと目論んでおります。

当ブログ内の記事・資料は、私の所属しております組織の許諾を得て掲載していますが、内容は私個人の見解に基づくものであり、所属する組織の見解を代表するものではありません。また、本ブログの情報・ツールを利用したことにより、直接的あるいは間接的に損害や債務が発生した場合でも、私および私の所属する組織は一切の責任を負いかねます。