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>