fixedpoint.jp - 2013年における LibreOffice の開発をログから振り返る




2013年における LibreOffice の開発をログから振り返る

この記事は LibreOffice Advent Calendar 2013 の12/22日分です。

2013年も残すところ10日足らずとなりましたが、この1年のうちに LibreOffice は順調にリリースが進められました。

LibreOffice 4.0
https://www.libreoffice.org/download/4-0-new-features-and-fixes
LibreOffice 4.1
https://www.libreoffice.org/download/4-1-new-features-and-fixes

そして LibreOffice 4.2も RC バージョンが公開されており、おそらく来年1月ないし2月にリリースされる予定です。

今回は LibreOffice の git レポジトリの master ブランチのコミットから、2013年になされた変更を追いました。Git では各コミットにはその変更がなされた日付がともないますが、レポジトリに push されるまでさらに時間がかかっている場合が多いことに注意してください。252136551f2c032b62f9650a06389f2b4fe6e6c1 が2013年最初の master におけるコミットと仮定すると、

$ git log --oneline 252136551f2c032b62f9650a06389f2b4fe6e6c1.. | wc -l
22835

となるように22,000件以上のコミットがあります。バージョンごとの新規機能や相互運用性の改善はリリースノート等で取り上げられていますので、そういったもの以外で面白いものを探しました。特に、歴史が感じられるもの、トリビア、ネタを選んでいます。

以下のリストは(おおよそ)上から順に1月から12月へ向かっています。

26c142ca5f2b405b02ab5701dfaeab7bf281a727
これは LibreOffice の前身の前身である StarOffice において、パッチ適用で更新するような仕組みが準備されていた名残りと考えられます。
2448539161d105c2b629ba090c732647d2e99c6d
13年間気付かれなかったらしい小さな間違い。
14d8cd11d6b4831811dbaeb6cfa1f81392251abe
ダイアログに頻出する「OK/キャンセル」ボタンをニーモニックキーとともに各言語向けに翻訳できるようにするのは、想像するより複雑のようです。
ef7b1133311ad6ff672a423d89c876d67f5f8f4a
Mac OS X において、 廃れた ATSUI から Core Text へ変更しようとしています。
19edf0dca7d759f15929f6b701f3e6b6d1e8b955
Windows 2000 が対応プラットフォームから外れました。
2b71c1a9b189e5cf9224d43e3bac4a26f2e0ff99
Mac OS X において アプリケーションの Code Signing が導入されたことに対応しています。
576943b9bf7506829de97d2194c4bee35a485436
Impress Remote が既定で有効に。
5d5bed66db9ad7f875aa968f5309304aa95eb936
比較的新しいコードにも油断するとマジックナンバーが入ってしまうという話。
f4dc5247fca29f93a2d19b7e526d30d4b022b0ee
ターミネーター2ネタ。
22763347d8d4f02729c93ed19c2040ebebabb5f1
Coverity によってソースコードの静的解析を行い、潜在的な問題を検出する取り組みが進められています。これはその活動におけるおそらく最初のコミットでした。
3717bbf31d299a23f0753f01a6bad56656cfbe74
ここまでの LibreOffice のビルドでは Zenity で進捗状況がポップアップするようになっていました。長時間のビルドが無事完了したときにそのポップアップを見て喜んでいたのがいい思い出です。
4d258787559426e1e2a0279888eb669622889899
Android のサポートに向けて地道な活動が進められています。
2b791f1cc51eaad25bd3464f94231fe4b236fae6
長く、そして誇らしげなログコメント。OOo 由来の レガシーな dmake というビルドツールから GNU Make によるビルドに移行が完了したものです。途中の引用は映画エイリアンより。個人的にも2013年で最も印象深いコミットでした。
d9fb2a6add269955d168d6d31c0257314ea4e020
着と著は違うという話。
04df3cb2b9e1026b8aeb809805bc4878c047eb76
「音声によるコマンド入力」という構想が大昔にあったのかもしれません。
b3f43db9e998f5656144349a7bb2cf2cf2be68ba
トルコの通貨リラは2012年から新しい記号で表されるようになりました。日本語の「も」に似ています。
1bf4306c3967560948f22630ff8f76c268a9c8bd
MySQL から MariaDB への切り替え。
8887de72c184bec6225a952ec90433ae1b7a5b26
LibreOffice を C++ から呼び出すための liblibreoffice というライブラリが生まれました。テストに用いられています。
dbba84906d394187b105b9b899ec10065d2d1fc8
"LibreOffice is not a web browser." 確かに。
07b5102e7b1423becc395660c9f5c02bfab6477a
おどけたログコメント。
cd41b59eb295c89d3849b9a2089bee8b897ddc06
ハンガリーには Mammut という人気の商店街があるようです。
7aa6f1b01481c1d0f1a12f56ad197c797056c37b および d8842c2221cb5e6ea958381f9dcd76d9bb9bbafc
Mac OS X の PowerPC アーキテクチャのサポートを外し、ビルドするために 10.4/10.5 SDK はもう使わないとされました。
9e2cf37c9062577f84406e08f31bd542ba41023f
過去の OS/2 のためのコードがまだ残っていました。ちなみに、AIX のためのコードは現役です。
e013425372a34afa91fb312d8237b2ce22147d81
Andale Sans UI が既定のフォントであることを利用したトリックがありますが、これもそろそろ変わるかもしれません。
7e389f4def1964ee38bb93b575926a089e84bae6
HarfBuzz を使うことで ideographic variation sequences (IVS) などをサポートできるようになりました。
b760eff8cb65aba99b4527232140926bb4e11e82
そして ICU Layou Engine は置き換えられました。
d34a159010fc24e13613058d25a9d6b56f7855bd
おどけたログコメント。
2dde36f2b0e19544078dd1efcdc644ca84285881
ログコメントにおけるユーモア。
29884e1f4b3e620d523c6a5c8a3cf72159dc9b24
ここで 4.1.0.0.alpha1+ のタグが打たれました。
4e312f0c90247ccaa138520aa9e080453ec90b64
automake 1.13 に。
d02f75a8c36705924ddd6a5921fe3012fafce812
サイドバーの実装が Apache OpenOffice に現れたので移植が開始されました。LibreOffice の master ブランチに含まれたのは5月中旬ごろです。
13c73a1b358934d7ffac6a6275c4e9d399b7d4eb
ここで 4.2.0.0.alpha0+ のタグが打たれました。
2ae6f9d1d27f699a6dcf369ba018c93ea7d5def5
RHEL 5 の古い flex のためのハック。
503b248127a92b9ad190e05f6a1d50574183cd47
Boost を 1.53.0 に。
dbfafb5475501c6fd0cb2c47fcef03b5d145fabf
14年経って忘れ去られた FIXME。
9030d14de28b1b5c3284f5104141cd20692e9d36
Visual Studio 2008 のサポートが外されました。
23583553d1a9951eaa33dfb598606cdf55d3f01a
Visual C++ 2010 からついに <stdint.h> が利用可能に。
7a5a19218707ab580d58a3fbadec1148368661f1
MasterCard ネタ。
ac7d6300c6cf73da473273cfd4d1f6b6fb9eb6a1
iOS サポートに向けての開発も地道に続いています。
31b35ed6bb7fe77f3f276b00fefce112a620b6ac
何気ないコミットですが、CloudOn の開発者からの初めてのコミット。この後 CloudOn は9月に TDF の Advisory Board に加わりました。
8df088781c53221498e762f570d21948b7de2650
MinGW64 でのビルドも地道に続けられています。
c56f9b76693d0b7f43234afb58796338dcd52489
チベット語のローカリゼーションを追加。
55bead4bb502b8fef9485f0e31055cc546e652bb
OpenCL による Calc の性能強化のための取り組みが始まりました。
4f2890a8c9a0c8cadeb469b8b6e23ea7ec3f3b81
LibreOffice が使っている Tomcat のバージョンがようやく 5.5.36 に上がりました。
9cb36ee3df0af10bc63727216fa41a6e8ef90a42
Bitcoin は巷でよく話題に上るようになりました。
eb276d11a652601f743d69ada7a38016bd97d73e
Xpdf が使われていたところが Poppler で置き換えられました。
3de0e40215bcb49b8510c3c4719915a56efa3fa4
ログコメントにおけるユーモア。
771d7e6dd513cb8e924964bcacd0435e93bb303a
???
f53228c59a7b539eaf639d6e5e903d0f89d6f5f8
Base でFirebird を使えるようにする取り組みが始まりました。
7ced337e1f0e1fae81ff7f196e59e558b729bdde
LibreOffice の初期開始画面が刷新されようとしています。
24773530143c995820417fd004d227ff9472e51f および 847fa448107574011745a530864ffd76b7531378
Android サポートに向けて。
6205c58e262e9b82e815855199de462775fcd35b および d72151ff930ff1961f2ab7b1e895958cdaabe91b
ログコメントにおけるフリとオチ。
129a0d8c6f5da9cd536971507d0a7df056acccc6
Torsdag は木曜日らしいです。
416d10b5f91047f0dcfbcc233c60322810bfc8d0
個人的に修正できるかと調べてみて途中で諦めていた不具合が、無事解決されました。
ca538f48e866b4eb69b498786d9030639cfe2ebd
ロシアではイニシャルを3文字にする場合が多いのでしょうか。
72576f439ad3eebc6947a50070f1ffabe2964b32
pocheck という翻訳をチェックするためのツールが用意されています。
cbb3f73adec26896b1e5c371548fa3bd1ae57130 および 1982c3fd674f7a7c4b59e82e565af048c9e7387a
諧謔とオチ。
4910c54a39703d19f5e36fa9c47938c1033f91e9
Boost を 1.54 に。
5b734c8e19ceb38ec2f632b14fbbc753d95de77e および 2492604c92506043982551755710c78dcecf7c31
謎の MSVC の振舞い。
3cb10e9220da27ca7db2f68007be9e310bdefc4d
Java 1.4 はさすがにもうサポートされないようです。
a03b1876c7b334acc26a41b4d8ca6eead07cfa1f
Windows 9x のためのコードがまだ残っていました。
fff70bf98c7a5a63aa0db11e93a3512c6a9a9359
日本語ロケールの Windows 上でのビルドの問題が修正されました。
d023339c2f85555212bdb9804854dcc2c403b50e
サイドバーが試験的機能でなくなりました。
8076eebf94da9cf803fcff80087d59cd2e13636b
古い SPARC のためのコードはなくなりますが、比較的新しい SPARC のためのものは残っています。
11ad93f4ba84f190c908e92a2c960f7a9fa800c0
暗号化された OOo 1.0 文書もちゃんと開けるように。
e52f1bd7b34fc73f52aadf1d33efa6685a0b22e8
今年の日付ではないですが、ブランチに入ってきたのは今年の10月前後です。LibreOffice OpenGL Canvas Merged と話題になっています。
3164924fac45a377b3620ca68e7658be19999359
Visual Studio 2013 でビルドできるようになってきました。
b37e2dd071c83454b3b06c0959a76b6012f53abb
廃れた文字列クラス UniString を使っているコードがついに全てなくなりました。詳しくはこちら
87858e043fe089a816a5787c356c94e7abbddd45
Microsoft の Calibri フォントCambria フォントの代替となる Carlito フォントおよび Caladea フォント が使われるようになりました。
08ca3e40b0ac19975459589c9bee8ea77331a6c0
libetonyek はどう発音するのか分かりませんが、反対から読むと何か分かります。
d837c7b773c719202b0ae6c33825bf6d0ea7a6c5
EMX はもちろんサポートされていません。
a5f43ca3786298bc58c43f7b5dfdeba44f511d2d
知らないコンパイラ。
2c92030ff07aff9b10e49844343390925b81545c
ついに Tomcat はいらなくなりました。
9a16e421a2712af0f443b47ac9c652c92adb19f5
ここで 4.2.0.0.alpha1+ のタグが打たれました。
f35b3fea46532ffc54e9026e7a953f64493e7525
さらに知らないコンパイラ。
a18bdb3bc05e761704cc345a66a9d642bc4f4a0a
AOO より IAccessible2 を取り込み始めました。
f01580ce9c5f898c1fdb85e302a158f1a31205db
Windows 向けには、少なくとも Windows XP SP2 が必須となりました。
979f05eee3dafba60f6b93744183035e9cc8be81
ここで 4.3.0.0.alpha0+ のタグが打たれました。
a01605430ec6124093d3b4896839b1bf65c071ed
OOXML 2013に対応します。
06299d6c1620e5b2f2a3588d7c93790278397cbd
今後 Writer において Arial や Times フォントに代わって Liberation フォントが既定になります。
83e835156bc32bb904552465354b5b477a66d503
ついに ATSUI が Core Text で置き換わりました。
130833f80e89774269108cf30b2d1155a00354ce
IAccessible2 が動くようになったので JAB はいらなくなりました。
6265876ae9f1bb862440182d2d2c9b9b5b322668
iOS サポートのための活動は地道に続いています。
21362f8c8455f6d61720a6e9b211ec8f3a6ff02e
Mac OS X 10.5 のサポートが復活しました。
c69b6417af9d03b81813e6d56cdd082d511aef24
SunStudio というコンパイラがあったようですが、これも過去のことです。
0d35caf02d4744f55f123326e65441126b8a99bf
スタートレックネタ。
f2111a7ed11410ac80cd1b700315881d8b8ee7dd
SGI compiler も過去のこと。
9cd1ab37e9541a4a781b52eb41c8db8c9c3bda29
OS X の PowerPC サポートも復活するようです。

長くなりましたが、以上のリストから LibreOffice の開発に生き生きとしたものを感じていただければ幸いです。おそらく来年 LibreOffice はさらに多くのユーザーに使われ、さらに多くの貢献に支えられて、大きく変わっていくものと期待されます。

LibreOffice Advent Calendar 2013は明日も続きます。お楽しみに。


© 2006-2013 fixedpoint.jp