#!/usr/bin/perl # # -*-perl-*- # # Copyright (C) 2004 Jörg Tiedemann # # $Id $ #---------------------------------------------------------------------------- # usage: # use strict; my $lang='pl'; while ($ARGV[0]=~/^\-/){ my $opt=shift(@ARGV); if ($opt eq '-l'){ $lang=shift(@ARGV); } } while (<>){ print &charConvert($_,$lang); } sub charConvert($stringrun, $cmode) { my $stringrun = shift(@_); my $lang1=shift; if ($lang1 eq "en") { # Have to recognise same chars as original source $stringrun = convSE($stringrun); } elsif ($lang1 eq "se" || $lang1 =~ /sv/) { $stringrun = convSE($stringrun); } elsif ($lang1 eq "es") { $stringrun = convES($stringrun); } elsif ($lang1 =~ /fr/) { $stringrun = convFR($stringrun); } elsif ($lang1 eq "pl") { $stringrun = convPL($stringrun); } elsif ($lang1 eq "scb") { $stringrun = convSBC($stringrun); #$stringrun .= "1 Konverterar serbiska bosniska kroatiska i '$stringrun'"; } elsif ($lang1 eq "fi" || $lang1 =~ /fi/ || $lang1 =~ /ro/) { $stringrun = convSF($stringrun); } } sub convFR($french) { my $french = shift(@_); #$french = convSE($french); $french =~ s/\340/à/g; $french =~ s/\300/À/g; $french =~ s/\341/á/g; $french =~ s/\301/Á/g; $french =~ s/\342/â/g; $french =~ s/\302/Â/g; $french =~ s/\347/ç/g; $french =~ s/\307/Ç/g; $french =~ s/\350/è/g; $french =~ s/\310/È/g; $french =~ s/\351/é/g; $french =~ s/\311/É/g; $french =~ s/\352/ê/g; $french =~ s/\312/Ê/g; $french =~ s/\354/ì/g; $french =~ s/\314/Ì/g; $french =~ s/\355/í/g; $french =~ s/\315/Í/g; $french =~ s/\356/î/g; $french =~ s/\316/Î/g; $french =~ s/\357/ï/g; $french =~ s/\317/Ï/g; $french =~ s/\361/ñ/g; $french =~ s/\321/Ñ/g; $french =~ s/\362/ò/g; $french =~ s/\322/Ò/g; $french =~ s/\363/ó/g; $french =~ s/\323/Ó/g; $french =~ s/\364/ô/g; $french =~ s/\324/Ô/g; $french =~ s/\371/ù/g; $french =~ s/\331/Ù/g; $french =~ s/\372/ú/g; $french =~ s/\332/Ú/g; $french =~ s/\373/û/g; $french =~ s/\333/Û/g; $french =~ s/\047/'/g; #¼ Doesn't work here but in convSE? $french =~ s/\274/.../g; return $french; } sub convPL($polish) { my $polish = shift(@_); $polish = convSE($polish); #$polish =~ s/\342/ą/g; $polish =~ s/\342/ą/g; #$polish =~ s/\302/Ą/g; $polish =~ s/\302/Ą/g; #$polish =~ s/\376/ć/g; $polish =~ s/\376/ć/g; #$polish =~ s/\336/Ć/g; $polish =~ s/\336/Ć/g; #$polish =~ s/\352/ę/g; $polish =~ s/\352/ę/g; #$polish =~ s/\312/Ę/g; $polish =~ s/\312/Ę/g; #$polish =~ s/\243/ł/g; $polish =~ s/\243/ł/g; #$polish =~ s/\367/Ł/g; $polish =~ s/\367/Ł/g; #$polish =~ s/\361/ń/g; $polish =~ s/\361/ń/g; #$polish =~ s/\321/Ń/g; $polish =~ s/\321/Ń/g; #$polish =~ s/\363/ó/g; $polish =~ s/\363/ó/g; #$polish =~ s/\323/Ó/g; $polish =~ s/\323/Ó/g; #$polish =~ s/\242/ś/g; $polish =~ s/\242/ś/g; #$polish =~ s/\251/Ś/g; $polish =~ s/\251/Ś/g; #$polish =~ s/\247/ź/g; $polish =~ s/\247/ź/g; #$polish =~ s/\254/Ź/g; $polish =~ s/\254/Ź/g; #$polish =~ s/\044/ż/g; $polish =~ s/\044/ż/g; #$polish =~ s/\256/Ż/g; $polish =~ s/\256/Ż/g; return $polish; } sub convSBC($sbc) { my $sbc = shift(@_); $sbc = convSE($sbc); #$sbc =~ s/\376/ć/g; $sbc =~ s/\376/ć/g; #$sbc =~ s/\336/Ć/g; $sbc =~ s/\336/Ć/g; #$sbc =~ s/\347/č/g; $sbc =~ s/\347/č/g; #$sbc =~ s/\307/Č/g; $sbc =~ s/\307/Č/g; #$sbc =~ s/\360/đ/g; $sbc =~ s/\360/đ/g; #$sbc =~ s/\320/Đ/g; $sbc =~ s/\320/Đ/g; #$sbc =~ s/\242/š/g; $sbc =~ s/\242/š/g; #$sbc =~ s/\251/Š/g; $sbc =~ s/\251/Š/g; #$sbc =~ s/\044/ž/g; $sbc =~ s/\044/ž/g; #$sbc =~ s/\256/Ž/g; $sbc =~ s/\256/Ž/g; return $sbc; } sub convES($spanish) { my $spanish = shift(@_); $spanish = convSE($spanish); $spanish =~ s/\341/á/g; $spanish =~ s/\301/Á/g; $spanish =~ s/\351/é/g; $spanish =~ s/\311/É/g; $spanish =~ s/\355/í/g; $spanish =~ s/\315/Í/g; $spanish =~ s/\361/ñ/g; $spanish =~ s/\321/Ñ/g; $spanish =~ s/\363/ó/g; $spanish =~ s/\323/Ó/g; $spanish =~ s/\372/ú/g; $spanish =~ s/\332/Ú/g; $spanish =~ s/\241/¡/g; $spanish =~ s/\277/¿/g; return $spanish; } sub convSF($finnish) { my $finnish = shift(@_); $finnish = convSE($finnish); return $finnish; } sub convSE($swedish) { my $swedish = shift(@_); $swedish =~ s/&/&/g; $swedish =~ s/ \242 / & /g; $swedish =~ s/-/­/g; #¼ $swedish =~ s/\274/.../g; $swedish =~ s/å/å/g; $swedish =~ s/Å/Å/g; $swedish =~ s/ä/ä/g; $swedish =~ s/Ä/Ä/g; $swedish =~ s/\341/á/g; $swedish =~ s/\301/Á/g; $swedish =~ s/\351/é/g; $swedish =~ s/\311/É/g; $swedish =~ s/ö/ö/g; $swedish =~ s/Ö/Ö/g; return $swedish; }