Move ui-test-font to testutils-fonts

This allows the test fonts to be used by both Compose and non-compose
androidx modules.

Update TypefaceCompat.create tests to use new fonts.

Bug: b/145311058
Test: ./gradlew cAT test
Change-Id: Ief0d672c9571a13e5471ed03e1f35fb00cc5347f
diff --git a/compose/foundation/foundation/build.gradle b/compose/foundation/foundation/build.gradle
index 600eccf..bde17ce 100644
--- a/compose/foundation/foundation/build.gradle
+++ b/compose/foundation/foundation/build.gradle
@@ -56,7 +56,7 @@
         testImplementation(libs.mockitoKotlin)
 
         androidTestImplementation(project(":compose:test-utils"))
-        androidTestImplementation(project(":compose:ui:ui-test-font"))
+        androidTestImplementation(project(":internal-testutils-fonts"))
         androidTestImplementation(project(":test:screenshot:screenshot"))
         androidTestImplementation(project(":internal-testutils-runtime"))
         androidTestImplementation(libs.testUiautomator)
@@ -126,7 +126,7 @@
 
             androidAndroidTest.dependencies {
                 implementation(project(":compose:test-utils"))
-                implementation(project(":compose:ui:ui-test-font"))
+                implementation(project(":internal-testutils-fonts"))
                 implementation(project(":test:screenshot:screenshot"))
                 implementation(project(":internal-testutils-runtime"))
                 implementation("androidx.activity:activity-compose:1.3.1")
diff --git a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text/TextTestExtensions.kt b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text/TextTestExtensions.kt
index 9d39d05d..c9a5157 100644
--- a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text/TextTestExtensions.kt
+++ b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text/TextTestExtensions.kt
@@ -18,8 +18,8 @@
 import androidx.compose.ui.text.font.Font
 import androidx.compose.ui.text.font.FontStyle
 import androidx.compose.ui.text.font.FontWeight
-import androidx.compose.ui.text.font.test.R
 import androidx.compose.ui.text.font.toFontFamily
+import androidx.testutils.fonts.R
 import kotlin.math.ceil
 import kotlin.math.roundToInt
 
diff --git a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/textfield/TextFieldTest.kt b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/textfield/TextFieldTest.kt
index bc9aafc..47e4c4b 100644
--- a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/textfield/TextFieldTest.kt
+++ b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/textfield/TextFieldTest.kt
@@ -105,7 +105,6 @@
 import androidx.compose.ui.text.font.FontStyle
 import androidx.compose.ui.text.font.FontSynthesis
 import androidx.compose.ui.text.font.FontWeight
-import androidx.compose.ui.text.font.test.R
 import androidx.compose.ui.text.font.toFontFamily
 import androidx.compose.ui.text.input.CommitTextCommand
 import androidx.compose.ui.text.input.EditCommand
@@ -136,6 +135,7 @@
 import androidx.test.filters.LargeTest
 import androidx.test.filters.MediumTest
 import androidx.test.filters.SdkSuppress
+import androidx.testutils.fonts.R
 import com.google.common.truth.Truth.assertThat
 import com.google.common.truth.Truth.assertWithMessage
 import com.nhaarman.mockitokotlin2.any
diff --git a/compose/ui/ui-inspection/build.gradle b/compose/ui/ui-inspection/build.gradle
index c12cb4c..9a48117 100644
--- a/compose/ui/ui-inspection/build.gradle
+++ b/compose/ui/ui-inspection/build.gradle
@@ -50,7 +50,7 @@
     androidTestImplementation(project(":compose:ui:ui"))
     androidTestImplementation(project(":compose:ui:ui-util"))
     androidTestImplementation(project(":compose:ui:ui-test-junit4"))
-    androidTestImplementation(project(":compose:ui:ui-test-font"))
+    androidTestImplementation(project(":internal-testutils-fonts"))
     androidTestImplementation(project(":compose:material:material"))
     androidTestImplementation(project(":inspection:inspection-testing"))
     androidTestImplementation("androidx.activity:activity-compose:1.3.1")
diff --git a/compose/ui/ui-inspection/src/androidTest/java/androidx/compose/ui/inspection/inspector/LayoutInspectorTreeTest.kt b/compose/ui/ui-inspection/src/androidTest/java/androidx/compose/ui/inspection/inspector/LayoutInspectorTreeTest.kt
index 37e9f53..7e84739 100644
--- a/compose/ui/ui-inspection/src/androidTest/java/androidx/compose/ui/inspection/inspector/LayoutInspectorTreeTest.kt
+++ b/compose/ui/ui-inspection/src/androidTest/java/androidx/compose/ui/inspection/inspector/LayoutInspectorTreeTest.kt
@@ -114,7 +114,7 @@
     @get:Rule
     val composeTestRule = createAndroidComposeRule<TestActivity>()
 
-    private val fontFamily = Font(androidx.compose.ui.text.font.test.R.font.sample_font)
+    private val fontFamily = Font(androidx.testutils.fonts.R.font.sample_font)
         .toFontFamily()
 
     @Before
diff --git a/compose/ui/ui-test-font/api/1.0.0-beta02.txt b/compose/ui/ui-test-font/api/1.0.0-beta02.txt
deleted file mode 100644
index e6f50d0..0000000
--- a/compose/ui/ui-test-font/api/1.0.0-beta02.txt
+++ /dev/null
@@ -1 +0,0 @@
-// Signature format: 4.0
diff --git a/compose/ui/ui-test-font/api/1.0.0-beta03.txt b/compose/ui/ui-test-font/api/1.0.0-beta03.txt
deleted file mode 100644
index e6f50d0..0000000
--- a/compose/ui/ui-test-font/api/1.0.0-beta03.txt
+++ /dev/null
@@ -1 +0,0 @@
-// Signature format: 4.0
diff --git a/compose/ui/ui-test-font/api/1.0.0-beta04.txt b/compose/ui/ui-test-font/api/1.0.0-beta04.txt
deleted file mode 100644
index e6f50d0..0000000
--- a/compose/ui/ui-test-font/api/1.0.0-beta04.txt
+++ /dev/null
@@ -1 +0,0 @@
-// Signature format: 4.0
diff --git a/compose/ui/ui-test-font/api/1.0.0-beta05.txt b/compose/ui/ui-test-font/api/1.0.0-beta05.txt
deleted file mode 100644
index e6f50d0..0000000
--- a/compose/ui/ui-test-font/api/1.0.0-beta05.txt
+++ /dev/null
@@ -1 +0,0 @@
-// Signature format: 4.0
diff --git a/compose/ui/ui-test-font/api/1.0.0-beta06.txt b/compose/ui/ui-test-font/api/1.0.0-beta06.txt
deleted file mode 100644
index e6f50d0..0000000
--- a/compose/ui/ui-test-font/api/1.0.0-beta06.txt
+++ /dev/null
@@ -1 +0,0 @@
-// Signature format: 4.0
diff --git a/compose/ui/ui-test-font/api/1.0.0-beta07.txt b/compose/ui/ui-test-font/api/1.0.0-beta07.txt
deleted file mode 100644
index e6f50d0..0000000
--- a/compose/ui/ui-test-font/api/1.0.0-beta07.txt
+++ /dev/null
@@ -1 +0,0 @@
-// Signature format: 4.0
diff --git a/compose/ui/ui-test-font/api/1.0.0-beta08.txt b/compose/ui/ui-test-font/api/1.0.0-beta08.txt
deleted file mode 100644
index e6f50d0..0000000
--- a/compose/ui/ui-test-font/api/1.0.0-beta08.txt
+++ /dev/null
@@ -1 +0,0 @@
-// Signature format: 4.0
diff --git a/compose/ui/ui-test-font/api/1.0.0-beta09.txt b/compose/ui/ui-test-font/api/1.0.0-beta09.txt
deleted file mode 100644
index e6f50d0..0000000
--- a/compose/ui/ui-test-font/api/1.0.0-beta09.txt
+++ /dev/null
@@ -1 +0,0 @@
-// Signature format: 4.0
diff --git a/compose/ui/ui-test-font/api/1.0.0-beta10.txt b/compose/ui/ui-test-font/api/1.0.0-beta10.txt
deleted file mode 100644
index e6f50d0..0000000
--- a/compose/ui/ui-test-font/api/1.0.0-beta10.txt
+++ /dev/null
@@ -1 +0,0 @@
-// Signature format: 4.0
diff --git a/compose/ui/ui-test-font/api/1.1.0-beta02.txt b/compose/ui/ui-test-font/api/1.1.0-beta02.txt
deleted file mode 100644
index e6f50d0..0000000
--- a/compose/ui/ui-test-font/api/1.1.0-beta02.txt
+++ /dev/null
@@ -1 +0,0 @@
-// Signature format: 4.0
diff --git a/compose/ui/ui-test-font/api/1.1.0-beta03.txt b/compose/ui/ui-test-font/api/1.1.0-beta03.txt
deleted file mode 100644
index e6f50d0..0000000
--- a/compose/ui/ui-test-font/api/1.1.0-beta03.txt
+++ /dev/null
@@ -1 +0,0 @@
-// Signature format: 4.0
diff --git a/compose/ui/ui-test-font/api/1.1.0-beta04.txt b/compose/ui/ui-test-font/api/1.1.0-beta04.txt
deleted file mode 100644
index e6f50d0..0000000
--- a/compose/ui/ui-test-font/api/1.1.0-beta04.txt
+++ /dev/null
@@ -1 +0,0 @@
-// Signature format: 4.0
diff --git a/compose/ui/ui-test-font/api/1.1.0-beta05.txt b/compose/ui/ui-test-font/api/1.1.0-beta05.txt
deleted file mode 100644
index e6f50d0..0000000
--- a/compose/ui/ui-test-font/api/1.1.0-beta05.txt
+++ /dev/null
@@ -1 +0,0 @@
-// Signature format: 4.0
diff --git a/compose/ui/ui-test-font/api/1.2.0-beta01.txt b/compose/ui/ui-test-font/api/1.2.0-beta01.txt
deleted file mode 100644
index e6f50d0..0000000
--- a/compose/ui/ui-test-font/api/1.2.0-beta01.txt
+++ /dev/null
@@ -1 +0,0 @@
-// Signature format: 4.0
diff --git a/compose/ui/ui-test-font/api/1.2.0-beta02.txt b/compose/ui/ui-test-font/api/1.2.0-beta02.txt
deleted file mode 100644
index e6f50d0..0000000
--- a/compose/ui/ui-test-font/api/1.2.0-beta02.txt
+++ /dev/null
@@ -1 +0,0 @@
-// Signature format: 4.0
diff --git a/compose/ui/ui-test-font/api/1.2.0-beta03.txt b/compose/ui/ui-test-font/api/1.2.0-beta03.txt
deleted file mode 100644
index e6f50d0..0000000
--- a/compose/ui/ui-test-font/api/1.2.0-beta03.txt
+++ /dev/null
@@ -1 +0,0 @@
-// Signature format: 4.0
diff --git a/compose/ui/ui-test-font/api/1.2.0-beta04.txt b/compose/ui/ui-test-font/api/1.2.0-beta04.txt
deleted file mode 100644
index e6f50d0..0000000
--- a/compose/ui/ui-test-font/api/1.2.0-beta04.txt
+++ /dev/null
@@ -1 +0,0 @@
-// Signature format: 4.0
diff --git a/compose/ui/ui-test-font/api/current.txt b/compose/ui/ui-test-font/api/current.txt
deleted file mode 100644
index e6f50d0..0000000
--- a/compose/ui/ui-test-font/api/current.txt
+++ /dev/null
@@ -1 +0,0 @@
-// Signature format: 4.0
diff --git a/compose/ui/ui-test-font/api/public_plus_experimental_1.0.0-beta02.txt b/compose/ui/ui-test-font/api/public_plus_experimental_1.0.0-beta02.txt
deleted file mode 100644
index e6f50d0..0000000
--- a/compose/ui/ui-test-font/api/public_plus_experimental_1.0.0-beta02.txt
+++ /dev/null
@@ -1 +0,0 @@
-// Signature format: 4.0
diff --git a/compose/ui/ui-test-font/api/public_plus_experimental_1.0.0-beta03.txt b/compose/ui/ui-test-font/api/public_plus_experimental_1.0.0-beta03.txt
deleted file mode 100644
index e6f50d0..0000000
--- a/compose/ui/ui-test-font/api/public_plus_experimental_1.0.0-beta03.txt
+++ /dev/null
@@ -1 +0,0 @@
-// Signature format: 4.0
diff --git a/compose/ui/ui-test-font/api/public_plus_experimental_1.0.0-beta04.txt b/compose/ui/ui-test-font/api/public_plus_experimental_1.0.0-beta04.txt
deleted file mode 100644
index e6f50d0..0000000
--- a/compose/ui/ui-test-font/api/public_plus_experimental_1.0.0-beta04.txt
+++ /dev/null
@@ -1 +0,0 @@
-// Signature format: 4.0
diff --git a/compose/ui/ui-test-font/api/public_plus_experimental_1.0.0-beta05.txt b/compose/ui/ui-test-font/api/public_plus_experimental_1.0.0-beta05.txt
deleted file mode 100644
index e6f50d0..0000000
--- a/compose/ui/ui-test-font/api/public_plus_experimental_1.0.0-beta05.txt
+++ /dev/null
@@ -1 +0,0 @@
-// Signature format: 4.0
diff --git a/compose/ui/ui-test-font/api/public_plus_experimental_1.0.0-beta06.txt b/compose/ui/ui-test-font/api/public_plus_experimental_1.0.0-beta06.txt
deleted file mode 100644
index e6f50d0..0000000
--- a/compose/ui/ui-test-font/api/public_plus_experimental_1.0.0-beta06.txt
+++ /dev/null
@@ -1 +0,0 @@
-// Signature format: 4.0
diff --git a/compose/ui/ui-test-font/api/public_plus_experimental_1.0.0-beta07.txt b/compose/ui/ui-test-font/api/public_plus_experimental_1.0.0-beta07.txt
deleted file mode 100644
index e6f50d0..0000000
--- a/compose/ui/ui-test-font/api/public_plus_experimental_1.0.0-beta07.txt
+++ /dev/null
@@ -1 +0,0 @@
-// Signature format: 4.0
diff --git a/compose/ui/ui-test-font/api/public_plus_experimental_1.0.0-beta08.txt b/compose/ui/ui-test-font/api/public_plus_experimental_1.0.0-beta08.txt
deleted file mode 100644
index e6f50d0..0000000
--- a/compose/ui/ui-test-font/api/public_plus_experimental_1.0.0-beta08.txt
+++ /dev/null
@@ -1 +0,0 @@
-// Signature format: 4.0
diff --git a/compose/ui/ui-test-font/api/public_plus_experimental_1.0.0-beta09.txt b/compose/ui/ui-test-font/api/public_plus_experimental_1.0.0-beta09.txt
deleted file mode 100644
index e6f50d0..0000000
--- a/compose/ui/ui-test-font/api/public_plus_experimental_1.0.0-beta09.txt
+++ /dev/null
@@ -1 +0,0 @@
-// Signature format: 4.0
diff --git a/compose/ui/ui-test-font/api/public_plus_experimental_1.0.0-beta10.txt b/compose/ui/ui-test-font/api/public_plus_experimental_1.0.0-beta10.txt
deleted file mode 100644
index e6f50d0..0000000
--- a/compose/ui/ui-test-font/api/public_plus_experimental_1.0.0-beta10.txt
+++ /dev/null
@@ -1 +0,0 @@
-// Signature format: 4.0
diff --git a/compose/ui/ui-test-font/api/public_plus_experimental_1.1.0-beta02.txt b/compose/ui/ui-test-font/api/public_plus_experimental_1.1.0-beta02.txt
deleted file mode 100644
index e6f50d0..0000000
--- a/compose/ui/ui-test-font/api/public_plus_experimental_1.1.0-beta02.txt
+++ /dev/null
@@ -1 +0,0 @@
-// Signature format: 4.0
diff --git a/compose/ui/ui-test-font/api/public_plus_experimental_1.1.0-beta03.txt b/compose/ui/ui-test-font/api/public_plus_experimental_1.1.0-beta03.txt
deleted file mode 100644
index e6f50d0..0000000
--- a/compose/ui/ui-test-font/api/public_plus_experimental_1.1.0-beta03.txt
+++ /dev/null
@@ -1 +0,0 @@
-// Signature format: 4.0
diff --git a/compose/ui/ui-test-font/api/public_plus_experimental_1.1.0-beta04.txt b/compose/ui/ui-test-font/api/public_plus_experimental_1.1.0-beta04.txt
deleted file mode 100644
index e6f50d0..0000000
--- a/compose/ui/ui-test-font/api/public_plus_experimental_1.1.0-beta04.txt
+++ /dev/null
@@ -1 +0,0 @@
-// Signature format: 4.0
diff --git a/compose/ui/ui-test-font/api/public_plus_experimental_1.1.0-beta05.txt b/compose/ui/ui-test-font/api/public_plus_experimental_1.1.0-beta05.txt
deleted file mode 100644
index e6f50d0..0000000
--- a/compose/ui/ui-test-font/api/public_plus_experimental_1.1.0-beta05.txt
+++ /dev/null
@@ -1 +0,0 @@
-// Signature format: 4.0
diff --git a/compose/ui/ui-test-font/api/public_plus_experimental_1.2.0-beta01.txt b/compose/ui/ui-test-font/api/public_plus_experimental_1.2.0-beta01.txt
deleted file mode 100644
index e6f50d0..0000000
--- a/compose/ui/ui-test-font/api/public_plus_experimental_1.2.0-beta01.txt
+++ /dev/null
@@ -1 +0,0 @@
-// Signature format: 4.0
diff --git a/compose/ui/ui-test-font/api/public_plus_experimental_1.2.0-beta02.txt b/compose/ui/ui-test-font/api/public_plus_experimental_1.2.0-beta02.txt
deleted file mode 100644
index e6f50d0..0000000
--- a/compose/ui/ui-test-font/api/public_plus_experimental_1.2.0-beta02.txt
+++ /dev/null
@@ -1 +0,0 @@
-// Signature format: 4.0
diff --git a/compose/ui/ui-test-font/api/public_plus_experimental_1.2.0-beta03.txt b/compose/ui/ui-test-font/api/public_plus_experimental_1.2.0-beta03.txt
deleted file mode 100644
index e6f50d0..0000000
--- a/compose/ui/ui-test-font/api/public_plus_experimental_1.2.0-beta03.txt
+++ /dev/null
@@ -1 +0,0 @@
-// Signature format: 4.0
diff --git a/compose/ui/ui-test-font/api/public_plus_experimental_1.2.0-beta04.txt b/compose/ui/ui-test-font/api/public_plus_experimental_1.2.0-beta04.txt
deleted file mode 100644
index e6f50d0..0000000
--- a/compose/ui/ui-test-font/api/public_plus_experimental_1.2.0-beta04.txt
+++ /dev/null
@@ -1 +0,0 @@
-// Signature format: 4.0
diff --git a/compose/ui/ui-test-font/api/public_plus_experimental_current.txt b/compose/ui/ui-test-font/api/public_plus_experimental_current.txt
deleted file mode 100644
index e6f50d0..0000000
--- a/compose/ui/ui-test-font/api/public_plus_experimental_current.txt
+++ /dev/null
@@ -1 +0,0 @@
-// Signature format: 4.0
diff --git a/compose/ui/ui-test-font/api/res-1.0.0-beta02.txt b/compose/ui/ui-test-font/api/res-1.0.0-beta02.txt
deleted file mode 100644
index e69de29..0000000
--- a/compose/ui/ui-test-font/api/res-1.0.0-beta02.txt
+++ /dev/null
diff --git a/compose/ui/ui-test-font/api/res-1.0.0-beta03.txt b/compose/ui/ui-test-font/api/res-1.0.0-beta03.txt
deleted file mode 100644
index e69de29..0000000
--- a/compose/ui/ui-test-font/api/res-1.0.0-beta03.txt
+++ /dev/null
diff --git a/compose/ui/ui-test-font/api/res-1.0.0-beta04.txt b/compose/ui/ui-test-font/api/res-1.0.0-beta04.txt
deleted file mode 100644
index e69de29..0000000
--- a/compose/ui/ui-test-font/api/res-1.0.0-beta04.txt
+++ /dev/null
diff --git a/compose/ui/ui-test-font/api/res-1.0.0-beta05.txt b/compose/ui/ui-test-font/api/res-1.0.0-beta05.txt
deleted file mode 100644
index e69de29..0000000
--- a/compose/ui/ui-test-font/api/res-1.0.0-beta05.txt
+++ /dev/null
diff --git a/compose/ui/ui-test-font/api/res-1.0.0-beta06.txt b/compose/ui/ui-test-font/api/res-1.0.0-beta06.txt
deleted file mode 100644
index e69de29..0000000
--- a/compose/ui/ui-test-font/api/res-1.0.0-beta06.txt
+++ /dev/null
diff --git a/compose/ui/ui-test-font/api/res-1.0.0-beta07.txt b/compose/ui/ui-test-font/api/res-1.0.0-beta07.txt
deleted file mode 100644
index e69de29..0000000
--- a/compose/ui/ui-test-font/api/res-1.0.0-beta07.txt
+++ /dev/null
diff --git a/compose/ui/ui-test-font/api/res-1.0.0-beta08.txt b/compose/ui/ui-test-font/api/res-1.0.0-beta08.txt
deleted file mode 100644
index e69de29..0000000
--- a/compose/ui/ui-test-font/api/res-1.0.0-beta08.txt
+++ /dev/null
diff --git a/compose/ui/ui-test-font/api/res-1.0.0-beta09.txt b/compose/ui/ui-test-font/api/res-1.0.0-beta09.txt
deleted file mode 100644
index e69de29..0000000
--- a/compose/ui/ui-test-font/api/res-1.0.0-beta09.txt
+++ /dev/null
diff --git a/compose/ui/ui-test-font/api/res-1.0.0-beta10.txt b/compose/ui/ui-test-font/api/res-1.0.0-beta10.txt
deleted file mode 100644
index e69de29..0000000
--- a/compose/ui/ui-test-font/api/res-1.0.0-beta10.txt
+++ /dev/null
diff --git a/compose/ui/ui-test-font/api/res-1.1.0-beta02.txt b/compose/ui/ui-test-font/api/res-1.1.0-beta02.txt
deleted file mode 100644
index e69de29..0000000
--- a/compose/ui/ui-test-font/api/res-1.1.0-beta02.txt
+++ /dev/null
diff --git a/compose/ui/ui-test-font/api/res-1.1.0-beta03.txt b/compose/ui/ui-test-font/api/res-1.1.0-beta03.txt
deleted file mode 100644
index e69de29..0000000
--- a/compose/ui/ui-test-font/api/res-1.1.0-beta03.txt
+++ /dev/null
diff --git a/compose/ui/ui-test-font/api/res-1.1.0-beta04.txt b/compose/ui/ui-test-font/api/res-1.1.0-beta04.txt
deleted file mode 100644
index e69de29..0000000
--- a/compose/ui/ui-test-font/api/res-1.1.0-beta04.txt
+++ /dev/null
diff --git a/compose/ui/ui-test-font/api/res-1.1.0-beta05.txt b/compose/ui/ui-test-font/api/res-1.1.0-beta05.txt
deleted file mode 100644
index e69de29..0000000
--- a/compose/ui/ui-test-font/api/res-1.1.0-beta05.txt
+++ /dev/null
diff --git a/compose/ui/ui-test-font/api/res-1.2.0-beta01.txt b/compose/ui/ui-test-font/api/res-1.2.0-beta01.txt
deleted file mode 100644
index e69de29..0000000
--- a/compose/ui/ui-test-font/api/res-1.2.0-beta01.txt
+++ /dev/null
diff --git a/compose/ui/ui-test-font/api/res-1.2.0-beta02.txt b/compose/ui/ui-test-font/api/res-1.2.0-beta02.txt
deleted file mode 100644
index e69de29..0000000
--- a/compose/ui/ui-test-font/api/res-1.2.0-beta02.txt
+++ /dev/null
diff --git a/compose/ui/ui-test-font/api/res-1.2.0-beta03.txt b/compose/ui/ui-test-font/api/res-1.2.0-beta03.txt
deleted file mode 100644
index e69de29..0000000
--- a/compose/ui/ui-test-font/api/res-1.2.0-beta03.txt
+++ /dev/null
diff --git a/compose/ui/ui-test-font/api/res-1.2.0-beta04.txt b/compose/ui/ui-test-font/api/res-1.2.0-beta04.txt
deleted file mode 100644
index e69de29..0000000
--- a/compose/ui/ui-test-font/api/res-1.2.0-beta04.txt
+++ /dev/null
diff --git a/compose/ui/ui-test-font/api/res-current.txt b/compose/ui/ui-test-font/api/res-current.txt
deleted file mode 100644
index e69de29..0000000
--- a/compose/ui/ui-test-font/api/res-current.txt
+++ /dev/null
diff --git a/compose/ui/ui-test-font/api/restricted_1.0.0-beta02.txt b/compose/ui/ui-test-font/api/restricted_1.0.0-beta02.txt
deleted file mode 100644
index e6f50d0..0000000
--- a/compose/ui/ui-test-font/api/restricted_1.0.0-beta02.txt
+++ /dev/null
@@ -1 +0,0 @@
-// Signature format: 4.0
diff --git a/compose/ui/ui-test-font/api/restricted_1.0.0-beta03.txt b/compose/ui/ui-test-font/api/restricted_1.0.0-beta03.txt
deleted file mode 100644
index e6f50d0..0000000
--- a/compose/ui/ui-test-font/api/restricted_1.0.0-beta03.txt
+++ /dev/null
@@ -1 +0,0 @@
-// Signature format: 4.0
diff --git a/compose/ui/ui-test-font/api/restricted_1.0.0-beta04.txt b/compose/ui/ui-test-font/api/restricted_1.0.0-beta04.txt
deleted file mode 100644
index e6f50d0..0000000
--- a/compose/ui/ui-test-font/api/restricted_1.0.0-beta04.txt
+++ /dev/null
@@ -1 +0,0 @@
-// Signature format: 4.0
diff --git a/compose/ui/ui-test-font/api/restricted_1.0.0-beta05.txt b/compose/ui/ui-test-font/api/restricted_1.0.0-beta05.txt
deleted file mode 100644
index e6f50d0..0000000
--- a/compose/ui/ui-test-font/api/restricted_1.0.0-beta05.txt
+++ /dev/null
@@ -1 +0,0 @@
-// Signature format: 4.0
diff --git a/compose/ui/ui-test-font/api/restricted_1.0.0-beta06.txt b/compose/ui/ui-test-font/api/restricted_1.0.0-beta06.txt
deleted file mode 100644
index e6f50d0..0000000
--- a/compose/ui/ui-test-font/api/restricted_1.0.0-beta06.txt
+++ /dev/null
@@ -1 +0,0 @@
-// Signature format: 4.0
diff --git a/compose/ui/ui-test-font/api/restricted_1.0.0-beta07.txt b/compose/ui/ui-test-font/api/restricted_1.0.0-beta07.txt
deleted file mode 100644
index e6f50d0..0000000
--- a/compose/ui/ui-test-font/api/restricted_1.0.0-beta07.txt
+++ /dev/null
@@ -1 +0,0 @@
-// Signature format: 4.0
diff --git a/compose/ui/ui-test-font/api/restricted_1.0.0-beta08.txt b/compose/ui/ui-test-font/api/restricted_1.0.0-beta08.txt
deleted file mode 100644
index e6f50d0..0000000
--- a/compose/ui/ui-test-font/api/restricted_1.0.0-beta08.txt
+++ /dev/null
@@ -1 +0,0 @@
-// Signature format: 4.0
diff --git a/compose/ui/ui-test-font/api/restricted_1.0.0-beta09.txt b/compose/ui/ui-test-font/api/restricted_1.0.0-beta09.txt
deleted file mode 100644
index e6f50d0..0000000
--- a/compose/ui/ui-test-font/api/restricted_1.0.0-beta09.txt
+++ /dev/null
@@ -1 +0,0 @@
-// Signature format: 4.0
diff --git a/compose/ui/ui-test-font/api/restricted_1.0.0-beta10.txt b/compose/ui/ui-test-font/api/restricted_1.0.0-beta10.txt
deleted file mode 100644
index e6f50d0..0000000
--- a/compose/ui/ui-test-font/api/restricted_1.0.0-beta10.txt
+++ /dev/null
@@ -1 +0,0 @@
-// Signature format: 4.0
diff --git a/compose/ui/ui-test-font/api/restricted_1.1.0-beta02.txt b/compose/ui/ui-test-font/api/restricted_1.1.0-beta02.txt
deleted file mode 100644
index e6f50d0..0000000
--- a/compose/ui/ui-test-font/api/restricted_1.1.0-beta02.txt
+++ /dev/null
@@ -1 +0,0 @@
-// Signature format: 4.0
diff --git a/compose/ui/ui-test-font/api/restricted_1.1.0-beta03.txt b/compose/ui/ui-test-font/api/restricted_1.1.0-beta03.txt
deleted file mode 100644
index e6f50d0..0000000
--- a/compose/ui/ui-test-font/api/restricted_1.1.0-beta03.txt
+++ /dev/null
@@ -1 +0,0 @@
-// Signature format: 4.0
diff --git a/compose/ui/ui-test-font/api/restricted_1.1.0-beta04.txt b/compose/ui/ui-test-font/api/restricted_1.1.0-beta04.txt
deleted file mode 100644
index e6f50d0..0000000
--- a/compose/ui/ui-test-font/api/restricted_1.1.0-beta04.txt
+++ /dev/null
@@ -1 +0,0 @@
-// Signature format: 4.0
diff --git a/compose/ui/ui-test-font/api/restricted_1.1.0-beta05.txt b/compose/ui/ui-test-font/api/restricted_1.1.0-beta05.txt
deleted file mode 100644
index e6f50d0..0000000
--- a/compose/ui/ui-test-font/api/restricted_1.1.0-beta05.txt
+++ /dev/null
@@ -1 +0,0 @@
-// Signature format: 4.0
diff --git a/compose/ui/ui-test-font/api/restricted_1.2.0-beta01.txt b/compose/ui/ui-test-font/api/restricted_1.2.0-beta01.txt
deleted file mode 100644
index e6f50d0..0000000
--- a/compose/ui/ui-test-font/api/restricted_1.2.0-beta01.txt
+++ /dev/null
@@ -1 +0,0 @@
-// Signature format: 4.0
diff --git a/compose/ui/ui-test-font/api/restricted_1.2.0-beta02.txt b/compose/ui/ui-test-font/api/restricted_1.2.0-beta02.txt
deleted file mode 100644
index e6f50d0..0000000
--- a/compose/ui/ui-test-font/api/restricted_1.2.0-beta02.txt
+++ /dev/null
@@ -1 +0,0 @@
-// Signature format: 4.0
diff --git a/compose/ui/ui-test-font/api/restricted_1.2.0-beta03.txt b/compose/ui/ui-test-font/api/restricted_1.2.0-beta03.txt
deleted file mode 100644
index e6f50d0..0000000
--- a/compose/ui/ui-test-font/api/restricted_1.2.0-beta03.txt
+++ /dev/null
@@ -1 +0,0 @@
-// Signature format: 4.0
diff --git a/compose/ui/ui-test-font/api/restricted_1.2.0-beta04.txt b/compose/ui/ui-test-font/api/restricted_1.2.0-beta04.txt
deleted file mode 100644
index e6f50d0..0000000
--- a/compose/ui/ui-test-font/api/restricted_1.2.0-beta04.txt
+++ /dev/null
@@ -1 +0,0 @@
-// Signature format: 4.0
diff --git a/compose/ui/ui-test-font/api/restricted_current.txt b/compose/ui/ui-test-font/api/restricted_current.txt
deleted file mode 100644
index e6f50d0..0000000
--- a/compose/ui/ui-test-font/api/restricted_current.txt
+++ /dev/null
@@ -1 +0,0 @@
-// Signature format: 4.0
diff --git a/compose/ui/ui-test-font/build.gradle b/compose/ui/ui-test-font/build.gradle
deleted file mode 100644
index 33725cf..0000000
--- a/compose/ui/ui-test-font/build.gradle
+++ /dev/null
@@ -1,68 +0,0 @@
-/*
- * Copyright 2019 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-import androidx.build.AndroidXComposePlugin
-import androidx.build.LibraryType
-import androidx.build.Publish
-import androidx.build.RunApiTasks
-import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
-
-plugins {
-    id("AndroidXPlugin")
-    id("com.android.library")
-    id("AndroidXComposePlugin")
-}
-
-AndroidXComposePlugin.applyAndConfigureKotlinPlugin(project)
-
-if(AndroidXComposePlugin.isMultiplatformEnabled(project)) {
-    androidXComposeMultiplatform {
-        android()
-        desktop()
-    }
-
-    android {
-        sourceSets {
-            main {
-                res.srcDirs += "src/commonMain/resources"
-                res.srcDirs += "src/androidMain/res"
-            }
-        }
-    }
-}
-
-androidx {
-    name = "Compose Test Font resources"
-    type = LibraryType.INTERNAL_TEST_LIBRARY
-    publish = Publish.NONE
-    mavenGroup = LibraryGroups.COMPOSE_UI
-    inceptionYear = "2020"
-    description = "Fonts designed for testing text capabilities"
-    runApiTasks = new RunApiTasks.Yes()
-    legacyDisableKotlinStrictApiMode = true
-}
-
-android {
-    namespace "androidx.compose.ui.text.font.test"
-}
-
-tasks.withType(KotlinCompile).configureEach {
-    kotlinOptions {
-        freeCompilerArgs += [
-                "-Xjvm-default=all",
-        ]
-    }
-}
diff --git a/compose/ui/ui-text/build.gradle b/compose/ui/ui-text/build.gradle
index 2a8df57..29431bf 100644
--- a/compose/ui/ui-text/build.gradle
+++ b/compose/ui/ui-text/build.gradle
@@ -48,7 +48,7 @@
         implementation("androidx.core:core:1.5.0")
         implementation('androidx.collection:collection:1.0.0')
 
-        testImplementation(project(":compose:ui:ui-test-font"))
+        testImplementation(project(":internal-testutils-fonts"))
         testImplementation(libs.testRules)
         testImplementation(libs.testRunner)
         testImplementation(libs.junit)
@@ -58,7 +58,7 @@
         testImplementation(libs.kotlinTest)
         testImplementation(libs.mockitoKotlin)
 
-        androidTestImplementation(project(":compose:ui:ui-test-font"))
+        androidTestImplementation(project(":internal-testutils-fonts"))
         androidTestImplementation(project(":compose:ui:ui-test-junit4"))
         androidTestImplementation(libs.testCore)
         androidTestImplementation(libs.testRules)
@@ -137,7 +137,7 @@
             //  level dependencies block instead:
             //  `dependencies { testImplementation(libs.robolectric) }`
             androidTest.dependencies {
-                implementation(project(":compose:ui:ui-test-font"))
+                implementation(project(":internal-testutils-fonts"))
                 implementation(libs.testRules)
                 implementation(libs.testRunner)
                 implementation(libs.junit)
@@ -150,7 +150,7 @@
 
             androidAndroidTest.dependencies {
                 implementation(project(":compose:ui:ui-test-junit4"))
-                implementation(project(":compose:ui:ui-test-font"))
+                implementation(project(":internal-testutils-fonts"))
                 implementation(libs.testRules)
                 implementation(libs.testRunner)
                 implementation(libs.espressoCore)
@@ -168,7 +168,7 @@
                 implementation(libs.skikoCurrentOs)
                 implementation(project(":compose:foundation:foundation"))
                 implementation(project(":compose:ui:ui-test-junit4"))
-                implementation(project(":compose:ui:ui-test-font"))
+                implementation(project(":internal-testutils-fonts"))
             }
         }
     }
diff --git a/compose/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/ui/text/FontTestData.kt b/compose/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/ui/text/FontTestData.kt
index 5923c46..9e8e21e 100644
--- a/compose/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/ui/text/FontTestData.kt
+++ b/compose/ui/ui-text/src/androidAndroidTest/kotlin/androidx/compose/ui/text/FontTestData.kt
@@ -19,7 +19,7 @@
 import androidx.compose.ui.text.font.Font
 import androidx.compose.ui.text.font.FontStyle
 import androidx.compose.ui.text.font.FontWeight
-import androidx.compose.ui.text.font.test.R
+import androidx.testutils.fonts.R
 
 class FontTestData {
     @OptIn(ExperimentalTextApi::class)
diff --git a/compose/ui/ui/build.gradle b/compose/ui/ui/build.gradle
index b72c9cc..6102886 100644
--- a/compose/ui/ui/build.gradle
+++ b/compose/ui/ui/build.gradle
@@ -96,7 +96,7 @@
         androidTestImplementation(project(":compose:foundation:foundation-layout"))
         androidTestImplementation(project(":compose:material:material"))
         androidTestImplementation(project(":compose:test-utils"))
-        androidTestImplementation(project(":compose:ui:ui-test-font"))
+        androidTestImplementation(project(":internal-testutils-fonts"))
         androidTestImplementation(project(":compose:ui:ui-test-junit4"))
         androidTestImplementation(project(":test:screenshot:screenshot"))
         androidTestImplementation("androidx.recyclerview:recyclerview:1.1.0")
@@ -188,7 +188,7 @@
                 implementation(libs.mockitoCore)
                 implementation(libs.mockitoKotlin)
                 implementation(project(":compose:ui:ui-test-junit4"))
-                implementation(project(":compose:ui:ui-test-font"))
+                implementation(project(":internal-testutils-fonts"))
                 implementation(project(":compose:test-utils"))
             }
 
@@ -213,7 +213,7 @@
                 implementation(project(":compose:foundation:foundation-layout"))
                 implementation(project(":compose:material:material"))
                 implementation(project(":compose:test-utils"))
-                implementation(project(":compose:ui:ui-test-font"))
+                implementation(project(":internal-testutils-fonts"))
                 implementation(project(":compose:ui:ui-test-junit4"))
                 implementation(project(":test:screenshot:screenshot"))
                 implementation("androidx.recyclerview:recyclerview:1.1.0")
diff --git a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/AccessibilityIteratorsTest.kt b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/AccessibilityIteratorsTest.kt
index 72c4629..0d24dca 100644
--- a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/AccessibilityIteratorsTest.kt
+++ b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/AccessibilityIteratorsTest.kt
@@ -434,7 +434,7 @@
                     style = TextStyle(
                         fontSize = fontSize,
                         fontFamily = Font(
-                            resId = androidx.compose.ui.text.font.test.R.font.sample_font,
+                            resId = androidx.testutils.R.font.sample_font,
                             weight = FontWeight.Normal,
                             style = FontStyle.Normal
                         ).toFontFamily()
diff --git a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/input/CursorAnchorInfoBuilderTest.kt b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/input/CursorAnchorInfoBuilderTest.kt
index 835a094..d676119 100644
--- a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/input/CursorAnchorInfoBuilderTest.kt
+++ b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/input/CursorAnchorInfoBuilderTest.kt
@@ -28,7 +28,6 @@
 import androidx.compose.ui.text.font.FontStyle
 import androidx.compose.ui.text.font.FontWeight
 import androidx.compose.ui.text.font.createFontFamilyResolver
-import androidx.compose.ui.text.font.test.R
 import androidx.compose.ui.text.font.toFontFamily
 import androidx.compose.ui.text.input.TextFieldValue
 import androidx.compose.ui.text.input.build
@@ -42,6 +41,7 @@
 import androidx.test.ext.junit.runners.AndroidJUnit4
 import androidx.test.filters.SmallTest
 import androidx.test.platform.app.InstrumentationRegistry
+import androidx.testutils.R
 import com.google.common.truth.Truth.assertThat
 import kotlin.math.ceil
 import org.junit.Test
diff --git a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/platform/AndroidFontResourceLoaderTest.kt b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/platform/AndroidFontResourceLoaderTest.kt
index 6a14c2d..2f350c1 100644
--- a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/platform/AndroidFontResourceLoaderTest.kt
+++ b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/platform/AndroidFontResourceLoaderTest.kt
@@ -20,10 +20,10 @@
 import androidx.compose.ui.text.font.Font
 import androidx.compose.ui.text.font.FontStyle
 import androidx.compose.ui.text.font.FontWeight
-import androidx.compose.ui.text.font.test.R
 import androidx.test.ext.junit.runners.AndroidJUnit4
 import androidx.test.filters.MediumTest
 import androidx.test.platform.app.InstrumentationRegistry
+import androidx.testutils.R
 import com.google.common.truth.Truth.assertThat
 import org.junit.Test
 import org.junit.runner.RunWith
diff --git a/core/core/build.gradle b/core/core/build.gradle
index 7815d5b..68e9534 100644
--- a/core/core/build.gradle
+++ b/core/core/build.gradle
@@ -49,6 +49,7 @@
     androidTestImplementation(project(":internal-testutils-runtime"), {
         exclude group: "androidx.core", module: "core"
     })
+    androidTestImplementation(project(":internal-testutils-fonts"))
     androidTestImplementation(project(":internal-testutils-mockito"))
 
     testImplementation(libs.junit)
diff --git a/core/core/src/androidTest/java/androidx/core/graphics/TypefaceCompatTest.java b/core/core/src/androidTest/java/androidx/core/graphics/TypefaceCompatTest.java
index 5771261..4fe35fa 100644
--- a/core/core/src/androidTest/java/androidx/core/graphics/TypefaceCompatTest.java
+++ b/core/core/src/androidTest/java/androidx/core/graphics/TypefaceCompatTest.java
@@ -48,6 +48,7 @@
 import androidx.test.filters.SdkSuppress;
 import androidx.test.filters.SmallTest;
 import androidx.test.platform.app.InstrumentationRegistry;
+import androidx.testutils.WeightStyleFont;
 
 import com.google.common.truth.Truth;
 
@@ -537,12 +538,15 @@
     @Test
     @SdkSuppress(minSdkVersion = 18) // API 14-20 backport fails on 17
     public void testTypeFaceCompatCreateWithExactStyle_upright() {
+        doTypefaceCreate(false);
+    }
+
+    private void doTypefaceCreate(boolean italic) {
         final Typeface family = ResourcesCompat.getFont(mContext, R.font.weighttestfont);
         assertNotNull(family);
 
-        final int[] weights = new int[]{1, 100, 200, 300, 400, 500, 600, 700, 800, 900, 1000};
+        final int[] weights = new int[]{100, 400, 900};
         final float[] widths = new float[weights.length];
-        final boolean[] italics = new boolean[weights.length];
 
         Paint p = new Paint();
         p.setTextSize(120);
@@ -551,96 +555,36 @@
         for (int i = 0, size = weights.length; i < size; i++) {
             final int weight = weights[i];
             final Typeface t = TypefaceCompat.create(mContext, family, weight, false);
+            char wideChar = new WeightStyleFont().getWideCharacter(weight, italic);
             p.setTypeface(t);
-            widths[i] = p.measureText("W");
-            italics[i] = t.isItalic();
+            widths[i] = p.measureText("" + wideChar);
         }
 
+        float expectedWeight = italic ? 120.0f : 360.0f;
         Truth.assertThat(widths).usingTolerance(0.1)
-                .containsExactly(98, 98, 98, 106, 106, 106, 106, 115, 115, 115, 115);
-        Truth.assertThat(italics).asList()
-                .doesNotContain(true);
+                .containsExactly(expectedWeight, expectedWeight, expectedWeight);
+        // check the test validity by matching a never-matching char
+        Truth.assertThat(p.measureText("" + WeightStyleFont.SkinnyChar)).isNotWithin(0.1f)
+                .of(expectedWeight);
     }
 
     @Test
     @SdkSuppress(maxSdkVersion = 16) // API 14-20 backport fails on 17
     public void testTypeFaceCompatCreateWithExactStyle_upright_api14_to_16() {
-        final Typeface family = ResourcesCompat.getFont(mContext, R.font.weighttestfont);
-        assertNotNull(family);
-
-        final int[] weights = new int[]{1, 100, 200, 300, 400, 500, 600, 700, 800, 900, 1000};
-        final float[] widths = new float[weights.length];
-        final boolean[] italics = new boolean[weights.length];
-
-        Paint p = new Paint();
-        p.setTextSize(120);
-
-        // Normal font style
-        for (int i = 0, size = weights.length; i < size; i++) {
-            final int weight = weights[i];
-            final Typeface t = TypefaceCompat.create(mContext, family, weight, false);
-            p.setTypeface(t);
-            widths[i] = p.measureText("W");
-            italics[i] = t.isItalic();
-        }
-
-        Truth.assertThat(widths).usingTolerance(0.1)
-                .containsExactly(98, 98, 98, 106, 106, 106, 106, 115, 115, 115, 115);
-        Truth.assertThat(italics).asList()
-                .doesNotContain(true);
+        doTypefaceCreate(false);
     }
 
 
     @Test
     @SdkSuppress(minSdkVersion = 18) // API 14-20 backport is too flakey for CI
     public void testTypeFaceCompatCreateWithExactStyle_italic() {
-        final Typeface family = ResourcesCompat.getFont(mContext, R.font.weighttestfont);
-        final int[] weights = new int[]{1, 100, 200, 300, 400, 500, 600, 700, 800, 900, 1000};
-        final float[] widths = new float[weights.length];
-        final boolean[] italics = new boolean[weights.length];
-
-        Paint p = new Paint();
-        p.setTextSize(120);
-
-        // Italic font style
-        for (int i = 0, size = weights.length; i < size; i++) {
-            final int weight = weights[i];
-            final Typeface t = TypefaceCompat.create(mContext, family, weight, true);
-            p.setTypeface(t);
-            widths[i] = p.measureText("W");
-            italics[i] = t.isItalic();
-        }
-
-        Truth.assertThat(widths).usingTolerance(0.1)
-                .containsExactly(97, 97, 97, 104, 104, 104, 104, 110, 110, 110, 110);
-        Truth.assertThat(italics).asList()
-                .doesNotContain(false);
+        doTypefaceCreate(true);
     }
 
     @Test
     @SdkSuppress(maxSdkVersion = 16) // API 14-20 backport is too flakey for CI
     public void testTypeFaceCompatCreateWithExactStyle_italic_api14_to_16() {
-        final Typeface family = ResourcesCompat.getFont(mContext, R.font.weighttestfont);
-        final int[] weights = new int[]{1, 100, 200, 300, 400, 500, 600, 700, 800, 900, 1000};
-        final float[] widths = new float[weights.length];
-        final boolean[] italics = new boolean[weights.length];
-
-        Paint p = new Paint();
-        p.setTextSize(120);
-
-        // Italic font style
-        for (int i = 0, size = weights.length; i < size; i++) {
-            final int weight = weights[i];
-            final Typeface t = TypefaceCompat.create(mContext, family, weight, true);
-            p.setTypeface(t);
-            widths[i] = p.measureText("W");
-            italics[i] = t.isItalic();
-        }
-
-        Truth.assertThat(widths).usingTolerance(0.1)
-                .containsExactly(97, 97, 97, 104, 104, 104, 104, 110, 110, 110, 110);
-        Truth.assertThat(italics).asList()
-                .doesNotContain(false);
+        doTypefaceCreate(true);
     }
 
     @Test
diff --git a/core/core/src/androidTest/res/font/weighttestfont.xml b/core/core/src/androidTest/res/font/weighttestfont.xml
index 7f790ce..c43bb40 100644
--- a/core/core/src/androidTest/res/font/weighttestfont.xml
+++ b/core/core/src/androidTest/res/font/weighttestfont.xml
@@ -1,9 +1,25 @@
 <?xml version="1.0" encoding="utf-8"?>
+<!--
+  Copyright 2022 The Android Open Source Project
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+  -->
+
 <font-family xmlns:app="http://schemas.android.com/apk/res-auto">
-    <font app:fontStyle="normal" app:fontWeight="100" app:font="@font/w_100" />
-    <font app:fontStyle="italic" app:fontWeight="100" app:font="@font/w_100i" />
-    <font app:fontStyle="normal" app:fontWeight="400" app:font="@font/w_400" />
-    <font app:fontStyle="italic" app:fontWeight="400" app:font="@font/w_400i" />
-    <font app:fontStyle="normal" app:fontWeight="900" app:font="@font/w_900" />
-    <font app:fontStyle="italic" app:fontWeight="900" app:font="@font/w_900i" />
+    <font app:fontStyle="normal" app:fontWeight="100" app:font="@font/test_100_regular" />
+    <font app:fontStyle="italic" app:fontWeight="100" app:font="@font/test_100_italic" />
+    <font app:fontStyle="normal" app:fontWeight="400" app:font="@font/test_400_regular" />
+    <font app:fontStyle="italic" app:fontWeight="400" app:font="@font/test_400_italic" />
+    <font app:fontStyle="normal" app:fontWeight="900" app:font="@font/test_900_regular" />
+    <font app:fontStyle="italic" app:fontWeight="900" app:font="@font/test_900_italic" />
 </font-family>
diff --git a/docs-tip-of-tree/build.gradle b/docs-tip-of-tree/build.gradle
index c3f41cf..b98e00a 100644
--- a/docs-tip-of-tree/build.gradle
+++ b/docs-tip-of-tree/build.gradle
@@ -87,7 +87,6 @@
     samples(project(":compose:ui:ui-graphics:ui-graphics-samples"))
     docs(project(":compose:ui:ui-test"))
     samples(project(":compose:ui:ui-test:ui-test-samples"))
-    docs(project(":compose:ui:ui-test-font"))
     docs(project(":compose:ui:ui-test-junit4"))
     docs(project(":compose:ui:ui-text"))
     samples(project(":compose:ui:ui-text:ui-text-samples"))
diff --git a/settings.gradle b/settings.gradle
index 54378e6..1bc01a0 100644
--- a/settings.gradle
+++ b/settings.gradle
@@ -509,7 +509,6 @@
 includeProject(":compose:ui:ui-lint", [BuildType.COMPOSE])
 includeProject(":compose:ui:ui-test", [BuildType.COMPOSE])
 includeProject(":compose:ui:ui-test:ui-test-samples", "compose/ui/ui-test/samples", [BuildType.COMPOSE])
-includeProject(":compose:ui:ui-test-font", [BuildType.COMPOSE])
 includeProject(":compose:ui:ui-test-junit4", [BuildType.COMPOSE])
 includeProject(":compose:ui:ui-test-manifest", [BuildType.COMPOSE])
 includeProject(":compose:ui:ui-test-manifest-lint", [BuildType.COMPOSE])
@@ -914,6 +913,7 @@
 includeProject(":internal-testutils-runtime", "testutils/testutils-runtime", [BuildType.MAIN, BuildType.FLAN, BuildType.COMPOSE, BuildType.MEDIA, BuildType.WEAR])
 includeProject(":internal-testutils-appcompat", "testutils/testutils-appcompat", [BuildType.MAIN])
 includeProject(":internal-testutils-espresso", "testutils/testutils-espresso", [BuildType.MAIN, BuildType.COMPOSE])
+includeProject(":internal-testutils-fonts", "testutils/testutils-fonts", [BuildType.MAIN, BuildType.GLANCE, BuildType.MEDIA, BuildType.FLAN, BuildType.COMPOSE, BuildType.WEAR])
 includeProject(":internal-testutils-truth", "testutils/testutils-truth", [BuildType.MAIN, BuildType.GLANCE, BuildType.MEDIA, BuildType.FLAN, BuildType.COMPOSE, BuildType.WEAR, BuildType.KMP])
 includeProject(":internal-testutils-ktx", "testutils/testutils-ktx")
 includeProject(":internal-testutils-kmp", "testutils/testutils-kmp", [BuildType.MAIN, BuildType.KMP])
diff --git a/compose/ui/ui-test-font/OWNERS b/testutils/testutils-fonts/OWNERS
similarity index 82%
rename from compose/ui/ui-test-font/OWNERS
rename to testutils/testutils-fonts/OWNERS
index 3a7def6..833a093 100644
--- a/compose/ui/ui-test-font/OWNERS
+++ b/testutils/testutils-fonts/OWNERS
@@ -2,4 +2,5 @@
 [email protected]
 [email protected]
 [email protected]
[email protected]
\ No newline at end of file
[email protected]
[email protected]
\ No newline at end of file
diff --git a/testutils/testutils-fonts/build.gradle b/testutils/testutils-fonts/build.gradle
new file mode 100644
index 0000000..dffd039
--- /dev/null
+++ b/testutils/testutils-fonts/build.gradle
@@ -0,0 +1,46 @@
+/*
+ * Copyright 2019 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+import androidx.build.LibraryType
+
+plugins {
+    id("AndroidXPlugin")
+    id("com.android.library")
+    id("kotlin-android")
+}
+
+dependencies {
+    implementation(libs.kotlinStdlib)
+}
+
+android {
+    sourceSets {
+        main {
+            res.srcDirs += "src/commonMain/resources"
+            res.srcDirs += "src/androidMain/res"
+            java.srcDirs += "src/commonMain/java"
+            assets.srcDirs += "src/androidMain/assets"
+        }
+    }
+}
+
+androidx {
+    type = LibraryType.INTERNAL_TEST_LIBRARY
+}
+
+android {
+    namespace "androidx.testutils.fonts"
+}
diff --git a/compose/ui/ui-test-font/src/androidMain/AndroidManifest.xml b/testutils/testutils-fonts/src/androidMain/AndroidManifest.xml
similarity index 100%
rename from compose/ui/ui-test-font/src/androidMain/AndroidManifest.xml
rename to testutils/testutils-fonts/src/androidMain/AndroidManifest.xml
diff --git a/compose/ui/ui-test-font/src/androidMain/assets/subdirectory/asset_font.ttf b/testutils/testutils-fonts/src/androidMain/assets/subdirectory/asset_font.ttf
similarity index 100%
rename from compose/ui/ui-test-font/src/androidMain/assets/subdirectory/asset_font.ttf
rename to testutils/testutils-fonts/src/androidMain/assets/subdirectory/asset_font.ttf
Binary files differ
diff --git a/testutils/testutils-fonts/src/commonMain/java/androidx/testutils/WeightStyleFont.kt b/testutils/testutils-fonts/src/commonMain/java/androidx/testutils/WeightStyleFont.kt
new file mode 100644
index 0000000..4a2b691
--- /dev/null
+++ b/testutils/testutils-fonts/src/commonMain/java/androidx/testutils/WeightStyleFont.kt
@@ -0,0 +1,53 @@
+/*
+ * Copyright 2022 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package androidx.testutils
+
+import android.util.Pair
+
+class WeightStyleFont {
+    fun getWideCharacter(weight: Int, italic: Boolean): Char {
+        return when (weight to italic) {
+            100 to true -> 0x61.toChar()
+            100 to false -> 0x62.toChar()
+            200 to true -> 0x63.toChar()
+            200 to false -> 0x64.toChar()
+            300 to true -> 0x65.toChar()
+            300 to false -> 0x66.toChar()
+            400 to true -> 0x67.toChar()
+            400 to false -> 0x68.toChar()
+            500 to true -> 0x69.toChar()
+            500 to false -> 0x6A.toChar()
+            600 to true -> 0x6B.toChar()
+            600 to false -> 0x6C.toChar()
+            700 to true -> 0x6D.toChar()
+            700 to false -> 0x6E.toChar()
+            800 to true -> 0x6F.toChar()
+            800 to false -> 0x70.toChar()
+            900 to true -> 0x71.toChar()
+            900 to false -> 0x72.toChar()
+            else -> throw RuntimeException("Unknown weight and italic ($weight, $italic)")
+        }
+    }
+
+    companion object TtxWeights {
+        const val Narrow = 1000
+        const val Wide = 3000
+        const val SkinnyChar = 0x73.toChar()
+    }
+}
+
+private infix fun Int.to(italic: Boolean): Pair<Int, Boolean> = Pair(this, italic)
diff --git a/compose/ui/ui-test-font/src/commonMain/resources/font/invalid_font.ttf b/testutils/testutils-fonts/src/commonMain/resources/font/invalid_font.ttf
similarity index 100%
rename from compose/ui/ui-test-font/src/commonMain/resources/font/invalid_font.ttf
rename to testutils/testutils-fonts/src/commonMain/resources/font/invalid_font.ttf
diff --git a/compose/ui/ui-test-font/src/commonMain/resources/font/kern_font.ttf b/testutils/testutils-fonts/src/commonMain/resources/font/kern_font.ttf
similarity index 100%
rename from compose/ui/ui-test-font/src/commonMain/resources/font/kern_font.ttf
rename to testutils/testutils-fonts/src/commonMain/resources/font/kern_font.ttf
Binary files differ
diff --git a/compose/ui/ui-test-font/src/commonMain/resources/font/sample_font.ttf b/testutils/testutils-fonts/src/commonMain/resources/font/sample_font.ttf
similarity index 100%
rename from compose/ui/ui-test-font/src/commonMain/resources/font/sample_font.ttf
rename to testutils/testutils-fonts/src/commonMain/resources/font/sample_font.ttf
Binary files differ
diff --git a/compose/ui/ui-test-font/src/commonMain/resources/font/sample_font2.ttf b/testutils/testutils-fonts/src/commonMain/resources/font/sample_font2.ttf
similarity index 100%
rename from compose/ui/ui-test-font/src/commonMain/resources/font/sample_font2.ttf
rename to testutils/testutils-fonts/src/commonMain/resources/font/sample_font2.ttf
Binary files differ
diff --git a/compose/ui/ui-test-font/src/commonMain/resources/font/tall_font.ttf b/testutils/testutils-fonts/src/commonMain/resources/font/tall_font.ttf
similarity index 100%
rename from compose/ui/ui-test-font/src/commonMain/resources/font/tall_font.ttf
rename to testutils/testutils-fonts/src/commonMain/resources/font/tall_font.ttf
Binary files differ
diff --git a/compose/ui/ui-test-font/src/commonMain/resources/font/test_100_italic.ttf b/testutils/testutils-fonts/src/commonMain/resources/font/test_100_italic.ttf
similarity index 100%
rename from compose/ui/ui-test-font/src/commonMain/resources/font/test_100_italic.ttf
rename to testutils/testutils-fonts/src/commonMain/resources/font/test_100_italic.ttf
Binary files differ
diff --git a/compose/ui/ui-test-font/src/commonMain/resources/font/test_100_regular.ttf b/testutils/testutils-fonts/src/commonMain/resources/font/test_100_regular.ttf
similarity index 100%
rename from compose/ui/ui-test-font/src/commonMain/resources/font/test_100_regular.ttf
rename to testutils/testutils-fonts/src/commonMain/resources/font/test_100_regular.ttf
Binary files differ
diff --git a/compose/ui/ui-test-font/src/commonMain/resources/font/test_200_italic.ttf b/testutils/testutils-fonts/src/commonMain/resources/font/test_200_italic.ttf
similarity index 100%
rename from compose/ui/ui-test-font/src/commonMain/resources/font/test_200_italic.ttf
rename to testutils/testutils-fonts/src/commonMain/resources/font/test_200_italic.ttf
Binary files differ
diff --git a/compose/ui/ui-test-font/src/commonMain/resources/font/test_200_regular.ttf b/testutils/testutils-fonts/src/commonMain/resources/font/test_200_regular.ttf
similarity index 100%
rename from compose/ui/ui-test-font/src/commonMain/resources/font/test_200_regular.ttf
rename to testutils/testutils-fonts/src/commonMain/resources/font/test_200_regular.ttf
Binary files differ
diff --git a/compose/ui/ui-test-font/src/commonMain/resources/font/test_300_italic.ttf b/testutils/testutils-fonts/src/commonMain/resources/font/test_300_italic.ttf
similarity index 100%
rename from compose/ui/ui-test-font/src/commonMain/resources/font/test_300_italic.ttf
rename to testutils/testutils-fonts/src/commonMain/resources/font/test_300_italic.ttf
Binary files differ
diff --git a/compose/ui/ui-test-font/src/commonMain/resources/font/test_300_regular.ttf b/testutils/testutils-fonts/src/commonMain/resources/font/test_300_regular.ttf
similarity index 100%
rename from compose/ui/ui-test-font/src/commonMain/resources/font/test_300_regular.ttf
rename to testutils/testutils-fonts/src/commonMain/resources/font/test_300_regular.ttf
Binary files differ
diff --git a/compose/ui/ui-test-font/src/commonMain/resources/font/test_400_italic.ttf b/testutils/testutils-fonts/src/commonMain/resources/font/test_400_italic.ttf
similarity index 100%
rename from compose/ui/ui-test-font/src/commonMain/resources/font/test_400_italic.ttf
rename to testutils/testutils-fonts/src/commonMain/resources/font/test_400_italic.ttf
Binary files differ
diff --git a/compose/ui/ui-test-font/src/commonMain/resources/font/test_400_regular.ttf b/testutils/testutils-fonts/src/commonMain/resources/font/test_400_regular.ttf
similarity index 100%
rename from compose/ui/ui-test-font/src/commonMain/resources/font/test_400_regular.ttf
rename to testutils/testutils-fonts/src/commonMain/resources/font/test_400_regular.ttf
Binary files differ
diff --git a/compose/ui/ui-test-font/src/commonMain/resources/font/test_500_italic.ttf b/testutils/testutils-fonts/src/commonMain/resources/font/test_500_italic.ttf
similarity index 100%
rename from compose/ui/ui-test-font/src/commonMain/resources/font/test_500_italic.ttf
rename to testutils/testutils-fonts/src/commonMain/resources/font/test_500_italic.ttf
Binary files differ
diff --git a/compose/ui/ui-test-font/src/commonMain/resources/font/test_500_regular.ttf b/testutils/testutils-fonts/src/commonMain/resources/font/test_500_regular.ttf
similarity index 100%
rename from compose/ui/ui-test-font/src/commonMain/resources/font/test_500_regular.ttf
rename to testutils/testutils-fonts/src/commonMain/resources/font/test_500_regular.ttf
Binary files differ
diff --git a/compose/ui/ui-test-font/src/commonMain/resources/font/test_600_italic.ttf b/testutils/testutils-fonts/src/commonMain/resources/font/test_600_italic.ttf
similarity index 100%
rename from compose/ui/ui-test-font/src/commonMain/resources/font/test_600_italic.ttf
rename to testutils/testutils-fonts/src/commonMain/resources/font/test_600_italic.ttf
Binary files differ
diff --git a/compose/ui/ui-test-font/src/commonMain/resources/font/test_600_regular.ttf b/testutils/testutils-fonts/src/commonMain/resources/font/test_600_regular.ttf
similarity index 100%
rename from compose/ui/ui-test-font/src/commonMain/resources/font/test_600_regular.ttf
rename to testutils/testutils-fonts/src/commonMain/resources/font/test_600_regular.ttf
Binary files differ
diff --git a/compose/ui/ui-test-font/src/commonMain/resources/font/test_700_italic.ttf b/testutils/testutils-fonts/src/commonMain/resources/font/test_700_italic.ttf
similarity index 100%
rename from compose/ui/ui-test-font/src/commonMain/resources/font/test_700_italic.ttf
rename to testutils/testutils-fonts/src/commonMain/resources/font/test_700_italic.ttf
Binary files differ
diff --git a/compose/ui/ui-test-font/src/commonMain/resources/font/test_700_regular.ttf b/testutils/testutils-fonts/src/commonMain/resources/font/test_700_regular.ttf
similarity index 100%
rename from compose/ui/ui-test-font/src/commonMain/resources/font/test_700_regular.ttf
rename to testutils/testutils-fonts/src/commonMain/resources/font/test_700_regular.ttf
Binary files differ
diff --git a/compose/ui/ui-test-font/src/commonMain/resources/font/test_800_italic.ttf b/testutils/testutils-fonts/src/commonMain/resources/font/test_800_italic.ttf
similarity index 100%
rename from compose/ui/ui-test-font/src/commonMain/resources/font/test_800_italic.ttf
rename to testutils/testutils-fonts/src/commonMain/resources/font/test_800_italic.ttf
Binary files differ
diff --git a/compose/ui/ui-test-font/src/commonMain/resources/font/test_800_regular.ttf b/testutils/testutils-fonts/src/commonMain/resources/font/test_800_regular.ttf
similarity index 100%
rename from compose/ui/ui-test-font/src/commonMain/resources/font/test_800_regular.ttf
rename to testutils/testutils-fonts/src/commonMain/resources/font/test_800_regular.ttf
Binary files differ
diff --git a/compose/ui/ui-test-font/src/commonMain/resources/font/test_900_italic.ttf b/testutils/testutils-fonts/src/commonMain/resources/font/test_900_italic.ttf
similarity index 100%
rename from compose/ui/ui-test-font/src/commonMain/resources/font/test_900_italic.ttf
rename to testutils/testutils-fonts/src/commonMain/resources/font/test_900_italic.ttf
Binary files differ
diff --git a/compose/ui/ui-test-font/src/commonMain/resources/font/test_900_regular.ttf b/testutils/testutils-fonts/src/commonMain/resources/font/test_900_regular.ttf
similarity index 100%
rename from compose/ui/ui-test-font/src/commonMain/resources/font/test_900_regular.ttf
rename to testutils/testutils-fonts/src/commonMain/resources/font/test_900_regular.ttf
Binary files differ
diff --git a/compose/ui/ui-test-font/src/font_ttx/asset_font.ttx b/testutils/testutils-fonts/src/font_ttx/asset_font.ttx
similarity index 100%
rename from compose/ui/ui-test-font/src/font_ttx/asset_font.ttx
rename to testutils/testutils-fonts/src/font_ttx/asset_font.ttx
diff --git a/compose/ui/ui-test-font/src/font_ttx/kern_font.ttx b/testutils/testutils-fonts/src/font_ttx/kern_font.ttx
similarity index 100%
rename from compose/ui/ui-test-font/src/font_ttx/kern_font.ttx
rename to testutils/testutils-fonts/src/font_ttx/kern_font.ttx
diff --git a/compose/ui/ui-test-font/src/font_ttx/sample_font.ttx b/testutils/testutils-fonts/src/font_ttx/sample_font.ttx
similarity index 100%
rename from compose/ui/ui-test-font/src/font_ttx/sample_font.ttx
rename to testutils/testutils-fonts/src/font_ttx/sample_font.ttx
diff --git a/compose/ui/ui-test-font/src/font_ttx/tall_font.ttx b/testutils/testutils-fonts/src/font_ttx/tall_font.ttx
similarity index 100%
rename from compose/ui/ui-test-font/src/font_ttx/tall_font.ttx
rename to testutils/testutils-fonts/src/font_ttx/tall_font.ttx
diff --git a/compose/ui/ui-test-font/src/font_ttx/test_100_italic.ttx b/testutils/testutils-fonts/src/font_ttx/test_100_italic.ttx
similarity index 100%
rename from compose/ui/ui-test-font/src/font_ttx/test_100_italic.ttx
rename to testutils/testutils-fonts/src/font_ttx/test_100_italic.ttx
diff --git a/compose/ui/ui-test-font/src/font_ttx/test_100_regular.ttx b/testutils/testutils-fonts/src/font_ttx/test_100_regular.ttx
similarity index 100%
rename from compose/ui/ui-test-font/src/font_ttx/test_100_regular.ttx
rename to testutils/testutils-fonts/src/font_ttx/test_100_regular.ttx
diff --git a/compose/ui/ui-test-font/src/font_ttx/test_200_italic.ttx b/testutils/testutils-fonts/src/font_ttx/test_200_italic.ttx
similarity index 100%
rename from compose/ui/ui-test-font/src/font_ttx/test_200_italic.ttx
rename to testutils/testutils-fonts/src/font_ttx/test_200_italic.ttx
diff --git a/compose/ui/ui-test-font/src/font_ttx/test_200_regular.ttx b/testutils/testutils-fonts/src/font_ttx/test_200_regular.ttx
similarity index 100%
rename from compose/ui/ui-test-font/src/font_ttx/test_200_regular.ttx
rename to testutils/testutils-fonts/src/font_ttx/test_200_regular.ttx
diff --git a/compose/ui/ui-test-font/src/font_ttx/test_300_italic.ttx b/testutils/testutils-fonts/src/font_ttx/test_300_italic.ttx
similarity index 100%
rename from compose/ui/ui-test-font/src/font_ttx/test_300_italic.ttx
rename to testutils/testutils-fonts/src/font_ttx/test_300_italic.ttx
diff --git a/compose/ui/ui-test-font/src/font_ttx/test_300_regular.ttx b/testutils/testutils-fonts/src/font_ttx/test_300_regular.ttx
similarity index 100%
rename from compose/ui/ui-test-font/src/font_ttx/test_300_regular.ttx
rename to testutils/testutils-fonts/src/font_ttx/test_300_regular.ttx
diff --git a/compose/ui/ui-test-font/src/font_ttx/test_400_italic.ttx b/testutils/testutils-fonts/src/font_ttx/test_400_italic.ttx
similarity index 100%
rename from compose/ui/ui-test-font/src/font_ttx/test_400_italic.ttx
rename to testutils/testutils-fonts/src/font_ttx/test_400_italic.ttx
diff --git a/compose/ui/ui-test-font/src/font_ttx/test_400_regular.ttx b/testutils/testutils-fonts/src/font_ttx/test_400_regular.ttx
similarity index 100%
rename from compose/ui/ui-test-font/src/font_ttx/test_400_regular.ttx
rename to testutils/testutils-fonts/src/font_ttx/test_400_regular.ttx
diff --git a/compose/ui/ui-test-font/src/font_ttx/test_500_italic.ttx b/testutils/testutils-fonts/src/font_ttx/test_500_italic.ttx
similarity index 100%
rename from compose/ui/ui-test-font/src/font_ttx/test_500_italic.ttx
rename to testutils/testutils-fonts/src/font_ttx/test_500_italic.ttx
diff --git a/compose/ui/ui-test-font/src/font_ttx/test_500_regular.ttx b/testutils/testutils-fonts/src/font_ttx/test_500_regular.ttx
similarity index 100%
rename from compose/ui/ui-test-font/src/font_ttx/test_500_regular.ttx
rename to testutils/testutils-fonts/src/font_ttx/test_500_regular.ttx
diff --git a/compose/ui/ui-test-font/src/font_ttx/test_600_italic.ttx b/testutils/testutils-fonts/src/font_ttx/test_600_italic.ttx
similarity index 100%
rename from compose/ui/ui-test-font/src/font_ttx/test_600_italic.ttx
rename to testutils/testutils-fonts/src/font_ttx/test_600_italic.ttx
diff --git a/compose/ui/ui-test-font/src/font_ttx/test_600_regular.ttx b/testutils/testutils-fonts/src/font_ttx/test_600_regular.ttx
similarity index 100%
rename from compose/ui/ui-test-font/src/font_ttx/test_600_regular.ttx
rename to testutils/testutils-fonts/src/font_ttx/test_600_regular.ttx
diff --git a/compose/ui/ui-test-font/src/font_ttx/test_700_italic.ttx b/testutils/testutils-fonts/src/font_ttx/test_700_italic.ttx
similarity index 100%
rename from compose/ui/ui-test-font/src/font_ttx/test_700_italic.ttx
rename to testutils/testutils-fonts/src/font_ttx/test_700_italic.ttx
diff --git a/compose/ui/ui-test-font/src/font_ttx/test_700_regular.ttx b/testutils/testutils-fonts/src/font_ttx/test_700_regular.ttx
similarity index 100%
rename from compose/ui/ui-test-font/src/font_ttx/test_700_regular.ttx
rename to testutils/testutils-fonts/src/font_ttx/test_700_regular.ttx
diff --git a/compose/ui/ui-test-font/src/font_ttx/test_800_italic.ttx b/testutils/testutils-fonts/src/font_ttx/test_800_italic.ttx
similarity index 100%
rename from compose/ui/ui-test-font/src/font_ttx/test_800_italic.ttx
rename to testutils/testutils-fonts/src/font_ttx/test_800_italic.ttx
diff --git a/compose/ui/ui-test-font/src/font_ttx/test_800_regular.ttx b/testutils/testutils-fonts/src/font_ttx/test_800_regular.ttx
similarity index 100%
rename from compose/ui/ui-test-font/src/font_ttx/test_800_regular.ttx
rename to testutils/testutils-fonts/src/font_ttx/test_800_regular.ttx
diff --git a/compose/ui/ui-test-font/src/font_ttx/test_900_italic.ttx b/testutils/testutils-fonts/src/font_ttx/test_900_italic.ttx
similarity index 100%
rename from compose/ui/ui-test-font/src/font_ttx/test_900_italic.ttx
rename to testutils/testutils-fonts/src/font_ttx/test_900_italic.ttx
diff --git a/compose/ui/ui-test-font/src/font_ttx/test_900_regular.ttx b/testutils/testutils-fonts/src/font_ttx/test_900_regular.ttx
similarity index 100%
rename from compose/ui/ui-test-font/src/font_ttx/test_900_regular.ttx
rename to testutils/testutils-fonts/src/font_ttx/test_900_regular.ttx
diff --git a/text/text/build.gradle b/text/text/build.gradle
index 331866c..a24d9f3 100644
--- a/text/text/build.gradle
+++ b/text/text/build.gradle
@@ -33,7 +33,7 @@
     testImplementation(libs.testRunner)
     testImplementation(libs.junit)
 
-    androidTestImplementation(project(":compose:ui:ui-test-font"))
+    androidTestImplementation(project(":internal-testutils-fonts"))
     androidTestImplementation(libs.testRules)
     androidTestImplementation(libs.testRunner)
     androidTestImplementation(libs.testExtJunit)
diff --git a/text/text/src/androidTest/java/androidx/compose/ui/text/android/FontPaddingTest.kt b/text/text/src/androidTest/java/androidx/compose/ui/text/android/FontPaddingTest.kt
index aa0c962..c827fbd 100644
--- a/text/text/src/androidTest/java/androidx/compose/ui/text/android/FontPaddingTest.kt
+++ b/text/text/src/androidTest/java/androidx/compose/ui/text/android/FontPaddingTest.kt
@@ -18,11 +18,11 @@
 
 import android.graphics.Typeface
 import android.text.TextPaint
-import androidx.compose.ui.text.font.test.R
 import androidx.core.content.res.ResourcesCompat
 import androidx.test.ext.junit.runners.AndroidJUnit4
 import androidx.test.filters.SmallTest
 import androidx.test.platform.app.InstrumentationRegistry
+import androidx.testutils.fonts.R
 import com.google.common.truth.Truth.assertThat
 import org.junit.Test
 import org.junit.runner.RunWith
diff --git a/text/text/src/androidTest/java/androidx/compose/ui/text/android/FontPaddingWithCustomFallbackTest.kt b/text/text/src/androidTest/java/androidx/compose/ui/text/android/FontPaddingWithCustomFallbackTest.kt
index 675dac9..7b70ec8 100644
--- a/text/text/src/androidTest/java/androidx/compose/ui/text/android/FontPaddingWithCustomFallbackTest.kt
+++ b/text/text/src/androidTest/java/androidx/compose/ui/text/android/FontPaddingWithCustomFallbackTest.kt
@@ -5,12 +5,12 @@
 import android.graphics.fonts.Font
 import android.graphics.fonts.FontFamily
 import android.text.TextPaint
-import androidx.compose.ui.text.font.test.R
 import androidx.core.content.res.ResourcesCompat
 import androidx.test.ext.junit.runners.AndroidJUnit4
 import androidx.test.filters.SdkSuppress
 import androidx.test.filters.SmallTest
 import androidx.test.platform.app.InstrumentationRegistry
+import androidx.testutils.fonts.R
 import com.google.common.truth.Truth.assertThat
 import com.nhaarman.mockitokotlin2.any
 import com.nhaarman.mockitokotlin2.spy
diff --git a/text/text/src/androidTest/java/androidx/compose/ui/text/android/LayoutGetHorizontalMultiLineTest.kt b/text/text/src/androidTest/java/androidx/compose/ui/text/android/LayoutGetHorizontalMultiLineTest.kt
index 9095208..22f1976 100644
--- a/text/text/src/androidTest/java/androidx/compose/ui/text/android/LayoutGetHorizontalMultiLineTest.kt
+++ b/text/text/src/androidTest/java/androidx/compose/ui/text/android/LayoutGetHorizontalMultiLineTest.kt
@@ -17,10 +17,10 @@
 package androidx.compose.ui.text.android
 
 import android.text.TextPaint
-import androidx.compose.ui.text.font.test.R
 import androidx.core.content.res.ResourcesCompat
 import androidx.test.filters.SmallTest
 import androidx.test.platform.app.InstrumentationRegistry
+import androidx.testutils.fonts.R
 import com.google.common.truth.Truth.assertThat
 import org.junit.Test
 import org.junit.runner.RunWith
diff --git a/text/text/src/androidTest/java/androidx/compose/ui/text/android/LayoutGetHorizontalTest.kt b/text/text/src/androidTest/java/androidx/compose/ui/text/android/LayoutGetHorizontalTest.kt
index 3728678..2b197be 100644
--- a/text/text/src/androidTest/java/androidx/compose/ui/text/android/LayoutGetHorizontalTest.kt
+++ b/text/text/src/androidTest/java/androidx/compose/ui/text/android/LayoutGetHorizontalTest.kt
@@ -19,10 +19,10 @@
 import android.text.TextDirectionHeuristic
 import android.text.TextDirectionHeuristics
 import android.text.TextPaint
-import androidx.compose.ui.text.font.test.R
 import androidx.core.content.res.ResourcesCompat
 import androidx.test.filters.SmallTest
 import androidx.test.platform.app.InstrumentationRegistry
+import androidx.testutils.fonts.R
 import com.google.common.truth.Truth.assertThat
 import org.junit.Test
 import org.junit.runner.RunWith
diff --git a/text/text/src/androidTest/java/androidx/compose/ui/text/android/LayoutIntrinsicsTest.kt b/text/text/src/androidTest/java/androidx/compose/ui/text/android/LayoutIntrinsicsTest.kt
index 7691c2e..733de18 100644
--- a/text/text/src/androidTest/java/androidx/compose/ui/text/android/LayoutIntrinsicsTest.kt
+++ b/text/text/src/androidTest/java/androidx/compose/ui/text/android/LayoutIntrinsicsTest.kt
@@ -21,10 +21,10 @@
 import android.text.Spanned
 import android.text.TextPaint
 import android.text.style.BulletSpan
-import androidx.compose.ui.text.font.test.R
 import androidx.core.content.res.ResourcesCompat
 import androidx.test.filters.SmallTest
 import androidx.test.platform.app.InstrumentationRegistry
+import androidx.testutils.fonts.R
 import com.google.common.truth.Truth.assertThat
 import org.junit.Test
 import org.junit.runner.RunWith
diff --git a/text/text/src/androidTest/java/androidx/compose/ui/text/android/PaintBoundsTest.kt b/text/text/src/androidTest/java/androidx/compose/ui/text/android/PaintBoundsTest.kt
index b08e96c..f6cc407 100644
--- a/text/text/src/androidTest/java/androidx/compose/ui/text/android/PaintBoundsTest.kt
+++ b/text/text/src/androidTest/java/androidx/compose/ui/text/android/PaintBoundsTest.kt
@@ -21,11 +21,11 @@
 import android.text.TextPaint
 import android.text.style.AbsoluteSizeSpan
 import android.text.style.RelativeSizeSpan
-import androidx.compose.ui.text.font.test.R
 import androidx.core.content.res.ResourcesCompat
 import androidx.test.ext.junit.runners.AndroidJUnit4
 import androidx.test.filters.SmallTest
 import androidx.test.platform.app.InstrumentationRegistry
+import androidx.testutils.fonts.R
 import com.google.common.truth.Truth.assertThat
 import org.junit.Test
 import org.junit.runner.RunWith
diff --git a/text/text/src/androidTest/java/androidx/compose/ui/text/android/SegmentBreakerTest.kt b/text/text/src/androidTest/java/androidx/compose/ui/text/android/SegmentBreakerTest.kt
index 997d1ad..e8eb3b8 100644
--- a/text/text/src/androidTest/java/androidx/compose/ui/text/android/SegmentBreakerTest.kt
+++ b/text/text/src/androidTest/java/androidx/compose/ui/text/android/SegmentBreakerTest.kt
@@ -21,10 +21,10 @@
 import android.text.TextPaint
 import androidx.compose.ui.text.android.animation.SegmentBreaker
 import androidx.compose.ui.text.android.animation.SegmentType
-import androidx.compose.ui.text.font.test.R
 import androidx.core.content.res.ResourcesCompat
 import androidx.test.filters.SmallTest
 import androidx.test.platform.app.InstrumentationRegistry
+import androidx.testutils.fonts.R
 import com.google.common.truth.Truth.assertThat
 import org.junit.Test
 import org.junit.runner.RunWith
diff --git a/text/text/src/androidTest/java/androidx/compose/ui/text/android/StaticLayoutFactoryTest.kt b/text/text/src/androidTest/java/androidx/compose/ui/text/android/StaticLayoutFactoryTest.kt
index 5008946..f5879547 100644
--- a/text/text/src/androidTest/java/androidx/compose/ui/text/android/StaticLayoutFactoryTest.kt
+++ b/text/text/src/androidTest/java/androidx/compose/ui/text/android/StaticLayoutFactoryTest.kt
@@ -21,11 +21,11 @@
 import android.text.TextDirectionHeuristics
 import android.text.TextPaint
 import android.text.TextUtils
-import androidx.compose.ui.text.font.test.R
 import androidx.core.content.res.ResourcesCompat
 import androidx.test.filters.SdkSuppress
 import androidx.test.filters.SmallTest
 import androidx.test.platform.app.InstrumentationRegistry
+import androidx.testutils.fonts.R
 import com.google.common.truth.Truth.assertThat
 import org.junit.Before
 import org.junit.Test
diff --git a/text/text/src/androidTest/java/androidx/compose/ui/text/android/TextLayoutFillBoundingBoxesTest.kt b/text/text/src/androidTest/java/androidx/compose/ui/text/android/TextLayoutFillBoundingBoxesTest.kt
index 259faf2..5bacbb2 100644
--- a/text/text/src/androidTest/java/androidx/compose/ui/text/android/TextLayoutFillBoundingBoxesTest.kt
+++ b/text/text/src/androidTest/java/androidx/compose/ui/text/android/TextLayoutFillBoundingBoxesTest.kt
@@ -21,11 +21,11 @@
 import android.text.SpannableStringBuilder
 import android.text.TextPaint
 import android.text.style.AbsoluteSizeSpan
-import androidx.compose.ui.text.font.test.R
 import androidx.core.content.res.ResourcesCompat
 import androidx.test.filters.SmallTest
 import androidx.test.filters.SdkSuppress
 import androidx.test.platform.app.InstrumentationRegistry
+import androidx.testutils.fonts.R
 import org.junit.Before
 import org.junit.Test
 import org.junit.runner.RunWith
diff --git a/text/text/src/androidTest/java/androidx/compose/ui/text/android/TextLayoutIntrinsicWidthTest.kt b/text/text/src/androidTest/java/androidx/compose/ui/text/android/TextLayoutIntrinsicWidthTest.kt
index 83169be..d8cf4f8 100644
--- a/text/text/src/androidTest/java/androidx/compose/ui/text/android/TextLayoutIntrinsicWidthTest.kt
+++ b/text/text/src/androidTest/java/androidx/compose/ui/text/android/TextLayoutIntrinsicWidthTest.kt
@@ -23,11 +23,11 @@
 import androidx.compose.ui.text.android.style.LetterSpacingSpanEm
 import androidx.compose.ui.text.android.style.LetterSpacingSpanPx
 import androidx.compose.ui.text.android.style.LineHeightSpan
-import androidx.compose.ui.text.font.test.R
 import androidx.core.content.res.ResourcesCompat
 import androidx.test.ext.junit.runners.AndroidJUnit4
 import androidx.test.filters.SmallTest
 import androidx.test.platform.app.InstrumentationRegistry
+import androidx.testutils.fonts.R
 import com.google.common.truth.Truth.assertThat
 import org.junit.Before
 import org.junit.Test
diff --git a/text/text/src/androidTest/java/androidx/compose/ui/text/android/TextLayoutSpanTest.kt b/text/text/src/androidTest/java/androidx/compose/ui/text/android/TextLayoutSpanTest.kt
index 8d55074..60813ab 100644
--- a/text/text/src/androidTest/java/androidx/compose/ui/text/android/TextLayoutSpanTest.kt
+++ b/text/text/src/androidTest/java/androidx/compose/ui/text/android/TextLayoutSpanTest.kt
@@ -23,11 +23,11 @@
 import android.text.style.ScaleXSpan
 import androidx.compose.ui.text.android.style.BaselineShiftSpan
 import androidx.compose.ui.text.android.style.SkewXSpan
-import androidx.compose.ui.text.font.test.R
 import androidx.core.content.res.ResourcesCompat
 import androidx.test.ext.junit.runners.AndroidJUnit4
 import androidx.test.filters.MediumTest
 import androidx.test.platform.app.InstrumentationRegistry
+import androidx.testutils.fonts.R
 import com.google.common.truth.Truth.assertThat
 import com.nhaarman.mockitokotlin2.any
 import org.junit.Before
diff --git a/text/text/src/androidTest/java/androidx/compose/ui/text/android/TextLayoutTest.kt b/text/text/src/androidTest/java/androidx/compose/ui/text/android/TextLayoutTest.kt
index 9baaf87..c9b9858 100644
--- a/text/text/src/androidTest/java/androidx/compose/ui/text/android/TextLayoutTest.kt
+++ b/text/text/src/androidTest/java/androidx/compose/ui/text/android/TextLayoutTest.kt
@@ -25,10 +25,10 @@
 import android.text.TextPaint
 import androidx.compose.ui.text.android.style.BaselineShiftSpan
 import androidx.compose.ui.text.android.style.LineHeightStyleSpan
-import androidx.compose.ui.text.font.test.R
 import androidx.core.content.res.ResourcesCompat
 import androidx.test.filters.SmallTest
 import androidx.test.platform.app.InstrumentationRegistry
+import androidx.testutils.fonts.R
 import com.google.common.truth.Truth.assertThat
 import org.junit.Before
 import org.junit.Test
diff --git a/text/text/src/androidTest/java/androidx/compose/ui/text/android/animation/SegmentBreakerBreakSegmentTest.kt b/text/text/src/androidTest/java/androidx/compose/ui/text/android/animation/SegmentBreakerBreakSegmentTest.kt
index a38b60f..424b8d0 100644
--- a/text/text/src/androidTest/java/androidx/compose/ui/text/android/animation/SegmentBreakerBreakSegmentTest.kt
+++ b/text/text/src/androidTest/java/androidx/compose/ui/text/android/animation/SegmentBreakerBreakSegmentTest.kt
@@ -22,10 +22,10 @@
 import androidx.compose.ui.text.android.InternalPlatformTextApi
 import androidx.compose.ui.text.android.LayoutHelper
 import androidx.compose.ui.text.android.StaticLayoutFactory
-import androidx.compose.ui.text.font.test.R
 import androidx.core.content.res.ResourcesCompat
 import androidx.test.filters.SmallTest
 import androidx.test.platform.app.InstrumentationRegistry
+import androidx.testutils.fonts.R
 import com.google.common.truth.Truth.assertThat
 import org.junit.Test
 import org.junit.runner.RunWith