[リストへもどる]
一括表示

タイトルポータブル環境におけるフォント
記事No4729
投稿日: 2025/02/03(Mon) 23:38
投稿者ttm
いつも便利に使わせていただいております。

PPxをDropbox上において複数PCからアクセスして
ポータブル運用しているのですが

PPxを使うPCにフォントのインストールをしたくないけど
自分の好みのフォントを使いたいと思っています。

テキストエディタMeryのカスタムフォント機能のように
プログラムフォルダにフォントファイルを配置したら
それを使えるようにすることはできないでしょうか?


タイトルRe: ポータブル環境におけるフォント
記事No4730
投稿日: 2025/02/05(Wed) 22:14
投稿者TORO
PPx は実行ファイルが1つだけではないので、各実行ファイル
(PPc,PPv…)毎でフォントを読み込むようにすると、読み込み状態の
不整合が起きそうです。
このため、予めフォントを一時登録するソフトを実行してから PPx を
実行するようにするのが好ましいです。

1度実行すれば、その後操作をしなくても特定フォルダのフォントを
まとめて読み込んで一時的に使用可能になる既存のソフトがあれば
よかったのですが、少し調べてみてもGUI付きで一手間掛かりそうな
ものしか見つかりませんでした。
前記のような単独実行して一時登録するだけのソフトで良ければ、
作成してみましょうか。


タイトルRe^2: ポータブル環境におけるフォント
記事No4731
投稿日: 2025/02/05(Wed) 23:06
投稿者ttm
回答ありがとうございます。是非お願いしたいです。

既存のものだとNexusFontのポータブル版などがありますが
ご指摘のように都度設定に手間がかかります。

また、単独実行できるソフトですと、PPx以外の
ポータブルソフトでも使えるようになることが期待できます。



タイトルRe^3: ポータブル環境におけるフォント
記事No4732
投稿日: 2025/02/08(Sat) 23:39
投稿者TORO
作成した fonton を http://toro.d.dooo.jp/slwin4.html#fonton から
入手できるようにしました。
font フォルダにフォントファイルをいれて実行すれば一時登録できる
ようにしました。


タイトルRe^4: ポータブル環境におけるフォント
記事No4738
投稿日: 2025/02/11(Tue) 00:01
投稿者ttm
動作確認しました。まさしく欲しかったものです。
ありがとうございました。


タイトルRe^5: ポータブル環境におけるフォント
記事No4739
投稿日: 2025/02/11(Tue) 23:23
投稿者ttm
以下のようにファイルを配置して、PPCW_portable.batを起動することにより、見かけ上PPc自体がフォント一時登録/解除機能を持つかのようにすることができました。
ただ、何度か起動/終了を繰り返すとフォント登録解除に失敗することがあり、直接fontr64.exeをクリックしないといけないことがあります。


│ ppcw_portable.bat

└─PPX
│ PPCW.EXE
│ fonton64.EXE
│ fontr64.EXE

└─font
│ Font1.ttf(ttc)

ppcw_portable.batの中身
-----------------
@if not "%~0"=="%~dp0.\%~nx0" start /min cmd /c,"%~dp0.\%~nx0" %* & goto :eof
call "%~dp0ppx\fonton64.exe"
call "%~dp0ppx\ppcw.exe"
call "%~dp0ppx\fontr64.exe"
-----------------

上記のバッチファイルは、PPc起動中ずっと
黒い画面がタスクバーに出たままになります。
PPcの機能を使い以下のようにすると起動時に一瞬黒い画面が
出るだけになるみたいですが
上記内容のbatファイルよりフォント登録解除に失敗しやすい気がします。

-----------------
@echo off
pushd "%~dp0ppx"
start pptrayw.exe -c *launch "%%0fonton64.exe" %%:*linecust rmfont,KC_main:CLOSEEVENT,*if %%%%*ppxlist(+C) == 1 %%%%:*launch "%%0fontr64.exe" %%%%:*linecust rmfont,KC_main:CLOSEEVENT,
start ppcw.exe
popd
-----------------

質問です。
他のプログラム用に、PPcとは別にfonton、fontrおよび
Font2.ttfまたは.ttc(PPcに使っているのとは別のフォント)を
配置して、PPc起動時とは別に登録・登録解除するような使い方

複数のfonton、fontrの同時使用をしても問題ないのでしょうか?


タイトルRe^6: ポータブル環境におけるフォント
記事No4740
投稿日: 2025/02/12(Wed) 23:09
投稿者TORO
> ただ、何度か起動/終了を繰り返すとフォント登録解除に失敗することがあり、直接fontr64.exeをクリックしないといけないことがあります。

解除に失敗するときはエラーダイアログが出ていますか?
出ているのであれば、次のバージョンアップ時に成功するまで
少し待ってみるとかの対策がとれるかもしれません。


> 複数のfonton、fontrの同時使用をしても問題ないのでしょうか?

登録したフォントを fonton が記憶しているわけではないので、
登録するフォントが被っていなければ問題ないと思います。

あと、システムに登録済みのフォントを上書き登録しようとしたり、
解除しようとしたりすると Defender がマルウェア扱いするよう
なので注意が必要です。


タイトルRe^7: ポータブル環境におけるフォント
記事No4741
投稿日: 2025/02/13(Thu) 00:00
投稿者ttm
>> ただ、何度か起動/終了を繰り返すとフォント登録解除に失敗することがあり
>>直接fontr64.exeをクリックしないといけないことがあります。

>解除に失敗するときはエラーダイアログが出ていますか?

出るときと出ないときがありました。

>成功するまで少し待ってみるとか

プログラム終了後fontr起動まで少し待ってみるように、timeoutや*waitを入れてみたところ
以下(1)(2)両方のパターンでフォント解除失敗はほとんどなくなりなりました。ヒントをありがとうございました。

(1)batの中身
-----------------
@if not "%~0"=="%~dp0.\%~nx0" start /min cmd /c,"%~dp0.\%~nx0" %* & goto :eof
pushd "%~dp0ppx"
call fonton64.exe
call ppcw.exe
timeout /t 1
call fontr64.exe
popd
-----------------

(2)batの中身(PPxの機能を使う版)
-----------------
@echo off
pushd "%~dp0ppx"
start pptrayw.exe -c *launch "%%0fonton64.exe" %%:*linecust rmfont,KC_main:CLOSEEVENT,*if %%%%*ppxlist(+C) == 1 %%%%:*wait 300 %%%%:*launch "%%0fontr64.exe" %%%%:*linecust rmfont,KC_main:CLOSEEVENT,
start ppcw.exe
popd
-----------------

エディタなどPPx以外のプログラムはタスクトレイ常駐を切って(1)の要領で良さそうなのですが
PPcを複数窓起動して使うときは
PPc[A]を(1)から起動 →PPc[B]を起動 → 途中で[A]だけを一時的に閉じる という動作をするときは
(1)のバッチファイルが[A]と同時に終了してフォント登録解除されてしまうので
終了するPPcがIDにかかわらず最後の1枚か調べてフォント登録解除する(2)で使うのが良さそうです。


> 複数のfonton、fontrの同時使用をしても問題ないのでしょうか?

回答ありがとうございました。注意点もお知らせいただけて助かります。


タイトルRe^8: ポータブル環境におけるフォント
記事No4745
投稿日: 2025/02/20(Thu) 22:24
投稿者ttm
今回のことに関係して、質問またよろしいでしょうか?

PPcの設定を初期化
KC_mainのCLOSEEVENTに、「echo %*ppxlist(C)」と設定する。

「ID Aの一体化窓でも常に”Zxxx"形式IDを使用する」 →チェック
「タブ列を常時表示」 → チェック

その後、以下3つの操作を検証

【操作A】
(1)PPc[A]を起動
(2)*ppc -singleを実行し、IDがBのPPcを起動
(3)そのままPPc[B]を終了
→PPbには、「2,C_B,C_A,」 と表示される。

【操作B】
(1)PPc[A]を起動
(2)*ppc -combo:Aを実行し、IDがZaaのPPcを起動
(3)そのままPPc[Zaa]を終了
→PPbには、「2,C_Z,C_A,」 と表示される。

【操作C】
(1)PPc[A]を起動
(2)*ppc -combo:Aを実行し、IDがZaaのPPcを起動
(3)マウス操作で新しいタブを作り、Zaa、Zabのタブが1つの窓に開いた状態にする。
(4)そのまま一体化窓[Zaa][Zab]を終了
→PPbには、「1,C_A,」と表示される。

操作A、操作Bでは、CLOSEEVENT実行時は閉じる直前のPPc数=2を
カウントしています。
操作CでCLOSEEVENT実行時は、PPcの数はA、Zaa、Zabの3つだった
のになぜPPcの数1とカウントされるのでしょうか?


タイトルRe^9: ポータブル環境におけるフォント
記事No4746
投稿日: 2025/02/23(Sun) 23:11
投稿者TORO
確認したところ、一体化窓を閉じるボタンや Alt+F4 で終了したとき、
一体化窓内の CLOSEEVENT より前で、タブの情報取得の取り扱いを
終了していたため、タブの一覧が取得ができなっていました。

+2 で取り扱いの終了タイミングを変えてみましたので
試してみてください。


タイトルRe^10: ポータブル環境におけるフォント
記事No4748
投稿日: 2025/02/26(Wed) 20:26
投稿者ttm
ご対応ありがとうございます。+2を試してみたところ

【操作A】
→PPbには、「2,C_B,C_A,」 と表示される。(従来通り)

【操作B】
→PPbには、「2,C_Zaa,C_A,」 と表示される。

【操作C】
→PPbには、「3,C_Zaa,C_Zab,C_A,」 と表示される。

となり、窓終了直前の窓数をカウントできています。

ただ、操作Cで%*ppxlist(C)の結果を2回(一体化窓のタブの個数分)
出力するようになったのは気になります。実害はないでしょうか?


タイトルRe^11: ポータブル環境におけるフォント
記事No4749
投稿日: 2025/02/27(Thu) 23:50
投稿者TORO
%*ppxlist(C) が登録されている CLOSEEVENT は、窓毎(一体化窓なら
1タブ毎)に呼び出されますが、そのことを言っているなら正常です。


タイトルRe^12: ポータブル環境におけるフォント
記事No4750
投稿日: 2025/02/28(Fri) 05:36
投稿者ttm
FIRSTEVENTがどのタイミングで実行されるかを考えたら
CLOSEEVENTに対しては確かにこれが正常な挙動ということになりますね。
わかりました。ご回答ありがとうございました。