なんでやねんDTP・新館

はてなダイアリーから移行しました…

文字コードで区別できる注意したい文字たち

私の場合、JIS X 2013: 2004(04JIS)の例示字形変更に対応した「N付き」書体を使用していても、書籍組版などで要求される表外漢字を「いわゆる康煕字典体」とするには、まだまだ字形を置き換える処理が必要だと考えています。
例えば、下の画像の(参考)部分に一部を掲げてあるように、83JISで簡易字体に例示字形を変更されたモノのうち「表外漢字字体表」外だったので、04JISでもママ放置されたモノたちです。



が、それ以外にもとりあえずは処理しておきたい字種として以下の39字があります。

  • 上が従来から収録されていた字形、下が「いわゆる康煕字典体」
  • 但し、「瘦」の場合は改定常用漢字表に採用されたのは簡易の「痩」なのでご注意を…


(以下コピペ可かと…)
唖焔鴎噛侠躯鹸麹屡繍蒋醤蝉掻騨箪掴填顛祷涜嚢溌醗頬麺莱蝋攅/倶剥叱呑嘘妍屏并痩繋
啞焰鷗嚙俠軀鹼麴屢繡蔣醬蟬搔驒簞摑塡顚禱瀆囊潑醱頰麵萊蠟攢/俱剝𠮟吞噓姸屛幷瘦繫


JIS X 0208 第2次規格(83JIS)で例示字形を変更され、第4次規格(97JIS)で包摂されたが、JIS X 0213で包摂分離された29字(スラッシュの前部分)と、「いわゆる康煕字典体」が大幅に採用されたJIS X 0213の平成16年改正(04JIS)で、ユニコードとの兼ね合いから新たに別コード位置に追加された10字(スラッシュの後ろ部分)です。
前者は、(その拡張文字集合である)JIS X 0213でいずれも別コード位置に復活しています。つまり、両者共に文字コードで区別できるモノです。
※青文字部分はコメント欄でのご指摘により間違いを修正(2019.07.01 ご指摘ありがとうございました)


これらは、印刷標準字体(nlck)を適用すると置換できる場合もあるのですが、そうでない場合もあります。
予めテキスト段階などで文字コードを置き換える処理をしておくのが賢明でしょう。


少し説明しますと、以下が、適当な書体を使用し、(上の1行目=簡易字体に)印刷標準字体(nlck)を適用した結果です。

  • 黄色バックになっているのが置き換えられたモノ
  • 小塚のProはAJ1-4なので「妍/并」は仕方なし


つまり、書体に依っては「N付き」か「Nなし」かによって結果が異なる場合があるということです。
例えば、字形パネルで印刷標準字体(nlck)を表示してみるとよくわかりますが、明らかに字種が異なります。


筑紫明朝Pr6 R

  • 「啞鷗嚙」などは「簡易字体」が表示されていますし、「焰」は見当たりません

筑紫明朝Pr6N R


筑紫明朝の場合は、Pr5当時は同じだったモノが、変更されています。
参照
また、ヒラギノ明朝の場合はさらに事情が異なります。
参照


このように、書体に依り複雑な紐付けの差異がありますので、文字コードで区別可能なモノはそのように処理するのが妥当だろうと考えます。
※主にNなし書体の場合に異なりがありますが、いずれにせよ……ということです。

InDesignで組む2倍ダーシ

ある人気小説の後日談に登場する「怒っていた件のおじさま」*1本人として、InDesignを使用アプリケーションとしたDTP組版時の2倍ダーシ(ダッシュ)の実現方法を纏めておきます。


一般的に使われている文字としては3種類あります。


  • U+2014(―:EM DASH)は、フォントによって位置も長さも異なります
  • U+2015(―:HORIZONTAL BAR)は、天地センターにあるもののフォントによって長さが異なります
  • U+2500(─:横細線素片)は、天地センターにあり長さも1字分丁度で、太さにもほとんど差はありません
  • 縦組み時には、それぞれが自動的に縦横変換されるのは確認しました


一見するとU+2500がイイ(あるいは使いやすい)と感じられるかも知れませんね。
ちょっとU+2500で組んでみましょうか(以下は主にリュウミンを使用)……


  • 私個人の感覚でしかありませんが、隣接する文字によっては窮屈に感じてしまいます(赤バック=仮想ボディサイズは下線設定をカスタマイズして…)


ですので、私が担当する組版では少し短めのU+2015を使用して、(文字送り方向に)200%として2倍ダーシを実現しています(この例ではヒラギノ明朝)。


  • ダーシのみは別フォントを使用するということが多いといえます(もちろん1倍の場合もね)


もし、テキストデータ流用などの都合でU+2015×2の状態を保持する必要があるなら…


  • 200%×2とした上で双方を選択した状態で「2字取り」として処理すれば大丈夫です(但し、フレームグリッドの場合という条件はありますが…*2


しかし、なんらかの制約などにより、U+2500を使わなければならない環境にあるなら、「分離禁止」の対象となっていない*3ので、行長調整のアキが割り振られる可能性があることをお忘れなく。

  • 5字分の左右幅で1字分の延ばし調整処理が発生しています

画像はプリセットの「弱い禁則」を使用しています。
U+2015は「分離禁止文字」に登録されていませんが、(登録されている)U+2014同様に行長調整のアキは割り振られてはいません(情報パネルで見るとU+2014もU+2015も「分離禁止文字」となっています)。

禁則処理セットの「分離禁止文字」はあくまでも「分割禁止文字」であり、「行末/行頭に分割されない」という禁則対象でしかなく、段落パネルメニューの「分離禁止処理=ON」時に「分割禁止処理」がされます。
本来の「行長調整のアキを配分する対象としない」という意味での「分離禁止文字」はアプリケーションレベルで定義されていると考えられます。
※この件について、詳しくはこの記事その次あたりをご参照ください。
もちろん、U+2015やU+2500を「行末/行頭に分割されない」ようにするには「分離禁止文字」に登録する必要があります。
蛇足になるかも知れませんが、U+2014がプリセットの「強い禁則」の「行頭禁則文字」に登録されていることもお忘れなく。

      • -

この辺り、少し理解が間違っていました…【新たに「分離禁止文字」に登録した文字の連続は、「分割禁止」かつ「分離禁止」となります】ので、上に記したU+2500も登録さえすれば行長調整のアキは割り振られることはないでしょう。(20170911追記)

      • -

また、情報パネルで「その他の和字」となっているU+2500には、欧文/英数字との間に「和欧文間隔」が発生することも忘れてはなりません(環境設定の「CIDベースの文字組みを使用」のON/OFFに関わりなく発生します:プリセットのアキ量設定では四分アキ)。


  • アキを入れたくなければ「文字組みアキ量設定」をカスタマイズするか、「文字前(後)のアキ量」などで調整する必要があります


なお、2倍ダーシの部分に源ノ角ゴシックを代用することも可能ですが、(和文中では)やはりU+2015の使用が適切でしょうね(GSUBの機能によって適切な字形に自動的に置き換えてくれる:3字分まで対応)。

  • U+2500には和欧文間隔が発生していませんが、うっかりカスタマイズした「文字組みアキ量設定」を使用した結果です…悪しからずご了承くださいませ和文扱い同士なので和欧文間隔は発生しませんね

※何もする必要がないので、ホントはこれが一番ラク
但し、上にも記したようにU+2015を行末/行頭に分割されないようにする(「分割禁止禁則」)には、禁則処理セットの「分離禁止文字」に登録する必要があります。


  • U+2014は登録済み、かつ強い禁則では「行頭禁則文字」にも登録されています

*1:正確には「おじいさん」であろうか…

*2:テキストフレームでもテキストサイズで字取りを実現する裏技はあるにはありますが…ここではスルーしておきます

*3:ユーザーにはどうしょうもありません…その理由は作例の下に…

謹賀新年…

新年のご挨拶代わりに…

  • 年賀状を出す習慣は既に何十年も前に捨ててしまいました


  • 上記、ウエイトは「M」の間違いです…寛恕願います…
  • 以下はすべて「ベタ組み」




  • 万葉行書と白舟極太行書の関係については…→参照頁

InDesignの各種スペース

InDesignでは「書式メニュー」の「スペースの挿入」から様々なスペースが挿入可能です。

それらの字幅や挙動について、色々と気になることがありましたので、少し調べてみましたので、
その結果をここに公開しておきます。

一般的な全角スペース(和字間隔)・半角スペース(英文スペース)および件のメニューから挿入されるスペース類は「書式メニュー」の「制御文字を表示」*1をONにしておくと目視で確認できます。

  • フォントに依存しない字幅をもつスペースは「国」と「国」の間に全角分になるように複数入力してあります
  • 例えば1/3スペースは3個、細いスペースは1/8幅なので8個…前後の2文字と合わせて3文字分の幅になっています
  • 半角スペース(欧文スペース)の字幅はフォントに依存します…決して半角幅ではありません

右に例示してある文字列は「オブジェクトメニュー/オブジェクトサイズの調整」から「フレームを内容に合わせる」としてあります(以下の画像では1列目)。

その幅を少しでも狭くすると……(右例2列目)
欧文スペースと和字間隔以外は、内容すべてがオーバーフローとなりますので、前後の文字と「分割禁止」となっていると判断できます。

また、末尾の「国」を削除して文字+スペースのみにし(右例3列目)、
左揃えの状態でフレーム幅を文字サイズと同等とすると……(右例4列目)
和字間隔以外は、オーバーフローとなりませんので、行末吸収されると判断できます。

  • 但し、欧文スペース以外は行中では分割禁止となりますので、実質的には段落末ではということなのですが…まぁ、普通は削除しますよね。
  • もちろん、「全角スペースの行末吸収=ON」なら「和字間隔も」ということになります。

●以下のスペースの字幅はフォントに依存します。
「数字の間隔」と「句読点等の間隔」は英数字とピリオド/コンマなどの字幅(フォントに依存)と同等となりますので、以下のような数字の桁合わせなどの場合に重宝します(もちろん表組み内でも有効)。

  • タブの設定自体に問題はありますが、例示のためとご勘弁ください……

次の4種は基本的な字幅(フォントに依存)は同じですが、挙動にやや差異があります。

(欧文スペース以外の)分散禁止スペース2種とフラッシュスペースは前後の単語(文字)と分割禁止(行末/行頭に分割されない)…
分散禁止スペース(固定幅)は前後の単語(文字)と分離禁止(行長調整のアキを挿入しない)…
フラッシュスペースは行長調整のアキを一手に引き受ける…

…ということが、以下の画像から判断できるでしょう。

  • 左の一番下の色付け部分は間違っています…その次のスペースが正…
  • 画像を修正し差し替えました(2015.12.29)

このため、フラッシュスペースは以前にtweetした以下のような用途にも利用可能です。

*1:先の画像の一番下の項目