[XeTeX] "new-babel", was: Ancient Greek hyphenation

Nicholas Wilson nicholas.c.wilson at ntlworld.com
Tue Apr 24 20:13:05 CEST 2007


Hello everyone,

I’ve been following the discussion and just thought I might chip in.  
Basically, what would be really great would be a system that does all the 
things mentioned above (font change, hyphenation patterns change, strings 
change, change conventions—spacings mainly since guillemots vs quotation 
marks and things will probably be typed in in unicode).

The real problem seems to be the customisation aspect, so if there were 
adequate provision for this no-one could really complain if the defaults were 
fine.

If code along these lines worked, this would satisfy most of us I think:

\usepackage{newbabel}

\begin{languageoptions}{english}
\setmainfont{etc.}
\sethyphenation{if default is not appropriate}
\setspacings{french}%should you want to use these
%you could also alter the default translated strings
\end{languageoptions}

\begin{languageoptions}{french}
\setmainfont{something different}
%-->\setspacings{french} this would be the default already
\setstring{part}{Tome}%depending on how you have split the book...
\setlistsymbols{—}%these sorts of commands are less important and can 
be ‘retro-added’.
\end{languageoptions}

\uselanguage{english}
All the options are active.
\uselanguage{french}
Same here.

The language options should also allow you to change text direction (e.g. 
\setdirection{RL}).

If you really feel up to it, you could even allow a 
\newlanguage{englishvariantexample} command.

Somewhere in a text file, all the default commands for each language would be 
read into some temporary space, and the contents of each languageoptions 
environment would be pasted in at the bottom of its section, then the whole 
lot for each language run whenever a \uselanguage is encountered.

I suppose the real trick would be to actually construct nice high level 
\setstring and \setspacings type commands, and where would be a 
suitable ‘swap space’ for each language’s commands.  Maybe a file in each 
user’s TEXMF storing the current run?  I am really rather new to TeX, having 
just started using it a few weeks ago, and most of the LaTeX is not built in 
nice languages I know like C++!

The nice thing about just using a list of high-level commands for each 
language is that plenty of people with experience in the language can easily 
add their language to the supported list (easily assumes babel’s hyphenation 
pattern exist/can be reused).  I certainly couldn’t write rules for more than 
a few (english, french, maybe latin) and most people would have difficultly 
covering the range of languages in the LaTeX companion (from Welsh to 
Doric/Coine Greek to Chinese etc.).

Anyway, it looks like people seem to be decided, on the whole, on what needs 
to be done, so good luck all the genii who can make sense of code with far 
too many @s and \s for my liking.

Nicholas.


More information about the XeTeX mailing list