RE: Stripping out Unicode combining characters (diacritics)

[email protected] ("Doran, Michael D") Mon, 5 May 2008 21:12:42 -0500
Newsgroups perl.perl4lib,perl.i18n
Message-ID <[email protected]>
------_=_NextPart_001_01C8AF1E.AA98146E
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

Hi Mike,

I appreciate the quick reply.  I am familiar with the Unicode::Normalize =
module (and will also be using that), but I left it out of this question =
because it's not relevant to the problem I'm currently trying to solve.  =
The text I'm trying to strip diacritics out of does not have precomposed =
accented characters.

-- Michael

# Michael Doran, Systems Librarian
# University of Texas at Arlington
# 817-272-5326 office
# 817-688-1926 cell
# [email protected]
# http://rocky.uta.edu/doran/



-----Original Message-----
From: Mike Rylander [mailto:[email protected]]
Sent: Mon 5/5/2008 8:52 PM
To: Doran, Michael D
Cc: [email protected]; Perl4lib
Subject: Re: Stripping out Unicode combining characters (diacritics)
=20
On Mon, May 5, 2008 at 8:26 PM, Doran, Michael D <[email protected]> wrote:
[snip]
>
>  I'm pulling my hair out on this... so any help would be appreciated.  =
If there's any other info I can provide, let me know.
>

You'll want to transform the text to NFD format (nominally, base
characters plus combining marks) instead of NFC (precombined
characters) using Unicode::Normalize:

 use Unicode::Normalize;

 my $text =3D NFD($original);
 $text =3D~ s/\pM+//go;

Hope that helps.

--=20
Mike Rylander
 | VP, Research and Design
 | Equinox Software, Inc. / The Evergreen Experts
 | phone: 1-877-OPEN-ILS (673-6457)
 | email: [email protected]
 | web: http://www.esilibrary.com


------_=_NextPart_001_01C8AF1E.AA98146E--