Article View: fj.editor.xemacs
Article #187Re: Japanese text in HTML
From: Go Watanabe
Date: Mon, 24 Sep 2001 01:05
Date: Mon, 24 Sep 2001 01:05
123 lines
4032 bytes
4032 bytes
<86iteayvy1.wl@goliath.otacky.jp>$B$N5-;v$K$*$$$F(B
fukuda@computer.org$B$5$s$O=q$-$^$7$?!#(B
> $B$3$l$O$`$7$m(B HTML $B$N9q:]2=$NLdBj$J$s$G$9$M!"$-$C$H!#$$$$(B
> $B$8$^$5$s$X$N%j%W%i%$$K!V9TKv$K(B#&xxxx $B$N%3!<%I$r!W1>!9$H(B
> $B=q$-$^$7$?$,!"9M$($F$_$l$P!"C18l$r6uGr$G$/$.$i$J$$8@8l$O(B
> $BF|K\8l$NB>$K$b$"$k$N$@$+$i!"$=$s$J;v$r$7$J$/$F$b!";HMQ8@(B
> $B8l$K1~$8$F(Brun-off $B$NJ}K!$rJQ$($k!"Ey$H$$$&5!G=$,(B HTML $B$K(B
> $B=i$a$+$iHw$o$C$F$$$F$bNI$$$h$&$J5$$,$7$F$-$^$7$?!#(B
HTML $BE*$K$O$3$N<o$N6uGr$NI=<(=hM}$O8@8l$K1~$8$F<BAu0MB8$H$$$&$3$H$K(B
$B$J$C$F$$$^$9!#Nc$($P(B IE $B$O2~9TJ8;zD>A0$K(BCJK$BJ8;z$,Mh$k>l9g$O!"(B
$B2~9TJ8;z$r6uGr$H$O8+$J$5$::o=|$7$^$9$N$G!"JQ$J6uGr$O6u$-$^$;$s!#(B
$B$A$J$_$K;d$O(B lex $B$G2<$N$h$&$J%U%#%k%?=q$$$F=hM}$7$F$^$9!#(B
$BD6E,Ev$G(B EUC $B@lMQ!#:Y$+$$J8K!$^$G$O8+$F$J$$$G$9!#$4;29M$^$G$K!#(B
---- htmlfilter.l -----------------------------------------------------------------
%{
#include <stdio.h>
int kanjiflag = 0;
int crflag = 0;
int afterstart = 0;
int preflag = 0;
int startflag = 1;
void check(void)
{
if (crflag == 2) printf("\n\n"); else if (crflag == 1) printf("\n");
afterstart = 0;
crflag = 0;
kanjiflag = 0;
startflag = 0;
}
%}
kanji [\200-\377]
startpre <[pP][rR][eE][^>]*>
endpre <\/[pP][rR][eE][^>]*>
starttag <[\!a-zA-Z][a-zA-Z0-9]*[^>]*>
endtag <\/[a-zA-Z][a-zA-Z0-9]*>
ws [ \t]+
nl \n
entity \&[a-zA-Z][a-zA-Z0-9]*\;
%%
{startpre} {
if (crflag == 2) printf("\n\n"); else if (crflag == 1) printf("\n");
crflag = 0;
afterstart = 0;
kanjiflag = 0;
preflag = 1;
startflag = 0;
printf("%s",yytext);}
{endpre} {
preflag = 0;
printf("%s",yytext);}
{starttag} {
char *p = yytext;
if (crflag == 2) printf("\n\n"); else if (crflag == 1) printf("\n");
crflag = 0;
kanjiflag = 0;
afterstart = 1;
startflag = 0;
while (*p) {
#if 0
if (*p == '~')
printf("%%7E");
else
#endif
fputc(*p, stdout);
p++;
}}
{kanji} {
crflag = 0;
afterstart = 0;
kanjiflag = 1;
startflag = 0;
printf("%s",yytext);}
{ws} {
if (!afterstart) printf("%s",yytext);}
{nl}{nl}+ {
if (!startflag) {
if (preflag) {
printf("%s",yytext);
} else if (!kanjiflag) {
if (afterstart)
printf("\n");
else
printf("\n\n");
} else crflag = 2;
}}
{nl} {
if (!startflag)
if (preflag || !kanjiflag) printf("\n"); else crflag = 1;}
{endtag}|{entity} {
check();
printf("%s",yytext);}
& {
check();
printf("&");}
"<" {
check();
printf("<");}
{
check();
fputc(yytext[0],stdout);}
%%
--
$BEOn49d(B (Watanabe,Go) go@dsl.gr.jp / go@denpa.org
Technical Details
Message-ID:
<9om2b1$nqf$1@sv.dsl.gr.jp>Path:
arc1-ca.pugleaf.net!archiver1.google.com!newsfeed.google.com!newsfeed.stanford.edu!headwall.stanford.edu!newsfeed.media.kyoto-u.ac.jp!news.ksw.feedmania.org!news1.miyuki-kasei.co.jp!pooh.isoternet.org!news.dsl.gr.jp!goReferences:
<86n13mzya1.wl@goliath.otacky.jp> <9781.1001223010@insigna.ie.u-ryukyu.ac.jp> <86iteayvy1.wl@goliath.otacky.jp>Show Full Headers
Complete Article Headers
X-Google-Language: Japanese,JIS X-Google-Thread: 1107f7,8ed34cf8603aa849 X-Google-Attributes: gid1107f7,public X-Google-ArrivalTime: 2001-09-23 18:42:11 PST Path: arc1-ca.pugleaf.net!archiver1.google.com!newsfeed.google.com!newsfeed.stanford.edu!headwall.stanford.edu!newsfeed.media.kyoto-u.ac.jp!news.ksw.feedmania.org!news1.miyuki-kasei.co.jp!pooh.isoternet.org!news.dsl.gr.jp!go From: go@denpa.org (Go Watanabe) Newsgroups: fj.editor.xemacs Subject: Re: Japanese text in HTML Date: Mon, 24 Sep 2001 10:05:06 +0900 Organization: Society of Distributed Systems http://www.dsl.gr.jp Lines: 123 Message-ID: <9om2b1$nqf$1@sv.dsl.gr.jp> References: <86n13mzya1.wl@goliath.otacky.jp> <9781.1001223010@insigna.ie.u-ryukyu.ac.jp> <86iteayvy1.wl@goliath.otacky.jp> NNTP-Posting-Host: sv.dsl.gr.jp X-Trace: sv.dsl.gr.jp 1001295009 24399 210.239.46.42 (24 Sep 2001 01:30:09 GMT) X-Complaints-To: usenet@dsl.gr.jp NNTP-Posting-Date: 24 Sep 2001 01:30:09 GMT X-Newsreader: mnews [version 1.22] 1999-12/19(Sun)