5ちゃんねる ★スマホ版★ ■掲示板に戻る■ 全部 1- 最新50  

■ このスレッドは過去ログ倉庫に格納されています

【コメント】doxygen【コンソメ】

1 :デフォルトの名無しさん:2008/05/30(金) 19:50:27
無いので建てた

公式
http://www.doxygen.jp/

2 :デフォルトの名無しさん:2008/05/30(金) 21:01:14
このスレはアイちゃんがうんたらかんたら

3 :デフォルトの名無しさん:2008/05/30(金) 23:18:24
標準のスタイルシートも見飽きてきたんだけどなんか格好いいdoxygen用のスタイルシート
配布してるサイトってないの?

4 :デフォルトの名無しさん:2008/05/30(金) 23:19:18
          ,r-、 l l l /:/
         ,.ノ-'、,!l ,! ,!:/"
  ..-''''~`'ーy'⌒`;'"ヾ,.`,r''"`:,
  '"`'ー-,,r____i';';';';';';';';';'; -j. ゙;
  --....i',.tノ;';';';':'..:::::..':';';';'(.λ
  -_.=/t-';';';';'..::::::. .:::::..';';';  ,!-ー''
  " _!_..>;';';';';'; ::::::::: ;';';';';r'〈ー--
  ,r'",>,i、'r;';';';';';';';';';';';';';' ,!イヽt-''
   ,r'" `t-,ッヽ、;';';';'.'.' i" ヽ ヽ,
  /    `''j   ーπ-'゙`'ー'r'~
        `ー、,__/ ':,

5 :デフォルトの名無しさん:2008/05/31(土) 11:13:21
>>3
そういえば見ないな
Java風とかw

6 :デフォルトの名無しさん:2008/06/02(月) 15:25:50
このスレは大器晩成型

7 :デフォルトの名無しさん:2008/06/04(水) 13:17:22
これだけ使われていてなんで今まで無かったんだろう。

8 :デフォルトの名無しさん:2008/06/04(水) 21:34:38
>>7
>>2-6見てわかんないの?

9 :デフォルトの名無しさん:2008/06/05(木) 11:54:36
Doxygenってやたらデグレ多くない?
やっとバグが直ったと思ったら今まで動いていた部分がおかしくなったり。
いつまでたっても満足のいく出力ができない。

10 :デフォルトの名無しさん:2008/06/05(木) 12:29:52
最新版はツリーが文字化けしたりしないか?


11 :デフォルトの名無しさん:2008/06/05(木) 21:06:31
output japaneseでやってるけど、左のツリーが化けてる
検証はしてない

12 :デフォルトの名無しさん:2008/06/06(金) 00:15:15
おまいら Javadoc 風と Qt 風のどっちでコメント書いてる?

13 :デフォルトの名無しさん:2008/06/06(金) 12:28:19
///

14 :デフォルトの名無しさん:2008/06/06(金) 13:18:08
ようやくスレが出来たから聞ける
「doxygen」って何て読むの?読んでる?


15 :デフォルトの名無しさん:2008/06/06(金) 13:23:32
>>14
doxygenの公式ページのFAQに書いてある

16 :デフォルトの名無しさん:2008/06/06(金) 13:40:56
うは。こんな過疎スレで即レスサンキュー
でも、英語読めませーん

---------------------------------
doxygenはどのように名前を持っていましたか?
Doxygenは単語ドキュメンテーションとジェネレータで遊ぶのから名前を得ました。
ドキュメンテーション - 医者 - dox
発電機 - 情報を得てください。
当時、私が法とyaccを調べていたので、事態は、「y」で、発音可能につけ加えて、なりました(適切な宣告はDocs-ee情報を得ています、長い「e」があるそう)。(そこでは、多くのものが"yy"から始まります)。
---------------------------------
翻訳したけど意味わかりませーん

「ドキシゲン」でいいのかな?


17 :デフォルトの名無しさん:2008/06/06(金) 13:55:55
ドキシジェンだろ

オキシジェンデストロイヤーから連想して

18 :デフォルトの名無しさん:2008/06/06(金) 14:11:10
documentation-generator → docs-ee-gen だから
カタカナ表記ならドキシジェンかドクシジェンじゃないかな
俺もドキシジェンって言ってる

19 :デフォルトの名無しさん:2008/06/06(金) 15:53:35
どくしげんって脳内発音してた

20 :デフォルトの名無しさん:2008/06/06(金) 18:23:18
げんしけん

21 :デフォルトの名無しさん:2008/06/07(土) 00:02:59
やっぱ読み方わからない奴結構いるんだな

22 :デフォルトの名無しさん:2008/06/07(土) 00:38:33
d + oxygen に見えるからドキシジェンだろ。

23 :デフォルトの名無しさん:2008/06/07(土) 03:42:43
ドキシゲンって読んでたお

HTMLでは、文字化けしないのに
chm作ると、左側の一覧文字化けする
どうしたらいいんだ

24 :デフォルトの名無しさん:2008/06/07(土) 06:03:46
Goo辞書でoxygenの発音
http://dictionary.goo.ne.jp/voice/o/00060383.wav
これにdをつけて読むだろ条項

25 :デフォルトの名無しさん:2008/06/07(土) 14:19:08
doxygenうまいこと使ってる
日本語の人って

Seleneの人以外に居る?
http://selene-lue.halfmoon.jp/

26 :デフォルトの名無しさん:2008/06/07(土) 14:46:47
>>25
「うまいこと」の意味がわからんな。
何か変わった使い方してるの?

27 :デフォルトの名無しさん:2008/06/07(土) 19:16:40
>>25
日本語の使い方が(ry

28 :デフォルトの名無しさん:2008/06/08(日) 01:04:30
チョンでごめんなさい
>うまいこと
俺と比べて、丁寧に利用している意味。
というか、普通に活用してるって意味。

29 :デフォルトの名無しさん:2008/06/08(日) 01:29:52
>>28
じゃぁ、居るよ、ってことで。

30 :デフォルトの名無しさん:2008/06/08(日) 02:37:06
>>29
氏ね

31 :デフォルトの名無しさん:2008/06/10(火) 22:40:18
まだ30レスにしか達していないのかよ!!

32 :デフォルトの名無しさん:2008/06/11(水) 00:36:37
>>7
今まで単独スレが無かっただけで、話すら無かったわけではないぞ。

良いドキュメント・マニュアル・仕様書を書くスレ
http://pc11.2ch.net/test/read.cgi/tech/1065364445/l50

33 :デフォルトの名無しさん:2008/06/14(土) 14:49:17
Doxygen が吐き出す XML のフォーマットってどっかに仕様書ある?

34 :デフォルトの名無しさん:2008/06/14(土) 18:14:58
XMLなら名前空間のところにURLがあるんじゃないの?

35 :デフォルトの名無しさん:2008/06/15(日) 09:05:34
名前空間のURLのところにスキーマがあるとは限らない

36 :デフォルトの名無しさん:2008/06/15(日) 18:25:33
スキーマって意味まで定義しているんだったっけ。

37 :デフォルトの名無しさん:2008/06/15(日) 18:28:10
隙間って何ですか

38 :デフォルトの名無しさん:2008/06/18(水) 21:45:54
C 言語のソースから HTML 文書を生成するときにモジュールのページに
1つの関数に対して func() と Struct::func() のような2つの名前が表示
されてしまうのですが func() だけにできないでしょうか?

39 :デフォルトの名無しさん:2008/06/19(木) 00:03:43
>>38
OPTIMIZE_OUTPUT_FOR_C はどうしてる?

40 :デフォルトの名無しさん:2008/06/19(木) 12:11:02
もちろん YES です。

41 :デフォルトの名無しさん:2008/06/20(金) 03:07:40
doxygenのlicenseの以下の文章の意味がよく分かりません。

Documents produced by doxygen are derivative works derived from the input used in their production; they are not affected by this license.

42 :デフォルトの名無しさん:2008/06/20(金) 03:19:30
>>41
doxygen で生成した文書は生成に使われた入力の派生物、つまり、この( doxygen の)ライセンスに影響されない。

43 :デフォルトの名無しさん:2008/06/20(金) 07:56:23
>>42
どうもありがとうございます。

44 :デフォルトの名無しさん:2008/06/24(火) 14:33:52
C++ のクラスの中の using 宣言は文書化されないのでしょうか?

45 :デフォルトの名無しさん:2008/06/26(木) 11:37:10
インハウスのCライブラリにコメントつけてDoxygenしたら、
100ページ超のrefman.pdfが出来上がってたまげた。

調子に乗ってデベロッパーズマニュアルまでDoxygenで書いてる。
細かいところでアレな事はあるけど、まだ後悔はしていない。
リファレンスマニュアルやサンプル実装と相互参照できていい感じ。
こういうのは、Docbookとかだとめんどくさくて。


46 :デフォルトの名無しさん:2008/07/06(日) 09:53:21
グラフ中のフォントサイズが変更できないんですが、cssを直接弄るしかないんでしょうか

47 :デフォルトの名無しさん:2008/07/11(金) 02:25:54
doxygen使えるな

48 :デフォルトの名無しさん:2008/07/11(金) 20:05:04
VBのコードvbfilter.pyでをdoxygenで出力するとき、一部の宣言の説明が出力されません。
下の例だと、「関数の説明1」が出力されません。
どなたかVBでdoxygenしてる人助言下さい。お願いします。

'*
'*@class cTest
'*@brief テストクラス
'*@author me
'*@version 1.0
'*

'*@fn Function fncTest(obj as Variant)
'*関数の説明1
Public Function fncTest(obj as Variant) As Variant
fncTest = Nullpo
End Function

'*@fn Function fncTest2(obj as Variant)
'*関数の説明2
Public Function fncTest2(obj as Variant) As Variant
fncTest2 = obj.Nullpo
End Function


49 :デフォルトの名無しさん:2008/07/11(金) 21:27:54
>>48
vbfilter.pyの出力を晒してみそ


50 :デフォルトの名無しさん:2008/07/13(日) 02:15:19
>>48
vbfilter.py は、空行を捨ててしまうんですが、
cTest のドキュメントブロックと fncTest のドキュメントブロックがくっついててもいいんでしたっけ?
私も自信ないので…
自分で使う分は空行を通すようにしたりとか、色々と手を加えて使ってます。

なお、 vbfilter.py の説明に、クラスの説明用のコメントは「'*」じゃなくて「'!」で始めるとあります。

それと、doxygen のマニュアルに書いてますが、説明する対象の直前に置くなら、 @fn コマンドはいりませんよ。

51 :50:2008/07/13(日) 02:33:51
>>48
もうひとつ思い出した。

vbfilter.py は分割行には対応してないので、
実際の fncTest の1行目の宣言が複数の行に分割されてたら認識してくれません。

52 :デフォルトの名無しさん:2008/07/14(月) 04:02:29
>>50
ありがとうございます!
おかげで正常に出力できました。
ちなみに、関数の前に@fnをつけないとやはり出力されませんでした。
仕方なくつけることにします。

'*@class cTest
'!@brief テストクラス
'!@author me
'!@version 1.0

'*@fn fncTest(obj as Variant)
'*@brief 関数の説明1
Public Function fncTest(obj as Variant) As Variant
fncTest = Nullpo
End Function

'*@fn fncTest2(obj as Variant)
'*@brief 関数の説明2
Public Function fncTest2(obj as Variant) As Variant
fncTest2 = obj.Nullpo
End Function


53 :50:2008/07/14(月) 20:30:08
クラス名は、ファイル名やフォーム名から vbfilter.py が勝手に付けるので、
@class コマンドもいりませんよ。

@fn コマンドをつけないと出力されないのは、
1行目の @class コマンドの行頭が「'*」になっているために、
fncTest のドキュメントブロックとくっついてしまって
おかしな事になっているのではないでしょうか。

「'*」で始まる行と「'!」で始まる行は違うタイミングで処理されます。
最初に「'!」で始まる行が検出されて、クラス用のドキュメントブロックが出力され、
対応するc++形式のクラス定義が開始されます。
次にファイルの先頭から1行ずつパターンマッチングされて、
関数の1行目や変数定義や「'*」で始まるコメントがc++の書式に変換されます。
この段階では「'!」で始まる行は飛ばされます。
最後に「}」が出力されて、最初のクラス定義が閉じられます。

なお、関数の中身は全部捨てられてます。
中身の変換の機能追加も一時考えたんですが、挫折しました……。

54 :デフォルトの名無しさん:2008/08/01(金) 22:14:18
ツリー部分の日本語が文字化けしてしまうんですが、どうやったら解決できるでしょう?
今のところ手動で変更してますが、Doxygenの設定でどうにかしたいです。

55 :デフォルトの名無しさん:2008/08/01(金) 23:03:48
doxygenのバージョンと動かしているOS、食わせているファイルのエンコードとDoxyfileの設定などの情報をどうぞ。
私のところでは文字化けしていないので。
# 尤も、日本語のファイル名なんて使ってないからファイル名が化けない保証はないが。

56 :デフォルトの名無しさん:2008/08/02(土) 01:33:38
>>54
バージョン1.5.6 なら、Doxygen自体のバグっぽいです。
公式のバグレポートには、ポーランドの人からも
ポーランド語特有の文字が化けると報告されてます。

1.5.5と1.5.6でツリービューの処理が変わってるので、
そこでエンコーディングの処理をミスしたまま、
作者様はラテン1な国の人なので気付いてないってとこではないかと。

57 :デフォルトの名無しさん:2008/08/02(土) 08:56:42
>>54
1.5.5を使う


58 :55:2008/08/02(土) 09:09:18
お、私が使っているのはCygwinのインストーラで入れた1.5.5だ。

59 :デフォルトの名無しさん:2008/08/02(土) 09:13:10
>>56
thx! (54じゃないけど)

60 :54:2008/08/05(火) 21:35:07
ありがとうございます!バージョンの違いってのは気づきませんでした・・・・
これでキー一つでビルド&ビルド後処理ができるようになりました。

61 :デフォルトの名無しさん:2008/08/26(火) 16:11:52
今までdoxygenの事を全く考えずにC++で開発していたんですが、
突然思い立ってdoxygenで出力することにしました。
当然、対応形式のコメントでないので一切出力されません。
一から書き直そうと思うんですが、せめてソースを静的に解析して
関数やファイルの頭に定型のテンプレートを追記してくれるようなツールがあればと
探してるんですが、何かないですかね?

62 :デフォルトの名無しさん:2008/08/26(火) 16:27:23
>>61
そんなことしなくても、コメントの付いてない関数も含めて無理矢理出力させるオプションがあったはず。
DoxyfileのEXTRACT_ALLの項目をNOからYESに変えてみたら?

63 :61:2008/08/26(火) 18:34:24
はい。その設定で関数は出るんですが、クラスとメンバが
何をしているかの簡単な説明も表示したいと思っています。
既に大量のソースが存在する為、少しでも手間をかけずに実現したいと試行錯誤中です。
自分の様にプロジェクトの途中からdoxygenの使用を考える人間が、
どのようにこの問題を解決しているのか知りたいところです。

64 :デフォルトの名無しさん:2008/08/26(火) 18:39:07
努力と根性じゃね?

65 :デフォルトの名無しさん:2008/08/26(火) 19:53:17
>>63
とりあえず、説明文を付けるのは名前だけで中身を判断できないようなクラスやメンバだけに限定しようぜ。

66 :61:2008/08/26(火) 23:15:44
>>64 >>65
先ほどgccxmlを使用して自宅の環境で関数の位置と引数の情報を取得することができました。
ここからコメントを挿入していけばよさそうです。
お二人はdoxygen以外に勉強しなきゃいけないことがあるように思いますよ。
本当にありがとうございました。

67 :65:2008/08/26(火) 23:33:51
>>66
四行目が蛇足すぐるwww
でもまあ、健闘を祈る。
あと、無理するなよ。形だけのドキュメント作業なら特に。

68 :61:2008/08/26(火) 23:56:08
>>67
大丈夫ですよ、あなたみたいにひ弱じゃありませんから。

69 :61:2008/08/27(水) 00:18:56
名無しに戻ろうと思ったのですが偽者が湧いたので。
>>66は私本人ですが、>>68はどこぞの馬の骨です。

>>67
ありがとうございます。
"努力と根性"という言葉に何故かカチンときてしまい棘のある文章になってしまいました。
プログラマやその上司が気軽に使っていい言葉ではないと考えます。
たかが2chの戯言なのに、と自分でも驚いていますが。
ドキュメントはネット上で一般公開予定なので、なるべく解りやすいものを心がけます。

これ以降、私が>>61で書き込むことはありません。
書き込みがあったとしたら、それは私以外の誰かです。

70 :61:2008/08/27(水) 00:21:13
いいえ、>69こそがどこぞの馬の骨です。
そもそも、まともな神経をしていたらレスをつけてくれた人に馬の骨なんて使うわけないじゃないですか。

71 :65:2008/08/27(水) 00:41:27
ワロタw

72 :デフォルトの名無しさん:2008/09/13(土) 10:38:25
>>61もその程度で躓くレベルでしかもきもいときた

73 :デフォルトの名無しさん:2008/09/25(木) 11:13:21
word出力したら途中までしかクラスが出てこないのは何故?

74 :デフォルトの名無しさん:2008/09/25(木) 12:25:23
>>73
htmlでも出ない?
なんか変な記述があるとそれ以降が出ないことがあった。なんだかは忘れた。

75 :デフォルトの名無しさん:2008/09/25(木) 13:04:40
>>74
htmlだと全部出てるだけど、途切れてる部分見直してみる
ありがと

76 :73:2008/09/25(木) 13:26:05
>>74
確認してみたけど、特に変な記述は見当たらなかった
でも、たまに出力先のwordでカタカナ部分が文字化けしているとこがあった
OUTPUT_LANGUAGEがJapaneseだと全く表示されず、Japanese-enだと途中まで表示されて
今Englishに変えたら文字化けだらけだけど全部出てきた

INPUTもOUTPUTもcp932でしてるんだけど、どうすりゃ文字化けせずに日本語だせるかな…

77 :73:2008/09/26(金) 15:47:20
追加報告です。
doxygenのVer1.54使っていましたが、1.47でword出力すると問題なくできました
ご迷惑おかけしました

78 :デフォルトの名無しさん:2008/09/27(土) 08:34:51
doxyはバージョンあげると劣化することもあるからなあ
最新版のツリー表示の日本語化け直らないかなあ


79 :デフォルトの名無しさん:2008/10/03(金) 00:09:52
1.5.7 age

80 :デフォルトの名無しさん:2008/10/09(木) 12:07:46
v1.5.7.1 age

81 :デフォルトの名無しさん:2008/10/12(日) 12:08:52
>>78
1.5.6でchm形式でインデックスのエンコーディングを選べるようになって文字化けが解消されたから、それで我慢すれ

82 :デフォルトの名無しさん:2008/10/21(火) 20:34:18
C言語の構造体で、gccのattributeがメンバ「関数」扱いされてしまう
これどうにかならないかな?
OPTIMIZE_OUTPUT_FOR_CはYESになってる

struct Foo
{
    int Bar __attribute__((aligned(32)));

83 :デフォルトの名無しさん:2008/10/21(火) 22:37:43
>>82
Cにない構文は、INPUT_FILTERにsedかなにかのスクリプトを指定して事前に取り除くしか。

84 :デフォルトの名無しさん:2008/10/22(水) 01:29:05
>>82 http://www.google.co.jp/search?q=doxygen+%5f%5fattribute%5f%5f

85 :82:2008/10/22(水) 10:40:25
>83-84
ありがとう、ただそれだとattributeが消えちゃうよね
なんとか残したまま正しく動作させたいんですよ

86 :デフォルトの名無しさん:2008/10/22(水) 12:17:14
1.5.x で enum EnumName に対して @relatesalso StructName を書くと StructName のページに
EnumName が出るようになるのですが、enum のメンバーのリストが表示されなってしまいました。
1.4.x ではできていた記憶があるのですが、1.5.x で正常にする方法はあるでしょうか?

OPTIMIZE_OUTPUT_FOR_C は YES です。

87 :デフォルトの名無しさん:2008/10/22(水) 12:57:19
>>85 情報後出しキター

88 :デフォルトの名無しさん:2008/10/22(水) 13:22:05
>>85
あんたの言う正しい動作って何なの?

89 :デフォルトの名無しさん:2008/10/24(金) 09:34:27
正しく=attributeを残したまま、メンバ変数はメンバ変数として認識だろjk

90 :デフォルトの名無しさん:2008/10/24(金) 09:39:03
正しくって……
そんな拡張に一一対応しろってのか?
ソースあるんだろうから自分でやれよと思うのだが。

91 :デフォルトの名無しさん:2008/10/24(金) 10:10:38
いちいちソース書き換えとかコスト見合わないでしょ
だからそれ以外でなんとかする方法を探してるんじゃないか?

まあattributeは確かに独自拡張だが、gccだし割とよく使われてるんで対応してても良いと思う

92 :デフォルトの名無しさん:2008/10/24(金) 10:15:31
汎用的に
構文解析時だけ指定キーワードを無視するオプションがあればいい
つか、ないのかな?

93 :デフォルトの名無しさん:2008/10/24(金) 18:10:58
>>91
あなた流に言うと、コストに見合わないので対応しません

94 :デフォルトの名無しさん:2008/10/25(土) 00:44:08
作者かよww

95 :デフォルトの名無しさん:2008/10/25(土) 17:40:51
そもそもC言語にメンバ関数は無いんだからdoxygenのバグとも言えるだろ
想定外の構文には警告なりエラーなり出して欲しいよな

96 :デフォルトの名無しさん:2008/10/26(日) 00:08:33
例えば@paramとかって変えられないの?

97 :デフォルトの名無しさん:2008/11/08(土) 17:25:21
mac osx 10.5.5
doxygen 1.5.7.1

で実行しようとすると、Failed to run doxygen と言われて一切実行できません。
対処法知っている方、教えて下さい。

98 :デフォルトの名無しさん:2008/11/19(水) 23:51:11
クラス関連図って作れますか?
1クラスの構造を図にはできるみたいですが・・・
C++です。

99 :デフォルトの名無しさん:2008/11/20(木) 00:02:36
graphvizがあればできるよ。

100 :デフォルトの名無しさん:2008/12/17(水) 20:18:15
@dateの後ろに付ける日付をsubversionが自動更新してくれるように
$Date$にしたら、出来たhtmlで日付の見出しが2重になってました。
もしかしてバージョン管理システムのキーワードをdoxygenが認識して
適当に見出し付きで整形してくれるんでしょうか。
マニュアルにそれらしい説明を見た覚え無いんですが。

101 :デフォルトの名無しさん:2008/12/21(日) 21:45:55
公式とかで、きちんとした例が*.hしかないと思うのは気のせい?

102 :デフォルトの名無しさん:2008/12/23(火) 01:27:13
ちょっとメモ。
doxygenで出力したRTFがどうも文字化けするので調べてみたら、\\'を\\\'に変換することで解消することが判った。
要は\を表すのにそれ自身をエスケープして\\とする必要があると言うことなのだろうか。もうちょい調べる必要はありそう。

103 :デフォルトの名無しさん:2008/12/27(土) 23:00:37
日本語がうまく通らない原因ってどこにあるの?

104 :デフォルトの名無しさん:2008/12/28(日) 00:28:11
>>100
doxygenは$date$を認識するみたいだね。だから@dateは書かなくていい


105 :デフォルトの名無しさん:2008/12/28(日) 04:51:23
Doxygen 1.5.8 age

106 :デフォルトの名無しさん:2008/12/28(日) 05:06:03
アップデートコネーから自分で作るか…

107 :デフォルトの名無しさん:2008/12/28(日) 09:17:52
>>101
ヘッダーに書けば十分だからじゃないかな。

でも、詳細をヘッダーに長々と書いてヘッダーが読みにくくなりそうなときは、詳細だけcppに分けて書くことはあるよ。それでもdoxygenはちゃんとまとめてくれる


108 :101:2008/12/28(日) 15:47:03
>>107 thx

十分かとも思えてきた。
概要かけばいいんだもんな。
漏れは最近doxygen向けのコメント付けはじめたからもうちょい使って慣れてみるわ

109 :デフォルトの名無しさん:2008/12/28(日) 19:40:09
>>103
Shift-JISコードの2バイト目に\を割り当てたマイクロソフトに原因がある。


110 :102:2008/12/29(月) 14:53:28
更に追加。他にも、エスケープすべき文字をエスケープしていない箇所を発見。
xyzzyの場合の正規表現置換でこれを行なうとかなり改善する。
(query-replace-regexp "\\(\\\\'..\\)\\([{}][^
][^t]\\)" "\\1\\\\\\2")
# 場当たり的だなぁ……

111 :102:2008/12/29(月) 14:56:31
あー、済まない、補足。

文字列中に出てくる「{」も「}」も、どちらもエスケープしなければならないと言うのが>110の対応。
但し、文字列中かどうかの判断を厳密に行ないたくないので手元のファイルで場当たり的に対応してある。

誰か、ソース拾ってきて対策してくれる奇特な人はいないもんかのぉ。

112 :デフォルトの名無しさん:2008/12/29(月) 16:04:40
>>111
文字列として表示されるべき「{」や「}」がエスケープされてないってこと?

いつもHTMLしか出してなかったんだけど、試しに手元にあるソースでRTF出してみたら、
こちらではリストをネストさせてるところで、上の階層の行末の書式文字の「{」が
普通の文字として扱われたりして、「{」と「}」の対応が崩れてエラーになってるっぽいです。
(いや、ネストされて表示はされてるから、書式文字以外に余分に「{」が付いてる?)

行末が特定の文字(「定」とか「得」とか)の場合になるみたいだけど、
条件がよくわかりません…

113 :102:2008/12/29(月) 16:16:27
>>112
2バイト文字の2バイト目に{}\のいずれかが来るケースで、エスケープされないようです。
# 「定」「得」どちらも該当しないようですが……

処が文字列を明示的に区切らないのがRTFの仕様らしくて、キーワードとしての{や}と区別が難しいのですよ。
実は>102の対策だけだと{}の対応が崩れてしまってrtfの一部だけしか読み込まれないことが判って気づいたんですが。
# 客先に実態の1/3程度しか分量がない資料を提出しちゃったのは内緒w

念のため確認したら、手元のDoxygenはCygwin同梱の1.5.5でした。
# さて、rtfを変換するツールを真面目に作るのとdoxygenそのものを修正するのとどっちが楽だろかw

114 :デフォルトの名無しさん:2008/12/29(月) 16:26:38
>>113
だいぶ前からエンコーディング指定して全部一旦 UTF-8 に変換されるようになったから
その手の問題は解決済みだと思ってるんだけど、何かバージョン上げれない理由でもあるの?

115 :デフォルトの名無しさん:2008/12/29(月) 17:54:50
cygwinの最新は1.5.5-1だね。
つまり、解決済みではないらしい。

116 :デフォルトの名無しさん:2008/12/29(月) 18:19:03
cygwinは使ってないので、それが理由かどうかは知りませんが、
1.5.6から1.5.7.1まではフレーム付きHTMLのツリービューで
英数字以外が文字化けするという問題がありました。
2日前に出たばかりの1.5.8でやっと解決されました。

117 :デフォルトの名無しさん:2008/12/29(月) 19:13:27
>>115
Windows ネイティブ版を使えない理由があるの?

118 :デフォルトの名無しさん:2008/12/29(月) 20:15:40
全部一旦 UTF-8 に変換されるようになったのは、1.5.2以降だから、
>>113, >>115 の cygwin版も UTF-8 に変換されるバージョンです。

最新版でも日本語RTFはかなり駄目な感じです。
手元のソースを処理させてみたら、目次の見出しの「目次」の後ろとか、
あちらこちらに見えてはいけない「\par」や「{」が見えて、
本文数ページで破綻します。

119 :デフォルトの名無しさん:2008/12/29(月) 20:53:32
HTML だと問題ないってことかな? HTML しか使ってないからよくわかんないや。

120 :118:2008/12/29(月) 22:31:08
昔、1.4.6でRTFを作ったことのあるソースを、設定をほとんど変えずに1.5.8に掛けても駄目でした。
1.4.6で作ったRTFの半分ぐらいしかファイルサイズがありません。
むしろ内部処理が UTF-8 になってから、おかしくなったんじゃないかという気がしてきました。

121 :デフォルトの名無しさん:2008/12/29(月) 23:06:51
折角色々対応してあったのを、UTF-8にしたのを機に捨ててしまったような感じだな。
この正月休みの間に暇があるようならソースでも見てみるか。

122 :デフォルトの名無しさん:2008/12/30(火) 01:23:34
過去のバージョンを取ってきて順に試してみました。
1.5.0までは日本語の RTF が生成できて
(おかしなところが無いかまではチェックしてませんが)、
1.5.1で、
"Warning: Output language Japanese not supported! Using English instead."
と表示され、日本語が表示できませんでした。
ここで一旦無かったことにされたようです。

123 :デフォルトの名無しさん:2008/12/30(火) 03:40:46
問題分かったかも。

id 437346 のバグレポートで日本語対応の議論がされてるんだけど、
報告者の人が提案した、
x080より大きいバイトが来たらマルチバイト判別フラグON、
次のバイトでフラグOFF、というのをそのまま採用してくれたらよかったのに、
0x80より大きいかの判断をそのままフラグに入れちゃってるから、
2バイト目が0x80より大きい場合に、その次のバイトまでエスケープされて、
それがエスケープされたら困るものの場合に不幸になってるということかと。

124 :デフォルトの名無しさん:2008/12/30(火) 03:58:34
repopかければいいのに。

rtfって何で読めるんだろう。AbiWord?ooo?

125 :デフォルトの名無しさん:2008/12/30(火) 08:55:13
>>123
事はそう単純じゃない。というか、もっと単純。
内部UTF-8をcp932に変換して、必要ならエスケープすべきなのにそれをしていないと言うのが>102=113の観測だろ。
例えば「ソソ」が「\'83\\\'83\\」にならないといけないのに「\'83\\'83\」になると。

それとも、二種類の問題が独立して存在しているのか?

126 :123:2008/12/30(火) 10:22:07
>>125
ああ、すいません。
>>123で書いたのは、1.5.8の場合の問題です。
>>102,,>>113の、.1.5.5の問題はエスケープされてないというので合ってると思います。
1.5.8でそれに対する対応が入れられたけど、方法がまずく、
今度は逆にエスケープすべきでないところまでされたという話。

127 :デフォルトの名無しさん:2008/12/30(火) 11:17:38
>>78
1.5.8で直った

128 :デフォルトの名無しさん:2009/01/08(木) 07:49:37
とりあえず保守ですが、あけおめ。

日本語rtf使えるようになるといいですね

自分はまだ皆様のようにハックに参加できるほど技術がないので、精進したいと思います。

129 :102:2009/01/08(木) 09:55:41
又更につまらない問題に遭遇。
折角修正したrtfがWordだと読めるのにOpenOfficeだと文字化けする。
例えば、「\'83\\」のような>125が指摘した例だと、「\'83\'5c」のようにしないといけないらしい。
あーもう、rtfを解析するしかないのかなぁ。
# doxygen1.5.8で変わっているらしいからそっちに手を出すのは避けたいし。

130 :デフォルトの名無しさん:2009/01/08(木) 22:19:22
解決しました。ありがとうございました。

131 :デフォルトの名無しさん:2009/01/10(土) 14:59:07
1.5.8 のrtfのエスケープバグのソースって
どのファイルなのかな?

132 :102:2009/01/10(土) 15:17:25
ちょっとLinuxに1.5.8をインストールしたので出力してみたが、これは酷いw
2バイト文字を全てコード出力しているのはいいが、>123のように無関係なコマンド文字まで巻き添えにしてしまっている。
おまけに、コマンド文字列を何故か\commentで括ってしまっているので収拾がつかない状態。

そうそう、html出力のツリービューも、(UTF-8)指定なのにも関わらずプロジェクト名がEUCで出力されるので化け化け。
誰かなんとかして〜w
# ってことで、>131に期待♪

133 :デフォルトの名無しさん:2009/01/11(日) 01:06:49
うはw ぼくとしては>102さんに期待してるんだけどっw

134 :デフォルトの名無しさん:2009/01/12(月) 00:56:25
>>131
rtfgen.cpp の void RTFGenerator::postProcess(QByteArray &a) です。
こちらを参考に。
ttp://bugzilla.gnome.org/show_bug.cgi?id=437346

>>132
そういや最近プロジェクト名を日本語にしてなかったけど、これは…

どうやらDoxywizardのバグのようです。
テキストエディタでDoxyfile開いてプロジェクト名を修正して、
コマンドラインでDoxygenを実行したら、文字化けしませんでした。

135 :デフォルトの名無しさん:2009/01/12(月) 02:36:31
>>134 ソース位置ありがとう。
これって、よくわかってないけど、postProcess()で、ファイル全体を
エスケープしてるのかな。
もしそうなら、rtfでの表示される文字列以外も全部エスケープされて
しまい、上のバグが症状がでてるんじゃないかな?
rtf表示文字列だけをエスケープするようにするには、postProcess()
の中でやってちゃだめで、rtfgen.cpp(にあるか知らないけど)
で表示文字列をrtfタグ中に埋め込む時コード当たりでやらないといけなそう?

とりあえず、doxygenをWindowsでコンパイル出来る環境作り
からやらないといけないのが辛いorz


136 :デフォルトの名無しさん:2009/01/12(月) 08:13:44
>>135
頑張れw
Cygwinなら協力する。
# つーか、ソース拾ってきて自分でやれ>自分

137 :134:2009/01/12(月) 21:40:12
>>135
0x80より大きい値とmb_flagが1のときだけエスケープされるはずです。
1.5.7.1以前のバージョンではmb_flagが無くて、0x80より大きい値という条件しかなかったので、
マルチバイト文字の2バイト目が「{」や「\」などの場合におかしくなってました。

mb_flagをマルチバイト文字の1バイト目で1にすれば、
次のバイトが0x80以下でもエスケープされるという仕組みのはずですが、
mb_flagの設定方法がまずくて、2バイト目でクリアされなくて
さらに次のバイトまでエスケープされる場合がある、という状況です。

ttp://bugzilla.gnome.org/show_bug.cgi?id=437346
で、T.Matsuyama氏が提示したコードが正しく動くはずです。

#そこまで分かってるな自分でやれ、と言われそうだ……
すいません、環境作りが荷が重いですorz

138 :デフォルトの名無しさん:2009/01/14(水) 22:11:56
バグ修正版バイナリ出来たよん。
http://www1.axfc.net/uploader/He/so/182473&key=doxygen
T.Matsuyama氏パッチそのままです。
ばっちりっぽいです。
102さん、134さんありがとw

139 :デフォルトの名無しさん:2009/01/14(水) 22:17:06
おー、これは凄い。後で試してみるか。

140 :デフォルトの名無しさん:2009/01/27(火) 01:28:30
てか、>>137のURLが示すバグをreopenして開発者に教えてあげればいいんじゃないの?
アカウント持ってないから誰でもreopenできる設定なのかはわからないけど

141 :デフォルトの名無しさん:2009/01/27(火) 07:49:20
いかん、未だ試せてない……

142 :デフォルトの名無しさん:2009/01/30(金) 01:55:55
コメントが一切ついてないソースに
関数の定義部分だけ自動的に
タグを生成してくれるツールないですか?

143 :デフォルトの名無しさん:2009/01/30(金) 02:14:58
>>142 ctags?

144 :デフォルトの名無しさん:2009/01/30(金) 07:39:05
>>142
このスレ的には、タグというとDoxyfileのタグのことになるのだがそれでいいのかい?

145 :デフォルトの名無しさん:2009/01/30(金) 07:42:20
@が付くやつがいい

146 :デフォルトの名無しさん:2009/01/30(金) 08:23:53
ドキュメントつけしてない関数も出力するオプション?

147 :139:2009/02/15(日) 17:55:27
やっと>138を試せた。取り敢えず、cygwinからでも使えることと日本語が化けないことは確認した。
但し、OpenOffice(3.0)では{comment[^{}]}を取り除く必要があったこととTITLEなどのフィールドは
巧く変換できなかったけれど、これは元からそうなのかもしれない。
今度機会があれば、素直にMSwordに食わせてみるとしよう。

148 :139:2009/02/17(火) 18:58:43
cygwinで>138を動かし、できたRTFをWORD2000に食わせた。
全選択してフィールドの更新、画像アンリンクのマクロを動かして、
docに名前を変えて保存。一応、スタンダロンで使える資料になるようだ。

で、画像アンリンクのマクロって需要あるかな。あるようならどっかで公開するけど。

149 :デフォルトの名無しさん:2009/02/28(土) 05:29:11
doxygenのライセンスってGPLですよね。
doxygenのコメントを書いたソースって公開しないと駄目ですか?

150 :デフォルトの名無しさん:2009/02/28(土) 05:39:00
ならないよ
GPLのお絵かきソフトで絵を描いたようなもん

151 :149:2009/02/28(土) 05:50:38
>>150
ありがとうございます

152 :デフォルトの名無しさん:2009/03/03(火) 10:33:16
DoxyfileもGPLに該当しないのかな。
それとも、コメント部分は削除しておいた方が無難?

153 :デフォルトの名無しさん:2009/03/03(火) 22:08:28
ソフトのドキュメントを作るのにDoxygenを利用してもGPLにする必要なし。
ソフトの機能としてDoxygenを利用する場合はGPL。

37 KB
■ このスレッドは過去ログ倉庫に格納されています

★スマホ版★ 掲示板に戻る 全部 前100 次100 最新50

read.cgi ver 05.04.00 2017/10/04 Walang Kapalit ★
FOX ★ DSO(Dynamic Shared Object)