Annotation of embedaddon/nginx/contrib/unicode2nginx/unicode-to-nginx.pl, revision 1.1

1.1     ! misho       1: #!/usr/bin/perl -w
        !             2: 
        !             3: # Convert unicode mappings to nginx configuration file format.
        !             4: 
        !             5: # You may find useful mappings in various places, including
        !             6: # unicode.org official site:
        !             7: #
        !             8: # http://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WINDOWS/CP1251.TXT
        !             9: # http://www.unicode.org/Public/MAPPINGS/VENDORS/MISC/KOI8-R.TXT
        !            10: 
        !            11: # Needs perl 5.6 or later.
        !            12: 
        !            13: # Written by Maxim Dounin, mdounin@rambler-co.ru
        !            14: 
        !            15: ###############################################################################
        !            16: 
        !            17: require 5.006;
        !            18: 
        !            19: while (<>) {
        !            20:        # Skip comments and empty lines
        !            21: 
        !            22:        next if /^#/;
        !            23:        next if /^\s*$/;
        !            24:        chomp;
        !            25: 
        !            26:        # Convert mappings
        !            27: 
        !            28:        if (/^\s*0x(..)\s*0x(....)\s*(#.*)/) {
        !            29:                # Mapping <from-code> <unicode-code> "#" <unicode-name>
        !            30:                my $cs_code = $1;
        !            31:                my $un_code = $2;
        !            32:                my $un_name = $3;
        !            33: 
        !            34:                # Produce UTF-8 sequence from character code;
        !            35: 
        !            36:                my $un_utf8 = join('', map { sprintf("%02X", $_) } unpack("C*", pack("U", hex($un_code))));
        !            37: 
        !            38:                print "    $cs_code  $un_utf8 ; $un_name\n";
        !            39: 
        !            40:        } else {
        !            41:                warn "Unrecognized line: '$_'";
        !            42:        }
        !            43: }
        !            44: 
        !            45: ###############################################################################

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>