기초 작성자: 류광%%% 소스 컴파일 하기 : Astromaker
OpenGL 한글 출력 라이브러리의 문서화를 고민하다가, 가장 널리 쓰이는 C/C++ 문서화 도구인 Doxygen을 사용하기로 했습니다. OpenGL 출력 라이브러리의 문서화를 진행하면서 Doxygen의 기본적인 설치, 사용법 및 비주얼 C++ 환경에서의 활용 팁을 조금씩 만들어 나갈 생각입니다.....
아웅.. 시간이 잘 안나내요... 일단 맛보기로... OpenGL 한글 출력 라이브러리 중 한글 처리 부분을 문서화한 결과입니다 : http://www.gpgstudy.com/doxygen_example/
완성된 것은 아니고.. 대충 이런 식이다.. 라는 정도만.. 여기까지 해본 소감은... doxygen이 상당히 강력하고 효율적이라는...
목차
Doxygen은 주어진 소스 코드를 분석하고 소스 코드에 있는 특정한 형식의 주석을 이용해서 소스 코드를 자동으로 문서화해주는 프로그램입니다. 결과는 일련의 HTML 페이지들이구요. LATEX나 PDF 문서들을 만들어낼 수도 있습니다.
어떤 형태의 문서가 만들어지는지는 직접 보는 게 더 확실할 것 같네요.. 오픈 소스 프로젝트들을 포함한 수많은 프로젝트&API&라이브러리들이 Doxygen을 이용해서 문서화를 해결하고 있습니다. 한 가지 예로, GPG 스터디 포럼에도 소개했었던 Simkin이라는 스크립트 언어의 문서화 페이지를 한 번 구경해 보시길..
http://www.simkin.co.uk/Docs/cpp/api/index.html
페이지들의 기본적인 내용은 소스 코드의 클래스 정의나 함수 정의 등으로부터 자동적으로 생성됩니다. 클래스 계통 구조를 보여주는 도표(gif 파일) 역시 자동적으로 생성됩니다. 그리고 함수, 클래스 등에 대한 텍스트 설명은 특정한 형식을 갖춘 주석으로부터 생성됩니다. 따라서 Doxygen의 사용법을 배운다는 것은 Doxygen 프로그램의 설정과 실행에 관련된 것들을 배우는 것을 의미할 뿐만 아니라 Doxygen이 인식할 수 있는 형태의 주석을 작성하는 법을 배운다는 것을 의미하기도 합니다. 다행히 Doxygen 주석이 일반적인 방식보다 특별히 더 복잡하지는 않습니다.... 이에 대해서는 이후에 이야기하죠...
Doxygen 홈페이지 : http://www.doxygen.org/index.html
http://www.codeproject.com/macro/KingsTools.asp - Visual Studio .NET 에서 Doxygen을 사용할 수 있는 툴입니다. Doxygen 말고도 여러가지 기능이 있는 것 같습니다. .NET을 사용하시는 분은 이 툴을 사용해보시는 것도 좋을 듯합니다. 전 .NET이 없어 사용해보지는 않았습니다. - Astromaker KingsTools을 쓰면 doxygen 포맷을 간편하게 만들어줍니다. 강.추! 그러나... Visual Studio .NET의 성능을 많이 떨어뜨립니다. 편하긴 하지만 평소 작업이 느려지니 원... 그래서 저는 안쓰고 있죠. -imays
주의 아래의 정보는 이제 좀 한물 갔습니다 -.- 최신 버전은 Win용 자동 설치 프로그램 및 편리한 GUI 프런트엔드를 제공합니다. 위의 Doxygen 홈페이지를 참고하세요. - 2002-01-27, 류광
윈도우즈 용을 중심으로 이야기할께요~
http://www.doxygen.org/index.html 로 가서(Shift-클릭으로 새 창으로 띄우세요~) source & binaries 페이지로 가신 후 Lastest release 아래 A binary distribution for windows 95/98/NT/2000/XP 라고 되어 있는 부분의 링크를 클릭해서 zip 파일를 받으세요. 여기에는 미리 컴파일된 이진 실행 파일들과 매뉴얼 html 파일들이 함께 들어 있습니다.
에잉 복잡해.. 그냥 링크를 직접(최신 버전이 아닐 수도 있음): ftp://ftp.stack.nl/pub/users/dimitri/doxygen-1.2.8.1.windows.bin.zip
그 위의 소스 코드는 소스 코드를 직접 들여다보거나 수정하고자 하는 분만 받으면 되구요... 저는 소스를 받아서 한글화 부분 코드를 수정하고 다시 컴파일해서 쓰고 있습니다. 수정된 소스 파일은 조만간 공개할께요(컴파일된 실행 파 일과 함께요..)
비주얼 스튜디오에서 Doxygen을 편하게 사용할 수 있게 해주는 DoxBar라는 것이 있습니다. DoxBar 홈페이지 http://www.stack.nl/~dimitri/doxygen/doxbar/index.html 로 가셔서 Binary라고 되어 있는 zip 파일을 받으세요. VC++ 애드인인데 이게 있으면 무척 편합니다...
우선 Doxygen zip 파일을 적당한 디렉토리에 푸세요. 폴더 이름 사용해서요... (서브디렉토리들이 생기도록).
끝!
bin 디렉토리를 PATH에 추가하라는 말이 있는데 굳이 그럴 필요는 없습니다(DoxBar를 이용하면요..).
우선 편의를 위해서, 어디서든 doxygen.exe를 실행시킬 수 있도록 할 필요가 있습니다. 방법은 두 가지...
PATH 추가할 때 굳이 AUTOEXEC.BAT을 이용할 필요는 없습니다. 그냥 도스창 열고 SET PATH를 하거나 그걸 해주는 배치 파일을 만들면 되죠. 예를 들어서
c:>copy con setdoxyenv.bat SET PATH=c:doxygenin;%PATH%; ^Z
그리고 실행용 배치 파일은
c:>copy con doxygo.bat c:doxygenindoxygen.exe %1 %2 %3 %4 %5 ^Z
이런 식으로 만들면 되구요..
첫 번째가 더 나은 방법일 것 같네요.. 어쨌든 명령행 어디에서는 bin 디렉토리에 있는 doxygen.exe(그리고 기타 exe들)을 실행할 수 있게 해야 합니다...(도스 건너뛰고 윈도우즈부터 배우기 시작한 분이라면 좀 어려울 수도 있겠지만.. 뭐... 쩝..)
두 번째로 할 일은 doxygen 설정 파일을 만드는 것입니다. doxygen은 설정 파일에 기록된 설정들을 이용해서 문서화 작업을 실행하구요. 설정 파일에는 처리할 소스 파일 이름들에서부터 HTML 형식 등 문서화에 관련된 모든 설정들이 들어갑니다.
매 번 설정 파일을 만드는 것은 소모적이므로, 설정 파일을 위한 틀(이를 설정 템플릿 파일이라고 하겠습니다)을 만들고 그걸 복사해서 필요한 부분만 바꾸면 됩니다. 템플릿 파일을 만들려면:
doxygen -g 템플릿_파일_이름
이렇게 하면 됩니다. 템플릿 파일 이름을 생략하면 doxyfile 이라는 이름의 파일이 생깁니다..
이제 이 파일을 템플릿 파일로 사용하면 됩니다.. 그런데 한 가지 수정할 것이 있습니다. 텍스트 편집기로 이 파일(doxyfile이라고 하겠습니다)을 여세요..
고칠 것은 OUTPUTLANGUAGE 항목입니다. 기본은 english로 되어 있는데, Korean으로 고쳐야 한글화된 문서가 생성되며, 더 중요한 것은 생성된 HTML의 문자 집합 인코딩이 euc-kr로 설정된다는 점입니다. 이렇게 하지 않으면 브라우저에서 한글이 깨져서 나옵니다. english 상태에서도 인코딩을 euc-kr로 하려면 커스텀 HTML 헤더를 지정해야 하는데, HTML_HEADER에 헤더 파일 이름을 지정하면 됩니다. 헤더 파일의 가장 간단한 형태는 이 정도..
<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=euc-kr"> <title>Doxygen 문서</title> </head>
일단 이 정도로 하구요... 참 지금까지 이야기한 것은 템플릿 파일이고, 실제 문서화를 실행할 때에는 템플릿 파일을 소스 코드가 있는 곳에 복사해 넣어야 합니다.
우선 필요한 것은 소스 코드에 적절한 주석이 붙어 있어야 한다는 것인데, 이에 대해서는 잠시 후에 이야기하구요. 실행을 위한 설정 파일 편집부터 이야기하죠..
템플릿 파일을 소스 파일들이 있는 곳에 복사하고, 텍스트 편집기로 열어서 수정해야 합니다. 필수적으로 수정해야 할 것은 INPUT 항목입니다. INPUT은 문서화의 원본으로 쓰일 소스 파일들을 지정하는 역할을 합니다. 예를 들어서 소스 파일이 하나면
INPUT = source.cpp
그리고 여러 개인 경우에는 이런 식으로...
INPUT += cs_hangul.h cs_hangul.cpp cs_hangul_def.h
상대 경로를 지정할 수도 있구요.
INPUT += .cscs_hangul.h .cscs_hangul.cpp .cscs_hangul_def.h
아니면.. 디렉토리를 지정할 수도 있습니다. 그러면 그 디렉토리의 모든 파일들이 입력 파일이 됩니다. 또한 FILTER_PATTERNS를 이용해서 포함시킬 파일들의 확장자를 지정할 수도 있습니다.
INPUT = src FILTER_PATTERNS = *.h
이렇게 하면 src 안의 모든 헤더 파일들이 입력 파일로써 사용됩니다.
그리고 출력 관련 설정으로 필요한 것은...
GENERATE_HTML = YES
- 이렇게 해야 HTML이 생성됨..
HTML_OUTPUT = 문서들이 만들어질 디렉토리.
- 생략하면 현재 디렉토리(doxygen이 실행된 디렉토리)의 html 디렉토리가 만들어지고 그 안에 문서들이 만들어짐.
그 외에도 수많은 설정들이 있지만, 기본적으로 설정 파일에 INPUT 항목만 정확히 존재하면 doxygen이 실행될 수 있습니다. 생략한 것들에는 모두 기본설정이 적용됩니다.
설정 파일이 만들어진 후에는 doxygen을 실행하면 됩니다. 실행 방법은
doxygen 설정파일
이런 형태입니다. 이렇게 하면 현재 디렉토리 아래의 html 디렉토리(HTML_OUTPUT을 비워두었다고 할 때)에 문서들이 생성됩니다.
Doxygen을 이용한 문서화는 소스 코드에 있는 주석에 의존합니다. Doxygen은 소스 코드를 분석해서 클래스들이나 그들의 멤버들, 파일 수준의 함수나 멤버들을 조직화하고 기본적인 문서들을 만들어 내지만, 각각의 클래스나 멤버, 함수, 구조체 등에 대한 설명은 주석으로부터 비롯됩니다.
Doxygen이 인식하는 주석은 이런 형태입니다.
/// 짧은 설명 - JavaDoc 방식 /** 긴 설명 - JavaDoc 방식 ... */ //! 짧은 설명 - Doxygen 방식 /*! 긴 주석 - Doxygen 방식 ... */
이런 주석들은 정의나 선언 위에 붙여야 합니다. 예를 들면
/// 어쩌구 저쩌구 클래스
class Foobar {
...
/// 이건 생성자
/**
하는 일: 생성-.-
*/
Foobar() { ...}
다음 예제는 doxygen의 문서에 있는 예제 입니다. - Astromaker
Qt 스타일
//! A test class. (클래스에 대한 짧은 설명 - 제목 같은 것이죠.)
/*!
A more elaborate class description. (클래스의 세부적인 설명 - html tag도 사용가능하다 합니다.)
*/
class Test
{
public:
//! An enum. (열거형에 대한 짧은 설명)
/*! More detailed enum description. */ (열거형에 대한 상세한 설명)
enum TEnum {
TVal1, /*!< Enum value TVal1. */ (열거형의 값에 대한 세부설명)
TVal2, /*!< Enum value TVal2. */
TVal3 /*!< Enum value TVal3. */
}
//! Enum pointer. (멤버 변수에 대한 짧은 설명)
/*! Details. */ (멤버 변수에 대한 세부 설명)
*enumPtr,
//! Enum variable.
/*! Details. */
enumVar;
//! A constructor. (멤버함수에 대한 짧은 설명)
/*!
A more elaborate description of the constructor. (멤버 함수에 대한 상세 설명)
*/
Test();
//! A destructor.
/*!
A more elaborate description of the destructor.
*/
~Test();
//! A normal member taking two arguments and returning an integer value.
/*!
param a an integer argument. (함수 파라메터 설명)
param s a constant character pointer.
eturn The test results (함수의 리턴 값 설명)
sa Test(), ~Test(), testMeToo() and publicVar() (See alse 같은 참조를 나타냄)
*/
int testMe(int a,const char *s);
//! A pure virtual member.
/*!
sa testMe()
param c1 the first argument.
param c2 the second argument.
*/
virtual void testMeToo(char c1,char c2) = 0;
//! A public variable.
/*!
Details.
*/
int publicVar;
//! A function variable.
/*!
Details.
*/
int (*handler)(int a,int b);
};
괄호 안의 내용을 보면 대충 어떤 식으로 돌아 가는지 알 수 있을 겁니다. javadoc 스타일을 보면.. 마찬가지로 doxygen에 나오는 예제를 보지요.
/** * a normal member taking two arguments and returning an integer value. * @param a an integer argument. * @param s a constant character pointer. * @see Test() * @see ~Test() * @see testMeToo() * @see publicVar() * @return The test results */
testMe() 함수의 주석 부분입니다. 짧은 설명은 주석 처음에 "." 으로 끝나는 부분까지 해당합니다. 그리고 다음에는 세부적인 설명이 나오지요.%%% 그런데 Qt스타일(doxygen에 사용되는 스타일) param에 "" 를 사용했는데.. 자바스타일은 @를 사용하는 차이가 있습니다. 자바스타일의 see는 Qt스타일의 sa과 동일 합니다.
자바 스타일로 쓰실려면 템플릿 파일에 JAVADOC_AUTOBRIEF 옵션을 YES로 해 주시면 됩니다.
(.... 계속 됩니다..)
우선 DoxBar 홈페이지에서 받은 zip 파일을 적당한 디렉토리에 푸시고..
Close를 클릭해서 대화상자를 닫으면 새로운 툴바가 나타나 있을 것입니다.
이제 이걸 조금 조정해야 합니다.
rundox.bat은 자동으로 생성되는 파일이니 현재 존재하지 않아도 됩니다(이에 관련된 경고는 그냥 무시하세요). (- 위처럼 한다면 c: 에 temp폴더를 만들어놓으면 됩니다. 즉, 파일은 없어도 되지만, 해당 폴더는 존재하여야 합니다. - Astromaker)
설정이 번거로왔던 반면 실행은 간단합니다. 프로젝트나 워크스페이스를 로드하고 DoxBar 툴바의 제일 왼쪽 버튼(툴팁이 'Doxbar Execute')을 클릭하면 됩니다. 워크스페이스에 여러 프로젝트들이 있다면 원하는 프로젝트를 현재 활성화된 프로젝트로 만든 후에 버튼을 클릭해야 하겠죠..
실행 과정이 Output 창에 나타나구요. 설정 파일에 지정된 출력 디렉토리에 HTML 파일들과 HTML 도움말 파일이 생성됩니다...
이 도구가 하는 일은 간단합니다. 템플릿 파일을 현재 프로젝트 디렉토리에 복사해 넣고, INPUT 항목에 현재 프로젝트의 모든 파일들을 추가하고, PROJECT_NAME에 현재 프로젝트 이름을 설정해서 doxygen.exe를 호출하는 것입니다. 지루한 반복 작업을 줄여주는 것이므로 편하긴 하지만, 세부적인 제어가 힘들다는 것이 단점입니다. 프로젝트의 파일들 중 특정 파일들만 문서화한다던가 하려면 명령행 접근 방식을 사용할 필요가 있습니다...
Code Project에서 소개된 것으로 이미 사용하는 분들도 많겠지만 그렇지 않은 분들을 위해 소개해드리겠습니다.
위에 doxbar는 Visual Studio 6.0에서 사용하는데, 이 KingsTools는 Visual Studio .NET 에서 설치 가능한 DoxyGen 자동화 툴입니다.
설치방법은 doxbar같은 tool 메뉴상에서 등록 과정없이 installer를 다운로드 받아서 그 파일을 실행 시키면 됩니다.
실행하면 설치는 끝나고 VS.NET을 실행시켜서 Tools 메뉴 항목를 보면 아래 그림과 같이 설치되었음을 확인할 수 있습니다.
(doxygen.exe를 이 인스톨본이 포함하고 있어서 doxygen을 따로 설치하지 않으셔도 됩니다.)
그리고, Run Doxygen... 항목을 클릭하면 아래 그림과 같은 설정창이 뜨며, language를 Korean으로 설정한 후 구미에 맞는 항목을 선택하여 run Doxygen 버튼을 클릭하면 원하는 output의 문서를 얻을 수 있습니다.
이때 Latex 항목은 Latex 문서화 툴이 설치되어 있어야 가능합니다. 그리고, rtf 역시 한글이 깨져 나오는데, 아래에 나와 있는 rtf 파일 헤더 변경을 통해 한글이 제대로 나오도록 할 수 있습니다.
Reference
The Code Project - Useful enhancements for Visual Studio.NET
이것을 컴파일 하는 이유는 doxygen이 만들어주는 한글에는 부자연스럽기도하고 아직 한글화가 제대로 이루어지지 않았기 때문입니다. 이 한글화를 위해서 소스를 다시 컴파일 하는 것입니다. (다른 이유도 있겠지만, 제가 컴파일한 이유는 그것입니다.. -_-;;)
안녕하세요. 이번에 Doxygen 1.3이 정식 릴리즈 되면서 제가 제출한 한글 번역 해더 파일이 반영되었습니다. 반영된 파일은 LaTex 부분만 빼고 모두 반영되었습니다. 그러니 추가로 한글을 위해 받아서 사용할 필요가 없습니다. - Astromaker (2003/04/17)
새로 컴파일한 것을 가지고 LaTex 테스트를 해보았습니다. 잘 동작하는군요. 몇군대 미심적은 말도 있지만, 그냥 볼만한 것같습니다. 영어랑 한글이랑 어순이 다르다보니 바꾸기도 껄끄럽네요. 좋은 말이 생각나시면 바꿔주세요. 그런데 LaTex을 써야 한다면 새로 컴파일한 것을 가지고 사용하기를 추천드립니다. 왜냐하면, 결과물에서 보면 "??" 가 들어가는 부분도 있구요. .tex 파일을 .dvi로 컴파일시 몇가지 에러가 나는 것같습니다. 에러가 난다면 무시하고 계속 컴파일을 하는 "r"을 입력하시면 무시하고 컴파일을 합니다. 자세한 것은 한국 Tex 사용자 그룹( http://www.ktug.or.kr/ )에서 문의하시기 바랍니다. 그리고 Doxygen 1.3 새로이 컴파일한 것과 그것을 이용하여 LaTex 컴파일한 예제를 올립니다. 이것도 Doxygen에 알려 반영되도록 할 예정입니다. 다시한번 말씀드리지만 html로만 출력하시려면 지금 나와 있는 최신의 버전을 사용하시길 바랍니다. 새로 컴파일한 것은 LaTex 한글이 필요하신 분만 사용하시기 바랍니다. - Astromaker (2003/04/24)
윈도우 환경과 VC 6.0을 사용한다는 것을 미리 알려 드립니다. 다른 버전은 테스트 해보지 않았습니다.
일단 doxygen을 전부 컴파일 하는 일은 여러가지 프로그램을 설치 하여야하는 등 번거러우므로 필요한 파일만 컴파일하여 기존의 파일에 덥는 방식으로 하도록 하겠습니다. 두번 일하는 것이라 까다롭지만, 제가 할 수 있는 것은 그정도뿐이네요. 이해해주시기 바랍니다.
일단 필요한 프로그램을 받습니다.
이제 소스를 컴파일 하기 위한 모든 준비가 다 되었습니다. 그럼 소스를 수정해 봅시다.
C:doxygen-1.3-rc3>make msvc
근데 아마 소스에서 에러가 날껍니다. 보면 대부분이 C2001 에러인데요. 해당 파일에 가서 그 라인을 보면, 따옴표가 없어서 나는 것입니다.%%% 아마 윈도우에서 여러가지 언어를 지원하지 않아서 그것이 깨져서 그렇게 된거 같은데.. 정확한 이유는 모르겠네요.. 그 부분을 일일이 수정하는 것은 번거롭지 않을까 합니다. 전 일일이 따옴표를 넣어 주었지요. -_-;; 아니면 language.cpp 등을 조금 수정해 주면 영어와 한글만 되게 해줄 수 있겠죠? 그러나 다른 언어가 지원되는 것이 좋을 겁니다. 흠.. 따옴표를 일일이 적는 것도.. 안좋은 방법인데요.. 원래 코드엔 있는데.. 그것을 언어설정이 맞지 않아 깨저보이는 거 일거 같거든요. 그럼 따옴표를 두번하게 되는 것인데.. 그것도 에러자나요. 아무튼.. 이부분을 아시는 분 가르쳐 주세요~%%% 암튼.. 에러는 전부 따옴표가 없어서 입니다. 보시면 금방 수정하실 수 있을 겁니다.
또 다른 에러가 있는데 어디서 에러가 나는지 보고 그 파일의 에러 부분을 찾아 들어가면 쉽게 수정하실 수 있을 겁니다.
이제 컴파일 다 하셨지요? 그럼 doxygen/bin 폴더에 세개의 파일이 들어가 있습니다. 그걸 이미 설치 해놓은 doxygen의 bin폴더에 덮어 복사하시면 됩니다. (아.. 복사하시기 전에 예전에 있던 파일을 백업해두시는 것도 좋으리라 생각해요. 다시 깔아도 되지만...)
앞에서 말씀드렸다시피 지금 doxygen 을 설치하고 난뒤에 다시 소스를 받아 컴파일 하여 덥어쓰고 있습니다. 아직 제가 전부 컴파일 하는데 실패했거든요. latex나.. 그런 부분에서 에러가 나더라구요. 설정하려니 잘 모르겠네요. 그리고 이걸 붙잡고 언제까지 있을 수도 없고...
재구성한 translator_kr.h 이 파일의 내용을 보시려면 DoxygenForKorean 을 보세요.
일단 제가 번역해서 바꾸어 놓은 것을 링크 걸어 놓겠습니다. 사용하실 분은 받으세요. 이것은 html로만 테스트 해보았습니다. 다른 문서로 한다면 안될 수도 있습니다. 제가 해본건 rtf인데 한글이 다 깨지더군요.. html이 아닌 다른 문서로 하시려면 다른 것을 사용하세요.
이번에 1.3-rc3 가 나오면서 새로이 컴파일 하였습니다. 번역상에 추가된 것은 없습니다. 저번 버전과 번역해야 할 부분은 추가된 부분이 없었습니다. %%% 아.. 이번에 1.3-rc3으로 컴파일 하면서 위에 컴파일 에러를 무시하기위해 한글만 넣었습니다. 그러니 다른 언어는 지원하지않습니다. 다른 언어는 기존 파일을 이용하세요.
bin.zip - 1.3 버전을 컴파일 한것입니다.
다음은 바뀐 한글을 적용해서 DoxBar 으로 만든 chm파일입니다.%%% 제가 작년에 작업한 것을 한번 만들어 봤습니다. 중간정도까지 하다가 귀찮아서 그냥 올립니다.-_-;;
chatserver.chm - 1.3-rc3 버전으로 만든 것입니다.
latex.zip - 새로 컴파일한 파일로 변환한 LaTex 예제입니다.
불쑥 다른 사람이 추가해서 죄송합니다. 하지만 이것이 WikiWki가 좋은점이겠지요. 호성님이 내용을 정리 하시면 더 좋겠지만 일단 성공을 해서 한 말씀드리겠습니다.
저도 한글 rtf화일 출력이 다깨져서 나와 고민을 하다가 여러 방법을 써서 한글이 깨지지 않는 방법을 알았습니다. 저는 먼저 조합형, 완성형 문제인줄 알았습니다. 그렇지만 그런건 아니더군요. 같은 문자열을 훈민정음이나 워드에서 생성하고 화일 내부를 보면 같은 2Byte 문자열이 나오는것을 확인 했습니다.
그래서 이방법 저방법 여러 변환 프로그램은 찾아서 써봤는데 해결을 할 수 없었습니다. 그런데 훈민정음에서 같은 문자열을 써 놓고 비교를 해봤습니다. 훈민정음이 가장 간단한 내용으로 화일을 만들더군요. 그랬더니 맨 위의 해더 내용이 다르게 나왔습니다.
아래가 원래 생성된 헤더입니다. 제가 보기 좋게 행만 고친것입니다.
{
\rtf1\ansi\ansicpg1252\uc1 \deff0\deflang1033\deflangfe1033
{\fonttbl
{\f0\froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}
{\f1\fswiss\fcharset0\fprq2{\*\panose 020b0604020202020204}Arial;}
{\f2\fmodern\fcharset0\fprq1{\*\panose 02070309020205020404}Courier New;}
{\f3\froman\fcharset2\fprq2{\*\panose 05050102010706020507}Symbol;}
}
{\colortbl <-------------------------------------
표시한 {colortbl 윗부분을 몽땅 훈민정음에서 생성된것으로 고치면
{\rtf\1ansi \deff0\deflang1033
{\fonttbl{\f0\froman\fcharset129 \'b9\'d9\'c5\'c1;}
{\f1\fmodern\fcharset129 \'b5\'b8\'bf\'f2;}
{\f2\fmodern\fcharset0\fprq1{\*\panose 02070309020205020404}Courier New;}
{\f3\froman\fcharset2\fprq2{\*\panose 05050102010706020507}Symbol;}
}
{\colortbl <-------------------------------------
위 처럼 되는데 그러면 98/XP에서 다 잘 보입니다. 다들 한번 고쳐보세요.(위에 헤더 부분중 {f1가 있는 라인까지만 바꿔야 겠더군요. f2, f3를 쓰는 글자들이 엉뚱한 글자로 변합니다.) 그런데 위의 헤더 내용을 잘 모르고 했기 때문에 Doxygen 옵션이나 ?StyleSheet를 쓰거나 하면 안될지도 모른다는 생각이 드네요.
98에서 계속 테스트 하다가 수정된것을 옆사람에게 부탁하다가 아예 노트PC를 빌려서 테스트 했습니다. 현재까지 된것은 98/XP/2000 입니다. 아마 Windows 계통은 다 될것 같습니다.
다들 한번 해보세요. 일단 Doxygen쪽에는 연락을 드렸습니다. 다음 버젼에서는 자동으로 되겠죠.
-- xman 골뱅이 samsung.com
좋은 정보 감사합니다. 다음 릴리즈때 꼭 반영이 되었으면합니다. 앞으로 더 좋은 Doxygen 한글 문서들을 볼 수 있겠군요. - Astromaker
doxygen에서 다음과 같이 소스를 수정해서 rtf에서 한글을 출력했습니다. 혹시 영어 되시는 분은 doxygen에 보내주시면 감사하겠습니다.
수정한 파일은 doxygen/src/translator_kr.h 입니다.
- 1202 line : return 1252 -> return 949;
- 1211 line : return 0 -> return 129;
사용한 doxygen version은 1.3.5-20040125입니다.
그리고 이건 다른 내용인데요.. 혹시 한글명이 포함된 경로안에서 doxygen이 입력파일을 읽을 수 없다는 error를 내고 작업을 하지 못하는 것에 대해서는 답을 알고 계신분 안계신가요? -- tdkim 골뱅이 unimo dot co dot kr.
혹시 한글명 포함된 경로안에서 doxygen이 제대로 실행되도록 수정하신분 없나요? 디렉토리명이 한글로 되있는 경우 실행이 안되니 답답...
분류: 분류 도구
| 제일 위로 |
| 최종 수정 일시: 11월 29일(2006년) 03:13 AM 편집 | 정보 | 차이 | 비슷한 페이지 DebugInfo |
| 유용한 페이지들: 분류 분류 | 자유로운 연습장 SandBox | 무작위 페이지들 RandomPages | 인기있는 페이지들 MostPopular |