Index: src/config.xml
===================================================================
RCS file: /cygdrive/d/cvs_doxygen/doxygen/doxygen/src/config.xml,v
retrieving revision 1.2
diff -u -r1.2 config.xml
--- src/config.xml	22 May 2012 19:49:45 -0000	1.2
+++ src/config.xml	27 May 2012 10:09:36 -0000
@@ -763,7 +763,7 @@
     <option type='bool' id='STRIP_CODE_COMMENTS' docs='
 Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct 
 doxygen to hide any special comment blocks from generated source code 
-fragments. Normal C and C++ comments will always remain visible. 
+fragments. Normal C, C++ and Fortran comments will always remain visible. 
 ' defval='1'/>
     <option type='bool' id='REFERENCED_BY_RELATION' docs='
 If the REFERENCED_BY_RELATION tag is set to YES 
Index: src/fortrancode.l
===================================================================
RCS file: /cygdrive/d/cvs_doxygen/doxygen/doxygen/src/fortrancode.l,v
retrieving revision 1.1
diff -u -r1.1 fortrancode.l
--- src/fortrancode.l	22 May 2012 19:36:41 -0000	1.1
+++ src/fortrancode.l	27 May 2012 18:48:13 -0000
@@ -270,6 +270,7 @@
   char *p=text,*sp=p;
   char c;
   bool done=FALSE;
+  const char *  tmp_currentFontClass = g_currentFontClass;
   while (!done)
   {
     sp=p;
@@ -284,6 +285,10 @@
       {
 	startCodeLine();
       }
+      if (tmp_currentFontClass)
+      {
+        startFontClass(tmp_currentFontClass);
+      }
     }
     else
     {
@@ -923,7 +928,12 @@
                                         }
 
  /*-------- comments ---------------------------------------------------*/
-<Start>\n?{BS}"!>"                      { // start comment line or comment block
+<Start>\n?{BS}"!>"|"!<"                 { // start comment line or comment block
+                                          yy_push_state(YY_START);
+					  BEGIN(DocBlock);
+                                          docBlock=yytext;
+					}
+<Declaration>{BS}"!<"                   { // start comment line or comment block
                                           yy_push_state(YY_START);
 					  BEGIN(DocBlock);
                                           docBlock=yytext;
@@ -932,7 +942,7 @@
 <DocBlock>.*    			{ // contents of current comment line
                                           docBlock+=yytext;
   					}
-<DocBlock>"\n"{BS}("!>"|"!"+)		{ //| comment block (next line is also comment line)
+<DocBlock>"\n"{BS}("!>"|"!<"|"!!")	{ //| comment block (next line is also comment line)
 					  docBlock+=yytext; 
    					}
 <DocBlock>"\n"        			{ // comment block ends at the end of this line
@@ -956,7 +966,7 @@
                                          yy_pop_state();
 					}
 
-<*>"!"[^>\n].*|"!"$ 			{ // normal comment
+<*>"!"[^><\n].*|"!"$ 			{ // normal comment
 					  if(YY_START == String) REJECT; // ignore in strings
   					  startFontClass("comment");
   					  codifyLines(yytext);
