「お気に入りフォント」の版間の差分
ナビゲーションに移動
検索に移動
SyntaxHighlightにcopyの追加 |
|||
| 30行目: | 30行目: | ||
== ソースコード == | == ソースコード == | ||
<syntaxhighlight lang="javascript" copy> | <syntaxhighlight lang="javascript" copy> | ||
#fonticon = "\uE8D2", #4d82b8, #dddddd | |||
#title = "お気に入りフォント" | #title = "お気に入りフォント" | ||
| 40行目: | 41行目: | ||
var utilities = {}; | var utilities = {}; | ||
utilities["現在の設定をクリップボードにセット(&S)"] = function() { | utilities["現在の設定をクリップボードにセット(&S)"] = function () { | ||
editor.WriteSettings(); | |||
var fontSizeByFontHeight = { | |||
"-8": "6", | |||
"-9": "7", | |||
"-10": "7.5", | |||
"-11": "8", | |||
"-12": "9", | |||
"-13": "10", | |||
"-14": "10.5", | |||
"-15": "11", | |||
"-16": "12", | |||
"-17": "13", | |||
"-18": "13.5", | |||
"-19": "14", | |||
"-20": "15", | |||
"-21": "16", | |||
"-22": "16.5", | |||
"-23": "17", | |||
"-24": "18", | |||
"-25": "19", | |||
"-26": "19.5", | |||
"-27": "20", | |||
"-28": "21", | |||
"-29": "22", | |||
"-30": "22.5", | |||
"-31": "23", | |||
"-32": "24", | |||
"-33": "25", | |||
"-34": "25.5", | |||
"-35": "26", | |||
"-36": "27", | |||
"-37": "28", | |||
"-38": "28.5", | |||
"-39": "29", | |||
"-40": "30", | |||
"-41": "31", | |||
"-42": "31.5", | |||
"-43": "32", | |||
"-44": "33", | |||
"-45": "34", | |||
"-46": "34.5", | |||
"-47": "35", | |||
"-48": "36", | |||
"-49": "37", | |||
"-50": "37.5", | |||
"-51": "38", | |||
"-52": "39", | |||
"-53": "40", | |||
"-54": "40.5", | |||
"-55": "41", | |||
"-56": "42", | |||
"-57": "43", | |||
"-58": "43.5", | |||
"-59": "44", | |||
"-60": "45", | |||
"-61": "46", | |||
"-62": "46.5", | |||
"-63": "47", | |||
"-64": "48", | |||
"-65": "49", | |||
"-66": "49.5", | |||
"-67": "50", | |||
"-68": "51", | |||
"-69": "52", | |||
"-70": "52.5", | |||
"-71": "53", | |||
"-72": "54", | |||
"-73": "55", | |||
"-74": "55.5", | |||
"-75": "56", | |||
"-76": "57", | |||
"-77": "58", | |||
"-78": "58.5", | |||
"-79": "59", | |||
"-80": "60", | |||
"-81": "61", | |||
"-82": "61.5", | |||
"-83": "62", | |||
"-84": "63", | |||
"-85": "64", | |||
"-86": "64.5", | |||
"-87": "65", | |||
"-88": "66", | |||
"-89": "67", | |||
"-90": "67.5", | |||
"-91": "68", | |||
"-92": "69", | |||
"-93": "70", | |||
"-94": "70.5", | |||
"-95": "71", | |||
"-96": "72" | |||
}; | |||
var fontName = editor.ReadSettingString("Display", "FontName", "MS ゴシック"); | |||
var fontHeight = editor.ReadSettingString("Display", "FontHeight", "-13"); | |||
var lineSpace = editor.ReadSettingString("General", "LineSpace", "2"); | |||
var topMargin = editor.ReadSettingString("Display", "TopMargin", ""); | |||
var settingName = | |||
fontName + ", " + fontSizeByFontHeight[fontHeight] + ", " + lineSpace + | |||
(topMargin && ", " + topMargin); | |||
clipboardData.SetData("Text", | |||
"settings[\"" + settingName + "\"] = {fontName: \"" + fontName + | |||
"\", fontHeight: " + fontHeight + ", lineSpace: " + lineSpace + | |||
(topMargin && ", topMargin: " + topMargin) + "};" | |||
); | |||
}; | }; | ||
utilities["フォントの設定(&C)..."] = function() { | utilities["フォントの設定(&C)..."] = function () { | ||
// MEID_VIEW_FONT_CUSTOMIZE | |||
editor.ExecuteCommandByID(2169); | |||
}; | }; | ||
var popupMenu = CreatePopupMenu(); | var popupMenu = CreatePopupMenu(); | ||
// 設定名をポップアップメニューに追加 | // 設定名をポップアップメニューに追加 | ||
var settingCount = 0; | |||
for (var settingName in settings) { | for (var settingName in settings) { | ||
settingCount++; | |||
popupMenu.Add( | |||
// 最初の10項目まではアクセスキー(1~0)を追加 | |||
settingCount <= 10 ? "&" + settingCount % 10 + " " + settingName : settingName, | |||
settingCount | |||
); | |||
} | } | ||
| 175行目: | 174行目: | ||
var utilityCount = 0; | var utilityCount = 0; | ||
for (var utilityName in utilities) { | for (var utilityName in utilities) { | ||
utilityCount++; | |||
popupMenu.Add(utilityName, settingCount + utilityCount); | |||
} | } | ||
var | var menuId = popupMenu.Track(mePosMouse); | ||
if ( | if (menuId > settingCount) { | ||
utilities[popupMenu.GetText(menuId)](); | |||
} else if ( | } else if (menuId !== 0) { | ||
editor.WriteSettings(); | |||
// 選択された項目の設定 | |||
// 最初の10項目までの場合は追加したアクセスキー部分を除去して取得 | |||
var setting = menuId <= 10 | |||
? settings[popupMenu.GetText(menuId).substring(3)] | |||
: settings[popupMenu.GetText(menuId)]; | |||
editor.WriteSettingString("Display", "FontName", setting.fontName); | |||
editor.WriteSettingInteger("Display", "FontHeight", setting.fontHeight); | |||
editor.WriteSettingInteger("General", "LineSpace", setting.lineSpace); | |||
if (setting.hasOwnProperty("topMargin")) { | |||
editor.WriteSettingInteger("Display", "TopMargin", setting.topMargin); | |||
} | |||
editor.ReadSettings(); | |||
} | } | ||
</syntaxhighlight> | </syntaxhighlight> | ||
2025年12月12日 (金) 23:31時点における版
概要
お気に入りのフォント、フォントサイズ、行間を登録しておいてポップアップメニューから一括で切り替えるマクロです。
動作環境
Mery Ver 3.2.6 以降で使用できます。
使用方法
- 好みのフォント、フォントサイズ、行間に設定する。
- マクロを実行してポップアップメニューの「現在の設定をクリップボードにセット」を選択する。
- マクロファイルを開き
// 以下に設定を貼り付けるの下に設定を貼り付けて上書き保存する。
上記手順でお気に入りフォントを追加できます。必要に応じて繰り返してください。
ポップアップメニューの項目に表示されるテキストは下記のようにキーの部分(settings["…"])を変更することで変えられます。
// 以下に設定を貼り付ける
settings["コーディング用 1"] = {fontName: "Pending Mono", 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};
簡単なアイコンをあつまれ☆みんなのおもしろアイコンに投稿してます。ツール バーに追加して使用する場合など、よろしければご活用ください。
変更履歴
- 2024-04-11
- 初版
ソースコード
#fonticon = "\uE8D2", #4d82b8, #dddddd
#title = "お気に入りフォント"
// キーはポップアップメニューの項目に表示するテキスト。貼り付けた後に変更可
var settings = {};
// 以下に設定を貼り付ける
// キーはポップアップメニューの項目に表示するテキスト、値は実行する関数
var utilities = {};
utilities["現在の設定をクリップボードにセット(&S)"] = function () {
editor.WriteSettings();
var fontSizeByFontHeight = {
"-8": "6",
"-9": "7",
"-10": "7.5",
"-11": "8",
"-12": "9",
"-13": "10",
"-14": "10.5",
"-15": "11",
"-16": "12",
"-17": "13",
"-18": "13.5",
"-19": "14",
"-20": "15",
"-21": "16",
"-22": "16.5",
"-23": "17",
"-24": "18",
"-25": "19",
"-26": "19.5",
"-27": "20",
"-28": "21",
"-29": "22",
"-30": "22.5",
"-31": "23",
"-32": "24",
"-33": "25",
"-34": "25.5",
"-35": "26",
"-36": "27",
"-37": "28",
"-38": "28.5",
"-39": "29",
"-40": "30",
"-41": "31",
"-42": "31.5",
"-43": "32",
"-44": "33",
"-45": "34",
"-46": "34.5",
"-47": "35",
"-48": "36",
"-49": "37",
"-50": "37.5",
"-51": "38",
"-52": "39",
"-53": "40",
"-54": "40.5",
"-55": "41",
"-56": "42",
"-57": "43",
"-58": "43.5",
"-59": "44",
"-60": "45",
"-61": "46",
"-62": "46.5",
"-63": "47",
"-64": "48",
"-65": "49",
"-66": "49.5",
"-67": "50",
"-68": "51",
"-69": "52",
"-70": "52.5",
"-71": "53",
"-72": "54",
"-73": "55",
"-74": "55.5",
"-75": "56",
"-76": "57",
"-77": "58",
"-78": "58.5",
"-79": "59",
"-80": "60",
"-81": "61",
"-82": "61.5",
"-83": "62",
"-84": "63",
"-85": "64",
"-86": "64.5",
"-87": "65",
"-88": "66",
"-89": "67",
"-90": "67.5",
"-91": "68",
"-92": "69",
"-93": "70",
"-94": "70.5",
"-95": "71",
"-96": "72"
};
var fontName = editor.ReadSettingString("Display", "FontName", "MS ゴシック");
var fontHeight = editor.ReadSettingString("Display", "FontHeight", "-13");
var lineSpace = editor.ReadSettingString("General", "LineSpace", "2");
var topMargin = editor.ReadSettingString("Display", "TopMargin", "");
var settingName =
fontName + ", " + fontSizeByFontHeight[fontHeight] + ", " + lineSpace +
(topMargin && ", " + topMargin);
clipboardData.SetData("Text",
"settings[\"" + settingName + "\"] = {fontName: \"" + fontName +
"\", fontHeight: " + fontHeight + ", lineSpace: " + lineSpace +
(topMargin && ", topMargin: " + topMargin) + "};"
);
};
utilities["フォントの設定(&C)..."] = function () {
// MEID_VIEW_FONT_CUSTOMIZE
editor.ExecuteCommandByID(2169);
};
var popupMenu = CreatePopupMenu();
// 設定名をポップアップメニューに追加
var settingCount = 0;
for (var settingName in settings) {
settingCount++;
popupMenu.Add(
// 最初の10項目まではアクセスキー(1~0)を追加
settingCount <= 10 ? "&" + settingCount % 10 + " " + settingName : settingName,
settingCount
);
}
// ユーティリティ名をポップアップメニューに追加
popupMenu.Add("", 0, meMenuSeparator);
var utilityCount = 0;
for (var utilityName in utilities) {
utilityCount++;
popupMenu.Add(utilityName, settingCount + utilityCount);
}
var menuId = popupMenu.Track(mePosMouse);
if (menuId > settingCount) {
utilities[popupMenu.GetText(menuId)]();
} else if (menuId !== 0) {
editor.WriteSettings();
// 選択された項目の設定
// 最初の10項目までの場合は追加したアクセスキー部分を除去して取得
var setting = menuId <= 10
? settings[popupMenu.GetText(menuId).substring(3)]
: settings[popupMenu.GetText(menuId)];
editor.WriteSettingString("Display", "FontName", setting.fontName);
editor.WriteSettingInteger("Display", "FontHeight", setting.fontHeight);
editor.WriteSettingInteger("General", "LineSpace", setting.lineSpace);
if (setting.hasOwnProperty("topMargin")) {
editor.WriteSettingInteger("Display", "TopMargin", setting.topMargin);
}
editor.ReadSettings();
}
スポンサーリンク