groff
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Groff] release on monday


From: Gaius Mulley
Subject: Re: [Groff] release on monday
Date: Sun, 12 Dec 99 01:07 GMT

Hi Werner,

here are a few patches some for some simple bugs. I'm working
my way through Lester's paper which exhibits problems. I've
fixed some image file position bugs but there are still a
number of outstanding bugs through. Notably:

  (i)   grohtml sometimes misses the end of an html table.
        Result is text which can appear twice.
  (ii)  equation numbers are not handled correctly.
  (iii) pic/eqn macros/definitions can make grohtml believe
        the rest of a page is an image. I think this can
        is best solved by making troff emit the special
        graphic-start/graphic-end sequence when it encounters
        .EQ/.EN  .PS/.PE  .TE/.TS  rather than the gtbl/gpic/geqn
        but this needs some more thought and heavy testing..

many thanks to everyone who has submitted bug reports,

Gaius


diff -r -c groff/grohtml/ groff.gaius/grohtml/
diff -r -c groff/grohtml/ChangeLog groff.gaius/grohtml/ChangeLog
*** groff/grohtml/ChangeLog     Sat Dec  4 08:55:25 1999
--- groff.gaius/grohtml/ChangeLog       Sat Dec 11 19:20:49 1999
***************
*** 1,28 ****
  1999-11-29  Gaius Mulley  <address@hidden>
! 
!       * design.ms: More updates; added some basic introductional
!       information.
! 
!       * html.cc: Fixed more bugs mainly in the table handling code.
!       Making the code terminate a table at the correct position.
!       Indented .IPs appear to work now.  Region ends also correctly
!       terminate tables.
! 
! 1999-11-16  Gaius Mulley  <address@hidden>
! 
!       * design.ms, grohtml.man: Updated.
! 
!       * html.cc, ordered_list.h: Fixed many bugs in the table handling
!       code.  Reverted the -t switch so that table handling code is used
!       by default and users must turn it off with -t.
! 
!       Manual page generation using `groff -Thtml -man' is much better
        due in large part to the table code and minor alterations in
        tmac.an.
  
  1999-10-30  Gaius Mulley  <address@hidden>
  
!       * implemented auto formatting and introduced html table
        code. Fixed several text handling bugs and grohtml will
        detect centered lines - an offshoot of the html table code.
  
--- 1,31 ----
+ 1999-12-11  Gaius Mulley  <address@hidden>
+       * fixed image position bugs. However three major bugs remain:
+       firstly grohtml sometimes miscalculates the end of an html table
+       resulting in text which appears twice. Secondly equation numbers
+       are not handled correctly. Thirdly equation macros and pic macros
+       can confuse grohtml. This can be seen by nested graphic-start's
+       I believe the best method to solve this is to detect .EQ .EN
+       .TS .TE .PS .PE sequences in troff and add the graphic-start
+       special character at this point.
+       
  1999-11-29  Gaius Mulley  <address@hidden>
!       * fixed more bugs mainly in the table handling code. Making
!       the code terminate a table at the correct position. Indented
!       .IPs appear to work now. Region ends also correctly terminate
!       tables.
! 
! 1999-11-05  Gaius Mulley  <address@hidden>
! 
!       * fixed many bugs in the table handling code. Reverted the -t
!       switch so that table handling code is used by default and
!       users must turn it off with -t.
!       Manual page generation using groff -Thtml -man is much better
        due in large part to the table code and minor alterations in
        tmac.an.
  
  1999-10-30  Gaius Mulley  <address@hidden>
  
!         * implemented auto formatting and introduced html table
        code. Fixed several text handling bugs and grohtml will
        detect centered lines - an offshoot of the html table code.
  
diff -r -c groff/grohtml/grohtml.man groff.gaius/grohtml/grohtml.man
*** groff/grohtml/grohtml.man   Thu Dec  2 20:39:53 1999
--- groff.gaius/grohtml/grohtml.man     Sun Dec 12 01:54:37 1999
***************
*** 132,138 ****
  .BR B ,
  and
  .B BI
! mounted at font positions 1 to 4.
  .SH DEPENDENCIES
  grohtml is dependent upon grops and gs.
  If grohtml has been configured to generate gif files then it is
--- 132,140 ----
  .BR B ,
  and
  .B BI
! mounted at font positions 1 to 4. It is advisable to invoke
! groff with the -mhtml macro set, which turns off; headers, footers,
! hyphernation and it will right justify text.
  .SH DEPENDENCIES
  grohtml is dependent upon grops and gs.
  If grohtml has been configured to generate gif files then it is
***************
*** 142,148 ****
  Images are generated whenever a table, picture, equation or line is
  encountered.
  .SH BUGS
! This is still fairly alpha, nevertheless I find it useful.
  .SH "SEE ALSO"
  .BR afmtodit (@MAN1EXT@),
  .BR groff (@MAN1EXT@),
--- 144,155 ----
  Images are generated whenever a table, picture, equation or line is
  encountered.
  .SH BUGS
! This is still very alpha.
! At least three major bugs remain:
! firstly grohtml sometimes miscalculates the end of an html table
! resulting in text which appears twice. Secondly equation numbers
! are not handled correctly. Thirdly equation macros and pic macros
! can confuse grohtml.
  .SH "SEE ALSO"
  .BR afmtodit (@MAN1EXT@),
  .BR groff (@MAN1EXT@),
diff -r -c groff/grohtml/html.cc groff.gaius/grohtml/html.cc
*** groff/grohtml/html.cc       Sat Dec  4 08:55:25 1999
--- groff.gaius/grohtml/html.cc Sun Dec 12 01:26:18 1999
***************
*** 2215,2220 ****
--- 2215,2225 ----
    }
  
    do {
+ #if 0
+     if ((t != 0) && (strcmp(t->text_string, "(1.a)") == 0)) {
+       stop();
+     }
+ #endif
      if ((t == 0) && (g != 0)) {
        if (is_within_region(g)) {
        something = TRUE;
***************
*** 3996,4002 ****
  {
    int current_vpos=g->minv;
  
-   para_type = center_alignment;
    move_vertical(g, center_alignment);
  
    header.written_header = FALSE;
--- 4001,4006 ----
***************
*** 4097,4103 ****
    int  temp_vpos;
  
    if (auto_on) {
!     if (more_than_line_break(output_vpos, g->minv, height)) {
        end_paragraph();
        begin_paragraph(p);
      } else {
--- 4101,4107 ----
    int  temp_vpos;
  
    if (auto_on) {
!     if ((more_than_line_break(output_vpos, g->minv, height)) || (p != 
para_type)) {
        end_paragraph();
        begin_paragraph(p);
      } else {
***************
*** 4258,4273 ****
        html_newline();
        temp_vpos += height;
        }
!       if (auto_on && (is_in_middle(start_region_hpos, end_region_hpos))) {
!       is_center = TRUE;
!       } else {
!       if (start_region_hpos > left_margin_indent) {
!         html.put_string("<span style=\" text-indent: ");
!         
html.put_float(((double)(start_region_hpos-left_margin_indent)/((double)r)));
!         html.put_string("in;\"></span>");
!       }
!       }
!     } else {
        // on the same line
        if (start_region_hpos > output_hpos) {
        html.put_string("<span style=\" text-indent: ");
--- 4262,4280 ----
        html_newline();
        temp_vpos += height;
        }
!     }
!   }
!   if (auto_on && (is_in_middle(start_region_hpos, end_region_hpos))) {
!     is_center = TRUE;
!   } else {
!     if (start_region_hpos > left_margin_indent) {
!       html.put_string("<span style=\" text-indent: ");
!       
html.put_float(((double)(start_region_hpos-left_margin_indent)/((double)r)));
!       html.put_string("in;\"></span>");
!     }
!   }
! #if 0
!    } else {
        // on the same line
        if (start_region_hpos > output_hpos) {
        html.put_string("<span style=\" text-indent: ");
***************
*** 4276,4281 ****
--- 4283,4289 ----
        }
      }
    }
+ #endif
    output_vpos = start_region_vpos;
    output_hpos = start_region_hpos;
    return( is_center );


reply via email to

[Prev in Thread] Current Thread [Next in Thread]