206 |
## Character reference mappings |
## Character reference mappings |
207 |
|
|
208 |
my $charref_map = { |
my $charref_map = { |
209 |
|
0x00 => 0xFFFD, # REPLACEMENT CHARACTER |
210 |
0x0D => 0x000A, |
0x0D => 0x000A, |
211 |
0x80 => 0x20AC, |
0x80 => 0x20AC, |
212 |
0x81 => 0xFFFD, |
0x81 => 0x0081, |
213 |
0x82 => 0x201A, |
0x82 => 0x201A, |
214 |
0x83 => 0x0192, |
0x83 => 0x0192, |
215 |
0x84 => 0x201E, |
0x84 => 0x201E, |
221 |
0x8A => 0x0160, |
0x8A => 0x0160, |
222 |
0x8B => 0x2039, |
0x8B => 0x2039, |
223 |
0x8C => 0x0152, |
0x8C => 0x0152, |
224 |
0x8D => 0xFFFD, |
0x8D => 0x008D, |
225 |
0x8E => 0x017D, |
0x8E => 0x017D, |
226 |
0x8F => 0xFFFD, |
0x8F => 0x008F, |
227 |
0x90 => 0xFFFD, |
0x90 => 0x0090, |
228 |
0x91 => 0x2018, |
0x91 => 0x2018, |
229 |
0x92 => 0x2019, |
0x92 => 0x2019, |
230 |
0x93 => 0x201C, |
0x93 => 0x201C, |
237 |
0x9A => 0x0161, |
0x9A => 0x0161, |
238 |
0x9B => 0x203A, |
0x9B => 0x203A, |
239 |
0x9C => 0x0153, |
0x9C => 0x0153, |
240 |
0x9D => 0xFFFD, |
0x9D => 0x009D, |
241 |
0x9E => 0x017E, |
0x9E => 0x017E, |
242 |
0x9F => 0x0178, |
0x9F => 0x0178, |
243 |
}; # $charref_map |
}; # $charref_map |
244 |
$charref_map->{$_} = 0xFFFD |
$charref_map->{$_} = $_ |
245 |
for 0x0000..0x0008, 0x000B, 0x000E..0x001F, 0x007F, |
for 0x0001..0x0008, 0x000B, 0x000E..0x001F, 0x007F, |
246 |
0xD800..0xDFFF, 0xFDD0..0xFDDF, ## ISSUE: 0xFDEF |
0xD800..0xDFFF, 0xFDD0..0xFDEF, |
247 |
0xFFFE, 0xFFFF, 0x1FFFE, 0x1FFFF, 0x2FFFE, 0x2FFFF, 0x3FFFE, 0x3FFFF, |
0xFFFE, 0xFFFF, 0x1FFFE, 0x1FFFF, 0x2FFFE, 0x2FFFF, 0x3FFFE, 0x3FFFF, |
248 |
0x4FFFE, 0x4FFFF, 0x5FFFE, 0x5FFFF, 0x6FFFE, 0x6FFFF, 0x7FFFE, |
0x4FFFE, 0x4FFFF, 0x5FFFE, 0x5FFFF, 0x6FFFE, 0x6FFFF, 0x7FFFE, |
249 |
0x7FFFF, 0x8FFFE, 0x8FFFF, 0x9FFFE, 0x9FFFF, 0xAFFFE, 0xAFFFF, |
0x7FFFF, 0x8FFFE, 0x8FFFF, 0x9FFFE, 0x9FFFF, 0xAFFFE, 0xAFFFF, |