Moduł:odmiana-rzeczownik-staro-cerkiewno-słowiański

Moduł wykorzystywany przez szablon {{odmiana-rzeczownik-staro-cerkiewno-słowiański}}.


local m = {}

function m.czy_glagolica(r)
  --[[
    Prosta (i wydajna) funkcja do rozróżniania, czy podany argument jest
    zapisany cyrylicą czy głagolicą.

    Wykorzystuje fakt, że wszystkie znaki głagolicy zaczynają się w UTF-8
    od bajtu o wartości 0xE2, podczas gdy bajt ten jest inny w przypadku
    cyrylicy (zależy od przestrzeni).

    Nie nadaje się do rozróżniania głagolicy od wszystkich innych pism.
  ]]
  local x = r.args['1']
  local pierwszy = string.byte(x:sub(1,1))
  if pierwszy == 0xE2 then
    return 1
  else
    if pierwszy == 45 then -- znak dywizu, może się przydać przy sufiksach
      if string.byte(x:sub(2,1)) == 0xE2 then
        return 1
      else
        return 0
      end
    else
      return 0
    end
  end
end

return m