atom feed24 messages in org.freebsd.freebsd-docRe: Tidy and HTML tab spacing
FromSent OnAttachments
Warren BlockJan 18, 2012 2:49 pm 
Hiroki SatoJan 18, 2012 3:44 pm 
Warren BlockJan 18, 2012 5:13 pm 
Hiroki SatoJan 18, 2012 10:57 pm 
Warren BlockJan 20, 2012 12:05 pm.c
Gabor KovesdanJan 21, 2012 3:16 pm 
Warren BlockJan 21, 2012 4:29 pm 
Gabor KovesdanJan 23, 2012 9:07 am 
Warren BlockJan 23, 2012 11:38 am.py
Hiroki SatoJan 24, 2012 5:23 pm 
Gabor KovesdanJan 24, 2012 6:15 pm 
Hiroki SatoJan 24, 2012 6:18 pm 
Warren BlockJan 26, 2012 10:20 am 
Warren BlockJan 26, 2012 10:22 am.diff
Hiroki SatoJan 26, 2012 7:45 pm 
Warren BlockJan 26, 2012 9:46 pm.diff
Hiroki SatoJan 26, 2012 10:50 pm.diff
Hiroki SatoJan 27, 2012 5:24 am.diff
Warren BlockJan 27, 2012 7:53 am.diff
Hiroki SatoJan 27, 2012 8:58 am.diff
Warren BlockJan 27, 2012 11:43 am 
Hiroki SatoJan 28, 2012 12:57 am 
Warren BlockJan 28, 2012 2:47 pm 
Hiroki SatoJan 28, 2012 10:24 pm 
Subject:Re: Tidy and HTML tab spacing
From:Hiroki Sato (hr@FreeBSD.org)
Date:Jan 26, 2012 10:50:31 pm
List:org.freebsd.freebsd-doc
Attachments:

Warren Block <wbl@wonkity.com> wrote in <alpi@wonkity.com>:

wb> On Fri, 27 Jan 2012, Hiroki Sato wrote: wb> wb> > Changes look good to me, but it is better to use something like this wb> > wb> > REINPLACE_TABS_CMD?=${SED} -i -e 's/ /\&#09;/g' wb> > wb> > in doc.common.mk (with some comments explaining this is a hack to wb> > preserve literal tab characters) and use it in these three. wb> wb> Revised patch attached (for real, this time). Only lightly tested but wb> no problems noticed. wb> wb> On Windows XP, IE8 and Firefox 9 render the tabs in the new version wb> correctly. wb> wb> wb> There is another issue: PDFs. A PDF version with the patch above is wb> at http://www.wonkity.com/~wblock/porters/book.pdf.bz2 wb> wb> Actual tabs come out as a single space in the PDF. Compare that with wb> the unpatched tabs-to-spaces version at wb>
ftp://ftp.freebsd.org/pub/FreeBSD/doc/en_US.ISO8859-1/books/porters-handbook/book.pdf.bz2 wb> wb> ...which still isn't quite right. Tabs at the beginning of lines are wb> removed. (That file has not been rebuilt in quite a while, either.) wb> wb> I'm thinking the conversion will be different with DocBook XML, wb> possibly more correct. There are other problems with the current PDFs wb> that might also be cured. wb> wb> As far as the other formats, book.txt looks somewhat okay, but I've wb> honestly never looked at the .txt or .rtf formats before.

Ah, okay. It is due to the DSSSL processor. Jade and OpenJade do not implement expand-tabs: characteristics in paragraph flow object class.

I think the attached patch should fix the issue in the PDF format. Could you test it?

-- Hiroki

Index: freebsd-print.dsl =================================================================== RCS file: /home/ncvs/doc/share/sgml/freebsd-print.dsl,v retrieving revision 1.2 diff -d -u -I \$FreeBSD:.*\$ -I \$NetBSD:.*\$ -I \$OpenBSD:.*\$ -I
\$DragonFly:.*\$ -I \$Id:.*\$ -I \$Translation:.*\$ -I \$hrs:.*\$ -r1.2
freebsd-print.dsl --- freebsd-print.dsl 8 Dec 2010 06:25:59 -0000 1.2 +++ freebsd-print.dsl 27 Jan 2012 06:46:51 -0000 @@ -616,6 +616,56 @@ (with-mode section-title-mode (process-node-list subtitles)) ($section-info$ info)))) + + (define ($verbatim-display$ indent line-numbers?) + (let* ((width-in-chars (if (attribute-string (normalize "width")) + (string->number (attribute-string (normalize "width"))) + %verbatim-default-width%)) + (fsize (lambda () (if (or (attribute-string (normalize "width")) + (not %verbatim-size-factor%)) + (/ (/ (- %text-width% (inherited-start-indent)) + width-in-chars) + 0.7) + (* (inherited-font-size) + %verbatim-size-factor%)))) + (vspace-before (if (INBLOCK?) + 0pt + (if (INLIST?) + %para-sep% + %block-sep%))) + (vspace-after (if (INBLOCK?) + 0pt + (if (INLIST?) + 0pt + %block-sep%)))) + (make paragraph + use: verbatim-style + space-before: (if (and (string=? (gi (parent)) (normalize "entry")) + (absolute-first-sibling?)) + 0pt + vspace-before) + space-after: (if (and (string=? (gi (parent)) (normalize "entry")) + (absolute-last-sibling?)) + 0pt + vspace-after) + font-size: (fsize) + line-spacing: (* (fsize) %line-spacing-factor%) + start-indent: (if (INBLOCK?) + (inherited-start-indent) + (+ %block-start-indent% (inherited-start-indent))) + (if (or indent line-numbers?) + ($linespecific-line-by-line$ indent line-numbers?) + (let loop ((kl (children (current-node))) + (res (empty-sosofo))) + (if (node-list-empty? kl) + res + (loop + (node-list-rest kl) + (let ((c (node-list-first kl))) + (if (char=? (node-property 'char c + default: #\U-0000) #\U-0009) + (sosofo-append res (literal " ") (process-node-list c)) + (sosofo-append res (process-node-list c))))))))))) ]]>

<![ %output.print.pdf; [