[XeTeX] Ancient Greek hyphenation

Bruno Voisin bvoisin at mac.com
Sat Apr 21 00:39:36 CEST 2007


Le 20 avr. 07 à 20:21, Alexej Kryukov a écrit :

> That's why, I think, instead of creating a completely new xbabel the
> community should focus on improving existing Babel modules by removing
> some features inherited from very old times which now bring  
> unnecessary
> complexity into typesetting documents not only with XeTeX, but even  
> with
> standard (pdf)latex. Just one example: the French language module
> currently assumes that French guillemets are unavailable in the  
> default
> Latin encoding and attempts to take them from very old Cyrillic fonts,
> thus making impossible mixing, say, French and Russian in the same
> document... But, of course, this is a completely different story.

To provide a more extreme point of view:

Probably for historical reasons, babel couples together for each  
language several functions which should be kept independent:

- Translating LaTeX's fixed strings such as "chapter", "section",  
"table of contents", and so forth.

- Selecting the appropriate hyphenation pattern.

- Adapting LaTeX's typographic conventions to the supposed norm of  
each language. For example, in French putting a space before "!",  
"?", ":", ";", making the space after "." at the end of a sentence a  
normal space, making the space between points in an ellipsis larger  
than in English to get "..." and not "…", and so forth. Similarly,  
also in French using an en-dash before each item in an itemized list,  
whatever the level of the list (list, list within list, list within  
list within list, ...), suppressing inter-item spacing, and so forth.

- Selecting a specific font, when LaTeX's Roman fonts aren't  
appropriate for a given language.

It was probably appropriate and useful to provide all these functions  
together at the time babel was the first and only available system  
for tweaking LaTeX's American-English-oriented output to other  
languages. But now, with many more fonts available, a number of which  
can now take care of the "intelligent" tasks once devoted to LaTeX,  
and with LaTeX adopted in many more countries and for many more  
alphabets, I think it is time to make babel more flexible, to  
separate the above functions or at least to provide the user a way to  
select only some of them.

For example, again for French, while I think most people agree about  
spacing around "?", "!", ";", ":", ".", there is much less consensus  
about the way lists are formatted, or about the supposed norm  
(promoted by babel) according to which family names (i.e. surnames)  
should be typed in small caps. Personally I consider these supposed  
norms just downright ugly.

Or, as you just said, the French module does take some initiatives  
regarding fonts: you mention the guillemets, but there is also the  
ellipsis. Babel insists on building \dots from a series of dots  
separated by kern, even if there are fonts like Lucida which do  
include an ellipsis natively.

In particular, it would be nice to have a switch in babel allowing to  
activate translation of fixed strings and selection of hyphenation  
pattern, but none of the other initiatives babel is taking. For  
French babel does include switches for some of its initiatives (like  
\noextrasfrench, \NoAutoSpaceBeforeFDP, \FrenchListSpacingFalse), but  
they do not inhibit all of these initiatives.

Whether all the above can be achieved based on the current babel, I  
don't know. I tend to think it can't, that babel's original design is  
inherently flawed with modern TeX systems (especially XeTeX), and  
that starting over from scratch is probably the better way forward. I  
hope I'm wrong.

Bruno Voisin


More information about the XeTeX mailing list