ユーザー定義フォーマット

ユーザー定義のフォーマットは次のような書式に従って出力されます。


変数(大文字・小文字区別)

$n                     連番(ゼロから始まる単語の連番)

$w                     見出語

$j                     訳語

$x                     用例

$l                     レベルを0〜15の数値で表す

$v                     レベルを■の数で表す

$e                     修正フラグ

$f                     履歴の出現回数(履歴単語検索時のみ) 

$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,...という書式で表す。


式の評価

&V(式)

“式”を計算式として評価します。

条件文の”式”と同じ扱いです。

例:

&V($n+1)

連番を1から始まる番号に変えます。


ユーザー変数への代入

&ux(式)

“式”で評価した数値をユーザー変数$uxへ代入します。

&uxのxには、0-9A-Za-zが入ります。


マクロ(こんな機能はないと思う・・・作者も不明???)

置換マクロ

&R(X,Y,Z)

文字列X内のYをZに変換(先頭のみ)

&G(X,Y,Z)

文字列X内のYをZに変換(X内全て)

改行置換マクロ

&N(X)

文字列 X 内の改行を 文字列 \n に変換

&J(X)

文字列X内の日本語文字以降

$1(X),$2(X),$3(X)

文字変数定義

$1

文字変数使用

$H

全角>>半角変換

${X},$<X>,$(X)

対応する括弧を含む文字列

\0

最後


1行テキスト形式

$w /// &N($j) / &N($e)\n