AviUtl ExEdit2 向けの汎用プラグイン(.aux2)です。
フォント一覧を検索・絞り込みし、選択フォントでプレビュー表示したり、拡張編集へオブジェクトを追加(エイリアス貼り付け相当)できます。選択中のテキストオブジェクトとプレビュー文字列を同期することもできます。
- AviUtl2 + ExEdit2(2.1.0で動作確認)
- Windows 10 以降推奨
配布パッケージを再生ウィンドウにドラッグアンドドロップしプラグインの導入を承認してください。
自動的にC:\ProgramData\aviutl2\Plugin\FontPreviewへ展開されます。
英語と簡体中文の差分言語ファイルを同梱しています。AviUtl2の「設定」→「言語の設定」で言語を切り替えると、Font Previewの画面、操作結果、D&D項目も切り替わります。日本語は既定表示です。
独自UIはAviUtl2のUIフォントを優先し、言語ファイルの__FontFallbackFontsに指定されたシステムフォントを不足グリフ用のフォールバックとして使用します。簡体中文ではMicrosoft YaHei UI、Microsoft YaHei、SimSunの順に利用可能なフォントを検索します。
配布パッケージのpackage.iniはaviutl2.tomlの[release]から自動生成され、インストール説明のpackage.txtは日本語・英語・簡体中文を併記しています。
プラグインを読み込むと、AviUtl2のウィンドウ一覧へFont Previewが追加されます。
- 上部の検索欄: フォント名で絞り込み
- 種類フィルタ:
すべて/システム/ローカルフォント/プラグイン専用/お気に入り/可変フォント - ローカルフォント: AviUtl2の
Fontフォルダ(通常はC:\ProgramData\aviutl2\Font) - プラグイン専用: 同じ場所の
FontLibraryフォルダ - 星ボタンでお気に入りを切り替えられます
星操作でローカルフォント / プラグイン専用を連動を有効にすると、お気に入り登録時はFontへ、解除時はFontLibraryへフォントファイルを移動します- システムフォントの星操作はFont Preview内のお気に入りだけを変更し、フォントファイルは移動しません
- 名前順、種類順、お気に入り優先、可変フォント優先で並び替えできます
.ttf、.otf、.ttcをAviUtl2へドラッグ&ドロップし、表示されるFont Previewへフォントを追加を選ぶと、ファイルをFontフォルダへコピーして一覧を自動更新します。同名ファイルがある場合は上書きしません。
- 一覧からフォントを選択すると、右側のプレビューにサンプルテキストを描画します
- サンプルテキスト: 画面下の入力欄で変更
選択に同期: 選択中またはフォーカス中のオブジェクトのテキストへ自動追従固定: 手入力したプレビューテキストを保持- サイズ・文字色・背景色: スライダーとカラーピッカーで変更
名前をコピー: AviUtl2へ指定するフォントファミリ名をコピー
同期は定期的なポーリングではなく、オブジェクトの選択・更新・シーン変更イベントを契機に行います。イベント処理とは別のワーカーが選択テキストを読み取り、UIはコピー済みの文字列だけを参照します。選択に同期を有効にした直後は、取得済みの最新テキストがあればすぐに反映されます。空文字列や対象のない状態では、現在のプレビューテキストを上書きしません。
右側のプレビュー下部にあるボタンで、選択フォントを使ったオブジェクトを現在位置へ追加します。
テキスト +: 標準のテキストオブジェクトを追加VF +:Variable Font Text(VariableFont プラグイン)を追加VFO +:Variable Font Objectを追加選択中に適用: 選択中またはフォーカス中の既存オブジェクトへ適用
注意:
VF +を使うには、VariableFont.aux2がインストールされている必要があります。VFO +を使うには、Variable Font Objectがインストールされている必要があります。- どちらも「エイリアスからオブジェクト作成」を使って追加します(レイヤー/フレームは現在の編集位置)。
フォント一覧をダブルクリックすると、選択中(またはフォーカス中)のオブジェクトに対してフォント指定を更新します。
テキスト(標準テキスト):フォントを更新Variable Font Text(テキスト(VF)):フォントまたはフォントファイルを更新Variable Font Object:フォントまたはフォントファイルを更新
可変フォント系の2種類は、フォントの取得元に応じて次のように更新します。
- システムフォント選択時:
フォントにファミリ名を入れ、フォントファイルは空 - ローカルフォント選択時:
フォントは空、フォントファイルにフォントパスを入れます
お気に入り、絞り込み、並び順、同期モード、プレビュー設定は次へ保存されます。
C:\ProgramData\aviutl2\Plugin\FontPreview\settings.json
- ローカルフォントまたはプラグイン専用のフォントが出ない
FontまたはFontLibraryへ.ttf/.otf/.ttcを配置し、再読み込みを押してください。
- ドラッグ&ドロップでフォントを追加できない
- 対応形式は
.ttf/.otf/.ttcです。同名ファイルがFontフォルダにある場合は追加しません。
- 対応形式は
- 星を切り替えてもAviUtl2のメニューが変わらない
- フォントファイル移動後はAviUtl2を再起動してください。
VF +で追加できないVariableFont.aux2が未導入、またはeffect名が一致していない可能性があります。
選択に同期が更新されない- 対象オブジェクトに
テキスト、Variable Font Text、Variable Font Objectのいずれかがあることを確認してください。 - 同期は編集イベントを契機にするため、モーダルウィンドウを閉じた後は、オブジェクトの再選択やテキスト変更など次の編集イベントで再開します。
- 対象オブジェクトに
Rust版の実装はsrc/に分割しています。
catalog.rs: システム・ローカルフォント列挙と可変軸情報preview.rs: DirectWrite / Direct2Dによるオフスクリーンプレビューsettings.rs: お気に入り・フィルター・並び順などの永続化alias.rs: AviUtl2エイリアス生成actions.rs: オブジェクト作成・既存オブジェクト更新・選択テキスト取得ui.rs: egui UIと画面状態lib.rs: プラグイン登録、共有編集状態、イベント駆動の同期ワーカー
旧C++実装のFontPreviewNew.cppとVisual Studioプロジェクトは、移行確認用として残しています。
cargo test
cargo clippy --all-targets -- -D warnings
cargo build --releaseRust 2024 editionを使用し、主なAviUtl2依存関係はaviutl2 = 0.39とaviutl2-eframe = 0.39です。リリースビルドの生成物はtarget/release/FontPreview.dllです。手動配置する場合は、このDLLをFontPreview.aux2へ名前変更します。
通常の進行ログと同期診断ログは、AviUtl2のログへVERBOSEレベルで出力します。警告とエラーはそれぞれWARN、ERRORのまま出力します。
aviutl2-cliを利用する場合は、aviutl2.tomlからプレビュー・パッケージ作成できます。