EmacsはAndroidでは2つのフォントバックエンドをサポートしています。これらにはそれぞれsfnt-android
、android
という名前がつけられています。
Emacsは起動時に/system/fonts、/product/fonts、およびEmacsのホームディレクトリーにあるfontsというディレクトリー内にあるTrueType形式フォントすべてを列挙します。Emacsは“Droid
Sans
Mono”という名前のフォントが常に存在すると仮定して、そのフォントをデフォルトとして使用します。これらのフォントはフォントドライバーsfnt-android
によって表示されます。
このフォントドライバーには現在のところOpenTypeフォントとカラーフォントのサポートがありません。したがってEmacsが利用できるのはシステムにインストールされているフォントのサブセットだけです。この制限の克服に興味がある場合には、どうかemacs-devel@gnu.orgに連絡してください。
フォントドライバーsfnt-android
がフォントw見つけられず失敗すると、Emacsはフォントドライバーandroid
にフォールバックします。これはAndroidプラットフォームが提供するフォントメトリックの制限と不正確さによる、非常に貧弱なフォントドライバーです。この場合にはEmacsはシステムで構成されているタイプフェイス“Monospace”(常にDroid
Sans Monoであること)を使用します。
Xシステムの場合と同じように、AndroidにおいてEmacsは変形可能フォント(distortable fonts)をサポートします。(“TrueType GXフォント”、“可変フォント”、“multiple masterフォント”とも呼ばれる)これらのフォントは単一のフォントファイルを用いて“Bold(太字)”、“Italic(斜体)”等のような異なる複数のスタイルを提供します。
ユーザーがインストールした変形可能フォントが見つかると、以前に検出されたフォントが提供していたスタイルは使用されなくなります。加えて新たな変形可能フォントが以前にインストールされた変形可能フォントのスーパーセットであるようなスタイルの場合には、以前インストールされた同じファミリー名をもつ変形可能フォントは無視されます。筆記体フォント(conventional font)が見つかると、同じスタイルとファミリーをもつ以前の筆記体フォントは削除されます。同じファミリーであるような変形可能フォントが提供していたスタイルは使用されなくなります。
Emacsは一般的に‘Monospace’、‘Monospace Serif’、‘Sans Serif’、、‘DejaVu Serif’という名前のファミリーのフォントが存在すると仮定します。Androidはそのような名前のフォントを提供していないのでEmacsがそのようなフォントにたいする要求を、Androidとともに配布されている相当するフォントファミリーセットのいずれかへの要求に変更しています。
置換するフォントファミリーセット、あるいは置換されるフォントファミリーセットのいずれかを変更するためには、変数sfnt-default-family-alist
を変更してください。これは通常は保証されていないことに留意してください。デフォルト、あるいはvariable-pitch
フェイスのカスタマイズは、それらの定義(フェイスのカスタマイズを参照)の変更によって行うほうが適切です。