※2020.8.29の12時頃/サンプルデータを更新しました(ルビなどで使用できるようcaltを使用しないグリフを追加)。
※2020.8.31の19時頃/サンプルデータを更新しました(パス形状修正)。
※2020.9.1の2時頃/サンプルデータを更新しました(グリフ追加)。
※2025.1.23/InDesign CC2022では、ルビではバリアブルが効かないようです。2021、2023、2024、2025では正常に動作しました。原因は不明です。
InDesignには「波状」という線種が用意されていますが使い勝手がよくありません。そこで今回は波線用のバリアブルフォントをGlyphsで作成してみました。バリアブルフォントに対応しているアプリケーション(InDesignはCC2020以降、IllustratorはCC2018以降)で使用することができます。

使い方は簡単です。「AAA...」または「aaa...」と入力して上でフォントを適用すると波線の形状になります。続いて文字パネルのバリアブルフォントボタンを押すと4つのパラメーター「Weight」「Height」「Width」「Distance」が表示されます。スライダか数値入力欄でそれぞれの値を変更することで波線の形状をコントロールできます。
※当方ではPDF書き出しまでしかテストしていません。バリアブルフォントは新しい技術なのでどこかに不具合が潜んでいる可能性もあります。お仕事などで使用される場合は十分に出力テストなどをおこなってください。
4つの軸について
いずれもユニット数そのものが数値になっています。Weight(10〜160)
線幅(ユニット)です。あまり太くすると曲線内側が滑らかにつながらないケースが生じるため160ユニットを上限としました。Height(100〜600)
波の高さです。線幅は含まれていません。Width(500〜1500)
グリフ幅(波0.5個分の幅)です。Distance(0〜1000)
二重波線の中心軸同士の距離です。0は2本がピッタリ重なった状態、1000だとふたつの中心軸がそれぞれ仮想ボディ上端と下端に揃った状態になります。寸法について
正確な寸法は以下のように計算します(文字間0の場合)線の長さ=文字数×(級数×0.25)×(Width値/1000)
線の太さ=(級数×0.25)×(Weight値/1000)
一重波線の線幅を含む高さ=(級数×0.25)×((Height値+Weight値)/1000)
二重波線の線幅を含む高さ=(級数×0.25)×((Height値+Weight値+Distance値)/1000)
※2020.8.29の12時頃サンプルデータを更新/ルビなどで使用できるようcaltを使用しないグリフを追加しました。大文字で「XYXYXY...」と入力すると一重波線、小文字で「xvxvxv...」と入力すると二重波線となります。なお、ルビ設定では「揃え」を「中付き」にする、「文字欠け処理」を「無制限」にする……などがポイントになると思います。

※2020.8.31の19時頃/サンプルデータを更新/XYおよびxyが左右均等に10ユニットずつはみ出すようパス形状を修正しました。
※2020.9.1の2時頃サンプルデータを更新/「AAA...」に加えて「あああ...」でも同じ波線が生じるようグリフを追加しました(欧文だと全体が分割禁止となり1行に収まらない場合すべての文字が表示されなくなるため)。同様に「aaa...」は「アアア...」、「XYXY...」は「かきかき...」、「xyxy...」は「カキカキ...」でも同じ波線が生じます。