Bundle-PBib

 view release on metacpan or  search on metacpan

lib/Biblio/bp/lib/bp-cs-utf8.pl  view on Meta::CPAN

#
# bibliography package for Perl
#
# UTF8 character set.
#
# Peter Tandler <pbib@tandlers.de>
# Dec 1 2004
#
# adapted from bp_cs_88591

package bp_cs_utf8;
use 5.008; # for Unicode / utf-8 support

######

$bib'charsets{'utf8', 'i_name'} = 'utf8';

$bib'charsets{'utf8', 'tocanon'}  = "bp_cs_utf8'tocanon";
$bib'charsets{'utf8', 'fromcanon'} = "bp_cs_utf8'fromcanon";

$bib'charsets{'utf8', 'toesc'}   = "[\000]";  # we'd prefer to never call it
$bib'charsets{'utf8', 'fromesc'} = "${bib'cs_ext}|${bib'cs_meta}";
######

#####################


sub tocanon {
  $_[0];
}

######

sub fromcanon {
  local($_, $protect) = @_;
  local($repl, $unicode, $can);

  return $_ unless /$bib'cs_escape/o;

  1 while s/${bib'cs_ext}(....)/\X{$1}/g;

  while (/${bib'cs_meta}(....)/) {
    $repl = $1;
    $can = &bib'meta_approx($repl);
    defined $can  &&  s/$bib'cs_meta$repl/$can/g  &&  next;
    &bib'gotwarn("Can't convert ".&bib'meta_name($repl)." to UTF8");
    s/${bib'cs_meta}$repl//g;
  }

  $_;
}

#######################
# end of package
#######################

1;



( run in 0.894 second using v1.01-cache-2.11-cpan-f56aa216473 )