/[suikacvs]/messaging/manakai/lib/Message/Charset/Info.pm
Suika

Contents of /messaging/manakai/lib/Message/Charset/Info.pm

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.3 - (hide annotations) (download)
Sat Dec 22 06:29:32 2007 UTC (16 years, 11 months ago) by wakaba
Branch: MAIN
Changes since 1.2: +43 -3 lines
++ manakai/lib/Message/DOM/ChangeLog	22 Dec 2007 06:29:10 -0000
2007-12-22  Wakaba  <wakaba@suika.fam.cx>

	* CSSStyleSheet.pm, CSSRule.pm, CSSRuleList.pm, CSSStyleDeclaration.pm:
	First version of CSSOM implementation.

++ manakai/lib/Message/Charset/ChangeLog	23 Nov 2007 04:23:29 -0000
2007-11-23  Wakaba  <wakaba@suika.fam.cx>

	* Info.pm (is_syntactically_valid_iana_charset_name): Function
	name was misspelled.

1 wakaba 1.1 package Message::Charset::Info;
2     use strict;
3 wakaba 1.3 our $VERSION=do{my @r=(q$Revision: 1.2 $=~/\d+/g);sprintf "%d."."%02d" x $#r,@r};
4 wakaba 1.1
5     sub UNREGISTERED_CHARSET_NAME () { 0b1 }
6     sub REGISTERED_CHARSET_NAME () { 0b10 }
7     sub PRIMARY_CHARSET_NAME () { 0b100 | REGISTERED_CHARSET_NAME }
8     ## "Name:" field for IANA names
9     sub PREFERRED_CHARSET_NAME () { 0b1000 | REGISTERED_CHARSET_NAME }
10     ## "preferred MIME name" for IANA names
11    
12 wakaba 1.2 ## iana_status
13     sub STATUS_COMMON () { 0b1 }
14     sub STATUS_LIMITED_USE () { 0b10 }
15     sub STATUS_OBSOLETE () { 0b100 }
16    
17 wakaba 1.1 ## iana_names
18     ## is_html_ascii_superset: "superset of US-ASCII (specifically, ANSI_X3.4-1968)
19     ## for bytes in the range 0x09 - 0x0D, 0x20, 0x21, 0x22, 0x26, 0x27,
20     ## 0x2C - 0x3F, 0x41 - 0x5A, and 0x61 - 0x7A" [HTML5]
21     ## is_ebcdic_based
22    
23     ## ISSUE: Shift_JIS is a superset of US-ASCII? ISO-2022-JP is?
24     ## ISSUE: 0x5F (_) should be added to the range?
25    
26     my $Charset;
27    
28     our $IANACharset;
29    
30     $Charset->{'us-ascii'}
31     = $IANACharset->{'ansi_x3.4-1968'}
32     = $IANACharset->{'iso-ir-6'}
33     = $IANACharset->{'ansi_x3.4-1986'}
34     = $IANACharset->{'iso_646.irv:1991'}
35     = $IANACharset->{'ascii'}
36     = $IANACharset->{'iso646-us'}
37     = $IANACharset->{'us-ascii'}
38     = $IANACharset->{'us'}
39     = $IANACharset->{'ibm367'}
40     = $IANACharset->{'cp367'}
41     = $IANACharset->{'csascii'}
42     = {
43     iana_names => {
44     'ansi_x3.4-1968' => PRIMARY_CHARSET_NAME,
45     'iso-ir-6' => REGISTERED_CHARSET_NAME,
46     'ansi_x3.4-1986' => REGISTERED_CHARSET_NAME,
47     'iso_646.irv:1991' => REGISTERED_CHARSET_NAME,
48     'ascii' => REGISTERED_CHARSET_NAME,
49     'iso646-us' => REGISTERED_CHARSET_NAME,
50     'us-ascii' => PREFERRED_CHARSET_NAME,
51     'us' => REGISTERED_CHARSET_NAME,
52     'ibm367' => REGISTERED_CHARSET_NAME,
53     'cp367' => REGISTERED_CHARSET_NAME,
54     'csascii' => REGISTERED_CHARSET_NAME,
55     },
56     is_html_ascii_superset => 1,
57     };
58    
59     $Charset->{'iso-8859-1'}
60     = $IANACharset->{'iso_8859-1:1987'}
61     = $IANACharset->{'iso-ir-100'}
62     = $IANACharset->{'iso_8859-1'}
63     = $IANACharset->{'iso-8859-1'}
64     = $IANACharset->{'latin1'}
65     = $IANACharset->{'l1'}
66     = $IANACharset->{'ibm819'}
67     = $IANACharset->{'cp819'}
68     = $IANACharset->{'csisolatin1'}
69     = {
70     iana_names => {
71     'iso_8859-1:1987' => PRIMARY_CHARSET_NAME,
72     'iso-ir-100' => REGISTERED_CHARSET_NAME,
73     'iso_8859-1' => REGISTERED_CHARSET_NAME,
74     'iso-8859-1' => PREFERRED_CHARSET_NAME,
75     'latin1' => REGISTERED_CHARSET_NAME,
76     'l1' => REGISTERED_CHARSET_NAME,
77     'ibm819' => REGISTERED_CHARSET_NAME,
78     'cp819' => REGISTERED_CHARSET_NAME,
79     'csisolatin1' => REGISTERED_CHARSET_NAME,
80     },
81     is_html_ascii_superset => 1,
82     };
83    
84 wakaba 1.2 $Charset->{'iso-8859-2'}
85     = $IANACharset->{'iso_8859-2:1987'}
86     = $IANACharset->{'iso-ir-101'}
87     = $IANACharset->{'iso_8859-2'}
88     = $IANACharset->{'iso-8859-2'}
89     = $IANACharset->{'latin2'}
90     = $IANACharset->{'l2'}
91     = $IANACharset->{'csisolatin2'}
92     = {
93     iana_names => {
94     'iso_8859-2:1987' => PRIMARY_CHARSET_NAME,
95     'iso-ir-101' => REGISTERED_CHARSET_NAME,
96     'iso_8859-2' => REGISTERED_CHARSET_NAME,
97     'iso-8859-2' => PREFERRED_CHARSET_NAME,
98     'latin2' => REGISTERED_CHARSET_NAME,
99     'l2' => REGISTERED_CHARSET_NAME,
100     'csisolatin2' => REGISTERED_CHARSET_NAME,
101     },
102     is_html_ascii_superset => 1,
103     };
104    
105     $Charset->{'iso-8859-3'}
106     = $IANACharset->{'iso_8859-3:1988'}
107     = $IANACharset->{'iso-ir-109'}
108     = $IANACharset->{'iso_8859-3'}
109     = $IANACharset->{'iso-8859-3'}
110     = $IANACharset->{'latin3'}
111     = $IANACharset->{'l3'}
112     = $IANACharset->{'csisolatin3'}
113     = {
114     iana_names => {
115     'iso_8859-3:1988' => PRIMARY_CHARSET_NAME,
116     'iso-ir-109' => REGISTERED_CHARSET_NAME,
117     'iso_8859-3' => REGISTERED_CHARSET_NAME,
118     'iso-8859-3' => PREFERRED_CHARSET_NAME,
119     'latin3' => REGISTERED_CHARSET_NAME,
120     'l3' => REGISTERED_CHARSET_NAME,
121     'csisolatin3' => REGISTERED_CHARSET_NAME,
122     },
123     is_html_ascii_superset => 1,
124     };
125    
126     $Charset->{'iso-8859-4'}
127     = $IANACharset->{'iso_8859-4:1988'}
128     = $IANACharset->{'iso-ir-110'}
129     = $IANACharset->{'iso_8859-4'}
130     = $IANACharset->{'iso-8859-4'}
131     = $IANACharset->{'latin4'}
132     = $IANACharset->{'l4'}
133     = $IANACharset->{'csisolatin4'}
134     = {
135     iana_names => {
136     'iso_8859-4:1988' => PRIMARY_CHARSET_NAME,
137     'iso-ir-110' => REGISTERED_CHARSET_NAME,
138     'iso_8859-4' => REGISTERED_CHARSET_NAME,
139     'iso-8859-4' => PREFERRED_CHARSET_NAME,
140     'latin4' => REGISTERED_CHARSET_NAME,
141     'l4' => REGISTERED_CHARSET_NAME,
142     'csisolatin4' => REGISTERED_CHARSET_NAME,
143     },
144     is_html_ascii_superset => 1,
145     };
146    
147     $Charset->{'iso-8859-5'}
148     = $IANACharset->{'iso_8859-5:1988'}
149     = $IANACharset->{'iso-ir-144'}
150     = $IANACharset->{'iso_8859-5'}
151     = $IANACharset->{'iso-8859-5'}
152     = $IANACharset->{'cyrillic'}
153     = $IANACharset->{'csisolatincyrillic'}
154     = {
155     iana_names => {
156     'iso_8859-5:1988' => PRIMARY_CHARSET_NAME,
157     'iso-ir-144' => REGISTERED_CHARSET_NAME,
158     'iso_8859-5' => REGISTERED_CHARSET_NAME,
159     'iso-8859-5' => PREFERRED_CHARSET_NAME,
160     'cyrillic' => REGISTERED_CHARSET_NAME,
161     'csisolatincyrillic' => REGISTERED_CHARSET_NAME,
162     },
163     is_html_ascii_superset => 1,
164     };
165    
166     $Charset->{'iso-8859-6'}
167     = $IANACharset->{'iso_8859-6:1987'}
168     = $IANACharset->{'iso-ir-127'}
169     = $IANACharset->{'iso_8859-6'}
170     = $IANACharset->{'iso-8859-6'}
171     = $IANACharset->{'ecma-114'}
172     = $IANACharset->{'asmo-708'}
173     = $IANACharset->{'arabic'}
174     = $IANACharset->{'csisolatinarabic'}
175     = {
176     iana_names => {
177     'iso_8859-6:1987' => PRIMARY_CHARSET_NAME,
178     'iso-ir-127' => REGISTERED_CHARSET_NAME,
179     'iso_8859-6' => REGISTERED_CHARSET_NAME,
180     'iso-8859-6' => PREFERRED_CHARSET_NAME,
181     'ecma-114' => REGISTERED_CHARSET_NAME,
182     'asmo-708' => REGISTERED_CHARSET_NAME,
183     'arabic' => REGISTERED_CHARSET_NAME,
184     'csisolatinarabic' => REGISTERED_CHARSET_NAME,
185     },
186     is_html_ascii_superset => 1,
187     ## NOTE: 3/0..3/9 have different semantics from U+0030..0039,
188     ## but have same character names (maybe).
189 wakaba 1.3 ## NOTE: According to RFC 2046, charset left-hand half of "iso-8859-6"
190     ## is same as "us-ascii".
191 wakaba 1.2 };
192    
193     $Charset->{'iso-8859-7'}
194     = $IANACharset->{'iso_8859-7:1987'}
195     = $IANACharset->{'iso-ir-126'}
196     = $IANACharset->{'iso_8859-7'}
197     = $IANACharset->{'iso-8859-7'}
198     = $IANACharset->{'elot_928'}
199     = $IANACharset->{'ecma-118'}
200     = $IANACharset->{'greek'}
201     = $IANACharset->{'greek8'}
202     = $IANACharset->{'csisolatingreek'}
203     = {
204     iana_names => {
205     'iso_8859-7:1987' => PRIMARY_CHARSET_NAME,
206     'iso-ir-126' => REGISTERED_CHARSET_NAME,
207     'iso_8859-7' => REGISTERED_CHARSET_NAME,
208     'iso-8859-7' => PREFERRED_CHARSET_NAME,
209     'elot_928' => REGISTERED_CHARSET_NAME,
210     'ecma-118' => REGISTERED_CHARSET_NAME,
211     'greek' => REGISTERED_CHARSET_NAME,
212     'greek8' => REGISTERED_CHARSET_NAME,
213     'csisolatingreek' => REGISTERED_CHARSET_NAME,
214     },
215     is_html_ascii_superset => 1,
216     };
217    
218     $Charset->{'iso-8859-8'}
219     = $IANACharset->{'iso_8859-8:1988'}
220     = $IANACharset->{'iso-ir-138'}
221     = $IANACharset->{'iso_8859-8'}
222     = $IANACharset->{'iso-8859-8'}
223     = $IANACharset->{'hebrew'}
224     = $IANACharset->{'csisolatinhebrew'}
225     = {
226     iana_names => {
227     'iso_8859-8:1988' => PRIMARY_CHARSET_NAME,
228     'iso-ir-138' => REGISTERED_CHARSET_NAME,
229     'iso_8859-8' => REGISTERED_CHARSET_NAME,
230     'iso-8859-8' => PREFERRED_CHARSET_NAME,
231     'hebrew' => REGISTERED_CHARSET_NAME,
232     'csisolatinhebrew' => REGISTERED_CHARSET_NAME,
233     },
234     is_html_ascii_superset => 1,
235     };
236    
237     $Charset->{'iso-8859-9'}
238     = $IANACharset->{'iso_8859-9:1989'}
239     = $IANACharset->{'iso-ir-148'}
240     = $IANACharset->{'iso_8859-9'}
241     = $IANACharset->{'iso-8859-9'}
242     = $IANACharset->{'latin5'}
243     = $IANACharset->{'l5'}
244     = $IANACharset->{'csisolatin5'}
245     = {
246     iana_names => {
247     'iso_8859-9:1989' => PRIMARY_CHARSET_NAME,
248     'iso-ir-148' => REGISTERED_CHARSET_NAME,
249     'iso_8859-9' => REGISTERED_CHARSET_NAME,
250     'iso-8859-9' => PREFERRED_CHARSET_NAME,
251     'latin5' => REGISTERED_CHARSET_NAME,
252     'l5' => REGISTERED_CHARSET_NAME,
253     'csisolatin5' => REGISTERED_CHARSET_NAME,
254     },
255     is_html_ascii_superset => 1,
256     };
257    
258     $Charset->{'iso-8859-10'}
259     = $IANACharset->{'iso-8859-10'}
260     = $IANACharset->{'iso-ir-157'}
261     = $IANACharset->{'l6'}
262     = $IANACharset->{'iso_8859-10:1992'}
263     = $IANACharset->{'csisolatin6'}
264     = $IANACharset->{'latin6'}
265     = {
266     iana_names => {
267     'iso-8859-10' => PRIMARY_CHARSET_NAME | PREFERRED_CHARSET_NAME,
268     'iso-ir-157' => REGISTERED_CHARSET_NAME,
269     'l6' => REGISTERED_CHARSET_NAME,
270     'iso_8859-10:1992' => REGISTERED_CHARSET_NAME,
271     'csisolatin6' => REGISTERED_CHARSET_NAME,
272     'latin6' => REGISTERED_CHARSET_NAME,
273     },
274     is_html_ascii_superset => 1,
275     };
276    
277     $Charset->{'iso_6937-2-add'}
278     = $IANACharset->{'iso_6937-2-add'}
279     = $IANACharset->{'iso-ir-142'}
280     = $IANACharset->{'csisotextcomm'}
281     = {
282     iana_names => {
283     'iso_6937-2-add' => PRIMARY_CHARSET_NAME,
284     'iso-ir-142' => REGISTERED_CHARSET_NAME,
285     'csisotextcomm' => REGISTERED_CHARSET_NAME,
286     },
287     is_html_ascii_superset => 1,
288     };
289    
290     $Charset->{'jis_x0201'}
291     = $IANACharset->{'jis_x0201'}
292     = $IANACharset->{'x0201'}
293     = $IANACharset->{'cshalfwidthkatakana'}
294     = {
295     iana_names => {
296     'jis_x0201' => PRIMARY_CHARSET_NAME,
297     'x0201' => REGISTERED_CHARSET_NAME,
298     'cshalfwidthkatakana' => REGISTERED_CHARSET_NAME,
299     },
300     is_html_ascii_superset => 1,
301     };
302    
303     $Charset->{'jis_encoding'}
304     = $IANACharset->{'jis_encoding'}
305     = $IANACharset->{'csjisencoding'}
306     = {
307     iana_names => {
308     'jis_encoding' => PRIMARY_CHARSET_NAME,
309     'csjisencoding' => REGISTERED_CHARSET_NAME,
310     },
311     ## NOTE: What is this?
312     };
313 wakaba 1.1
314     $Charset->{'shift_jis'}
315     = $IANACharset->{'shift_jis'}
316     = $IANACharset->{'ms_kanji'}
317     = $IANACharset->{'csshiftjis'}
318     = {
319     iana_names => {
320     'shift_jis' => PREFERRED_CHARSET_NAME | PRIMARY_CHARSET_NAME,
321     'ms_kanji' => REGISTERED_CHARSET_NAME,
322     'csshiftjis' => REGISTERED_CHARSET_NAME,
323     },
324 wakaba 1.2 mime_text_suitable => 1,
325 wakaba 1.1 };
326    
327 wakaba 1.3 $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 wakaba 1.1 $Charset->{'euc-jp'}
337     = $IANACharset->{'extended_unix_code_packed_format_for_japanese'}
338     = $IANACharset->{'cseucpkdfmtjapanese'}
339     = $IANACharset->{'euc-jp'}
340 wakaba 1.3 = $IANACharset->{'x-euc-jp'}
341 wakaba 1.1 = {
342     iana_names => {
343     'extended_unix_code_packed_format_for_japanese' => PRIMARY_CHARSET_NAME,
344     'cseucpkdfmtjapanese' => REGISTERED_CHARSET_NAME,
345     'euc-jp' => PREFERRED_CHARSET_NAME,
346     },
347     is_html_ascii_superset => 1,
348 wakaba 1.3 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 wakaba 1.1 };
360    
361 wakaba 1.2 $Charset->{'extended_unix_code_fixed_width_for_japanese'}
362     = $IANACharset->{'extended_unix_code_fixed_width_for_japanese'}
363     = $IANACharset->{'cseucfixwidjapanese'}
364     = {
365     iana_names => {
366     'extended_unix_code_fixed_width_for_japanese' => PRIMARY_CHARSET_NAME,
367     'cseucfixwidjapanese' => REGISTERED_CHARSET_NAME,
368     },
369     };
370    
371 wakaba 1.1 ## TODO: ...
372    
373 wakaba 1.2 $Charset->{'euc-kr'}
374     = $IANACharset->{'euc-kr'}
375     = $IANACharset->{'cseuckr'}
376     = {
377     iana_names => {
378     'euc-kr' => PRIMARY_CHARSET_NAME | PREFERRED_CHARSET_NAME,
379     'cseuckr' => REGISTERED_CHARSET_NAME,
380     },
381     is_html_ascii_superset => 1,
382     };
383    
384 wakaba 1.1 $Charset->{'iso-2022-jp'}
385     = $IANACharset->{'iso-2022-jp'}
386     = $IANACharset->{'csiso2022jp'}
387 wakaba 1.3 = $IANACharset->{'iso2022jp'}
388     = $IANACharset->{'junet-code'}
389 wakaba 1.1 = {
390     iana_names => {
391     'iso-2022-jp' => PREFERRED_CHARSET_NAME | PRIMARY_CHARSET_NAME,
392     'csiso2022jp' => REGISTERED_CHARSET_NAME,
393 wakaba 1.3 'iso2022jp' => UNREGISTERED_CHARSET_NAME,
394     'junet-code' => UNREGISTERED_CHARSET_NAME,
395 wakaba 1.1 },
396 wakaba 1.2 mime_text_suitable => 1,
397     };
398    
399     $Charset->{'iso-2022-jp-2'}
400     = $IANACharset->{'iso-2022-jp-2'}
401     = $IANACharset->{'csiso2022jp2'}
402     = {
403     iana_names => {
404     'iso-2022-jp-2' => PREFERRED_CHARSET_NAME | PRIMARY_CHARSET_NAME,
405     'csiso2022jp2' => REGISTERED_CHARSET_NAME,
406     },
407     mime_text_suitable => 1,
408 wakaba 1.1 };
409    
410     ## TODO: ...
411    
412     $Charset->{'utf-8'}
413     = $IANACharset->{'utf-8'}
414 wakaba 1.3 = $IANACharset->{'x-utf-8'}
415 wakaba 1.1 = {
416     iana_names => {
417     'utf-8' => PRIMARY_CHARSET_NAME,
418 wakaba 1.3 'x-utf-8' => UNREGISTERED_CHARSET_NAME,
419 wakaba 1.1 },
420     is_html_ascii_superset => 1,
421 wakaba 1.3 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 wakaba 1.1 };
433    
434     ## TODO: ...
435    
436 wakaba 1.2 $Charset->{'gbk'}
437     = $IANACharset->{'gbk'}
438     = $IANACharset->{'cp936'}
439     = $IANACharset->{'ms936'}
440     = $IANACharset->{'windows-936'}
441     = {
442     iana_names => {
443     'gbk' => PRIMARY_CHARSET_NAME,
444     'cp936' => REGISTERED_CHARSET_NAME,
445     'ms936' => REGISTERED_CHARSET_NAME,
446     'windows-936' => REGISTERED_CHARSET_NAME,
447     },
448     iana_status => STATUS_COMMON | STATUS_OBSOLETE,
449     mime_text_suitable => 1,
450     };
451    
452     $Charset->{'gb18030'}
453     = $IANACharset->{'gb18030'}
454     = {
455     iana_names => {
456     'gb18030' => PRIMARY_CHARSET_NAME,
457     },
458     iana_status => STATUS_COMMON,
459     mime_text_suitable => 1,
460     };
461    
462     ## TODO: ...
463    
464 wakaba 1.1 $Charset->{'utf-16be'}
465     = $IANACharset->{'utf-16be'}
466     = {
467     iana_names => {
468     'utf-16be' => PRIMARY_CHARSET_NAME,
469     },
470     };
471    
472     $Charset->{'utf-16le'}
473     = $IANACharset->{'utf-16le'}
474     = {
475     iana_names => {
476     'utf-16le' => PRIMARY_CHARSET_NAME,
477     },
478     };
479    
480     $Charset->{'utf-16'}
481     = $IANACharset->{'utf-16'}
482     = {
483     iana_names => {
484     'utf-16' => PRIMARY_CHARSET_NAME,
485     },
486     };
487    
488     ## TODO: ...
489    
490 wakaba 1.2 $Charset->{'windows-31j'}
491     = $IANACharset->{'windows-31j'}
492     = $IANACharset->{'cswindows31j'}
493     = {
494     iana_names => {
495     'windows-31j' => PRIMARY_CHARSET_NAME,
496     'cswindows31j' => REGISTERED_CHARSET_NAME,
497     },
498     iana_status => STATUS_LIMITED_USE, # maybe
499     mime_text_suitable => 1,
500     };
501    
502     $Charset->{'gb2312'}
503     = $IANACharset->{'gb2312'}
504     = $IANACharset->{'csgb2312'}
505     = {
506     iana_names => {
507     'gb2312' => PRIMARY_CHARSET_NAME | PREFERRED_CHARSET_NAME,
508     'csgb2312' => REGISTERED_CHARSET_NAME,
509     },
510     is_html_ascii_superset => 1,
511     mime_text_suitable => 1,
512     };
513    
514     $Charset->{'big5'}
515     = $IANACharset->{'big5'}
516     = $IANACharset->{'csbig5'}
517     = {
518     iana_names => {
519     'big5' => PRIMARY_CHARSET_NAME | PREFERRED_CHARSET_NAME,
520     'csbig5' => REGISTERED_CHARSET_NAME,
521     },
522     mime_text_suitable => 1,
523     };
524    
525     ## TODO: ...
526    
527     $Charset->{'big5-hkscs'}
528     = $IANACharset->{'big5-hkscs'}
529     = {
530     iana_names => {
531     'big5-hkscs' => PRIMARY_CHARSET_NAME,
532     },
533     mime_text_suitable => 1,
534     };
535    
536     ## TODO: ...
537    
538 wakaba 1.1 $Charset->{'windows-1252'}
539     = $IANACharset->{'windows-1252'}
540     = {
541     iana_names => {
542     'windows-1252' => PRIMARY_CHARSET_NAME,
543     },
544     is_html_ascii_superset => 1,
545     };
546    
547     ## TODO: ...
548    
549 wakaba 1.3 sub is_syntactically_valid_iana_charset_name ($) {
550 wakaba 1.1 my $name = shift;
551     return $name =~ /\A[\x20-\x7E]{1,40}\z/;
552     } # is_suntactically_valid_iana_charset_name
553    
554     1;
555 wakaba 1.3 ## $Date: 2007/11/21 12:47:22 $
556 wakaba 1.1

admin@suikawiki.org
ViewVC Help
Powered by ViewVC 1.1.24