develooper Front page | perl.perl6.language | Postings from October 2005

Avoid the Yen Sign [Was: Re: new sigil]

From:
Dan Kogai
Date:
October 23, 2005 06:55
Subject:
Avoid the Yen Sign [Was: Re: new sigil]
Message ID:
C61B1774-3063-4712-B2B9-E0115F2971ED@dan.co.jp
Maeda-san and the list members,

Thank you for raising this issue and sorry for not raising this myself.

On Oct 22, 2005, at 19:42 , Kaoru Maeda wrote:
> If we find a lot of yen sign as zip-operator in the standard library,
> we have a big question: "Give up either Perl6 or Windows.  Which do  
> we abandon?"
> And I suppose the answer would be "We have a lot of substitutes to  
> Perl6:
> Ruby, Perl5, etc."
>
> In Japan, yes is synonym to backslash.  We wish to retain this legacy.
> Zip-operator is far less important than regex-escape, string- 
> escape, and
> take-reference operator.

To make the matter worse, there are not just one "yen sign" in  
Unicode. Take a look at this.

¥ U+00A5 YEN SIGN
¥ U+FFE5 FULLWIDTH YEN SIGN

Tough they look and groks the same to human, computers handle them  
differently.  This happened when Unicode Consortium decided to make  
BMP round-trippable against legacy encodings.  They were distinct in  
JIS standards, so happened Unicode.

Maybe we should avoid other symbols like this for sigils -- those not  
in ASCII that have 'fullwidth' variations.  q($) and q(\) are okay  
(or too late) because they are already in ASCII.  q(¥) should be  
avoided because you can hardly tell the difference from q(¥) in the  
display.

But this will also outlaw the cent sign.  I have attached a list of  
those affected.  As you see, most are with ASCII equivalents but some  
are not.

Dan the Man with Too Many Signs to Deal With

% grep FULLWIDTH /usr/local/lib/perl5/5.8.7/unicore/Name.pl | perl - 
Mencoding=utf8 -aple '$_=chr(hex($F[0]))."\t".$_'
!       FF01            FULLWIDTH EXCLAMATION MARK
"       FF02            FULLWIDTH QUOTATION MARK
#       FF03            FULLWIDTH NUMBER SIGN
$       FF04            FULLWIDTH DOLLAR SIGN
%       FF05            FULLWIDTH PERCENT SIGN
&       FF06            FULLWIDTH AMPERSAND
'       FF07            FULLWIDTH APOSTROPHE
(       FF08            FULLWIDTH LEFT PARENTHESIS
)       FF09            FULLWIDTH RIGHT PARENTHESIS
*       FF0A            FULLWIDTH ASTERISK
+       FF0B            FULLWIDTH PLUS SIGN
,       FF0C            FULLWIDTH COMMA
-       FF0D            FULLWIDTH HYPHEN-MINUS
.       FF0E            FULLWIDTH FULL STOP
/       FF0F            FULLWIDTH SOLIDUS
0       FF10            FULLWIDTH DIGIT ZERO
1       FF11            FULLWIDTH DIGIT ONE
2       FF12            FULLWIDTH DIGIT TWO
3       FF13            FULLWIDTH DIGIT THREE
4       FF14            FULLWIDTH DIGIT FOUR
5       FF15            FULLWIDTH DIGIT FIVE
6       FF16            FULLWIDTH DIGIT SIX
7       FF17            FULLWIDTH DIGIT SEVEN
8       FF18            FULLWIDTH DIGIT EIGHT
9       FF19            FULLWIDTH DIGIT NINE
:       FF1A            FULLWIDTH COLON
;       FF1B            FULLWIDTH SEMICOLON
<       FF1C            FULLWIDTH LESS-THAN SIGN
=       FF1D            FULLWIDTH EQUALS SIGN
>       FF1E            FULLWIDTH GREATER-THAN SIGN
?       FF1F            FULLWIDTH QUESTION MARK
@       FF20            FULLWIDTH COMMERCIAL AT
A       FF21            FULLWIDTH LATIN CAPITAL LETTER A
B       FF22            FULLWIDTH LATIN CAPITAL LETTER B
C       FF23            FULLWIDTH LATIN CAPITAL LETTER C
D       FF24            FULLWIDTH LATIN CAPITAL LETTER D
E       FF25            FULLWIDTH LATIN CAPITAL LETTER E
F       FF26            FULLWIDTH LATIN CAPITAL LETTER F
G       FF27            FULLWIDTH LATIN CAPITAL LETTER G
H       FF28            FULLWIDTH LATIN CAPITAL LETTER H
I       FF29            FULLWIDTH LATIN CAPITAL LETTER I
J       FF2A            FULLWIDTH LATIN CAPITAL LETTER J
K       FF2B            FULLWIDTH LATIN CAPITAL LETTER K
L       FF2C            FULLWIDTH LATIN CAPITAL LETTER L
M       FF2D            FULLWIDTH LATIN CAPITAL LETTER M
N       FF2E            FULLWIDTH LATIN CAPITAL LETTER N
O       FF2F            FULLWIDTH LATIN CAPITAL LETTER O
P       FF30            FULLWIDTH LATIN CAPITAL LETTER P
Q       FF31            FULLWIDTH LATIN CAPITAL LETTER Q
R       FF32            FULLWIDTH LATIN CAPITAL LETTER R
S       FF33            FULLWIDTH LATIN CAPITAL LETTER S
T       FF34            FULLWIDTH LATIN CAPITAL LETTER T
U       FF35            FULLWIDTH LATIN CAPITAL LETTER U
V       FF36            FULLWIDTH LATIN CAPITAL LETTER V
W       FF37            FULLWIDTH LATIN CAPITAL LETTER W
X       FF38            FULLWIDTH LATIN CAPITAL LETTER X
Y       FF39            FULLWIDTH LATIN CAPITAL LETTER Y
Z       FF3A            FULLWIDTH LATIN CAPITAL LETTER Z
[       FF3B            FULLWIDTH LEFT SQUARE BRACKET
\       FF3C            FULLWIDTH REVERSE SOLIDUS
]       FF3D            FULLWIDTH RIGHT SQUARE BRACKET
^       FF3E            FULLWIDTH CIRCUMFLEX ACCENT
_       FF3F            FULLWIDTH LOW LINE
`       FF40            FULLWIDTH GRAVE ACCENT
a       FF41            FULLWIDTH LATIN SMALL LETTER A
b       FF42            FULLWIDTH LATIN SMALL LETTER B
c       FF43            FULLWIDTH LATIN SMALL LETTER C
d       FF44            FULLWIDTH LATIN SMALL LETTER D
e       FF45            FULLWIDTH LATIN SMALL LETTER E
f       FF46            FULLWIDTH LATIN SMALL LETTER F
g       FF47            FULLWIDTH LATIN SMALL LETTER G
h       FF48            FULLWIDTH LATIN SMALL LETTER H
i       FF49            FULLWIDTH LATIN SMALL LETTER I
j       FF4A            FULLWIDTH LATIN SMALL LETTER J
k       FF4B            FULLWIDTH LATIN SMALL LETTER K
l       FF4C            FULLWIDTH LATIN SMALL LETTER L
m       FF4D            FULLWIDTH LATIN SMALL LETTER M
n       FF4E            FULLWIDTH LATIN SMALL LETTER N
o       FF4F            FULLWIDTH LATIN SMALL LETTER O
p       FF50            FULLWIDTH LATIN SMALL LETTER P
q       FF51            FULLWIDTH LATIN SMALL LETTER Q
r       FF52            FULLWIDTH LATIN SMALL LETTER R
s       FF53            FULLWIDTH LATIN SMALL LETTER S
t       FF54            FULLWIDTH LATIN SMALL LETTER T
u       FF55            FULLWIDTH LATIN SMALL LETTER U
v       FF56            FULLWIDTH LATIN SMALL LETTER V
w       FF57            FULLWIDTH LATIN SMALL LETTER W
x       FF58            FULLWIDTH LATIN SMALL LETTER X
y       FF59            FULLWIDTH LATIN SMALL LETTER Y
z       FF5A            FULLWIDTH LATIN SMALL LETTER Z
{       FF5B            FULLWIDTH LEFT CURLY BRACKET
|       FF5C            FULLWIDTH VERTICAL LINE
}       FF5D            FULLWIDTH RIGHT CURLY BRACKET
~       FF5E            FULLWIDTH TILDE
⦅       FF5F            FULLWIDTH LEFT WHITE PARENTHESIS
⦆       FF60            FULLWIDTH RIGHT WHITE PARENTHESIS
¢       FFE0            FULLWIDTH CENT SIGN
£       FFE1            FULLWIDTH POUND SIGN
¬       FFE2            FULLWIDTH NOT SIGN
 ̄       FFE3            FULLWIDTH MACRON
¦       FFE4            FULLWIDTH BROKEN BAR
¥       FFE5            FULLWIDTH YEN SIGN
₩       FFE6            FULLWIDTH WON SIGN




nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About