鈴木メモ

Illustratorの練習メモとか、最近はフォントを作ったり。

*

OTEdit for Windows用のマクロを作ってみた

OTEdit for Windows用のマクロをChatGPTに聞いて作ってみました。
前回記事のTTEdit用のマクロをOTEdit for Windows用に変換して、Std/StdNフォントを作るのに便利なコピー系のマクロなどを追加しています。

(マクロのコードの出力にChatGPTを使いましたが、デザインの工程に生成AIが使用されるわけではありません。)
(OTEdit for Macではマクロが非対応なため、このマクロを使用できません。)

OTEditの確認

その前に:マクロを使わなくても、以前のTTEditとOTEditの繰り返し作業を自動化する(HiMacroEx・Automator)の記事で書いたように、マウスとキーボードの記録ツールで作業する方が色々な操作に融通が効きます。用途で使い分けて下さい。

OTEditにあるフィルタとマクロを確認する

マクロは[ツール]-[マクロ]の最初のクリックでマクロのサンプルがコピーされます。初期設定でユーザーの「ドキュメント」フォルダに入ってきますのでそのまま入れて下さい(C:\Users\ユーザー名\Documents\OTEditマクロ)。マクロの拡張子は.vbs (VBScript) または.js (JavaScript)です。

OTEditのフィルタとマクロの関係を確認します。フィルタは1文字単位の加工、マクロは連続処理ができます。[ツール]-[マクロ]で任意のマクロを選択して実行します。

☆OTEditでは、武蔵システム公式の追加フィルタの配布はありません。

☆TTEditではフィルタを連続でかけるにはマクロから各フィルタ名で呼び出せましたが、OTEditではフィルタを呼び出せません。

OTEdit for Windows用 自作マクロを作りました

OTEdit for Windows用マクロを作りました。無料・無保証。再配布NG。
OTEdit for MacやTTEditでは使用できません。このマクロではネットワークアクセス・レジストリ操作は行いません。

使用方法のサポートはしませんのでおかしいなと思ったらChatGPTなどで改造して下さい。

マクロ処理ではフリーズやフォントファイルが壊れて開けなくなるなどのリスクがあります。マクロの実行前に必ずバックアップ用に自作フォントファイルのコピーを保存して下さい。利用は自己責任でお願いします。

自作マクロの配布データ

SZ-OTEdit-macro-20251124.zip
(アップデート履歴:)———————————————-
2025/11/24:公開
————————————————————————

【配布内容の一覧】
SZ-■■マクロ保存先フォルダを開く■■.js
SZ-◎◎テキスト整形-1文字で改行◎◎.js
SZ-◎◎テキスト整形-シフトJIS順に並び替え◎◎.js
SZ-◎◎テキスト整形-重複削除◎◎.js
SZ-◎◎検出-オブジェクト重複と枠外◎◎.js
SZ-◎◎文字一覧をCID番号で作成◎◎.js
SZ-◎◎変換-CID番号を文字に◎◎.js
SZ-◎◎変換-シフトJIS4桁を文字に◎◎.js
SZ-◎◎変換-ユニコード4桁を文字に◎◎.js
SZ-〇Y極大点を追加.js
SZ-〇オーバーラップ輪郭を削除.js
SZ-〇巻き方向を修正.js
SZ-位置揃え中央を連続適用.js
SZ-拡大縮小を連続適用.js
SZ-太くする細くするを連続適用.js
SZ-オブジェクトを文字列へコピー.js
SZ-オブジェクトを文字列削除.js
SZ-オブジェクトを連番へコピー.js
SZ-オブジェクトを連番削除.js
SZ-コピー漢字-GSUB異体字610字Stdまで.js
SZ-コピー漢字-IVS異体字274字Stdまで.js
SZ-コピー非漢字-CID1-94を231-324へ94字.js
SZ-コピー非漢字-対応コピーStd用.js
SZ-コピー横書を縦書へGSUB109字Stdまで.js
SZ-サイドベアリング左右のみ一括設定.js
SZ-GPOSスライダーを出す左右のみ.js
SZ-GPOSスライダー候補グリフ探し.js
SZ-スライドショー.js
SZ-スライドショー注意文字.js
SZ-コピーStdNにする145字にダミーオブジェクト.js
SZ-コピーStdNにする145字に異体字.js
——–
SZ-マクロのフォルダのフルパス指定用.txt
SZ-対応コピー用Stdまで-UTF-16 LE BOM.txt
SZ-対応コピー用シフトJISまで-UTF-16 LE BOM.txt
SZ-文字列コピーと削除用-UTF-16 LE BOM.txt

(1)自作マクロをダウンロードして保存して下さい

①ダウンロードした「SZ-OTEdit-macros_配布日時.zip」を解凍し、中身の「SZ-OTEdit-macro」フォルダを、ユーザーの「ドキュメント」フォルダ内の「OTEditマクロ」のフォルダ(C:\Users\ユーザー名\Documents\OTEditマクロ)の中に入れてください。
※フォルダやファイルの名前を変えないで下さい。同梱の.txtも捨てないで下さい。場所や名前が違うと動作しません。
※(C:\Program Files (x86)\OTEdit\OTEditマクロ)の方には入れないで下さい。

②OTEditで[ツール]-[マクロ]、右下の[マクロ保存先フォルダ]でマクロのフォルダ(C:\Users\ユーザー名\Documents\OTEditマクロ\SZ-OTEdit-macro)を指定し直して下さい。自作マクロが並びます。

(2)武蔵システムのOTEditの資料をダウンロードして、一度開いて変換→同じフォルダに入れて下さい

私の自作マクロの動作に必要なOTEdit資料です。

武蔵システムのサイトのOTEditの「和文フォント情報のダウンロード」から2つのファイルをダウンロードして→一度開いて変換→自作マクロと同じフォルダに入れて下さい。無料でダウンロードが可能です。

「Adobe Japan 1-3、1-4用 ダウンロード」、「Adobe Japan 1-7用 ダウンロード」をそれぞれダウンロードして下さい。
(SZ-◎◎変換-CID番号を文字に◎◎.jsで使用します。)

ダウンロードしたフォルダ「oteditCIDInfo」「oteditCIDInfoAJ1-7」の中にある「UnicodeとCIDの対応.xls」と「UnicodeとCIDの対応1-7.xls」を開きます。「Googleスプレッドシート」と「LibreOffice」での操作手順です。エクセルでも多分大丈夫。

【『Googleスプレッドシート』(無料、Googleアカウントが必要、WEBブラウザで動きます)使用の場合:】

WEBブラウザでGoogle にログインし、Googleドライブを開きます。
https://drive.google.com)。左上の「+ 新規」-「Googleスプレッドシート」-「ファイル」-「開く」-「アップロード」で「UnicodeとCIDの対応.xls」をドラッグで入れる。(インポートで開けた場合は、ダイアログで「テキストを数値、日付、数式に変換する」のチェックを外して下さい。)

別名保存は「ファイル」-「ダウンロード」-「カンマ区切り形式(.csv)」でPCにダウンロードされます。ファイル名にシート名が追加されているので不要な部分を削除して下さい。「UnicodeとCIDの対応.xls – Unicode順.csv」→「UnicodeとCIDの対応.csv」。 1-7用ファイルも繰り返し。

【『LibreOffice』(無料、アカウント不要、ソフトのダウンロードが必要)使用の場合:】

(LibreOffice(Calc 表計算ドキュメント)」で.xlsファイルを開きます。「ファイル」-「名前をつけて保存」-ファイルの種類を「テキストCSV(.csv)」に変更。

「日本語(Windows-932)」を選択、「表示どおりにセル内容を保存する」にチェック-「OK」。「警告:アクティブなシートだけが保存されました」が出るので無視してOKで閉じる。.csvで保存できました。1-7用ファイルも繰り返し。

今回は不要ですが、.csvファイルを開く時はテキストのインポートパネルが開くので、下の「フィールド」にある表のマス目の部分全部の列をクリックで黒く選択してから、列の種類を標準から「テキスト」へ変更して「OK」で開くとUnicode番号(0020など)が化けません。

(3)Adobeの資料をダウンロードして、同じフォルダに入れて下さい

私の自作マクロの動作に必要なAdobe資料です。Std/StdNを全部埋めたい人向け。

AdobeのGitHubから3つのファイルをダウンロードして、自作マクロと同じフォルダに入れて下さい。GitHubアカウントが無くても、無料でダウンロードが可能です。ページ右上の↓アイコン(Download raw file)からダウンロードできます。

●Adobe-Japan1資料の利用に当たってREADMEのライセンスを確認して下さい。「はじめに」の前の英文の部分がライセンス文です。(英文が法的に効力があるため和訳がありません。)この日本語READMEはフォント制作でよく読む資料です。

●GSUB資料「aj13-gsub.fea」をダウンロードして下さい。
(SZ-コピー漢字-GSUB異体字610字Stdまで.jsと、SZ-コピー非漢字-横書を縦書へGSUB203字Stdまで.jsで使用します。)

●GSUB資料「aj13-gsub-reiwa-jp04+145.fea」をダウンロードして下さい。
(SZ-コピーStdをStdNにする145字へ.jsで使用します。)

●IVS資料「Adobe-Japan1_sequences.txt」をダウンロードして下さい。
(SZ-コピー漢字-IVS異体字274字Stdまで.jsで使用します。)

Adobeの資料は令和合字が追加されるようなフォントの規格の変化があるかもしれないので時々最新情報を確認して下さい。

OTEdit用自作マクロの使い方

マクロの実行前に必ずバックアップ用に自作フォントファイルのコピーを保存して下さい。実行範囲を間違えた、マクロを途中で止めてしまった、などはよくある事です。複製保存を忘れずに。

①OTEditの[ツール]-[マクロ]、マクロを選択して[編集]。
マクロ(.js)のファイルが『メモ帳』などのテキストエディタで開かれます。

②コードの一部を書き換えて、上書き保存。
コード冒頭の//(ユーザー書き換え可能)の部分を探し、範囲などを書き換えて上書き保存して下さい。マクロファイル(.js)はエンコードがANSI保存でないとOTEditで動作しません。(選択肢にANSIが無い場合、「Shift JIS」「SJIS」を選択して下さい。)

マクロによっては同梱のテキストファイル(.txt)の書き換えと上書き保存も必要です。こちらはエンコードが「UTF-16 LE BOM」で保存しないと文字化けします。

③OTEditの[ツール]-[マクロ]、マクロを選択して[実行]します。
すぐに連続実行が始まります。マクロは処理のみでフォントファイルの保存は入ってませんので終わったら自分で保存操作をして下さい。

マクロの操作で困ったら

【 テキストエディタ『VS Code』でマクロファイル(.js)を開きたい 】
・初回は「このウィンドウで信頼されていないファイルを許可しますか? 」が出ます。そのまま開いて下さい。
・マクロファイル(.js)が文字化けして開かれます。画面下部のUTF-8をクリック-
「エンコード付きで再度開く(Reopen with Encoding)」→ 「Japanese(Shift JIS)」を選ぶ。文字化けが直ります。

【 「マクロの内容が無効です」が出る 】
範囲番号などを書き換え保存した後にエラーが出る時は、記入した英数字が半角になっているか確認して下さい。全角で入力するとエラーになります。
また、コード番号を指定する時に番号に接頭辞0xがあるものは0xを削除しないで下さい。例)var START_CODE = 0x829F;

【 全文字を処理したい 】
OTEditではCID範囲指定でマクロをかけて下さい。CID範囲には横書き/縦書きがまとめて入っています。
Stdフォントであれば収録文字はCID 0~9353までですが、よく使う範囲はCID 0~8719 の、保存後に自動作成される回転グリフ前までです。TTEditとOTEditの連動している文字について

【 マクロの中止について 】
[ツール]-[マクロの中止]で中止できます。文字範囲が広い設定の場合、中止の処理終了ダイアログが出るまで1分程度タイムラグがあります。

【 OTEditの強制終了について 】
フリーズした時は、Windowsの強制終了ショートカットCtrl + Alt + DeleteからOTEditの終了をして下さい。黒画面になり、タスクマネージャーなどの選択肢と、右下に再起動などの電源アイコンが出ます。

【 マクロで最後の一文字が処理されてない 】
マクロを実行後に、文字一覧パネルを見ると最後の1文字が出来ていないように見えることがありますが、次の文字に移動などの動作が有った時にプレビューの更新がされるためで、処理はされています。文字一覧パネル[設定]で[プログラムがアクティブでない時は表示しない]にチェックを入れて下さい。マクロの終了ダイアログ時に文字一覧パネルのオンオフによってプレビューが更新されます。

【 マクロが途中で止まる、遅くなる 】
マクロの実行中に画面の遷移が止まって見えたり、急に遷移が遅くなることがあります。これは編集不可文字をバックグラウンドで文字数分移動しているためで、正常に実行中ですのでそのまま待っていて下さい。とくにコード番号が大きく飛ぶ箇所は2分近く止まって見えることがあります。(シフトJIS:00DF→8140など)
マクロを実行すると1文字ずつ遷移していくため、7000字位の処理で10分程度かかります。

【 ところどころ処理されない 】
OTEdit製ではないフォントでは、収録文字などがOTEditと異なり、スキップされる可能性があります。

【 コピーされない 】
コピー系マクロでは貼り付け方を選択できます。貼り付け方を「常にコピー」にして動作をテストして下さい。

《ツール・変換系》

ツール・変換系マクロはOTEditが起動していればフォントファイルが開いてなくても実行できます。

SZ-■■マクロ保存先フォルダを開く■■.js

私の自作マクロでは、実行前にマクロのファイル(.js)だけでなく同梱のテキストファイル(.txt)も編集するものがあり、マクロのフォルダを辿って探すのは面倒なので、OTEditからマクロ入りのフォルダを呼び出せるようにしました。

SZ-◎◎変換-シフトJIS4桁を文字に◎◎.js(例:82A0→あ)

OTEditをテキストファイルの文字コード変換ツールとして使います。任意のテキストファイル(〇〇.txt)を選択し、内容の4桁の数字をシフトJISで変換して文字列テキストファイルを出力します。ファイルの選択画面を開く際に、やや時間がかかりWindowsの黒いウインドウが一瞬出ますが仕様です。

4桁数字を変換の際に、予期しない部分まで変換対象になることがあります。(2025/11/15→ %/11/15)(CID 7575→CID uu)

SZ-◎◎変換-ユニコード4桁を文字に◎◎.js(例:3042→あ) (例:U+3042→あ)

OTEditをテキストファイルの文字コード変換ツールとして使います。任意のテキストファイル(〇〇.txt)を選択し、内容の4桁の数字をUnicodeで変換して文字列テキストファイルを出力します。ファイルの選択画面を開く際に、やや時間がかかりWindowsの黒いウインドウが一瞬出ますが仕様です。

4桁数字を変換の際に、予期しない部分まで変換対象になることがあります。(2025/11/15→ ‥/11/15)(CID 7575→CID 畵)( シフトJIS 81BE→シフトJIS 膾)

SZ-◎◎変換-CID番号を文字に◎◎.js(例:843→あ)

OTEditをテキストファイルの文字コード変換ツールとして使います。任意のテキストファイル(〇〇.txt)を選択し、内容の数字をCIDで変換して文字列テキストファイルを出力します。CIDリストを超える範囲の番号・対応するUnicodeが無い・縦書きは変換せず、{115}のように波括弧をつけて数字のまま残します。(CID番号を波括弧で扱うのは私の自作マクロの勝手ルールです。)ファイルの選択画面を開く際に、やや時間がかかりWindowsの黒いウインドウが一瞬出ますが仕様です。

変換用のUnicodeとCIDの対応リストを選択できます。1-3・1-4 用 と 1-7 用で、90字形2004字形の変換結果が異なります。出力の文字列は、元データのままと、カンマ区切り無しを選択できます。

数字を変換の際に、予期しない部分まで変換対象になることがあります。(2025/11/15→ 貢/*/.)(Unicode 3042 “あ”→Unicode 墜 “あ” )

【このマクロは事前にファイルの準備が必要です】
各自ダウンロードした「UnicodeとCIDの対応.xls」「UnicodeとCIDの対応1-7.xls」を、.csvに変換し、マクロと同じフォルダに配置して下さい。

【カンマ区切り無し出力の見た目について】
テキストエディタによっては、カンマ区切り無しではダイアクリティカルマークなどの結合文字が同位置に詰まって見えることがありますが、見ためが重なっているだけでデータはあります。テキストエディタを変えて下さい。

・カンマ区切り無し:「Notepad++」で表示:※¿以降が重なって詰まって見える・カンマ区切り無し:「メモ帳」で表示:※¿以降が横に並んであることが分かる

【CIDにまとめられている文字について】
このマクロでCID 1を変換するとUnicode00A0のスペースになります。Unicode0020(半角スペース)とUnicode00A0(ノーブレークスペース、NBSP)が同一CIDとしてCID 1にまとめられているため(同時オープン扱い)で、正常な変換です。TTEditとOTEditの連動している文字についての記事も参照して下さい。

CID変換マクロの制作余談)
武蔵システムの資料を使わずに、Adobeのcmap資料、Adobe-Japan1-7「cid2code.txt」から25列/22列あたりの抽出でいけるかな?と試しましたが変換結果の縦書きが共通Unicodeの横書きで表示されるため没としました。

SZ-◎◎テキスト整形-1文字で改行◎◎.js

テキストを1文字単位で改行します。エクセルに貼り付けたりするのに便利です。

OTEditをテキストファイル変換ツールとして使います。選択した任意のテキストファイル.txtを読み込み、改行済みテキストファイルを出力します。
ダイアクリティカルマークを含む文字は1文字単位で改行できないことがあります。
私の自作マクロではCID番号を波括弧で扱うことがあるので、波括弧に入った数字は1文字扱いで処理します。(例:{115})

SZ-◎◎テキスト整形-シフトJIS順に並び替え◎◎.js(例:おえういあ→あいうえお)

実際に自作する横書き文字の量や順番を把握しやすくするために作ったマクロです。「ファイル」-「文字一覧テキストファイルを作成」をUnicode・作成済みのみで作成後に使うと便利です。

OTEditをテキストファイル変換ツールとして使います。選択した任意のテキストファイル.txtを読み込み、並べ替え済テキストファイルを出力します。

出力結果は [シフトJIS順(重複削除済)]、[シフトJIS範囲外(重複削除済・カンマ区切り・Unicode順)]に振り分けて表示。

入力文字列で重複登録のシフトJISコードがある場合、∵∵∵(異なるシフトJISが3個)は∵∵∵(同一シフトJISが3個)と見なされ、重複処理されます。

シフトJIS範囲外はカンマ区切りで出すことで、難しい漢字や欧文でも1文字単位の代替フォント表示のフォールバックが効き、豆腐になりづらくなっています。

SZ-◎◎テキスト整形-重複削除◎◎.js(例:あああ→あ)(例:ああい→い)

OTEditをテキストファイル変換ツールとして使います。選択した任意のテキストファイル.txtを読み込み、1文字単位で重複削除し、重複削除済テキストファイルを出力します。

出力結果は[重複削除(あああ→あ)]、削除された文字(重複削除)、[重複を両者削除(ああい→い)]、削除された文字(重複削除) に振り分けて表示します。文字の並べ替えはされません。

入力文字列で重複登録のシフトJISコードがある場合、∵∵∵(異なるシフトJISが3個)は∵∵∵(同一シフトJISが3個)と見なされ、重複処理されます。

《検出系》

SZ-◎◎文字一覧をCID番号で作成◎◎.js

OTEditでは「ファイル」-「文字一覧テキストファイルを作成」でシフトJISとUnicodeの文字一覧をテキストファイルを出力できますが、CID番号一覧は無かったので作ってみました。ただ指定範囲全文字を一度開けて調査するので出力に時間がかかります。

開いているフォントを調べてCID番号のカンマ区切り一覧をテキストファイルでデスクトップに出力します。文字数カウントも表示します。
[範囲指定(CID範囲:◯-◯):◯文字][空グリフ:◯文字(定義空白グリフ:◯文字を含む)][作成済グリフ:◯文字]と振り分けて表示。

【 定義されている空白グリフ】Adobeの資料へ:スペース(空白)グリフ

出力はCID番号ですが、SZ-◎◎変換-CID番号を文字に◎◎.jsマクロで文字列に変更できます。

SZ-◎◎検出-オブジェクト重複と枠外◎◎.js

グリフ枠からはみ出してるオブジェクト、枠外のオブジェクト、「オーバーラップ輪郭を削除」で同一化できない完全同一座標の同一オブジェクトを検出します。

開いているフォントを調べて 「重複と枠外オブジェクトの検出リスト」フォルダをデスクトップに作成し、その中にグリフごとの”CID-0000.csv” と “重複と枠外オブジェクトの検出リスト.txt” を作成し、テキストを前面表示します。
[調査範囲]、[重複オブジェクト検出(完全同座標): 0グリフ]、[枠外オブジェクト検出: 0グリフ]と振り分けて表示。検出後はフォルダ内の大量の.csvは使わないので削除して下さい。

枠外判定はオンカーブ点・オフカーブ点の座標位置でみるため、実体の輪郭はグリフ枠に収まっていることもあります。気になる場合は極大点を追加して下さい。

【手作業で極大点を上下左右に追加するには】
オブジェクトを選択していない状態で、カーソルをオブジェクトの輪郭線上(塗りの中ではなく)におき、右クリック-[極点を追加]-[上/下/左/右/上下左右]を選択で極点が追加されます。(マクロでこの連続追加はできません。)

【マクロの作り方】
この検出マクロはTTEdit用に.vbsで一度完成しましたが、GetPoint2の座標取得でつまづき、.jsに変換できませんでした。その後に「ファイル」-「エクスポート」-「CSV」がDoc.ExportCSVFileでマクロから動かせることに気がついたため.jsマクロで完成しました。

【はみだしを目視するには】
編集画面で[表示]-[外接四角形を表示]で4辺の余白数値が出るので、グリフ枠からはみ出しがあると余白数値が赤くなります。グリフ枠の周囲にゆとりを持たせて表示して下さい。

《仕上げ作業系》

SZ-〇Y極大点を追加.js

[編集]-[Y極大点の追加]を連続処理します。マクロの実行にSendKeysを使用するため、擬似的にキーボードCtrl+Alt+Yの連打状態となります。マクロの実行中に他の作業をしないで下さい。

SendKeysはY極大点が実際に追加できたかどうかに関わらず、一定の速さで遷移します。複雑なパスで空振りがある場合スピードを遅く設定して下さい。

マクロ終了後NumLockキーのアイコンが画面中央に残ることがありますが、通常数分で消えます。20分以上残り続けて邪魔な場合はパソコンを再起動して下さい。

【マクロ改造用SendKeys覚書】
ショートカットキーCtrl+Alt+Yは、SendKeysでは^%y(小文字 y)で記入。

【Y極大点とは】
Illustratorなどで縦書きで表示する際、高さの計算はオブジェクトの輪郭サイズではなく、オンカーブ点かオフカーブ点の座標を使用するため、上辺に曲線のあるグリフは実際より大きく余白サイズを取られてしまいます。それを防ぐために上辺頂点(Y極大点)にオンカーブ点を追加します。

【Y極大点は2点追加されることがあります】
(OTEdit[ヘルプ]-[目次]-[検索]タブに「Y極大点」と入力、からの引用)
「輪郭のY方向極大位置へ制御点を追加します。なお、曲線の極大位置であっても、オンカーブ点より下になる曲線部分には追加されません。輪郭の形が変わらないようにするため、制御点は数点追加されます。」

SZ-〇オーバーラップ輪郭を削除.js

[編集]-[オーバーラップ輪郭を削除]を連続処理します。Illustratorでいうところの[パスファインダー]-[合体]です。

SZ-〇巻き方向を修正.js

[編集]-[巻き方向を修正]を連続処理します。
オブジェクトに「巻き方向を表示」の赤い矢印が画面に出てない場合は[表示]-[巻き方向矢印を表示]をオンにして向きが確認できます。OTEditでは反時計回りです。(参考:TTEditでは時計回りで向きが逆です。)
ごく稀に、フィルタ太字の後など込み入ったポイントあるものは巻き方向を修正が効いていないことがあります。ポイントを削除して巻き方向を修正すると直ることが多いです。

《オブジェクトの処理系》

SZ-位置揃え中央を連続適用.js

オブジェクトを連続してグリフ枠の中央に揃えます。揃え方は左右、上下、上下左右から選択できます。Shift-JIS / Unicode / CIDで範囲選択が可能です。

SZ-拡大縮小を連続適用.js

オブジェクトを連続して拡大縮小します。拡大縮小率80%や120%などで指定。CID連続範囲指定、またはCID番号カンマ区切りで点在指定できます。コード内のCID番号リストに、まとめて縮小に使うかなと思って①や㈱などの丸付き・括弧付きのStdリストを入れてあります。
シフトJIS・Unicodeでは効果が重ねがけとなって不都合なため、範囲選択はCIDのみ。TTEditとOTEditの連動している文字について

SZ-太くする細くするを連続適用.js

太字/細字の連続処理ができます。マクロの実行前に、OTEditの[編集]→[太くする/細くするの設定]で数値を設定してください。
マクロの実行にSendKeysを使用するため、擬似的にキーボードCtrl+bまたはCtrl+jの連打状態となります。マクロの実行中に他の作業をしないで下さい。
シフトJIS・Unicodeでは効果が重ねがけとなって不都合なため、範囲選択はCIDのみ。TTEditとOTEditの連動している文字について

太字/細字の連続処理後はパーツ同士のパスが重なることがあるのでオーバーラップ輪郭削除の連続処理をして下さい。

《オブジェクトのコピー系》

SZ-オブジェクトを連番へコピー.js

Unicode 3000(全角スペース)=CID 633=シフトJIS 8140 を一時置き場として使い、オブジェクトを連番でコピーします。

コピー系マクロでは貼り付け方を選択できます。
「 削除してコピー(全選択削除→貼付)」「 常にコピー」「 既存グリフのみにコピー(空はスキップ)」「 空グリフのみにコピー(既存はスキップ)」

連番コピー後にUnicode3000(全角スペース)のコピー元オブジェクトは削除されます。(直後にマクロをかけ直したい時は[編集]-[もとに戻す]で出てくると思います。確認ダイアログが出ている時はCtrl+Zが効かないのでマウスで操作。)

シフトJIS・Unicodeでは効果が重ねがけとなって不都合なため、範囲選択はCIDのみ。TTEditとOTEditの連動している文字について。どうしてもシフトJIS(第一水準のみ処理したいなど)で連番コピーしたい場合はHiMacroExを使って下さい。TTEditとOTEditの繰り返し作業を自動化する(HiMacroEx・Automator)

SZ-オブジェクトを文字列へコピー.js

漢字の部首パーツなどを一気にコピー配置するために作ったマクロです。文字列(例:鮭鯖鮫…)またはCID番号(例:{115})で指定してコピーできます。

Unicode3000(全角スペース)を一時置き場として使い、同梱の「SZ-文字列コピーと削除用-UTF-16 LE BOM.txt」の [USER_TEXT] セクションの文字列またはCID番号へ貼り付けします。貼り付け方法を「空グリフのみにコピー」を選択すればまだ作ってないところだけに部首を入れていけます。偏と旁を同居するようにするには「常にコピー」で普通にコピーします。

魚偏(鮭鯖鮫…)のような情報はマクロに入れてませんので、自分で用意して下さい。文字リストの用意については下にまとめてます。一度使った文字リストは[REFERENCE_ALL]セクションに貯めておくと次のフォント制作で使えます。

【文字リストをOTEditの関連文字一覧パネルからコピー】

関連文字パネルを開き、左上をUnicodeに(シフトJISでは全文字出ません)。「設定」の右側▼から「一覧をテキストファイルに保存」。現在オープン中の1文字がリストから抜けてしまうのに注意して下さい。また、クリックして出てくる次の階層はテキストファイルに出ないため、(鮮をクリックすれば癬蘚が出るが、魚で癬蘚は出ない)完全なリストアップにはなりません。魚偏リストから魚や魯など形が違うものは自分で振り分けて下さい。部首ごとにテキストファイルの出力が必要です。手軽ですが完全リストでないことに注意。

【文字リストをインターネットから検索してコピー:おすすめ】

①【参考】漢字辞典オンラインで魚の入っている漢字を構成検索し、コピー。
②【参考】改行・空白・タブ削除ツールで改行を削除。
③【参考】総合漢字チェッカー by attosoft.infoで第一水準・第二水準を抜き出す。魚や魯など形が違うものを自分で振り分ける。
この方法は魚の構成検索で魚鮮癬蘚まで一気に出せます。リスト漏れが出にくく、おすすめです。部首ごとに構成検索が必要です。

【文字リストをOTEditの文字一覧からコピー】
①[ファイル]-[OpenTypeフォントの新規作成]。ファイルは空で構いません。[ファイル]-[文字一覧テキストファイルを作成]。左下[シフトJIS]か[Unicode]、「字形が作成されている文字のみ」のチェックを外す。テキストファイルを出力。
②メモ帳などで開けて、ここから丸囲み文字・濁点・シフトJISなら部首別にまとまっている第二水準漢字などを目視でピックアップ。

【文字リストをWikipediaからコピー】
【参考】ダイアクリティカルマークの一覧はWikipediaにまとまっています。
シフトJIS範囲やStd範囲にあるものはサンプルに入れてますが、1-4や1-7範囲を制覇する場合はリストを用意して下さい。アクセント記号の位置を大文字用と小文字用で高さを変えたいときはUnicode3000(全角スペース)に置いた時点で変えて、2回に分けてマクロをかけると良いと思います。

コピーでばらまいた後に部分パーツ単位での削除や更新はできませんのでコピーは慎重に。ある程度デザインが固まってからマクロを使うと良いと思います。

《オブジェクトの削除系》

SZ-オブジェクトを連番削除.js

オブジェクトを連番で削除します。Unicode / Shift-JIS 範囲選択可能。よく使うと思う。

SZ-オブジェクトを文字列削除.js

オブジェクトを文字列で削除します。同梱の「SZ-文字列コピーと削除用-UTF-16 LE BOM.txt」の[USER_TEXT] セクションを読み込みます。このテキストファイルはコピーマクロと共用です。オブジェクトを文字列へコピーマクロで失敗したなと思った直後であれば同じ文字列で使えるかもしれないけども、グリフごとに全選択→削除するので、旁を残して偏パーツだけ削除などはできません。あまり使わないと思う。

《(リストのある)非漢字コピー系》

SZ-コピー非漢字-対応コピーStd用.js

主に記号領域の、文字を使い回しする部分を一気にコピー配置するために作ったマクロです。この対応リストは見た目が近い文字同士など私の個人的な集め方のため、自由に編集して下さい。コピー元/コピー先がCID番号を持つ単独グリフであることが必要です。

ひらがな・カタカナ・数字・アルファベットが出来たあたりで「空グリフのみにコピー(既存はスキップ)」でマクロをかけると、3種類のコピーが一気に処理されて未作成の部分が埋まります。(先に既存フォントに対して「常にコピー」でマクロの動作テストをすると雰囲気が分かると思います。)セクションごとに有効化を選択することも可能です。

グリフとグリフの対応リストは同梱の「SZ-対応コピー用Stdまで-UTF-16 LE BOM.txt」に入れています。Stdでは多すぎる場合は「SZ-対応コピー用シフトJISまで-UTF-16 LE BOM.txt」もあるのでコード内にあるファイル名を書き換えて下さい。

オブジェクトはそのままの状態でコピーするので、コピー後の字体の修正が必要です。違いを見落とさないよう注意して下さい。

[INDEX_PAIRS](インデックス対応)では 同じ文字数同士でコピー出来ます。区切り文字は※。(例:123456789※①②③④⑤⑥⑦⑧⑨)
[EXPAND_PAIRS] (展開対応)では1文字→複数文字でコピー出来ます。区切り文字は->。(例:A->ÅÀÁÂÃÄÅΑАΛΔ)
[AGGREGATE_PAIRS](集約対応)では複数文字を1文字に集約コピーできます。区切り文字は=>。(例:センチ=>㌢)

 

SZ-コピー非漢字-CID1-94を231-324へ94字.js

CID=1~94(半角英数プロポーショナル) を CID=231~324 (文字幅違い)にコピーします。文字幅が異なるのでコピー後にデザインを調整して下さい。

【CID=1~94(半角英数プロポーショナル)の内容】
!”#$%&'()*+,‑./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[¥]^,̲,̀abcdefghijklmnopqrstuvwxyz{¦}

武蔵システム:OTEdit for Windows Q&A

Q39 Windows版Adode Illustratorで半角英数が表示されない。
一般のアプリでは、半角英数文字はCID=1~94の文字で表示されますが、Windows版Adode Illustrator9、Illustrator10では、CID=231~324の文字で表示されます。そのためこの領域に文字を作成していないと何も表示されません。なお、CID=231~324はCID=1~94の異体字です(文字幅が異なります)。

SZ-コピー横書を縦書へGSUB109字Stdまで.js

横書き文字を対応する縦書き文字にコピーします。1-3(Std)用です。

横書きの小書きの「ぁ」→縦書きの小書きの「ぁ」のように対応するグリフがコピーされます。貼り付け方法を「空グリフのみにコピー」にすると未作成文字のみにコピーされます。横書きのそのままの状態でコピーするので、その後の字体や位置の修正(括弧類の回転は右クリックして-90度)が必要です。

OTEditの文字一覧パネル右上を「縦書き用文字」にして下さい。この中には
・縦書き専用文字(小書き「あ」など・括弧・句読点・縦組み単位記号)
・横・縦兼用文字(矢印・指示マーク(手の矢印)・罫線素片)
が混在しています。 このうち横・縦兼用文字はコピー元コピー先が縦書きパネル内にあるためこのマクロでコピーしません。

横・縦兼用文字は画面上部にこのような表示が出ます。

【このマクロは事前にファイルの準備が必要です】
GSUB資料「aj13-gsub.fea」を各自ダウンロードし、マクロと同じフォルダに配置して下さい。1-3(Std)用です。aj13-gsub.feaのvertを読み込みします。(CID8720以降の回転グリフ部分にはコピーしません。OTEditの保存後、回転グリフは自動で作成されます。)横・縦兼用文字はマクロでCID範囲でフィルタし除外しています。

vertのコピー先重複のCID7956「〝」7957「〟」 の2件については(672→7956)(673→7957)を無効化し、(7608「〝」→7956「〝」)(7609「〟」→7957「〟」)のみ有効にして203字にしています。

【文字一覧パネル「通常」表示でも縦書きは混ざっています】
OTEditのCIDでは文字一覧パネル右上「通常」表示で横書きと縦書きグリフが混在しています。そのためTTEditのように全文字処理(太字処理など)に横書き用と縦書き用で2回マクロをかける必要はありません。OTEditでパネル右上を「縦書き用文字」にするのはピックアップして見やすく確認する用途です。

《漢字の異体字コピー系》

SZ-コピー漢字-GSUB異体字610字Stdまで.js

1-3(Std)範囲の漢字グリフのうち、GSUBの異体字があるものへ 610字をコピーします。
CID 7633啞以降の異体字ゾーンを埋めるのに便利です。

GSUBの異体字はOTEditの文字一覧パネルで右下に三角があるものです。
(OTEditでは一部右下三角が無いものもコピーされますが、AdobeのGSUB資料を優先しています。右下三角の有無はOTEditの新規作成ファイル1-3/1-4/1-7ごとでも量が違います。)

このマクロでは弁→辨/瓣/辯は複数のコピー先があるためコピーを除外して610字になっています。

GSUBの異体字とIVSの異体字は一部被っていますので、「空グリフのみにコピー(既存はスキップ)」を推奨します。コピーは異体字ですので、その後の字体の修正が必要です。違いを見落とさないよう注意して下さい。

【このマクロは事前にファイルの準備が必要です】
GSUB資料「aj13-gsub.fea」を各自ダウンロードし、マクロと同じフォルダに配置して下さい。(fexpt/jp04/jp78/nlck/trad)をコピーします。

SZ-コピー漢字-IVS異体字274字Stdまで.js

1-3(Std)範囲の漢字グリフのうち、IVSの異体字があるものへ 274字をコピーします。
CID 7633啞以降の異体字ゾーンを埋めるのに便利です。

IVSの異体字はOTEditの文字一覧パネルで左下に三角があるものです。
(OTEditでは一部左下三角が無いものもコピーされますが、AdobeのIVS資料を優先しています。左下三角の有無はOTEditの新規作成ファイル1-3/1-4/1-7ごとでも量が違います。)

IVSの異体字とGSUBの異体字は一部被っていますので、「空グリフのみにコピー(既存はスキップ)」を推奨します。コピーは異体字ですので、その後の字体の修正が必要です。違いを見落とさないよう注意して下さい。

【このマクロは事前にファイルの準備が必要です】
IVS資料「Adobe-Japan1_sequences.txt」を各自ダウンロードし、マクロと同じフォルダに配置して下さい。

《スライダー系》

SZ-サイドベアリング左右のみ一括設定.js

OTEditでは最初から出ている白スライダー(サイドベアリング/半角英数全角英数など)と、自分で1文字ずつ表示させないと出てこない青スライダー(GPOS/全角かな漢字など)があります。

最初から出ている「白スライダーの左右のみ」(=左右サイドベアリング)をまとめて設定するマクロです。

⇒⇒OTEditでは「白スライダーの上下」はマクロで設定出来ません。全角小文字acegjなどに手作業で設定して下さい。これは上下の白スライダーが1000の高さを保って2本連動するように動くためです。TTEditのように「上」だけ「下」だけで白スライダーを独立して動かせません。

このマクロでは余白数値は左右で同値(=オブジェクト位置中央揃え)にしか設定できません。文字によっては左右で同値では無い方が見た目が良いものもあります(縦書きで「Jj」など)。マクロ後スライダーで手動で調整して下さい。([ファイル]-[インストール済みを開く]で他の日本語フォントを開くと余白の参考になります。)

【サイドベアリングリスト】OTEditヘルプページより「サイドベアリング」で検索したものを使用。

文字幅を変更できるのは、Adobe Japan 1-xフォントの場合、CIDで1~230、9354~9737、15449~15975、20317~20426のグリフのみです。

この値を設定できる文字は、CIDで、710~720、758、771~772、780~841、1011~1124、7575~7584、7601~7607、7610~7612、8020~8037、8053、8055、8092~8101、8182、8186~8190、8192~8194、8225~8226、8295~8307、9779、9872~9883、11846~11870、12089~12096、の文字だけです。

これを数えると、
・1-3(Std、CID9353まで):上下可変264文字・左右可変230文字。
・1-4(Pro、CID15443まで):上下可変310文字・左右可変614文字。
・1-7 (Pro6N、CID23059まで):上下可変310文字・左右可変1251文字。

【設定数値と余白数値のズレについて】
3O@など曲線のオブジェクトは、編集画面で表示される[表示]→[外接四角形を表示]の余白数値がマクロの設定値より大きくなる場合があります。手作業で[文字情報]から設定しても、マクロから設定してもこのズレは出ます。微差であれば、実際にはそれほどデザイン的には影響しないと思います。

【手作業で極大点を上下左右に追加するには】
オブジェクトを選択していない状態で、カーソルをオブジェクトの輪郭線上(塗りの中ではなく)におき、右クリック-[極点を追加]-[上/下/左/右/上下左右]を選択で極点が追加されます。(マクロでこの連続追加はできません。)

【手作業でサイドベアリングを設定するには-[文字情報]で数値入力】
[設定]-[文字情報]。タブで[横書き]/[縦書き]。[サイドベアリングで設定する]にチェック、数値を入力。左右対象でない数値でも入力できます。フォントによっては横書き/縦書きの一方のタブのみ設定できます。

【手作業でサイドベアリングを設定するには-スライドショー注意文字マクロでスライダー移動】
スライドショー注意文字マクロではスライダー有りの文字だけを連続して開くので、直接スライダーを移動できます。

SZ-GPOSスライダーを出す左右のみ.js

OTEditで青スライダーを出すには「設定」→「文字情報 」→「GPOSテーブルのプロポーショナルメトリクスを設定する」チェックボックスのオンにして表示します、、、がマクロでは「横書き」タブの青スライダー(左右用)しか表示できませんでした。また、数値入力も出来ませんでした。中途半端なマクロですが、全角英数・全角かなカナだけでも左右の青スライダーをまとめて出せれば無いよりましかなと。

マクロの実行にSendKeysを使用するため、擬似的にキーボード(Ctrl+H) → Alt+G → Enterの連打状態となります。マクロの実行中に他の作業をしないで下さい。また、マクロを2回かけるとチェックボックスが押されてオフになります。

GPOSの青スライダーは頑張って設定してもソフトによっては反映されません(Wordなど)。白スライダーの設定を優先して下さい。

余白は文字によっては左右で同値では無い方が見た目が良いものもあるので(縦書きで「しトレ」や濁点半濁点付きなど)、数値入力にこだわらずスライダーを直接動かして調整する方が良さそうに思えます。

☆「縦書き」タブへの切り替えがマクロでは効かないため、縦書きタブの設定はHiMacroEXなどを使用した自動化を推奨します(手動ショートカットキーでCtrl+Tabで縦書きタブへの切り替えできます)。TTEditとOTEditの繰り返し作業を自動化する(HiMacroEx・Automator)の記事を参考にして下さい。

【チェック用:GPOSテーブルのプロポーショナルメトリクス一覧を表示について】
「ツール」-「GPOSテーブルのプロポーショナルメトリクス一覧を表示」では青スライダー一覧のCSVファイルを出力できます、、がCSVファイルを編集しても再インポートは出来ません。あくまでも値を見るだけです。([ファイル]-[インストール済みを開く]で他の日本語フォントを開くと何文字くらい設定しているか参考になります。)フォントファイルに1文字も青スライダーを設定していない状態ではメニューが選択できません。

SZ-GPOSスライダー候補グリフ探し.js

オブジェクト幅の細長い/平たい漢字を検出します。(例:一二三四心/日月下干など)

自分で1文字ずつ表示させないと出てこない青スライダー(GPOS/全角かなカナなど)は漢字を含む全角文字に設定できますが、スライダー位置設定は手作業になります。特に漢字は数が多すぎるので、見た目に極端な余白があって、使用頻度が高いものだけ設定できれば良いと思います。検出結果を見て必要そうな文字があれは手作業で青スライダーを表示させて位置設定して下さい。このマクロは候補を出すところまでです。マクロがなくても良い気もする。

検出グリフ数が多すぎる場合、CID範囲指定から全角記号エリアを外す、判定余白値を大きくするなどして加減して下さい。

GPOSの青スライダーは頑張って設定してもソフトによっては反映されません(Wordなど)。白スライダーの設定を優先して下さい。

《スライドショー系》

SZ-スライドショー.js

グリフを連続して開けていきます。7000字位をゆっくり見ると30分~1時間かかります。Shift-JIS、Unicode、CIDで範囲選択可能。マクロには一時停止/再開ボタンがないため、途中休憩や離脱できるように100字や1000字おきなどで続行確認パネルが出るようにしました。続行確認の間隔はユーザー設定できます。

「空グリフも表示」「作成済みのみ表示」が選択できます。速度も選択できます。

【プレビューで2つの字形を比較しやすい表示にするには】
テンプレートフォントはオブジェクトの背後に隠れてしまうため、[表示]-「プレビュー」ウインドウを横において1文字大きく表示してからスライドショーを実行すると2つを見比べしやすいです。このスライドショーマクロでプレビューウインドウが出てくるわけではないので、好みで設定して下さい。

【マクロ改造用覚書】
「作成済みのみ」のピックアップに IsRegisteredCodeを使用しています。
(最後の保存時に未作成だったグリフが取りこぼされるため、 「作成済みのみ」選択時は実行前に保存推奨ダイアログを表示する。新規ファイルにオブジェクトを置き、未保存の状態では0グリフと見なされ、マクロが即完了します。)

SZ-スライドショー注意文字.js

白スライダー・JIS90/2004字形などをスライドショーできます。続行確認パネルの表示中は、オブジェクトやサイドベアリングのスライダーを編集したり他のグリフを開けたりできるので、1字おきに続行確認を出して止めながらの修正作業が可能です(ダイアログ表示中でもマウス操作可)。特にサイドベアリングマクロで設定できない上下白スライダーの連続設定に便利です。続行確認パネルは毎回画面中央に出るので、邪魔なら編集画面の方をずらして下さい。「空グリフも表示」「作成済みのみ表示」が選択できます。速度も選択できます。

スライドショー表示グループを選択できます。
1=上下サイドベアリング(上下白スライダー) / 2=左右サイドベアリング(左右白スライダー) / 3=JIS90字形(168字) / 4=JIS2004字形(168字) / 5=2004追加10字+既存10字/ 6= StdをStdNに拡張する144字+令和合字1字

【コード内カンマ区切りリストの元データ】
◯サイドベアリング可変リスト:
OTEditヘルプページより「サイドベアリング」で検索したものを使用。
Adobe-Japan1-7範囲までカバーし、 1-3、1-4でも使用できます。
・1-3(Std、CID9353まで):上下可変264文字・左右可変230文字。
・1-4(Pro、CID15443まで):上下可変310文字・左右可変614文字。
・1-7 (Pro6N、CID23059まで):上下可変310文字・左右可変1251文字。
◯JIS90/2004リスト:
wikipediaのリスト「表1: JIS X 0213:2004 により変更された文字」 をコピーし、文字列を「UnicodeとCIDの対応.csv」と「UnicodeとCIDの対応1-7.csv」から自作PythonコードでCID番号を取得
◯2004追加10字+既存10字リスト:
wikipediaのリスト「表2: JIS X 0213:2004 で追加された文字」 をコピーし、文字列を「UnicodeとCIDの対応.csv」と「UnicodeとCIDの対応1-7.csv」から自作PythonコードでCID番号を取得
◯StdをStdNに拡張する144字+令和合字1字リスト:
Adobeの資料「README-JP.md:JIS2004 基準の OpenType/CFF フォント」(追補3・グリフ数145の表部分のCID)を元に使用。

【文字一覧パネルで注意文字リストを表示できません】
TTEditでは[通常]から[テキストファイルの文字]に変更して注意文字リストの内容を表示できましたが、OTEditではテキストファイルの内容を表示できません。

【参考にするフォントを統一するには】
JIS90字形/2004字形(N付きフォント)はどちらにするか自分で最初に決めておき、文字一覧パネル[設定]の「サンプルフォント」、編集画面の背景の[ファイル]-「-テンプレートフォント」、プレビューパネルの「他のフォントで表示する」も字形が同じものを選んでおくと混乱しないです。(関連文字一覧パネルのサンプルフォントは固定なので字形は無視すること。)
【参考】JIS2004だと何か得? 高機能?/デザインポケット[design pocket] 

《Std→StdN系》

SZ-コピーStdNにする145字にダミーオブジェクト.js

StdフォントをStdNにするときに追加する144字と令和合字1字=計145字にダミーオブジェクトをコピーするマクロです。
オブジェクトがあると文字一覧パネルの「設定」-「作成済み文字のみ表示」で、点在する145字を集めて表示できます。最終的にはダミーオブジェクトは手作業で取り除く必要があるので、簡単なオブジェクトがおすすめです。ここではNマーク。

【StdNのサイドベアリングと回転自動作成】
CID9354(ユーロ記号)のみ左右サイドベアリング(左右白スライダー)が設定できます。このグリフはフォントファイル保存後にCID12870に回転自動作成されます。

◯StdをStdNに拡張する144字+令和合字1字リスト:
Adobeの資料「README-JP.md:JIS2004 基準の OpenType/CFF フォント」(追補3・グリフ数145の表部分のCID)を元にコード内にカンマ区切りリストを使用。

【このマクロは事前にPr6N(1-7)フォントファイルの準備が必要です】
新規作成でPr6N(1-7)を作成、自作のStdフォントを全文字コピー、その後にこのマクロを実行して下さい。Std(1-3)ではCIDが9353までしか無いので追加分が入りません。
(画像は新規作成Pr6N(1-7)の空ファイルにマクロをかけた状態)

SZ-コピーStdNにする145字に異体字.js

先にSZ-コピーStdNにする145字にダミーオブジェクトコピー.jsマクロを実行し、文字一覧パネルで「作成済みのみ表示」にしておくと145字が分かりやすくなります。

StdフォントをStdNにするときに追加する144字と令和合字1字=計145字範囲へ異体字をコピーするマクロです。Std内に異体字のないユーロ記号の3字、9354、9779、12870(9354を回転自動作成のユーロ記号)はコピーされません。令和合字は「令」「和」の2字が23058に集約コピーされます。

コピーは異体字ですので、その後の字体の修正が必要です。違いを見落とさないよう注意して下さい。修正後にダミーオブジェクトを削除して下さい。

【このマクロは事前にPr6N(1-7)フォントファイルの準備が必要です】
新規作成でPr6N(1-7)を作成、自作のStdフォントを全文字コピー、ダミーオブジェクトをコピーマクロ、その後にこのマクロを実行して下さい。Std(1-3)ではCIDが9353までしか無いので追加分が入りません。

【このマクロは事前にファイルの準備が必要です】
GSUB資料「aj13-gsub-reiwa-jp04+145.fea」を各自ダウンロードし、マクロと同じフォルダに配置して下さい。(このリストでは異体字15字分が不足するのでOTEdit本体から手作業で取得したリストをコード内に記入しています。)

_______________

ここからは制作の余談など。

_______________

マクロの自作について VBScriptはいずれ使えなくなるらしい

TTEdit・OTEditで使えるフィルタは.dll、マクロは.vbs (VBScript) または.js (JavaScript)です。
でも、VBScriptはいずれ使えなくなるらしいです。知らずにOTEditの前にTTEditマクロを一度.vbsで作ってしまったので、.jsに作り変えました。
「VBScript」は2027年頃にデフォルトで無効に ~非推奨化スケジュールが公開

.vbsから.jsに作り変えで出来なかった点。
・GetPoint2の座標取得ができない
・マクロの完了パネルと中止パネルを出し分けできない(文言を共通で「処理を終了」に変更)
・範囲や文字列をユーザーにInputBoxなどのダイアログの入力欄に入力してもらうことが出来ない(コードを開けてもらって書き換えに変更)

作ったけど配布しないマクロ、作れなかったマクロ

自作でチャレンジしたけど、配布にいたらなかったものの記録です。

オブジェクトにフィルタを連続適用マクロ(OTEditでは配布無し)

TTEditでは作れて配布しているのですが、OTEdit for Windows用にしようとしたところDoc.DoFilter(FILTER_NAME)が使用できなかったためマクロを作れませんでした。代わりに「太くする/細くする」「位置揃え」「拡大縮小」などの連続処理用には単体で自作マクロを用意しました。

グリフカウントマクロ(配布無し)

メモ帳でグリフ数は分かるので、同じものだなということでマクロは無し。([ファイル]-[OpenTypeフォントの新規作成]。[ファイル]-[文字一覧テキストファイルを作成]左下[シフトJISまたはUnicode]、「字形が作成されている文字のみ」のチェックをオン。

テキストファイルでは横書きでUnicodeのある文字しか出せないので収録文字のCID全文字カウントにはなりません。

[ファイル]-[OpenTypeフォントの新規作成]で書かれている文字数がCIDの最大収録文字数です。SZ-◎◎文字一覧をCID番号で作成◎◎.jsのマクロで、作成済み/未作成のCIDグリフ数をカウントできます。

プロポーショナル幅確認マクロ(配布無し)

StdフォントであればCIDで1~230がグリフ幅を白スライダーで変更できるプロポーショナルグリフです。OTEditに元々ある[ファイル]-「印刷」でプレビューやPDFをグリフ枠付きの一覧で出すことができます。「印刷」項目にありますが、プリンター不要です。これで済みそうなのでマクロは無し。

[ファイル]-「印刷」-[印刷プレビュー]で編集画面がプレビューになります。キーボードのPageDownキーで次のページに移っていけます。範囲指定をCID1~230にすればページ数を抑えられます。

[ファイル]-「印刷」-「印刷」で実際に印刷はせずに、PDFの出力保存ができます。[プリンタの設定]で「Microsoft Print to PDF(無料、Windowsの標準搭載機能)」か「Adobe PDF(※有料版Acrobat Proが必要)」を選択しておく。

他に[ファイル]-「文字一覧PDFファイルを作成」もありますがこちらはグリフ枠が出ません。

部首・共通パーツ削除マクロ(配布無し)

TTEditのときに.jsであれこれ試したのですが、基本的に全選択-削除の動きになっていて、パーツの一部を選択状態にピックアップして削除することが難しく、マクロを作れませんでした。同居オブジェクトがあるグリフで、単純な丸オブジェクトを選択状態にして削除、というので実験したところ削除はできるが一部のポイントの残骸が残ったり、同居オブジェクトのパーツが崩れたりして上手く行きませんでした。これができればパーツや部首単位で置き換えや更新が出来るかなと思っていたのですが残念。OTEditでも無理そうでした。

カーニングマクロ(配布無し)

OTEditでは、AV・AW・To・Teなど、特定のペアで発動させたい食い込むような詰めは「設定」-「カーニング」で設定できます。パネルでも入力できますが、CSVファイルでエクスポートし、エクセルなどで編集、インポートで元に戻す、でまとめて設定できます。特にマクロの出番は無かった。

ダイアクリティカルマーク付きアルファベットの組み合わせまで網羅しようとすると何千ペアに膨れ上がりますが、日本語フォントであればそんなには要らないと思うので、「ファイル」-「インストール済みを開く」で既存のフォントファイルを色々見て判断して下さい。

カーニングは頑張って設定してもソフトによっては反映されません。(TTEditではカーニングの設定はありません。)

あとがき

TTEdit用とOTEdit用のマクロがだいぶ揃いました。
前回記事のTTEdit用マクロの方も追加と改良アップデートしています。

※2025/11/24 マクロは問い合わせやサポートNGにする予定ですが、うっかりとか勘違いがあるかもなので、年内くらいまで不具合報告のみ受け付けます。すぐに修正は出来ないかも。※