gpt4 book ai didi

html - 如何使 "text-justify:kashida"css 属性对除 IE 浏览器之外的阿拉伯文本产生影响

转载 作者:太空狗 更新时间:2023-10-29 12:35:47 25 4
gpt4 key购买 nike

我正在使用 <p>用于将阿拉伯文本插入 html 页面并赋予 CSS 属性 text-align: justify; 的标记具有特定的宽度和高度(以像素为单位)。

这样一来,就会出现段落中段落单词间空格不一致的情况;我们如何在单词中使用适当的单词拉伸(stretch)(使用适当的 tatweel/kashida)?

我已经用 text-justify: kashida 试过了CSS 属性,但它只适用于 IE,不适用于任何其他浏览器!如图所示,很明显 text-justify: kashida Mozilla 不支持,其他浏览器需要 IE。

如何在所有浏览器中获得相同的行为,以显示与 Internet Explorer 相同的内容?

最佳答案

不幸的是 kashida 似乎从 CSS3 text 中删除并推迟到 CSS4 text ,所以如果你想用 Kashida 证明你的文本,你应该尝试移植 harfbuzz-old adding kashida algorithm (它的算法从新一代的harfbuzz, ref ),它基于存档于 here 的 Microsoft 规范。这是您应该尝试以某种方式实现的 Microsoft 的 kashida 插入优先级表: enter image description here

在 HTML 本身上为文本样式添加 Kashida («ـ») 并不是一个好主意(因为如果用户复制文本,它将包含添加的 Kashidas,这会给浏览器在页面中查找带来问题)但是作为当前的 webkit bug/blink bug (Safari/Chrome) 版本不支持在内联 ( pseudo ) 元素中加入草书字符 (如阿拉伯语/波斯语) 似乎没有任何机会在不插入 Kashida 的情况下获得这种类型的理由 (或者你应该处理您自己的 oncopy 事件有 its 自己的问题)。

同样有趣的是,Microsoft 扩展了 IE Kashida 对齐实现以支持更多有趣的事情,例如 text-kashida-space(在文本对齐时配置 kashida 与空白扩展的比率)。看来我们必须再等十年才能在所有主要浏览器中实现这些。

关于html - 如何使 "text-justify:kashida"css 属性对除 IE 浏览器之外的阿拉伯文本产生影响,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17011065/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com