作者Tiberius (渴望平凡的幸福)
看板digitalk
标题Re: [打屁] 组新电脑啦
时间Sat Jul 7 14:16:28 2007
※ 引述《Alesxavier (亚雷斯)》之铭言:
: 我去试了一下, 发现你用的转码表是从uao(Unicode-At-On Unicode补完计画)转过来的,
: 可以看到别人打的uao字是不错, 但我发现也能够输入uao字集...
: (这个是我所不愿发生的事, 我不太清楚pietty, zterm, open pcman 2007怎麽处理的)
: 看得到, 但不能输入好像对我来说比较好?
这大概没有办法,因为 screen 查转码表的方式是最传统的「循序查询」
而且我依稀记得没有代码让它不对某个特定 pair 做转换
如果中间给它填 0 下去的话, screen 扫到那个码之後, 就不会再继续往後扫了
会让後面所有的码转不动 ...
(太久没追 code 了, 现在又没空去翻, 抱歉 :p)
: 复制贴上
: 贴bbs会变成uao字集我也不喜欢, 这跟可以输入差不多,
: 贴winxp记事本当然希望是unicode码(utf8, utf16 le ...都行, 不要是uao独有的就好)
: 所以看了一下这一篇 http://www.moztw.org/docs/big5/
: 我还是采用Big5-2003字码表就好.
: (big5日文之前我装了opendesktop字型就解决我要的了, 字宽字高都与(新)细明体相同)
: http://www.opendesktop.org.tw/modules/news/article.php?storyid=106
: 这样的话, 我用Big5-2003转码表,
: 装screen-4.0.2-uao.diff能解决Big5字码区0x8140-0x9FFE文字不能正常解码的问题吗?
对, 这个档就是修改 screen 允许的字码范围用的
要用 Big5-2003 转码表的话也要上这个 patch.
至於那边的 18 档比较小 ... 我猜可能是有两个原因:
1. uao 涵盖的范围比较广 (日文汉字部分全包含了)
well, 关於这点我再次强调, 我不管别人用不用得到想不想用, 总之「我有需要」 XD
2. 当初有配合 uao 的作者以及 screen 的查表机制,
处理 unicode -> uao 多对一, 但 uao -> unicode 一对一的特例
但是因为开头提过的原因,
所以 moztw 那边的作法, 也就是 unicode -> uao 单向转换的机制
(应该)用 screen 是「办不到的」 ...
以上只有自己小心, 或是乾脆直接用 utf-8 上 bbs (至少 ptt 可以)
(不过我还是觉得, 看得懂的 || 想看的多半会装, 反之看到了也不懂意思, 所以没差啦!
-- 给我拖出去)
: 另外就是字宽问题, 我patch了之後依旧有问题, 查到了这些
: http://www.csie.ntu.edu.tw/~r92030/project/big5width/
: http://sbt.idv.tw/tBoard/index.py?m=pl&f=25&t=564
: 原来是与locale有关...
: 一篇是FreeBSD的解决法, 一篇是linux的解决法,
: 就是没有Solaris的solution.....Orz
: (偏偏我会用到, 且不知怎麽解决, 有人能提供意见吗? Solaris 8,9,10)
第二篇我的 patch 是去动 glibc 计算字串显示宽度的部分
(像 wcswidth 这类函式在 linux 下面是由 glibc 提供的)
您用 solaris 可能得去看它是靠谁计算字宽, and/or 它用的参考表放在哪里 ...
我记得 screen 不管这些, 它只靠系统提供的服务去算
要注意的是, 在 utf-8 locale 之下,
screen 内部是以 utf-8 维护自己的 terminal emulator,
所以不能只改 big5 的部份, utf-8 那边也需要注意.
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 59.126.63.79
1F:推 Alesxavier:再次感谢您的说明, 那那个poorman-drawing要装吗? 07/07 17:02
2F:推 Tiberius:那影响的是 dialog, 不影响 screen/bbs XD 07/07 21:02
3F:推 Alesxavier:这样我懂了, 有用到dialog的shell script要用那个patch 07/07 21:17