レポート

LibreOffice CJK問題の第一人者が語る,これまでとこれから 〜LibreOffice Asia Conference 2019 Tokyo基調講演「LibreOffice CJK Bugs, Fixes, and Stories.」レポート〜

この記事を読むのに必要な時間:およそ 3.5 分

オープンソースのオフィスソフトであるLibreOfficeの日本語コミュニティは,LibreOfficeを支援する非営利団体The Document Foundationの全面的な協力の下,2019年5月25日(土)と26日(日)の日程で,LibreOffice Asia Conference 2019 Tokyoを開催しました。会場は日本橋・サイボウズ株式会社東京オフィスです。

アジア圏のLibreOfficeコミュニティとビジネスを活性させることを目的とした本イベントは,本年が記念すべき初の開催であり,またLibreOfficeコミュニティ自体にとっても初の国際地域カンファレンスとなります※1⁠。

※1
なお,本年7月19-20日という日程で,パラグアイにて「LibreOffice Latin America Conference 2019」が開催されます。LibreOfficeコミュニティにとっては2019年は「地域国際カンファレンスの始動の年」だと言えそうです。

参加者は登壇者・ゲストも含めて,アジア圏から6カ国,ヨーロッパから3カ国,アフリカから1カ国※2の計80名を集め,成功裏に終えることができました。

※2
アジアが日本・台湾・韓国・中国・インド・インドネシア,ヨーロッパがイタリア・ドイツ・アルバニア,アフリカがナイジェリアです。

25日は年次カンファレンス「LibreOffice Kaigi」を含む「カンファレンスデー」であり,日本語1トラック,英語2トラックで,多数のトピックが話し合われました。

本稿では,Mark Hung氏による基調講演「LibreOffice CJK Bugs, Fixes, and Stories.(LibreOffice CJK不具合,修正,そして物語⁠⁠」についてお伝えします。世界中で2億ユーザーがいるとされる大規模アプリケーションのCJK開発の一端を垣間見える,興味深い講演でした。

多彩なCJK関係機能を持つLibreOffice

Mark Hung氏は台湾在住のLibreOffice開発者で,主にWriterのCJK(Chinese/Japanese/Korean)問題を多数解決してきた,アジアを代表するLibreOffice開発者の一人です。

アジアを代表するLibreOffice開発者,Mark Hung氏
⁠撮影:LibreOffice日本語チーム 近藤昌貴)

画像

LibreOfficeは,プロジェクト創設時のマニフェスト(PDF)日本語参考訳に,ユーザーがその母語で利用できることを掲げています。そのために,ユーザーインターフェイスや各種ドキュメントを翻訳することはもちろん,CJK言語の正しいサポート,また和暦など地域独自の機能を用意することも大事だと考えています。

Hung氏は「LibreOfficeには特にCJKユーザー向けにデザインされたいくつかの機能がある」との切り口で,LibreOfficeが用意している以下のような機能を順に紹介しました。

  • アジア言語向け組版(Asian Typography)
  • 段落の「両端揃え」⁠Paragraph Justified Alignment)
  • テキストのマス目配置(Text Grid)
  • 縦書き(Vertical Writing)
  • ルビ(Asian Phonetic Guide)
  • その他の言語ツール(Other Language Tools)
  • ユーザーインターフェイスに現れないその他の機能
    • インプットメソッド対応
    • 欧米テキストとの混植
    • 異体字(IVS; Ideograph Variance Sequence)
    • 基本多言語面(BMP, 0x0000-0xffff)外のUnicode文字の扱いなど

そしてHung氏は「これらの機能はCJKユーザー向けにデザインされていています。言い換えれば,その他の国,特に欧米の開発者にとっては,これらの機能がどう動くべきで,どういうふるまいが期待されているかを理解し,不具合を修正するのは難しい」と述べました。

Hung氏の物語 〜なぜLibreOfficeの不具合を修正することになったか

2014年,400ユーザー,600PCクライアントほどを有するApache OpenOffice(以下AOO,※3を展開していた組織内で,オフィスソフトの移行を推進する部署で働いていたHung氏。しばしばユーザーから,似たような質問を受けたそうです。

※3
LibreOfficeの前身となったOpenOffice.orgが,当時のプロジェクト所有者であったOracleによりプロジェクト終了となり,ソースコードと商標ごとApache Foundationに寄贈されたプロジェクト・プロダクト。

例えば「DOCX形式の漢数字の番号付箇条書きが,なんでアラビア数字になってしまうの?」⁠なんで句読点の割付がおかしいの?」といった内容です。

それに対してHung氏の部署では,番号付箇条書きの問題について,AOOであらかじめスタイルを用意してそれを適用し,AOOの標準フォーマットであるOpen Document Format(ODF)で保存し直す,といった回答を用意し,質問を受けるたびにそれを教えていました。しかしスタイルの利用はユーザーにとって負担が大きいのではないかとHung氏は考えていたのだそうです。

そんなある日,⁠簡体字中国語ならDOCX形式からインポートしても漢数字のままだ」ということを同僚に教えてもらい,箇条書きに使うような小さな数については簡体字も繁体字も同じ文字なのだから,振る舞いが異なることは奇妙だと考えたとのこと。

きっとこれはとってもとっても簡単に直せる問題に違いない,そう考えたHung氏は,DOCXをZIP展開して中身を見ることにしました。DOCXは(ODFもそうですが)複数のXMLファイル群をZIPアーカイブしたものであり,展開して適当なテキストエディタで開くことができるのです。そこで,簡体字文書と繁体字文書との差異を発見し,Google検索で意味を調べ,繁体字のときでも正しく動くパッチを作成してAOOに投稿しました。

Apache OpenOfficeに投稿した初のパッチについて説明するHung氏(撮影:LibreOffice日本語チーム 近藤昌貴)

画像

しかしAOOでは,2014年8月に投稿したパッチが,レビューされるのには3ヶ月を要しました。そこでHung氏は,同じパッチを兄弟プロジェクトであるLibreOfficeにも投稿してみようと考えました。すると,なんと投稿の翌日にはレビューされ,3日後にはマージされました。このスピード感の違いにHung氏と同僚は興奮し,所属組織で翌年AOOからLibreOfficeに切り替えることに決めたそうです。

この変更で,組織内でのサポートコストは大幅に減り,Hung氏はLibreOfficeに継続的に貢献するようになりました。

著者プロフィール

おがさわらなるひこ

LibreOffice日本語チーム所属。主な担当はUI翻訳や東京圏でのイベント企画など。本業は(株)SHIFT所属のソフトウェアテスト自動化アーキテクト。自由なデスクトップとしてUbuntuを愛用。

Twitter@naru0ga

バックナンバー

2019年

バックナンバー一覧