Thread View: fj.editor.xemacs
10 messages
10 total messages
Started by Taka Fukuda
Sat, 22 Sep 2001 21:55
Japanese text in HTML
Author: Taka Fukuda
Date: Sat, 22 Sep 2001 21:55
Date: Sat, 22 Sep 2001 21:55
22 lines
2098 bytes
2098 bytes
福田です。
HTML の日本語のテキストに陽に改行を入れると、ブラウザで
表示させた時にそれが半角の空白に置き換わりますが、これを
何とかやめさせる方法は無いものでしょうか。
改行を入れずに段落全部を一行にすれば良いのでしょうが(実
際に多くの人がこうしているみたい)、そうすると、XEmacs
でソースを編集する時に、とてもみにくいですよね。ソースで
は XEmacs の auto-fill を使い、ブラウザの表示では、余計
な切れ目を無くしたい、という事です。
アドバイスお待ちしてます。
--
--- つれづれなるままにそのひぐらし
--- 福田 孝康
--- fukuda@computer.org
--- http://www02.u-page.so-net.ne.jp/jb3/fukuda (9/22 updated)
Re: Japanese text in HTML
Author: IIJIMA Hiromitsu
Date: Sun, 23 Sep 2001 02:12
Date: Sun, 23 Sep 2001 02:12
41 lines
3256 bytes
3256 bytes
いいじまです。 > HTML の日本語のテキストに陽に改行を入れると、ブラウザで > 表示させた時にそれが半角の空白に置き換わりますが、これを > 何とかやめさせる方法は無いものでしょうか。 > > 改行を入れずに段落全部を一行にすれば良いのでしょうが(実 > 際に多くの人がこうしているみたい)、そうすると、XEmacs > でソースを編集する時に、とてもみにくいですよね。ソースで > は XEmacs の auto-fill を使い、ブラウザの表示では、余計 > な切れ目を無くしたい、という事です。 う~む。私は ・auto-fill はせず、できるだけ句読点や右括弧類の直後で改行を 入れる。そうすれば半角スペースが入っても気にならない。 ・句読点や右括弧類がいい位置に来なければ、 ………………<a href="http://honehoge"><b >……</b></a>……。</p> のように、タグの途中で改行を入れる。 ・どうしても無理なら、行末に「<!--」を、次の行頭に「-->」 を入れる。 という方法をとっていますが、そういう話ではない? #実際に私のサイトのソースを読んでいただければわかると思いますが… あと、段落全部を一行にした場合に単に「みにくい」(というのは 主観の問題だと思うけど…)だけではなく、「下カーソルキーを押した 場合に「画面上の次の行」ではなく「次の段落」にとんでしまって 編集しづらいという場合は、 http://www.ht.sakura.ne.jp/~delmonta/emacs/16.txt を参照してください。 ☆------ Delmonta / IIJIMA Hiromitsu (でるもんた / 飯嶋 浩光) ------☆ Delmontas Heimseite: http://www.ht.sakura.ne.jp/~delmonta/ ○01.03.17 GIF ファイルと LZW 特許の問題のまとめ http://www.ht.sakura.ne.jp/~delmonta/tagebuecher/einklebebuch.html ○00.08.28 昔は携帯電話なんてなかった - 漫画に見る世相の変化 http://www.ht.sakura.ne.jp/~delmonta/tagebuecher/otakukultur.html ☆--------- delmonta@ht.sakura.ne.jp / delmonta@pop01.odn.ne.jp ----☆ ※http://user.ecc.u-tokyo.ac.jp/~l94102/ , L94102@mail.ecc.u-tokyo.ac.jp は使えなくなりました。 アドレス帳・リンク・ブックマークの切り替えをお願いします。
Re: Japanese text in HTML
Author: Shinji KONO
Date: Sun, 23 Sep 2001 05:30
Date: Sun, 23 Sep 2001 05:30
21 lines
2068 bytes
2068 bytes
$B2OLn(B $B??<#(B@$BN05eBg>pJs9)3X$G$9!#(B
In article <86n13mzya1.wl@goliath.otacky.jp>,
Taka Fukuda <fukuda@computer.org> writes
> $B2~9T$rF~$l$:$KCJMnA4It$r0l9T$K$9$l$PNI$$$N$G$7$g$&$,!J<B(B
> $B:]$KB?$/$N?M$,$3$&$7$F$$$k$_$?$$!K!"$=$&$9$k$H!"(BXEmacs
> $B$G%=!<%9$rJT=8$9$k;~$K!"$H$F$b$_$K$/$$$G$9$h$M!#%=!<%9$G(B
> $B$O(B XEmacs $B$N(B auto-fill $B$r;H$$!"%V%i%&%6$NI=<($G$O!"M>7W(B
> $B$J@Z$lL\$rL5$/$7$?$$!"$H$$$&;v$G$9!#(B
$BJT=8$9$k%=!<%9(B(a)$B$H!"<B:]$K;H$&(B HTML(b) $B$rJL$K$7$F!"(B(a)->(b)
$B$X$N(B filter $B$r5-=R$7$F$$$^$9!#7k9=$d$k$Y$-$3$H$,$"$k$N$G!"(B
$B$=$NJ}$,$$$$$_$?$$!#(B
$B$G$b!"2~9T(B->$BH>3Q%9%Z!<%9$K4X$7$F$O!"KM$O5$$K$;$:=q$$$F$$$k$J!#(B
---
Shinji KONO @ Information Engineering, University of the Ryukyus,
PRESTO, Japan Science and Technology Corporation
$B2OLn??<#(B @ $BN05eBg3X9)3XIt>pJs9)3X2J(B,
$B2J3X5;=Q?66=;v6HCD$5$-$,$18&5f(B21($B5!G=$H9=@.(B)
Re: Japanese text in HTML
Author: Taka Fukuda
Date: Sun, 23 Sep 2001 11:27
Date: Sun, 23 Sep 2001 11:27
52 lines
3528 bytes
3528 bytes
福田です。
いいじまさん、フォローありがとうございます。
At Sun, 23 Sep 2001 11:12:45 +0900,
IIJIMA Hiromitsu wrote:
>
> う~む。私は
> ・auto-fill はせず、できるだけ句読点や右括弧類の直後で改行を
> 入れる。そうすれば半角スペースが入っても気にならない。
実は私もずっとこうしています。でも余計なスペースが段々気
になってきたのでした(^^;(それと、句読点がうまい具合に表
われない事もよくあるので。)
> ・句読点や右括弧類がいい位置に来なければ、
> ………………<a href="http://honehoge"><b
> >……</b></a>……。</p>
> のように、タグの途中で改行を入れる。
> ・どうしても無理なら、行末に「<!--」を、次の行頭に「-->」
> を入れる。
> という方法をとっていますが、そういう話ではない?
> #実際に私のサイトのソースを読んでいただければわかると思いますが…
いえ、そういう話だと思います。
ただ、#&xxxx などというコードを行末に入れたら、ブラウザ
のほうは半角スペースを入れない、という動作をしてくれて、
XEmacs の HTML モードが自動でこれを挿入してくれる…等と
いう事だったらうれしいな、と妄想したのでした。
> あと、段落全部を一行にした場合に単に「みにくい」(というのは
> 主観の問題だと思うけど…)だけではなく、「下カーソルキーを押した
HTML モードでSyntax Hilighting を使って「インデント」さ
せてソースを書いている時に長い行を折り返して表示させると、
これは相当「みにくい」と思います。確かに主観の問題ですが。
> 場合に「画面上の次の行」ではなく「次の段落」にとんでしまって
> 編集しづらいという場合は、
> http://www.ht.sakura.ne.jp/~delmonta/emacs/16.txt
> を参照してください。
確かにこれも問題でした。早速見せていただきました。ありが
とうございます。
--
--- つれづれなるままにそのひぐらし
--- 福田 孝康
--- fukuda@computer.org
--- http://www02.u-page.so-net.ne.jp/jb3/fukuda (9/22 updated)
Re: Japanese text in HTML
Author: Taka Fukuda
Date: Sun, 23 Sep 2001 11:43
Date: Sun, 23 Sep 2001 11:43
34 lines
2758 bytes
2758 bytes
福田です。
河野さん、フォローありがとうございます。
At 23 Sep 2001 14:30:53 +0900,
Shinji KONO wrote:
> 編集するソース(a)と、実際に使う HTML(b) を別にして、(a)->(b)
> への filter を記述しています。結構やるべきことがあるので、
> その方がいいみたい。
成程。さしつかえなければ、そのフィルターを参考にさせて頂
けないでしょうか。
> でも、改行->半角スペースに関しては、僕は気にせず書いているな。
私が過敏なんでしょうか:-)
でも、XEmacs の auto-fill が作ってくれる段落はとてもカ
チッとしているので、ウエブ上でも同様の処理をして欲しい、
と思うのは自然な欲求だと思うんだけどなぁ。
これはむしろ HTML の国際化の問題なんですね、きっと。いい
じまさんへのリプライに「行末に#&xxxx のコードを」云々と
書きましたが、考えてみれば、単語を空白でくぎらない言語は
日本語の他にもあるのだから、そんな事をしなくても、使用言
語に応じてrun-off の方法を変える、等という機能が HTML に
初めから備わっていても良いような気がしてきました。
--
--- つれづれなるままにそのひぐらし
--- 福田 孝康
--- fukuda@computer.org
--- http://www02.u-page.so-net.ne.jp/jb3/fukuda (9/22 updated)
Re: Japanese text in HTML
Author: 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
Re: Japanese text in HTML
Author: Go Watanabe
Date: Mon, 24 Sep 2001 01:36
Date: Mon, 24 Sep 2001 01:36
19 lines
1282 bytes
1282 bytes
$B$&$0!D(B
$B$3$NItJ,!"!H(B.$B!I(B $B$,H4$1$F$^$9!#$I$N%W%m%0%i%`$,?)$C$?$s$@$m$&!D(B
> {
> check();
> fputc(yytext[0],stdout);}
>
>%%
>.{
> check();
> fputc(yytext[0],stdout);}
>
>%%
--
$BEOn49d(B (Watanabe,Go) go@dsl.gr.jp / go@denpa.org
Re: Japanese text in HTML
Author: Seiichi Namba
Date: Mon, 24 Sep 2001 05:39
Date: Mon, 24 Sep 2001 05:39
177 lines
6378 bytes
6378 bytes
Taka Fukuda <fukuda@computer.org> さん writes:
> > 編集するソース(a)と、実際に使う HTML(b) を別にして、(a)->(b)
> > への filter を記述しています。結構やるべきことがあるので、
> > その方がいいみたい。
>
> 成程。さしつかえなければ、そのフィルターを参考にさせて頂
> けないでしょうか。
ご指摘の html の行末に関する問題は、
・emacs で編集中は好きな位置に改行を入れたい。
・最終形では1段落一行(DOS のテキストファイル的な)にしたい。
という問題と考えていいですか。
DOS の上で microemacs を使い始めたころ、DOS のテキストファイル形式と、
emacs の前提としている unix 的なテキストファイルの形式の不一致を
吸収するため、下記のようなフィルタを書きました。仕様は
入力ストリーム中の n (n=1,2…) 個の連続する改行の数を n-1 に
減らしたり (lf -)、n+1 に増やしたりする (lf +) する
というようなものです。
たとえば、lf - [file] で連続する改行の数を1つづつ減らします(
1個のものは0個に、2個のものは1個に、… 3、4個以上
の連続はループで適当に処理しているようです)。
lf + [file] では逆に増やします(ダブルスペースを作る時に使ってた)。
引数無しの場合は cat と同じのようです。
私は DOS ユーザにテキスト原稿を渡す時は、
好きな位置に改行を入れて書き(段落の終りは改行2個)、
最終形を作る時に lf - を通したものを渡しています。
ご要望は html なのでそれと合うのかどうか判りませんが。
どうも面妖なマクロを使ってテキトーに書いてあるので読み易くはないですな。
私は lf - の出力は別ファイルに落してますが、emacs の上で処理したい時は
C-x h C-u M-| lf - RET
とでもすれば良いかな…。
当時 DOS の上で書いたので C ですが、どなたか 上の仕様の perl 版
(ruby/bison 何でもいいですが)か何か書いていただけると幸いです。
コンパイルは cc -o lf -s lf.c みたいな感じでいいでしょう。
なお、逆に DOS ユーザからテキストを貰う時は
#!/usr/bin/sed -f
s/\([、。】]]\)/\1\
/g
のような事をしています。実際にはこれの elisp 版(query-replace-regexp)を
使ってますが。
/*
* Name: lf.c
* Synopsys: lf {+|-} [file]
* Description: Increases (+) or decrease (-)
* continuous occurance
* of newline (\n) in stream.
* Warning: Using queer preprocessor macro. See #define.
* 2/16/90 S.Namba
*/
#include <stdio.h>
#include <string.h>
#define std_err(s) fputs((s),stderr)
const char dst='\n'; /* extern var : target */
/*==================================*
* Subroutines. Filter main bodies
*==================================*/
#define IfNotDst if((c=getc(stm))==EOF)break;\
else if (c != dst)
/*
* Increaser:
* increases target occurance.
*/
void
incr(stm)
FILE *stm;
{
int c;
while(1)
IfNotDst putchar(c); /* not target */
else IfNotDst{ putchar(dst); putchar(dst); /* 1+1 */
putchar(c); }
else IfNotDst{ putchar(dst); putchar(dst); /* 2+1 */
putchar(dst); putchar(c); }
else { putchar(dst); putchar(dst); /* 3+1 */
putchar(dst); putchar(dst); } /* 4th is by loop */
putchar(dst); /* last one */
putchar(dst); /* one more */
}
/*
* Decreaser:
* decreases target occurance.
*/
void
decr(stm)
FILE *stm;
{
int c;
while(1)
IfNotDst putchar(c); /* not target */
else IfNotDst putchar(c); /* 1-1 */
else IfNotDst{ putchar(dst); /* 2-1 */
putchar(c);}
else { putchar(dst);
putchar(dst);} /* 3-1 */
putchar(dst); /* last one */
}
/*
* Concatenator:
* just copies in-to-out
* like 'cat' command.
*/
void
cat(stm)
FILE *stm;
{
int c;
while ((c=getc(stm)) != EOF)
putchar(c);
}
int
main(ac, av)
int ac;
char **av;
{
char *progname = av[0];
void (*func)(); /* function selector */
FILE *fp; /* stream pointer */
int i;
#if 0
strlwr(progname); /* unix style */
#endif
/*
* Args control.
* No err out.
*/
func = cat; /* for safty */
for ( ;ac>1 && (av[1][0]=='+'||av[1][0]=='-'); ac--, av++)
switch (av[1][0]) {
case '+': /* no line no. print */
func=incr;
break;
case '-': /* no line no. print */
func=decr;
break;
default:
break;
}
/*
* Handles multi file.
*/
if (ac == 1)
(*func)(stdin);
else for (i = 1; i < ac; i++) {
if ((fp=fopen(av[i],"r")) == NULL) {
std_err(progname);
std_err(": can't open ");
std_err(av[1]);
std_err("\n");
exit(1);
} else {
(*func)(fp);
fclose(fp);
}
}
exit(0);
}
Re: Japanese text in HTML
Author: Seiichi Namba
Date: Mon, 24 Sep 2001 07:27
Date: Mon, 24 Sep 2001 07:27
6 lines
1183 bytes
1183 bytes
Seiichi Namba <sn@asahi-net.email.ne.jp> writes: > (ruby/bison 何でもいいですが)か何か書いていただけると幸いです。 しまった python と bison まちがえた。
Re: Japanese text in HTML
Author: Taka Fukuda
Date: Mon, 24 Sep 2001 18:42
Date: Mon, 24 Sep 2001 18:42
20 lines
2129 bytes
2129 bytes
福田です。
Namba さん、フォローありがとうございます。
At 24 Sep 2001 16:27:08 +0900,
Seiichi Namba wrote:
> > (ruby/bison 何でもいいですが)か何か書いていただけると幸いです。
>
> しまった python と bison まちがえた。
これ難しそうですね。とりあえず「地」の text を切り出せば
良いのだろうけど…。
--
--- つれづれなるままにそのひぐらし
--- 福田 孝康
--- fukuda@computer.org
--- http://www02.u-page.so-net.ne.jp/jb3/fukuda (9/22 updated)
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads