blob: f7f22051bdd93d78db55ef74201e5ee59fbbb0cf (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
|
#!/usr/bin/perl
use strict;
use warnings;
STDOUT->autoflush(1);
sub iswide
{
my ( $cp ) = @_;
return chr($cp) =~ m/\p{East_Asian_Width=Wide}|\p{East_Asian_Width=Fullwidth}/;
}
my ( $start, $end );
foreach my $cp ( 0 .. 0x1FFFF ) {
iswide($cp) or next;
if( defined $end and $end == $cp-1 ) {
# extend the range
$end = $cp;
next;
}
# start a new range
printf " { %#04x, %#04x },\n", $start, $end if defined $start;
$start = $end = $cp;
}
printf " { %#04x, %#04x },\n", $start, $end if defined $start;
|