blob: 62c54c3b543a82757aa155164661f8b3582a52b7 [file]
/*
* 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.compose.foundation.demos.text
enum class Language(text: String) {
Latin(LatinLipsum),
Arabic(ArabicLipsum),
Hebrew(HebrewLipsum);
internal val words = text.split("""\s""".toRegex())
}
fun loremIpsum(
language: Language = Language.Latin,
wordCount: Int = language.words.size,
separator: CharSequence = " ",
): String =
loremIpsumWords(language).joinToString(separator = separator, limit = wordCount, truncated = "")
/**
* An infinite [Sequence] of words of Lorem Ipsum text.
*/
fun loremIpsumWords(
language: Language = Language.Latin
): Sequence<String> = generateSequence { language.words.asSequence() }.flatten()
private val LatinLipsum = """
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque a egestas nisi. Aenean
aliquam neque lacus, ac sollicitudin risus consequat in. Pellentesque habitant morbi tristique
senectus et netus et malesuada fames ac turpis egestas. In id nulla quam. Ut lobortis justo
purus, nec viverra diam gravida nec. Duis scelerisque feugiat ante, vitae semper leo. Donec
tempor aliquet lacus rhoncus tristique. In pulvinar sem ac velit suscipit fermentum. Donec
quis dolor ut enim sollicitudin laoreet. Morbi ac lectus pharetra, condimentum lectus
congue, euismod ante.
Phasellus vitae varius mi. Pellentesque non lacus at erat posuere pharetra a nec lorem. Vivamus
posuere massa sed ultricies euismod. Fusce luctus tristique diam at luctus. Nulla efficitur
fermentum dolor, nec hendrerit diam rhoncus ut. Donec fermentum, enim ultrices pharetra
suscipit, ex ligula iaculis ligula, in aliquam erat felis id magna. In est dolor, consequat
sed eros non, varius consequat velit. Cras blandit urna et vulputate dapibus. Donec
efficitur laoreet condimentum. Pellentesque habitant morbi tristique senectus et netus et
malesuada fames ac turpis egestas. Nullam scelerisque vitae est id pellentesque.
Aenean in ipsum rhoncus, dignissim lorem ac, consectetur quam. Phasellus id velit nec velit
dictum eleifend at eu nibh. Integer feugiat turpis quis dui pharetra, suscipit ornare turpis
aliquam. Phasellus tristique ullamcorper placerat. Aenean aliquet maximus tortor eu posuere.
Curabitur semper libero ut libero lacinia tempor. Duis tempor mattis nulla in malesuada.
Mauris rutrum commodo lacus. Integer pellentesque odio at eleifend vulputate. Donec eu erat
ut neque porttitor vehicula.
Duis est nisl, consequat sed ipsum eget, cursus auctor mauris. Vestibulum mattis sem et molestie
blandit. Donec tincidunt enim nibh, nec cursus magna feugiat id. Nulla facilisi. Suspendisse
ultricies lobortis ex, at vestibulum risus. Aliquam congue viverra justo vitae mollis. In
elementum venenatis eros non tincidunt. Pellentesque vitae sem dui. Quisque magna lacus,
dignissim sed viverra ut, sagittis quis turpis.
Aenean cursus id dolor sed convallis. Interdum et malesuada fames ac ante ipsum primis in
faucibus. Cras sodales ante et rhoncus commodo. In hac habitasse platea dictumst. Aenean
efficitur felis in elementum sollicitudin. In neque urna, tincidunt et lorem nec, commodo
maximus urna. Suspendisse tincidunt, felis ac viverra ultrices, nulla ipsum ornare nisi,
eleifend luctus tellus felis nec orci. Maecenas sed venenatis urna. Nulla tempor ultricies
lorem eget finibus. Nunc malesuada nisi id volutpat lobortis. Sed aliquet massa eu ex
eleifend efficitur. Curabitur accumsan vestibulum ligula sed aliquet. Nulla pretium dui id
nunc ultricies, id porttitor lorem pretium. Lorem ipsum dolor sit amet, consectetur
adipiscing elit.
""".trimIndent()
private val ArabicLipsum = """
وبحلول التخطيط بلا عل. لأداء المنتصر عسكرياً لكل أن, أخذ ثانية عرفها و. شيء من قدما الجو بخطوط,
تم لها بحشد كثيرة الأولية, إذ أواخر الشتاء، الكونجرس عدد. عل العصبة للأراضي عدد, بـ تلك هامش
اعتداء وإيطالي. فصل أم العالم المعاهدات.
أمام حكومة إذ الا, مدن من جمعت الخاسر الإقتصادية. أي مرجع التّحول بين. الا ثمّة ألمّ الثالث، ما,
٣٠ تونس سقطت فعل. تزامناً والنفيس قد الا, قد إيو قامت والنرويج.
٣٠ صفحة فاتّبع الكونجرس لها, بحق ضمنها الإنذار، و. تم لعدم الإنزال الأهداف ذلك, غضون تجهيز عن
جهة. الذود الأسيوي ٣٠ حيث, دار بل بزمام أثره، المواد, تم الدّفاع الأوروبية شيء. مواقعها مليارات
وتم ٣٠. كما جنوب مكثّفة الإمداد عن, من أضف وحتّى الخاسر الإحتفاظ.
""".trimIndent()
private val HebrewLipsum = """
גם לכאן הבהרה בהשחתה היא. גם בדף דרכה ביוטכנולוגיה, אם כלל עמוד בקרבת רומנית, בהבנה לעריכה
שתי גם. או הספרות הנאמנים ויקימדיה עוד. דת דפים הגולשות רבה. והנדסה לחיבור תחבורה תנך אם. בה
אתה כלים אחרים וקשקש. של לכאן החופשית ארץ.
דת צ'ט כיצד ביוטכנולוגיה, קבלו ומדעים אם אחד. אם שער יסוד ריקוד ניווט. בדף את ליום שינויים
ואלקטרוניקה, שמו אינטרנט אנתרופולוגיה ב. ראשי נבחרים צרפתית של חפש. ארץ בה בהשחתה גרמנית.
ישראל בקלות לטיפול בה שמו. שנתי בגרסה האנציקלופדיה זכר של, של חשמל לימודים האטמוספירה מתן, לוח
על ובמתן קישורים עקרונות. סדר את החול רוסית, תנך למנוע ברוכים דת, מדע אל ניווט ניהול והנדסה.
בה צעד בקלות אנגלית שימושיים. על ערכים נבחרים הספרות כדי, ארץ ליום טיפול ברוכים מה.
""".trimIndent()