Wednesday, May 20, 2015

Docx 中的爛 bugs

引言

Microsoft Office 自 2007 起,有兩大改變。

第一,介面大改,用甚麼 ribbon ,說甚麼使用更方便。坦白講,對完全未用過 Word 的人來說可能較方便。但用慣的話,實在是更麻煩。例如,文件內有一段文字,我用 mouse highlight,然後 right click,你會發現,今次彈出來的 menu,與下一次彈出來的可能會不同! Microsoft 說甚麼程式能智能地彈出大家最合用的功能。Holy Shix, what the fxxk TMD,為甚麼我做同樣的同動作,我當然期望出現相同的結果,慣了的話憑感覺我便可點中想點選的那一欄。現在次次不同,每次我都要用心望清楚!這個智能設計,全名應為低智能設計吧。

有一些設定,本來在同一個設定視窗下,在不同的tab內作設定便可完成。現在選完一個,按完確定。出番去再選另一個……mouse 都要 click 多幾下……

這個低智能設計,不少人已彈過。今日我想講的,集中在 2007 起的第二個改動,docx。

2007 起更改了預設的格式,稱為甚麼 office open xml。舊有 word document 的 file name extension 由 .doc 改為 .docx,以作識別。

看介紹,好巴閉似的,乎合甚麼甚麼 standard,甚麼 ECMA-376、ISO/IEC29500……

但用下去,我覺得當中的 Word 真是問題多多,新不如舊。當中大部分的問題,都是在繪圖畫布 (Drawing Canvas) 出現。

不知由哪時開始 (XP?還是2003?),Word 引入了繪圖畫布。一直我也覺得在繪圖畫布中畫圖較為方便,如對齊、配置等功能可以更有系統地做到,亦可使文字與圖分割有序。但來到 docx,出現了不少令我難以置信的問題:


1. 繪圖畫布內不能使用對齊功能

假設我想繪畫一個漂亮對稱的十字圖案,繪畫一條水平線,再繪畫一條鉛垂線,利用「水平置中」及「鉛垂置中」,便可輕易對齊,做出十字圖案。但是,在 docx 中,在繪圖畫布內的物件是不可以用對齊功能!奇怪的是,若物件不是在繪圖畫布內建立,例如在主文件中繪畫,設置成「文字在後」,你便可以使用對齊功能。

這個問題我在 Word 2010 中發現,Word 2013 好似已作修正。

這可能不是 Docx 的問題而是 Word 的問題嗎?我不認同。如果你在 Word 2010 中把文件另存為 doc 格式,你便可以在繪圖畫布中使用對齊功能。

2. 繪圖畫布內的線條亂飛

這個,我不作詳細描述了,如畫布內有多個物件,總之你想正正常常用「線條」,畫出的線條會不知往哪裏飛去,很多時會依附在甚他物件上。
折衷辦法是改為用「手繪多邊形」來畫直線。這個折衷方法,我在一個非官方的 office forum 發現。該樓主可真是 MS 忠實粉絲,不斷維護 MS。明明是直線,為何要「繪畫多邊形」,一點也不直觀。而且部分性質用多邊形是改唔到。
初步試,Word 2013 好似修正了這問題。可見 MS 也承認是自家問題。

3. 繪圖畫布內的文字方塊格式不可複製

在繪圖畫布內繪畫一個文字方塊,在文字方塊內打一些英文字,如果你沒有修改過 Word 的預設樣式,這些文字的字型應為「Calibri (本文)」。把這個文字方塊複製,然後在同一個繪圖畫布內貼上,相信大家會期望這個新的文字方塊與舊的一模一樣,以前 Word 2003 年代亦是如此。但事實上,新的文字方塊的字型會更改為「Times New Roman」!不但如此,大家可試試修改下一些段落格式,例如「……貼齊格線……」,再把文字方塊 copy and paste,你亦會發現段落格式亦有改變。假設我設定了文字方塊內的「樣式」,例如記作「文字方塊樣式1」,把文字方塊 copy and paste,你會發現新的文字塊樣式,並不是「文字方塊樣式1」!
奇怪的是,如果文字方塊不在繪圖畫布內,而是在主文件,文字在後,沒有這個問題。
另一個奇怪的東西,如果我們不使用「繪製文字方塊」,而是用「簡單文字方塊」,這時default 的字型不是「Calibri (本文)」,而是「Calibri 」,當你把這個文字方塊在同一個繪圖畫布內 copy and paste,字型不會改變。但如果修改過段落格式,仍會有影響。

有一個折衷方法,就是不要用 keyboard 的 ctrl + c, ctrl + v ,也不要用 mouse >> right click >>... 來 copy and paste。你可以按實 keyboard 的ctrl,並用mouse拉動文字方塊來進行 copy and paste,你會發現可保留原來的格式。不過,如果你需要在不同文件之間進行copy and paste,便用不到這個方法了。

如果使用 doc 格式,繪圖畫布亦沒有這個問題。十多年前的 2003 也沒有這個問題。

Word 2010, 2013皆有此問題!不知將推出的 Word 2016 如何了……

4.  消失了的文字方塊

有時把主文件內 (不是繪圖區內) 的文字方塊 copy and paste,你會發覺文字方塊會不知去了何處。但你如個search 一 search 文字方塊內的內容,word 會找到東西,但仍不會在文件中看到該文字方塊。我估計文字方塊超出了頁面範圍,但又沒有去到下一頁,文字方塊消失在時空的陜鏠之中……不能逃出來  :(

結語


我主要在 2010 及2013 中測試,實在很奇怪過往 (2003) 沒有問題的地方,為何現在問題多多。更甚者,office 使用者眾,很多問題均已被發現。以上部分問題,我在 google 尋找,亦有人提及,部分更出現在 MS Office 的 Forum 內。但 docx 已經歷三代,仍未解決這些問題。

如果 Microsoft Office 是免費產品,這些問題我全都可以容忍,但是大家也知道 Microsoft Office 是甚麼價錢吧,你可以容忍嗎?