對齊

2018-02-24 15:35 更新

 “...所有的元素都是正方體。但是從二十世紀開始使用標點後,到了現代桌上出版時代,許多排版工具軟體都直接套用來自日本的「禁則處理」—即避頭尾點;加上與西方文字混排的狀況越來越多,以至於無法做到縱橫對齊的基礎。但是至少段落的頭尾還是需要對齊。這就是為什麼對齊對電子書與長文章來說十分重要的原因?!?br /> ——董福興《簡單做好中文排版》

  在英文的段落排版中,通常是左側對齊,而讓右側自然形成起伏邊(rag)。對中文排版與閱讀習慣而言則相反,段落的頭尾對齊尤其重要。

  先來看一個反例:

  這是Zaker的新聞正文的表現,在夾雜了數字或英文字母字符的情況下,原本中文的整齊排列被打亂了,右側嚴重參差不齊,非常難看。

  看看同一篇文章其它App是怎么處理的:?

  左邊是網易云閱讀,右邊是網易新聞。兩者的處理方式類似,都是通過程序的設置,微調文字的間距以補足右邊存大的空白,區(qū)別是當標點出現在行末時,網易云閱讀將標點外置,而網易新聞將標點放在了內部。

  文字的對齊方式,可以用簡單的代碼實現:

  Web App中,使用CSS類中指定justify屬性值控制即可,以下為兼容性較佳的方案

.space-betw {   -webkit-box-pack: justify;  -moz-box-pack: justify; -ms-flex-pack: justify; -webkit-justify-content: space-between; justify-content: space-between;} 

  原生iOS中,需為字符串對象設置NSTextAlignmentJustified值

- (NSDictionary *)demoTextAttributes {    NSMutableParagraphStyle *ps = [NSMutableParagraphStyle new];    ps.alignment = NSTextAlignmentJustified;    // here, NSBaselineOffsetAttributeName must be set though the default value is 0 to make the justified work.    return @{NSParagraphStyleAttributeName :ps, NSBaselineOffsetAttributeName : @0.0f};} 

  這個方法,結合之前我們通過柵格系統對字號和文本容器寬度的規(guī)范定義,終于可以避免App中常見的段落文字對不齊,對不準的老問題。

以上內容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號