文字の拡大・縮小機能No.08108
たろう さん 05/06/09 23:32
 
たろうです。

Office製品のようにCtrl+マウスホイールの上下で、文字の拡大・縮小(フォン
トの拡大縮小でも可)はできないのでしょうか。

最近、私の周りの会社ではペーパーレス化を推進しておりまして、極力紙に印字しな
いようにと、お達しがきております。

メモの内容などを他人に説明するとき、いままでならプリンタで印字し、それを見せ
ながら説明をしていました。
しかし、いまでは、パソコンの液晶ディスプレイを相手に見せながら説明をしていま
す。
目のよい方であれば、通常の大きさの文字でも何とか見ることができるのですが、そ
うでない方に説明する場合、文字を拡大しなければなりません。メニューから設定を
変更すれば、可能なのですが、頻繁にそういった説明作業が発生するため、結構面倒
で時間もかかってしまいます。また、通常の作業に戻る場合も、フォントの大きさを
元に戻すのが面倒です。
あと、プロジェクタでメモの内容を映し出したりすることも、よくあります。最近は、
会議でも紙を配らず、プロジェクタに映し出して説明することが多いです。

ほかのエディタを探してみたのですが、そのような機能を持っているエディタは見当
たりませんでした。

どうか、検討していただけないでしょうか。

[ ]
RE:08108 文字の拡大・縮小機能No.08111
三月 さん 05/06/10 06:39
 
>Office製品のようにCtrl+マウスホイールの上下で、文字の拡大・縮小(フォ
>ントの拡大縮小でも可)はできないのでしょうか。
:
>目のよい方であれば、通常の大きさの文字でも何とか見ることができるのですが、
>そうでない方に説明する場合、文字を拡大しなければなりません。メニューから設
>定を変更すれば、可能なのですが、頻繁にそういった説明作業が発生するため、結
>構面倒で時間もかかってしまいます。また、通常の作業に戻る場合も、フォントの
>大きさを元に戻すのが面倒です。

一時的にフォントを変更するなら、
config("xFontPoint:24");
とか書いたマクロをキー割り当てか、ボタンに登録すれば良いのでは?
それと、通常のフォントサイズに戻すマクロも用意して。

また、下記のようなマクロを使うとトグル式に切り替わったりします。
Ctrl+ホイールには割り当てられないですが。

-- フォント拡大.mac --
$p[0] = "8";
$p[1] = "9";
$p[2] = "10";
$p[3] = "11";
$p[4] = "12";
$p[5] = "14";
$p[6] = "16";
$p[7] = "18";
$p[8] = "20";
$p[9] = "22";
$p[10] = "24";
$p[11] = "26";
$p[12] = "28";
$p[13] = "36";
$p[14] = "48";
$p[15] = "72";
$c = getconfig("FontPoint");
#n = 0;
while( #n < 16 ){
    if( val($p[#n]) > val($c) ) break;
    #n = #n +1 ;
}
if( #n == 16 ) endmacro;
config("xFontPoint:"+$p[#n]);
-----
-- フォント縮小.mac --
$p[0] = "8";
$p[1] = "9";
$p[2] = "10";
$p[3] = "11";
$p[4] = "12";
$p[5] = "14";
$p[6] = "16";
$p[7] = "18";
$p[8] = "20";
$p[9] = "22";
$p[10] = "24";
$p[11] = "26";
$p[12] = "28";
$p[13] = "36";
$p[14] = "48";
$p[15] = "72";
$c = getconfig("FontPoint");
#n = 15;
while( #n >= 0 ){
    if( val($p[#n]) < val($c) ) break;
    #n = #n -1 ;
}
if( #n < 0 ) endmacro;
config("xFontPoint:"+$p[#n]);
----

ついでに、メニュー選択方法。
マクロのサイズの配列はよく使うものだけにするとなお良いかと。
-- フォントサイズ選択.mac --
$p[0] = "8";
$p[1] = "9";
$p[2] = "10";
$p[3] = "11";
$p[4] = "12";
$p[5] = "14";
$p[6] = "16";
$p[7] = "18";
$p[8] = "20";
$p[9] = "22";
$p[10] = "24";
$p[11] = "26";
$p[12] = "28";
$p[13] = "36";
$p[14] = "48";
$p[15] = "72";
menuarray $p, 16;
#n = result -1;
config("xFontPoint:"+$p[#n]);
----

[ ]
RE:08108 文字の拡大・縮小機能No.08115
白雲斎 さん 05/06/10 09:40
 
正式な回答は作者がされると思うので、ここではマクロを提案します。
(三月さんと被ってしまいましたが、せっかく書いたので投稿します。)

【検証】秀丸 Ver 5.00 β27

末尾のマクロを実行します。
(登録してショートカット・キーを割り振ると便利。)
すると「文字サイズの拡大縮小」モードになるので、以下のキーを押します。

・上矢印キー => 拡大する
・下矢印キー => 縮小する
・BackSapce  => 標準サイズに戻す

この時、同時にCtrlキーを押しながら上下矢印キーを押すと連続モードになりま
す。Ctrlキーを押さえたまま、好みの大きさになるまで上下矢印キーを連打して
ください。
マクロを中断するには、Ctrl、上下矢印、BackSapce以外のキーを押します。

---- 以下マクロ ----

// 文字サイズの拡大縮小

// ■ユーザー設定(単位:ポイント)
#maxSize = 28;  // 拡大サイズの限度値
#minSize = 10;  // 縮小サイズの限度値
#rfSize = 1;    // 拡大縮小の増減値

//---- ここから下は編集禁止 ----

#fontSize = getconfig("FontPoint");
$typeName = "Default";
#i = 0;

if( filetype == "new" )
{
    goto LOOP;
}
else if( strlen(filetype) < 2 || ascii(filetype) != '.' )
{
    message "実行できないファイル・タイプ";
    endmacro;
}

openreg "CURRENTUSER","Software\\Hidemaruo\\Hidemaru\\" + filetype;
if( result )
{
    $typeName = "Config\\" + getregstr("");
    closereg;
}

LOOP:
#c = inputchar("文字サイズの拡大縮小 [↑]拡大; [↓]縮小; [BackSpace]標準サイ
ズ");
#withCtrl = iskeydown(0x11);

if( iskeydown(0x08) )
{
    openreg "CURRENTUSER","Software\\Hidemaruo\\Hidemaru\\" + $typeName;
    if( result == false )
    {
        message "レジストリのオープンに失敗!";
        endmacro;
    }
    #defaultSize = getregnum("FontPoint");
    closereg;
    config("xFontPoint:" + str(#defaultSize));
}
else if( #c == 0x1D )
{
    if( #fontSize >= #maxSize ) endmacro;
    if( #withCtrl )
    {
        #fontSize = #fontSize + #rfSize;
        config("xFontPoint:" + str(#fontSize));
        goto LOOP;
    }
    else
    {
        config("xFontPoint:" + str(#fontSize + #rfSize));
    }
}
else if( #c == 0x1F )
{
    if( #fontSize <= #minSize ) endmacro;
    if( #withCtrl )
    {
        #fontSize = #fontSize - #rfSize;
        config("xFontPoint:" + str(#fontSize));
        goto LOOP;
    }
    else
    {
        config("xFontPoint:" + str(#fontSize - #rfSize));
    }
}
endmacro;

[ ]
RE:08115 文字の拡大・縮小機能No.08118
秀丸担当 さん 05/06/10 10:22
 

文字サイズの変更自体は、三月さんや白雲斎さんの言われているようなマクロで
できると思います。

ホイールでやるとなると、現在のところ編集画面上でのホイールには割り当ては
できないので、キー操作などが必要になってくると思います。
ホイールにも割り当てできると何かと便利かもしれません。今後のネタとして参
考にしたいと思います。

[ ]
RE:08111 文字の拡大・縮小機能No.08156
たろう さん 05/06/11 00:37
 
実用的なマクロまで作成していただきまして、ありがとうございました。
ショートカットに割り当てることで、拡大縮小が簡単にできるようになり、とても重
宝しています。


ありがとうございました。


>>Office製品のようにCtrl+マウスホイールの上下で、文字の拡大・縮小(フォ
>ントの拡大縮小でも可)はできないのでしょうか。
>:
>>目のよい方であれば、通常の大きさの文字でも何とか見ることができるのですが、
>そうでない方に説明する場合、文字を拡大しなければなりません。メニューから設
>定を変更すれば、可能なのですが、頻繁にそういった説明作業が発生するため、結
>構面倒で時間もかかってしまいます。また、通常の作業に戻る場合も、フォントの
>大きさを元に戻すのが面倒です。
>
>一時的にフォントを変更するなら、
>config("xFontPoint:24");
>とか書いたマクロをキー割り当てか、ボタンに登録すれば良いのでは?
>それと、通常のフォントサイズに戻すマクロも用意して。
>
>また、下記のようなマクロを使うとトグル式に切り替わったりします。
>Ctrl+ホイールには割り当てられないですが。
>
>-- フォント拡大.mac --
>$p[0] = "8";
>$p[1] = "9";
>$p[2] = "10";
>$p[3] = "11";
>$p[4] = "12";
>$p[5] = "14";
>$p[6] = "16";
>$p[7] = "18";
>$p[8] = "20";
>$p[9] = "22";
>$p[10] = "24";
>$p[11] = "26";
>$p[12] = "28";
>$p[13] = "36";
>$p[14] = "48";
>$p[15] = "72";
>$c = getconfig("FontPoint");
>#n = 0;
>while( #n < 16 ){
>    if( val($p[#n]) > val($c) ) break;
>    #n = #n +1 ;
>}
>if( #n == 16 ) endmacro;
>config("xFontPoint:"+$p[#n]);
>-----
>-- フォント縮小.mac --
>$p[0] = "8";
>$p[1] = "9";
>$p[2] = "10";
>$p[3] = "11";
>$p[4] = "12";
>$p[5] = "14";
>$p[6] = "16";
>$p[7] = "18";
>$p[8] = "20";
>$p[9] = "22";
>$p[10] = "24";
>$p[11] = "26";
>$p[12] = "28";
>$p[13] = "36";
>$p[14] = "48";
>$p[15] = "72";
>$c = getconfig("FontPoint");
>#n = 15;
>while( #n >= 0 ){
>    if( val($p[#n]) < val($c) ) break;
>    #n = #n -1 ;
>}
>if( #n < 0 ) endmacro;
>config("xFontPoint:"+$p[#n]);
>----
>
>ついでに、メニュー選択方法。
>マクロのサイズの配列はよく使うものだけにするとなお良いかと。
>-- フォントサイズ選択.mac --
>$p[0] = "8";
>$p[1] = "9";
>$p[2] = "10";
>$p[3] = "11";
>$p[4] = "12";
>$p[5] = "14";
>$p[6] = "16";
>$p[7] = "18";
>$p[8] = "20";
>$p[9] = "22";
>$p[10] = "24";
>$p[11] = "26";
>$p[12] = "28";
>$p[13] = "36";
>$p[14] = "48";
>$p[15] = "72";
>menuarray $p, 16;
>#n = result -1;
>config("xFontPoint:"+$p[#n]);
>----

[ ]