#!/usr/bin/perl # Author: Hai Binh Nguyen # Name: u2v.pl # Desc: This script is intended for Vietnamese users only. # Load the script and UTF-8 incoming messages will be # displayed in VIQR. use strict; use vars qw ($VERSION %IRSSI); use Irssi; $VERSION = '2004-02-28'; %IRSSI = ( authors => 'b1nhb00ng', contact => 'bb@vnlinux.org', name => 'u2v', description => 'UTF-8 -> VIQR', license => 'GPLv2', url => 'http://www.zecoj.com', ); sub event_server_incoming { my ($server, $text) = @_; my $new_text; $new_text = u2v ($text); Irssi::signal_continue ($server, $new_text); } sub u2v { my ($text) = @_; $text =~ s/\xc3\xa0/a`/g; $text =~ s/\xe1\xba\xa3/a?/g; $text =~ s/\xc3\xa3/a~/g; $text =~ s/\xc3\xa1/a'/g; $text =~ s/\xe1\xba\xa1/a./g; $text =~ s/\xc4\x83/a(/g; $text =~ s/\xe1\xba\xb1/a(`/g; $text =~ s/\xe1\xba\xb3/a(?/g; $text =~ s/\xe1\xba\xb5/a(~/g; $text =~ s/\xe1\xba\xaf/a('/g; $text =~ s/\xe1\xba\xb7/a(./g; $text =~ s/\xc3\xa2/a^/g; $text =~ s/\xe1\xba\xa7/a^`/g; $text =~ s/\xe1\xba\xa9/a^?/g; $text =~ s/\xe1\xba\xab/a^~/g; $text =~ s/\xe1\xba\xa5/a^'/g; $text =~ s/\xe1\xba\xad/a^./g; $text =~ s/\xc3\xa8/e`/g; $text =~ s/\xe1\xba\xbb/e?/g; $text =~ s/\xe1\xba\xbd/e~/g; $text =~ s/\xc3\xa9/e'/g; $text =~ s/\xe1\xba\xb9/e./g; $text =~ s/\xc3\xaa/e^/g; $text =~ s/\xe1\xbb\x81/e^`/g; $text =~ s/\xe1\xbb\x83/e^?/g; $text =~ s/\xe1\xbb\x85/e^~/g; $text =~ s/\xe1\xba\xbf/e^'/g; $text =~ s/\xe1\xbb\x87/e^./g; $text =~ s/\xc3\xac/i`/g; $text =~ s/\xe1\xbb\x89/i?/g; $text =~ s/\xc4\xa9/i~/g; $text =~ s/\xc3\xad/i'/g; $text =~ s/\xe1\xbb\x8b/i./g; $text =~ s/\xc3\xb2/o`/g; $text =~ s/\xe1\xbb\x8f/o?/g; $text =~ s/\xc3\xb5/o~/g; $text =~ s/\xc3\xb3/o'/g; $text =~ s/\xe1\xbb\x8d/o./g; $text =~ s/\xc3\xb4/o^/g; $text =~ s/\xe1\xbb\x93/o^`/g; $text =~ s/\xe1\xbb\x95/o^?/g; $text =~ s/\xe1\xbb\x97/o^~/g; $text =~ s/\xe1\xbb\x91/o^'/g; $text =~ s/\xe1\xbb\x99/o^./g; $text =~ s/\xc6\xa1/o+/g; $text =~ s/\xe1\xbb\x9d/o+`/g; $text =~ s/\xe1\xbb\x9f/o+?/g; $text =~ s/\xe1\xbb\xa1/o+~/g; $text =~ s/\xe1\xbb\x9b/o+'/g; $text =~ s/\xe1\xbb\xa3/o+./g; $text =~ s/\xc3\xb9/u`/g; $text =~ s/\xe1\xbb\xa7/u?/g; $text =~ s/\xc5\xa9/u~/g; $text =~ s/\xc3\xba/u'/g; $text =~ s/\xe1\xbb\xa5/u./g; $text =~ s/\xc6\xb0/u+/g; $text =~ s/\xe1\xbb\xab/u+`/g; $text =~ s/\xe1\xbb\xad/u+?/g; $text =~ s/\xe1\xbb\xaf/u+~/g; $text =~ s/\xe1\xbb\xa9/u+'/g; $text =~ s/\xe1\xbb\xb1/u+./g; $text =~ s/\xe1\xbb\xb3/y`/g; $text =~ s/\xe1\xbb\xb7/y?/g; $text =~ s/\xe1\xbb\xb9/y~/g; $text =~ s/\xc3\xbd/y'/g; $text =~ s/\xe1\xbb\xb5/y./g; $text =~ s/\xc4\x91/dd/g; $text =~ s/\xc3\x80/A`/g; $text =~ s/\xe1\xba\xa2/A?/g; $text =~ s/\xc3\x83/A~/g; $text =~ s/\xc3\x81/A'/g; $text =~ s/\xe1\xba\xa0/A./g; $text =~ s/\xc4\x82/A(/g; $text =~ s/\xe1\xba\xb0/A(`/g; $text =~ s/\xe1\xba\xb2/A(?/g; $text =~ s/\xe1\xba\xb4/A(~/g; $text =~ s/\xe1\xba\xae/A('/g; $text =~ s/\xe1\xba\xb6/A(./g; $text =~ s/\xc3\x82/A^/g; $text =~ s/\xe1\xba\xa6/A^`/g; $text =~ s/\xe1\xba\xa8/A^?/g; $text =~ s/\xe1\xba\xaa/A^~/g; $text =~ s/\xe1\xba\xa4/A^'/g; $text =~ s/\xe1\xba\xac/A^./g; $text =~ s/\xc3\x88/E`/g; $text =~ s/\xe1\xba\xba/E?/g; $text =~ s/\xe1\xba\xbc/E~/g; $text =~ s/\xc3\x89/E'/g; $text =~ s/\xe1\xba\xb8/E./g; $text =~ s/\xc3\x8a/E^/g; $text =~ s/\xe1\xbb\x80/E^`/g; $text =~ s/\xe1\xbb\x82/E^?/g; $text =~ s/\xe1\xbb\x84/E^~/g; $text =~ s/\xe1\xba\xbe/E^'/g; $text =~ s/\xe1\xbb\x86/E^./g; $text =~ s/\xc3\x8c/I`/g; $text =~ s/\xe1\xbb\x88/I?/g; $text =~ s/\xc4\xa8/I~/g; $text =~ s/\xc3\x8d/I'/g; $text =~ s/\xe1\xbb\x8a/I./g; $text =~ s/\xc3\x92/O`/g; $text =~ s/\xe1\xbb\x8e/O?/g; $text =~ s/\xc3\x95/O~/g; $text =~ s/\xc3\x93/O'/g; $text =~ s/\xe1\xbb\x8c/O./g; $text =~ s/\xc3\x94/O^/g; $text =~ s/\xe1\xbb\x92/O^`/g; $text =~ s/\xe1\xbb\x94/O^?/g; $text =~ s/\xe1\xbb\x96/O^~/g; $text =~ s/\xe1\xbb\x90/O^'/g; $text =~ s/\xe1\xbb\x98/O^./g; $text =~ s/\xc6\xa0/O+/g; $text =~ s/\xe1\xbb\x9c/O+`/g; $text =~ s/\xe1\xbb\x9e/O+?/g; $text =~ s/\xe1\xbb\xa0/O+~/g; $text =~ s/\xe1\xbb\x9a/O+'/g; $text =~ s/\xe1\xbb\xa2/O+./g; $text =~ s/\xc3\x99/U`/g; $text =~ s/\xe1\xbb\xa6/U?/g; $text =~ s/\xc5\xa8/U~/g; $text =~ s/\xc3\x9a/U'/g; $text =~ s/\xe1\xbb\xa4/U./g; $text =~ s/\xc6\xaf/U+/g; $text =~ s/\xe1\xbb\xaa/U+`/g; $text =~ s/\xe1\xbb\xac/U+?/g; $text =~ s/\xe1\xbb\xae/U+~/g; $text =~ s/\xe1\xbb\xa8/U+'/g; $text =~ s/\xe1\xbb\xb0/U+./g; $text =~ s/\xe1\xbb\xb2/Y`/g; $text =~ s/\xe1\xbb\xb6/Y?/g; $text =~ s/\xe1\xbb\xb8/Y~/g; $text =~ s/\xc3\x9d/Y'/g; $text =~ s/\xe1\xbb\xb4/Y./g; $text =~ s/\xc4\x90/DD/g; return ($text); } Irssi::signal_add_first ('server incoming', \&event_server_incoming);