フォントを手軽に変更する関数の作成してみました!
MATLAB ユーザーの皆さん、こんにちは!
以前より小さな悩みがありました。そう、UIのフォントサイズ問題です。
エディターのフォントサイズは「command + スクロール」などでサクサクっと変更できるのに、コマンドウィンドウのフォントサイズはどうしてあんなに意固地なのでしょう?
まるで「私は変わらないぞ!」と頑固に抵抗しているかのようです。
「フォントサイズを変えるためだけに、毎回環境設定を開くなんて...そんな時間、もったいない!」
そんな声が聞こえてきそうです(私の心の声ですが)
今回は、UIのフォントサイズをコマンドでサクッと変更する関数を作ってみました
モチベーション
開発しようと思ったきっかけは、オンラインミーティング中です
普段、自分でコーディングする時は、コード全体が見えるように限界までフォントを小さくするんです。でも、オンラインミーティングで画面共有をする際に、その小さすぎるフォントが問題になるんです。
「フォント小さくて見えないよ!」
と、指摘された経験、ありませんか?私はありますとも!しかも何度も!
「ええー、ここから環境設定開いて...フォントを選んで...って、ちょっと待ってくださいね...」
なんて、モタモタしている間に、会議の貴重な時間がどんどん過ぎていきます。そして、参加者の集中力も...
「あー!もう!コマンド一発でフォントサイズ変更できたらいいのに!!」
そんな心の叫びを形にしてみましたという紹介です
百聞は一見にしかずまずはデモから
こんな感じに変更できるようにしてみました
ソースコード
GitHubで公開しています。興味があればこちらよりどうぞ!
GitHub : MatTool-font
本ページの末尾にサンプルコードもあります。
実行方法
コマンドウィンドウ上でfont
コマンドの後に数字または文字列を入力して実行します。
フォントサイズの変更
数字を入力すると、フォントサイズが変更されます。
>> font 10
ショートカットキーの実行
ショートカットキーを登録している場合は、key を引数として実行すると、設定内容に変更できます。
>> font key
ショートカットキーのリストの表示
引数を指定せずに実行すると、ショートカットキーの一覧が表示されます。
>> font
--------------------------------------------------
<<Shortcut list>>
shortcutKey font size
___________ ____________________________________________ ____
{'default'} {'Monospaced' } 13
{'a' } {'Academy Engraved LET' } 0
{'e' } {'Menlo' } 0
{'m' } {'Monospaced' } 0
{'pm' } {'PT Mono' } 0
{'am' } {'Andale Mono' } 0
{'ay' } {'Ayuthaya' } 0
{'user' } {'__REPLACE WITH YOUR FAVORITE FONT NAME__'} 12
--------------------------------------------------
input key :
ショートカットキーの登録
同一フォルダ内にあるshortcut.csv
で登録します。
1 つのキーに対して、フォント名とフォントサイズを割り当てることができます。
フォント名のみを設定したい場合は、size 列の値を0
にして登録してください。
(※keyにはスペースを使用しないでください)
例: shortcut.csv
ShortcutKey | font | size |
---|---|---|
f10 | MS Gothic | 12 |
f11 | Consolas | 14 |
f12 | Arial | 0 |
例えば、上の例のように登録すると>> font f10
キーを押すと、フォントが MS Gothic でサイズが 12 に変更されます。
実装内容
実装内容としては文字列を数字に変換しsettingsから値を設定するといった方法になります
上記のショートカットキーなどの機能を考えなければ以下のような実装で十分です!
function font(value)
% >> font 10
% といった具合に実行する想定なので、引数は文字列として取得する想定
size = str2double(value);
if ~isnan(size)
sys = settings;
sys.matlab.fonts.codefont.Size.TemporaryValue = size;
end
end
まとめ
今回はMATLAB の UI フォントサイズ変更の関数を作ってみました。
オンラインミーティングも、もう怖くないですね!