22

I was reading the first answer to this question: Why should I use \usepackage[T1]{fontenc}?

[...] the default font encoding (OT1) of TeX is 7-bit and uses fonts that have 128 glyphs, and so do not include the accented characters as individual glyphs. So a letter ö is made by adding an accent to the existing 'o' glyph. This means, among other things, that words containing accented characters cannot be automatically hyphenated.

I can't see what is the relationship between the fact that a character like 'ö' has to be made from two different glyphs (the 'o' glyph and the accent glyph), and automatic hyphenation.

1
  • On a side note, I wasn't sure if I should ask this in a comment on the answer itself. In the end, I decided to make a complete new question. Jul 31, 2010 at 13:15

2 Answers 2

16

FAQ 1: "TeX’s algorithm for hyphenation gives up when it encounters an \accent command".

FAQ 2: "The candidates for hyphenation must be sequences of letters (or other single characters that TeX may be persuaded to think of as letters) — things such as TeX’s \accent primitive interrupt hyphenation."

3
  • This is a good argument in favour of using \usepackage[utf8]{inputenc} and then directly typing accented characters. This way, I believe, hyphenation can occur as expected...
    – Seamus
    Jan 20, 2011 at 17:00
  • 2
    @Seamus: I suspect that input encoding is irrelevant here. This is an argument for \usepackage[T1]{fontenc}; differences in input encoding disappear early on (tex.stackexchange.com/a/44699/1340), I believe too early for hyphenation, while font encoding makes a difference (tex.stackexchange.com/a/677/1340). Mar 16, 2013 at 19:29
  • Blaisorblade wins - the T1 font enc allows me to add hyphenation in accented words: \hyphenation{thermo-\'electriques} thanks boys! Matthieu
    – user33475
    Jul 10, 2013 at 13:35
3

I might not be correct, but hyphenation patterns are per-language. If you are typing up in English your hyphenation patterns will be for English language. These patters do not include accented characters since, English doesn't have those characters. So if you really want to hyphenate a word with accented character you need to tell babel to change to that language for one word, and change it back to English afterwords. This will also mean that you will have to typeset the accented character the way that particular language prefers it. Also if you really care about it there are many languages based on the Latin alphabet and if you start mixing for example English and Latvian words you can get the wrong hyphenation in the other language.

4
  • It's not clear why the difference between OT1 and T1 fonts matters here, since the input is the same. Jul 31, 2010 at 19:02
  • As far as I know hyphenation patterns for accented languages are only defined in T1, since it is the only encoding that can support accented characters. (this is a bit of gray area for me though)
    – Dima
    Jul 31, 2010 at 21:24
  • Ah... I was thinking that the font would matter only for the final result of what appears in the output, but evidently it also affects TeX's internal idea of what characters are present (when it decides to hyphenate). Jul 31, 2010 at 22:22
  • 3
    Language issues are irrelevant: even if you select the correct language, TeX will always fail to match hyphenation patterns containing accents if those are not a single glyphs in the current font. At least that's what happens with current implementations of TeX; at some point in the 80s, before TeX was made to support 8-bit input, there was something called MlTeX which I think was able to do trickeries to deal with 7-bit fonts with no accented characters, and you could hyphenate text using OT1. You still find hints of such legacy systems in some pattern files. Aug 1, 2010 at 15:23

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .