
Implements text spacing functionality from pangu.js, enabling automatic spacing between Chinese and English characters. Offers a singleton and extension function for seamless integration in text processing tasks.
Kotlin Multiplatform implementation of pangu.js.
pangu.kt inserts spacing between CJK characters and Latin letters, numbers, or symbols.
For Kotlin Multiplatform projects:
kotlin {
sourceSets {
commonMain {
dependencies {
implementation("io.github.darkokoa:pangu:<version>")
}
}
}
}For JVM-only projects:
dependencies {
implementation("io.github.darkokoa:pangu-jvm:<version>")
}For Android-only projects:
dependencies {
implementation("io.github.darkokoa:pangu-android:<version>")
}Android KMP consumers can also depend on the root artifact from common source sets.
Kotlin:
import dev.darkokoa.pangu.Pangu
import dev.darkokoa.pangu.spacingText
val pendingText = "中文abc"
val completedText = Pangu.spacingText(pendingText)
val completedWithExtension = pendingText.spacingText()Java:
import dev.darkokoa.pangu.Pangu;
import dev.darkokoa.pangu.PanguKt;
String pendingText = "中文abc";
String completedText = Pangu.INSTANCE.spacingText(pendingText);
String completedWithStaticFunction = PanguKt.spacingText(pendingText);The modern KMP build publishes:
jvmandroidjswasmJsiosArm64, iosSimulatorArm64, iosX64
watchosArm32, watchosArm64, watchosDeviceArm64, watchosSimulatorArm64
tvosArm64, tvosSimulatorArm64
macosArm64linuxX64, linuxArm64
mingwX64Deprecated Kotlin/Native targets macosX64, watchosX64, and tvosX64 are no longer published.
Processing time grows with input size. Very large text should be processed off the UI thread.
Java support requires Java 8 bytecode compatibility or newer.
Released under the MIT License.
Kotlin Multiplatform implementation of pangu.js.
pangu.kt inserts spacing between CJK characters and Latin letters, numbers, or symbols.
For Kotlin Multiplatform projects:
kotlin {
sourceSets {
commonMain {
dependencies {
implementation("io.github.darkokoa:pangu:<version>")
}
}
}
}For JVM-only projects:
dependencies {
implementation("io.github.darkokoa:pangu-jvm:<version>")
}For Android-only projects:
dependencies {
implementation("io.github.darkokoa:pangu-android:<version>")
}Android KMP consumers can also depend on the root artifact from common source sets.
Kotlin:
import dev.darkokoa.pangu.Pangu
import dev.darkokoa.pangu.spacingText
val pendingText = "中文abc"
val completedText = Pangu.spacingText(pendingText)
val completedWithExtension = pendingText.spacingText()Java:
import dev.darkokoa.pangu.Pangu;
import dev.darkokoa.pangu.PanguKt;
String pendingText = "中文abc";
String completedText = Pangu.INSTANCE.spacingText(pendingText);
String completedWithStaticFunction = PanguKt.spacingText(pendingText);The modern KMP build publishes:
jvmandroidjswasmJsiosArm64, iosSimulatorArm64, iosX64
watchosArm32, watchosArm64, watchosDeviceArm64, watchosSimulatorArm64
tvosArm64, tvosSimulatorArm64
macosArm64linuxX64, linuxArm64
mingwX64Deprecated Kotlin/Native targets macosX64, watchosX64, and tvosX64 are no longer published.
Processing time grows with input size. Very large text should be processed off the UI thread.
Java support requires Java 8 bytecode compatibility or newer.
Released under the MIT License.