No. 126/622 Index Prev Next
Path: titcca!nttlab!ouicsu!icssm!icsts1!saitoh
From: saitoh@icsts1.osaka-u.junet (SAITOH Akinori)
Newsgroups: fj.sources,fj.kanji
Subject: jnews Patch #4 (Was Re: How can I `rot13' KANJI text) (In Japanese)
Message-ID: < 740@icsts1.osaka-u.junet>
Date: 25 Jul 87 19:11:29 GMT
References: < 694@icsts1.osaka-u.junet> < 606@titnca.nc.titech.JUNET>
Distribution: fj
Organization: tokura-lab., Osaka Univ., Japan
Lines: 106
Xref: titcca fj.sources:376 fj.kanji:183
In article < 606@titnca.nc.titech.JUNET> , xwada@titnca.nc.titech.JUNET (Toshikazu Wada) writes:
> 漢字にROT13をかけただけでは
> 内容が大体分かってしまいます.で,別に暗号化ではないにしろ
> 一目見ただけでは内容が全く分からないようにする方法がいずれ
> 必要になると思います.(ROT13と同じ理由で)
:
> 齊藤さんはROT47がいいのでは
> ないか?と
:
> 確かに全く読めません.
ROT47の利点は、まだありまして、rot13と同じく、暗号化と
複合が同じ手続きで出来ることです。
というだけではなんなので、jnewsを改造してrot47を受け付ける
ようにしました。エスケープシーケンスごとrot47してもかまいません。
rot13が D コマンドだったので、 rot47 は、ESC-D にしました。
help ファイルは書き替えませんでしたので、忘れずに覚えていて
ください。 ESC D です。
斉藤 明紀
齊藤@都倉研.情報.基礎工.阪大
saitoh@icsts1.handai.junet
------------------------------------------------------------
Index: jvisual.c
Prereq: 1.10J
*** jvisual.c.0 Sun Jul 26 00:27:38 1987
--- jvisual.c Sun Jul 26 03:54:40 1987
***************
*** 2,8 ****
* visual - visual news interface.
* Kenneth Almquist
* modified by Saitoh Akinori(saitoh@handai.junet)
! 1.10J Fri Jun 12 02:25:57 JST 1987
*/
#ifdef SCCSID
--- 2,8 ----
* visual - visual news interface.
* Kenneth Almquist
* modified by Saitoh Akinori(saitoh@handai.junet)
! 1.20J Sun Jul 26 03:53:53 JST 1987
*/
#ifdef SCCSID
***************
*** 504,509 ****
--- 504,525 ----
break;
+ /* Decrypt KANJI joke. Always does rot 47 */
+ case META|'D':
+ appfile(fp, 32767);
+ for (i = hdrend ; i < artlines ; i++) {
+ register char ch, *p;
+ tfget(linebuf, attrbuf, i);
+ for (p = linebuf ; (ch = *p) != '\0' ; p++) {
+ if (ch >= 0x21 & & ch <= 0x7e)
+ *p = (ch - 0x21 + 0x2F) % 0x5E + 0x21;
+ }
+ (void) jtfput(linebuf, attrbuf, i);
+ }
+ prflags |= NEWART;
+ prflags & =~ (HDRONLY|NOPRT);
+ break;
+
/* Decrypt joke. Always does rot 13 */
case 'D':
appfile(fp, 32767);
***************
*** 1572,1578 ****
}
break;
case '$':
! if (c== '@' || c=='B'|| c=='B'+13) {
st = 0;
md = KANJI_H;
continue;
--- 1588,1594 ----
}
break;
case '$':
! if (c== '@' || c=='B'|| c=='B'+13 || c== 'B'+47) {
st = 0;
md = KANJI_H;
continue;
***************
*** 1580,1586 ****
break;
case '(':
if (c== 'J' || c=='H' || c=='B'
! ||c== 'J'+13 || c=='H'+13 || c=='B'+13) {
st = 0;
md = 0;
continue;
--- 1596,1603 ----
break;
case '(':
if (c== 'J' || c=='H' || c=='B'
! ||c== 'J'+13 || c=='H'+13 || c=='B'+13
! ||c== 'J'+47 || c=='H'+47 || c=='B'+47) {
st = 0;
md = 0;
continue;
Next
Continue