require 5; ## This module is to be use()'d only by Pod::Simple::Transcode package Pod::Simple::TranscodeDumb; use strict; use vars qw($VERSION %Supported); $VERSION = '3.35'; # This module basically pretends it knows how to transcode, except # only for null-transcodings! We use this when Encode isn't # available. %Supported = ( 'ascii' => 1, 'ascii-ctrl' => 1, 'iso-8859-1' => 1, 'cp1252' => 1, 'null' => 1, 'latin1' => 1, 'latin-1' => 1, %Supported, ); sub is_dumb {1} sub is_smart {0} sub all_encodings { return sort keys %Supported; } sub encoding_is_available { return exists $Supported{lc $_[1]}; } sub encmodver { return __PACKAGE__ . " v" .($VERSION || '?'); } sub make_transcoder { my ($e) = $_[1]; die "WHAT ENCODING!?!?" unless $e; # No-op for all but CP1252. return sub {;} if $e !~ /^cp-?1252$/i; # Replace CP1252 nerbles with their ASCII equivalents. return sub { # Copied from Encode::ZapCP1252. my %ascii_for = ( # http://en.wikipedia.org/wiki/Windows-1252 "\x80" => 'e', # EURO SIGN "\x82" => ',', # SINGLE LOW-9 QUOTATION MARK "\x83" => 'f', # LATIN SMALL LETTER F WITH HOOK "\x84" => ',,', # DOUBLE LOW-9 QUOTATION MARK "\x85" => '...', # HORIZONTAL ELLIPSIS "\x86" => '+', # DAGGER "\x87" => '++', # DOUBLE DAGGER "\x88" => '^', # MODIFIER LETTER CIRCUMFLEX ACCENT "\x89" => '%', # PER MILLE SIGN "\x8a" => 'S', # LATIN CAPITAL LETTER S WITH CARON "\x8b" => '<', # SINGLE LEFT-POINTING ANGLE QUOTATION MARK "\x8c" => 'OE', # LATIN CAPITAL LIGATURE OE "\x8e" => 'Z', # LATIN CAPITAL LETTER Z WITH CARON "\x91" => "'", # LEFT SINGLE QUOTATION MARK "\x92" => "'", # RIGHT SINGLE QUOTATION MARK "\x93" => '"', # LEFT DOUBLE QUOTATION MARK "\x94" => '"', # RIGHT DOUBLE QUOTATION MARK "\x95" => '*', # BULLET "\x96" => '-', # EN DASH "\x97" => '--', # EM DASH "\x98" => '~', # SMALL TILDE "\x99" => '(tm)', # TRADE MARK SIGN "\x9a" => 's', # LATIN SMALL LETTER S WITH CARON "\x9b" => '>', # SINGLE RIGHT-POINTING ANGLE QUOTATION MARK "\x9c" => 'oe', # LATIN SMALL LIGATURE OE "\x9e" => 'z', # LATIN SMALL LETTER Z WITH CARON "\x9f" => 'Y', # LATIN CAPITAL LETTER Y WITH DIAERESIS ); s{([\x80-\x9f])}{$ascii_for{$1} || $1}emxsg for @_; }; } 1;
Name | Type | Size | Permission | Actions |
---|---|---|---|---|
BlackBox.pm | File | 70.9 KB | 0644 |
|
Checker.pm | File | 5.21 KB | 0644 |
|
Debug.pm | File | 4.52 KB | 0644 |
|
DumpAsText.pm | File | 3.94 KB | 0644 |
|
DumpAsXML.pm | File | 4.45 KB | 0644 |
|
HTML.pm | File | 33.8 KB | 0644 |
|
HTMLBatch.pm | File | 39.2 KB | 0644 |
|
HTMLLegacy.pm | File | 2.69 KB | 0644 |
|
LinkSection.pm | File | 4.24 KB | 0644 |
|
Methody.pm | File | 3.49 KB | 0644 |
|
Progress.pm | File | 2.36 KB | 0644 |
|
PullParser.pm | File | 25.13 KB | 0644 |
|
PullParserEndToken.pm | File | 2.82 KB | 0644 |
|
PullParserStartToken.pm | File | 4.05 KB | 0644 |
|
PullParserTextToken.pm | File | 3.28 KB | 0644 |
|
PullParserToken.pm | File | 3.91 KB | 0644 |
|
RTF.pm | File | 21.96 KB | 0644 |
|
Search.pm | File | 34.29 KB | 0644 |
|
SimpleTree.pm | File | 4.52 KB | 0644 |
|
Subclassing.pod | File | 32.51 KB | 0644 |
|
Text.pm | File | 4.98 KB | 0644 |
|
TextContent.pm | File | 2.46 KB | 0644 |
|
TiedOutFH.pm | File | 2.69 KB | 0644 |
|
Transcode.pm | File | 736 B | 0644 |
|
TranscodeDumb.pm | File | 2.63 KB | 0644 |
|
TranscodeSmart.pm | File | 715 B | 0644 |
|
XHTML.pm | File | 25.78 KB | 0644 |
|
XMLOutStream.pm | File | 4.56 KB | 0644 |
|