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
}