lib/texol.rb in texol-0.1.1 vs lib/texol.rb in texol-0.1.3

- old
+ new

@@ -4,51 +4,55 @@ # Funkcja zamiana() odpowiada na co zamienić literę. Na początku przekazu # należy zresetować transmisję. class Texol -VERSION = "0.1.1" +VERSION = "0.1.3" -ZNAKI_DODATKOWE = [ '-3', '-2', '-1', '0', '+1', '+2', '+3', +ZNAKI_DODATKOWE_PLUSMINUS = [ '-3', '-2', '-1', '0', '+1', '+2', '+3', 'd-3', 'd-2', 'd-1', 'd0', 'd+1', 'd+2', 'd+3' ] +#57344 to numer wolnej przestrzeni na prywatne glify dla -3 -2 -1 i dalej ... +ZNAKI_DODATKOWE_UNICODE = [ '', '', '', '', '', '', '', + '', '', '', '', '', '', '' ] +ZNAKI_DODATKOWE_KLAWIATURA = [ '6', '5', '4', '0', '1', '2', '3', + '}', ']', '9', '7', '8', '[', '{' ] + #Inicjując podajemy jak domyślnie określamy dodatkowe litery def initialize(jak="plusminus") @poprzedni = nil #Tu przechowujemy grupę do jakiej należy poprzedni znak lub nil jeśli nie było poprzedniej grupy + @d = ZNAKI_DODATKOWE_PLUSMINUS * 5 + if jak == 'unicode' then @d = ZNAKI_DODATKOWE_UNICODE * 5 end + if jak == 'klawiatura' then @d = ZNAKI_DODATKOWE_KLAWIATURA * 5 end + #jeśli jak jest inne to kodowanie jest domyślne end def start() @poprzedni = nil end #d-1 to znak -1 ale z kreską, duża litera 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'] * 14 ) + ( ['e'] * 14 ) + ( ['x'] * 14 ) + ( ['o'] * 14 ) + ( ['l'] * 14 ) - d = [ '-3', '-2', '-1', '0', '+1', '+2', '+3', - 'd-3', 'd-2', 'd-1', 'd0', 'd+1', 'd+2', 'd+3', - '-3', '-2', '-1', '0', '+1', '+2', '+3', - 'd-3', 'd-2', 'd-1', 'd0', 'd+1', 'd+2', 'd+3', - '-3', '-2', '-1', '0', '+1', '+2', '+3', - 'd-3', 'd-2', 'd-1', 'd0', 'd+1', 'd+2', 'd+3', - '-3', '-2', '-1', '0', '+1', '+2', '+3', - 'd-3', 'd-2', 'd-1', 'd0', 'd+1', 'd+2', 'd+3', - '-3', '-2', '-1', '0', '+1', '+2', '+3', - 'd-3', 'd-2', 'd-1', 'd0', 'd+1', 'd+2', 'd+3' ] + 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] + return @d[i] else @poprzedni = s[i]; return znakutf8 end end }