Processingでコンピュータにインストールされているフォントを確認する
![Processingでコンピュータにインストールされているフォントを確認する](https://blanche-toile.com/freestyle/wp-content/uploads/2020/06/processing-system-font-mv.png)
Processingでデジタルアートやデザインを作っていく中で、いろんなフォントを活用することもあります。
loadFont()やcreateFont()でフォントを取り込んで利用していきますが、お使いのパソコンにインストールされているフォントを利用する場合には、どのフォントがあるのか確認するかと思います。
Processingでは、システムにインストールされているフォントを、リストとして取得し確認することができます。
ただ、少しだけうまくいかないこともありますので、それを踏まえたフォントの種類の確認方法をご紹介します。
インストールされているフォントの確認
Processingでシステムにインストールされているフォントの種類を確認するには、PFontクラスとlist()メソッドを使います。
PFontクラス
Processingの.vlwフォーマットフォントを扱うためのクラスです。
フォントを扱うときの変数の作成で利用します。
list()メソッド
システムにインストールされているフォントのリストを取得します。
取得したリストは、文字列の配列として値が返ってきます。
配列で取得した情報を管理するので、String型の配列を作成します。
そして、printArray()で配列の中身をコンソールで確認します。
String[] fontList = PFont.list();
printArray(fontList);
![システムにインストールされているフォントの確認](https://blanche-toile.com/freestyle/wp-content/uploads/2020/06/processing-system-font-01.png)
エディタのコンソールに、インストールされているフォントが確認できます。
ですが、少し気になるところが。
配列のインデックス番号[172]からのリストになっています。
ProcessingのコンソールでprintArrayやprintlnといった、改行ありでデータを出力していくことはよくありますが、表示に限界があり、私が確認したところでは500行ほどしか表示されませんでした。
最近では扱うフォントも増えて、多くのフォントがシステムにインストールされていることが多いです。
length()でリストの数を見てみると、私のMacbook Proには「670」のフォントがインストールされています。
int num = fontList.length;
println(num);
![システムにインストールされているフォントの数を確認](https://blanche-toile.com/freestyle/wp-content/uploads/2020/06/processing-system-font-02.png)
他、Windows PCも持っていますが、Windowsでも「518」と結構インストールされています。
すべてのフォントを確認
膨大な配列のデータを一度に確認したい場合は、for文の繰り返し処理の中、print()で改行なしで表示すると問題なくすべて表示できます。
でも、文字列が改行なしでずらりと並ぶと、何が書いてあるのかわからなくなります。
for文で配列の数だけループ処理して、インデックス番号の表示やスペースを開けたりして、見やすくすると良いでしょう。
以下、サンプルコードになります。
String[] fontList = PFont.list();
for(int i = 0; i < fontList.length; i++){
print(i + ":" + fontList[i] + " ");
}
![システムにインストールされているすべてのフォントの種類を表示](https://blanche-toile.com/freestyle/wp-content/uploads/2020/06/processing-system-font-03.png)
改行なしでも見やすいかたちで、データをコンソールに表示させることができました。
よくデザインされる方は、たくさんのフォントがインストールされているのではないでしょうか。
Processingのコンソールにも限界がありますので、for文のループ処理でうまく表示させてみてください。