• 合成文字のはんらん CHAPTER Ⅱ

さて、今回は前回の続きで、プログラムで合字を制御するところを見ていくことにしよう。Wordでは、合字の制御が細かくできなかった。今回は、プログラムを作って、細かくOpenTypeの合字を制御してみる。プログラムは、一応、筆者のGitHubリポジトリに置いた。コードを直接書き直して動かすものなので、プログラム自体は、さほど面白いものでもない。

作成したのは、.NETのWPF(Windows Presentation Foundation)プログラムで、Visual Studio 2022で作成を行った。もともとのプログラムの意図は、Windows TerminalのCascadiaフォントのプログラマ向け合字(Coding Ligature)、について調べるものだった。

プログラムとしては、4つの同じ文字列に対して、4つの合字特性


liga    標準合字
clig    コンテキスト合字
dlig    任意の合字
hlig    歴史的合字

と“calt”(Contextual Alternates。コンテキスト代替)を指定して、表示させるもの。比較用に別のフォントで同じ特性指定を行うようにしてある(写真01)。

  • 写真01: 作成したプログラムは、もともと、Windows Terminalと、同時に開発されたCascadia Codeフォントのプログラマ向け合字(Cording Ligature)の機能を調べるためのものだった。「コンテキスト代替」(calt)を指定したときだけCording Ligatureが表示される

Cascadia Codeフォントでは、プログラマ向けに「!=」を「≠」などとして表示する機能がある。等倍フォントなので、見た目は、1文字(グリフ)だが、2文字分の範囲に表示される。

Cascadia Codeフォントプロジェクトのリポジトリにある解説(Cascadia CodeプロジェクトリポジトリのREADME.md)には、この機能は、“Cording Ligature”とあるが、OpenType上の特性(Feature)は、“calt”だった。

前掲の画面写真では、5番目のみCording Ligatureになっている。後半の“x =”の後ろでも、“www”の上辺がカーブしている、あるいは“***”の中央のアステリスクが少し上に配置されている。上は、純粋なCascadia Codeフォントで、下は、そのバリエーションの1つでNerdフォントのシンボルを含むもの。GitHubやGimp、Linuxなどの「キャラ」文字グリフが含まれている。

これを改良して、合字の表示を制御させてみたのが、(写真02)である。Cascadia Codeを表示したものとの違いは、フォントサイズや例示する文字列など。簡単なチェック用に作ったため、Visual Studioを動かしたまま、コードを書き換えて表示を変えている。

  • 写真02: Palatino Linotypeフォントでは標準合字(liga)か有効になったとき、合字表示が行われ、末尾の位置が微妙に前になる。Windows標準ではないが、Google開発のNoto Serifフォントでも同様だった

Palatino Linotypeフォントでは、標準合字(liga)のときのみ合字表示でff、Fl、ffiの幅が狭くなる。これにより、末尾のパイプ文字の位置が微妙にずれる。Cascadia Codeフォントは、モノスペース(等幅)だったので、合字の有無に関わりなく、末尾の位置はずれないが、このフォントは、プロポーショナル(可変幅)なので、合字があると位置がずれる。位置がずれるのは標準合字のときのみで、他の合字やcaltのときには、末尾の位置は同じになる。

これに対して、筆記体系のSegoe Scriptでも標準合字が有効になっている(写真03)。さらによく見ると、caltでも微妙に末尾の位置が違う。よく見ると、Coffeeの最後のeやFloat最後のtのストロークの終わりの形が異なっている。

  • 写真03: こんどは、筆記体のSegoe Scriptフォントで試してみると、標準合字(liga)だけでなく、caltでも末尾のパイプ文字の位置がずれた。よく見ると、単語末尾(スペースの前)にあるストロークの終点の位置が異なっている

プログラムからは、合字などのOpenType特性を細かく制御できる。筆記体文字では、caltを有効にすると、スペース前の単語の切れ目の感じが良く出ている感じがする。印象が異なると感じる人もいる。微妙な違いなので、全然、気にならないという人もいるだろう。同じものを見たとしても、立場や着目点が異なれば、違って見えてくるものだ。

今回のタイトルネタは前回と同じく「合成脳のはんらん」(エスエフ世界の名作シリーズ 岩崎書店、1967年)である。筆者は、かなり前に原作のペーパーバックを入手した。邦訳で表紙にもあった、アメーバ状で一つ目にギザギザの歯がついた「合成神経細胞群塊」こと「ゴセシケ」が原作でどう書かれているのかが、ずっと気になっていたからだ。

なんと驚くことには、翻訳の「合成神経細胞群塊」は、“Cluster of synthetic neurons”であり、作られた生物は「ゴセシケ」ではなく「Frog」と呼ばれていた。よく見るとペーパーバック版の表紙(写真04)にカエルの絵が描いてある。

  • 写真04: 「合成脳のはんらん」の原作「THE CYBERNEIC BRAINS」。米国の古書店から通販で入手したペーパーバック版。表紙下方、人物に重なる部分に「Frog」が描かれている