ConTeXt でのフォントに関係しそうな問題

ConTeXt でのフォントに関係しそうな問題

- でび まる の投稿
返信数: 6
でびまるといいます。ConTeXt について全くの素人ですがたまに目にするので試しています。
次の様な現象があり不具合なのかこちらの問題なのか不明なのでご教示いただければと思います。

1. sample.tex を以下の内容で作成し
\starttext
?` !`
\stoptext
context sample してみると ?` !` のまま出力されます。ネットの情報(や LaTeX だと)逆立ちの疑問符、感嘆符になると思うのですが何か設定が必要でしょうか。

2. typeface.tex を以下の内容で作成し
\setupbodyfont[ipaex,12pt]
\starttext
{\sc Smallcap}
\stoptext
context typeface するとスモールキャップにならないと思います。
しかし \setupbodyfont[ipaex,12pt] をコメントアウトするとスモールキャップになる様です。\it, \bf, \tt, \ss などは問題ありません。どこに問題あるでしょうか。

バージョンは
context --version
mtx-context | ConTeXt Process Management 1.02
となります。よろしくお願いします。
でび まる への返信

Re: ConTeXt でのフォントに関係しそうな問題

- KUROKI Yusuke の投稿
2 のほうだけ,追試できていないのですが,情報を漁ってみた結果をお伝えします:

まず,話を MKIV に限定します.

https://wiki.contextgarden.net/Bold_small_caps

を見ると,

\starttext
\setff{smallcaps} Normal and \bf bold Small Caps.
\stoptext

のように書くことになっているようですね.

ipaex 用の設定は以下のようになっているので,太字のSmall Capsはいざ知らず,NormalのSmall Capsのほうはうまく表示できると信じています.

https://source.contextgarden.net/tex/context/fonts/mkiv/type-imp-ipaex.mkiv

KUROKI Yusuke への返信

Re: ConTeXt でのフォントに関係しそうな問題

- でび まる の投稿
ご返信ありがとうございます。

こちらもネットで情報調べています。まず 1 についてですが
\definefontfeature[f:upsidedown] [dlig=yes]
\addfeature[f:upsidedown]
\starttext
{\tfc ?` !`}
\stoptext
で表示できそうに思います。https://www.contextgarden.net/Featuresets
またコマンド \questiondown, \exclamdown で設定なしで表示できるようです。
最初はリガチャーかと思い試すと 「-- 」、「`` ''」、「ff, fi」など正しく表示されず
\definefontfeature[f:ligatures] [liga=yes]
\addfeature[f:ligatures]
と設定するとリガチャーが効くようです。ただ
\definefontfeature [texligatures] [tlig=yes]
の様な設定もあり tlig, liga の違いなど全く不明です。
(それと左2重引用符「``」だけは上手く行かないような)

2 は確かに type-imp-ipaex.mkiv を見る限り
\definefontfeature
[jp-latin-smallcaps]
[jp-latin-default]
[smcp=yes]
で設定して \definefontfallback[jp-serifcaps]...の中で用いてるらしい
のは分るのですが動いてくれてないと思います。
ご教示いただいた
\setff{smallcaps} Normal and \bf bold Small Caps.
は日本語環境を外してもスモールキャップにならないような?
ただコマンド \cap{SmallCap}で擬似的なスモールキャップにできるようです。
でび まる への返信

Re: ConTeXt でのフォントに関係しそうな問題

- KUROKI Yusuke の投稿
追試し始めていますが,苦戦中です.type-imp-ipaex.mkiv の設定をどこかしら直す必要があるのだと思います.type-imp-texgyre.mkiv や韓国語のものと見比べながら修正するのがよいと思うのですが,まだ解決に至っていません.
KUROKI Yusuke への返信

Re: ConTeXt でのフォントに関係しそうな問題

- でび まる の投稿
ご面倒おかけしてます。

> 韓国語のものと見比べながら修正

type-imp-unfonts.mkiv だと思いますが色々試してみました。
全く理由は分らないのですが、単に比較して
\definefontfeature
[jp-latin-smallcaps]
[jp-latin-default]
[smcp=yes]
の2行目を [jp-latindefault] にするとスモールキャップスになるように
思います。unfonts と同じに [jplatindefault] でも動くようですし
unfonts の設定では [jp-latin-slanted] にも同じ類の違いがありますが
修正が必要なのかは分りません。

見ただけでは jp-latin-default の方が整合性あるような気がしますが
動作確認では上のような状況です。一応報告まで。
でび まる への返信

Re: ConTeXt でのフォントに関係しそうな問題

- 阿部 紀行 の投稿
> 全く理由は分らないのですが、単に比較して
> \definefontfeature
> [jp-latin-smallcaps]
> [jp-latin-default]
> [smcp=yes]
> の2行目を [jp-latindefault] にするとスモールキャップスになるように思います。

[hokumura]にしてもなるので,無効な名前扱いされているのでしょうか?

jp-latin-smallcaps -> jp-latin-default -> jp-default
となっていて,そこのscript=defaultのせいでしょうか.

\definefontfeature
[jp-latin-default]
[jp-default]
[script=latn]

とでもすればよいのかなぁ.(feature何もわからない.)

阿部 紀行 への返信

Re: ConTeXt でのフォントに関係しそうな問題

- でび まる の投稿
> [hokumura]にしてもなるので,無効な名前扱いされているのでしょうか?

二つめの[..]は設定を引き継ぐということらしいので空集合みたいになって
邪魔はしないとか。こちらは難しいので 1 について、少し分ったことを報告しておきます。

?` !` は \questiondown \exclamdown で表示できますが、2重引用符も
コマンド \quotation{ダブル} で左右2重引用符で囲めるようです。
(日本語環境だと「ダブル」になるので {\language[en]\quotation{ダブル}}
にする必要があります。)
unicode/OpenType が標準な時代にリガチャー的にシンボルを定義するのが
もう時代遅れだったかも。

また \setff{smallcaps} Normal and \bf bold Small Caps. が効かない
と書きましたがフォントに依存する様です。
\usetypescript[pagella]
\setupbodyfont[pagella,14pt]
\starttext
\setff{smallcaps} Normal and \bf bold Small Caps.
\stoptext
などだとスモールキャップス、ボールドのスモールキャップスで表示されました。

Wiki に沢山情報はあるのですが肝心なところが分らないような。。。