2004/08/31(火)【解決】ソース貼るにはKShikiは向かないぞ!?
2004/08/31 02:00
うーん、ほとんどの日記系cgiにはついてるのにな。
ーっと思ったら、KShikiConfigS.cgiに以下の設定がございました。
$TagSelects='b;i;blink;dl;dt;dd;ol;ul;li;font;a;IMG;table;tr;td;th;tbody;div;onepage;strong;page;toppage;pre'; # 一般使用許可タグpreを末尾に追加。
で、
こんな風に、 a b cいけるようになりました。やりぃ。
2004/08/31(火)doxygen スタイルシート
2004/08/31 01:00
書き換えたdoxygen.cssはc:\online\doxygen\に置いた。
これを指定してdocumentを作る場合は、設定ファイルに
HTML_STYLESHEET = c:\online\doxygen\doxygen.cssを指定する。
H2 {
   padding: 0px 0px 2px 4px;
   font-family: Geneva, Arial, Helvetica, sans-serif;
   color: White;
   background-color: DarkBlue;
}
グループセクション名が目立たないので、反転系に。
.mdescRight {
padding: 2px 8px 4px 20px;
   font-size: 12px;
/*   font-style: italic; */
   background-color: #FAFAFA;
   border-top: 1px none #E0E0E0;
   border-right: 1px none #E0E0E0;
   border-bottom: 1px none #E0E0E0;
   border-left: 1px none #E0E0E0;
   margin: 0px;
}
目次部の簡略説明がどうにも見にくいので、文字小、イタリック無し、paddingで偽インデント。
b {
   border-bottom: 2px Solid MediumSlateBlue
}
dd {
   padding-top: 6px;
}
em {
   color: #BB0000;
   font-style: normal;
   font-weight: bold;
}
上記は相当強引。<b>は"引数"、"返り値"などの見出し用。太めのアンダーライン付加。
<dd>は"引数"等の説明用。上の見出しとちょっと離した。
<em>は引数名のピックアップ用。斜体になって見づらかったので、濃いめの赤、普通字体、強調表示とした。
スタイルシートってこの程度しかできないんだっけか。勉強不足だな。うーん。
2004/08/31(火)doxygenあれこれ
2004/08/31 01:00
とりあえず、当面我が家でのコメントの書き方。
//! ジャンル判定2(曖昧) (*! @par 指定文節のかっこを除去した文字列が、あらかじめ読み込んでおいたGenreList中の文字列に”含まれる”かどうかを判定する。 @param id [in] 文節番号 @return 含まれるならばTrue、そうでないならFalse *) procedure / function...
重要なのはここらあたりだろう。出来れば詳細ブロック内でもHTMLタグは書きたくない。
どちらがメジャーか分からないが、JavaDocよりはQtスタイルで良し。
参考: http://members.at.infoseek.co.jp/sakura_editor/comment-rule.html
引数には、[in],[out],[i/o]を書けという指示があったがデファクトだろうか? (doxygenではピックアップされない)
ところで、関数説明部のタグは<dl compact>となっている。そのため、短いパートによっては行変えが行われないなどなんかいまいちな仕様。compactは推奨されないはずでは? ソースのhtmlDocVisitor.cppをいじれば何とかなりそうではあるが、やりたくない以上に今コンパイル環境がない。まあ、やりたくなったら。あ、BCBでいけるか?
さて、スタイルシートもいじったのだが、長くなりそうなので次項に回す。
2004/08/30(月)doxygen + Delphi
2004/08/30 00:00
Delphi(Object Pascal)のソースをdoxygenでドキュメント化させてみようと思い立つ。
doxygenはデフォルトではpascalのソースに対応していないが、pas2doxというツールがある。こいつはpascalのソースをCっぽいソースに変換してくれる。あとはdoxygenに渡すだけである。
ところが、単体のファイルをコマンドラインでちまちまやるとできるのに、doxygenに一括で処理させると上手くいかなかった。設定ファイルの書き方に注意が要る。
以下、上手くいったときのdoxygenファイル抜粋。
#---------------------------------------------------------------------------
# configuration options related to the input files
#---------------------------------------------------------------------------
INPUT = d:\renamer
FILE_PATTERNS = *.c \
*.cc \
*.cxx \
*.cpp \
*.c++ \
*.java \
*.ii \
*.ixx \
*.ipp \
*.i++ \
*.inl \
*.h \
*.hh \
*.hxx \
*.hpp \
*.h++ \
*.idl \
*.odl \
*.cs \
*.php \
*.php3 \
*.inc \
*.m \
*.mm \
*.pas
RECURSIVE = YES
EXCLUDE =
EXCLUDE_SYMLINKS = NO
EXCLUDE_PATTERNS =
EXAMPLE_PATH =
EXAMPLE_PATTERNS = *
EXAMPLE_RECURSIVE = NO
IMAGE_PATH =
INPUT_FILTER = c:\online\doxygen\bin\pas2dox.exe
FILTER_PATTERNS =
FILTER_SOURCE_FILES = YES
FILE_PATTERNSに*.pasを追加し、FILTER_SOURCE_FILES = YESにする。注意点は、INPUT_FILTER, FILTER_PATTERNSに関して。
・INPUT_FILTER
コマンドパスを書くときに、""(ダブルクォーテーション),クォーテーション無しはOK。''(シングルクォーテーション)は×。
コマンドはフルパスで書く必要がある。(doxygenのフォルダ)/binに置いても、フルパスでないとダメなようだ。エラーメッセージ出せよ……
・FILTER_PATTERNS
新しいオプションのようだ。*.pas、"*.pas"等指定してもうまくいかない。
d:/renamer/FileNameAnalyze.pas:23: Warning: Found ';' while parsing initializer list! (doxygen could be confused by a macro call without semicolon)というエラーが延々出てしまう。軽く調べてみたが、書き方のサンプルも見つからない。機能していないのだろうか? 今のところ、空白にしておくのが正解のようだ。
2004/08/29(日)Actobatは要らない?
2004/08/29 20:00
http://www.primopdf.com/
未調査。
2004/08/28(土)GetClientRectの謎
2004/08/28 20:00
さっさと、メモって忘れてしまおう。
GetClientRectで取得した短形領域を子フォームのWindows Sizeに指定すると、子フォームのサイズがクライエント領域から少しはみ出す問題。
API自体大して知らないので、表示の方から逆に調査してみることにした。
適当にDelphiアプリを作って、色々いじってみる。
まず、CapCapで取得したフォームの全体サイズが1088x750だった。
BoundsRectでWindow Sizeを取得すると、ltrbが192,107,1280,857で返ってくるのでサイズは合っているようである。TRectの基準はどうもよく分からないが、left-right=Widthなので、TopLeftが左上ピクセル端、BottomRigthが右下ピクセル端に1pixelずつずらした点だろうか。
さて、GetClientRectだと、lrtbが0,0,1080,723である。GetClient領域の描画エリアの幅がタイトルバーの青く色が変わっている部分と同じ幅で、描画できるエリアはそれより少し狭い。
これをMDI子フォームのWindowサイズに指定すると若干はみだし、それぞれ幅、高さそれぞれ-4するとぴったり。枠線幅の分だろうか? 枠線の幅は所得できるが、確証がもてない。
なぞ
眠くて何書いてるのか分からない……
2004/08/28(土)Ruby動かすまで
2004/08/28 00:00
注意点として、Samba経由だとサクラエディタで保存時に改行コードをLF(Linux)にしないと、
bad interpreter
といわれて怒らります。Sambaの設定で変えられると思うんですけどね。
なおもちろん実行属性が必要なので、Sambaだけでは無理。WinSCPを一緒に立ち上げながら作業すると良いでしょう。なお、Internal Server Errorでログに
malformed header
と出るときは、"Content-Type:html/text; charset=Shift_JIS"の出力忘れだ!
ええい! ……思わずShift_JISにしてしまったけど、何で統一するのがベストなんだっけ。WebだとUTF-8だっけか。
2004/08/24(火)備忘メモ
2004/08/24 07:00
Ctrl+Z での中断プロセスは、fg/bgで再開。
kill -9 id で超強制終了。-HUPって互換あるんだっけ?
・バッファ窓
C-x 1 1つに
C-x 2 2つに
C-x o 窓移動
C-x b 表示切り替え
・検索
C-s/C-r 前方・後方
・編集
C-Space マーク開始
C-W カット
C-Y ペースト
C-k 1行カット
Esc C コピー(いくらなんでもEsc Cは…… 割り当て直した方が良い気がする)
・Undo/取消
C-x u Undo(今回C-zに割り当てました。2動作はどうよ?)
C-g Cancel(意外とよく忘れる)
2004/08/24(火).emacsいじったが……
2004/08/24 06:00
があああああ、一部ギブアップ。
以下 .emacsへの追加部分。
;;選択範囲の表示 (transient-mark-mode t) ;;UndoをCtrl+Zで (global-set-key "\C-z" 'undo) ;;全域選択をCtrl+Aで (global-set-key "\C-a" 'mark-whole-buffer) ;;Home/Endはファイルの最初/最後 (global-set-key "\e[1~" 'beginning-of-buffer) (global-set-key "\e[4~" 'end-of-buffer) ;;時間表示 (display-time) ;;桁表示 (column-number-mode 1) ;; show-paren (show-paren-mode t) (setq show-paren-style 'mixed) (set-face-background 'show-paren-match-face "gray10") (set-face-foreground 'show-paren-match-face "SkyBlue")基本的にはWindowsライクになるようにした。
show-parenはかっこの対応関係を見やすくするもの。
さらに、html-helper-modeをdselectでインストールしておいた。
敗北したのは[Ctrl + Home/End] や[Ctrl + ↓]に割り当てが出来なかった点。探しても情報が出てこないし(googleで探しにくいのは分かってもらえると思う)、自分でも考えられる限り試してみたがダメだった。エラーか認識してくれないか、どちらか。
設定にもあるが、Putty + xtermでは home -> \e[1 , end -> \e[4 となる。ここら辺に秘密がありそうだが…… 攻め方としては、
emacsに端末設定を割り当てる方法がある?
端末の文字認識自体をいじる?
.emacsに書く方法が何かしらある?
、のいずれかだろう。xtermのバージョンが古いのではないかという節もある。
調べている途中でadd-hook 'term-setup-hookなんてのを見つけたが、効果無しである。
emacsについては一度総ざらいしなければならないのだろう、もううんざりだが。
2004/08/23(月)eperl ? embperl?
2004/08/23 16:00
さて、まず規格乱立である。この時点でやる気をなくさせる。
eperlとembperlが比較的メジャーなようだが余りWEBドキュメントがない。うーむ。
而して、Rubyとなると見やすいリファレンスが見つかっておらずまだ導入にためらいがある。
Perlポケットリファレンスはそこそこに使えるんだよなあ……