天天看點

文字處理技術:布局的核心是行布局,難點是換行算法

  幾天前驗證了新的布局思路(非常巧妙),簡單改了一下就達到了目标。因為還涉及其他修改,暫時沒有開通。

  之後就想,吾現在要精确布局。什麼意思?咱先不要求别的,起碼一行有幾個漢字,這個要正确。這是最基本的要求,應該也容易(想着都簡單)做到。事情當然沒有這麼簡單,為什麼呢?

  然後吾自己做了一批測試文檔,發現布局确實有問題,就是一個字明明應該在上一行,結果換行到下一行。這是怎麼回事呢?吾就進行了深入分析,被原來的算法繞得暈頭轉向,最終還是解決了。

 解決了之後,吾就明白過來:文字進行中,布局的核心是行布局。行布局有幾個難點:

  • 标點壓縮。這個是中文特性。
  • 空格壓縮。以英文為主,中文基本沒有空格。
  • 單詞換行。又稱斷行,這個算是英文特性。
  • 表格、繞排的處理。

  文字處理技術之是以複雜,一方面算法本身就複雜(如标點壓縮),另外就是這麼情況要同時考慮進去,還要考慮到縮進、制表、邊框、偏離(如段落中繪制漢字,要偏離上、左一定距離)。你覺得改一點不會影響其他,牽一發動全身,很有可能呼啦一下全錯了。

  于是就決定,先修改行布局。咱做事都是從最難的開始。

繼續閱讀