フォントの設定についてNo.41420
ANACOSTIA さん 24/10/19 09:13
 
(1) 追加のフォント(第2フォント以降)を含めたフォントの設定(指定)を簡単な操作
で行いたい
 現在、フォントの設定は、ファイルタイプ(ファイル拡張子)、及び、ファイルのエ
ンコード(言語)毎に1つの設定のようです。
 これを、1つのファイルタイプの設定(ファイル拡張子)の中で、フォントセット1
(第1フォントは○○、第2フォントは□□、……)、フォントセット2(第1フォント
は◎◎、第2フォントは◇◇、……)、……と複数の設定ができるようにし、そのフ
ォントセットの選択をメニューバーの[表示(V)]の中に入れ、[折り返し(I)]の設定や
[ルーラーの表示(D)]の設定、[タブストップ(A)]の設定のように、そこから容易に選
択可能、又は、キー割り当てのコマンドで選択できるようにならないでしょうか?

(2) 第1フォント、第2フォント……の太さ(Regular、Bold、任意の数値)を個別に
設定したい
 現在、第1フォントと第2フォント以降の太さ(Regular、Bold、任意の数値)は同
一にしか設定できないようです。
 これを個別(第1フォントは○、第2フォントは□、……)に設定できるようになら
ないでしょうか?

[ ]
RE:41420 フォントの設定についてNo.41421
秀丸担当 さん 24/10/21 10:48
 
追加のフォントは、ファイルタイプ別の設定としての位置づけになっています。
既に試されているように、ファイルタイプ別の設定を切り替えれば、まとめて切り替
えということになりますが、そのほかのファイルタイプ別の設定も一緒に切り替わり
ます。

追加のフォントだけをまとめて変えるには、マクロを使う方法があります。
config文でJSONを使った記述(またはJavaScriptでconfigでオブジェクトを使った記
述)ができます。
JavaScriptのほうが書きやすいです。

例:

  js {
    config({
      Font: "UD デジタル 教科書体 NK-R",
      FallbackFont: 1,
      FallbackFonts: [
       {
        Range:0,
        Font: "游明朝",
       }
      ]
      });
  }
  endmacro;



メニューにすると以下のような感じです。

js {
  var ret=menu("UD デジタル 教科書体 NK-R+游明朝","Consolas+MS 明朝");
  switch(ret){
    case 1:
      config({
        Font: "UD デジタル 教科書体 NK-R",
        FallbackFont: 1,
        FallbackFonts: [
         {
          Range:0,
          Font: "游明朝",
         }
        ]
        });
      break;
    case 2:
      config({
        "Font": "Consolas",
        "FallbackFont": 1,
        "FallbackFonts": [
         {
          "Adjust": 0,
          "AdjustSize10pt": 0,
          "AdjustX10pt": 0,
          "AdjustY10pt": 0,
          "Font": "MS 明朝",
          "Range": 0,
          "RangeType": "nascii"
         }
        ],
       });
      break;
  }
}
endmacro;

ダブルクォーテーションがあったり無かったりですが、これはJavaScriptだとどっち
でもいいということを意味しています。
JSONだと厳密に書かなくてはいけないので面倒です。
ファイルタイプ別の設定で設定した後、以下のマクロで現在の状態を出力できます。
この中から"Font"や"FallbackFonts"だけを見るといいです。

jsmode "WebView2"; //WebView2じゃなくてもいいけど、WebView2だと\u付きではな
い文字列
js{
  all=getconfig({});
  setVar("$out",JSON.stringify(all,null," "));
}
newfile;
insert $out;
endmacro;


追加のフォントは、太さの指定はできません。
フォント名によっては、フォント名よって太さの違いがある場合があるので、それで
指定するしかないです。
ご要望として参考にさせていただきます。

[ ]
RE:41421 フォントの設定についてNo.41422
ANACOSTIA さん 24/10/21 12:52
 
 マクロの記述ありがとうございます。

 もう1つ要望があります。
 
・第1フォントと第2フォントの両方にプロポーショナルフォントを指定
・第1フォントのグリフの幅 < 第2フォントのグリフの幅
・[追加のフォント(C)] → [第2フォント][プロパティ] → [サイズ/位置を調整(S)]
のチェックをON(サイズ、X位置、Y位置は何れも0pt)

の場合、第2フォントの文字の右側が欠け、又、文字の左側が左隣の文字に喰い込む
ことがあります。
 例えば、第1フォントに"Arial Narrow"を指定、第2フォントに"HG丸ゴシック-PRO"を
指定し、漢字を入力すると判りやすいです。

[ ]
RE:41422 フォントの設定についてNo.41423
秀丸担当 さん 24/10/21 13:54
 
追加のフォントで、サイズ/位置を調整をONにした場合はOFFの場合と同じではなく、
全部0の指定であっても確かにはみ出すことがあります。
互換性だったり、フォントのレディングだったり、いろいろ事情があったりします。、
すみませんが、ONの場合はこれを基準として調整していただくようお願いします。

[ ]
RE:41423 フォントの設定についてNo.41424
ANACOSTIA さん 24/10/21 13:59
 
承知いたしました。

[ ]