Upgrade to Pro — share decks privately, control downloads, hide ads and more …

LibreOffice臺灣社群挑戰與未來(CJK)

曾政嘉
October 11, 2017

 LibreOffice臺灣社群挑戰與未來(CJK)

這是我2017年10月11日在義大利羅馬參加 LibreOffice Conference 時的講題,原先以英文呈現,現在我將內容翻譯成了中文,方便給大眾閱讀參考。

內容主要講述目前 LibreOffice 在臺灣遇到的困難挑戰,還有未來展望。

曾政嘉

October 11, 2017
Tweet

More Decks by 曾政嘉

Other Decks in Technology

Transcript

  1. 2 L10N 概覽 五大層面 1. 訊息翻譯 (UI, Help, Website) 2.

    文字輸出 (display on the screen, print on papers) 3. 文字輸入 (type with a keyboard or select with programs) 4. 資訊處理 (supported by the program) 5. 適應當地文化 (such as the calendar, the cultural difference on color psycology, convensions on icon design, etc.)
  2. 3 臺灣社群的 L10N 工作 近幾年來,臺灣社群越來越活躍 • 我主要維護 UI 、網站、網站、網站、 LibreOffice

    Online 翻譯 • Jeff Huang 和我管理 中文站 (NL site) • Mark Hung 改善 CJK 支援 • Franklin Weng 引領臺灣區的 LibreOffice 訓練、網站、導入 、網站、行銷等
  3. 6 民國曆辨識 民國曆的支援不夠直覺 • 治理 臺灣的政府是中華民國 (ROC) ,在中國大陸於 1912 年時成立。

    • 2017 是民國 106 年 (Minguo year 106). (2017-1912+1) • 一般而言,臺灣人 (zh_TW locale) 日常生活中使用兩種曆 – 2 或 3 位數表示 ( 如: 99 或 106) 民國年 – 4 位數表示 ( 如: 2017) 西元年 • 政府機關僅使用民國年。「 106/10/11 」代表 2017/10/11 => 但是 LibreOffice 會辨識為「 0106-10-11 」 https://bugs.documentfoundation.org/show_bug.cgi?id=113184
  4. 9 中日韓文字的直書問題 • CJK 文字的直書排版 (5.3, 5.4) 狀態很糟糕 – 直書文字在

    Impress 投影片放映時無法顯示(含西方文字) – 漢字繪製位置距離游標有一大段距離( 6.0 已修正) To know more about the details of the CJK vertical layout, please read the Chapter 7: Typography, CJKV Information Processing, 2nd Edition by Ken Lunde 垂 直 文 字 vetical text https://bugs.documentfoundation.org/show_bug.cgi?id=103729
  5. 13 亞洲語言注音標示 (Ruby) • 多字標示 Group Ruby (LibreOffice 是以 group

    ruby 為出 發點設計 ) • 以一段注音符號標注兩個以上的字。 日文中用來讀漢字的表示法。 Chapter 7: Typography, CJKV Information Processing, 2nd Edition by Ken Lunde
  6. 14 亞洲語言注音標示 (Ruby) • 中文會遇到的問題 LibreOffice 會自動分詞協助以 group ruby 方式標記註音符號,所以像

    「一見如故」這樣的成語,選取後會被視為一段分詞 (group ruby) 。 可是中文裡我們必須逐一個字去標記字的注音 (CJK)mono ruby). Chapter 7: Typography, CJKV Information Processing, 2nd Edition by Ken Lunde https://bugs.documentfoundation.org/show_bug.cgi?id=113189
  7. 15 亞洲語言注音標示 (Ruby) • 橫書注音 Reference: https://bobbytung.github.io/BopomofoLayoutTest/case01/index.html Upper picture source:

    https://speakerdeck.com/bobbytung/du-2017-liao-zhu-yin-huan-mei-gao-ding-ma Author: Bobby Tung, CC-by-SA 4.0 International Bobby Tung 用來展示 HTML5 ruby 模組實作 的 Demo ,經過 OpenType features 調整 直接以 LibreOffice 注音標示功能輸入
  8. 16 亞洲語言注音標示 (Ruby) • 直書注音 Left picutre source: https://speakerdeck.com/bobbytung/du-2017-liao-zhu-yin-huan-mei-gao-ding-ma Author:

    Bobby Tung, CC-by-SA 4.0 International Bobby Tung 用來展示 HTML5 ruby 模組實作的 Demo ,經過 OpenType features 調整 直接以 LibreOffice 注音標示 功能輸入
  9. 18 傳統字體排印系統(日本) Set A Set B (CJK) 最常用的倍數關係 ) Set

    C ( 常用 ) 初號: 42 pt (4) Title 一號: 27.5 pt (2) 二號: 21 pt (2) Heading 三號: 16 pt (2) 四號: 13.75 pt (CJK)1) 五號: 10.5 pt (CJK)1) Body text 六號: 8 pt (CJK)1) 七號: 5.25 pt (0.5) Ruby 八號: 4 pt (0.5) 這個系統由日本發明,後來傳入臺灣。 有三組倍數關係。黃色:基數
  10. 19 傳統字體排印系統(日本) Set A Set B (CJK) 最常用的倍數關係 ) Set

    C ( 常用 ) 初號: 42 pt (4) Title 一號: 27.5 pt 二號: 21 pt (2) Heading 三號: 16 pt 若視為 15.75 pt (1.5) 四號: 13.75 pt 五號: 10.5 pt (CJK)1) Body text 六號: 8 pt 若視為 7.875 pt (0.75) 七號: 5.25 pt (0.5) Ruby 八號: 4 pt Ruby 黃色:常用組合
  11. 20 傳統字體排印系統(中國) Set A Set B (CJK) 最常用的倍數關係 ) Set

    C ( 常用 ) 初號: 42 pt (4) 小初號: 36 pt Title 一號: 26 pt 小一號: 24 pt (2) 二號: 21 pt (2) 小二號: 18 pt Heading 三號: 16 pt (2) 小三號: 15 pt 四號: 14 pt 小四號: 12 pt (CJK)1) 五號 : 10.5 pt (CJK)1) 小五號: 9 pt Body text 六號: 8 pt (CJK)1) 小六號: 6.5 pt 七號: 5.5 pt Ruby 八號: 5 pt 中國後續也發展出一套可比擬日本的系統
  12. 21 傳統字體排印系統(中國) Set A Set B (CJK) 最常用的倍數關係 ) Set

    C ( 常用 ) 初號: 42 pt (14/3) 小初號 :36 pt (4) Title 一號: 26 pt 小一號 : 24 pt (8/3) 二號: 21 pt (7/3) 小二號 :18 pt (2) Heading 三號: 16 pt 小三號 :15 pt (5/3) 四號 : 14 pt 小四號 :12 pt (CJK)4/3) 五號 : 10.5 pt 小五號: 9 pt (CJK)1) Body Text 六號 : 8 pt 小六號: 6.5 pt 七號: 5.5 pt Ruby 八號: 5 pt 他們發展出更多的倍數關係組合
  13. 22 傳統字體排印系統(臺灣) Set A Set B (CJK) 最常用的倍數關係 ) Set

    C ( 常用 ) 初號 : 42 pt (CJK)14/3) Larger Title 新五號四行: 36 pt (4) Title 一號: 27.5 pt 二號: 21 pt (CJK)7/3) Heading 三號: 16 pt 四號: 13.75 pt 五號: 10.5 pt (CJK)7/6) Larger Body Text 六號: 8 pt 新四號 : 12pt (4/3) Section 新五號: 9 pt (1) Body Text 七號 Seven : 5.25 pt Ruby 八號: 4 pt 綠字:從中國進口的新鉛字大小 黃色:常用組合 臺灣後來從中國引入了新的鉛字大小,用來補充原先的日本系統
  14. 23 傳統字體排印系統(臺灣) 目前 LibreOffice 列出的字型大小有: 6, 7, 8, 9, 10,

    10.5, 11, 12, 13, 14, 15, 16, 18, 20, 22, 24, 26, 28, 32, 36, 40, 44, 48, 54, 60, 66, 72, 80, 88, 96 pt • 排除小字後,過去臺灣、日本、中國最常用的 21 pt & 42 pt ,卻不見 於大小列表中 • 這套傳統字體排印系統近幾年來在臺灣越來越流行,主要因為日星鑄字 行保存的鉛字,以及像字田活印盒這樣的專案持續誕生與推動鉛字應用 • 如果可以實作一個傳統字體排印系統的切換開關選項,方便專業字體排 印設計師選用傳統鉛字倍數系統,會是更好的做法。 https://bugs.documentfoundation.org/show_bug.cgi?id=113191
  15. 24 中文字體排印:第一行縮排 慣例上,中文段落第一行縮排為兩個字 • 如果我們將第一行縮排兩個字,則 LibreOffice 會將縮排距離固定為 21 pt ,因為預設的中文字大小為

    10.5 pt • 然而,當你將段落文字大小調整為 12 pt 後,縮排距離依然維持 21 pt 而沒有隨之變成 24 pt https://bugs.documentfoundation.org/show_bug.cgi?id=36709
  16. 25 進階中日韓文字體排印 文字流折行問題(尚未回報): 1. “ 在「亞洲語言版面配置」設定中,尚未支援 “ Not to be

    broken on either side” 或稱「分離禁止文字 (inseparable characters) 規則」,例 —— …… 如: 和 …… 2. CJK 文字有三種基本的斷行方式 – Push-in-first – Push-out-first – Push-out-only ,或稱標點符號懸尾 (LibreOffice 預設行為 )
  17. 27 進階中日韓文字體排印 文字流折行 • Push-in-first 將禁止出現在開頭的標點符號擠入上一行的尾端 或將下一行的第一個字擠入禁止以標點結尾行的尾端 • 如果 LibreOffice

    能多支援 “這個做法,並且讓使用者自由選用更好 Figure from Chapter 7: Typography, CJKV Information Processing, 2nd Edition by Ken Lunde Fare Use
  18. 28 進階中日韓文字體排印 文字流折行 • Push-out-first ( 容易導致行尾大量餘白 premature end) Figure

    from Chapter 7: Typography, CJKV Information Processing, 1st Edition by Ken Lunde Fare Use
  19. 29 進階中日韓文字體排印 文字流折行 • Push-out-only ,或稱 hanging punctuation (LibreOffice 中預設做法

    ) 將標點符號推到上一行末端假想對齊線右邊緣外的地方(如果是直書的話,則是 對齊線假想下邊緣) Figure from Chapter 7: Typography, CJKV Information Processing, 2nd Edition by Ken Lunde Fare Use
  20. 30 Unicode IDS 支援的可能性 每個 Unicode 新版都在持續增補漢字 • Unicode 10

    Standard: (2017) 136,690 CJK 漢字 • OpenType 字型所能收納的最大字符數: 65,535 glyphs • 新的未收錄漢字字符會遇到兩個問題: – 尚未在 Unicode 標準中編碼 – 即便有編碼,也還沒包含在字型中 • 可以使用 Unicode IDS (Ideographic Description Sequence) 來描述這 些新漢字,並且以 2D 動態組字 • 在 http://組字.意傳.台灣/ 網站中,它可以做到將 Unicode IDS 組字式 回傳為圖片 (Written in Java, source code licensed under Affero General Public License, GitHub project han3_ji7_tsoo1_kian3)
  21. 31 Unicode IDS 支援的可能性 IDS 組字式符號: • ⿰ 左右結合,例如:話 vs

    ⿰言舌 • ⿱ 上下結合,例如:果 vs ⿱田木 / 曌 vs ⿱明空 • ⿲ 左中右結合,例如:湖 vs ⿲氵古月 • ⿳ 上中下結合,例如:舅 vs ⿳臼田力 • ⿴ 外包圍內,例如:囚 vs ⿴囗人 • ⿺ 左下包住右上,例如:翅 vs ⿺支羽 / 過 vs ⿺辶咼 • ⿴⿵⿶⿷⿸⿹ ⿻ 等等。
  22. 32 Unicode IDS 支援的可能性 • ⿰木木 => 林 • ⿱木⿰木木

    => 森 • ⿺辶⿳穴⿰月⿰⿲⿱幺長⿱言馬⿱幺長刂 => ⿺辶⿳穴⿰月⿰⿲ • 如:⿱雨⿰鳥鳥 ( 新創字符 ) => • 如果我們能做出個擴充套件支援 “ IDS 組字式,讓它可繪製出缺字的字符 圖片,我們就能更輕鬆為古籍數位化,將缺字以有意義的組字式與圖片 做成數位文件 這個字符在思源宋體中以 Opentype “ 的 ligature” feature 實 作,可以在 Unicode 標準編碼此字之前先行顯示 Reference site: http://組字.意傳.台灣/
  23. 33 特別感謝: • Dr. Ken Lunde 與他在 CJKV 資訊處理領域中的傑出貢獻 •

    Bobby Tung 與他在 COSCUP 上的注音符號演講 • Shoichi Chou 與他在 COSCUP 上的 Unicode IDS 組字式與缺字演講 • 還有全體 LibreOffice 社群!
  24. All text and image content in this document is licensed

    under the Creative Commons Attribution-Share Alike 4.0 License (unless otherwise specified). "LibreOffice" and "The Document Foundation" are registered trademarks. Their respective logos and icons are subject to international copyright laws. The use of these therefore is subject to the trademark policy. 有問題嗎?