ユーザー定義のフォーマットは次のような書式に従って出力されます。
変数(大文字・小文字区別)
$n 連番(ゼロから始まる単語の連番)
$w 見出語
$p 発音記号
$j 訳語
$x 用例
$l レベルを0〜15の数値で表す
$v レベルを■の数で表す
$e 修正フラグ
$f 履歴の出現回数(履歴単語検索時のみ)
$s 検索に使用した文字
$ux ユーザー変数xにアルファベットか数字(0-9A-Za-z)
例:$uA $u3
$V 最後に評価した条件文の式の値
特殊文字としては
\n
改行
\t
タブ
\
自身、$自身は \\
や \$
で表します。
例えば、PDICテキスト形式は、
$w\n$j / $e\n
となります。
$m 暗記マークの場合は 1 でなければ0
条件文
&?(式){X}?{Y}
式の評価が“真”の場合はXを、“偽”の場合はYを使用します。
“真“ ゼロ以外の値
“偽” ゼロまたは空文字
式に使用できる演算子
+ - * / % 加減乗除、剰余
== < > <= => >= =< != 比較演算
&& || 論理演算
() 括弧
! 否定
例:
&?($l>=3){【重要単語】} レベルが3以上である場合【重要単語】という文字列を表します。
※先頭が $ ではなく & であることに注意してください。
※各記号の間に余計な空白を入れてはいけません。
※式などに間違いがあると、条件文は実行されずそのままのテキストが現れます。
※{X}内に、さらに条件文を記述することができます。(深さに制限はありません)
※代入演算子はありません。&ux()を利用してください。
文字コードの変換
&C(値,変換コード)
"値"を"変換コード"に指定した文字コードに変換します。
現在のところ、次のコードの変換のみ対応
変換コード | 説明 |
utf8 | ShiftJISをUTF-8へ変換する。 URLで使用できないコードがあった場合、%xx でエスケープされます。 ※URL以外での使用を想定していないので、このような変換を行っています。 |
例:
&C("漢字",utf8)
を実行すると、
"%E6%BC%A2%E5%AD%97"
となる。
URL用のエスケープ変換
&E(値)
"値"をURLで使用する %xx の形式に変換します。%xxの形式に変換されるのは、URLで使用できない文字のみです。
例:
&E("漢字")
を実行すると、
"%8A%BF%8E%9A"
となる。
書式付き文字列
&F(書式,値)
“値”を”書式”で指定した書式で表します。
書式はC言語のprintf関数と同じ使用です。(ただし、浮動小数点は扱えません)
例:
&F(%03d,$n)
連番を000,001,...という書式で表す。
改行置換
&N(X)
文字列 X 内の改行を 文字列 \n
に変換
&N(X, Y)
文字列 X 内の改行を 文字列 Y
に変換
式の評価
&V(式)
“式”を計算式として評価します。
条件文の”式”と同じ扱いです。
例:
&V($n+1)
連番を1から始まる番号に変えます。
ユーザー変数への代入
&ux(式)
“式”で評価した数値をユーザー変数$uxへ代入します。
&uxのxには、0-9A-Za-zが入ります。
例
1行テキスト形式
$w /// &N($j) / &N($e)\n