お気に入りフォント
ナビゲーションに移動
検索に移動
概要[編集]
お気に入りのフォント、フォントサイズ、行間を登録しておいてポップアップメニューから一括で切り替えるマクロです。
動作環境[編集]
- Mery Ver 3.8.0 以降
- Windows 7 以降
使用方法[編集]
- 好みのフォント、フォントサイズ、行間に設定する。
- マクロを実行してポップアップメニューの「現在の設定をクリップボードにセット」を選択する。
- マクロファイルを開き
// 以下に設定を貼り付けるの下に設定を貼り付けて上書き保存する。
上記手順でお気に入りフォントを追加できます。必要に応じて繰り返してください。
ポップアップメニューの項目に表示されるテキストは下記の例のようにキーの部分(settings["…"])を変更することで変えられます。
// 以下に設定を貼り付ける
settings["コーディング用 1"] = {fontName: "Moralerspace Neon", fontHeight: -15, lineSpace: 2};
settings["コーディング用 2 (小)"] = {fontName: "源ノ角ゴシック Code JP R", fontHeight: -15, lineSpace: 0};
settings["コーディング用 2 (大)"] = {fontName: "源ノ角ゴシック Code JP R", fontHeight: -18, lineSpace: 0};
settings["テキスト閲覧用"] = {fontName: "BIZ UDゴシック", fontHeight: -16, lineSpace: 6};
簡単なアイコンをあつまれ☆みんなのおもしろアイコンに投稿してます。ツール バーに追加して使用する場合など、よろしければご活用ください。
変更履歴[編集]
- 2026-01-15
- QuickJS で実行するようにした
- 2025-12-12
- ディレクティブ(
#fonticon)の追加とリファクタリング
- ディレクティブ(
- 2024-04-11
- 初版
ソースコード[編集]
#fonticon = "\uE8D2", #4d82b8, #dddddd
#language = "quickjs"
#title = "お気に入りフォント"
// キーはポップアップメニューの項目に表示するテキスト。貼り付けた後に変更可
const settings = {};
// 以下に設定を貼り付ける
const utilities = {
"現在の設定をクリップボードにセット(&S)"() {
editor.WriteSettings();
const fontName = editor.ReadSettingString("Display", "FontName", "MS ゴシック");
const fontHeight = editor.ReadSettingString("Display", "FontHeight", "-13");
const fontSize = fontHeight % 4 === -2
? fontHeight / 4 - fontHeight
: Math.round(fontHeight / 4) - fontHeight;
const lineSpace = editor.ReadSettingString("General", "LineSpace", "2");
const topMargin = editor.ReadSettingString("Display", "TopMargin", "");
const settingName = `${fontName}, ${fontSize}, ${lineSpace}${topMargin && `, ${topMargin}`}`;
clipboardData.SetData("Text",
`settings["${settingName}"] = {fontName: "${fontName}", fontHeight: ${fontHeight}, lineSpace: ${lineSpace}${topMargin && `, topMargin: ${topMargin}`}};`
);
},
"フォントの設定(&C)..."() {
// MEID_VIEW_FONT_CUSTOMIZE
editor.ExecuteCommandByID(2169);
},
};
const popupMenu = CreatePopupMenu();
const settingNames = Object.keys(settings);
const utilityNames = Object.keys(utilities);
{
let itemCount = 0;
// 設定名をポップアップメニューに追加
for (const settingName of settingNames) {
const id = ++itemCount;
popupMenu.Add(
// 最初の10項目まではアクセスキー(1~0)を追加
id <= 10 ? `&${id % 10} ${settingName}` : settingName,
id
);
}
popupMenu.Add("", 0, meMenuSeparator);
// ユーティリティ名をポップアップメニューに追加
for (const utilityName of utilityNames) {
const id = ++itemCount;
popupMenu.Add(utilityName, id);
}
}
const menuId = popupMenu.Track(mePosMouse);
if (menuId > settingNames.length) {
utilities[popupMenu.GetText(menuId)]();
} else if (menuId !== 0) {
editor.WriteSettings();
const setting = settings[settingNames[menuId - 1]];
editor.WriteSettingString("Display", "FontName", setting.fontName);
editor.WriteSettingInteger("Display", "FontHeight", setting.fontHeight);
editor.WriteSettingInteger("General", "LineSpace", setting.lineSpace);
if (Object.hasOwn(setting, "topMargin")) {
editor.WriteSettingInteger("Display", "TopMargin", setting.topMargin);
}
editor.ReadSettings();
}
スポンサーリンク