読者です 読者をやめる 読者になる 読者になる

タイトル未定

計算機やゲーム関連の雑記

Ulysses 日本語フォントの設定

editor Ulysses

カスタムフォントで適当にヒラギノとか選ぶと, 英字の _emphasis_斜体になってくれない.日本語斜体は諦めるとして,英字は普通に斜体になってほしい.そういうわけで fontforge の慣れない Python スクリプトでがんばってみる.

import sys, os, tempfile, fontforge
    
lt_src = "path/to/SourceCodePro-Regular.ttf"
jp_src = "path/to/rounded-mgenplus-1m-regular.ttf"
    
_, lt_filename = tempfile.mkstemp()
lt = fontforge.open(lt_src)
lt.em = 1024
lt.generate(lt_filename)
lt.close
    
_, jp_filename = tempfile.mkstemp()
jp = fontforge.open(jp_src)
jp.em = 1024
jp.generate(jp_filename)
jp.close
    
out = fontforge.open(lt_filename)
out.mergeFonts(jp_filename)
    
out.familyname = "Source Code Mgen+"
out.fullname   = "Source Code Mgen+ Regular"
out.fontname   = "SourceCodeMgen+-Regular"
    
out.generate(out.fontname + ".ttf")
out.close
    
os.remove(lt_filename)
os.remove(jp_filename)

こんな感じで適当に Regular,Italic,Bold の TrueType フォントを合成する(上の例は Regular)スクリプトを用意する.英字は Source Code Pro,日本語は Rounded Mgen+ が好きなので,そうなるように合成している.日本語斜体はレギュラーで代用することにする*1.つまり英字斜体と日本語レギュラーを合成する.フォント名はお好みで.

以下を実行する.

fontforge -script 上のスクリプト

あとは,できあがったフォントファイル3つを(iOS の場合)Ullyses で開いてインストールすれば OK.

追記

けっきょく

合成後の書体 合成前の英字書体 合成前の日本語書体
Regular Regular Regular
Italic Italic Medium
Bold Bold Bold

このようにして落ち着いた.こんな表示になる: f:id:nyanvich:20170101170443p:plain

*1:ボールドの方がいいかもしれない.