r3wp [groups: 83 posts: 189283]
  • Home
  • Script library
  • AltME Archive
  • Mailing list
  • Articles Index
  • Site search
 

World: r3wp

[PDF-Maker] discuss Gabriele's pdf-maker

Gabriele
6-Sep-2006
[306]
btw, new update fixing a bug
Anton
6-Sep-2006
[307]
I think tabs will be good when importing text from a script's console 
output, for instance.
Graham
6-Sep-2006
[308]
tabs are good.
Anton
6-Sep-2006
[309]
I'd really like to do the docs, but I'm so overloaded.
Gabriele
6-Sep-2006
[310x2]
detab the script source first ;)
i know that tabs are good - i wonder if they are needed.
Anton
6-Sep-2006
[312]
They're good because they're needed aren't they ? ;-)
yeksoon
6-Sep-2006
[313]
I have not read through the whole thread.


But, there is mention of space and page break. What is the issue 
now?

Is it because of 'unexpected' page break?
Gabriele
6-Sep-2006
[314x2]
anton, if you can convince me they are needed (i.e. there are things 
that are useful to do that can't be done without them) :)
otherwise, i'll end up with an infinite list of things to add.
Anton
6-Sep-2006
[316x2]
How did you implement the leading indent at the beginning of paragraphs 
? Is that not in reality a kind of tab ?
Excuse me if I sound a bit disconnected. I do not clearly envisage 
yet how it should be used.
Gabriele
7-Sep-2006
[318]
that is a fixed space, not a tab.
Anton
7-Sep-2006
[319x2]
Mmm.. I can't think of any particular need for tabs off the top of 
my head, but I remember a situation a long time ago where I was editing 
text, tabs were not implemented and I missed them. I'm sorry I can't 
be more specific than that at the moment.
Just tabs are a quick and handy alternative to setting up a table.
Gabriele
11-Sep-2006
[321x2]
does anyone think there are good reasons to support variable widths 
when breaking a table between pages?
this would also mean that the table's columns need to have a different 
width across pages. ie column 1 in page 1 has a different width from 
column 1 in page 2.
Graham
11-Sep-2006
[323]
Nope.
Anton
11-Sep-2006
[324]
I think that could be useful. As tables get longer (and need to be 
broken across pages) it becomes more probable that it has data with 
a very wide range of widths. In that case, reproportioning the table 
for each page makes sense. But perhaps when crowding between cells 
occurs because of very wide entries, simply wrapping text within 
cells would allow the column width to remain the same for the whole 
table.

On the whole, I would prefer to have consistent column widths, but 
there might be cases where that's really annoying. I would probably 
put that as a lower priority feature for now.
Gabriele
11-Sep-2006
[325]
how would you expect vertical alignment to be handled when a cell 
gets split into two for page breaking?
Anton
11-Sep-2006
[326x3]
Mmm.... that depends on the whim of the user. Splitting some types 
of data might be misleading.
Would you indicate that the table is split for a page break (by not 
drawing the bottom line of the table on the first page, and not drawing 
the top line on the second page etc.)
?
Gabriele
11-Sep-2006
[329x2]
that's a different issue.
a data table like the one you're thinking about most likely has one 
line of text for each row. that would be split at row boundaries 
only.
Anton
11-Sep-2006
[331]
Yes, but I think it's connected because it allows one to be more 
aware that the cell might have been split.
Gabriele
11-Sep-2006
[332x2]
i was thinking initially to allow two modes of splitting cells: cut 
and split.
cut would work like the cell was just cut with scissors.
Anton
11-Sep-2006
[334]
I think it's safer to keep each row together with itself by default.
Gabriele
11-Sep-2006
[335x2]
split would instead create two cells from the original one.
however, there is a race condition with cut. so i'm going to always 
do split.
Anton
11-Sep-2006
[337x2]
What's the purpose of split ?

Also, cut and split - it's difficult to distinguish the difference. 
Need better words.
Really ? So it's easier to do split ?
Gabriele
11-Sep-2006
[339]
cut would not cut it at a random place. the difference is borders 
and margins (and padding)
Anton
11-Sep-2006
[340]
So - split is your preferred method over cut, but what about the 
option to move the entire row to the next page if it doesn't quite 
fit on this one ?
Gabriele
11-Sep-2006
[341x2]
that is a matter of how big it is the row.
if it's half a page it's probably much better to split it in two
Anton
11-Sep-2006
[343]
How to control all these variables !!! It's a big job, isn't it ?
Gabriele
11-Sep-2006
[344x4]
notice that tables can be used for many things, for example to layout 
a numbered list, with the number in the first cell and the text in 
the second
yes it is. :)
the total fit algorithm can do most of this. the problem are the 
"minor" details like vertical alignment.
basically i must find all possible breakpoints in each row. the problem 
is what to do with vertical alignment: if you have a cell that should 
be aligned in the middle, and there's a bigger cell that gets split, 
how does the smaller one get aligned?
Anton
11-Sep-2006
[348x4]
As soon as you said that, I thought of a default threshold cell size 
which decides between splitting and moving to next page. And then 
this can be overridden by the user, who can move the threshold between 
0% and 100%,  0% indicating always split, and 100% indicating always 
move.
That's not a nice problem. :-(  I think if the user has some control 
of the variables (eg. maybe threshold), then they can influence what 
happens there.
Perhaps certain cells can be set to "never split" ?
(or certain rows)
Gabriele
11-Sep-2006
[352]
that is possible using penalties.
Anton
11-Sep-2006
[353]
I think that might be the simple answer, actually. It is only when 
the software makes a blunder with intelligent splitting that it becomes 
a problem. If the user can force a row to always remain together 
that would solve most of those problems.
Gabriele
11-Sep-2006
[354x2]
a paragraph of two lines already has a big penalty for being split. 
so generally it is kept together.
basically you're saying: either you allow vertical alignment, or 
cell splitting.