head	1.1;
branch	1.1.1;
access;
symbols
	pkgsrc-2026Q1:1.1.1.1.0.120
	pkgsrc-2026Q1-base:1.1.1.1
	pkgsrc-2025Q4:1.1.1.1.0.118
	pkgsrc-2025Q4-base:1.1.1.1
	pkgsrc-2025Q3:1.1.1.1.0.116
	pkgsrc-2025Q3-base:1.1.1.1
	pkgsrc-2025Q2:1.1.1.1.0.114
	pkgsrc-2025Q2-base:1.1.1.1
	pkgsrc-2025Q1:1.1.1.1.0.112
	pkgsrc-2025Q1-base:1.1.1.1
	pkgsrc-2024Q4:1.1.1.1.0.110
	pkgsrc-2024Q4-base:1.1.1.1
	pkgsrc-2024Q3:1.1.1.1.0.108
	pkgsrc-2024Q3-base:1.1.1.1
	pkgsrc-2024Q2:1.1.1.1.0.106
	pkgsrc-2024Q2-base:1.1.1.1
	pkgsrc-2024Q1:1.1.1.1.0.104
	pkgsrc-2024Q1-base:1.1.1.1
	pkgsrc-2023Q4:1.1.1.1.0.102
	pkgsrc-2023Q4-base:1.1.1.1
	pkgsrc-2023Q3:1.1.1.1.0.100
	pkgsrc-2023Q3-base:1.1.1.1
	pkgsrc-2023Q2:1.1.1.1.0.98
	pkgsrc-2023Q2-base:1.1.1.1
	pkgsrc-2023Q1:1.1.1.1.0.96
	pkgsrc-2023Q1-base:1.1.1.1
	pkgsrc-2022Q4:1.1.1.1.0.94
	pkgsrc-2022Q4-base:1.1.1.1
	pkgsrc-2022Q3:1.1.1.1.0.92
	pkgsrc-2022Q3-base:1.1.1.1
	pkgsrc-2022Q2:1.1.1.1.0.90
	pkgsrc-2022Q2-base:1.1.1.1
	pkgsrc-2022Q1:1.1.1.1.0.88
	pkgsrc-2022Q1-base:1.1.1.1
	pkgsrc-2021Q4:1.1.1.1.0.86
	pkgsrc-2021Q4-base:1.1.1.1
	pkgsrc-2021Q3:1.1.1.1.0.84
	pkgsrc-2021Q3-base:1.1.1.1
	pkgsrc-2021Q2:1.1.1.1.0.82
	pkgsrc-2021Q2-base:1.1.1.1
	pkgsrc-2021Q1:1.1.1.1.0.80
	pkgsrc-2021Q1-base:1.1.1.1
	pkgsrc-2020Q4:1.1.1.1.0.78
	pkgsrc-2020Q4-base:1.1.1.1
	pkgsrc-2020Q3:1.1.1.1.0.76
	pkgsrc-2020Q3-base:1.1.1.1
	pkgsrc-2020Q2:1.1.1.1.0.72
	pkgsrc-2020Q2-base:1.1.1.1
	pkgsrc-2020Q1:1.1.1.1.0.52
	pkgsrc-2020Q1-base:1.1.1.1
	pkgsrc-2019Q4:1.1.1.1.0.74
	pkgsrc-2019Q4-base:1.1.1.1
	pkgsrc-2019Q3:1.1.1.1.0.70
	pkgsrc-2019Q3-base:1.1.1.1
	pkgsrc-2019Q2:1.1.1.1.0.68
	pkgsrc-2019Q2-base:1.1.1.1
	pkgsrc-2019Q1:1.1.1.1.0.66
	pkgsrc-2019Q1-base:1.1.1.1
	pkgsrc-2018Q4:1.1.1.1.0.64
	pkgsrc-2018Q4-base:1.1.1.1
	pkgsrc-2018Q3:1.1.1.1.0.62
	pkgsrc-2018Q3-base:1.1.1.1
	pkgsrc-2018Q2:1.1.1.1.0.60
	pkgsrc-2018Q2-base:1.1.1.1
	pkgsrc-2018Q1:1.1.1.1.0.58
	pkgsrc-2018Q1-base:1.1.1.1
	pkgsrc-2017Q4:1.1.1.1.0.56
	pkgsrc-2017Q4-base:1.1.1.1
	pkgsrc-2017Q3:1.1.1.1.0.54
	pkgsrc-2017Q3-base:1.1.1.1
	pkgsrc-2017Q2:1.1.1.1.0.50
	pkgsrc-2017Q2-base:1.1.1.1
	pkgsrc-2017Q1:1.1.1.1.0.48
	pkgsrc-2017Q1-base:1.1.1.1
	pkgsrc-2016Q4:1.1.1.1.0.46
	pkgsrc-2016Q4-base:1.1.1.1
	pkgsrc-2016Q3:1.1.1.1.0.44
	pkgsrc-2016Q3-base:1.1.1.1
	pkgsrc-2016Q2:1.1.1.1.0.42
	pkgsrc-2016Q2-base:1.1.1.1
	pkgsrc-2016Q1:1.1.1.1.0.40
	pkgsrc-2016Q1-base:1.1.1.1
	pkgsrc-2015Q4:1.1.1.1.0.38
	pkgsrc-2015Q4-base:1.1.1.1
	pkgsrc-2015Q3:1.1.1.1.0.36
	pkgsrc-2015Q3-base:1.1.1.1
	pkgsrc-2015Q2:1.1.1.1.0.34
	pkgsrc-2015Q2-base:1.1.1.1
	pkgsrc-2015Q1:1.1.1.1.0.32
	pkgsrc-2015Q1-base:1.1.1.1
	pkgsrc-2014Q4:1.1.1.1.0.30
	pkgsrc-2014Q4-base:1.1.1.1
	pkgsrc-2014Q3:1.1.1.1.0.28
	pkgsrc-2014Q3-base:1.1.1.1
	pkgsrc-2014Q2:1.1.1.1.0.26
	pkgsrc-2014Q2-base:1.1.1.1
	pkgsrc-2014Q1:1.1.1.1.0.24
	pkgsrc-2014Q1-base:1.1.1.1
	pkgsrc-2013Q4:1.1.1.1.0.22
	pkgsrc-2013Q4-base:1.1.1.1
	pkgsrc-2013Q3:1.1.1.1.0.20
	pkgsrc-2013Q3-base:1.1.1.1
	pkgsrc-2013Q2:1.1.1.1.0.18
	pkgsrc-2013Q2-base:1.1.1.1
	pkgsrc-2013Q1:1.1.1.1.0.16
	pkgsrc-2013Q1-base:1.1.1.1
	pkgsrc-2012Q4:1.1.1.1.0.14
	pkgsrc-2012Q4-base:1.1.1.1
	pkgsrc-2012Q3:1.1.1.1.0.12
	pkgsrc-2012Q3-base:1.1.1.1
	pkgsrc-2012Q2:1.1.1.1.0.10
	pkgsrc-2012Q2-base:1.1.1.1
	pkgsrc-2012Q1:1.1.1.1.0.8
	pkgsrc-2012Q1-base:1.1.1.1
	pkgsrc-2011Q4:1.1.1.1.0.6
	pkgsrc-2011Q4-base:1.1.1.1
	pkgsrc-2011Q3:1.1.1.1.0.4
	pkgsrc-2011Q3-base:1.1.1.1
	pkgsrc-2011Q2:1.1.1.1.0.2
	pkgsrc-2011Q2-base:1.1.1.1
	pkgsrc-base:1.1.1.1
	TNF:1.1.1;
locks; strict;
comment	@# @;


1.1
date	2011.05.08.18.19.54;	author cheusov;	state Exp;
branches
	1.1.1.1;
next	;

1.1.1.1
date	2011.05.08.18.19.54;	author cheusov;	state Exp;
branches;
next	;


desc
@@



1.1
log
@Initial revision
@
text
@#!/usr/bin/perl
# Written by Alexey Dyachenko <alexd@@altlinux.ru> (c) 2002
# Licensed under GNU GPL

 require Unicode::Map8;
 my $koi_map = Unicode::Map8->new("koi8-r")    || die;

 my $ipa_map = Unicode::Map8->new();

 $ipa_map->default_to16( 0x20 );

$ipa_map->addpair( 0x61,  0x61 );
$ipa_map->addpair( 0x62,  0x62 );
$ipa_map->addpair( 0x63,  0x63 );
$ipa_map->addpair( 0x64,  0x64 );
$ipa_map->addpair( 0x65,  0x65 );
$ipa_map->addpair( 0x66,  0x66 );
$ipa_map->addpair( 0x67,  0x67 );
$ipa_map->addpair( 0x68,  0x68 );
$ipa_map->addpair( 0x69,  0x69 );
$ipa_map->addpair( 0x6a,  0x6a );
$ipa_map->addpair( 0x6b,  0x6b );
$ipa_map->addpair( 0x6c,  0x6c );
$ipa_map->addpair( 0x6d,  0x6d );
$ipa_map->addpair( 0x6e,  0x6e );
$ipa_map->addpair( 0x6f,  0x6f );
$ipa_map->addpair( 0x70,  0x70 );
$ipa_map->addpair( 0x71,  0x71 );
$ipa_map->addpair( 0x72,  0x72 );
$ipa_map->addpair( 0x73,  0x73 );
$ipa_map->addpair( 0x74,  0x74 );
$ipa_map->addpair( 0x75,  0x75 );
$ipa_map->addpair( 0x76,  0x76 );
$ipa_map->addpair( 0x77,  0x77 );
$ipa_map->addpair( 0x78,  0x78 );
$ipa_map->addpair( 0x79,  0x79 );
$ipa_map->addpair( 0x7a,  0x7a );

$ipa_map->addpair( 0x2d,  0x2e );
$ipa_map->addpair( 0x2e,  0x2e );


$ipa_map->addpair( 0x54,  0x03b8 );
$ipa_map->addpair( 0x53,  0x0283 );
$ipa_map->addpair( 0x4e,  0x014b );
$ipa_map->addpair( 0xd7,  0x02a7 );
$ipa_map->addpair( 0x44,  0x00F0 );

$ipa_map->addpair( 0x5a,  0x0292 );

$ipa_map->addpair( 0x51,  0x00e6 );
$ipa_map->addpair( 0x49,  0x0131 );
$ipa_map->addpair( 0xc3,  0x028c );
$ipa_map->addpair( 0x55,  0x028a );
$ipa_map->addpair( 0x81,  0x0252 );
$ipa_map->addpair( 0x45,  0x025b );
$ipa_map->addpair( 0xab,  0x0259 );

$ipa_map->addpair( 0x41,  0x0251 );
$ipa_map->addpair( 0xce,  0x025c );
$ipa_map->addpair( 0x8d,  0x0254 );

$ipa_map->addpair( 0xc7,  0x02cc );
$ipa_map->addpair( 0xc8,  0x02c8 );

$ipa_map->addpair( 0xf9,  0x02d0 );
$ipa_map->addpair( 0x3e,  0x02d1 );

# dump_map( $ipa_map );
#
# exit;

sub to_utf {
	return $koi_map->tou($_[0])->utf8;
}

sub ipa_code {
	return $ipa_map->tou($_[0])->utf8;
}


while( <> ) {
	if( /\[\S+\]/ ) {
		if( /(.*)  (.*)/ ){
			my $leftpart = $1;
			my $rightpart = $2;
			print to_utf($leftpart)."  ";
			if( substr( $rightpart, 0, 1 ) != "[" ) {
				if( $rightpart =~ /([^[]+)/ ){
					print to_utf($1);
				}
			};

			while( $rightpart =~ /\[([^]]+)\]([^[]*)/g ){
				print "[".ipa_code($1)."]".to_utf($2);
			};
			
			print "\n";
		}else{
			print to_utf($_);
		};
	}else{
		print to_utf($_);
	}
};

sub dump_map
{
  my $m = shift;
  for (my $i = 0; $i < 256; $i++) {
    my $u = $m->to_char16($i);
    next if $u == NOCHAR;
    printf "0x%02X 0x%04X\n", $i, $u;
  }
  for (my $block = 0; $block < 256; $block++) {
    next if $m->_empty_block($block);
    print "# BLOCK $block\n";
    for (my $i = 0; $i < 256; $i++) {
      my $u = $block*256 + $i;
      my $c = $m->to_char8($u);
      next if $c == NOCHAR;
      printf "0x%04X 0x%02X\n", $u, $c;
    }
  }
}
@


1.1.1.1
log
@
This is the GPL'd 7th edition of the very well known English-Russian
dictionary by V.K.Mueller compiled for dictd (dictionary protocol server).
@
text
@@
