Skip to content

Commit 4bda953

Browse files
committed
Change Hyphen.Auto to use Hyphen.FULL
Framework hyphenationFrequency normal does not align with the expectations of the developer. hyphenationFrequency is more eager to hyphen compared to normal, and aligns better with developer expectations. Test: ./gradlew compose:ui:ui-text:test Test: ./gradlew compose:ui:ui-text:cAT Test: ./gradlew text:text:test Test: ./gradlew text:text:cAT Bug: 280031932 Change-Id: I246a76e8d8d1d5231285a9e7088bbd2326a52cb3
1 parent 1a32a17 commit 4bda953

File tree

2 files changed

+10
-5
lines changed

2 files changed

+10
-5
lines changed

compose/ui/ui-text/src/androidMain/kotlin/androidx/compose/ui/text/AndroidParagraph.android.kt

+4-4
Original file line numberDiff line numberDiff line change
@@ -50,8 +50,8 @@ import androidx.compose.ui.text.android.LayoutCompat.DEFAULT_BREAK_STRATEGY
5050
import androidx.compose.ui.text.android.LayoutCompat.DEFAULT_JUSTIFICATION_MODE
5151
import androidx.compose.ui.text.android.LayoutCompat.DEFAULT_LINESPACING_MULTIPLIER
5252
import androidx.compose.ui.text.android.LayoutCompat.HYPHENATION_FREQUENCY_NONE
53-
import androidx.compose.ui.text.android.LayoutCompat.HYPHENATION_FREQUENCY_NORMAL
54-
import androidx.compose.ui.text.android.LayoutCompat.HYPHENATION_FREQUENCY_NORMAL_FAST
53+
import androidx.compose.ui.text.android.LayoutCompat.HYPHENATION_FREQUENCY_FULL
54+
import androidx.compose.ui.text.android.LayoutCompat.HYPHENATION_FREQUENCY_FULL_FAST
5555
import androidx.compose.ui.text.android.LayoutCompat.DEFAULT_LINE_BREAK_STYLE
5656
import androidx.compose.ui.text.android.LayoutCompat.DEFAULT_LINE_BREAK_WORD_STYLE
5757
import androidx.compose.ui.text.android.LayoutCompat.JUSTIFICATION_MODE_INTER_WORD
@@ -562,9 +562,9 @@ private fun toLayoutAlign(align: TextAlign?): Int = when (align) {
562562
@OptIn(InternalPlatformTextApi::class)
563563
private fun toLayoutHyphenationFrequency(hyphens: Hyphens?): Int = when (hyphens) {
564564
Hyphens.Auto -> if (Build.VERSION.SDK_INT <= 32) {
565-
HYPHENATION_FREQUENCY_NORMAL
565+
HYPHENATION_FREQUENCY_FULL
566566
} else {
567-
HYPHENATION_FREQUENCY_NORMAL_FAST
567+
HYPHENATION_FREQUENCY_FULL_FAST
568568
}
569569
Hyphens.None -> HYPHENATION_FREQUENCY_NONE
570570
else -> DEFAULT_HYPHENATION_FREQUENCY

text/text/src/main/java/androidx/compose/ui/text/android/LayoutCompat.kt

+6-1
Original file line numberDiff line numberDiff line change
@@ -59,12 +59,17 @@ internal object LayoutCompat {
5959
const val HYPHENATION_FREQUENCY_NONE = Layout.HYPHENATION_FREQUENCY_NONE
6060
const val HYPHENATION_FREQUENCY_NORMAL = Layout.HYPHENATION_FREQUENCY_NORMAL
6161
const val HYPHENATION_FREQUENCY_NORMAL_FAST = Layout.HYPHENATION_FREQUENCY_NORMAL_FAST
62+
const val HYPHENATION_FREQUENCY_FULL = Layout.HYPHENATION_FREQUENCY_FULL
63+
const val HYPHENATION_FREQUENCY_FULL_FAST = Layout.HYPHENATION_FREQUENCY_FULL_FAST
6264

6365
@Retention(AnnotationRetention.SOURCE)
6466
@IntDef(
67+
HYPHENATION_FREQUENCY_NONE,
6568
HYPHENATION_FREQUENCY_NORMAL,
6669
HYPHENATION_FREQUENCY_NORMAL_FAST,
67-
HYPHENATION_FREQUENCY_NONE
70+
HYPHENATION_FREQUENCY_FULL,
71+
HYPHENATION_FREQUENCY_FULL_FAST
72+
6873
)
6974
internal annotation class HyphenationFrequency
7075

0 commit comments

Comments
 (0)