# [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
\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.