search
LoginSignup
9
Help us understand the problem. What are the problem?

More than 1 year has passed since last update.

posted at

updated at

Source Han Code JPをUbuntuにインストールしてデフォルトフォントに設定する

参考サイトのやつを一通りやってみたが,エラーで止まったので,
otf作るまでの最速の方法を調べた.
addSVGtable.py'が削除されていたので,使用しない方向で.
必要な場合は、source-han-code-jpのgithubに記載されているリンクから入手できる.
シェル環境はbashだが,zshでもかまわない.

また,gnome-terminalのPreferencesのカスタムフォント一覧にインストールしたフォントが表示されない事件も発生したので,対処法を載せる.

バージョン

  • Ubuntu 18.04.3 LTS (Bionic Beaver)
  • Python 3.6.8
  • GNU bash 4.4.20

実行手順

afdkoをpipにインストール
$ sudo apt-get install git
$ git clone https://github.com/adobe-type-tools/afdko/
$ git clone https://github.com/adobe-fonts/source-han-code-jp

$ cd afdko

# パッケージなどのインストール
$ sudo apt-get install gcc-multilib g++-multilib
$ sudo aptitude install python-pip
$ sudo pip install fonttools
$ sudo apt-get install python3-venv

# python3.6でafdkoするための環境を作成
$ python3 -m venv afdko_env
$ source afdko_env/bin/activate
$ pip install wheel
$ pip install afdko

# パス
$ echo "export PATH=xxx/afdko/afdko_env/bin:$PATH" >> ~/.bashrc
# ライブラリのパスは不要かも...
$ echo "export $ LD_LIBRARY_PATH=$LD_LIBRARY_PATH:xxx/afdko/afdko_env/lib" >> ~/.bashrc

addSVGtable.pyに関する項目のコメントアウト

source-han-code-jp/commands.sh
#!/bin/sh
()

    #if addSVGtable.py -s $svg ${nf} ; then :
    #else
    #    echo #rror
    #    exit
    #fi
    #if addSVGtable.py -s $svg ${inf} ; then :
    #else
    #    echo #rror
    #    exit
    #fi

()
done
source-han-code-jpのotf作成
ターミナルを開き直す
$ cd source-han-code-jp
$ ./commands.sh
$ mkdir ~/.fonts
$ ls ./*/*.otf # 作成されたかチェック
$ cp ./*/*.otf ~/.fonts/
$ sudo fc-cache -fv
確認
$ fc-list | grep Han

Bold,   ExtraLight,   Heavy,
Medium,   Normal,   ExtraLight,
BoldIt, ExtraLightIt, HeavyIt, 
MediumIt, NormalIt, ExtraLightIt,
のotfが登録されているはず

フォントの設定

Ubuntu 18.04 LTSをインストールした直後に行う設定 & インストールするソフトの「フォントを変更(追加)する」より,以下3つを実行.

  • otfファイルを~/.fontsにコピー
  • naiutilsで.fonts/SourceHanCodeJPをクリックしてインストール
  • tweakのインストール
    • フォントの種類は「源ノ角 code jp ... 」

参考

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
What you can do with signing up
9
Help us understand the problem. What are the problem?