Hi again, I have been reading all threads about the French typography in this mailing list, however the current solution is alas far for perfect. The command \setcharacterspacing[frenchpunctuation] was a good idea, but it only deals with spacing. French typography rules not only tells us that there should be a narrow, or a normal space before some punctuation marks like :, ;, , !, ?, « or », but also that theses spaces must be non breakable otherwise line breaking could occur just before a punctuation mark (and this is very bad). Take a look at the following example: \section{Production locale indigène ou production romaine importée?} With the current frenchpunctuation command, we got: Production locale indigène ou production romaine importée ? We should obtain: Production locale indigène ou production romaine importée ? Of course we could achieve this manually by adding the correct NNBSP like this: \section{Production locale indigène ou production romaine importée\,?} But I believe the whole point of TeX is to let the engine make all the typographic stuff. The best would be to get rid off \setcharacterspacing[frenchpunctuation] and adapt the frenchb Babel module from Daniel Flipo (source and explanation here http://daniel.flipo.free.fr/frenchb/ ), as a module (t-french modification), or when loading the language, but I really don't know how hard it would be since it handles a lot more than just punctuation marks. Regards, Bob.
On Thu, 21 May 2009, Robert-André Mauchin wrote:
With the current frenchpunctuation command, we got: Production locale indigène ou production romaine importée ?
Seems to be a bug. Some months ago, this space was unbreakable as it should.
The best would be to get rid off \setcharacterspacing[frenchpunctuation] and adapt the frenchb Babel module from Daniel Flipo (source and explanation here http://daniel.flipo.free.fr/frenchb/ ), as a module (t-french modification), or when loading the language, but I really don't know how hard it would be since it handles a lot more than just punctuation marks.
A good idea. This is work in progress: http://modules.contextgarden.net/t-french You can contribute. But I think, \setcharacterspacing[frenchpunctuation] should stay. The module t-french.tex should just integrate this command, that's all. Cheers, Peter -- Contact information: http://pmrb.free.fr/contact/
and adapt the frenchb Babel module from Daniel Flipo (source and explanation here http://daniel.flipo.free.fr/frenchb/ ), as a module (t-french modification)
Contact Sébastien Mengin (sebastien <at> edilibre.net) about that; he started working on it. Arthur
Robert-André Mauchin wrote:
The best would be to get rid off \setcharacterspacing[frenchpunctuation] and adapt the frenchb Babel module from Daniel Flipo (source and explanation here http://daniel.flipo.free.fr/frenchb/ ), as a module (t-french modification), or when loading the language, but I really don't know how hard it would be since it handles a lot more than just punctuation marks.
no, active chars for such things are no solution and will not be supported in mkiv; setcharacterspacing is the way to go (and if it breaks that should be fixed instead); language support shoul dbe in the kernel anyway Hans ----------------------------------------------------------------- Hans Hagen | PRAGMA ADE Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: 038 477 53 69 | fax: 038 477 53 74 | www.pragma-ade.com | www.pragma-pod.nl -----------------------------------------------------------------
Robert-André Mauchin wrote:
Hi again,
I have been reading all threads about the French typography in this mailing list, however the current solution is alas far for perfect. The command \setcharacterspacing[frenchpunctuation] was a good idea, but it only deals with spacing. French typography rules not only tells us that there should be a narrow, or a normal space before some punctuation marks like :, ;, , !, ?, « or », but also that theses spaces must be non breakable otherwise line breaking could occur just before a punctuation mark (and this is very bad).
Take a look at the following example: \section{Production locale indigène ou production romaine importée?}
\setcharacterspacing[frenchpunctuation] \hsize .1mm a? aa? aaa? aaaa? seems ok here so what version are you using? ----------------------------------------------------------------- Hans Hagen | PRAGMA ADE Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: 038 477 53 69 | fax: 038 477 53 74 | www.pragma-ade.com | www.pragma-pod.nl -----------------------------------------------------------------
Am 21.05.2009 um 18:29 schrieb Hans Hagen:
Robert-André Mauchin wrote:
Hi again, I have been reading all threads about the French typography in this mailing list, however the current solution is alas far for perfect. The command \setcharacterspacing[frenchpunctuation] was a good idea, but it only deals with spacing. French typography rules not only tells us that there should be a narrow, or a normal space before some punctuation marks like :, ;, , !, ?, « or », but also that theses spaces must be non breakable otherwise line breaking could occur just before a punctuation mark (and this is very bad). Take a look at the following example: \section{Production locale indigène ou production romaine importée?}
\setcharacterspacing[frenchpunctuation]
\hsize .1mm a? aa? aaa? aaaa?
seems ok here so what version are you using?
Not tested but shouldn't be the following two lines (type-spa.lua -> line 131/132) be written in the reverse order (penalty before skip). insert_node_after(head,start,make_glue_node(tex.scale(quad,right))) insert_node_after(head,start,make_penalty_node(10000)) Wolfgang
participants (5)
-
Arthur Reutenauer
-
Hans Hagen
-
Peter Münster
-
Robert-André Mauchin
-
Wolfgang Schuster