[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[debian-devel:13035] Re: jgroff patch handling on latin1 (Re: linuxdoc-tools: no Korean .txt output!)



ä¹…ä¿ç”°ã§ã™ã€‚

At Sat, 14 Oct 2000 06:20:48 +0900,
Fumitoshi UKAI <ukai@debian.or.jp> wrote:

> ã¾ãšã¯ç¾çŠ¶ãŒã©ã†ãªã£ã¦ã‚‹ã‹è¦‹ã¦ã¿ã¾ã—ãŸã€‚
> project/experimental/groff_1.16-1ã‹ã‚‰ NIPPON関係をã¬ãã ã—ãŸã ã‘ã§ã™ãŒ

ãŠã¤ã‹ã‚Œã•ã¾ã§ã™ã€‚ç§ã¯ã€grep NIPPON ã—ãŸã¨ãã«å¤§é‡ã«å‡ºã¦ããŸã®ã‚’
見ãŸã ã‘ã§ã’ã‚“ãªã‚Šã—ã¦ã¾ã—ãŸã€‚



ã¾ã ã€ä½œæ¥­ã‚’åˆã‚ã‚‹å‰ã«ã€å¯èƒ½ã‹ã©ã†ã‹ã€æ§‹æƒ³ã‚’ç·´ã£ã¦ã„ã‚‹ã¨ã“ã‚ã§ã™ãŒã€‚
(コードを読んã ã‚ã‘ã§ã¯ãªã„ã®ã§ã€è¦‹å½“外れãªã“ã¨ã‚’言ã£ã¦ã‚‹ã‹ã‚‚ã—ã‚Œã¾ã›ã‚“)。

# ã“ã‚Œã¯ã€ã„ã‚ゆる「作業予約ã€ã®ã¤ã‚‚ã‚Šã§ã¯ã‚ã‚Šã¾ã›ã‚“。作業を
# ã‚„ã‚‹ã“ã¨ã‚’検討ã—ã¦ã„ã‚‹æ–¹ã¯ã€ã“れを読んã§ä½œæ¥­ã‚’ã‚„ã‚よã†ã¨æ€ã‚ãªã„ã§
# 下ã•ã„。

入力ã«ã¤ã„ã¦ã¯ã€wchar_t を使ã†ã¨ã†ã¾ãã„ããã†ã§ã™ãŒã€
出力ã«ã¤ã„ã¦ã¯ã©ã†ã§ã—ょã†ã‹ã€‚ã©ã†ã„ã†ä»•æ§˜ã«ã™ã‚‹ã¹ãã ã¨
æ€ã„ã¾ã™ã‹ï¼Ÿ

ç§ã¯ã€ãƒ‡ãƒã‚¤ã‚¹ã‚¿ã‚¤ãƒ—ã® -Tasciiã€-Tlatin1ã€-Tnipponã€-Tascii8ã€-Tutf8 ã¯
全廃ã—ã¦ã€-Ttty ã¨ã‹ã®ãƒ‡ãƒã‚¤ã‚¹ã‚¿ã‚¤ãƒ—ã«çµ±ä¸€ã—ã¦ã—ã¾ã†ã®ãŒã„ã„ã¨æ€ã£ã¦
ã„ã¾ã™ã€‚ã“ã‚Œã«ã¤ã„ã¦ã¯ãŸã¶ã‚“ç•°å­˜ã¯ãªã„ã¨æ€ã†ã®ã§ã™ãŒã€å•é¡Œã¯ã€
ãƒã‚¤ãƒ•ãƒãƒ¼ã‚·ãƒ§ãƒ³æ–‡å­—ã‚„ \(co ãªã©ã®æ‰±ã„ã§ã™ã€‚

# groff ã®ã‚¢ãƒƒãƒ—ストリームã¨ã¯ã¾ã è©±ã—ãŸã“ã¨ãŒãªã„ã®ã§ã™ãŒã€
# -Tutf8 を廃止ã™ã‚‹ã¨ã‹è¨€ã£ãŸã‚‰å対ã™ã‚‹ã®ã‹ãªã€‚
# ã§ã‚‚ã€ç§ã®æ„見ã¨ã—ã¦ã¯ã€UTF-8 ã®ã‚µãƒãƒ¼ãƒˆã¯ locale ã®æž çµ„ã®
# ãªã‹ã§ã‚„ã‚‹ã¹ãã ã¨æ€ã£ã¦ã¾ã™ã‹ã‚‰ã€UTF-8 ã ã‘特別扱ã„ã™ã‚‹ã¹ã
# ã§ã¯ã‚ã‚Šã¾ã›ã‚“。

ç¾åœ¨ã® groff ã§ã¯ã€ãれら㯠-Tascii 㨠-Tlatin1 ã¨ã§ä½¿ã„分ã‘ã‚‹ã“ã¨ãŒ
ã§ãã¾ã™ã€‚ãŸã¶ã‚“出力ã«ã¯ putwchar() ã¨ã‹ wprintf() ã¨ã‹ãŒä½¿ã‚れるã“ã¨ã«
ãªã‚‹ã¨æ€ã†ã®ã§ã™ãŒã€ãã†ã™ã‚‹ã¨ã€ISO-8859-1 㧠0xa9 ('(C)') ã‚„
0xad (ソフトãƒã‚¤ãƒ•ãƒ³) ã«ç›¸å½“ã™ã‚‹æ–‡å­—ãŒè¡¨ç¤ºã§ããªã„環境
(LANG=ja_JP.eucJP ãªã©) ã§ã¯ã€ç–‘å•ç¬¦ã€Œ?ã€ã§è¡¨ç¤ºã•ã‚Œã¦ã—ã¾ã†
ã“ã¨ã«ãªã‚Šã¾ã™ã€‚ã“ã‚Œã¯ã€æ”¹æ‚ªã«ãªã‚Šã¾ã™ã€‚ãã“ã§ã€å‡ºåŠ›ç’°å¢ƒã«
å¿œã˜ã¦ u+00a9 ã¨ã€Œ(C)ã€ã¨ã‹ã€u+00ad ã¨ã€Œ-ã€ã¨ã‹ã‚’使ã„分ã‘るよã†ãª
機構ãŒå¿…è¦ã«ãªã‚Šã¾ã™ã€‚ã“ã‚Œã¯ã€setlocale(LC_CTYPE,NULL) ã®çµæžœã‚’
見ã¦å ´åˆåˆ†ã‘ã™ã‚‹ã®ãŒã„ã„ã®ã§ã—ょã†ã‹ï¼Ÿ ã“ã‚Œã ã¨ãƒãƒ¼ãƒ‰ã‚³ãƒ¼ãƒ‡ã‚£ãƒ³ã‚°ã«
ãªã£ã¦ã—ã¾ã†ã®ã§ã‚ã¾ã‚Šã‚ˆã‚ã—ããªã„ã§ã™ãŒã€‚(ã„ã¾ã¾ã§ã® groff ãŒ
ã²ã©ã‹ã£ãŸã®ã§ã€æ”¹æ‚ªã¨ã„ã†ã“ã¨ã«ã¯ãªã‚‰ãªã„ã¨æ€ã„ã¾ã™ãŒ)。

ãã‚Œã‹ã‚‰ã€ãれらã®æ–‡å­—をソースコード上ã§è¡¨ç¾ã™ã‚‹ã«ã¯ã©ã†ã™ã‚Œã°
ã„ã„ã®ã‹ã€ã¨ã„ã†å•é¡ŒãŒã‚ã‚Šã¾ã™ã€‚ã¨ã„ã†ã®ã¯ã€ãƒ¯ã‚¤ãƒ‰æ–‡å­—ã®å®šç¾©ã¨
ã—ã¦ã€0x21-0x7e ã®ç¯„囲㯠ASCII ã¨ä¸€ç·’ã§ã™ãŒã€ãれ以外ã«ã¤ã„ã¦ã¯
何ら仮定をã—ã¦ã¯ã„ã‘ãªã„ã“ã¨ã«ãªã£ã¦ã„ã¾ã™ã€‚glibc ã§ã¯ UCS-4 ã¨
ã„ã†ã“ã¨ã«ãªã£ã¦ã„ã¾ã™ãŒã€ãã‚Œã«ä¾å­˜ã™ã‚‹ã‚³ãƒ¼ãƒ‰ã‚’書ãã¹ãã§ã¯ã‚ã‚Šã¾ã›ã‚“。

# groff 1.16 ã® font/devlatin1/R.proto ã§ã¯ã€å½“然ã®ã“ã¨ãªãŒã‚‰ã€
# ãれらを ISO-8859-1 ã§è¡¨ç¾ã—ã¦ã„ã¾ã™ã€‚改造後㮠font/devtty/


入力ã«ã¤ã„ã¦ã¯ glibc 2.2 ã§ã¯ fgetc() ã®ã‹ã‚ã‚Šã« fgetwc() を使ã£ã¦
ã—ã¾ãˆã°å•é¡Œã¯ã™ã¹ã¦è§£æ±ºã€ã¨ã„ã†æ°—ãŒã—ã¾ã™ã€‚ã“れを使ã†ã¨ã€
入力ã«ã¤ã„ã¦ã¯æœ€åˆã‹ã‚‰ãƒ¯ã‚¤ãƒ‰æ–‡å­—ã«ãªã‚‹ã®ã§ã€ãƒžãƒ«ãƒãƒã‚¤ãƒˆæ–‡å­—ã«ã¯
一切触らãªãã¦ã‚‚ã„ã„ã“ã¨ã«ãªã‚Šã¾ã™ã‹ã‚‰ã€‚ã¨ã„ã†èªè­˜ã¯æ­£ã—ã„
ã§ã—ょã†ã‹ï¼Ÿ

# is_euc_byte ã¨ã‹ã¯ä¸è¦ã«ãªã‚Šã¾ã™ã—ã€mbrtowc() ã¨ã‹ wcrtomb()
# ã¨ã‹ã‚‚使ã†å¿…è¦ãŒãªããªã‚Šã¾ã™ã€‚ãŸã ã—ã€glibc 2.1 ãªç’°å¢ƒã§ã¯
# コンパイルã™ã‚‰ã§ããªããªã‚Šã¾ã™ãŒã€‚Linux ã¯ã„ãšã‚Œ glibc 2.2 ã«
# 移行ã™ã‚‹ã‹ã‚‰ã„ã„ã§ã—ょã†ãŒã€ä»–ã® UNICES ã«ã¤ã„ã¦ã¯ã©ã†ã§ã—ょã†ã‹ã€‚
# portability を考ãˆã‚‹ã¨ã€ãã®ã¸ã‚“ã®é–¢æ•°ã¯ä½¿ã‚ãªã„ã»ã†ãŒã„ã„ã®
# ã§ã—ょã†ã‹ã€‚ãã‚Œã¨ã‚‚ã€UNICES ã®ãªã‹ã§ã¯ Linux ãŒã„ã¡ã°ã‚“
# 国際化ãŒãŠãã‚Œã¦ã„ã‚‹ã®ã§ã€Linux ã§å‹•ãã‚‚ã®ã¯ãŸã„ã¦ã„ä»–ã§ã‚‚
# å‹•ãã®ã§ã—ょã†ã‹ã€‚

---
Tomohiro KUBOTA <kubota@debian.org>
http://surfchem0.riken.go.jp/~kubota/