[Scribus] Book length projects.
avox
avox
Thu Apr 26 19:52:33 CEST 2007
Torn?ci L?szl?-2 wrote:
>
>
> However, my biggest problem is not this. It is the lack of
> _proper_ automatic justification in Scribus. I can manually set
> intercharacter spacing and character widths in Scribus, however, Scribus
> doesn't touch these when doing automatic justification, it changes
> interword spacing only. This is so much inferior to changing all three
> variables. Hyphenation helps a lot, but the problem persists. Nowadays
> you see so many publications with horrible justification, that we all
> tend to forget what _good_ justification looks like.
>
Justification has been improved in 1.3.4cvs. I agree, before that it looked
awful.
It turns out that the biggest effect is gained when the linebreaking
algorithm
can choose between two possible linebreaks, one with stretching spaces and
one
with shrinking spaces. Second largest effect is hyphenation, third is
glyphextension.
For the records, this is what Scribus does now:
0) all spaces are scaled to percentage of "normal wordspacing"
1) while fitting text onto a line, Scribus keeps track of max length the
line can be
shrunk (using min wordspacing and min glyphextension) or stretched (using
only
max glyphextension)
2) when Scribus reaches the normal end of line, it checks for another
breakposition
which would be feasible if Scribus shrinks the line. If one is found,
Scribus compares
the distance of this breakposition to the wanted end of line with the
distance of the
last found breakposition to the end of line. It takes the breakposition
which is nearer
to the wanted end of line.
3) finally, Scribus stretches (justified lines only) or shrinks the line.
Scribus does not alter character spacing automatically since that would
affect the text
color. Instead the priorities are:
1. find a good break position
2. scale the glyphs horizontally within min glyphextension and max
glyphextension. Permitted
values are 90% - 110%, but it is recommended to use values around 98% -
102%.
3. shrink or stretch space to achieve the desired linelength. Currently min
wordspacing and
normal wordspacing multiply, ie. 70% min wordspacing and 70% normal
wordspacing results
in spaces having 49% of the width that is specified in the font.
The algorithm will be replaced by a paragraph layouter in Scribus 1.3.6, but
it already gives striking
improvements when compared to Scribus 1.3.3.
There have also been some small changes regarding hyphenation:
* when you insert a smart hyphen, the value for maximum consecutive hyphens
and minimal word length
are ignored.
* when you insert a smart hyphen into a word, Scribus will not add automatic
hyphenation points to the
same word.
* when you insert a manual line break in a justified paragraph, the
preceding line will be justified unless it
ends with a space. Previously Scribus would always set the line before a
manual linebreak ragged-right.
This means you now can force a word(s) to the next line without using
nonbreaking spaces.
* something which also works in 1.3.3: select a word and call
"extras->dehyphenate" in order to avoid
hyphenating just this word.
/Andreas
--
View this message in context: http://www.nabble.com/Book-length-projects.-tf3648763.html#a10205468
Sent from the Scribus mailing list archive at Nabble.com.
More information about the scribus
mailing list