469,282 Members | 1,895 Online
Bytes | Developer Community
New Post

Home Posts Topics Members FAQ

Post your question to a community of 469,282 developers. It's quick & easy.

Normalize a polish L

In UTF8, \u0141 is a capital L with a little dash through it as can be
seen in this image:
http://static.peterbe.com/lukasz.png

I tried this:
>>import unicodedata
unicodedata.normalize('NFKD', u'\u0141').encode('ascii','ignore')
''

I was hoping it would convert it it 'L' because that's what it
visually looks like. And I've seen it becoming a normal ascii L before
in other programs such as Thunderbird.

I also tried the other forms: 'NFC', 'NFKC', 'NFD', and 'NFKD' but
none of them helped.

What am I doing wrong?

Oct 15 '07 #1
9 3793
* Peter Bengtsson (Mon, 15 Oct 2007 16:33:26 -0000)
In UTF8, \u0141 is a capital L with a little dash through it as can be
seen in this image:
http://static.peterbe.com/lukasz.png
I tried this:
>import unicodedata
unicodedata.normalize('NFKD', u'\u0141').encode('ascii','ignore')
''

I was hoping it would convert it it 'L' because that's what it
visually looks like. And I've seen it becoming a normal ascii L before
in other programs such as Thunderbird.
The 'L' is actually pronounced like the English "w"...
I also tried the other forms: 'NFC', 'NFKC', 'NFD', and 'NFKD' but
none of them helped.
>>unicodedata.decomposition(u'\N{LATIN CAPITAL LETTER C WITH CEDILLA}')
'0043 0327'
>>unicodedata.normalize('NFKD', u'\N{LATIN CAPITAL LETTER C WITH CEDILLA}').encode('ascii','ignore')
'C'
>>unicodedata.decomposition(u'\N{LATIN CAPITAL LETTER L WITH STROKE}')
''
Oct 15 '07 #2
Thorsten Kampe wrote:
The 'L' is actually pronounced like the English "w"...
'?' originally comes from "L" (<http://en.wikipedia.org/wiki/?>) and
is AFAIK transcribed so.

Also, a friend of mine writes himself "Lukas" (pronounced L-) even
though in Polish his name is ?ukas (short Wh-).

Regards,
Bjrn

--
BOFH excuse #126:

it has Intel Inside

Oct 15 '07 #3
Peter Bengtsson <pe*****@gmail.comwrites:
In UTF8, \u0141 is a capital L with a little dash through it as can be
seen in this image:
http://static.peterbe.com/lukasz.png

I tried this:
>>>import unicodedata
unicodedata.normalize('NFKD', u'\u0141').encode('ascii','ignore')
''

I was hoping it would convert it it 'L' because that's what it
visually looks like. And I've seen it becoming a normal ascii L before
in other programs such as Thunderbird.

I also tried the other forms: 'NFC', 'NFKC', 'NFD', and 'NFKD' but
none of them helped.

What am I doing wrong?
I had the same problem and my little research revealed that the problem
is caused by unicode standard itself. I don't know why
but characters with stroke don't have canonical equivalent.
I looked into this file:
http://unicode.org/Public/UNIDATA/UnicodeData.txt

and compared two positions:

1.
<UnicodeData.txt>
0142;LATIN SMALL LETTER L WITH STROKE;Ll;0;L;;;;;N;LATIN SMALL LETTER L SLASH \
;;0141;;0141
0141;LATIN CAPITAL LETTER L WITH STROKE;Lu;0;L;;;;;N;LATIN CAPITAL LETTER L SLASH \
;;;0142;
</UnicodeData.txt>

2.
<UnicodeData.txt>
0105;LATIN SMALL LETTER A WITH OGONEK;Ll;0;L;0061 0328;;;;N;LATIN SMALL LETTER A OGONEK \
;;0104;;0104
</UnicodeData.txt>

In the second position there is in the 6-th field canonical equivalent
but in the 1-st there is nothing. I don't know what justification
is behind that, but probably there is something. ;)
Regards,
Rob
Oct 15 '07 #4
* Bjoern Schliessmann (Mon, 15 Oct 2007 21:51:54 +0200)
Thorsten Kampe wrote:
The 'L' is actually pronounced like the English "w"...

'?' originally comes from "L" (<http://en.wikipedia.org/wiki/?>) and
is AFAIK transcribed so.
There are lots of possible transcriptions for "LATIN CAPITAL LETTER L
WITH STROKE". Transcription is language dependent so the English and
German transcriptions of Polish names are different.
Also, a friend of mine writes himself "Lukas" (pronounced L-) even
though in Polish his name is ?ukas (short Wh-).
Why do you try to use characters in a character set that does not
contain these characters? That doesn't make any sense.
Thorsten
Oct 15 '07 #5
On Oct 16, 2:33 am, Peter Bengtsson <pete...@gmail.comwrote:
In UTF8, \u0141 is a capital L with a little dash through it as can be
seen in this image:http://static.peterbe.com/lukasz.png

I tried this:>>import unicodedata
>unicodedata.normalize('NFKD', u'\u0141').encode('ascii','ignore')

''

I was hoping it would convert it it 'L' because that's what it
visually looks like. And I've seen it becoming a normal ascii L before
in other programs such as Thunderbird.

I also tried the other forms: 'NFC', 'NFKC', 'NFD', and 'NFKD' but
none of them helped.

What am I doing wrong?
The character in question is NOT composed (in the way that Unicode
means) of an 'L' and a little slash; hence the concepts of
"normalization" and "decomposition" don't apply.

To "asciify" such text, you need to build a look-up table that suits
your purpose. unicodedata.decomposition() is (accidentally) useful in
providing *some* of the entries for such a table.
Oct 15 '07 #6
Thorsten Kampe wrote:
Why do you try to use characters in a character set that does not
contain these characters? That doesn't make any sense.
I thought KNode was smart enough to switch to UTF-8; obviously, it
isn't.

Regards,
Bjrn

--
BOFH excuse #121:

halon system went off and killed the operators.

Oct 15 '07 #7
Thorsten Kampe wrote:
The 'L' is actually pronounced like the English "w"...
'?' originally comes from "L" (<http://en.wikipedia.org/wiki/?>) and
is AFAIK transcribed so.

Also, a friend of mine writes himself "Lukas" (pronounced L-) even
though in Polish his name is Łukas (short Wh-).

Regards,
Björn

--
BOFH excuse #126:

it has Intel Inside

Oct 15 '07 #8
On Oct 15, 10:57 pm, John Machin <sjmac...@lexicon.netwrote:
On Oct 16, 2:33 am, Peter Bengtsson <pete...@gmail.comwrote:
In UTF8, \u0141 is a capital L with a little dash through it as can be
seen in this image:http://static.peterbe.com/lukasz.png
I tried this:>>import unicodedata
>>unicodedata.normalize('NFKD', u'\u0141').encode('ascii','ignore')
''
I was hoping it would convert it it 'L' because that's what it
visually looks like. And I've seen it becoming a normal ascii L before
in other programs such as Thunderbird.
I also tried the other forms: 'NFC', 'NFKC', 'NFD', and 'NFKD' but
none of them helped.
What am I doing wrong?

The character in question is NOT composed (in the way that Unicode
means) of an 'L' and a little slash; hence the concepts of
"normalization" and "decomposition" don't apply.

To "asciify" such text, you need to build a look-up table that suits
your purpose. unicodedata.decomposition() is (accidentally) useful in
providing *some* of the entries for such a table.
Thank you! That explains it.

Oct 16 '07 #9
On Oct 22, 7:50 pm, Mike Orr <sluggos...@gmail.comwrote:
Well, that gets into official vs unofficial conversions. Does the
Spanish Academy really say '' should be converted to 'u'?
No, but it's the only conversion that makes sense. The only Spanish
letter that doesn't have a standard common conversion by convention
is '', which is usually ASCIIfied as n, nn, gn, nh, ni, ny, ~n, n~,
or N, with all of them being frequently seen on the Internet.
But whether that should be hardcoded
into a blog URL library is different matter, and if it is there should
probably be plugin tables for different preferred standards.
Actually there is a hardcoded conversion, that is dropping all
accented letters altogether, which is IMHO the worst possible
convention. I have a gallery of pictures of Valparaso and Via del
Mar whose URL is .../ValparaSoViADelMar. And if I wrote a blog entry
about pinginos and andes, it would appear probably as .../ping-inos-
and-and-es. Ugly and off-topic :)

--
Roberto Bonvallet

Oct 23 '07 #10

This discussion thread is closed

Replies have been disabled for this discussion.

Similar topics

3 posts views Thread by Christos TZOTZIOY Georgiou | last post: by
2 posts views Thread by Marcin Floryan | last post: by
2 posts views Thread by AmigoFd | last post: by
4 posts views Thread by kollatjorva | last post: by
5 posts views Thread by =?iso-8859-1?B?TWF0dGlhcyBCcuRuZHN0cvZt?= | last post: by
4 posts views Thread by robert.szczepanski | last post: by
8 posts views Thread by Werner Partner | last post: by
1 post views Thread by CARIGAR | last post: by
reply views Thread by zhoujie | last post: by
reply views Thread by suresh191 | last post: by
By using this site, you agree to our Privacy Policy and Terms of Use.