From 963b6aee0f7258390bbb9409bf5209270d9f5223 Mon Sep 17 00:00:00 2001 From: Lanius Trolling Date: Thu, 15 Jun 2023 11:35:57 -0400 Subject: [PATCH] Add Thedish alphabet --- .../info/mechyrdia/data/views_comment.kt | 11 ++++++++- .../kotlin/info/mechyrdia/lore/parser_tags.kt | 17 +++++++++++--- .../font/thedish-language-alphabet.woff | Bin 0 -> 4940 bytes src/main/resources/static/init.js | 13 +++++++++++ src/main/resources/static/style.css | 22 ++++++++++++++++-- 5 files changed, 57 insertions(+), 6 deletions(-) create mode 100644 src/main/resources/static/font/thedish-language-alphabet.woff diff --git a/src/main/kotlin/info/mechyrdia/data/views_comment.kt b/src/main/kotlin/info/mechyrdia/data/views_comment.kt index 904123f..5c6573c 100644 --- a/src/main/kotlin/info/mechyrdia/data/views_comment.kt +++ b/src/main/kotlin/info/mechyrdia/data/views_comment.kt @@ -482,7 +482,16 @@ suspend fun ApplicationCall.commentHelpPage(): HTML.() -> Unit = page("Commentin } } tr { - td { +"[lang=gothic]Gutiska Razda[/lang]" } + td { +"[lang=thedish]Theodisc Rasda[/lang]" } + td { + +"Writes text in the Thedish alphabet: " + span(classes = "lang-thedish") { + +"Theodisc Rasda" + } + } + } + tr { + td { +"[lang=gothic]\uD800\uDF32\uD800\uDF3F\uD800\uDF44\uD800\uDF39\uD800\uDF43\uD800\uDF3A\uD800\uDF30 \uD800\uDF42\uD800\uDF30\uD800\uDF36\uD800\uDF33\uD800\uDF30[/lang]" } td { +"Writes text in the Gothic alphabet: " span(classes = "lang-gothic") { diff --git a/src/main/kotlin/info/mechyrdia/lore/parser_tags.kt b/src/main/kotlin/info/mechyrdia/lore/parser_tags.kt index ac9e139..8aaef54 100644 --- a/src/main/kotlin/info/mechyrdia/lore/parser_tags.kt +++ b/src/main/kotlin/info/mechyrdia/lore/parser_tags.kt @@ -273,8 +273,10 @@ enum class TextParserFormattingTag(val type: TextParserTagType) { val tylan = TylanAlphabet.tylanToFontAlphabet(uncensored) val recensored = TextParserState.censorText(tylan) "$recensored" - } else if (tagParam != null) - "$content" + } else if (tagParam?.equals("thedish", ignoreCase = true) == true) + "$content" + else if (tagParam?.equals("gothic", ignoreCase = true) == true) + "$content" else content } ), @@ -288,7 +290,16 @@ enum class TextParserFormattingTag(val type: TextParserTagType) { |

Tylan Alphabet:

| | - """.trimMargin() + """.trimMargin() + } else if (content.equals("thedish", ignoreCase = true)) { + """ + |
+ |

Latin Alphabet:

+ | + |

Thedish Alphabet:

+ | + |
+ """.trimMargin() } else content } ), diff --git a/src/main/resources/static/font/thedish-language-alphabet.woff b/src/main/resources/static/font/thedish-language-alphabet.woff new file mode 100644 index 0000000000000000000000000000000000000000..c1100f00edd3c78e2ade10579690b56c614b80c3 GIT binary patch literal 4940 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 M6ZjGrDZaAxAL#f4ApigX literal 0 HcmV?d00001 diff --git a/src/main/resources/static/init.js b/src/main/resources/static/init.js index 0e5707b..1f4890b 100644 --- a/src/main/resources/static/init.js +++ b/src/main/resources/static/init.js @@ -32,6 +32,19 @@ } }); + window.addEventListener("load", function () { + // Thedish alphabet + const thedishAlphabetBoxes = document.getElementsByClassName("thedish-alphabet-box"); + for (const thedishAlphabetBox of thedishAlphabetBoxes) { + const inputBox = thedishAlphabetBox.getElementsByClassName("input-box")[0]; + const outputBox = thedishAlphabetBox.getElementsByClassName("output-box")[0]; + + inputBox.addEventListener("input", () => { + outputBox.value = inputBox.value; + }); + } + }); + window.addEventListener("load", function () { // Preview themes const themeChoices = document.getElementsByName("theme"); diff --git a/src/main/resources/static/style.css b/src/main/resources/static/style.css index b2d1d20..7452f27 100644 --- a/src/main/resources/static/style.css +++ b/src/main/resources/static/style.css @@ -864,6 +864,10 @@ iframe { text-align: center; } +.lang-gothic { + font-family: 'Noto Sans Gothic', sans-serif; +} + @font-face { font-family: 'Tulasra'; src: url(/static/font/tylan-language-alphabet-3.woff) format('woff'); @@ -882,8 +886,22 @@ textarea.lang-tylan { line-height: 1.0; } -.lang-gothic { - font-family: 'Noto Sans Gothic', sans-serif; +@font-face { + font-family: 'Theodisc'; + src: url(/static/font/thedish-language-alphabet.woff) format('woff'); +} + +.lang-thedish { + font-family: Theodisc, monospace; + font-size: 1.25em; + line-height: 1.0; + font-variant: normal !important; +} + +textarea.lang-thedish { + font-family: Theodisc, monospace; + font-size: 2.5em; + line-height: 1.0; } #thumb-view { -- 2.25.1