186 |
is_html_ascii_superset => 1, |
is_html_ascii_superset => 1, |
187 |
## NOTE: 3/0..3/9 have different semantics from U+0030..0039, |
## NOTE: 3/0..3/9 have different semantics from U+0030..0039, |
188 |
## but have same character names (maybe). |
## but have same character names (maybe). |
189 |
|
## NOTE: According to RFC 2046, charset left-hand half of "iso-8859-6" |
190 |
|
## is same as "us-ascii". |
191 |
}; |
}; |
192 |
|
|
193 |
$Charset->{'iso-8859-7'} |
$Charset->{'iso-8859-7'} |
324 |
mime_text_suitable => 1, |
mime_text_suitable => 1, |
325 |
}; |
}; |
326 |
|
|
327 |
|
$Charset->{'x-sjis'} |
328 |
|
= $IANACharset->{'x-sjis'} |
329 |
|
= { |
330 |
|
iana_names => { |
331 |
|
'x-sjis' => UNREGISTERED_CHARSET_NAME, |
332 |
|
}, |
333 |
|
mime_text_suitable => 1, |
334 |
|
}; |
335 |
|
|
336 |
$Charset->{'euc-jp'} |
$Charset->{'euc-jp'} |
337 |
= $IANACharset->{'extended_unix_code_packed_format_for_japanese'} |
= $IANACharset->{'extended_unix_code_packed_format_for_japanese'} |
338 |
= $IANACharset->{'cseucpkdfmtjapanese'} |
= $IANACharset->{'cseucpkdfmtjapanese'} |
339 |
= $IANACharset->{'euc-jp'} |
= $IANACharset->{'euc-jp'} |
340 |
|
= $IANACharset->{'x-euc-jp'} |
341 |
= { |
= { |
342 |
iana_names => { |
iana_names => { |
343 |
'extended_unix_code_packed_format_for_japanese' => PRIMARY_CHARSET_NAME, |
'extended_unix_code_packed_format_for_japanese' => PRIMARY_CHARSET_NAME, |
345 |
'euc-jp' => PREFERRED_CHARSET_NAME, |
'euc-jp' => PREFERRED_CHARSET_NAME, |
346 |
}, |
}, |
347 |
is_html_ascii_superset => 1, |
is_html_ascii_superset => 1, |
348 |
|
mime_text_suitable => 1, |
349 |
|
}; |
350 |
|
|
351 |
|
$Charset->{'x-euc-jp'} |
352 |
|
= $IANACharset->{'x-euc-jp'} |
353 |
|
= { |
354 |
|
iana_names => { |
355 |
|
'x-euc-jp' => UNREGISTERED_CHARSET_NAME, |
356 |
|
}, |
357 |
|
is_html_ascii_superset => 1, |
358 |
|
mime_text_suitable => 1, |
359 |
}; |
}; |
360 |
|
|
361 |
$Charset->{'extended_unix_code_fixed_width_for_japanese'} |
$Charset->{'extended_unix_code_fixed_width_for_japanese'} |
384 |
$Charset->{'iso-2022-jp'} |
$Charset->{'iso-2022-jp'} |
385 |
= $IANACharset->{'iso-2022-jp'} |
= $IANACharset->{'iso-2022-jp'} |
386 |
= $IANACharset->{'csiso2022jp'} |
= $IANACharset->{'csiso2022jp'} |
387 |
|
= $IANACharset->{'iso2022jp'} |
388 |
|
= $IANACharset->{'junet-code'} |
389 |
= { |
= { |
390 |
iana_names => { |
iana_names => { |
391 |
'iso-2022-jp' => PREFERRED_CHARSET_NAME | PRIMARY_CHARSET_NAME, |
'iso-2022-jp' => PREFERRED_CHARSET_NAME | PRIMARY_CHARSET_NAME, |
392 |
'csiso2022jp' => REGISTERED_CHARSET_NAME, |
'csiso2022jp' => REGISTERED_CHARSET_NAME, |
393 |
|
'iso2022jp' => UNREGISTERED_CHARSET_NAME, |
394 |
|
'junet-code' => UNREGISTERED_CHARSET_NAME, |
395 |
}, |
}, |
396 |
mime_text_suitable => 1, |
mime_text_suitable => 1, |
397 |
}; |
}; |
411 |
|
|
412 |
$Charset->{'utf-8'} |
$Charset->{'utf-8'} |
413 |
= $IANACharset->{'utf-8'} |
= $IANACharset->{'utf-8'} |
414 |
|
= $IANACharset->{'x-utf-8'} |
415 |
= { |
= { |
416 |
iana_names => { |
iana_names => { |
417 |
'utf-8' => PRIMARY_CHARSET_NAME, |
'utf-8' => PRIMARY_CHARSET_NAME, |
418 |
|
'x-utf-8' => UNREGISTERED_CHARSET_NAME, |
419 |
}, |
}, |
420 |
is_html_ascii_superset => 1, |
is_html_ascii_superset => 1, |
421 |
|
mime_text_suitable => 1, |
422 |
|
}; |
423 |
|
|
424 |
|
$Charset->{'utf-8n'} |
425 |
|
= $IANACharset->{'utf-8n'} |
426 |
|
= { |
427 |
|
iana_names => { |
428 |
|
'utf-8n' => UNREGISTERED_CHARSET_NAME, |
429 |
|
}, |
430 |
|
is_html_ascii_superset => 1, |
431 |
|
mime_text_suitable => 1, |
432 |
}; |
}; |
433 |
|
|
434 |
## TODO: ... |
## TODO: ... |
546 |
|
|
547 |
## TODO: ... |
## TODO: ... |
548 |
|
|
549 |
sub is_syntactically_iana_charset_name ($) { |
sub is_syntactically_valid_iana_charset_name ($) { |
550 |
my $name = shift; |
my $name = shift; |
551 |
return $name =~ /\A[\x20-\x7E]{1,40}\z/; |
return $name =~ /\A[\x20-\x7E]{1,40}\z/; |
552 |
} # is_suntactically_valid_iana_charset_name |
} # is_suntactically_valid_iana_charset_name |