source: git/lib/fixmsgs.pl @ d4d6909

RELEASE/1.2debug-cidebug-ci-sanitisersstereowalls-data
Last change on this file since d4d6909 was ffe7b714, checked in by Olly Betts <olly@…>, 13 years ago

lib/fixmsgs.pl: Update to fix UTF-8 rather than ISO8859-1.

git-svn-id: file:///home/survex-svn/survex/trunk@3581 4b37db11-9a0c-4f06-9ece-9ab7cdaee568

  • Property mode set to 100755
File size: 676 bytes
RevLine 
[a39f74f]1#!/usr/bin/perl -w
[a269915]2require 5.008;
[ffe7b714]3use open ':encoding(utf8)';
[a39f74f]4use strict;
5
6use integer;
7
8my @ent = ();
[ffe7b714]9for (128..65536) {
[a39f74f]10   $ent[$_] = "#$_";
11}
12
13open ENT, "named-entities.txt" or die $!;
14while (<ENT>) {
15   my ($e, $v) = /^(\w+),(\d+)/;
16   $ent[$v] = $e;
17}
18close ENT;
19
20while (<>) {
21   if (/^\s*#/) {
22      print;
23      next;
24   }
25   
26   my ($pre, $msg) = /^([-\w,]+:\s*\d+\s+)(.*)/;
27
[ffe7b714]28   $msg =~ s/([\x{80}-\x{ffff}])/"&".$ent[ord($1)].";"/ge;
[a39f74f]29
30   $msg =~ s/'\%s'/`%s'/g;
[417e9b3]31   $msg =~ s/^([^`']* )\%s'/$1`%s'/;
32   $msg =~ s/^([^`']* `\%s'[^`']* )\%s'/$1`%s'/;
33   $pre =~ s/: (\d\d\d\b)/:$1/;
34   $pre =~ s/:(\d\d\b)/: $1/;
35   $pre =~ s/: ?(\d\b)/:  $1/;
[a39f74f]36
37   print "$pre$msg\n";
38}
Note: See TracBrowser for help on using the repository browser.