一个使用动态编程的很酷的文本对齐工具

2020-10-27 02:41:00

Web上的文本对齐方式真的很难看。浏览器选择尽可能天真地在每一行上进行垃圾邮件,但这种贪婪的算法会留下松散的文本行,并且有很大的裂口。

几百年来,有理有据的文字被认为是高超而美丽的;只有在浏览器时代,设计师才会抛弃它--而且有很好的理由。在浏览器上,对齐的文本很难看。

请注意悬垂的标点符号,并且文本可以内联更改样式--粗体字变宽了,但文本仍然正确对齐。还支持浮动和其他对文本的侵入。

当与连字符函数配合使用时,不合理的效果最好;我推荐使用Hypher(这就是我使用的)。

“不合情理”在Chrome和Safai上运行得很好,在Firefox和Edge上也运行得很好。它会在一些移动浏览器上留下一个略显粗糙的画面,你可以自己决定该怎么做。

Const options={拉伸:15,收缩:-1,悬垂:20,hyhenPenalty:1000,hyphator:function(W){//返回可连字的音节数组return[w];},};const JUSTIFY=UNSIGNSEARED(OPTIONS);

留作标点符号的空间大小,以px为单位,在边框上方漂亮地悬挂。通常情况下,最好用来设置文本块的样式。

(或不管悬垂是什么),以确保文本的对齐行出现在您期望的位置,以及悬挂的标点符号...。挂起来了。

它是一个动态规划算法,就像Knuth和Plass一样,但它比Knuth和Plass快。速度的提高来自于接受其成本函数的一部分的次优结果:一条线路和随后的线路之间的压缩差异。