Date: Tue, 13 May 1997 12:19:14 +0200 (MET DST) From: "Martin J. Duerst" <firstname.lastname@example.org> To: Otto Stolz <Otto.Stolz@uni-konstanz.de> cc: Multiple Recipients of <unicode@Unicode.ORG>, www-html <email@example.com>, Subject: Re: Soft hyphen In-Reply-To: <9705130811.AA29470@Unicode.ORG> Message-ID: <Pine.SUN.3.96.970513120716.245c-100000@enoshima> On Tue, 13 May 1997, Otto Stolz wrote: > On May 12, 10:25, Mark Davis <firstname.lastname@example.org> wrote: > > You can insert a zero width no-break space, if you want to prevent a > > word-break at a particular point. > > This is not feasable. You cannot anticipate which weird points an > arbitrary browser (or some other rendering sogtware) might deem legal > hyphenating points. To be on the safe side, you would have to insert > those Z-WNBSPs between any two adjacent letters, thus almost doubling > the length of your text. > > Hence, the only feasable solution is: > - for the sender: mark all preferred hyphenating points, > - for any browsing, or rendering, software: do not hyphenate within > a word but at hyphenating points marked so by the sender. There are other possibilities. For example, you can language-tag your text (the discussion is, at least originally, about HTML) and hope for the receiver to know about hyphenation. You then only insert a SHY in places where the receiver can't possibly know (e.g. re-cord vs. rec-ord, word compositions as they occur in German and Nordic languages and so on). You can also add hyphenation points in otherwise very long words to help receivers that don't have a hyphenation engine for the respective language. The benefit of hyphenation points increases rather quickly with the length of a word. A usual convention for marking a word that should not be hyphenated is to prefix a SHY. > To mark the points of possible line-breaks: > - for languages that do hyphenation, SHY (U+00AD) seems the only > character suitable to mark hyphenation points (in spite of the > obfuscationg wording in ISO 8859-1); Indeed. The conclusion from the official description seems to be that a SHY was only intended to be inserted at the end of the line when the line break actually occurs. Because it was never supposed to appear inside a line, using it to denote a potential word break if it appears inside a line is only an extension of its use, and not directly against that wording in ISO 8859-1. And it's of corse the most reasonable and usable extension. > - for languages that don't use spaces as word-boundaries, a Z-WSp > (U+200B) seems suitable to mark the word boundaries. > Opinions? Yes. But you only need it for languages that indeed need to know word boundaries to do line breaking (such as Thai). You don't need it in cases such as Chinese and Japanese, where you can break the line between virtually all characters, and the exceptions can easily be determined. Regards, Martin.