Pod::Parser::Groffmom::Entities - Internal entity conversions


Pod-Parser-Groffmom documentation Contained in the Pod-Parser-Groffmom distribution.

Index


Code Index:

NAME

Top

Pod::Parser::Groffmom::Entities - Internal entity conversions

VERSION

Top

Version 0.042

DESCRIPTION

Top

Most characters can be typed direclty into the POD documents you wish to translate, but if you cannot type them, or if processing a document which already has them, the following is our conversion list for named entities entered into POD as E<entity_name>.

List gleefully stolen from HTML::Entities.

Entities and their names

Top

The following list shows the allowed entity conversions for &; entities. The list is not formatted terribly well since POD is rather limited here. Plus, CPAN has trouble with some of the formats I attempted.

The format is <entity => POD escape>.

&38; => E<amp>

&62; => E<gt>

&60; => E<lt>

&34; => E<quot>

&39; => E<apos>

&198; => E<AElig>

&193; => E<Aacute>

&194; => E<Acirc>

&192; => E<Agrave>

&197; => E<Aring>

&195; => E<Atilde>

&196; => E<Auml>

&199; => E<Ccedil>

&208; => E<ETH>

&201; => E<Eacute>

&202; => E<Ecirc>

&200; => E<Egrave>

&203; => E<Euml>

&205; => E<Iacute>

&206; => E<Icirc>

&204; => E<Igrave>

&207; => E<Iuml>

&209; => E<Ntilde>

&211; => E<Oacute>

&212; => E<Ocirc>

&210; => E<Ograve>

&216; => E<Oslash>

&213; => E<Otilde>

&214; => E<Ouml>

&222; => E<THORN>

&218; => E<Uacute>

&219; => E<Ucirc>

&217; => E<Ugrave>

&220; => E<Uuml>

&221; => E<Yacute>

&225; => E<aacute>

&226; => E<acirc>

&230; => E<aelig>

&224; => E<agrave>

&229; => E<aring>

&227; => E<atilde>

&228; => E<auml>

&231; => E<ccedil>

&233; => E<eacute>

&234; => E<ecirc>

&232; => E<egrave>

&240; => E<eth>

&235; => E<euml>

&237; => E<iacute>

&238; => E<icirc>

&236; => E<igrave>

&239; => E<iuml>

&241; => E<ntilde>

&243; => E<oacute>

&244; => E<ocirc>

&242; => E<ograve>

&248; => E<oslash>

&245; => E<otilde>

&246; => E<ouml>

&223; => E<szlig>

&254; => E<thorn>

&250; => E<uacute>

&251; => E<ucirc>

&249; => E<ugrave>

&252; => E<uuml>

&253; => E<yacute>

&255; => E<yuml>

&169; => E<copy>

&174; => E<reg>

&160; => E<nbsp>

&161; => E<iexcl>

&162; => E<cent>

&163; => E<pound>

&164; => E<curren>

&165; => E<yen>

&166; => E<brvbar>

&167; => E<sect>

&168; => E<uml>

&170; => E<ordf>

&171; => E<laquo>

&172; => E<not>

&173; => E<shy>

&175; => E<macr>

&176; => E<deg>

&177; => E<plusmn>

&185; => E<sup1>

&178; => E<sup2>

&179; => E<sup3>

&180; => E<acute>

&181; => E<micro>

&182; => E<para>

&183; => E<middot>

&184; => E<cedil>

&186; => E<ordm>

&187; => E<raquo>

&188; => E<frac14>

&189; => E<frac12>

&190; => E<frac34>

&191; => E<iquest>

&215; => E<times>

&247; => E<divide>

&338; => E<OElig>

&339; => E<oelig>

&352; => E<Scaron>

&353; => E<scaron>

&376; => E<Yuml>

&402; => E<fnof>

&710; => E<circ>

&732; => E<tilde>

&913; => E<Alpha>

&914; => E<Beta>

&915; => E<Gamma>

&916; => E<Delta>

&917; => E<Epsilon>

&918; => E<Zeta>

&919; => E<Eta>

&920; => E<Theta>

&921; => E<Iota>

&922; => E<Kappa>

&923; => E<Lambda>

&924; => E<Mu>

&925; => E<Nu>

&926; => E<Xi>

&927; => E<Omicron>

&928; => E<Pi>

&929; => E<Rho>

&931; => E<Sigma>

&932; => E<Tau>

&933; => E<Upsilon>

&934; => E<Phi>

&935; => E<Chi>

&936; => E<Psi>

&937; => E<Omega>

&945; => E<alpha>

&946; => E<beta>

&947; => E<gamma>

&948; => E<delta>

&949; => E<epsilon>

&950; => E<zeta>

&951; => E<eta>

&952; => E<theta>

&953; => E<iota>

&954; => E<kappa>

&955; => E<lambda>

&956; => E<mu>

&957; => E<nu>

&958; => E<xi>

&959; => E<omicron>

&960; => E<pi>

&961; => E<rho>

&962; => E<sigmaf>

&963; => E<sigma>

&964; => E<tau>

&965; => E<upsilon>

&966; => E<phi>

&967; => E<chi>

&968; => E<psi>

&969; => E<omega>

&977; => E<thetasym>

&978; => E<upsih>

&982; => E<piv>

&8194; => E<ensp>

&8195; => E<emsp>

&8201; => E<thinsp>

&8204; => E<zwnj>

&8205; => E<zwj>

&8206; => E<lrm>

&8207; => E<rlm>

&8211; => E<ndash>

&8212; => E<mdash>

&8216; => E<lsquo>

&8217; => E<rsquo>

&8218; => E<sbquo>

&8220; => E<ldquo>

&8221; => E<rdquo>

&8222; => E<bdquo>

&8224; => E<dagger>

&8225; => E<Dagger>

&8226; => E<bull>

&8230; => E<hellip>

&8240; => E<permil>

&8242; => E<prime>

&8243; => E<Prime>

&8249; => E<lsaquo>

&8250; => E<rsaquo>

&8254; => E<oline>

&8260; => E<frasl>

&8364; => E<euro>

&8465; => E<image>

&8472; => E<weierp>

&8476; => E<real>

&8482; => E<trade>

&8501; => E<alefsym>

&8592; => E<larr>

&8593; => E<uarr>

&8594; => E<rarr>

&8595; => E<darr>

&8596; => E<harr>

&8629; => E<crarr>

&8656; => E<lArr>

&8657; => E<uArr>

&8658; => E<rArr>

&8659; => E<dArr>

&8660; => E<hArr>

&8704; => E<forall>

&8706; => E<part>

&8707; => E<exist>

&8709; => E<empty>

&8711; => E<nabla>

&8712; => E<isin>

&8713; => E<notin>

&8715; => E<ni>

&8719; => E<prod>

&8721; => E<sum>

&8722; => E<minus>

&8727; => E<lowast>

&8730; => E<radic>

&8733; => E<prop>

&8734; => E<infin>

&8736; => E<ang>

&8743; => E<and>

&8744; => E<or>

&8745; => E<cap>

&8746; => E<cup>

&8747; => E<int>

&8756; => E<there4>

&8764; => E<sim>

&8773; => E<cong>

&8776; => E<asymp>

&8800; => E<ne>

&8801; => E<equiv>

&8804; => E<le>

&8805; => E<ge>

&8834; => E<sub>

&8835; => E<sup>

&8836; => E<nsub>

&8838; => E<sube>

&8839; => E<supe>

&8853; => E<oplus>

&8855; => E<otimes>

&8869; => E<perp>

&8901; => E<sdot>

&8968; => E<lceil>

&8969; => E<rceil>

&8970; => E<lfloor>

&8971; => E<rfloor>

&9001; => E<lang>

&9002; => E<rang>

&9674; => E<loz>

&9824; => E<spades>

&9827; => E<clubs>

&9829; => E<hearts>

&9830; => E<diams>


Pod-Parser-Groffmom documentation Contained in the Pod-Parser-Groffmom distribution.

package Pod::Parser::Groffmom::Entities;

use strict;
use warnings;

our $VERSION = '0.042';
$VERSION = eval $VERSION;

use base 'Exporter';
our @EXPORT_OK = 'entity_to_num';
my %entity2char = (
    amp  => 38,    # ampersand
    gt   => 62,    # greater than
    lt   => 60,    # less than
    quot => 34,    # double quote
    apos => 39,    # single quote

    # PUBLIC ISO 8879-1986//ENTITIES Added Latin 1//EN//HTML
    AElig  => 198,    # capital AE diphthong (ligature)
    Aacute => 193,    # capital A, acute accent
    Acirc  => 194,    # capital A, circumflex accent
    Agrave => 192,    # capital A, grave accent
    Aring  => 197,    # capital A, ring
    Atilde => 195,    # capital A, tilde
    Auml   => 196,    # capital A, dieresis or umlaut mark
    Ccedil => 199,    # capital C, cedilla
    ETH    => 208,    # capital Eth, Icelandic
    Eacute => 201,    # capital E, acute accent
    Ecirc  => 202,    # capital E, circumflex accent
    Egrave => 200,    # capital E, grave accent
    Euml   => 203,    # capital E, dieresis or umlaut mark
    Iacute => 205,    # capital I, acute accent
    Icirc  => 206,    # capital I, circumflex accent
    Igrave => 204,    # capital I, grave accent
    Iuml   => 207,    # capital I, dieresis or umlaut mark
    Ntilde => 209,    # capital N, tilde
    Oacute => 211,    # capital O, acute accent
    Ocirc  => 212,    # capital O, circumflex accent
    Ograve => 210,    # capital O, grave accent
    Oslash => 216,    # capital O, slash
    Otilde => 213,    # capital O, tilde
    Ouml   => 214,    # capital O, dieresis or umlaut mark
    THORN  => 222,    # capital THORN, Icelandic
    Uacute => 218,    # capital U, acute accent
    Ucirc  => 219,    # capital U, circumflex accent
    Ugrave => 217,    # capital U, grave accent
    Uuml   => 220,    # capital U, dieresis or umlaut mark
    Yacute => 221,    # capital Y, acute accent
    aacute => 225,    # small a, acute accent
    acirc  => 226,    # small a, circumflex accent
    aelig  => 230,    # small ae diphthong (ligature)
    agrave => 224,    # small a, grave accent
    aring  => 229,    # small a, ring
    atilde => 227,    # small a, tilde
    auml   => 228,    # small a, dieresis or umlaut mark
    ccedil => 231,    # small c, cedilla
    eacute => 233,    # small e, acute accent
    ecirc  => 234,    # small e, circumflex accent
    egrave => 232,    # small e, grave accent
    eth    => 240,    # small eth, Icelandic
    euml   => 235,    # small e, dieresis or umlaut mark
    iacute => 237,    # small i, acute accent
    icirc  => 238,    # small i, circumflex accent
    igrave => 236,    # small i, grave accent
    iuml   => 239,    # small i, dieresis or umlaut mark
    ntilde => 241,    # small n, tilde
    oacute => 243,    # small o, acute accent
    ocirc  => 244,    # small o, circumflex accent
    ograve => 242,    # small o, grave accent
    oslash => 248,    # small o, slash
    otilde => 245,    # small o, tilde
    ouml   => 246,    # small o, dieresis or umlaut mark
    szlig  => 223,    # small sharp s, German (sz ligature)
    thorn  => 254,    # small thorn, Icelandic
    uacute => 250,    # small u, acute accent
    ucirc  => 251,    # small u, circumflex accent
    ugrave => 249,    # small u, grave accent
    uuml   => 252,    # small u, dieresis or umlaut mark
    yacute => 253,    # small y, acute accent
    yuml   => 255,    # small y, dieresis or umlaut mark

   # Some extra Latin 1 chars that are listed in the HTML3.2 draft (21-May-96)
    copy => 169,      # copyright sign
    reg  => 174,      # registered sign
    nbsp => 160,      # non breaking space

    # Additional ISO-8859/1 entities listed in rfc1866 (section 14)
    iexcl    => 161,
    cent     => 162,
    pound    => 163,
    curren   => 164,
    yen      => 165,
    brvbar   => 166,
    sect     => 167,
    uml      => 168,
    ordf     => 170,
    laquo    => 171,
    not      => 172,    # not is a keyword in perl
    shy      => 173,
    macr     => 175,
    deg      => 176,
    plusmn   => 177,
    sup1     => 185,
    sup2     => 178,
    sup3     => 179,
    acute    => 180,
    micro    => 181,
    para     => 182,
    middot   => 183,
    cedil    => 184,
    ordm     => 186,
    raquo    => 187,
    frac14   => 188,
    frac12   => 189,
    frac34   => 190,
    iquest   => 191,
    times    => 215,    # times is a keyword in perl
    divide   => 247,
    OElig    => 338,
    oelig    => 339,
    Scaron   => 352,
    scaron   => 353,
    Yuml     => 376,
    fnof     => 402,
    circ     => 710,
    tilde    => 732,
    Alpha    => 913,
    Beta     => 914,
    Gamma    => 915,
    Delta    => 916,
    Epsilon  => 917,
    Zeta     => 918,
    Eta      => 919,
    Theta    => 920,
    Iota     => 921,
    Kappa    => 922,
    Lambda   => 923,
    Mu       => 924,
    Nu       => 925,
    Xi       => 926,
    Omicron  => 927,
    Pi       => 928,
    Rho      => 929,
    Sigma    => 931,
    Tau      => 932,
    Upsilon  => 933,
    Phi      => 934,
    Chi      => 935,
    Psi      => 936,
    Omega    => 937,
    alpha    => 945,
    beta     => 946,
    gamma    => 947,
    delta    => 948,
    epsilon  => 949,
    zeta     => 950,
    eta      => 951,
    theta    => 952,
    iota     => 953,
    kappa    => 954,
    lambda   => 955,
    mu       => 956,
    nu       => 957,
    xi       => 958,
    omicron  => 959,
    pi       => 960,
    rho      => 961,
    sigmaf   => 962,
    sigma    => 963,
    tau      => 964,
    upsilon  => 965,
    phi      => 966,
    chi      => 967,
    psi      => 968,
    omega    => 969,
    thetasym => 977,
    upsih    => 978,
    piv      => 982,
    ensp     => 8194,
    emsp     => 8195,
    thinsp   => 8201,
    zwnj     => 8204,
    zwj      => 8205,
    lrm      => 8206,
    rlm      => 8207,
    ndash    => 8211,
    mdash    => 8212,
    lsquo    => 8216,
    rsquo    => 8217,
    sbquo    => 8218,
    ldquo    => 8220,
    rdquo    => 8221,
    bdquo    => 8222,
    dagger   => 8224,
    Dagger   => 8225,
    bull     => 8226,
    hellip   => 8230,
    permil   => 8240,
    prime    => 8242,
    Prime    => 8243,
    lsaquo   => 8249,
    rsaquo   => 8250,
    oline    => 8254,
    frasl    => 8260,
    euro     => 8364,
    image    => 8465,
    weierp   => 8472,
    real     => 8476,
    trade    => 8482,
    alefsym  => 8501,
    larr     => 8592,
    uarr     => 8593,
    rarr     => 8594,
    darr     => 8595,
    harr     => 8596,
    crarr    => 8629,
    lArr     => 8656,
    uArr     => 8657,
    rArr     => 8658,
    dArr     => 8659,
    hArr     => 8660,
    forall   => 8704,
    part     => 8706,
    exist    => 8707,
    empty    => 8709,
    nabla    => 8711,
    isin     => 8712,
    notin    => 8713,
    ni       => 8715,
    prod     => 8719,
    sum      => 8721,
    minus    => 8722,
    lowast   => 8727,
    radic    => 8730,
    prop     => 8733,
    infin    => 8734,
    ang      => 8736,
    and      => 8743,
    or       => 8744,
    cap      => 8745,
    cup      => 8746,
    int      => 8747,
    there4   => 8756,
    sim      => 8764,
    cong     => 8773,
    asymp    => 8776,
    ne       => 8800,
    equiv    => 8801,
    le       => 8804,
    ge       => 8805,
    sub      => 8834,
    sup      => 8835,
    nsub     => 8836,
    sube     => 8838,
    supe     => 8839,
    oplus    => 8853,
    otimes   => 8855,
    perp     => 8869,
    sdot     => 8901,
    lceil    => 8968,
    rceil    => 8969,
    lfloor   => 8970,
    rfloor   => 8971,
    lang     => 9001,
    rang     => 9002,
    loz      => 9674,
    spades   => 9824,
    clubs    => 9827,
    hearts   => 9829,
    diams    => 9830,
);

sub entity_to_num {
    my $entity = shift;
    return $entity if $entity =~ /^\d+$/;
    return $entity2char{$entity} || '';
}

1;

__END__