File Coverage

blib/lib/Lingua/Translit/Tables.pm
Criterion Covered Total %
statement 32 38 84.2
branch 14 20 70.0
condition n/a
subroutine 8 10 80.0
pod 3 3 100.0
total 57 71 80.2


line stmt bran cond sub pod time code
1             package Lingua::Translit::Tables;
2              
3             #
4             # Copyright (C) 2007-2008 ...
5             # Alex Linke
6             # Rona Linke
7             # Copyright (C) 2009-2016 Lingua-Systems Software GmbH
8             # Copyright (C) 2016-2017 Netzum Sorglos, Lingua-Systems Software GmbH
9             # Copyright (C) 2017-2022 Netzum Sorglos Software GmbH
10             #
11              
12 27     27   64007 use strict;
  27         53  
  27         704  
13 27     27   120 use warnings;
  27         46  
  27         551  
14 27     27   9746 use utf8;
  27         261  
  27         132  
15              
16             require 5.008;
17              
18             our $VERSION = '0.28';
19              
20 27     27   1177 use Carp;
  27         48  
  27         431785  
21              
22             =pod
23              
24             =encoding utf8
25              
26             =head1 NAME
27              
28             Lingua::Translit::Tables - provides transliteration tables
29              
30             =head1 SYNOPSIS
31              
32             use Lingua::Translit::Tables qw/:checks/;
33              
34             my $truth;
35              
36             $truth = translit_supported("ISO 9");
37             $truth = translit_reverse_supported("ISO 9");
38              
39             use Lingua::Translit::Tables qw/:list/;
40              
41             translit_list_supported();
42              
43             =head1 DESCRIPTION
44              
45             This module is primary used to provide transliteration tables for
46             L and therefore allows one to separate data and algorithm.
47              
48             Beyond that, it provides routines to check if a given transliteration is
49             supported and allows one to print a simple list of supported transliterations
50             along with some meta information.
51              
52             =head1 EXPORTS
53              
54             No symbols are exported by default.
55              
56             Use either the routine's name or one of the following I to import
57             symbols to your namespace.
58              
59             =over 4
60              
61             =item B
62              
63             Import all routines.
64              
65             =item B
66              
67             Import all routines that allow one to check if a given transliteration is
68             supported: translit_supported() and translit_reverse_supported().
69              
70             =item B
71              
72             Import translit_list_supported(). (Convenience tag)
73              
74             =back
75              
76             =cut
77              
78             require Exporter;
79              
80             our @ISA = qw/Exporter/;
81             our @EXPORT = qw//; # Export nothing by default
82             our @EXPORT_OK = qw/translit_supported translit_reverse_supported
83             translit_list_supported/;
84              
85             our %EXPORT_TAGS = (
86             checks => [qw/translit_supported translit_reverse_supported/],
87             list => [qw/translit_list_supported/],
88             all => [@EXPORT_OK]
89             );
90              
91             # For convenience, the tables are initialized at the bottom of this file.
92             our %tables;
93              
94             # Used internally to retrieve a reference to a single transliteration table.
95             sub _get_table_reference {
96 90     90   156 my $name = shift();
97              
98 90 100       184 return unless $name;
99              
100 89         186 $name = _get_table_id($name);
101              
102 89         505 foreach my $table ( keys %tables ) {
103 1177 100       3295 return _handle_perl_unicode_bug( $tables{$table} )
104             if $table =~ /^$name$/i;
105             }
106              
107 1         5 return;
108             }
109              
110             # Handle the "Unicode Bug" affecting code points in the Latin-1 block.
111             #
112             # Have a look at perlunicode (section "The 'Unicode Bug'") for details.
113             sub _handle_perl_unicode_bug {
114 88     88   169 my $tbl = shift();
115              
116 88         128 foreach my $rule ( @{ $tbl->{rules} } ) {
  88         252  
117 5519         8959 utf8::upgrade( $rule->{from} );
118 5519         8703 utf8::upgrade( $rule->{to} );
119              
120 5519 100       7957 if ( defined( $rule->{context} ) ) {
121             utf8::upgrade( $rule->{context}->{before} )
122 274 100       587 if defined $rule->{context}->{before};
123             utf8::upgrade( $rule->{context}->{after} )
124 274 100       559 if defined $rule->{context}->{after};
125             }
126             }
127              
128 88         388 return $tbl;
129             }
130              
131             =head1 ROUTINES
132              
133             =head2 translit_supported(I)
134              
135             Returns true (1), iff I is supported. False (0) otherwise.
136              
137             =cut
138              
139             sub translit_supported {
140 50 100   50 1 17374 return ( _get_table_reference( _get_table_id( $_[0] ) ) ? 1 : 0 );
141             }
142              
143             =head2 translit_reverse_supported(I)
144              
145             Returns true (1), iff I is supported and allows reverse
146             transliteration. False (0) otherwise.
147              
148             =cut
149              
150             sub translit_reverse_supported {
151 0     0 1 0 my $table = _get_table_reference( _get_table_id( $_[0] ) );
152              
153 0 0       0 croak("Failed to retrieve table for $_[0].") unless ($table);
154              
155 0 0       0 return ( ( $table->{reverse} =~ /^true$/ ) ? 1 : 0 );
156             }
157              
158             =head2 B
159              
160             Prints a list of all supported transliterations to STDOUT (UTF-8 encoded),
161             providing the following information:
162              
163             * Name
164             * Reversibility
165             * Description
166              
167             The same information is provided in this document as well:
168              
169             =cut
170              
171             sub translit_list_supported {
172 0     0 1 0 require Encode;
173              
174 0         0 foreach my $table ( sort keys %tables ) {
175             printf(
176             "%s, %sreversible, %s\n",
177             Encode::encode( 'utf8', $tables{$table}->{name} ),
178             ( $tables{$table}->{reverse} eq "false" ? 'not ' : '' ),
179             Encode::encode( 'utf8', $tables{$table}->{desc} )
180 0 0       0 );
181             }
182             }
183              
184             =head1 SUPPORTED TRANSLITERATIONS
185              
186             =over 4
187              
188             =item Cyrillic
189              
190             I, not reversible, ALA-LC:1997, Cyrillic to Latin, Russian
191              
192             I, reversible, ISO 9:1995, Cyrillic to Latin
193              
194             I, reversible, ISO 9:1954, Cyrillic to Latin
195              
196             I, reversible, DIN 1460:1982, Cyrillic to Latin, Russian
197              
198             I, reversible, DIN 1460:1982, Cyrillic to Latin, Ukrainian
199              
200             I, reversible, DIN 1460:1982, Cyrillic to Latin, Bulgarian
201              
202             I, not reversible, The Streamlined System: 2006,
203             Cyrillic to Latin, Bulgarian
204              
205             I, reversible, GOST 7.79:2000 (table B), Cyrillic to Latin,
206             Russian
207              
208             I, not reversible, GOST 7.79:2000 (table B), Cyrillic to
209             Latin with support for Old Russian (pre 1918), Russian
210              
211             I, reversible, GOST 7.79:2000 (table B), Cyrillic to Latin,
212             Ukrainian
213              
214             I, not reversible, BGN/PCGN:1947 (Standard Variant),
215             Cyrillic to Latin, Russian
216              
217             I, not reversible, BGN/PCGN:1947 (Strict Variant),
218             Cyrillic to Latin, Russian
219              
220             =item Greek
221              
222             I, not reversible, ISO 843:1997, Greek to Latin
223              
224             I, not reversible, DIN 31634:1982, Greek to Latin
225              
226             I, not reversible, Greeklish (Phonetic), Greek to Latin
227              
228             =item Latin
229              
230             I, not reversible, Czech without diacritics
231              
232             I, not reversible, German without umlauts
233              
234             I, not reversible, Unaccented Polish
235              
236             I, not reversible, Romanian without diacritics as commonly used
237              
238             I, not reversible, Slovak without diacritics
239              
240             I, not reversible, Slovenian without diacritics
241              
242             I, reversible, Romanian with appropriate diacritics
243              
244             =item Arabic
245              
246             I, not reversible, Common Romanization of Arabic
247              
248             =item Sanskrit
249              
250             I, not reversible, IAST Romanization to Devanāgarī
251              
252             I, not reversible, Devanāgarī to IAST Romanization
253              
254             =back
255              
256             =head1 ADDING NEW TRANSLITERATIONS
257              
258             In case you want to add your own transliteration tables to
259             L, have a look at the developer documentation at
260             L.
261              
262             A template of a transliteration table is provided as well
263             (F) so you can easily start developing.
264              
265             =head1 BUGS
266              
267             None known.
268              
269             Please report bugs using CPAN's request tracker at
270             L.
271              
272             =head1 SEE ALSO
273              
274             L
275              
276             L
277              
278              
279             =head1 CREDITS
280              
281             Thanks to Dr. Daniel Eiwen, Romanisches Seminar, Universitaet Koeln for his
282             help on Romanian transliteration.
283              
284             Thanks to Dmitry Smal and Rusar Publishing for contributing the "ALA-LC RUS"
285             transliteration table.
286              
287             Thanks to Ahmed Elsheshtawy for his help implementing the "Common ARA" Arabic
288             transliteration.
289              
290             Thanks to Dusan Vuckovic for contributing the "ISO/R 9" transliteration table.
291              
292             Thanks to Ștefan Suciu for contributing the "ISO 8859-16 RON" transliteration
293             table.
294              
295             Thanks to Philip Kime for contributing the "IAST Devanagari" and "Devanagari
296             IAST" transliteration tables.
297              
298             Thanks to Nikola Lečić for contributing the "BGN/PCGN RUS Standard" and
299             "BGN/PCGN RUS Strict" transliteration tables.
300              
301             =head1 AUTHORS
302              
303             Alex Linke
304              
305             Rona Linke
306              
307             =head1 LICENSE AND COPYRIGHT
308              
309             Copyright (C) 2007-2008 Alex Linke and Rona Linke
310              
311             Copyright (C) 2009-2016 Lingua-Systems Software GmbH
312              
313             Copyright (C) 2016-2017 Netzum Sorglos, Lingua-Systems Software GmbH
314              
315             Copyright (C) 2017-2022 Netzum Sorglos Software GmbH
316              
317             This module is free software; you can redistribute it and/or modify it under
318             the same terms as Perl itself.
319              
320             =cut
321              
322             # Get a table's identifier (based on the table's name)
323             # i.e "Common DEU" -> "common_deu"
324             sub _get_table_id {
325 151     151   5770 my $name = shift();
326              
327 151 100       281 return "" unless $name;
328              
329 150         469 $name =~ s/\s/_/g;
330              
331 150         333 return lc($name);
332             }
333              
334             # For convenience, the next line is automatically substituted with the set
335             # of transliteration tables at build time.
336             %tables = (
337             "common_slk" => {
338             "desc" => "Slovak without diacritics",
339             "name" => "Common SLK",
340             "id" => "common_slk",
341             "rules" => [
342             {
343             "to" => "A",
344             "from" => "\x{c1}"
345             },
346             {
347             "to" => "a",
348             "from" => "\x{e1}"
349             },
350             {
351             "to" => "A",
352             "from" => "\x{c4}"
353             },
354             {
355             "to" => "a",
356             "from" => "\x{e4}"
357             },
358             {
359             "to" => "C",
360             "from" => "\x{10c}"
361             },
362             {
363             "to" => "c",
364             "from" => "\x{10d}"
365             },
366             {
367             "to" => "D",
368             "from" => "\x{10e}"
369             },
370             {
371             "to" => "d",
372             "from" => "\x{10f}"
373             },
374             {
375             "to" => "d",
376             "from" => "d\x{30c}"
377             },
378             {
379             "to" => "E",
380             "from" => "\x{c9}"
381             },
382             {
383             "to" => "e",
384             "from" => "\x{e9}"
385             },
386             {
387             "to" => "I",
388             "from" => "\x{cd}"
389             },
390             {
391             "to" => "i",
392             "from" => "\x{ed}"
393             },
394             {
395             "to" => "L",
396             "from" => "\x{139}"
397             },
398             {
399             "to" => "l",
400             "from" => "\x{13a}"
401             },
402             {
403             "to" => "L",
404             "from" => "\x{13d}"
405             },
406             {
407             "to" => "l",
408             "from" => "\x{13e}"
409             },
410             {
411             "to" => "L",
412             "from" => "L\x{30c}"
413             },
414             {
415             "to" => "l",
416             "from" => "l\x{30c}"
417             },
418             {
419             "to" => "N",
420             "from" => "\x{147}"
421             },
422             {
423             "to" => "n",
424             "from" => "\x{148}"
425             },
426             {
427             "to" => "O",
428             "from" => "\x{d3}"
429             },
430             {
431             "to" => "o",
432             "from" => "\x{f3}"
433             },
434             {
435             "to" => "R",
436             "from" => "\x{154}"
437             },
438             {
439             "to" => "r",
440             "from" => "\x{155}"
441             },
442             {
443             "to" => "S",
444             "from" => "\x{160}"
445             },
446             {
447             "to" => "s",
448             "from" => "\x{161}"
449             },
450             {
451             "to" => "T",
452             "from" => "\x{164}"
453             },
454             {
455             "to" => "t",
456             "from" => "\x{165}"
457             },
458             {
459             "to" => "t",
460             "from" => "t\x{30c}"
461             },
462             {
463             "to" => "U",
464             "from" => "\x{da}"
465             },
466             {
467             "to" => "u",
468             "from" => "\x{fa}"
469             },
470             {
471             "to" => "Y",
472             "from" => "\x{dd}"
473             },
474             {
475             "to" => "y",
476             "from" => "\x{fd}"
477             },
478             {
479             "to" => "Z",
480             "from" => "\x{17d}"
481             },
482             {
483             "to" => "z",
484             "from" => "\x{17e}"
485             },
486             {
487             "to" => "O",
488             "from" => "\x{d4}"
489             },
490             {
491             "to" => "o",
492             "from" => "\x{f4}"
493             },
494             {
495             "to" => "DZ",
496             "from" => "\x{1f1}"
497             },
498             {
499             "to" => "Dz",
500             "from" => "\x{1f2}"
501             },
502             {
503             "to" => "dz",
504             "from" => "\x{1f3}"
505             },
506             {
507             "to" => "DZ",
508             "from" => "\x{1c4}"
509             },
510             {
511             "to" => "Dz",
512             "from" => "\x{1c5}"
513             },
514             {
515             "to" => "dz",
516             "from" => "\x{1c6}"
517             }
518             ],
519             "reverse" => "false"
520             },
521             "common_ron" => {
522             "desc" => "Romanian without diacritics",
523             "name" => "Common RON",
524             "id" => "common_ron",
525             "rules" => [
526             {
527             "to" => "A",
528             "from" => "\x{102}"
529             },
530             {
531             "to" => "a",
532             "from" => "\x{103}"
533             },
534             {
535             "to" => "A",
536             "from" => "\x{c2}"
537             },
538             {
539             "to" => "a",
540             "from" => "\x{e2}"
541             },
542             {
543             "to" => "I",
544             "from" => "\x{ce}"
545             },
546             {
547             "to" => "i",
548             "from" => "\x{ee}"
549             },
550             {
551             "to" => "S",
552             "from" => "\x{218}"
553             },
554             {
555             "to" => "s",
556             "from" => "\x{219}"
557             },
558             {
559             "to" => "S",
560             "from" => "\x{15e}"
561             },
562             {
563             "to" => "s",
564             "from" => "\x{15f}"
565             },
566             {
567             "to" => "T",
568             "from" => "\x{21a}"
569             },
570             {
571             "to" => "t",
572             "from" => "\x{21b}"
573             },
574             {
575             "to" => "T",
576             "from" => "\x{162}"
577             },
578             {
579             "to" => "t",
580             "from" => "\x{163}"
581             }
582             ],
583             "reverse" => "false"
584             },
585             "common_pol" => {
586             "desc" => "Unaccented Polish",
587             "name" => "Common POL",
588             "id" => "common_pol",
589             "rules" => [
590             {
591             "to" => "A",
592             "from" => "\x{104}"
593             },
594             {
595             "to" => "a",
596             "from" => "\x{105}"
597             },
598             {
599             "to" => "C",
600             "from" => "\x{106}"
601             },
602             {
603             "to" => "c",
604             "from" => "\x{107}"
605             },
606             {
607             "to" => "E",
608             "from" => "\x{118}"
609             },
610             {
611             "to" => "e",
612             "from" => "\x{119}"
613             },
614             {
615             "to" => "L",
616             "from" => "\x{141}"
617             },
618             {
619             "to" => "l",
620             "from" => "\x{142}"
621             },
622             {
623             "to" => "N",
624             "from" => "\x{143}"
625             },
626             {
627             "to" => "n",
628             "from" => "\x{144}"
629             },
630             {
631             "to" => "O",
632             "from" => "\x{d3}"
633             },
634             {
635             "to" => "o",
636             "from" => "\x{f3}"
637             },
638             {
639             "to" => "S",
640             "from" => "\x{15a}"
641             },
642             {
643             "to" => "s",
644             "from" => "\x{15b}"
645             },
646             {
647             "to" => "Z",
648             "from" => "\x{179}"
649             },
650             {
651             "to" => "z",
652             "from" => "\x{17a}"
653             },
654             {
655             "to" => "Z",
656             "from" => "\x{17b}"
657             },
658             {
659             "to" => "z",
660             "from" => "\x{17c}"
661             }
662             ],
663             "reverse" => "false"
664             },
665             "streamlined_system_bul" => {
666             "desc" => "The Streamlined System: 2006, Cyrillic to Latin, Bulgarian",
667             "name" => "Streamlined System BUL",
668             "id" => "streamlined_system_bul",
669             "rules" => [
670             {
671             "to" => "SHT",
672             "from" => "\x{429}",
673             "context" => {
674             "after" => "[\\p{IsUpper}\\p{IsSpace}]",
675             "before" => "[\\p{IsUpper}\\p{IsSpace}]"
676             }
677             },
678             {
679             "to" => "Sht",
680             "from" => "\x{429}"
681             },
682             {
683             "to" => "sht",
684             "from" => "\x{449}"
685             },
686             {
687             "to" => "ZH",
688             "from" => "\x{416}",
689             "context" => {
690             "after" => "[\\p{IsUpper}\\p{IsSpace}]",
691             "before" => "[\\p{IsUpper}\\p{IsSpace}]"
692             }
693             },
694             {
695             "to" => "Zh",
696             "from" => "\x{416}"
697             },
698             {
699             "to" => "zh",
700             "from" => "\x{436}"
701             },
702             {
703             "to" => "TS",
704             "from" => "\x{426}",
705             "context" => {
706             "after" => "[\\p{IsUpper}\\p{IsSpace}]",
707             "before" => "[\\p{IsUpper}\\p{IsSpace}]"
708             }
709             },
710             {
711             "to" => "Ts",
712             "from" => "\x{426}"
713             },
714             {
715             "to" => "ts",
716             "from" => "\x{446}"
717             },
718             {
719             "to" => "CH",
720             "from" => "\x{427}",
721             "context" => {
722             "after" => "[\\p{IsUpper}\\p{IsSpace}]",
723             "before" => "[\\p{IsUpper}\\p{IsSpace}]"
724             }
725             },
726             {
727             "to" => "Ch",
728             "from" => "\x{427}"
729             },
730             {
731             "to" => "ch",
732             "from" => "\x{447}"
733             },
734             {
735             "to" => "SH",
736             "from" => "\x{428}",
737             "context" => {
738             "after" => "[\\p{IsUpper}\\p{IsSpace}]",
739             "before" => "[\\p{IsUpper}\\p{IsSpace}]"
740             }
741             },
742             {
743             "to" => "Sh",
744             "from" => "\x{428}"
745             },
746             {
747             "to" => "sh",
748             "from" => "\x{448}"
749             },
750             {
751             "to" => "YU",
752             "from" => "\x{42e}",
753             "context" => {
754             "after" => "[\\p{IsUpper}\\p{IsSpace}]",
755             "before" => "[\\p{IsUpper}\\p{IsSpace}]"
756             }
757             },
758             {
759             "to" => "Yu",
760             "from" => "\x{42e}"
761             },
762             {
763             "to" => "yu",
764             "from" => "\x{44e}"
765             },
766             {
767             "to" => "YA",
768             "from" => "\x{42f}",
769             "context" => {
770             "after" => "[\\p{IsUpper}\\p{IsSpace}]",
771             "before" => "[\\p{IsUpper}\\p{IsSpace}]"
772             }
773             },
774             {
775             "to" => "Ya",
776             "from" => "\x{42f}"
777             },
778             {
779             "to" => "ya",
780             "from" => "\x{44f}"
781             },
782             {
783             "to" => "A",
784             "from" => "\x{410}"
785             },
786             {
787             "to" => "a",
788             "from" => "\x{430}"
789             },
790             {
791             "to" => "B",
792             "from" => "\x{411}"
793             },
794             {
795             "to" => "b",
796             "from" => "\x{431}"
797             },
798             {
799             "to" => "V",
800             "from" => "\x{412}"
801             },
802             {
803             "to" => "v",
804             "from" => "\x{432}"
805             },
806             {
807             "to" => "G",
808             "from" => "\x{413}"
809             },
810             {
811             "to" => "g",
812             "from" => "\x{433}"
813             },
814             {
815             "to" => "D",
816             "from" => "\x{414}"
817             },
818             {
819             "to" => "d",
820             "from" => "\x{434}"
821             },
822             {
823             "to" => "E",
824             "from" => "\x{415}"
825             },
826             {
827             "to" => "e",
828             "from" => "\x{435}"
829             },
830             {
831             "to" => "Z",
832             "from" => "\x{417}"
833             },
834             {
835             "to" => "z",
836             "from" => "\x{437}"
837             },
838             {
839             "to" => "I",
840             "from" => "\x{418}"
841             },
842             {
843             "to" => "i",
844             "from" => "\x{438}"
845             },
846             {
847             "to" => "Y",
848             "from" => "\x{419}"
849             },
850             {
851             "to" => "y",
852             "from" => "\x{439}"
853             },
854             {
855             "to" => "K",
856             "from" => "\x{41a}"
857             },
858             {
859             "to" => "k",
860             "from" => "\x{43a}"
861             },
862             {
863             "to" => "L",
864             "from" => "\x{41b}"
865             },
866             {
867             "to" => "l",
868             "from" => "\x{43b}"
869             },
870             {
871             "to" => "M",
872             "from" => "\x{41c}"
873             },
874             {
875             "to" => "m",
876             "from" => "\x{43c}"
877             },
878             {
879             "to" => "N",
880             "from" => "\x{41d}"
881             },
882             {
883             "to" => "n",
884             "from" => "\x{43d}"
885             },
886             {
887             "to" => "O",
888             "from" => "\x{41e}"
889             },
890             {
891             "to" => "o",
892             "from" => "\x{43e}"
893             },
894             {
895             "to" => "P",
896             "from" => "\x{41f}"
897             },
898             {
899             "to" => "p",
900             "from" => "\x{43f}"
901             },
902             {
903             "to" => "R",
904             "from" => "\x{420}"
905             },
906             {
907             "to" => "r",
908             "from" => "\x{440}"
909             },
910             {
911             "to" => "S",
912             "from" => "\x{421}"
913             },
914             {
915             "to" => "s",
916             "from" => "\x{441}"
917             },
918             {
919             "to" => "T",
920             "from" => "\x{422}"
921             },
922             {
923             "to" => "t",
924             "from" => "\x{442}"
925             },
926             {
927             "to" => "U",
928             "from" => "\x{423}"
929             },
930             {
931             "to" => "u",
932             "from" => "\x{443}"
933             },
934             {
935             "to" => "F",
936             "from" => "\x{424}"
937             },
938             {
939             "to" => "f",
940             "from" => "\x{444}"
941             },
942             {
943             "to" => "H",
944             "from" => "\x{425}"
945             },
946             {
947             "to" => "h",
948             "from" => "\x{445}"
949             },
950             {
951             "to" => "A",
952             "from" => "\x{42a}"
953             },
954             {
955             "to" => "a",
956             "from" => "\x{44a}"
957             },
958             {
959             "to" => "Y",
960             "from" => "\x{42c}"
961             },
962             {
963             "to" => "y",
964             "from" => "\x{44c}"
965             }
966             ],
967             "reverse" => "false"
968             },
969             "gost_7.79_rus_old" => {
970             "desc" => "GOST 7.79:2000, Cyrillic to Latin with support for Old Russian (pre 1918), Russian",
971             "name" => "GOST 7.79 RUS OLD",
972             "id" => "gost_7.79_rus_old",
973             "rules" => [
974             {
975             "to" => "i'",
976             "from" => "\x{456}",
977             "context" => {
978             "before" => "[^\x{430}\x{435}\x{451}\x{438}\x{43e}\x{443}\x{44b}\x{44d}\x{44e}\x{44f}\x{44d}\x{451}\x{463}\x{475}\x{456}]"
979             }
980             },
981             {
982             "to" => "I'",
983             "from" => "\x{406}",
984             "context" => {
985             "before" => "[^\x{410}\x{415}\x{401}\x{418}\x{41e}\x{423}\x{42b}\x{42d}\x{42e}\x{42f}\x{401}\x{42d}\x{462}\x{474}\x{406}]"
986             }
987             },
988             {
989             "to" => "i",
990             "from" => "\x{456}"
991             },
992             {
993             "to" => "I",
994             "from" => "\x{406}"
995             },
996             {
997             "to" => "c",
998             "from" => "\x{446}",
999             "context" => {
1000             "before" => "[iejy\x{438}\x{435}\x{439}\x{44b}\x{44e}\x{44f}]"
1001             }
1002             },
1003             {
1004             "to" => "C",
1005             "from" => "\x{426}",
1006             "context" => {
1007             "before" => "[IEJY\x{418}\x{415}\x{419}\x{42b}\x{42e}\x{42f}]"
1008             }
1009             },
1010             {
1011             "to" => "cz",
1012             "from" => "\x{446}"
1013             },
1014             {
1015             "to" => "CZ",
1016             "from" => "\x{426}",
1017             "context" => {
1018             "after" => "[\\p{IsUpper}\\p{IsSpace}]",
1019             "before" => "[\\p{IsUpper}\\p{IsSpace}]"
1020             }
1021             },
1022             {
1023             "to" => "Cz",
1024             "from" => "\x{426}"
1025             },
1026             {
1027             "to" => "a",
1028             "from" => "\x{430}"
1029             },
1030             {
1031             "to" => "A",
1032             "from" => "\x{410}"
1033             },
1034             {
1035             "to" => "b",
1036             "from" => "\x{431}"
1037             },
1038             {
1039             "to" => "B",
1040             "from" => "\x{411}"
1041             },
1042             {
1043             "to" => "v",
1044             "from" => "\x{432}"
1045             },
1046             {
1047             "to" => "V",
1048             "from" => "\x{412}"
1049             },
1050             {
1051             "to" => "g",
1052             "from" => "\x{433}"
1053             },
1054             {
1055             "to" => "G",
1056             "from" => "\x{413}"
1057             },
1058             {
1059             "to" => "d",
1060             "from" => "\x{434}"
1061             },
1062             {
1063             "to" => "D",
1064             "from" => "\x{414}"
1065             },
1066             {
1067             "to" => "e",
1068             "from" => "\x{435}"
1069             },
1070             {
1071             "to" => "E",
1072             "from" => "\x{415}"
1073             },
1074             {
1075             "to" => "yo",
1076             "from" => "\x{451}"
1077             },
1078             {
1079             "to" => "YO",
1080             "from" => "\x{401}",
1081             "context" => {
1082             "after" => "[\\p{IsUpper}\\p{IsSpace}]",
1083             "before" => "[\\p{IsUpper}\\p{IsSpace}]"
1084             }
1085             },
1086             {
1087             "to" => "Yo",
1088             "from" => "\x{401}"
1089             },
1090             {
1091             "to" => "zh",
1092             "from" => "\x{436}"
1093             },
1094             {
1095             "to" => "ZH",
1096             "from" => "\x{416}",
1097             "context" => {
1098             "after" => "[\\p{IsUpper}\\p{IsSpace}]",
1099             "before" => "[\\p{IsUpper}\\p{IsSpace}]"
1100             }
1101             },
1102             {
1103             "to" => "Zh",
1104             "from" => "\x{416}"
1105             },
1106             {
1107             "to" => "z",
1108             "from" => "\x{437}"
1109             },
1110             {
1111             "to" => "Z",
1112             "from" => "\x{417}"
1113             },
1114             {
1115             "to" => "i",
1116             "from" => "\x{438}"
1117             },
1118             {
1119             "to" => "I",
1120             "from" => "\x{418}"
1121             },
1122             {
1123             "to" => "j",
1124             "from" => "\x{439}"
1125             },
1126             {
1127             "to" => "J",
1128             "from" => "\x{419}"
1129             },
1130             {
1131             "to" => "k",
1132             "from" => "\x{43a}"
1133             },
1134             {
1135             "to" => "K",
1136             "from" => "\x{41a}"
1137             },
1138             {
1139             "to" => "l",
1140             "from" => "\x{43b}"
1141             },
1142             {
1143             "to" => "L",
1144             "from" => "\x{41b}"
1145             },
1146             {
1147             "to" => "m",
1148             "from" => "\x{43c}"
1149             },
1150             {
1151             "to" => "M",
1152             "from" => "\x{41c}"
1153             },
1154             {
1155             "to" => "n",
1156             "from" => "\x{43d}"
1157             },
1158             {
1159             "to" => "N",
1160             "from" => "\x{41d}"
1161             },
1162             {
1163             "to" => "o",
1164             "from" => "\x{43e}"
1165             },
1166             {
1167             "to" => "O",
1168             "from" => "\x{41e}"
1169             },
1170             {
1171             "to" => "p",
1172             "from" => "\x{43f}"
1173             },
1174             {
1175             "to" => "P",
1176             "from" => "\x{41f}"
1177             },
1178             {
1179             "to" => "r",
1180             "from" => "\x{440}"
1181             },
1182             {
1183             "to" => "R",
1184             "from" => "\x{420}"
1185             },
1186             {
1187             "to" => "s",
1188             "from" => "\x{441}"
1189             },
1190             {
1191             "to" => "S",
1192             "from" => "\x{421}"
1193             },
1194             {
1195             "to" => "t",
1196             "from" => "\x{442}"
1197             },
1198             {
1199             "to" => "T",
1200             "from" => "\x{422}"
1201             },
1202             {
1203             "to" => "u",
1204             "from" => "\x{443}"
1205             },
1206             {
1207             "to" => "U",
1208             "from" => "\x{423}"
1209             },
1210             {
1211             "to" => "f",
1212             "from" => "\x{444}"
1213             },
1214             {
1215             "to" => "F",
1216             "from" => "\x{424}"
1217             },
1218             {
1219             "to" => "x",
1220             "from" => "\x{445}"
1221             },
1222             {
1223             "to" => "X",
1224             "from" => "\x{425}"
1225             },
1226             {
1227             "to" => "ch",
1228             "from" => "\x{447}"
1229             },
1230             {
1231             "to" => "CH",
1232             "from" => "\x{427}",
1233             "context" => {
1234             "after" => "[\\p{IsUpper}\\p{IsSpace}]",
1235             "before" => "[\\p{IsUpper}\\p{IsSpace}]"
1236             }
1237             },
1238             {
1239             "to" => "Ch",
1240             "from" => "\x{427}"
1241             },
1242             {
1243             "to" => "sh",
1244             "from" => "\x{448}"
1245             },
1246             {
1247             "to" => "SH",
1248             "from" => "\x{428}",
1249             "context" => {
1250             "after" => "[\\p{IsUpper}\\p{IsSpace}]",
1251             "before" => "[\\p{IsUpper}\\p{IsSpace}]"
1252             }
1253             },
1254             {
1255             "to" => "Sh",
1256             "from" => "\x{428}"
1257             },
1258             {
1259             "to" => "shh",
1260             "from" => "\x{449}"
1261             },
1262             {
1263             "to" => "SHH",
1264             "from" => "\x{429}",
1265             "context" => {
1266             "after" => "[\\p{IsUpper}\\p{IsSpace}]",
1267             "before" => "[\\p{IsUpper}\\p{IsSpace}]"
1268             }
1269             },
1270             {
1271             "to" => "Shh",
1272             "from" => "\x{429}"
1273             },
1274             {
1275             "to" => "``",
1276             "from" => "\x{44a}"
1277             },
1278             {
1279             "to" => "``",
1280             "from" => "\x{42a}"
1281             },
1282             {
1283             "to" => "y'",
1284             "from" => "\x{44b}"
1285             },
1286             {
1287             "to" => "Y'",
1288             "from" => "\x{42b}"
1289             },
1290             {
1291             "to" => "`",
1292             "from" => "\x{42c}"
1293             },
1294             {
1295             "to" => "`",
1296             "from" => "\x{44c}"
1297             },
1298             {
1299             "to" => "e`",
1300             "from" => "\x{44d}"
1301             },
1302             {
1303             "to" => "E`",
1304             "from" => "\x{42d}"
1305             },
1306             {
1307             "to" => "yu",
1308             "from" => "\x{44e}"
1309             },
1310             {
1311             "to" => "YU",
1312             "from" => "\x{42e}",
1313             "context" => {
1314             "after" => "[\\p{IsUpper}\\p{IsSpace}]",
1315             "before" => "[\\p{IsUpper}\\p{IsSpace}]"
1316             }
1317             },
1318             {
1319             "to" => "Yu",
1320             "from" => "\x{42e}"
1321             },
1322             {
1323             "to" => "ya",
1324             "from" => "\x{44f}"
1325             },
1326             {
1327             "to" => "YA",
1328             "from" => "\x{42f}",
1329             "context" => {
1330             "after" => "[\\p{IsUpper}\\p{IsSpace}]",
1331             "before" => "[\\p{IsUpper}\\p{IsSpace}]"
1332             }
1333             },
1334             {
1335             "to" => "Ya",
1336             "from" => "\x{42f}"
1337             },
1338             {
1339             "to" => "ye",
1340             "from" => "\x{463}"
1341             },
1342             {
1343             "to" => "YE",
1344             "from" => "\x{462}",
1345             "context" => {
1346             "after" => "[\\p{IsUpper}\\p{IsSpace}]",
1347             "before" => "[\\p{IsUpper}\\p{IsSpace}]"
1348             }
1349             },
1350             {
1351             "to" => "Ye",
1352             "from" => "\x{462}"
1353             },
1354             {
1355             "to" => "fh",
1356             "from" => "\x{473}"
1357             },
1358             {
1359             "to" => "FH",
1360             "from" => "\x{472}",
1361             "context" => {
1362             "after" => "[\\p{IsUpper}\\p{IsSpace}]",
1363             "before" => "[\\p{IsUpper}\\p{IsSpace}]"
1364             }
1365             },
1366             {
1367             "to" => "Fh",
1368             "from" => "\x{472}"
1369             },
1370             {
1371             "to" => "yh",
1372             "from" => "\x{475}"
1373             },
1374             {
1375             "to" => "YH",
1376             "from" => "\x{474}",
1377             "context" => {
1378             "after" => "[\\p{IsUpper}\\p{IsSpace}]",
1379             "before" => "[\\p{IsUpper}\\p{IsSpace}]"
1380             }
1381             },
1382             {
1383             "to" => "Yh",
1384             "from" => "\x{474}"
1385             },
1386             {
1387             "to" => "#",
1388             "from" => "\x{2116}"
1389             }
1390             ],
1391             "reverse" => "false"
1392             },
1393             "din_1460_rus" => {
1394             "desc" => "DIN 1460:1982, Cyrillic to Latin, Russian",
1395             "name" => "DIN 1460 RUS",
1396             "id" => "din_1460_rus",
1397             "rules" => [
1398             {
1399             "to" => "ch",
1400             "from" => "\x{445}"
1401             },
1402             {
1403             "to" => "CH",
1404             "from" => "\x{425}",
1405             "context" => {
1406             "after" => "[\\p{IsUpper}\\p{IsSpace}]",
1407             "before" => "[\\p{IsUpper}\\p{IsSpace}]"
1408             }
1409             },
1410             {
1411             "to" => "Ch",
1412             "from" => "\x{425}"
1413             },
1414             {
1415             "to" => "\x{161}\x{10d}",
1416             "from" => "\x{449}"
1417             },
1418             {
1419             "to" => "\x{160}\x{10c}",
1420             "from" => "\x{429}",
1421             "context" => {
1422             "after" => "[\\p{IsUpper}\\p{IsSpace}]",
1423             "before" => "[\\p{IsUpper}\\p{IsSpace}]"
1424             }
1425             },
1426             {
1427             "to" => "\x{160}\x{10d}",
1428             "from" => "\x{429}"
1429             },
1430             {
1431             "to" => "\"",
1432             "from" => "\x{42a}",
1433             "context" => {
1434             "after" => "\\p{IsUpper}",
1435             "before" => "([^\\p{IsWord}]|\$)"
1436             }
1437             },
1438             {
1439             "to" => "\"",
1440             "from" => "\x{44a}",
1441             "context" => {
1442             "after" => "\\p{IsWord}",
1443             "before" => "([^\\p{IsWord}]|\$)"
1444             }
1445             },
1446             {
1447             "to" => "\"",
1448             "from" => "\x{44a}",
1449             "context" => {
1450             "after" => "\\p{IsWord}",
1451             "before" => "\\p{IsWord}"
1452             }
1453             },
1454             {
1455             "to" => "\"",
1456             "from" => "\x{42a}",
1457             "context" => {
1458             "after" => "\\p{IsWord}",
1459             "before" => "\\p{IsWord}"
1460             }
1461             },
1462             {
1463             "to" => "ju",
1464             "from" => "\x{44e}"
1465             },
1466             {
1467             "to" => "JU",
1468             "from" => "\x{42e}",
1469             "context" => {
1470             "after" => "[\\p{IsUpper}\\p{IsSpace}]",
1471             "before" => "[\\p{IsUpper}\\p{IsSpace}]"
1472             }
1473             },
1474             {
1475             "to" => "Ju",
1476             "from" => "\x{42e}"
1477             },
1478             {
1479             "to" => "ja",
1480             "from" => "\x{44f}"
1481             },
1482             {
1483             "to" => "JA",
1484             "from" => "\x{42f}",
1485             "context" => {
1486             "after" => "[\\p{IsUpper}\\p{IsSpace}]",
1487             "before" => "[\\p{IsUpper}\\p{IsSpace}]"
1488             }
1489             },
1490             {
1491             "to" => "Ja",
1492             "from" => "\x{42f}"
1493             },
1494             {
1495             "to" => "J-",
1496             "from" => "\x{419}",
1497             "context" => {
1498             "before" => "[auAU\x{430}\x{443}\x{410}\x{423}]"
1499             }
1500             },
1501             {
1502             "to" => "j-",
1503             "from" => "\x{439}",
1504             "context" => {
1505             "before" => "[au\x{430}\x{443}]"
1506             }
1507             },
1508             {
1509             "to" => "\x{160}-",
1510             "from" => "\x{428}",
1511             "context" => {
1512             "before" => "[\x{10c}\x{10d}\x{427}\x{447}]"
1513             }
1514             },
1515             {
1516             "to" => "\x{161}-",
1517             "from" => "\x{448}",
1518             "context" => {
1519             "before" => "[\x{10d}\x{447}]"
1520             }
1521             },
1522             {
1523             "to" => "a",
1524             "from" => "\x{430}"
1525             },
1526             {
1527             "to" => "A",
1528             "from" => "\x{410}"
1529             },
1530             {
1531             "to" => "b",
1532             "from" => "\x{431}"
1533             },
1534             {
1535             "to" => "B",
1536             "from" => "\x{411}"
1537             },
1538             {
1539             "to" => "v",
1540             "from" => "\x{432}"
1541             },
1542             {
1543             "to" => "V",
1544             "from" => "\x{412}"
1545             },
1546             {
1547             "to" => "g",
1548             "from" => "\x{433}"
1549             },
1550             {
1551             "to" => "G",
1552             "from" => "\x{413}"
1553             },
1554             {
1555             "to" => "d",
1556             "from" => "\x{434}"
1557             },
1558             {
1559             "to" => "D",
1560             "from" => "\x{414}"
1561             },
1562             {
1563             "to" => "e",
1564             "from" => "\x{435}"
1565             },
1566             {
1567             "to" => "E",
1568             "from" => "\x{415}"
1569             },
1570             {
1571             "to" => "\x{eb}",
1572             "from" => "\x{451}"
1573             },
1574             {
1575             "to" => "\x{cb}",
1576             "from" => "\x{401}"
1577             },
1578             {
1579             "to" => "\x{17e}",
1580             "from" => "\x{436}"
1581             },
1582             {
1583             "to" => "\x{17d}",
1584             "from" => "\x{416}"
1585             },
1586             {
1587             "to" => "z",
1588             "from" => "\x{437}"
1589             },
1590             {
1591             "to" => "Z",
1592             "from" => "\x{417}"
1593             },
1594             {
1595             "to" => "i",
1596             "from" => "\x{438}"
1597             },
1598             {
1599             "to" => "I",
1600             "from" => "\x{418}"
1601             },
1602             {
1603             "to" => "i",
1604             "from" => "\x{456}"
1605             },
1606             {
1607             "to" => "I",
1608             "from" => "\x{406}"
1609             },
1610             {
1611             "to" => "j",
1612             "from" => "\x{439}"
1613             },
1614             {
1615             "to" => "J",
1616             "from" => "\x{419}"
1617             },
1618             {
1619             "to" => "k",
1620             "from" => "\x{43a}"
1621             },
1622             {
1623             "to" => "K",
1624             "from" => "\x{41a}"
1625             },
1626             {
1627             "to" => "l",
1628             "from" => "\x{43b}"
1629             },
1630             {
1631             "to" => "L",
1632             "from" => "\x{41b}"
1633             },
1634             {
1635             "to" => "m",
1636             "from" => "\x{43c}"
1637             },
1638             {
1639             "to" => "M",
1640             "from" => "\x{41c}"
1641             },
1642             {
1643             "to" => "n",
1644             "from" => "\x{43d}"
1645             },
1646             {
1647             "to" => "N",
1648             "from" => "\x{41d}"
1649             },
1650             {
1651             "to" => "o",
1652             "from" => "\x{43e}"
1653             },
1654             {
1655             "to" => "O",
1656             "from" => "\x{41e}"
1657             },
1658             {
1659             "to" => "p",
1660             "from" => "\x{43f}"
1661             },
1662             {
1663             "to" => "P",
1664             "from" => "\x{41f}"
1665             },
1666             {
1667             "to" => "r",
1668             "from" => "\x{440}"
1669             },
1670             {
1671             "to" => "R",
1672             "from" => "\x{420}"
1673             },
1674             {
1675             "to" => "s",
1676             "from" => "\x{441}"
1677             },
1678             {
1679             "to" => "S",
1680             "from" => "\x{421}"
1681             },
1682             {
1683             "to" => "t",
1684             "from" => "\x{442}"
1685             },
1686             {
1687             "to" => "T",
1688             "from" => "\x{422}"
1689             },
1690             {
1691             "to" => "u",
1692             "from" => "\x{443}"
1693             },
1694             {
1695             "to" => "U",
1696             "from" => "\x{423}"
1697             },
1698             {
1699             "to" => "f",
1700             "from" => "\x{444}"
1701             },
1702             {
1703             "to" => "F",
1704             "from" => "\x{424}"
1705             },
1706             {
1707             "to" => "c",
1708             "from" => "\x{446}"
1709             },
1710             {
1711             "to" => "C",
1712             "from" => "\x{426}"
1713             },
1714             {
1715             "to" => "\x{10d}",
1716             "from" => "\x{447}"
1717             },
1718             {
1719             "to" => "\x{10c}",
1720             "from" => "\x{427}"
1721             },
1722             {
1723             "to" => "\x{161}",
1724             "from" => "\x{448}"
1725             },
1726             {
1727             "to" => "\x{160}",
1728             "from" => "\x{428}"
1729             },
1730             {
1731             "to" => "y",
1732             "from" => "\x{44b}"
1733             },
1734             {
1735             "to" => "Y",
1736             "from" => "\x{42b}"
1737             },
1738             {
1739             "to" => "'",
1740             "from" => "\x{42c}",
1741             "context" => {
1742             "after" => "\\p{IsUpper}"
1743             }
1744             },
1745             {
1746             "to" => "'",
1747             "from" => "\x{44c}"
1748             },
1749             {
1750             "to" => "\x{11b}",
1751             "from" => "\x{463}"
1752             },
1753             {
1754             "to" => "\x{11a}",
1755             "from" => "\x{462}"
1756             },
1757             {
1758             "to" => "\x{117}",
1759             "from" => "\x{44d}"
1760             },
1761             {
1762             "to" => "\x{116}",
1763             "from" => "\x{42d}"
1764             },
1765             {
1766             "to" => "\x{1e1f}",
1767             "from" => "\x{473}"
1768             },
1769             {
1770             "to" => "\x{1e1e}",
1771             "from" => "\x{472}"
1772             },
1773             {
1774             "to" => "\x{1e8f}",
1775             "from" => "\x{475}"
1776             },
1777             {
1778             "to" => "\x{1e8e}",
1779             "from" => "\x{474}"
1780             }
1781             ],
1782             "reverse" => "true"
1783             },
1784             "iso_9" => {
1785             "desc" => "ISO 9:1995, Cyrillic to Latin",
1786             "name" => "ISO 9",
1787             "id" => "iso_9",
1788             "rules" => [
1789             {
1790             "to" => "A",
1791             "from" => "\x{410}"
1792             },
1793             {
1794             "to" => "a",
1795             "from" => "\x{430}"
1796             },
1797             {
1798             "to" => "\x{102}",
1799             "from" => "\x{4d0}"
1800             },
1801             {
1802             "to" => "\x{103}",
1803             "from" => "\x{4d1}"
1804             },
1805             {
1806             "to" => "\x{c4}",
1807             "from" => "\x{4d2}"
1808             },
1809             {
1810             "to" => "\x{e4}",
1811             "from" => "\x{4d3}"
1812             },
1813             {
1814             "to" => "A\x{30b}",
1815             "from" => "\x{4d8}"
1816             },
1817             {
1818             "to" => "a\x{30b}",
1819             "from" => "\x{4d9}"
1820             },
1821             {
1822             "to" => "B",
1823             "from" => "\x{411}"
1824             },
1825             {
1826             "to" => "b",
1827             "from" => "\x{431}"
1828             },
1829             {
1830             "to" => "V",
1831             "from" => "\x{412}"
1832             },
1833             {
1834             "to" => "v",
1835             "from" => "\x{432}"
1836             },
1837             {
1838             "to" => "G",
1839             "from" => "\x{413}"
1840             },
1841             {
1842             "to" => "g",
1843             "from" => "\x{433}"
1844             },
1845             {
1846             "to" => "G\x{300}",
1847             "from" => "\x{490}"
1848             },
1849             {
1850             "to" => "g\x{300}",
1851             "from" => "\x{491}"
1852             },
1853             {
1854             "to" => "\x{11e}",
1855             "from" => "\x{494}"
1856             },
1857             {
1858             "to" => "\x{11f}",
1859             "from" => "\x{495}"
1860             },
1861             {
1862             "to" => "\x{120}",
1863             "from" => "\x{492}"
1864             },
1865             {
1866             "to" => "\x{121}",
1867             "from" => "\x{493}"
1868             },
1869             {
1870             "to" => "D",
1871             "from" => "\x{414}"
1872             },
1873             {
1874             "to" => "d",
1875             "from" => "\x{434}"
1876             },
1877             {
1878             "to" => "\x{110}",
1879             "from" => "\x{402}"
1880             },
1881             {
1882             "to" => "\x{111}",
1883             "from" => "\x{452}"
1884             },
1885             {
1886             "to" => "\x{1f4}",
1887             "from" => "\x{403}"
1888             },
1889             {
1890             "to" => "\x{1f5}",
1891             "from" => "\x{453}"
1892             },
1893             {
1894             "to" => "E",
1895             "from" => "\x{415}"
1896             },
1897             {
1898             "to" => "e",
1899             "from" => "\x{435}"
1900             },
1901             {
1902             "to" => "\x{cb}",
1903             "from" => "\x{401}"
1904             },
1905             {
1906             "to" => "\x{eb}",
1907             "from" => "\x{451}"
1908             },
1909             {
1910             "to" => "\x{114}",
1911             "from" => "\x{4d6}"
1912             },
1913             {
1914             "to" => "\x{115}",
1915             "from" => "\x{4d7}"
1916             },
1917             {
1918             "to" => "\x{ca}",
1919             "from" => "\x{404}"
1920             },
1921             {
1922             "to" => "\x{ea}",
1923             "from" => "\x{454}"
1924             },
1925             {
1926             "to" => "C\x{306}",
1927             "from" => "\x{4bc}"
1928             },
1929             {
1930             "to" => "c\x{306}",
1931             "from" => "\x{4bd}"
1932             },
1933             {
1934             "to" => "\x{c7}\x{306}",
1935             "from" => "\x{4be}"
1936             },
1937             {
1938             "to" => "\x{e7}\x{306}",
1939             "from" => "\x{4bf}"
1940             },
1941             {
1942             "to" => "\x{17d}",
1943             "from" => "\x{416}"
1944             },
1945             {
1946             "to" => "\x{17e}",
1947             "from" => "\x{436}"
1948             },
1949             {
1950             "to" => "Z\x{306}",
1951             "from" => "\x{4c1}"
1952             },
1953             {
1954             "to" => "z\x{306}",
1955             "from" => "\x{4c2}"
1956             },
1957             {
1958             "to" => "Z\x{304}",
1959             "from" => "\x{4dc}"
1960             },
1961             {
1962             "to" => "z\x{304}",
1963             "from" => "\x{4dd}"
1964             },
1965             {
1966             "to" => "\x{17d}\x{326}",
1967             "from" => "\x{496}"
1968             },
1969             {
1970             "to" => "\x{17e}\x{327}",
1971             "from" => "\x{497}"
1972             },
1973             {
1974             "to" => "Z",
1975             "from" => "\x{417}"
1976             },
1977             {
1978             "to" => "z",
1979             "from" => "\x{437}"
1980             },
1981             {
1982             "to" => "Z\x{308}",
1983             "from" => "\x{4de}"
1984             },
1985             {
1986             "to" => "z\x{308}",
1987             "from" => "\x{4df}"
1988             },
1989             {
1990             "to" => "\x{1e90}",
1991             "from" => "\x{405}"
1992             },
1993             {
1994             "to" => "\x{1e91}",
1995             "from" => "\x{455}"
1996             },
1997             {
1998             "to" => "\x{179}",
1999             "from" => "\x{4e0}"
2000             },
2001             {
2002             "to" => "\x{17a}",
2003             "from" => "\x{4e1}"
2004             },
2005             {
2006             "to" => "I",
2007             "from" => "\x{418}"
2008             },
2009             {
2010             "to" => "i",
2011             "from" => "\x{438}"
2012             },
2013             {
2014             "to" => "\x{ce}",
2015             "from" => "\x{4e4}"
2016             },
2017             {
2018             "to" => "\x{ee}",
2019             "from" => "\x{4e5}"
2020             },
2021             {
2022             "to" => "\x{cc}",
2023             "from" => "\x{406}"
2024             },
2025             {
2026             "to" => "\x{ec}",
2027             "from" => "\x{456}"
2028             },
2029             {
2030             "to" => "\x{cf}",
2031             "from" => "\x{407}"
2032             },
2033             {
2034             "to" => "\x{ef}",
2035             "from" => "\x{457}"
2036             },
2037             {
2038             "to" => "J",
2039             "from" => "\x{419}"
2040             },
2041             {
2042             "to" => "j",
2043             "from" => "\x{439}"
2044             },
2045             {
2046             "to" => "J\x{30c}",
2047             "from" => "\x{408}"
2048             },
2049             {
2050             "to" => "\x{1f0}",
2051             "from" => "\x{458}"
2052             },
2053             {
2054             "to" => "K",
2055             "from" => "\x{41a}"
2056             },
2057             {
2058             "to" => "k",
2059             "from" => "\x{43a}"
2060             },
2061             {
2062             "to" => "\x{136}",
2063             "from" => "\x{49a}"
2064             },
2065             {
2066             "to" => "\x{137}",
2067             "from" => "\x{49b}"
2068             },
2069             {
2070             "to" => "K\x{304}",
2071             "from" => "\x{49e}"
2072             },
2073             {
2074             "to" => "k\x{304}",
2075             "from" => "\x{49f}"
2076             },
2077             {
2078             "to" => "L",
2079             "from" => "\x{41b}"
2080             },
2081             {
2082             "to" => "l",
2083             "from" => "\x{43b}"
2084             },
2085             {
2086             "to" => "L\x{302}",
2087             "from" => "\x{409}"
2088             },
2089             {
2090             "to" => "l\x{302}",
2091             "from" => "\x{459}"
2092             },
2093             {
2094             "to" => "M",
2095             "from" => "\x{41c}"
2096             },
2097             {
2098             "to" => "m",
2099             "from" => "\x{43c}"
2100             },
2101             {
2102             "to" => "N",
2103             "from" => "\x{41d}"
2104             },
2105             {
2106             "to" => "n",
2107             "from" => "\x{43d}"
2108             },
2109             {
2110             "to" => "N\x{302}",
2111             "from" => "\x{40a}"
2112             },
2113             {
2114             "to" => "n\x{302}",
2115             "from" => "\x{45a}"
2116             },
2117             {
2118             "to" => "\x{1e44}",
2119             "from" => "\x{4a4}"
2120             },
2121             {
2122             "to" => "\x{1e45}",
2123             "from" => "\x{4a5}"
2124             },
2125             {
2126             "to" => "\x{1e46}",
2127             "from" => "\x{4a2}"
2128             },
2129             {
2130             "to" => "\x{1e47}",
2131             "from" => "\x{4a3}"
2132             },
2133             {
2134             "to" => "O",
2135             "from" => "\x{41e}"
2136             },
2137             {
2138             "to" => "o",
2139             "from" => "\x{43e}"
2140             },
2141             {
2142             "to" => "\x{d6}",
2143             "from" => "\x{4e6}"
2144             },
2145             {
2146             "to" => "\x{f6}",
2147             "from" => "\x{4e7}"
2148             },
2149             {
2150             "to" => "\x{d4}",
2151             "from" => "\x{4e8}"
2152             },
2153             {
2154             "to" => "\x{f4}",
2155             "from" => "\x{4e9}"
2156             },
2157             {
2158             "to" => "P",
2159             "from" => "\x{41f}"
2160             },
2161             {
2162             "to" => "p",
2163             "from" => "\x{43f}"
2164             },
2165             {
2166             "to" => "\x{1e54}",
2167             "from" => "\x{4a6}"
2168             },
2169             {
2170             "to" => "\x{1e55}",
2171             "from" => "\x{4a7}"
2172             },
2173             {
2174             "to" => "R",
2175             "from" => "\x{420}"
2176             },
2177             {
2178             "to" => "r",
2179             "from" => "\x{440}"
2180             },
2181             {
2182             "to" => "S",
2183             "from" => "\x{421}"
2184             },
2185             {
2186             "to" => "s",
2187             "from" => "\x{441}"
2188             },
2189             {
2190             "to" => "\x{c7}",
2191             "from" => "\x{4aa}"
2192             },
2193             {
2194             "to" => "\x{e7}",
2195             "from" => "\x{4ab}"
2196             },
2197             {
2198             "to" => "T",
2199             "from" => "\x{422}"
2200             },
2201             {
2202             "to" => "t",
2203             "from" => "\x{442}"
2204             },
2205             {
2206             "to" => "\x{162}",
2207             "from" => "\x{4ac}"
2208             },
2209             {
2210             "to" => "\x{163}",
2211             "from" => "\x{4ad}"
2212             },
2213             {
2214             "to" => "\x{106}",
2215             "from" => "\x{40b}"
2216             },
2217             {
2218             "to" => "\x{170}",
2219             "from" => "\x{45b}"
2220             },
2221             {
2222             "to" => "\x{1e30}",
2223             "from" => "\x{40c}"
2224             },
2225             {
2226             "to" => "\x{1e31}",
2227             "from" => "\x{45c}"
2228             },
2229             {
2230             "to" => "U",
2231             "from" => "\x{423}"
2232             },
2233             {
2234             "to" => "u",
2235             "from" => "\x{443}"
2236             },
2237             {
2238             "to" => "\x{da}",
2239             "from" => "\x{423}\x{301}"
2240             },
2241             {
2242             "to" => "\x{fa}",
2243             "from" => "\x{443}\x{301}"
2244             },
2245             {
2246             "to" => "\x{16c}",
2247             "from" => "\x{40e}"
2248             },
2249             {
2250             "to" => "\x{16d}",
2251             "from" => "\x{45e}"
2252             },
2253             {
2254             "to" => "\x{dc}",
2255             "from" => "\x{4f0}"
2256             },
2257             {
2258             "to" => "\x{fc}",
2259             "from" => "\x{4f1}"
2260             },
2261             {
2262             "to" => "\x{170}",
2263             "from" => "\x{4f2}"
2264             },
2265             {
2266             "to" => "\x{171}",
2267             "from" => "\x{4f3}"
2268             },
2269             {
2270             "to" => "\x{d9}",
2271             "from" => "\x{4ae}"
2272             },
2273             {
2274             "to" => "\x{f9}",
2275             "from" => "\x{4af}"
2276             },
2277             {
2278             "to" => "F",
2279             "from" => "\x{424}"
2280             },
2281             {
2282             "to" => "f",
2283             "from" => "\x{444}"
2284             },
2285             {
2286             "to" => "H",
2287             "from" => "\x{425}"
2288             },
2289             {
2290             "to" => "h",
2291             "from" => "\x{445}"
2292             },
2293             {
2294             "to" => "\x{1e28}",
2295             "from" => "\x{4b2}"
2296             },
2297             {
2298             "to" => "\x{1e29}",
2299             "from" => "\x{4b3}"
2300             },
2301             {
2302             "to" => "\x{1e24}",
2303             "from" => "\x{4ba}"
2304             },
2305             {
2306             "to" => "\x{1e25}",
2307             "from" => "\x{4bb}"
2308             },
2309             {
2310             "to" => "C",
2311             "from" => "\x{426}"
2312             },
2313             {
2314             "to" => "c",
2315             "from" => "\x{446}"
2316             },
2317             {
2318             "to" => "C\x{304}",
2319             "from" => "\x{4b4}"
2320             },
2321             {
2322             "to" => "c\x{304}",
2323             "from" => "\x{4b5}"
2324             },
2325             {
2326             "to" => "\x{10c}",
2327             "from" => "\x{427}"
2328             },
2329             {
2330             "to" => "\x{10d}",
2331             "from" => "\x{447}"
2332             },
2333             {
2334             "to" => "C\x{308}",
2335             "from" => "\x{4f4}"
2336             },
2337             {
2338             "to" => "c\x{308}",
2339             "from" => "\x{4f5}"
2340             },
2341             {
2342             "to" => "\x{c7}",
2343             "from" => "\x{4cb}"
2344             },
2345             {
2346             "to" => "\x{e7}",
2347             "from" => "\x{4cc}"
2348             },
2349             {
2350             "to" => "D\x{302}",
2351             "from" => "\x{40f}"
2352             },
2353             {
2354             "to" => "d\x{302}",
2355             "from" => "\x{45f}"
2356             },
2357             {
2358             "to" => "\x{160}",
2359             "from" => "\x{428}"
2360             },
2361             {
2362             "to" => "\x{161}",
2363             "from" => "\x{448}"
2364             },
2365             {
2366             "to" => "\x{15c}",
2367             "from" => "\x{429}"
2368             },
2369             {
2370             "to" => "\x{15d}",
2371             "from" => "\x{449}"
2372             },
2373             {
2374             "to" => "\x{2ba}",
2375             "from" => "\x{42a}",
2376             "context" => {
2377             "after" => "\\p{IsUpper}"
2378             }
2379             },
2380             {
2381             "to" => "\x{2ba}",
2382             "from" => "\x{44a}"
2383             },
2384             {
2385             "to" => "\x{2019}",
2386             "from" => "\x{2bc}"
2387             },
2388             {
2389             "to" => "Y",
2390             "from" => "\x{42b}"
2391             },
2392             {
2393             "to" => "y",
2394             "from" => "\x{44b}"
2395             },
2396             {
2397             "to" => "\x{178}",
2398             "from" => "\x{4f8}"
2399             },
2400             {
2401             "to" => "\x{ff}",
2402             "from" => "\x{4f9}"
2403             },
2404             {
2405             "to" => "\x{2b9}",
2406             "from" => "\x{42c}",
2407             "context" => {
2408             "after" => "\\p{IsUpper}"
2409             }
2410             },
2411             {
2412             "to" => "\x{2b9}",
2413             "from" => "\x{44c}"
2414             },
2415             {
2416             "to" => "\x{c8}",
2417             "from" => "\x{42d}"
2418             },
2419             {
2420             "to" => "\x{e8}",
2421             "from" => "\x{44d}"
2422             },
2423             {
2424             "to" => "\x{db}",
2425             "from" => "\x{42e}"
2426             },
2427             {
2428             "to" => "\x{fb}",
2429             "from" => "\x{44e}"
2430             },
2431             {
2432             "to" => "\x{c2}",
2433             "from" => "\x{42f}"
2434             },
2435             {
2436             "to" => "\x{e2}",
2437             "from" => "\x{44f}"
2438             },
2439             {
2440             "to" => "\x{11a}",
2441             "from" => "\x{48c}"
2442             },
2443             {
2444             "to" => "\x{11b}",
2445             "from" => "\x{48d}"
2446             },
2447             {
2448             "to" => "\x{1cd}",
2449             "from" => "\x{46a}"
2450             },
2451             {
2452             "to" => "\x{1ce}",
2453             "from" => "\x{46b}"
2454             },
2455             {
2456             "to" => "F\x{300}",
2457             "from" => "\x{472}"
2458             },
2459             {
2460             "to" => "f\x{300}",
2461             "from" => "\x{473}"
2462             },
2463             {
2464             "to" => "\x{1ef2}",
2465             "from" => "\x{474}"
2466             },
2467             {
2468             "to" => "\x{1ef3}",
2469             "from" => "\x{475}"
2470             },
2471             {
2472             "to" => "\x{d2}",
2473             "from" => "\x{4a8}"
2474             },
2475             {
2476             "to" => "\x{f2}",
2477             "from" => "\x{4a9}"
2478             },
2479             {
2480             "to" => "\x{2021}",
2481             "from" => "\x{4c0}"
2482             }
2483             ],
2484             "reverse" => "true"
2485             },
2486             "common_slv" => {
2487             "desc" => "Slovenian without diacritics",
2488             "name" => "Common SLV",
2489             "id" => "common_slv",
2490             "rules" => [
2491             {
2492             "to" => "C",
2493             "from" => "\x{10c}"
2494             },
2495             {
2496             "to" => "c",
2497             "from" => "\x{10d}"
2498             },
2499             {
2500             "to" => "S",
2501             "from" => "\x{160}"
2502             },
2503             {
2504             "to" => "s",
2505             "from" => "\x{161}"
2506             },
2507             {
2508             "to" => "Z",
2509             "from" => "\x{17d}"
2510             },
2511             {
2512             "to" => "z",
2513             "from" => "\x{17e}"
2514             }
2515             ],
2516             "reverse" => "false"
2517             },
2518             "devanagari_iast" => {
2519             "desc" => "Devan\x{101}gar\x{12b} to IAST",
2520             "name" => "Devanagari IAST",
2521             "id" => "devanagari_iast",
2522             "rules" => [
2523             {
2524             "to" => 0,
2525             "from" => "\x{966}"
2526             },
2527             {
2528             "to" => 9,
2529             "from" => "\x{96f}"
2530             },
2531             {
2532             "to" => 8,
2533             "from" => "\x{96e}"
2534             },
2535             {
2536             "to" => 7,
2537             "from" => "\x{96d}"
2538             },
2539             {
2540             "to" => 6,
2541             "from" => "\x{96c}"
2542             },
2543             {
2544             "to" => 5,
2545             "from" => "\x{96b}"
2546             },
2547             {
2548             "to" => 4,
2549             "from" => "\x{96a}"
2550             },
2551             {
2552             "to" => 3,
2553             "from" => "\x{969}"
2554             },
2555             {
2556             "to" => 2,
2557             "from" => "\x{968}"
2558             },
2559             {
2560             "to" => 1,
2561             "from" => "\x{967}"
2562             },
2563             {
2564             "to" => "o",
2565             "from" => "\x{913}"
2566             },
2567             {
2568             "to" => "e",
2569             "from" => "\x{90f}"
2570             },
2571             {
2572             "to" => "\x{1e39}",
2573             "from" => "\x{961}"
2574             },
2575             {
2576             "to" => "\x{1e37}",
2577             "from" => "\x{90c}"
2578             },
2579             {
2580             "to" => "\x{1e5d}",
2581             "from" => "\x{960}"
2582             },
2583             {
2584             "to" => "\x{1e5b}",
2585             "from" => "\x{90b}"
2586             },
2587             {
2588             "to" => "\x{16b}",
2589             "from" => "\x{90a}"
2590             },
2591             {
2592             "to" => "u",
2593             "from" => "\x{909}"
2594             },
2595             {
2596             "to" => "\x{12b}",
2597             "from" => "\x{908}"
2598             },
2599             {
2600             "to" => "i",
2601             "from" => "\x{907}"
2602             },
2603             {
2604             "to" => "\x{101}",
2605             "from" => "\x{906}"
2606             },
2607             {
2608             "to" => "a",
2609             "from" => "\x{905}"
2610             },
2611             {
2612             "to" => "au",
2613             "from" => "\x{914}"
2614             },
2615             {
2616             "to" => "ai",
2617             "from" => "\x{910}"
2618             },
2619             {
2620             "to" => "'",
2621             "from" => "\x{93d}"
2622             },
2623             {
2624             "to" => "\x{94d}o",
2625             "from" => "\x{94b}"
2626             },
2627             {
2628             "to" => "\x{94d}e",
2629             "from" => "\x{947}"
2630             },
2631             {
2632             "to" => "\x{94d}\x{1e39}",
2633             "from" => "\x{963}"
2634             },
2635             {
2636             "to" => "\x{94d}\x{1e37}",
2637             "from" => "\x{962}"
2638             },
2639             {
2640             "to" => "\x{94d}\x{1e5d}",
2641             "from" => "\x{944}"
2642             },
2643             {
2644             "to" => "\x{94d}\x{1e5b}",
2645             "from" => "\x{943}"
2646             },
2647             {
2648             "to" => "\x{94d}\x{16b}",
2649             "from" => "\x{942}"
2650             },
2651             {
2652             "to" => "\x{94d}u",
2653             "from" => "\x{941}"
2654             },
2655             {
2656             "to" => "\x{94d}\x{12b}",
2657             "from" => "\x{940}"
2658             },
2659             {
2660             "to" => "\x{94d}i",
2661             "from" => "\x{93f}"
2662             },
2663             {
2664             "to" => "\x{94d}\x{101}",
2665             "from" => "\x{93e}"
2666             },
2667             {
2668             "to" => "\x{94d}au",
2669             "from" => "\x{94c}"
2670             },
2671             {
2672             "to" => "\x{94d}ai",
2673             "from" => "\x{948}"
2674             },
2675             {
2676             "to" => "h",
2677             "from" => "\x{939}\x{94d}"
2678             },
2679             {
2680             "to" => "s",
2681             "from" => "\x{938}\x{94d}"
2682             },
2683             {
2684             "to" => "\x{1e63}",
2685             "from" => "\x{937}\x{94d}"
2686             },
2687             {
2688             "to" => "\x{15b}",
2689             "from" => "\x{936}\x{94d}"
2690             },
2691             {
2692             "to" => "v",
2693             "from" => "\x{935}\x{94d}"
2694             },
2695             {
2696             "to" => "l",
2697             "from" => "\x{932}\x{94d}"
2698             },
2699             {
2700             "to" => "r",
2701             "from" => "\x{930}\x{94d}"
2702             },
2703             {
2704             "to" => "y",
2705             "from" => "\x{92f}\x{94d}"
2706             },
2707             {
2708             "to" => "m",
2709             "from" => "\x{92e}\x{94d}"
2710             },
2711             {
2712             "to" => "b",
2713             "from" => "\x{92c}\x{94d}"
2714             },
2715             {
2716             "to" => "bh",
2717             "from" => "\x{92d}\x{94d}"
2718             },
2719             {
2720             "to" => "ph",
2721             "from" => "\x{92b}\x{94d}"
2722             },
2723             {
2724             "to" => "p",
2725             "from" => "\x{92a}\x{94d}"
2726             },
2727             {
2728             "to" => "n",
2729             "from" => "\x{928}\x{94d}"
2730             },
2731             {
2732             "to" => "d",
2733             "from" => "\x{926}\x{94d}"
2734             },
2735             {
2736             "to" => "dh",
2737             "from" => "\x{927}\x{94d}"
2738             },
2739             {
2740             "to" => "t",
2741             "from" => "\x{924}\x{94d}"
2742             },
2743             {
2744             "to" => "th",
2745             "from" => "\x{925}\x{94d}"
2746             },
2747             {
2748             "to" => "\x{1e47}",
2749             "from" => "\x{923}\x{94d}"
2750             },
2751             {
2752             "to" => "\x{1e0d}",
2753             "from" => "\x{921}\x{94d}"
2754             },
2755             {
2756             "to" => "\x{1e0d}h",
2757             "from" => "\x{922}\x{94d}"
2758             },
2759             {
2760             "to" => "\x{1e6d}",
2761             "from" => "\x{91f}\x{94d}"
2762             },
2763             {
2764             "to" => "\x{1e6d}h",
2765             "from" => "\x{920}\x{94d}"
2766             },
2767             {
2768             "to" => "\x{f1}",
2769             "from" => "\x{91e}\x{94d}"
2770             },
2771             {
2772             "to" => "j",
2773             "from" => "\x{91c}\x{94d}"
2774             },
2775             {
2776             "to" => "jh",
2777             "from" => "\x{91d}\x{94d}"
2778             },
2779             {
2780             "to" => "c",
2781             "from" => "\x{91a}\x{94d}"
2782             },
2783             {
2784             "to" => "ch",
2785             "from" => "\x{91b}\x{94d}"
2786             },
2787             {
2788             "to" => "\x{1e45}",
2789             "from" => "\x{919}\x{94d}"
2790             },
2791             {
2792             "to" => "g",
2793             "from" => "\x{917}\x{94d}"
2794             },
2795             {
2796             "to" => "gh",
2797             "from" => "\x{918}\x{94d}"
2798             },
2799             {
2800             "to" => "k",
2801             "from" => "\x{915}\x{94d}"
2802             },
2803             {
2804             "to" => "kh",
2805             "from" => "\x{916}\x{94d}"
2806             },
2807             {
2808             "to" => "ha",
2809             "from" => "\x{939}"
2810             },
2811             {
2812             "to" => "sa",
2813             "from" => "\x{938}"
2814             },
2815             {
2816             "to" => "\x{1e63}a",
2817             "from" => "\x{937}"
2818             },
2819             {
2820             "to" => "\x{15b}a",
2821             "from" => "\x{936}"
2822             },
2823             {
2824             "to" => "va",
2825             "from" => "\x{935}"
2826             },
2827             {
2828             "to" => "la",
2829             "from" => "\x{932}"
2830             },
2831             {
2832             "to" => "ra",
2833             "from" => "\x{930}"
2834             },
2835             {
2836             "to" => "ya",
2837             "from" => "\x{92f}"
2838             },
2839             {
2840             "to" => "ma",
2841             "from" => "\x{92e}"
2842             },
2843             {
2844             "to" => "ba",
2845             "from" => "\x{92c}"
2846             },
2847             {
2848             "to" => "bha",
2849             "from" => "\x{92d}"
2850             },
2851             {
2852             "to" => "pha",
2853             "from" => "\x{92b}"
2854             },
2855             {
2856             "to" => "pa",
2857             "from" => "\x{92a}"
2858             },
2859             {
2860             "to" => "na",
2861             "from" => "\x{928}"
2862             },
2863             {
2864             "to" => "da",
2865             "from" => "\x{926}"
2866             },
2867             {
2868             "to" => "dha",
2869             "from" => "\x{927}"
2870             },
2871             {
2872             "to" => "ta",
2873             "from" => "\x{924}"
2874             },
2875             {
2876             "to" => "tha",
2877             "from" => "\x{925}"
2878             },
2879             {
2880             "to" => "\x{1e47}a",
2881             "from" => "\x{923}"
2882             },
2883             {
2884             "to" => "\x{1e0d}a",
2885             "from" => "\x{921}"
2886             },
2887             {
2888             "to" => "\x{1e0d}ha",
2889             "from" => "\x{922}"
2890             },
2891             {
2892             "to" => "\x{1e6d}a",
2893             "from" => "\x{91f}"
2894             },
2895             {
2896             "to" => "\x{1e6d}ha",
2897             "from" => "\x{920}"
2898             },
2899             {
2900             "to" => "\x{f1}a",
2901             "from" => "\x{91e}"
2902             },
2903             {
2904             "to" => "ja",
2905             "from" => "\x{91c}"
2906             },
2907             {
2908             "to" => "jha",
2909             "from" => "\x{91d}"
2910             },
2911             {
2912             "to" => "ca",
2913             "from" => "\x{91a}"
2914             },
2915             {
2916             "to" => "cha",
2917             "from" => "\x{91b}"
2918             },
2919             {
2920             "to" => "\x{1e45}a",
2921             "from" => "\x{919}"
2922             },
2923             {
2924             "to" => "ga",
2925             "from" => "\x{917}"
2926             },
2927             {
2928             "to" => "gha",
2929             "from" => "\x{918}"
2930             },
2931             {
2932             "to" => "ka",
2933             "from" => "\x{915}"
2934             },
2935             {
2936             "to" => "kha",
2937             "from" => "\x{916}"
2938             },
2939             {
2940             "to" => "\x{1e25}",
2941             "from" => "\x{903}"
2942             },
2943             {
2944             "to" => "\x{1e43}",
2945             "from" => "\x{902}"
2946             },
2947             {
2948             "to" => "o\x{1e41}",
2949             "from" => "\x{950}"
2950             }
2951             ],
2952             "reverse" => "false"
2953             },
2954             "iso_8859-16_ron" => {
2955             "desc" => "Romanian with appropriate diacritics",
2956             "name" => "ISO 8859-16 RON",
2957             "id" => "iso_8859-16_ron",
2958             "rules" => [
2959             {
2960             "to" => "\x{218}",
2961             "from" => "\x{15e}"
2962             },
2963             {
2964             "to" => "\x{219}",
2965             "from" => "\x{15f}"
2966             },
2967             {
2968             "to" => "\x{21a}",
2969             "from" => "\x{162}"
2970             },
2971             {
2972             "to" => "\x{21b}",
2973             "from" => "\x{163}"
2974             }
2975             ],
2976             "reverse" => "true"
2977             },
2978             "bgn/pcgn_rus_strict" => {
2979             "desc" => "BGN/PCGN:1947 (Strict Variant), Cyrillic to Latin, Russian",
2980             "name" => "BGN/PCGN RUS Strict",
2981             "id" => "bgn/pcgn_rus_strict",
2982             "rules" => [
2983             {
2984             "to" => "",
2985             "from" => "\x{301}"
2986             },
2987             {
2988             "to" => "Ye",
2989             "from" => "\x{415}",
2990             "context" => {
2991             "after" => "[\x{410}\x{415}\x{401}\x{418}\x{41e}\x{423}\x{42b}\x{42d}\x{42e}\x{42f}\x{419}\x{42c}\x{42a}\x{410}\x{435}\x{451}\x{438}\x{43e}\x{443}\x{44b}\x{44d}\x{44e}\x{44f}\x{439}\x{44c}\x{44a}]"
2992             }
2993             },
2994             {
2995             "to" => "Ye",
2996             "from" => "\x{415}",
2997             "context" => {
2998             "after" => "\\b"
2999             }
3000             },
3001             {
3002             "to" => "E",
3003             "from" => "\x{415}"
3004             },
3005             {
3006             "to" => "Y\x{eb}",
3007             "from" => "\x{401}",
3008             "context" => {
3009             "after" => "[\x{410}\x{415}\x{401}\x{418}\x{41e}\x{423}\x{42b}\x{42d}\x{42e}\x{42f}\x{419}\x{42c}\x{42a}\x{410}\x{435}\x{451}\x{438}\x{43e}\x{443}\x{44b}\x{44d}\x{44e}\x{44f}\x{439}\x{44c}\x{44a}e]"
3010             }
3011             },
3012             {
3013             "to" => "Y\x{eb}",
3014             "from" => "\x{401}",
3015             "context" => {
3016             "after" => "\\b"
3017             }
3018             },
3019             {
3020             "to" => "\x{cb}",
3021             "from" => "\x{401}"
3022             },
3023             {
3024             "to" => "Y\x{b7}",
3025             "from" => "\x{419}",
3026             "context" => {
3027             "before" => "[\x{410}\x{423}\x{42b}\x{42d}\x{430}\x{443}\x{44b}\x{44d}]"
3028             }
3029             },
3030             {
3031             "to" => "Y",
3032             "from" => "\x{419}"
3033             },
3034             {
3035             "to" => "Y\x{b7}",
3036             "from" => "\x{42b}",
3037             "context" => {
3038             "before" => "[\x{410}\x{423}\x{42b}\x{42d}\x{430}\x{443}\x{44b}\x{44d}]"
3039             }
3040             },
3041             {
3042             "to" => "\x{b7}Y",
3043             "from" => "\x{42b}",
3044             "context" => {
3045             "after" => "[\x{410}\x{415}\x{401}\x{418}\x{41e}\x{423}\x{42b}\x{42d}\x{42e}\x{42f}\x{419}\x{430}\x{435}\x{451}\x{438}\x{43e}\x{443}\x{44b}\x{44d}\x{44e}\x{44f}\x{439}e\x{eb}Y]"
3046             }
3047             },
3048             {
3049             "to" => "Y",
3050             "from" => "\x{42b}"
3051             },
3052             {
3053             "to" => "\x{b7}E",
3054             "from" => "\x{42d}",
3055             "context" => {
3056             "after" => "[\x{411}\x{412}\x{413}\x{414}\x{416}\x{417}\x{41a}\x{41b}\x{41c}\x{41d}\x{41f}\x{420}\x{421}\x{422}\x{424}\x{425}\x{426}\x{427}\x{428}\x{429}\x{431}\x{432}\x{433}\x{434}\x{436}\x{437}\x{43a}\x{43b}\x{43c}\x{43d}\x{43f}\x{440}\x{441}\x{442}\x{444}\x{445}\x{446}\x{447}\x{448}\x{449}]"
3057             }
3058             },
3059             {
3060             "to" => "E",
3061             "from" => "\x{42d}"
3062             },
3063             {
3064             "to" => "A",
3065             "from" => "\x{410}"
3066             },
3067             {
3068             "to" => "B",
3069             "from" => "\x{411}"
3070             },
3071             {
3072             "to" => "V",
3073             "from" => "\x{412}"
3074             },
3075             {
3076             "to" => "G",
3077             "from" => "\x{413}"
3078             },
3079             {
3080             "to" => "D",
3081             "from" => "\x{414}"
3082             },
3083             {
3084             "to" => "Zh",
3085             "from" => "\x{416}"
3086             },
3087             {
3088             "to" => "Z",
3089             "from" => "\x{417}"
3090             },
3091             {
3092             "to" => "I",
3093             "from" => "\x{418}"
3094             },
3095             {
3096             "to" => "K",
3097             "from" => "\x{41a}"
3098             },
3099             {
3100             "to" => "L",
3101             "from" => "\x{41b}"
3102             },
3103             {
3104             "to" => "M",
3105             "from" => "\x{41c}"
3106             },
3107             {
3108             "to" => "N",
3109             "from" => "\x{41d}"
3110             },
3111             {
3112             "to" => "O",
3113             "from" => "\x{41e}"
3114             },
3115             {
3116             "to" => "P",
3117             "from" => "\x{41f}"
3118             },
3119             {
3120             "to" => "R",
3121             "from" => "\x{420}"
3122             },
3123             {
3124             "to" => "T\x{b7}S",
3125             "from" => "\x{422}\x{421}"
3126             },
3127             {
3128             "to" => "T\x{b7}s",
3129             "from" => "\x{422}\x{441}"
3130             },
3131             {
3132             "to" => "S",
3133             "from" => "\x{421}"
3134             },
3135             {
3136             "to" => "T",
3137             "from" => "\x{422}"
3138             },
3139             {
3140             "to" => "U",
3141             "from" => "\x{423}"
3142             },
3143             {
3144             "to" => "F",
3145             "from" => "\x{424}"
3146             },
3147             {
3148             "to" => "Kh",
3149             "from" => "\x{425}"
3150             },
3151             {
3152             "to" => "Ts",
3153             "from" => "\x{426}"
3154             },
3155             {
3156             "to" => "Sh\x{b7}Ch",
3157             "from" => "\x{428}\x{427}"
3158             },
3159             {
3160             "to" => "Sh\x{b7}ch",
3161             "from" => "\x{428}\x{447}"
3162             },
3163             {
3164             "to" => "Ch",
3165             "from" => "\x{427}"
3166             },
3167             {
3168             "to" => "Sh",
3169             "from" => "\x{428}"
3170             },
3171             {
3172             "to" => "Shch",
3173             "from" => "\x{429}"
3174             },
3175             {
3176             "to" => "''",
3177             "from" => "\x{42a}"
3178             },
3179             {
3180             "to" => "'",
3181             "from" => "\x{42c}"
3182             },
3183             {
3184             "to" => "Yu",
3185             "from" => "\x{42e}"
3186             },
3187             {
3188             "to" => "Ya",
3189             "from" => "\x{42f}"
3190             },
3191             {
3192             "to" => "ye",
3193             "from" => "\x{435}",
3194             "context" => {
3195             "after" => "[AE\x{cb}IOUYe\x{eb}au'\x{430}\x{435}\x{451}\x{438}\x{43e}\x{443}\x{44b}\x{44d}\x{44e}\x{44f}\x{439}\x{44c}\x{44a}\x{b7}]"
3196             }
3197             },
3198             {
3199             "to" => "ye",
3200             "from" => "\x{435}",
3201             "context" => {
3202             "after" => "\\b"
3203             }
3204             },
3205             {
3206             "to" => "e",
3207             "from" => "\x{435}"
3208             },
3209             {
3210             "to" => "y\x{eb}",
3211             "from" => "\x{451}",
3212             "context" => {
3213             "after" => "[AE\x{cb}IOUYe\x{eb}au'\x{430}\x{435}\x{451}\x{438}\x{43e}\x{443}\x{44b}\x{44d}\x{44e}\x{44f}\x{439}\x{44c}\x{44a}\x{b7}]"
3214             }
3215             },
3216             {
3217             "to" => "y\x{eb}",
3218             "from" => "\x{451}",
3219             "context" => {
3220             "after" => "\\b"
3221             }
3222             },
3223             {
3224             "to" => "\x{eb}",
3225             "from" => "\x{451}"
3226             },
3227             {
3228             "to" => "y\x{b7}",
3229             "from" => "\x{439}",
3230             "context" => {
3231             "before" => "[AUYE\x{430}\x{443}\x{44b}\x{44d}]"
3232             }
3233             },
3234             {
3235             "to" => "y",
3236             "from" => "\x{439}"
3237             },
3238             {
3239             "to" => "y\x{b7}",
3240             "from" => "\x{44b}",
3241             "context" => {
3242             "before" => "[AUYE\x{b7}\x{430}\x{443}\x{44b}\x{44d}]"
3243             }
3244             },
3245             {
3246             "to" => "\x{b7}y",
3247             "from" => "\x{44b}",
3248             "context" => {
3249             "after" => "[AE\x{cb}IOUYaue\x{eb}y\x{430}\x{435}\x{451}\x{438}\x{43e}\x{443}\x{44b}\x{44d}\x{44e}\x{44f}]"
3250             }
3251             },
3252             {
3253             "to" => "y",
3254             "from" => "\x{44b}"
3255             },
3256             {
3257             "to" => "\x{b7}e",
3258             "from" => "\x{44d}",
3259             "context" => {
3260             "after" => "[BVGDZhKLMNPRSTsFCSc\x{431}\x{432}\x{433}\x{434}\x{436}\x{437}\x{43a}\x{43b}\x{43c}\x{43d}\x{43f}\x{440}\x{441}\x{442}\x{444}\x{445}\x{446}\x{447}\x{448}\x{449}]"
3261             }
3262             },
3263             {
3264             "to" => "e",
3265             "from" => "\x{44d}"
3266             },
3267             {
3268             "to" => "a",
3269             "from" => "\x{430}"
3270             },
3271             {
3272             "to" => "b",
3273             "from" => "\x{431}"
3274             },
3275             {
3276             "to" => "v",
3277             "from" => "\x{432}"
3278             },
3279             {
3280             "to" => "g",
3281             "from" => "\x{433}"
3282             },
3283             {
3284             "to" => "d",
3285             "from" => "\x{434}"
3286             },
3287             {
3288             "to" => "zh",
3289             "from" => "\x{436}"
3290             },
3291             {
3292             "to" => "z",
3293             "from" => "\x{437}"
3294             },
3295             {
3296             "to" => "i",
3297             "from" => "\x{438}"
3298             },
3299             {
3300             "to" => "k",
3301             "from" => "\x{43a}"
3302             },
3303             {
3304             "to" => "l",
3305             "from" => "\x{43b}"
3306             },
3307             {
3308             "to" => "m",
3309             "from" => "\x{43c}"
3310             },
3311             {
3312             "to" => "n",
3313             "from" => "\x{43d}"
3314             },
3315             {
3316             "to" => "o",
3317             "from" => "\x{43e}"
3318             },
3319             {
3320             "to" => "p",
3321             "from" => "\x{43f}"
3322             },
3323             {
3324             "to" => "r",
3325             "from" => "\x{440}"
3326             },
3327             {
3328             "to" => "t\x{b7}s",
3329             "from" => "\x{442}\x{441}"
3330             },
3331             {
3332             "to" => "s",
3333             "from" => "\x{441}"
3334             },
3335             {
3336             "to" => "t",
3337             "from" => "\x{442}"
3338             },
3339             {
3340             "to" => "u",
3341             "from" => "\x{443}"
3342             },
3343             {
3344             "to" => "f",
3345             "from" => "\x{444}"
3346             },
3347             {
3348             "to" => "kh",
3349             "from" => "\x{445}"
3350             },
3351             {
3352             "to" => "ts",
3353             "from" => "\x{446}"
3354             },
3355             {
3356             "to" => "sh\x{b7}ch",
3357             "from" => "\x{448}\x{447}"
3358             },
3359             {
3360             "to" => "ch",
3361             "from" => "\x{447}"
3362             },
3363             {
3364             "to" => "sh",
3365             "from" => "\x{448}"
3366             },
3367             {
3368             "to" => "shch",
3369             "from" => "\x{449}"
3370             },
3371             {
3372             "to" => "''",
3373             "from" => "\x{44a}"
3374             },
3375             {
3376             "to" => "'",
3377             "from" => "\x{44c}"
3378             },
3379             {
3380             "to" => "yu",
3381             "from" => "\x{44e}"
3382             },
3383             {
3384             "to" => "ya",
3385             "from" => "\x{44f}"
3386             }
3387             ],
3388             "reverse" => "false"
3389             },
3390             "iso_843" => {
3391             "desc" => "ISO 843:1997 TL (Type 1), Greek to Latin",
3392             "name" => "ISO 843",
3393             "id" => "iso_843",
3394             "rules" => [
3395             {
3396             "to" => "A",
3397             "from" => "\x{391}"
3398             },
3399             {
3400             "to" => "a",
3401             "from" => "\x{3b1}"
3402             },
3403             {
3404             "to" => "V",
3405             "from" => "\x{392}"
3406             },
3407             {
3408             "to" => "v",
3409             "from" => "\x{3b2}"
3410             },
3411             {
3412             "to" => "G",
3413             "from" => "\x{393}"
3414             },
3415             {
3416             "to" => "g",
3417             "from" => "\x{3b3}"
3418             },
3419             {
3420             "to" => "D",
3421             "from" => "\x{394}"
3422             },
3423             {
3424             "to" => "d",
3425             "from" => "\x{3b4}"
3426             },
3427             {
3428             "to" => "E",
3429             "from" => "\x{395}"
3430             },
3431             {
3432             "to" => "e",
3433             "from" => "\x{3b5}"
3434             },
3435             {
3436             "to" => "Z",
3437             "from" => "\x{396}"
3438             },
3439             {
3440             "to" => "z",
3441             "from" => "\x{3b6}"
3442             },
3443             {
3444             "to" => "\x{12a}",
3445             "from" => "\x{397}"
3446             },
3447             {
3448             "to" => "\x{12b}",
3449             "from" => "\x{3b7}"
3450             },
3451             {
3452             "to" => "Th",
3453             "from" => "\x{398}"
3454             },
3455             {
3456             "to" => "th",
3457             "from" => "\x{3b8}"
3458             },
3459             {
3460             "to" => "I",
3461             "from" => "\x{399}"
3462             },
3463             {
3464             "to" => "i",
3465             "from" => "\x{3b9}"
3466             },
3467             {
3468             "to" => "K",
3469             "from" => "\x{39a}"
3470             },
3471             {
3472             "to" => "k",
3473             "from" => "\x{3ba}"
3474             },
3475             {
3476             "to" => "L",
3477             "from" => "\x{39b}"
3478             },
3479             {
3480             "to" => "l",
3481             "from" => "\x{3bb}"
3482             },
3483             {
3484             "to" => "M",
3485             "from" => "\x{39c}"
3486             },
3487             {
3488             "to" => "m",
3489             "from" => "\x{3bc}"
3490             },
3491             {
3492             "to" => "N",
3493             "from" => "\x{39d}"
3494             },
3495             {
3496             "to" => "n",
3497             "from" => "\x{3bd}"
3498             },
3499             {
3500             "to" => "X",
3501             "from" => "\x{39e}"
3502             },
3503             {
3504             "to" => "x",
3505             "from" => "\x{3be}"
3506             },
3507             {
3508             "to" => "O",
3509             "from" => "\x{39f}"
3510             },
3511             {
3512             "to" => "o",
3513             "from" => "\x{3bf}"
3514             },
3515             {
3516             "to" => "P",
3517             "from" => "\x{3a0}"
3518             },
3519             {
3520             "to" => "p",
3521             "from" => "\x{3c0}"
3522             },
3523             {
3524             "to" => "R",
3525             "from" => "\x{3a1}"
3526             },
3527             {
3528             "to" => "r",
3529             "from" => "\x{3c1}"
3530             },
3531             {
3532             "to" => "S",
3533             "from" => "\x{3a3}"
3534             },
3535             {
3536             "to" => "s",
3537             "from" => "\x{3c2}"
3538             },
3539             {
3540             "to" => "s",
3541             "from" => "\x{3c3}"
3542             },
3543             {
3544             "to" => "T",
3545             "from" => "\x{3a4}"
3546             },
3547             {
3548             "to" => "t",
3549             "from" => "\x{3c4}"
3550             },
3551             {
3552             "to" => "Y",
3553             "from" => "\x{3a5}"
3554             },
3555             {
3556             "to" => "y",
3557             "from" => "\x{3c5}"
3558             },
3559             {
3560             "to" => "F",
3561             "from" => "\x{3a6}"
3562             },
3563             {
3564             "to" => "f",
3565             "from" => "\x{3c6}"
3566             },
3567             {
3568             "to" => "Ch",
3569             "from" => "\x{3a7}"
3570             },
3571             {
3572             "to" => "ch",
3573             "from" => "\x{3c7}"
3574             },
3575             {
3576             "to" => "Ps",
3577             "from" => "\x{3a8}"
3578             },
3579             {
3580             "to" => "ps",
3581             "from" => "\x{3c8}"
3582             },
3583             {
3584             "to" => "\x{14c}",
3585             "from" => "\x{3a9}"
3586             },
3587             {
3588             "to" => "\x{14d}",
3589             "from" => "\x{3c9}"
3590             },
3591             {
3592             "to" => "S",
3593             "from" => "\x{3da}"
3594             },
3595             {
3596             "to" => "s",
3597             "from" => "\x{3db}"
3598             },
3599             {
3600             "to" => "W",
3601             "from" => "\x{3dc}"
3602             },
3603             {
3604             "to" => "f",
3605             "from" => "\x{3dd}"
3606             },
3607             {
3608             "to" => "j",
3609             "from" => "\x{3f3}"
3610             },
3611             {
3612             "to" => "\x{b4}",
3613             "from" => "\x{384}"
3614             },
3615             {
3616             "to" => "\x{a8}\x{301}",
3617             "from" => "\x{385}"
3618             },
3619             {
3620             "to" => "\x{302}",
3621             "from" => "\x{342}"
3622             },
3623             {
3624             "to" => "\x{2bc}",
3625             "from" => "\x{343}"
3626             },
3627             {
3628             "to" => "\x{2bc}",
3629             "from" => "\x{313}"
3630             },
3631             {
3632             "to" => "h",
3633             "from" => "\x{314}"
3634             },
3635             {
3636             "to" => "\x{327}",
3637             "from" => "\x{345}"
3638             },
3639             {
3640             "to" => "\x{327}",
3641             "from" => "\x{345}"
3642             },
3643             {
3644             "to" => "\x{c1}",
3645             "from" => "\x{386}"
3646             },
3647             {
3648             "to" => "\x{e1}",
3649             "from" => "\x{3ac}"
3650             },
3651             {
3652             "to" => "\x{c9}",
3653             "from" => "\x{388}"
3654             },
3655             {
3656             "to" => "\x{e9}",
3657             "from" => "\x{3ad}"
3658             },
3659             {
3660             "to" => "\x{12a}\x{301}",
3661             "from" => "\x{389}"
3662             },
3663             {
3664             "to" => "\x{12b}\x{301}",
3665             "from" => "\x{3ae}"
3666             },
3667             {
3668             "to" => "\x{cd}",
3669             "from" => "\x{38a}"
3670             },
3671             {
3672             "to" => "\x{ed}",
3673             "from" => "\x{3af}"
3674             },
3675             {
3676             "to" => "\x{d3}",
3677             "from" => "\x{38c}"
3678             },
3679             {
3680             "to" => "\x{f3}",
3681             "from" => "\x{3cc}"
3682             },
3683             {
3684             "to" => "\x{dd}",
3685             "from" => "\x{38e}"
3686             },
3687             {
3688             "to" => "\x{fd}",
3689             "from" => "\x{3cd}"
3690             },
3691             {
3692             "to" => "\x{1e52}",
3693             "from" => "\x{38f}"
3694             },
3695             {
3696             "to" => "\x{1e53}",
3697             "from" => "\x{3ce}"
3698             },
3699             {
3700             "to" => "\x{cf}",
3701             "from" => "\x{3aa}"
3702             },
3703             {
3704             "to" => "\x{ef}",
3705             "from" => "\x{3ca}"
3706             },
3707             {
3708             "to" => "\x{178}",
3709             "from" => "\x{3ab}"
3710             },
3711             {
3712             "to" => "\x{ff}",
3713             "from" => "\x{3cb}"
3714             },
3715             {
3716             "to" => "\x{1e2f}",
3717             "from" => "\x{390}"
3718             },
3719             {
3720             "to" => "\x{ff}\x{301}",
3721             "from" => "\x{3b0}"
3722             },
3723             {
3724             "to" => "?",
3725             "from" => "\x{37e}",
3726             "context" => {
3727             "after" => "\\b"
3728             }
3729             },
3730             {
3731             "to" => "?",
3732             "from" => ";",
3733             "context" => {
3734             "after" => "\\b"
3735             }
3736             },
3737             {
3738             "to" => ";",
3739             "from" => "\x{b7}"
3740             },
3741             {
3742             "to" => "-",
3743             "from" => "\x{203f}"
3744             }
3745             ],
3746             "reverse" => "false"
3747             },
3748             "din_31634" => {
3749             "desc" => "DIN 31634:1982, Greek to Latin",
3750             "name" => "DIN 31634",
3751             "id" => "din_31634",
3752             "rules" => [
3753             {
3754             "to" => "AU",
3755             "from" => "\x{391}\x{3a5}"
3756             },
3757             {
3758             "to" => "au",
3759             "from" => "\x{3b1}\x{3c5}"
3760             },
3761             {
3762             "to" => "Au",
3763             "from" => "\x{391}\x{3c5}"
3764             },
3765             {
3766             "to" => "A\x{178}",
3767             "from" => "\x{391}\x{3ab}"
3768             },
3769             {
3770             "to" => "a\x{ff}",
3771             "from" => "\x{3b1}\x{3cb}"
3772             },
3773             {
3774             "to" => "NG",
3775             "from" => "\x{393}\x{393}"
3776             },
3777             {
3778             "to" => "ng",
3779             "from" => "\x{3b3}\x{3b3}"
3780             },
3781             {
3782             "to" => "Ng",
3783             "from" => "\x{393}\x{3b3}"
3784             },
3785             {
3786             "to" => "GK",
3787             "from" => "\x{393}\x{39a}",
3788             "context" => {
3789             "after" => "\\b"
3790             }
3791             },
3792             {
3793             "to" => "gk",
3794             "from" => "\x{3b3}\x{3ba}",
3795             "context" => {
3796             "after" => "\\b"
3797             }
3798             },
3799             {
3800             "to" => "Gk",
3801             "from" => "\x{393}\x{3ba}",
3802             "context" => {
3803             "after" => "\\b"
3804             }
3805             },
3806             {
3807             "to" => "NK",
3808             "from" => "\x{393}\x{39a}"
3809             },
3810             {
3811             "to" => "nk",
3812             "from" => "\x{3b3}\x{3ba}"
3813             },
3814             {
3815             "to" => "Nk",
3816             "from" => "\x{393}\x{3ba}"
3817             },
3818             {
3819             "to" => "NX",
3820             "from" => "\x{393}\x{39e}"
3821             },
3822             {
3823             "to" => "nx",
3824             "from" => "\x{3b3}\x{3be}"
3825             },
3826             {
3827             "to" => "Nx",
3828             "from" => "\x{393}\x{3be}"
3829             },
3830             {
3831             "to" => "nch",
3832             "from" => "\x{393}\x{3a7}"
3833             },
3834             {
3835             "to" => "nch",
3836             "from" => "\x{3b3}\x{3c7}"
3837             },
3838             {
3839             "to" => "Nch",
3840             "from" => "\x{393}\x{3c7}"
3841             },
3842             {
3843             "to" => "EU",
3844             "from" => "\x{395}\x{3a5}"
3845             },
3846             {
3847             "to" => "eu",
3848             "from" => "\x{3b5}\x{3c5}"
3849             },
3850             {
3851             "to" => "Eu",
3852             "from" => "\x{395}\x{3c5}"
3853             },
3854             {
3855             "to" => "\x{112}U",
3856             "from" => "\x{397}\x{3a5}"
3857             },
3858             {
3859             "to" => "\x{113}u",
3860             "from" => "\x{3b7}\x{3c5}"
3861             },
3862             {
3863             "to" => "\x{112}u",
3864             "from" => "\x{397}\x{3c5}"
3865             },
3866             {
3867             "to" => "U",
3868             "from" => "\x{39f}\x{3a5}"
3869             },
3870             {
3871             "to" => "u",
3872             "from" => "\x{3bf}\x{3c5}"
3873             },
3874             {
3875             "to" => "U",
3876             "from" => "\x{39f}\x{3c5}"
3877             },
3878             {
3879             "to" => "O\x{178}",
3880             "from" => "\x{39f}\x{3ab}"
3881             },
3882             {
3883             "to" => "o\x{ff}",
3884             "from" => "\x{3bf}\x{3cb}"
3885             },
3886             {
3887             "to" => "A",
3888             "from" => "\x{391}"
3889             },
3890             {
3891             "to" => "a",
3892             "from" => "\x{3b1}"
3893             },
3894             {
3895             "to" => "B",
3896             "from" => "\x{392}"
3897             },
3898             {
3899             "to" => "b",
3900             "from" => "\x{3b2}"
3901             },
3902             {
3903             "to" => "G",
3904             "from" => "\x{393}"
3905             },
3906             {
3907             "to" => "g",
3908             "from" => "\x{3b3}"
3909             },
3910             {
3911             "to" => "D",
3912             "from" => "\x{394}"
3913             },
3914             {
3915             "to" => "d",
3916             "from" => "\x{3b4}"
3917             },
3918             {
3919             "to" => "E",
3920             "from" => "\x{395}"
3921             },
3922             {
3923             "to" => "e",
3924             "from" => "\x{3b5}"
3925             },
3926             {
3927             "to" => "Z",
3928             "from" => "\x{396}"
3929             },
3930             {
3931             "to" => "z",
3932             "from" => "\x{3b6}"
3933             },
3934             {
3935             "to" => "\x{112}",
3936             "from" => "\x{397}"
3937             },
3938             {
3939             "to" => "\x{113}",
3940             "from" => "\x{3b7}"
3941             },
3942             {
3943             "to" => "Th",
3944             "from" => "\x{398}"
3945             },
3946             {
3947             "to" => "th",
3948             "from" => "\x{3b8}"
3949             },
3950             {
3951             "to" => "th",
3952             "from" => "\x{3d1}"
3953             },
3954             {
3955             "to" => "I",
3956             "from" => "\x{399}"
3957             },
3958             {
3959             "to" => "i",
3960             "from" => "\x{3b9}"
3961             },
3962             {
3963             "to" => "K",
3964             "from" => "\x{39a}"
3965             },
3966             {
3967             "to" => "k",
3968             "from" => "\x{3ba}"
3969             },
3970             {
3971             "to" => "L",
3972             "from" => "\x{39b}"
3973             },
3974             {
3975             "to" => "l",
3976             "from" => "\x{3bb}"
3977             },
3978             {
3979             "to" => "M",
3980             "from" => "\x{39c}"
3981             },
3982             {
3983             "to" => "m",
3984             "from" => "\x{3bc}"
3985             },
3986             {
3987             "to" => "N",
3988             "from" => "\x{39d}"
3989             },
3990             {
3991             "to" => "n",
3992             "from" => "\x{3bd}"
3993             },
3994             {
3995             "to" => "X",
3996             "from" => "\x{39e}"
3997             },
3998             {
3999             "to" => "x",
4000             "from" => "\x{3be}"
4001             },
4002             {
4003             "to" => "O",
4004             "from" => "\x{39f}"
4005             },
4006             {
4007             "to" => "o",
4008             "from" => "\x{3bf}"
4009             },
4010             {
4011             "to" => "P",
4012             "from" => "\x{3a0}"
4013             },
4014             {
4015             "to" => "p",
4016             "from" => "\x{3c0}"
4017             },
4018             {
4019             "to" => "R",
4020             "from" => "\x{3a1}"
4021             },
4022             {
4023             "to" => "r",
4024             "from" => "\x{3c1}"
4025             },
4026             {
4027             "to" => "S",
4028             "from" => "\x{3a3}"
4029             },
4030             {
4031             "to" => "s",
4032             "from" => "\x{3c3}"
4033             },
4034             {
4035             "to" => "s",
4036             "from" => "\x{3c2}",
4037             "context" => {
4038             "before" => "\\b"
4039             }
4040             },
4041             {
4042             "to" => "T",
4043             "from" => "\x{3a4}"
4044             },
4045             {
4046             "to" => "t",
4047             "from" => "\x{3c4}"
4048             },
4049             {
4050             "to" => "Y",
4051             "from" => "\x{3a5}"
4052             },
4053             {
4054             "to" => "y",
4055             "from" => "\x{3c5}"
4056             },
4057             {
4058             "to" => "Ph",
4059             "from" => "\x{3a6}"
4060             },
4061             {
4062             "to" => "ph",
4063             "from" => "\x{3c6}"
4064             },
4065             {
4066             "to" => "ph",
4067             "from" => "\x{3d5}"
4068             },
4069             {
4070             "to" => "Ch",
4071             "from" => "\x{3a7}"
4072             },
4073             {
4074             "to" => "ch",
4075             "from" => "\x{3c7}"
4076             },
4077             {
4078             "to" => "Ps",
4079             "from" => "\x{3a8}"
4080             },
4081             {
4082             "to" => "ps",
4083             "from" => "\x{3c8}"
4084             },
4085             {
4086             "to" => "\x{14c}",
4087             "from" => "\x{3a9}"
4088             },
4089             {
4090             "to" => "\x{14d}",
4091             "from" => "\x{3c9}"
4092             },
4093             {
4094             "to" => "A",
4095             "from" => "\x{386}"
4096             },
4097             {
4098             "to" => "a",
4099             "from" => "\x{3ac}"
4100             },
4101             {
4102             "to" => "E",
4103             "from" => "\x{388}"
4104             },
4105             {
4106             "to" => "e",
4107             "from" => "\x{3ad}"
4108             },
4109             {
4110             "to" => "\x{112}",
4111             "from" => "\x{389}"
4112             },
4113             {
4114             "to" => "\x{113}",
4115             "from" => "\x{3ae}"
4116             },
4117             {
4118             "to" => "I",
4119             "from" => "\x{38a}"
4120             },
4121             {
4122             "to" => "i",
4123             "from" => "\x{3af}"
4124             },
4125             {
4126             "to" => "I",
4127             "from" => "\x{3aa}"
4128             },
4129             {
4130             "to" => "i",
4131             "from" => "\x{3ca}"
4132             },
4133             {
4134             "to" => "i",
4135             "from" => "\x{390}"
4136             },
4137             {
4138             "to" => "O",
4139             "from" => "\x{38c}"
4140             },
4141             {
4142             "to" => "o",
4143             "from" => "\x{3cc}"
4144             },
4145             {
4146             "to" => "Y",
4147             "from" => "\x{38e}"
4148             },
4149             {
4150             "to" => "y",
4151             "from" => "\x{3cd}"
4152             },
4153             {
4154             "to" => "Y",
4155             "from" => "\x{3ab}"
4156             },
4157             {
4158             "to" => "y",
4159             "from" => "\x{3cb}"
4160             },
4161             {
4162             "to" => "y",
4163             "from" => "\x{3b0}"
4164             },
4165             {
4166             "to" => "\x{14c}",
4167             "from" => "\x{38f}"
4168             },
4169             {
4170             "to" => "\x{14d}",
4171             "from" => "\x{3ce}"
4172             },
4173             {
4174             "to" => "?",
4175             "from" => "\x{37e}"
4176             },
4177             {
4178             "to" => "?",
4179             "from" => ";"
4180             },
4181             {
4182             "to" => ";",
4183             "from" => "\x{b7}"
4184             },
4185             {
4186             "to" => "",
4187             "from" => "\x{384}"
4188             },
4189             {
4190             "to" => "",
4191             "from" => "\x{385}"
4192             },
4193             {
4194             "to" => "",
4195             "from" => "\x{342}"
4196             },
4197             {
4198             "to" => "",
4199             "from" => "\x{343}"
4200             },
4201             {
4202             "to" => "",
4203             "from" => "\x{313}"
4204             },
4205             {
4206             "to" => "",
4207             "from" => "\x{314}"
4208             },
4209             {
4210             "to" => "",
4211             "from" => "\x{345}"
4212             },
4213             {
4214             "to" => "",
4215             "from" => "\x{345}"
4216             }
4217             ],
4218             "reverse" => "false"
4219             },
4220             "common_ces" => {
4221             "desc" => "Czech without diacritics",
4222             "name" => "Common CES",
4223             "id" => "common_ces",
4224             "rules" => [
4225             {
4226             "to" => "A",
4227             "from" => "\x{c1}"
4228             },
4229             {
4230             "to" => "a",
4231             "from" => "\x{e1}"
4232             },
4233             {
4234             "to" => "C",
4235             "from" => "\x{10c}"
4236             },
4237             {
4238             "to" => "c",
4239             "from" => "\x{10d}"
4240             },
4241             {
4242             "to" => "D",
4243             "from" => "\x{10e}"
4244             },
4245             {
4246             "to" => "d",
4247             "from" => "\x{10f}"
4248             },
4249             {
4250             "to" => "d",
4251             "from" => "d\x{30c}"
4252             },
4253             {
4254             "to" => "E",
4255             "from" => "\x{c9}"
4256             },
4257             {
4258             "to" => "e",
4259             "from" => "\x{e9}"
4260             },
4261             {
4262             "to" => "E",
4263             "from" => "\x{11a}"
4264             },
4265             {
4266             "to" => "e",
4267             "from" => "\x{11b}"
4268             },
4269             {
4270             "to" => "I",
4271             "from" => "\x{cd}"
4272             },
4273             {
4274             "to" => "i",
4275             "from" => "\x{ed}"
4276             },
4277             {
4278             "to" => "N",
4279             "from" => "\x{147}"
4280             },
4281             {
4282             "to" => "n",
4283             "from" => "\x{148}"
4284             },
4285             {
4286             "to" => "O",
4287             "from" => "\x{d3}"
4288             },
4289             {
4290             "to" => "o",
4291             "from" => "\x{f3}"
4292             },
4293             {
4294             "to" => "R",
4295             "from" => "\x{158}"
4296             },
4297             {
4298             "to" => "r",
4299             "from" => "\x{159}"
4300             },
4301             {
4302             "to" => "S",
4303             "from" => "\x{160}"
4304             },
4305             {
4306             "to" => "s",
4307             "from" => "\x{161}"
4308             },
4309             {
4310             "to" => "T",
4311             "from" => "\x{164}"
4312             },
4313             {
4314             "to" => "t",
4315             "from" => "\x{165}"
4316             },
4317             {
4318             "to" => "t",
4319             "from" => "t\x{30c};"
4320             },
4321             {
4322             "to" => "U",
4323             "from" => "\x{da}"
4324             },
4325             {
4326             "to" => "u",
4327             "from" => "\x{fa}"
4328             },
4329             {
4330             "to" => "U",
4331             "from" => "\x{16e}"
4332             },
4333             {
4334             "to" => "u",
4335             "from" => "\x{16f}"
4336             },
4337             {
4338             "to" => "Y",
4339             "from" => "\x{dd}"
4340             },
4341             {
4342             "to" => "y",
4343             "from" => "\x{fd}"
4344             },
4345             {
4346             "to" => "Z",
4347             "from" => "\x{17d}"
4348             },
4349             {
4350             "to" => "z",
4351             "from" => "\x{17e}"
4352             }
4353             ],
4354             "reverse" => "false"
4355             },
4356             "din_1460_ukr" => {
4357             "desc" => "DIN 1460:1982, Cyrillic to Latin, Ukrainian",
4358             "name" => "DIN 1460 UKR",
4359             "id" => "din_1460_ukr",
4360             "rules" => [
4361             {
4362             "to" => "je",
4363             "from" => "\x{454}"
4364             },
4365             {
4366             "to" => "JE",
4367             "from" => "\x{404}",
4368             "context" => {
4369             "after" => "[\\p{IsUpper}\\p{IsSpace}]",
4370             "before" => "[\\p{IsUpper}\\p{IsSpace}]"
4371             }
4372             },
4373             {
4374             "to" => "Je",
4375             "from" => "\x{404}"
4376             },
4377             {
4378             "to" => "ch",
4379             "from" => "\x{445}"
4380             },
4381             {
4382             "to" => "CH",
4383             "from" => "\x{425}",
4384             "context" => {
4385             "after" => "[\\p{IsUpper}\\p{IsSpace}]",
4386             "before" => "[\\p{IsUpper}\\p{IsSpace}]"
4387             }
4388             },
4389             {
4390             "to" => "Ch",
4391             "from" => "\x{425}"
4392             },
4393             {
4394             "to" => "\x{161}\x{10d}",
4395             "from" => "\x{449}"
4396             },
4397             {
4398             "to" => "\x{160}\x{10c}",
4399             "from" => "\x{429}",
4400             "context" => {
4401             "after" => "[\\p{IsUpper}\\p{IsSpace}]",
4402             "before" => "[\\p{IsUpper}\\p{IsSpace}]"
4403             }
4404             },
4405             {
4406             "to" => "\x{160}\x{10d}",
4407             "from" => "\x{429}"
4408             },
4409             {
4410             "to" => "ju",
4411             "from" => "\x{44e}"
4412             },
4413             {
4414             "to" => "JU",
4415             "from" => "\x{42e}",
4416             "context" => {
4417             "after" => "[\\p{IsUpper}\\p{IsSpace}]",
4418             "before" => "[\\p{IsUpper}\\p{IsSpace}]"
4419             }
4420             },
4421             {
4422             "to" => "Ju",
4423             "from" => "\x{42e}"
4424             },
4425             {
4426             "to" => "ja",
4427             "from" => "\x{44f}"
4428             },
4429             {
4430             "to" => "JA",
4431             "from" => "\x{42f}",
4432             "context" => {
4433             "after" => "[\\p{IsUpper}\\p{IsSpace}]",
4434             "before" => "[\\p{IsUpper}\\p{IsSpace}]"
4435             }
4436             },
4437             {
4438             "to" => "Ja",
4439             "from" => "\x{42f}"
4440             },
4441             {
4442             "to" => "J-",
4443             "from" => "\x{419}",
4444             "context" => {
4445             "before" => "[aueAUE\x{430}\x{443}\x{435}\x{410}\x{423}\x{415}]"
4446             }
4447             },
4448             {
4449             "to" => "j-",
4450             "from" => "\x{439}",
4451             "context" => {
4452             "before" => "[aue\x{430}\x{443}\x{435}]"
4453             }
4454             },
4455             {
4456             "to" => "\x{160}-",
4457             "from" => "\x{428}",
4458             "context" => {
4459             "before" => "[\x{10c}\x{10d}\x{427}\x{447}]"
4460             }
4461             },
4462             {
4463             "to" => "\x{161}-",
4464             "from" => "\x{448}",
4465             "context" => {
4466             "before" => "[\x{10d}\x{447}]"
4467             }
4468             },
4469             {
4470             "to" => "c-",
4471             "from" => "\x{446}",
4472             "context" => {
4473             "before" => "[h\x{433}]"
4474             }
4475             },
4476             {
4477             "to" => "C-",
4478             "from" => "\x{426}",
4479             "context" => {
4480             "before" => "[hH\x{433}\x{413}]"
4481             }
4482             },
4483             {
4484             "to" => "a",
4485             "from" => "\x{430}"
4486             },
4487             {
4488             "to" => "A",
4489             "from" => "\x{410}"
4490             },
4491             {
4492             "to" => "b",
4493             "from" => "\x{431}"
4494             },
4495             {
4496             "to" => "B",
4497             "from" => "\x{411}"
4498             },
4499             {
4500             "to" => "v",
4501             "from" => "\x{432}"
4502             },
4503             {
4504             "to" => "V",
4505             "from" => "\x{412}"
4506             },
4507             {
4508             "to" => "h",
4509             "from" => "\x{433}"
4510             },
4511             {
4512             "to" => "H",
4513             "from" => "\x{413}"
4514             },
4515             {
4516             "to" => "g",
4517             "from" => "\x{491}"
4518             },
4519             {
4520             "to" => "G",
4521             "from" => "\x{490}"
4522             },
4523             {
4524             "to" => "d",
4525             "from" => "\x{434}"
4526             },
4527             {
4528             "to" => "D",
4529             "from" => "\x{414}"
4530             },
4531             {
4532             "to" => "e",
4533             "from" => "\x{435}"
4534             },
4535             {
4536             "to" => "E",
4537             "from" => "\x{415}"
4538             },
4539             {
4540             "to" => "\x{17e}",
4541             "from" => "\x{436}"
4542             },
4543             {
4544             "to" => "\x{17d}",
4545             "from" => "\x{416}"
4546             },
4547             {
4548             "to" => "z",
4549             "from" => "\x{437}"
4550             },
4551             {
4552             "to" => "Z",
4553             "from" => "\x{417}"
4554             },
4555             {
4556             "to" => "y",
4557             "from" => "\x{438}"
4558             },
4559             {
4560             "to" => "Y",
4561             "from" => "\x{418}"
4562             },
4563             {
4564             "to" => "i",
4565             "from" => "\x{456}"
4566             },
4567             {
4568             "to" => "I",
4569             "from" => "\x{406}"
4570             },
4571             {
4572             "to" => "\x{ef}",
4573             "from" => "\x{457}"
4574             },
4575             {
4576             "to" => "\x{cf}",
4577             "from" => "\x{407}"
4578             },
4579             {
4580             "to" => "j",
4581             "from" => "\x{439}"
4582             },
4583             {
4584             "to" => "J",
4585             "from" => "\x{419}"
4586             },
4587             {
4588             "to" => "k",
4589             "from" => "\x{43a}"
4590             },
4591             {
4592             "to" => "K",
4593             "from" => "\x{41a}"
4594             },
4595             {
4596             "to" => "l",
4597             "from" => "\x{43b}"
4598             },
4599             {
4600             "to" => "L",
4601             "from" => "\x{41b}"
4602             },
4603             {
4604             "to" => "m",
4605             "from" => "\x{43c}"
4606             },
4607             {
4608             "to" => "M",
4609             "from" => "\x{41c}"
4610             },
4611             {
4612             "to" => "n",
4613             "from" => "\x{43d}"
4614             },
4615             {
4616             "to" => "N",
4617             "from" => "\x{41d}"
4618             },
4619             {
4620             "to" => "o",
4621             "from" => "\x{43e}"
4622             },
4623             {
4624             "to" => "O",
4625             "from" => "\x{41e}"
4626             },
4627             {
4628             "to" => "p",
4629             "from" => "\x{43f}"
4630             },
4631             {
4632             "to" => "P",
4633             "from" => "\x{41f}"
4634             },
4635             {
4636             "to" => "r",
4637             "from" => "\x{440}"
4638             },
4639             {
4640             "to" => "R",
4641             "from" => "\x{420}"
4642             },
4643             {
4644             "to" => "s",
4645             "from" => "\x{441}"
4646             },
4647             {
4648             "to" => "S",
4649             "from" => "\x{421}"
4650             },
4651             {
4652             "to" => "t",
4653             "from" => "\x{442}"
4654             },
4655             {
4656             "to" => "T",
4657             "from" => "\x{422}"
4658             },
4659             {
4660             "to" => "u",
4661             "from" => "\x{443}"
4662             },
4663             {
4664             "to" => "U",
4665             "from" => "\x{423}"
4666             },
4667             {
4668             "to" => "f",
4669             "from" => "\x{444}"
4670             },
4671             {
4672             "to" => "F",
4673             "from" => "\x{424}"
4674             },
4675             {
4676             "to" => "c",
4677             "from" => "\x{446}"
4678             },
4679             {
4680             "to" => "C",
4681             "from" => "\x{426}"
4682             },
4683             {
4684             "to" => "\x{10d}",
4685             "from" => "\x{447}"
4686             },
4687             {
4688             "to" => "\x{10c}",
4689             "from" => "\x{427}"
4690             },
4691             {
4692             "to" => "\x{161}",
4693             "from" => "\x{448}"
4694             },
4695             {
4696             "to" => "\x{160}",
4697             "from" => "\x{428}"
4698             },
4699             {
4700             "to" => "'",
4701             "from" => "\x{42c}",
4702             "context" => {
4703             "after" => "\\p{IsUpper}"
4704             }
4705             },
4706             {
4707             "to" => "'",
4708             "from" => "\x{44c}"
4709             },
4710             {
4711             "to" => "\x{2ee}",
4712             "from" => "\x{2bc}"
4713             }
4714             ],
4715             "reverse" => "true"
4716             },
4717             "bgn/pcgn_rus_standard" => {
4718             "desc" => "BGN/PCGN:1947 (Standard Variant), Cyrillic to Latin, Russian",
4719             "name" => "BGN/PCGN RUS Standard",
4720             "id" => "bgn/pcgn_rus_standard",
4721             "rules" => [
4722             {
4723             "to" => "",
4724             "from" => "\x{301}"
4725             },
4726             {
4727             "to" => "Ye",
4728             "from" => "\x{415}",
4729             "context" => {
4730             "after" => "[\x{410}\x{415}\x{401}\x{418}\x{41e}\x{423}\x{42b}\x{42d}\x{42e}\x{42f}\x{419}\x{42c}\x{42a}\x{410}\x{435}\x{451}\x{438}\x{43e}\x{443}\x{44b}\x{44d}\x{44e}\x{44f}\x{439}\x{44c}\x{44a}]"
4731             }
4732             },
4733             {
4734             "to" => "Ye",
4735             "from" => "\x{415}",
4736             "context" => {
4737             "after" => "\\b"
4738             }
4739             },
4740             {
4741             "to" => "E",
4742             "from" => "\x{415}"
4743             },
4744             {
4745             "to" => "Y\x{eb}",
4746             "from" => "\x{401}",
4747             "context" => {
4748             "after" => "[\x{410}\x{415}\x{401}\x{418}\x{41e}\x{423}\x{42b}\x{42d}\x{42e}\x{42f}\x{419}\x{42c}\x{42a}\x{410}\x{435}\x{451}\x{438}\x{43e}\x{443}\x{44b}\x{44d}\x{44e}\x{44f}\x{439}\x{44c}\x{44a}e]"
4749             }
4750             },
4751             {
4752             "to" => "Y\x{eb}",
4753             "from" => "\x{401}",
4754             "context" => {
4755             "after" => "\\b"
4756             }
4757             },
4758             {
4759             "to" => "\x{cb}",
4760             "from" => "\x{401}"
4761             },
4762             {
4763             "to" => "Y",
4764             "from" => "\x{419}"
4765             },
4766             {
4767             "to" => "Y",
4768             "from" => "\x{42b}"
4769             },
4770             {
4771             "to" => "E",
4772             "from" => "\x{42d}"
4773             },
4774             {
4775             "to" => "A",
4776             "from" => "\x{410}"
4777             },
4778             {
4779             "to" => "B",
4780             "from" => "\x{411}"
4781             },
4782             {
4783             "to" => "V",
4784             "from" => "\x{412}"
4785             },
4786             {
4787             "to" => "G",
4788             "from" => "\x{413}"
4789             },
4790             {
4791             "to" => "D",
4792             "from" => "\x{414}"
4793             },
4794             {
4795             "to" => "Zh",
4796             "from" => "\x{416}"
4797             },
4798             {
4799             "to" => "Z",
4800             "from" => "\x{417}"
4801             },
4802             {
4803             "to" => "I",
4804             "from" => "\x{418}"
4805             },
4806             {
4807             "to" => "K",
4808             "from" => "\x{41a}"
4809             },
4810             {
4811             "to" => "L",
4812             "from" => "\x{41b}"
4813             },
4814             {
4815             "to" => "M",
4816             "from" => "\x{41c}"
4817             },
4818             {
4819             "to" => "N",
4820             "from" => "\x{41d}"
4821             },
4822             {
4823             "to" => "O",
4824             "from" => "\x{41e}"
4825             },
4826             {
4827             "to" => "P",
4828             "from" => "\x{41f}"
4829             },
4830             {
4831             "to" => "R",
4832             "from" => "\x{420}"
4833             },
4834             {
4835             "to" => "S",
4836             "from" => "\x{421}"
4837             },
4838             {
4839             "to" => "T",
4840             "from" => "\x{422}"
4841             },
4842             {
4843             "to" => "U",
4844             "from" => "\x{423}"
4845             },
4846             {
4847             "to" => "F",
4848             "from" => "\x{424}"
4849             },
4850             {
4851             "to" => "Kh",
4852             "from" => "\x{425}"
4853             },
4854             {
4855             "to" => "Ts",
4856             "from" => "\x{426}"
4857             },
4858             {
4859             "to" => "Ch",
4860             "from" => "\x{427}"
4861             },
4862             {
4863             "to" => "Sh",
4864             "from" => "\x{428}"
4865             },
4866             {
4867             "to" => "Shch",
4868             "from" => "\x{429}"
4869             },
4870             {
4871             "to" => "''",
4872             "from" => "\x{42a}"
4873             },
4874             {
4875             "to" => "'",
4876             "from" => "\x{42c}"
4877             },
4878             {
4879             "to" => "Yu",
4880             "from" => "\x{42e}"
4881             },
4882             {
4883             "to" => "Ya",
4884             "from" => "\x{42f}"
4885             },
4886             {
4887             "to" => "ye",
4888             "from" => "\x{435}",
4889             "context" => {
4890             "after" => "[AE\x{cb}IOUYe\x{eb}au'\x{430}\x{435}\x{451}\x{438}\x{43e}\x{443}\x{44b}\x{44d}\x{44e}\x{44f}\x{439}\x{44c}\x{44a}]"
4891             }
4892             },
4893             {
4894             "to" => "ye",
4895             "from" => "\x{435}",
4896             "context" => {
4897             "after" => "\\b"
4898             }
4899             },
4900             {
4901             "to" => "e",
4902             "from" => "\x{435}"
4903             },
4904             {
4905             "to" => "y\x{eb}",
4906             "from" => "\x{451}",
4907             "context" => {
4908             "after" => "[AE\x{cb}IOUYe\x{eb}au'\x{430}\x{435}\x{451}\x{438}\x{43e}\x{443}\x{44b}\x{44d}\x{44e}\x{44f}\x{439}\x{44c}\x{44a}]"
4909             }
4910             },
4911             {
4912             "to" => "y\x{eb}",
4913             "from" => "\x{451}",
4914             "context" => {
4915             "after" => "\\b"
4916             }
4917             },
4918             {
4919             "to" => "\x{eb}",
4920             "from" => "\x{451}"
4921             },
4922             {
4923             "to" => "y",
4924             "from" => "\x{439}"
4925             },
4926             {
4927             "to" => "y",
4928             "from" => "\x{44b}"
4929             },
4930             {
4931             "to" => "e",
4932             "from" => "\x{44d}"
4933             },
4934             {
4935             "to" => "a",
4936             "from" => "\x{430}"
4937             },
4938             {
4939             "to" => "b",
4940             "from" => "\x{431}"
4941             },
4942             {
4943             "to" => "v",
4944             "from" => "\x{432}"
4945             },
4946             {
4947             "to" => "g",
4948             "from" => "\x{433}"
4949             },
4950             {
4951             "to" => "d",
4952             "from" => "\x{434}"
4953             },
4954             {
4955             "to" => "zh",
4956             "from" => "\x{436}"
4957             },
4958             {
4959             "to" => "z",
4960             "from" => "\x{437}"
4961             },
4962             {
4963             "to" => "i",
4964             "from" => "\x{438}"
4965             },
4966             {
4967             "to" => "k",
4968             "from" => "\x{43a}"
4969             },
4970             {
4971             "to" => "l",
4972             "from" => "\x{43b}"
4973             },
4974             {
4975             "to" => "m",
4976             "from" => "\x{43c}"
4977             },
4978             {
4979             "to" => "n",
4980             "from" => "\x{43d}"
4981             },
4982             {
4983             "to" => "o",
4984             "from" => "\x{43e}"
4985             },
4986             {
4987             "to" => "p",
4988             "from" => "\x{43f}"
4989             },
4990             {
4991             "to" => "r",
4992             "from" => "\x{440}"
4993             },
4994             {
4995             "to" => "s",
4996             "from" => "\x{441}"
4997             },
4998             {
4999             "to" => "t",
5000             "from" => "\x{442}"
5001             },
5002             {
5003             "to" => "u",
5004             "from" => "\x{443}"
5005             },
5006             {
5007             "to" => "f",
5008             "from" => "\x{444}"
5009             },
5010             {
5011             "to" => "kh",
5012             "from" => "\x{445}"
5013             },
5014             {
5015             "to" => "ts",
5016             "from" => "\x{446}"
5017             },
5018             {
5019             "to" => "ch",
5020             "from" => "\x{447}"
5021             },
5022             {
5023             "to" => "sh",
5024             "from" => "\x{448}"
5025             },
5026             {
5027             "to" => "shch",
5028             "from" => "\x{449}"
5029             },
5030             {
5031             "to" => "''",
5032             "from" => "\x{44a}"
5033             },
5034             {
5035             "to" => "'",
5036             "from" => "\x{44c}"
5037             },
5038             {
5039             "to" => "yu",
5040             "from" => "\x{44e}"
5041             },
5042             {
5043             "to" => "ya",
5044             "from" => "\x{44f}"
5045             }
5046             ],
5047             "reverse" => "false"
5048             },
5049             "iast_devanagari" => {
5050             "desc" => "IAST to Devan\x{101}gar\x{12b}",
5051             "name" => "IAST Devanagari",
5052             "id" => "iast_devanagari",
5053             "rules" => [
5054             {
5055             "to" => "\x{950}",
5056             "from" => "o\x{1e41}"
5057             },
5058             {
5059             "to" => "\x{950}",
5060             "from" => "O\x{1e41}"
5061             },
5062             {
5063             "to" => "\x{902}",
5064             "from" => "\x{1e43}"
5065             },
5066             {
5067             "to" => "\x{903}",
5068             "from" => "\x{1e25}"
5069             },
5070             {
5071             "to" => "\x{916}\x{94d}",
5072             "from" => "kh"
5073             },
5074             {
5075             "to" => "\x{916}\x{94d}",
5076             "from" => "Kh"
5077             },
5078             {
5079             "to" => "\x{915}\x{94d}",
5080             "from" => "K"
5081             },
5082             {
5083             "to" => "\x{915}\x{94d}",
5084             "from" => "k"
5085             },
5086             {
5087             "to" => "\x{918}\x{94d}",
5088             "from" => "gh"
5089             },
5090             {
5091             "to" => "\x{918}\x{94d}",
5092             "from" => "Gh"
5093             },
5094             {
5095             "to" => "\x{917}\x{94d}",
5096             "from" => "G"
5097             },
5098             {
5099             "to" => "\x{917}\x{94d}",
5100             "from" => "g"
5101             },
5102             {
5103             "to" => "\x{919}\x{94d}",
5104             "from" => "\x{1e44}"
5105             },
5106             {
5107             "to" => "\x{919}\x{94d}",
5108             "from" => "\x{1e45}"
5109             },
5110             {
5111             "to" => "\x{91b}\x{94d}",
5112             "from" => "ch"
5113             },
5114             {
5115             "to" => "\x{91b}\x{94d}",
5116             "from" => "Ch"
5117             },
5118             {
5119             "to" => "\x{91a}\x{94d}",
5120             "from" => "C"
5121             },
5122             {
5123             "to" => "\x{91a}\x{94d}",
5124             "from" => "c"
5125             },
5126             {
5127             "to" => "\x{91d}\x{94d}",
5128             "from" => "jh"
5129             },
5130             {
5131             "to" => "\x{91d}\x{94d}",
5132             "from" => "Jh"
5133             },
5134             {
5135             "to" => "\x{91c}\x{94d}",
5136             "from" => "J"
5137             },
5138             {
5139             "to" => "\x{91c}\x{94d}",
5140             "from" => "j"
5141             },
5142             {
5143             "to" => "\x{91e}\x{94d}",
5144             "from" => "\x{d1}"
5145             },
5146             {
5147             "to" => "\x{91e}\x{94d}",
5148             "from" => "\x{f1}"
5149             },
5150             {
5151             "to" => "\x{920}\x{94d}",
5152             "from" => "\x{1e6d}h"
5153             },
5154             {
5155             "to" => "\x{920}\x{94d}",
5156             "from" => "\x{1e6c}h"
5157             },
5158             {
5159             "to" => "\x{91f}\x{94d}",
5160             "from" => "\x{1e6c}"
5161             },
5162             {
5163             "to" => "\x{91f}\x{94d}",
5164             "from" => "\x{1e6d}"
5165             },
5166             {
5167             "to" => "\x{922}\x{94d}",
5168             "from" => "\x{1e0d}h"
5169             },
5170             {
5171             "to" => "\x{922}\x{94d}",
5172             "from" => "\x{1e0c}h"
5173             },
5174             {
5175             "to" => "\x{921}\x{94d}",
5176             "from" => "\x{1e0c}"
5177             },
5178             {
5179             "to" => "\x{921}\x{94d}",
5180             "from" => "\x{1e0d}"
5181             },
5182             {
5183             "to" => "\x{923}\x{94d}",
5184             "from" => "\x{1e46}"
5185             },
5186             {
5187             "to" => "\x{923}\x{94d}",
5188             "from" => "\x{1e47}"
5189             },
5190             {
5191             "to" => "\x{925}\x{94d}",
5192             "from" => "th"
5193             },
5194             {
5195             "to" => "\x{925}\x{94d}",
5196             "from" => "Th"
5197             },
5198             {
5199             "to" => "\x{924}\x{94d}",
5200             "from" => "T"
5201             },
5202             {
5203             "to" => "\x{924}\x{94d}",
5204             "from" => "t"
5205             },
5206             {
5207             "to" => "\x{927}\x{94d}",
5208             "from" => "dh"
5209             },
5210             {
5211             "to" => "\x{927}\x{94d}",
5212             "from" => "Dh"
5213             },
5214             {
5215             "to" => "\x{926}\x{94d}",
5216             "from" => "D"
5217             },
5218             {
5219             "to" => "\x{926}\x{94d}",
5220             "from" => "d"
5221             },
5222             {
5223             "to" => "\x{928}\x{94d}",
5224             "from" => "N"
5225             },
5226             {
5227             "to" => "\x{928}\x{94d}",
5228             "from" => "n"
5229             },
5230             {
5231             "to" => "\x{92b}\x{94d}",
5232             "from" => "ph"
5233             },
5234             {
5235             "to" => "\x{92b}\x{94d}",
5236             "from" => "Ph"
5237             },
5238             {
5239             "to" => "\x{92a}\x{94d}",
5240             "from" => "P"
5241             },
5242             {
5243             "to" => "\x{92a}\x{94d}",
5244             "from" => "p"
5245             },
5246             {
5247             "to" => "\x{92d}\x{94d}",
5248             "from" => "bh"
5249             },
5250             {
5251             "to" => "\x{92d}\x{94d}",
5252             "from" => "Bh"
5253             },
5254             {
5255             "to" => "\x{92c}\x{94d}",
5256             "from" => "B"
5257             },
5258             {
5259             "to" => "\x{92c}\x{94d}",
5260             "from" => "b"
5261             },
5262             {
5263             "to" => "\x{92e}\x{94d}",
5264             "from" => "M"
5265             },
5266             {
5267             "to" => "\x{92e}\x{94d}",
5268             "from" => "m"
5269             },
5270             {
5271             "to" => "\x{92f}\x{94d}",
5272             "from" => "Y"
5273             },
5274             {
5275             "to" => "\x{92f}\x{94d}",
5276             "from" => "y"
5277             },
5278             {
5279             "to" => "\x{930}\x{94d}",
5280             "from" => "R"
5281             },
5282             {
5283             "to" => "\x{930}\x{94d}",
5284             "from" => "r"
5285             },
5286             {
5287             "to" => "\x{932}\x{94d}",
5288             "from" => "L"
5289             },
5290             {
5291             "to" => "\x{932}\x{94d}",
5292             "from" => "l"
5293             },
5294             {
5295             "to" => "\x{935}\x{94d}",
5296             "from" => "V"
5297             },
5298             {
5299             "to" => "\x{935}\x{94d}",
5300             "from" => "v"
5301             },
5302             {
5303             "to" => "\x{936}\x{94d}",
5304             "from" => "\x{15a}"
5305             },
5306             {
5307             "to" => "\x{936}\x{94d}",
5308             "from" => "\x{15b}"
5309             },
5310             {
5311             "to" => "\x{937}\x{94d}",
5312             "from" => "\x{1e62}"
5313             },
5314             {
5315             "to" => "\x{937}\x{94d}",
5316             "from" => "\x{1e63}"
5317             },
5318             {
5319             "to" => "\x{938}\x{94d}",
5320             "from" => "S"
5321             },
5322             {
5323             "to" => "\x{938}\x{94d}",
5324             "from" => "s"
5325             },
5326             {
5327             "to" => "\x{939}\x{94d}",
5328             "from" => "H"
5329             },
5330             {
5331             "to" => "\x{939}\x{94d}",
5332             "from" => "h"
5333             },
5334             {
5335             "to" => "\x{948}",
5336             "from" => "\x{94d}ai"
5337             },
5338             {
5339             "to" => "\x{94c}",
5340             "from" => "\x{94d}au"
5341             },
5342             {
5343             "to" => "",
5344             "from" => "\x{94d}a"
5345             },
5346             {
5347             "to" => "\x{93e}",
5348             "from" => "\x{94d}\x{101}"
5349             },
5350             {
5351             "to" => "\x{93f}",
5352             "from" => "\x{94d}i"
5353             },
5354             {
5355             "to" => "\x{940}",
5356             "from" => "\x{94d}\x{12b}"
5357             },
5358             {
5359             "to" => "\x{941}",
5360             "from" => "\x{94d}u"
5361             },
5362             {
5363             "to" => "\x{942}",
5364             "from" => "\x{94d}\x{16b}"
5365             },
5366             {
5367             "to" => "\x{943}",
5368             "from" => "\x{94d}\x{1e5b}"
5369             },
5370             {
5371             "to" => "\x{944}",
5372             "from" => "\x{94d}\x{1e5d}"
5373             },
5374             {
5375             "to" => "\x{962}",
5376             "from" => "\x{94d}\x{1e37}"
5377             },
5378             {
5379             "to" => "\x{963}",
5380             "from" => "\x{94d}\x{1e39}"
5381             },
5382             {
5383             "to" => "\x{947}",
5384             "from" => "\x{94d}e"
5385             },
5386             {
5387             "to" => "\x{94b}",
5388             "from" => "\x{94d}o"
5389             },
5390             {
5391             "to" => "\x{93d}",
5392             "from" => "'"
5393             },
5394             {
5395             "to" => "\x{910}",
5396             "from" => "ai"
5397             },
5398             {
5399             "to" => "\x{910}",
5400             "from" => "Ai"
5401             },
5402             {
5403             "to" => "\x{914}",
5404             "from" => "au"
5405             },
5406             {
5407             "to" => "\x{914}",
5408             "from" => "Au"
5409             },
5410             {
5411             "to" => "\x{905}",
5412             "from" => "a"
5413             },
5414             {
5415             "to" => "\x{905}",
5416             "from" => "A"
5417             },
5418             {
5419             "to" => "\x{906}",
5420             "from" => "\x{101}"
5421             },
5422             {
5423             "to" => "\x{906}",
5424             "from" => "\x{100}"
5425             },
5426             {
5427             "to" => "\x{907}",
5428             "from" => "i"
5429             },
5430             {
5431             "to" => "\x{907}",
5432             "from" => "I"
5433             },
5434             {
5435             "to" => "\x{908}",
5436             "from" => "\x{12b}"
5437             },
5438             {
5439             "to" => "\x{908}",
5440             "from" => "\x{12a}"
5441             },
5442             {
5443             "to" => "\x{909}",
5444             "from" => "u"
5445             },
5446             {
5447             "to" => "\x{909}",
5448             "from" => "U"
5449             },
5450             {
5451             "to" => "\x{90a}",
5452             "from" => "\x{16b}"
5453             },
5454             {
5455             "to" => "\x{90a}",
5456             "from" => "\x{16a}"
5457             },
5458             {
5459             "to" => "\x{90b}",
5460             "from" => "\x{1e5b}"
5461             },
5462             {
5463             "to" => "\x{90b}",
5464             "from" => "\x{1e5a}"
5465             },
5466             {
5467             "to" => "\x{960}",
5468             "from" => "\x{1e5d}"
5469             },
5470             {
5471             "to" => "\x{960}",
5472             "from" => "\x{1e5c}"
5473             },
5474             {
5475             "to" => "\x{90c}",
5476             "from" => "\x{1e37}"
5477             },
5478             {
5479             "to" => "\x{90c}",
5480             "from" => "\x{1e36}"
5481             },
5482             {
5483             "to" => "\x{961}",
5484             "from" => "\x{1e39}"
5485             },
5486             {
5487             "to" => "\x{961}",
5488             "from" => "\x{1e38}"
5489             },
5490             {
5491             "to" => "\x{90f}",
5492             "from" => "e"
5493             },
5494             {
5495             "to" => "\x{90f}",
5496             "from" => "E"
5497             },
5498             {
5499             "to" => "\x{913}",
5500             "from" => "o"
5501             },
5502             {
5503             "to" => "\x{913}",
5504             "from" => "O"
5505             },
5506             {
5507             "to" => "\x{967}",
5508             "from" => 1
5509             },
5510             {
5511             "to" => "\x{968}",
5512             "from" => 2
5513             },
5514             {
5515             "to" => "\x{969}",
5516             "from" => 3
5517             },
5518             {
5519             "to" => "\x{96a}",
5520             "from" => 4
5521             },
5522             {
5523             "to" => "\x{96b}",
5524             "from" => 5
5525             },
5526             {
5527             "to" => "\x{96c}",
5528             "from" => 6
5529             },
5530             {
5531             "to" => "\x{96d}",
5532             "from" => 7
5533             },
5534             {
5535             "to" => "\x{96e}",
5536             "from" => 8
5537             },
5538             {
5539             "to" => "\x{96f}",
5540             "from" => 9
5541             },
5542             {
5543             "to" => "\x{966}",
5544             "from" => 0
5545             }
5546             ],
5547             "reverse" => "false"
5548             },
5549             "din_1460_bul" => {
5550             "desc" => "DIN 1460:1982, Cyrillic to Latin, Bulgarian",
5551             "name" => "DIN 1460 BUL",
5552             "id" => "din_1460_bul",
5553             "rules" => [
5554             {
5555             "to" => "\x{160}T",
5556             "from" => "\x{429}",
5557             "context" => {
5558             "after" => "[\\p{IsUpper}\\p{IsSpace}]",
5559             "before" => "[\\p{IsUpper}\\p{IsSpace}]"
5560             }
5561             },
5562             {
5563             "to" => "\x{160}t",
5564             "from" => "\x{429}"
5565             },
5566             {
5567             "to" => "\x{161}t",
5568             "from" => "\x{449}"
5569             },
5570             {
5571             "to" => "JU",
5572             "from" => "\x{42e}",
5573             "context" => {
5574             "after" => "[\\p{IsUpper}\\p{IsSpace}]",
5575             "before" => "[\\p{IsUpper}\\p{IsSpace}]"
5576             }
5577             },
5578             {
5579             "to" => "Ju",
5580             "from" => "\x{42e}"
5581             },
5582             {
5583             "to" => "ju",
5584             "from" => "\x{44e}"
5585             },
5586             {
5587             "to" => "JA",
5588             "from" => "\x{42f}",
5589             "context" => {
5590             "after" => "[\\p{IsUpper}\\p{IsSpace}]",
5591             "before" => "[\\p{IsUpper}\\p{IsSpace}]"
5592             }
5593             },
5594             {
5595             "to" => "Ja",
5596             "from" => "\x{42f}"
5597             },
5598             {
5599             "to" => "ja",
5600             "from" => "\x{44f}"
5601             },
5602             {
5603             "to" => "CH",
5604             "from" => "\x{425}",
5605             "context" => {
5606             "after" => "[\\p{IsUpper}\\p{IsSpace}]",
5607             "before" => "[\\p{IsUpper}\\p{IsSpace}]"
5608             }
5609             },
5610             {
5611             "to" => "Ch",
5612             "from" => "\x{425}"
5613             },
5614             {
5615             "to" => "ch",
5616             "from" => "\x{445}"
5617             },
5618             {
5619             "to" => "J-",
5620             "from" => "\x{419}",
5621             "context" => {
5622             "before" => "[auAU\x{430}\x{443}\x{410}\x{423}]"
5623             }
5624             },
5625             {
5626             "to" => "j-",
5627             "from" => "\x{439}",
5628             "context" => {
5629             "before" => "[au\x{430}\x{443}]"
5630             }
5631             },
5632             {
5633             "to" => "\x{160}-",
5634             "from" => "\x{428}",
5635             "context" => {
5636             "before" => "[tT\x{442}\x{422}]"
5637             }
5638             },
5639             {
5640             "to" => "\x{161}-",
5641             "from" => "\x{448}",
5642             "context" => {
5643             "before" => "[t\x{442}]"
5644             }
5645             },
5646             {
5647             "to" => "A",
5648             "from" => "\x{410}"
5649             },
5650             {
5651             "to" => "a",
5652             "from" => "\x{430}"
5653             },
5654             {
5655             "to" => "B",
5656             "from" => "\x{411}"
5657             },
5658             {
5659             "to" => "b",
5660             "from" => "\x{431}"
5661             },
5662             {
5663             "to" => "V",
5664             "from" => "\x{412}"
5665             },
5666             {
5667             "to" => "v",
5668             "from" => "\x{432}"
5669             },
5670             {
5671             "to" => "G",
5672             "from" => "\x{413}"
5673             },
5674             {
5675             "to" => "g",
5676             "from" => "\x{433}"
5677             },
5678             {
5679             "to" => "D",
5680             "from" => "\x{414}"
5681             },
5682             {
5683             "to" => "d",
5684             "from" => "\x{434}"
5685             },
5686             {
5687             "to" => "E",
5688             "from" => "\x{415}"
5689             },
5690             {
5691             "to" => "e",
5692             "from" => "\x{435}"
5693             },
5694             {
5695             "to" => "\x{17d}",
5696             "from" => "\x{416}"
5697             },
5698             {
5699             "to" => "\x{17e}",
5700             "from" => "\x{436}"
5701             },
5702             {
5703             "to" => "Z",
5704             "from" => "\x{417}"
5705             },
5706             {
5707             "to" => "z",
5708             "from" => "\x{437}"
5709             },
5710             {
5711             "to" => "I",
5712             "from" => "\x{418}"
5713             },
5714             {
5715             "to" => "i",
5716             "from" => "\x{438}"
5717             },
5718             {
5719             "to" => "J",
5720             "from" => "\x{419}"
5721             },
5722             {
5723             "to" => "j",
5724             "from" => "\x{439}"
5725             },
5726             {
5727             "to" => "K",
5728             "from" => "\x{41a}"
5729             },
5730             {
5731             "to" => "k",
5732             "from" => "\x{43a}"
5733             },
5734             {
5735             "to" => "L",
5736             "from" => "\x{41b}"
5737             },
5738             {
5739             "to" => "l",
5740             "from" => "\x{43b}"
5741             },
5742             {
5743             "to" => "M",
5744             "from" => "\x{41c}"
5745             },
5746             {
5747             "to" => "m",
5748             "from" => "\x{43c}"
5749             },
5750             {
5751             "to" => "N",
5752             "from" => "\x{41d}"
5753             },
5754             {
5755             "to" => "n",
5756             "from" => "\x{43d}"
5757             },
5758             {
5759             "to" => "O",
5760             "from" => "\x{41e}"
5761             },
5762             {
5763             "to" => "o",
5764             "from" => "\x{43e}"
5765             },
5766             {
5767             "to" => "P",
5768             "from" => "\x{41f}"
5769             },
5770             {
5771             "to" => "p",
5772             "from" => "\x{43f}"
5773             },
5774             {
5775             "to" => "R",
5776             "from" => "\x{420}"
5777             },
5778             {
5779             "to" => "r",
5780             "from" => "\x{440}"
5781             },
5782             {
5783             "to" => "T",
5784             "from" => "\x{422}"
5785             },
5786             {
5787             "to" => "t",
5788             "from" => "\x{442}"
5789             },
5790             {
5791             "to" => "U",
5792             "from" => "\x{423}"
5793             },
5794             {
5795             "to" => "u",
5796             "from" => "\x{443}"
5797             },
5798             {
5799             "to" => "F",
5800             "from" => "\x{424}"
5801             },
5802             {
5803             "to" => "f",
5804             "from" => "\x{444}"
5805             },
5806             {
5807             "to" => "C",
5808             "from" => "\x{426}"
5809             },
5810             {
5811             "to" => "c",
5812             "from" => "\x{446}"
5813             },
5814             {
5815             "to" => "S",
5816             "from" => "\x{421}"
5817             },
5818             {
5819             "to" => "s",
5820             "from" => "\x{441}"
5821             },
5822             {
5823             "to" => "\x{10c}",
5824             "from" => "\x{427}"
5825             },
5826             {
5827             "to" => "\x{10d}",
5828             "from" => "\x{447}"
5829             },
5830             {
5831             "to" => "\x{160}",
5832             "from" => "\x{428}"
5833             },
5834             {
5835             "to" => "\x{161}",
5836             "from" => "\x{448}"
5837             },
5838             {
5839             "to" => "\x{102}",
5840             "from" => "\x{42a}"
5841             },
5842             {
5843             "to" => "\x{103}",
5844             "from" => "\x{44a}"
5845             },
5846             {
5847             "to" => "'",
5848             "from" => "\x{42c}",
5849             "context" => {
5850             "after" => "\\p{IsUpper}"
5851             }
5852             },
5853             {
5854             "to" => "'",
5855             "from" => "\x{44c}"
5856             }
5857             ],
5858             "reverse" => "true"
5859             },
5860             "ala-lc_rus" => {
5861             "desc" => "ALA-LC:1997, Cyrillic to Latin, Russian",
5862             "name" => "ALA-LC RUS",
5863             "id" => "ala-lc_rus",
5864             "rules" => [
5865             {
5866             "to" => "A",
5867             "from" => "\x{410}"
5868             },
5869             {
5870             "to" => "B",
5871             "from" => "\x{411}"
5872             },
5873             {
5874             "to" => "V",
5875             "from" => "\x{412}"
5876             },
5877             {
5878             "to" => "G",
5879             "from" => "\x{413}"
5880             },
5881             {
5882             "to" => "D",
5883             "from" => "\x{414}"
5884             },
5885             {
5886             "to" => "E",
5887             "from" => "\x{415}"
5888             },
5889             {
5890             "to" => "\x{cb}",
5891             "from" => "\x{401}"
5892             },
5893             {
5894             "to" => "Zh",
5895             "from" => "\x{416}"
5896             },
5897             {
5898             "to" => "Z",
5899             "from" => "\x{417}"
5900             },
5901             {
5902             "to" => "I",
5903             "from" => "\x{418}"
5904             },
5905             {
5906             "to" => "\x{12a}",
5907             "from" => "\x{406}"
5908             },
5909             {
5910             "to" => "\x{12c}",
5911             "from" => "\x{419}"
5912             },
5913             {
5914             "to" => "K",
5915             "from" => "\x{41a}"
5916             },
5917             {
5918             "to" => "L",
5919             "from" => "\x{41b}"
5920             },
5921             {
5922             "to" => "M",
5923             "from" => "\x{41c}"
5924             },
5925             {
5926             "to" => "N",
5927             "from" => "\x{41d}"
5928             },
5929             {
5930             "to" => "O",
5931             "from" => "\x{41e}"
5932             },
5933             {
5934             "to" => "P",
5935             "from" => "\x{41f}"
5936             },
5937             {
5938             "to" => "R",
5939             "from" => "\x{420}"
5940             },
5941             {
5942             "to" => "S",
5943             "from" => "\x{421}"
5944             },
5945             {
5946             "to" => "T",
5947             "from" => "\x{422}"
5948             },
5949             {
5950             "to" => "U",
5951             "from" => "\x{423}"
5952             },
5953             {
5954             "to" => "F",
5955             "from" => "\x{424}"
5956             },
5957             {
5958             "to" => "Kh",
5959             "from" => "\x{425}"
5960             },
5961             {
5962             "to" => "TS",
5963             "from" => "\x{426}"
5964             },
5965             {
5966             "to" => "Ch",
5967             "from" => "\x{427}"
5968             },
5969             {
5970             "to" => "Ch",
5971             "from" => "\x{427}"
5972             },
5973             {
5974             "to" => "Sh",
5975             "from" => "\x{428}"
5976             },
5977             {
5978             "to" => "Shch",
5979             "from" => "\x{429}"
5980             },
5981             {
5982             "to" => "",
5983             "from" => "\x{42a}",
5984             "context" => {
5985             "before" => "\\b"
5986             }
5987             },
5988             {
5989             "to" => "\x{2033}",
5990             "from" => "\x{42a}"
5991             },
5992             {
5993             "to" => "Y",
5994             "from" => "\x{42b}"
5995             },
5996             {
5997             "to" => "\x{2032}",
5998             "from" => "\x{42c}"
5999             },
6000             {
6001             "to" => "IE",
6002             "from" => "\x{462}"
6003             },
6004             {
6005             "to" => "\x{116}",
6006             "from" => "\x{42d}"
6007             },
6008             {
6009             "to" => "IU",
6010             "from" => "\x{42e}"
6011             },
6012             {
6013             "to" => "IA",
6014             "from" => "\x{42f}"
6015             },
6016             {
6017             "to" => "\x{118}",
6018             "from" => "\x{466}"
6019             },
6020             {
6021             "to" => "\x{1e1e}",
6022             "from" => "\x{4e8}"
6023             },
6024             {
6025             "to" => "\x{1e8e}",
6026             "from" => "\x{474}"
6027             },
6028             {
6029             "to" => "a",
6030             "from" => "\x{430}"
6031             },
6032             {
6033             "to" => "b",
6034             "from" => "\x{431}"
6035             },
6036             {
6037             "to" => "v",
6038             "from" => "\x{432}"
6039             },
6040             {
6041             "to" => "g",
6042             "from" => "\x{433}"
6043             },
6044             {
6045             "to" => "d",
6046             "from" => "\x{434}"
6047             },
6048             {
6049             "to" => "e",
6050             "from" => "\x{435}"
6051             },
6052             {
6053             "to" => "\x{eb}",
6054             "from" => "\x{451}"
6055             },
6056             {
6057             "to" => "zh",
6058             "from" => "\x{436}"
6059             },
6060             {
6061             "to" => "z",
6062             "from" => "\x{437}"
6063             },
6064             {
6065             "to" => "i",
6066             "from" => "\x{438}"
6067             },
6068             {
6069             "to" => "\x{12b}",
6070             "from" => "\x{456}"
6071             },
6072             {
6073             "to" => "\x{12d}",
6074             "from" => "\x{439}"
6075             },
6076             {
6077             "to" => "k",
6078             "from" => "\x{43a}"
6079             },
6080             {
6081             "to" => "l",
6082             "from" => "\x{43b}"
6083             },
6084             {
6085             "to" => "m",
6086             "from" => "\x{43c}"
6087             },
6088             {
6089             "to" => "n",
6090             "from" => "\x{43d}"
6091             },
6092             {
6093             "to" => "o",
6094             "from" => "\x{43e}"
6095             },
6096             {
6097             "to" => "p",
6098             "from" => "\x{43f}"
6099             },
6100             {
6101             "to" => "r",
6102             "from" => "\x{440}"
6103             },
6104             {
6105             "to" => "s",
6106             "from" => "\x{441}"
6107             },
6108             {
6109             "to" => "t",
6110             "from" => "\x{442}"
6111             },
6112             {
6113             "to" => "u",
6114             "from" => "\x{443}"
6115             },
6116             {
6117             "to" => "f",
6118             "from" => "\x{444}"
6119             },
6120             {
6121             "to" => "kh",
6122             "from" => "\x{445}"
6123             },
6124             {
6125             "to" => "ts",
6126             "from" => "\x{446}"
6127             },
6128             {
6129             "to" => "ch",
6130             "from" => "\x{447}"
6131             },
6132             {
6133             "to" => "sh",
6134             "from" => "\x{448}"
6135             },
6136             {
6137             "to" => "shch",
6138             "from" => "\x{449}"
6139             },
6140             {
6141             "to" => "",
6142             "from" => "\x{44a}",
6143             "context" => {
6144             "before" => "\\b"
6145             }
6146             },
6147             {
6148             "to" => "\x{2033}",
6149             "from" => "\x{44a}"
6150             },
6151             {
6152             "to" => "y",
6153             "from" => "\x{44b}"
6154             },
6155             {
6156             "to" => "\x{2032}",
6157             "from" => "\x{44c}"
6158             },
6159             {
6160             "to" => "ie",
6161             "from" => "\x{463}"
6162             },
6163             {
6164             "to" => "\x{117}",
6165             "from" => "\x{44d}"
6166             },
6167             {
6168             "to" => "iu",
6169             "from" => "\x{44e}"
6170             },
6171             {
6172             "to" => "ia",
6173             "from" => "\x{44f}"
6174             },
6175             {
6176             "to" => "\x{119}",
6177             "from" => "\x{467}"
6178             },
6179             {
6180             "to" => "\x{1e1f}",
6181             "from" => "\x{4e9}"
6182             },
6183             {
6184             "to" => "\x{1e8f}",
6185             "from" => "\x{475}"
6186             }
6187             ],
6188             "reverse" => "false"
6189             },
6190             "iso/r_9" => {
6191             "desc" => "ISO/R 9:1954, Cyrillic to Latin",
6192             "name" => "ISO/R 9",
6193             "id" => "iso/r_9",
6194             "rules" => [
6195             {
6196             "to" => "A",
6197             "from" => "\x{410}"
6198             },
6199             {
6200             "to" => "a",
6201             "from" => "\x{430}"
6202             },
6203             {
6204             "to" => "B",
6205             "from" => "\x{411}"
6206             },
6207             {
6208             "to" => "b",
6209             "from" => "\x{431}"
6210             },
6211             {
6212             "to" => "V",
6213             "from" => "\x{412}"
6214             },
6215             {
6216             "to" => "v",
6217             "from" => "\x{432}"
6218             },
6219             {
6220             "to" => "G",
6221             "from" => "\x{413}"
6222             },
6223             {
6224             "to" => "g",
6225             "from" => "\x{433}"
6226             },
6227             {
6228             "to" => "G\x{300}",
6229             "from" => "\x{490}"
6230             },
6231             {
6232             "to" => "g\x{300}",
6233             "from" => "\x{491}"
6234             },
6235             {
6236             "to" => "D",
6237             "from" => "\x{414}"
6238             },
6239             {
6240             "to" => "d",
6241             "from" => "\x{434}"
6242             },
6243             {
6244             "to" => "\x{1f4}",
6245             "from" => "\x{403}"
6246             },
6247             {
6248             "to" => "\x{1f5}",
6249             "from" => "\x{453}"
6250             },
6251             {
6252             "to" => "\x{110}",
6253             "from" => "\x{402}"
6254             },
6255             {
6256             "to" => "\x{111}",
6257             "from" => "\x{452}"
6258             },
6259             {
6260             "to" => "E",
6261             "from" => "\x{415}"
6262             },
6263             {
6264             "to" => "e",
6265             "from" => "\x{435}"
6266             },
6267             {
6268             "to" => "\x{cb}",
6269             "from" => "\x{401}"
6270             },
6271             {
6272             "to" => "\x{eb}",
6273             "from" => "\x{451}"
6274             },
6275             {
6276             "to" => "Je",
6277             "from" => "\x{404}"
6278             },
6279             {
6280             "to" => "je",
6281             "from" => "\x{454}"
6282             },
6283             {
6284             "to" => "\x{17d}",
6285             "from" => "\x{416}"
6286             },
6287             {
6288             "to" => "\x{17e}",
6289             "from" => "\x{436}"
6290             },
6291             {
6292             "to" => "Z",
6293             "from" => "\x{417}"
6294             },
6295             {
6296             "to" => "z",
6297             "from" => "\x{437}"
6298             },
6299             {
6300             "to" => "Dz",
6301             "from" => "\x{405}"
6302             },
6303             {
6304             "to" => "dz",
6305             "from" => "\x{455}"
6306             },
6307             {
6308             "to" => "I",
6309             "from" => "\x{418}"
6310             },
6311             {
6312             "to" => "i",
6313             "from" => "\x{438}"
6314             },
6315             {
6316             "to" => "I",
6317             "from" => "\x{406}"
6318             },
6319             {
6320             "to" => "i",
6321             "from" => "\x{456}"
6322             },
6323             {
6324             "to" => "Ji",
6325             "from" => "\x{407}"
6326             },
6327             {
6328             "to" => "ji",
6329             "from" => "\x{457}"
6330             },
6331             {
6332             "to" => "J",
6333             "from" => "\x{419}"
6334             },
6335             {
6336             "to" => "j",
6337             "from" => "\x{439}"
6338             },
6339             {
6340             "to" => "J",
6341             "from" => "\x{408}"
6342             },
6343             {
6344             "to" => "j",
6345             "from" => "\x{458}"
6346             },
6347             {
6348             "to" => "K",
6349             "from" => "\x{41a}"
6350             },
6351             {
6352             "to" => "k",
6353             "from" => "\x{43a}"
6354             },
6355             {
6356             "to" => "L",
6357             "from" => "\x{41b}"
6358             },
6359             {
6360             "to" => "l",
6361             "from" => "\x{43b}"
6362             },
6363             {
6364             "to" => "LJ",
6365             "from" => "\x{409}",
6366             "context" => {
6367             "after" => "\\p{IsUpper}"
6368             }
6369             },
6370             {
6371             "to" => "Lj",
6372             "from" => "\x{409}"
6373             },
6374             {
6375             "to" => "lj",
6376             "from" => "\x{459}"
6377             },
6378             {
6379             "to" => "M",
6380             "from" => "\x{41c}"
6381             },
6382             {
6383             "to" => "m",
6384             "from" => "\x{43c}"
6385             },
6386             {
6387             "to" => "N",
6388             "from" => "\x{41d}"
6389             },
6390             {
6391             "to" => "n",
6392             "from" => "\x{43d}"
6393             },
6394             {
6395             "to" => "NJ",
6396             "from" => "\x{40a}",
6397             "context" => {
6398             "after" => "\\p{IsUpper}"
6399             }
6400             },
6401             {
6402             "to" => "Nj",
6403             "from" => "\x{40a}"
6404             },
6405             {
6406             "to" => "nj",
6407             "from" => "\x{45a}"
6408             },
6409             {
6410             "to" => "O",
6411             "from" => "\x{41e}"
6412             },
6413             {
6414             "to" => "o",
6415             "from" => "\x{43e}"
6416             },
6417             {
6418             "to" => "P",
6419             "from" => "\x{41f}"
6420             },
6421             {
6422             "to" => "p",
6423             "from" => "\x{43f}"
6424             },
6425             {
6426             "to" => "R",
6427             "from" => "\x{420}"
6428             },
6429             {
6430             "to" => "r",
6431             "from" => "\x{440}"
6432             },
6433             {
6434             "to" => "S",
6435             "from" => "\x{421}"
6436             },
6437             {
6438             "to" => "s",
6439             "from" => "\x{441}"
6440             },
6441             {
6442             "to" => "T",
6443             "from" => "\x{422}"
6444             },
6445             {
6446             "to" => "t",
6447             "from" => "\x{442}"
6448             },
6449             {
6450             "to" => "\x{1e30}",
6451             "from" => "\x{40c}"
6452             },
6453             {
6454             "to" => "\x{1e31}",
6455             "from" => "\x{45c}"
6456             },
6457             {
6458             "to" => "\x{106}",
6459             "from" => "\x{40b}"
6460             },
6461             {
6462             "to" => "\x{107}",
6463             "from" => "\x{45b}"
6464             },
6465             {
6466             "to" => "U",
6467             "from" => "\x{423}"
6468             },
6469             {
6470             "to" => "u",
6471             "from" => "\x{443}"
6472             },
6473             {
6474             "to" => "\x{16c}",
6475             "from" => "\x{40e}"
6476             },
6477             {
6478             "to" => "\x{16d}",
6479             "from" => "\x{45e}"
6480             },
6481             {
6482             "to" => "F",
6483             "from" => "\x{424}"
6484             },
6485             {
6486             "to" => "f",
6487             "from" => "\x{444}"
6488             },
6489             {
6490             "to" => "H",
6491             "from" => "\x{425}"
6492             },
6493             {
6494             "to" => "h",
6495             "from" => "\x{445}"
6496             },
6497             {
6498             "to" => "C",
6499             "from" => "\x{426}"
6500             },
6501             {
6502             "to" => "c",
6503             "from" => "\x{446}"
6504             },
6505             {
6506             "to" => "\x{10c}",
6507             "from" => "\x{427}"
6508             },
6509             {
6510             "to" => "\x{10d}",
6511             "from" => "\x{447}"
6512             },
6513             {
6514             "to" => "D\x{17d}",
6515             "from" => "\x{40f}",
6516             "context" => {
6517             "after" => "\\p{IsUpper}"
6518             }
6519             },
6520             {
6521             "to" => "D\x{17e}",
6522             "from" => "\x{40f}"
6523             },
6524             {
6525             "to" => "d\x{17e}",
6526             "from" => "\x{45f}"
6527             },
6528             {
6529             "to" => "\x{160}",
6530             "from" => "\x{428}"
6531             },
6532             {
6533             "to" => "\x{161}",
6534             "from" => "\x{448}"
6535             },
6536             {
6537             "to" => "\x{160}\x{10c}",
6538             "from" => "\x{429}"
6539             },
6540             {
6541             "to" => "\x{161}\x{10d}",
6542             "from" => "\x{449}"
6543             },
6544             {
6545             "to" => "Y",
6546             "from" => "\x{42a}",
6547             "context" => {
6548             "after" => "\\p{IsUpper}"
6549             }
6550             },
6551             {
6552             "to" => "y",
6553             "from" => "\x{44a}"
6554             },
6555             {
6556             "to" => "Y",
6557             "from" => "\x{42b}"
6558             },
6559             {
6560             "to" => "y",
6561             "from" => "\x{44b}"
6562             },
6563             {
6564             "to" => "\x{2b9}",
6565             "from" => "\x{42c}",
6566             "context" => {
6567             "after" => "\\p{IsUpper}"
6568             }
6569             },
6570             {
6571             "to" => "\x{2b9}",
6572             "from" => "\x{44c}"
6573             },
6574             {
6575             "to" => "\x{11a}",
6576             "from" => "\x{462}"
6577             },
6578             {
6579             "to" => "\x{11b}",
6580             "from" => "\x{463}"
6581             },
6582             {
6583             "to" => "\x{c8}",
6584             "from" => "\x{42d}"
6585             },
6586             {
6587             "to" => "\x{e8}",
6588             "from" => "\x{44d}"
6589             },
6590             {
6591             "to" => "JU",
6592             "from" => "\x{42e}",
6593             "context" => {
6594             "after" => "\\p{IsUpper}"
6595             }
6596             },
6597             {
6598             "to" => "Ju",
6599             "from" => "\x{42e}"
6600             },
6601             {
6602             "to" => "ju",
6603             "from" => "\x{44e}"
6604             },
6605             {
6606             "to" => "JA",
6607             "from" => "\x{42f}",
6608             "context" => {
6609             "after" => "\\p{IsUpper}"
6610             }
6611             },
6612             {
6613             "to" => "Ja",
6614             "from" => "\x{42f}"
6615             },
6616             {
6617             "to" => "ja",
6618             "from" => "\x{44f}"
6619             },
6620             {
6621             "to" => "\x{226}",
6622             "from" => "\x{46a}"
6623             },
6624             {
6625             "to" => "\x{227}",
6626             "from" => "\x{46b}"
6627             },
6628             {
6629             "to" => "\x{1e1e}",
6630             "from" => "\x{472}"
6631             },
6632             {
6633             "to" => "\x{1e1f}",
6634             "from" => "\x{473}"
6635             },
6636             {
6637             "to" => "\x{1e8e}",
6638             "from" => "\x{474}"
6639             },
6640             {
6641             "to" => "\x{1e8f}",
6642             "from" => "\x{475}"
6643             }
6644             ],
6645             "reverse" => "true"
6646             },
6647             "common_ara" => {
6648             "desc" => "Common Romanization of Arabic",
6649             "name" => "Common ARA",
6650             "id" => "common_ara",
6651             "rules" => [
6652             {
6653             "to" => "th",
6654             "from" => "\x{62b}"
6655             },
6656             {
6657             "to" => "kh",
6658             "from" => "\x{62e}"
6659             },
6660             {
6661             "to" => "sh",
6662             "from" => "\x{634}"
6663             },
6664             {
6665             "to" => "gh",
6666             "from" => "\x{63a}"
6667             },
6668             {
6669             "to" => "'e",
6670             "from" => "\x{639}"
6671             },
6672             {
6673             "to" => "'e",
6674             "from" => "\x{626}"
6675             },
6676             {
6677             "to" => "'e",
6678             "from" => "\x{624}"
6679             },
6680             {
6681             "to" => "a",
6682             "from" => "\x{627}"
6683             },
6684             {
6685             "to" => "a",
6686             "from" => "\x{623}"
6687             },
6688             {
6689             "to" => "a",
6690             "from" => "\x{622}"
6691             },
6692             {
6693             "to" => "a",
6694             "from" => "\x{649}"
6695             },
6696             {
6697             "to" => "e",
6698             "from" => "\x{625}"
6699             },
6700             {
6701             "to" => "b",
6702             "from" => "\x{628}"
6703             },
6704             {
6705             "to" => "t",
6706             "from" => "\x{62a}"
6707             },
6708             {
6709             "to" => "j",
6710             "from" => "\x{62c}"
6711             },
6712             {
6713             "to" => "h",
6714             "from" => "\x{62d}"
6715             },
6716             {
6717             "to" => "d",
6718             "from" => "\x{62f}"
6719             },
6720             {
6721             "to" => "d",
6722             "from" => "\x{630}"
6723             },
6724             {
6725             "to" => "d",
6726             "from" => "\x{636}"
6727             },
6728             {
6729             "to" => "r",
6730             "from" => "\x{631}"
6731             },
6732             {
6733             "to" => "z",
6734             "from" => "\x{632}"
6735             },
6736             {
6737             "to" => "z",
6738             "from" => "\x{638}"
6739             },
6740             {
6741             "to" => "s",
6742             "from" => "\x{633}"
6743             },
6744             {
6745             "to" => "s",
6746             "from" => "\x{635}"
6747             },
6748             {
6749             "to" => "t",
6750             "from" => "\x{637}"
6751             },
6752             {
6753             "to" => "f",
6754             "from" => "\x{641}"
6755             },
6756             {
6757             "to" => "q",
6758             "from" => "\x{642}"
6759             },
6760             {
6761             "to" => "k",
6762             "from" => "\x{643}"
6763             },
6764             {
6765             "to" => "l",
6766             "from" => "\x{644}"
6767             },
6768             {
6769             "to" => "m",
6770             "from" => "\x{645}"
6771             },
6772             {
6773             "to" => "n",
6774             "from" => "\x{646}"
6775             },
6776             {
6777             "to" => "h",
6778             "from" => "\x{647}"
6779             },
6780             {
6781             "to" => "h",
6782             "from" => "\x{629}"
6783             },
6784             {
6785             "to" => "w",
6786             "from" => "\x{648}"
6787             },
6788             {
6789             "to" => "y",
6790             "from" => "\x{64a}"
6791             },
6792             {
6793             "to" => "'",
6794             "from" => "\x{621}"
6795             },
6796             {
6797             "to" => "?",
6798             "from" => "\x{61f}"
6799             },
6800             {
6801             "to" => ",",
6802             "from" => "\x{60c}"
6803             },
6804             {
6805             "to" => "",
6806             "from" => "\x{640}"
6807             },
6808             {
6809             "to" => "",
6810             "from" => "\x{64b}"
6811             },
6812             {
6813             "to" => "",
6814             "from" => "\x{64c}"
6815             },
6816             {
6817             "to" => "",
6818             "from" => "\x{64d}"
6819             },
6820             {
6821             "to" => "",
6822             "from" => "\x{64e}"
6823             },
6824             {
6825             "to" => "",
6826             "from" => "\x{64f}"
6827             },
6828             {
6829             "to" => "",
6830             "from" => "\x{650}"
6831             },
6832             {
6833             "to" => "",
6834             "from" => "\x{651}"
6835             },
6836             {
6837             "to" => "",
6838             "from" => "\x{652}"
6839             },
6840             {
6841             "to" => "",
6842             "from" => "\x{200f}"
6843             }
6844             ],
6845             "reverse" => "false"
6846             },
6847             "common_deu" => {
6848             "desc" => "German umlauts",
6849             "name" => "Common DEU",
6850             "id" => "common_deu",
6851             "rules" => [
6852             {
6853             "to" => "Ae",
6854             "from" => "\x{c4}"
6855             },
6856             {
6857             "to" => "ae",
6858             "from" => "\x{e4}"
6859             },
6860             {
6861             "to" => "Oe",
6862             "from" => "\x{d6}"
6863             },
6864             {
6865             "to" => "oe",
6866             "from" => "\x{f6}"
6867             },
6868             {
6869             "to" => "Ue",
6870             "from" => "\x{dc}"
6871             },
6872             {
6873             "to" => "ue",
6874             "from" => "\x{fc}"
6875             },
6876             {
6877             "to" => "SS",
6878             "from" => "\x{df}",
6879             "context" => {
6880             "after" => "\\p{IsUpper}"
6881             }
6882             },
6883             {
6884             "to" => "ss",
6885             "from" => "\x{df}"
6886             }
6887             ],
6888             "reverse" => "false"
6889             },
6890             "gost_7.79_rus" => {
6891             "desc" => "GOST 7.79:2000, Cyrillic to Latin, Russian",
6892             "name" => "GOST 7.79 RUS",
6893             "id" => "gost_7.79_rus",
6894             "rules" => [
6895             {
6896             "to" => "c",
6897             "from" => "\x{446}",
6898             "context" => {
6899             "before" => "[iejy\x{438}\x{435}\x{439}\x{44b}\x{44e}\x{44f}\x{44d}\x{451}]"
6900             }
6901             },
6902             {
6903             "to" => "C",
6904             "from" => "\x{426}",
6905             "context" => {
6906             "before" => "[IEJY\x{418}\x{415}\x{419}\x{42b}\x{42e}\x{42f}\x{401}\x{42d}]"
6907             }
6908             },
6909             {
6910             "to" => "cz",
6911             "from" => "\x{446}"
6912             },
6913             {
6914             "to" => "CZ",
6915             "from" => "\x{426}",
6916             "context" => {
6917             "after" => "[\\p{IsUpper}\\p{IsSpace}]",
6918             "before" => "[\\p{IsUpper}\\p{IsSpace}]"
6919             }
6920             },
6921             {
6922             "to" => "Cz",
6923             "from" => "\x{426}"
6924             },
6925             {
6926             "to" => "shh",
6927             "from" => "\x{449}"
6928             },
6929             {
6930             "to" => "SHH",
6931             "from" => "\x{429}",
6932             "context" => {
6933             "after" => "[\\p{IsUpper}\\p{IsSpace}]",
6934             "before" => "[\\p{IsUpper}\\p{IsSpace}]"
6935             }
6936             },
6937             {
6938             "to" => "Shh",
6939             "from" => "\x{429}"
6940             },
6941             {
6942             "to" => "yo",
6943             "from" => "\x{451}"
6944             },
6945             {
6946             "to" => "YO",
6947             "from" => "\x{401}",
6948             "context" => {
6949             "after" => "[\\p{IsUpper}\\p{IsSpace}]",
6950             "before" => "[\\p{IsUpper}\\p{IsSpace}]"
6951             }
6952             },
6953             {
6954             "to" => "Yo",
6955             "from" => "\x{401}"
6956             },
6957             {
6958             "to" => "zh",
6959             "from" => "\x{436}"
6960             },
6961             {
6962             "to" => "ZH",
6963             "from" => "\x{416}",
6964             "context" => {
6965             "after" => "[\\p{IsUpper}\\p{IsSpace}]",
6966             "before" => "[\\p{IsUpper}\\p{IsSpace}]"
6967             }
6968             },
6969             {
6970             "to" => "Zh",
6971             "from" => "\x{416}"
6972             },
6973             {
6974             "to" => "ch",
6975             "from" => "\x{447}"
6976             },
6977             {
6978             "to" => "CH",
6979             "from" => "\x{427}",
6980             "context" => {
6981             "after" => "[\\p{IsUpper}\\p{IsSpace}]",
6982             "before" => "[\\p{IsUpper}\\p{IsSpace}]"
6983             }
6984             },
6985             {
6986             "to" => "Ch",
6987             "from" => "\x{427}"
6988             },
6989             {
6990             "to" => "sh",
6991             "from" => "\x{448}"
6992             },
6993             {
6994             "to" => "SH",
6995             "from" => "\x{428}",
6996             "context" => {
6997             "after" => "[\\p{IsUpper}\\p{IsSpace}]",
6998             "before" => "[\\p{IsUpper}\\p{IsSpace}]"
6999             }
7000             },
7001             {
7002             "to" => "Sh",
7003             "from" => "\x{428}"
7004             },
7005             {
7006             "to" => "yu",
7007             "from" => "\x{44e}"
7008             },
7009             {
7010             "to" => "YU",
7011             "from" => "\x{42e}",
7012             "context" => {
7013             "after" => "[\\p{IsUpper}\\p{IsSpace}]",
7014             "before" => "[\\p{IsUpper}\\p{IsSpace}]"
7015             }
7016             },
7017             {
7018             "to" => "Yu",
7019             "from" => "\x{42e}"
7020             },
7021             {
7022             "to" => "ya",
7023             "from" => "\x{44f}"
7024             },
7025             {
7026             "to" => "YA",
7027             "from" => "\x{42f}",
7028             "context" => {
7029             "after" => "[\\p{IsUpper}\\p{IsSpace}]",
7030             "before" => "[\\p{IsUpper}\\p{IsSpace}]"
7031             }
7032             },
7033             {
7034             "to" => "Ya",
7035             "from" => "\x{42f}"
7036             },
7037             {
7038             "to" => "``",
7039             "from" => "\x{44a}"
7040             },
7041             {
7042             "to" => "``",
7043             "from" => "\x{42a}",
7044             "context" => {
7045             "after" => "\\p{IsUpper}",
7046             "before" => "([^\\p{IsWord}]|\$)"
7047             }
7048             },
7049             {
7050             "to" => "y'",
7051             "from" => "\x{44b}"
7052             },
7053             {
7054             "to" => "Y'",
7055             "from" => "\x{42b}"
7056             },
7057             {
7058             "to" => "e`",
7059             "from" => "\x{44d}"
7060             },
7061             {
7062             "to" => "E`",
7063             "from" => "\x{42d}"
7064             },
7065             {
7066             "to" => "a",
7067             "from" => "\x{430}"
7068             },
7069             {
7070             "to" => "A",
7071             "from" => "\x{410}"
7072             },
7073             {
7074             "to" => "b",
7075             "from" => "\x{431}"
7076             },
7077             {
7078             "to" => "B",
7079             "from" => "\x{411}"
7080             },
7081             {
7082             "to" => "v",
7083             "from" => "\x{432}"
7084             },
7085             {
7086             "to" => "V",
7087             "from" => "\x{412}"
7088             },
7089             {
7090             "to" => "g",
7091             "from" => "\x{433}"
7092             },
7093             {
7094             "to" => "G",
7095             "from" => "\x{413}"
7096             },
7097             {
7098             "to" => "d",
7099             "from" => "\x{434}"
7100             },
7101             {
7102             "to" => "D",
7103             "from" => "\x{414}"
7104             },
7105             {
7106             "to" => "e",
7107             "from" => "\x{435}"
7108             },
7109             {
7110             "to" => "E",
7111             "from" => "\x{415}"
7112             },
7113             {
7114             "to" => "z",
7115             "from" => "\x{437}"
7116             },
7117             {
7118             "to" => "Z",
7119             "from" => "\x{417}"
7120             },
7121             {
7122             "to" => "i",
7123             "from" => "\x{438}"
7124             },
7125             {
7126             "to" => "I",
7127             "from" => "\x{418}"
7128             },
7129             {
7130             "to" => "j",
7131             "from" => "\x{439}"
7132             },
7133             {
7134             "to" => "J",
7135             "from" => "\x{419}"
7136             },
7137             {
7138             "to" => "k",
7139             "from" => "\x{43a}"
7140             },
7141             {
7142             "to" => "K",
7143             "from" => "\x{41a}"
7144             },
7145             {
7146             "to" => "l",
7147             "from" => "\x{43b}"
7148             },
7149             {
7150             "to" => "L",
7151             "from" => "\x{41b}"
7152             },
7153             {
7154             "to" => "m",
7155             "from" => "\x{43c}"
7156             },
7157             {
7158             "to" => "M",
7159             "from" => "\x{41c}"
7160             },
7161             {
7162             "to" => "n",
7163             "from" => "\x{43d}"
7164             },
7165             {
7166             "to" => "N",
7167             "from" => "\x{41d}"
7168             },
7169             {
7170             "to" => "o",
7171             "from" => "\x{43e}"
7172             },
7173             {
7174             "to" => "O",
7175             "from" => "\x{41e}"
7176             },
7177             {
7178             "to" => "p",
7179             "from" => "\x{43f}"
7180             },
7181             {
7182             "to" => "P",
7183             "from" => "\x{41f}"
7184             },
7185             {
7186             "to" => "r",
7187             "from" => "\x{440}"
7188             },
7189             {
7190             "to" => "R",
7191             "from" => "\x{420}"
7192             },
7193             {
7194             "to" => "s",
7195             "from" => "\x{441}"
7196             },
7197             {
7198             "to" => "S",
7199             "from" => "\x{421}"
7200             },
7201             {
7202             "to" => "t",
7203             "from" => "\x{442}"
7204             },
7205             {
7206             "to" => "T",
7207             "from" => "\x{422}"
7208             },
7209             {
7210             "to" => "u",
7211             "from" => "\x{443}"
7212             },
7213             {
7214             "to" => "U",
7215             "from" => "\x{423}"
7216             },
7217             {
7218             "to" => "f",
7219             "from" => "\x{444}"
7220             },
7221             {
7222             "to" => "F",
7223             "from" => "\x{424}"
7224             },
7225             {
7226             "to" => "x",
7227             "from" => "\x{445}"
7228             },
7229             {
7230             "to" => "X",
7231             "from" => "\x{425}"
7232             },
7233             {
7234             "to" => "`",
7235             "from" => "\x{42c}",
7236             "context" => {
7237             "after" => "\\p{IsUpper}"
7238             }
7239             },
7240             {
7241             "to" => "`",
7242             "from" => "\x{44c}"
7243             },
7244             {
7245             "to" => "#",
7246             "from" => "\x{2116}"
7247             }
7248             ],
7249             "reverse" => "true"
7250             },
7251             "greeklish" => {
7252             "desc" => "Greeklish (Phonetic), Greek to Latin",
7253             "name" => "Greeklish",
7254             "id" => "greeklish",
7255             "rules" => [
7256             {
7257             "to" => "i",
7258             "from" => "\x{3b5}\x{3b9}"
7259             },
7260             {
7261             "to" => "i",
7262             "from" => "\x{3ad}\x{3b9}"
7263             },
7264             {
7265             "to" => "i",
7266             "from" => "\x{3b5}\x{3af}"
7267             },
7268             {
7269             "to" => "ef",
7270             "from" => "\x{3b5}\x{3c5}"
7271             },
7272             {
7273             "to" => "ef",
7274             "from" => "\x{3ad}\x{3c5}"
7275             },
7276             {
7277             "to" => "ef",
7278             "from" => "\x{3b5}\x{3cd}"
7279             },
7280             {
7281             "to" => "u",
7282             "from" => "\x{3bf}\x{3c5}"
7283             },
7284             {
7285             "to" => "u",
7286             "from" => "\x{3bf}\x{3cd}"
7287             },
7288             {
7289             "to" => "u",
7290             "from" => "\x{3cc}\x{3c5}"
7291             },
7292             {
7293             "to" => "A",
7294             "from" => "\x{391}"
7295             },
7296             {
7297             "to" => "a",
7298             "from" => "\x{3b1}"
7299             },
7300             {
7301             "to" => "A",
7302             "from" => "\x{386}"
7303             },
7304             {
7305             "to" => "a",
7306             "from" => "\x{3ac}"
7307             },
7308             {
7309             "to" => "V",
7310             "from" => "\x{392}"
7311             },
7312             {
7313             "to" => "v",
7314             "from" => "\x{3b2}"
7315             },
7316             {
7317             "to" => "Y",
7318             "from" => "\x{393}"
7319             },
7320             {
7321             "to" => "y",
7322             "from" => "\x{3b3}"
7323             },
7324             {
7325             "to" => "D",
7326             "from" => "\x{394}"
7327             },
7328             {
7329             "to" => "d",
7330             "from" => "\x{3b4}"
7331             },
7332             {
7333             "to" => "E",
7334             "from" => "\x{395}"
7335             },
7336             {
7337             "to" => "e",
7338             "from" => "\x{3b5}"
7339             },
7340             {
7341             "to" => "E",
7342             "from" => "\x{388}"
7343             },
7344             {
7345             "to" => "e",
7346             "from" => "\x{3ad}"
7347             },
7348             {
7349             "to" => "Z",
7350             "from" => "\x{396}"
7351             },
7352             {
7353             "to" => "z",
7354             "from" => "\x{3b6}"
7355             },
7356             {
7357             "to" => "I",
7358             "from" => "\x{397}"
7359             },
7360             {
7361             "to" => "i",
7362             "from" => "\x{3b7}"
7363             },
7364             {
7365             "to" => "I",
7366             "from" => "\x{389}"
7367             },
7368             {
7369             "to" => "i",
7370             "from" => "\x{3ae}"
7371             },
7372             {
7373             "to" => "Th",
7374             "from" => "\x{398}"
7375             },
7376             {
7377             "to" => "th",
7378             "from" => "\x{3b8}"
7379             },
7380             {
7381             "to" => "I",
7382             "from" => "\x{399}"
7383             },
7384             {
7385             "to" => "i",
7386             "from" => "\x{3b9}"
7387             },
7388             {
7389             "to" => "I",
7390             "from" => "\x{38a}"
7391             },
7392             {
7393             "to" => "i",
7394             "from" => "\x{3af}"
7395             },
7396             {
7397             "to" => "I",
7398             "from" => "\x{3aa}"
7399             },
7400             {
7401             "to" => "i",
7402             "from" => "\x{3ca}"
7403             },
7404             {
7405             "to" => "i",
7406             "from" => "\x{390}"
7407             },
7408             {
7409             "to" => "K",
7410             "from" => "\x{39a}"
7411             },
7412             {
7413             "to" => "k",
7414             "from" => "\x{3ba}"
7415             },
7416             {
7417             "to" => "L",
7418             "from" => "\x{39b}"
7419             },
7420             {
7421             "to" => "l",
7422             "from" => "\x{3bb}"
7423             },
7424             {
7425             "to" => "M",
7426             "from" => "\x{39c}"
7427             },
7428             {
7429             "to" => "m",
7430             "from" => "\x{3bc}"
7431             },
7432             {
7433             "to" => "N",
7434             "from" => "\x{39d}"
7435             },
7436             {
7437             "to" => "n",
7438             "from" => "\x{3bd}"
7439             },
7440             {
7441             "to" => "X",
7442             "from" => "\x{39e}"
7443             },
7444             {
7445             "to" => "x",
7446             "from" => "\x{3be}"
7447             },
7448             {
7449             "to" => "O",
7450             "from" => "\x{39f}"
7451             },
7452             {
7453             "to" => "o",
7454             "from" => "\x{3bf}"
7455             },
7456             {
7457             "to" => "O",
7458             "from" => "\x{38c}"
7459             },
7460             {
7461             "to" => "o",
7462             "from" => "\x{3cc}"
7463             },
7464             {
7465             "to" => "P",
7466             "from" => "\x{3a0}"
7467             },
7468             {
7469             "to" => "p",
7470             "from" => "\x{3c0}"
7471             },
7472             {
7473             "to" => "R",
7474             "from" => "\x{3a1}"
7475             },
7476             {
7477             "to" => "r",
7478             "from" => "\x{3c1}"
7479             },
7480             {
7481             "to" => "S",
7482             "from" => "\x{3a3}"
7483             },
7484             {
7485             "to" => "s",
7486             "from" => "\x{3c3}"
7487             },
7488             {
7489             "to" => "T",
7490             "from" => "\x{3a4}"
7491             },
7492             {
7493             "to" => "t",
7494             "from" => "\x{3c4}"
7495             },
7496             {
7497             "to" => "I",
7498             "from" => "\x{3a5}"
7499             },
7500             {
7501             "to" => "i",
7502             "from" => "\x{3c5}"
7503             },
7504             {
7505             "to" => "I",
7506             "from" => "\x{38e}"
7507             },
7508             {
7509             "to" => "i",
7510             "from" => "\x{3cd}"
7511             },
7512             {
7513             "to" => "I",
7514             "from" => "\x{3ab}"
7515             },
7516             {
7517             "to" => "i",
7518             "from" => "\x{3cb}"
7519             },
7520             {
7521             "to" => "i",
7522             "from" => "\x{3b0}"
7523             },
7524             {
7525             "to" => "F",
7526             "from" => "\x{3a6}"
7527             },
7528             {
7529             "to" => "f",
7530             "from" => "\x{3c6}"
7531             },
7532             {
7533             "to" => "H",
7534             "from" => "\x{3a7}"
7535             },
7536             {
7537             "to" => "h",
7538             "from" => "\x{3c7}"
7539             },
7540             {
7541             "to" => "Ps",
7542             "from" => "\x{3a8}"
7543             },
7544             {
7545             "to" => "ps",
7546             "from" => "\x{3c8}"
7547             },
7548             {
7549             "to" => "O",
7550             "from" => "\x{3a9}"
7551             },
7552             {
7553             "to" => "o",
7554             "from" => "\x{3c9}"
7555             },
7556             {
7557             "to" => "O",
7558             "from" => "\x{38f}"
7559             },
7560             {
7561             "to" => "o",
7562             "from" => "\x{3ce}"
7563             },
7564             {
7565             "to" => "s",
7566             "from" => "\x{3c2}"
7567             },
7568             {
7569             "to" => "?",
7570             "from" => "\x{37e}",
7571             "context" => {
7572             "after" => "\\b"
7573             }
7574             },
7575             {
7576             "to" => "?",
7577             "from" => ";",
7578             "context" => {
7579             "after" => "\\b"
7580             }
7581             },
7582             {
7583             "to" => ";",
7584             "from" => "\x{b7}"
7585             },
7586             {
7587             "to" => "-",
7588             "from" => "\x{203f}"
7589             },
7590             {
7591             "to" => "",
7592             "from" => "\x{384}"
7593             },
7594             {
7595             "to" => "",
7596             "from" => "\x{385}"
7597             },
7598             {
7599             "to" => "",
7600             "from" => "\x{342}"
7601             },
7602             {
7603             "to" => "",
7604             "from" => "\x{343}"
7605             },
7606             {
7607             "to" => "",
7608             "from" => "\x{313}"
7609             },
7610             {
7611             "to" => "",
7612             "from" => "\x{314}"
7613             },
7614             {
7615             "to" => "",
7616             "from" => "\x{345}"
7617             },
7618             {
7619             "to" => "",
7620             "from" => "\x{345}"
7621             }
7622             ],
7623             "reverse" => "false"
7624             },
7625             "gost_7.79_ukr" => {
7626             "desc" => "GOST 7.79:2000, Cyrillic to Latin, Ukrainian",
7627             "name" => "GOST 7.79 UKR",
7628             "id" => "gost_7.79_ukr",
7629             "rules" => [
7630             {
7631             "to" => "c",
7632             "from" => "\x{446}",
7633             "context" => {
7634             "before" => "[iejy\x{438}\x{435}\x{439}\x{44e}\x{44f}\x{454}\x{456}\x{457}]"
7635             }
7636             },
7637             {
7638             "to" => "C",
7639             "from" => "\x{426}",
7640             "context" => {
7641             "before" => "[IEJY\x{418}\x{415}\x{419}\x{42e}\x{42f}\x{404}\x{406}\x{407}]"
7642             }
7643             },
7644             {
7645             "to" => "cz",
7646             "from" => "\x{446}"
7647             },
7648             {
7649             "to" => "CZ",
7650             "from" => "\x{426}",
7651             "context" => {
7652             "after" => "[\\p{IsUpper}\\p{IsSpace}]",
7653             "before" => "[\\p{IsUpper}\\p{IsSpace}]"
7654             }
7655             },
7656             {
7657             "to" => "Cz",
7658             "from" => "\x{426}"
7659             },
7660             {
7661             "to" => "shh",
7662             "from" => "\x{449}"
7663             },
7664             {
7665             "to" => "SHH",
7666             "from" => "\x{429}",
7667             "context" => {
7668             "after" => "[\\p{IsUpper}\\p{IsSpace}]",
7669             "before" => "[\\p{IsUpper}\\p{IsSpace}]"
7670             }
7671             },
7672             {
7673             "to" => "Shh",
7674             "from" => "\x{429}"
7675             },
7676             {
7677             "to" => "g`",
7678             "from" => "\x{491}"
7679             },
7680             {
7681             "to" => "G`",
7682             "from" => "\x{490}"
7683             },
7684             {
7685             "to" => "ye",
7686             "from" => "\x{454}"
7687             },
7688             {
7689             "to" => "YE",
7690             "from" => "\x{404}",
7691             "context" => {
7692             "after" => "[\\p{IsUpper}\\p{IsSpace}]",
7693             "before" => "[\\p{IsUpper}\\p{IsSpace}]"
7694             }
7695             },
7696             {
7697             "to" => "Ye",
7698             "from" => "\x{404}"
7699             },
7700             {
7701             "to" => "zh",
7702             "from" => "\x{436}"
7703             },
7704             {
7705             "to" => "ZH",
7706             "from" => "\x{416}",
7707             "context" => {
7708             "after" => "[\\p{IsUpper}\\p{IsSpace}]",
7709             "before" => "[\\p{IsUpper}\\p{IsSpace}]"
7710             }
7711             },
7712             {
7713             "to" => "Zh",
7714             "from" => "\x{416}"
7715             },
7716             {
7717             "to" => "y`",
7718             "from" => "\x{438}"
7719             },
7720             {
7721             "to" => "Y`",
7722             "from" => "\x{418}"
7723             },
7724             {
7725             "to" => "yi",
7726             "from" => "\x{457}"
7727             },
7728             {
7729             "to" => "YI",
7730             "from" => "\x{407}",
7731             "context" => {
7732             "after" => "[\\p{IsUpper}\\p{IsSpace}]",
7733             "before" => "[\\p{IsUpper}\\p{IsSpace}]"
7734             }
7735             },
7736             {
7737             "to" => "Yi",
7738             "from" => "\x{407}"
7739             },
7740             {
7741             "to" => "ch",
7742             "from" => "\x{447}"
7743             },
7744             {
7745             "to" => "CH",
7746             "from" => "\x{427}",
7747             "context" => {
7748             "after" => "[\\p{IsUpper}\\p{IsSpace}]",
7749             "before" => "[\\p{IsUpper}\\p{IsSpace}]"
7750             }
7751             },
7752             {
7753             "to" => "Ch",
7754             "from" => "\x{427}"
7755             },
7756             {
7757             "to" => "sh",
7758             "from" => "\x{448}"
7759             },
7760             {
7761             "to" => "SH",
7762             "from" => "\x{428}",
7763             "context" => {
7764             "after" => "[\\p{IsUpper}\\p{IsSpace}]",
7765             "before" => "[\\p{IsUpper}\\p{IsSpace}]"
7766             }
7767             },
7768             {
7769             "to" => "Sh",
7770             "from" => "\x{428}"
7771             },
7772             {
7773             "to" => "yu",
7774             "from" => "\x{44e}"
7775             },
7776             {
7777             "to" => "YU",
7778             "from" => "\x{42e}",
7779             "context" => {
7780             "after" => "[\\p{IsUpper}\\p{IsSpace}]",
7781             "before" => "[\\p{IsUpper}\\p{IsSpace}]"
7782             }
7783             },
7784             {
7785             "to" => "Yu",
7786             "from" => "\x{42e}"
7787             },
7788             {
7789             "to" => "ya",
7790             "from" => "\x{44f}"
7791             },
7792             {
7793             "to" => "YA",
7794             "from" => "\x{42f}",
7795             "context" => {
7796             "after" => "[\\p{IsUpper}\\p{IsSpace}]",
7797             "before" => "[\\p{IsUpper}\\p{IsSpace}]"
7798             }
7799             },
7800             {
7801             "to" => "Ya",
7802             "from" => "\x{42f}"
7803             },
7804             {
7805             "to" => "a",
7806             "from" => "\x{430}"
7807             },
7808             {
7809             "to" => "A",
7810             "from" => "\x{410}"
7811             },
7812             {
7813             "to" => "b",
7814             "from" => "\x{431}"
7815             },
7816             {
7817             "to" => "B",
7818             "from" => "\x{411}"
7819             },
7820             {
7821             "to" => "v",
7822             "from" => "\x{432}"
7823             },
7824             {
7825             "to" => "V",
7826             "from" => "\x{412}"
7827             },
7828             {
7829             "to" => "g",
7830             "from" => "\x{433}"
7831             },
7832             {
7833             "to" => "G",
7834             "from" => "\x{413}"
7835             },
7836             {
7837             "to" => "d",
7838             "from" => "\x{434}"
7839             },
7840             {
7841             "to" => "D",
7842             "from" => "\x{414}"
7843             },
7844             {
7845             "to" => "e",
7846             "from" => "\x{435}"
7847             },
7848             {
7849             "to" => "E",
7850             "from" => "\x{415}"
7851             },
7852             {
7853             "to" => "z",
7854             "from" => "\x{437}"
7855             },
7856             {
7857             "to" => "Z",
7858             "from" => "\x{417}"
7859             },
7860             {
7861             "to" => "j",
7862             "from" => "\x{439}"
7863             },
7864             {
7865             "to" => "J",
7866             "from" => "\x{419}"
7867             },
7868             {
7869             "to" => "i",
7870             "from" => "\x{456}"
7871             },
7872             {
7873             "to" => "I",
7874             "from" => "\x{406}"
7875             },
7876             {
7877             "to" => "k",
7878             "from" => "\x{43a}"
7879             },
7880             {
7881             "to" => "K",
7882             "from" => "\x{41a}"
7883             },
7884             {
7885             "to" => "l",
7886             "from" => "\x{43b}"
7887             },
7888             {
7889             "to" => "L",
7890             "from" => "\x{41b}"
7891             },
7892             {
7893             "to" => "m",
7894             "from" => "\x{43c}"
7895             },
7896             {
7897             "to" => "M",
7898             "from" => "\x{41c}"
7899             },
7900             {
7901             "to" => "n",
7902             "from" => "\x{43d}"
7903             },
7904             {
7905             "to" => "N",
7906             "from" => "\x{41d}"
7907             },
7908             {
7909             "to" => "o",
7910             "from" => "\x{43e}"
7911             },
7912             {
7913             "to" => "O",
7914             "from" => "\x{41e}"
7915             },
7916             {
7917             "to" => "p",
7918             "from" => "\x{43f}"
7919             },
7920             {
7921             "to" => "P",
7922             "from" => "\x{41f}"
7923             },
7924             {
7925             "to" => "r",
7926             "from" => "\x{440}"
7927             },
7928             {
7929             "to" => "R",
7930             "from" => "\x{420}"
7931             },
7932             {
7933             "to" => "s",
7934             "from" => "\x{441}"
7935             },
7936             {
7937             "to" => "S",
7938             "from" => "\x{421}"
7939             },
7940             {
7941             "to" => "t",
7942             "from" => "\x{442}"
7943             },
7944             {
7945             "to" => "T",
7946             "from" => "\x{422}"
7947             },
7948             {
7949             "to" => "u",
7950             "from" => "\x{443}"
7951             },
7952             {
7953             "to" => "U",
7954             "from" => "\x{423}"
7955             },
7956             {
7957             "to" => "f",
7958             "from" => "\x{444}"
7959             },
7960             {
7961             "to" => "F",
7962             "from" => "\x{424}"
7963             },
7964             {
7965             "to" => "x",
7966             "from" => "\x{445}"
7967             },
7968             {
7969             "to" => "X",
7970             "from" => "\x{425}"
7971             },
7972             {
7973             "to" => "`",
7974             "from" => "\x{42c}",
7975             "context" => {
7976             "after" => "\\p{IsUpper}"
7977             }
7978             },
7979             {
7980             "to" => "`",
7981             "from" => "\x{44c}"
7982             },
7983             {
7984             "to" => "#",
7985             "from" => "\x{2116}"
7986             }
7987             ],
7988             "reverse" => "true"
7989             }
7990             );
7991              
7992             1;
7993              
7994             # vim: set ft=perl sts=4 sw=4 ts=4 ai et: