为什么 ie 之外的浏览器都不支持 text-autospace?

2014-12-19 12:03:22 +08:00
 icylogic
w3 之前的 css3 标准 http://www.w3.org/TR/2011/WD-css3-text-20110215/#text-autospace

中文和数字, 符号以及英文之间显然应该有 space, 我看到 @Livid 给 v2ex 在标题里自动加了空格


但是我认为这个 space 不应该是由我们手动敲甚至是自动添加, 这是样式而不是内容, 那么为什么浏览器都不支持这个可以自动处理 ideograph 和 numeric, alpha 之间空隙的属性? 只有 ie 支持?

ie 下 (字体是 v2ex 自己这么 fallback 的)

使用前



使用后



已经有空格的 (对比左下角和右上角)

使用前



使用后



Firefox

5634 次点击
所在节点    问与答
43 条回复
kisshere
2014-12-19 15:16:32 +08:00
IE就是傻逼,他就是支持了css3他也是傻逼,就像一个妓女从良了,你愿意娶她做老婆么,IE傻逼,傻逼
icylogic
2014-12-19 15:32:26 +08:00
@kisshere 这个内容不在 CSS3 的最终标准里, 所以跟 CSS3 关系不大
Phariel
2014-12-19 15:55:09 +08:00
w3标准先把阿拉伯语言和其他语言混排在rtl排版下各种bug以及左右括号rtl的bug修了再说这个吧 人家连最基本的正常显示都没搞定。
zhouzm
2014-12-19 16:49:53 +08:00
@icylogic
简单列一些软件,Vim、Emacs、Editplus、Eclipse、Notepad。。。

我想让别人看到的是“歼7”而不是“歼 7”
zzColin
2014-12-19 18:04:49 +08:00
表示我在理论上属于手动空格党……而且我的理由比较独特:
中文和英文数字之间若不加空格会违反英文的排版规则,加了空格则两者的规则都不违反,因为英文规定单词除了粘连一个标点符号的情况外必须用空格定界,而中文自身的规定管不到这个地方。

我认为渲染器要做的应该是把中英文之间已经加上的空格缩放成 1/4 em 宽度或者直接上下文替换成 U+2005 这个字符来显示,而不是在没有空开的地方加上这个空,这样也就可以解决 @zhouzm 的问题。
zzColin
2014-12-19 18:22:01 +08:00
@icylogic 在我的理解上这个空格属于英文管的范围里面,参见我在楼上的回复,所以它应该和英文单词之间的空格是一样的概念,只不过排版上可能更倾向于额外做一点宽度上的处理罢了。
hljjhb
2014-12-19 18:31:45 +08:00
@kisshere 注意素质
hjc4869
2014-12-19 21:02:40 +08:00
@kisshere
1.真心没觉得你的比喻多恰当。
2.注意言辞与素质。
joyee
2014-12-19 21:09:04 +08:00
@icylogic

浏览器不愿意实现大约是因为既然 IE 实现过了,那大家要尽量保持类似吧……可是标准本来就不清不楚,最后还拖到了 CSS4,加之这个 auto space 属性目前的设计并没有提供指定到底留多少空的方法,对照出版业标准的话,比如日文就有三分アキ(1/3 全角字宽)和四分アキ两种,可能觉得麻烦所以干脆先不实现吧。
https://bugzilla.mozilla.org/show_bug.cgi?id=289130

chromium 的 issue tracker 上甚至找不到相关 issue,囧……

另外word-break-cjk有多少浏览器实现了?测试了一下貌似 chrome 和 firefox 的最新稳定版都没有……
joyee
2014-12-19 21:28:08 +08:00
@icylogic
顺便找了一下 word-break-cjk 没有出现在目前的 firefox 的原因: https://bugzilla.mozilla.org/show_bug.cgi?id=249159

想想看 text-autospace 会在很大程度上影响到整个排版,也有可能会挂掉部分其他“重要属性”的回归测试……毕竟重要程度不高,再和标准不稳定的因素混在一起,不实现也是可以理解的
fuxkcsdn
2014-12-19 21:28:19 +08:00
其实还有挺多IE实现的东西其他浏览器没实现的,比如colgroup这个标签,其他浏览器上这个标签基本上没用,但W3标准里这个标签对于表格的列属性起到很大的作用,比如要让表格所有行的某一列显示特殊的样式。不过印象中IE8以上的IE对这个标签的支持也变渣了

@hljjhb
@hjc4869
某人的言论被删除了?
看了一圈下来没发现啥激烈的言辞,突然发现你们同时@一个人,现在除了在想到底是该人自己删除的帖子还是管理者删除的外更多的是纠结于他到底说了什么...
joyee
2014-12-19 21:36:16 +08:00
@fuxkcsdn

> kisshere 6 小时 18 分钟前 via Android
> IE就是傻逼,他就是支持了css3他也是傻逼,就像一个妓女从良了,你愿意娶她做老婆么,IE傻逼,傻逼

屏蔽了?
hjc4869
2014-12-20 00:28:57 +08:00
@fuxkcsdn 见21楼。

kisshere 9 小时 11 分钟前 via Android

IE就是傻逼,他就是支持了css3他也是傻逼,就像一个妓女从良了,你愿意娶她做老婆么,IE傻逼,傻逼

(我不知道有没有我b过的人回复这个帖子所以并不准确。
kuxiazi
2014-12-20 03:05:43 +08:00
@hjc4869 这里都是果粉 软黑已经丧心病狂 据说IE12支持扩展
icylogic
2014-12-20 03:46:46 +08:00
@zhouzm
//写了一晚上滤波器深夜上来水,大脑有点不清楚哈
我其实是在想,word 和其他专业排版软件就已经按照 1/4 解决了(当然 iWorks 和其他 LibreOffice 之类的我没试过不知道),至少你应该承认这是一种比空格好得多的解决方式。
那么普通用户平时阅读屏幕文字,最大的来源应该就是浏览器,这是浏览器避不开的问题。
而这显然不可能通过你说的“约定“解决,谁也不会跟你约。你看到我也会加空格,因为这是目前没有办法的办法,但我们怎么做和浏览器怎么去做是两回事,我们自己用空格,那浏览器就什么也没有做。
而且不要觉得这个属性和空格相斥,对于已经加了空格的它不会处理。
歼7这个我一直不明白你逻辑,浏览器支持这个属性代表它是可选的,去选择的是设计者,为什么要假设是浏览器逼你改变习惯。
不过其实不止数字,符号也是问题,但现在能在中英文间加空白且不会对于空格额外加 (事实上可以加) 已经可以解决主要矛盾。
icylogic
2014-12-20 04:01:00 +08:00
@zzColin
实际上你去选的话可以看到这个空白好像算到中文边界了。。。而且值得吐槽的是中英文一起选不是等高。。
还是想再说一下默认不对 numeric 处理的。
我不太明白这里空格重新渲染的意义在哪里?本来半角空格就应该在 0.2-0.3 em了。
我现在打字时也是加空格的,只是自己写 css 的时候会希望有这么一个属性。
icylogic
2014-12-20 04:07:40 +08:00
@joyee 诶?我以为 ff 实现了呢。。加上 -webkit -Moz 之类的不行么?反正现在标准也没人管了。。这本来就是个排版问题,当然是会影响全局排版,不过如果对于 ff 来说不可控的话那就随便他吧。我还一直觉得 ff 挺喜欢引入 bug 的。。
icylogic
2014-12-20 04:13:34 +08:00
@fuxkcsdn 当前 CSS 的主要任务是拿出一套完整可用的布局解决方案,统一一下目前解决一个问题我有十种方案,每种都像我在 hack 她一样的混乱局面。。我觉得倒是可以参考下 android 的 layout。。。
icylogic
2014-12-20 04:31:29 +08:00
@hjc4869 我在想我是不是在群里见过你。。
hjc4869
2014-12-20 08:48:19 +08:00
@kuxiazi 并不是很期待,ActiveX Add-on基本够用了,Extension只会更吃RAM。。
@icylogic 也许吧。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/155083

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX