2011/1/16 Takayuki YATO (ZR) wrote:
> Hello all,
>
> I investigated which hyphenation pattern Babel would use for each
> language option listed in babel.sty, on the artificial settings
> where every pattern name (including synonyms) listed in language.XXX
> has a distinct \language value (ie. if 'bahasa' and 'indonesian'
> were different patterns then which one would 'bahasa' langauge
> option choose?). I did the test for both language.ptx and
> language.dat lists.
> # NB: The set of "all the hyphenation pattern names", "all the valid
> # language option names of Babel" and "all the names of ldf files
> # provided by Babel" are all-distinct.
>
> The languages for which the results differ is as follows (the full
> list is attached)
>
> Language          language.ptx      language.dat
> australian        australian        british
> canadian          canadian          american
> newzealand        newzealand        british

I see now (from babel):

\LdfInit\CurrentOption{date\CurrentOption}
\ifx\l@english\@undefined
  \ifx\l@UKenglish\@undefined
    \ifx\l@british\@undefined
      \ifx\l@american\@undefined
        \ifx\l@USenglish\@undefined
          \ifx\l@canadian\@undefined
            \ifx\l@australian\@undefined
              \ifx\l@newzealand\@undefined
                \@nopatterns{English}
                \adddialect\l@english0
              \else
                \let\l@english\l@newzealand
              \fi
            \else
              \let\l@english\l@australian
            \fi
          \else
            \let\l@english\l@canadian
          \fi
        \else
          \let\l@english\l@USenglish
        \fi
      \else
        \let\l@english\l@american
      \fi
    \else
      \let\l@english\l@british
    \fi
  \else
    \let\l@english\l@UKenglish
  \fi
\fi

No difference in functionality indeed since there are no special
patterns for Australian. To me this seems like the author of babel was
thinking of: "if someone ever comes up with special Australian
patterns, they will work out-of-the-box".

> As for the languages but last two, the two pattern names
> resulted from the two settings are synonymous in language.ptx.
> As is already argued in this ML, the patttern for language
> "samin" is in fact absent in either setting. The pattern
> "kurmanji" is a real addition and simply favorable.

> kurmanji          english           kurmanji

Kurmanji patterns are new (2009), so I can understand why they are not
present in language.ptx.

> samin             samin             english

However the old setting in pTeX was to use
    samin    sahyph-ptex.tex
which is the equivalent set of patterns as hyph-sv.tex (Swedish). I
hardly know anything about Samin (North Sami), so I have no idea what
would be preferrable.

> magyar            magyar            hungarian

Oh, I see it now. This one was overlooked by me. For babel both would work:

\ifx\l@magyar\@undefined
  \ifx\l@hungarian\@undefined
    \@nopatterns{Magyar}
    \adddialect\l@magyar0
  \else
    \let\l@magyar\l@hungarian
  \fi
\fi

We can make a synonym hungarian=magyar if needed. (The reason against
doing it is that creating a global synonym in TeX Live will load the
largest available patterns twice in eTeX, while it won't really bring
any advantages. I can easily add it back to language.ptx, but that
won't make any difference at all.)

> bahasa            bahasa            indonesian
> indonesian        bahasa            indonesian
> indon             bahasa            indonesian
> bahasai           bahasa            indonesian
> malay             bahasa            indonesian
> meyalu            bahasa            indonesian
> bahasam           bahasa            indonesian

>From what I understand there any difference if we leave just
indonesian? (We can create indonesian=bahasa synonym if needed.)
Anyway, the old "bahasa" was just pointing to Indonesian patterns, so
this change doesn't make any difference at all, I guess.

> As a consequence, there will be nothing bad happening,
> even if a user is using weird language options names
> such as "canadian".

You are right.

A short summary:
- I made some changes in language.ptx to accomodate the changes I made
it TeX Live and hyph-utf8. Please feel free to fix the file in any way
you want (or ask me to fix it).
- List of differences with previous version of language.ptx: some new
patterns added, some patterns updated, samin has been removed (it
pointed to Swedish patterns before), I temporary commented out Greek
(+some different synonyms without any functional difference).
- Let's discuss Greek in the other thread.
- I have another question about dated German patterns for another thread.

Thanks a lot for the very helpful insight,
    Mojca

Reply via email to