https://de.wikipedia.org/w/index.php?action=history&feed=atom&title=Unicode-Zeilenumbruch-Algorithmus Unicode-Zeilenumbruch-Algorithmus - Versionsgeschichte 2025-05-25T11:11:31Z Versionsgeschichte dieser Seite in Wikipedia MediaWiki 1.45.0-wmf.2 https://de.wikipedia.org/w/index.php?title=Unicode-Zeilenumbruch-Algorithmus&diff=197586097&oldid=prev Karl432: Bedingter Trennstrich: Zeichenbezeichnung gemäß DIN 5008, Linkfix nach Lemmaverschiebung 2020-03-08T22:30:42Z <p>Bedingter Trennstrich: Zeichenbezeichnung gemäß <a href="/wiki/DIN_5008" title="DIN 5008">DIN 5008</a>, Linkfix nach Lemmaverschiebung</p> <table style="background-color: #fff; color: #202122;" data-mw="interface"> <col class="diff-marker" /> <col class="diff-content" /> <col class="diff-marker" /> <col class="diff-content" /> <tr class="diff-title" lang="de"> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Nächstältere Version</td> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Version vom 9. März 2020, 00:30 Uhr</td> </tr><tr> <td colspan="2" class="diff-lineno">Zeile 7:</td> <td colspan="2" class="diff-lineno">Zeile 7:</td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Der Algorithmus führt nicht den eigentlichen Zeilenumbruch durch, sondern legt nur die Stellen fest, an denen ein Umbruch möglich ist, und lässt offen, wie aus diesen Informationen dann der tatsächliche Umbruch vorgenommen wird. Es werden allerdings zwei mögliche Algorithmen zur Auswahl der Umbruchstellen genannt: Zum einen das einfache Vorgehen, immer die spätestmögliche Stelle zu wählen, zum anderen das in [[TeX]] implementierte komplexe Verfahren, das die Umbrüche global zu optimieren versucht. Auch an den Umbruch anschließende Notwendigkeiten wie der Ausgleich von Wortabständen im [[Blocksatz]] werden erwähnt, sind aber nicht Bestandteil des Algorithmus.</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Der Algorithmus führt nicht den eigentlichen Zeilenumbruch durch, sondern legt nur die Stellen fest, an denen ein Umbruch möglich ist, und lässt offen, wie aus diesen Informationen dann der tatsächliche Umbruch vorgenommen wird. Es werden allerdings zwei mögliche Algorithmen zur Auswahl der Umbruchstellen genannt: Zum einen das einfache Vorgehen, immer die spätestmögliche Stelle zu wählen, zum anderen das in [[TeX]] implementierte komplexe Verfahren, das die Umbrüche global zu optimieren versucht. Auch an den Umbruch anschließende Notwendigkeiten wie der Ausgleich von Wortabständen im [[Blocksatz]] werden erwähnt, sind aber nicht Bestandteil des Algorithmus.</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>Ebenfalls außerhalb des Anwendungsbereichs liegt die [[automatische Silbentrennung]]. Diese kann aber einfach dadurch vorgenommen werden, dass vor Anwendung des Algorithmus an den entsprechenden Stellen automatisch [[<del style="font-weight: bold; text-decoration: none;">Weiches</del> <del style="font-weight: bold; text-decoration: none;">Trennzeichen</del>|<del style="font-weight: bold; text-decoration: none;">weiche</del> <del style="font-weight: bold; text-decoration: none;">Trennzeichen</del>]] eingefügt werden.</div></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>Ebenfalls außerhalb des Anwendungsbereichs liegt die [[automatische Silbentrennung]]. Diese kann aber einfach dadurch vorgenommen werden, dass vor Anwendung des Algorithmus an den entsprechenden Stellen automatisch [[<ins style="font-weight: bold; text-decoration: none;">Bedingter</ins> <ins style="font-weight: bold; text-decoration: none;">Trennstrich</ins>|<ins style="font-weight: bold; text-decoration: none;">bedingte</ins> <ins style="font-weight: bold; text-decoration: none;">Trennstrich</ins>]]<ins style="font-weight: bold; text-decoration: none;">e</ins> eingefügt werden.</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Das Standardverhalten des Algorithmus ist vor allem für westliche Schriftsysteme ausgelegt, lässt sich jedoch durch eine angepasste Konfiguration beeinflussen. Für einige Schriften, etwa das [[Thailändische Schrift|Thailändische]], die keine Leerzeichen verwenden und einen Umbruch bei Sprachsilben erfordern, lässt sich der Algorithmus nicht einsetzen.&lt;ref&gt;[http://www.unicode.org/reports/tr14/tr14-28.html#BreakOpportunities Determining Line Break Opportunities], Unicode Line Breaking Algorithm&lt;/ref&gt;</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Das Standardverhalten des Algorithmus ist vor allem für westliche Schriftsysteme ausgelegt, lässt sich jedoch durch eine angepasste Konfiguration beeinflussen. Für einige Schriften, etwa das [[Thailändische Schrift|Thailändische]], die keine Leerzeichen verwenden und einen Umbruch bei Sprachsilben erfordern, lässt sich der Algorithmus nicht einsetzen.&lt;ref&gt;[http://www.unicode.org/reports/tr14/tr14-28.html#BreakOpportunities Determining Line Break Opportunities], Unicode Line Breaking Algorithm&lt;/ref&gt;</div></td> </tr> </table> Karl432 https://de.wikipedia.org/w/index.php?title=Unicode-Zeilenumbruch-Algorithmus&diff=187589316&oldid=prev Wrev: /* Implementierung */ Komma ergänzt. 2019-04-15T12:35:34Z <p><span class="autocomment">Implementierung: </span> Komma ergänzt.</p> <table style="background-color: #fff; color: #202122;" data-mw="interface"> <col class="diff-marker" /> <col class="diff-content" /> <col class="diff-marker" /> <col class="diff-content" /> <tr class="diff-title" lang="de"> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Nächstältere Version</td> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Version vom 15. April 2019, 14:35 Uhr</td> </tr><tr> <td colspan="2" class="diff-lineno">Zeile 29:</td> <td colspan="2" class="diff-lineno">Zeile 29:</td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>=== Implementierung ===</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>=== Implementierung ===</div></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>Der Algorithmus gibt keine spezielle [[Implementierung]] vor, solange das Ergebnis korrekt ist. Um dies zu überprüfen stehen umfangreiche Testdateien zur Verfügung.&lt;ref&gt;[http://www.unicode.org/Public/UNIDATA/auxiliary/LineBreakTest.txt LineBreakTest.txt]&lt;/ref&gt; Da die meisten der Regeln nur die beiden Zeichen vor und nach dem möglichen Umbruch betrachten, nicht aber die weitere Umgebung, bieten sich Implementierungen an, die im Wesentlichen in einer [[Lookup-Tabelle|Tabelle]] nachschlagen, ob an einer Stelle ein Umbruch erlaubt ist oder nicht und nur für die komplexeren Regeln den umgebenden Kontext untersuchen.</div></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>Der Algorithmus gibt keine spezielle [[Implementierung]] vor, solange das Ergebnis korrekt ist. Um dies zu überprüfen<ins style="font-weight: bold; text-decoration: none;">,</ins> stehen umfangreiche Testdateien zur Verfügung.&lt;ref&gt;[http://www.unicode.org/Public/UNIDATA/auxiliary/LineBreakTest.txt LineBreakTest.txt]&lt;/ref&gt; Da die meisten der Regeln nur die beiden Zeichen vor und nach dem möglichen Umbruch betrachten, nicht aber die weitere Umgebung, bieten sich Implementierungen an, die im Wesentlichen in einer [[Lookup-Tabelle|Tabelle]] nachschlagen, ob an einer Stelle ein Umbruch erlaubt ist oder nicht und nur für die komplexeren Regeln den umgebenden Kontext untersuchen.</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Neben der Implementierung des [[International Components for Unicode|ICU]]-Projekts, die auch einige sprachspezifische Anpassungen beinhaltet,&lt;ref&gt;[http://userguide.icu-project.org/boundaryanalysis Boundary Analysis] im ICU User Guide, abgerufen am 20. September 2012&lt;/ref&gt; existieren auch viele weitere, etwa als [[Perl-Modul]].&lt;ref&gt;[http://metacpan.org/module/Unicode::LineBreak Unicode::LineBreak] im [[CPAN]]&lt;/ref&gt;</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Neben der Implementierung des [[International Components for Unicode|ICU]]-Projekts, die auch einige sprachspezifische Anpassungen beinhaltet,&lt;ref&gt;[http://userguide.icu-project.org/boundaryanalysis Boundary Analysis] im ICU User Guide, abgerufen am 20. September 2012&lt;/ref&gt; existieren auch viele weitere, etwa als [[Perl-Modul]].&lt;ref&gt;[http://metacpan.org/module/Unicode::LineBreak Unicode::LineBreak] im [[CPAN]]&lt;/ref&gt;</div></td> </tr> </table> Wrev https://de.wikipedia.org/w/index.php?title=Unicode-Zeilenumbruch-Algorithmus&diff=178628297&oldid=prev Steue am 25. Juni 2018 um 17:52 Uhr 2018-06-25T17:52:12Z <p></p> <table style="background-color: #fff; color: #202122;" data-mw="interface"> <col class="diff-marker" /> <col class="diff-content" /> <col class="diff-marker" /> <col class="diff-content" /> <tr class="diff-title" lang="de"> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Nächstältere Version</td> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Version vom 25. Juni 2018, 19:52 Uhr</td> </tr><tr> <td colspan="2" class="diff-lineno">Zeile 1:</td> <td colspan="2" class="diff-lineno">Zeile 1:</td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>Der '''Unicode-Zeilenumbruch-Algorithmus''' ({{EnS|''Unicode Line Breaking Algorithm''}}) ist der vom [[Unicode-Konsortium]] veröffentlichte <del style="font-weight: bold; text-decoration: none;">[[</del>Algorithmus<del style="font-weight: bold; text-decoration: none;">]]</del> für den [[Automatischer Zeilenumbruch|Zeilenumbruch]]. <del style="font-weight: bold; text-decoration: none;">Genauer</del> entscheidet<del style="font-weight: bold; text-decoration: none;"> der Algorithmus</del> darüber, an welchen Stellen ein Umbruch verpflichtend, an welchen möglich und an welchen verboten ist.</div></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>Der '''Unicode-Zeilenumbruch-<ins style="font-weight: bold; text-decoration: none;">[[</ins>Algorithmus<ins style="font-weight: bold; text-decoration: none;">]]</ins>''' ({{EnS|''Unicode Line Breaking Algorithm''}}) ist der vom [[Unicode-Konsortium]] veröffentlichte Algorithmus für den [[Automatischer Zeilenumbruch|Zeilenumbruch]]. <ins style="font-weight: bold; text-decoration: none;">Dieser Algorithmus</ins> entscheidet darüber, an welchen Stellen ein Umbruch verpflichtend, an welchen möglich und an welchen verboten ist.</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Geschichte ==</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Geschichte ==</div></td> </tr> </table> Steue https://de.wikipedia.org/w/index.php?title=Unicode-Zeilenumbruch-Algorithmus&diff=173484286&oldid=prev Aka: Bindestrich mitverlinkt 2018-01-30T13:34:37Z <p>Bindestrich mitverlinkt</p> <table style="background-color: #fff; color: #202122;" data-mw="interface"> <col class="diff-marker" /> <col class="diff-content" /> <col class="diff-marker" /> <col class="diff-content" /> <tr class="diff-title" lang="de"> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Nächstältere Version</td> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Version vom 30. Januar 2018, 15:34 Uhr</td> </tr><tr> <td colspan="2" class="diff-lineno">Zeile 18:</td> <td colspan="2" class="diff-lineno">Zeile 18:</td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Es gibt sehr viele mögliche Werte, die diese Eigenschaft annehmen kann. Einige dieser Werte decken große Zeichenklassen ab, einige kommen nur bei einem einzigen Zeichen vor, um Spezialfälle abzudecken. So haben beispielsweise sowohl der [[Zeilenvorschub]] und der [[Wagenrücklauf]] einen speziellen Wert, damit beide Zeichen für sich alleine einen Zeilenumbruch erzeugen, ihre Kombination aber ebenfalls nur einen Umbruch ergibt, um die verschiedenen Konventionen für das Zeilenende zu berücksichtigen. Ein weiteres Beispiel für ein Zeichen mit einer eigenen Klasse ist das [[Bindestrich-Minus]] (U+002D), das in den meisten Fällen den orthografischen Bindestrich repräsentiert (z. B. Textverarbeitung), nur nicht im numerischen Kontext, wo es als Minus interpretiert wird (z. B. Tabellenkalkulation).</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Es gibt sehr viele mögliche Werte, die diese Eigenschaft annehmen kann. Einige dieser Werte decken große Zeichenklassen ab, einige kommen nur bei einem einzigen Zeichen vor, um Spezialfälle abzudecken. So haben beispielsweise sowohl der [[Zeilenvorschub]] und der [[Wagenrücklauf]] einen speziellen Wert, damit beide Zeichen für sich alleine einen Zeilenumbruch erzeugen, ihre Kombination aber ebenfalls nur einen Umbruch ergibt, um die verschiedenen Konventionen für das Zeilenende zu berücksichtigen. Ein weiteres Beispiel für ein Zeichen mit einer eigenen Klasse ist das [[Bindestrich-Minus]] (U+002D), das in den meisten Fällen den orthografischen Bindestrich repräsentiert (z. B. Textverarbeitung), nur nicht im numerischen Kontext, wo es als Minus interpretiert wird (z. B. Tabellenkalkulation).</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>Gewöhnliche Buchstaben und Ziffern gehören dabei einer Klasse an, die einen Umbruch verhindert, falls das Zeichen dadurch von einem anderen Zeichen derselben Klasse getrennt würde. Klassen, die einen Umbruch nach dem betreffenden Zeichen erlauben, enthalten unter anderem verschiedene [[Leerzeichen]] und [[Bindestrich]]e. [[Satzzeichen]], die Sätze oder Satzteile beenden, gehören Klassen an, die einen Umbruch vor dem Zeichen verhindern. Dies ist auch bei [[Kombinierendes Zeichen|kombinierenden Zeichen]] der Fall. Satzzeichen für den Satzanfang, also öffnende Klammern oder die im Spanischen verwendeten umgedrehten [[Fragezeichen|Frage]]<del style="font-weight: bold; text-decoration: none;">-</del> und [[Ausrufezeichen]], gehören dagegen zu einer Klasse, die einen Umbruch nach dem Zeichen verhindert.</div></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>Gewöhnliche Buchstaben und Ziffern gehören dabei einer Klasse an, die einen Umbruch verhindert, falls das Zeichen dadurch von einem anderen Zeichen derselben Klasse getrennt würde. Klassen, die einen Umbruch nach dem betreffenden Zeichen erlauben, enthalten unter anderem verschiedene [[Leerzeichen]] und [[Bindestrich]]e. [[Satzzeichen]], die Sätze oder Satzteile beenden, gehören Klassen an, die einen Umbruch vor dem Zeichen verhindern. Dies ist auch bei [[Kombinierendes Zeichen|kombinierenden Zeichen]] der Fall. Satzzeichen für den Satzanfang, also öffnende Klammern oder die im Spanischen verwendeten umgedrehten [[Fragezeichen|Frage<ins style="font-weight: bold; text-decoration: none;">-</ins>]] und [[Ausrufezeichen]], gehören dagegen zu einer Klasse, die einen Umbruch nach dem Zeichen verhindert.</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Klassen, die einen Umbruch sowohl vor als auch nach dem Zeichen verhindern, existieren für [[Geschütztes Leerzeichen|geschützte Leerzeichen]] und [[Geschützter Bindestrich|Bindestriche]], aber auch für [[Anführungszeichen]]. Zwar könnte man vor öffnenden und nach schließenden Anführungszeichen umbrechen, da diese aber in verschiedenen Sprachen unterschiedlich verwendet werden, ist es wesentlich einfacher, alle Umbrüche zu verhindern.</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Klassen, die einen Umbruch sowohl vor als auch nach dem Zeichen verhindern, existieren für [[Geschütztes Leerzeichen|geschützte Leerzeichen]] und [[Geschützter Bindestrich|Bindestriche]], aber auch für [[Anführungszeichen]]. Zwar könnte man vor öffnenden und nach schließenden Anführungszeichen umbrechen, da diese aber in verschiedenen Sprachen unterschiedlich verwendet werden, ist es wesentlich einfacher, alle Umbrüche zu verhindern.</div></td> </tr> </table> Aka https://de.wikipedia.org/w/index.php?title=Unicode-Zeilenumbruch-Algorithmus&diff=136612668&oldid=prev Messerjokke79: /* Algorithmus */ Zeichen verhalten sich nicht, sie bewirken Verhalten beim Interpretierenden, z. B. Programm. // Ein (Unicode-)Zeichensatz-Zeichen wird nicht für ein anderes (U-)Zs.-Z. genutzt sondern für ein Z. auf anderer, hier orthografischer Ebene. 2014-12-09T12:46:12Z <p><span class="autocomment">Algorithmus: </span> Zeichen verhalten sich nicht, sie bewirken Verhalten beim Interpretierenden, z. B. Programm. // Ein (Unicode-)Zeichensatz-Zeichen wird nicht für ein anderes (U-)Zs.-Z. genutzt sondern für ein Z. auf anderer, hier orthografischer Ebene.</p> <table style="background-color: #fff; color: #202122;" data-mw="interface"> <col class="diff-marker" /> <col class="diff-content" /> <col class="diff-marker" /> <col class="diff-content" /> <tr class="diff-title" lang="de"> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Nächstältere Version</td> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Version vom 9. Dezember 2014, 14:46 Uhr</td> </tr><tr> <td colspan="2" class="diff-lineno">Zeile 16:</td> <td colspan="2" class="diff-lineno">Zeile 16:</td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Jedem [[Unicode]]-Zeichen wird eine &lt;code&gt;LineBreak&lt;/code&gt;-[[Liste der Unicode-Eigenschaften|Eigenschaft]] zugewiesen, die sein Verhalten beim Umbruch beschreibt.&lt;ref&gt;[http://www.unicode.org/Public/UNIDATA/LineBreak.txt LineBreak.txt]&lt;/ref&gt;</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Jedem [[Unicode]]-Zeichen wird eine &lt;code&gt;LineBreak&lt;/code&gt;-[[Liste der Unicode-Eigenschaften|Eigenschaft]] zugewiesen, die sein Verhalten beim Umbruch beschreibt.&lt;ref&gt;[http://www.unicode.org/Public/UNIDATA/LineBreak.txt LineBreak.txt]&lt;/ref&gt;</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>Es gibt sehr viele mögliche Werte, die diese Eigenschaft annehmen kann. Einige dieser Werte decken große Zeichenklassen ab, einige kommen nur bei einem einzigen Zeichen vor, um Spezialfälle abzudecken. So haben beispielsweise sowohl der [[Zeilenvorschub]] und der [[Wagenrücklauf]] einen speziellen Wert, damit beide Zeichen für sich alleine einen Zeilenumbruch erzeugen, ihre Kombination aber ebenfalls nur einen Umbruch ergibt, um die verschiedenen Konventionen für das Zeilenende zu berücksichtigen. Ein weiteres Beispiel für ein Zeichen mit einer eigenen Klasse ist das [[Bindestrich-<del style="font-weight: bold; text-decoration: none;">Minuszeichen</del>]] (U+002D), das<del style="font-weight: bold; text-decoration: none;"> sich</del> in den meisten Fällen <del style="font-weight: bold; text-decoration: none;">wie</del> <del style="font-weight: bold; text-decoration: none;">der</del> Bindestrich (<del style="font-weight: bold; text-decoration: none;">U+2010)</del> <del style="font-weight: bold; text-decoration: none;">verhält</del>, nur nicht im numerischen Kontext, wo es <del style="font-weight: bold; text-decoration: none;">sich</del> <del style="font-weight: bold; text-decoration: none;">auch</del> <del style="font-weight: bold; text-decoration: none;">um</del> <del style="font-weight: bold; text-decoration: none;">ein</del> <del style="font-weight: bold; text-decoration: none;">Minuszeichen</del> <del style="font-weight: bold; text-decoration: none;">handeln</del> <del style="font-weight: bold; text-decoration: none;">könnte</del>.</div></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>Es gibt sehr viele mögliche Werte, die diese Eigenschaft annehmen kann. Einige dieser Werte decken große Zeichenklassen ab, einige kommen nur bei einem einzigen Zeichen vor, um Spezialfälle abzudecken. So haben beispielsweise sowohl der [[Zeilenvorschub]] und der [[Wagenrücklauf]] einen speziellen Wert, damit beide Zeichen für sich alleine einen Zeilenumbruch erzeugen, ihre Kombination aber ebenfalls nur einen Umbruch ergibt, um die verschiedenen Konventionen für das Zeilenende zu berücksichtigen. Ein weiteres Beispiel für ein Zeichen mit einer eigenen Klasse ist das [[Bindestrich-<ins style="font-weight: bold; text-decoration: none;">Minus</ins>]] (U+002D), das in den meisten Fällen <ins style="font-weight: bold; text-decoration: none;">den</ins> <ins style="font-weight: bold; text-decoration: none;">orthografischen</ins> Bindestrich<ins style="font-weight: bold; text-decoration: none;"> repräsentiert</ins> (<ins style="font-weight: bold; text-decoration: none;">z.</ins> <ins style="font-weight: bold; text-decoration: none;">B. Textverarbeitung)</ins>, nur nicht im numerischen Kontext, wo es <ins style="font-weight: bold; text-decoration: none;">als</ins> <ins style="font-weight: bold; text-decoration: none;">Minus</ins> <ins style="font-weight: bold; text-decoration: none;">interpretiert</ins> <ins style="font-weight: bold; text-decoration: none;">wird</ins> <ins style="font-weight: bold; text-decoration: none;">(z.</ins> <ins style="font-weight: bold; text-decoration: none;">B.</ins> <ins style="font-weight: bold; text-decoration: none;">Tabellenkalkulation)</ins>.</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Gewöhnliche Buchstaben und Ziffern gehören dabei einer Klasse an, die einen Umbruch verhindert, falls das Zeichen dadurch von einem anderen Zeichen derselben Klasse getrennt würde. Klassen, die einen Umbruch nach dem betreffenden Zeichen erlauben, enthalten unter anderem verschiedene [[Leerzeichen]] und [[Bindestrich]]e. [[Satzzeichen]], die Sätze oder Satzteile beenden, gehören Klassen an, die einen Umbruch vor dem Zeichen verhindern. Dies ist auch bei [[Kombinierendes Zeichen|kombinierenden Zeichen]] der Fall. Satzzeichen für den Satzanfang, also öffnende Klammern oder die im Spanischen verwendeten umgedrehten [[Fragezeichen|Frage]]- und [[Ausrufezeichen]], gehören dagegen zu einer Klasse, die einen Umbruch nach dem Zeichen verhindert.</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Gewöhnliche Buchstaben und Ziffern gehören dabei einer Klasse an, die einen Umbruch verhindert, falls das Zeichen dadurch von einem anderen Zeichen derselben Klasse getrennt würde. Klassen, die einen Umbruch nach dem betreffenden Zeichen erlauben, enthalten unter anderem verschiedene [[Leerzeichen]] und [[Bindestrich]]e. [[Satzzeichen]], die Sätze oder Satzteile beenden, gehören Klassen an, die einen Umbruch vor dem Zeichen verhindern. Dies ist auch bei [[Kombinierendes Zeichen|kombinierenden Zeichen]] der Fall. Satzzeichen für den Satzanfang, also öffnende Klammern oder die im Spanischen verwendeten umgedrehten [[Fragezeichen|Frage]]- und [[Ausrufezeichen]], gehören dagegen zu einer Klasse, die einen Umbruch nach dem Zeichen verhindert.</div></td> </tr> </table> Messerjokke79 https://de.wikipedia.org/w/index.php?title=Unicode-Zeilenumbruch-Algorithmus&diff=135184124&oldid=prev 37.201.240.168: /* Implementierung */ kleine Korrektur in Sachen Numerus(?) 2014-10-24T22:30:55Z <p><span class="autocomment">Implementierung: </span> kleine Korrektur in Sachen Numerus(?)</p> <table style="background-color: #fff; color: #202122;" data-mw="interface"> <col class="diff-marker" /> <col class="diff-content" /> <col class="diff-marker" /> <col class="diff-content" /> <tr class="diff-title" lang="de"> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Nächstältere Version</td> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Version vom 25. Oktober 2014, 00:30 Uhr</td> </tr><tr> <td colspan="2" class="diff-lineno">Zeile 29:</td> <td colspan="2" class="diff-lineno">Zeile 29:</td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>=== Implementierung ===</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>=== Implementierung ===</div></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>Der Algorithmus gibt keine spezielle [[Implementierung]] vor, solange das Ergebnis korrekt ist. Um dies zu überprüfen stehen umfangreiche Testdateien zur Verfügung.&lt;ref&gt;[http://www.unicode.org/Public/UNIDATA/auxiliary/LineBreakTest.txt LineBreakTest.txt]&lt;/ref&gt; Da die meisten der Regeln nur die beiden Zeichen vor und nach dem möglichen Umbruch betrachten, nicht aber die weitere Umgebung, bieten sich Implementierungen an, die im Wesentlichen in einer [[Lookup-Tabelle|Tabelle]] <del style="font-weight: bold; text-decoration: none;">nachschlägt</del>, ob an einer Stelle ein Umbruch erlaubt ist oder nicht und nur für die komplexeren Regeln den umgebenden Kontext <del style="font-weight: bold; text-decoration: none;">untersucht</del>.</div></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>Der Algorithmus gibt keine spezielle [[Implementierung]] vor, solange das Ergebnis korrekt ist. Um dies zu überprüfen stehen umfangreiche Testdateien zur Verfügung.&lt;ref&gt;[http://www.unicode.org/Public/UNIDATA/auxiliary/LineBreakTest.txt LineBreakTest.txt]&lt;/ref&gt; Da die meisten der Regeln nur die beiden Zeichen vor und nach dem möglichen Umbruch betrachten, nicht aber die weitere Umgebung, bieten sich Implementierungen an, die im Wesentlichen in einer [[Lookup-Tabelle|Tabelle]] <ins style="font-weight: bold; text-decoration: none;">nachschlagen</ins>, ob an einer Stelle ein Umbruch erlaubt ist oder nicht und nur für die komplexeren Regeln den umgebenden Kontext <ins style="font-weight: bold; text-decoration: none;">untersuchen</ins>.</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Neben der Implementierung des [[International Components for Unicode|ICU]]-Projekts, die auch einige sprachspezifische Anpassungen beinhaltet,&lt;ref&gt;[http://userguide.icu-project.org/boundaryanalysis Boundary Analysis] im ICU User Guide, abgerufen am 20. September 2012&lt;/ref&gt; existieren auch viele weitere, etwa als [[Perl-Modul]].&lt;ref&gt;[http://metacpan.org/module/Unicode::LineBreak Unicode::LineBreak] im [[CPAN]]&lt;/ref&gt;</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Neben der Implementierung des [[International Components for Unicode|ICU]]-Projekts, die auch einige sprachspezifische Anpassungen beinhaltet,&lt;ref&gt;[http://userguide.icu-project.org/boundaryanalysis Boundary Analysis] im ICU User Guide, abgerufen am 20. September 2012&lt;/ref&gt; existieren auch viele weitere, etwa als [[Perl-Modul]].&lt;ref&gt;[http://metacpan.org/module/Unicode::LineBreak Unicode::LineBreak] im [[CPAN]]&lt;/ref&gt;</div></td> </tr> </table> 37.201.240.168 https://de.wikipedia.org/w/index.php?title=Unicode-Zeilenumbruch-Algorithmus&diff=127241720&oldid=prev Wrev: /* Algorithmus */ Besonderheiten beim Spanischen korrekter beschrieben 2014-02-05T15:51:38Z <p><span class="autocomment">Algorithmus: </span> Besonderheiten beim Spanischen korrekter beschrieben</p> <table style="background-color: #fff; color: #202122;" data-mw="interface"> <col class="diff-marker" /> <col class="diff-content" /> <col class="diff-marker" /> <col class="diff-content" /> <tr class="diff-title" lang="de"> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Nächstältere Version</td> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Version vom 5. Februar 2014, 17:51 Uhr</td> </tr><tr> <td colspan="2" class="diff-lineno">Zeile 18:</td> <td colspan="2" class="diff-lineno">Zeile 18:</td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Es gibt sehr viele mögliche Werte, die diese Eigenschaft annehmen kann. Einige dieser Werte decken große Zeichenklassen ab, einige kommen nur bei einem einzigen Zeichen vor, um Spezialfälle abzudecken. So haben beispielsweise sowohl der [[Zeilenvorschub]] und der [[Wagenrücklauf]] einen speziellen Wert, damit beide Zeichen für sich alleine einen Zeilenumbruch erzeugen, ihre Kombination aber ebenfalls nur einen Umbruch ergibt, um die verschiedenen Konventionen für das Zeilenende zu berücksichtigen. Ein weiteres Beispiel für ein Zeichen mit einer eigenen Klasse ist das [[Bindestrich-Minuszeichen]] (U+002D), das sich in den meisten Fällen wie der Bindestrich (U+2010) verhält, nur nicht im numerischen Kontext, wo es sich auch um ein Minuszeichen handeln könnte.</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Es gibt sehr viele mögliche Werte, die diese Eigenschaft annehmen kann. Einige dieser Werte decken große Zeichenklassen ab, einige kommen nur bei einem einzigen Zeichen vor, um Spezialfälle abzudecken. So haben beispielsweise sowohl der [[Zeilenvorschub]] und der [[Wagenrücklauf]] einen speziellen Wert, damit beide Zeichen für sich alleine einen Zeilenumbruch erzeugen, ihre Kombination aber ebenfalls nur einen Umbruch ergibt, um die verschiedenen Konventionen für das Zeilenende zu berücksichtigen. Ein weiteres Beispiel für ein Zeichen mit einer eigenen Klasse ist das [[Bindestrich-Minuszeichen]] (U+002D), das sich in den meisten Fällen wie der Bindestrich (U+2010) verhält, nur nicht im numerischen Kontext, wo es sich auch um ein Minuszeichen handeln könnte.</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>Gewöhnliche Buchstaben und Ziffern gehören dabei einer Klasse an, die einen Umbruch verhindert, falls das Zeichen dadurch von einem anderen Zeichen derselben Klasse getrennt würde. Klassen, die einen Umbruch nach dem betreffenden Zeichen erlauben, enthalten unter anderem verschiedene [[Leerzeichen]] und [[Bindestrich]]e. [[Satzzeichen]], die Sätze oder Satzteile beenden, gehören Klassen an, die einen Umbruch vor dem Zeichen verhindern. Dies ist auch bei [[Kombinierendes Zeichen|kombinierenden Zeichen]] der Fall. Satzzeichen für den Satzanfang, also öffnende Klammern oder die im Spanischen verwendeten <del style="font-weight: bold; text-decoration: none;">umgedrehte</del> [[Fragezeichen|Frage]]- und [[Ausrufezeichen]], <del style="font-weight: bold; text-decoration: none;">erhalten</del> dagegen <del style="font-weight: bold; text-decoration: none;">Klassen</del>, die einen Umbruch nach dem Zeichen <del style="font-weight: bold; text-decoration: none;">verhindern</del>.</div></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>Gewöhnliche Buchstaben und Ziffern gehören dabei einer Klasse an, die einen Umbruch verhindert, falls das Zeichen dadurch von einem anderen Zeichen derselben Klasse getrennt würde. Klassen, die einen Umbruch nach dem betreffenden Zeichen erlauben, enthalten unter anderem verschiedene [[Leerzeichen]] und [[Bindestrich]]e. [[Satzzeichen]], die Sätze oder Satzteile beenden, gehören Klassen an, die einen Umbruch vor dem Zeichen verhindern. Dies ist auch bei [[Kombinierendes Zeichen|kombinierenden Zeichen]] der Fall. Satzzeichen für den Satzanfang, also öffnende Klammern oder die im Spanischen verwendeten <ins style="font-weight: bold; text-decoration: none;">umgedrehten</ins> [[Fragezeichen|Frage]]- und [[Ausrufezeichen]], <ins style="font-weight: bold; text-decoration: none;">gehören</ins> dagegen <ins style="font-weight: bold; text-decoration: none;">zu einer Klasse</ins>, die einen Umbruch nach dem Zeichen <ins style="font-weight: bold; text-decoration: none;">verhindert</ins>.</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Klassen, die einen Umbruch sowohl vor als auch nach dem Zeichen verhindern, existieren für [[Geschütztes Leerzeichen|geschützte Leerzeichen]] und [[Geschützter Bindestrich|Bindestriche]], aber auch für [[Anführungszeichen]]. Zwar könnte man vor öffnenden und nach schließenden Anführungszeichen umbrechen, da diese aber in verschiedenen Sprachen unterschiedlich verwendet werden, ist es wesentlich einfacher, alle Umbrüche zu verhindern.</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Klassen, die einen Umbruch sowohl vor als auch nach dem Zeichen verhindern, existieren für [[Geschütztes Leerzeichen|geschützte Leerzeichen]] und [[Geschützter Bindestrich|Bindestriche]], aber auch für [[Anführungszeichen]]. Zwar könnte man vor öffnenden und nach schließenden Anführungszeichen umbrechen, da diese aber in verschiedenen Sprachen unterschiedlich verwendet werden, ist es wesentlich einfacher, alle Umbrüche zu verhindern.</div></td> </tr> </table> Wrev https://de.wikipedia.org/w/index.php?title=Unicode-Zeilenumbruch-Algorithmus&diff=126397139&oldid=prev Jumbo1435: /* Algorithmus */ linkfix 2014-01-12T15:50:50Z <p><span class="autocomment">Algorithmus: </span> linkfix</p> <table style="background-color: #fff; color: #202122;" data-mw="interface"> <col class="diff-marker" /> <col class="diff-content" /> <col class="diff-marker" /> <col class="diff-content" /> <tr class="diff-title" lang="de"> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Nächstältere Version</td> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Version vom 12. Januar 2014, 17:50 Uhr</td> </tr><tr> <td colspan="2" class="diff-lineno">Zeile 26:</td> <td colspan="2" class="diff-lineno">Zeile 26:</td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Ausgehend von dieser Eigenschaft ermittelt der Algorithmus für jede Stelle, ob ein Umbruch stattfinden muss, darf oder verboten ist. Es kommt dabei jeweils das erste Kriterium zur Anwendung, das passt. Die meisten dieser Regeln legen fest, an welchen Stellen kein Umbruch erfolgen soll, die letzte Regel erlaubt dann den Umbruch an allen Stellen, die nicht in einer anderen Regel ausgeschlossen wurden.</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Ausgehend von dieser Eigenschaft ermittelt der Algorithmus für jede Stelle, ob ein Umbruch stattfinden muss, darf oder verboten ist. Es kommt dabei jeweils das erste Kriterium zur Anwendung, das passt. Die meisten dieser Regeln legen fest, an welchen Stellen kein Umbruch erfolgen soll, die letzte Regel erlaubt dann den Umbruch an allen Stellen, die nicht in einer anderen Regel ausgeschlossen wurden.</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>Die Reihenfolge, in der diese Regeln getestet werden, spielt dabei eine entscheidende Rolle. So steht etwa die Regel, dass vor dem Ausrufezeichen kein Umbruch erfolgen darf, vor der Regel, dass nach Leerzeichen ein Zeilenumbruch möglich ist, um die [[Plenk#<del style="font-weight: bold; text-decoration: none;">Sonderfall</del> <del style="font-weight: bold; text-decoration: none;">Französisch</del>|Verwendung des Leerzeichens im Französischen]] an dieser Stelle ohne einen unerwünschten Umbruch zu ermöglichen.</div></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>Die Reihenfolge, in der diese Regeln getestet werden, spielt dabei eine entscheidende Rolle. So steht etwa die Regel, dass vor dem Ausrufezeichen kein Umbruch erfolgen darf, vor der Regel, dass nach Leerzeichen ein Zeilenumbruch möglich ist, um die [[Plenk#<ins style="font-weight: bold; text-decoration: none;">Französische</ins> <ins style="font-weight: bold; text-decoration: none;">Sprache</ins>|Verwendung des Leerzeichens im Französischen]] an dieser Stelle ohne einen unerwünschten Umbruch zu ermöglichen.</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>=== Implementierung ===</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>=== Implementierung ===</div></td> </tr> </table> Jumbo1435 https://de.wikipedia.org/w/index.php?title=Unicode-Zeilenumbruch-Algorithmus&diff=122738512&oldid=prev 86.59.133.110 am 21. September 2013 um 11:56 Uhr 2013-09-21T11:56:03Z <p></p> <table style="background-color: #fff; color: #202122;" data-mw="interface"> <col class="diff-marker" /> <col class="diff-content" /> <col class="diff-marker" /> <col class="diff-content" /> <tr class="diff-title" lang="de"> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Nächstältere Version</td> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Version vom 21. September 2013, 13:56 Uhr</td> </tr><tr> <td colspan="2" class="diff-lineno">Zeile 31:</td> <td colspan="2" class="diff-lineno">Zeile 31:</td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Der Algorithmus gibt keine spezielle [[Implementierung]] vor, solange das Ergebnis korrekt ist. Um dies zu überprüfen stehen umfangreiche Testdateien zur Verfügung.&lt;ref&gt;[http://www.unicode.org/Public/UNIDATA/auxiliary/LineBreakTest.txt LineBreakTest.txt]&lt;/ref&gt; Da die meisten der Regeln nur die beiden Zeichen vor und nach dem möglichen Umbruch betrachten, nicht aber die weitere Umgebung, bieten sich Implementierungen an, die im Wesentlichen in einer [[Lookup-Tabelle|Tabelle]] nachschlägt, ob an einer Stelle ein Umbruch erlaubt ist oder nicht und nur für die komplexeren Regeln den umgebenden Kontext untersucht.</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Der Algorithmus gibt keine spezielle [[Implementierung]] vor, solange das Ergebnis korrekt ist. Um dies zu überprüfen stehen umfangreiche Testdateien zur Verfügung.&lt;ref&gt;[http://www.unicode.org/Public/UNIDATA/auxiliary/LineBreakTest.txt LineBreakTest.txt]&lt;/ref&gt; Da die meisten der Regeln nur die beiden Zeichen vor und nach dem möglichen Umbruch betrachten, nicht aber die weitere Umgebung, bieten sich Implementierungen an, die im Wesentlichen in einer [[Lookup-Tabelle|Tabelle]] nachschlägt, ob an einer Stelle ein Umbruch erlaubt ist oder nicht und nur für die komplexeren Regeln den umgebenden Kontext untersucht.</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>Neben der Implementierung des [[International Components for Unicode|ICU]]-Projekts, die auch einige sprachspezifische Anpassungen beinhaltet,&lt;ref&gt;[http://userguide.icu-project.org/boundaryanalysis Boundary Analysis] im ICU User Guide, abgerufen am 20. September 2012&lt;/ref&gt; existieren auch viele weitere, etwa als [[Perl-Modul]].&lt;ref&gt;[http://<del style="font-weight: bold; text-decoration: none;">search.cpan</del>.org/<del style="font-weight: bold; text-decoration: none;">~nezumi</del>/Unicode<del style="font-weight: bold; text-decoration: none;">-</del>LineBreak<del style="font-weight: bold; text-decoration: none;">-2012.06/lib/Unicode/LineBreak.pod</del> Unicode::LineBreak] im [[CPAN]]&lt;/ref&gt;</div></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>Neben der Implementierung des [[International Components for Unicode|ICU]]-Projekts, die auch einige sprachspezifische Anpassungen beinhaltet,&lt;ref&gt;[http://userguide.icu-project.org/boundaryanalysis Boundary Analysis] im ICU User Guide, abgerufen am 20. September 2012&lt;/ref&gt; existieren auch viele weitere, etwa als [[Perl-Modul]].&lt;ref&gt;[http://<ins style="font-weight: bold; text-decoration: none;">metacpan</ins>.org/<ins style="font-weight: bold; text-decoration: none;">module</ins>/Unicode<ins style="font-weight: bold; text-decoration: none;">::</ins>LineBreak Unicode::LineBreak] im [[CPAN]]&lt;/ref&gt;</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Da der Algorithmus weitreichende Anpassungen des Standardverhaltens erlaubt, können Anwendungsprogramme stark von den Vorschlägen abweichen, ohne deswegen den Standard zu verletzen. So hält sich etwa der [[Internet Explorer]] sehr eng an die Standardregeln,&lt;ref&gt;Jukka Korpela: [http://www.cs.tut.fi/~jkorpela/html/nobr.html Word division in IE and other notes on the &lt;code&gt;nobr&lt;/code&gt; markup], abgerufen am 20. September 2012&lt;/ref&gt; während [[Mozilla Firefox]] stark davon abweicht.&lt;ref&gt;[https://bugzilla.mozilla.org/show_bug.cgi?id=56652 Bug 56652] im Bug-Tracker von Mozilla, abgerufen am 20. September 2012&lt;/ref&gt;</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Da der Algorithmus weitreichende Anpassungen des Standardverhaltens erlaubt, können Anwendungsprogramme stark von den Vorschlägen abweichen, ohne deswegen den Standard zu verletzen. So hält sich etwa der [[Internet Explorer]] sehr eng an die Standardregeln,&lt;ref&gt;Jukka Korpela: [http://www.cs.tut.fi/~jkorpela/html/nobr.html Word division in IE and other notes on the &lt;code&gt;nobr&lt;/code&gt; markup], abgerufen am 20. September 2012&lt;/ref&gt; während [[Mozilla Firefox]] stark davon abweicht.&lt;ref&gt;[https://bugzilla.mozilla.org/show_bug.cgi?id=56652 Bug 56652] im Bug-Tracker von Mozilla, abgerufen am 20. September 2012&lt;/ref&gt;</div></td> </tr> </table> 86.59.133.110 https://de.wikipedia.org/w/index.php?title=Unicode-Zeilenumbruch-Algorithmus&diff=109339825&oldid=prev Schnark: /* Algorithmus */ Link 2012-10-15T07:59:33Z <p><span class="autocomment">Algorithmus: </span> Link</p> <table style="background-color: #fff; color: #202122;" data-mw="interface"> <col class="diff-marker" /> <col class="diff-content" /> <col class="diff-marker" /> <col class="diff-content" /> <tr class="diff-title" lang="de"> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Nächstältere Version</td> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Version vom 15. Oktober 2012, 09:59 Uhr</td> </tr><tr> <td colspan="2" class="diff-lineno">Zeile 14:</td> <td colspan="2" class="diff-lineno">Zeile 14:</td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Algorithmus ==</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Algorithmus ==</div></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>Jedem [[Unicode]]-Zeichen wird eine &lt;code&gt;LineBreak&lt;/code&gt;-Eigenschaft zugewiesen, die sein Verhalten beim Umbruch beschreibt.&lt;ref&gt;[http://www.unicode.org/Public/UNIDATA/LineBreak.txt LineBreak.txt]&lt;/ref&gt;</div></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>Jedem [[Unicode]]-Zeichen wird eine &lt;code&gt;LineBreak&lt;/code&gt;-<ins style="font-weight: bold; text-decoration: none;">[[Liste der Unicode-Eigenschaften|</ins>Eigenschaft<ins style="font-weight: bold; text-decoration: none;">]]</ins> zugewiesen, die sein Verhalten beim Umbruch beschreibt.&lt;ref&gt;[http://www.unicode.org/Public/UNIDATA/LineBreak.txt LineBreak.txt]&lt;/ref&gt;</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Es gibt sehr viele mögliche Werte, die diese Eigenschaft annehmen kann. Einige dieser Werte decken große Zeichenklassen ab, einige kommen nur bei einem einzigen Zeichen vor, um Spezialfälle abzudecken. So haben beispielsweise sowohl der [[Zeilenvorschub]] und der [[Wagenrücklauf]] einen speziellen Wert, damit beide Zeichen für sich alleine einen Zeilenumbruch erzeugen, ihre Kombination aber ebenfalls nur einen Umbruch ergibt, um die verschiedenen Konventionen für das Zeilenende zu berücksichtigen. Ein weiteres Beispiel für ein Zeichen mit einer eigenen Klasse ist das [[Bindestrich-Minuszeichen]] (U+002D), das sich in den meisten Fällen wie der Bindestrich (U+2010) verhält, nur nicht im numerischen Kontext, wo es sich auch um ein Minuszeichen handeln könnte.</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Es gibt sehr viele mögliche Werte, die diese Eigenschaft annehmen kann. Einige dieser Werte decken große Zeichenklassen ab, einige kommen nur bei einem einzigen Zeichen vor, um Spezialfälle abzudecken. So haben beispielsweise sowohl der [[Zeilenvorschub]] und der [[Wagenrücklauf]] einen speziellen Wert, damit beide Zeichen für sich alleine einen Zeilenumbruch erzeugen, ihre Kombination aber ebenfalls nur einen Umbruch ergibt, um die verschiedenen Konventionen für das Zeilenende zu berücksichtigen. Ein weiteres Beispiel für ein Zeichen mit einer eigenen Klasse ist das [[Bindestrich-Minuszeichen]] (U+002D), das sich in den meisten Fällen wie der Bindestrich (U+2010) verhält, nur nicht im numerischen Kontext, wo es sich auch um ein Minuszeichen handeln könnte.</div></td> </tr> </table> Schnark