タグ一覧

なんかいろいろやりたいこと、書きたいことはあるのにうまくできません。昔から時間の作り方は苦手。

KAGのエラーメッセージ強化版を作ってみようかな。と思ってのまとめぺーじ。主に属性が取りえる値について。KAGのタグについて、詳しく知りたい人はSDK同梱のリファレンスを読みましょう。

ch

text 必須 Text

graph

storage 必須 FileName
key 任意 "adapt" / 0xRRGGBB / パレットインデックス番号
char 任意 Boolean
alt 任意 Text

storageは通常画像読み込み同様、KAGLayer#loadImagesが用いられるので拡張子は省いてもよい。拡張子は、/code/visual/GraphicLoaderIntif.cpp#2307Lで、tTVPGraphicHandlerType=['bmp', 'dib', ''jpeg', 'jpg', 'jif', 'png', 'eri', 'tlg', 'tlg5', 'tlg6']の順に補完される。

keyはKAGLayer#adjustColorKeyで適切に処理される。voidならclNone、"adapt"ならclAdapt、7文字以上なら+key(0xRRGGBB形式として)、6文字以下なら+key+0x3000000(パレットインデックスとして)。

hch

text 必須 Text
expand 任意 Boolean

r

eol 任意 Boolean

ignoreCR=falseのときにCRLFにより[r eol="true"]が自動生成される。区別するための属性。

ruby

text 必須 Text

font

size 任意 "default" / Number
face 任意 "default" / "user" / FontName
color 任意 "default" / 0xRRGGBB
italic 任意 "default" / Boolean
rubysize 任意 "default" / Number
rubyoffset 任意 "default" / Number
shadow 任意 "default" / Boolean
edge 任意 "default" / Boolean
edgecolor 任意 "default" / 0xRRGGBB
shadowcolor 任意 "default" / 0xRRGGBB
bold 任意 "default" / 0xRRGGBB
antialiased 任意 "default" / Boolean

faceはカンマ区切りで複数のフォント名を列挙できる。また、先頭をカンマにすることも可能(Font#face)。また、縦書きの際でもフォント名に'@'はいらない。

edgeとshadowは排他的で、edgeの方が優先される。

数値を入力する属性は、基本的には実数でも大丈夫な感じ? rubyoffsetは負数可。サイズは常識的には正数だが、入力上はエラーにならないはず。(Layer#font#heightのデフォルトは-12だし)

antialiasedはアンドキュメント。

deffont

size 任意 Number
face 任意 "user" / FontName
color 任意 0xRRGGBB
rubysize 任意 Number
rubyoffset 任意 Number
shadow 任意 Boolean
edge 任意 Boolean
edgecolor 任意 0xRRGGBB
shadowcolor 任意 0xRRGGBB
bold 任意 Boolean
antialiased 任意 Boolean

antialiasedはアンドキュメント。

resetfont

empty

style

align 任意 "default" / "left" / "top" / "center" / "right" / "bottom"
linespacing 任意 "default" / Number
pitch 任意 "default" / Number
linesize 任意 "default" / Number
autoreturn 任意 "default" / Boolean

alignは横書きと縦書きは区別されていない(縦書きだろうと"right"は効く)。

linespacingとpitchは負数・実数可能。linesizeは基本的に正数前提で実数可能(フォントサイズ以上でなければ破棄される)。

defstyle

linespacing 任意 Number
pitch 任意 Number
linesize 任意 Number
autoreturn 任意 Boolean

autoreturnはアンドキュメント。

resetstyle

empty

link

storage 任意 FileName
target 任意 LabelName
exp 任意 Expression
color 任意 0xRRGGBB
hint 任意 Text
onenter 任意 Expression
onleave 任意 Expression
countpage 任意 Boolean
clickse 任意 FileName
clicksebuf 任意 Number
enterse 任意 FileName
entersebuf 任意 Number
leavese 任意 FileName
leavesebuf 任意 Number
opacity 任意 Number

storageのksファイル名は確か拡張子必要なはず。SEはSE.tjs#39Lで['wav', 'ogg', 'tcw']を補完。

バッファは0以上の整数で、< kag.numSEBuffers。

opacityはアンドキュメント。0から255まで。多分実数可能。

endlink

empty

button

graphic 必須 FileName
graphickey 任意 "adapt" / 0xRRGGBB / パレットインデックス番号
storage 任意 FileName
target 任意 LabelName
recthit 任意 Boolean
exp 任意 Expression
hint 任意 Text
onenter 任意 Expression
onleave 任意 Expression
countpage 任意 Boolean
clickse 任意 FileName
clicksebuf 任意 Number
enterse 任意 FileName
entersebuf 任意 Number
leavese 任意 FileName
leavesebuf 任意 Number

SEバッファの数値は上限あり。

edit

name 必須 String
length 任意 Number
bgcolor 任意 0xRRGGBB
opacity 任意 Number
color 任意 0xRRGGBB
maxchars 任意 Number

nameには一般的に変数名が与えられる(ex. "f.foo")。

lengthは正数で実数可能。

maxcharsは正数で実数可能(内部でintにキャストされる)。0のときは無制限。

LinkEditLayer#exp = elm.name;LinkEditLayer#text = Scripts.eval(elm.name);とし、commit時には、Scripts.eval("(" + exp + ") = text");となる。

checkbox

name 必須 String
bgcolor 任意 0xRRGGBB
opacity 任意 Number
color 任意 0xRRGGBB

commit

empty

timeout

time 必須 Number
storage 任意 FileName
target 任意 LabelName
exp 任意 Expression
se 任意 FileName
sebuf 任意 Number

timeはミリ秒単位の正数。実数もおそらく可能。

sebufは0以上の整数。

ctimeout

empty

wheel

storage 任意 FileName
target 任意 LabelName
func 任意 String
exp 任意 Expression
se 任意 FileName
sebuf 任意 Number

funcには実行するメソッド名を与える。MessageLayer#processWheelにて、Scripts.eval(wheelFunc)(shift, delta, x, y)が実行される(Scripts.evalで評価された結果メソッドオブジェクトとなり、それを呼び出す形で実行する)。

cwheel

empty

click

storage 任意 FileName
target 任意 LabelName
exp 任意 Expression
se 任意 FileName
sebuf 任意 Number

cclick

empty

l

canskip 任意 Boolean

canskipはアンドキュメント。

p

empty

current

layer 任意
page 任意
withback 任意 Boolean

layerはKAGWindow#getMessageLayerNumberFromElmを用いているので、"message"でも構わない(意味はないが)。返す値は+elm.layer.substr(7)。

pageはKAGWindow#getMessageLayerPageFromElmを用いているので、正確には"back"か"back"以外。

"message%d"の上限はkag.numMessageLayers-1。

position

layer 任意 "message" / "message%d"
page 任意 "fore" / "back"
left 任意 Number
top 任意 Number
width 任意 Number
height 任意 Number
frame 任意 FileName
framekey 任意 "adapt" / "0xRRGGBB / パレットインデックス番号
color 任意 0xRRGGBB
opacity 任意 Number
marginl 任意 Number
margint 任意 Number
marginr 任意 Number
marginb 任意 Number
vertical 任意 Boolean
draggable 任意 Boolean
visible 任意 Boolean

layerとpageはKAGWindow#getMessageLayerObjectFromElmを用いているので、currentタグと同様の処理。

colorはframe=""のときのみ有効。

left/top/margin[ltrb]は負数も可能。実質的に影響ないと思われるが実数も可能かと。width/heightは1以上の整数。実数も可能か?

ct

empty

cm

empty

er

empty

indent

empty

endindent

empty

delay

speed 必須 "user" / "nowait" / Number

speedは数値での指定の際、0以上の整数をミリ秒単位で。

nowait

empty

endnowait

empty

locate

x 任意 Number
y 任意 Number

glyph

line 任意 FileName
linekey 任意 "adapt" / 0xRRGGBB / パレットインデックス番号
page 任意 FileName
pagekey 任意 "adapt" / 0xRRGGBB / パレットインデックス番号
fix 任意 Boolean
left 任意 Number
top 任意 Number

lineとpageは画像名を与えるが、拡張子はつけない。

leftとtopはfix="true"のときのみ有効。

locklink

empty

unlocklink

empty

loadplugin

module 必須 FileName

拡張子は省略できない。

title

name 必須 String

s

empty

clickskip

enabled 必須 Boolean

nextskip

enabled 必須 Boolean

cancelskip

empty

cancelautomode

empty

resetwait

empty

wait

time 必須 Number
mode 任意 "normal" / "until"
canskip 任意 Boolean

timeはミリ秒で。

wc

time 必須 Number
canskip 任意 Boolean

timeは文字数で、それにしたがって待つ。また必須指定だが省略すると1文字分待つ。

canskipはアンドキュメント。

waitclick

empty

rclick

call 任意 Boolean
jump 任意 Boolean
target 任意 LabelName
storage 任意 FileName
enabled 任意 Boolean
name 任意 String

enabled="false"であってもkag.rightClickCallなどに値は格納される。

callとjumpが両方とも"true"であればjumpとしてはたらく。

history

output 任意 Boolean
enabled 任意 Boolean
autoreturn 任意 Boolean

autoreturnはアンドキュメント。

showhistory

empty

hr

repage 任意 Boolean

hact

exp 必須 Expression

endhact

empty

hidemessage

empty

quake

time 必須 Number
timemode 任意 "ms" / "delay"
hmax 任意 Number
vmax 任意 Number

timeは必須指定だが、省略するとstopquakeされるまでゆれている。

timemode="ms"はミリ秒単位で、timemode="delay"だと文字単位で待つ。

stopquake

empty

wq

canskip 任意 Boolean

autowc

enabled 任意 Boolean
ch 任意 String
time 任意 String

ch="あいうえお" time="1,2,3,4,5"の形式で指定する。kag.autoWCWaits = [].split(",", , elm.time)で配列化したのち、int(acs * autoWCWaits[ind])としているので、空白をはさむことはできない(+" 2" => 0となる)。

一つしか時間を指定しなかった場合は ch タグで指定したすべての文字にその時間が設定されます。
この属性を省略した場合は 4 を指定したと見なされます。

とあるが、未実装のような感じ。

cursor

default 任意 FileName / Number
pointed 任意 FileName / Number
click 任意 FileName / Number
draggable 任意 FileName / Number

マウスカーソルをファイル名もしくはマウスカーソル定数の数値で与える。ファイルを用いるときは*.curもしくは*.aniのみで、拡張子を省略してはならない。".cur"や".ani"が含まれないときは数値としてみなす。

そのためマウスカーソル定数で与えるときは、default="&crDefault"のようにエンティティを用い、数値として与える必要がある。もし属性値が不適な文字列ならば、+valueにより0としてみなされる(&crDefault=0)。

close

ask 任意 Boolean

copybookmark

from 必須 Number
to 必須 Number

必須扱いだが、+elm.fromされるため省略されると0として扱われる。

栞ファイルをコピーするのみなので、numBookMarksによる上限は存在しない(fromファイルがなければ何もしない)。

erasebookmark

place 任意 Number

numBookMarksの上限を受けるが、上限を超えたからといってエラーはでない(何もしない)。

disablestore

store 任意 Boolean
restore 任意 Boolean

store

enabled 必須 Boolean

load

save

startanchor

gotostart

goback

record

tempsave

tempload

mappfont

locksnapshot

unlocksnapshot

エラーの種類

noticeレベルも含めて

  • 未知のタグ(kag.onConductorUnknownTagで処理される)
  • 省略してはならない必須属性がない
  • 省略してもいいが必須指定の属性がない
  • 未知の属性
  • 任意属性しかもたないが、1つは属性を与えなければ意味のないタグ(font/positionなど)
  • 組み合わせにより意味のない属性(fontタグのedgeとshadow/positionのframeとcolorなど)
  • 取りえない値('true'/'false'/'fore'/'back'などのキーワード系)
  • 取りえない値(数値の範囲;負数、実数)
  • 取りえない値(数値の範囲;numCharacterLayersなど不定の上限が存在する場合)
 
krkr/tags.txt · 最終更新: 2009/05/29 14:40 by tohka