diff --git a/README.md b/README.md
index 7fa7e62..b6c7cbc 100644
--- a/README.md
+++ b/README.md
@@ -19,7 +19,9 @@ Text composable to show html text from resources
<span style="color: #0000FF"> - Colored text (Markdown does not allow a preview here)
<span style="color: red"> - Colored text (Markdown does not allow a preview here)
<font color="#FF0000"> - Colored text (Markdown does not allow a preview here)
-<font color="red"> - Colored text (Markdown does not allow a preview here)
+<font color="red"> - Colored text (Markdown does not allow a preview here)
+<big> - BIG TEXT (Markdown does not allow a preview here)
+<small> - small text (Markdown does not allow a preview here)
## MaterialTheme colors in HtmlText
To use colors like `MaterialTheme.colors.primary` in `HtmlText`, map simple colors.
diff --git a/example/src/main/java/de/charlex/compose/htmltext/example/MainActivity.kt b/example/src/main/java/de/charlex/compose/htmltext/example/MainActivity.kt
index f6a4253..3ecc800 100644
--- a/example/src/main/java/de/charlex/compose/htmltext/example/MainActivity.kt
+++ b/example/src/main/java/de/charlex/compose/htmltext/example/MainActivity.kt
@@ -32,6 +32,8 @@ class MainActivity : ComponentActivity() {
MultipleLinks()
ReturnLink()
ReturnLinks()
+ BigText()
+ SmallText()
}
}
}
@@ -120,3 +122,13 @@ fun ReturnLinks() {
}
)
}
+
+@Composable
+fun BigText() {
+ HtmlText(text = "BIG text")
+}
+
+@Composable
+fun SmallText() {
+ HtmlText(text = "small text")
+}
diff --git a/material-html-text/src/main/java/de/charlex/compose/material/HtmlText.kt b/material-html-text/src/main/java/de/charlex/compose/material/HtmlText.kt
index 52f8c9f..6a03f6e 100644
--- a/material-html-text/src/main/java/de/charlex/compose/material/HtmlText.kt
+++ b/material-html-text/src/main/java/de/charlex/compose/material/HtmlText.kt
@@ -5,6 +5,7 @@ import android.os.Build.VERSION.SDK_INT
import android.text.Html
import android.text.Spanned
import android.text.style.ForegroundColorSpan
+import android.text.style.RelativeSizeSpan
import android.text.style.StrikethroughSpan
import android.text.style.StyleSpan
import android.text.style.URLSpan
@@ -41,6 +42,7 @@ import androidx.compose.ui.text.style.TextAlign
import androidx.compose.ui.text.style.TextDecoration
import androidx.compose.ui.text.style.TextOverflow
import androidx.compose.ui.unit.TextUnit
+import androidx.compose.ui.unit.em
import androidx.core.text.getSpans
/**
@@ -318,6 +320,7 @@ fun Spanned.toAnnotatedString(
val colorSpans = getSpans()
val underlineSpans = getSpans()
val strikethroughSpans = getSpans()
+ val relativeSizeSpans = getSpans()
urlSpans.forEach { urlSpan ->
val start = getSpanStart(urlSpan)
val end = getSpanEnd(urlSpan)
@@ -356,5 +359,10 @@ fun Spanned.toAnnotatedString(
val end = getSpanEnd(strikethroughSpan)
addStyle(SpanStyle(textDecoration = TextDecoration.LineThrough), start, end)
}
+ relativeSizeSpans.forEach { relativeSizeSpan ->
+ val start = getSpanStart(relativeSizeSpan)
+ val end = getSpanEnd(relativeSizeSpan)
+ addStyle(style = SpanStyle(fontSize = relativeSizeSpan.sizeChange.em), start, end)
+ }
}
}
diff --git a/material3-html-text/src/main/java/de/charlex/compose/material3/HtmlText.kt b/material3-html-text/src/main/java/de/charlex/compose/material3/HtmlText.kt
index 8d91fde..6acdd00 100644
--- a/material3-html-text/src/main/java/de/charlex/compose/material3/HtmlText.kt
+++ b/material3-html-text/src/main/java/de/charlex/compose/material3/HtmlText.kt
@@ -5,6 +5,7 @@ import android.os.Build.VERSION.SDK_INT
import android.text.Html
import android.text.Spanned
import android.text.style.ForegroundColorSpan
+import android.text.style.RelativeSizeSpan
import android.text.style.StrikethroughSpan
import android.text.style.StyleSpan
import android.text.style.URLSpan
@@ -41,6 +42,7 @@ import androidx.compose.ui.text.style.TextAlign
import androidx.compose.ui.text.style.TextDecoration
import androidx.compose.ui.text.style.TextOverflow
import androidx.compose.ui.unit.TextUnit
+import androidx.compose.ui.unit.em
import androidx.core.text.getSpans
/**
@@ -318,6 +320,7 @@ fun Spanned.toAnnotatedString(
val colorSpans = getSpans()
val underlineSpans = getSpans()
val strikethroughSpans = getSpans()
+ val relativeSizeSpans = getSpans()
urlSpans.forEach { urlSpan ->
val start = getSpanStart(urlSpan)
val end = getSpanEnd(urlSpan)
@@ -356,5 +359,10 @@ fun Spanned.toAnnotatedString(
val end = getSpanEnd(strikethroughSpan)
addStyle(SpanStyle(textDecoration = TextDecoration.LineThrough), start, end)
}
+ relativeSizeSpans.forEach { relativeSizeSpan ->
+ val start = getSpanStart(relativeSizeSpan)
+ val end = getSpanEnd(relativeSizeSpan)
+ addStyle(style = SpanStyle(fontSize = relativeSizeSpan.sizeChange.em), start, end)
+ }
}
}