特定の記号類だけ別フォントで入力する方法

LibreOffice Writerについて質問をお願いしたく思います。

(1)西洋諸言語とアジア諸言語のフォントを別々に事前設定しておく手段はありますが、たとえば「< > + ∅」のような特定の文字だけ別のフォントで入力できるように設定する方法をご存じの方はいらっしゃいませんでしょうか?

具体的には西洋諸言語にOldStandardというフォントを使っているのですが、このフォントだと+, <, >などの記号が大きく、バランスを取るため別のフォントに変えています。

しかし入力後にフォントを変える方法だと手間が多く、検索してまとめて置き換えるとしても途中でバランスを見ながら入力しにくいのでやや不便です。
a, b, cなどの基本的な文字はこのフォントで、<, >, +などは別のフォントで、という設定ができれば便利そうですので、お力添え願えればありがたく思います。

LibreOfficeでそのような機能があるかわかりません。文字ごとに指定する必要があるので、期待されている方向とは違うかもしれませんが、「文字スタイル」を適用する方法はあるかと思いました。

設定で可能かどうかはわかりませんが
VBAを使えば出来るのではないかという感触はあります。

もしsora1様がVBAを使えるなら一緒に方法を探ってみるのも
面白いと思っています。

1 Like

sora1様のご質問の中の「検索してまとめて置き換える」についてどのように実現できるのか興味深かったので私も試してみました。

1)例えば以下の様に「検索と置換」で正規表現を使って記号群を指定、置換後に後方参照と書式ボタン経由でフォントを指定


2)マクロ記録で一度この置換を実行し、記録終了、「Macro1」のような名称で保存

3)ツール→カスタマイズ→イベント→「文書を保存する時」(等)に「Macro1」を指定

のようにすると「Ctrl+S」(上書保存時)に所定の記号のフォント置換が出来るのは確認できました。
テキスト変更時やキー入力時のイベントと本マクロが起動できるようになるとご希望されてるイメージに近い動作になりそうでもありますが、用意されているイベントに該当するものが無い様に見えました。

2 Likes

[検索と置換]ダイアログから正規表現で「すべて検索」し、
選択状態になっている該当文字に文字スタイルを適用するところまでをマクロの記録して
文書を保存する時に実行するようにするsu_doさんとenokiさんの合わせ技がいいのかなと思います。

テキストの入力を監視するようなイベントリスナーを実装したマクロを
文書を開いた時に実行するのはハードルが高そう

1 Like