class Texol

Funkcja zamiana() odpowiada na co zamienić literę. Na początku przekazu należy zresetować transmisję.

Constants

VERSION
ZNAKI_DODATKOWE_KLAWIATURA
ZNAKI_DODATKOWE_PLUSMINUS
ZNAKI_DODATKOWE_UNICODE

57344 to numer wolnej przestrzeni na prywatne glify dla -3 -2 -1 i dalej …

Public Class Methods

new(jak='unicode') click to toggle source

Inicjując podajemy jak domyślnie określamy dodatkowe litery

# File lib/texol.rb, line 22
def initialize(jak='unicode')
 @poprzedni = nil  #Tu przechowujemy grupę do jakiej należy poprzedni znak lub nil jeśli nie było poprzedniej grupy
 @d = ZNAKI_DODATKOWE_UNICODE * 5
 if jak == 'plusminus'  then @d = ZNAKI_DODATKOWE_PLUSMINUS * 5 end
 if jak == 'klawiatura' then @d = ZNAKI_DODATKOWE_KLAWIATURA * 5 end
 #jeśli 'jak' jest inne to kodowanie jest domyślne
end

Public Instance Methods

napis(n) click to toggle source

zwracamy gotowy napis zamieniony już jak trzeba

# File lib/texol.rb, line 69
def napis(n)
 self.start()
 n.split(//).map{|e| self.znak(e)}.join
end
start() click to toggle source
# File lib/texol.rb, line 30
def start()
 @poprzedni = nil
end
tablica(n) click to toggle source
# File lib/texol.rb, line 74
def tablica(n)
 self.start()
 n.split(//).map{|e| self.znak(e)}
end
znak(znakutf8) click to toggle source

d-1 to znak -1 ale z kreską, duża litera

# File lib/texol.rb, line 35
def znak(znakutf8)
 g = ['m', 'j', 'a', 't', 'w', 'u', 'k',
      'M', 'J', 'A', 'T', 'W', 'U', 'K',
      's', 'n', 'z', 'e', 'c', 'i', 'h',
      'S', 'N', 'Z', 'E', 'C', 'I', 'H',
      'ś', 'v', 'ź', 'x', 'ń', 'ć', 'q',
      'Ś', 'V', 'Ź', 'X', 'Ń', 'Ć', 'Q',
      'y', 'b', 'r', 'o', 'd', 'p', 'ł',
      'Y', 'B', 'R', 'O', 'D', 'P', 'Ł',
      'ę', 'ó', 'f', 'l', 'ż', 'ą', 'g',
      'Ę', 'Ó', 'F', 'L', 'Ż', 'Ą', 'G']

 s = ["t", "t", "t", "t", "t", "t", "t", "t", "t", "t", "t", "t", "t", "t",
      "e", "e", "e", "e", "e", "e", "e", "e", "e", "e", "e", "e", "e", "e",
      "x", "x", "x", "x", "x", "x", "x", "x", "x", "x", "x", "x", "x", "x",
      "o", "o", "o", "o", "o", "o", "o", "o", "o", "o", "o", "o", "o", "o",
      "l", "l", "l", "l", "l", "l", "l", "l", "l", "l", "l", "l", "l", "l"]

 g.each_with_index{|z,i|
  if znakutf8 == z then
   if @poprzedni == s[i] then
    return @d[i]
   else
    @poprzedni = s[i];  return znakutf8
   end
  end
  }

 #inne znaki
 start()
 return znakutf8
end