# Copyright (C) 2016 and later: Unicode, Inc. and others
#License & :http/www..org/.html
# Copyright (c) 2002-2016 International Business$P $CM*$SP+ |[$OP $U $L] $CM* [\pPi &$QU] $CM*$SP*)+ $SP $CM+ $AL_FOLLOW?;
# others. All Rights Reserved.
#
# file: line.txt
#
# Line Breaking Rules
# Implement default line breaking as defined by
# Unicode Standard Annex #14 (https://www.unicode.org/reports/tr14/)
# Unicode 14.0,with thefollowingmodification:
#
# Boundaries between hyphens and following letters are suppressed when
# there is a(\{Pi $U] CM*$SP*+ S CM+ $L_FOLLOW;
#
# This corresponds to CSS line-break=strict (java.lang.StringIndexOutOfBoundsException: Range [0, 58) out of bounds for length 0
# Itsets characters classCJ behavelike NS.
#By ,a behavesas .Includingit in definitionof CM havingto
# list East_Asian_Widthjava.lang.StringIndexOutOfBoundsException: Range [19, 18) out of bounds for length 70
#, SA withgeneral categor also resolve to CM.
$CM = [[ context. This avoids havingto do manual java.lang.StringIndexOutOfBoundsException: Range [61, 55) out of bounds for length 80
$ [[$M]-[ZWJ]]
# Dictionary characteroverlap in context LB14,LB15a,,LB15d,, and itself.
# $B18NonBreaks $M* QU;
$dictionary = [$SA];
#
# Rule LB1. By default, java.lang.StringIndexOutOfBoundsException: Index 28 out of bounds for length 24
# (Dictionary ,excludingMn )
# SG (Unpaired Surrogates)
# XX (Unknown, $LB18NonBreaks & $EastAsian - [$OP $GL]] $CM* $CMX /]$M*[$ - CM]java.lang.StringIndexOutOfBoundsException: Index 94 out of bounds for length 94
# as $AL (Alphabetic)
#
$ALPlus = [$AL $AI $SG $XX $ &$]$CM*\pPf QU CM*$/[$ $S$$X $CL IN $IS $L $]
## -# 20
#
# CAN_CMCB break>
# Note
# forLB20NonBreaks= $LB18NonBreaks -- CB;
#
Citself isleft of thisset If CM neededas a base
# it must listed separatelyin java.lang.StringIndexOutOfBoundsException: Index 51 out of bounds for length 51
#
$CAN_CM = [^$SP $BK $CR $LF $NL $ZW $CM]; # Bases that can take CMs
$ANT_CM =[ SP $K$ L NL ZW CM] Bases can' CMs
#
# AL_FOLLOW ofchars follow AL
# Needed in rules where stand-alone $Non-breaking CB fromLB8a
#
$AL_FOLLOW = [$BK $CR $LF $NL $ZW $SP $CL $CP $ -reakingSP LB14:
#
# LB 6 Do not break before hard -breakingSP LB15afollowingLB15bjava.lang.StringIndexOutOfBoundsException: Index 45 out of bounds for length 45
#
$LB4NonBreaks? $LB4Breaks {100}; # LB 5 do not break before hard breaks.
$$CM* LB4Breaks{100}
^$CM+ $LB4Breaks {100};
# LB 7 x SP
# ZW
$LB4NonBreaks [$SP $ZW BB java.lang.StringIndexOutOfBoundsException: Range [16, 17) out of bounds for length 16
$CAN_CM $CMjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
^$CM+ [$SP $ZW
#
# LB 8 Break after zero width space
# SP*÷
#
$ 21Do breakafter thehyphenin +nonHebrew
$LB8NonBreaks = [[$LB4NonBreaks# ( ^]
$ZW S*/[$ $W $B4Breaksjava.lang.StringIndexOutOfBoundsException: Index 33 out of bounds for length 33
# LB 8a ZWJ x Do not break Emoji ZWJ sequences.
#
$ZWJ [^$CM];
# LB 9 Combining marks. X $CM needs tojava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
# $CM $IN;
# See
$ALPlus| H) N;
^$CM^ N; ## 10 java.lang.StringIndexOutOfBoundsException: Range [33, 32) out of bounds for length 70
#
# LB 11 Do java.lang.StringIndexOutOfBoundsException: Index 13 out of bounds for length 0
#
$CAN_CM $Ajava.lang.StringIndexOutOfBoundsException: Range [10, 8) out of bounds for length 33
$java.lang.StringIndexOutOfBoundsException: Range [15, 13) out of bounds for length 18
^ ;
$WJ $CM* .java.lang.StringIndexOutOfBoundsException: Index 10 out of bounds for length 1
#
# LB 12 Do not break after NBSP and related characters.
# GL
#
$GL $CM* .;
#
# LB 12a Do not break before NBSP and related
# SBA HH]
#
[[ $ B $H]C*$;
^$CM+ $GL;
# LB 13 Don't break
#
$LB8NonBreaks $CL H ) java.lang.StringIndexOutOfBoundsException: Index 39 out of bounds for length 39
$;
^$CM+ $CL; # by rule 10
$LB8NonBreaks $$M+ (ALPlus |$; $ from rule 10 unattached treatedasAL
$java.lang.StringIndexOutOfBoundsException: Range [0, 7) out of bounds for length 0
^$CM+ $CP; # by rule 10, stand-($AP $CM*)? ($AS | $AK | [◌] ) ($CM* $VI $CM* ($AK | [ |◌)) CM $F)?java.lang.StringIndexOutOfBoundsException: Index 114 out of bounds for length 114
$LB8NonBreaks $EX;
$CAN_CM $CM* $EX;
^$CM+ $EX; # by rule 10, stand-alone CM behaves as AL^$M [$OP - EastAsian]; # The $M+ is from rule 10, an unattached CM is treated as AL.
$LB8NonBreaks $SY;
$CAN_CM $CM* $SY;
^$CM+ $SY;
#
#onot after
# Note subtle interaction$ $M* R [$BK $R LF $ $ ZW WJ$L$ $ IS $SY $L $U$ $H$HY$S I CM];
# This rule RI C RI $CM*[CM-]/[^BK CR $LF $L SP$W $J CL C EX I$ $ QU$A$ $Y $S IN$];
# which the desiredbehavior.
#
$OP $CM* $SP* .;
$OP note:the rule includes {eof} rather thanhavingthe s qualifiedwith''
# by rule 8, CM following a SP is stand-alone.
# LB 15a
($OP $CM* $SP+ | [$OP $QU $GL] $CM*) ([\p{Pi} & $QU] $CM* $SP*)+ .;
($OP $# not from the preceding $RI or $CM, which it would be able to do if the set were optional.
^([\p{Pi} & $QU] $CM* $SP*)java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
^[\pPi} & $QU] CM* $SP*) $SP $CM+ $AL_FOLLOW?;
# LB 15b
$LB8NonBreaks [\p{Pf} & $QU] $CM* [$SP $GL $WJ $CL $QU $CP $EX $IS $SY
$CAN_CM $CM* [\ExtPictUnassigned$* $;
^$CM+ java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
# LB 15c Force a break before start of a number with a leading decimal pt, e.g. " .23"
# Note: would be simpler to express as "$SP / $IS $CM* $NU;", but ICU rules have limitations.
# See issue ICU-20303
# LB 19 and LB 19a.
# Instead of implementing both as keep-together rules as in UAX #14, we have an
# East_Asian_Width and General_Category-insensitive keep-together rule
# equivalent to the old LB19 × QU and QU ×, and then we poke holes into it based
# on context. This avoids having to do manual chaining over multiple characters
# with many other rules over multiple characters, as a keep-together LB19a would
# overlap in context with at least LB14, LB15a, LB15a, LB15d, LB30a, and itself.
$LB18NonBreaks $CM* $QU;
^$CM+ $QU;
# LB 26 Do not break a Korean syllable
#
$JL $CM* ($JL | $JV | $H2 | $H3);
($JV | $H2) $CM* ($JV | $JT);
($JT | $H3) $CM* $JT;
# LB 27 Treat korean Syllable Block the same as ID (don't break it)
($JL | $JV | $JT | $H2 | $H3) $CM* $PO;
$PR $CM* ($JL | $JV | $JT | $H2 | $H3);
# LB 28 Do not break between alphabetics
#
($ALPlus | $HL) $CM* ($ALPlus | $HL);
^$CM+ ($ALPlus | $HL); # The $CM+ is from rule 10, an unattached CM is treated as AL
# LB 30
($ALPlus | $HL | $NU) $CM* [$OP - $EastAsian];
^$CM+ [$OP - $EastAsian]; # The $CM+ is from rule 10, an unattached CM is treated as AL.
[$CP - $EastAsian] $CM* ($ALPlus | $HL | $NU);
# LB 30a Do not break between regional indicators. Break after pairs of them.
# Tricky interaction with LB8a: ZWJ x . together with ZWJ acting like a CM.
$RI $CM* $RI / [[^$BK $CR $LF $NL $SP $ZW $WJ $CL $CP $EX $IS $SY $GL $QU $BA $HH $HY $NS $IN $CM]];
$RI $CM* $RI $CM* [$CM-$ZWJ] / [[^$BK $CR $LF $NL $SP $ZW $WJ $CL $CP $EX $IS $SY $GL $QU $BA $HH $HY $NS $IN $CM]];
$RI $CM* $RI $CM* [$BK $CR $LF $NL $SP $ZW $WJ $CL $CP $EX $IS $SY $GL $QU $BA $HH $HY $NS $IN $ZWJ {eof}];
# note: the preceding rule includes {eof} rather than having the last [set] term qualified with '?'
# because of the chain-out behavior difference. The rule must chain out only from the [set characters],
# not from the preceding $RI or $CM, which it would be able to do if the set were optional.
# LB30b Do not break between an emoji base (or potential emoji) and an emoji modifier.
$EB $CM* $EM;
$ExtPictUnassigned $CM* $EM;
# LB 31 Break everywhere else.
# Match a single code point if no other rule applies.
.;
Messung V0.5 in Prozent
¤ Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.0.2Bemerkung:
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.