XeLaTeXでフォントが認識されない

XeLaTeXでフォントが認識されない

- wisteria の投稿
返信数: 10
このたびWindows10に買い替え、インストーラ3でLaTeXをいれました。
さて、XeLaTeXを試したのですが、最初から\Windows\Fontsに入っている
フォントは認識されますが、追加したフォントは\fc-chace -r -vを行っていますが見つからないと認識されません。
このフォントを\texmf-dist以下の\fonts\truetypeに入れれば、
フォント名でなく.ttfの拡張子まで含めたファイル名で行うと
認識されます。
解決法を御教示ねがいます。

wisteria への返信

Re: XeLaTeXでフォントが認識されない

- Akira Kakuto の投稿
(1)
$TEXMFDIST/fonts/conf/
なるディレクトリに local.conf.dist というファイルがあります。
そのファイルを,同じディレクトリで local.conf という名前の
ファイルにコピーします:
copy local.conf.dist local.conf

(2)
コピーしたファイル local.conf を編集します。ファイルを
見たら,どうすれば良いかわかるようになっています。
ファイルの最後が

</fontconfig>
となっていて,その上に空いた場所がありますから,その場所に
Example で示してあるようなものを適当に訂正して書けば OK
です。その後

fc-cache -v

とします。(しなくても XeTeX が自動的にしてくれるが,
時間がかかる)。
Akira Kakuto への返信

Re: XeLaTeXでフォントが認識されない

- wisteria の投稿
角藤先生ありがとうございます。
local.confにC:/windows/Fonts
他にtrutypeとopentypeのデレクトリを書いて
fc-chacheを行いましたが
やはり追加でC:\Windows\Fontsに入れた新しいフォントは認識されません。
かえって最初から入っていた
たとえば「游明朝」とフォント名でできていたものがファイル名でないと認識されません。游ゴシックはYuGothR.ttcで認識されます。
もともと入っているアルファベット名のものはフォント名のままで認識されます。
wisteria への返信

Re: XeLaTeXでフォントが認識されない

- wisteria の投稿
local.confのexampleは
c:/win32tex/shareとスラッシュで区切っていましたが
Windows機なので逆スラッシュ\でないとだめなでしょうか

wisteria への返信

Re: XeLaTeXでフォントが認識されない

- Akira Kakuto の投稿
local.conf には,
c:/windows/fonts
は書かないで下さい。これ以外の場所を追加するのが
local.conf です。

Windows 機であっても,ディレクトリセパレータは
例のように"/" (スラッシュ) を使って下さい。

フォントの名前に関して,一番確実なのは
fc-list  :  file  postscriptname  >font.list
とすると,font.list なるファイルに例えば
c:/windows/fonts/YUGOTHB.TTC: :postscriptname=YuGothic-Bold

のように
ファイル名のフルパス: :postscriptname=PostScriptName
なる出力がありますから,ポストスクリプト名,上の例では
YuGothic-Bold
を使うことです。

好みによって
fc-list  :  file  fullname  >font.list
とすると,例えば
c:/windows/fonts/YUGOTHB.TTC: :fullname=Yu Gothic Bold,游ゴシック Bold
のような出力が得られます(UTF-8 で出力されることに注意)。
これは名前として
Yu Gothic Bold
るいは
游ゴシック Bold
を使ってもよいことを示しています。
ソースに漢字名を使うとき,UTF-8 で書かなければいけないことに
注意して下さい。
Akira Kakuto への返信

Re: XeLaTeXでフォントが認識されない

- wisteria の投稿
ありがとうございます。
「游明朝」と日本語で認識できなかったのは私のミスでした。
他のフォントはfont.listを参考に使用していきます。

ただ、後で追加インストールした例えば、FreeSerif,Quiviraなどは
font.listに出てきません。

フォントのインストールはダウンロードしてデスクトップにあるファイルを
C:/Windows/Fontsにドラッグする方法で行っています。
以前のWindows7機ではこれで認識されていました。
これらのフォントはBabelMapでは認識されています。
フォントビュアーのnexusfontでは認識されていません。

FreeSerifをw32tex以下のfonts\truetypeに新たにいれれば、
コンパイルできます。




wisteria への返信

Re: XeLaTeXでフォントが認識されない

- Akira Kakuto の投稿
fc-list  :  file  family  >font.list
とすると,
c:/windows/fonts/YUGOTHB.TTC: Yu Gothic,游ゴシック
のような出力がありますが,これが通常の使用法で\textbf{...}
などで別のスタイルのフォントを自動選択してくれるので
便利でしょう。これが失敗するような場合には,
上に述べた postscriptname や fullname を使って下さい。


> ただ、後で追加インストールした例えば,FreeSerif,Quiviraなどはfont.listに出てきません。

> フォントのインストールはダウンロードしてデスクトップにあるファイルを
> C:/Windows/Fontsにドラッグする方法で行っています。

私は遅れていて,Windows 10 におけるフォントインストール
の,特殊性などについて何も知りません。
他の方のアドバイスを待ちましょう。

ただ,fontconfig は,ディレクトリにファイルが存在
するだけでよく,OS に認識させるためのインストール作業
は無関係なので,どうなっているのかわかりません。
OS が認識するためのインストールはできているけれども,
ファイルの実体が c:/windows/fonts なるディレクトリ
にコピーされていないのかもしれませんね。
Akira Kakuto への返信

Re: XeLaTeXでフォントが認識されない

- wisteria の投稿
ありがとうございました。
フォントのインストールは他の方のアドバイスを待ちます。

wisteria への返信

Re: XeLaTeXでフォントが認識されない

- Takashima Jun の投稿
誰も答えないようなので...

解決法は二つあります。
一つは、インストールをコピーではなく、右クリックから
「すべてのユーザー向けにインストール」を選択してインストール。
もう一つは
local.confに
<dir>C:\Users\自分のログインアカウント名\AppData\Local\Microsoft\Windows\Fonts</dir>
を追加する。

win10 1803 からフォントフォルダの処理が変更されました。
単なるコピーでは上記のフォルダにコピーされます。
詳細属性などで確認できます。

Takashima Jun への返信

Re: XeLaTeXでフォントが認識されない

- wisteria の投稿
Takashima Jun様、ありがとうございます。
**もう一つは
local.confに
<dir>C:\Users\自分のログインアカウント名 \AppData\Local\Microsoft\Windows\Fonts</dir>
を追加する
**

の方法で認識されるようになりました。
多謝
wisteria への返信

Re: XeLaTeXでフォントが認識されない

- Akira Kakuto の投稿
> **もう一つは
> local.confに
> <dir>C:\Users\自分のログインアカウント名\AppData\Local\Microsoft\Windows\Fonts</dir>
> を追加する

上の方法の場合,自分のログインアカウント名 に日本語が使われて
いたら,必ず問題が起こりますから

管理者として

cd  C:\Users
mklink  /D  namaebyasciimoji  自分のログインアカウント名

を実行して,ディレクトリ 自分のログインアカウント名 の
シンボリックリンク namaebyasciimoji を作り(スペースを含めないこと),

local.conf には ASCII 文字だけを使って

<dir>C:/Users/namaebyasciimoji/AppData/Local/Microsoft/Windows/Fonts</dir>

と記述して下さい。