From: Youichi Watanabe <youchan@se.fujitsu.co.jp>
Real-Date: Mon, 10 Jan 1994 21:18:15 +0900
Subject: [infotalk,00679] Re: L10N-Mosaic for X 2.1
Message-Id: <9401101218.AA08522@enterprise.se.fujitsu.co.jp>
富士通の渡辺です。
In article <9401101201.AA10248@dec413.aist-nara.ac.jp>, K Chinen <k-chinen@is.aist-nara.ac.jp> writes:
>> Multi-Localization Mosaic for Xの2.1版が一応出来ました。例によって、
> PS 出力を Multi-Localization する予定はありますか ?
> # とりあえず日本語が使えれば嬉しいのですが、酷なお願いでしょうか...
うちのプロジェクトで作った日本語patchです。libhtmlwのしだで
お使い下さい。
*** HTML-PSformat.c.orig Sun Dec 5 13:43:24 1993
--- HTML-PSformat.c Mon Jan 10 21:12:36 1994
***************
*** 103,108 ****
--- 103,115 ----
} \
}
+ /* Added by kazu@ftk.fujitsu.co.jp */
+ #ifdef L10N
+ #define NIHONGO_MASK (1<<7)
+ #define G2 0x8e
+ #define G3 0x8f
+ #define KANA_MASK ~(~0<<7)
+ #endif
/* for regular-font, bold-font, italic-font, fixed-font */
typedef enum { RF, BF, IF, FF } PS_fontstyle;
***************
*** 269,274 ****
--- 276,285 ----
};
static char fnchar[4][3] = {"RF", "BF", "IF", "FF"};
+ #ifdef L10N
+ static char kfnchar[4][4] = {"KRF", "KBF","KRF","KBF"};
+ static char knfnchar[4][4] = {"KNF", "KNF","KNF","KNF"};
+ #endif
/* fontsizes as set in gui.c and in HTML.c (listing font is only
* defined in HTML.c)
***************
*** 335,341 ****
--- 346,362 ----
/* NULL case - reflush old font or the builtin default: */
if (hw==NULL || font==NULL) {
if (PS_oldfs != 0)
+ #ifdef L10N
+ {
+ #endif
PSprintf( "%2s %d SF\n", fnchar[PS_oldfn], PS_oldfs);
+ #ifdef L10N
+ PSprintf( "/FN %2s D\n", fnchar[PS_oldfn]);
+ PSprintf( "/FNS %d D\n", PS_oldfs);
+ PSprintf( "/KFN %3s D\n", kfnchar[PS_oldfn]);
+ PSprintf( "/KNFN %3s D\n", knfnchar[PS_oldfn]);
+ }
+ #endif
return;
}
/* added the next line in case xmosaic version 199.4 has more fonts */
***************
*** 384,389 ****
--- 405,416 ----
if (fn != PS_oldfn || fs != PS_oldfs) {
PSprintf( "%2s %d SF\n", fnchar[fn], fs);
+ #ifdef L10N
+ PSprintf( "/FN %2s D\n", fnchar[fn]);
+ PSprintf( "/FNS %d D\n", fs);
+ PSprintf( "/KFN %3s D\n", kfnchar[fn]);
+ PSprintf( "/KNFN %3s D\n", knfnchar[fn]);
+ #endif
PS_oldfn=fn, PS_oldfs=fs;
}
}
***************
*** 531,536 ****
--- 558,567 ----
"NewCenturySchlbk-Roman", "NewCenturySchlbk-Bold",
"NewCenturySchlbk-Italic",
"Lucida", "Lucida-Bold", "Lucida-Italic",
+ #ifdef L10N
+ "Ryumin-Light-EUC-H","GothicBBB-Medium-EUC-H",
+ "Ryumin-Light.Katakana",
+ #endif
};
static char *txt[] = {
***************
*** 574,579 ****
--- 605,615 ----
PSprintf("/RF {/%s} D\n", fontname[font*3]);
PSprintf("/BF {/%s} D\n", fontname[font*3+1]);
PSprintf("/IF {/%s} D\n", fontname[font*3+2]);
+ #ifdef L10N
+ PSprintf("/KRF {/%s} D\n", fontname[12]);
+ PSprintf("/KBF {/%s} D\n", fontname[13]);
+ PSprintf("/KNF {/%s} D\n", fontname[14]);
+ #endif
PSinit_latin1();
***************
*** 611,617 ****
--- 647,657 ----
static void PStext ARG2(String,t, int,underline) {
String tp, t2;
int nspecial=0, nisochar=0;
+ #ifdef L10N
+ void PSkprint();
+ #endif
+
tp=t;
/* count # of special char's in text */
while (*tp != '\0') {
***************
*** 624,630 ****
--- 664,674 ----
if (nspecial == 0 && nisochar == 0) {
/* no special char's, send out original string */
+ #ifdef L10N
+ PSkprint(t,(underline)?'S': 'S');
+ #else
PSprintf("(%s)%c\n", t, (underline)?'U':'S');
+ #endif
return;
}
/* create t2 to hold original text + "\"'s */
***************
*** 643,648 ****
--- 687,693 ----
if (*t == L_PAREN || *t == R_PAREN || *t == B_SLASH) {
*(tp++) = B_SLASH;
*(tp++) = *t;
+ #ifndef L10N
} else if (*(unsigned char *)t > (unsigned char) MAX_ASCII) {
/* convert to octal */
*(tp++) = B_SLASH;
***************
*** 649,654 ****
--- 694,700 ----
*(tp++) = ((int)(*(unsigned char *)t)>>6 & 007) + '0';
*(tp++) = ((int)(*(unsigned char *)t)>>3 & 007) + '0';
*(tp++) = ((int)(*(unsigned char *)t) & 007) + '0';
+ #endif /* L10N */
} else {
*(tp++) = *t;
}
***************
*** 655,661 ****
--- 701,711 ----
t++;
}
*(tp) = '\0';
+ #ifdef L10N
+ PSkprint(t2,(underline)?'S': 'S');
+ #else
PSprintf("(%s)%c\n", t2, (underline)?'U':'S');
+ #endif
free(t2);
}
***************
*** 1481,1483 ****
--- 1531,1618 ----
return( PS_string);
}
+ /* Follow lines added by kazu@ftk.fujitsu.co.jp */
+ #ifdef L10N
+ void PSkprint(text,command)
+ unsigned char *text;
+ unsigned char command;
+ {
+ unsigned char *drawdata;
+ unsigned char *PS_DrawAscii(),*PS_DrawKana(),*PS_DrawGaiji(),*PS_DrawKanji();
+
+ drawdata = text;
+ while(*drawdata != '\0'){
+ if(!(*drawdata & NIHONGO_MASK)){
+ drawdata = PS_DrawAscii(drawdata,command);
+ continue;
+ }
+ if(*drawdata == G2){
+ drawdata = PS_DrawKana(drawdata,command);
+ continue;
+ }
+ if(*drawdata == G3){
+ drawdata = PS_DrawGaiji(drawdata,command);
+ continue;
+ }
+ drawdata = PS_DrawKanji(drawdata,command);
+ }
+ }
+
+ unsigned char *PS_DrawAscii(data,command)
+ unsigned char *data;
+ unsigned char command;
+ {
+ PSprintf("(");
+ while(!(*data & NIHONGO_MASK) && *data != '\0'){
+ PSprintf("%c",*data++);
+ }
+ PSprintf(")%c\n",command);
+ return(data);
+ }
+
+ unsigned char *PS_DrawKanji(data,command)
+ unsigned char *data;
+ unsigned char command;
+ {
+ PSprintf("KFN findfont FNS scalefont setfont\n");
+ PSprintf("<");
+ while(*data & NIHONGO_MASK && *data != G2 &&
+ *data != G3 && *data != '\0'){
+ PSprintf("%x%x ",*data++,*data++);
+ }
+ PSprintf(">%c\n",command);
+ PSprintf("FN findfont FNS scalefont setfont\n");
+ return(data);
+ }
+
+ unsigned char *PS_DrawKana(data,command)
+ unsigned char *data;
+ unsigned char command;
+ {
+ PSprintf("KNFN findfont FNS scalefont setfont\n");
+ PSprintf("(");
+ while(*data == G2 && *data != '\0'){
+ PSprintf("\\%o",(*++data) & KANA_MASK);
+ ++data;
+ }
+ PSprintf(")%c\n",command);
+ PSprintf("FN findfont FNS scalefont setfont\n");
+ return(data);
+ }
+
+ unsigned char *PS_DrawGaiji(data,command)
+ unsigned char *data;
+ unsigned char command;
+ {
+ PSprintf("KFN findfont FNS scalefont setfont\n");
+ PSprintf("<");
+ while(*data == G3 && *data != '\0'){
+ PSprintf("%x%x ",*++data,*++data);
+ ++data;
+ }
+ PSprintf(">%c\n",command);
+ PSprintf("FN findfont FNS scalefont setfont\n");
+ return(data);
+ }
+
+ #endif /* L10N */
From: K Chinen <k-chinen@is.aist-nara.ac.jp>
Real-Date: Mon, 10 Jan 1994 21:01:50 +0900
Subject: [infotalk,00678] Re: L10N-Mosaic for X 2.1
Message-Id: <9401101201.AA10248@dec413.aist-nara.ac.jp>
[ takada@seraph.ntt.jp (1994/1/7) ]
> Multi-Localization Mosaic for Xの2.1版が一応出来ました。例によって、
PS 出力を Multi-Localization する予定はありますか ?
# とりあえず日本語が使えれば嬉しいのですが、酷なお願いでしょうか...
---
k-chinen@is.aist-nara.ac.jp
<http://wwfs.aist-nara.ac.jp:8001/shika/naist/yamamoto_lab/k-chinen.html>
From: 佐藤進也<sato@mahler.ntt.jp>
Real-Date: Mon, 10 Jan 1994 19:19:38 +0900
Subject: [infotalk,00677] Re: [W3-users 27] Re: W3 mode now supports Mule
Message-Id: <9401101020.AA09596@mahler.ntt.jp>
> ちょっと手間取りましたが動き始めました。ただ問題は Image/audio などバ
> イナリデータがどうもうまくハンドリングできません。
>
> NTT の音声などが潰れてしまいます。北大の絵も出てくれません。なんかおか
> しい。
w3-1.9.9Betaからのpatchesです。w3-vars.elのdiffは、playだ
と "vaildなaudio fileじゃない" という場合があるからです。
.emacsに書いてもいいのですけどね。
佐藤 進也
----- begin -----
diff -c w3-1.9.9Beta/w3-mime.el w3/w3-mime.el
*** w3-1.9.9Beta/w3-mime.el Sun Jan 9 04:01:03 1994
--- w3/w3-mime.el Mon Jan 10 18:26:45 1994
***************
*** 105,110 ****
--- 105,111 ----
"%s%s" ; Authentication
"Accept: %s\n" ; Accept-string
"User-Agent: Emacs-W3/%s\n" ; User agent
+ "Content-type: application/x-www-form-urlencoded\n"
"%s" ; Any data
"\n\n") ; End request
(if meth meth "GET")
diff -c w3-1.9.9Beta/w3-misc.el w3/w3-misc.el
*** w3-1.9.9Beta/w3-misc.el Sun Jan 9 04:01:03 1994
--- w3/w3-misc.el Mon Jan 10 18:28:37 1994
***************
*** 380,385 ****
--- 380,388 ----
"Escape characters in a string"
(let ((str2 "")
(char 0))
+ (if (boundp 'MULE)
+ (setq str (code-convert-string
+ str *internal* w3-mule-retrieval-coding-system)))
(while (not (equal str ""))
(setq char (string-to-char str)
str (substring str 1 nil)
***************
*** 598,603 ****
--- 601,608 ----
(error nil))
(w3-replace-regexp ".*connect:.*" "")
nil)
+ (if (boundp 'MULE)
+ (set-current-process-coding-system *noconv* *noconv*))
proc)))
(let ((tries 1)
(x t)
***************
*** 614,619 ****
--- 619,626 ----
tries (1+ tries))))))
(if (> tries w3-connection-retries)
(format "Could not establish connection to %s:%d" host service)
+ (if (boundp 'MULE)
+ (set-current-process-coding-system *noconv* *noconv*))
z))))
(defun w3-unhex (x)
diff -c w3-1.9.9Beta/w3-mule.el w3/w3-mule.el
*** w3-1.9.9Beta/w3-mule.el Sun Jan 9 04:01:03 1994
--- w3/w3-mule.el Mon Jan 10 17:19:38 1994
***************
*** 28,33 ****
--- 28,36 ----
(defvar attributed-region nil
"Bogus definition to get rid of compile-time warnings.")
+ (defvar w3-mule-retrieval-coding-system *euc-japan*
+ "Coding system for retrieval, used before hexified")
+
(defun w3-mule-attribute-zones (zones attr)
(save-excursion
(let ((c 0) l z beg end)
diff -c w3-1.9.9Beta/w3-url.el w3/w3-url.el
*** w3-1.9.9Beta/w3-url.el Sun Jan 9 04:01:03 1994
--- w3/w3-url.el Mon Jan 10 18:30:14 1994
***************
*** 178,184 ****
(accept-process-output))
(condition-case ()
(delete-process process)
! (error nil))))))))
(progn
(ding)
(message "Aborting connection to bad port..."))))))
--- 178,189 ----
(accept-process-output))
(condition-case ()
(delete-process process)
! (error nil))))))
! (if (and (boundp 'MULE)
! (string= (w3-extension-to-mime (w3-file-extension url))
! "text/html"))
! (code-convert-region
! (point-min) (point-max) *autoconv* *internal*))))
(progn
(ding)
(message "Aborting connection to bad port..."))))))
diff -c w3-1.9.9Beta/w3-vars.el w3/w3-vars.el
*** w3-1.9.9Beta/w3-vars.el Sun Jan 9 04:01:06 1994
--- w3/w3-vars.el Mon Jan 10 09:33:08 1994
***************
*** 571,578 ****
))
("audio" . (
("aiff" . w3-save-binary-file)
! ("basic" . "play %s")
! ("ulaw" . "play %s")
(".*" . w3-save-binary-file)
))
("image" . (
--- 571,578 ----
))
("audio" . (
("aiff" . w3-save-binary-file)
! ("basic" . "showaudio %s")
! ("ulaw" . "showaudio %s")
(".*" . w3-save-binary-file)
))
("image" . (
diff -c w3-1.9.9Beta/w3-viewers.el w3/w3-viewers.el
*** w3-1.9.9Beta/w3-viewers.el Sun Jan 9 04:01:03 1994
--- w3/w3-viewers.el Mon Jan 10 17:11:05 1994
***************
*** 61,66 ****
--- 61,67 ----
((eq w3-always-show-output t) t)
(t (funcall w3-confirmation-func
"View process output?")))))
+ (if (boundp 'MULE) (set-file-coding-system *noconv*))
(write-region (point-min) (point-max) fname)
(kill-buffer w3-working-buffer)
(message "Passing to viewer %s" view)
----- end -----
From: Shin Yoshimura <shin@iij.ad.jp>
Real-Date: Sat, 08 Jan 1994 23:40:18 +0900
Subject: [infotalk,00676] Re: [W3-users 25] W3 mode now supports Mule
Message-Id: <199401081440.XAA13086@mohair.iij.ad.jp>
>>>>> On Thu, 06 Jan 94 03:27:24 JST, TAKADA Toshihiro (高田敏弘) <takada@seraph.ntt.jp> said:
takada> Emacs上で動くWWW ClientのW3-modeが正式にMuleをサポートするようになり
takada> ました。最新版は <file://cs.indiana.edu/pub/elisp/w3/w3.tar.gz> です。
ちょっと手間取りましたが動き始めました。ただ問題は Image/audio などバ
イナリデータがどうもうまくハンドリングできません。
NTT の音声などが潰れてしまいます。北大の絵も出てくれません。なんかおか
しい。
吉村 伸 Shin Yoshimura
Internet Initiative Japan Inc. Operations Div., IIJ
From: 佐藤進也<sato@mahler.ntt.jp>
Real-Date: Sun, 09 Jan 1994 14:33:28 +0900
Subject: [infotalk,00675] Re: [W3-users 27] Re: W3 mode now supports Mule
Message-Id: <9401090534.AA29982@mahler.ntt.jp>
> From: Shin Yoshimura <shin@iij.ad.jp>
> Subject: [W3-users 27] Re: W3 mode now supports Mule
> ちょっと手間取りましたが動き始めました。ただ問題は Image/audio などバ
> イナリデータがどうもうまくハンドリングできません。
>
> NTT の音声などが潰れてしまいます。北大の絵も出てくれません。なんかおか
> しい。
うむむ。そうかもしれない。Mule対応といいながら、実はcoding
systemについては何もいじっていなかったからなあ。(日本語の)
検索もうまくいってみないみたいだし、もうちょっとちゃんと考
えないといかんなぁ。
佐藤 進也
From: t93287nt@sfc.keio.ac.jp
Real-Date: Sun, 09 Jan 94 17:18:07 +0900
Subject: [infotalk,00674] Re: W3 mode now supports Mule
Message-Id: <9401090818.AA11507@cs0.sfc.keio.ac.jp>
遠山@慶応大と申します。
>> 六条@富士通です。
>> > なにぶん、emacs-lisp の事はほぼ何も分からないもので、もしかしたらもの
>> > すごく間抜けなことなのかもしれませんが、どなたか答えて下さる方がいらっ
>> > しゃいましたらお願いします。
>> mule の FAQの一部分を引用します。これで直りました。
なるほど、ange-ftp と mule の問題だったわけですね。めでたく動くように
なりました。どうもありがとうございます。
@@@ 遠山緑生.環境情報学部.湘南藤沢.慶応.大学.日本
/// E-Mail address : t93287nt@sfc.keio.ac.jp