It’s a known issue (not a bug) as the web app uses a library called hunspell which relies on a rather complicated dictionary file format for spell checking. The issue stems from the fact that the only available German dictionary has a license incompatible with the web app and contacting its author to purchase the dictionary has not yet led to any results unfortunately.
@xkevio is it be possible to expose an interface in the web app to bring a local dictionary or strip all the code and export the text only in order to check it externally? I write a lot in German, and this particular shortcoming makes it significantly harder to directly use typst for projects – I am stuck writing all the text first and then typesetting it in Typst.
A simple spellchecker for German is the following:
#import "@preview/hy-dro-gen:0.1.2" as hy
#assert(hy.exists("de"))
#show regex("\p{L}{2,}"): word => {
if word.text not in (
"bspw",
"cm",
"Dr",
"mm",
"nm",
"vllt",
) {
let syllables = hy.syllables(lower(word.text), lang: "de")
if not syllables.all(s =>
s.contains("a") or
s.contains("ä") or
s.contains("e") or
s.contains("i") or
s.contains("o") or
s.contains("ö") or
s.contains("u") or
s.contains("ü") or
s.contains("y")
) {
panic("Spelling of word '", word.text, "' is unexpected.", syllables)
}
}
word
}
The problem is, that the WebApp is closed source. Understandable as typst needs to generate some funds for the expensive server infrastructure. But my question is, if a portion of the WebApp could legally be open sourced (say the part with the spellchecker) to use German dictionaries, that is GPL only and not LGPL. One doesn’t require MacOSX to be open sourced, to use hunspell with German dictionaries either. I sure would love a German spell checker in typst WebApp.