「お気に入りフォント」の版間の差分

提供: MeryWiki
ナビゲーションに移動 検索に移動
Ucky (トーク | 投稿記録)
編集の要約なし
MSY-07 (トーク | 投稿記録)
見出しの追加、フォーマットの変更
23行目: 23行目:


簡単なアイコンを[[あつまれ☆みんなのおもしろアイコン]]に投稿してます。ツール バーに追加して使用する場合など、よろしければご活用ください。
簡単なアイコンを[[あつまれ☆みんなのおもしろアイコン]]に投稿してます。ツール バーに追加して使用する場合など、よろしければご活用ください。
== 変更履歴 ==
* 1.0.0 (2024-04-11)
** 初版


== ソースコード ==
== ソースコード ==
* 2024/04/11 初版 (ucky)
<syntaxhighlight lang="javascript">
<syntaxhighlight lang="javascript">
#title = "お気に入りフォント"
#title = "お気に入りフォント"

2024年9月3日 (火) 18:55時点における版

概要

お気に入りのフォント、フォントサイズ、行間を登録しておいてポップアップメニューから一括で切り替えるマクロです。

動作環境

Mery Version 3.2.6 以降で使用できます。

使用方法

  1. 好みのフォント、フォントサイズ、行間に設定する。
  2. マクロを実行してポップアップメニューの「現在の設定をクリップボードにセット」を選択する。
  3. マクロファイルを開き// 以下に設定を貼り付けるの下に設定を貼り付けて上書き保存する。

上記手順でお気に入りフォントを追加できます。必要に応じて繰り返してください。

ポップアップメニューの項目に表示されるテキストは下記のようにキーの部分(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};

簡単なアイコンをあつまれ☆みんなのおもしろアイコンに投稿してます。ツール バーに追加して使用する場合など、よろしければご活用ください。

変更履歴

  • 1.0.0 (2024-04-11)
    • 初版

ソースコード

#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++;

  // 最初の10項目まではアクセスキー(1~0)を追加
  if (settingCount <= 10) {
    settingName = "&" + settingCount % 10 + " " + settingName;
  }

  popupMenu.Add(settingName, settingCount);
}

// ユーティリティ名をポップアップメニューに追加
popupMenu.Add("", 0, meMenuSeparator);
var utilityCount = 0;
for (var utilityName in utilities) {
  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();
}
スポンサーリンク