2011-01-15 6 views
2

Ich bin derzeit mit diesem Code für eine Test-Konsole, aber Unicode-Zeichen werden immer komplett gebrochen (noch in 1,9 1.8.7 dann)Wie kann man Unicode-Zeichen mit Curses anzeigen?

# encoding: UTF-8 
require 'curses' 

Curses.noecho # do not show typed chars 
Curses.nonl # turn off newline translation 
Curses.stdscr.keypad(true) # enable arrow keys 
Curses.raw # give us all other keys 
Curses.stdscr.nodelay = 1 # do not block -> we can use timeouts 
Curses.init_screen 

count = 0 
loop do 
    key = Curses.getch || 4294967295 
    next if key == 4294967295 
    exit if key == 3 # Ctrl+c 
    count = (count + 1) % 20 
    Curses.setpos(count,0) 
    Curses.addstr("#{key.inspect} äáßðäëéßðf "); 
end 

eine Ahnung, wie auch partyally dieses Problem zu beheben (auf 1,8 oder 1,9)

Antwort

1

Ich kenne die genauen Schritte nicht, aber ich habe Leute sagen, dass sie Ruby mit libncursesw5-dev neu kompilieren mussten, um Unicode wie erwartet zu funktionieren.

+0

scheint bei der Installation von libncursesw5-dev und dann neu installieren ruby ​​1.9 buts seine irgendwie hacky: <(funktioniert nicht für 1.8.6 oder 1.8.7) – grosser

+0

Das macht Sinn, es ist eine neue Ergänzung der Code-Basis so es wird wahrscheinlich nur mit der neuesten Version funktionieren. Wenn ich das richtig verstanden habe, behebt dies das Problem vollständig für Version 1.9, sobald Sie alles installiert haben. Ist das korrekt? Benötigen Sie auch eine Korrektur für 1.8? – Mark

+0

Ja, alles in Ordnung 1,9 nach der Neuinstallation, aber 1.8 hat überhaupt nicht profitiert. – grosser

Verwandte Themen