Jewiki unterstützen. Jewiki, die größte Online-Enzy­klo­pädie zum Judentum.

Helfen Sie Jewiki mit einer kleinen oder auch größeren Spende. Einmalig oder regelmäßig, damit die Zukunft von Jewiki gesichert bleibt ...

Vielen Dank für Ihr Engagement! (→ Spendenkonten)

How to read Jewiki in your desired language · Comment lire Jewiki dans votre langue préférée · Cómo leer Jewiki en su idioma preferido · בשפה הרצויה Jewiki כיצד לקרוא · Как читать Jewiki на предпочитаемом вами языке · كيف تقرأ Jewiki باللغة التي تريدها · Como ler o Jewiki na sua língua preferida

Modul:Vorlage:Vers

Aus Jewiki
Zur Navigation springen Zur Suche springen

-- Export local p = { }

function p.uc_html(c)

 return "&#x" .. mw.ustring.format("%04x;", mw.ustring.codepoint(c))

end

function p.special_escape(c)

 r, n = mw.ustring.gsub(c, "[a-zA-Z]", {
   ["a"] = ""; -- äoilische Basis u. unbestimmte Silbe
   ["b"] = "̆"; -- Breve
   ["B"] = "⏜"; -- Brücke
   ["E"] = "└─┴─┘"; -- 5 Mora
   ["f"] = "ˌ"; -- Versfuß
   ["F"] = "└───┘"; -- 4 Mora = ganze Note
   ["G"] = "└──╴"; -- 3 Mora = 3/4 Note
   ["h"] = " ́"; -- Haupthebung
   ["H"] = "──"; -- 2 Mora = halbe Note
   ["i"] = ""; -- Indifferenz
   ["I"] = "◠̣"; -- Indifferenz (alternativ)
   ["k"] = ""; -- Kürze oder Länge
   ["l"] = ""; -- Länge oder Kürze
   ["m"] = "̄"; -- Macron
   ["M"] = "͞"; -- doppelter Macron
   ["n"] = " ̀"; -- Nebenhebung
   ["o"] = "()"; -- optionale kurze Silbe
   ["s"] = "⫽"; -- Strophenende
   ["u"] = " "; -- unbetont (Platzhalter für Betonungszeichen)
   ["v"] = "/"; -- Versende
   ["w"] = "¦"; -- häufiges Wortende
   -- [""] = ""; --
 })
 if n ~= 0 then return r end
 return p.uc_html(c) 

end

function p.do_convert (str)

 str,_ = mw.ustring.gsub(str, "\\([^a-zA-Z])", p.uc_html) 
 str,_ = mw.ustring.gsub(str, "!!", " ‖ "); -- THIN SPACE + DOUBLE VERTICAL LINE + THIN SPACE
 str,_ = mw.ustring.gsub(str, ".", {
   ["/"] = "—"; -- EM DASH
   ["-"] = "◡"; -- LOWER HALF CIRCLE
   ["'"] = "́"; -- COMBINING ACUTE ACCENT
   ["~"] = "̀"; -- COMBINING GRAVE ACCENT
   ["_"] = "̱"; -- COMBINING MACRON BELOW
   -- ["^"] = "∧"; -- LOGICAL AND
   ["\n"] = "
\n"; -- Line break + new line ["!"] = " | "; -- THIN SPACE + VERTICAL BAR + THIN SPACE }) str,_ = mw.ustring.gsub(str, "%%", "×"); -- MULTIPLICATION SIGN str,_ = mw.ustring.gsub(str, "[§$+*]", { ["§"] = "◡◡"; ["$"] = "◡◡"; ["+"] = "◡"; ["*"] = ""; }) str,_ = mw.ustring.gsub(str, "\\([a-zA-Z])", p.special_escape) return str

end

function p.convert (frame)

 local str = frame.args[1]
 return p.do_convert(str)

end

return p